@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,135 +0,0 @@
|
|
|
1
|
-
# libSQL Storage
|
|
2
|
-
|
|
3
|
-
[libSQL](https://docs.turso.tech/libsql) is an open-source, SQLite-compatible database that supports both local and remote deployments. It can be used to store message history, workflow snapshots, traces, and eval scores.
|
|
4
|
-
|
|
5
|
-
For vectors like semantic recall or traditional RAG, use [libSQL Vector](https://mastra.ai/reference/vectors/libsql) which covers embeddings and vector search.
|
|
6
|
-
|
|
7
|
-
## Installation
|
|
8
|
-
|
|
9
|
-
Storage providers must be installed as separate packages:
|
|
10
|
-
|
|
11
|
-
**npm**:
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
npm install @mastra/libsql@latest
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
**pnpm**:
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
pnpm add @mastra/libsql@latest
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
**Yarn**:
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
yarn add @mastra/libsql@latest
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
**Bun**:
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
bun add @mastra/libsql@latest
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Usage
|
|
36
|
-
|
|
37
|
-
```typescript
|
|
38
|
-
import { LibSQLStore } from "@mastra/libsql";
|
|
39
|
-
import { Mastra } from "@mastra/core";
|
|
40
|
-
|
|
41
|
-
const mastra = new Mastra({
|
|
42
|
-
storage: new LibSQLStore({
|
|
43
|
-
id: 'libsql-storage',
|
|
44
|
-
url: "file:./storage.db",
|
|
45
|
-
}),
|
|
46
|
-
});
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
Agent-level file storage:
|
|
50
|
-
|
|
51
|
-
```typescript
|
|
52
|
-
import { Memory } from "@mastra/memory";
|
|
53
|
-
import { Agent } from "@mastra/core/agent";
|
|
54
|
-
import { LibSQLStore } from "@mastra/libsql";
|
|
55
|
-
|
|
56
|
-
export const agent = new Agent({
|
|
57
|
-
id: "example-agent",
|
|
58
|
-
memory: new Memory({
|
|
59
|
-
storage: new LibSQLStore({
|
|
60
|
-
id: 'libsql-storage',
|
|
61
|
-
url: "file:./agent.db",
|
|
62
|
-
}),
|
|
63
|
-
}),
|
|
64
|
-
});
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
> **Warning:** File storage doesn't work with serverless platforms that have ephemeral file systems. For serverless deployments, use [Turso](https://turso.tech) or a different database engine.
|
|
68
|
-
|
|
69
|
-
Production with remote database:
|
|
70
|
-
|
|
71
|
-
```typescript
|
|
72
|
-
storage: new LibSQLStore({
|
|
73
|
-
id: 'libsql-storage',
|
|
74
|
-
url: "libsql://your-db-name.aws-ap-northeast-1.turso.io",
|
|
75
|
-
authToken: process.env.TURSO_AUTH_TOKEN,
|
|
76
|
-
})
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
For local development and testing, you can store data in memory:
|
|
80
|
-
|
|
81
|
-
```typescript
|
|
82
|
-
storage: new LibSQLStore({
|
|
83
|
-
id: 'libsql-storage',
|
|
84
|
-
url: ":memory:",
|
|
85
|
-
})
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
> **Warning:** In-memory storage resets when the process changes. Only suitable for development.
|
|
89
|
-
|
|
90
|
-
## Options
|
|
91
|
-
|
|
92
|
-
**url:** (`string`): Database URL. Use \`:memory:\` for in-memory database, \`file:filename.db\` for a file database, or a libSQL connection string (e.g., \`libsql://your-database.turso.io\`) for remote storage.
|
|
93
|
-
|
|
94
|
-
**authToken?:** (`string`): Authentication token for remote libSQL databases.
|
|
95
|
-
|
|
96
|
-
## Initialization
|
|
97
|
-
|
|
98
|
-
When you pass storage to the Mastra class, `init()` is called automatically to create the [core schema](https://mastra.ai/reference/storage/overview):
|
|
99
|
-
|
|
100
|
-
```typescript
|
|
101
|
-
import { Mastra } from "@mastra/core";
|
|
102
|
-
import { LibSQLStore } from "@mastra/libsql";
|
|
103
|
-
|
|
104
|
-
const storage = new LibSQLStore({
|
|
105
|
-
id: 'libsql-storage',
|
|
106
|
-
url: "file:./storage.db",
|
|
107
|
-
});
|
|
108
|
-
|
|
109
|
-
const mastra = new Mastra({
|
|
110
|
-
storage, // init() called automatically
|
|
111
|
-
});
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
If using storage directly without Mastra, call `init()` explicitly:
|
|
115
|
-
|
|
116
|
-
```typescript
|
|
117
|
-
import { LibSQLStore } from "@mastra/libsql";
|
|
118
|
-
|
|
119
|
-
const storage = new LibSQLStore({
|
|
120
|
-
id: 'libsql-storage',
|
|
121
|
-
url: "file:./storage.db",
|
|
122
|
-
});
|
|
123
|
-
|
|
124
|
-
await storage.init();
|
|
125
|
-
|
|
126
|
-
// Access domain-specific stores via getStore()
|
|
127
|
-
const memoryStore = await storage.getStore('memory');
|
|
128
|
-
const thread = await memoryStore?.getThreadById({ threadId: "..." });
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
## Observability
|
|
132
|
-
|
|
133
|
-
libSQL supports observability and is ideal for local development. Use the `realtime` [tracing strategy](https://mastra.ai/docs/observability/tracing/exporters/default) for immediate visibility while debugging.
|
|
134
|
-
|
|
135
|
-
For production environments with higher trace volumes, consider using [PostgreSQL](https://mastra.ai/reference/storage/postgresql) or [ClickHouse via composite storage](https://mastra.ai/reference/storage/composite).
|
|
@@ -1,262 +0,0 @@
|
|
|
1
|
-
# MongoDB Storage
|
|
2
|
-
|
|
3
|
-
The MongoDB storage implementation provides a scalable storage solution using MongoDB databases with support for both document storage and vector operations.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
**npm**:
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
npm install @mastra/mongodb@latest
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
**pnpm**:
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
pnpm add @mastra/mongodb@latest
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
**Yarn**:
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
yarn add @mastra/mongodb@latest
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
**Bun**:
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
bun add @mastra/mongodb@latest
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
## Usage
|
|
32
|
-
|
|
33
|
-
Ensure you have a MongoDB Atlas Local (via Docker) or MongoDB Atlas Cloud instance with Atlas Search enabled. MongoDB 7.0+ is recommended.
|
|
34
|
-
|
|
35
|
-
```typescript
|
|
36
|
-
import { MongoDBStore } from "@mastra/mongodb";
|
|
37
|
-
|
|
38
|
-
const storage = new MongoDBStore({
|
|
39
|
-
id: 'mongodb-storage',
|
|
40
|
-
uri: process.env.MONGODB_URI,
|
|
41
|
-
dbName: process.env.MONGODB_DATABASE,
|
|
42
|
-
});
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
## Parameters
|
|
46
|
-
|
|
47
|
-
**id:** (`string`): Unique identifier for this storage instance.
|
|
48
|
-
|
|
49
|
-
**uri:** (`string`): MongoDB connection string (e.g., mongodb+srv://user:password\@cluster.mongodb.net)
|
|
50
|
-
|
|
51
|
-
**url?:** (`string`): Deprecated. Use uri instead. MongoDB connection string (supported for backward compatibility).
|
|
52
|
-
|
|
53
|
-
**dbName:** (`string`): The name of the database you want the storage to use.
|
|
54
|
-
|
|
55
|
-
**options?:** (`MongoClientOptions`): MongoDB client options for advanced configuration (SSL, connection pooling, etc.).
|
|
56
|
-
|
|
57
|
-
> **Deprecation Notice:** The `url` parameter is deprecated but still supported for backward compatibility. Please use `uri` instead in all new code.
|
|
58
|
-
|
|
59
|
-
## Constructor Examples
|
|
60
|
-
|
|
61
|
-
You can instantiate `MongoDBStore` in the following ways:
|
|
62
|
-
|
|
63
|
-
```ts
|
|
64
|
-
import { MongoDBStore } from "@mastra/mongodb";
|
|
65
|
-
|
|
66
|
-
// Basic connection without custom options
|
|
67
|
-
const store1 = new MongoDBStore({
|
|
68
|
-
id: 'mongodb-storage-01',
|
|
69
|
-
uri: "mongodb+srv://user:password@cluster.mongodb.net",
|
|
70
|
-
dbName: "mastra_storage",
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
// Using connection string with options
|
|
74
|
-
const store2 = new MongoDBStore({
|
|
75
|
-
id: 'mongodb-storage-02',
|
|
76
|
-
uri: "mongodb+srv://user:password@cluster.mongodb.net",
|
|
77
|
-
dbName: "mastra_storage",
|
|
78
|
-
options: {
|
|
79
|
-
retryWrites: true,
|
|
80
|
-
maxPoolSize: 10,
|
|
81
|
-
serverSelectionTimeoutMS: 5000,
|
|
82
|
-
socketTimeoutMS: 45000,
|
|
83
|
-
},
|
|
84
|
-
});
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
## Additional Notes
|
|
88
|
-
|
|
89
|
-
### Collection Management
|
|
90
|
-
|
|
91
|
-
The storage implementation handles collection creation and management automatically. It creates the following collections:
|
|
92
|
-
|
|
93
|
-
- `mastra_workflow_snapshot`: Stores workflow state and execution data
|
|
94
|
-
- `mastra_evals`: Stores evaluation results and metadata
|
|
95
|
-
- `mastra_threads`: Stores conversation threads
|
|
96
|
-
- `mastra_messages`: Stores individual messages
|
|
97
|
-
- `mastra_traces`: Stores telemetry and tracing data
|
|
98
|
-
- `mastra_scorers`: Stores scoring and evaluation data
|
|
99
|
-
- `mastra_resources`: Stores resource working memory data
|
|
100
|
-
|
|
101
|
-
### Initialization
|
|
102
|
-
|
|
103
|
-
When you pass storage to the Mastra class, `init()` is called automatically before any storage operation:
|
|
104
|
-
|
|
105
|
-
```typescript
|
|
106
|
-
import { Mastra } from "@mastra/core";
|
|
107
|
-
import { MongoDBStore } from "@mastra/mongodb";
|
|
108
|
-
|
|
109
|
-
const storage = new MongoDBStore({
|
|
110
|
-
id: 'mongodb-storage',
|
|
111
|
-
uri: process.env.MONGODB_URI,
|
|
112
|
-
dbName: process.env.MONGODB_DATABASE,
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
const mastra = new Mastra({
|
|
116
|
-
storage, // init() is called automatically
|
|
117
|
-
});
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
If you're using storage directly without Mastra, you must call `init()` explicitly to create the collections:
|
|
121
|
-
|
|
122
|
-
```typescript
|
|
123
|
-
import { MongoDBStore } from "@mastra/mongodb";
|
|
124
|
-
|
|
125
|
-
const storage = new MongoDBStore({
|
|
126
|
-
id: 'mongodb-storage',
|
|
127
|
-
uri: process.env.MONGODB_URI,
|
|
128
|
-
dbName: process.env.MONGODB_DATABASE,
|
|
129
|
-
});
|
|
130
|
-
|
|
131
|
-
// Required when using storage directly
|
|
132
|
-
await storage.init();
|
|
133
|
-
|
|
134
|
-
// Access domain-specific stores via getStore()
|
|
135
|
-
const memoryStore = await storage.getStore('memory');
|
|
136
|
-
const thread = await memoryStore?.getThreadById({ threadId: "..." });
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
> **Warning:** If `init()` is not called, collections won't be created and storage operations will fail silently or throw errors.
|
|
140
|
-
|
|
141
|
-
## Vector Search Capabilities
|
|
142
|
-
|
|
143
|
-
MongoDB storage includes built-in vector search capabilities for AI applications:
|
|
144
|
-
|
|
145
|
-
### Vector Index Creation
|
|
146
|
-
|
|
147
|
-
```typescript
|
|
148
|
-
import { MongoDBVector } from "@mastra/mongodb";
|
|
149
|
-
|
|
150
|
-
const vectorStore = new MongoDBVector({
|
|
151
|
-
id: 'mongodb-vector',
|
|
152
|
-
uri: process.env.MONGODB_URI,
|
|
153
|
-
dbName: process.env.MONGODB_DATABASE,
|
|
154
|
-
});
|
|
155
|
-
|
|
156
|
-
// Create a vector index for embeddings
|
|
157
|
-
await vectorStore.createIndex({
|
|
158
|
-
indexName: "document_embeddings",
|
|
159
|
-
dimension: 1536,
|
|
160
|
-
});
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
### Vector Operations
|
|
164
|
-
|
|
165
|
-
```typescript
|
|
166
|
-
// Store vectors with metadata
|
|
167
|
-
await vectorStore.upsert({
|
|
168
|
-
indexName: "document_embeddings",
|
|
169
|
-
vectors: [
|
|
170
|
-
{
|
|
171
|
-
id: "doc-1",
|
|
172
|
-
values: [0.1, 0.2, 0.3, ...], // 1536-dimensional vector
|
|
173
|
-
metadata: {
|
|
174
|
-
title: "Document Title",
|
|
175
|
-
category: "technical",
|
|
176
|
-
source: "api-docs",
|
|
177
|
-
},
|
|
178
|
-
},
|
|
179
|
-
],
|
|
180
|
-
});
|
|
181
|
-
|
|
182
|
-
// Similarity search
|
|
183
|
-
const results = await vectorStore.query({
|
|
184
|
-
indexName: "document_embeddings",
|
|
185
|
-
vector: queryEmbedding,
|
|
186
|
-
topK: 5,
|
|
187
|
-
filter: {
|
|
188
|
-
category: "technical",
|
|
189
|
-
},
|
|
190
|
-
});
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
## Usage Example
|
|
194
|
-
|
|
195
|
-
### Adding memory to an agent
|
|
196
|
-
|
|
197
|
-
To add MongoDB memory to an agent use the `Memory` class and create a new `storage` key using `MongoDBStore`. The configuration supports both local and remote MongoDB instances.
|
|
198
|
-
|
|
199
|
-
```typescript
|
|
200
|
-
import { Memory } from "@mastra/memory";
|
|
201
|
-
import { Agent } from "@mastra/core/agent";
|
|
202
|
-
import { MongoDBStore } from "@mastra/mongodb";
|
|
203
|
-
|
|
204
|
-
export const mongodbAgent = new Agent({
|
|
205
|
-
id: "mongodb-agent",
|
|
206
|
-
name: "mongodb-agent",
|
|
207
|
-
instructions:
|
|
208
|
-
"You are an AI agent with the ability to automatically recall memories from previous interactions.",
|
|
209
|
-
model: "openai/gpt-5.1",
|
|
210
|
-
memory: new Memory({
|
|
211
|
-
storage: new MongoDBStore({
|
|
212
|
-
uri: process.env.MONGODB_URI!,
|
|
213
|
-
dbName: process.env.MONGODB_DB_NAME!,
|
|
214
|
-
}),
|
|
215
|
-
options: {
|
|
216
|
-
generateTitle: true,
|
|
217
|
-
},
|
|
218
|
-
}),
|
|
219
|
-
});
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
### Using the agent
|
|
223
|
-
|
|
224
|
-
Use `memoryOptions` to scope recall for this request. Set `lastMessages: 5` to limit recency-based recall, and use `semanticRecall` to fetch the `topK: 3` most relevant messages, including `messageRange: 2` neighboring messages for context around each match.
|
|
225
|
-
|
|
226
|
-
```typescript
|
|
227
|
-
import "dotenv/config";
|
|
228
|
-
|
|
229
|
-
import { mastra } from "./mastra";
|
|
230
|
-
|
|
231
|
-
const threadId = "123";
|
|
232
|
-
const resourceId = "user-456";
|
|
233
|
-
|
|
234
|
-
const agent = mastra.getAgent("mongodbAgent");
|
|
235
|
-
|
|
236
|
-
const message = await agent.stream("My name is Mastra", {
|
|
237
|
-
memory: {
|
|
238
|
-
thread: threadId,
|
|
239
|
-
resource: resourceId,
|
|
240
|
-
},
|
|
241
|
-
});
|
|
242
|
-
|
|
243
|
-
await message.textStream.pipeTo(new WritableStream());
|
|
244
|
-
|
|
245
|
-
const stream = await agent.stream("What's my name?", {
|
|
246
|
-
memory: {
|
|
247
|
-
thread: threadId,
|
|
248
|
-
resource: resourceId,
|
|
249
|
-
},
|
|
250
|
-
memoryOptions: {
|
|
251
|
-
lastMessages: 5,
|
|
252
|
-
semanticRecall: {
|
|
253
|
-
topK: 3,
|
|
254
|
-
messageRange: 2,
|
|
255
|
-
},
|
|
256
|
-
},
|
|
257
|
-
});
|
|
258
|
-
|
|
259
|
-
for await (const chunk of stream.textStream) {
|
|
260
|
-
process.stdout.write(chunk);
|
|
261
|
-
}
|
|
262
|
-
```
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
# MSSQL Storage
|
|
2
|
-
|
|
3
|
-
The MSSQL storage implementation provides a production-ready storage solution using Microsoft SQL Server databases.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
**npm**:
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
npm install @mastra/mssql@latest
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
**pnpm**:
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
pnpm add @mastra/mssql@latest
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
**Yarn**:
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
yarn add @mastra/mssql@latest
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
**Bun**:
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
bun add @mastra/mssql@latest
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
## Usage
|
|
32
|
-
|
|
33
|
-
```typescript
|
|
34
|
-
import { MSSQLStore } from "@mastra/mssql";
|
|
35
|
-
|
|
36
|
-
const storage = new MSSQLStore({
|
|
37
|
-
id: 'mssql-storage',
|
|
38
|
-
connectionString: process.env.DATABASE_URL,
|
|
39
|
-
});
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## Parameters
|
|
43
|
-
|
|
44
|
-
**connectionString:** (`string`): MSSQL connection string (e.g., Server=localhost,1433;Database=mydb;User Id=sa;Password=password;Encrypt=true;TrustServerCertificate=true)
|
|
45
|
-
|
|
46
|
-
**schemaName?:** (`string`): The name of the schema you want the storage to use. Will use the default schema if not provided.
|
|
47
|
-
|
|
48
|
-
## Constructor Examples
|
|
49
|
-
|
|
50
|
-
You can instantiate `MSSQLStore` in the following ways:
|
|
51
|
-
|
|
52
|
-
```ts
|
|
53
|
-
import { MSSQLStore } from "@mastra/mssql";
|
|
54
|
-
|
|
55
|
-
// Using a connection string only
|
|
56
|
-
const store1 = new MSSQLStore({
|
|
57
|
-
id: 'mssql-storage-1',
|
|
58
|
-
connectionString: "Server=localhost,1433;Database=mydb;User Id=sa;Password=password;Encrypt=true;TrustServerCertificate=true",
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
// Using a connection string with a custom schema name
|
|
62
|
-
const store2 = new MSSQLStore({
|
|
63
|
-
id: 'mssql-storage-2',
|
|
64
|
-
connectionString: "Server=localhost,1433;Database=mydb;User Id=sa;Password=password;Encrypt=true;TrustServerCertificate=true",
|
|
65
|
-
schemaName: "custom_schema", // optional
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
// Using individual connection parameters
|
|
69
|
-
const store4 = new MSSQLStore({
|
|
70
|
-
id: 'mssql-storage-3',
|
|
71
|
-
server: "localhost",
|
|
72
|
-
port: 1433,
|
|
73
|
-
database: "mydb",
|
|
74
|
-
user: "user",
|
|
75
|
-
password: "password",
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
// Individual parameters with schemaName
|
|
79
|
-
const store5 = new MSSQLStore({
|
|
80
|
-
id: 'mssql-storage-4',
|
|
81
|
-
server: "localhost",
|
|
82
|
-
port: 1433,
|
|
83
|
-
database: "mydb",
|
|
84
|
-
user: "user",
|
|
85
|
-
password: "password",
|
|
86
|
-
schemaName: "custom_schema", // optional
|
|
87
|
-
});
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
## Additional Notes
|
|
91
|
-
|
|
92
|
-
### Schema Management
|
|
93
|
-
|
|
94
|
-
The storage implementation handles schema creation and updates automatically. It creates the following tables:
|
|
95
|
-
|
|
96
|
-
- `mastra_workflow_snapshot`: Stores workflow state and execution data
|
|
97
|
-
- `mastra_evals`: Stores evaluation results and metadata
|
|
98
|
-
- `mastra_threads`: Stores conversation threads
|
|
99
|
-
- `mastra_messages`: Stores individual messages
|
|
100
|
-
- `mastra_traces`: Stores telemetry and tracing data
|
|
101
|
-
- `mastra_scorers`: Stores scoring and evaluation data
|
|
102
|
-
- `mastra_resources`: Stores resource working memory data
|
|
103
|
-
|
|
104
|
-
### Initialization
|
|
105
|
-
|
|
106
|
-
When you pass storage to the Mastra class, `init()` is called automatically before any storage operation:
|
|
107
|
-
|
|
108
|
-
```typescript
|
|
109
|
-
import { Mastra } from "@mastra/core";
|
|
110
|
-
import { MSSQLStore } from "@mastra/mssql";
|
|
111
|
-
|
|
112
|
-
const storage = new MSSQLStore({
|
|
113
|
-
connectionString: process.env.DATABASE_URL,
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
const mastra = new Mastra({
|
|
117
|
-
storage, // init() is called automatically
|
|
118
|
-
});
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
If you're using storage directly without Mastra, you must call `init()` explicitly to create the tables:
|
|
122
|
-
|
|
123
|
-
```typescript
|
|
124
|
-
import { MSSQLStore } from "@mastra/mssql";
|
|
125
|
-
|
|
126
|
-
const storage = new MSSQLStore({
|
|
127
|
-
id: 'mssql-storage',
|
|
128
|
-
connectionString: process.env.DATABASE_URL,
|
|
129
|
-
});
|
|
130
|
-
|
|
131
|
-
// Required when using storage directly
|
|
132
|
-
await storage.init();
|
|
133
|
-
|
|
134
|
-
// Access domain-specific stores via getStore()
|
|
135
|
-
const memoryStore = await storage.getStore('memory');
|
|
136
|
-
const thread = await memoryStore?.getThreadById({ threadId: "..." });
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
> **Warning:** If `init()` is not called, tables won't be created and storage operations will fail silently or throw errors.
|
|
140
|
-
|
|
141
|
-
### Direct Database and Pool Access
|
|
142
|
-
|
|
143
|
-
`MSSQLStore` exposes the mssql connection pool as public fields:
|
|
144
|
-
|
|
145
|
-
```typescript
|
|
146
|
-
store.pool; // mssql connection pool instance
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
This enables direct queries and custom transaction management. When using these fields:
|
|
150
|
-
|
|
151
|
-
- You are responsible for proper connection and transaction handling.
|
|
152
|
-
- Closing the store (`store.close()`) will destroy the associated connection pool.
|
|
153
|
-
- Direct access bypasses any additional logic or validation provided by MSSQLStore methods.
|
|
154
|
-
|
|
155
|
-
This approach is intended for advanced scenarios where low-level access is required.
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
# Storage Overview
|
|
2
|
-
|
|
3
|
-
Mastra requires the following tables to be present in the database.
|
|
4
|
-
|
|
5
|
-
## Core Schema
|
|
6
|
-
|
|
7
|
-
**Messages**:
|
|
8
|
-
|
|
9
|
-
Stores conversation messages and their metadata. Each message belongs to a thread and contains the actual content along with metadata about the sender role and message type.
|
|
10
|
-
|
|
11
|
-
iduuidv4PRIMARYKEYNOT NULLUnique identifier for the message (format: `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`)thread\_iduuidv4FK → threads.idNOT NULLParent thread referenceresourceIduuidv4CAN BE NULLID of the resource that owns this messagecontenttextNOT NULLJSON of the message content in V2 format. Example: `{ format: 2, parts: [...] }`roletextNOT NULLEnum of `user | assistant`createdAttimestampNOT NULLUsed for thread message ordering
|
|
12
|
-
|
|
13
|
-
The message `content` column contains a JSON object conforming to the `MastraMessageContentV2` type, which is designed to align closely with the AI SDK `UIMessage` message shape.
|
|
14
|
-
|
|
15
|
-
formatintegerNOT NULLMessage format version (currently 2)partsarray (JSON)NOT NULLArray of message parts (text, tool-invocation, file, reasoning, etc.). The structure of items in this array varies by `type`.experimental\_attachmentsarray (JSON)CAN BE NULLOptional array of file attachmentscontenttextCAN BE NULLOptional main text content of the messagetoolInvocationsarray (JSON)CAN BE NULLOptional array summarizing tool calls and resultsreasoningobject (JSON)CAN BE NULLOptional information about the reasoning process behind the assistant's responseannotationsobject (JSON)CAN BE NULLOptional additional metadata or annotations
|
|
16
|
-
|
|
17
|
-
**Threads**:
|
|
18
|
-
|
|
19
|
-
Groups related messages together and associates them with a resource. Contains metadata about the conversation.
|
|
20
|
-
|
|
21
|
-
iduuidv4PRIMARYKEYNOT NULLUnique identifier for the thread (format: `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`)resourceIdtextNOT NULLPrimary identifier of the external resource this thread is associated with. Used to group and retrieve related threads.titletextNOT NULLTitle of the conversation threadmetadatatextCustom thread metadata as stringified JSON. Example:
|
|
22
|
-
|
|
23
|
-
```json
|
|
24
|
-
{
|
|
25
|
-
"category": "support",
|
|
26
|
-
"priority": 1
|
|
27
|
-
}
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
createdAttimestampNOT NULLupdatedAttimestampNOT NULLUsed for thread ordering history
|
|
31
|
-
|
|
32
|
-
**Resources**:
|
|
33
|
-
|
|
34
|
-
Stores user-specific data for resource-scoped working memory. Each resource represents a user or entity, allowing working memory to persist across all conversation threads for that user.
|
|
35
|
-
|
|
36
|
-
idtextPRIMARYKEYNOT NULLResource identifier (user or entity ID) - same as resourceId used in threads and agent callsworkingMemorytextCAN BE NULLPersistent working memory data as Markdown text. Contains user profile, preferences, and contextual information that persists across conversation threads.metadatajsonbCAN BE NULLAdditional resource metadata as JSON. Example:
|
|
37
|
-
|
|
38
|
-
```json
|
|
39
|
-
{
|
|
40
|
-
"preferences": {
|
|
41
|
-
"language": "en",
|
|
42
|
-
"timezone": "UTC"
|
|
43
|
-
},
|
|
44
|
-
"tags": [
|
|
45
|
-
"premium",
|
|
46
|
-
"beta-user"
|
|
47
|
-
]
|
|
48
|
-
}
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
createdAttimestampNOT NULLWhen the resource record was first createdupdatedAttimestampNOT NULLWhen the working memory was last updated
|
|
52
|
-
|
|
53
|
-
**Workflows**:
|
|
54
|
-
|
|
55
|
-
When `suspend` is called on a workflow, its state is saved in the following format. When `resume` is called, that state is rehydrated.
|
|
56
|
-
|
|
57
|
-
workflow\_nametextNOT NULLName of the workflowrun\_iduuidv4NOT NULLUnique identifier for the workflow execution. Used to track state across suspend/resume cycles (format: `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`)snapshottextNOT NULLSerialized workflow state as JSON. Example:
|
|
58
|
-
|
|
59
|
-
```json
|
|
60
|
-
{
|
|
61
|
-
"value": {
|
|
62
|
-
"currentState": "running"
|
|
63
|
-
},
|
|
64
|
-
"context": {
|
|
65
|
-
"stepResults": {},
|
|
66
|
-
"attempts": {},
|
|
67
|
-
"triggerData": {}
|
|
68
|
-
},
|
|
69
|
-
"activePaths": [],
|
|
70
|
-
"runId": "550e8400-e29b-41d4-a716-446655440000",
|
|
71
|
-
"timestamp": 1648176000000
|
|
72
|
-
}
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
createdAttimestampNOT NULLupdatedAttimestampNOT NULLLast modification time, used to track state changes during workflow execution
|
|
76
|
-
|
|
77
|
-
**Evals**:
|
|
78
|
-
|
|
79
|
-
Stores eval results from running metrics against agent outputs.
|
|
80
|
-
|
|
81
|
-
inputtextNOT NULLInput provided to the agentoutputtextNOT NULLOutput generated by the agentresultjsonbNOT NULLEval result data that includes score and details. Example:
|
|
82
|
-
|
|
83
|
-
```json
|
|
84
|
-
{
|
|
85
|
-
"score": 0.95,
|
|
86
|
-
"details": {
|
|
87
|
-
"reason": "Response accurately reflects source material",
|
|
88
|
-
"citations": [
|
|
89
|
-
"page 1",
|
|
90
|
-
"page 3"
|
|
91
|
-
]
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
agent\_nametextNOT NULLmetric\_nametextNOT NULLe.g Faithfulness, Hallucination, etc.instructionstextNOT NULLSystem prompt or instructions for the agenttest\_infojsonbNOT NULLAdditional test metadata and configurationglobal\_run\_iduuidv4NOT NULLGroups related evaluation runs (e.g. all unit tests in a CI run)run\_iduuidv4NOT NULLUnique identifier for the run being evaluated (format: `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`)created\_attimestampNOT NULL
|
|
97
|
-
|
|
98
|
-
**Traces**:
|
|
99
|
-
|
|
100
|
-
Captures OpenTelemetry traces for monitoring and debugging.
|
|
101
|
-
|
|
102
|
-
idtextNOT NULLPRIMARYKEYUnique trace identifierparentSpanIdtextID of the parent span. Null if span is top levelnametextNOT NULLHierarchical operation name (e.g. `workflow.myWorkflow.execute`, `http.request`, `database.query`)traceIdtextNOT NULLRoot trace identifier that groups related spansscopetextNOT NULLLibrary/package/service that created the span (e.g. `@mastra/core`, `express`, `pg`)kindintegerNOT NULL`INTERNAL` (0, within process), `CLIENT` (1, outgoing calls), `SERVER` (2, incoming calls), `PRODUCER` (3, async job creation), `CONSUMER` (4, async job processing)attributesjsonbUser defined key-value pairs that contain span metadatastatusjsonbJSON object with `code` (UNSET=0, ERROR=1, OK=2) and optional `message`. Example:
|
|
103
|
-
|
|
104
|
-
```json
|
|
105
|
-
{
|
|
106
|
-
"code": 1,
|
|
107
|
-
"message": "HTTP request failed with status 500"
|
|
108
|
-
}
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
eventsjsonbTime-stamped events that occurred during the spanlinksjsonbLinks to other related spansothertextAdditional OpenTelemetry span fields as stringified JSON. Example:
|
|
112
|
-
|
|
113
|
-
```json
|
|
114
|
-
{
|
|
115
|
-
"droppedAttributesCount": 2,
|
|
116
|
-
"droppedEventsCount": 1,
|
|
117
|
-
"instrumentationLibrary": "@opentelemetry/instrumentation-http"
|
|
118
|
-
}
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
startTimebigintNOT NULLNanoseconds since Unix epoch when span startedendTimebigintNOT NULLNanoseconds since Unix epoch when span endedcreatedAttimestampNOT NULL
|