@mastra/mcp-docs-server 1.1.5 → 1.1.6-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.docs/docs/agents/adding-voice.md +349 -0
- package/.docs/docs/agents/agent-approval.md +558 -0
- package/.docs/docs/agents/agent-memory.md +209 -0
- package/.docs/docs/agents/guardrails.md +374 -0
- package/.docs/docs/agents/network-approval.md +275 -0
- package/.docs/docs/agents/networks.md +299 -0
- package/.docs/docs/agents/overview.md +304 -0
- package/.docs/docs/agents/processors.md +622 -0
- package/.docs/docs/agents/structured-output.md +273 -0
- package/.docs/docs/agents/supervisor-agents.md +304 -0
- package/.docs/docs/agents/using-tools.md +214 -0
- package/.docs/docs/build-with-ai/mcp-docs-server.md +238 -0
- package/.docs/docs/build-with-ai/skills.md +35 -0
- package/.docs/docs/community/contributing-templates.md +3 -0
- package/.docs/docs/community/discord.md +9 -0
- package/.docs/docs/community/licensing.md +66 -0
- package/.docs/docs/deployment/cloud-providers.md +15 -0
- package/.docs/docs/deployment/mastra-server.md +122 -0
- package/.docs/docs/deployment/monorepo.md +142 -0
- package/.docs/docs/deployment/overview.md +62 -0
- package/.docs/docs/deployment/studio.md +239 -0
- package/.docs/docs/deployment/web-framework.md +52 -0
- package/.docs/docs/deployment/workflow-runners.md +9 -0
- package/.docs/docs/evals/built-in-scorers.md +47 -0
- package/.docs/docs/evals/custom-scorers.md +519 -0
- package/.docs/docs/evals/overview.md +141 -0
- package/.docs/docs/evals/running-in-ci.md +124 -0
- package/.docs/docs/getting-started/build-with-ai.md +68 -0
- package/.docs/docs/getting-started/manual-install.md +226 -0
- package/.docs/docs/getting-started/project-structure.md +60 -0
- package/.docs/docs/getting-started/start.md +28 -0
- package/.docs/docs/getting-started/studio.md +101 -0
- package/.docs/docs/index.md +43 -0
- package/.docs/docs/mastra-cloud/deployment.md +77 -0
- package/.docs/docs/mastra-cloud/observability.md +38 -0
- package/.docs/docs/mastra-cloud/overview.md +23 -0
- package/.docs/docs/mastra-cloud/setup.md +42 -0
- package/.docs/docs/mastra-cloud/studio.md +24 -0
- package/.docs/docs/mastra-code/configuration.md +299 -0
- package/.docs/docs/mastra-code/customization.md +228 -0
- package/.docs/docs/mastra-code/modes.md +104 -0
- package/.docs/docs/mastra-code/overview.md +135 -0
- package/.docs/docs/mastra-code/tools.md +229 -0
- package/.docs/docs/mcp/overview.md +373 -0
- package/.docs/docs/mcp/publishing-mcp-server.md +95 -0
- package/.docs/docs/memory/memory-processors.md +314 -0
- package/.docs/docs/memory/message-history.md +260 -0
- package/.docs/docs/memory/observational-memory.md +248 -0
- package/.docs/docs/memory/overview.md +45 -0
- package/.docs/docs/memory/semantic-recall.md +272 -0
- package/.docs/docs/memory/storage.md +261 -0
- package/.docs/docs/memory/working-memory.md +400 -0
- package/.docs/docs/observability/datasets/overview.md +198 -0
- package/.docs/docs/observability/datasets/running-experiments.md +274 -0
- package/.docs/docs/observability/logging.md +99 -0
- package/.docs/docs/observability/overview.md +70 -0
- package/.docs/docs/observability/tracing/bridges/otel.md +209 -0
- package/.docs/docs/observability/tracing/exporters/arize.md +272 -0
- package/.docs/docs/observability/tracing/exporters/braintrust.md +111 -0
- package/.docs/docs/observability/tracing/exporters/cloud.md +127 -0
- package/.docs/docs/observability/tracing/exporters/datadog.md +187 -0
- package/.docs/docs/observability/tracing/exporters/default.md +209 -0
- package/.docs/docs/observability/tracing/exporters/laminar.md +100 -0
- package/.docs/docs/observability/tracing/exporters/langfuse.md +213 -0
- package/.docs/docs/observability/tracing/exporters/langsmith.md +198 -0
- package/.docs/docs/observability/tracing/exporters/otel.md +476 -0
- package/.docs/docs/observability/tracing/exporters/posthog.md +148 -0
- package/.docs/docs/observability/tracing/exporters/sentry.md +208 -0
- package/.docs/docs/observability/tracing/overview.md +1112 -0
- package/.docs/docs/observability/tracing/processors/sensitive-data-filter.md +300 -0
- package/.docs/docs/rag/chunking-and-embedding.md +183 -0
- package/.docs/docs/rag/graph-rag.md +215 -0
- package/.docs/docs/rag/overview.md +72 -0
- package/.docs/docs/rag/retrieval.md +515 -0
- package/.docs/docs/rag/vector-databases.md +645 -0
- package/.docs/docs/server/auth/auth0.md +220 -0
- package/.docs/docs/server/auth/better-auth.md +203 -0
- package/.docs/docs/server/auth/clerk.md +132 -0
- package/.docs/docs/server/auth/composite-auth.md +234 -0
- package/.docs/docs/server/auth/custom-auth-provider.md +513 -0
- package/.docs/docs/server/auth/firebase.md +272 -0
- package/.docs/docs/server/auth/jwt.md +110 -0
- package/.docs/docs/server/auth/simple-auth.md +180 -0
- package/.docs/docs/server/auth/supabase.md +117 -0
- package/.docs/docs/server/auth/workos.md +186 -0
- package/.docs/docs/server/auth.md +38 -0
- package/.docs/docs/server/custom-adapters.md +378 -0
- package/.docs/docs/server/custom-api-routes.md +267 -0
- package/.docs/docs/server/mastra-client.md +243 -0
- package/.docs/docs/server/mastra-server.md +71 -0
- package/.docs/docs/server/middleware.md +225 -0
- package/.docs/docs/server/request-context.md +471 -0
- package/.docs/docs/server/server-adapters.md +547 -0
- package/.docs/docs/streaming/events.md +237 -0
- package/.docs/docs/streaming/overview.md +175 -0
- package/.docs/docs/streaming/tool-streaming.md +175 -0
- package/.docs/docs/streaming/workflow-streaming.md +109 -0
- package/.docs/docs/voice/overview.md +959 -0
- package/.docs/docs/voice/speech-to-speech.md +102 -0
- package/.docs/docs/voice/speech-to-text.md +79 -0
- package/.docs/docs/voice/text-to-speech.md +83 -0
- package/.docs/docs/workflows/agents-and-tools.md +166 -0
- package/.docs/docs/workflows/control-flow.md +822 -0
- package/.docs/docs/workflows/error-handling.md +360 -0
- package/.docs/docs/workflows/human-in-the-loop.md +215 -0
- package/.docs/docs/workflows/overview.md +370 -0
- package/.docs/docs/workflows/snapshots.md +238 -0
- package/.docs/docs/workflows/suspend-and-resume.md +205 -0
- package/.docs/docs/workflows/time-travel.md +309 -0
- package/.docs/docs/workflows/workflow-state.md +181 -0
- package/.docs/docs/workspace/filesystem.md +164 -0
- package/.docs/docs/workspace/overview.md +239 -0
- package/.docs/docs/workspace/sandbox.md +63 -0
- package/.docs/docs/workspace/search.md +243 -0
- package/.docs/docs/workspace/skills.md +169 -0
- package/.docs/guides/agent-frameworks/ai-sdk.md +140 -0
- package/.docs/guides/build-your-ui/ai-sdk-ui.md +1499 -0
- package/.docs/guides/build-your-ui/assistant-ui.md +156 -0
- package/.docs/guides/build-your-ui/copilotkit.md +289 -0
- package/.docs/guides/deployment/amazon-ec2.md +130 -0
- package/.docs/guides/deployment/aws-lambda.md +248 -0
- package/.docs/guides/deployment/azure-app-services.md +114 -0
- package/.docs/guides/deployment/cloudflare.md +99 -0
- package/.docs/guides/deployment/digital-ocean.md +168 -0
- package/.docs/guides/deployment/inngest.md +682 -0
- package/.docs/guides/deployment/netlify.md +77 -0
- package/.docs/guides/deployment/vercel.md +101 -0
- package/.docs/guides/getting-started/astro.md +398 -0
- package/.docs/guides/getting-started/electron.md +504 -0
- package/.docs/guides/getting-started/express.md +251 -0
- package/.docs/guides/getting-started/hono.md +190 -0
- package/.docs/guides/getting-started/next-js.md +347 -0
- package/.docs/guides/getting-started/nuxt.md +497 -0
- package/.docs/guides/getting-started/quickstart.md +67 -0
- package/.docs/guides/getting-started/sveltekit.md +296 -0
- package/.docs/guides/getting-started/vite-react.md +425 -0
- package/.docs/guides/guide/ai-recruiter.md +226 -0
- package/.docs/guides/guide/chef-michel.md +211 -0
- package/.docs/guides/guide/code-review-bot.md +226 -0
- package/.docs/guides/guide/dev-assistant.md +307 -0
- package/.docs/guides/guide/docs-manager.md +238 -0
- package/.docs/guides/guide/github-actions-pr-description.md +236 -0
- package/.docs/guides/guide/notes-mcp-server.md +416 -0
- package/.docs/guides/guide/research-assistant.md +348 -0
- package/.docs/guides/guide/research-coordinator.md +416 -0
- package/.docs/guides/guide/stock-agent.md +132 -0
- package/.docs/guides/guide/web-search.md +320 -0
- package/.docs/guides/guide/whatsapp-chat-bot.md +405 -0
- package/.docs/guides/index.md +3 -0
- package/.docs/guides/migrations/agentnetwork.md +97 -0
- package/.docs/guides/migrations/ai-sdk-v4-to-v5.md +112 -0
- package/.docs/guides/migrations/network-to-supervisor.md +261 -0
- package/.docs/guides/migrations/upgrade-to-v1/agent.md +404 -0
- package/.docs/guides/migrations/upgrade-to-v1/cli.md +57 -0
- package/.docs/guides/migrations/upgrade-to-v1/client.md +337 -0
- package/.docs/guides/migrations/upgrade-to-v1/deployment.md +37 -0
- package/.docs/guides/migrations/upgrade-to-v1/evals.md +239 -0
- package/.docs/guides/migrations/upgrade-to-v1/mastra.md +143 -0
- package/.docs/guides/migrations/upgrade-to-v1/mcp.md +97 -0
- package/.docs/guides/migrations/upgrade-to-v1/memory.md +285 -0
- package/.docs/guides/migrations/upgrade-to-v1/overview.md +119 -0
- package/.docs/guides/migrations/upgrade-to-v1/processors.md +68 -0
- package/.docs/guides/migrations/upgrade-to-v1/rag.md +42 -0
- package/.docs/guides/migrations/upgrade-to-v1/storage.md +553 -0
- package/.docs/guides/migrations/upgrade-to-v1/tools.md +180 -0
- package/.docs/guides/migrations/upgrade-to-v1/tracing.md +412 -0
- package/.docs/guides/migrations/upgrade-to-v1/vectors.md +87 -0
- package/.docs/guides/migrations/upgrade-to-v1/voice.md +30 -0
- package/.docs/guides/migrations/upgrade-to-v1/workflows.md +341 -0
- package/.docs/guides/migrations/vnext-to-standard-apis.md +362 -0
- package/.docs/models/embeddings.md +161 -0
- package/.docs/models/gateways/azure-openai.md +128 -0
- package/.docs/models/gateways/custom-gateways.md +545 -0
- package/.docs/models/gateways/netlify.md +88 -0
- package/.docs/models/gateways/openrouter.md +219 -0
- package/.docs/models/gateways/vercel.md +225 -0
- package/.docs/models/gateways.md +14 -0
- package/.docs/models/index.md +286 -0
- package/.docs/models/providers/302ai.md +134 -0
- package/.docs/models/providers/abacus.md +125 -0
- package/.docs/models/providers/agentrouter.md +90 -0
- package/.docs/models/providers/aihubmix.md +107 -0
- package/.docs/models/providers/alibaba-cn.md +135 -0
- package/.docs/models/providers/alibaba.md +111 -0
- package/.docs/models/providers/amazon-bedrock.md +33 -0
- package/.docs/models/providers/anthropic.md +153 -0
- package/.docs/models/providers/azure.md +33 -0
- package/.docs/models/providers/bailing.md +72 -0
- package/.docs/models/providers/baseten.md +77 -0
- package/.docs/models/providers/berget.md +78 -0
- package/.docs/models/providers/cerebras.md +101 -0
- package/.docs/models/providers/chutes.md +136 -0
- package/.docs/models/providers/cloudflare-ai-gateway.md +33 -0
- package/.docs/models/providers/cloudflare-workers-ai.md +109 -0
- package/.docs/models/providers/cohere.md +33 -0
- package/.docs/models/providers/cortecs.md +91 -0
- package/.docs/models/providers/deepinfra.md +112 -0
- package/.docs/models/providers/deepseek.md +88 -0
- package/.docs/models/providers/fastrouter.md +84 -0
- package/.docs/models/providers/fireworks-ai.md +89 -0
- package/.docs/models/providers/firmware.md +85 -0
- package/.docs/models/providers/friendli.md +78 -0
- package/.docs/models/providers/github-models.md +125 -0
- package/.docs/models/providers/google-vertex.md +33 -0
- package/.docs/models/providers/google.md +159 -0
- package/.docs/models/providers/groq.md +107 -0
- package/.docs/models/providers/helicone.md +161 -0
- package/.docs/models/providers/huggingface.md +90 -0
- package/.docs/models/providers/iflowcn.md +84 -0
- package/.docs/models/providers/inception.md +72 -0
- package/.docs/models/providers/inference.md +79 -0
- package/.docs/models/providers/io-intelligence.md +87 -0
- package/.docs/models/providers/io-net.md +87 -0
- package/.docs/models/providers/jiekou.md +131 -0
- package/.docs/models/providers/kilo.md +333 -0
- package/.docs/models/providers/kimi-for-coding.md +100 -0
- package/.docs/models/providers/kuae-cloud-coding-plan.md +71 -0
- package/.docs/models/providers/llama.md +77 -0
- package/.docs/models/providers/lmstudio.md +73 -0
- package/.docs/models/providers/lucidquery.md +72 -0
- package/.docs/models/providers/minimax-cn-coding-plan.md +102 -0
- package/.docs/models/providers/minimax-cn.md +102 -0
- package/.docs/models/providers/minimax-coding-plan.md +102 -0
- package/.docs/models/providers/minimax.md +104 -0
- package/.docs/models/providers/mistral.md +124 -0
- package/.docs/models/providers/moark.md +72 -0
- package/.docs/models/providers/modelscope.md +77 -0
- package/.docs/models/providers/moonshotai-cn.md +76 -0
- package/.docs/models/providers/moonshotai.md +76 -0
- package/.docs/models/providers/morph.md +73 -0
- package/.docs/models/providers/nano-gpt.md +103 -0
- package/.docs/models/providers/nebius.md +116 -0
- package/.docs/models/providers/nova.md +72 -0
- package/.docs/models/providers/novita-ai.md +154 -0
- package/.docs/models/providers/nvidia.md +141 -0
- package/.docs/models/providers/ollama-cloud.md +103 -0
- package/.docs/models/providers/ollama.md +33 -0
- package/.docs/models/providers/openai.md +193 -0
- package/.docs/models/providers/opencode.md +100 -0
- package/.docs/models/providers/ovhcloud.md +83 -0
- package/.docs/models/providers/perplexity.md +100 -0
- package/.docs/models/providers/poe.md +183 -0
- package/.docs/models/providers/privatemode-ai.md +75 -0
- package/.docs/models/providers/requesty.md +90 -0
- package/.docs/models/providers/scaleway.md +84 -0
- package/.docs/models/providers/siliconflow-cn.md +138 -0
- package/.docs/models/providers/siliconflow.md +140 -0
- package/.docs/models/providers/stackit.md +78 -0
- package/.docs/models/providers/stepfun.md +73 -0
- package/.docs/models/providers/submodel.md +79 -0
- package/.docs/models/providers/synthetic.md +96 -0
- package/.docs/models/providers/togetherai.md +115 -0
- package/.docs/models/providers/upstage.md +73 -0
- package/.docs/models/providers/venice.md +95 -0
- package/.docs/models/providers/vivgrid.md +106 -0
- package/.docs/models/providers/vultr.md +75 -0
- package/.docs/models/providers/wandb.md +80 -0
- package/.docs/models/providers/xai.md +141 -0
- package/.docs/models/providers/xiaomi.md +71 -0
- package/.docs/models/providers/zai-coding-plan.md +80 -0
- package/.docs/models/providers/zai.md +79 -0
- package/.docs/models/providers/zenmux.md +161 -0
- package/.docs/models/providers/zhipuai-coding-plan.md +79 -0
- package/.docs/models/providers/zhipuai.md +79 -0
- package/.docs/models/providers.md +81 -0
- package/.docs/reference/agents/agent.md +141 -0
- package/.docs/reference/agents/generate.md +186 -0
- package/.docs/reference/agents/generateLegacy.md +173 -0
- package/.docs/reference/agents/getDefaultGenerateOptions.md +36 -0
- package/.docs/reference/agents/getDefaultOptions.md +34 -0
- package/.docs/reference/agents/getDefaultStreamOptions.md +36 -0
- package/.docs/reference/agents/getDescription.md +21 -0
- package/.docs/reference/agents/getInstructions.md +34 -0
- package/.docs/reference/agents/getLLM.md +37 -0
- package/.docs/reference/agents/getMemory.md +34 -0
- package/.docs/reference/agents/getModel.md +34 -0
- package/.docs/reference/agents/getTools.md +29 -0
- package/.docs/reference/agents/getVoice.md +34 -0
- package/.docs/reference/agents/listAgents.md +35 -0
- package/.docs/reference/agents/listScorers.md +34 -0
- package/.docs/reference/agents/listTools.md +34 -0
- package/.docs/reference/agents/listWorkflows.md +34 -0
- package/.docs/reference/agents/network.md +133 -0
- package/.docs/reference/ai-sdk/chat-route.md +82 -0
- package/.docs/reference/ai-sdk/handle-chat-stream.md +53 -0
- package/.docs/reference/ai-sdk/handle-network-stream.md +37 -0
- package/.docs/reference/ai-sdk/handle-workflow-stream.md +55 -0
- package/.docs/reference/ai-sdk/network-route.md +74 -0
- package/.docs/reference/ai-sdk/to-ai-sdk-stream.md +231 -0
- package/.docs/reference/ai-sdk/to-ai-sdk-v4-messages.md +79 -0
- package/.docs/reference/ai-sdk/to-ai-sdk-v5-messages.md +76 -0
- package/.docs/reference/ai-sdk/with-mastra.md +59 -0
- package/.docs/reference/ai-sdk/workflow-route.md +79 -0
- package/.docs/reference/auth/auth0.md +73 -0
- package/.docs/reference/auth/better-auth.md +71 -0
- package/.docs/reference/auth/clerk.md +36 -0
- package/.docs/reference/auth/firebase.md +80 -0
- package/.docs/reference/auth/jwt.md +26 -0
- package/.docs/reference/auth/supabase.md +33 -0
- package/.docs/reference/auth/workos.md +84 -0
- package/.docs/reference/cli/create-mastra.md +137 -0
- package/.docs/reference/cli/mastra.md +336 -0
- package/.docs/reference/client-js/agents.md +437 -0
- package/.docs/reference/client-js/error-handling.md +16 -0
- package/.docs/reference/client-js/logs.md +24 -0
- package/.docs/reference/client-js/mastra-client.md +63 -0
- package/.docs/reference/client-js/memory.md +221 -0
- package/.docs/reference/client-js/observability.md +72 -0
- package/.docs/reference/client-js/telemetry.md +20 -0
- package/.docs/reference/client-js/tools.md +44 -0
- package/.docs/reference/client-js/vectors.md +79 -0
- package/.docs/reference/client-js/workflows.md +199 -0
- package/.docs/reference/configuration.md +752 -0
- package/.docs/reference/core/addGateway.md +42 -0
- package/.docs/reference/core/getAgent.md +21 -0
- package/.docs/reference/core/getAgentById.md +21 -0
- package/.docs/reference/core/getDeployer.md +22 -0
- package/.docs/reference/core/getGateway.md +38 -0
- package/.docs/reference/core/getGatewayById.md +41 -0
- package/.docs/reference/core/getLogger.md +22 -0
- package/.docs/reference/core/getMCPServer.md +47 -0
- package/.docs/reference/core/getMCPServerById.md +55 -0
- package/.docs/reference/core/getMemory.md +50 -0
- package/.docs/reference/core/getScorer.md +54 -0
- package/.docs/reference/core/getScorerById.md +54 -0
- package/.docs/reference/core/getServer.md +22 -0
- package/.docs/reference/core/getStorage.md +22 -0
- package/.docs/reference/core/getStoredAgentById.md +89 -0
- package/.docs/reference/core/getTelemetry.md +22 -0
- package/.docs/reference/core/getVector.md +22 -0
- package/.docs/reference/core/getWorkflow.md +42 -0
- package/.docs/reference/core/listAgents.md +21 -0
- package/.docs/reference/core/listGateways.md +40 -0
- package/.docs/reference/core/listLogs.md +38 -0
- package/.docs/reference/core/listLogsByRunId.md +36 -0
- package/.docs/reference/core/listMCPServers.md +55 -0
- package/.docs/reference/core/listMemory.md +56 -0
- package/.docs/reference/core/listScorers.md +29 -0
- package/.docs/reference/core/listStoredAgents.md +93 -0
- package/.docs/reference/core/listVectors.md +22 -0
- package/.docs/reference/core/listWorkflows.md +21 -0
- package/.docs/reference/core/mastra-class.md +66 -0
- package/.docs/reference/core/mastra-model-gateway.md +153 -0
- package/.docs/reference/core/setLogger.md +26 -0
- package/.docs/reference/core/setStorage.md +27 -0
- package/.docs/reference/datasets/addItem.md +37 -0
- package/.docs/reference/datasets/addItems.md +35 -0
- package/.docs/reference/datasets/compareExperiments.md +52 -0
- package/.docs/reference/datasets/create.md +51 -0
- package/.docs/reference/datasets/dataset.md +82 -0
- package/.docs/reference/datasets/datasets-manager.md +94 -0
- package/.docs/reference/datasets/delete.md +25 -0
- package/.docs/reference/datasets/deleteExperiment.md +27 -0
- package/.docs/reference/datasets/deleteItem.md +27 -0
- package/.docs/reference/datasets/deleteItems.md +29 -0
- package/.docs/reference/datasets/get.md +31 -0
- package/.docs/reference/datasets/getDetails.md +47 -0
- package/.docs/reference/datasets/getExperiment.md +30 -0
- package/.docs/reference/datasets/getItem.md +33 -0
- package/.docs/reference/datasets/getItemHistory.md +31 -0
- package/.docs/reference/datasets/list.md +31 -0
- package/.docs/reference/datasets/listExperimentResults.md +39 -0
- package/.docs/reference/datasets/listExperiments.md +33 -0
- package/.docs/reference/datasets/listItems.md +46 -0
- package/.docs/reference/datasets/listVersions.md +33 -0
- package/.docs/reference/datasets/startExperiment.md +62 -0
- package/.docs/reference/datasets/startExperimentAsync.md +43 -0
- package/.docs/reference/datasets/update.md +48 -0
- package/.docs/reference/datasets/updateItem.md +38 -0
- package/.docs/reference/deployer/cloudflare.md +79 -0
- package/.docs/reference/deployer/netlify.md +80 -0
- package/.docs/reference/deployer/vercel.md +91 -0
- package/.docs/reference/deployer.md +100 -0
- package/.docs/reference/evals/answer-relevancy.md +105 -0
- package/.docs/reference/evals/answer-similarity.md +99 -0
- package/.docs/reference/evals/bias.md +120 -0
- package/.docs/reference/evals/completeness.md +136 -0
- package/.docs/reference/evals/content-similarity.md +101 -0
- package/.docs/reference/evals/context-precision.md +196 -0
- package/.docs/reference/evals/context-relevance.md +531 -0
- package/.docs/reference/evals/create-scorer.md +270 -0
- package/.docs/reference/evals/faithfulness.md +114 -0
- package/.docs/reference/evals/hallucination.md +213 -0
- package/.docs/reference/evals/keyword-coverage.md +128 -0
- package/.docs/reference/evals/mastra-scorer.md +123 -0
- package/.docs/reference/evals/noise-sensitivity.md +675 -0
- package/.docs/reference/evals/prompt-alignment.md +614 -0
- package/.docs/reference/evals/run-evals.md +179 -0
- package/.docs/reference/evals/scorer-utils.md +326 -0
- package/.docs/reference/evals/textual-difference.md +113 -0
- package/.docs/reference/evals/tone-consistency.md +119 -0
- package/.docs/reference/evals/tool-call-accuracy.md +533 -0
- package/.docs/reference/evals/toxicity.md +123 -0
- package/.docs/reference/harness/harness-class.md +708 -0
- package/.docs/reference/index.md +277 -0
- package/.docs/reference/logging/pino-logger.md +117 -0
- package/.docs/reference/mastra-code/createMastraCode.md +108 -0
- package/.docs/reference/memory/clone-utilities.md +199 -0
- package/.docs/reference/memory/cloneThread.md +130 -0
- package/.docs/reference/memory/createThread.md +68 -0
- package/.docs/reference/memory/deleteMessages.md +38 -0
- package/.docs/reference/memory/getThreadById.md +24 -0
- package/.docs/reference/memory/listThreads.md +145 -0
- package/.docs/reference/memory/memory-class.md +147 -0
- package/.docs/reference/memory/observational-memory.md +565 -0
- package/.docs/reference/memory/recall.md +91 -0
- package/.docs/reference/observability/tracing/bridges/otel.md +131 -0
- package/.docs/reference/observability/tracing/configuration.md +178 -0
- package/.docs/reference/observability/tracing/exporters/arize.md +141 -0
- package/.docs/reference/observability/tracing/exporters/braintrust.md +93 -0
- package/.docs/reference/observability/tracing/exporters/cloud-exporter.md +163 -0
- package/.docs/reference/observability/tracing/exporters/console-exporter.md +138 -0
- package/.docs/reference/observability/tracing/exporters/datadog.md +116 -0
- package/.docs/reference/observability/tracing/exporters/default-exporter.md +174 -0
- package/.docs/reference/observability/tracing/exporters/laminar.md +78 -0
- package/.docs/reference/observability/tracing/exporters/langfuse.md +134 -0
- package/.docs/reference/observability/tracing/exporters/langsmith.md +108 -0
- package/.docs/reference/observability/tracing/exporters/otel.md +199 -0
- package/.docs/reference/observability/tracing/exporters/posthog.md +92 -0
- package/.docs/reference/observability/tracing/exporters/sentry.md +184 -0
- package/.docs/reference/observability/tracing/instances.md +107 -0
- package/.docs/reference/observability/tracing/interfaces.md +743 -0
- package/.docs/reference/observability/tracing/processors/sensitive-data-filter.md +144 -0
- package/.docs/reference/observability/tracing/spans.md +224 -0
- package/.docs/reference/processors/batch-parts-processor.md +61 -0
- package/.docs/reference/processors/language-detector.md +82 -0
- package/.docs/reference/processors/message-history-processor.md +85 -0
- package/.docs/reference/processors/moderation-processor.md +104 -0
- package/.docs/reference/processors/pii-detector.md +108 -0
- package/.docs/reference/processors/processor-interface.md +521 -0
- package/.docs/reference/processors/prompt-injection-detector.md +72 -0
- package/.docs/reference/processors/semantic-recall-processor.md +117 -0
- package/.docs/reference/processors/system-prompt-scrubber.md +80 -0
- package/.docs/reference/processors/token-limiter-processor.md +115 -0
- package/.docs/reference/processors/tool-call-filter.md +85 -0
- package/.docs/reference/processors/tool-search-processor.md +111 -0
- package/.docs/reference/processors/unicode-normalizer.md +62 -0
- package/.docs/reference/processors/working-memory-processor.md +152 -0
- package/.docs/reference/rag/chunk.md +221 -0
- package/.docs/reference/rag/database-config.md +261 -0
- package/.docs/reference/rag/document.md +114 -0
- package/.docs/reference/rag/embeddings.md +92 -0
- package/.docs/reference/rag/extract-params.md +168 -0
- package/.docs/reference/rag/graph-rag.md +111 -0
- package/.docs/reference/rag/metadata-filters.md +216 -0
- package/.docs/reference/rag/rerank.md +75 -0
- package/.docs/reference/rag/rerankWithScorer.md +80 -0
- package/.docs/reference/server/create-route.md +262 -0
- package/.docs/reference/server/express-adapter.md +176 -0
- package/.docs/reference/server/fastify-adapter.md +90 -0
- package/.docs/reference/server/hono-adapter.md +162 -0
- package/.docs/reference/server/koa-adapter.md +127 -0
- package/.docs/reference/server/mastra-server.md +298 -0
- package/.docs/reference/server/register-api-route.md +249 -0
- package/.docs/reference/server/routes.md +306 -0
- package/.docs/reference/storage/cloudflare-d1.md +218 -0
- package/.docs/reference/storage/cloudflare.md +88 -0
- package/.docs/reference/storage/composite.md +235 -0
- package/.docs/reference/storage/convex.md +161 -0
- package/.docs/reference/storage/dynamodb.md +282 -0
- package/.docs/reference/storage/lance.md +131 -0
- package/.docs/reference/storage/libsql.md +135 -0
- package/.docs/reference/storage/mongodb.md +262 -0
- package/.docs/reference/storage/mssql.md +157 -0
- package/.docs/reference/storage/overview.md +121 -0
- package/.docs/reference/storage/postgresql.md +526 -0
- package/.docs/reference/storage/upstash.md +160 -0
- package/.docs/reference/streaming/ChunkType.md +292 -0
- package/.docs/reference/streaming/agents/MastraModelOutput.md +182 -0
- package/.docs/reference/streaming/agents/stream.md +221 -0
- package/.docs/reference/streaming/agents/streamLegacy.md +142 -0
- package/.docs/reference/streaming/workflows/observeStream.md +42 -0
- package/.docs/reference/streaming/workflows/resumeStream.md +61 -0
- package/.docs/reference/streaming/workflows/stream.md +88 -0
- package/.docs/reference/streaming/workflows/timeTravelStream.md +142 -0
- package/.docs/reference/templates/overview.md +194 -0
- package/.docs/reference/tools/create-tool.md +237 -0
- package/.docs/reference/tools/document-chunker-tool.md +89 -0
- package/.docs/reference/tools/graph-rag-tool.md +182 -0
- package/.docs/reference/tools/mcp-client.md +954 -0
- package/.docs/reference/tools/mcp-server.md +1271 -0
- package/.docs/reference/tools/vector-query-tool.md +459 -0
- package/.docs/reference/vectors/astra.md +121 -0
- package/.docs/reference/vectors/chroma.md +264 -0
- package/.docs/reference/vectors/convex.md +300 -0
- package/.docs/reference/vectors/couchbase.md +226 -0
- package/.docs/reference/vectors/duckdb.md +318 -0
- package/.docs/reference/vectors/elasticsearch.md +189 -0
- package/.docs/reference/vectors/lance.md +220 -0
- package/.docs/reference/vectors/libsql.md +305 -0
- package/.docs/reference/vectors/mongodb.md +295 -0
- package/.docs/reference/vectors/opensearch.md +99 -0
- package/.docs/reference/vectors/pg.md +408 -0
- package/.docs/reference/vectors/pinecone.md +168 -0
- package/.docs/reference/vectors/qdrant.md +222 -0
- package/.docs/reference/vectors/s3vectors.md +277 -0
- package/.docs/reference/vectors/turbopuffer.md +157 -0
- package/.docs/reference/vectors/upstash.md +294 -0
- package/.docs/reference/vectors/vectorize.md +147 -0
- package/.docs/reference/voice/azure.md +148 -0
- package/.docs/reference/voice/cloudflare.md +83 -0
- package/.docs/reference/voice/composite-voice.md +121 -0
- package/.docs/reference/voice/deepgram.md +79 -0
- package/.docs/reference/voice/elevenlabs.md +98 -0
- package/.docs/reference/voice/google-gemini-live.md +378 -0
- package/.docs/reference/voice/google.md +228 -0
- package/.docs/reference/voice/mastra-voice.md +311 -0
- package/.docs/reference/voice/murf.md +122 -0
- package/.docs/reference/voice/openai-realtime.md +203 -0
- package/.docs/reference/voice/openai.md +88 -0
- package/.docs/reference/voice/playai.md +80 -0
- package/.docs/reference/voice/sarvam.md +126 -0
- package/.docs/reference/voice/speechify.md +75 -0
- package/.docs/reference/voice/voice.addInstructions.md +55 -0
- package/.docs/reference/voice/voice.addTools.md +67 -0
- package/.docs/reference/voice/voice.answer.md +54 -0
- package/.docs/reference/voice/voice.close.md +51 -0
- package/.docs/reference/voice/voice.connect.md +94 -0
- package/.docs/reference/voice/voice.events.md +37 -0
- package/.docs/reference/voice/voice.getSpeakers.md +129 -0
- package/.docs/reference/voice/voice.listen.md +164 -0
- package/.docs/reference/voice/voice.off.md +54 -0
- package/.docs/reference/voice/voice.on.md +111 -0
- package/.docs/reference/voice/voice.send.md +65 -0
- package/.docs/reference/voice/voice.speak.md +157 -0
- package/.docs/reference/voice/voice.updateConfig.md +60 -0
- package/.docs/reference/workflows/run-methods/cancel.md +86 -0
- package/.docs/reference/workflows/run-methods/restart.md +33 -0
- package/.docs/reference/workflows/run-methods/resume.md +59 -0
- package/.docs/reference/workflows/run-methods/start.md +58 -0
- package/.docs/reference/workflows/run-methods/startAsync.md +67 -0
- package/.docs/reference/workflows/run-methods/timeTravel.md +142 -0
- package/.docs/reference/workflows/run.md +59 -0
- package/.docs/reference/workflows/step.md +119 -0
- package/.docs/reference/workflows/workflow-methods/branch.md +25 -0
- package/.docs/reference/workflows/workflow-methods/commit.md +17 -0
- package/.docs/reference/workflows/workflow-methods/create-run.md +63 -0
- package/.docs/reference/workflows/workflow-methods/dountil.md +25 -0
- package/.docs/reference/workflows/workflow-methods/dowhile.md +25 -0
- package/.docs/reference/workflows/workflow-methods/foreach.md +118 -0
- package/.docs/reference/workflows/workflow-methods/map.md +93 -0
- package/.docs/reference/workflows/workflow-methods/parallel.md +21 -0
- package/.docs/reference/workflows/workflow-methods/sleep.md +35 -0
- package/.docs/reference/workflows/workflow-methods/sleepUntil.md +35 -0
- package/.docs/reference/workflows/workflow-methods/then.md +21 -0
- package/.docs/reference/workflows/workflow.md +157 -0
- package/.docs/reference/workspace/e2b-sandbox.md +289 -0
- package/.docs/reference/workspace/filesystem.md +255 -0
- package/.docs/reference/workspace/gcs-filesystem.md +174 -0
- package/.docs/reference/workspace/local-filesystem.md +343 -0
- package/.docs/reference/workspace/local-sandbox.md +301 -0
- package/.docs/reference/workspace/s3-filesystem.md +175 -0
- package/.docs/reference/workspace/sandbox.md +87 -0
- package/.docs/reference/workspace/workspace-class.md +244 -0
- package/CHANGELOG.md +8 -0
- package/package.json +5 -5
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
# ElasticSearch Vector Store
|
|
2
|
+
|
|
3
|
+
The ElasticSearchVector class provides vector search using [ElasticSearch](https://www.elastic.co/elasticsearch/) with its `dense_vector` field type and k-NN search capabilities. It's part of the `@mastra/elasticsearch` package.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
**npm**:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @mastra/elasticsearch@latest
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
**pnpm**:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
pnpm add @mastra/elasticsearch@latest
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**Yarn**:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
yarn add @mastra/elasticsearch@latest
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Bun**:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
bun add @mastra/elasticsearch@latest
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Usage
|
|
32
|
+
|
|
33
|
+
```typescript
|
|
34
|
+
import { ElasticSearchVector } from "@mastra/elasticsearch";
|
|
35
|
+
|
|
36
|
+
const store = new ElasticSearchVector({
|
|
37
|
+
id: "elasticsearch-vector",
|
|
38
|
+
url: process.env.ELASTICSEARCH_URL,
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
// Create an index
|
|
42
|
+
await store.createIndex({
|
|
43
|
+
indexName: "my-collection",
|
|
44
|
+
dimension: 1536,
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
// Add vectors with metadata
|
|
48
|
+
const vectors = [[0.1, 0.2, ...], [0.3, 0.4, ...]];
|
|
49
|
+
const metadata = [
|
|
50
|
+
{ text: "first document", category: "A" },
|
|
51
|
+
{ text: "second document", category: "B" }
|
|
52
|
+
];
|
|
53
|
+
await store.upsert({
|
|
54
|
+
indexName: "my-collection",
|
|
55
|
+
vectors,
|
|
56
|
+
metadata,
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
// Query similar vectors
|
|
60
|
+
const results = await store.query({
|
|
61
|
+
indexName: "my-collection",
|
|
62
|
+
queryVector: [0.1, 0.2, ...],
|
|
63
|
+
topK: 10,
|
|
64
|
+
filter: { category: "A" },
|
|
65
|
+
});
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Constructor Options
|
|
69
|
+
|
|
70
|
+
**id:** (`string`): Unique identifier for this vector store instance
|
|
71
|
+
|
|
72
|
+
**url:** (`string`): ElasticSearch connection URL (e.g., 'http\://localhost:9200')
|
|
73
|
+
|
|
74
|
+
## Methods
|
|
75
|
+
|
|
76
|
+
### createIndex()
|
|
77
|
+
|
|
78
|
+
Creates a new index with the specified configuration.
|
|
79
|
+
|
|
80
|
+
**indexName:** (`string`): Name of the index to create
|
|
81
|
+
|
|
82
|
+
**dimension:** (`number`): Vector dimension (must match your embedding model)
|
|
83
|
+
|
|
84
|
+
**metric?:** (`'cosine' | 'euclidean' | 'dotproduct'`): Distance metric for similarity search (Default: `cosine`)
|
|
85
|
+
|
|
86
|
+
### upsert()
|
|
87
|
+
|
|
88
|
+
Adds or updates vectors and their metadata in the index.
|
|
89
|
+
|
|
90
|
+
**indexName:** (`string`): Name of the index to insert into
|
|
91
|
+
|
|
92
|
+
**vectors:** (`number[][]`): Array of embedding vectors
|
|
93
|
+
|
|
94
|
+
**metadata?:** (`Record<string, any>[]`): Metadata for each vector
|
|
95
|
+
|
|
96
|
+
**ids?:** (`string[]`): Optional vector IDs (auto-generated if not provided)
|
|
97
|
+
|
|
98
|
+
### query()
|
|
99
|
+
|
|
100
|
+
Searches for similar vectors with optional metadata filtering.
|
|
101
|
+
|
|
102
|
+
**indexName:** (`string`): Name of the index to search in
|
|
103
|
+
|
|
104
|
+
**queryVector:** (`number[]`): Query vector to find similar vectors for
|
|
105
|
+
|
|
106
|
+
**topK?:** (`number`): Number of results to return (Default: `10`)
|
|
107
|
+
|
|
108
|
+
**filter?:** (`Record<string, any>`): Metadata filters
|
|
109
|
+
|
|
110
|
+
**includeVector?:** (`boolean`): Whether to include vector data in results (Default: `false`)
|
|
111
|
+
|
|
112
|
+
### describeIndex()
|
|
113
|
+
|
|
114
|
+
Gets information about an index.
|
|
115
|
+
|
|
116
|
+
**indexName:** (`string`): Name of the index to describe
|
|
117
|
+
|
|
118
|
+
Returns:
|
|
119
|
+
|
|
120
|
+
```typescript
|
|
121
|
+
interface IndexStats {
|
|
122
|
+
dimension: number
|
|
123
|
+
count: number
|
|
124
|
+
metric: 'cosine' | 'euclidean' | 'dotproduct'
|
|
125
|
+
}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### deleteIndex()
|
|
129
|
+
|
|
130
|
+
Deletes an index and all its data.
|
|
131
|
+
|
|
132
|
+
**indexName:** (`string`): Name of the index to delete
|
|
133
|
+
|
|
134
|
+
### listIndexes()
|
|
135
|
+
|
|
136
|
+
Lists all vector indexes.
|
|
137
|
+
|
|
138
|
+
Returns: `Promise<string[]>`
|
|
139
|
+
|
|
140
|
+
### updateVector()
|
|
141
|
+
|
|
142
|
+
Update a single vector by ID or by metadata filter. Either `id` or `filter` must be provided, but not both.
|
|
143
|
+
|
|
144
|
+
**indexName:** (`string`): Name of the index containing the vector
|
|
145
|
+
|
|
146
|
+
**id?:** (`string`): ID of the vector to update (mutually exclusive with filter)
|
|
147
|
+
|
|
148
|
+
**filter?:** (`Record<string, any>`): Metadata filter to identify vector(s) to update (mutually exclusive with id)
|
|
149
|
+
|
|
150
|
+
**update:** (`object`): Update data containing vector and/or metadata
|
|
151
|
+
|
|
152
|
+
**update.vector?:** (`number[]`): New vector data
|
|
153
|
+
|
|
154
|
+
**update.metadata?:** (`Record<string, any>`): New metadata
|
|
155
|
+
|
|
156
|
+
### deleteVector()
|
|
157
|
+
|
|
158
|
+
Deletes a single vector by its ID.
|
|
159
|
+
|
|
160
|
+
**indexName:** (`string`): Name of the index containing the vector
|
|
161
|
+
|
|
162
|
+
**id:** (`string`): ID of the vector to delete
|
|
163
|
+
|
|
164
|
+
### deleteVectors()
|
|
165
|
+
|
|
166
|
+
Delete multiple vectors by IDs or by metadata filter. Either `ids` or `filter` must be provided, but not both.
|
|
167
|
+
|
|
168
|
+
**indexName:** (`string`): Name of the index containing the vectors to delete
|
|
169
|
+
|
|
170
|
+
**ids?:** (`string[]`): Array of vector IDs to delete (mutually exclusive with filter)
|
|
171
|
+
|
|
172
|
+
**filter?:** (`Record<string, any>`): Metadata filter to identify vectors to delete (mutually exclusive with ids)
|
|
173
|
+
|
|
174
|
+
## Response Types
|
|
175
|
+
|
|
176
|
+
Query results are returned in this format:
|
|
177
|
+
|
|
178
|
+
```typescript
|
|
179
|
+
interface QueryResult {
|
|
180
|
+
id: string
|
|
181
|
+
score: number
|
|
182
|
+
metadata: Record<string, any>
|
|
183
|
+
vector?: number[] // Only included if includeVector is true
|
|
184
|
+
}
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
## Related
|
|
188
|
+
|
|
189
|
+
- [Metadata Filters](https://mastra.ai/reference/rag/metadata-filters)
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
# Lance Vector Store
|
|
2
|
+
|
|
3
|
+
The LanceVectorStore class provides vector search using [LanceDB](https://lancedb.github.io/lancedb/), an embedded vector database built on the Lance columnar format. It offers efficient storage and fast similarity search for both local development and production deployments.
|
|
4
|
+
|
|
5
|
+
## Factory Method
|
|
6
|
+
|
|
7
|
+
The LanceVectorStore uses a factory pattern for creation. You should use the static `create()` method rather than the constructor directly.
|
|
8
|
+
|
|
9
|
+
**uri:** (`string`): Path to LanceDB database or URI for cloud deployments
|
|
10
|
+
|
|
11
|
+
**options?:** (`ConnectionOptions`): Additional connection options for LanceDB
|
|
12
|
+
|
|
13
|
+
## Constructor Examples
|
|
14
|
+
|
|
15
|
+
You can create a `LanceVectorStore` instance using the static create method:
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
import { LanceVectorStore } from '@mastra/lance'
|
|
19
|
+
|
|
20
|
+
// Connect to a local database
|
|
21
|
+
const vectorStore = await LanceVectorStore.create('/path/to/db')
|
|
22
|
+
|
|
23
|
+
// Connect to a LanceDB cloud database
|
|
24
|
+
const cloudStore = await LanceVectorStore.create('db://host:port')
|
|
25
|
+
|
|
26
|
+
// Connect to a cloud database with options
|
|
27
|
+
const s3Store = await LanceVectorStore.create('s3://bucket/db', {
|
|
28
|
+
storageOptions: { timeout: '60s' },
|
|
29
|
+
})
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Methods
|
|
33
|
+
|
|
34
|
+
### createIndex()
|
|
35
|
+
|
|
36
|
+
**tableName:** (`string`): Name of the table to create index in
|
|
37
|
+
|
|
38
|
+
**indexName:** (`string`): Name of the index (column name) to create
|
|
39
|
+
|
|
40
|
+
**dimension:** (`number`): Vector dimension (must match your embedding model)
|
|
41
|
+
|
|
42
|
+
**metric?:** (`'cosine' | 'euclidean' | 'dotproduct'`): Distance metric for similarity search (Default: `cosine`)
|
|
43
|
+
|
|
44
|
+
**indexConfig?:** (`LanceIndexConfig`): Index configuration (Default: `{ type: 'hnsw' }`)
|
|
45
|
+
|
|
46
|
+
#### LanceIndexConfig
|
|
47
|
+
|
|
48
|
+
**type:** (`'ivfflat' | 'hnsw'`): stringivfflat:ivfflatClusters vectors into lists for approximate search.hnsw:hnswGraph-based index offering fast search times and high recall. (Default: `hnsw`)
|
|
49
|
+
|
|
50
|
+
**numPartitions?:** (`number`): Number of partitions for IVF indexes (Default: `128`)
|
|
51
|
+
|
|
52
|
+
**numSubVectors?:** (`number`): Number of sub-vectors for product quantization (Default: `16`)
|
|
53
|
+
|
|
54
|
+
**hnsw?:** (`HNSWConfig`): objectm?:numberMaximum number of connections per node (default: 16)efConstruction?:numberBuild-time complexity (default: 100)
|
|
55
|
+
|
|
56
|
+
### createTable()
|
|
57
|
+
|
|
58
|
+
**tableName:** (`string`): Name of the table to create
|
|
59
|
+
|
|
60
|
+
**data:** (`Record<string, unknown>[] | TableLike`): Initial data for the table
|
|
61
|
+
|
|
62
|
+
**options?:** (`Partial<CreateTableOptions>`): Additional table creation options
|
|
63
|
+
|
|
64
|
+
### upsert()
|
|
65
|
+
|
|
66
|
+
**tableName:** (`string`): Name of the table to upsert vectors into
|
|
67
|
+
|
|
68
|
+
**vectors:** (`number[][]`): Array of embedding vectors
|
|
69
|
+
|
|
70
|
+
**metadata?:** (`Record<string, any>[]`): Metadata for each vector
|
|
71
|
+
|
|
72
|
+
**ids?:** (`string[]`): Optional vector IDs (auto-generated if not provided)
|
|
73
|
+
|
|
74
|
+
### query()
|
|
75
|
+
|
|
76
|
+
**tableName:** (`string`): Name of the table to query
|
|
77
|
+
|
|
78
|
+
**queryVector:** (`number[]`): Query vector
|
|
79
|
+
|
|
80
|
+
**topK?:** (`number`): Number of results to return (Default: `10`)
|
|
81
|
+
|
|
82
|
+
**filter?:** (`Record<string, any>`): Metadata filters
|
|
83
|
+
|
|
84
|
+
**includeVector?:** (`boolean`): Whether to include the vector in the result (Default: `false`)
|
|
85
|
+
|
|
86
|
+
**columns?:** (`string[]`): Specific columns to include in the result (Default: `[]`)
|
|
87
|
+
|
|
88
|
+
**includeAllColumns?:** (`boolean`): Whether to include all columns in the result (Default: `false`)
|
|
89
|
+
|
|
90
|
+
### listTables()
|
|
91
|
+
|
|
92
|
+
Returns an array of table names as strings.
|
|
93
|
+
|
|
94
|
+
```typescript
|
|
95
|
+
const tables = await vectorStore.listTables()
|
|
96
|
+
// ['my_vectors', 'embeddings', 'documents']
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### getTableSchema()
|
|
100
|
+
|
|
101
|
+
**tableName:** (`string`): Name of the table to describe
|
|
102
|
+
|
|
103
|
+
Returns the schema of the specified table.
|
|
104
|
+
|
|
105
|
+
### deleteTable()
|
|
106
|
+
|
|
107
|
+
**tableName:** (`string`): Name of the table to delete
|
|
108
|
+
|
|
109
|
+
### deleteAllTables()
|
|
110
|
+
|
|
111
|
+
Deletes all tables in the database.
|
|
112
|
+
|
|
113
|
+
### listIndexes()
|
|
114
|
+
|
|
115
|
+
Returns an array of index names as strings.
|
|
116
|
+
|
|
117
|
+
### describeIndex()
|
|
118
|
+
|
|
119
|
+
**indexName:** (`string`): Name of the index to describe
|
|
120
|
+
|
|
121
|
+
Returns information about the index:
|
|
122
|
+
|
|
123
|
+
```typescript
|
|
124
|
+
interface IndexStats {
|
|
125
|
+
dimension: number
|
|
126
|
+
count: number
|
|
127
|
+
metric: 'cosine' | 'euclidean' | 'dotproduct'
|
|
128
|
+
type: 'ivfflat' | 'hnsw'
|
|
129
|
+
config: {
|
|
130
|
+
m?: number
|
|
131
|
+
efConstruction?: number
|
|
132
|
+
numPartitions?: number
|
|
133
|
+
numSubVectors?: number
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### deleteIndex()
|
|
139
|
+
|
|
140
|
+
**indexName:** (`string`): Name of the index to delete
|
|
141
|
+
|
|
142
|
+
### updateVector()
|
|
143
|
+
|
|
144
|
+
Update a single vector by ID or by metadata filter. Either `id` or `filter` must be provided, but not both.
|
|
145
|
+
|
|
146
|
+
**indexName:** (`string`): Name of the index containing the vector
|
|
147
|
+
|
|
148
|
+
**id?:** (`string`): ID of the vector to update (mutually exclusive with filter)
|
|
149
|
+
|
|
150
|
+
**filter?:** (`Record<string, any>`): Metadata filter to identify vector(s) to update (mutually exclusive with id)
|
|
151
|
+
|
|
152
|
+
**update:** (`{ vector?: number[]; metadata?: Record<string, any>; }`): Object containing the vector and/or metadata to update
|
|
153
|
+
|
|
154
|
+
### deleteVector()
|
|
155
|
+
|
|
156
|
+
**indexName:** (`string`): Name of the index containing the vector
|
|
157
|
+
|
|
158
|
+
**id:** (`string`): ID of the vector to delete
|
|
159
|
+
|
|
160
|
+
### deleteVectors()
|
|
161
|
+
|
|
162
|
+
Delete multiple vectors by IDs or by metadata filter. Either `ids` or `filter` must be provided, but not both.
|
|
163
|
+
|
|
164
|
+
**indexName:** (`string`): Name of the index containing the vectors to delete
|
|
165
|
+
|
|
166
|
+
**ids?:** (`string[]`): Array of vector IDs to delete (mutually exclusive with filter)
|
|
167
|
+
|
|
168
|
+
**filter?:** (`Record<string, any>`): Metadata filter to identify vectors to delete (mutually exclusive with ids)
|
|
169
|
+
|
|
170
|
+
### close()
|
|
171
|
+
|
|
172
|
+
Closes the database connection.
|
|
173
|
+
|
|
174
|
+
## Response Types
|
|
175
|
+
|
|
176
|
+
Query results are returned in this format:
|
|
177
|
+
|
|
178
|
+
```typescript
|
|
179
|
+
interface QueryResult {
|
|
180
|
+
id: string
|
|
181
|
+
score: number
|
|
182
|
+
metadata: Record<string, any>
|
|
183
|
+
vector?: number[] // Only included if includeVector is true
|
|
184
|
+
document?: string // Document text if available
|
|
185
|
+
}
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
## Error Handling
|
|
189
|
+
|
|
190
|
+
The store throws typed errors that can be caught:
|
|
191
|
+
|
|
192
|
+
```typescript
|
|
193
|
+
try {
|
|
194
|
+
await store.query({
|
|
195
|
+
tableName: 'my_vectors',
|
|
196
|
+
queryVector: queryVector,
|
|
197
|
+
})
|
|
198
|
+
} catch (error) {
|
|
199
|
+
if (error instanceof Error) {
|
|
200
|
+
console.log(error.message)
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
## Best Practices
|
|
206
|
+
|
|
207
|
+
- Use the appropriate index type for your use case:
|
|
208
|
+
|
|
209
|
+
- HNSW for better recall and performance when memory isn't constrained
|
|
210
|
+
- IVF for better memory efficiency with large datasets
|
|
211
|
+
|
|
212
|
+
- For optimal performance with large datasets, consider adjusting `numPartitions` and `numSubVectors` values
|
|
213
|
+
|
|
214
|
+
- Use `close()` method to properly close connections when done with the database
|
|
215
|
+
|
|
216
|
+
- Store metadata with a consistent schema to simplify filtering operations
|
|
217
|
+
|
|
218
|
+
## Related
|
|
219
|
+
|
|
220
|
+
- [Metadata Filters](https://mastra.ai/reference/rag/metadata-filters)
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
# libSQL Vector Store
|
|
2
|
+
|
|
3
|
+
The libSQL storage implementation provides a SQLite-compatible vector search [libSQL](https://github.com/tursodatabase/libsql), a fork of SQLite with vector extensions, and [Turso](https://turso.tech/) with vector extensions, offering a lightweight and efficient vector database solution. It's part of the `@mastra/libsql` package and offers efficient vector similarity search with metadata filtering.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
**npm**:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @mastra/libsql@latest
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
**pnpm**:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
pnpm add @mastra/libsql@latest
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**Yarn**:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
yarn add @mastra/libsql@latest
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Bun**:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
bun add @mastra/libsql@latest
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Usage
|
|
32
|
+
|
|
33
|
+
```typescript
|
|
34
|
+
import { LibSQLVector } from "@mastra/libsql";
|
|
35
|
+
|
|
36
|
+
// Create a new vector store instance
|
|
37
|
+
const store = new LibSQLVector({
|
|
38
|
+
id: 'libsql-vector',
|
|
39
|
+
url: process.env.DATABASE_URL,
|
|
40
|
+
// Optional: for Turso cloud databases
|
|
41
|
+
authToken: process.env.DATABASE_AUTH_TOKEN,
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
// Create an index
|
|
45
|
+
await store.createIndex({
|
|
46
|
+
indexName: "myCollection",
|
|
47
|
+
dimension: 1536,
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
// Add vectors with metadata
|
|
51
|
+
const vectors = [[0.1, 0.2, ...], [0.3, 0.4, ...]];
|
|
52
|
+
const metadata = [
|
|
53
|
+
{ text: "first document", category: "A" },
|
|
54
|
+
{ text: "second document", category: "B" }
|
|
55
|
+
];
|
|
56
|
+
await store.upsert({
|
|
57
|
+
indexName: "myCollection",
|
|
58
|
+
vectors,
|
|
59
|
+
metadata,
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
// Query similar vectors
|
|
63
|
+
const queryVector = [0.1, 0.2, ...];
|
|
64
|
+
const results = await store.query({
|
|
65
|
+
indexName: "myCollection",
|
|
66
|
+
queryVector,
|
|
67
|
+
topK: 10, // top K results
|
|
68
|
+
filter: { category: "A" } // optional metadata filter
|
|
69
|
+
});
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Constructor Options
|
|
73
|
+
|
|
74
|
+
**url:** (`string`): libSQL database URL. Use ':memory:' for in-memory database, 'file:dbname.db' for local file, or a libSQL-compatible connection string like 'libsql://your-database.turso.io'.
|
|
75
|
+
|
|
76
|
+
**authToken?:** (`string`): Authentication token for Turso cloud databases
|
|
77
|
+
|
|
78
|
+
**syncUrl?:** (`string`): URL for database replication (Turso specific)
|
|
79
|
+
|
|
80
|
+
**syncInterval?:** (`number`): Interval in milliseconds for database sync (Turso specific)
|
|
81
|
+
|
|
82
|
+
## Methods
|
|
83
|
+
|
|
84
|
+
### createIndex()
|
|
85
|
+
|
|
86
|
+
Creates a new vector collection. The index name must start with a letter or underscore and can only contain letters, numbers, and underscores. The dimension must be a positive integer.
|
|
87
|
+
|
|
88
|
+
**indexName:** (`string`): Name of the index to create
|
|
89
|
+
|
|
90
|
+
**dimension:** (`number`): Vector dimension size (must match your embedding model)
|
|
91
|
+
|
|
92
|
+
**metric?:** (`'cosine' | 'euclidean' | 'dotproduct'`): Distance metric for similarity search. Note: Currently only cosine similarity is supported by libSQL. (Default: `cosine`)
|
|
93
|
+
|
|
94
|
+
### upsert()
|
|
95
|
+
|
|
96
|
+
Adds or updates vectors and their metadata in the index. Uses a transaction to ensure all vectors are inserted atomically - if any insert fails, the entire operation is rolled back.
|
|
97
|
+
|
|
98
|
+
**indexName:** (`string`): Name of the index to insert into
|
|
99
|
+
|
|
100
|
+
**vectors:** (`number[][]`): Array of embedding vectors
|
|
101
|
+
|
|
102
|
+
**metadata?:** (`Record<string, any>[]`): Metadata for each vector
|
|
103
|
+
|
|
104
|
+
**ids?:** (`string[]`): Optional vector IDs (auto-generated if not provided)
|
|
105
|
+
|
|
106
|
+
### query()
|
|
107
|
+
|
|
108
|
+
Searches for similar vectors with optional metadata filtering.
|
|
109
|
+
|
|
110
|
+
**indexName:** (`string`): Name of the index to search in
|
|
111
|
+
|
|
112
|
+
**queryVector:** (`number[]`): Query vector to find similar vectors for
|
|
113
|
+
|
|
114
|
+
**topK?:** (`number`): Number of results to return (Default: `10`)
|
|
115
|
+
|
|
116
|
+
**filter?:** (`Filter`): Metadata filters
|
|
117
|
+
|
|
118
|
+
**includeVector?:** (`boolean`): Whether to include vector data in results (Default: `false`)
|
|
119
|
+
|
|
120
|
+
**minScore?:** (`number`): Minimum similarity score threshold (Default: `0`)
|
|
121
|
+
|
|
122
|
+
### describeIndex()
|
|
123
|
+
|
|
124
|
+
Gets information about an index.
|
|
125
|
+
|
|
126
|
+
**indexName:** (`string`): Name of the index to describe
|
|
127
|
+
|
|
128
|
+
Returns:
|
|
129
|
+
|
|
130
|
+
```typescript
|
|
131
|
+
interface IndexStats {
|
|
132
|
+
dimension: number
|
|
133
|
+
count: number
|
|
134
|
+
metric: 'cosine' | 'euclidean' | 'dotproduct'
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### deleteIndex()
|
|
139
|
+
|
|
140
|
+
Deletes an index and all its data.
|
|
141
|
+
|
|
142
|
+
**indexName:** (`string`): Name of the index to delete
|
|
143
|
+
|
|
144
|
+
### listIndexes()
|
|
145
|
+
|
|
146
|
+
Lists all vector indexes in the database.
|
|
147
|
+
|
|
148
|
+
Returns: `Promise<string[]>`
|
|
149
|
+
|
|
150
|
+
### truncateIndex()
|
|
151
|
+
|
|
152
|
+
Removes all vectors from an index while keeping the index structure.
|
|
153
|
+
|
|
154
|
+
**indexName:** (`string`): Name of the index to truncate
|
|
155
|
+
|
|
156
|
+
### updateVector()
|
|
157
|
+
|
|
158
|
+
Update a single vector by ID or by metadata filter. Either `id` or `filter` must be provided, but not both.
|
|
159
|
+
|
|
160
|
+
**indexName:** (`string`): Name of the index containing the vector
|
|
161
|
+
|
|
162
|
+
**id?:** (`string`): ID of the vector entry to update (mutually exclusive with filter)
|
|
163
|
+
|
|
164
|
+
**filter?:** (`Record<string, any>`): Metadata filter to identify vector(s) to update (mutually exclusive with id)
|
|
165
|
+
|
|
166
|
+
**update:** (`object`): Update data containing vector and/or metadata
|
|
167
|
+
|
|
168
|
+
**update.vector?:** (`number[]`): New vector data to update
|
|
169
|
+
|
|
170
|
+
**update.metadata?:** (`Record<string, any>`): New metadata to update
|
|
171
|
+
|
|
172
|
+
### deleteVector()
|
|
173
|
+
|
|
174
|
+
Deletes a specific vector entry from an index by its ID.
|
|
175
|
+
|
|
176
|
+
**indexName:** (`string`): Name of the index containing the vector
|
|
177
|
+
|
|
178
|
+
**id:** (`string`): ID of the vector entry to delete
|
|
179
|
+
|
|
180
|
+
### deleteVectors()
|
|
181
|
+
|
|
182
|
+
Delete multiple vectors by IDs or by metadata filter. Either `ids` or `filter` must be provided, but not both.
|
|
183
|
+
|
|
184
|
+
**indexName:** (`string`): Name of the index containing the vectors to delete
|
|
185
|
+
|
|
186
|
+
**ids?:** (`string[]`): Array of vector IDs to delete (mutually exclusive with filter)
|
|
187
|
+
|
|
188
|
+
**filter?:** (`Record<string, any>`): Metadata filter to identify vectors to delete (mutually exclusive with ids)
|
|
189
|
+
|
|
190
|
+
## Response Types
|
|
191
|
+
|
|
192
|
+
Query results are returned in this format:
|
|
193
|
+
|
|
194
|
+
```typescript
|
|
195
|
+
interface QueryResult {
|
|
196
|
+
id: string
|
|
197
|
+
score: number
|
|
198
|
+
metadata: Record<string, any>
|
|
199
|
+
vector?: number[] // Only included if includeVector is true
|
|
200
|
+
}
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## Error Handling
|
|
204
|
+
|
|
205
|
+
The store throws specific errors for different failure cases:
|
|
206
|
+
|
|
207
|
+
```typescript
|
|
208
|
+
try {
|
|
209
|
+
await store.query({
|
|
210
|
+
indexName: 'my-collection',
|
|
211
|
+
queryVector: queryVector,
|
|
212
|
+
})
|
|
213
|
+
} catch (error) {
|
|
214
|
+
// Handle specific error cases
|
|
215
|
+
if (error.message.includes('Invalid index name format')) {
|
|
216
|
+
console.error(
|
|
217
|
+
'Index name must start with a letter/underscore and contain only alphanumeric characters',
|
|
218
|
+
)
|
|
219
|
+
} else if (error.message.includes('Table not found')) {
|
|
220
|
+
console.error('The specified index does not exist')
|
|
221
|
+
} else {
|
|
222
|
+
console.error('Vector store error:', error.message)
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
Common error cases include:
|
|
228
|
+
|
|
229
|
+
- Invalid index name format
|
|
230
|
+
- Invalid vector dimensions
|
|
231
|
+
- Table/index not found
|
|
232
|
+
- Database connection issues
|
|
233
|
+
- Transaction failures during upsert
|
|
234
|
+
|
|
235
|
+
## Usage Example
|
|
236
|
+
|
|
237
|
+
### Local embeddings with fastembed
|
|
238
|
+
|
|
239
|
+
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.
|
|
240
|
+
|
|
241
|
+
Install `fastembed` to get started:
|
|
242
|
+
|
|
243
|
+
**npm**:
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
npm install @mastra/fastembed@latest
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
**pnpm**:
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
pnpm add @mastra/fastembed@latest
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
**Yarn**:
|
|
256
|
+
|
|
257
|
+
```bash
|
|
258
|
+
yarn add @mastra/fastembed@latest
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
**Bun**:
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
bun add @mastra/fastembed@latest
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
Add the following to your agent:
|
|
268
|
+
|
|
269
|
+
```typescript
|
|
270
|
+
import { Memory } from '@mastra/memory'
|
|
271
|
+
import { Agent } from '@mastra/core/agent'
|
|
272
|
+
import { LibSQLStore, LibSQLVector } from '@mastra/libsql'
|
|
273
|
+
import { fastembed } from '@mastra/fastembed'
|
|
274
|
+
|
|
275
|
+
export const libsqlAgent = new Agent({
|
|
276
|
+
id: 'libsql-agent',
|
|
277
|
+
name: 'libSQL Agent',
|
|
278
|
+
instructions:
|
|
279
|
+
'You are an AI agent with the ability to automatically recall memories from previous interactions.',
|
|
280
|
+
model: 'openai/gpt-5.1',
|
|
281
|
+
memory: new Memory({
|
|
282
|
+
storage: new LibSQLStore({
|
|
283
|
+
id: 'libsql-agent-storage',
|
|
284
|
+
url: 'file:libsql-agent.db',
|
|
285
|
+
}),
|
|
286
|
+
vector: new LibSQLVector({
|
|
287
|
+
id: 'libsql-agent-vector',
|
|
288
|
+
url: 'file:libsql-agent.db',
|
|
289
|
+
}),
|
|
290
|
+
embedder: fastembed,
|
|
291
|
+
options: {
|
|
292
|
+
lastMessages: 10,
|
|
293
|
+
semanticRecall: {
|
|
294
|
+
topK: 3,
|
|
295
|
+
messageRange: 2,
|
|
296
|
+
},
|
|
297
|
+
generateTitle: true, // Explicitly enable automatic title generation
|
|
298
|
+
},
|
|
299
|
+
}),
|
|
300
|
+
})
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
## Related
|
|
304
|
+
|
|
305
|
+
- [Metadata Filters](https://mastra.ai/reference/rag/metadata-filters)
|