@mastra/core 1.9.0 → 1.10.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 +202 -0
- package/dist/agent/agent.d.ts +22 -3
- package/dist/agent/agent.d.ts.map +1 -1
- 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/agent/message-list/message-list.d.ts.map +1 -1
- package/dist/{chunk-IOY7Y5GV.js → chunk-3VVNJPTO.js} +602 -187
- package/dist/chunk-3VVNJPTO.js.map +1 -0
- package/dist/{chunk-VDKWYUGC.cjs → chunk-5WBEMKE2.cjs} +7 -3
- package/dist/chunk-5WBEMKE2.cjs.map +1 -0
- package/dist/{chunk-H5S4PS44.cjs → chunk-76Q75VI4.cjs} +602 -187
- package/dist/chunk-76Q75VI4.cjs.map +1 -0
- package/dist/{chunk-ZBESCKPX.cjs → chunk-7AHCLTZZ.cjs} +1572 -36
- package/dist/chunk-7AHCLTZZ.cjs.map +1 -0
- package/dist/{chunk-SEKQJ447.js → chunk-ACAILOJE.js} +166 -68
- package/dist/chunk-ACAILOJE.js.map +1 -0
- package/dist/{chunk-YIJZBU54.cjs → chunk-BCSVBOAN.cjs} +240 -463
- package/dist/chunk-BCSVBOAN.cjs.map +1 -0
- package/dist/{chunk-ZVWVQ6MG.js → chunk-CY4ZWL2X.js} +8 -3
- package/dist/chunk-CY4ZWL2X.js.map +1 -0
- package/dist/{chunk-ET7GXCHS.js → chunk-DIKRJVK6.js} +5 -5
- package/dist/{chunk-ET7GXCHS.js.map → chunk-DIKRJVK6.js.map} +1 -1
- package/dist/{chunk-P6ZX7OKT.cjs → chunk-E6I5LBDM.cjs} +7 -7
- package/dist/{chunk-P6ZX7OKT.cjs.map → chunk-E6I5LBDM.cjs.map} +1 -1
- package/dist/{chunk-BFV3GSGS.js → chunk-FT5Q6XTK.js} +1546 -22
- package/dist/chunk-FT5Q6XTK.js.map +1 -0
- package/dist/{chunk-K54LFB4P.js → chunk-FXOWXS4O.js} +3 -3
- package/dist/{chunk-K54LFB4P.js.map → chunk-FXOWXS4O.js.map} +1 -1
- package/dist/{chunk-QNXY3J6B.cjs → chunk-GCRPNAAR.cjs} +22 -19
- package/dist/chunk-GCRPNAAR.cjs.map +1 -0
- package/dist/{chunk-5M3RMO7U.js → chunk-GTA5BKXZ.js} +8 -8
- package/dist/{chunk-5M3RMO7U.js.map → chunk-GTA5BKXZ.js.map} +1 -1
- package/dist/{chunk-G5R2755Q.cjs → chunk-HAIQ57YB.cjs} +53 -20
- package/dist/chunk-HAIQ57YB.cjs.map +1 -0
- package/dist/{chunk-3ZBLD2Y4.cjs → chunk-HH76UOJL.cjs} +2 -2
- package/dist/{chunk-3ZBLD2Y4.cjs.map → chunk-HH76UOJL.cjs.map} +1 -1
- package/dist/{chunk-HAGCXIBX.cjs → chunk-HNYQITSV.cjs} +9 -9
- package/dist/{chunk-HAGCXIBX.cjs.map → chunk-HNYQITSV.cjs.map} +1 -1
- package/dist/{chunk-GJTLWOKJ.js → chunk-HQA3IBLZ.js} +51 -18
- package/dist/chunk-HQA3IBLZ.js.map +1 -0
- package/dist/{chunk-4BXXAZ75.js → chunk-HQTHWVAK.js} +15 -7
- package/dist/chunk-HQTHWVAK.js.map +1 -0
- package/dist/{chunk-CCLV5CAA.js → chunk-JGOH7RWL.js} +7 -3
- package/dist/chunk-JGOH7RWL.js.map +1 -0
- package/dist/{chunk-Y6TGIUGL.js → chunk-LSF5WJ6G.js} +2 -2
- package/dist/{chunk-Y6TGIUGL.js.map → chunk-LSF5WJ6G.js.map} +1 -1
- package/dist/{chunk-D6HO5QAM.cjs → chunk-M26GEN4C.cjs} +14 -9
- package/dist/chunk-M26GEN4C.cjs.map +1 -0
- package/dist/{chunk-4P35AVPE.cjs → chunk-MEMYFFOL.cjs} +256 -157
- package/dist/chunk-MEMYFFOL.cjs.map +1 -0
- package/dist/{chunk-BQ355Z3O.js → chunk-NUZWQA4J.js} +4 -4
- package/dist/{chunk-BQ355Z3O.js.map → chunk-NUZWQA4J.js.map} +1 -1
- package/dist/{chunk-JIRB5LX4.js → chunk-OHX36YXF.js} +5 -3
- package/dist/chunk-OHX36YXF.js.map +1 -0
- package/dist/{chunk-PKORY4ZZ.cjs → chunk-OOTLMVNN.cjs} +107 -7
- package/dist/chunk-OOTLMVNN.cjs.map +1 -0
- package/dist/{chunk-D4M6E4OQ.cjs → chunk-OWZ6QT24.cjs} +16 -8
- package/dist/chunk-OWZ6QT24.cjs.map +1 -0
- package/dist/{chunk-6OHS6ZQ3.js → chunk-PDJCIONR.js} +8 -8
- package/dist/{chunk-6OHS6ZQ3.js.map → chunk-PDJCIONR.js.map} +1 -1
- package/dist/{chunk-WU2P7XOU.cjs → chunk-PP4G2TZZ.cjs} +20 -20
- package/dist/{chunk-WU2P7XOU.cjs.map → chunk-PP4G2TZZ.cjs.map} +1 -1
- package/dist/{chunk-VWAK25TU.js → chunk-SBBWRNZA.js} +10 -7
- package/dist/chunk-SBBWRNZA.js.map +1 -0
- package/dist/{chunk-TU4YMXOQ.js → chunk-TJIFNVPX.js} +6 -6
- package/dist/{chunk-TU4YMXOQ.js.map → chunk-TJIFNVPX.js.map} +1 -1
- package/dist/{chunk-V5YNS2QO.cjs → chunk-XJNQHPBJ.cjs} +15 -15
- package/dist/{chunk-V5YNS2QO.cjs.map → chunk-XJNQHPBJ.cjs.map} +1 -1
- package/dist/{chunk-MVYP55NA.js → chunk-YC6Z75K2.js} +113 -336
- package/dist/chunk-YC6Z75K2.js.map +1 -0
- package/dist/{chunk-3ZF7IC6Q.cjs → chunk-YZMSJKAK.cjs} +5 -3
- package/dist/chunk-YZMSJKAK.cjs.map +1 -0
- package/dist/{chunk-L3WDI7HP.cjs → chunk-Z2X5VTYJ.cjs} +65 -65
- package/dist/{chunk-L3WDI7HP.cjs.map → chunk-Z2X5VTYJ.cjs.map} +1 -1
- package/dist/{chunk-BN5MV2QK.cjs → chunk-Z52OAJ73.cjs} +4 -4
- package/dist/{chunk-BN5MV2QK.cjs.map → chunk-Z52OAJ73.cjs.map} +1 -1
- package/dist/{chunk-WYPSC6CO.js → chunk-ZBU6P4JV.js} +104 -4
- package/dist/chunk-ZBU6P4JV.js.map +1 -0
- package/dist/datasets/experiment/index.d.ts.map +1 -1
- 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/di/index.cjs +4 -4
- package/dist/di/index.js +1 -1
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +443 -384
- package/dist/docs/references/docs-agents-agent-approval.md +61 -31
- package/dist/docs/references/docs-agents-supervisor-agents.md +1 -1
- package/dist/docs/references/docs-memory-observational-memory.md +9 -0
- package/dist/docs/references/docs-memory-semantic-recall.md +17 -1
- package/dist/docs/references/docs-workspace-skills.md +7 -5
- package/dist/docs/references/reference-agents-agent.md +20 -20
- package/dist/docs/references/reference-agents-generate.md +200 -66
- package/dist/docs/references/reference-agents-generateLegacy.md +77 -35
- package/dist/docs/references/reference-agents-getDefaultGenerateOptions.md +4 -6
- package/dist/docs/references/reference-agents-getDefaultOptions.md +4 -6
- package/dist/docs/references/reference-agents-getDefaultStreamOptions.md +4 -6
- package/dist/docs/references/reference-agents-getDescription.md +1 -1
- package/dist/docs/references/reference-agents-getInstructions.md +4 -6
- package/dist/docs/references/reference-agents-getLLM.md +6 -8
- package/dist/docs/references/reference-agents-getMemory.md +4 -6
- package/dist/docs/references/reference-agents-getModel.md +4 -6
- package/dist/docs/references/reference-agents-getTools.md +5 -7
- package/dist/docs/references/reference-agents-getVoice.md +4 -6
- package/dist/docs/references/reference-agents-listAgents.md +4 -6
- package/dist/docs/references/reference-agents-listScorers.md +4 -6
- package/dist/docs/references/reference-agents-listTools.md +4 -6
- package/dist/docs/references/reference-agents-listWorkflows.md +4 -6
- package/dist/docs/references/reference-agents-network.md +69 -23
- package/dist/docs/references/reference-ai-sdk-chat-route.md +7 -7
- package/dist/docs/references/reference-ai-sdk-network-route.md +3 -3
- package/dist/docs/references/reference-ai-sdk-to-ai-sdk-stream.md +9 -9
- package/dist/docs/references/reference-ai-sdk-with-mastra.md +12 -12
- package/dist/docs/references/reference-ai-sdk-workflow-route.md +3 -3
- package/dist/docs/references/reference-auth-auth0.md +6 -6
- package/dist/docs/references/reference-auth-clerk.md +5 -5
- package/dist/docs/references/reference-auth-firebase.md +7 -7
- package/dist/docs/references/reference-auth-jwt.md +1 -1
- package/dist/docs/references/reference-auth-supabase.md +4 -4
- package/dist/docs/references/reference-auth-workos.md +6 -6
- package/dist/docs/references/reference-core-addGateway.md +2 -2
- package/dist/docs/references/reference-core-getAgent.md +2 -2
- package/dist/docs/references/reference-core-getAgentById.md +2 -2
- package/dist/docs/references/reference-core-getDeployer.md +1 -1
- package/dist/docs/references/reference-core-getGateway.md +2 -2
- package/dist/docs/references/reference-core-getGatewayById.md +2 -2
- package/dist/docs/references/reference-core-getLogger.md +1 -1
- package/dist/docs/references/reference-core-getMCPServer.md +2 -2
- package/dist/docs/references/reference-core-getMCPServerById.md +3 -3
- package/dist/docs/references/reference-core-getMemory.md +2 -2
- package/dist/docs/references/reference-core-getScorer.md +2 -2
- package/dist/docs/references/reference-core-getScorerById.md +2 -2
- package/dist/docs/references/reference-core-getServer.md +1 -1
- package/dist/docs/references/reference-core-getStorage.md +1 -1
- package/dist/docs/references/reference-core-getStoredAgentById.md +18 -20
- package/dist/docs/references/reference-core-getTelemetry.md +1 -1
- package/dist/docs/references/reference-core-getVector.md +2 -2
- package/dist/docs/references/reference-core-getWorkflow.md +3 -3
- package/dist/docs/references/reference-core-listAgents.md +1 -1
- package/dist/docs/references/reference-core-listGateways.md +1 -1
- package/dist/docs/references/reference-core-listLogs.md +9 -11
- package/dist/docs/references/reference-core-listLogsByRunId.md +9 -9
- package/dist/docs/references/reference-core-listMCPServers.md +1 -1
- package/dist/docs/references/reference-core-listMemory.md +1 -1
- package/dist/docs/references/reference-core-listScorers.md +1 -1
- package/dist/docs/references/reference-core-listStoredAgents.md +9 -11
- package/dist/docs/references/reference-core-listVectors.md +1 -1
- package/dist/docs/references/reference-core-listWorkflows.md +2 -2
- package/dist/docs/references/reference-core-mastra-class.md +17 -17
- package/dist/docs/references/reference-core-mastra-model-gateway.md +15 -15
- package/dist/docs/references/reference-core-setLogger.md +2 -4
- package/dist/docs/references/reference-core-setStorage.md +1 -1
- package/dist/docs/references/reference-datasets-addItem.md +20 -4
- package/dist/docs/references/reference-datasets-addItems.md +8 -2
- package/dist/docs/references/reference-datasets-compareExperiments.md +15 -3
- package/dist/docs/references/reference-datasets-create.md +6 -6
- package/dist/docs/references/reference-datasets-dataset.md +1 -1
- package/dist/docs/references/reference-datasets-delete.md +2 -2
- package/dist/docs/references/reference-datasets-deleteExperiment.md +2 -2
- package/dist/docs/references/reference-datasets-deleteItem.md +2 -2
- package/dist/docs/references/reference-datasets-deleteItems.md +2 -2
- package/dist/docs/references/reference-datasets-get.md +2 -2
- package/dist/docs/references/reference-datasets-getDetails.md +9 -9
- package/dist/docs/references/reference-datasets-getExperiment.md +2 -2
- package/dist/docs/references/reference-datasets-getItem.md +3 -3
- package/dist/docs/references/reference-datasets-getItemHistory.md +22 -2
- package/dist/docs/references/reference-datasets-list.md +7 -3
- package/dist/docs/references/reference-datasets-listExperimentResults.md +34 -4
- package/dist/docs/references/reference-datasets-listExperiments.md +41 -3
- package/dist/docs/references/reference-datasets-listItems.md +18 -6
- package/dist/docs/references/reference-datasets-listVersions.md +23 -3
- package/dist/docs/references/reference-datasets-startExperiment.md +62 -12
- package/dist/docs/references/reference-datasets-startExperimentAsync.md +5 -1
- package/dist/docs/references/reference-datasets-update.md +6 -6
- package/dist/docs/references/reference-datasets-updateItem.md +5 -5
- package/dist/docs/references/reference-evals-answer-relevancy.md +11 -11
- package/dist/docs/references/reference-evals-answer-similarity.md +17 -19
- package/dist/docs/references/reference-evals-bias.md +10 -10
- package/dist/docs/references/reference-evals-completeness.md +3 -3
- package/dist/docs/references/reference-evals-content-similarity.md +6 -6
- package/dist/docs/references/reference-evals-context-precision.md +4 -4
- package/dist/docs/references/reference-evals-create-scorer.md +47 -49
- package/dist/docs/references/reference-evals-faithfulness.md +11 -11
- package/dist/docs/references/reference-evals-hallucination.md +17 -21
- package/dist/docs/references/reference-evals-keyword-coverage.md +4 -4
- package/dist/docs/references/reference-evals-mastra-scorer.md +14 -14
- package/dist/docs/references/reference-evals-run-evals.md +16 -16
- package/dist/docs/references/reference-evals-scorer-utils.md +3 -3
- package/dist/docs/references/reference-evals-textual-difference.md +3 -3
- package/dist/docs/references/reference-evals-tone-consistency.md +3 -3
- package/dist/docs/references/reference-evals-toxicity.md +8 -8
- package/dist/docs/references/reference-harness-harness-class.md +34 -42
- package/dist/docs/references/reference-logging-pino-logger.md +5 -5
- package/dist/docs/references/reference-memory-deleteMessages.md +2 -2
- package/dist/docs/references/reference-memory-memory-class.md +12 -14
- package/dist/docs/references/reference-memory-observational-memory.md +102 -94
- package/dist/docs/references/reference-observability-tracing-configuration.md +27 -10
- package/dist/docs/references/reference-observability-tracing-exporters-console-exporter.md +4 -7
- package/dist/docs/references/reference-processors-batch-parts-processor.md +8 -10
- package/dist/docs/references/reference-processors-language-detector.md +14 -16
- package/dist/docs/references/reference-processors-message-history-processor.md +7 -9
- package/dist/docs/references/reference-processors-moderation-processor.md +13 -15
- package/dist/docs/references/reference-processors-pii-detector.md +14 -16
- package/dist/docs/references/reference-processors-processor-interface.md +62 -62
- package/dist/docs/references/reference-processors-prompt-injection-detector.md +11 -13
- package/dist/docs/references/reference-processors-semantic-recall-processor.md +14 -16
- package/dist/docs/references/reference-processors-system-prompt-scrubber.md +12 -14
- package/dist/docs/references/reference-processors-token-limiter-processor.md +11 -13
- package/dist/docs/references/reference-processors-tool-call-filter.md +5 -7
- package/dist/docs/references/reference-processors-tool-search-processor.md +9 -11
- package/dist/docs/references/reference-processors-unicode-normalizer.md +8 -10
- package/dist/docs/references/reference-processors-working-memory-processor.md +14 -18
- package/dist/docs/references/reference-rag-database-config.md +11 -7
- package/dist/docs/references/reference-rag-embeddings.md +12 -12
- package/dist/docs/references/reference-server-mastra-server.md +10 -10
- package/dist/docs/references/reference-server-register-api-route.md +13 -13
- package/dist/docs/references/reference-storage-cloudflare-d1.md +5 -5
- package/dist/docs/references/reference-storage-composite.md +9 -9
- package/dist/docs/references/reference-storage-lance.md +3 -3
- package/dist/docs/references/reference-storage-libsql.md +2 -2
- package/dist/docs/references/reference-storage-mongodb.md +5 -5
- package/dist/docs/references/reference-storage-mssql.md +2 -2
- package/dist/docs/references/reference-storage-postgresql.md +25 -25
- package/dist/docs/references/reference-storage-upstash.md +3 -3
- package/dist/docs/references/reference-streaming-ChunkType.md +251 -59
- package/dist/docs/references/reference-streaming-agents-MastraModelOutput.md +86 -16
- package/dist/docs/references/reference-streaming-agents-streamLegacy.md +79 -39
- package/dist/docs/references/reference-streaming-workflows-resumeStream.md +18 -8
- package/dist/docs/references/reference-streaming-workflows-stream.md +21 -9
- package/dist/docs/references/reference-streaming-workflows-timeTravelStream.md +4 -4
- package/dist/docs/references/reference-tools-create-tool.md +25 -21
- package/dist/docs/references/reference-tools-graph-rag-tool.md +16 -18
- package/dist/docs/references/reference-tools-mcp-client.md +38 -27
- package/dist/docs/references/reference-tools-mcp-server.md +45 -45
- package/dist/docs/references/reference-tools-vector-query-tool.md +34 -22
- package/dist/docs/references/reference-vectors-libsql.md +31 -31
- package/dist/docs/references/reference-vectors-mongodb.md +32 -32
- package/dist/docs/references/reference-vectors-pg.md +60 -44
- package/dist/docs/references/reference-vectors-upstash.md +25 -25
- package/dist/docs/references/reference-voice-composite-voice.md +10 -10
- package/dist/docs/references/reference-voice-mastra-voice.md +20 -20
- package/dist/docs/references/reference-voice-voice.addInstructions.md +1 -1
- package/dist/docs/references/reference-voice-voice.addTools.md +1 -1
- package/dist/docs/references/reference-voice-voice.connect.md +3 -3
- package/dist/docs/references/reference-voice-voice.events.md +11 -11
- package/dist/docs/references/reference-voice-voice.listen.md +9 -9
- package/dist/docs/references/reference-voice-voice.on.md +2 -2
- package/dist/docs/references/reference-voice-voice.speak.md +11 -11
- package/dist/docs/references/reference-workflows-run-methods-cancel.md +2 -2
- package/dist/docs/references/reference-workflows-run-methods-restart.md +17 -5
- package/dist/docs/references/reference-workflows-run-methods-resume.md +23 -9
- package/dist/docs/references/reference-workflows-run-methods-start.md +22 -8
- package/dist/docs/references/reference-workflows-run-methods-startAsync.md +12 -6
- package/dist/docs/references/reference-workflows-run-methods-timeTravel.md +29 -13
- package/dist/docs/references/reference-workflows-run.md +12 -12
- package/dist/docs/references/reference-workflows-step.md +24 -26
- package/dist/docs/references/reference-workflows-workflow-methods-branch.md +2 -2
- package/dist/docs/references/reference-workflows-workflow-methods-commit.md +1 -1
- package/dist/docs/references/reference-workflows-workflow-methods-create-run.md +4 -4
- package/dist/docs/references/reference-workflows-workflow-methods-dountil.md +3 -3
- package/dist/docs/references/reference-workflows-workflow-methods-dowhile.md +3 -3
- package/dist/docs/references/reference-workflows-workflow-methods-foreach.md +9 -9
- package/dist/docs/references/reference-workflows-workflow-methods-map.md +2 -2
- package/dist/docs/references/reference-workflows-workflow-methods-parallel.md +2 -2
- package/dist/docs/references/reference-workflows-workflow-methods-sleep.md +2 -2
- package/dist/docs/references/reference-workflows-workflow-methods-sleepUntil.md +2 -2
- package/dist/docs/references/reference-workflows-workflow-methods-then.md +2 -2
- package/dist/docs/references/reference-workflows-workflow.md +40 -50
- package/dist/docs/references/reference-workspace-filesystem.md +22 -22
- package/dist/docs/references/reference-workspace-local-filesystem.md +35 -35
- package/dist/docs/references/reference-workspace-local-sandbox.md +26 -26
- package/dist/docs/references/reference-workspace-sandbox.md +8 -8
- package/dist/docs/references/reference-workspace-workspace-class.md +30 -34
- package/dist/editor/types.d.ts +1 -0
- package/dist/editor/types.d.ts.map +1 -1
- package/dist/evals/index.cjs +20 -20
- package/dist/evals/index.js +3 -3
- package/dist/evals/scoreTraces/index.cjs +5 -5
- package/dist/evals/scoreTraces/index.js +2 -2
- package/dist/harness/harness.d.ts.map +1 -1
- package/dist/harness/index.cjs +25 -21
- package/dist/harness/index.cjs.map +1 -1
- package/dist/harness/index.js +15 -11
- package/dist/harness/index.js.map +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +1 -1
- package/dist/integration/index.cjs +2 -2
- package/dist/integration/index.js +1 -1
- package/dist/llm/index.cjs +12 -12
- package/dist/llm/index.js +3 -3
- package/dist/llm/model/model.d.ts.map +1 -1
- package/dist/llm/model/model.loop.d.ts.map +1 -1
- package/dist/llm/model/provider-types.generated.d.ts +5 -1
- package/dist/loop/index.cjs +14 -14
- package/dist/loop/index.js +1 -1
- package/dist/loop/workflows/agentic-loop/index.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/models-dev-2FJK72J2.cjs +12 -0
- package/dist/{models-dev-UVWCKPA2.cjs.map → models-dev-2FJK72J2.cjs.map} +1 -1
- package/dist/models-dev-CMQG6EMO.js +3 -0
- package/dist/{models-dev-W3LXZTEB.js.map → models-dev-CMQG6EMO.js.map} +1 -1
- package/dist/processor-provider/index.cjs +10 -10
- package/dist/processor-provider/index.js +1 -1
- package/dist/processors/index.cjs +42 -42
- package/dist/processors/index.js +1 -1
- package/dist/processors/processors/skills.d.ts +9 -42
- package/dist/processors/processors/skills.d.ts.map +1 -1
- package/dist/provider-registry-EHOAWHFE.cjs +40 -0
- package/dist/{provider-registry-4HLP2JRR.cjs.map → provider-registry-EHOAWHFE.cjs.map} +1 -1
- package/dist/provider-registry-LVP6T63V.js +3 -0
- package/dist/{provider-registry-K3DWQSMH.js.map → provider-registry-LVP6T63V.js.map} +1 -1
- package/dist/provider-registry.json +12 -4
- package/dist/relevance/index.cjs +3 -3
- package/dist/relevance/index.js +1 -1
- package/dist/request-context/index.cjs +4 -4
- package/dist/request-context/index.d.ts.map +1 -1
- package/dist/request-context/index.js +1 -1
- package/dist/storage/base.d.ts +34 -1
- package/dist/storage/base.d.ts.map +1 -1
- package/dist/storage/constants.cjs +56 -56
- package/dist/storage/constants.js +1 -1
- package/dist/storage/domains/agents/filesystem.d.ts +28 -0
- package/dist/storage/domains/agents/filesystem.d.ts.map +1 -0
- package/dist/storage/domains/agents/index.d.ts +1 -0
- package/dist/storage/domains/agents/index.d.ts.map +1 -1
- package/dist/storage/domains/experiments/inmemory.d.ts.map +1 -1
- package/dist/storage/domains/mcp-clients/filesystem.d.ts +28 -0
- package/dist/storage/domains/mcp-clients/filesystem.d.ts.map +1 -0
- package/dist/storage/domains/mcp-clients/index.d.ts +1 -0
- package/dist/storage/domains/mcp-clients/index.d.ts.map +1 -1
- package/dist/storage/domains/mcp-servers/filesystem.d.ts +28 -0
- package/dist/storage/domains/mcp-servers/filesystem.d.ts.map +1 -0
- package/dist/storage/domains/mcp-servers/index.d.ts +1 -0
- package/dist/storage/domains/mcp-servers/index.d.ts.map +1 -1
- package/dist/storage/domains/prompt-blocks/filesystem.d.ts +28 -0
- package/dist/storage/domains/prompt-blocks/filesystem.d.ts.map +1 -0
- package/dist/storage/domains/prompt-blocks/index.d.ts +1 -0
- package/dist/storage/domains/prompt-blocks/index.d.ts.map +1 -1
- package/dist/storage/domains/scorer-definitions/filesystem.d.ts +28 -0
- package/dist/storage/domains/scorer-definitions/filesystem.d.ts.map +1 -0
- package/dist/storage/domains/scorer-definitions/index.d.ts +1 -0
- package/dist/storage/domains/scorer-definitions/index.d.ts.map +1 -1
- package/dist/storage/domains/skills/filesystem.d.ts +28 -0
- package/dist/storage/domains/skills/filesystem.d.ts.map +1 -0
- package/dist/storage/domains/skills/index.d.ts +1 -0
- package/dist/storage/domains/skills/index.d.ts.map +1 -1
- package/dist/storage/domains/workspaces/filesystem.d.ts +28 -0
- package/dist/storage/domains/workspaces/filesystem.d.ts.map +1 -0
- package/dist/storage/domains/workspaces/index.d.ts +1 -0
- package/dist/storage/domains/workspaces/index.d.ts.map +1 -1
- package/dist/storage/filesystem-db.d.ts +82 -0
- package/dist/storage/filesystem-db.d.ts.map +1 -0
- package/dist/storage/filesystem-versioned.d.ts +148 -0
- package/dist/storage/filesystem-versioned.d.ts.map +1 -0
- package/dist/storage/filesystem.d.ts +39 -0
- package/dist/storage/filesystem.d.ts.map +1 -0
- package/dist/storage/git-history.d.ts +68 -0
- package/dist/storage/git-history.d.ts.map +1 -0
- package/dist/storage/index.cjs +208 -160
- package/dist/storage/index.d.ts +4 -0
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +2 -2
- package/dist/storage/types.d.ts +1 -0
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/stream/RunOutput.d.ts +1 -1
- package/dist/stream/aisdk/v5/output-helpers.d.ts +6 -6
- package/dist/stream/base/output.d.ts +3 -3
- package/dist/stream/base/schema.d.ts +1 -1
- package/dist/stream/index.cjs +11 -11
- package/dist/stream/index.js +2 -2
- package/dist/test-utils/llm-mock.cjs +4 -4
- package/dist/test-utils/llm-mock.js +1 -1
- package/dist/tool-loop-agent/index.cjs +4 -4
- package/dist/tool-loop-agent/index.js +1 -1
- package/dist/tools/index.cjs +6 -6
- package/dist/tools/index.js +1 -1
- package/dist/tools/is-vercel-tool.cjs +2 -2
- package/dist/tools/is-vercel-tool.js +1 -1
- package/dist/tools/tool-builder/builder.d.ts.map +1 -1
- package/dist/tools/tool.d.ts +6 -0
- package/dist/tools/tool.d.ts.map +1 -1
- package/dist/tools/types.d.ts +27 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/utils.cjs +23 -23
- package/dist/utils.js +1 -1
- package/dist/vector/index.cjs +9 -9
- package/dist/vector/index.js +2 -2
- 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/index.cjs +70 -66
- package/dist/workspace/index.d.ts +1 -0
- package/dist/workspace/index.d.ts.map +1 -1
- package/dist/workspace/index.js +1 -1
- package/dist/workspace/sandbox/execa.d.ts +9 -0
- package/dist/workspace/sandbox/execa.d.ts.map +1 -0
- package/dist/workspace/sandbox/local-process-manager.d.ts.map +1 -1
- package/dist/workspace/skills/index.d.ts +1 -0
- package/dist/workspace/skills/index.d.ts.map +1 -1
- package/dist/workspace/skills/tools.d.ts +36 -0
- package/dist/workspace/skills/tools.d.ts.map +1 -0
- package/dist/workspace/tools/execute-command.d.ts.map +1 -1
- package/dist/workspace/tools/output-helpers.d.ts +4 -3
- package/dist/workspace/tools/output-helpers.d.ts.map +1 -1
- package/package.json +9 -9
- package/src/llm/model/provider-types.generated.d.ts +5 -1
- package/dist/chunk-3ZF7IC6Q.cjs.map +0 -1
- package/dist/chunk-4BXXAZ75.js.map +0 -1
- package/dist/chunk-4P35AVPE.cjs.map +0 -1
- package/dist/chunk-BFV3GSGS.js.map +0 -1
- package/dist/chunk-CCLV5CAA.js.map +0 -1
- package/dist/chunk-D4M6E4OQ.cjs.map +0 -1
- package/dist/chunk-D6HO5QAM.cjs.map +0 -1
- package/dist/chunk-G5R2755Q.cjs.map +0 -1
- package/dist/chunk-GJTLWOKJ.js.map +0 -1
- package/dist/chunk-H5S4PS44.cjs.map +0 -1
- package/dist/chunk-IOY7Y5GV.js.map +0 -1
- package/dist/chunk-JIRB5LX4.js.map +0 -1
- package/dist/chunk-MVYP55NA.js.map +0 -1
- package/dist/chunk-PKORY4ZZ.cjs.map +0 -1
- package/dist/chunk-QNXY3J6B.cjs.map +0 -1
- package/dist/chunk-SEKQJ447.js.map +0 -1
- package/dist/chunk-VDKWYUGC.cjs.map +0 -1
- package/dist/chunk-VWAK25TU.js.map +0 -1
- package/dist/chunk-WYPSC6CO.js.map +0 -1
- package/dist/chunk-YIJZBU54.cjs.map +0 -1
- package/dist/chunk-ZBESCKPX.cjs.map +0 -1
- package/dist/chunk-ZVWVQ6MG.js.map +0 -1
- package/dist/models-dev-UVWCKPA2.cjs +0 -12
- package/dist/models-dev-W3LXZTEB.js +0 -3
- package/dist/provider-registry-4HLP2JRR.cjs +0 -40
- package/dist/provider-registry-K3DWQSMH.js +0 -3
|
@@ -26,55 +26,63 @@ export const agent = new Agent({
|
|
|
26
26
|
|
|
27
27
|
The `observationalMemory` option accepts `true`, a configuration object, or `false`. Setting `true` enables OM with `google/gemini-2.5-flash` as the default model. When passing a config object, a `model` must be explicitly set — either at the top level, or on `observation.model` and/or `reflection.model`.
|
|
28
28
|
|
|
29
|
-
**enabled
|
|
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
30
|
|
|
31
|
-
**model
|
|
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. When using \`observationalMemory: true\`, defaults to \`google/gemini-2.5-flash\`. When passing a config object, this or \`observation.model\`/\`reflection.model\` must be set. Use \`"default"\` to explicitly use the default model (\`google/gemini-2.5-flash\`). (Default: `'google/gemini-2.5-flash' (when using observationalMemory: true)`)
|
|
32
32
|
|
|
33
|
-
**scope
|
|
33
|
+
**scope** (`'resource' | 'thread'`): Memory scope for observations. \`'thread'\` keeps observations per-thread. \`'resource'\` (experimental) shares observations across all threads for a resource, enabling cross-conversation memory. (Default: `'thread'`)
|
|
34
34
|
|
|
35
|
-
**shareTokenBudget
|
|
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. \`shareTokenBudget\` is not yet compatible with async buffering. You must set \`observation: { bufferTokens: false }\` when using this option (this is a temporary limitation). (Default: `false`)
|
|
36
36
|
|
|
37
|
-
**observation
|
|
37
|
+
**observation** (`ObservationalMemoryObservationConfig`): Configuration for the observation step. Controls when the Observer agent runs and how it behaves.
|
|
38
38
|
|
|
39
|
-
**
|
|
39
|
+
**observation.model** (`string | LanguageModel | DynamicModel | ModelWithRetries[]`): Model for the Observer agent. Cannot be set if a top-level \`model\` is also provided. If neither this nor the top-level \`model\` is set, falls back to \`reflection.model\`.
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
**observation.instruction** (`string`): Custom instruction appended to the Observer's system prompt. Use this to customize what the Observer focuses on, such as domain-specific preferences or priorities.
|
|
42
42
|
|
|
43
|
-
**
|
|
43
|
+
**observation.messageTokens** (`number`): Token count of unobserved messages that triggers observation. When unobserved message tokens exceed this threshold, the Observer agent is called.
|
|
44
44
|
|
|
45
|
-
**
|
|
45
|
+
**observation.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.
|
|
46
46
|
|
|
47
|
-
**
|
|
47
|
+
**observation.modelSettings** (`ObservationalMemoryModelSettings`): Model settings for the Observer agent.
|
|
48
48
|
|
|
49
|
-
**
|
|
49
|
+
**observation.modelSettings.temperature** (`number`): Temperature for generation. Lower values produce more consistent output.
|
|
50
50
|
|
|
51
|
-
**modelSettings
|
|
51
|
+
**observation.modelSettings.maxOutputTokens** (`number`): Maximum output tokens. Set high to prevent truncation of observations.
|
|
52
52
|
|
|
53
|
-
**bufferTokens
|
|
53
|
+
**observation.bufferTokens** (`number | false`): Token interval for async background observation buffering. Can be an absolute token count (e.g. \`5000\`) or a fraction of \`messageTokens\` (e.g. \`0.25\` = buffer every 25% of threshold). When set, observations run in the background at this interval, storing results in a buffer. When the main \`messageTokens\` threshold is reached, buffered observations activate instantly without a blocking LLM call. Must resolve to less than \`messageTokens\`. Set to \`false\` to explicitly disable all async buffering (both observation and reflection).
|
|
54
54
|
|
|
55
|
-
**bufferActivation
|
|
55
|
+
**observation.bufferActivation** (`number`): Controls how much of the message window to retain after activation. Accepts a ratio (0-1) or an absolute token count (≥ 1000). For example, \`0.8\` means: activate enough buffers to remove 80% of \`messageTokens\` and leave 20% as active message history. An absolute token count like \`4000\` targets a goal of keeping \~4k message tokens remaining after activation. Higher values remove more message history per activation when using a ratio. Higher values keep more message history when using a token count.
|
|
56
56
|
|
|
57
|
-
**blockAfter
|
|
57
|
+
**observation.blockAfter** (`number`): Token threshold above which synchronous (blocking) observation is forced. Between \`messageTokens\` and \`blockAfter\`, only async buffering/activation is used. Above \`blockAfter\`, a synchronous observation runs as a last resort, while buffered activation still preserves a minimum remaining context (min(1000, retention floor)). Accepts a multiplier (1 < value < 2, multiplied by \`messageTokens\`) or an absolute token count (≥ 2, must be greater than \`messageTokens\`). Only relevant when \`bufferTokens\` is set. Defaults to \`1.2\` when async buffering is enabled.
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
**reflection** (`ObservationalMemoryReflectionConfig`): Configuration for the reflection step. Controls when the Reflector agent runs and how it behaves.
|
|
60
60
|
|
|
61
|
-
**model
|
|
61
|
+
**reflection.model** (`string | LanguageModel | DynamicModel | ModelWithRetries[]`): Model for the Reflector agent. Cannot be set if a top-level \`model\` is also provided. If neither this nor the top-level \`model\` is set, falls back to \`observation.model\`.
|
|
62
62
|
|
|
63
|
-
**instruction
|
|
63
|
+
**reflection.instruction** (`string`): Custom instruction appended to the Reflector's system prompt. Use this to customize how the Reflector consolidates observations, such as prioritizing certain types of information.
|
|
64
64
|
|
|
65
|
-
**observationTokens
|
|
65
|
+
**reflection.observationTokens** (`number`): Token count of observations that triggers reflection. When observation tokens exceed this threshold, the Reflector agent is called to condense them.
|
|
66
66
|
|
|
67
|
-
**modelSettings
|
|
67
|
+
**reflection.modelSettings** (`ObservationalMemoryModelSettings`): Model settings for the Reflector agent.
|
|
68
68
|
|
|
69
|
-
**
|
|
69
|
+
**reflection.modelSettings.temperature** (`number`): Temperature for generation. Lower values produce more consistent output.
|
|
70
70
|
|
|
71
|
-
**
|
|
71
|
+
**reflection.modelSettings.maxOutputTokens** (`number`): Maximum output tokens. Set high to prevent truncation of observations.
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
**reflection.bufferActivation** (`number`): Ratio (0-1) controlling when async reflection buffering starts. When observation tokens reach \`observationTokens \* bufferActivation\`, reflection runs in the background. On activation at the full threshold, the buffered reflection replaces the observations it covers, preserving any new observations appended after that range.
|
|
74
74
|
|
|
75
|
-
**
|
|
75
|
+
**reflection.blockAfter** (`number`): Token threshold above which synchronous (blocking) reflection is forced. Between \`observationTokens\` and \`blockAfter\`, only async buffering/activation is used. Above \`blockAfter\`, a synchronous reflection runs as a last resort. Accepts a multiplier (1 < value < 2, multiplied by \`observationTokens\`) or an absolute token count (≥ 2, must be greater than \`observationTokens\`). Only relevant when \`bufferActivation\` is set. Defaults to \`1.2\` when async reflection is enabled.
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
### Token estimate metadata cache
|
|
78
|
+
|
|
79
|
+
OM persists token payload estimates so repeated counting can reuse prior tiktoken work.
|
|
80
|
+
|
|
81
|
+
- Part-level cache: `part.providerMetadata.mastra`.
|
|
82
|
+
- String-content fallback cache: message-level metadata when no parts exist.
|
|
83
|
+
- Cache entries are ignored and recomputed if cache version/tokenizer source does not match.
|
|
84
|
+
- Per-message and per-conversation overhead are always recomputed at runtime and are not cached.
|
|
85
|
+
- `data-*` and `reasoning` parts are skipped and do not receive cache entries.
|
|
78
86
|
|
|
79
87
|
## Examples
|
|
80
88
|
|
|
@@ -357,161 +365,161 @@ if (inputObservationTokens > 0) {
|
|
|
357
365
|
|
|
358
366
|
Emitted when the Observer or Reflector agent begins processing.
|
|
359
367
|
|
|
360
|
-
**cycleId
|
|
368
|
+
**cycleId** (`string`): Unique ID for this cycle — shared between start/end/failed markers.
|
|
361
369
|
|
|
362
|
-
**operationType
|
|
370
|
+
**operationType** (`'observation' | 'reflection'`): Whether this is an observation or reflection operation.
|
|
363
371
|
|
|
364
|
-
**startedAt
|
|
372
|
+
**startedAt** (`string`): ISO timestamp when processing started.
|
|
365
373
|
|
|
366
|
-
**tokensToObserve
|
|
374
|
+
**tokensToObserve** (`number`): Message tokens (input) being processed in this batch.
|
|
367
375
|
|
|
368
|
-
**recordId
|
|
376
|
+
**recordId** (`string`): The OM record ID.
|
|
369
377
|
|
|
370
|
-
**threadId
|
|
378
|
+
**threadId** (`string`): This thread's ID.
|
|
371
379
|
|
|
372
|
-
**threadIds
|
|
380
|
+
**threadIds** (`string[]`): All thread IDs in this batch (for resource-scoped).
|
|
373
381
|
|
|
374
|
-
**config
|
|
382
|
+
**config** (`ObservationMarkerConfig`): Snapshot of \`messageTokens\`, \`observationTokens\`, and \`scope\` at observation time.
|
|
375
383
|
|
|
376
384
|
### `data-om-observation-end`
|
|
377
385
|
|
|
378
386
|
Emitted when observation or reflection completes successfully.
|
|
379
387
|
|
|
380
|
-
**cycleId
|
|
388
|
+
**cycleId** (`string`): Matches the corresponding \`start\` marker.
|
|
381
389
|
|
|
382
|
-
**operationType
|
|
390
|
+
**operationType** (`'observation' | 'reflection'`): Type of operation that completed.
|
|
383
391
|
|
|
384
|
-
**completedAt
|
|
392
|
+
**completedAt** (`string`): ISO timestamp when processing completed.
|
|
385
393
|
|
|
386
|
-
**durationMs
|
|
394
|
+
**durationMs** (`number`): Duration in milliseconds.
|
|
387
395
|
|
|
388
|
-
**tokensObserved
|
|
396
|
+
**tokensObserved** (`number`): Message tokens (input) that were processed.
|
|
389
397
|
|
|
390
|
-
**observationTokens
|
|
398
|
+
**observationTokens** (`number`): Resulting observation tokens (output) after the Observer compressed them.
|
|
391
399
|
|
|
392
|
-
**observations
|
|
400
|
+
**observations** (`string`): The generated observations text.
|
|
393
401
|
|
|
394
|
-
**currentTask
|
|
402
|
+
**currentTask** (`string`): Current task extracted by the Observer.
|
|
395
403
|
|
|
396
|
-
**suggestedResponse
|
|
404
|
+
**suggestedResponse** (`string`): Suggested response extracted by the Observer.
|
|
397
405
|
|
|
398
|
-
**recordId
|
|
406
|
+
**recordId** (`string`): The OM record ID.
|
|
399
407
|
|
|
400
|
-
**threadId
|
|
408
|
+
**threadId** (`string`): This thread's ID.
|
|
401
409
|
|
|
402
410
|
### `data-om-observation-failed`
|
|
403
411
|
|
|
404
412
|
Emitted when observation or reflection fails. The system falls back to synchronous processing.
|
|
405
413
|
|
|
406
|
-
**cycleId
|
|
414
|
+
**cycleId** (`string`): Matches the corresponding \`start\` marker.
|
|
407
415
|
|
|
408
|
-
**operationType
|
|
416
|
+
**operationType** (`'observation' | 'reflection'`): Type of operation that failed.
|
|
409
417
|
|
|
410
|
-
**failedAt
|
|
418
|
+
**failedAt** (`string`): ISO timestamp when the failure occurred.
|
|
411
419
|
|
|
412
|
-
**durationMs
|
|
420
|
+
**durationMs** (`number`): Duration until failure in milliseconds.
|
|
413
421
|
|
|
414
|
-
**tokensAttempted
|
|
422
|
+
**tokensAttempted** (`number`): Message tokens (input) that were attempted.
|
|
415
423
|
|
|
416
|
-
**error
|
|
424
|
+
**error** (`string`): Error message.
|
|
417
425
|
|
|
418
|
-
**observations
|
|
426
|
+
**observations** (`string`): Any partial content available for display.
|
|
419
427
|
|
|
420
|
-
**recordId
|
|
428
|
+
**recordId** (`string`): The OM record ID.
|
|
421
429
|
|
|
422
|
-
**threadId
|
|
430
|
+
**threadId** (`string`): This thread's ID.
|
|
423
431
|
|
|
424
432
|
### `data-om-buffering-start`
|
|
425
433
|
|
|
426
434
|
Emitted when async buffering begins in the background. Buffering pre-computes observations or reflections before the main threshold is reached.
|
|
427
435
|
|
|
428
|
-
**cycleId
|
|
436
|
+
**cycleId** (`string`): Unique ID for this buffering cycle.
|
|
429
437
|
|
|
430
|
-
**operationType
|
|
438
|
+
**operationType** (`'observation' | 'reflection'`): Type of operation being buffered.
|
|
431
439
|
|
|
432
|
-
**startedAt
|
|
440
|
+
**startedAt** (`string`): ISO timestamp when buffering started.
|
|
433
441
|
|
|
434
|
-
**tokensToBuffer
|
|
442
|
+
**tokensToBuffer** (`number`): Message tokens (input) being buffered in this cycle.
|
|
435
443
|
|
|
436
|
-
**recordId
|
|
444
|
+
**recordId** (`string`): The OM record ID.
|
|
437
445
|
|
|
438
|
-
**threadId
|
|
446
|
+
**threadId** (`string`): This thread's ID.
|
|
439
447
|
|
|
440
|
-
**threadIds
|
|
448
|
+
**threadIds** (`string[]`): All thread IDs being buffered (for resource-scoped).
|
|
441
449
|
|
|
442
|
-
**config
|
|
450
|
+
**config** (`ObservationMarkerConfig`): Snapshot of config at buffering time.
|
|
443
451
|
|
|
444
452
|
### `data-om-buffering-end`
|
|
445
453
|
|
|
446
454
|
Emitted when async buffering completes. The content is stored but not yet activated in the main context.
|
|
447
455
|
|
|
448
|
-
**cycleId
|
|
456
|
+
**cycleId** (`string`): Matches the corresponding \`buffering-start\` marker.
|
|
449
457
|
|
|
450
|
-
**operationType
|
|
458
|
+
**operationType** (`'observation' | 'reflection'`): Type of operation that was buffered.
|
|
451
459
|
|
|
452
|
-
**completedAt
|
|
460
|
+
**completedAt** (`string`): ISO timestamp when buffering completed.
|
|
453
461
|
|
|
454
|
-
**durationMs
|
|
462
|
+
**durationMs** (`number`): Duration in milliseconds.
|
|
455
463
|
|
|
456
|
-
**tokensBuffered
|
|
464
|
+
**tokensBuffered** (`number`): Message tokens (input) that were buffered.
|
|
457
465
|
|
|
458
|
-
**bufferedTokens
|
|
466
|
+
**bufferedTokens** (`number`): Observation tokens (output) after the Observer compressed them.
|
|
459
467
|
|
|
460
|
-
**observations
|
|
468
|
+
**observations** (`string`): The buffered content.
|
|
461
469
|
|
|
462
|
-
**recordId
|
|
470
|
+
**recordId** (`string`): The OM record ID.
|
|
463
471
|
|
|
464
|
-
**threadId
|
|
472
|
+
**threadId** (`string`): This thread's ID.
|
|
465
473
|
|
|
466
474
|
### `data-om-buffering-failed`
|
|
467
475
|
|
|
468
476
|
Emitted when async buffering fails. The system falls back to synchronous processing when the threshold is reached.
|
|
469
477
|
|
|
470
|
-
**cycleId
|
|
478
|
+
**cycleId** (`string`): Matches the corresponding \`buffering-start\` marker.
|
|
471
479
|
|
|
472
|
-
**operationType
|
|
480
|
+
**operationType** (`'observation' | 'reflection'`): Type of operation that failed.
|
|
473
481
|
|
|
474
|
-
**failedAt
|
|
482
|
+
**failedAt** (`string`): ISO timestamp when the failure occurred.
|
|
475
483
|
|
|
476
|
-
**durationMs
|
|
484
|
+
**durationMs** (`number`): Duration until failure in milliseconds.
|
|
477
485
|
|
|
478
|
-
**tokensAttempted
|
|
486
|
+
**tokensAttempted** (`number`): Message tokens (input) that were attempted to buffer.
|
|
479
487
|
|
|
480
|
-
**error
|
|
488
|
+
**error** (`string`): Error message.
|
|
481
489
|
|
|
482
|
-
**observations
|
|
490
|
+
**observations** (`string`): Any partial content.
|
|
483
491
|
|
|
484
|
-
**recordId
|
|
492
|
+
**recordId** (`string`): The OM record ID.
|
|
485
493
|
|
|
486
|
-
**threadId
|
|
494
|
+
**threadId** (`string`): This thread's ID.
|
|
487
495
|
|
|
488
496
|
### `data-om-activation`
|
|
489
497
|
|
|
490
498
|
Emitted when buffered observations or reflections are activated (moved into the active context window). This is an instant operation — no LLM call is involved.
|
|
491
499
|
|
|
492
|
-
**cycleId
|
|
500
|
+
**cycleId** (`string`): Unique ID for this activation event.
|
|
493
501
|
|
|
494
|
-
**operationType
|
|
502
|
+
**operationType** (`'observation' | 'reflection'`): Type of content activated.
|
|
495
503
|
|
|
496
|
-
**activatedAt
|
|
504
|
+
**activatedAt** (`string`): ISO timestamp when activation occurred.
|
|
497
505
|
|
|
498
|
-
**chunksActivated
|
|
506
|
+
**chunksActivated** (`number`): Number of buffered chunks activated.
|
|
499
507
|
|
|
500
|
-
**tokensActivated
|
|
508
|
+
**tokensActivated** (`number`): Message tokens (input) from activated chunks. For observation activation, these are removed from the message window. For reflection activation, this is the observation tokens that were compressed.
|
|
501
509
|
|
|
502
|
-
**observationTokens
|
|
510
|
+
**observationTokens** (`number`): Resulting observation tokens after activation.
|
|
503
511
|
|
|
504
|
-
**messagesActivated
|
|
512
|
+
**messagesActivated** (`number`): Number of messages that were observed via activation.
|
|
505
513
|
|
|
506
|
-
**generationCount
|
|
514
|
+
**generationCount** (`number`): Current reflection generation count.
|
|
507
515
|
|
|
508
|
-
**observations
|
|
516
|
+
**observations** (`string`): The activated observations text.
|
|
509
517
|
|
|
510
|
-
**recordId
|
|
518
|
+
**recordId** (`string`): The OM record ID.
|
|
511
519
|
|
|
512
|
-
**threadId
|
|
520
|
+
**threadId** (`string`): This thread's ID.
|
|
513
521
|
|
|
514
|
-
**config
|
|
522
|
+
**config** (`ObservationMarkerConfig`): Snapshot of config at activation time.
|
|
515
523
|
|
|
516
524
|
## Standalone usage
|
|
517
525
|
|
|
@@ -552,11 +560,11 @@ export const agent = new Agent({
|
|
|
552
560
|
|
|
553
561
|
The standalone `ObservationalMemory` class accepts all the same options as the `observationalMemory` config object above, plus the following:
|
|
554
562
|
|
|
555
|
-
**storage
|
|
563
|
+
**storage** (`MemoryStorage`): Storage adapter for persisting observations. Must be a MemoryStorage instance (from \`MastraStorage.stores.memory\`).
|
|
556
564
|
|
|
557
|
-
**onDebugEvent
|
|
565
|
+
**onDebugEvent** (`(event: ObservationDebugEvent) => void`): Debug callback for observation events. Called whenever observation-related events occur. Useful for debugging and understanding the observation flow.
|
|
558
566
|
|
|
559
|
-
**obscureThreadIds
|
|
567
|
+
**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`)
|
|
560
568
|
|
|
561
569
|
### Related
|
|
562
570
|
|
|
@@ -10,6 +10,12 @@ interface ObservabilityRegistryConfig {
|
|
|
10
10
|
}
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
+
**default** (`{ enabled?: boolean }`): Enable default configuration with DefaultExporter and CloudExporter
|
|
14
|
+
|
|
15
|
+
**configs** (`Record<string, Omit<ObservabilityInstanceConfig, 'name'> | ObservabilityInstance>`): Named observability instance configurations or pre-instantiated instances
|
|
16
|
+
|
|
17
|
+
**configSelector** (`ConfigSelector`): Runtime configuration selector function
|
|
18
|
+
|
|
13
19
|
## ObservabilityInstanceConfig
|
|
14
20
|
|
|
15
21
|
```typescript
|
|
@@ -25,18 +31,29 @@ interface ObservabilityInstanceConfig {
|
|
|
25
31
|
}
|
|
26
32
|
```
|
|
27
33
|
|
|
28
|
-
|
|
34
|
+
**name** (`string`): Configuration identifier
|
|
29
35
|
|
|
30
|
-
|
|
36
|
+
**serviceName** (`string`): Service name in traces
|
|
31
37
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
**sampling** (`SamplingStrategy`): Sampling configuration (defaults to ALWAYS)
|
|
39
|
+
|
|
40
|
+
**exporters** (`ObservabilityExporter[]`): Trace data exporters
|
|
41
|
+
|
|
42
|
+
**spanOutputProcessors** (`SpanOutputProcessor[]`): Span output processors
|
|
43
|
+
|
|
44
|
+
**includeInternalSpans** (`boolean`): Include spans internal to Mastra operations
|
|
45
|
+
|
|
46
|
+
**requestContextKeys** (`string[]`): RequestContext keys to extract as metadata (supports dot notation)
|
|
47
|
+
|
|
48
|
+
**serializationOptions** (`SerializationOptions`): Options for controlling serialization of span data (input/output/attributes)
|
|
49
|
+
|
|
50
|
+
**serializationOptions.maxStringLength** (`number`): Maximum length for string values (default: 1024)
|
|
51
|
+
|
|
52
|
+
**serializationOptions.maxDepth** (`number`): Maximum depth for nested objects (default: 6)
|
|
53
|
+
|
|
54
|
+
**serializationOptions.maxArrayLength** (`number`): Maximum number of items in arrays (default: 50)
|
|
55
|
+
|
|
56
|
+
**serializationOptions.maxObjectKeys** (`number`): Maximum number of keys in objects (default: 50)
|
|
40
57
|
|
|
41
58
|
## SamplingStrategy
|
|
42
59
|
|
|
@@ -8,14 +8,11 @@ Outputs trace events to the console for debugging and development.
|
|
|
8
8
|
new ConsoleExporter(config?: BaseExporterConfig)
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
**config** (`BaseExporterConfig`): Configuration options
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
logLevel?: LogLevel | 'debug' | 'info' | 'warn' | 'error'
|
|
17
|
-
}
|
|
18
|
-
```
|
|
13
|
+
**config.logger** (`IMastraLogger`): Logger instance (falls back to ConsoleLogger with INFO level)
|
|
14
|
+
|
|
15
|
+
**config.logLevel** (`LogLevel | 'debug' | 'info' | 'warn' | 'error'`): Log level for the exporter (default: INFO)
|
|
19
16
|
|
|
20
17
|
## Properties
|
|
21
18
|
|
|
@@ -16,25 +16,23 @@ const processor = new BatchPartsProcessor({
|
|
|
16
16
|
|
|
17
17
|
## Constructor parameters
|
|
18
18
|
|
|
19
|
-
**options
|
|
19
|
+
**options** (`Options`): Configuration options for batching stream parts
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
**options.batchSize** (`number`): Number of parts to batch together before emitting
|
|
22
22
|
|
|
23
|
-
**
|
|
23
|
+
**options.maxWaitTime** (`number`): Maximum time to wait before emitting a batch (in milliseconds). If set, will emit the current batch even if it hasn't reached batchSize
|
|
24
24
|
|
|
25
|
-
**
|
|
26
|
-
|
|
27
|
-
**emitOnNonText?:** (`boolean`): Whether to emit immediately when a non-text part is encountered
|
|
25
|
+
**options.emitOnNonText** (`boolean`): Whether to emit immediately when a non-text part is encountered
|
|
28
26
|
|
|
29
27
|
## Returns
|
|
30
28
|
|
|
31
|
-
**id
|
|
29
|
+
**id** (`string`): Processor identifier set to 'batch-parts'
|
|
32
30
|
|
|
33
|
-
**name
|
|
31
|
+
**name** (`string`): Optional processor display name
|
|
34
32
|
|
|
35
|
-
**processOutputStream
|
|
33
|
+
**processOutputStream** (`(args: { part: ChunkType; streamParts: ChunkType[]; state: Record<string, any>; abort: (reason?: string) => never }) => Promise<ChunkType | null>`): Processes streaming output parts to batch them together
|
|
36
34
|
|
|
37
|
-
**flush
|
|
35
|
+
**flush** (`(state?: BatchPartsState) => ChunkType | null`): Force flush any remaining batched parts when the stream ends
|
|
38
36
|
|
|
39
37
|
## Extended usage example
|
|
40
38
|
|
|
@@ -17,37 +17,35 @@ const processor = new LanguageDetector({
|
|
|
17
17
|
|
|
18
18
|
## Constructor parameters
|
|
19
19
|
|
|
20
|
-
**options
|
|
20
|
+
**options** (`Options`): Configuration options for language detection and translation
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
**options.model** (`MastraModelConfig`): Model configuration for the detection/translation agent
|
|
23
23
|
|
|
24
|
-
**
|
|
24
|
+
**options.targetLanguages** (`string[]`): Target language(s) for the project. If content is detected in a different language, it may be translated. Can be language name ('English') or ISO code ('en')
|
|
25
25
|
|
|
26
|
-
**
|
|
26
|
+
**options.threshold** (`number`): Confidence threshold for language detection (0-1). Only process when detection confidence exceeds this threshold
|
|
27
27
|
|
|
28
|
-
**
|
|
28
|
+
**options.strategy** (`'detect' | 'translate' | 'block' | 'warn'`): Strategy when non-target language is detected: 'detect' only detects language, 'translate' automatically translates to target language, 'block' rejects content not in target language, 'warn' logs warning but allows through
|
|
29
29
|
|
|
30
|
-
**
|
|
30
|
+
**options.preserveOriginal** (`boolean`): Whether to preserve original content in message metadata. Useful for audit trails and debugging
|
|
31
31
|
|
|
32
|
-
**
|
|
32
|
+
**options.instructions** (`string`): Custom detection instructions for the agent. If not provided, uses default instructions
|
|
33
33
|
|
|
34
|
-
**
|
|
34
|
+
**options.minTextLength** (`number`): Minimum text length to perform detection. Short text is often unreliable for language detection
|
|
35
35
|
|
|
36
|
-
**
|
|
36
|
+
**options.includeDetectionDetails** (`boolean`): Whether to include detailed detection info in logs
|
|
37
37
|
|
|
38
|
-
**
|
|
38
|
+
**options.translationQuality** (`'speed' | 'quality' | 'balanced'`): Translation quality preference: 'speed' prioritizes fast translation, 'quality' prioritizes accuracy, 'balanced' balances between speed and quality
|
|
39
39
|
|
|
40
|
-
**
|
|
41
|
-
|
|
42
|
-
**providerOptions?:** (`ProviderOptions`): Provider-specific options passed to the internal detection agent. Use this to control model behavior like reasoning effort for thinking models (e.g., \`{ openai: { reasoningEffort: 'low' } }\`)
|
|
40
|
+
**options.providerOptions** (`ProviderOptions`): Provider-specific options passed to the internal detection agent. Use this to control model behavior like reasoning effort for thinking models (e.g., \`{ openai: { reasoningEffort: 'low' } }\`)
|
|
43
41
|
|
|
44
42
|
## Returns
|
|
45
43
|
|
|
46
|
-
**id
|
|
44
|
+
**id** (`string`): Processor identifier set to 'language-detector'
|
|
47
45
|
|
|
48
|
-
**name
|
|
46
|
+
**name** (`string`): Optional processor display name
|
|
49
47
|
|
|
50
|
-
**processInput
|
|
48
|
+
**processInput** (`(args: { messages: MastraDBMessage[]; abort: (reason?: string) => never; tracingContext?: TracingContext }) => Promise<MastraDBMessage[]>`): Processes input messages to detect language and optionally translate content before sending to LLM
|
|
51
49
|
|
|
52
50
|
## Extended usage example
|
|
53
51
|
|
|
@@ -15,23 +15,21 @@ const processor = new MessageHistory({
|
|
|
15
15
|
|
|
16
16
|
## Constructor parameters
|
|
17
17
|
|
|
18
|
-
**options
|
|
18
|
+
**options** (`MessageHistoryOptions`): Configuration options for the message history processor
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
**options.storage** (`MemoryStorage`): Storage instance for retrieving and persisting messages
|
|
21
21
|
|
|
22
|
-
**
|
|
23
|
-
|
|
24
|
-
**lastMessages?:** (`number`): Maximum number of historical messages to retrieve. If not specified, retrieves all messages
|
|
22
|
+
**options.lastMessages** (`number`): Maximum number of historical messages to retrieve. If not specified, retrieves all messages
|
|
25
23
|
|
|
26
24
|
## Returns
|
|
27
25
|
|
|
28
|
-
**id
|
|
26
|
+
**id** (`string`): Processor identifier set to 'message-history'
|
|
29
27
|
|
|
30
|
-
**name
|
|
28
|
+
**name** (`string`): Processor display name set to 'MessageHistory'
|
|
31
29
|
|
|
32
|
-
**processInput
|
|
30
|
+
**processInput** (`(args: { messages: MastraDBMessage[]; messageList: MessageList; abort: (reason?: string) => never; tracingContext?: TracingContext; requestContext?: RequestContext }) => Promise<MessageList | MastraDBMessage[]>`): Fetches historical messages from storage and adds them to the message list
|
|
33
31
|
|
|
34
|
-
**processOutputResult
|
|
32
|
+
**processOutputResult** (`(args: { messages: MastraDBMessage[]; messageList: MessageList; abort: (reason?: string) => never; tracingContext?: TracingContext; requestContext?: RequestContext }) => Promise<MessageList>`): Persists new messages (user input and assistant response) to storage, excluding system messages
|
|
35
33
|
|
|
36
34
|
## Extended usage example
|
|
37
35
|
|
|
@@ -17,35 +17,33 @@ const processor = new ModerationProcessor({
|
|
|
17
17
|
|
|
18
18
|
## Constructor parameters
|
|
19
19
|
|
|
20
|
-
**options
|
|
20
|
+
**options** (`Options`): Configuration options for content moderation
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
**options.model** (`MastraModelConfig`): Model configuration for the moderation agent
|
|
23
23
|
|
|
24
|
-
**
|
|
24
|
+
**options.categories** (`string[]`): Categories to check for moderation. If not specified, uses default OpenAI categories
|
|
25
25
|
|
|
26
|
-
**
|
|
26
|
+
**options.threshold** (`number`): Confidence threshold for flagging (0-1). Content is flagged if any category score exceeds this threshold
|
|
27
27
|
|
|
28
|
-
**
|
|
28
|
+
**options.strategy** (`'block' | 'warn' | 'filter'`): Strategy when content is flagged: 'block' rejects with error, 'warn' logs warning but allows through, 'filter' removes flagged messages
|
|
29
29
|
|
|
30
|
-
**
|
|
30
|
+
**options.instructions** (`string`): Custom moderation instructions for the agent. If not provided, uses default instructions based on categories
|
|
31
31
|
|
|
32
|
-
**
|
|
32
|
+
**options.includeScores** (`boolean`): Whether to include confidence scores in logs. Useful for tuning thresholds and debugging
|
|
33
33
|
|
|
34
|
-
**
|
|
34
|
+
**options.chunkWindow** (`number`): Number of previous chunks to include for context when moderating stream chunks. If set to 1, includes the previous part, etc.
|
|
35
35
|
|
|
36
|
-
**
|
|
37
|
-
|
|
38
|
-
**providerOptions?:** (`ProviderOptions`): Provider-specific options passed to the internal moderation agent. Use this to control model behavior like reasoning effort for thinking models (e.g., \`{ openai: { reasoningEffort: 'low' } }\`)
|
|
36
|
+
**options.providerOptions** (`ProviderOptions`): Provider-specific options passed to the internal moderation agent. Use this to control model behavior like reasoning effort for thinking models (e.g., \`{ openai: { reasoningEffort: 'low' } }\`)
|
|
39
37
|
|
|
40
38
|
## Returns
|
|
41
39
|
|
|
42
|
-
**id
|
|
40
|
+
**id** (`string`): Processor identifier set to 'moderation'
|
|
43
41
|
|
|
44
|
-
**name
|
|
42
|
+
**name** (`string`): Optional processor display name
|
|
45
43
|
|
|
46
|
-
**processInput
|
|
44
|
+
**processInput** (`(args: { messages: MastraDBMessage[]; abort: (reason?: string) => never; tracingContext?: TracingContext }) => Promise<MastraDBMessage[]>`): Processes input messages to moderate content before sending to LLM
|
|
47
45
|
|
|
48
|
-
**processOutputStream
|
|
46
|
+
**processOutputStream** (`(args: { part: ChunkType; streamParts: ChunkType[]; state: Record<string, any>; abort: (reason?: string) => never; tracingContext?: TracingContext }) => Promise<ChunkType | null | undefined>`): Processes streaming output parts to moderate content during streaming
|
|
49
47
|
|
|
50
48
|
## Extended usage example
|
|
51
49
|
|