@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,648 +0,0 @@
1
- # Storing Embeddings in A Vector Database
2
-
3
- After generating embeddings, you need to store them in a database that supports vector similarity search. Mastra provides a consistent interface for storing and querying embeddings across various vector databases.
4
-
5
- ## Supported Databases
6
-
7
- **MongoDB**:
8
-
9
- ```ts
10
- import { MongoDBVector } from "@mastra/mongodb";
11
-
12
- const store = new MongoDBVector({
13
- id: 'mongodb-vector',
14
- uri: process.env.MONGODB_URI,
15
- dbName: process.env.MONGODB_DATABASE,
16
- });
17
- await store.createIndex({
18
- indexName: "myCollection",
19
- dimension: 1536,
20
- });
21
- await store.upsert({
22
- indexName: "myCollection",
23
- vectors: embeddings,
24
- metadata: chunks.map((chunk) => ({ text: chunk.text })),
25
- });
26
- ```
27
-
28
- ### Using MongoDB Atlas Vector search
29
-
30
- For detailed setup instructions and best practices, see the [official MongoDB Atlas Vector Search documentation](https://www.mongodb.com/docs/atlas/atlas-vector-search/vector-search-overview/?utm_campaign=devrel\&utm_source=third-party-content\&utm_medium=cta\&utm_content=mastra-docs).
31
-
32
- **PgVector**:
33
-
34
- ```ts
35
- import { PgVector } from "@mastra/pg";
36
-
37
- const store = new PgVector({
38
- id: 'pg-vector',
39
- connectionString: process.env.POSTGRES_CONNECTION_STRING,
40
- });
41
-
42
- await store.createIndex({
43
- indexName: "myCollection",
44
- dimension: 1536,
45
- });
46
-
47
- await store.upsert({
48
- indexName: "myCollection",
49
- vectors: embeddings,
50
- metadata: chunks.map((chunk) => ({ text: chunk.text })),
51
- });
52
- ```
53
-
54
- ### Using PostgreSQL with pgvector
55
-
56
- PostgreSQL with the pgvector extension is a good solution for teams already using PostgreSQL who want to minimize infrastructure complexity. For detailed setup instructions and best practices, see the [official pgvector repository](https://github.com/pgvector/pgvector).
57
-
58
- **Pinecone**:
59
-
60
- ```ts
61
- import { PineconeVector } from "@mastra/pinecone";
62
-
63
- const store = new PineconeVector({
64
- id: 'pinecone-vector',
65
- apiKey: process.env.PINECONE_API_KEY,
66
- });
67
- await store.createIndex({
68
- indexName: "myCollection",
69
- dimension: 1536,
70
- });
71
- await store.upsert({
72
- indexName: "myCollection",
73
- vectors: embeddings,
74
- metadata: chunks.map((chunk) => ({ text: chunk.text })),
75
- });
76
- ```
77
-
78
- **Qdrant**:
79
-
80
- ```ts
81
- import { QdrantVector } from "@mastra/qdrant";
82
-
83
- const store = new QdrantVector({
84
- id: 'qdrant-vector',
85
- url: process.env.QDRANT_URL,
86
- apiKey: process.env.QDRANT_API_KEY,
87
- });
88
-
89
- await store.createIndex({
90
- indexName: "myCollection",
91
- dimension: 1536,
92
- });
93
-
94
- await store.upsert({
95
- indexName: "myCollection",
96
- vectors: embeddings,
97
- metadata: chunks.map((chunk) => ({ text: chunk.text })),
98
- });
99
- ```
100
-
101
- **Chroma**:
102
-
103
- ```ts
104
- import { ChromaVector } from "@mastra/chroma";
105
-
106
- // Running Chroma locally
107
- // const store = new ChromaVector()
108
-
109
- // Running on Chroma Cloud
110
- const store = new ChromaVector({
111
- id: 'chroma-vector',
112
- apiKey: process.env.CHROMA_API_KEY,
113
- tenant: process.env.CHROMA_TENANT,
114
- database: process.env.CHROMA_DATABASE,
115
- });
116
-
117
- await store.createIndex({
118
- indexName: "myCollection",
119
- dimension: 1536,
120
- });
121
-
122
- await store.upsert({
123
- indexName: "myCollection",
124
- vectors: embeddings,
125
- metadata: chunks.map((chunk) => ({ text: chunk.text })),
126
- });
127
- ```
128
-
129
- **Astra**:
130
-
131
- ```ts
132
- import { AstraVector } from "@mastra/astra";
133
-
134
- const store = new AstraVector({
135
- id: 'astra-vector',
136
- token: process.env.ASTRA_DB_TOKEN,
137
- endpoint: process.env.ASTRA_DB_ENDPOINT,
138
- keyspace: process.env.ASTRA_DB_KEYSPACE,
139
- });
140
-
141
- await store.createIndex({
142
- indexName: "myCollection",
143
- dimension: 1536,
144
- });
145
-
146
- await store.upsert({
147
- indexName: "myCollection",
148
- vectors: embeddings,
149
- metadata: chunks.map((chunk) => ({ text: chunk.text })),
150
- });
151
- ```
152
-
153
- **libSQL**:
154
-
155
- ```ts
156
- import { LibSQLVector } from "@mastra/core/vector/libsql";
157
-
158
- const store = new LibSQLVector({
159
- id: 'libsql-vector',
160
- url: process.env.DATABASE_URL,
161
- authToken: process.env.DATABASE_AUTH_TOKEN, // Optional: for Turso cloud databases
162
- });
163
-
164
- await store.createIndex({
165
- indexName: "myCollection",
166
- dimension: 1536,
167
- });
168
-
169
- await store.upsert({
170
- indexName: "myCollection",
171
- vectors: embeddings,
172
- metadata: chunks.map((chunk) => ({ text: chunk.text })),
173
- });
174
- ```
175
-
176
- **Upstash**:
177
-
178
- ```ts
179
- import { UpstashVector } from "@mastra/upstash";
180
-
181
- // In upstash they refer to the store as an index
182
- const store = new UpstashVector({
183
- id: 'upstash-vector',
184
- url: process.env.UPSTASH_URL,
185
- token: process.env.UPSTASH_TOKEN,
186
- });
187
-
188
- // There is no store.createIndex call here, Upstash creates indexes (known as namespaces in Upstash) automatically
189
- // when you upsert if that namespace does not exist yet.
190
- await store.upsert({
191
- indexName: "myCollection", // the namespace name in Upstash
192
- vectors: embeddings,
193
- metadata: chunks.map((chunk) => ({ text: chunk.text })),
194
- });
195
- ```
196
-
197
- **Cloudflare**:
198
-
199
- ```ts
200
- import { CloudflareVector } from "@mastra/vectorize";
201
-
202
- const store = new CloudflareVector({
203
- id: 'cloudflare-vector',
204
- accountId: process.env.CF_ACCOUNT_ID,
205
- apiToken: process.env.CF_API_TOKEN,
206
- });
207
- await store.createIndex({
208
- indexName: "myCollection",
209
- dimension: 1536,
210
- });
211
- await store.upsert({
212
- indexName: "myCollection",
213
- vectors: embeddings,
214
- metadata: chunks.map((chunk) => ({ text: chunk.text })),
215
- });
216
- ```
217
-
218
- **OpenSearch**:
219
-
220
- ```ts
221
- import { OpenSearchVector } from "@mastra/opensearch";
222
-
223
- const store = new OpenSearchVector({ id: "opensearch", node: process.env.OPENSEARCH_URL });
224
-
225
- await store.createIndex({
226
- indexName: "my-collection",
227
- dimension: 1536,
228
- });
229
-
230
- await store.upsert({
231
- indexName: "my-collection",
232
- vectors: embeddings,
233
- metadata: chunks.map((chunk) => ({ text: chunk.text })),
234
- });
235
- ```
236
-
237
- **ElasticSearch**:
238
-
239
- ```ts
240
- import { ElasticSearchVector } from "@mastra/elasticsearch";
241
-
242
- const store = new ElasticSearchVector({
243
- id: 'elasticsearch-vector',
244
- url: process.env.ELASTICSEARCH_URL,
245
- auth: {
246
- apiKey : process.env.ELASTICSEARCH_API_KEY
247
- }
248
- });
249
-
250
- await store.createIndex({
251
- indexName: "my-collection",
252
- dimension: 1536,
253
- });
254
-
255
- await store.upsert({
256
- indexName: "my-collection",
257
- vectors: embeddings,
258
- metadata: chunks.map((chunk) => ({ text: chunk.text })),
259
- });
260
- ```
261
-
262
- ### Using Elasticsearch
263
-
264
- For detailed setup instructions and best practices, see the [official Elasticsearch documentation](https://www.elastic.co/docs/solutions/search/get-started).
265
-
266
- **Couchbase**:
267
-
268
- ```ts
269
- import { CouchbaseVector } from "@mastra/couchbase";
270
-
271
- const store = new CouchbaseVector({
272
- id: 'couchbase-vector',
273
- connectionString: process.env.COUCHBASE_CONNECTION_STRING,
274
- username: process.env.COUCHBASE_USERNAME,
275
- password: process.env.COUCHBASE_PASSWORD,
276
- bucketName: process.env.COUCHBASE_BUCKET,
277
- scopeName: process.env.COUCHBASE_SCOPE,
278
- collectionName: process.env.COUCHBASE_COLLECTION,
279
- });
280
- await store.createIndex({
281
- indexName: "myCollection",
282
- dimension: 1536,
283
- });
284
- await store.upsert({
285
- indexName: "myCollection",
286
- vectors: embeddings,
287
- metadata: chunks.map((chunk) => ({ text: chunk.text })),
288
- });
289
- ```
290
-
291
- **Lance**:
292
-
293
- ```ts
294
- import { LanceVectorStore } from "@mastra/lance";
295
-
296
- const store = await LanceVectorStore.create("/path/to/db");
297
-
298
- await store.createIndex({
299
- tableName: "myVectors",
300
- indexName: "myCollection",
301
- dimension: 1536,
302
- });
303
-
304
- await store.upsert({
305
- tableName: "myVectors",
306
- vectors: embeddings,
307
- metadata: chunks.map((chunk) => ({ text: chunk.text })),
308
- });
309
- ```
310
-
311
- ### Using LanceDB
312
-
313
- LanceDB is an embedded vector database built on the Lance columnar format, suitable for local development or cloud deployment. For detailed setup instructions and best practices, see the [official LanceDB documentation](https://lancedb.github.io/lancedb/).
314
-
315
- **S3 Vectors**:
316
-
317
- ```ts
318
- import { S3Vectors } from "@mastra/s3vectors";
319
-
320
- const store = new S3Vectors({
321
- id: 's3-vectors',
322
- vectorBucketName: "my-vector-bucket",
323
- clientConfig: {
324
- region: "us-east-1",
325
- },
326
- nonFilterableMetadataKeys: ["content"],
327
- });
328
-
329
- await store.createIndex({
330
- indexName: "my-index",
331
- dimension: 1536,
332
- });
333
- await store.upsert({
334
- indexName: "my-index",
335
- vectors: embeddings,
336
- metadata: chunks.map((chunk) => ({ text: chunk.text })),
337
- });
338
- ```
339
-
340
- ## Using Vector Storage
341
-
342
- Once initialized, all vector stores share the same interface for creating indexes, upserting embeddings, and querying.
343
-
344
- ### Creating Indexes
345
-
346
- Before storing embeddings, you need to create an index with the appropriate dimension size for your embedding model:
347
-
348
- ```ts
349
- // Create an index with dimension 1536 (for text-embedding-3-small)
350
- await store.createIndex({
351
- indexName: "myCollection",
352
- dimension: 1536,
353
- });
354
- ```
355
-
356
- The dimension size must match the output dimension of your chosen embedding model. Common dimension sizes are:
357
-
358
- - OpenAI text-embedding-3-small: 1536 dimensions (or custom, e.g., 256)
359
- - Cohere embed-multilingual-v3: 1024 dimensions
360
- - Google gemini-embedding-001: 768 dimensions (or custom)
361
-
362
- > **Warning:** Index dimensions cannot be changed after creation. To use a different model, delete and recreate the index with the new dimension size.
363
-
364
- ### Naming Rules for Databases
365
-
366
- Each vector database enforces specific naming conventions for indexes and collections to ensure compatibility and prevent conflicts.
367
-
368
- **MongoDB**:
369
-
370
- Collection (index) names must:
371
-
372
- - Start with a letter or underscore
373
- - Be up to 120 bytes long
374
- - Contain only letters, numbers, underscores, or dots
375
- - Cannot contain `$` or the null character
376
- - Example: `my_collection.123` is valid
377
- - Example: `my-index` is not valid (contains hyphen)
378
- - Example: `My$Collection` is not valid (contains `$`)
379
-
380
- **PgVector**:
381
-
382
- Index names must:
383
-
384
- - Start with a letter or underscore
385
- - Contain only letters, numbers, and underscores
386
- - Example: `my_index_123` is valid
387
- - Example: `my-index` is not valid (contains hyphen)
388
-
389
- **Pinecone**:
390
-
391
- Index names must:
392
-
393
- - Use only lowercase letters, numbers, and dashes
394
-
395
- - Not contain dots (used for DNS routing)
396
-
397
- - Not use non-Latin characters or emojis
398
-
399
- - Have a combined length (with project ID) under 52 characters
400
-
401
- - Example: `my-index-123` is valid
402
- - Example: `my.index` is not valid (contains dot)
403
-
404
- **Qdrant**:
405
-
406
- Collection names must:
407
-
408
- - Be 1-255 characters long
409
-
410
- - Not contain any of these special characters:
411
-
412
- - `< > : " / \ | ? *`
413
- - Null character (`\0`)
414
- - Unit separator (`\u{1F}`)
415
-
416
- - Example: `my_collection_123` is valid
417
-
418
- - Example: `my/collection` is not valid (contains slash)
419
-
420
- **Chroma**:
421
-
422
- Collection names must:
423
-
424
- - Be 3-63 characters long
425
- - Start and end with a letter or number
426
- - Contain only letters, numbers, underscores, or hyphens
427
- - Not contain consecutive periods (..)
428
- - Not be a valid IPv4 address
429
- - Example: `my-collection-123` is valid
430
- - Example: `my..collection` is not valid (consecutive periods)
431
-
432
- **Astra**:
433
-
434
- Collection names must:
435
-
436
- - Not be empty
437
- - Be 48 characters or less
438
- - Contain only letters, numbers, and underscores
439
- - Example: `my_collection_123` is valid
440
- - Example: `my-collection` is not valid (contains hyphen)
441
-
442
- **libSQL**:
443
-
444
- Index names must:
445
-
446
- - Start with a letter or underscore
447
- - Contain only letters, numbers, and underscores
448
- - Example: `my_index_123` is valid
449
- - Example: `my-index` is not valid (contains hyphen)
450
-
451
- **Upstash**:
452
-
453
- Namespace names must:
454
-
455
- - Be 2-100 characters long
456
-
457
- - Contain only:
458
-
459
- - Alphanumeric characters (a-z, A-Z, 0-9)
460
- - Underscores, hyphens, dots
461
-
462
- - Not start or end with special characters (\_, -, .)
463
-
464
- - Can be case-sensitive
465
-
466
- - Example: `MyNamespace123` is valid
467
-
468
- - Example: `_namespace` is not valid (starts with underscore)
469
-
470
- **Cloudflare**:
471
-
472
- Index names must:
473
-
474
- - Start with a letter
475
- - Be shorter than 32 characters
476
- - Contain only lowercase ASCII letters, numbers, and dashes
477
- - Use dashes instead of spaces
478
- - Example: `my-index-123` is valid
479
- - Example: `My_Index` is not valid (uppercase and underscore)
480
-
481
- **OpenSearch**:
482
-
483
- Index names must:
484
-
485
- - Use only lowercase letters
486
- - Not begin with underscores or hyphens
487
- - Not contain spaces, commas
488
- - Not contain special characters (e.g. `:`, `"`, `*`, `+`, `/`, `\`, `|`, `?`, `#`, `>`, `<`)
489
- - Example: `my-index-123` is valid
490
- - Example: `My_Index` is not valid (contains uppercase letters)
491
- - Example: `_myindex` is not valid (begins with underscore)
492
-
493
- **ElasticSearch**:
494
-
495
- Index names must:
496
-
497
- - Use only lowercase letters
498
- - Not exceed 255 bytes (counting multi-byte characters)
499
- - Not begin with underscores, hyphens, or plus signs
500
- - Not contain spaces, commas
501
- - Not contain special characters (e.g. `:`, `"`, `*`, `+`, `/`, `\`, `|`, `?`, `#`, `>`, `<`)
502
- - Not be "." or ".."
503
- - Not start with "." (deprecated except for system/hidden indices)
504
- - Example: `my-index-123` is valid
505
- - Example: `My_Index` is not valid (contains uppercase letters)
506
- - Example: `_myindex` is not valid (begins with underscore)
507
- - Example: `.myindex` is not valid (begins with dot, deprecated)
508
-
509
- **S3 Vectors**:
510
-
511
- Index names must:
512
-
513
- - Be unique within the same vector bucket
514
- - Be 3–63 characters long
515
- - Use only lowercase letters (`a–z`), numbers (`0–9`), hyphens (`-`), and dots (`.`)
516
- - Begin and end with a letter or number
517
- - Example: `my-index.123` is valid
518
- - Example: `my_index` is not valid (contains underscore)
519
- - Example: `-myindex` is not valid (begins with hyphen)
520
- - Example: `myindex-` is not valid (ends with hyphen)
521
- - Example: `MyIndex` is not valid (contains uppercase letters)
522
-
523
- ### Upserting Embeddings
524
-
525
- After creating an index, you can store embeddings along with their basic metadata:
526
-
527
- ```ts
528
- // Store embeddings with their corresponding metadata
529
- await store.upsert({
530
- indexName: "myCollection", // index name
531
- vectors: embeddings, // array of embedding vectors
532
- metadata: chunks.map((chunk) => ({
533
- text: chunk.text, // The original text content
534
- id: chunk.id, // Optional unique identifier
535
- })),
536
- });
537
- ```
538
-
539
- The upsert operation:
540
-
541
- - Takes an array of embedding vectors and their corresponding metadata
542
- - Updates existing vectors if they share the same ID
543
- - Creates new vectors if they don't exist
544
- - Automatically handles batching for large datasets
545
-
546
- ## Adding Metadata
547
-
548
- Vector stores support rich metadata (any JSON-serializable fields) for filtering and organization. Since metadata is stored with no fixed schema, use consistent field naming to avoid unexpected query results.
549
-
550
- > **Warning:** Metadata is crucial for vector storage - without it, you'd only have numerical embeddings with no way to return the original text or filter results. Always store at least the source text as metadata.
551
-
552
- ```ts
553
- // Store embeddings with rich metadata for better organization and filtering
554
- await store.upsert({
555
- indexName: "myCollection",
556
- vectors: embeddings,
557
- metadata: chunks.map((chunk) => ({
558
- // Basic content
559
- text: chunk.text,
560
- id: chunk.id,
561
-
562
- // Document organization
563
- source: chunk.source,
564
- category: chunk.category,
565
-
566
- // Temporal metadata
567
- createdAt: new Date().toISOString(),
568
- version: "1.0",
569
-
570
- // Custom fields
571
- language: chunk.language,
572
- author: chunk.author,
573
- confidenceScore: chunk.score,
574
- })),
575
- });
576
- ```
577
-
578
- Key metadata considerations:
579
-
580
- - Be strict with field naming - inconsistencies like 'category' vs 'Category' will affect queries
581
- - Only include fields you plan to filter or sort by - extra fields add overhead
582
- - Add timestamps (e.g., 'createdAt', 'lastUpdated') to track content freshness
583
-
584
- ## Deleting Vectors
585
-
586
- When building RAG applications, you often need to clean up stale vectors when documents are deleted or updated. Mastra provides the `deleteVectors` method that supports deleting vectors by metadata filters, making it easy to remove all embeddings associated with a specific document.
587
-
588
- ### Delete by Metadata Filter
589
-
590
- The most common use case is deleting all vectors for a specific document when a user deletes it:
591
-
592
- ```ts
593
- // Delete all vectors for a specific document
594
- await store.deleteVectors({
595
- indexName: "myCollection",
596
- filter: { docId: "document-123" },
597
- });
598
- ```
599
-
600
- This is particularly useful when:
601
-
602
- - A user deletes a document and you need to remove all its chunks
603
- - You're re-indexing a document and want to remove old vectors first
604
- - You need to clean up vectors for a specific user or tenant
605
-
606
- ### Delete Multiple Documents
607
-
608
- You can also use complex filters to delete vectors matching multiple conditions:
609
-
610
- ```ts
611
- // Delete all vectors for multiple documents
612
- await store.deleteVectors({
613
- indexName: "myCollection",
614
- filter: {
615
- docId: { $in: ["doc-1", "doc-2", "doc-3"] },
616
- },
617
- });
618
-
619
- // Delete vectors for a specific user's documents
620
- await store.deleteVectors({
621
- indexName: "myCollection",
622
- filter: {
623
- $and: [
624
- { userId: "user-123" },
625
- { status: "archived" },
626
- ],
627
- },
628
- });
629
- ```
630
-
631
- ### Delete by Vector IDs
632
-
633
- If you have specific vector IDs to delete, you can pass them directly:
634
-
635
- ```ts
636
- // Delete specific vectors by their IDs
637
- await store.deleteVectors({
638
- indexName: "myCollection",
639
- ids: ["vec-1", "vec-2", "vec-3"],
640
- });
641
- ```
642
-
643
- ## Best Practices
644
-
645
- - Create indexes before bulk insertions
646
- - Use batch operations for large insertions (the upsert method handles batching automatically)
647
- - Only store metadata you'll query against
648
- - Match embedding dimensions to your model (e.g., 1536 for `text-embedding-3-small`)