@mastra/mcp-docs-server 1.0.0-beta.13 → 1.0.0-beta.14

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 (297) hide show
  1. package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +19 -19
  2. package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +28 -28
  3. package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +98 -98
  4. package/.docs/organized/changelogs/%40mastra%2Fconvex.md +30 -0
  5. package/.docs/organized/changelogs/%40mastra%2Fcore.md +171 -171
  6. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +15 -15
  7. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +16 -16
  8. package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +15 -15
  9. package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +10 -10
  10. package/.docs/organized/changelogs/%40mastra%2Fmemory.md +12 -12
  11. package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +22 -22
  12. package/.docs/organized/changelogs/%40mastra%2Frag.md +17 -17
  13. package/.docs/organized/changelogs/%40mastra%2Freact.md +9 -2
  14. package/.docs/organized/changelogs/%40mastra%2Fserver.md +94 -94
  15. package/.docs/organized/changelogs/create-mastra.md +3 -3
  16. package/.docs/organized/changelogs/mastra.md +17 -17
  17. package/.docs/organized/code-examples/agent-v6.md +151 -0
  18. package/.docs/organized/code-examples/ai-elements.md +1 -1
  19. package/.docs/raw/agents/adding-voice.mdx +2 -3
  20. package/.docs/raw/agents/agent-approval.mdx +5 -6
  21. package/.docs/raw/agents/agent-memory.mdx +22 -30
  22. package/.docs/raw/agents/guardrails.mdx +60 -50
  23. package/.docs/raw/agents/networks.mdx +8 -12
  24. package/.docs/raw/agents/overview.mdx +39 -23
  25. package/.docs/raw/agents/processors.mdx +20 -19
  26. package/.docs/raw/agents/structured-output.mdx +11 -7
  27. package/.docs/raw/agents/using-tools.mdx +4 -5
  28. package/.docs/raw/deployment/mastra-server.mdx +3 -3
  29. package/.docs/raw/deployment/overview.mdx +7 -0
  30. package/.docs/raw/deployment/web-framework.mdx +4 -6
  31. package/.docs/raw/evals/custom-scorers.mdx +9 -6
  32. package/.docs/raw/evals/overview.mdx +3 -6
  33. package/.docs/raw/evals/running-in-ci.mdx +2 -2
  34. package/.docs/raw/getting-started/manual-install.mdx +20 -20
  35. package/.docs/raw/getting-started/mcp-docs-server.mdx +2 -2
  36. package/.docs/raw/guides/agent-frameworks/ai-sdk.mdx +4 -4
  37. package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +30 -30
  38. package/.docs/raw/guides/build-your-ui/assistant-ui.mdx +8 -8
  39. package/.docs/raw/guides/build-your-ui/copilotkit.mdx +11 -11
  40. package/.docs/raw/guides/deployment/amazon-ec2.mdx +9 -9
  41. package/.docs/raw/guides/deployment/aws-lambda.mdx +11 -11
  42. package/.docs/raw/guides/deployment/azure-app-services.mdx +2 -2
  43. package/.docs/raw/guides/deployment/cloudflare-deployer.mdx +5 -6
  44. package/.docs/raw/guides/deployment/digital-ocean.mdx +10 -10
  45. package/.docs/raw/guides/deployment/index.mdx +1 -1
  46. package/.docs/raw/guides/deployment/inngest.mdx +386 -0
  47. package/.docs/raw/guides/deployment/netlify-deployer.mdx +4 -4
  48. package/.docs/raw/guides/deployment/vercel-deployer.mdx +5 -6
  49. package/.docs/raw/guides/getting-started/astro.mdx +292 -451
  50. package/.docs/raw/guides/getting-started/express.mdx +7 -7
  51. package/.docs/raw/guides/getting-started/hono.mdx +18 -18
  52. package/.docs/raw/guides/getting-started/next-js.mdx +19 -20
  53. package/.docs/raw/guides/getting-started/quickstart.mdx +4 -4
  54. package/.docs/raw/guides/getting-started/sveltekit.mdx +238 -409
  55. package/.docs/raw/guides/getting-started/vite-react.mdx +21 -21
  56. package/.docs/raw/guides/guide/ai-recruiter.mdx +10 -10
  57. package/.docs/raw/guides/guide/chef-michel.mdx +9 -11
  58. package/.docs/raw/guides/guide/notes-mcp-server.mdx +15 -15
  59. package/.docs/raw/guides/guide/research-assistant.mdx +13 -13
  60. package/.docs/raw/guides/guide/stock-agent.mdx +5 -5
  61. package/.docs/raw/guides/guide/web-search.mdx +8 -8
  62. package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +7 -7
  63. package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +2 -2
  64. package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +1 -1
  65. package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +0 -2
  66. package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +21 -23
  67. package/.docs/raw/index.mdx +2 -2
  68. package/.docs/raw/mastra-cloud/setting-up.mdx +6 -2
  69. package/.docs/raw/mcp/overview.mdx +31 -13
  70. package/.docs/raw/mcp/publishing-mcp-server.mdx +2 -2
  71. package/.docs/raw/memory/memory-processors.mdx +9 -9
  72. package/.docs/raw/memory/message-history.mdx +69 -0
  73. package/.docs/raw/memory/overview.mdx +34 -76
  74. package/.docs/raw/memory/semantic-recall.mdx +58 -49
  75. package/.docs/raw/memory/storage.mdx +188 -0
  76. package/.docs/raw/memory/working-memory.mdx +7 -7
  77. package/.docs/raw/observability/logging.mdx +9 -10
  78. package/.docs/raw/observability/overview.mdx +0 -1
  79. package/.docs/raw/observability/tracing/bridges/otel.mdx +2 -2
  80. package/.docs/raw/observability/tracing/exporters/default.mdx +3 -3
  81. package/.docs/raw/observability/tracing/exporters/langfuse.mdx +1 -2
  82. package/.docs/raw/observability/tracing/overview.mdx +23 -25
  83. package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +3 -3
  84. package/.docs/raw/rag/chunking-and-embedding.mdx +6 -6
  85. package/.docs/raw/rag/graph-rag.mdx +7 -7
  86. package/.docs/raw/rag/overview.mdx +1 -1
  87. package/.docs/raw/rag/retrieval.mdx +21 -22
  88. package/.docs/raw/rag/vector-databases.mdx +22 -22
  89. package/.docs/raw/reference/agents/agent.mdx +3 -3
  90. package/.docs/raw/reference/agents/generate.mdx +1 -1
  91. package/.docs/raw/reference/agents/generateLegacy.mdx +2 -2
  92. package/.docs/raw/reference/agents/getDefaultGenerateOptions.mdx +2 -2
  93. package/.docs/raw/reference/agents/getDefaultOptions.mdx +2 -2
  94. package/.docs/raw/reference/agents/getDefaultStreamOptions.mdx +2 -2
  95. package/.docs/raw/reference/agents/getDescription.mdx +1 -1
  96. package/.docs/raw/reference/agents/getInstructions.mdx +2 -2
  97. package/.docs/raw/reference/agents/getLLM.mdx +2 -2
  98. package/.docs/raw/reference/agents/getMemory.mdx +2 -2
  99. package/.docs/raw/reference/agents/getModel.mdx +2 -2
  100. package/.docs/raw/reference/agents/getTools.mdx +2 -2
  101. package/.docs/raw/reference/agents/getVoice.mdx +2 -2
  102. package/.docs/raw/reference/agents/listAgents.mdx +2 -2
  103. package/.docs/raw/reference/agents/listScorers.mdx +2 -2
  104. package/.docs/raw/reference/agents/listTools.mdx +2 -2
  105. package/.docs/raw/reference/agents/listWorkflows.mdx +2 -2
  106. package/.docs/raw/reference/agents/network.mdx +1 -1
  107. package/.docs/raw/reference/ai-sdk/chat-route.mdx +2 -2
  108. package/.docs/raw/reference/ai-sdk/handle-chat-stream.mdx +1 -1
  109. package/.docs/raw/reference/ai-sdk/handle-network-stream.mdx +1 -1
  110. package/.docs/raw/reference/ai-sdk/handle-workflow-stream.mdx +1 -1
  111. package/.docs/raw/reference/ai-sdk/network-route.mdx +2 -2
  112. package/.docs/raw/reference/ai-sdk/to-ai-sdk-stream.mdx +6 -6
  113. package/.docs/raw/reference/ai-sdk/to-ai-sdk-v4-messages.mdx +3 -3
  114. package/.docs/raw/reference/ai-sdk/to-ai-sdk-v5-messages.mdx +3 -3
  115. package/.docs/raw/reference/ai-sdk/with-mastra.mdx +1 -1
  116. package/.docs/raw/reference/ai-sdk/workflow-route.mdx +2 -2
  117. package/.docs/raw/reference/auth/auth0.mdx +1 -2
  118. package/.docs/raw/reference/auth/clerk.mdx +1 -2
  119. package/.docs/raw/reference/auth/firebase.mdx +2 -4
  120. package/.docs/raw/reference/auth/jwt.mdx +1 -2
  121. package/.docs/raw/reference/auth/supabase.mdx +1 -2
  122. package/.docs/raw/reference/auth/workos.mdx +1 -2
  123. package/.docs/raw/reference/cli/create-mastra.mdx +10 -10
  124. package/.docs/raw/reference/cli/mastra.mdx +9 -9
  125. package/.docs/raw/reference/client-js/agents.mdx +1 -2
  126. package/.docs/raw/reference/client-js/mastra-client.mdx +1 -1
  127. package/.docs/raw/reference/core/getAgent.mdx +1 -1
  128. package/.docs/raw/reference/core/getAgentById.mdx +1 -1
  129. package/.docs/raw/reference/core/getDeployer.mdx +1 -1
  130. package/.docs/raw/reference/core/getLogger.mdx +1 -1
  131. package/.docs/raw/reference/core/getMCPServer.mdx +1 -1
  132. package/.docs/raw/reference/core/getMCPServerById.mdx +1 -1
  133. package/.docs/raw/reference/core/getMemory.mdx +2 -2
  134. package/.docs/raw/reference/core/getServer.mdx +1 -1
  135. package/.docs/raw/reference/core/getStorage.mdx +2 -2
  136. package/.docs/raw/reference/core/getStoredAgentById.mdx +3 -3
  137. package/.docs/raw/reference/core/getTelemetry.mdx +1 -1
  138. package/.docs/raw/reference/core/getVector.mdx +1 -1
  139. package/.docs/raw/reference/core/getWorkflow.mdx +1 -1
  140. package/.docs/raw/reference/core/listAgents.mdx +1 -1
  141. package/.docs/raw/reference/core/listLogs.mdx +1 -1
  142. package/.docs/raw/reference/core/listLogsByRunId.mdx +1 -1
  143. package/.docs/raw/reference/core/listMCPServers.mdx +1 -1
  144. package/.docs/raw/reference/core/listMemory.mdx +2 -2
  145. package/.docs/raw/reference/core/listStoredAgents.mdx +4 -4
  146. package/.docs/raw/reference/core/listVectors.mdx +1 -1
  147. package/.docs/raw/reference/core/listWorkflows.mdx +1 -1
  148. package/.docs/raw/reference/core/setLogger.mdx +1 -1
  149. package/.docs/raw/reference/core/setStorage.mdx +2 -2
  150. package/.docs/raw/reference/core/setTelemetry.mdx +1 -1
  151. package/.docs/raw/reference/deployer/cloudflare.mdx +1 -2
  152. package/.docs/raw/reference/deployer/deployer.mdx +0 -1
  153. package/.docs/raw/reference/deployer/netlify.mdx +1 -1
  154. package/.docs/raw/reference/deployer/vercel.mdx +2 -4
  155. package/.docs/raw/reference/evals/answer-relevancy.mdx +1 -1
  156. package/.docs/raw/reference/evals/answer-similarity.mdx +1 -1
  157. package/.docs/raw/reference/evals/bias.mdx +1 -1
  158. package/.docs/raw/reference/evals/completeness.mdx +1 -1
  159. package/.docs/raw/reference/evals/content-similarity.mdx +1 -1
  160. package/.docs/raw/reference/evals/context-precision.mdx +1 -1
  161. package/.docs/raw/reference/evals/faithfulness.mdx +1 -1
  162. package/.docs/raw/reference/evals/hallucination.mdx +1 -1
  163. package/.docs/raw/reference/evals/keyword-coverage.mdx +1 -1
  164. package/.docs/raw/reference/evals/prompt-alignment.mdx +7 -7
  165. package/.docs/raw/reference/evals/textual-difference.mdx +1 -1
  166. package/.docs/raw/reference/evals/tone-consistency.mdx +1 -1
  167. package/.docs/raw/reference/evals/tool-call-accuracy.mdx +10 -10
  168. package/.docs/raw/reference/evals/toxicity.mdx +1 -1
  169. package/.docs/raw/reference/logging/pino-logger.mdx +6 -7
  170. package/.docs/raw/reference/memory/createThread.mdx +2 -2
  171. package/.docs/raw/reference/memory/deleteMessages.mdx +2 -2
  172. package/.docs/raw/reference/memory/listThreadsByResourceId.mdx +2 -2
  173. package/.docs/raw/reference/memory/memory-class.mdx +3 -3
  174. package/.docs/raw/reference/memory/query.mdx +2 -2
  175. package/.docs/raw/reference/memory/recall.mdx +2 -2
  176. package/.docs/raw/reference/observability/tracing/exporters/langfuse.mdx +1 -1
  177. package/.docs/raw/reference/processors/batch-parts-processor.mdx +2 -2
  178. package/.docs/raw/reference/processors/language-detector.mdx +2 -2
  179. package/.docs/raw/reference/processors/message-history-processor.mdx +2 -2
  180. package/.docs/raw/reference/processors/moderation-processor.mdx +3 -3
  181. package/.docs/raw/reference/processors/pii-detector.mdx +3 -3
  182. package/.docs/raw/reference/processors/processor-interface.mdx +13 -13
  183. package/.docs/raw/reference/processors/prompt-injection-detector.mdx +2 -2
  184. package/.docs/raw/reference/processors/semantic-recall-processor.mdx +2 -2
  185. package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +2 -2
  186. package/.docs/raw/reference/processors/token-limiter-processor.mdx +2 -2
  187. package/.docs/raw/reference/processors/tool-call-filter.mdx +3 -3
  188. package/.docs/raw/reference/processors/unicode-normalizer.mdx +2 -2
  189. package/.docs/raw/reference/processors/working-memory-processor.mdx +3 -3
  190. package/.docs/raw/reference/rag/chunk.mdx +1 -1
  191. package/.docs/raw/reference/rag/extract-params.mdx +2 -2
  192. package/.docs/raw/reference/rag/metadata-filters.mdx +7 -7
  193. package/.docs/raw/reference/server/create-route.mdx +13 -13
  194. package/.docs/raw/reference/server/express-adapter.mdx +6 -7
  195. package/.docs/raw/reference/server/hono-adapter.mdx +6 -7
  196. package/.docs/raw/reference/server/mastra-server.mdx +20 -20
  197. package/.docs/raw/reference/storage/cloudflare-d1.mdx +3 -3
  198. package/.docs/raw/reference/storage/cloudflare.mdx +2 -2
  199. package/.docs/raw/reference/storage/convex.mdx +6 -6
  200. package/.docs/raw/reference/storage/dynamodb.mdx +4 -4
  201. package/.docs/raw/reference/storage/lance.mdx +3 -3
  202. package/.docs/raw/reference/storage/libsql.mdx +69 -54
  203. package/.docs/raw/reference/storage/mongodb.mdx +80 -7
  204. package/.docs/raw/reference/storage/mssql.mdx +4 -4
  205. package/.docs/raw/{memory → reference}/storage/overview.mdx +12 -110
  206. package/.docs/raw/reference/storage/postgresql.mdx +78 -7
  207. package/.docs/raw/reference/storage/upstash.mdx +74 -2
  208. package/.docs/raw/reference/streaming/agents/stream.mdx +5 -5
  209. package/.docs/raw/reference/streaming/agents/streamLegacy.mdx +2 -2
  210. package/.docs/raw/reference/streaming/workflows/observeStream.mdx +1 -1
  211. package/.docs/raw/reference/streaming/workflows/resumeStream.mdx +1 -1
  212. package/.docs/raw/reference/streaming/workflows/stream.mdx +2 -2
  213. package/.docs/raw/reference/streaming/workflows/timeTravelStream.mdx +4 -4
  214. package/.docs/raw/reference/templates/overview.mdx +1 -2
  215. package/.docs/raw/reference/tools/create-tool.mdx +1 -4
  216. package/.docs/raw/reference/tools/vector-query-tool.mdx +1 -1
  217. package/.docs/raw/reference/vectors/astra.mdx +3 -3
  218. package/.docs/raw/reference/vectors/chroma.mdx +3 -3
  219. package/.docs/raw/reference/vectors/convex.mdx +12 -12
  220. package/.docs/raw/reference/vectors/couchbase.mdx +5 -5
  221. package/.docs/raw/reference/vectors/duckdb.mdx +10 -10
  222. package/.docs/raw/reference/vectors/elasticsearch.mdx +4 -4
  223. package/.docs/raw/reference/vectors/lance.mdx +4 -4
  224. package/.docs/raw/reference/vectors/libsql.mdx +61 -11
  225. package/.docs/raw/reference/vectors/mongodb.mdx +58 -5
  226. package/.docs/raw/reference/vectors/pg.mdx +53 -6
  227. package/.docs/raw/reference/vectors/pinecone.mdx +3 -3
  228. package/.docs/raw/reference/vectors/qdrant.mdx +3 -3
  229. package/.docs/raw/reference/vectors/s3vectors.mdx +6 -6
  230. package/.docs/raw/reference/vectors/turbopuffer.mdx +4 -4
  231. package/.docs/raw/reference/vectors/upstash.mdx +55 -6
  232. package/.docs/raw/reference/vectors/vectorize.mdx +3 -3
  233. package/.docs/raw/reference/workflows/run-methods/cancel.mdx +2 -2
  234. package/.docs/raw/reference/workflows/run-methods/restart.mdx +1 -3
  235. package/.docs/raw/reference/workflows/run-methods/resume.mdx +2 -2
  236. package/.docs/raw/reference/workflows/run-methods/start.mdx +2 -2
  237. package/.docs/raw/reference/workflows/run-methods/startAsync.mdx +2 -2
  238. package/.docs/raw/reference/workflows/run-methods/timeTravel.mdx +5 -5
  239. package/.docs/raw/reference/workflows/run.mdx +1 -1
  240. package/.docs/raw/reference/workflows/step.mdx +3 -3
  241. package/.docs/raw/reference/workflows/workflow-methods/branch.mdx +1 -1
  242. package/.docs/raw/reference/workflows/workflow-methods/commit.mdx +1 -1
  243. package/.docs/raw/reference/workflows/workflow-methods/create-run.mdx +3 -3
  244. package/.docs/raw/reference/workflows/workflow-methods/dountil.mdx +1 -1
  245. package/.docs/raw/reference/workflows/workflow-methods/dowhile.mdx +1 -1
  246. package/.docs/raw/reference/workflows/workflow-methods/foreach.mdx +6 -6
  247. package/.docs/raw/reference/workflows/workflow-methods/map.mdx +7 -7
  248. package/.docs/raw/reference/workflows/workflow-methods/parallel.mdx +1 -1
  249. package/.docs/raw/reference/workflows/workflow-methods/sendEvent.mdx +2 -2
  250. package/.docs/raw/reference/workflows/workflow-methods/sleep.mdx +2 -2
  251. package/.docs/raw/reference/workflows/workflow-methods/sleepUntil.mdx +2 -2
  252. package/.docs/raw/reference/workflows/workflow-methods/then.mdx +1 -1
  253. package/.docs/raw/reference/workflows/workflow-methods/waitForEvent.mdx +2 -2
  254. package/.docs/raw/reference/workflows/workflow.mdx +3 -3
  255. package/.docs/raw/server/auth/auth0.mdx +20 -14
  256. package/.docs/raw/server/auth/clerk.mdx +16 -9
  257. package/.docs/raw/server/auth/firebase.mdx +21 -15
  258. package/.docs/raw/server/auth/jwt.mdx +14 -7
  259. package/.docs/raw/server/auth/supabase.mdx +16 -9
  260. package/.docs/raw/server/auth/workos.mdx +19 -13
  261. package/.docs/raw/server/custom-adapters.mdx +10 -10
  262. package/.docs/raw/server/custom-api-routes.mdx +2 -4
  263. package/.docs/raw/server/mastra-client.mdx +24 -13
  264. package/.docs/raw/server/mastra-server.mdx +3 -3
  265. package/.docs/raw/server/middleware.mdx +7 -7
  266. package/.docs/raw/server/request-context.mdx +31 -30
  267. package/.docs/raw/server/server-adapters.mdx +6 -6
  268. package/.docs/raw/streaming/events.mdx +14 -7
  269. package/.docs/raw/streaming/overview.mdx +21 -10
  270. package/.docs/raw/streaming/tool-streaming.mdx +6 -6
  271. package/.docs/raw/streaming/workflow-streaming.mdx +6 -8
  272. package/.docs/raw/tools-mcp/advanced-usage.mdx +2 -2
  273. package/.docs/raw/tools-mcp/mcp-overview.mdx +31 -12
  274. package/.docs/raw/tools-mcp/overview.mdx +9 -10
  275. package/.docs/raw/voice/overview.mdx +1 -1
  276. package/.docs/raw/workflows/agents-and-tools.mdx +28 -19
  277. package/.docs/raw/workflows/control-flow.mdx +27 -40
  278. package/.docs/raw/workflows/error-handling.mdx +15 -22
  279. package/.docs/raw/workflows/human-in-the-loop.mdx +6 -7
  280. package/.docs/raw/workflows/inngest-workflow.mdx +8 -9
  281. package/.docs/raw/workflows/input-data-mapping.mdx +7 -7
  282. package/.docs/raw/workflows/overview.mdx +33 -22
  283. package/.docs/raw/workflows/snapshots.mdx +14 -44
  284. package/.docs/raw/workflows/suspend-and-resume.mdx +7 -7
  285. package/.docs/raw/workflows/time-travel.mdx +16 -16
  286. package/.docs/raw/workflows/workflow-state.mdx +5 -8
  287. package/CHANGELOG.md +9 -0
  288. package/dist/logger.d.ts +3 -0
  289. package/dist/logger.d.ts.map +1 -1
  290. package/dist/stdio.js +53 -0
  291. package/package.json +4 -4
  292. package/.docs/raw/memory/conversation-history.mdx +0 -24
  293. package/.docs/raw/memory/storage/memory-with-libsql.mdx +0 -140
  294. package/.docs/raw/memory/storage/memory-with-mongodb.mdx +0 -150
  295. package/.docs/raw/memory/storage/memory-with-pg.mdx +0 -138
  296. package/.docs/raw/memory/storage/memory-with-upstash.mdx +0 -146
  297. package/.docs/raw/memory/threads-and-resources.mdx +0 -95
@@ -374,7 +374,7 @@ Returns an array of index names as strings.
374
374
 
375
375
  Returns:
376
376
 
377
- ```typescript copy
377
+ ```typescript
378
378
  interface PGIndexStats {
379
379
  dimension: number;
380
380
  count: number;
@@ -434,7 +434,7 @@ Update a single vector by ID or by metadata filter. Either `id` or `filter` must
434
434
 
435
435
  Updates an existing vector by ID or filter. At least one of vector or metadata must be provided in the update object.
436
436
 
437
- ```typescript copy
437
+ ```typescript
438
438
  // Update by ID
439
439
  await pgVector.updateVector({
440
440
  indexName: "my_vectors",
@@ -474,7 +474,7 @@ await pgVector.updateVector({
474
474
 
475
475
  Deletes a single vector by ID from the specified index.
476
476
 
477
- ```typescript copy
477
+ ```typescript
478
478
  await pgVector.deleteVector({ indexName: "my_vectors", id: "vector123" });
479
479
  ```
480
480
 
@@ -534,7 +534,7 @@ Closes the database connection pool. Should be called when done using the store.
534
534
 
535
535
  Builds or rebuilds an index with specified metric and configuration. Will drop any existing index before creating the new one.
536
536
 
537
- ```typescript copy
537
+ ```typescript
538
538
  // Define HNSW index
539
539
  await pgVector.buildIndex("my_vectors", "cosine", {
540
540
  type: "hnsw",
@@ -562,7 +562,7 @@ await pgVector.buildIndex("my_vectors", "cosine", {
562
562
 
563
563
  Query results are returned in this format:
564
564
 
565
- ```typescript copy
565
+ ```typescript
566
566
  interface QueryResult {
567
567
  id: string;
568
568
  score: number;
@@ -575,7 +575,7 @@ interface QueryResult {
575
575
 
576
576
  The store throws typed errors that can be caught:
577
577
 
578
- ```typescript copy
578
+ ```typescript
579
579
  try {
580
580
  await store.query({
581
581
  indexName: "index_name",
@@ -641,6 +641,53 @@ This enables advanced usage such as running direct SQL queries, managing transac
641
641
 
642
642
  This design supports advanced use cases but requires careful resource management by the user.
643
643
 
644
+ ## Usage Example
645
+
646
+ ### Local embeddings with fastembed
647
+
648
+ Embeddings are numeric vectors used by memory's `semanticRecall` to retrieve related messages by meaning (not keywords). This setup uses `@mastra/fastembed` to generate vector embeddings.
649
+
650
+ Install `fastembed` to get started:
651
+
652
+ ```bash
653
+ npm install @mastra/fastembed@beta
654
+ ```
655
+
656
+ Add the following to your agent:
657
+
658
+ ```typescript title="src/mastra/agents/example-pg-agent.ts"
659
+ import { Memory } from "@mastra/memory";
660
+ import { Agent } from "@mastra/core/agent";
661
+ import { PostgresStore, PgVector } from "@mastra/pg";
662
+ import { fastembed } from "@mastra/fastembed";
663
+
664
+ export const pgAgent = new Agent({
665
+ id: "pg-agent",
666
+ name: "PG Agent",
667
+ instructions:
668
+ "You are an AI agent with the ability to automatically recall memories from previous interactions.",
669
+ model: "openai/gpt-5.1",
670
+ memory: new Memory({
671
+ storage: new PostgresStore({
672
+ id: 'pg-agent-storage',
673
+ connectionString: process.env.DATABASE_URL!,
674
+ }),
675
+ vector: new PgVector({
676
+ id: 'pg-agent-vector',
677
+ connectionString: process.env.DATABASE_URL!,
678
+ }),
679
+ embedder: fastembed,
680
+ options: {
681
+ lastMessages: 10,
682
+ semanticRecall: {
683
+ topK: 3,
684
+ messageRange: 2,
685
+ },
686
+ },
687
+ }),
688
+ });
689
+ ```
690
+
644
691
  ## Related
645
692
 
646
693
  - [Metadata Filters](../rag/metadata-filters)
@@ -184,7 +184,7 @@ Returns an array of index names as strings.
184
184
 
185
185
  Returns:
186
186
 
187
- ```typescript copy
187
+ ```typescript
188
188
  interface IndexStats {
189
189
  dimension: number;
190
190
  count: number;
@@ -306,7 +306,7 @@ Delete multiple vectors by IDs or by metadata filter. Either `ids` or `filter` m
306
306
 
307
307
  Query results are returned in this format:
308
308
 
309
- ```typescript copy
309
+ ```typescript
310
310
  interface QueryResult {
311
311
  id: string;
312
312
  score: number;
@@ -319,7 +319,7 @@ interface QueryResult {
319
319
 
320
320
  The store throws typed errors that can be caught:
321
321
 
322
- ```typescript copy
322
+ ```typescript
323
323
  try {
324
324
  await store.query({
325
325
  indexName: "index_name",
@@ -137,7 +137,7 @@ Returns an array of index names as strings.
137
137
 
138
138
  Returns:
139
139
 
140
- ```typescript copy
140
+ ```typescript
141
141
  interface IndexStats {
142
142
  dimension: number;
143
143
  count: number;
@@ -239,7 +239,7 @@ Delete multiple vectors by IDs or by metadata filter. Either `ids` or `filter` m
239
239
 
240
240
  Query results are returned in this format:
241
241
 
242
- ```typescript copy
242
+ ```typescript
243
243
  interface QueryResult {
244
244
  id: string;
245
245
  score: number;
@@ -252,7 +252,7 @@ interface QueryResult {
252
252
 
253
253
  The store throws typed errors that can be caught:
254
254
 
255
- ```typescript copy
255
+ ```typescript
256
256
  try {
257
257
  await store.query({
258
258
  indexName: "index_name",
@@ -14,13 +14,13 @@ The `S3Vectors` class provides vector search using [Amazon S3 Vectors (Preview)]
14
14
 
15
15
  ## Installation
16
16
 
17
- ```bash copy
17
+ ```bash
18
18
  npm install @mastra/s3vectors@beta
19
19
  ```
20
20
 
21
21
  ## Usage Example
22
22
 
23
- ```typescript copy showLineNumbers
23
+ ```typescript
24
24
  import { S3Vectors } from "@mastra/s3vectors";
25
25
 
26
26
  const store = new S3Vectors({
@@ -214,7 +214,7 @@ Returns information about the index.
214
214
 
215
215
  Returns:
216
216
 
217
- ```typescript copy
217
+ ```typescript
218
218
  interface IndexStats {
219
219
  dimension: number;
220
220
  count: number; // computed via ListVectors pagination (O(n))
@@ -305,7 +305,7 @@ Closes the underlying AWS SDK HTTP handler to free sockets.
305
305
 
306
306
  Query results are returned in this format:
307
307
 
308
- ```typescript copy
308
+ ```typescript
309
309
  interface QueryResult {
310
310
  id: string;
311
311
  score: number; // 1/(1 + distance)
@@ -337,7 +337,7 @@ S3 Vectors supports a strict subset of operators and value types. The Mastra fil
337
337
 
338
338
  **Examples:**
339
339
 
340
- ```typescript copy
340
+ ```typescript
341
341
  // Implicit AND
342
342
  { genre: { $in: ["documentary", "comedy"] }, year: { $gte: 2020 } }
343
343
 
@@ -359,7 +359,7 @@ S3 Vectors supports a strict subset of operators and value types. The Mastra fil
359
359
 
360
360
  The store throws typed errors that can be caught:
361
361
 
362
- ```typescript copy
362
+ ```typescript
363
363
  try {
364
364
  await store.query({
365
365
  indexName: "index-name",
@@ -170,7 +170,7 @@ Returns an array of index names as strings.
170
170
 
171
171
  Returns:
172
172
 
173
- ```typescript copy
173
+ ```typescript
174
174
  interface IndexStats {
175
175
  dimension: number;
176
176
  count: number;
@@ -268,7 +268,7 @@ Delete multiple vectors by IDs or by metadata filter. Either `ids` or `filter` m
268
268
 
269
269
  Query results are returned in this format:
270
270
 
271
- ```typescript copy
271
+ ```typescript
272
272
  interface QueryResult {
273
273
  id: string;
274
274
  score: number;
@@ -281,7 +281,7 @@ interface QueryResult {
281
281
 
282
282
  The `schemaConfigForIndex` option allows you to define explicit schemas for different indexes:
283
283
 
284
- ```typescript copy
284
+ ```typescript
285
285
  schemaConfigForIndex: (indexName: string) => {
286
286
  // Mastra's default embedding model and index for memory messages:
287
287
  if (indexName === "memory_messages_384") {
@@ -304,7 +304,7 @@ schemaConfigForIndex: (indexName: string) => {
304
304
 
305
305
  The store throws typed errors that can be caught:
306
306
 
307
- ```typescript copy
307
+ ```typescript
308
308
  try {
309
309
  await store.query({
310
310
  indexName: "index_name",
@@ -164,7 +164,7 @@ Returns an array of index names (namespaces) as strings.
164
164
 
165
165
  Returns:
166
166
 
167
- ```typescript copy
167
+ ```typescript
168
168
  interface IndexStats {
169
169
  dimension: number;
170
170
  count: number;
@@ -238,7 +238,7 @@ Upstash Vector supports hybrid search that combines semantic search (dense vecto
238
238
 
239
239
  ### Basic Hybrid Usage
240
240
 
241
- ```typescript copy
241
+ ```typescript
242
242
  import { UpstashVector } from "@mastra/upstash";
243
243
 
244
244
  const vectorStore = new UpstashVector({
@@ -275,7 +275,7 @@ const results = await vectorStore.query({
275
275
 
276
276
  ### Advanced Hybrid Search Options
277
277
 
278
- ```typescript copy
278
+ ```typescript
279
279
  import { FusionAlgorithm, QueryMode } from "@upstash/vector";
280
280
 
281
281
  // Query with specific fusion algorithm
@@ -307,7 +307,7 @@ const sparseResults = await vectorStore.query({
307
307
 
308
308
  ### Updating Hybrid Vectors
309
309
 
310
- ```typescript copy
310
+ ```typescript
311
311
  // Update both dense and sparse components
312
312
  await vectorStore.updateVector({
313
313
  indexName: "hybrid-index",
@@ -324,7 +324,7 @@ await vectorStore.updateVector({
324
324
 
325
325
  Query results are returned in this format:
326
326
 
327
- ```typescript copy
327
+ ```typescript
328
328
  interface QueryResult {
329
329
  id: string;
330
330
  score: number;
@@ -337,7 +337,7 @@ interface QueryResult {
337
337
 
338
338
  The store throws typed errors that can be caught:
339
339
 
340
- ```typescript copy
340
+ ```typescript
341
341
  try {
342
342
  await store.query({
343
343
  indexName: "index_name",
@@ -358,6 +358,55 @@ Required environment variables:
358
358
  - `UPSTASH_VECTOR_URL`: Your Upstash Vector database URL
359
359
  - `UPSTASH_VECTOR_TOKEN`: Your Upstash Vector API token
360
360
 
361
+ ## Usage Example
362
+
363
+ ### Local embeddings with fastembed
364
+
365
+ Embeddings are numeric vectors used by memory's `semanticRecall` to retrieve related messages by meaning (not keywords). This setup uses `@mastra/fastembed` to generate vector embeddings.
366
+
367
+ Install `fastembed` to get started:
368
+
369
+ ```bash
370
+ npm install @mastra/fastembed@beta
371
+ ```
372
+
373
+ Add the following to your agent:
374
+
375
+ ```typescript title="src/mastra/agents/example-upstash-agent.ts"
376
+ import { Memory } from "@mastra/memory";
377
+ import { Agent } from "@mastra/core/agent";
378
+ import { UpstashStore, UpstashVector } from "@mastra/upstash";
379
+ import { fastembed } from "@mastra/fastembed";
380
+
381
+ export const upstashAgent = new Agent({
382
+ id: "upstash-agent",
383
+ name: "Upstash Agent",
384
+ instructions:
385
+ "You are an AI agent with the ability to automatically recall memories from previous interactions.",
386
+ model: "openai/gpt-5.1",
387
+ memory: new Memory({
388
+ storage: new UpstashStore({
389
+ id: 'upstash-agent-storage',
390
+ url: process.env.UPSTASH_REDIS_REST_URL!,
391
+ token: process.env.UPSTASH_REDIS_REST_TOKEN!,
392
+ }),
393
+ vector: new UpstashVector({
394
+ id: 'upstash-agent-vector',
395
+ url: process.env.UPSTASH_VECTOR_REST_URL!,
396
+ token: process.env.UPSTASH_VECTOR_REST_TOKEN!,
397
+ }),
398
+ embedder: fastembed,
399
+ options: {
400
+ lastMessages: 10,
401
+ semanticRecall: {
402
+ topK: 3,
403
+ messageRange: 2,
404
+ },
405
+ },
406
+ }),
407
+ });
408
+ ```
409
+
361
410
  ## Related
362
411
 
363
412
  - [Metadata Filters](../rag/metadata-filters)
@@ -135,7 +135,7 @@ Returns an array of index names as strings.
135
135
 
136
136
  Returns:
137
137
 
138
- ```typescript copy
138
+ ```typescript
139
139
  interface IndexStats {
140
140
  dimension: number;
141
141
  count: number;
@@ -259,7 +259,7 @@ Deletes a vector and its associated metadata for a specific ID within an index.
259
259
 
260
260
  Query results are returned in this format:
261
261
 
262
- ```typescript copy
262
+ ```typescript
263
263
  interface QueryResult {
264
264
  id: string;
265
265
  score: number;
@@ -272,7 +272,7 @@ interface QueryResult {
272
272
 
273
273
  The store throws typed errors that can be caught:
274
274
 
275
- ```typescript copy
275
+ ```typescript
276
276
  try {
277
277
  await store.query({
278
278
  indexName: "index_name",
@@ -9,7 +9,7 @@ The `.cancel()` method cancels a workflow run, stopping execution and cleaning u
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript showLineNumbers copy
12
+ ```typescript
13
13
  const run = await workflow.createRun();
14
14
 
15
15
  await run.cancel();
@@ -43,7 +43,7 @@ await run.cancel();
43
43
 
44
44
  ## Extended usage example
45
45
 
46
- ```typescript showLineNumbers copy
46
+ ```typescript
47
47
  const run = await workflow.createRun();
48
48
 
49
49
  try {
@@ -9,13 +9,11 @@ The `.restart()` method restarts an active workflow run that lost connection to
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript showLineNumbers copy
12
+ ```typescript
13
13
  const run = await workflow.createRun();
14
14
 
15
15
  const result = await run.start({ inputData: { value: "initial data" } });
16
16
 
17
- //.. server connection lost,
18
-
19
17
  const restartedResult = await run.restart();
20
18
  ```
21
19
 
@@ -9,7 +9,7 @@ The `.resume()` method resumes a suspended workflow run with new data, allowing
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript showLineNumbers copy
12
+ ```typescript
13
13
  const run = await workflow.createRun();
14
14
 
15
15
  const result = await run.start({ inputData: { value: "initial data" } });
@@ -177,7 +177,7 @@ if (result.status === "suspended") {
177
177
 
178
178
  ## Extended usage example
179
179
 
180
- ```typescript showLineNumbers copy
180
+ ```typescript
181
181
  if (result.status === "suspended") {
182
182
  const resumedResults = await run.resume({
183
183
  step: result.suspended[0],
@@ -9,7 +9,7 @@ The `.start()` method starts a workflow run with input data, allowing you to exe
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript showLineNumbers copy
12
+ ```typescript
13
13
  const run = await workflow.createRun();
14
14
 
15
15
  const result = await run.start({
@@ -168,7 +168,7 @@ const result = await run.start({
168
168
 
169
169
  ## Extended usage example
170
170
 
171
- ```typescript showLineNumbers copy
171
+ ```typescript
172
172
  import { RequestContext } from "@mastra/core/request-context";
173
173
 
174
174
  const run = await workflow.createRun();
@@ -9,7 +9,7 @@ The `.startAsync()` method starts a workflow run without waiting for completion.
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript showLineNumbers copy
12
+ ```typescript
13
13
  const run = await workflow.createRun();
14
14
 
15
15
  // Fire-and-forget - returns immediately
@@ -123,7 +123,7 @@ Use `startAsync()` instead of `start()` when:
123
123
 
124
124
  After calling `startAsync()`, you can check the workflow status using:
125
125
 
126
- ```typescript showLineNumbers copy
126
+ ```typescript
127
127
  // Get the execution result (including step outputs)
128
128
  const result = await workflow.getWorkflowRunExecutionResult(runId);
129
129
 
@@ -9,7 +9,7 @@ The `.timeTravel()` method re-executes a workflow starting from any specific ste
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript showLineNumbers copy
12
+ ```typescript
13
13
  const run = await workflow.createRun();
14
14
 
15
15
  const result = await run.timeTravel({
@@ -213,7 +213,7 @@ const result = await run.timeTravel({
213
213
 
214
214
  ### Time travel with custom context
215
215
 
216
- ```typescript showLineNumbers copy
216
+ ```typescript
217
217
  const result = await run.timeTravel({
218
218
  step: "step2",
219
219
  context: {
@@ -230,7 +230,7 @@ const result = await run.timeTravel({
230
230
 
231
231
  ### Time travel to nested workflow step
232
232
 
233
- ```typescript showLineNumbers copy
233
+ ```typescript
234
234
  // Using dot notation
235
235
  const result = await run.timeTravel({
236
236
  step: "nestedWorkflow.step3",
@@ -246,7 +246,7 @@ const result = await run.timeTravel({
246
246
 
247
247
  ### Time travel with initial state
248
248
 
249
- ```typescript showLineNumbers copy
249
+ ```typescript
250
250
  const result = await run.timeTravel({
251
251
  step: "step2",
252
252
  inputData: { value: 10 },
@@ -259,7 +259,7 @@ const result = await run.timeTravel({
259
259
 
260
260
  ### Time travel with nested workflows context
261
261
 
262
- ```typescript showLineNumbers copy
262
+ ```typescript
263
263
  const result = await run.timeTravel({
264
264
  step: "nestedWorkflow.step3",
265
265
  context: {
@@ -9,7 +9,7 @@ The `Run` class represents a workflow execution instance, providing methods to s
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript showLineNumbers copy
12
+ ```typescript
13
13
  const run = await workflow.createRun();
14
14
 
15
15
  const result = await run.start({
@@ -10,7 +10,7 @@ It can take either a tool or an agent as a parameter to automatically create a s
10
10
 
11
11
  ## Usage example
12
12
 
13
- ```typescript title="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
13
+ ```typescript title="src/mastra/workflows/test-workflow.ts"
14
14
  import { createWorkflow, createStep } from "@mastra/core/workflows";
15
15
  import { z } from "zod";
16
16
 
@@ -38,7 +38,7 @@ You can create a step directly from an agent. The step will use the agent's name
38
38
 
39
39
  ### Basic agent step
40
40
 
41
- ```typescript title="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
41
+ ```typescript title="src/mastra/workflows/test-workflow.ts"
42
42
  import { testAgent } from "../agents/test-agent";
43
43
 
44
44
  const agentStep = createStep(testAgent);
@@ -50,7 +50,7 @@ const agentStep = createStep(testAgent);
50
50
 
51
51
  Pass `structuredOutput` to have the agent return typed structured data:
52
52
 
53
- ```typescript title="src/mastra/workflows/test-workflow.ts" showLineNumbers copy
53
+ ```typescript title="src/mastra/workflows/test-workflow.ts"
54
54
  const articleSchema = z.object({
55
55
  title: z.string(),
56
56
  summary: z.string(),
@@ -9,7 +9,7 @@ The `.branch()` method creates conditional branches between workflow steps, allo
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript copy
12
+ ```typescript
13
13
  workflow.branch([
14
14
  [async ({ context }) => true, step1],
15
15
  [async ({ context }) => false, step2],
@@ -9,7 +9,7 @@ The `.commit()` method finalizes the workflow and returns the final result.
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript copy
12
+ ```typescript
13
13
  workflow.then(step1).commit();
14
14
  ```
15
15
 
@@ -9,7 +9,7 @@ The `.createRun()` method creates a new workflow run instance, allowing you to e
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript copy
12
+ ```typescript
13
13
  await workflow.createRun();
14
14
  ```
15
15
 
@@ -53,7 +53,7 @@ await workflow.createRun();
53
53
 
54
54
  ## Extended usage example
55
55
 
56
- ```typescript showLineNumbers copy
56
+ ```typescript
57
57
  const workflow = mastra.getWorkflow("workflow");
58
58
 
59
59
  const run = await workflow.createRun();
@@ -69,7 +69,7 @@ const result = await run.start({
69
69
 
70
70
  The `resourceId` parameter associates a workflow run with a specific resource, such as a user or tenant. This is useful for multi-tenant applications or when you need to track which user initiated a workflow.
71
71
 
72
- ```typescript showLineNumbers copy
72
+ ```typescript
73
73
  const workflow = mastra.getWorkflow("workflow");
74
74
 
75
75
  // Create a run associated with a specific user
@@ -9,7 +9,7 @@ The `.dountil()` method executes a step until a condition is met. It always runs
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript copy
12
+ ```typescript
13
13
  workflow.dountil(step1, async ({ inputData }) => true);
14
14
  ```
15
15
 
@@ -9,7 +9,7 @@ The `.dowhile()` method executes a step while a condition is met. It always runs
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript copy
12
+ ```typescript
13
13
  workflow.dowhile(step1, async ({ inputData }) => true);
14
14
  ```
15
15
 
@@ -9,7 +9,7 @@ The `.foreach()` method creates a loop that executes a step for each item in an
9
9
 
10
10
  ## Usage example
11
11
 
12
- ```typescript copy
12
+ ```typescript
13
13
  workflow.foreach(step1, { concurrency: 2 });
14
14
  ```
15
15
 
@@ -67,7 +67,7 @@ If you need to run multiple operations per item, use a nested workflow as the st
67
67
 
68
68
  `.foreach()` always outputs an array. Each element in the output array corresponds to the result of processing the element at the same index in the input array.
69
69
 
70
- ```typescript copy
70
+ ```typescript
71
71
  // Input: [{ value: 1 }, { value: 2 }, { value: 3 }]
72
72
  // Step adds 10 to each value
73
73
  // Output: [{ value: 11 }, { value: 12 }, { value: 13 }]
@@ -77,7 +77,7 @@ If you need to run multiple operations per item, use a nested workflow as the st
77
77
 
78
78
  When you chain `.then()` after `.foreach()`, the next step receives the entire output array as its input. This allows you to aggregate or process all results together.
79
79
 
80
- ```typescript copy
80
+ ```typescript
81
81
  workflow
82
82
  .foreach(processItemStep) // Output: array of processed items
83
83
  .then(aggregateStep) // Input: the entire array
@@ -88,7 +88,7 @@ workflow
88
88
 
89
89
  Use `.map()` to transform the array output before passing it to the next step:
90
90
 
91
- ```typescript copy
91
+ ```typescript
92
92
  workflow
93
93
  .foreach(processItemStep)
94
94
  .map(async ({ inputData }) => ({
@@ -103,7 +103,7 @@ workflow
103
103
 
104
104
  When you chain `.foreach()` calls, each operates on the array from the previous step:
105
105
 
106
- ```typescript copy
106
+ ```typescript
107
107
  workflow
108
108
  .foreach(stepA) // If input is [a, b, c], output is [A, B, C]
109
109
  .foreach(stepB) // Operates on [A, B, C], output is [A', B', C']
@@ -112,7 +112,7 @@ workflow
112
112
 
113
113
  If a step inside `.foreach()` returns an array, the output becomes an array of arrays. Use `.map()` with `.flat()` to flatten:
114
114
 
115
- ```typescript copy
115
+ ```typescript
116
116
  workflow
117
117
  .foreach(chunkStep) // Output: [[chunk1, chunk2], [chunk3, chunk4]]
118
118
  .map(async ({ inputData }) => inputData.flat()) // Output: [chunk1, chunk2, chunk3, chunk4]