@mastra/core 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +236 -0
- package/dist/agent/agent.d.ts +6 -0
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/index.cjs +8 -8
- package/dist/agent/index.js +1 -1
- package/dist/{chunk-VJWRJWSC.cjs → chunk-2X66GWF5.cjs} +94 -16
- package/dist/chunk-2X66GWF5.cjs.map +1 -0
- package/dist/{chunk-YM6245EM.js → chunk-6OXW5E2O.js} +3 -3
- package/dist/{chunk-YM6245EM.js.map → chunk-6OXW5E2O.js.map} +1 -1
- package/dist/{chunk-XWZAKKFT.cjs → chunk-6QBN6MZY.cjs} +14 -14
- package/dist/{chunk-XWZAKKFT.cjs.map → chunk-6QBN6MZY.cjs.map} +1 -1
- package/dist/{chunk-AYHSPIT6.cjs → chunk-7UAJ6LMR.cjs} +820 -259
- package/dist/chunk-7UAJ6LMR.cjs.map +1 -0
- package/dist/{chunk-RZNHRIM7.cjs → chunk-A72NTLFT.cjs} +5 -5
- package/dist/{chunk-RZNHRIM7.cjs.map → chunk-A72NTLFT.cjs.map} +1 -1
- package/dist/{chunk-EEU5NHHU.js → chunk-DFCRXDVK.js} +3 -3
- package/dist/{chunk-EEU5NHHU.js.map → chunk-DFCRXDVK.js.map} +1 -1
- package/dist/{chunk-5K45E5VE.js → chunk-GPJGPARM.js} +3 -2
- package/dist/chunk-GPJGPARM.js.map +1 -0
- package/dist/{chunk-LNKS4TJ6.cjs → chunk-HB6T4554.cjs} +8 -7
- package/dist/chunk-HB6T4554.cjs.map +1 -0
- package/dist/{chunk-DGS2KGDI.js → chunk-KUXNBWN7.js} +6 -5
- package/dist/chunk-KUXNBWN7.js.map +1 -0
- package/dist/{chunk-IHDE4CJV.js → chunk-QSHV7GPT.js} +89 -12
- package/dist/chunk-QSHV7GPT.js.map +1 -0
- package/dist/{chunk-3U3XFMGJ.cjs → chunk-QTAS3HND.cjs} +13 -8
- package/dist/chunk-QTAS3HND.cjs.map +1 -0
- package/dist/{chunk-RHKNKJNM.js → chunk-QWTB53GS.js} +4 -4
- package/dist/{chunk-RHKNKJNM.js.map → chunk-QWTB53GS.js.map} +1 -1
- package/dist/{chunk-4WG5K4CK.js → chunk-R4N65TLG.js} +7 -7
- package/dist/{chunk-4WG5K4CK.js.map → chunk-R4N65TLG.js.map} +1 -1
- package/dist/{chunk-5VQPSWPG.cjs → chunk-RABITNTG.cjs} +48 -48
- package/dist/{chunk-5VQPSWPG.cjs.map → chunk-RABITNTG.cjs.map} +1 -1
- package/dist/{chunk-TVPANHLE.cjs → chunk-SBOHDNIZ.cjs} +3 -2
- package/dist/chunk-SBOHDNIZ.cjs.map +1 -0
- package/dist/{chunk-MWGGSA5Q.js → chunk-T6GAM3SQ.js} +10 -5
- package/dist/chunk-T6GAM3SQ.js.map +1 -0
- package/dist/{chunk-TL2TTA4X.cjs → chunk-YQG7NBPR.cjs} +9 -9
- package/dist/{chunk-TL2TTA4X.cjs.map → chunk-YQG7NBPR.cjs.map} +1 -1
- package/dist/{chunk-XB3DA67Q.js → chunk-ZSBM2SVU.js} +818 -259
- package/dist/chunk-ZSBM2SVU.js.map +1 -0
- package/dist/datasets/experiment/scorer.d.ts.map +1 -1
- package/dist/datasets/index.cjs +17 -17
- package/dist/datasets/index.js +2 -2
- package/dist/evals/index.cjs +20 -20
- package/dist/evals/index.js +3 -3
- package/dist/evals/scoreTraces/index.cjs +7 -6
- package/dist/evals/scoreTraces/index.cjs.map +1 -1
- package/dist/evals/scoreTraces/index.js +4 -3
- package/dist/evals/scoreTraces/index.js.map +1 -1
- package/dist/evals/scoreTraces/scoreTracesWorkflow.d.ts.map +1 -1
- package/dist/harness/harness.d.ts +21 -1
- package/dist/harness/harness.d.ts.map +1 -1
- package/dist/harness/index.cjs +422 -5
- package/dist/harness/index.cjs.map +1 -1
- package/dist/harness/index.d.ts +2 -1
- package/dist/harness/index.d.ts.map +1 -1
- package/dist/harness/index.js +418 -3
- package/dist/harness/index.js.map +1 -1
- package/dist/harness/types.d.ts +151 -0
- package/dist/harness/types.d.ts.map +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +1 -1
- package/dist/loop/index.cjs +12 -12
- package/dist/loop/index.js +1 -1
- package/dist/loop/test-utils/tools.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
- package/dist/mastra/hooks.d.ts.map +1 -1
- package/dist/mastra/index.cjs +2 -2
- package/dist/mastra/index.js +1 -1
- package/dist/memory/index.cjs +14 -14
- package/dist/memory/index.js +1 -1
- package/dist/processor-provider/index.cjs +10 -10
- package/dist/processor-provider/index.js +1 -1
- package/dist/processors/index.cjs +45 -41
- package/dist/processors/index.js +1 -1
- package/dist/processors/processors/index.d.ts +1 -0
- package/dist/processors/processors/index.d.ts.map +1 -1
- package/dist/processors/processors/workspace-instructions.d.ts +50 -0
- package/dist/processors/processors/workspace-instructions.d.ts.map +1 -0
- package/dist/relevance/index.cjs +3 -3
- package/dist/relevance/index.js +1 -1
- package/dist/storage/constants.cjs +56 -56
- package/dist/storage/constants.d.ts.map +1 -1
- package/dist/storage/constants.js +1 -1
- package/dist/storage/index.cjs +160 -160
- package/dist/storage/index.js +2 -2
- package/dist/storage/types.d.ts +2 -0
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -1
- package/dist/stream/base/output.d.ts.map +1 -1
- package/dist/stream/index.cjs +8 -8
- package/dist/stream/index.js +1 -1
- package/dist/tool-loop-agent/index.cjs +4 -4
- package/dist/tool-loop-agent/index.js +1 -1
- package/dist/vector/index.cjs +7 -7
- package/dist/vector/index.js +1 -1
- package/dist/workflows/evented/index.cjs +10 -10
- package/dist/workflows/evented/index.js +1 -1
- package/dist/workflows/index.cjs +25 -25
- package/dist/workflows/index.js +1 -1
- package/dist/workspace/constants/index.d.ts +2 -0
- package/dist/workspace/constants/index.d.ts.map +1 -1
- package/dist/workspace/errors.d.ts +1 -1
- package/dist/workspace/errors.d.ts.map +1 -1
- package/dist/workspace/filesystem/composite-filesystem.d.ts +4 -1
- package/dist/workspace/filesystem/composite-filesystem.d.ts.map +1 -1
- package/dist/workspace/filesystem/file-write-lock.d.ts +35 -0
- package/dist/workspace/filesystem/file-write-lock.d.ts.map +1 -0
- package/dist/workspace/filesystem/filesystem.d.ts +5 -1
- package/dist/workspace/filesystem/filesystem.d.ts.map +1 -1
- package/dist/workspace/filesystem/index.d.ts +1 -0
- package/dist/workspace/filesystem/index.d.ts.map +1 -1
- package/dist/workspace/filesystem/local-filesystem.d.ts +17 -1
- package/dist/workspace/filesystem/local-filesystem.d.ts.map +1 -1
- package/dist/workspace/index.cjs +72 -64
- package/dist/workspace/index.d.ts +3 -2
- package/dist/workspace/index.d.ts.map +1 -1
- package/dist/workspace/index.js +1 -1
- package/dist/workspace/lifecycle.d.ts +1 -9
- package/dist/workspace/lifecycle.d.ts.map +1 -1
- package/dist/workspace/sandbox/index.d.ts +2 -0
- package/dist/workspace/sandbox/index.d.ts.map +1 -1
- package/dist/workspace/sandbox/local-process-manager.d.ts +18 -0
- package/dist/workspace/sandbox/local-process-manager.d.ts.map +1 -0
- package/dist/workspace/sandbox/local-sandbox.d.ts +49 -35
- package/dist/workspace/sandbox/local-sandbox.d.ts.map +1 -1
- package/dist/workspace/sandbox/mastra-sandbox.d.ts +45 -11
- package/dist/workspace/sandbox/mastra-sandbox.d.ts.map +1 -1
- package/dist/workspace/sandbox/native-sandbox/bubblewrap.d.ts +2 -3
- package/dist/workspace/sandbox/native-sandbox/bubblewrap.d.ts.map +1 -1
- package/dist/workspace/sandbox/native-sandbox/seatbelt.d.ts +2 -3
- package/dist/workspace/sandbox/native-sandbox/seatbelt.d.ts.map +1 -1
- package/dist/workspace/sandbox/native-sandbox/wrapper.d.ts +4 -5
- package/dist/workspace/sandbox/native-sandbox/wrapper.d.ts.map +1 -1
- package/dist/workspace/sandbox/process-manager/index.d.ts +4 -0
- package/dist/workspace/sandbox/process-manager/index.d.ts.map +1 -0
- package/dist/workspace/sandbox/process-manager/process-handle.d.ts +107 -0
- package/dist/workspace/sandbox/process-manager/process-handle.d.ts.map +1 -0
- package/dist/workspace/sandbox/process-manager/process-manager.d.ts +59 -0
- package/dist/workspace/sandbox/process-manager/process-manager.d.ts.map +1 -0
- package/dist/workspace/sandbox/process-manager/types.d.ts +24 -0
- package/dist/workspace/sandbox/process-manager/types.d.ts.map +1 -0
- package/dist/workspace/sandbox/sandbox.d.ts +38 -2
- package/dist/workspace/sandbox/sandbox.d.ts.map +1 -1
- package/dist/workspace/sandbox/types.d.ts +9 -2
- package/dist/workspace/sandbox/types.d.ts.map +1 -1
- package/dist/workspace/sandbox/utils.d.ts +7 -0
- package/dist/workspace/sandbox/utils.d.ts.map +1 -0
- package/dist/workspace/tools/execute-command.d.ts +53 -2
- package/dist/workspace/tools/execute-command.d.ts.map +1 -1
- package/dist/workspace/tools/get-process-output.d.ts +6 -0
- package/dist/workspace/tools/get-process-output.d.ts.map +1 -0
- package/dist/workspace/tools/index.d.ts +4 -1
- package/dist/workspace/tools/index.d.ts.map +1 -1
- package/dist/workspace/tools/kill-process.d.ts +4 -0
- package/dist/workspace/tools/kill-process.d.ts.map +1 -0
- package/dist/workspace/tools/output-helpers.d.ts +21 -0
- package/dist/workspace/tools/output-helpers.d.ts.map +1 -0
- package/dist/workspace/tools/tools.d.ts.map +1 -1
- package/dist/workspace/types.d.ts +31 -0
- package/dist/workspace/types.d.ts.map +1 -1
- package/dist/workspace/utils.d.ts +11 -0
- package/dist/workspace/utils.d.ts.map +1 -0
- package/dist/workspace/workspace.d.ts +36 -0
- package/dist/workspace/workspace.d.ts.map +1 -1
- package/package.json +7 -7
- package/dist/chunk-3U3XFMGJ.cjs.map +0 -1
- package/dist/chunk-5K45E5VE.js.map +0 -1
- package/dist/chunk-AYHSPIT6.cjs.map +0 -1
- package/dist/chunk-DGS2KGDI.js.map +0 -1
- package/dist/chunk-IHDE4CJV.js.map +0 -1
- package/dist/chunk-LNKS4TJ6.cjs.map +0 -1
- package/dist/chunk-MWGGSA5Q.js.map +0 -1
- package/dist/chunk-TVPANHLE.cjs.map +0 -1
- package/dist/chunk-VJWRJWSC.cjs.map +0 -1
- package/dist/chunk-XB3DA67Q.js.map +0 -1
- package/dist/docs/SKILL.md +0 -301
- package/dist/docs/assets/SOURCE_MAP.json +0 -1413
- package/dist/docs/references/docs-agents-adding-voice.md +0 -353
- package/dist/docs/references/docs-agents-agent-approval.md +0 -377
- package/dist/docs/references/docs-agents-agent-memory.md +0 -212
- package/dist/docs/references/docs-agents-guardrails.md +0 -382
- package/dist/docs/references/docs-agents-network-approval.md +0 -275
- package/dist/docs/references/docs-agents-networks.md +0 -290
- package/dist/docs/references/docs-agents-overview.md +0 -309
- package/dist/docs/references/docs-agents-processors.md +0 -632
- package/dist/docs/references/docs-agents-structured-output.md +0 -271
- package/dist/docs/references/docs-agents-using-tools.md +0 -214
- package/dist/docs/references/docs-evals-custom-scorers.md +0 -519
- package/dist/docs/references/docs-evals-overview.md +0 -146
- package/dist/docs/references/docs-evals-running-in-ci.md +0 -106
- package/dist/docs/references/docs-mcp-overview.md +0 -370
- package/dist/docs/references/docs-mcp-publishing-mcp-server.md +0 -95
- package/dist/docs/references/docs-memory-memory-processors.md +0 -316
- package/dist/docs/references/docs-memory-observational-memory.md +0 -246
- package/dist/docs/references/docs-memory-overview.md +0 -45
- package/dist/docs/references/docs-memory-semantic-recall.md +0 -272
- package/dist/docs/references/docs-memory-storage.md +0 -261
- package/dist/docs/references/docs-memory-working-memory.md +0 -400
- package/dist/docs/references/docs-observability-datasets-overview.md +0 -188
- package/dist/docs/references/docs-observability-datasets-running-experiments.md +0 -266
- package/dist/docs/references/docs-observability-logging.md +0 -99
- package/dist/docs/references/docs-observability-overview.md +0 -70
- package/dist/docs/references/docs-observability-tracing-bridges-otel.md +0 -209
- package/dist/docs/references/docs-observability-tracing-exporters-arize.md +0 -274
- package/dist/docs/references/docs-observability-tracing-exporters-braintrust.md +0 -111
- package/dist/docs/references/docs-observability-tracing-exporters-cloud.md +0 -129
- package/dist/docs/references/docs-observability-tracing-exporters-datadog.md +0 -187
- package/dist/docs/references/docs-observability-tracing-exporters-default.md +0 -211
- package/dist/docs/references/docs-observability-tracing-exporters-laminar.md +0 -100
- package/dist/docs/references/docs-observability-tracing-exporters-langfuse.md +0 -217
- package/dist/docs/references/docs-observability-tracing-exporters-langsmith.md +0 -202
- package/dist/docs/references/docs-observability-tracing-exporters-otel.md +0 -479
- package/dist/docs/references/docs-observability-tracing-exporters-posthog.md +0 -148
- package/dist/docs/references/docs-observability-tracing-overview.md +0 -1114
- package/dist/docs/references/docs-rag-chunking-and-embedding.md +0 -183
- package/dist/docs/references/docs-rag-graph-rag.md +0 -215
- package/dist/docs/references/docs-rag-overview.md +0 -72
- package/dist/docs/references/docs-rag-retrieval.md +0 -521
- package/dist/docs/references/docs-rag-vector-databases.md +0 -648
- package/dist/docs/references/docs-server-auth-auth0.md +0 -222
- package/dist/docs/references/docs-server-auth-clerk.md +0 -132
- package/dist/docs/references/docs-server-auth-composite-auth.md +0 -234
- package/dist/docs/references/docs-server-auth-custom-auth-provider.md +0 -513
- package/dist/docs/references/docs-server-auth-firebase.md +0 -272
- package/dist/docs/references/docs-server-auth-jwt.md +0 -110
- package/dist/docs/references/docs-server-auth-simple-auth.md +0 -178
- package/dist/docs/references/docs-server-auth-supabase.md +0 -117
- package/dist/docs/references/docs-server-auth-workos.md +0 -190
- package/dist/docs/references/docs-server-custom-adapters.md +0 -374
- package/dist/docs/references/docs-server-custom-api-routes.md +0 -267
- package/dist/docs/references/docs-server-mastra-client.md +0 -243
- package/dist/docs/references/docs-server-mastra-server.md +0 -71
- package/dist/docs/references/docs-server-middleware.md +0 -228
- package/dist/docs/references/docs-server-request-context.md +0 -478
- package/dist/docs/references/docs-streaming-events.md +0 -247
- package/dist/docs/references/docs-streaming-tool-streaming.md +0 -178
- package/dist/docs/references/docs-streaming-workflow-streaming.md +0 -109
- package/dist/docs/references/docs-voice-overview.md +0 -979
- package/dist/docs/references/docs-voice-speech-to-speech.md +0 -103
- package/dist/docs/references/docs-voice-speech-to-text.md +0 -80
- package/dist/docs/references/docs-voice-text-to-speech.md +0 -84
- package/dist/docs/references/docs-workflows-agents-and-tools.md +0 -170
- package/dist/docs/references/docs-workflows-control-flow.md +0 -823
- package/dist/docs/references/docs-workflows-error-handling.md +0 -360
- package/dist/docs/references/docs-workflows-human-in-the-loop.md +0 -213
- package/dist/docs/references/docs-workflows-overview.md +0 -372
- package/dist/docs/references/docs-workflows-snapshots.md +0 -238
- package/dist/docs/references/docs-workflows-suspend-and-resume.md +0 -205
- package/dist/docs/references/docs-workflows-time-travel.md +0 -309
- package/dist/docs/references/docs-workflows-workflow-state.md +0 -181
- package/dist/docs/references/docs-workspace-filesystem.md +0 -162
- package/dist/docs/references/docs-workspace-overview.md +0 -239
- package/dist/docs/references/docs-workspace-sandbox.md +0 -63
- package/dist/docs/references/docs-workspace-search.md +0 -219
- package/dist/docs/references/docs-workspace-skills.md +0 -126
- package/dist/docs/references/guides-agent-frameworks-ai-sdk.md +0 -140
- package/dist/docs/references/reference-agents-agent.md +0 -142
- package/dist/docs/references/reference-agents-generate.md +0 -174
- package/dist/docs/references/reference-agents-generateLegacy.md +0 -176
- package/dist/docs/references/reference-agents-getDefaultGenerateOptions.md +0 -36
- package/dist/docs/references/reference-agents-getDefaultOptions.md +0 -34
- package/dist/docs/references/reference-agents-getDefaultStreamOptions.md +0 -36
- package/dist/docs/references/reference-agents-getDescription.md +0 -21
- package/dist/docs/references/reference-agents-getInstructions.md +0 -34
- package/dist/docs/references/reference-agents-getLLM.md +0 -37
- package/dist/docs/references/reference-agents-getMemory.md +0 -34
- package/dist/docs/references/reference-agents-getModel.md +0 -34
- package/dist/docs/references/reference-agents-getTools.md +0 -29
- package/dist/docs/references/reference-agents-getVoice.md +0 -34
- package/dist/docs/references/reference-agents-listAgents.md +0 -35
- package/dist/docs/references/reference-agents-listScorers.md +0 -34
- package/dist/docs/references/reference-agents-listTools.md +0 -34
- package/dist/docs/references/reference-agents-listWorkflows.md +0 -34
- package/dist/docs/references/reference-agents-network.md +0 -134
- package/dist/docs/references/reference-ai-sdk-chat-route.md +0 -82
- package/dist/docs/references/reference-ai-sdk-network-route.md +0 -74
- package/dist/docs/references/reference-ai-sdk-to-ai-sdk-stream.md +0 -232
- package/dist/docs/references/reference-ai-sdk-with-mastra.md +0 -59
- package/dist/docs/references/reference-ai-sdk-workflow-route.md +0 -79
- package/dist/docs/references/reference-auth-auth0.md +0 -73
- package/dist/docs/references/reference-auth-clerk.md +0 -36
- package/dist/docs/references/reference-auth-firebase.md +0 -80
- package/dist/docs/references/reference-auth-jwt.md +0 -26
- package/dist/docs/references/reference-auth-supabase.md +0 -33
- package/dist/docs/references/reference-auth-workos.md +0 -84
- package/dist/docs/references/reference-client-js-agents.md +0 -438
- package/dist/docs/references/reference-configuration.md +0 -749
- package/dist/docs/references/reference-core-addGateway.md +0 -42
- package/dist/docs/references/reference-core-getAgent.md +0 -21
- package/dist/docs/references/reference-core-getAgentById.md +0 -21
- package/dist/docs/references/reference-core-getDeployer.md +0 -22
- package/dist/docs/references/reference-core-getGateway.md +0 -38
- package/dist/docs/references/reference-core-getGatewayById.md +0 -41
- package/dist/docs/references/reference-core-getLogger.md +0 -22
- package/dist/docs/references/reference-core-getMCPServer.md +0 -45
- package/dist/docs/references/reference-core-getMCPServerById.md +0 -53
- package/dist/docs/references/reference-core-getMemory.md +0 -50
- package/dist/docs/references/reference-core-getScorer.md +0 -54
- package/dist/docs/references/reference-core-getScorerById.md +0 -54
- package/dist/docs/references/reference-core-getServer.md +0 -22
- package/dist/docs/references/reference-core-getStorage.md +0 -22
- package/dist/docs/references/reference-core-getStoredAgentById.md +0 -89
- package/dist/docs/references/reference-core-getTelemetry.md +0 -22
- package/dist/docs/references/reference-core-getVector.md +0 -22
- package/dist/docs/references/reference-core-getWorkflow.md +0 -40
- package/dist/docs/references/reference-core-listAgents.md +0 -21
- package/dist/docs/references/reference-core-listGateways.md +0 -40
- package/dist/docs/references/reference-core-listLogs.md +0 -38
- package/dist/docs/references/reference-core-listLogsByRunId.md +0 -36
- package/dist/docs/references/reference-core-listMCPServers.md +0 -51
- package/dist/docs/references/reference-core-listMemory.md +0 -56
- package/dist/docs/references/reference-core-listScorers.md +0 -29
- package/dist/docs/references/reference-core-listStoredAgents.md +0 -93
- package/dist/docs/references/reference-core-listVectors.md +0 -22
- package/dist/docs/references/reference-core-listWorkflows.md +0 -21
- package/dist/docs/references/reference-core-mastra-class.md +0 -66
- package/dist/docs/references/reference-core-mastra-model-gateway.md +0 -153
- package/dist/docs/references/reference-core-setLogger.md +0 -26
- package/dist/docs/references/reference-core-setStorage.md +0 -27
- package/dist/docs/references/reference-datasets-addItem.md +0 -35
- package/dist/docs/references/reference-datasets-addItems.md +0 -33
- package/dist/docs/references/reference-datasets-compareExperiments.md +0 -48
- package/dist/docs/references/reference-datasets-create.md +0 -49
- package/dist/docs/references/reference-datasets-dataset.md +0 -78
- package/dist/docs/references/reference-datasets-datasets-manager.md +0 -84
- package/dist/docs/references/reference-datasets-delete.md +0 -23
- package/dist/docs/references/reference-datasets-deleteExperiment.md +0 -25
- package/dist/docs/references/reference-datasets-deleteItem.md +0 -25
- package/dist/docs/references/reference-datasets-deleteItems.md +0 -27
- package/dist/docs/references/reference-datasets-get.md +0 -29
- package/dist/docs/references/reference-datasets-getDetails.md +0 -45
- package/dist/docs/references/reference-datasets-getExperiment.md +0 -28
- package/dist/docs/references/reference-datasets-getItem.md +0 -31
- package/dist/docs/references/reference-datasets-getItemHistory.md +0 -29
- package/dist/docs/references/reference-datasets-list.md +0 -29
- package/dist/docs/references/reference-datasets-listExperimentResults.md +0 -37
- package/dist/docs/references/reference-datasets-listExperiments.md +0 -31
- package/dist/docs/references/reference-datasets-listItems.md +0 -44
- package/dist/docs/references/reference-datasets-listVersions.md +0 -31
- package/dist/docs/references/reference-datasets-startExperiment.md +0 -60
- package/dist/docs/references/reference-datasets-startExperimentAsync.md +0 -41
- package/dist/docs/references/reference-datasets-update.md +0 -46
- package/dist/docs/references/reference-datasets-updateItem.md +0 -36
- package/dist/docs/references/reference-evals-answer-relevancy.md +0 -105
- package/dist/docs/references/reference-evals-answer-similarity.md +0 -99
- package/dist/docs/references/reference-evals-bias.md +0 -120
- package/dist/docs/references/reference-evals-completeness.md +0 -137
- package/dist/docs/references/reference-evals-content-similarity.md +0 -101
- package/dist/docs/references/reference-evals-context-precision.md +0 -196
- package/dist/docs/references/reference-evals-create-scorer.md +0 -270
- package/dist/docs/references/reference-evals-faithfulness.md +0 -114
- package/dist/docs/references/reference-evals-hallucination.md +0 -220
- package/dist/docs/references/reference-evals-keyword-coverage.md +0 -128
- package/dist/docs/references/reference-evals-mastra-scorer.md +0 -123
- package/dist/docs/references/reference-evals-run-evals.md +0 -138
- package/dist/docs/references/reference-evals-scorer-utils.md +0 -330
- package/dist/docs/references/reference-evals-textual-difference.md +0 -113
- package/dist/docs/references/reference-evals-tone-consistency.md +0 -119
- package/dist/docs/references/reference-evals-toxicity.md +0 -123
- package/dist/docs/references/reference-harness-harness-class.md +0 -645
- package/dist/docs/references/reference-logging-pino-logger.md +0 -117
- package/dist/docs/references/reference-memory-deleteMessages.md +0 -40
- package/dist/docs/references/reference-memory-memory-class.md +0 -147
- package/dist/docs/references/reference-memory-observational-memory.md +0 -565
- package/dist/docs/references/reference-observability-tracing-bridges-otel.md +0 -131
- package/dist/docs/references/reference-observability-tracing-configuration.md +0 -178
- package/dist/docs/references/reference-observability-tracing-exporters-console-exporter.md +0 -138
- package/dist/docs/references/reference-observability-tracing-exporters-datadog.md +0 -116
- package/dist/docs/references/reference-observability-tracing-instances.md +0 -109
- package/dist/docs/references/reference-observability-tracing-interfaces.md +0 -749
- package/dist/docs/references/reference-observability-tracing-processors-sensitive-data-filter.md +0 -144
- package/dist/docs/references/reference-observability-tracing-spans.md +0 -224
- package/dist/docs/references/reference-processors-batch-parts-processor.md +0 -61
- package/dist/docs/references/reference-processors-language-detector.md +0 -81
- package/dist/docs/references/reference-processors-message-history-processor.md +0 -85
- package/dist/docs/references/reference-processors-moderation-processor.md +0 -104
- package/dist/docs/references/reference-processors-pii-detector.md +0 -107
- package/dist/docs/references/reference-processors-processor-interface.md +0 -525
- package/dist/docs/references/reference-processors-prompt-injection-detector.md +0 -71
- package/dist/docs/references/reference-processors-semantic-recall-processor.md +0 -123
- package/dist/docs/references/reference-processors-system-prompt-scrubber.md +0 -80
- package/dist/docs/references/reference-processors-token-limiter-processor.md +0 -113
- package/dist/docs/references/reference-processors-tool-call-filter.md +0 -85
- package/dist/docs/references/reference-processors-tool-search-processor.md +0 -113
- package/dist/docs/references/reference-processors-unicode-normalizer.md +0 -62
- package/dist/docs/references/reference-processors-working-memory-processor.md +0 -154
- package/dist/docs/references/reference-rag-database-config.md +0 -264
- package/dist/docs/references/reference-rag-embeddings.md +0 -92
- package/dist/docs/references/reference-server-mastra-server.md +0 -298
- package/dist/docs/references/reference-server-register-api-route.md +0 -249
- package/dist/docs/references/reference-storage-cloudflare-d1.md +0 -218
- package/dist/docs/references/reference-storage-composite.md +0 -235
- package/dist/docs/references/reference-storage-lance.md +0 -131
- package/dist/docs/references/reference-storage-libsql.md +0 -135
- package/dist/docs/references/reference-storage-mongodb.md +0 -262
- package/dist/docs/references/reference-storage-mssql.md +0 -155
- package/dist/docs/references/reference-storage-overview.md +0 -121
- package/dist/docs/references/reference-storage-postgresql.md +0 -529
- package/dist/docs/references/reference-storage-upstash.md +0 -160
- package/dist/docs/references/reference-streaming-ChunkType.md +0 -292
- package/dist/docs/references/reference-streaming-agents-MastraModelOutput.md +0 -182
- package/dist/docs/references/reference-streaming-agents-streamLegacy.md +0 -142
- package/dist/docs/references/reference-streaming-workflows-observeStream.md +0 -42
- package/dist/docs/references/reference-streaming-workflows-resumeStream.md +0 -61
- package/dist/docs/references/reference-streaming-workflows-stream.md +0 -88
- package/dist/docs/references/reference-streaming-workflows-timeTravelStream.md +0 -142
- package/dist/docs/references/reference-templates-overview.md +0 -194
- package/dist/docs/references/reference-tools-create-tool.md +0 -237
- package/dist/docs/references/reference-tools-graph-rag-tool.md +0 -185
- package/dist/docs/references/reference-tools-mcp-client.md +0 -962
- package/dist/docs/references/reference-tools-mcp-server.md +0 -1275
- package/dist/docs/references/reference-tools-vector-query-tool.md +0 -459
- package/dist/docs/references/reference-vectors-libsql.md +0 -305
- package/dist/docs/references/reference-vectors-mongodb.md +0 -295
- package/dist/docs/references/reference-vectors-pg.md +0 -408
- package/dist/docs/references/reference-vectors-upstash.md +0 -294
- package/dist/docs/references/reference-voice-composite-voice.md +0 -121
- package/dist/docs/references/reference-voice-mastra-voice.md +0 -313
- package/dist/docs/references/reference-voice-voice.addInstructions.md +0 -56
- package/dist/docs/references/reference-voice-voice.addTools.md +0 -67
- package/dist/docs/references/reference-voice-voice.connect.md +0 -94
- package/dist/docs/references/reference-voice-voice.events.md +0 -37
- package/dist/docs/references/reference-voice-voice.listen.md +0 -164
- package/dist/docs/references/reference-voice-voice.on.md +0 -111
- package/dist/docs/references/reference-voice-voice.speak.md +0 -157
- package/dist/docs/references/reference-workflows-run-methods-cancel.md +0 -86
- package/dist/docs/references/reference-workflows-run-methods-restart.md +0 -33
- package/dist/docs/references/reference-workflows-run-methods-resume.md +0 -59
- package/dist/docs/references/reference-workflows-run-methods-start.md +0 -58
- package/dist/docs/references/reference-workflows-run-methods-startAsync.md +0 -67
- package/dist/docs/references/reference-workflows-run-methods-timeTravel.md +0 -142
- package/dist/docs/references/reference-workflows-run.md +0 -59
- package/dist/docs/references/reference-workflows-step.md +0 -119
- package/dist/docs/references/reference-workflows-workflow-methods-branch.md +0 -25
- package/dist/docs/references/reference-workflows-workflow-methods-commit.md +0 -17
- package/dist/docs/references/reference-workflows-workflow-methods-create-run.md +0 -63
- package/dist/docs/references/reference-workflows-workflow-methods-dountil.md +0 -25
- package/dist/docs/references/reference-workflows-workflow-methods-dowhile.md +0 -25
- package/dist/docs/references/reference-workflows-workflow-methods-foreach.md +0 -118
- package/dist/docs/references/reference-workflows-workflow-methods-map.md +0 -93
- package/dist/docs/references/reference-workflows-workflow-methods-parallel.md +0 -21
- package/dist/docs/references/reference-workflows-workflow-methods-sleep.md +0 -35
- package/dist/docs/references/reference-workflows-workflow-methods-sleepUntil.md +0 -35
- package/dist/docs/references/reference-workflows-workflow-methods-then.md +0 -21
- package/dist/docs/references/reference-workflows-workflow.md +0 -157
- package/dist/docs/references/reference-workspace-filesystem.md +0 -202
- package/dist/docs/references/reference-workspace-local-filesystem.md +0 -327
- package/dist/docs/references/reference-workspace-local-sandbox.md +0 -285
- package/dist/docs/references/reference-workspace-sandbox.md +0 -81
- package/dist/docs/references/reference-workspace-workspace-class.md +0 -226
- package/dist/docs/references/reference.md +0 -276
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
# WorkingMemory
|
|
2
|
-
|
|
3
|
-
The `WorkingMemory` is an **input processor** that injects working memory data as a system message. It retrieves persistent information from storage and formats it as instructions for the LLM, enabling the agent to maintain context about users across conversations.
|
|
4
|
-
|
|
5
|
-
## Usage example
|
|
6
|
-
|
|
7
|
-
```typescript
|
|
8
|
-
import { WorkingMemory } from "@mastra/core/processors";
|
|
9
|
-
|
|
10
|
-
const processor = new WorkingMemory({
|
|
11
|
-
storage: memoryStorage,
|
|
12
|
-
scope: "resource",
|
|
13
|
-
template: {
|
|
14
|
-
format: "markdown",
|
|
15
|
-
content: `# User Profile
|
|
16
|
-
- **Name**:
|
|
17
|
-
- **Preferences**:
|
|
18
|
-
- **Goals**:
|
|
19
|
-
`,
|
|
20
|
-
},
|
|
21
|
-
});
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## Constructor parameters
|
|
25
|
-
|
|
26
|
-
**options:** (`Options`): Configuration options for the working memory processor
|
|
27
|
-
|
|
28
|
-
### Options
|
|
29
|
-
|
|
30
|
-
**storage:** (`MemoryStorage`): Storage instance for retrieving working memory data
|
|
31
|
-
|
|
32
|
-
**template?:** (`WorkingMemoryTemplate`): Template defining the format and structure of working memory
|
|
33
|
-
|
|
34
|
-
**scope?:** (`'thread' | 'resource'`): Scope of working memory. 'thread' scopes to current thread, 'resource' shares across all threads for the resource
|
|
35
|
-
|
|
36
|
-
**useVNext?:** (`boolean`): Use the next-generation instruction format with improved guidelines
|
|
37
|
-
|
|
38
|
-
**readOnly?:** (`boolean`): When true, working memory is provided as read-only context. The data is injected into the conversation but without the updateWorkingMemory tool or update instructions. Useful for agents that should reference working memory without modifying it.
|
|
39
|
-
|
|
40
|
-
**templateProvider?:** (`{ getWorkingMemoryTemplate(args: { memoryConfig?: MemoryConfig }): Promise<WorkingMemoryTemplate | null> }`): Dynamic template provider for runtime template resolution
|
|
41
|
-
|
|
42
|
-
**logger?:** (`IMastraLogger`): Optional logger instance for structured logging
|
|
43
|
-
|
|
44
|
-
### WorkingMemoryTemplate
|
|
45
|
-
|
|
46
|
-
**format:** (`'markdown' | 'json'`): Format of the working memory content
|
|
47
|
-
|
|
48
|
-
**content:** (`string`): Template content defining the structure of working memory data
|
|
49
|
-
|
|
50
|
-
## Returns
|
|
51
|
-
|
|
52
|
-
**id:** (`string`): Processor identifier set to 'working-memory'
|
|
53
|
-
|
|
54
|
-
**name:** (`string`): Processor display name set to 'WorkingMemory'
|
|
55
|
-
|
|
56
|
-
**defaultWorkingMemoryTemplate:** (`string`): The default markdown template used when no custom template is provided
|
|
57
|
-
|
|
58
|
-
**processInput:** (`(args: { messages: MastraDBMessage[]; messageList: MessageList; abort: (reason?: string) => never; requestContext?: RequestContext }) => Promise<MessageList | MastraDBMessage[]>`): Retrieves working memory and adds it as a system message to the message list
|
|
59
|
-
|
|
60
|
-
## Extended usage example
|
|
61
|
-
|
|
62
|
-
```typescript
|
|
63
|
-
import { Agent } from "@mastra/core/agent";
|
|
64
|
-
import { WorkingMemory, MessageHistory } from "@mastra/core/processors";
|
|
65
|
-
import { PostgresStorage } from "@mastra/pg";
|
|
66
|
-
|
|
67
|
-
const storage = new PostgresStorage({
|
|
68
|
-
connectionString: process.env.DATABASE_URL,
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
export const agent = new Agent({
|
|
72
|
-
name: "personalized-agent",
|
|
73
|
-
instructions: "You are a helpful assistant that remembers user preferences",
|
|
74
|
-
model: "openai:gpt-4o",
|
|
75
|
-
inputProcessors: [
|
|
76
|
-
new WorkingMemory({
|
|
77
|
-
storage,
|
|
78
|
-
scope: "resource",
|
|
79
|
-
template: {
|
|
80
|
-
format: "markdown",
|
|
81
|
-
content: `# User Information
|
|
82
|
-
- **Name**:
|
|
83
|
-
- **Location**:
|
|
84
|
-
- **Preferences**:
|
|
85
|
-
- **Communication Style**:
|
|
86
|
-
- **Current Projects**:
|
|
87
|
-
`,
|
|
88
|
-
},
|
|
89
|
-
}),
|
|
90
|
-
new MessageHistory({ storage, lastMessages: 50 }),
|
|
91
|
-
],
|
|
92
|
-
outputProcessors: [
|
|
93
|
-
new MessageHistory({ storage }),
|
|
94
|
-
],
|
|
95
|
-
});
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
## JSON format example
|
|
99
|
-
|
|
100
|
-
```typescript
|
|
101
|
-
import { WorkingMemory } from "@mastra/core/processors";
|
|
102
|
-
|
|
103
|
-
const processor = new WorkingMemory({
|
|
104
|
-
storage: memoryStorage,
|
|
105
|
-
scope: "resource",
|
|
106
|
-
template: {
|
|
107
|
-
format: "json",
|
|
108
|
-
content: JSON.stringify({
|
|
109
|
-
user: {
|
|
110
|
-
name: { type: "string" },
|
|
111
|
-
preferences: { type: "object" },
|
|
112
|
-
goals: { type: "array" },
|
|
113
|
-
},
|
|
114
|
-
}),
|
|
115
|
-
},
|
|
116
|
-
});
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
## Behavior
|
|
120
|
-
|
|
121
|
-
### Input processing
|
|
122
|
-
|
|
123
|
-
1. Retrieves `threadId` and `resourceId` from the request context
|
|
124
|
-
|
|
125
|
-
2. Based on scope, fetches working memory from either:
|
|
126
|
-
|
|
127
|
-
- Thread metadata (`scope: 'thread'`)
|
|
128
|
-
- Resource record (`scope: 'resource'`)
|
|
129
|
-
|
|
130
|
-
3. Resolves the template (from provider, options, or default)
|
|
131
|
-
|
|
132
|
-
4. Generates system instructions based on mode:
|
|
133
|
-
|
|
134
|
-
- **Normal mode**: Includes guidelines for storing/updating information, template structure, and current data
|
|
135
|
-
- **Read-only mode** (`readOnly: true`): Includes only the current data as context without update instructions
|
|
136
|
-
|
|
137
|
-
5. Adds the instruction as a system message with `source: 'memory'` tag
|
|
138
|
-
|
|
139
|
-
### Working memory updates
|
|
140
|
-
|
|
141
|
-
Working memory updates happen through the `updateWorkingMemory` tool provided by the Memory class, not through this processor. The processor only handles injecting the current working memory state into conversations.
|
|
142
|
-
|
|
143
|
-
### Default template
|
|
144
|
-
|
|
145
|
-
If no template is provided, the processor uses a default markdown template with fields for:
|
|
146
|
-
|
|
147
|
-
- First Name, Last Name
|
|
148
|
-
- Location, Occupation
|
|
149
|
-
- Interests, Goals
|
|
150
|
-
- Events, Facts, Projects
|
|
151
|
-
|
|
152
|
-
## Related
|
|
153
|
-
|
|
154
|
-
- [Guardrails](https://mastra.ai/docs/agents/guardrails)
|
|
@@ -1,264 +0,0 @@
|
|
|
1
|
-
# DatabaseConfig
|
|
2
|
-
|
|
3
|
-
The `DatabaseConfig` type allows you to specify database-specific configurations when using vector query tools. These configurations enable you to leverage unique features and optimizations offered by different vector stores.
|
|
4
|
-
|
|
5
|
-
## Type Definition
|
|
6
|
-
|
|
7
|
-
```typescript
|
|
8
|
-
export type DatabaseConfig = {
|
|
9
|
-
pinecone?: PineconeConfig;
|
|
10
|
-
pgvector?: PgVectorConfig;
|
|
11
|
-
chroma?: ChromaConfig;
|
|
12
|
-
[key: string]: any; // Extensible for future databases
|
|
13
|
-
};
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## Database-Specific Types
|
|
17
|
-
|
|
18
|
-
### PineconeConfig
|
|
19
|
-
|
|
20
|
-
Configuration options specific to Pinecone vector store.
|
|
21
|
-
|
|
22
|
-
**namespace?:** (`string`): Pinecone namespace for organizing and isolating vectors within the same index. Useful for multi-tenancy or environment separation.
|
|
23
|
-
|
|
24
|
-
**sparseVector?:** (`{ indices: number[]; values: number[]; }`): objectindices:number\[]Array of indices for sparse vector componentsvalues:number\[]Array of values corresponding to the indices
|
|
25
|
-
|
|
26
|
-
**Use Cases:**
|
|
27
|
-
|
|
28
|
-
- Multi-tenant applications (separate namespaces per tenant)
|
|
29
|
-
- Environment isolation (dev/staging/prod namespaces)
|
|
30
|
-
- Hybrid search combining semantic and keyword matching
|
|
31
|
-
|
|
32
|
-
### PgVectorConfig
|
|
33
|
-
|
|
34
|
-
Configuration options specific to PostgreSQL with pgvector extension.
|
|
35
|
-
|
|
36
|
-
**minScore?:** (`number`): Minimum similarity score threshold for results. Only vectors with similarity scores above this value will be returned.
|
|
37
|
-
|
|
38
|
-
**ef?:** (`number`): HNSW search parameter that controls the size of the dynamic candidate list during search. Higher values improve accuracy at the cost of speed. Typically set between topK and 200.
|
|
39
|
-
|
|
40
|
-
**probes?:** (`number`): IVFFlat probe parameter that specifies the number of index cells to visit during search. Higher values improve recall at the cost of speed.
|
|
41
|
-
|
|
42
|
-
**Performance Guidelines:**
|
|
43
|
-
|
|
44
|
-
- **ef**: Start with 2-4x your topK value, increase for better accuracy
|
|
45
|
-
- **probes**: Start with 1-10, increase for better recall
|
|
46
|
-
- **minScore**: Use values between 0.5-0.9 depending on your quality requirements
|
|
47
|
-
|
|
48
|
-
**Use Cases:**
|
|
49
|
-
|
|
50
|
-
- Performance optimization for high-load scenarios
|
|
51
|
-
- Quality filtering to remove irrelevant results
|
|
52
|
-
- Fine-tuning search accuracy vs speed tradeoffs
|
|
53
|
-
|
|
54
|
-
### ChromaConfig
|
|
55
|
-
|
|
56
|
-
Configuration options specific to Chroma vector store.
|
|
57
|
-
|
|
58
|
-
**where?:** (`Record<string, any>`): Metadata filtering conditions using MongoDB-style query syntax. Filters results based on metadata fields.
|
|
59
|
-
|
|
60
|
-
**whereDocument?:** (`Record<string, any>`): Document content filtering conditions. Allows filtering based on the actual document text content.
|
|
61
|
-
|
|
62
|
-
**Filter Syntax Examples:**
|
|
63
|
-
|
|
64
|
-
```typescript
|
|
65
|
-
// Simple equality
|
|
66
|
-
where: { "category": "technical" }
|
|
67
|
-
|
|
68
|
-
// Operators
|
|
69
|
-
where: { "price": { "$gt": 100 } }
|
|
70
|
-
|
|
71
|
-
// Multiple conditions
|
|
72
|
-
where: {
|
|
73
|
-
"category": "electronics",
|
|
74
|
-
"inStock": true
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
// Document content filtering
|
|
78
|
-
whereDocument: { "$contains": "API documentation" }
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
**Use Cases:**
|
|
82
|
-
|
|
83
|
-
- Advanced metadata filtering
|
|
84
|
-
- Content-based document filtering
|
|
85
|
-
- Complex query combinations
|
|
86
|
-
|
|
87
|
-
## Usage Examples
|
|
88
|
-
|
|
89
|
-
**Basic Usage**:
|
|
90
|
-
|
|
91
|
-
### Basic Database Configuration
|
|
92
|
-
|
|
93
|
-
```typescript
|
|
94
|
-
import { createVectorQueryTool } from '@mastra/rag';
|
|
95
|
-
|
|
96
|
-
const vectorTool = createVectorQueryTool({
|
|
97
|
-
vectorStoreName: 'pinecone',
|
|
98
|
-
indexName: 'documents',
|
|
99
|
-
model: embedModel,
|
|
100
|
-
databaseConfig: {
|
|
101
|
-
pinecone: {
|
|
102
|
-
namespace: 'production'
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
**Runtime Override**:
|
|
109
|
-
|
|
110
|
-
### Runtime Configuration Override
|
|
111
|
-
|
|
112
|
-
```typescript
|
|
113
|
-
import { RequestContext } from '@mastra/core/request-context';
|
|
114
|
-
|
|
115
|
-
// Initial configuration
|
|
116
|
-
const vectorTool = createVectorQueryTool({
|
|
117
|
-
vectorStoreName: 'pinecone',
|
|
118
|
-
indexName: 'documents',
|
|
119
|
-
model: embedModel,
|
|
120
|
-
databaseConfig: {
|
|
121
|
-
pinecone: {
|
|
122
|
-
namespace: 'development'
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
|
|
127
|
-
// Override at runtime
|
|
128
|
-
const requestContext = new RequestContext();
|
|
129
|
-
requestContext.set('databaseConfig', {
|
|
130
|
-
pinecone: {
|
|
131
|
-
namespace: 'production'
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
|
|
135
|
-
await vectorTool.execute(
|
|
136
|
-
{ queryText: 'search query' },
|
|
137
|
-
{ mastra, requestContext }
|
|
138
|
-
);
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
**Multi-Database**:
|
|
142
|
-
|
|
143
|
-
### Multi-Database Configuration
|
|
144
|
-
|
|
145
|
-
```typescript
|
|
146
|
-
const vectorTool = createVectorQueryTool({
|
|
147
|
-
vectorStoreName: 'dynamic', // Will be determined at runtime
|
|
148
|
-
indexName: 'documents',
|
|
149
|
-
model: embedModel,
|
|
150
|
-
databaseConfig: {
|
|
151
|
-
pinecone: {
|
|
152
|
-
namespace: 'default'
|
|
153
|
-
},
|
|
154
|
-
pgvector: {
|
|
155
|
-
minScore: 0.8,
|
|
156
|
-
ef: 150
|
|
157
|
-
},
|
|
158
|
-
chroma: {
|
|
159
|
-
where: { 'type': 'documentation' }
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
});
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
> **Note:** **Multi-Database Support**: When you configure multiple databases, only the configuration matching the actual vector store being used will be applied.
|
|
166
|
-
|
|
167
|
-
**Performance Tuning**:
|
|
168
|
-
|
|
169
|
-
### Performance Tuning
|
|
170
|
-
|
|
171
|
-
```typescript
|
|
172
|
-
// High accuracy configuration
|
|
173
|
-
const highAccuracyTool = createVectorQueryTool({
|
|
174
|
-
vectorStoreName: 'postgres',
|
|
175
|
-
indexName: 'embeddings',
|
|
176
|
-
model: embedModel,
|
|
177
|
-
databaseConfig: {
|
|
178
|
-
pgvector: {
|
|
179
|
-
ef: 400, // High accuracy
|
|
180
|
-
probes: 20, // High recall
|
|
181
|
-
minScore: 0.85 // High quality threshold
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
});
|
|
185
|
-
|
|
186
|
-
// High speed configuration
|
|
187
|
-
const highSpeedTool = createVectorQueryTool({
|
|
188
|
-
vectorStoreName: 'postgres',
|
|
189
|
-
indexName: 'embeddings',
|
|
190
|
-
model: embedModel,
|
|
191
|
-
databaseConfig: {
|
|
192
|
-
pgvector: {
|
|
193
|
-
ef: 50, // Lower accuracy, faster
|
|
194
|
-
probes: 3, // Lower recall, faster
|
|
195
|
-
minScore: 0.6 // Lower quality threshold
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
});
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
## Extensibility
|
|
202
|
-
|
|
203
|
-
The `DatabaseConfig` type is designed to be extensible. To add support for a new vector database:
|
|
204
|
-
|
|
205
|
-
```typescript
|
|
206
|
-
// 1. Define the configuration interface
|
|
207
|
-
export interface NewDatabaseConfig {
|
|
208
|
-
customParam1?: string;
|
|
209
|
-
customParam2?: number;
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
// 2. Extend DatabaseConfig type
|
|
213
|
-
export type DatabaseConfig = {
|
|
214
|
-
pinecone?: PineconeConfig;
|
|
215
|
-
pgvector?: PgVectorConfig;
|
|
216
|
-
chroma?: ChromaConfig;
|
|
217
|
-
newdatabase?: NewDatabaseConfig;
|
|
218
|
-
[key: string]: any;
|
|
219
|
-
};
|
|
220
|
-
|
|
221
|
-
// 3. Use in vector query tool
|
|
222
|
-
const vectorTool = createVectorQueryTool({
|
|
223
|
-
vectorStoreName: "newdatabase",
|
|
224
|
-
indexName: "documents",
|
|
225
|
-
model: embedModel,
|
|
226
|
-
databaseConfig: {
|
|
227
|
-
newdatabase: {
|
|
228
|
-
customParam1: "value",
|
|
229
|
-
customParam2: 42,
|
|
230
|
-
},
|
|
231
|
-
},
|
|
232
|
-
});
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
## Best Practices
|
|
236
|
-
|
|
237
|
-
1. **Environment Configuration**: Use different namespaces or configurations for different environments
|
|
238
|
-
2. **Performance Tuning**: Start with default values and adjust based on your specific needs
|
|
239
|
-
3. **Quality Filtering**: Use minScore to filter out low-quality results
|
|
240
|
-
4. **Runtime Flexibility**: Override configurations at runtime for dynamic scenarios
|
|
241
|
-
5. **Documentation**: Document your specific configuration choices for team members
|
|
242
|
-
|
|
243
|
-
## Migration Guide
|
|
244
|
-
|
|
245
|
-
Existing vector query tools continue to work without changes. To add database configurations:
|
|
246
|
-
|
|
247
|
-
```diff
|
|
248
|
-
const vectorTool = createVectorQueryTool({
|
|
249
|
-
vectorStoreName: 'pinecone',
|
|
250
|
-
indexName: 'documents',
|
|
251
|
-
model: embedModel,
|
|
252
|
-
+ databaseConfig: {
|
|
253
|
-
+ pinecone: {
|
|
254
|
-
+ namespace: 'production'
|
|
255
|
-
+ }
|
|
256
|
-
+ }
|
|
257
|
-
});
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
## Related
|
|
261
|
-
|
|
262
|
-
- [createVectorQueryTool()](https://mastra.ai/reference/tools/vector-query-tool)
|
|
263
|
-
- [Hybrid Vector Search](https://mastra.ai/docs/rag/retrieval)
|
|
264
|
-
- [Metadata Filters](https://mastra.ai/reference/rag/metadata-filters)
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
# Embed
|
|
2
|
-
|
|
3
|
-
Mastra uses the AI SDK's `embed` and `embedMany` functions to generate vector embeddings for text inputs, enabling similarity search and RAG workflows.
|
|
4
|
-
|
|
5
|
-
## Single Embedding
|
|
6
|
-
|
|
7
|
-
The `embed` function generates a vector embedding for a single text input:
|
|
8
|
-
|
|
9
|
-
```typescript
|
|
10
|
-
import { embed } from "ai";
|
|
11
|
-
import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
|
|
12
|
-
|
|
13
|
-
const result = await embed({
|
|
14
|
-
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
15
|
-
value: "Your text to embed",
|
|
16
|
-
maxRetries: 2, // optional, defaults to 2
|
|
17
|
-
});
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
### Parameters
|
|
21
|
-
|
|
22
|
-
**model:** (`EmbeddingModel`): The embedding model to use (e.g. openai.embedding('text-embedding-3-small'))
|
|
23
|
-
|
|
24
|
-
**value:** (`string | Record<string, any>`): The text content or object to embed
|
|
25
|
-
|
|
26
|
-
**maxRetries?:** (`number`): Maximum number of retries per embedding call. Set to 0 to disable retries. (Default: `2`)
|
|
27
|
-
|
|
28
|
-
**abortSignal?:** (`AbortSignal`): Optional abort signal to cancel the request
|
|
29
|
-
|
|
30
|
-
**headers?:** (`Record<string, string>`): Additional HTTP headers for the request (only for HTTP-based providers)
|
|
31
|
-
|
|
32
|
-
### Return Value
|
|
33
|
-
|
|
34
|
-
**embedding:** (`number[]`): The embedding vector for the input
|
|
35
|
-
|
|
36
|
-
## Multiple Embeddings
|
|
37
|
-
|
|
38
|
-
For embedding multiple texts at once, use the `embedMany` function:
|
|
39
|
-
|
|
40
|
-
```typescript
|
|
41
|
-
import { embedMany } from "ai";
|
|
42
|
-
|
|
43
|
-
const result = await embedMany({
|
|
44
|
-
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
45
|
-
values: ["First text", "Second text", "Third text"],
|
|
46
|
-
maxRetries: 2, // optional, defaults to 2
|
|
47
|
-
});
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
### Parameters
|
|
51
|
-
|
|
52
|
-
**model:** (`EmbeddingModel`): The embedding model to use (e.g. openai.embedding('text-embedding-3-small'))
|
|
53
|
-
|
|
54
|
-
**values:** (`string[] | Record<string, any>[]`): Array of text content or objects to embed
|
|
55
|
-
|
|
56
|
-
**maxRetries?:** (`number`): Maximum number of retries per embedding call. Set to 0 to disable retries. (Default: `2`)
|
|
57
|
-
|
|
58
|
-
**abortSignal?:** (`AbortSignal`): Optional abort signal to cancel the request
|
|
59
|
-
|
|
60
|
-
**headers?:** (`Record<string, string>`): Additional HTTP headers for the request (only for HTTP-based providers)
|
|
61
|
-
|
|
62
|
-
### Return Value
|
|
63
|
-
|
|
64
|
-
**embeddings:** (`number[][]`): Array of embedding vectors corresponding to the input values
|
|
65
|
-
|
|
66
|
-
## Example Usage
|
|
67
|
-
|
|
68
|
-
```typescript
|
|
69
|
-
import { embed, embedMany } from "ai";
|
|
70
|
-
|
|
71
|
-
// Single embedding
|
|
72
|
-
const singleResult = await embed({
|
|
73
|
-
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
74
|
-
value: "What is the meaning of life?",
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
// Multiple embeddings
|
|
78
|
-
const multipleResult = await embedMany({
|
|
79
|
-
model: new ModelRouterEmbeddingModel("openai/text-embedding-3-small"),
|
|
80
|
-
values: [
|
|
81
|
-
"First question about life",
|
|
82
|
-
"Second question about universe",
|
|
83
|
-
"Third question about everything",
|
|
84
|
-
],
|
|
85
|
-
});
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
For more detailed information about embeddings in the Vercel AI SDK, see:
|
|
89
|
-
|
|
90
|
-
- [AI SDK Embeddings Overview](https://sdk.vercel.ai/docs/ai-sdk-core/embeddings)
|
|
91
|
-
- [embed()](https://sdk.vercel.ai/docs/reference/ai-sdk-core/embed)
|
|
92
|
-
- [embedMany()](https://sdk.vercel.ai/docs/reference/ai-sdk-core/embed-many)
|