@mastra/mcp-docs-server 0.0.0-commonjs-20250414101718
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.
- package/.docs/organized/changelogs/%40mastra%2Fastra.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fchroma.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +161 -0
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +110 -0
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloudflare.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-vercel.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fevals.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Ffirecrawl.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fgithub.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Floggers.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fmcp-registry-registry.md +26 -0
- package/.docs/organized/changelogs/%40mastra%2Fmcp.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fmem0.md +196 -0
- package/.docs/organized/changelogs/%40mastra%2Fmemory.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fpg.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fpinecone.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fqdrant.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Frag.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fragie.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fspeech-azure.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fspeech-deepgram.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fspeech-elevenlabs.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fspeech-google.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fspeech-ibm.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fspeech-murf.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fspeech-openai.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fspeech-playai.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fspeech-replicate.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fspeech-speechify.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fturbopuffer.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fupstash.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fvectorize.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-azure.md +250 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-cloudflare.md +250 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-deepgram.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-elevenlabs.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-murf.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai-realtime.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-openai.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-playai.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-sarvam.md +302 -0
- package/.docs/organized/changelogs/%40mastra%2Fvoice-speechify.md +302 -0
- package/.docs/organized/changelogs/create-mastra.md +302 -0
- package/.docs/organized/changelogs/mastra.md +302 -0
- package/.docs/organized/code-examples/agent-network.md +282 -0
- package/.docs/organized/code-examples/agent.md +388 -0
- package/.docs/organized/code-examples/ai-sdk-useChat.md +378 -0
- package/.docs/organized/code-examples/assistant-ui.md +37 -0
- package/.docs/organized/code-examples/bird-checker-with-express.md +235 -0
- package/.docs/organized/code-examples/bird-checker-with-nextjs-and-eval.md +360 -0
- package/.docs/organized/code-examples/bird-checker-with-nextjs.md +250 -0
- package/.docs/organized/code-examples/client-side-tools.md +69 -0
- package/.docs/organized/code-examples/crypto-chatbot.md +96 -0
- package/.docs/organized/code-examples/fireworks-r1.md +159 -0
- package/.docs/organized/code-examples/mcp-registry-registry.md +63 -0
- package/.docs/organized/code-examples/memory-todo-agent.md +164 -0
- package/.docs/organized/code-examples/memory-with-context.md +167 -0
- package/.docs/organized/code-examples/memory-with-libsql.md +204 -0
- package/.docs/organized/code-examples/memory-with-mem0.md +121 -0
- package/.docs/organized/code-examples/memory-with-pg.md +224 -0
- package/.docs/organized/code-examples/memory-with-upstash.md +268 -0
- package/.docs/organized/code-examples/quick-start.md +129 -0
- package/.docs/organized/code-examples/stock-price-tool.md +124 -0
- package/.docs/organized/code-examples/weather-agent.md +353 -0
- package/.docs/organized/code-examples/workflow-ai-recruiter.md +159 -0
- package/.docs/organized/code-examples/workflow-with-inline-steps.md +111 -0
- package/.docs/organized/code-examples/workflow-with-memory.md +393 -0
- package/.docs/organized/code-examples/workflow-with-separate-steps.md +131 -0
- package/.docs/raw/agents/adding-tools.mdx +317 -0
- package/.docs/raw/agents/adding-voice.mdx +175 -0
- package/.docs/raw/agents/agent-memory.mdx +62 -0
- package/.docs/raw/agents/mcp-guide.mdx +215 -0
- package/.docs/raw/agents/overview.mdx +303 -0
- package/.docs/raw/community/discord.mdx +12 -0
- package/.docs/raw/community/licensing.mdx +63 -0
- package/.docs/raw/deployment/client.mdx +120 -0
- package/.docs/raw/deployment/deployment.mdx +127 -0
- package/.docs/raw/deployment/server.mdx +282 -0
- package/.docs/raw/evals/custom-eval.mdx +22 -0
- package/.docs/raw/evals/overview.mdx +95 -0
- package/.docs/raw/evals/running-in-ci.mdx +81 -0
- package/.docs/raw/evals/textual-evals.mdx +54 -0
- package/.docs/raw/faq/index.mdx +63 -0
- package/.docs/raw/frameworks/ai-sdk.mdx +296 -0
- package/.docs/raw/frameworks/next-js.mdx +238 -0
- package/.docs/raw/getting-started/installation.mdx +442 -0
- package/.docs/raw/getting-started/mcp-docs-server.mdx +141 -0
- package/.docs/raw/getting-started/project-structure.mdx +80 -0
- package/.docs/raw/index.mdx +22 -0
- package/.docs/raw/integrations/index.mdx +213 -0
- package/.docs/raw/local-dev/add-to-existing-project.mdx +48 -0
- package/.docs/raw/local-dev/creating-a-new-project.mdx +54 -0
- package/.docs/raw/local-dev/mastra-dev.mdx +108 -0
- package/.docs/raw/memory/memory-processors.mdx +131 -0
- package/.docs/raw/memory/overview.mdx +119 -0
- package/.docs/raw/memory/semantic-recall.mdx +122 -0
- package/.docs/raw/memory/working-memory.mdx +87 -0
- package/.docs/raw/observability/logging.mdx +38 -0
- package/.docs/raw/observability/nextjs-tracing.mdx +108 -0
- package/.docs/raw/observability/tracing.mdx +115 -0
- package/.docs/raw/rag/chunking-and-embedding.mdx +156 -0
- package/.docs/raw/rag/overview.mdx +85 -0
- package/.docs/raw/rag/retrieval.mdx +365 -0
- package/.docs/raw/rag/vector-databases.mdx +340 -0
- package/.docs/raw/reference/agents/createTool.mdx +229 -0
- package/.docs/raw/reference/agents/generate.mdx +334 -0
- package/.docs/raw/reference/agents/getAgent.mdx +54 -0
- package/.docs/raw/reference/agents/stream.mdx +369 -0
- package/.docs/raw/reference/cli/build.mdx +55 -0
- package/.docs/raw/reference/cli/dev.mdx +134 -0
- package/.docs/raw/reference/cli/init.mdx +43 -0
- package/.docs/raw/reference/client-js/agents.mdx +107 -0
- package/.docs/raw/reference/client-js/error-handling.mdx +38 -0
- package/.docs/raw/reference/client-js/logs.mdx +24 -0
- package/.docs/raw/reference/client-js/memory.mdx +97 -0
- package/.docs/raw/reference/client-js/telemetry.mdx +20 -0
- package/.docs/raw/reference/client-js/tools.mdx +44 -0
- package/.docs/raw/reference/client-js/vectors.mdx +79 -0
- package/.docs/raw/reference/client-js/workflows.mdx +136 -0
- package/.docs/raw/reference/core/mastra-class.mdx +232 -0
- package/.docs/raw/reference/deployer/cloudflare.mdx +207 -0
- package/.docs/raw/reference/deployer/deployer.mdx +159 -0
- package/.docs/raw/reference/deployer/netlify.mdx +109 -0
- package/.docs/raw/reference/deployer/vercel.mdx +117 -0
- package/.docs/raw/reference/evals/answer-relevancy.mdx +186 -0
- package/.docs/raw/reference/evals/bias.mdx +186 -0
- package/.docs/raw/reference/evals/completeness.mdx +174 -0
- package/.docs/raw/reference/evals/content-similarity.mdx +183 -0
- package/.docs/raw/reference/evals/context-position.mdx +190 -0
- package/.docs/raw/reference/evals/context-precision.mdx +189 -0
- package/.docs/raw/reference/evals/context-relevancy.mdx +188 -0
- package/.docs/raw/reference/evals/contextual-recall.mdx +191 -0
- package/.docs/raw/reference/evals/faithfulness.mdx +193 -0
- package/.docs/raw/reference/evals/hallucination.mdx +219 -0
- package/.docs/raw/reference/evals/keyword-coverage.mdx +176 -0
- package/.docs/raw/reference/evals/prompt-alignment.mdx +238 -0
- package/.docs/raw/reference/evals/summarization.mdx +205 -0
- package/.docs/raw/reference/evals/textual-difference.mdx +161 -0
- package/.docs/raw/reference/evals/tone-consistency.mdx +181 -0
- package/.docs/raw/reference/evals/toxicity.mdx +165 -0
- package/.docs/raw/reference/index.mdx +12 -0
- package/.docs/raw/reference/memory/Memory.mdx +212 -0
- package/.docs/raw/reference/memory/createThread.mdx +95 -0
- package/.docs/raw/reference/memory/getThreadById.mdx +46 -0
- package/.docs/raw/reference/memory/getThreadsByResourceId.mdx +48 -0
- package/.docs/raw/reference/memory/query.mdx +167 -0
- package/.docs/raw/reference/networks/agent-network.mdx +159 -0
- package/.docs/raw/reference/observability/create-logger.mdx +106 -0
- package/.docs/raw/reference/observability/logger.mdx +55 -0
- package/.docs/raw/reference/observability/otel-config.mdx +120 -0
- package/.docs/raw/reference/observability/providers/braintrust.mdx +40 -0
- package/.docs/raw/reference/observability/providers/dash0.mdx +40 -0
- package/.docs/raw/reference/observability/providers/index.mdx +16 -0
- package/.docs/raw/reference/observability/providers/laminar.mdx +41 -0
- package/.docs/raw/reference/observability/providers/langfuse.mdx +51 -0
- package/.docs/raw/reference/observability/providers/langsmith.mdx +48 -0
- package/.docs/raw/reference/observability/providers/langwatch.mdx +45 -0
- package/.docs/raw/reference/observability/providers/new-relic.mdx +40 -0
- package/.docs/raw/reference/observability/providers/signoz.mdx +40 -0
- package/.docs/raw/reference/observability/providers/traceloop.mdx +40 -0
- package/.docs/raw/reference/rag/astra.mdx +258 -0
- package/.docs/raw/reference/rag/chroma.mdx +281 -0
- package/.docs/raw/reference/rag/chunk.mdx +235 -0
- package/.docs/raw/reference/rag/document.mdx +127 -0
- package/.docs/raw/reference/rag/embeddings.mdx +160 -0
- package/.docs/raw/reference/rag/extract-params.mdx +226 -0
- package/.docs/raw/reference/rag/graph-rag.mdx +182 -0
- package/.docs/raw/reference/rag/libsql.mdx +357 -0
- package/.docs/raw/reference/rag/metadata-filters.mdx +298 -0
- package/.docs/raw/reference/rag/pg.mdx +477 -0
- package/.docs/raw/reference/rag/pinecone.mdx +281 -0
- package/.docs/raw/reference/rag/qdrant.mdx +236 -0
- package/.docs/raw/reference/rag/rerank.mdx +212 -0
- package/.docs/raw/reference/rag/turbopuffer.mdx +249 -0
- package/.docs/raw/reference/rag/upstash.mdx +247 -0
- package/.docs/raw/reference/rag/vectorize.mdx +298 -0
- package/.docs/raw/reference/storage/libsql.mdx +74 -0
- package/.docs/raw/reference/storage/postgresql.mdx +48 -0
- package/.docs/raw/reference/storage/upstash.mdx +86 -0
- package/.docs/raw/reference/tools/client.mdx +207 -0
- package/.docs/raw/reference/tools/document-chunker-tool.mdx +141 -0
- package/.docs/raw/reference/tools/graph-rag-tool.mdx +154 -0
- package/.docs/raw/reference/tools/mcp-configuration.mdx +206 -0
- package/.docs/raw/reference/tools/vector-query-tool.mdx +212 -0
- package/.docs/raw/reference/voice/composite-voice.mdx +140 -0
- package/.docs/raw/reference/voice/deepgram.mdx +164 -0
- package/.docs/raw/reference/voice/elevenlabs.mdx +216 -0
- package/.docs/raw/reference/voice/google.mdx +198 -0
- package/.docs/raw/reference/voice/mastra-voice.mdx +394 -0
- package/.docs/raw/reference/voice/murf.mdx +251 -0
- package/.docs/raw/reference/voice/openai-realtime.mdx +431 -0
- package/.docs/raw/reference/voice/openai.mdx +168 -0
- package/.docs/raw/reference/voice/playai.mdx +159 -0
- package/.docs/raw/reference/voice/sarvam.mdx +260 -0
- package/.docs/raw/reference/voice/speechify.mdx +145 -0
- package/.docs/raw/reference/voice/voice.answer.mdx +122 -0
- package/.docs/raw/reference/voice/voice.connect.mdx +124 -0
- package/.docs/raw/reference/voice/voice.listen.mdx +195 -0
- package/.docs/raw/reference/voice/voice.on.mdx +189 -0
- package/.docs/raw/reference/voice/voice.send.mdx +118 -0
- package/.docs/raw/reference/voice/voice.speak.mdx +203 -0
- package/.docs/raw/reference/workflows/after.mdx +88 -0
- package/.docs/raw/reference/workflows/afterEvent.mdx +76 -0
- package/.docs/raw/reference/workflows/commit.mdx +37 -0
- package/.docs/raw/reference/workflows/createRun.mdx +77 -0
- package/.docs/raw/reference/workflows/else.mdx +72 -0
- package/.docs/raw/reference/workflows/events.mdx +305 -0
- package/.docs/raw/reference/workflows/execute.mdx +110 -0
- package/.docs/raw/reference/workflows/if.mdx +107 -0
- package/.docs/raw/reference/workflows/resume.mdx +155 -0
- package/.docs/raw/reference/workflows/resumeWithEvent.mdx +133 -0
- package/.docs/raw/reference/workflows/snapshots.mdx +207 -0
- package/.docs/raw/reference/workflows/start.mdx +84 -0
- package/.docs/raw/reference/workflows/step-class.mdx +100 -0
- package/.docs/raw/reference/workflows/step-condition.mdx +134 -0
- package/.docs/raw/reference/workflows/step-function.mdx +92 -0
- package/.docs/raw/reference/workflows/step-options.mdx +69 -0
- package/.docs/raw/reference/workflows/step-retries.mdx +203 -0
- package/.docs/raw/reference/workflows/suspend.mdx +70 -0
- package/.docs/raw/reference/workflows/then.mdx +74 -0
- package/.docs/raw/reference/workflows/until.mdx +165 -0
- package/.docs/raw/reference/workflows/watch.mdx +118 -0
- package/.docs/raw/reference/workflows/while.mdx +168 -0
- package/.docs/raw/reference/workflows/workflow.mdx +233 -0
- package/.docs/raw/storage/overview.mdx +378 -0
- package/.docs/raw/voice/overview.mdx +135 -0
- package/.docs/raw/voice/speech-to-text.mdx +45 -0
- package/.docs/raw/voice/text-to-speech.mdx +52 -0
- package/.docs/raw/voice/voice-to-voice.mdx +310 -0
- package/.docs/raw/workflows/control-flow.mdx +778 -0
- package/.docs/raw/workflows/dynamic-workflows.mdx +236 -0
- package/.docs/raw/workflows/error-handling.mdx +183 -0
- package/.docs/raw/workflows/nested-workflows.mdx +352 -0
- package/.docs/raw/workflows/overview.mdx +203 -0
- package/.docs/raw/workflows/steps.mdx +108 -0
- package/.docs/raw/workflows/suspend-and-resume.mdx +404 -0
- package/.docs/raw/workflows/variables.mdx +313 -0
- package/LICENSE.md +46 -0
- package/README.md +129 -0
- package/dist/_tsup-dts-rollup.d.ts +149 -0
- package/dist/chunk-QWYMT5LP.js +194 -0
- package/dist/prepare-docs/prepare.d.ts +1 -0
- package/dist/prepare-docs/prepare.js +1 -0
- package/dist/stdio.d.ts +1 -0
- package/dist/stdio.js +518 -0
- package/package.json +60 -0
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Reference: Turbopuffer Vector Store | Vector Databases | RAG | Mastra Docs"
|
|
3
|
+
description: Documentation for integrating Turbopuffer with Mastra, a high-performance vector database for efficient similarity search.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Turbopuffer Vector Store
|
|
7
|
+
|
|
8
|
+
The TurbopufferVector class provides vector search using [Turbopuffer](https://turbopuffer.com/), a high-performance vector database optimized for RAG applications. Turbopuffer offers fast vector similarity search with advanced filtering capabilities and efficient storage management.
|
|
9
|
+
|
|
10
|
+
## Constructor Options
|
|
11
|
+
|
|
12
|
+
<PropertiesTable
|
|
13
|
+
content={[
|
|
14
|
+
{
|
|
15
|
+
name: "apiKey",
|
|
16
|
+
type: "string",
|
|
17
|
+
description: "The API key to authenticate with Turbopuffer",
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: "baseUrl",
|
|
21
|
+
type: "string",
|
|
22
|
+
isOptional: true,
|
|
23
|
+
defaultValue: "https://api.turbopuffer.com",
|
|
24
|
+
description: "The base URL for the Turbopuffer API",
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: "connectTimeout",
|
|
28
|
+
type: "number",
|
|
29
|
+
isOptional: true,
|
|
30
|
+
defaultValue: "10000",
|
|
31
|
+
description:
|
|
32
|
+
"The timeout to establish a connection, in ms. Only applicable in Node and Deno.",
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
name: "connectionIdleTimeout",
|
|
36
|
+
type: "number",
|
|
37
|
+
isOptional: true,
|
|
38
|
+
defaultValue: "60000",
|
|
39
|
+
description:
|
|
40
|
+
"The socket idle timeout, in ms. Only applicable in Node and Deno.",
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: "warmConnections",
|
|
44
|
+
type: "number",
|
|
45
|
+
isOptional: true,
|
|
46
|
+
defaultValue: "0",
|
|
47
|
+
description:
|
|
48
|
+
"The number of connections to open initially when creating a new client.",
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: "compression",
|
|
52
|
+
type: "boolean",
|
|
53
|
+
isOptional: true,
|
|
54
|
+
defaultValue: "true",
|
|
55
|
+
description:
|
|
56
|
+
"Whether to compress requests and accept compressed responses.",
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
name: "schemaConfigForIndex",
|
|
60
|
+
type: "function",
|
|
61
|
+
isOptional: true,
|
|
62
|
+
description:
|
|
63
|
+
"A callback function that takes an index name and returns a config object for that index. This allows you to define explicit schemas per index.",
|
|
64
|
+
},
|
|
65
|
+
]}
|
|
66
|
+
/>
|
|
67
|
+
|
|
68
|
+
## Methods
|
|
69
|
+
|
|
70
|
+
### createIndex()
|
|
71
|
+
|
|
72
|
+
<PropertiesTable
|
|
73
|
+
content={[
|
|
74
|
+
{
|
|
75
|
+
name: "indexName",
|
|
76
|
+
type: "string",
|
|
77
|
+
description: "Name of the index to create",
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
name: "dimension",
|
|
81
|
+
type: "number",
|
|
82
|
+
description: "Vector dimension (must match your embedding model)",
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: "metric",
|
|
86
|
+
type: "'cosine' | 'euclidean' | 'dotproduct'",
|
|
87
|
+
isOptional: true,
|
|
88
|
+
defaultValue: "cosine",
|
|
89
|
+
description: "Distance metric for similarity search",
|
|
90
|
+
},
|
|
91
|
+
]}
|
|
92
|
+
/>
|
|
93
|
+
|
|
94
|
+
### upsert()
|
|
95
|
+
|
|
96
|
+
<PropertiesTable
|
|
97
|
+
content={[
|
|
98
|
+
{
|
|
99
|
+
name: "vectors",
|
|
100
|
+
type: "number[][]",
|
|
101
|
+
description: "Array of embedding vectors",
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
name: "metadata",
|
|
105
|
+
type: "Record<string, any>[]",
|
|
106
|
+
isOptional: true,
|
|
107
|
+
description: "Metadata for each vector",
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
name: "ids",
|
|
111
|
+
type: "string[]",
|
|
112
|
+
isOptional: true,
|
|
113
|
+
description: "Optional vector IDs (auto-generated if not provided)",
|
|
114
|
+
},
|
|
115
|
+
]}
|
|
116
|
+
/>
|
|
117
|
+
|
|
118
|
+
### query()
|
|
119
|
+
|
|
120
|
+
<PropertiesTable
|
|
121
|
+
content={[
|
|
122
|
+
{
|
|
123
|
+
name: "indexName",
|
|
124
|
+
type: "string",
|
|
125
|
+
description: "Name of the index to query",
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
name: "queryVector",
|
|
129
|
+
type: "number[]",
|
|
130
|
+
description: "Query vector to find similar vectors",
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
name: "topK",
|
|
134
|
+
type: "number",
|
|
135
|
+
isOptional: true,
|
|
136
|
+
defaultValue: "10",
|
|
137
|
+
description: "Number of results to return",
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
name: "filter",
|
|
141
|
+
type: "Record<string, any>",
|
|
142
|
+
isOptional: true,
|
|
143
|
+
description: "Metadata filters for the query",
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
name: "includeVector",
|
|
147
|
+
type: "boolean",
|
|
148
|
+
isOptional: true,
|
|
149
|
+
defaultValue: "false",
|
|
150
|
+
description: "Whether to include vectors in the results",
|
|
151
|
+
},
|
|
152
|
+
]}
|
|
153
|
+
/>
|
|
154
|
+
|
|
155
|
+
### listIndexes()
|
|
156
|
+
|
|
157
|
+
Returns an array of index names as strings.
|
|
158
|
+
|
|
159
|
+
### describeIndex()
|
|
160
|
+
|
|
161
|
+
<PropertiesTable
|
|
162
|
+
content={[
|
|
163
|
+
{
|
|
164
|
+
name: "indexName",
|
|
165
|
+
type: "string",
|
|
166
|
+
description: "Name of the index to describe",
|
|
167
|
+
},
|
|
168
|
+
]}
|
|
169
|
+
/>
|
|
170
|
+
|
|
171
|
+
Returns:
|
|
172
|
+
|
|
173
|
+
```typescript copy
|
|
174
|
+
interface IndexStats {
|
|
175
|
+
dimension: number;
|
|
176
|
+
count: number;
|
|
177
|
+
metric: "cosine" | "euclidean" | "dotproduct";
|
|
178
|
+
}
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### deleteIndex()
|
|
182
|
+
|
|
183
|
+
<PropertiesTable
|
|
184
|
+
content={[
|
|
185
|
+
{
|
|
186
|
+
name: "indexName",
|
|
187
|
+
type: "string",
|
|
188
|
+
description: "Name of the index to delete",
|
|
189
|
+
},
|
|
190
|
+
]}
|
|
191
|
+
/>
|
|
192
|
+
|
|
193
|
+
## Response Types
|
|
194
|
+
|
|
195
|
+
Query results are returned in this format:
|
|
196
|
+
|
|
197
|
+
```typescript copy
|
|
198
|
+
interface QueryResult {
|
|
199
|
+
id: string;
|
|
200
|
+
score: number;
|
|
201
|
+
metadata: Record<string, any>;
|
|
202
|
+
vector?: number[]; // Only included if includeVector is true
|
|
203
|
+
}
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
## Schema Configuration
|
|
207
|
+
|
|
208
|
+
The `schemaConfigForIndex` option allows you to define explicit schemas for different indexes:
|
|
209
|
+
|
|
210
|
+
```typescript copy
|
|
211
|
+
schemaConfigForIndex: (indexName: string) => {
|
|
212
|
+
// Mastra's default embedding model and index for memory messages:
|
|
213
|
+
if (indexName === "memory_messages_384") {
|
|
214
|
+
return {
|
|
215
|
+
dimensions: 384,
|
|
216
|
+
schema: {
|
|
217
|
+
thread_id: {
|
|
218
|
+
type: "string",
|
|
219
|
+
filterable: true,
|
|
220
|
+
},
|
|
221
|
+
},
|
|
222
|
+
};
|
|
223
|
+
} else {
|
|
224
|
+
throw new Error(`TODO: add schema for index: ${indexName}`);
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
## Error Handling
|
|
230
|
+
|
|
231
|
+
The store throws typed errors that can be caught:
|
|
232
|
+
|
|
233
|
+
```typescript copy
|
|
234
|
+
try {
|
|
235
|
+
await store.query({
|
|
236
|
+
indexName: "index_name",
|
|
237
|
+
queryVector: queryVector,
|
|
238
|
+
});
|
|
239
|
+
} catch (error) {
|
|
240
|
+
if (error instanceof VectorStoreError) {
|
|
241
|
+
console.log(error.code); // 'connection_failed' | 'invalid_dimension' | etc
|
|
242
|
+
console.log(error.details); // Additional error context
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
## Related
|
|
248
|
+
|
|
249
|
+
- [Metadata Filters](./metadata-filters)
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Reference: Upstash Vector Store | Vector Databases | RAG | Mastra Docs"
|
|
3
|
+
description: Documentation for the UpstashVector class in Mastra, which provides vector search using Upstash Vector.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Upstash Vector Store
|
|
7
|
+
|
|
8
|
+
The UpstashVector class provides vector search using [Upstash Vector](https://upstash.com/vector), a serverless vector database service that provides vector similarity search with metadata filtering capabilities.
|
|
9
|
+
|
|
10
|
+
## Constructor Options
|
|
11
|
+
|
|
12
|
+
<PropertiesTable
|
|
13
|
+
content={[
|
|
14
|
+
{
|
|
15
|
+
name: "url",
|
|
16
|
+
type: "string",
|
|
17
|
+
description: "Upstash Vector database URL",
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: "token",
|
|
21
|
+
type: "string",
|
|
22
|
+
description: "Upstash Vector API token",
|
|
23
|
+
},
|
|
24
|
+
]}
|
|
25
|
+
/>
|
|
26
|
+
|
|
27
|
+
## Methods
|
|
28
|
+
|
|
29
|
+
### createIndex()
|
|
30
|
+
|
|
31
|
+
Note: This method is a no-op for Upstash as indexes are created automatically.
|
|
32
|
+
|
|
33
|
+
<PropertiesTable
|
|
34
|
+
content={[
|
|
35
|
+
{
|
|
36
|
+
name: "indexName",
|
|
37
|
+
type: "string",
|
|
38
|
+
description: "Name of the index to create",
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: "dimension",
|
|
42
|
+
type: "number",
|
|
43
|
+
description: "Vector dimension (must match your embedding model)",
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: "metric",
|
|
47
|
+
type: "'cosine' | 'euclidean' | 'dotproduct'",
|
|
48
|
+
isOptional: true,
|
|
49
|
+
defaultValue: "cosine",
|
|
50
|
+
description: "Distance metric for similarity search",
|
|
51
|
+
},
|
|
52
|
+
]}
|
|
53
|
+
/>
|
|
54
|
+
|
|
55
|
+
### upsert()
|
|
56
|
+
|
|
57
|
+
<PropertiesTable
|
|
58
|
+
content={[
|
|
59
|
+
{
|
|
60
|
+
name: "indexName",
|
|
61
|
+
type: "string",
|
|
62
|
+
description: "Name of the index to upsert into",
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: "vectors",
|
|
66
|
+
type: "number[][]",
|
|
67
|
+
description: "Array of embedding vectors",
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
name: "metadata",
|
|
71
|
+
type: "Record<string, any>[]",
|
|
72
|
+
isOptional: true,
|
|
73
|
+
description: "Metadata for each vector",
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
name: "ids",
|
|
77
|
+
type: "string[]",
|
|
78
|
+
isOptional: true,
|
|
79
|
+
description: "Optional vector IDs (auto-generated if not provided)",
|
|
80
|
+
},
|
|
81
|
+
]}
|
|
82
|
+
/>
|
|
83
|
+
|
|
84
|
+
### query()
|
|
85
|
+
|
|
86
|
+
<PropertiesTable
|
|
87
|
+
content={[
|
|
88
|
+
{
|
|
89
|
+
name: "indexName",
|
|
90
|
+
type: "string",
|
|
91
|
+
description: "Name of the index to query",
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
name: "queryVector",
|
|
95
|
+
type: "number[]",
|
|
96
|
+
description: "Query vector to find similar vectors",
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name: "topK",
|
|
100
|
+
type: "number",
|
|
101
|
+
isOptional: true,
|
|
102
|
+
defaultValue: "10",
|
|
103
|
+
description: "Number of results to return",
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
name: "filter",
|
|
107
|
+
type: "Record<string, any>",
|
|
108
|
+
isOptional: true,
|
|
109
|
+
description: "Metadata filters for the query",
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
name: "includeVector",
|
|
113
|
+
type: "boolean",
|
|
114
|
+
isOptional: true,
|
|
115
|
+
defaultValue: "false",
|
|
116
|
+
description: "Whether to include vectors in the results",
|
|
117
|
+
},
|
|
118
|
+
]}
|
|
119
|
+
/>
|
|
120
|
+
|
|
121
|
+
### listIndexes()
|
|
122
|
+
|
|
123
|
+
Returns an array of index names (namespaces) as strings.
|
|
124
|
+
|
|
125
|
+
### describeIndex()
|
|
126
|
+
|
|
127
|
+
<PropertiesTable
|
|
128
|
+
content={[
|
|
129
|
+
{
|
|
130
|
+
name: "indexName",
|
|
131
|
+
type: "string",
|
|
132
|
+
description: "Name of the index to describe",
|
|
133
|
+
},
|
|
134
|
+
]}
|
|
135
|
+
/>
|
|
136
|
+
|
|
137
|
+
Returns:
|
|
138
|
+
|
|
139
|
+
```typescript copy
|
|
140
|
+
interface IndexStats {
|
|
141
|
+
dimension: number;
|
|
142
|
+
count: number;
|
|
143
|
+
metric: "cosine" | "euclidean" | "dotproduct";
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### deleteIndex()
|
|
148
|
+
|
|
149
|
+
<PropertiesTable
|
|
150
|
+
content={[
|
|
151
|
+
{
|
|
152
|
+
name: "indexName",
|
|
153
|
+
type: "string",
|
|
154
|
+
description: "Name of the index (namespace) to delete",
|
|
155
|
+
},
|
|
156
|
+
]}
|
|
157
|
+
/>
|
|
158
|
+
|
|
159
|
+
### updateIndexById()
|
|
160
|
+
|
|
161
|
+
<PropertiesTable
|
|
162
|
+
content={[
|
|
163
|
+
{
|
|
164
|
+
name: "indexName",
|
|
165
|
+
type: "string",
|
|
166
|
+
description: "Name of the index to update",
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
name: "id",
|
|
170
|
+
type: "string",
|
|
171
|
+
description: "ID of the item to update",
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
name: "update",
|
|
175
|
+
type: "object",
|
|
176
|
+
description: "Update object containing vector and/or metadata",
|
|
177
|
+
},
|
|
178
|
+
]}
|
|
179
|
+
/>
|
|
180
|
+
|
|
181
|
+
The `update` object can have the following properties:
|
|
182
|
+
|
|
183
|
+
- `vector` (optional): An array of numbers representing the new vector.
|
|
184
|
+
- `metadata` (optional): A record of key-value pairs for metadata.
|
|
185
|
+
|
|
186
|
+
Throws an error if neither `vector` nor `metadata` is provided, or if only `metadata` is provided.
|
|
187
|
+
|
|
188
|
+
### deleteIndexById()
|
|
189
|
+
|
|
190
|
+
<PropertiesTable
|
|
191
|
+
content={[
|
|
192
|
+
{
|
|
193
|
+
name: "indexName",
|
|
194
|
+
type: "string",
|
|
195
|
+
description: "Name of the index from which to delete the item",
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
name: "id",
|
|
199
|
+
type: "string",
|
|
200
|
+
description: "ID of the item to delete",
|
|
201
|
+
},
|
|
202
|
+
]}
|
|
203
|
+
/>
|
|
204
|
+
|
|
205
|
+
Attempts to delete an item by its ID from the specified index. Logs an error message if the deletion fails.
|
|
206
|
+
|
|
207
|
+
## Response Types
|
|
208
|
+
|
|
209
|
+
Query results are returned in this format:
|
|
210
|
+
|
|
211
|
+
```typescript copy
|
|
212
|
+
interface QueryResult {
|
|
213
|
+
id: string;
|
|
214
|
+
score: number;
|
|
215
|
+
metadata: Record<string, any>;
|
|
216
|
+
vector?: number[]; // Only included if includeVector is true
|
|
217
|
+
}
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
## Error Handling
|
|
221
|
+
|
|
222
|
+
The store throws typed errors that can be caught:
|
|
223
|
+
|
|
224
|
+
```typescript copy
|
|
225
|
+
try {
|
|
226
|
+
await store.query({
|
|
227
|
+
indexName: "index_name",
|
|
228
|
+
queryVector: queryVector,
|
|
229
|
+
});
|
|
230
|
+
} catch (error) {
|
|
231
|
+
if (error instanceof VectorStoreError) {
|
|
232
|
+
console.log(error.code); // 'connection_failed' | 'invalid_dimension' | etc
|
|
233
|
+
console.log(error.details); // Additional error context
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
## Environment Variables
|
|
239
|
+
|
|
240
|
+
Required environment variables:
|
|
241
|
+
|
|
242
|
+
- `UPSTASH_VECTOR_URL`: Your Upstash Vector database URL
|
|
243
|
+
- `UPSTASH_VECTOR_TOKEN`: Your Upstash Vector API token
|
|
244
|
+
|
|
245
|
+
## Related
|
|
246
|
+
|
|
247
|
+
- [Metadata Filters](./metadata-filters)
|