@mastra/mcp-docs-server 1.0.0-beta.3 → 1.0.0-beta.5

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 (219) hide show
  1. package/.docs/organized/changelogs/%40internal%2Fstorage-test-utils.md +201 -1
  2. package/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +201 -1
  3. package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +201 -1
  4. package/.docs/organized/changelogs/%40mastra%2Fastra.md +201 -1
  5. package/.docs/organized/changelogs/%40mastra%2Fauth.md +6 -0
  6. package/.docs/organized/changelogs/%40mastra%2Fchroma.md +201 -1
  7. package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +201 -1
  8. package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +201 -1
  9. package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +201 -1
  10. package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +201 -1
  11. package/.docs/organized/changelogs/%40mastra%2Fcore.md +370 -170
  12. package/.docs/organized/changelogs/%40mastra%2Fcouchbase.md +201 -1
  13. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +201 -1
  14. package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +201 -1
  15. package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +201 -1
  16. package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +201 -1
  17. package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +201 -1
  18. package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +201 -1
  19. package/.docs/organized/changelogs/%40mastra%2Fevals.md +201 -1
  20. package/.docs/organized/changelogs/%40mastra%2Flance.md +201 -1
  21. package/.docs/organized/changelogs/%40mastra%2Flibsql.md +201 -1
  22. package/.docs/organized/changelogs/%40mastra%2Floggers.md +201 -1
  23. package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +201 -1
  24. package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +201 -1
  25. package/.docs/organized/changelogs/%40mastra%2Fmcp.md +201 -1
  26. package/.docs/organized/changelogs/%40mastra%2Fmemory.md +201 -1
  27. package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +201 -1
  28. package/.docs/organized/changelogs/%40mastra%2Fmssql.md +201 -1
  29. package/.docs/organized/changelogs/%40mastra%2Fopensearch.md +201 -1
  30. package/.docs/organized/changelogs/%40mastra%2Fpg.md +201 -1
  31. package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +201 -1
  32. package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +201 -1
  33. package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +201 -1
  34. package/.docs/organized/changelogs/%40mastra%2Frag.md +201 -1
  35. package/.docs/organized/changelogs/%40mastra%2Freact.md +80 -1
  36. package/.docs/organized/changelogs/%40mastra%2Fs3vectors.md +9 -0
  37. package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +36 -0
  38. package/.docs/organized/changelogs/%40mastra%2Fserver.md +201 -1
  39. package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +201 -1
  40. package/.docs/organized/changelogs/%40mastra%2Fupstash.md +201 -1
  41. package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +201 -1
  42. package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +201 -1
  43. package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +201 -1
  44. package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +201 -1
  45. package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +201 -1
  46. package/.docs/organized/changelogs/%40mastra%2Fvoice-gladia.md +92 -1
  47. package/.docs/organized/changelogs/%40mastra%2Fvoice-google-gemini-live.md +67 -1
  48. package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +201 -1
  49. package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +201 -1
  50. package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +201 -1
  51. package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +201 -1
  52. package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +201 -1
  53. package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +201 -1
  54. package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +201 -1
  55. package/.docs/organized/changelogs/create-mastra.md +201 -1
  56. package/.docs/organized/changelogs/mastra.md +201 -1
  57. package/.docs/organized/code-examples/memory-with-processors.md +1 -1
  58. package/.docs/organized/code-examples/quick-start.md +1 -1
  59. package/.docs/raw/agents/adding-voice.mdx +55 -9
  60. package/.docs/raw/agents/guardrails.mdx +19 -20
  61. package/.docs/raw/agents/human-in-the-loop-with-tools.mdx +6 -5
  62. package/.docs/raw/agents/networks.mdx +1 -2
  63. package/.docs/raw/agents/overview.mdx +5 -5
  64. package/.docs/raw/agents/using-tools.mdx +4 -5
  65. package/.docs/raw/course/01-first-agent/05-running-playground.md +5 -5
  66. package/.docs/raw/course/01-first-agent/09-testing-your-agent.md +3 -3
  67. package/.docs/raw/course/01-first-agent/13-testing-your-tool.md +3 -3
  68. package/.docs/raw/course/01-first-agent/17-testing-memory.md +2 -2
  69. package/.docs/raw/course/04-workflows/07-using-playground.md +1 -1
  70. package/.docs/raw/deployment/building-mastra.mdx +1 -1
  71. package/.docs/raw/deployment/cloud-providers/amazon-ec2.mdx +1 -1
  72. package/.docs/raw/deployment/cloud-providers/aws-lambda.mdx +1 -1
  73. package/.docs/raw/deployment/cloud-providers/azure-app-services.mdx +1 -1
  74. package/.docs/raw/deployment/cloud-providers/digital-ocean.mdx +1 -1
  75. package/.docs/raw/deployment/cloud-providers/index.mdx +1 -1
  76. package/.docs/raw/deployment/mastra-cloud/observability.mdx +19 -17
  77. package/.docs/raw/deployment/mastra-cloud/setting-up.mdx +1 -1
  78. package/.docs/raw/deployment/overview.mdx +2 -2
  79. package/.docs/raw/deployment/web-framework.mdx +5 -5
  80. package/.docs/raw/evals/custom-scorers.mdx +3 -5
  81. package/.docs/raw/evals/overview.mdx +2 -3
  82. package/.docs/raw/getting-started/project-structure.mdx +1 -1
  83. package/.docs/raw/getting-started/start.mdx +72 -0
  84. package/.docs/raw/getting-started/studio.mdx +1 -1
  85. package/.docs/raw/{frameworks/agentic-uis/ai-sdk.mdx → guides/build-your-ui/ai-sdk-ui.mdx} +105 -11
  86. package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/astro.mdx +23 -25
  87. package/.docs/raw/{frameworks/servers → guides/getting-started}/express.mdx +3 -4
  88. package/.docs/raw/guides/{guide → getting-started}/manual-install.mdx +1 -1
  89. package/.docs/raw/guides/{quickstarts/nextjs.mdx → getting-started/next-js.mdx} +11 -11
  90. package/.docs/raw/guides/{quickstarts/standalone-server.mdx → getting-started/quickstart.mdx} +7 -7
  91. package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/sveltekit.mdx +23 -25
  92. package/.docs/raw/{frameworks/web-frameworks → guides/getting-started}/vite-react.mdx +7 -7
  93. package/.docs/raw/guides/guide/ai-recruiter.mdx +2 -3
  94. package/.docs/raw/guides/guide/chef-michel.mdx +2 -3
  95. package/.docs/raw/guides/guide/notes-mcp-server.mdx +2 -2
  96. package/.docs/raw/guides/guide/research-assistant.mdx +7 -8
  97. package/.docs/raw/guides/guide/stock-agent.mdx +4 -6
  98. package/.docs/raw/guides/guide/web-search.mdx +12 -10
  99. package/.docs/raw/guides/migrations/agentnetwork.mdx +4 -4
  100. package/.docs/raw/guides/migrations/ai-sdk-v4-to-v5.mdx +1 -1
  101. package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +29 -0
  102. package/.docs/raw/guides/migrations/upgrade-to-v1/tools.mdx +5 -0
  103. package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +22 -0
  104. package/.docs/raw/guides/migrations/vnext-to-standard-apis.mdx +2 -2
  105. package/.docs/raw/index.mdx +2 -2
  106. package/.docs/raw/mcp/overview.mdx +3 -5
  107. package/.docs/raw/memory/memory-processors.mdx +1 -2
  108. package/.docs/raw/memory/semantic-recall.mdx +7 -7
  109. package/.docs/raw/memory/storage/memory-with-libsql.mdx +2 -4
  110. package/.docs/raw/memory/storage/memory-with-mongodb.mdx +2 -4
  111. package/.docs/raw/memory/storage/memory-with-pg.mdx +2 -4
  112. package/.docs/raw/memory/storage/memory-with-upstash.mdx +2 -4
  113. package/.docs/raw/memory/threads-and-resources.mdx +3 -3
  114. package/.docs/raw/memory/working-memory.mdx +4 -5
  115. package/.docs/raw/{logging.mdx → observability/logging.mdx} +1 -1
  116. package/.docs/raw/observability/overview.mdx +2 -2
  117. package/.docs/raw/observability/tracing/exporters/otel.mdx +21 -2
  118. package/.docs/raw/observability/tracing/exporters/posthog.mdx +107 -0
  119. package/.docs/raw/observability/tracing/overview.mdx +3 -2
  120. package/.docs/raw/rag/chunking-and-embedding.mdx +16 -17
  121. package/.docs/raw/rag/overview.mdx +3 -2
  122. package/.docs/raw/rag/retrieval.mdx +20 -32
  123. package/.docs/raw/reference/agents/agent.mdx +7 -10
  124. package/.docs/raw/reference/agents/generate.mdx +11 -92
  125. package/.docs/raw/reference/agents/generateLegacy.mdx +2 -2
  126. package/.docs/raw/reference/agents/getLLM.mdx +1 -1
  127. package/.docs/raw/reference/agents/network.mdx +5 -88
  128. package/.docs/raw/reference/cli/mastra.mdx +2 -1
  129. package/.docs/raw/reference/client-js/agents.mdx +3 -3
  130. package/.docs/raw/reference/core/getLogger.mdx +1 -1
  131. package/.docs/raw/reference/core/listLogs.mdx +1 -1
  132. package/.docs/raw/reference/core/listLogsByRunId.mdx +1 -1
  133. package/.docs/raw/reference/core/mastra-model-gateway.mdx +5 -19
  134. package/.docs/raw/reference/core/setLogger.mdx +1 -1
  135. package/.docs/raw/reference/core/setTelemetry.mdx +1 -1
  136. package/.docs/raw/reference/evals/answer-relevancy.mdx +28 -98
  137. package/.docs/raw/reference/evals/answer-similarity.mdx +12 -258
  138. package/.docs/raw/reference/evals/bias.mdx +29 -87
  139. package/.docs/raw/reference/evals/completeness.mdx +31 -90
  140. package/.docs/raw/reference/evals/content-similarity.mdx +28 -88
  141. package/.docs/raw/reference/evals/context-precision.mdx +28 -130
  142. package/.docs/raw/reference/evals/context-relevance.mdx +11 -11
  143. package/.docs/raw/reference/evals/faithfulness.mdx +28 -101
  144. package/.docs/raw/reference/evals/hallucination.mdx +28 -103
  145. package/.docs/raw/reference/evals/keyword-coverage.mdx +28 -107
  146. package/.docs/raw/reference/evals/noise-sensitivity.mdx +11 -11
  147. package/.docs/raw/reference/evals/prompt-alignment.mdx +15 -15
  148. package/.docs/raw/reference/evals/textual-difference.mdx +27 -100
  149. package/.docs/raw/reference/evals/tone-consistency.mdx +25 -98
  150. package/.docs/raw/reference/evals/tool-call-accuracy.mdx +7 -7
  151. package/.docs/raw/reference/evals/toxicity.mdx +29 -92
  152. package/.docs/raw/reference/memory/memory-class.mdx +5 -7
  153. package/.docs/raw/reference/observability/tracing/exporters/posthog.mdx +132 -0
  154. package/.docs/raw/reference/processors/batch-parts-processor.mdx +1 -1
  155. package/.docs/raw/reference/processors/language-detector.mdx +1 -1
  156. package/.docs/raw/reference/processors/moderation-processor.mdx +2 -2
  157. package/.docs/raw/reference/processors/pii-detector.mdx +2 -2
  158. package/.docs/raw/reference/processors/prompt-injection-detector.mdx +1 -1
  159. package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +2 -3
  160. package/.docs/raw/reference/processors/token-limiter-processor.mdx +2 -2
  161. package/.docs/raw/reference/processors/unicode-normalizer.mdx +1 -1
  162. package/.docs/raw/reference/rag/embeddings.mdx +5 -5
  163. package/.docs/raw/reference/rag/rerank.mdx +1 -2
  164. package/.docs/raw/reference/rag/rerankWithScorer.mdx +0 -1
  165. package/.docs/raw/reference/streaming/agents/stream.mdx +11 -93
  166. package/.docs/raw/reference/templates/overview.mdx +1 -4
  167. package/.docs/raw/reference/tools/client.mdx +1 -2
  168. package/.docs/raw/reference/tools/create-tool.mdx +132 -0
  169. package/.docs/raw/reference/tools/graph-rag-tool.mdx +5 -5
  170. package/.docs/raw/reference/tools/mcp-client.mdx +2 -4
  171. package/.docs/raw/reference/tools/mcp-server.mdx +1 -2
  172. package/.docs/raw/reference/tools/vector-query-tool.mdx +14 -15
  173. package/.docs/raw/reference/vectors/chroma.mdx +81 -1
  174. package/.docs/raw/reference/vectors/couchbase.mdx +24 -17
  175. package/.docs/raw/reference/vectors/lance.mdx +38 -22
  176. package/.docs/raw/reference/vectors/libsql.mdx +35 -2
  177. package/.docs/raw/reference/vectors/mongodb.mdx +35 -2
  178. package/.docs/raw/reference/vectors/opensearch.mdx +37 -16
  179. package/.docs/raw/reference/vectors/pg.mdx +43 -36
  180. package/.docs/raw/reference/vectors/pinecone.mdx +48 -1
  181. package/.docs/raw/reference/vectors/qdrant.mdx +36 -1
  182. package/.docs/raw/reference/vectors/turbopuffer.mdx +74 -0
  183. package/.docs/raw/reference/voice/composite-voice.mdx +71 -28
  184. package/.docs/raw/reference/voice/openai-realtime.mdx +2 -2
  185. package/.docs/raw/reference/voice/voice.addInstructions.mdx +2 -3
  186. package/.docs/raw/reference/voice/voice.addTools.mdx +1 -1
  187. package/.docs/raw/reference/voice/voice.answer.mdx +1 -1
  188. package/.docs/raw/reference/voice/voice.close.mdx +1 -1
  189. package/.docs/raw/reference/voice/voice.connect.mdx +1 -1
  190. package/.docs/raw/reference/voice/voice.listen.mdx +86 -52
  191. package/.docs/raw/reference/voice/voice.off.mdx +1 -1
  192. package/.docs/raw/reference/voice/voice.on.mdx +1 -1
  193. package/.docs/raw/reference/voice/voice.send.mdx +1 -1
  194. package/.docs/raw/reference/voice/voice.speak.mdx +75 -40
  195. package/.docs/raw/reference/voice/voice.updateConfig.mdx +1 -1
  196. package/.docs/raw/server-db/mastra-client.mdx +1 -2
  197. package/.docs/raw/streaming/overview.mdx +20 -9
  198. package/.docs/raw/streaming/tool-streaming.mdx +47 -4
  199. package/.docs/raw/tools-mcp/advanced-usage.mdx +1 -2
  200. package/.docs/raw/tools-mcp/mcp-overview.mdx +3 -5
  201. package/.docs/raw/voice/overview.mdx +87 -40
  202. package/.docs/raw/voice/speech-to-speech.mdx +4 -4
  203. package/.docs/raw/voice/speech-to-text.mdx +1 -2
  204. package/.docs/raw/voice/text-to-speech.mdx +1 -2
  205. package/.docs/raw/workflows/control-flow.mdx +180 -0
  206. package/.docs/raw/workflows/overview.mdx +1 -1
  207. package/CHANGELOG.md +17 -0
  208. package/dist/{chunk-5NJC7NRO.js → chunk-4CM2BQNP.js} +24 -4
  209. package/dist/prepare-docs/package-changes.d.ts.map +1 -1
  210. package/dist/prepare-docs/prepare.js +1 -1
  211. package/dist/stdio.js +1 -1
  212. package/package.json +7 -7
  213. package/.docs/raw/frameworks/agentic-uis/cedar-os.mdx +0 -102
  214. package/.docs/raw/frameworks/agentic-uis/openrouter.mdx +0 -179
  215. package/.docs/raw/frameworks/web-frameworks/next-js.mdx +0 -379
  216. package/.docs/raw/getting-started/quickstart.mdx +0 -27
  217. package/.docs/raw/getting-started/templates.mdx +0 -73
  218. /package/.docs/raw/{frameworks/agentic-uis → guides/build-your-ui}/assistant-ui.mdx +0 -0
  219. /package/.docs/raw/{frameworks/agentic-uis → guides/build-your-ui}/copilotkit.mdx +0 -0
@@ -403,6 +403,8 @@ interface PGIndexStats {
403
403
 
404
404
  ### updateVector()
405
405
 
406
+ Update a single vector by ID or by metadata filter. Either `id` or `filter` must be provided, but not both.
407
+
406
408
  <PropertiesTable
407
409
  content={[
408
410
  {
@@ -413,63 +415,42 @@ interface PGIndexStats {
413
415
  {
414
416
  name: "id",
415
417
  type: "string",
416
- description: "ID of the vector to update",
418
+ isOptional: true,
419
+ description: "ID of the vector to update (mutually exclusive with filter)",
420
+ },
421
+ {
422
+ name: "filter",
423
+ type: "Record<string, any>",
424
+ isOptional: true,
425
+ description: "Metadata filter to identify vector(s) to update (mutually exclusive with id)",
417
426
  },
418
427
  {
419
428
  name: "update",
420
- type: "object",
421
- description: "Update parameters",
422
- properties: [
423
- {
424
- type: "object",
425
- parameters: [
426
- {
427
- name: "vector",
428
- type: "number[]",
429
- description: "New vector values",
430
- isOptional: true,
431
- },
432
- {
433
- name: "metadata",
434
- type: "Record<string, any>",
435
- description: "New metadata values",
436
- isOptional: true,
437
- },
438
- ],
439
- },
440
- ],
429
+ type: "{ vector?: number[]; metadata?: Record<string, any>; }",
430
+ description: "Object containing the vector and/or metadata to update",
441
431
  },
442
432
  ]}
443
433
  />
444
434
 
445
- Updates an existing vector by ID. At least one of vector or metadata must be provided.
435
+ Updates an existing vector by ID or filter. At least one of vector or metadata must be provided in the update object.
446
436
 
447
437
  ```typescript copy
448
- // Update just the vector
438
+ // Update by ID
449
439
  await pgVector.updateVector({
450
440
  indexName: "my_vectors",
451
441
  id: "vector123",
452
442
  update: {
453
443
  vector: [0.1, 0.2, 0.3],
454
- },
455
- });
456
-
457
- // Update just the metadata
458
- await pgVector.updateVector({
459
- indexName: "my_vectors",
460
- id: "vector123",
461
- update: {
462
444
  metadata: { label: "updated" },
463
445
  },
464
446
  });
465
447
 
466
- // Update both vector and metadata
448
+ // Update by filter
467
449
  await pgVector.updateVector({
468
450
  indexName: "my_vectors",
469
- id: "vector123",
451
+ filter: { category: "product" },
470
452
  update: {
471
- vector: [0.1, 0.2, 0.3],
472
- metadata: { label: "updated" },
453
+ metadata: { status: "reviewed" },
473
454
  },
474
455
  });
475
456
  ```
@@ -497,6 +478,32 @@ Deletes a single vector by ID from the specified index.
497
478
  await pgVector.deleteVector({ indexName: "my_vectors", id: "vector123" });
498
479
  ```
499
480
 
481
+ ### deleteVectors()
482
+
483
+ Delete multiple vectors by IDs or by metadata filter. Either `ids` or `filter` must be provided, but not both.
484
+
485
+ <PropertiesTable
486
+ content={[
487
+ {
488
+ name: "indexName",
489
+ type: "string",
490
+ description: "Name of the index containing the vectors to delete",
491
+ },
492
+ {
493
+ name: "ids",
494
+ type: "string[]",
495
+ isOptional: true,
496
+ description: "Array of vector IDs to delete (mutually exclusive with filter)",
497
+ },
498
+ {
499
+ name: "filter",
500
+ type: "Record<string, any>",
501
+ isOptional: true,
502
+ description: "Metadata filter to identify vectors to delete (mutually exclusive with ids)",
503
+ },
504
+ ]}
505
+ />
506
+
500
507
  ### disconnect()
501
508
 
502
509
  Closes the database connection pool. Should be called when done using the store.
@@ -206,6 +206,8 @@ interface IndexStats {
206
206
 
207
207
  ### updateVector()
208
208
 
209
+ Update a single vector by ID or by metadata filter. Either `id` or `filter` must be provided, but not both.
210
+
209
211
  <PropertiesTable
210
212
  content={[
211
213
  {
@@ -216,7 +218,20 @@ interface IndexStats {
216
218
  {
217
219
  name: "id",
218
220
  type: "string",
219
- description: "ID of the vector to update",
221
+ isOptional: true,
222
+ description: "ID of the vector to update (mutually exclusive with filter)",
223
+ },
224
+ {
225
+ name: "filter",
226
+ type: "Record<string, any>",
227
+ isOptional: true,
228
+ description: "Metadata filter to identify vector(s) to update (mutually exclusive with id)",
229
+ },
230
+ {
231
+ name: "namespace",
232
+ type: "string",
233
+ isOptional: true,
234
+ description: "Optional namespace for the update operation",
220
235
  },
221
236
  {
222
237
  name: "update",
@@ -255,6 +270,38 @@ interface IndexStats {
255
270
  ]}
256
271
  />
257
272
 
273
+ ### deleteVectors()
274
+
275
+ Delete multiple vectors by IDs or by metadata filter. Either `ids` or `filter` must be provided, but not both.
276
+
277
+ <PropertiesTable
278
+ content={[
279
+ {
280
+ name: "indexName",
281
+ type: "string",
282
+ description: "Name of the index containing the vectors to delete",
283
+ },
284
+ {
285
+ name: "ids",
286
+ type: "string[]",
287
+ isOptional: true,
288
+ description: "Array of vector IDs to delete (mutually exclusive with filter)",
289
+ },
290
+ {
291
+ name: "filter",
292
+ type: "Record<string, any>",
293
+ isOptional: true,
294
+ description: "Metadata filter to identify vectors to delete (mutually exclusive with ids)",
295
+ },
296
+ {
297
+ name: "namespace",
298
+ type: "string",
299
+ isOptional: true,
300
+ description: "Optional namespace for the deletion operation",
301
+ },
302
+ ]}
303
+ />
304
+
258
305
  ## Response Types
259
306
 
260
307
  Query results are returned in this format:
@@ -159,6 +159,8 @@ interface IndexStats {
159
159
 
160
160
  ### updateVector()
161
161
 
162
+ Update a single vector by ID or by metadata filter. Either `id` or `filter` must be provided, but not both.
163
+
162
164
  <PropertiesTable
163
165
  content={[
164
166
  {
@@ -169,7 +171,14 @@ interface IndexStats {
169
171
  {
170
172
  name: "id",
171
173
  type: "string",
172
- description: "ID of the vector to update",
174
+ isOptional: true,
175
+ description: "ID of the vector to update (mutually exclusive with filter)",
176
+ },
177
+ {
178
+ name: "filter",
179
+ type: "Record<string, any>",
180
+ isOptional: true,
181
+ description: "Metadata filter to identify vector(s) to update (mutually exclusive with id)",
173
182
  },
174
183
  {
175
184
  name: "update",
@@ -200,6 +209,32 @@ Updates a vector and/or its metadata in the specified index. If both vector and
200
209
 
201
210
  Deletes a vector from the specified index by its ID.
202
211
 
212
+ ### deleteVectors()
213
+
214
+ Delete multiple vectors by IDs or by metadata filter. Either `ids` or `filter` must be provided, but not both.
215
+
216
+ <PropertiesTable
217
+ content={[
218
+ {
219
+ name: "indexName",
220
+ type: "string",
221
+ description: "Name of the index containing the vectors to delete",
222
+ },
223
+ {
224
+ name: "ids",
225
+ type: "string[]",
226
+ isOptional: true,
227
+ description: "Array of vector IDs to delete (mutually exclusive with filter)",
228
+ },
229
+ {
230
+ name: "filter",
231
+ type: "Record<string, any>",
232
+ isOptional: true,
233
+ description: "Metadata filter to identify vectors to delete (mutually exclusive with ids)",
234
+ },
235
+ ]}
236
+ />
237
+
203
238
  ## Response Types
204
239
 
205
240
  Query results are returned in this format:
@@ -190,6 +190,80 @@ interface IndexStats {
190
190
  ]}
191
191
  />
192
192
 
193
+ ### updateVector()
194
+
195
+ Update a single vector by ID or by metadata filter. Either `id` or `filter` must be provided, but not both.
196
+
197
+ <PropertiesTable
198
+ content={[
199
+ {
200
+ name: "indexName",
201
+ type: "string",
202
+ description: "Name of the index containing the vector",
203
+ },
204
+ {
205
+ name: "id",
206
+ type: "string",
207
+ isOptional: true,
208
+ description: "ID of the vector to update (mutually exclusive with filter)",
209
+ },
210
+ {
211
+ name: "filter",
212
+ type: "Record<string, any>",
213
+ isOptional: true,
214
+ description: "Metadata filter to identify vector(s) to update (mutually exclusive with id)",
215
+ },
216
+ {
217
+ name: "update",
218
+ type: "{ vector?: number[]; metadata?: Record<string, any>; }",
219
+ description: "Object containing the vector and/or metadata to update",
220
+ },
221
+ ]}
222
+ />
223
+
224
+ ### deleteVector()
225
+
226
+ <PropertiesTable
227
+ content={[
228
+ {
229
+ name: "indexName",
230
+ type: "string",
231
+ description: "Name of the index containing the vector",
232
+ },
233
+ {
234
+ name: "id",
235
+ type: "string",
236
+ description: "ID of the vector to delete",
237
+ },
238
+ ]}
239
+ />
240
+
241
+ ### deleteVectors()
242
+
243
+ Delete multiple vectors by IDs or by metadata filter. Either `ids` or `filter` must be provided, but not both.
244
+
245
+ <PropertiesTable
246
+ content={[
247
+ {
248
+ name: "indexName",
249
+ type: "string",
250
+ description: "Name of the index containing the vectors to delete",
251
+ },
252
+ {
253
+ name: "ids",
254
+ type: "string[]",
255
+ isOptional: true,
256
+ description: "Array of vector IDs to delete (mutually exclusive with filter)",
257
+ },
258
+ {
259
+ name: "filter",
260
+ type: "Record<string, any>",
261
+ isOptional: true,
262
+ description: "Metadata filter to identify vectors to delete (mutually exclusive with ids)",
263
+ },
264
+ ]}
265
+ />
266
+
193
267
  ## Response Types
194
268
 
195
269
  Query results are returned in this format:
@@ -7,31 +7,7 @@ description: "Documentation for the CompositeVoice class, which enables combinin
7
7
 
8
8
  The CompositeVoice class allows you to combine different voice providers for text-to-speech and speech-to-text operations. This is particularly useful when you want to use the best provider for each operation - for example, using OpenAI for speech-to-text and PlayAI for text-to-speech.
9
9
 
10
- CompositeVoice is used internally by the Agent class to provide flexible voice capabilities.
11
-
12
- ## Usage Example
13
-
14
- ```typescript
15
- import { CompositeVoice } from "@mastra/core/voice";
16
- import { OpenAIVoice } from "@mastra/voice-openai";
17
- import { PlayAIVoice } from "@mastra/voice-playai";
18
-
19
- // Create voice providers
20
- const openai = new OpenAIVoice();
21
- const playai = new PlayAIVoice();
22
-
23
- // Use OpenAI for listening (speech-to-text) and PlayAI for speaking (text-to-speech)
24
- const voice = new CompositeVoice({
25
- input: openai,
26
- output: playai,
27
- });
28
-
29
- // Convert speech to text using OpenAI
30
- const text = await voice.listen(audioStream);
31
-
32
- // Convert text to speech using PlayAI
33
- const audio = await voice.speak("Hello, world!");
34
- ```
10
+ CompositeVoice supports both Mastra voice providers and AI SDK model providers
35
11
 
36
12
  ## Constructor Parameters
37
13
 
@@ -45,14 +21,20 @@ const audio = await voice.speak("Hello, world!");
45
21
  },
46
22
  {
47
23
  name: "config.input",
48
- type: "MastraVoice",
49
- description: "Voice provider to use for speech-to-text operations",
24
+ type: "MastraVoice | TranscriptionModel",
25
+ description: "Voice provider or AI SDK transcription model to use for speech-to-text operations. AI SDK models are automatically wrapped.",
50
26
  isOptional: true,
51
27
  },
52
28
  {
53
29
  name: "config.output",
30
+ type: "MastraVoice | SpeechModel",
31
+ description: "Voice provider or AI SDK speech model to use for text-to-speech operations. AI SDK models are automatically wrapped.",
32
+ isOptional: true,
33
+ },
34
+ {
35
+ name: "config.realtime",
54
36
  type: "MastraVoice",
55
- description: "Voice provider to use for text-to-speech operations",
37
+ description: "Voice provider to use for real-time speech-to-speech operations",
56
38
  isOptional: true,
57
39
  },
58
40
  ]}
@@ -142,3 +124,64 @@ Notes:
142
124
  - If no speaking provider is configured, returns an empty array
143
125
  - Each voice object will have at least a voiceId property
144
126
  - Additional voice properties depend on the speaking provider
127
+
128
+ ## Usage Examples
129
+
130
+ ### Using Mastra Voice Providers
131
+
132
+ ```typescript
133
+ import { CompositeVoice } from "@mastra/core/voice";
134
+ import { OpenAIVoice } from "@mastra/voice-openai";
135
+ import { PlayAIVoice } from "@mastra/voice-playai";
136
+
137
+ // Create voice providers
138
+ const openai = new OpenAIVoice();
139
+ const playai = new PlayAIVoice();
140
+
141
+ // Use OpenAI for listening (speech-to-text) and PlayAI for speaking (text-to-speech)
142
+ const voice = new CompositeVoice({
143
+ input: openai,
144
+ output: playai,
145
+ });
146
+
147
+ // Convert speech to text using OpenAI
148
+ const text = await voice.listen(audioStream);
149
+
150
+ // Convert text to speech using PlayAI
151
+ const audio = await voice.speak("Hello, world!");
152
+ ```
153
+
154
+ ### Using AI SDK Model Providers
155
+
156
+ You can pass AI SDK transcription and speech models directly to CompositeVoice:
157
+
158
+ ```typescript
159
+ import { CompositeVoice } from "@mastra/core/voice";
160
+ import { openai } from "@ai-sdk/openai";
161
+ import { elevenlabs } from "@ai-sdk/elevenlabs";
162
+
163
+ // Use AI SDK models directly - they will be auto-wrapped
164
+ const voice = new CompositeVoice({
165
+ input: openai.transcription('whisper-1'), // AI SDK transcription
166
+ output: elevenlabs.speech('eleven_turbo_v2'), // AI SDK speech
167
+ });
168
+
169
+ // Works the same way as with Mastra providers
170
+ const text = await voice.listen(audioStream);
171
+ const audio = await voice.speak("Hello from AI SDK!");
172
+ ```
173
+
174
+ ### Mix and Match
175
+
176
+ You can combine Mastra providers with AI SDK models:
177
+
178
+ ```typescript
179
+ import { CompositeVoice } from "@mastra/core/voice";
180
+ import { PlayAIVoice } from "@mastra/voice-playai";
181
+ import { groq } from "@ai-sdk/groq";
182
+
183
+ const voice = new CompositeVoice({
184
+ input: groq.transcription('whisper-large-v3'), // AI SDK for STT
185
+ output: new PlayAIVoice(), // Mastra for TTS
186
+ });
187
+ ```
@@ -19,7 +19,7 @@ const voice = new OpenAIRealtimeVoice();
19
19
  // Or initialize with specific configuration
20
20
  const voiceWithConfig = new OpenAIRealtimeVoice({
21
21
  apiKey: "your-openai-api-key",
22
- model: "gpt-4o-mini-realtime-preview-2024-12-17",
22
+ model: "gpt-5.1-realtime-preview-2024-12-17",
23
23
  speaker: "alloy", // Default voice
24
24
  });
25
25
 
@@ -69,7 +69,7 @@ voice.connect();
69
69
  type: "string",
70
70
  description: "The model ID to use for real-time voice interactions.",
71
71
  isOptional: true,
72
- defaultValue: "'gpt-4o-mini-realtime-preview-2024-12-17'",
72
+ defaultValue: "'gpt-5.1-realtime-preview-2024-12-17'",
73
73
  },
74
74
  {
75
75
  name: "apiKey",
@@ -12,12 +12,11 @@ The `addInstructions()` method equips a voice provider with instructions that gu
12
12
  ```typescript
13
13
  import { OpenAIRealtimeVoice } from "@mastra/voice-openai-realtime";
14
14
  import { Agent } from "@mastra/core/agent";
15
- import { openai } from "@ai-sdk/openai";
16
15
 
17
16
  // Initialize a real-time voice provider
18
17
  const voice = new OpenAIRealtimeVoice({
19
18
  realtimeConfig: {
20
- model: "gpt-4o-mini-realtime",
19
+ model: "gpt-5.1-realtime",
21
20
  apiKey: process.env.OPENAI_API_KEY,
22
21
  },
23
22
  });
@@ -27,7 +26,7 @@ const agent = new Agent({
27
26
  name: "Customer Support Agent",
28
27
  instructions:
29
28
  "You are a helpful customer support agent for a software company.",
30
- model: openai("gpt-4o"),
29
+ model: "openai/gpt-5.1",
31
30
  voice,
32
31
  });
33
32
 
@@ -39,7 +39,7 @@ const weatherTool = createTool({
39
39
  // Initialize a real-time voice provider
40
40
  const voice = new OpenAIRealtimeVoice({
41
41
  realtimeConfig: {
42
- model: "gpt-4o-mini-realtime",
42
+ model: "gpt-5.1-realtime",
43
43
  apiKey: process.env.OPENAI_API_KEY,
44
44
  },
45
45
  });
@@ -23,7 +23,7 @@ const speaker = new Speaker({
23
23
  // Initialize a real-time voice provider
24
24
  const voice = new OpenAIRealtimeVoice({
25
25
  realtimeConfig: {
26
- model: "gpt-4o",
26
+ model: "gpt-5.1",
27
27
  apiKey: process.env.OPENAI_API_KEY,
28
28
  },
29
29
  speaker: "alloy", // Default voice
@@ -16,7 +16,7 @@ import { getMicrophoneStream } from "@mastra/node-audio";
16
16
  // Initialize a real-time voice provider
17
17
  const voice = new OpenAIRealtimeVoice({
18
18
  realtimeConfig: {
19
- model: "gpt-4o-mini-realtime",
19
+ model: "gpt-5.1-realtime",
20
20
  apiKey: process.env.OPENAI_API_KEY,
21
21
  },
22
22
  });
@@ -22,7 +22,7 @@ const speaker = new Speaker({
22
22
  // Initialize a real-time voice provider
23
23
  const voice = new OpenAIRealtimeVoice({
24
24
  realtimeConfig: {
25
- model: "gpt-4o-mini-realtime",
25
+ model: "gpt-5.1-realtime",
26
26
  apiKey: process.env.OPENAI_API_KEY,
27
27
  options: {
28
28
  sessionConfig: {