@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,218 +0,0 @@
1
- # Cloudflare D1 Storage
2
-
3
- The Cloudflare D1 storage implementation provides a serverless SQL database solution using Cloudflare D1, supporting relational operations and transactional consistency.
4
-
5
- > **Observability Not Supported:** Cloudflare D1 storage **does not support the observability domain**. Traces from the `DefaultExporter` cannot be persisted to D1, and Mastra Studio's observability features won't work with D1 as your only storage provider. To enable observability, use [composite storage](https://mastra.ai/reference/storage/composite) to route observability data to a supported provider like ClickHouse or PostgreSQL.
6
-
7
- > **Row Size Limit:** Cloudflare D1 enforces a **1 MiB maximum row size**. This limit can be exceeded when storing messages with base64-encoded attachments such as images. See [Handling large attachments](https://mastra.ai/docs/memory/storage) for workarounds including uploading attachments to external storage.
8
-
9
- ## Installation
10
-
11
- **npm**:
12
-
13
- ```bash
14
- npm install @mastra/cloudflare-d1@latest
15
- ```
16
-
17
- **pnpm**:
18
-
19
- ```bash
20
- pnpm add @mastra/cloudflare-d1@latest
21
- ```
22
-
23
- **Yarn**:
24
-
25
- ```bash
26
- yarn add @mastra/cloudflare-d1@latest
27
- ```
28
-
29
- **Bun**:
30
-
31
- ```bash
32
- bun add @mastra/cloudflare-d1@latest
33
- ```
34
-
35
- ## Usage
36
-
37
- ### Using with Cloudflare Workers
38
-
39
- When using D1Store in a Cloudflare Worker, you need to access the D1 binding from the worker's `env` parameter at runtime. The `D1Database` in your type definition is only for TypeScript type checking—the actual binding is provided by the Workers runtime.
40
-
41
- ```typescript
42
- import { D1Store } from "@mastra/cloudflare-d1";
43
- import { Mastra } from "@mastra/core";
44
- import { CloudflareDeployer } from "@mastra/deployer-cloudflare";
45
-
46
- type Env = {
47
- D1Database: D1Database; // TypeScript type definition
48
- };
49
-
50
- // Factory function to create Mastra with D1 binding
51
- function createMastra(env: Env) {
52
- const storage = new D1Store({
53
- binding: env.D1Database, // ✅ Access the actual binding from env
54
- tablePrefix: "dev_", // Optional: isolate tables per environment
55
- });
56
-
57
- return new Mastra({
58
- storage,
59
- deployer: new CloudflareDeployer({
60
- name: "my-worker",
61
- d1_databases: [
62
- {
63
- binding: "D1Database", // Must match the property name in Env type
64
- database_name: "your-database-name",
65
- database_id: "your-database-id"
66
- }
67
- ],
68
- }),
69
- });
70
- }
71
-
72
- // Cloudflare Worker export
73
- export default {
74
- async fetch(request: Request, env: Env, ctx: ExecutionContext) {
75
- const mastra = createMastra(env);
76
-
77
- // Your handler logic here
78
- return new Response("Hello from Mastra with D1!");
79
- }
80
- };
81
- ```
82
-
83
- > **Important: Understanding D1 Bindings:** In the `Env` type definition, `D1Database: D1Database` serves two purposes:
84
- >
85
- > - The **property name** (`D1Database`) must match the `binding` name in your `wrangler.toml`
86
- > - The **type** (`: D1Database`) is from `@cloudflare/workers-types` for TypeScript type checking
87
- >
88
- > At runtime, Cloudflare Workers provides the actual D1 database instance via `env.D1Database`. You cannot use `D1Database` directly outside of the worker's context.
89
-
90
- ### Using with REST API
91
-
92
- For non-Workers environments (Node.js, serverless functions, etc.), use the REST API approach:
93
-
94
- ```typescript
95
- import { D1Store } from "@mastra/cloudflare-d1";
96
-
97
- const storage = new D1Store({
98
- accountId: process.env.CLOUDFLARE_ACCOUNT_ID!, // Cloudflare Account ID
99
- databaseId: process.env.CLOUDFLARE_D1_DATABASE_ID!, // D1 Database ID
100
- apiToken: process.env.CLOUDFLARE_API_TOKEN!, // Cloudflare API Token
101
- tablePrefix: "dev_", // Optional: isolate tables per environment
102
- });
103
- ```
104
-
105
- ### Wrangler Configuration
106
-
107
- Add the D1 database binding to your `wrangler.toml`:
108
-
109
- ```toml
110
- [[d1_databases]]
111
- binding = "D1Database" # Must match the property name in your Env type
112
- database_name = "your-database-name"
113
- database_id = "your-database-id"
114
- ```
115
-
116
- Or in `wrangler.jsonc`:
117
-
118
- ```jsonc
119
- {
120
- "d1_databases": [
121
- {
122
- "binding": "D1Database",
123
- "database_name": "your-database-name",
124
- "database_id": "your-database-id"
125
- }
126
- ]
127
- }
128
- ```
129
-
130
- ## Parameters
131
-
132
- **binding?:** (`D1Database`): Cloudflare D1 Workers binding (for Workers runtime)
133
-
134
- **accountId?:** (`string`): Cloudflare Account ID (for REST API)
135
-
136
- **databaseId?:** (`string`): Cloudflare D1 Database ID (for REST API)
137
-
138
- **apiToken?:** (`string`): Cloudflare API Token (for REST API)
139
-
140
- **tablePrefix?:** (`string`): Optional prefix for all table names (useful for environment isolation)
141
-
142
- ## Additional Notes
143
-
144
- ### Schema Management
145
-
146
- The storage implementation handles schema creation and updates automatically. It creates the following tables:
147
-
148
- - `threads`: Stores conversation threads
149
- - `messages`: Stores individual messages
150
- - `metadata`: Stores additional metadata for threads and messages
151
-
152
- ### Initialization
153
-
154
- When you pass storage to the Mastra class, `init()` is called automatically before any storage operation:
155
-
156
- ```typescript
157
- import { Mastra } from "@mastra/core";
158
- import { D1Store } from "@mastra/cloudflare-d1";
159
-
160
- type Env = {
161
- D1Database: D1Database;
162
- };
163
-
164
- // In a Cloudflare Worker
165
- export default {
166
- async fetch(request: Request, env: Env, ctx: ExecutionContext) {
167
- const storage = new D1Store({
168
- binding: env.D1Database, // ✅ Use env.D1Database
169
- });
170
-
171
- const mastra = new Mastra({
172
- storage, // init() is called automatically
173
- });
174
-
175
- // Your handler logic here
176
- return new Response("Success");
177
- }
178
- };
179
- ```
180
-
181
- If you're using storage directly without Mastra, you must call `init()` explicitly to create the tables:
182
-
183
- ```typescript
184
- import { D1Store } from "@mastra/cloudflare-d1";
185
-
186
- type Env = {
187
- D1Database: D1Database;
188
- };
189
-
190
- // In a Cloudflare Worker
191
- export default {
192
- async fetch(request: Request, env: Env, ctx: ExecutionContext) {
193
- const storage = new D1Store({
194
- id: 'd1-storage',
195
- binding: env.D1Database, // ✅ Use env.D1Database
196
- });
197
-
198
- // Required when using storage directly
199
- await storage.init();
200
-
201
- // Access domain-specific stores via getStore()
202
- const memoryStore = await storage.getStore('memory');
203
- const thread = await memoryStore?.getThreadById({ threadId: "..." });
204
-
205
- return new Response("Success");
206
- }
207
- };
208
- ```
209
-
210
- > **Warning:** If `init()` is not called, tables won't be created and storage operations will fail silently or throw errors.
211
-
212
- ### Transactions & Consistency
213
-
214
- Cloudflare D1 provides transactional guarantees for single-row operations. This means that multiple operations can be executed as a single, all-or-nothing unit of work.
215
-
216
- ### Table Creation & Migrations
217
-
218
- Tables are created automatically when storage is initialized (and can be isolated per environment using the `tablePrefix` option), but advanced schema changes—such as adding columns, changing data types, or modifying indexes—require manual migration and careful planning to avoid data loss.
@@ -1,235 +0,0 @@
1
- # Composite Storage
2
-
3
- `MastraCompositeStore` can compose storage domains from different providers. Use it when you need different databases for different purposes. For example, use LibSQL for memory and PostgreSQL for workflows.
4
-
5
- ## Installation
6
-
7
- `MastraCompositeStore` is included in `@mastra/core`:
8
-
9
- **npm**:
10
-
11
- ```bash
12
- npm install @mastra/core@latest
13
- ```
14
-
15
- **pnpm**:
16
-
17
- ```bash
18
- pnpm add @mastra/core@latest
19
- ```
20
-
21
- **Yarn**:
22
-
23
- ```bash
24
- yarn add @mastra/core@latest
25
- ```
26
-
27
- **Bun**:
28
-
29
- ```bash
30
- bun add @mastra/core@latest
31
- ```
32
-
33
- You'll also need to install the storage providers you want to compose:
34
-
35
- **npm**:
36
-
37
- ```bash
38
- npm install @mastra/pg@latest @mastra/libsql@latest
39
- ```
40
-
41
- **pnpm**:
42
-
43
- ```bash
44
- pnpm add @mastra/pg@latest @mastra/libsql@latest
45
- ```
46
-
47
- **Yarn**:
48
-
49
- ```bash
50
- yarn add @mastra/pg@latest @mastra/libsql@latest
51
- ```
52
-
53
- **Bun**:
54
-
55
- ```bash
56
- bun add @mastra/pg@latest @mastra/libsql@latest
57
- ```
58
-
59
- ## Storage domains
60
-
61
- Mastra organizes storage into five specialized domains, each handling a specific type of data. Each domain can be backed by a different storage adapter, and domain classes are exported from each storage package.
62
-
63
- | Domain | Description |
64
- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
65
- | `memory` | Conversation persistence for agents. Stores threads (conversation sessions), messages, resources (user identities), and working memory (persistent context across conversations). |
66
- | `workflows` | Workflow execution state. When workflows suspend for human input, external events, or scheduled resumption, their state is persisted here to enable resumption after server restarts. |
67
- | `scores` | Evaluation results from Mastra's evals system. Scores and metrics are persisted here for analysis and comparison over time. |
68
- | `observability` | Telemetry data including traces and spans. Agent interactions, tool calls, and LLM requests generate spans collected into traces for debugging and performance analysis. |
69
- | `agents` | Agent configurations for stored agents. Enables agents to be defined and updated at runtime without code deployments. |
70
-
71
- ## Usage
72
-
73
- ### Basic composition
74
-
75
- Import domain classes directly from each store package and compose them:
76
-
77
- ```typescript
78
- import { MastraCompositeStore } from "@mastra/core/storage";
79
- import { WorkflowsPG, ScoresPG } from "@mastra/pg";
80
- import { MemoryLibSQL } from "@mastra/libsql";
81
- import { Mastra } from "@mastra/core";
82
-
83
- export const mastra = new Mastra({
84
- storage: new MastraCompositeStore({
85
- id: "composite",
86
- domains: {
87
- memory: new MemoryLibSQL({ url: "file:./local.db" }),
88
- workflows: new WorkflowsPG({ connectionString: process.env.DATABASE_URL }),
89
- scores: new ScoresPG({ connectionString: process.env.DATABASE_URL }),
90
- },
91
- }),
92
- });
93
- ```
94
-
95
- ### With a default storage
96
-
97
- Use `default` to specify a fallback storage, then override specific domains:
98
-
99
- ```typescript
100
- import { MastraCompositeStore } from "@mastra/core/storage";
101
- import { PostgresStore } from "@mastra/pg";
102
- import { MemoryLibSQL } from "@mastra/libsql";
103
- import { Mastra } from "@mastra/core";
104
-
105
- const pgStore = new PostgresStore({
106
- id: "pg",
107
- connectionString: process.env.DATABASE_URL,
108
- });
109
-
110
- export const mastra = new Mastra({
111
- storage: new MastraCompositeStore({
112
- id: "composite",
113
- default: pgStore,
114
- domains: {
115
- memory: new MemoryLibSQL({ url: "file:./local.db" }),
116
- },
117
- }),
118
- });
119
- ```
120
-
121
- ## Options
122
-
123
- **id:** (`string`): Unique identifier for this storage instance.
124
-
125
- **default?:** (`MastraCompositeStore`): Default storage adapter. Domains not explicitly specified in \`domains\` will use this storage's domains as fallbacks.
126
-
127
- **domains?:** (`object`): Individual domain overrides. Each domain can come from a different storage adapter. These take precedence over the default storage.
128
-
129
- **domains.memory?:** (`MemoryStorage`): Storage for threads, messages, and resources.
130
-
131
- **domains.workflows?:** (`WorkflowsStorage`): Storage for workflow snapshots.
132
-
133
- **domains.scores?:** (`ScoresStorage`): Storage for evaluation scores.
134
-
135
- **domains.observability?:** (`ObservabilityStorage`): Storage for traces and spans.
136
-
137
- **domains.agents?:** (`AgentsStorage`): Storage for stored agent configurations.
138
-
139
- **disableInit?:** (`boolean`): When true, automatic initialization is disabled. You must call init() explicitly.
140
-
141
- ## Initialization
142
-
143
- `MastraCompositeStore` initializes each configured domain independently. When passed to the Mastra class, `init()` is called automatically:
144
-
145
- ```typescript
146
- import { MastraCompositeStore } from "@mastra/core/storage";
147
- import { MemoryPG, WorkflowsPG, ScoresPG } from "@mastra/pg";
148
- import { Mastra } from "@mastra/core";
149
-
150
- const storage = new MastraCompositeStore({
151
- id: "composite",
152
- domains: {
153
- memory: new MemoryPG({ connectionString: process.env.DATABASE_URL }),
154
- workflows: new WorkflowsPG({ connectionString: process.env.DATABASE_URL }),
155
- scores: new ScoresPG({ connectionString: process.env.DATABASE_URL }),
156
- },
157
- });
158
-
159
- export const mastra = new Mastra({
160
- storage, // init() called automatically
161
- });
162
- ```
163
-
164
- If using storage directly, call `init()` explicitly:
165
-
166
- ```typescript
167
- import { MastraCompositeStore } from "@mastra/core/storage";
168
- import { MemoryPG } from "@mastra/pg";
169
-
170
- const storage = new MastraCompositeStore({
171
- id: "composite",
172
- domains: {
173
- memory: new MemoryPG({ connectionString: process.env.DATABASE_URL }),
174
- },
175
- });
176
-
177
- await storage.init();
178
-
179
- // Access domain-specific stores via getStore()
180
- const memoryStore = await storage.getStore("memory");
181
- const thread = await memoryStore?.getThreadById({ threadId: "..." });
182
- ```
183
-
184
- ## Use cases
185
-
186
- ### Separate databases for different workloads
187
-
188
- Use a local database for development while keeping production data in a managed service:
189
-
190
- ```typescript
191
- import { MastraCompositeStore } from "@mastra/core/storage";
192
- import { MemoryPG, WorkflowsPG, ScoresPG } from "@mastra/pg";
193
- import { MemoryLibSQL } from "@mastra/libsql";
194
-
195
- const storage = new MastraCompositeStore({
196
- id: "composite",
197
- domains: {
198
- // Use local SQLite for development, PostgreSQL for production
199
- memory:
200
- process.env.NODE_ENV === "development"
201
- ? new MemoryLibSQL({ url: "file:./dev.db" })
202
- : new MemoryPG({ connectionString: process.env.DATABASE_URL }),
203
- workflows: new WorkflowsPG({ connectionString: process.env.DATABASE_URL }),
204
- scores: new ScoresPG({ connectionString: process.env.DATABASE_URL }),
205
- },
206
- });
207
- ```
208
-
209
- ### Specialized storage for observability
210
-
211
- Observability data can quickly overwhelm general-purpose databases in production. A single agent interaction can generate hundreds of spans, and high-traffic applications can produce thousands of traces per day.
212
-
213
- **ClickHouse** is recommended for production observability because it's optimized for high-volume, write-heavy analytics workloads. Use composite storage to route observability to ClickHouse while keeping other data in your primary database:
214
-
215
- ```typescript
216
- import { MastraCompositeStore } from "@mastra/core/storage";
217
- import { MemoryPG, WorkflowsPG, ScoresPG } from "@mastra/pg";
218
- import { ObservabilityStorageClickhouse } from "@mastra/clickhouse";
219
-
220
- const storage = new MastraCompositeStore({
221
- id: "composite",
222
- domains: {
223
- memory: new MemoryPG({ connectionString: process.env.DATABASE_URL }),
224
- workflows: new WorkflowsPG({ connectionString: process.env.DATABASE_URL }),
225
- scores: new ScoresPG({ connectionString: process.env.DATABASE_URL }),
226
- observability: new ObservabilityStorageClickhouse({
227
- url: process.env.CLICKHOUSE_URL,
228
- username: process.env.CLICKHOUSE_USERNAME,
229
- password: process.env.CLICKHOUSE_PASSWORD,
230
- }),
231
- },
232
- });
233
- ```
234
-
235
- > **Info:** This approach is also required when using storage providers that don't support observability (like Convex, DynamoDB, or Cloudflare). See the [DefaultExporter documentation](https://mastra.ai/docs/observability/tracing/exporters/default) for the full list of supported providers.
@@ -1,131 +0,0 @@
1
- # LanceDB Storage
2
-
3
- The LanceDB storage implementation provides a high-performance storage solution using the LanceDB database system, which excels at handling both traditional data storage and vector operations.
4
-
5
- > **Observability Not Supported:** LanceDB storage **does not support the observability domain**. Traces from the `DefaultExporter` cannot be persisted to LanceDB, and Mastra Studio's observability features won't work with LanceDB as your only storage provider. To enable observability, use [composite storage](https://mastra.ai/reference/storage/composite) to route observability data to a supported provider like ClickHouse or PostgreSQL.
6
-
7
- ## Installation
8
-
9
- **npm**:
10
-
11
- ```bash
12
- npm install @mastra/lance@latest
13
- ```
14
-
15
- **pnpm**:
16
-
17
- ```bash
18
- pnpm add @mastra/lance@latest
19
- ```
20
-
21
- **Yarn**:
22
-
23
- ```bash
24
- yarn add @mastra/lance@latest
25
- ```
26
-
27
- **Bun**:
28
-
29
- ```bash
30
- bun add @mastra/lance@latest
31
- ```
32
-
33
- ## Usage
34
-
35
- ### Basic Storage Usage
36
-
37
- ```typescript
38
- import { LanceStorage } from "@mastra/lance";
39
-
40
- // Connect to a local database
41
- const storage = await LanceStorage.create("my-storage", "/path/to/db");
42
-
43
- // Connect to a LanceDB cloud database
44
- const storage = await LanceStorage.create("my-storage", "db://host:port");
45
-
46
- // Connect to a cloud database with custom options
47
- const storage = await LanceStorage.create("my-storage", "s3://bucket/db", {
48
- storageOptions: { timeout: "60s" },
49
- });
50
- ```
51
-
52
- ## Parameters
53
-
54
- ### LanceStorage.create()
55
-
56
- **name:** (`string`): Name identifier for the storage instance
57
-
58
- **uri:** (`string`): URI to connect to the LanceDB database. Can be a local path, cloud DB URL, or S3 bucket URL
59
-
60
- **options?:** (`ConnectionOptions`): Connection options for LanceDB, such as timeout settings, authentication, etc.
61
-
62
- ## Additional Notes
63
-
64
- ### Schema Management
65
-
66
- The LanceStorage implementation automatically handles schema creation and updates. It maps Mastra's schema types to Apache Arrow data types, which are used by LanceDB internally:
67
-
68
- - `text`, `uuid` → Utf8
69
- - `int`, `integer` → Int32
70
- - `float` → Float32
71
- - `jsonb`, `json` → Utf8 (serialized)
72
- - `binary` → Binary
73
-
74
- ### Initialization
75
-
76
- When you pass storage to the Mastra class, `init()` is called automatically before any storage operation:
77
-
78
- ```typescript
79
- import { Mastra } from "@mastra/core";
80
- import { LanceStorage } from "@mastra/lance";
81
-
82
- const storage = await LanceStorage.create("my-storage", "/path/to/db");
83
-
84
- const mastra = new Mastra({
85
- storage, // init() is called automatically
86
- });
87
- ```
88
-
89
- If you're using storage directly without Mastra, you must call `init()` explicitly to create the tables:
90
-
91
- ```typescript
92
- import { LanceStorage } from "@mastra/lance";
93
-
94
- const storage = await LanceStorage.create("my-storage", "/path/to/db");
95
-
96
- // Required when using storage directly
97
- await storage.init();
98
-
99
- // Access domain-specific stores via getStore()
100
- const memoryStore = await storage.getStore('memory');
101
- const thread = await memoryStore?.getThreadById({ threadId: "..." });
102
- ```
103
-
104
- > **Warning:** If `init()` is not called, tables won't be created and storage operations will fail silently or throw errors.
105
-
106
- ### Deployment Options
107
-
108
- LanceDB storage can be configured for different deployment scenarios:
109
-
110
- - **Local Development**: Use a local file path for development and testing
111
- ```text
112
- /path/to/db
113
- ```
114
- - **Cloud Deployment**: Connect to a hosted LanceDB instance
115
- ```text
116
- db://host:port
117
- ```
118
- - **S3 Storage**: Use Amazon S3 for scalable cloud storage
119
- ```text
120
- s3://bucket/db
121
- ```
122
-
123
- ### Table Management
124
-
125
- LanceStorage provides methods for managing tables:
126
-
127
- - Create tables with custom schemas
128
- - Drop tables
129
- - Clear tables (delete all records)
130
- - Load records by key
131
- - Insert single and batch records