@mastra/core 1.2.0 → 1.2.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/_types/@internal_ai-sdk-v4/dist/index.d.ts +30 -17
- package/dist/_types/@internal_ai-sdk-v5/dist/index.d.ts +10 -7
- package/dist/agent/index.cjs +13 -13
- package/dist/agent/index.js +2 -2
- package/dist/agent/message-list/index.cjs +18 -18
- package/dist/agent/message-list/index.js +1 -1
- package/dist/{chunk-VBOO4F4D.cjs → chunk-2DMSFLJY.cjs} +5 -5
- package/dist/{chunk-VBOO4F4D.cjs.map → chunk-2DMSFLJY.cjs.map} +1 -1
- package/dist/{chunk-ARQG4ZSD.cjs → chunk-5SOS47PH.cjs} +37 -37
- package/dist/chunk-5SOS47PH.cjs.map +1 -0
- package/dist/{chunk-NRMSZFAU.js → chunk-5YVR7B4R.js} +5 -5
- package/dist/{chunk-NRMSZFAU.js.map → chunk-5YVR7B4R.js.map} +1 -1
- package/dist/{chunk-G5NRZOPO.cjs → chunk-7MDVYPWX.cjs} +4 -4
- package/dist/{chunk-G5NRZOPO.cjs.map → chunk-7MDVYPWX.cjs.map} +1 -1
- package/dist/{chunk-AP3Z4EAP.cjs → chunk-A5QFWX67.cjs} +53 -53
- package/dist/{chunk-AP3Z4EAP.cjs.map → chunk-A5QFWX67.cjs.map} +1 -1
- package/dist/{chunk-4XLGMCCQ.js → chunk-AUF6U2BL.js} +3 -3
- package/dist/{chunk-4XLGMCCQ.js.map → chunk-AUF6U2BL.js.map} +1 -1
- package/dist/{chunk-POKH6N2J.cjs → chunk-AXN5P2GE.cjs} +4 -4
- package/dist/{chunk-POKH6N2J.cjs.map → chunk-AXN5P2GE.cjs.map} +1 -1
- package/dist/{chunk-YL6ETQ5I.cjs → chunk-B4M33FCS.cjs} +9 -9
- package/dist/{chunk-YL6ETQ5I.cjs.map → chunk-B4M33FCS.cjs.map} +1 -1
- package/dist/{chunk-DG6C6ZTL.cjs → chunk-CC3OOESY.cjs} +44 -43
- package/dist/chunk-CC3OOESY.cjs.map +1 -0
- package/dist/{chunk-NYC6PYZF.js → chunk-E3VFKTIA.js} +36 -4
- package/dist/chunk-E3VFKTIA.js.map +1 -0
- package/dist/{chunk-3LRUJTH3.cjs → chunk-GVLPTDJA.cjs} +50 -13
- package/dist/chunk-GVLPTDJA.cjs.map +1 -0
- package/dist/{chunk-SS4AZHZW.cjs → chunk-HU2ONA2W.cjs} +9 -9
- package/dist/{chunk-SS4AZHZW.cjs.map → chunk-HU2ONA2W.cjs.map} +1 -1
- package/dist/chunk-HVG7MWNT.js +439 -0
- package/dist/chunk-HVG7MWNT.js.map +1 -0
- package/dist/chunk-JCEP2VPF.cjs +441 -0
- package/dist/chunk-JCEP2VPF.cjs.map +1 -0
- package/dist/{chunk-PPAJGWVW.js → chunk-MSWXEOZC.js} +3 -3
- package/dist/{chunk-PPAJGWVW.js.map → chunk-MSWXEOZC.js.map} +1 -1
- package/dist/{chunk-AQHO4OC2.cjs → chunk-QOFI2WBM.cjs} +6 -6
- package/dist/{chunk-AQHO4OC2.cjs.map → chunk-QOFI2WBM.cjs.map} +1 -1
- package/dist/{chunk-EY3WXGUD.js → chunk-RXD5EGQF.js} +43 -6
- package/dist/chunk-RXD5EGQF.js.map +1 -0
- package/dist/{chunk-XC7WIZBL.js → chunk-S6BH5HHY.js} +4 -3
- package/dist/chunk-S6BH5HHY.js.map +1 -0
- package/dist/{chunk-IPXNR6RQ.js → chunk-V2MLGA7T.js} +1884 -998
- package/dist/chunk-V2MLGA7T.js.map +1 -0
- package/dist/{chunk-Z4PGSIZ5.cjs → chunk-VTE2OBKS.cjs} +1890 -1004
- package/dist/chunk-VTE2OBKS.cjs.map +1 -0
- package/dist/{chunk-ZODRDMZ7.js → chunk-VX7UA3SO.js} +3 -3
- package/dist/{chunk-ZODRDMZ7.js.map → chunk-VX7UA3SO.js.map} +1 -1
- package/dist/{chunk-5HDIPOLV.js → chunk-WFUNLRQX.js} +6 -6
- package/dist/chunk-WFUNLRQX.js.map +1 -0
- package/dist/{chunk-V3LENMEW.js → chunk-X5ORARLG.js} +4 -4
- package/dist/{chunk-V3LENMEW.js.map → chunk-X5ORARLG.js.map} +1 -1
- package/dist/{chunk-Z2OKCLGV.cjs → chunk-XCPEEIHI.cjs} +41 -8
- package/dist/chunk-XCPEEIHI.cjs.map +1 -0
- package/dist/{chunk-57O4TPB3.js → chunk-Z6NRYYOH.js} +3 -3
- package/dist/{chunk-57O4TPB3.js.map → chunk-Z6NRYYOH.js.map} +1 -1
- package/dist/{chunk-RUMXBL6P.js → chunk-ZWM2CAIM.js} +5 -5
- package/dist/{chunk-RUMXBL6P.js.map → chunk-ZWM2CAIM.js.map} +1 -1
- package/dist/docs/SKILL.md +270 -64
- package/dist/docs/{SOURCE_MAP.json → assets/SOURCE_MAP.json} +156 -152
- package/dist/docs/{agents/10-adding-voice.md → references/docs-agents-adding-voice.md} +6 -5
- package/dist/docs/{agents/08-agent-approval.md → references/docs-agents-agent-approval.md} +19 -19
- package/dist/docs/{agents/03-agent-memory.md → references/docs-agents-agent-memory.md} +57 -55
- package/dist/docs/{agents/07-guardrails.md → references/docs-agents-guardrails.md} +21 -39
- package/dist/docs/{agents/09-network-approval.md → references/docs-agents-network-approval.md} +12 -11
- package/dist/docs/{agents/05-networks.md → references/docs-agents-networks.md} +7 -9
- package/dist/docs/{agents/01-overview.md → references/docs-agents-overview.md} +54 -72
- package/dist/docs/{agents/06-processors.md → references/docs-agents-processors.md} +29 -24
- package/dist/docs/{agents/04-structured-output.md → references/docs-agents-structured-output.md} +13 -22
- package/dist/docs/{agents/02-using-tools.md → references/docs-agents-using-tools.md} +12 -13
- package/dist/docs/{evals/02-custom-scorers.md → references/docs-evals-custom-scorers.md} +5 -7
- package/dist/docs/{evals/01-overview.md → references/docs-evals-overview.md} +26 -17
- package/dist/docs/{evals/03-running-in-ci.md → references/docs-evals-running-in-ci.md} +2 -4
- package/dist/docs/{mcp/01-overview.md → references/docs-mcp-overview.md} +135 -140
- package/dist/docs/references/docs-mcp-publishing-mcp-server.md +95 -0
- package/dist/docs/{memory/05-memory-processors.md → references/docs-memory-memory-processors.md} +6 -8
- package/dist/docs/references/docs-memory-observational-memory.md +166 -0
- package/dist/docs/{memory/01-overview.md → references/docs-memory-overview.md} +8 -8
- package/dist/docs/{memory/04-semantic-recall.md → references/docs-memory-semantic-recall.md} +33 -17
- package/dist/docs/{memory/02-storage.md → references/docs-memory-storage.md} +29 -39
- package/dist/docs/{memory/03-working-memory.md → references/docs-memory-working-memory.md} +16 -27
- package/dist/docs/{observability/02-logging.md → references/docs-observability-logging.md} +6 -10
- package/dist/docs/{observability/01-overview.md → references/docs-observability-overview.md} +4 -10
- package/dist/docs/{observability/04-otel.md → references/docs-observability-tracing-bridges-otel.md} +31 -14
- package/dist/docs/{observability/07-arize.md → references/docs-observability-tracing-exporters-arize.md} +38 -22
- package/dist/docs/{observability/08-braintrust.md → references/docs-observability-tracing-exporters-braintrust.md} +24 -6
- package/dist/docs/{observability/06-cloud.md → references/docs-observability-tracing-exporters-cloud.md} +7 -7
- package/dist/docs/{observability/09-datadog.md → references/docs-observability-tracing-exporters-datadog.md} +26 -8
- package/dist/docs/{observability/05-default.md → references/docs-observability-tracing-exporters-default.md} +11 -14
- package/dist/docs/{observability/10-laminar.md → references/docs-observability-tracing-exporters-laminar.md} +24 -6
- package/dist/docs/{observability/11-langfuse.md → references/docs-observability-tracing-exporters-langfuse.md} +31 -12
- package/dist/docs/{observability/12-langsmith.md → references/docs-observability-tracing-exporters-langsmith.md} +29 -11
- package/dist/docs/{observability/13-otel.md → references/docs-observability-tracing-exporters-otel.md} +107 -63
- package/dist/docs/{observability/14-posthog.md → references/docs-observability-tracing-exporters-posthog.md} +24 -6
- package/dist/docs/{observability/03-overview.md → references/docs-observability-tracing-overview.md} +45 -53
- package/dist/docs/{rag/02-chunking-and-embedding.md → references/docs-rag-chunking-and-embedding.md} +5 -11
- package/dist/docs/{rag/05-graph-rag.md → references/docs-rag-graph-rag.md} +0 -2
- package/dist/docs/{rag/01-overview.md → references/docs-rag-overview.md} +2 -7
- package/dist/docs/{rag/04-retrieval.md → references/docs-rag-retrieval.md} +26 -53
- package/dist/docs/{rag/03-vector-databases.md → references/docs-rag-vector-databases.md} +198 -202
- package/dist/docs/{server/13-auth0.md → references/docs-server-auth-auth0.md} +68 -79
- package/dist/docs/{server/09-clerk.md → references/docs-server-auth-clerk.md} +41 -52
- package/dist/docs/{server/14-composite-auth.md → references/docs-server-auth-composite-auth.md} +1 -3
- package/dist/docs/{server/15-custom-auth-provider.md → references/docs-server-auth-custom-auth-provider.md} +13 -15
- package/dist/docs/{server/11-firebase.md → references/docs-server-auth-firebase.md} +83 -97
- package/dist/docs/{server/08-jwt.md → references/docs-server-auth-jwt.md} +46 -35
- package/dist/docs/{server/07-simple-auth.md → references/docs-server-auth-simple-auth.md} +10 -11
- package/dist/docs/{server/10-supabase.md → references/docs-server-auth-supabase.md} +33 -44
- package/dist/docs/{server/12-workos.md → references/docs-server-auth-workos.md} +45 -56
- package/dist/docs/{server/02-custom-adapters.md → references/docs-server-custom-adapters.md} +25 -31
- package/dist/docs/{server/05-custom-api-routes.md → references/docs-server-custom-api-routes.md} +7 -7
- package/dist/docs/{server/06-mastra-client.md → references/docs-server-mastra-client.md} +32 -20
- package/dist/docs/{server/01-mastra-server.md → references/docs-server-mastra-server.md} +5 -11
- package/dist/docs/{server/03-middleware.md → references/docs-server-middleware.md} +8 -15
- package/dist/docs/{server/04-request-context.md → references/docs-server-request-context.md} +29 -43
- package/dist/docs/{streaming/01-events.md → references/docs-streaming-events.md} +9 -16
- package/dist/docs/{streaming/02-tool-streaming.md → references/docs-streaming-tool-streaming.md} +6 -11
- package/dist/docs/{streaming/03-workflow-streaming.md → references/docs-streaming-workflow-streaming.md} +2 -6
- package/dist/docs/{tools-mcp/03-advanced-usage.md → references/docs-tools-mcp-advanced-usage.md} +23 -5
- package/dist/docs/{tools-mcp/01-mcp-overview.md → references/docs-tools-mcp-mcp-overview.md} +141 -146
- package/dist/docs/{tools-mcp/02-overview.md → references/docs-tools-mcp-overview.md} +4 -12
- package/dist/docs/{voice/01-overview.md → references/docs-voice-overview.md} +37 -81
- package/dist/docs/{voice/04-speech-to-speech.md → references/docs-voice-speech-to-speech.md} +1 -4
- package/dist/docs/{voice/03-speech-to-text.md → references/docs-voice-speech-to-text.md} +8 -11
- package/dist/docs/{voice/02-text-to-speech.md → references/docs-voice-text-to-speech.md} +12 -15
- package/dist/docs/{workflows/04-agents-and-tools.md → references/docs-workflows-agents-and-tools.md} +11 -21
- package/dist/docs/{workflows/03-control-flow.md → references/docs-workflows-control-flow.md} +58 -56
- package/dist/docs/{workflows/09-error-handling.md → references/docs-workflows-error-handling.md} +13 -15
- package/dist/docs/{workflows/07-human-in-the-loop.md → references/docs-workflows-human-in-the-loop.md} +11 -12
- package/dist/docs/{workflows/10-input-data-mapping.md → references/docs-workflows-input-data-mapping.md} +12 -14
- package/dist/docs/{workflows/01-overview.md → references/docs-workflows-overview.md} +31 -52
- package/dist/docs/{workflows/05-snapshots.md → references/docs-workflows-snapshots.md} +3 -5
- package/dist/docs/{workflows/06-suspend-and-resume.md → references/docs-workflows-suspend-and-resume.md} +12 -12
- package/dist/docs/{workflows/08-time-travel.md → references/docs-workflows-time-travel.md} +2 -5
- package/dist/docs/{workflows/02-workflow-state.md → references/docs-workflows-workflow-state.md} +4 -6
- package/dist/docs/{workspace/02-filesystem.md → references/docs-workspace-filesystem.md} +3 -8
- package/dist/docs/{workspace/01-overview.md → references/docs-workspace-overview.md} +10 -16
- package/dist/docs/{workspace/03-sandbox.md → references/docs-workspace-sandbox.md} +2 -4
- package/dist/docs/{workspace/05-search.md → references/docs-workspace-search.md} +20 -22
- package/dist/docs/{workspace/04-skills.md → references/docs-workspace-skills.md} +6 -9
- package/dist/docs/{guides/01-ai-sdk.md → references/guides-agent-frameworks-ai-sdk.md} +25 -9
- package/dist/docs/references/reference-agents-agent.md +142 -0
- package/dist/docs/references/reference-agents-generate.md +174 -0
- package/dist/docs/references/reference-agents-generateLegacy.md +176 -0
- package/dist/docs/references/reference-agents-getDefaultGenerateOptions.md +36 -0
- package/dist/docs/references/reference-agents-getDefaultOptions.md +34 -0
- package/dist/docs/references/reference-agents-getDefaultStreamOptions.md +36 -0
- package/dist/docs/references/reference-agents-getDescription.md +21 -0
- package/dist/docs/references/reference-agents-getInstructions.md +34 -0
- package/dist/docs/references/reference-agents-getLLM.md +37 -0
- package/dist/docs/references/reference-agents-getMemory.md +34 -0
- package/dist/docs/references/reference-agents-getModel.md +34 -0
- package/dist/docs/references/reference-agents-getTools.md +34 -0
- package/dist/docs/references/reference-agents-getVoice.md +34 -0
- package/dist/docs/references/reference-agents-listAgents.md +35 -0
- package/dist/docs/references/reference-agents-listScorers.md +34 -0
- package/dist/docs/references/reference-agents-listTools.md +34 -0
- package/dist/docs/references/reference-agents-listWorkflows.md +34 -0
- package/dist/docs/references/reference-agents-network.md +136 -0
- package/dist/docs/references/reference-ai-sdk-chat-route.md +82 -0
- package/dist/docs/references/reference-ai-sdk-network-route.md +74 -0
- package/dist/docs/references/reference-ai-sdk-to-ai-sdk-stream.md +232 -0
- package/dist/docs/references/reference-ai-sdk-with-mastra.md +59 -0
- package/dist/docs/references/reference-ai-sdk-workflow-route.md +79 -0
- package/dist/docs/references/reference-auth-auth0.md +73 -0
- package/dist/docs/references/reference-auth-clerk.md +36 -0
- package/dist/docs/references/reference-auth-firebase.md +80 -0
- package/dist/docs/references/reference-auth-jwt.md +26 -0
- package/dist/docs/references/reference-auth-supabase.md +33 -0
- package/dist/docs/references/reference-auth-workos.md +84 -0
- package/dist/docs/{cli/01-reference.md → references/reference-cli-mastra.md} +14 -28
- package/dist/docs/{client-js/01-reference.md → references/reference-client-js-agents.md} +3 -12
- package/dist/docs/{configuration.mdx/01-reference.md → references/reference-configuration.md} +71 -91
- package/dist/docs/references/reference-core-addGateway.md +42 -0
- package/dist/docs/references/reference-core-getAgent.md +21 -0
- package/dist/docs/references/reference-core-getAgentById.md +21 -0
- package/dist/docs/references/reference-core-getDeployer.md +22 -0
- package/dist/docs/references/reference-core-getGateway.md +38 -0
- package/dist/docs/references/reference-core-getGatewayById.md +41 -0
- package/dist/docs/references/reference-core-getLogger.md +22 -0
- package/dist/docs/references/reference-core-getMCPServer.md +45 -0
- package/dist/docs/references/reference-core-getMCPServerById.md +53 -0
- package/dist/docs/references/reference-core-getMemory.md +50 -0
- package/dist/docs/references/reference-core-getScorer.md +54 -0
- package/dist/docs/references/reference-core-getScorerById.md +54 -0
- package/dist/docs/references/reference-core-getServer.md +22 -0
- package/dist/docs/references/reference-core-getStorage.md +22 -0
- package/dist/docs/references/reference-core-getStoredAgentById.md +89 -0
- package/dist/docs/references/reference-core-getTelemetry.md +22 -0
- package/dist/docs/references/reference-core-getVector.md +22 -0
- package/dist/docs/references/reference-core-getWorkflow.md +40 -0
- package/dist/docs/references/reference-core-listAgents.md +21 -0
- package/dist/docs/references/reference-core-listGateways.md +40 -0
- package/dist/docs/references/reference-core-listLogs.md +38 -0
- package/dist/docs/references/reference-core-listLogsByRunId.md +36 -0
- package/dist/docs/references/reference-core-listMCPServers.md +51 -0
- package/dist/docs/references/reference-core-listMemory.md +56 -0
- package/dist/docs/references/reference-core-listScorers.md +29 -0
- package/dist/docs/references/reference-core-listStoredAgents.md +93 -0
- package/dist/docs/references/reference-core-listVectors.md +22 -0
- package/dist/docs/references/reference-core-listWorkflows.md +21 -0
- package/dist/docs/references/reference-core-mastra-class.md +66 -0
- package/dist/docs/references/reference-core-mastra-model-gateway.md +153 -0
- package/dist/docs/references/reference-core-setLogger.md +26 -0
- package/dist/docs/references/reference-core-setStorage.md +27 -0
- package/dist/docs/references/reference-deployer-cloudflare.md +56 -0
- package/dist/docs/references/reference-deployer-netlify.md +14 -0
- package/dist/docs/references/reference-deployer-vercel.md +39 -0
- package/dist/docs/references/reference-evals-answer-relevancy.md +105 -0
- package/dist/docs/references/reference-evals-answer-similarity.md +99 -0
- package/dist/docs/references/reference-evals-bias.md +120 -0
- package/dist/docs/references/reference-evals-completeness.md +137 -0
- package/dist/docs/references/reference-evals-content-similarity.md +101 -0
- package/dist/docs/references/reference-evals-context-precision.md +196 -0
- package/dist/docs/references/reference-evals-create-scorer.md +270 -0
- package/dist/docs/references/reference-evals-faithfulness.md +114 -0
- package/dist/docs/references/reference-evals-hallucination.md +220 -0
- package/dist/docs/references/reference-evals-keyword-coverage.md +128 -0
- package/dist/docs/references/reference-evals-mastra-scorer.md +123 -0
- package/dist/docs/references/reference-evals-run-evals.md +138 -0
- package/dist/docs/references/reference-evals-scorer-utils.md +330 -0
- package/dist/docs/references/reference-evals-textual-difference.md +113 -0
- package/dist/docs/references/reference-evals-tone-consistency.md +119 -0
- package/dist/docs/references/reference-evals-toxicity.md +123 -0
- package/dist/docs/{logging/01-reference.md → references/reference-logging-pino-logger.md} +16 -15
- package/dist/docs/references/reference-memory-deleteMessages.md +40 -0
- package/dist/docs/{memory/06-reference.md → references/reference-memory-memory-class.md} +28 -55
- package/dist/docs/references/reference-memory-observational-memory.md +217 -0
- package/dist/docs/references/reference-observability-tracing-bridges-otel.md +131 -0
- package/dist/docs/references/reference-observability-tracing-configuration.md +178 -0
- package/dist/docs/references/reference-observability-tracing-exporters-console-exporter.md +138 -0
- package/dist/docs/references/reference-observability-tracing-exporters-datadog.md +116 -0
- package/dist/docs/references/reference-observability-tracing-instances.md +109 -0
- package/dist/docs/references/reference-observability-tracing-interfaces.md +749 -0
- package/dist/docs/references/reference-observability-tracing-processors-sensitive-data-filter.md +144 -0
- package/dist/docs/references/reference-observability-tracing-spans.md +224 -0
- package/dist/docs/references/reference-processors-batch-parts-processor.md +61 -0
- package/dist/docs/references/reference-processors-language-detector.md +81 -0
- package/dist/docs/references/reference-processors-message-history-processor.md +85 -0
- package/dist/docs/references/reference-processors-moderation-processor.md +104 -0
- package/dist/docs/references/reference-processors-pii-detector.md +107 -0
- package/dist/docs/references/reference-processors-processor-interface.md +521 -0
- package/dist/docs/references/reference-processors-prompt-injection-detector.md +71 -0
- package/dist/docs/references/reference-processors-semantic-recall-processor.md +123 -0
- package/dist/docs/references/reference-processors-system-prompt-scrubber.md +80 -0
- package/dist/docs/references/reference-processors-token-limiter-processor.md +113 -0
- package/dist/docs/references/reference-processors-tool-call-filter.md +85 -0
- package/dist/docs/references/reference-processors-tool-search-processor.md +113 -0
- package/dist/docs/references/reference-processors-unicode-normalizer.md +62 -0
- package/dist/docs/references/reference-processors-working-memory-processor.md +154 -0
- package/dist/docs/references/reference-rag-database-config.md +264 -0
- package/dist/docs/references/reference-rag-embeddings.md +92 -0
- package/dist/docs/references/reference-server-mastra-server.md +298 -0
- package/dist/docs/references/reference-server-register-api-route.md +249 -0
- package/dist/docs/references/reference-storage-cloudflare-d1.md +218 -0
- package/dist/docs/references/reference-storage-composite.md +235 -0
- package/dist/docs/references/reference-storage-lance.md +131 -0
- package/dist/docs/references/reference-storage-libsql.md +135 -0
- package/dist/docs/references/reference-storage-mongodb.md +262 -0
- package/dist/docs/references/reference-storage-mssql.md +155 -0
- package/dist/docs/references/reference-storage-overview.md +121 -0
- package/dist/docs/references/reference-storage-postgresql.md +529 -0
- package/dist/docs/references/reference-storage-upstash.md +160 -0
- package/dist/docs/references/reference-streaming-ChunkType.md +292 -0
- package/dist/docs/references/reference-streaming-agents-MastraModelOutput.md +182 -0
- package/dist/docs/references/reference-streaming-agents-streamLegacy.md +142 -0
- package/dist/docs/references/reference-streaming-workflows-observeStream.md +42 -0
- package/dist/docs/references/reference-streaming-workflows-resumeStream.md +61 -0
- package/dist/docs/references/reference-streaming-workflows-stream.md +87 -0
- package/dist/docs/references/reference-streaming-workflows-timeTravelStream.md +142 -0
- package/dist/docs/{templates/01-reference.md → references/reference-templates-overview.md} +8 -17
- package/dist/docs/references/reference-tools-client.md +228 -0
- package/dist/docs/references/reference-tools-create-tool.md +237 -0
- package/dist/docs/references/reference-tools-graph-rag-tool.md +185 -0
- package/dist/docs/references/reference-tools-mcp-client.md +964 -0
- package/dist/docs/references/reference-tools-mcp-server.md +1275 -0
- package/dist/docs/references/reference-tools-vector-query-tool.md +459 -0
- package/dist/docs/references/reference-vectors-libsql.md +305 -0
- package/dist/docs/references/reference-vectors-mongodb.md +295 -0
- package/dist/docs/references/reference-vectors-pg.md +408 -0
- package/dist/docs/references/reference-vectors-upstash.md +294 -0
- package/dist/docs/references/reference-voice-composite-voice.md +121 -0
- package/dist/docs/references/reference-voice-mastra-voice.md +313 -0
- package/dist/docs/references/reference-voice-voice.addInstructions.md +56 -0
- package/dist/docs/references/reference-voice-voice.addTools.md +67 -0
- package/dist/docs/references/reference-voice-voice.connect.md +94 -0
- package/dist/docs/references/reference-voice-voice.events.md +37 -0
- package/dist/docs/references/reference-voice-voice.listen.md +164 -0
- package/dist/docs/references/reference-voice-voice.on.md +111 -0
- package/dist/docs/references/reference-voice-voice.speak.md +157 -0
- package/dist/docs/references/reference-workflows-run-methods-cancel.md +86 -0
- package/dist/docs/references/reference-workflows-run-methods-restart.md +33 -0
- package/dist/docs/references/reference-workflows-run-methods-resume.md +59 -0
- package/dist/docs/references/reference-workflows-run-methods-start.md +58 -0
- package/dist/docs/references/reference-workflows-run-methods-startAsync.md +67 -0
- package/dist/docs/references/reference-workflows-run-methods-timeTravel.md +142 -0
- package/dist/docs/references/reference-workflows-run.md +59 -0
- package/dist/docs/references/reference-workflows-step.md +117 -0
- package/dist/docs/references/reference-workflows-workflow-methods-branch.md +25 -0
- package/dist/docs/references/reference-workflows-workflow-methods-commit.md +17 -0
- package/dist/docs/references/reference-workflows-workflow-methods-create-run.md +63 -0
- package/dist/docs/references/reference-workflows-workflow-methods-dountil.md +25 -0
- package/dist/docs/references/reference-workflows-workflow-methods-dowhile.md +25 -0
- package/dist/docs/references/reference-workflows-workflow-methods-foreach.md +88 -0
- package/dist/docs/references/reference-workflows-workflow-methods-map.md +93 -0
- package/dist/docs/references/reference-workflows-workflow-methods-parallel.md +21 -0
- package/dist/docs/references/reference-workflows-workflow-methods-sleep.md +35 -0
- package/dist/docs/references/reference-workflows-workflow-methods-sleepUntil.md +35 -0
- package/dist/docs/references/reference-workflows-workflow-methods-then.md +21 -0
- package/dist/docs/references/reference-workflows-workflow.md +157 -0
- package/dist/docs/references/reference-workspace-filesystem.md +200 -0
- package/dist/docs/references/reference-workspace-local-filesystem.md +300 -0
- package/dist/docs/references/reference-workspace-local-sandbox.md +283 -0
- package/dist/docs/references/reference-workspace-sandbox.md +79 -0
- package/dist/docs/references/reference-workspace-workspace-class.md +247 -0
- package/dist/docs/references/reference.md +243 -0
- package/dist/evals/index.cjs +5 -5
- package/dist/evals/index.js +2 -2
- package/dist/evals/scoreTraces/index.cjs +3 -3
- package/dist/evals/scoreTraces/index.js +1 -1
- package/dist/index.cjs +4 -4
- package/dist/index.js +2 -2
- package/dist/llm/index.cjs +9 -5
- package/dist/llm/index.d.ts +1 -1
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +1 -1
- package/dist/llm/model/index.d.ts +1 -1
- package/dist/llm/model/index.d.ts.map +1 -1
- package/dist/loop/index.cjs +12 -12
- package/dist/loop/index.js +1 -1
- package/dist/mastra/index.cjs +2 -2
- package/dist/mastra/index.d.ts +17 -0
- package/dist/mastra/index.d.ts.map +1 -1
- package/dist/mastra/index.js +1 -1
- package/dist/memory/index.cjs +14 -14
- package/dist/memory/index.js +1 -1
- package/dist/memory/types.d.ts +3 -2
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/processors/index.cjs +41 -41
- package/dist/processors/index.js +1 -1
- package/dist/relevance/index.cjs +3 -3
- package/dist/relevance/index.js +1 -1
- package/dist/storage/index.cjs +33 -33
- package/dist/storage/index.js +1 -1
- package/dist/stream/index.cjs +11 -11
- package/dist/stream/index.js +2 -2
- package/dist/test-utils/llm-mock.cjs +12 -12
- package/dist/test-utils/llm-mock.js +3 -3
- package/dist/{token-6GSAFR2W-TOUJCAPY.js → token-APYSY3BW-QJCV2XQG.js} +11 -11
- package/dist/token-APYSY3BW-QJCV2XQG.js.map +1 -0
- package/dist/{token-6GSAFR2W-GERJXNN5.cjs → token-APYSY3BW-UBKUGJQP.cjs} +14 -14
- package/dist/token-APYSY3BW-UBKUGJQP.cjs.map +1 -0
- package/dist/token-util-RMHT2CPJ-S2YMG7N3.js +8 -0
- package/dist/token-util-RMHT2CPJ-S2YMG7N3.js.map +1 -0
- package/dist/token-util-RMHT2CPJ-WV2T74WQ.cjs +10 -0
- package/dist/token-util-RMHT2CPJ-WV2T74WQ.cjs.map +1 -0
- package/dist/tool-loop-agent/index.cjs +4 -4
- package/dist/tool-loop-agent/index.js +1 -1
- package/dist/vector/index.cjs +11 -11
- package/dist/vector/index.js +3 -3
- 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/package.json +4 -5
- package/dist/chunk-3LRUJTH3.cjs.map +0 -1
- package/dist/chunk-5HDIPOLV.js.map +0 -1
- package/dist/chunk-ARQG4ZSD.cjs.map +0 -1
- package/dist/chunk-DG6C6ZTL.cjs.map +0 -1
- package/dist/chunk-EY3WXGUD.js.map +0 -1
- package/dist/chunk-IPXNR6RQ.js.map +0 -1
- package/dist/chunk-NYC6PYZF.js.map +0 -1
- package/dist/chunk-X5HU5YVN.js +0 -250
- package/dist/chunk-X5HU5YVN.js.map +0 -1
- package/dist/chunk-XC7WIZBL.js.map +0 -1
- package/dist/chunk-Z2OKCLGV.cjs.map +0 -1
- package/dist/chunk-Z4PGSIZ5.cjs.map +0 -1
- package/dist/chunk-ZZF2IKZJ.cjs +0 -252
- package/dist/chunk-ZZF2IKZJ.cjs.map +0 -1
- package/dist/docs/README.md +0 -57
- package/dist/docs/agents/11-reference.md +0 -854
- package/dist/docs/ai-sdk/01-reference.md +0 -490
- package/dist/docs/auth/01-reference.md +0 -308
- package/dist/docs/core/01-reference.md +0 -1283
- package/dist/docs/deployer/01-reference.md +0 -128
- package/dist/docs/evals/04-reference.md +0 -2137
- package/dist/docs/index.mdx/01-reference.md +0 -14
- package/dist/docs/mcp/02-publishing-mcp-server.md +0 -111
- package/dist/docs/observability/15-reference.md +0 -1831
- package/dist/docs/processors/01-reference.md +0 -1418
- package/dist/docs/rag/06-reference.md +0 -342
- package/dist/docs/server/16-reference.md +0 -513
- package/dist/docs/storage/01-reference.md +0 -2022
- package/dist/docs/streaming/04-reference.md +0 -724
- package/dist/docs/tools/01-reference.md +0 -3136
- package/dist/docs/vectors/01-reference.md +0 -942
- package/dist/docs/voice/05-reference.md +0 -1043
- package/dist/docs/workflows/11-reference.md +0 -1044
- package/dist/docs/workspace/06-reference.md +0 -946
- package/dist/token-6GSAFR2W-GERJXNN5.cjs.map +0 -1
- package/dist/token-6GSAFR2W-TOUJCAPY.js.map +0 -1
- package/dist/token-util-NEHG7TUY-R2XAU2MF.cjs +0 -10
- package/dist/token-util-NEHG7TUY-R2XAU2MF.cjs.map +0 -1
- package/dist/token-util-NEHG7TUY-TZ426VZB.js +0 -8
- package/dist/token-util-NEHG7TUY-TZ426VZB.js.map +0 -1
|
@@ -1,21 +1,12 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
> API reference for logging - 1 entries
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Reference: PinoLogger
|
|
9
|
-
|
|
10
|
-
> Documentation for PinoLogger, which provides methods to record events at various severity levels.
|
|
1
|
+
# PinoLogger
|
|
11
2
|
|
|
12
3
|
A Logger instance is created using `new PinoLogger()` and provides methods to record events at various severity levels.
|
|
13
4
|
|
|
14
|
-
When deploying to Mastra Cloud, logs are displayed on the [Logs](https://mastra.ai/docs/mastra-cloud/observability
|
|
5
|
+
When deploying to Mastra Cloud, logs are displayed on the [Logs](https://mastra.ai/docs/mastra-cloud/observability) page. In self-hosted or custom environments, logs can be directed to files or external services depending on the configured transports.
|
|
15
6
|
|
|
16
7
|
## Usage example
|
|
17
8
|
|
|
18
|
-
```typescript
|
|
9
|
+
```typescript
|
|
19
10
|
import { Mastra } from "@mastra/core";
|
|
20
11
|
import { PinoLogger } from "@mastra/loggers";
|
|
21
12
|
|
|
@@ -29,11 +20,21 @@ export const mastra = new Mastra({
|
|
|
29
20
|
|
|
30
21
|
## Parameters
|
|
31
22
|
|
|
23
|
+
**name:** (`string`): A label used to group and identify logs from this logger.
|
|
24
|
+
|
|
25
|
+
**level:** (`"debug" | "info" | "warn" | "error"`): Sets the minimum log level. Messages below this level are ignored.
|
|
26
|
+
|
|
27
|
+
**transports:** (`Record<string, LoggerTransport>`): A map of transport instances used to persist logs.
|
|
28
|
+
|
|
29
|
+
**overrideDefaultTransports?:** (`boolean`): If true, disables the default console transport.
|
|
30
|
+
|
|
31
|
+
**formatters?:** (`pino.LoggerOptions['formatters']`): Custom Pino formatters for log serialization.
|
|
32
|
+
|
|
32
33
|
## File transport (structured logs)
|
|
33
34
|
|
|
34
35
|
Writes structured logs to a file using the `FileTransport`. The logger accepts a plain message as the first argument and structured metadata as the second argument. These are internally converted to a `BaseLogMessage` and persisted to the configured file path.
|
|
35
36
|
|
|
36
|
-
```typescript
|
|
37
|
+
```typescript
|
|
37
38
|
import { FileTransport } from "@mastra/loggers/file";
|
|
38
39
|
import { PinoLogger } from "@mastra/loggers/pino";
|
|
39
40
|
|
|
@@ -57,7 +58,7 @@ fileLogger.warn("Low disk space", {
|
|
|
57
58
|
|
|
58
59
|
Streams structured logs to a remote Redis list using the `UpstashTransport`. The logger accepts a string message and a structured metadata object. This enables centralized logging for distributed environments, supporting filtering by `destinationPath`, `type`, and `runId`.
|
|
59
60
|
|
|
60
|
-
```typescript
|
|
61
|
+
```typescript
|
|
61
62
|
import { UpstashTransport } from "@mastra/loggers/upstash";
|
|
62
63
|
import { PinoLogger } from "@mastra/loggers/pino";
|
|
63
64
|
|
|
@@ -92,7 +93,7 @@ You can create custom transports using the `createCustomTransport` utility to in
|
|
|
92
93
|
|
|
93
94
|
Creates a custom transport using `createCustomTransport` and integrates it with a third-party logging stream such as `pino-sentry-transport`. This allows forwarding logs to an external system like Sentry for advanced monitoring and observability.
|
|
94
95
|
|
|
95
|
-
```typescript
|
|
96
|
+
```typescript
|
|
96
97
|
import { createCustomTransport } from "@mastra/core/loggers";
|
|
97
98
|
import { PinoLogger } from "@mastra/loggers/pino";
|
|
98
99
|
import pinoSentry from "pino-sentry-transport";
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Memory.deleteMessages()
|
|
2
|
+
|
|
3
|
+
The `.deleteMessages()` method deletes multiple messages by their IDs.
|
|
4
|
+
|
|
5
|
+
## Usage Example
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
await memory?.deleteMessages(["671ae63f-3a91-4082-a907-fe7de78e10ec"]);
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
**messageIds:** (`string[]`): Array of message IDs to delete
|
|
14
|
+
|
|
15
|
+
## Returns
|
|
16
|
+
|
|
17
|
+
**void:** (`Promise<void>`): A promise that resolves when all messages are deleted
|
|
18
|
+
|
|
19
|
+
## Extended usage example
|
|
20
|
+
|
|
21
|
+
```typescript
|
|
22
|
+
import { mastra } from "./mastra";
|
|
23
|
+
import { MastraDBMessage } from "@mastra/core";
|
|
24
|
+
|
|
25
|
+
const agent = mastra.getAgent("agent");
|
|
26
|
+
const memory = await agent.getMemory();
|
|
27
|
+
|
|
28
|
+
const { messages } = await memory!.recall({ threadId: "thread-123" });
|
|
29
|
+
|
|
30
|
+
const messageIds = messages.map(
|
|
31
|
+
(message: MastraDBMessage) => message.id,
|
|
32
|
+
);
|
|
33
|
+
await memory?.deleteMessages([...messageIds]);
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Related
|
|
37
|
+
|
|
38
|
+
- [Memory Class Reference](https://mastra.ai/reference/memory/memory-class)
|
|
39
|
+
- [recall](https://mastra.ai/reference/memory/recall)
|
|
40
|
+
- [Getting Started with Memory](https://mastra.ai/docs/memory/overview)
|
|
@@ -1,60 +1,10 @@
|
|
|
1
|
-
# Memory
|
|
2
|
-
|
|
3
|
-
> API reference for memory - 2 entries
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Reference: Memory.deleteMessages()
|
|
9
|
-
|
|
10
|
-
> Documentation for the `Memory.deleteMessages()` method in Mastra, which deletes multiple messages by their IDs.
|
|
11
|
-
|
|
12
|
-
The `.deleteMessages()` method deletes multiple messages by their IDs.
|
|
13
|
-
|
|
14
|
-
## Usage Example
|
|
15
|
-
|
|
16
|
-
```typescript
|
|
17
|
-
await memory?.deleteMessages(["671ae63f-3a91-4082-a907-fe7de78e10ec"]);
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## Parameters
|
|
21
|
-
|
|
22
|
-
## Returns
|
|
23
|
-
|
|
24
|
-
## Extended usage example
|
|
25
|
-
|
|
26
|
-
```typescript title="src/test-memory.ts"
|
|
27
|
-
import { mastra } from "./mastra";
|
|
28
|
-
import { MastraDBMessage } from "@mastra/core";
|
|
29
|
-
|
|
30
|
-
const agent = mastra.getAgent("agent");
|
|
31
|
-
const memory = await agent.getMemory();
|
|
32
|
-
|
|
33
|
-
const { messages } = await memory!.recall({ threadId: "thread-123" });
|
|
34
|
-
|
|
35
|
-
const messageIds = messages.map(
|
|
36
|
-
(message: MastraDBMessage) => message.id,
|
|
37
|
-
);
|
|
38
|
-
await memory?.deleteMessages([...messageIds]);
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
## Related
|
|
42
|
-
|
|
43
|
-
- [Memory Class Reference](https://mastra.ai/reference/memory/memory-class)
|
|
44
|
-
- [recall](https://mastra.ai/reference/memory/recall)
|
|
45
|
-
- [Getting Started with Memory](https://mastra.ai/docs/memory/overview)
|
|
46
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
## Reference: Memory Class
|
|
50
|
-
|
|
51
|
-
> Documentation for the `Memory` class in Mastra, which provides a robust system for managing conversation history and thread-based message storage.
|
|
1
|
+
# Memory Class
|
|
52
2
|
|
|
53
3
|
The `Memory` class provides a robust system for managing conversation history and thread-based message storage in Mastra. It enables persistent storage of conversations, semantic search capabilities, and efficient message retrieval. You must configure a storage provider for conversation history, and if you enable semantic recall you will also need to provide a vector store and embedder.
|
|
54
4
|
|
|
55
5
|
## Usage example
|
|
56
6
|
|
|
57
|
-
```typescript
|
|
7
|
+
```typescript
|
|
58
8
|
import { Memory } from "@mastra/memory";
|
|
59
9
|
import { Agent } from "@mastra/core/agent";
|
|
60
10
|
|
|
@@ -72,17 +22,39 @@ export const agent = new Agent({
|
|
|
72
22
|
});
|
|
73
23
|
```
|
|
74
24
|
|
|
75
|
-
> To enable `workingMemory` on an agent, you’ll need a storage provider configured on your main Mastra instance. See [Mastra class](
|
|
25
|
+
> To enable `workingMemory` on an agent, you’ll need a storage provider configured on your main Mastra instance. See [Mastra class](https://mastra.ai/reference/core/mastra-class) for more information.
|
|
76
26
|
|
|
77
27
|
## Constructor parameters
|
|
78
28
|
|
|
29
|
+
**storage?:** (`MastraCompositeStore`): Storage implementation for persisting memory data. Defaults to \`new DefaultStorage({ config: { url: "file:memory.db" } })\` if not provided.
|
|
30
|
+
|
|
31
|
+
**vector?:** (`MastraVector | false`): Vector store for semantic search capabilities. Set to \`false\` to disable vector operations.
|
|
32
|
+
|
|
33
|
+
**embedder?:** (`EmbeddingModel<string> | EmbeddingModelV2<string>`): Embedder instance for vector embeddings. Required when semantic recall is enabled.
|
|
34
|
+
|
|
35
|
+
**options?:** (`MemoryConfig`): Memory configuration options.
|
|
36
|
+
|
|
79
37
|
### Options parameters
|
|
80
38
|
|
|
39
|
+
**lastMessages?:** (`number | false`): Number of most recent messages to retrieve. Set to false to disable. (Default: `10`)
|
|
40
|
+
|
|
41
|
+
**readOnly?:** (`boolean`): When true, prevents memory from saving new messages and provides working memory as read-only context (without the updateWorkingMemory tool). Useful for read-only operations like previews, internal routing agents, or sub agents that should reference but not modify memory. (Default: `false`)
|
|
42
|
+
|
|
43
|
+
**semanticRecall?:** (`boolean | { topK: number; messageRange: number | { before: number; after: number }; scope?: 'thread' | 'resource' }`): Enable semantic search in message history. Can be a boolean or an object with configuration options. When enabled, requires both vector store and embedder to be configured. Default topK is 4, default messageRange is {before: 1, after: 1}. (Default: `false`)
|
|
44
|
+
|
|
45
|
+
**workingMemory?:** (`WorkingMemory`): Configuration for working memory feature. Can be \`{ enabled: boolean; template?: string; schema?: ZodObject\<any> | JSONSchema7; scope?: 'thread' | 'resource' }\` or \`{ enabled: boolean }\` to disable. (Default: `{ enabled: false, template: '# User Information\n- **First Name**:\n- **Last Name**:\n...' }`)
|
|
46
|
+
|
|
47
|
+
**observationalMemory?:** (`boolean | ObservationalMemoryOptions`): Enable Observational Memory for long-context agentic memory. Set to \`true\` for defaults, or pass a config object to customize token budgets, models, and scope. See \[Observational Memory reference]\(/reference/memory/observational-memory) for configuration details. (Default: `false`)
|
|
48
|
+
|
|
49
|
+
**generateTitle?:** (`boolean | { model: DynamicArgument<MastraLanguageModel>; instructions?: DynamicArgument<string> }`): Controls automatic thread title generation from the user's first message. Can be a boolean or an object with custom model and instructions. (Default: `false`)
|
|
50
|
+
|
|
81
51
|
## Returns
|
|
82
52
|
|
|
53
|
+
**memory:** (`Memory`): A new Memory instance with the specified configuration.
|
|
54
|
+
|
|
83
55
|
## Extended usage example
|
|
84
56
|
|
|
85
|
-
```typescript
|
|
57
|
+
```typescript
|
|
86
58
|
import { Memory } from "@mastra/memory";
|
|
87
59
|
import { Agent } from "@mastra/core/agent";
|
|
88
60
|
import { LibSQLStore, LibSQLVector } from "@mastra/libsql";
|
|
@@ -118,7 +90,7 @@ export const agent = new Agent({
|
|
|
118
90
|
|
|
119
91
|
## PostgreSQL with index configuration
|
|
120
92
|
|
|
121
|
-
```typescript
|
|
93
|
+
```typescript
|
|
122
94
|
import { Memory } from "@mastra/memory";
|
|
123
95
|
import { Agent } from "@mastra/core/agent";
|
|
124
96
|
import { ModelRouterEmbeddingModel } from "@mastra/core/llm";
|
|
@@ -164,6 +136,7 @@ export const agent = new Agent({
|
|
|
164
136
|
- [Getting Started with Memory](https://mastra.ai/docs/memory/overview)
|
|
165
137
|
- [Semantic Recall](https://mastra.ai/docs/memory/semantic-recall)
|
|
166
138
|
- [Working Memory](https://mastra.ai/docs/memory/working-memory)
|
|
139
|
+
- [Observational Memory](https://mastra.ai/docs/memory/observational-memory)
|
|
167
140
|
- [Memory Processors](https://mastra.ai/docs/memory/memory-processors)
|
|
168
141
|
- [createThread](https://mastra.ai/reference/memory/createThread)
|
|
169
142
|
- [recall](https://mastra.ai/reference/memory/recall)
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
# Observational Memory
|
|
2
|
+
|
|
3
|
+
Observational Memory (OM) is Mastra's memory system for long-context agentic memory. Two background agents — an **Observer** that watches conversations and creates observations, and a **Reflector** that restructures observations by combining related items, reflecting on overarching patterns, and condensing where possible — maintain an observation log that replaces raw message history as it grows.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
import { Memory } from "@mastra/memory";
|
|
9
|
+
import { Agent } from "@mastra/core/agent";
|
|
10
|
+
|
|
11
|
+
export const agent = new Agent({
|
|
12
|
+
name: "my-agent",
|
|
13
|
+
instructions: "You are a helpful assistant.",
|
|
14
|
+
model: "openai/gpt-5-mini",
|
|
15
|
+
memory: new Memory({
|
|
16
|
+
options: {
|
|
17
|
+
observationalMemory: true,
|
|
18
|
+
},
|
|
19
|
+
}),
|
|
20
|
+
});
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Configuration
|
|
24
|
+
|
|
25
|
+
The `observationalMemory` option accepts `true`, `false`, or a configuration object.
|
|
26
|
+
|
|
27
|
+
Setting `observationalMemory: true` enables it with all defaults. Setting `observationalMemory: false` or omitting it disables it.
|
|
28
|
+
|
|
29
|
+
**enabled?:** (`boolean`): Enable or disable Observational Memory. When omitted from a config object, defaults to \`true\`. Only \`enabled: false\` explicitly disables it. (Default: `true`)
|
|
30
|
+
|
|
31
|
+
**model?:** (`string | LanguageModel | DynamicModel | ModelWithRetries[]`): Model for both the Observer and Reflector agents. Sets the model for both at once. Cannot be used together with \`observation.model\` or \`reflection.model\` — an error will be thrown if both are set. (Default: `'google/gemini-2.5-flash'`)
|
|
32
|
+
|
|
33
|
+
**scope?:** (`'resource' | 'thread'`): Memory scope for observations. \`'thread'\` keeps observations per-thread. \`'resource'\` shares observations across all threads for a resource, enabling cross-conversation memory. (Default: `'thread'`)
|
|
34
|
+
|
|
35
|
+
**shareTokenBudget?:** (`boolean`): Share the token budget between messages and observations. When enabled, the total budget is \`observation.messageTokens + reflection.observationTokens\`. Messages can use more space when observations are small, and vice versa. This maximizes context usage through flexible allocation. (Default: `false`)
|
|
36
|
+
|
|
37
|
+
**observation?:** (`ObservationalMemoryObservationConfig`): Configuration for the observation step. Controls when the Observer agent runs and how it behaves.
|
|
38
|
+
|
|
39
|
+
**reflection?:** (`ObservationalMemoryReflectionConfig`): Configuration for the reflection step. Controls when the Reflector agent runs and how it behaves.
|
|
40
|
+
|
|
41
|
+
### Observation config
|
|
42
|
+
|
|
43
|
+
**model?:** (`string | LanguageModel | DynamicModel | ModelWithRetries[]`): Model for the Observer agent. Cannot be set if a top-level \`model\` is also provided. (Default: `'google/gemini-2.5-flash'`)
|
|
44
|
+
|
|
45
|
+
**messageTokens?:** (`number`): Token count of unobserved messages that triggers observation. When unobserved message tokens exceed this threshold, the Observer agent is called. (Default: `30000`)
|
|
46
|
+
|
|
47
|
+
**maxTokensPerBatch?:** (`number`): Maximum tokens per batch when observing multiple threads in resource scope. Threads are chunked into batches of this size and processed in parallel. Lower values mean more parallelism but more API calls. (Default: `10000`)
|
|
48
|
+
|
|
49
|
+
**modelSettings?:** (`ObservationalMemoryModelSettings`): Model settings for the Observer agent. (Default: `{ temperature: 0.3, maxOutputTokens: 100_000 }`)
|
|
50
|
+
|
|
51
|
+
### Reflection config
|
|
52
|
+
|
|
53
|
+
**model?:** (`string | LanguageModel | DynamicModel | ModelWithRetries[]`): Model for the Reflector agent. Cannot be set if a top-level \`model\` is also provided. (Default: `'google/gemini-2.5-flash'`)
|
|
54
|
+
|
|
55
|
+
**observationTokens?:** (`number`): Token count of observations that triggers reflection. When observation tokens exceed this threshold, the Reflector agent is called to condense them. (Default: `40000`)
|
|
56
|
+
|
|
57
|
+
**modelSettings?:** (`ObservationalMemoryModelSettings`): Model settings for the Reflector agent. (Default: `{ temperature: 0, maxOutputTokens: 100_000 }`)
|
|
58
|
+
|
|
59
|
+
### Model settings
|
|
60
|
+
|
|
61
|
+
**temperature?:** (`number`): Temperature for generation. Lower values produce more consistent output. (Default: `0.3`)
|
|
62
|
+
|
|
63
|
+
**maxOutputTokens?:** (`number`): Maximum output tokens. Set high to prevent truncation of observations. (Default: `100000`)
|
|
64
|
+
|
|
65
|
+
## Examples
|
|
66
|
+
|
|
67
|
+
### Resource scope with custom thresholds
|
|
68
|
+
|
|
69
|
+
```typescript
|
|
70
|
+
import { Memory } from "@mastra/memory";
|
|
71
|
+
import { Agent } from "@mastra/core/agent";
|
|
72
|
+
|
|
73
|
+
export const agent = new Agent({
|
|
74
|
+
name: "my-agent",
|
|
75
|
+
instructions: "You are a helpful assistant.",
|
|
76
|
+
model: "openai/gpt-5-mini",
|
|
77
|
+
memory: new Memory({
|
|
78
|
+
options: {
|
|
79
|
+
observationalMemory: {
|
|
80
|
+
scope: "resource",
|
|
81
|
+
observation: {
|
|
82
|
+
messageTokens: 20_000,
|
|
83
|
+
},
|
|
84
|
+
reflection: {
|
|
85
|
+
observationTokens: 60_000,
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
}),
|
|
90
|
+
});
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Shared token budget
|
|
94
|
+
|
|
95
|
+
```typescript
|
|
96
|
+
import { Memory } from "@mastra/memory";
|
|
97
|
+
import { Agent } from "@mastra/core/agent";
|
|
98
|
+
|
|
99
|
+
export const agent = new Agent({
|
|
100
|
+
name: "my-agent",
|
|
101
|
+
instructions: "You are a helpful assistant.",
|
|
102
|
+
model: "openai/gpt-5-mini",
|
|
103
|
+
memory: new Memory({
|
|
104
|
+
options: {
|
|
105
|
+
observationalMemory: {
|
|
106
|
+
shareTokenBudget: true,
|
|
107
|
+
observation: {
|
|
108
|
+
messageTokens: 20_000,
|
|
109
|
+
},
|
|
110
|
+
reflection: {
|
|
111
|
+
observationTokens: 80_000,
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
}),
|
|
116
|
+
});
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
When `shareTokenBudget` is enabled, the total budget is `observation.messageTokens + reflection.observationTokens` (100k in this example). If observations only use 30k tokens, messages can expand to use up to 70k. If messages are short, observations have more room before triggering reflection.
|
|
120
|
+
|
|
121
|
+
### Custom model
|
|
122
|
+
|
|
123
|
+
```typescript
|
|
124
|
+
import { Memory } from "@mastra/memory";
|
|
125
|
+
import { Agent } from "@mastra/core/agent";
|
|
126
|
+
|
|
127
|
+
export const agent = new Agent({
|
|
128
|
+
name: "my-agent",
|
|
129
|
+
instructions: "You are a helpful assistant.",
|
|
130
|
+
model: "openai/gpt-5-mini",
|
|
131
|
+
memory: new Memory({
|
|
132
|
+
options: {
|
|
133
|
+
observationalMemory: {
|
|
134
|
+
model: "openai/gpt-4o-mini",
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
}),
|
|
138
|
+
});
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Different models per agent
|
|
142
|
+
|
|
143
|
+
```typescript
|
|
144
|
+
import { Memory } from "@mastra/memory";
|
|
145
|
+
import { Agent } from "@mastra/core/agent";
|
|
146
|
+
|
|
147
|
+
export const agent = new Agent({
|
|
148
|
+
name: "my-agent",
|
|
149
|
+
instructions: "You are a helpful assistant.",
|
|
150
|
+
model: "openai/gpt-5-mini",
|
|
151
|
+
memory: new Memory({
|
|
152
|
+
options: {
|
|
153
|
+
observationalMemory: {
|
|
154
|
+
observation: {
|
|
155
|
+
model: "google/gemini-2.5-flash",
|
|
156
|
+
},
|
|
157
|
+
reflection: {
|
|
158
|
+
model: "openai/gpt-4o-mini",
|
|
159
|
+
},
|
|
160
|
+
},
|
|
161
|
+
},
|
|
162
|
+
}),
|
|
163
|
+
});
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## Standalone usage
|
|
167
|
+
|
|
168
|
+
Most users should use the `Memory` class above. Using `ObservationalMemory` directly is mainly useful for benchmarking, experimentation, or when you need to control processor ordering with other processors (like [guardrails](https://mastra.ai/docs/agents/guardrails)).
|
|
169
|
+
|
|
170
|
+
```typescript
|
|
171
|
+
import { ObservationalMemory } from "@mastra/memory/processors";
|
|
172
|
+
import { Agent } from "@mastra/core/agent";
|
|
173
|
+
import { LibSQLStore } from "@mastra/libsql";
|
|
174
|
+
|
|
175
|
+
const storage = new LibSQLStore({
|
|
176
|
+
id: "my-storage",
|
|
177
|
+
url: "file:./memory.db",
|
|
178
|
+
});
|
|
179
|
+
|
|
180
|
+
const om = new ObservationalMemory({
|
|
181
|
+
storage: storage.stores.memory,
|
|
182
|
+
model: "google/gemini-2.5-flash",
|
|
183
|
+
scope: "resource",
|
|
184
|
+
observation: {
|
|
185
|
+
messageTokens: 20_000,
|
|
186
|
+
},
|
|
187
|
+
reflection: {
|
|
188
|
+
observationTokens: 60_000,
|
|
189
|
+
},
|
|
190
|
+
});
|
|
191
|
+
|
|
192
|
+
export const agent = new Agent({
|
|
193
|
+
name: "my-agent",
|
|
194
|
+
instructions: "You are a helpful assistant.",
|
|
195
|
+
model: "openai/gpt-5-mini",
|
|
196
|
+
inputProcessors: [om],
|
|
197
|
+
outputProcessors: [om],
|
|
198
|
+
});
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### Standalone config
|
|
202
|
+
|
|
203
|
+
The standalone `ObservationalMemory` class accepts all the same options as the `observationalMemory` config object above, plus the following:
|
|
204
|
+
|
|
205
|
+
**storage:** (`MemoryStorage`): Storage adapter for persisting observations. Must be a MemoryStorage instance (from \`MastraStorage.stores.memory\`).
|
|
206
|
+
|
|
207
|
+
**onDebugEvent?:** (`(event: ObservationDebugEvent) => void`): Debug callback for observation events. Called whenever observation-related events occur. Useful for debugging and understanding the observation flow.
|
|
208
|
+
|
|
209
|
+
**obscureThreadIds?:** (`boolean`): When enabled, thread IDs are hashed before being included in observation context. This prevents the LLM from recognizing patterns in thread identifiers. Automatically enabled when using resource scope through the Memory class. (Default: `false`)
|
|
210
|
+
|
|
211
|
+
### Related
|
|
212
|
+
|
|
213
|
+
- [Observational Memory](https://mastra.ai/docs/memory/observational-memory)
|
|
214
|
+
- [Memory Overview](https://mastra.ai/docs/memory/overview)
|
|
215
|
+
- [Memory Class](https://mastra.ai/reference/memory/memory-class)
|
|
216
|
+
- [Memory Processors](https://mastra.ai/docs/memory/memory-processors)
|
|
217
|
+
- [Processors](https://mastra.ai/docs/agents/processors)
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# OtelBridge
|
|
2
|
+
|
|
3
|
+
> **Warning:** The OpenTelemetry Bridge is currently **experimental**. APIs and configuration options may change in future releases.
|
|
4
|
+
|
|
5
|
+
Enables bidirectional integration between Mastra tracing and OpenTelemetry infrastructure. Creates native OTEL spans for Mastra operations and inherits context from active OTEL spans.
|
|
6
|
+
|
|
7
|
+
## Constructor
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
new OtelBridge()
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Methods
|
|
14
|
+
|
|
15
|
+
### executeInContext
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
executeInContext<T>(spanId: string, fn: () => Promise<T>): Promise<T>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Executes an async function within the OTEL context of a Mastra span. OTEL-instrumented code running inside the function will have correct parent relationships.
|
|
22
|
+
|
|
23
|
+
**Returns:** `Promise<T>` - The result of the function execution.
|
|
24
|
+
|
|
25
|
+
### executeInContextSync
|
|
26
|
+
|
|
27
|
+
```typescript
|
|
28
|
+
executeInContextSync<T>(spanId: string, fn: () => T): T
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Executes a synchronous function within the OTEL context of a Mastra span.
|
|
32
|
+
|
|
33
|
+
**Returns:** `T` - The result of the function execution.
|
|
34
|
+
|
|
35
|
+
### shutdown
|
|
36
|
+
|
|
37
|
+
```typescript
|
|
38
|
+
async shutdown(): Promise<void>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Shuts down the bridge and cleans up resources. Ends any spans that were not properly closed.
|
|
42
|
+
|
|
43
|
+
## Usage Examples
|
|
44
|
+
|
|
45
|
+
### Basic Usage
|
|
46
|
+
|
|
47
|
+
```typescript
|
|
48
|
+
import { Mastra } from "@mastra/core";
|
|
49
|
+
import { Observability } from "@mastra/observability";
|
|
50
|
+
import { OtelBridge } from "@mastra/otel-bridge";
|
|
51
|
+
|
|
52
|
+
const mastra = new Mastra({
|
|
53
|
+
observability: new Observability({
|
|
54
|
+
configs: {
|
|
55
|
+
default: {
|
|
56
|
+
serviceName: "my-service",
|
|
57
|
+
bridge: new OtelBridge(),
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
}),
|
|
61
|
+
agents: { myAgent },
|
|
62
|
+
});
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Combined with Exporters
|
|
66
|
+
|
|
67
|
+
The bridge can be used alongside exporters. The bridge handles OTEL context, while exporters send data to additional destinations:
|
|
68
|
+
|
|
69
|
+
```typescript
|
|
70
|
+
import { Mastra } from "@mastra/core";
|
|
71
|
+
import { Observability, DefaultExporter } from "@mastra/observability";
|
|
72
|
+
import { OtelBridge } from "@mastra/otel-bridge";
|
|
73
|
+
import { LangfuseExporter } from "@mastra/langfuse";
|
|
74
|
+
|
|
75
|
+
const mastra = new Mastra({
|
|
76
|
+
observability: new Observability({
|
|
77
|
+
configs: {
|
|
78
|
+
default: {
|
|
79
|
+
serviceName: "my-service",
|
|
80
|
+
bridge: new OtelBridge(), // Handles OTEL context
|
|
81
|
+
exporters: [
|
|
82
|
+
new DefaultExporter(), // Studio access
|
|
83
|
+
new LangfuseExporter({
|
|
84
|
+
// Additional destination
|
|
85
|
+
publicKey: process.env.LANGFUSE_PUBLIC_KEY,
|
|
86
|
+
secretKey: process.env.LANGFUSE_SECRET_KEY,
|
|
87
|
+
}),
|
|
88
|
+
],
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
}),
|
|
92
|
+
});
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## OpenTelemetry Setup Requirements
|
|
96
|
+
|
|
97
|
+
The OtelBridge requires an active OpenTelemetry SDK to function. The bridge reads from OTEL's ambient context.
|
|
98
|
+
|
|
99
|
+
See the [OtelBridge Guide](https://mastra.ai/docs/observability/tracing/bridges/otel) for complete setup instructions, including how to configure OTEL instrumentation and run your application.
|
|
100
|
+
|
|
101
|
+
## Tags Support
|
|
102
|
+
|
|
103
|
+
The OtelBridge supports trace tagging for categorization and filtering. Tags are only applied to root spans and are included as the `mastra.tags` attribute on native OTEL spans.
|
|
104
|
+
|
|
105
|
+
### Usage
|
|
106
|
+
|
|
107
|
+
```typescript
|
|
108
|
+
const result = await agent.generate("Hello", {
|
|
109
|
+
tracingOptions: {
|
|
110
|
+
tags: ["production", "experiment-v2", "user-request"],
|
|
111
|
+
},
|
|
112
|
+
});
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### How Tags Are Stored
|
|
116
|
+
|
|
117
|
+
Tags are stored as a JSON-stringified array in the `mastra.tags` span attribute:
|
|
118
|
+
|
|
119
|
+
```json
|
|
120
|
+
{
|
|
121
|
+
"mastra.tags": "[\"production\",\"experiment-v2\",\"user-request\"]"
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
This format ensures compatibility with all OTEL-compatible backends and collectors.
|
|
126
|
+
|
|
127
|
+
## Related
|
|
128
|
+
|
|
129
|
+
- [OtelBridge Guide](https://mastra.ai/docs/observability/tracing/bridges/otel) - Setup guide with examples
|
|
130
|
+
- [Tracing Overview](https://mastra.ai/docs/observability/tracing/overview) - General tracing concepts
|
|
131
|
+
- [OtelExporter Reference](https://mastra.ai/reference/observability/tracing/exporters/otel) - OTEL exporter for sending traces
|