@mastra/core 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +236 -0
- package/dist/agent/agent.d.ts +6 -0
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/index.cjs +8 -8
- package/dist/agent/index.js +1 -1
- package/dist/{chunk-VJWRJWSC.cjs → chunk-2X66GWF5.cjs} +94 -16
- package/dist/chunk-2X66GWF5.cjs.map +1 -0
- package/dist/{chunk-YM6245EM.js → chunk-6OXW5E2O.js} +3 -3
- package/dist/{chunk-YM6245EM.js.map → chunk-6OXW5E2O.js.map} +1 -1
- package/dist/{chunk-XWZAKKFT.cjs → chunk-6QBN6MZY.cjs} +14 -14
- package/dist/{chunk-XWZAKKFT.cjs.map → chunk-6QBN6MZY.cjs.map} +1 -1
- package/dist/{chunk-AYHSPIT6.cjs → chunk-7UAJ6LMR.cjs} +820 -259
- package/dist/chunk-7UAJ6LMR.cjs.map +1 -0
- package/dist/{chunk-RZNHRIM7.cjs → chunk-A72NTLFT.cjs} +5 -5
- package/dist/{chunk-RZNHRIM7.cjs.map → chunk-A72NTLFT.cjs.map} +1 -1
- package/dist/{chunk-EEU5NHHU.js → chunk-DFCRXDVK.js} +3 -3
- package/dist/{chunk-EEU5NHHU.js.map → chunk-DFCRXDVK.js.map} +1 -1
- package/dist/{chunk-5K45E5VE.js → chunk-GPJGPARM.js} +3 -2
- package/dist/chunk-GPJGPARM.js.map +1 -0
- package/dist/{chunk-LNKS4TJ6.cjs → chunk-HB6T4554.cjs} +8 -7
- package/dist/chunk-HB6T4554.cjs.map +1 -0
- package/dist/{chunk-DGS2KGDI.js → chunk-KUXNBWN7.js} +6 -5
- package/dist/chunk-KUXNBWN7.js.map +1 -0
- package/dist/{chunk-IHDE4CJV.js → chunk-QSHV7GPT.js} +89 -12
- package/dist/chunk-QSHV7GPT.js.map +1 -0
- package/dist/{chunk-3U3XFMGJ.cjs → chunk-QTAS3HND.cjs} +13 -8
- package/dist/chunk-QTAS3HND.cjs.map +1 -0
- package/dist/{chunk-RHKNKJNM.js → chunk-QWTB53GS.js} +4 -4
- package/dist/{chunk-RHKNKJNM.js.map → chunk-QWTB53GS.js.map} +1 -1
- package/dist/{chunk-4WG5K4CK.js → chunk-R4N65TLG.js} +7 -7
- package/dist/{chunk-4WG5K4CK.js.map → chunk-R4N65TLG.js.map} +1 -1
- package/dist/{chunk-5VQPSWPG.cjs → chunk-RABITNTG.cjs} +48 -48
- package/dist/{chunk-5VQPSWPG.cjs.map → chunk-RABITNTG.cjs.map} +1 -1
- package/dist/{chunk-TVPANHLE.cjs → chunk-SBOHDNIZ.cjs} +3 -2
- package/dist/chunk-SBOHDNIZ.cjs.map +1 -0
- package/dist/{chunk-MWGGSA5Q.js → chunk-T6GAM3SQ.js} +10 -5
- package/dist/chunk-T6GAM3SQ.js.map +1 -0
- package/dist/{chunk-TL2TTA4X.cjs → chunk-YQG7NBPR.cjs} +9 -9
- package/dist/{chunk-TL2TTA4X.cjs.map → chunk-YQG7NBPR.cjs.map} +1 -1
- package/dist/{chunk-XB3DA67Q.js → chunk-ZSBM2SVU.js} +818 -259
- package/dist/chunk-ZSBM2SVU.js.map +1 -0
- package/dist/datasets/experiment/scorer.d.ts.map +1 -1
- package/dist/datasets/index.cjs +17 -17
- package/dist/datasets/index.js +2 -2
- package/dist/evals/index.cjs +20 -20
- package/dist/evals/index.js +3 -3
- package/dist/evals/scoreTraces/index.cjs +7 -6
- package/dist/evals/scoreTraces/index.cjs.map +1 -1
- package/dist/evals/scoreTraces/index.js +4 -3
- package/dist/evals/scoreTraces/index.js.map +1 -1
- package/dist/evals/scoreTraces/scoreTracesWorkflow.d.ts.map +1 -1
- package/dist/harness/harness.d.ts +21 -1
- package/dist/harness/harness.d.ts.map +1 -1
- package/dist/harness/index.cjs +422 -5
- package/dist/harness/index.cjs.map +1 -1
- package/dist/harness/index.d.ts +2 -1
- package/dist/harness/index.d.ts.map +1 -1
- package/dist/harness/index.js +418 -3
- package/dist/harness/index.js.map +1 -1
- package/dist/harness/types.d.ts +151 -0
- package/dist/harness/types.d.ts.map +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +1 -1
- package/dist/loop/index.cjs +12 -12
- package/dist/loop/index.js +1 -1
- package/dist/loop/test-utils/tools.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
- package/dist/mastra/hooks.d.ts.map +1 -1
- package/dist/mastra/index.cjs +2 -2
- package/dist/mastra/index.js +1 -1
- package/dist/memory/index.cjs +14 -14
- package/dist/memory/index.js +1 -1
- package/dist/processor-provider/index.cjs +10 -10
- package/dist/processor-provider/index.js +1 -1
- package/dist/processors/index.cjs +45 -41
- package/dist/processors/index.js +1 -1
- package/dist/processors/processors/index.d.ts +1 -0
- package/dist/processors/processors/index.d.ts.map +1 -1
- package/dist/processors/processors/workspace-instructions.d.ts +50 -0
- package/dist/processors/processors/workspace-instructions.d.ts.map +1 -0
- package/dist/relevance/index.cjs +3 -3
- package/dist/relevance/index.js +1 -1
- package/dist/storage/constants.cjs +56 -56
- package/dist/storage/constants.d.ts.map +1 -1
- package/dist/storage/constants.js +1 -1
- package/dist/storage/index.cjs +160 -160
- package/dist/storage/index.js +2 -2
- package/dist/storage/types.d.ts +2 -0
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -1
- package/dist/stream/base/output.d.ts.map +1 -1
- package/dist/stream/index.cjs +8 -8
- package/dist/stream/index.js +1 -1
- package/dist/tool-loop-agent/index.cjs +4 -4
- package/dist/tool-loop-agent/index.js +1 -1
- package/dist/vector/index.cjs +7 -7
- package/dist/vector/index.js +1 -1
- package/dist/workflows/evented/index.cjs +10 -10
- package/dist/workflows/evented/index.js +1 -1
- package/dist/workflows/index.cjs +25 -25
- package/dist/workflows/index.js +1 -1
- package/dist/workspace/constants/index.d.ts +2 -0
- package/dist/workspace/constants/index.d.ts.map +1 -1
- package/dist/workspace/errors.d.ts +1 -1
- package/dist/workspace/errors.d.ts.map +1 -1
- package/dist/workspace/filesystem/composite-filesystem.d.ts +4 -1
- package/dist/workspace/filesystem/composite-filesystem.d.ts.map +1 -1
- package/dist/workspace/filesystem/file-write-lock.d.ts +35 -0
- package/dist/workspace/filesystem/file-write-lock.d.ts.map +1 -0
- package/dist/workspace/filesystem/filesystem.d.ts +5 -1
- package/dist/workspace/filesystem/filesystem.d.ts.map +1 -1
- package/dist/workspace/filesystem/index.d.ts +1 -0
- package/dist/workspace/filesystem/index.d.ts.map +1 -1
- package/dist/workspace/filesystem/local-filesystem.d.ts +17 -1
- package/dist/workspace/filesystem/local-filesystem.d.ts.map +1 -1
- package/dist/workspace/index.cjs +72 -64
- package/dist/workspace/index.d.ts +3 -2
- package/dist/workspace/index.d.ts.map +1 -1
- package/dist/workspace/index.js +1 -1
- package/dist/workspace/lifecycle.d.ts +1 -9
- package/dist/workspace/lifecycle.d.ts.map +1 -1
- package/dist/workspace/sandbox/index.d.ts +2 -0
- package/dist/workspace/sandbox/index.d.ts.map +1 -1
- package/dist/workspace/sandbox/local-process-manager.d.ts +18 -0
- package/dist/workspace/sandbox/local-process-manager.d.ts.map +1 -0
- package/dist/workspace/sandbox/local-sandbox.d.ts +49 -35
- package/dist/workspace/sandbox/local-sandbox.d.ts.map +1 -1
- package/dist/workspace/sandbox/mastra-sandbox.d.ts +45 -11
- package/dist/workspace/sandbox/mastra-sandbox.d.ts.map +1 -1
- package/dist/workspace/sandbox/native-sandbox/bubblewrap.d.ts +2 -3
- package/dist/workspace/sandbox/native-sandbox/bubblewrap.d.ts.map +1 -1
- package/dist/workspace/sandbox/native-sandbox/seatbelt.d.ts +2 -3
- package/dist/workspace/sandbox/native-sandbox/seatbelt.d.ts.map +1 -1
- package/dist/workspace/sandbox/native-sandbox/wrapper.d.ts +4 -5
- package/dist/workspace/sandbox/native-sandbox/wrapper.d.ts.map +1 -1
- package/dist/workspace/sandbox/process-manager/index.d.ts +4 -0
- package/dist/workspace/sandbox/process-manager/index.d.ts.map +1 -0
- package/dist/workspace/sandbox/process-manager/process-handle.d.ts +107 -0
- package/dist/workspace/sandbox/process-manager/process-handle.d.ts.map +1 -0
- package/dist/workspace/sandbox/process-manager/process-manager.d.ts +59 -0
- package/dist/workspace/sandbox/process-manager/process-manager.d.ts.map +1 -0
- package/dist/workspace/sandbox/process-manager/types.d.ts +24 -0
- package/dist/workspace/sandbox/process-manager/types.d.ts.map +1 -0
- package/dist/workspace/sandbox/sandbox.d.ts +38 -2
- package/dist/workspace/sandbox/sandbox.d.ts.map +1 -1
- package/dist/workspace/sandbox/types.d.ts +9 -2
- package/dist/workspace/sandbox/types.d.ts.map +1 -1
- package/dist/workspace/sandbox/utils.d.ts +7 -0
- package/dist/workspace/sandbox/utils.d.ts.map +1 -0
- package/dist/workspace/tools/execute-command.d.ts +53 -2
- package/dist/workspace/tools/execute-command.d.ts.map +1 -1
- package/dist/workspace/tools/get-process-output.d.ts +6 -0
- package/dist/workspace/tools/get-process-output.d.ts.map +1 -0
- package/dist/workspace/tools/index.d.ts +4 -1
- package/dist/workspace/tools/index.d.ts.map +1 -1
- package/dist/workspace/tools/kill-process.d.ts +4 -0
- package/dist/workspace/tools/kill-process.d.ts.map +1 -0
- package/dist/workspace/tools/output-helpers.d.ts +21 -0
- package/dist/workspace/tools/output-helpers.d.ts.map +1 -0
- package/dist/workspace/tools/tools.d.ts.map +1 -1
- package/dist/workspace/types.d.ts +31 -0
- package/dist/workspace/types.d.ts.map +1 -1
- package/dist/workspace/utils.d.ts +11 -0
- package/dist/workspace/utils.d.ts.map +1 -0
- package/dist/workspace/workspace.d.ts +36 -0
- package/dist/workspace/workspace.d.ts.map +1 -1
- package/package.json +7 -7
- package/dist/chunk-3U3XFMGJ.cjs.map +0 -1
- package/dist/chunk-5K45E5VE.js.map +0 -1
- package/dist/chunk-AYHSPIT6.cjs.map +0 -1
- package/dist/chunk-DGS2KGDI.js.map +0 -1
- package/dist/chunk-IHDE4CJV.js.map +0 -1
- package/dist/chunk-LNKS4TJ6.cjs.map +0 -1
- package/dist/chunk-MWGGSA5Q.js.map +0 -1
- package/dist/chunk-TVPANHLE.cjs.map +0 -1
- package/dist/chunk-VJWRJWSC.cjs.map +0 -1
- package/dist/chunk-XB3DA67Q.js.map +0 -1
- package/dist/docs/SKILL.md +0 -301
- package/dist/docs/assets/SOURCE_MAP.json +0 -1413
- package/dist/docs/references/docs-agents-adding-voice.md +0 -353
- package/dist/docs/references/docs-agents-agent-approval.md +0 -377
- package/dist/docs/references/docs-agents-agent-memory.md +0 -212
- package/dist/docs/references/docs-agents-guardrails.md +0 -382
- package/dist/docs/references/docs-agents-network-approval.md +0 -275
- package/dist/docs/references/docs-agents-networks.md +0 -290
- package/dist/docs/references/docs-agents-overview.md +0 -309
- package/dist/docs/references/docs-agents-processors.md +0 -632
- package/dist/docs/references/docs-agents-structured-output.md +0 -271
- package/dist/docs/references/docs-agents-using-tools.md +0 -214
- package/dist/docs/references/docs-evals-custom-scorers.md +0 -519
- package/dist/docs/references/docs-evals-overview.md +0 -146
- package/dist/docs/references/docs-evals-running-in-ci.md +0 -106
- package/dist/docs/references/docs-mcp-overview.md +0 -370
- package/dist/docs/references/docs-mcp-publishing-mcp-server.md +0 -95
- package/dist/docs/references/docs-memory-memory-processors.md +0 -316
- package/dist/docs/references/docs-memory-observational-memory.md +0 -246
- package/dist/docs/references/docs-memory-overview.md +0 -45
- package/dist/docs/references/docs-memory-semantic-recall.md +0 -272
- package/dist/docs/references/docs-memory-storage.md +0 -261
- package/dist/docs/references/docs-memory-working-memory.md +0 -400
- package/dist/docs/references/docs-observability-datasets-overview.md +0 -188
- package/dist/docs/references/docs-observability-datasets-running-experiments.md +0 -266
- package/dist/docs/references/docs-observability-logging.md +0 -99
- package/dist/docs/references/docs-observability-overview.md +0 -70
- package/dist/docs/references/docs-observability-tracing-bridges-otel.md +0 -209
- package/dist/docs/references/docs-observability-tracing-exporters-arize.md +0 -274
- package/dist/docs/references/docs-observability-tracing-exporters-braintrust.md +0 -111
- package/dist/docs/references/docs-observability-tracing-exporters-cloud.md +0 -129
- package/dist/docs/references/docs-observability-tracing-exporters-datadog.md +0 -187
- package/dist/docs/references/docs-observability-tracing-exporters-default.md +0 -211
- package/dist/docs/references/docs-observability-tracing-exporters-laminar.md +0 -100
- package/dist/docs/references/docs-observability-tracing-exporters-langfuse.md +0 -217
- package/dist/docs/references/docs-observability-tracing-exporters-langsmith.md +0 -202
- package/dist/docs/references/docs-observability-tracing-exporters-otel.md +0 -479
- package/dist/docs/references/docs-observability-tracing-exporters-posthog.md +0 -148
- package/dist/docs/references/docs-observability-tracing-overview.md +0 -1114
- package/dist/docs/references/docs-rag-chunking-and-embedding.md +0 -183
- package/dist/docs/references/docs-rag-graph-rag.md +0 -215
- package/dist/docs/references/docs-rag-overview.md +0 -72
- package/dist/docs/references/docs-rag-retrieval.md +0 -521
- package/dist/docs/references/docs-rag-vector-databases.md +0 -648
- package/dist/docs/references/docs-server-auth-auth0.md +0 -222
- package/dist/docs/references/docs-server-auth-clerk.md +0 -132
- package/dist/docs/references/docs-server-auth-composite-auth.md +0 -234
- package/dist/docs/references/docs-server-auth-custom-auth-provider.md +0 -513
- package/dist/docs/references/docs-server-auth-firebase.md +0 -272
- package/dist/docs/references/docs-server-auth-jwt.md +0 -110
- package/dist/docs/references/docs-server-auth-simple-auth.md +0 -178
- package/dist/docs/references/docs-server-auth-supabase.md +0 -117
- package/dist/docs/references/docs-server-auth-workos.md +0 -190
- package/dist/docs/references/docs-server-custom-adapters.md +0 -374
- package/dist/docs/references/docs-server-custom-api-routes.md +0 -267
- package/dist/docs/references/docs-server-mastra-client.md +0 -243
- package/dist/docs/references/docs-server-mastra-server.md +0 -71
- package/dist/docs/references/docs-server-middleware.md +0 -228
- package/dist/docs/references/docs-server-request-context.md +0 -478
- package/dist/docs/references/docs-streaming-events.md +0 -247
- package/dist/docs/references/docs-streaming-tool-streaming.md +0 -178
- package/dist/docs/references/docs-streaming-workflow-streaming.md +0 -109
- package/dist/docs/references/docs-voice-overview.md +0 -979
- package/dist/docs/references/docs-voice-speech-to-speech.md +0 -103
- package/dist/docs/references/docs-voice-speech-to-text.md +0 -80
- package/dist/docs/references/docs-voice-text-to-speech.md +0 -84
- package/dist/docs/references/docs-workflows-agents-and-tools.md +0 -170
- package/dist/docs/references/docs-workflows-control-flow.md +0 -823
- package/dist/docs/references/docs-workflows-error-handling.md +0 -360
- package/dist/docs/references/docs-workflows-human-in-the-loop.md +0 -213
- package/dist/docs/references/docs-workflows-overview.md +0 -372
- package/dist/docs/references/docs-workflows-snapshots.md +0 -238
- package/dist/docs/references/docs-workflows-suspend-and-resume.md +0 -205
- package/dist/docs/references/docs-workflows-time-travel.md +0 -309
- package/dist/docs/references/docs-workflows-workflow-state.md +0 -181
- package/dist/docs/references/docs-workspace-filesystem.md +0 -162
- package/dist/docs/references/docs-workspace-overview.md +0 -239
- package/dist/docs/references/docs-workspace-sandbox.md +0 -63
- package/dist/docs/references/docs-workspace-search.md +0 -219
- package/dist/docs/references/docs-workspace-skills.md +0 -126
- package/dist/docs/references/guides-agent-frameworks-ai-sdk.md +0 -140
- package/dist/docs/references/reference-agents-agent.md +0 -142
- package/dist/docs/references/reference-agents-generate.md +0 -174
- package/dist/docs/references/reference-agents-generateLegacy.md +0 -176
- package/dist/docs/references/reference-agents-getDefaultGenerateOptions.md +0 -36
- package/dist/docs/references/reference-agents-getDefaultOptions.md +0 -34
- package/dist/docs/references/reference-agents-getDefaultStreamOptions.md +0 -36
- package/dist/docs/references/reference-agents-getDescription.md +0 -21
- package/dist/docs/references/reference-agents-getInstructions.md +0 -34
- package/dist/docs/references/reference-agents-getLLM.md +0 -37
- package/dist/docs/references/reference-agents-getMemory.md +0 -34
- package/dist/docs/references/reference-agents-getModel.md +0 -34
- package/dist/docs/references/reference-agents-getTools.md +0 -29
- package/dist/docs/references/reference-agents-getVoice.md +0 -34
- package/dist/docs/references/reference-agents-listAgents.md +0 -35
- package/dist/docs/references/reference-agents-listScorers.md +0 -34
- package/dist/docs/references/reference-agents-listTools.md +0 -34
- package/dist/docs/references/reference-agents-listWorkflows.md +0 -34
- package/dist/docs/references/reference-agents-network.md +0 -134
- package/dist/docs/references/reference-ai-sdk-chat-route.md +0 -82
- package/dist/docs/references/reference-ai-sdk-network-route.md +0 -74
- package/dist/docs/references/reference-ai-sdk-to-ai-sdk-stream.md +0 -232
- package/dist/docs/references/reference-ai-sdk-with-mastra.md +0 -59
- package/dist/docs/references/reference-ai-sdk-workflow-route.md +0 -79
- package/dist/docs/references/reference-auth-auth0.md +0 -73
- package/dist/docs/references/reference-auth-clerk.md +0 -36
- package/dist/docs/references/reference-auth-firebase.md +0 -80
- package/dist/docs/references/reference-auth-jwt.md +0 -26
- package/dist/docs/references/reference-auth-supabase.md +0 -33
- package/dist/docs/references/reference-auth-workos.md +0 -84
- package/dist/docs/references/reference-client-js-agents.md +0 -438
- package/dist/docs/references/reference-configuration.md +0 -749
- package/dist/docs/references/reference-core-addGateway.md +0 -42
- package/dist/docs/references/reference-core-getAgent.md +0 -21
- package/dist/docs/references/reference-core-getAgentById.md +0 -21
- package/dist/docs/references/reference-core-getDeployer.md +0 -22
- package/dist/docs/references/reference-core-getGateway.md +0 -38
- package/dist/docs/references/reference-core-getGatewayById.md +0 -41
- package/dist/docs/references/reference-core-getLogger.md +0 -22
- package/dist/docs/references/reference-core-getMCPServer.md +0 -45
- package/dist/docs/references/reference-core-getMCPServerById.md +0 -53
- package/dist/docs/references/reference-core-getMemory.md +0 -50
- package/dist/docs/references/reference-core-getScorer.md +0 -54
- package/dist/docs/references/reference-core-getScorerById.md +0 -54
- package/dist/docs/references/reference-core-getServer.md +0 -22
- package/dist/docs/references/reference-core-getStorage.md +0 -22
- package/dist/docs/references/reference-core-getStoredAgentById.md +0 -89
- package/dist/docs/references/reference-core-getTelemetry.md +0 -22
- package/dist/docs/references/reference-core-getVector.md +0 -22
- package/dist/docs/references/reference-core-getWorkflow.md +0 -40
- package/dist/docs/references/reference-core-listAgents.md +0 -21
- package/dist/docs/references/reference-core-listGateways.md +0 -40
- package/dist/docs/references/reference-core-listLogs.md +0 -38
- package/dist/docs/references/reference-core-listLogsByRunId.md +0 -36
- package/dist/docs/references/reference-core-listMCPServers.md +0 -51
- package/dist/docs/references/reference-core-listMemory.md +0 -56
- package/dist/docs/references/reference-core-listScorers.md +0 -29
- package/dist/docs/references/reference-core-listStoredAgents.md +0 -93
- package/dist/docs/references/reference-core-listVectors.md +0 -22
- package/dist/docs/references/reference-core-listWorkflows.md +0 -21
- package/dist/docs/references/reference-core-mastra-class.md +0 -66
- package/dist/docs/references/reference-core-mastra-model-gateway.md +0 -153
- package/dist/docs/references/reference-core-setLogger.md +0 -26
- package/dist/docs/references/reference-core-setStorage.md +0 -27
- package/dist/docs/references/reference-datasets-addItem.md +0 -35
- package/dist/docs/references/reference-datasets-addItems.md +0 -33
- package/dist/docs/references/reference-datasets-compareExperiments.md +0 -48
- package/dist/docs/references/reference-datasets-create.md +0 -49
- package/dist/docs/references/reference-datasets-dataset.md +0 -78
- package/dist/docs/references/reference-datasets-datasets-manager.md +0 -84
- package/dist/docs/references/reference-datasets-delete.md +0 -23
- package/dist/docs/references/reference-datasets-deleteExperiment.md +0 -25
- package/dist/docs/references/reference-datasets-deleteItem.md +0 -25
- package/dist/docs/references/reference-datasets-deleteItems.md +0 -27
- package/dist/docs/references/reference-datasets-get.md +0 -29
- package/dist/docs/references/reference-datasets-getDetails.md +0 -45
- package/dist/docs/references/reference-datasets-getExperiment.md +0 -28
- package/dist/docs/references/reference-datasets-getItem.md +0 -31
- package/dist/docs/references/reference-datasets-getItemHistory.md +0 -29
- package/dist/docs/references/reference-datasets-list.md +0 -29
- package/dist/docs/references/reference-datasets-listExperimentResults.md +0 -37
- package/dist/docs/references/reference-datasets-listExperiments.md +0 -31
- package/dist/docs/references/reference-datasets-listItems.md +0 -44
- package/dist/docs/references/reference-datasets-listVersions.md +0 -31
- package/dist/docs/references/reference-datasets-startExperiment.md +0 -60
- package/dist/docs/references/reference-datasets-startExperimentAsync.md +0 -41
- package/dist/docs/references/reference-datasets-update.md +0 -46
- package/dist/docs/references/reference-datasets-updateItem.md +0 -36
- package/dist/docs/references/reference-evals-answer-relevancy.md +0 -105
- package/dist/docs/references/reference-evals-answer-similarity.md +0 -99
- package/dist/docs/references/reference-evals-bias.md +0 -120
- package/dist/docs/references/reference-evals-completeness.md +0 -137
- package/dist/docs/references/reference-evals-content-similarity.md +0 -101
- package/dist/docs/references/reference-evals-context-precision.md +0 -196
- package/dist/docs/references/reference-evals-create-scorer.md +0 -270
- package/dist/docs/references/reference-evals-faithfulness.md +0 -114
- package/dist/docs/references/reference-evals-hallucination.md +0 -220
- package/dist/docs/references/reference-evals-keyword-coverage.md +0 -128
- package/dist/docs/references/reference-evals-mastra-scorer.md +0 -123
- package/dist/docs/references/reference-evals-run-evals.md +0 -138
- package/dist/docs/references/reference-evals-scorer-utils.md +0 -330
- package/dist/docs/references/reference-evals-textual-difference.md +0 -113
- package/dist/docs/references/reference-evals-tone-consistency.md +0 -119
- package/dist/docs/references/reference-evals-toxicity.md +0 -123
- package/dist/docs/references/reference-harness-harness-class.md +0 -645
- package/dist/docs/references/reference-logging-pino-logger.md +0 -117
- package/dist/docs/references/reference-memory-deleteMessages.md +0 -40
- package/dist/docs/references/reference-memory-memory-class.md +0 -147
- package/dist/docs/references/reference-memory-observational-memory.md +0 -565
- package/dist/docs/references/reference-observability-tracing-bridges-otel.md +0 -131
- package/dist/docs/references/reference-observability-tracing-configuration.md +0 -178
- package/dist/docs/references/reference-observability-tracing-exporters-console-exporter.md +0 -138
- package/dist/docs/references/reference-observability-tracing-exporters-datadog.md +0 -116
- package/dist/docs/references/reference-observability-tracing-instances.md +0 -109
- package/dist/docs/references/reference-observability-tracing-interfaces.md +0 -749
- package/dist/docs/references/reference-observability-tracing-processors-sensitive-data-filter.md +0 -144
- package/dist/docs/references/reference-observability-tracing-spans.md +0 -224
- package/dist/docs/references/reference-processors-batch-parts-processor.md +0 -61
- package/dist/docs/references/reference-processors-language-detector.md +0 -81
- package/dist/docs/references/reference-processors-message-history-processor.md +0 -85
- package/dist/docs/references/reference-processors-moderation-processor.md +0 -104
- package/dist/docs/references/reference-processors-pii-detector.md +0 -107
- package/dist/docs/references/reference-processors-processor-interface.md +0 -525
- package/dist/docs/references/reference-processors-prompt-injection-detector.md +0 -71
- package/dist/docs/references/reference-processors-semantic-recall-processor.md +0 -123
- package/dist/docs/references/reference-processors-system-prompt-scrubber.md +0 -80
- package/dist/docs/references/reference-processors-token-limiter-processor.md +0 -113
- package/dist/docs/references/reference-processors-tool-call-filter.md +0 -85
- package/dist/docs/references/reference-processors-tool-search-processor.md +0 -113
- package/dist/docs/references/reference-processors-unicode-normalizer.md +0 -62
- package/dist/docs/references/reference-processors-working-memory-processor.md +0 -154
- package/dist/docs/references/reference-rag-database-config.md +0 -264
- package/dist/docs/references/reference-rag-embeddings.md +0 -92
- package/dist/docs/references/reference-server-mastra-server.md +0 -298
- package/dist/docs/references/reference-server-register-api-route.md +0 -249
- package/dist/docs/references/reference-storage-cloudflare-d1.md +0 -218
- package/dist/docs/references/reference-storage-composite.md +0 -235
- package/dist/docs/references/reference-storage-lance.md +0 -131
- package/dist/docs/references/reference-storage-libsql.md +0 -135
- package/dist/docs/references/reference-storage-mongodb.md +0 -262
- package/dist/docs/references/reference-storage-mssql.md +0 -155
- package/dist/docs/references/reference-storage-overview.md +0 -121
- package/dist/docs/references/reference-storage-postgresql.md +0 -529
- package/dist/docs/references/reference-storage-upstash.md +0 -160
- package/dist/docs/references/reference-streaming-ChunkType.md +0 -292
- package/dist/docs/references/reference-streaming-agents-MastraModelOutput.md +0 -182
- package/dist/docs/references/reference-streaming-agents-streamLegacy.md +0 -142
- package/dist/docs/references/reference-streaming-workflows-observeStream.md +0 -42
- package/dist/docs/references/reference-streaming-workflows-resumeStream.md +0 -61
- package/dist/docs/references/reference-streaming-workflows-stream.md +0 -88
- package/dist/docs/references/reference-streaming-workflows-timeTravelStream.md +0 -142
- package/dist/docs/references/reference-templates-overview.md +0 -194
- package/dist/docs/references/reference-tools-create-tool.md +0 -237
- package/dist/docs/references/reference-tools-graph-rag-tool.md +0 -185
- package/dist/docs/references/reference-tools-mcp-client.md +0 -962
- package/dist/docs/references/reference-tools-mcp-server.md +0 -1275
- package/dist/docs/references/reference-tools-vector-query-tool.md +0 -459
- package/dist/docs/references/reference-vectors-libsql.md +0 -305
- package/dist/docs/references/reference-vectors-mongodb.md +0 -295
- package/dist/docs/references/reference-vectors-pg.md +0 -408
- package/dist/docs/references/reference-vectors-upstash.md +0 -294
- package/dist/docs/references/reference-voice-composite-voice.md +0 -121
- package/dist/docs/references/reference-voice-mastra-voice.md +0 -313
- package/dist/docs/references/reference-voice-voice.addInstructions.md +0 -56
- package/dist/docs/references/reference-voice-voice.addTools.md +0 -67
- package/dist/docs/references/reference-voice-voice.connect.md +0 -94
- package/dist/docs/references/reference-voice-voice.events.md +0 -37
- package/dist/docs/references/reference-voice-voice.listen.md +0 -164
- package/dist/docs/references/reference-voice-voice.on.md +0 -111
- package/dist/docs/references/reference-voice-voice.speak.md +0 -157
- package/dist/docs/references/reference-workflows-run-methods-cancel.md +0 -86
- package/dist/docs/references/reference-workflows-run-methods-restart.md +0 -33
- package/dist/docs/references/reference-workflows-run-methods-resume.md +0 -59
- package/dist/docs/references/reference-workflows-run-methods-start.md +0 -58
- package/dist/docs/references/reference-workflows-run-methods-startAsync.md +0 -67
- package/dist/docs/references/reference-workflows-run-methods-timeTravel.md +0 -142
- package/dist/docs/references/reference-workflows-run.md +0 -59
- package/dist/docs/references/reference-workflows-step.md +0 -119
- package/dist/docs/references/reference-workflows-workflow-methods-branch.md +0 -25
- package/dist/docs/references/reference-workflows-workflow-methods-commit.md +0 -17
- package/dist/docs/references/reference-workflows-workflow-methods-create-run.md +0 -63
- package/dist/docs/references/reference-workflows-workflow-methods-dountil.md +0 -25
- package/dist/docs/references/reference-workflows-workflow-methods-dowhile.md +0 -25
- package/dist/docs/references/reference-workflows-workflow-methods-foreach.md +0 -118
- package/dist/docs/references/reference-workflows-workflow-methods-map.md +0 -93
- package/dist/docs/references/reference-workflows-workflow-methods-parallel.md +0 -21
- package/dist/docs/references/reference-workflows-workflow-methods-sleep.md +0 -35
- package/dist/docs/references/reference-workflows-workflow-methods-sleepUntil.md +0 -35
- package/dist/docs/references/reference-workflows-workflow-methods-then.md +0 -21
- package/dist/docs/references/reference-workflows-workflow.md +0 -157
- package/dist/docs/references/reference-workspace-filesystem.md +0 -202
- package/dist/docs/references/reference-workspace-local-filesystem.md +0 -327
- package/dist/docs/references/reference-workspace-local-sandbox.md +0 -285
- package/dist/docs/references/reference-workspace-sandbox.md +0 -81
- package/dist/docs/references/reference-workspace-workspace-class.md +0 -226
- package/dist/docs/references/reference.md +0 -276
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
# Workspace Skills
|
|
2
|
-
|
|
3
|
-
**Added in:** `@mastra/core@1.1.0`
|
|
4
|
-
|
|
5
|
-
Skills are reusable instructions that teach agents how to perform specific tasks. They follow the [Agent Skills specification](https://agentskills.io) - an open standard for packaging agent capabilities.
|
|
6
|
-
|
|
7
|
-
A skill is a folder containing:
|
|
8
|
-
|
|
9
|
-
- `SKILL.md`: Instructions and metadata for the agent
|
|
10
|
-
- `references/`: Supporting documentation (optional)
|
|
11
|
-
- `scripts/`: Executable scripts (optional)
|
|
12
|
-
- `assets/`: Images and other files (optional)
|
|
13
|
-
|
|
14
|
-
```plaintext
|
|
15
|
-
/skills
|
|
16
|
-
/code-review
|
|
17
|
-
SKILL.md
|
|
18
|
-
/references
|
|
19
|
-
style-guide.md
|
|
20
|
-
pr-checklist.md
|
|
21
|
-
/scripts
|
|
22
|
-
lint.ts
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
When skills are configured on a workspace, agents can discover and activate them during conversations.
|
|
26
|
-
|
|
27
|
-
## SKILL.md format
|
|
28
|
-
|
|
29
|
-
Follow the official [skill specification](https://agentskills.io/specification) when creating your skill. Here is an example `SKILL.md` for a code review skill:
|
|
30
|
-
|
|
31
|
-
```markdown
|
|
32
|
-
---
|
|
33
|
-
name: code-review
|
|
34
|
-
description: Reviews code for quality, style, and potential issues
|
|
35
|
-
version: 1.0.0
|
|
36
|
-
tags:
|
|
37
|
-
- development
|
|
38
|
-
- review
|
|
39
|
-
---
|
|
40
|
-
|
|
41
|
-
# Code Review
|
|
42
|
-
|
|
43
|
-
You are a code reviewer. When reviewing code:
|
|
44
|
-
|
|
45
|
-
1. Check for bugs and edge cases
|
|
46
|
-
2. Verify the code follows the style guide in references/style-guide.md
|
|
47
|
-
3. Suggest improvements for readability
|
|
48
|
-
4. Run the linter using scripts/lint.ts
|
|
49
|
-
|
|
50
|
-
## What to look out for
|
|
51
|
-
|
|
52
|
-
- Unused variables and imports
|
|
53
|
-
- Missing error handling
|
|
54
|
-
- Security vulnerabilities
|
|
55
|
-
- Performance issues
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
## Configuring skills
|
|
59
|
-
|
|
60
|
-
Enable skill discovery by setting the `skills` option on your workspace:
|
|
61
|
-
|
|
62
|
-
```typescript
|
|
63
|
-
import { Workspace, LocalFilesystem } from '@mastra/core/workspace';
|
|
64
|
-
|
|
65
|
-
const workspace = new Workspace({
|
|
66
|
-
filesystem: new LocalFilesystem({ basePath: './workspace' }),
|
|
67
|
-
skills: ['/skills'],
|
|
68
|
-
});
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
The `skills` directory is relative to your `basePath`. You can specify multiple skill directories:
|
|
72
|
-
|
|
73
|
-
```typescript
|
|
74
|
-
const workspace = new Workspace({
|
|
75
|
-
filesystem: new LocalFilesystem({ basePath: './workspace' }),
|
|
76
|
-
skills: [
|
|
77
|
-
'/skills', // Project skills
|
|
78
|
-
'/team-skills', // Shared team skills
|
|
79
|
-
],
|
|
80
|
-
});
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
## Dynamic skills
|
|
84
|
-
|
|
85
|
-
For dynamic skill paths based on context, pass a function:
|
|
86
|
-
|
|
87
|
-
```typescript
|
|
88
|
-
const workspace = new Workspace({
|
|
89
|
-
filesystem: new LocalFilesystem({ basePath: './workspace' }),
|
|
90
|
-
skills: (context) => {
|
|
91
|
-
const paths = ['/skills'];
|
|
92
|
-
if (context.user?.role === 'developer') {
|
|
93
|
-
paths.push('/dev-skills');
|
|
94
|
-
}
|
|
95
|
-
return paths;
|
|
96
|
-
},
|
|
97
|
-
});
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
## How agents use skills
|
|
101
|
-
|
|
102
|
-
When an agent activates a skill, the skill's instructions are added to the conversation context. The agent can then follow those instructions and access the skill's references and scripts.
|
|
103
|
-
|
|
104
|
-
Under the hood this involves:
|
|
105
|
-
|
|
106
|
-
1. Lists available skills in the system message
|
|
107
|
-
2. Allows agents to activate skills during conversation
|
|
108
|
-
3. Provides access to skill references and scripts
|
|
109
|
-
|
|
110
|
-
## Skill search
|
|
111
|
-
|
|
112
|
-
If BM25 or vector search is enabled on the workspace, skills are automatically indexed. Agents can search across skill content to find relevant instructions.
|
|
113
|
-
|
|
114
|
-
```typescript
|
|
115
|
-
const workspace = new Workspace({
|
|
116
|
-
filesystem: new LocalFilesystem({ basePath: './workspace' }),
|
|
117
|
-
skills: ['/skills'],
|
|
118
|
-
bm25: true,
|
|
119
|
-
});
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
## Related
|
|
123
|
-
|
|
124
|
-
- [Agent skills specification](https://agentskills.io)
|
|
125
|
-
- [Workspace overview](https://mastra.ai/docs/workspace/overview)
|
|
126
|
-
- [Search and indexing](https://mastra.ai/docs/workspace/search)
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
# AI SDK
|
|
2
|
-
|
|
3
|
-
If you're already using the [Vercel AI SDK](https://sdk.vercel.ai) directly and want to add Mastra capabilities like [processors](https://mastra.ai/docs/agents/processors) or [memory](https://mastra.ai/docs/memory/memory-processors) without switching to the full Mastra agent API, [`withMastra()`](https://mastra.ai/reference/ai-sdk/with-mastra) lets you wrap any AI SDK model with these features. This is useful when you want to keep your existing AI SDK code but add input/output processing, conversation persistence, or content filtering.
|
|
4
|
-
|
|
5
|
-
> **Tip:** If you want to use Mastra together with AI SDK UI (e.g. `useChat()`), visit the [AI SDK UI guide](https://mastra.ai/guides/build-your-ui/ai-sdk-ui).
|
|
6
|
-
|
|
7
|
-
## Installation
|
|
8
|
-
|
|
9
|
-
Install `@mastra/ai-sdk` to begin using the `withMastra()` function.
|
|
10
|
-
|
|
11
|
-
**npm**:
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
npm install @mastra/ai-sdk@latest
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
**pnpm**:
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
pnpm add @mastra/ai-sdk@latest
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
**Yarn**:
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
yarn add @mastra/ai-sdk@latest
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
**Bun**:
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
bun add @mastra/ai-sdk@latest
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Examples
|
|
36
|
-
|
|
37
|
-
### With Processors
|
|
38
|
-
|
|
39
|
-
Processors let you transform messages before they're sent to the model (`processInput`) and after responses are received (`processOutputResult`). This example creates a logging processor that logs message counts at each stage, then wraps an OpenAI model with it.
|
|
40
|
-
|
|
41
|
-
```typescript
|
|
42
|
-
import { openai } from '@ai-sdk/openai';
|
|
43
|
-
import { generateText } from 'ai';
|
|
44
|
-
import { withMastra } from '@mastra/ai-sdk';
|
|
45
|
-
import type { Processor } from '@mastra/core/processors';
|
|
46
|
-
|
|
47
|
-
const loggingProcessor: Processor<'logger'> = {
|
|
48
|
-
id: 'logger',
|
|
49
|
-
async processInput({ messages }) {
|
|
50
|
-
console.log('Input:', messages.length, 'messages');
|
|
51
|
-
return messages;
|
|
52
|
-
},
|
|
53
|
-
async processOutputResult({ messages }) {
|
|
54
|
-
console.log('Output:', messages.length, 'messages');
|
|
55
|
-
return messages;
|
|
56
|
-
},
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
const model = withMastra(openai('gpt-4o'), {
|
|
60
|
-
inputProcessors: [loggingProcessor],
|
|
61
|
-
outputProcessors: [loggingProcessor],
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
const { text } = await generateText({
|
|
65
|
-
model,
|
|
66
|
-
prompt: 'What is 2 + 2?',
|
|
67
|
-
});
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
### With Memory
|
|
71
|
-
|
|
72
|
-
Memory automatically loads previous messages from storage before the LLM call and saves new messages after. This example configures a libSQL storage backend to persist conversation history, loading the last 10 messages for context.
|
|
73
|
-
|
|
74
|
-
```typescript
|
|
75
|
-
import { openai } from '@ai-sdk/openai';
|
|
76
|
-
import { generateText } from 'ai';
|
|
77
|
-
import { withMastra } from '@mastra/ai-sdk';
|
|
78
|
-
import { LibSQLStore } from '@mastra/libsql';
|
|
79
|
-
|
|
80
|
-
const storage = new LibSQLStore({
|
|
81
|
-
id: 'my-app',
|
|
82
|
-
url: 'file:./data.db',
|
|
83
|
-
});
|
|
84
|
-
await storage.init();
|
|
85
|
-
|
|
86
|
-
const memoryStorage = await storage.getStore('memory');
|
|
87
|
-
|
|
88
|
-
const model = withMastra(openai('gpt-4o'), {
|
|
89
|
-
memory: {
|
|
90
|
-
storage: memoryStorage!,
|
|
91
|
-
threadId: 'user-thread-123',
|
|
92
|
-
resourceId: 'user-123',
|
|
93
|
-
lastMessages: 10,
|
|
94
|
-
},
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
const { text } = await generateText({
|
|
98
|
-
model,
|
|
99
|
-
prompt: 'What did we talk about earlier?',
|
|
100
|
-
});
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
### With Processors & Memory
|
|
104
|
-
|
|
105
|
-
You can combine processors and memory together. Input processors run after memory loads historical messages, and output processors run before memory saves the response.
|
|
106
|
-
|
|
107
|
-
```typescript
|
|
108
|
-
import { openai } from '@ai-sdk/openai';
|
|
109
|
-
import { generateText } from 'ai';
|
|
110
|
-
import { withMastra } from '@mastra/ai-sdk';
|
|
111
|
-
import { LibSQLStore } from '@mastra/libsql';
|
|
112
|
-
|
|
113
|
-
const storage = new LibSQLStore({ id: 'my-app', url: 'file:./data.db' });
|
|
114
|
-
await storage.init();
|
|
115
|
-
|
|
116
|
-
const memoryStorage = await storage.getStore('memory');
|
|
117
|
-
|
|
118
|
-
const model = withMastra(openai('gpt-4o'), {
|
|
119
|
-
inputProcessors: [myGuardProcessor],
|
|
120
|
-
outputProcessors: [myLoggingProcessor],
|
|
121
|
-
memory: {
|
|
122
|
-
storage: memoryStorage!,
|
|
123
|
-
threadId: 'thread-123',
|
|
124
|
-
resourceId: 'user-123',
|
|
125
|
-
lastMessages: 10,
|
|
126
|
-
},
|
|
127
|
-
});
|
|
128
|
-
|
|
129
|
-
const { text } = await generateText({
|
|
130
|
-
model,
|
|
131
|
-
prompt: 'Hello!',
|
|
132
|
-
});
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
## Related
|
|
136
|
-
|
|
137
|
-
- [`withMastra()`](https://mastra.ai/reference/ai-sdk/with-mastra) - API reference for `withMastra()`
|
|
138
|
-
- [Processors](https://mastra.ai/docs/agents/processors) - Learn about input and output processors
|
|
139
|
-
- [Memory](https://mastra.ai/docs/memory/overview) - Overview of Mastra's memory system
|
|
140
|
-
- [AI SDK UI](https://mastra.ai/guides/build-your-ui/ai-sdk-ui) - Using AI SDK UI hooks with Mastra agents, workflows, and networks
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
# Agent Class
|
|
2
|
-
|
|
3
|
-
The `Agent` class is the foundation for creating AI agents in Mastra. It provides methods for generating responses, streaming interactions, and handling voice capabilities.
|
|
4
|
-
|
|
5
|
-
## Usage examples
|
|
6
|
-
|
|
7
|
-
### Basic string instructions
|
|
8
|
-
|
|
9
|
-
```typescript
|
|
10
|
-
import { Agent } from "@mastra/core/agent";
|
|
11
|
-
|
|
12
|
-
// String instructions
|
|
13
|
-
export const agent = new Agent({
|
|
14
|
-
id: "test-agent",
|
|
15
|
-
name: "Test Agent",
|
|
16
|
-
instructions: "You are a helpful assistant that provides concise answers.",
|
|
17
|
-
model: "openai/gpt-5.1",
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
// System message object
|
|
21
|
-
export const agent2 = new Agent({
|
|
22
|
-
id: "test-agent-2",
|
|
23
|
-
name: "Test Agent 2",
|
|
24
|
-
instructions: {
|
|
25
|
-
role: "system",
|
|
26
|
-
content: "You are an expert programmer",
|
|
27
|
-
},
|
|
28
|
-
model: "openai/gpt-5.1",
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
// Array of system messages
|
|
32
|
-
export const agent3 = new Agent({
|
|
33
|
-
id: "test-agent-3",
|
|
34
|
-
name: "Test Agent 3",
|
|
35
|
-
instructions: [
|
|
36
|
-
{ role: "system", content: "You are a helpful assistant" },
|
|
37
|
-
{ role: "system", content: "You have expertise in TypeScript" },
|
|
38
|
-
],
|
|
39
|
-
model: "openai/gpt-5.1",
|
|
40
|
-
});
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
### Single CoreSystemMessage
|
|
44
|
-
|
|
45
|
-
Use CoreSystemMessage format to access additional properties like `providerOptions` for provider-specific configurations:
|
|
46
|
-
|
|
47
|
-
```typescript
|
|
48
|
-
import { Agent } from "@mastra/core/agent";
|
|
49
|
-
|
|
50
|
-
export const agent = new Agent({
|
|
51
|
-
id: "core-message-agent",
|
|
52
|
-
name: "Core Message Agent",
|
|
53
|
-
instructions: {
|
|
54
|
-
role: "system",
|
|
55
|
-
content:
|
|
56
|
-
"You are a helpful assistant specialized in technical documentation.",
|
|
57
|
-
providerOptions: {
|
|
58
|
-
openai: {
|
|
59
|
-
reasoningEffort: "low",
|
|
60
|
-
},
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
|
-
model: "openai/gpt-5.1",
|
|
64
|
-
});
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
### Multiple CoreSystemMessages
|
|
68
|
-
|
|
69
|
-
```typescript
|
|
70
|
-
import { Agent } from "@mastra/core/agent";
|
|
71
|
-
|
|
72
|
-
// This could be customizable based on the user
|
|
73
|
-
const preferredTone = {
|
|
74
|
-
role: "system",
|
|
75
|
-
content: "Always maintain a professional and empathetic tone.",
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
export const agent = new Agent({
|
|
79
|
-
id: "multi-message-agent",
|
|
80
|
-
name: "Multi Message Agent",
|
|
81
|
-
instructions: [
|
|
82
|
-
{ role: "system", content: "You are a customer service representative." },
|
|
83
|
-
preferredTone,
|
|
84
|
-
{
|
|
85
|
-
role: "system",
|
|
86
|
-
content: "Escalate complex issues to human agents when needed.",
|
|
87
|
-
providerOptions: {
|
|
88
|
-
anthropic: { cacheControl: { type: "ephemeral" } },
|
|
89
|
-
},
|
|
90
|
-
},
|
|
91
|
-
],
|
|
92
|
-
model: "anthropic/claude-sonnet-4-20250514",
|
|
93
|
-
});
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
## Constructor parameters
|
|
97
|
-
|
|
98
|
-
**id?:** (`string`): Unique identifier for the agent. Defaults to \`name\` if not provided.
|
|
99
|
-
|
|
100
|
-
**name:** (`string`): Display name for the agent. Used as the identifier if \`id\` is not provided.
|
|
101
|
-
|
|
102
|
-
**description?:** (`string`): Optional description of the agent's purpose and capabilities.
|
|
103
|
-
|
|
104
|
-
**instructions:** (`SystemMessage | ({ requestContext: RequestContext }) => SystemMessage | Promise<SystemMessage>`): Instructions that guide the agent's behavior. Can be a string, array of strings, system message object, array of system messages, or a function that returns any of these types dynamically. SystemMessage types: string | string\[] | CoreSystemMessage | CoreSystemMessage\[] | SystemModelMessage | SystemModelMessage\[]
|
|
105
|
-
|
|
106
|
-
**model:** (`MastraLanguageModel | ({ requestContext: RequestContext }) => MastraLanguageModel | Promise<MastraLanguageModel>`): The language model used by the agent. Can be provided statically or resolved at runtime.
|
|
107
|
-
|
|
108
|
-
**agents?:** (`Record<string, Agent> | ({ requestContext: RequestContext }) => Record<string, Agent> | Promise<Record<string, Agent>>`): Sub-Agents that the agent can access. Can be provided statically or resolved dynamically.
|
|
109
|
-
|
|
110
|
-
**tools?:** (`ToolsInput | ({ requestContext: RequestContext }) => ToolsInput | Promise<ToolsInput>`): Tools that the agent can access. Can be provided statically or resolved dynamically.
|
|
111
|
-
|
|
112
|
-
**workflows?:** (`Record<string, Workflow> | ({ requestContext: RequestContext }) => Record<string, Workflow> | Promise<Record<string, Workflow>>`): Workflows that the agent can execute. Can be static or dynamically resolved.
|
|
113
|
-
|
|
114
|
-
**defaultOptions?:** (`AgentExecutionOptions | ({ requestContext: RequestContext }) => AgentExecutionOptions | Promise<AgentExecutionOptions>`): Default options used when calling \`stream()\` and \`generate()\`.
|
|
115
|
-
|
|
116
|
-
**defaultGenerateOptionsLegacy?:** (`AgentGenerateOptions | ({ requestContext: RequestContext }) => AgentGenerateOptions | Promise<AgentGenerateOptions>`): Default options used when calling \`generateLegacy()\`.
|
|
117
|
-
|
|
118
|
-
**defaultStreamOptionsLegacy?:** (`AgentStreamOptions | ({ requestContext: RequestContext }) => AgentStreamOptions | Promise<AgentStreamOptions>`): Default options used when calling \`streamLegacy()\`.
|
|
119
|
-
|
|
120
|
-
**mastra?:** (`Mastra`): Reference to the Mastra runtime instance (injected automatically).
|
|
121
|
-
|
|
122
|
-
**scorers?:** (`MastraScorers | ({ requestContext: RequestContext }) => MastraScorers | Promise<MastraScorers>`): Scoring configuration for runtime evaluation and telemetry. Can be static or dynamically provided.
|
|
123
|
-
|
|
124
|
-
**memory?:** (`MastraMemory | ({ requestContext: RequestContext }) => MastraMemory | Promise<MastraMemory>`): Memory module used for storing and retrieving stateful context.
|
|
125
|
-
|
|
126
|
-
**voice?:** (`CompositeVoice`): Voice settings for speech input and output.
|
|
127
|
-
|
|
128
|
-
**inputProcessors?:** (`(Processor | ProcessorWorkflow)[] | ({ requestContext: RequestContext }) => (Processor | ProcessorWorkflow)[] | Promise<(Processor | ProcessorWorkflow)[]>`): Input processors that can modify or validate messages before they are processed by the agent. Can be individual Processor objects or workflows created with \`createWorkflow()\` using ProcessorStepSchema.
|
|
129
|
-
|
|
130
|
-
**outputProcessors?:** (`(Processor | ProcessorWorkflow)[] | ({ requestContext: RequestContext }) => (Processor | ProcessorWorkflow)[] | Promise<(Processor | ProcessorWorkflow)[]>`): Output processors that can modify or validate messages from the agent before they are sent to the client. Can be individual Processor objects or workflows.
|
|
131
|
-
|
|
132
|
-
**maxProcessorRetries?:** (`number`): Maximum number of times a processor can request retrying the LLM step.
|
|
133
|
-
|
|
134
|
-
**requestContextSchema?:** (`z.ZodType<any>`): Zod schema for validating request context values. When provided, the context is validated at the start of generate() or stream(), throwing a MastraError if validation fails.
|
|
135
|
-
|
|
136
|
-
## Returns
|
|
137
|
-
|
|
138
|
-
**agent:** (`Agent<TAgentId, TTools>`): A new Agent instance with the specified configuration.
|
|
139
|
-
|
|
140
|
-
## Related
|
|
141
|
-
|
|
142
|
-
- [Agents overview](https://mastra.ai/docs/agents/overview)
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
# Agent.generate()
|
|
2
|
-
|
|
3
|
-
The `.generate()` method enables non-streaming response generation from an agent with enhanced capabilities. It accepts messages and optional generation options.
|
|
4
|
-
|
|
5
|
-
## Usage example
|
|
6
|
-
|
|
7
|
-
```typescript
|
|
8
|
-
// Basic usage
|
|
9
|
-
const result = await agent.generate("message for agent");
|
|
10
|
-
|
|
11
|
-
// With model settings (e.g., limiting output tokens)
|
|
12
|
-
const limitedResult = await agent.generate("Write a short poem about coding", {
|
|
13
|
-
modelSettings: {
|
|
14
|
-
maxOutputTokens: 50,
|
|
15
|
-
temperature: 0.7,
|
|
16
|
-
},
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
// With structured output
|
|
20
|
-
const structuredResult = await agent.generate("Extract the user's name and age", {
|
|
21
|
-
structuredOutput: {
|
|
22
|
-
schema: z.object({
|
|
23
|
-
name: z.string(),
|
|
24
|
-
age: z.number(),
|
|
25
|
-
}),
|
|
26
|
-
},
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
// With memory for conversation persistence
|
|
30
|
-
const memoryResult = await agent.generate("Remember my favorite color is blue", {
|
|
31
|
-
memory: {
|
|
32
|
-
thread: "user-123-thread",
|
|
33
|
-
resource: "user-123",
|
|
34
|
-
},
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
// Accessing response headers
|
|
38
|
-
const result = await agent.generate("Hello!");
|
|
39
|
-
const remainingRequests = result.response?.headers?.["anthropic-ratelimit-requests-remaining"];
|
|
40
|
-
const remainingTokens = result.response?.headers?.["x-ratelimit-remaining-tokens"];
|
|
41
|
-
console.log(`Remaining requests: ${remainingRequests}, Remaining tokens: ${remainingTokens}`);
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
> **Info:** **Model Compatibility**: This method requires AI SDK v5+ models. If you're using AI SDK v4 models, use the [`.generateLegacy()`](https://mastra.ai/reference/agents/generateLegacy) method instead. The framework automatically detects your model version and will throw an error if there's a mismatch.
|
|
45
|
-
|
|
46
|
-
## Parameters
|
|
47
|
-
|
|
48
|
-
**messages:** (`string | string[] | CoreMessage[] | AiMessageType[] | UIMessageWithMetadata[]`): The messages to send to the agent. Can be a single string, array of strings, or structured message objects.
|
|
49
|
-
|
|
50
|
-
**options?:** (`AgentExecutionOptions<Output, Format>`): Optional configuration for the generation process.
|
|
51
|
-
|
|
52
|
-
### Options
|
|
53
|
-
|
|
54
|
-
**maxSteps?:** (`number`): Maximum number of steps to run during execution.
|
|
55
|
-
|
|
56
|
-
**stopWhen?:** (`LoopOptions['stopWhen']`): Conditions for stopping execution (e.g., step count, token limit).
|
|
57
|
-
|
|
58
|
-
**scorers?:** (`MastraScorers | Record<string, { scorer: MastraScorer['name']; sampling?: ScoringSamplingConfig }>`): scorer:stringName of the scorer to use.sampling?:ScoringSamplingConfigSampling configuration for the scorer.type:'none' | 'ratio'Type of sampling strategy. Use 'none' to disable sampling or 'ratio' for percentage-based sampling.rate?:numberSampling rate (0-1). Required when type is 'ratio'.
|
|
59
|
-
|
|
60
|
-
**returnScorerData?:** (`boolean`): Whether to return detailed scoring data in the response.
|
|
61
|
-
|
|
62
|
-
**onChunk?:** (`(chunk: ChunkType) => Promise<void> | void`): Callback function called for each chunk during generation.
|
|
63
|
-
|
|
64
|
-
**onError?:** (`({ error }: { error: Error | string }) => Promise<void> | void`): Callback function called when an error occurs during generation.
|
|
65
|
-
|
|
66
|
-
**onAbort?:** (`(event: any) => Promise<void> | void`): Callback function called when the generation is aborted.
|
|
67
|
-
|
|
68
|
-
**activeTools?:** (`Array<keyof ToolSet> | undefined`): Array of tool names that should be active during execution. If undefined, all available tools are active.
|
|
69
|
-
|
|
70
|
-
**abortSignal?:** (`AbortSignal`): Signal object that allows you to abort the agent's execution. When the signal is aborted, all ongoing operations will be terminated.
|
|
71
|
-
|
|
72
|
-
**prepareStep?:** (`PrepareStepFunction`): Callback function called before each step of multi-step execution.
|
|
73
|
-
|
|
74
|
-
**requireToolApproval?:** (`boolean`): When true, all tool calls require explicit approval before execution. The generate() method will return with \`finishReason: 'suspended'\` and include a \`suspendPayload\` with tool call details (\`toolCallId\`, \`toolName\`, \`args\`). Use \`approveToolCallGenerate()\` or \`declineToolCallGenerate()\` to proceed. See \[Agent Approval]\(/docs/agents/agent-approval#tool-approval-with-generate) for details.
|
|
75
|
-
|
|
76
|
-
**autoResumeSuspendedTools?:** (`boolean`): When true, automatically resumes suspended tools when the user sends a new message on the same thread. The agent extracts \`resumeData\` from the user's message based on the tool's \`resumeSchema\`. Requires memory to be configured.
|
|
77
|
-
|
|
78
|
-
**toolCallConcurrency?:** (`number`): Maximum number of tool calls to execute concurrently. Defaults to 1 when approval may be required, otherwise 10.
|
|
79
|
-
|
|
80
|
-
**context?:** (`ModelMessage[]`): Additional context messages to provide to the agent.
|
|
81
|
-
|
|
82
|
-
**structuredOutput?:** (`StructuredOutputOptions<S extends ZodTypeAny = ZodTypeAny>`): schema:z.ZodSchema\<S>Zod schema defining the expected output structure.model?:MastraLanguageModelLanguage model to use for structured output generation. If provided, enables the agent to respond in multi step with tool calls, text, and structured outputerrorStrategy?:'strict' | 'warn' | 'fallback'Strategy for handling schema validation errors. 'strict' throws errors, 'warn' logs warnings, 'fallback' uses fallback values.fallbackValue?:\<S extends ZodTypeAny>Fallback value to use when schema validation fails and errorStrategy is 'fallback'.instructions?:stringAdditional instructions for the structured output model.jsonPromptInjection?:booleanInjects system prompt into the main agent instructing it to return structured output, useful for when a model does not natively support structured outputs.logger?:IMastraLoggerOptional logger instance for structured logging during output generation.providerOptions?:ProviderOptionsProvider-specific options passed to the internal structuring agent. Use this to control model behavior like reasoning effort for thinking models (e.g., \`{ openai: { reasoningEffort: 'low' } }\`).
|
|
83
|
-
|
|
84
|
-
**outputProcessors?:** (`OutputProcessorOrWorkflow[]`): Output processors to use for this execution (overrides agent's default).
|
|
85
|
-
|
|
86
|
-
**maxProcessorRetries?:** (`number`): Maximum number of times processors can trigger a retry for this generation. Overrides agent's default maxProcessorRetries.
|
|
87
|
-
|
|
88
|
-
**inputProcessors?:** (`InputProcessorOrWorkflow[]`): Input processors to use for this execution (overrides agent's default).
|
|
89
|
-
|
|
90
|
-
**instructions?:** (`string | string[] | CoreSystemMessage | SystemModelMessage | CoreSystemMessage[] | SystemModelMessage[]`): Custom instructions that override the agent's default instructions for this execution. Can be a single string, message object, or array of either.
|
|
91
|
-
|
|
92
|
-
**system?:** (`string | string[] | CoreSystemMessage | SystemModelMessage | CoreSystemMessage[] | SystemModelMessage[]`): Custom system message(s) to include in the prompt. Can be a single string, message object, or array of either. System messages provide additional context or behavior instructions that supplement the agent's main instructions.
|
|
93
|
-
|
|
94
|
-
**output?:** (`Zod schema | JsonSchema7`): \*\*Deprecated.\*\* Use structuredOutput without a model to achieve the same thing. Defines the expected structure of the output. Can be a JSON Schema object or a Zod schema.
|
|
95
|
-
|
|
96
|
-
**memory?:** (`object`): thread:string | { id: string; metadata?: Record\<string, any>, title?: string }Thread identifier for conversation continuity. Can be a string ID or an object with ID and optional metadata/title.resource:stringResource identifier for organizing conversations by user, session, or context.options?:MemoryConfigAdditional memory configuration options including lastMessages, readOnly, semanticRecall, and workingMemory.
|
|
97
|
-
|
|
98
|
-
**onFinish?:** (`LoopConfig['onFinish']`): Callback fired when generation completes.
|
|
99
|
-
|
|
100
|
-
**onStepFinish?:** (`LoopConfig['onStepFinish']`): Callback fired after each generation step.
|
|
101
|
-
|
|
102
|
-
**telemetry?:** (`TelemetrySettings`): isEnabled?:booleanWhether telemetry collection is enabled.recordInputs?:booleanWhether to record input data in telemetry.recordOutputs?:booleanWhether to record output data in telemetry.functionId?:stringIdentifier for the function being executed.
|
|
103
|
-
|
|
104
|
-
**modelSettings?:** (`CallSettings`): temperature?:numberControls randomness in generation (0-2). Higher values make output more random.maxOutputTokens?:numberMaximum number of tokens to generate in the response. Note: Use maxOutputTokens (not maxTokens) as per AI SDK v5 convention.maxRetries?:numberMaximum number of retry attempts for failed requests.topP?:numberNucleus sampling parameter (0-1). Controls diversity of generated text.topK?:numberTop-k sampling parameter. Limits vocabulary to k most likely tokens.presencePenalty?:numberPenalty for token presence (-2 to 2). Reduces repetition.frequencyPenalty?:numberPenalty for token frequency (-2 to 2). Reduces repetition of frequent tokens.stopSequences?:string\[]Stop sequences. If set, the model will stop generating text when one of the stop sequences is generated.
|
|
105
|
-
|
|
106
|
-
**toolChoice?:** (`'auto' | 'none' | 'required' | { type: 'tool'; toolName: string }`): 'auto':stringLet the model decide when to use tools (default).'none':stringDisable tool usage entirely.'required':stringForce the model to use at least one tool.{ type: 'tool'; toolName: string }:objectForce the model to use a specific tool.
|
|
107
|
-
|
|
108
|
-
**toolsets?:** (`ToolsetsInput`): Additional tool sets that can be used for this execution.
|
|
109
|
-
|
|
110
|
-
**clientTools?:** (`ToolsInput`): Client-side tools available during execution.
|
|
111
|
-
|
|
112
|
-
**savePerStep?:** (`boolean`): Save messages incrementally after each generation step completes (default: false).
|
|
113
|
-
|
|
114
|
-
**providerOptions?:** (`Record<string, Record<string, JSONValue>>`): openai?:Record\<string, JSONValue>OpenAI-specific options like reasoningEffort, responseFormat, etc.anthropic?:Record\<string, JSONValue>Anthropic-specific options like maxTokens, etc.google?:Record\<string, JSONValue>Google-specific options.\[providerName]?:Record\<string, JSONValue>Any provider-specific options.
|
|
115
|
-
|
|
116
|
-
**runId?:** (`string`): Unique identifier for this execution run.
|
|
117
|
-
|
|
118
|
-
**requestContext?:** (`RequestContext`): Request Context containing dynamic configuration and state.
|
|
119
|
-
|
|
120
|
-
**tracingContext?:** (`TracingContext`): currentSpan?:SpanCurrent span for creating child spans and adding metadata. Use this to create custom child spans or update span attributes during execution.
|
|
121
|
-
|
|
122
|
-
**tracingOptions?:** (`TracingOptions`): metadata?:Record\<string, any>Metadata to add to the root trace span. Useful for adding custom attributes like user IDs, session IDs, or feature flags.requestContextKeys?:string\[]Additional RequestContext keys to extract as metadata for this trace. Supports dot notation for nested values (e.g., 'user.id').traceId?:stringTrace ID to use for this execution (1-32 hexadecimal characters). If provided, this trace will be part of the specified trace.parentSpanId?:stringParent span ID to use for this execution (1-16 hexadecimal characters). If provided, the root span will be created as a child of this span.tags?:string\[]Tags to apply to this trace. String labels for categorizing and filtering traces.
|
|
123
|
-
|
|
124
|
-
**includeRawChunks?:** (`boolean`): Whether to include raw chunks in the stream output. Not available on all model providers.
|
|
125
|
-
|
|
126
|
-
## Returns
|
|
127
|
-
|
|
128
|
-
**result:** (`Awaited<ReturnType<MastraModelOutput<Output>['getFullOutput']>>`): Returns the full output of the generation process including text, object (if structured output), tool calls, tool results, usage statistics, and step information.
|
|
129
|
-
|
|
130
|
-
**text:** (`string`): The generated text response from the agent.
|
|
131
|
-
|
|
132
|
-
**object?:** (`Output | undefined`): The structured output object if structuredOutput was provided, validated against the schema.
|
|
133
|
-
|
|
134
|
-
**toolCalls:** (`ToolCall[]`): Array of tool calls made during generation.
|
|
135
|
-
|
|
136
|
-
**toolResults:** (`ToolResult[]`): Array of results from tool executions.
|
|
137
|
-
|
|
138
|
-
**usage:** (`TokenUsage`): Token usage statistics for the generation.
|
|
139
|
-
|
|
140
|
-
**steps:** (`Step[]`): Array of execution steps, useful for debugging multi-step generations.
|
|
141
|
-
|
|
142
|
-
**finishReason:** (`string`): The reason generation finished. Values include 'stop' (normal completion), 'tool-calls' (ended with tool calls), 'suspended' (waiting for tool approval), or 'error' (error occurred).
|
|
143
|
-
|
|
144
|
-
**response:** (`object`): id?:stringResponse ID from the model provider.timestamp?:DateTimestamp when the response was generated.modelId?:stringModel identifier used for this response.headers?:Record\<string, string>HTTP response headers from the model provider. Contains rate limit information (e.g., \`anthropic-ratelimit-requests-remaining\`, \`x-ratelimit-remaining-tokens\`) and other provider-specific metadata.messages?:ResponseMessage\[]Response messages in model format.uiMessages?:UIMessage\[]Response messages in UI format, includes any metadata added by output processors.
|
|
145
|
-
|
|
146
|
-
**request?:** (`object`): body?:unknownThe request body sent to the model provider.
|
|
147
|
-
|
|
148
|
-
**warnings?:** (`LanguageModelWarning[]`): Any warnings from the model provider during generation.
|
|
149
|
-
|
|
150
|
-
**providerMetadata?:** (`Record<string, unknown>`): Provider-specific metadata returned with the response.
|
|
151
|
-
|
|
152
|
-
**reasoning?:** (`ReasoningChunk[]`): Reasoning details from models that support reasoning (e.g., OpenAI o1 series).
|
|
153
|
-
|
|
154
|
-
**reasoningText?:** (`string`): Combined reasoning text from reasoning models.
|
|
155
|
-
|
|
156
|
-
**sources?:** (`SourceChunk[]`): Sources referenced by the model during generation.
|
|
157
|
-
|
|
158
|
-
**files?:** (`FileChunk[]`): Files generated by the model.
|
|
159
|
-
|
|
160
|
-
**suspendPayload?:** (`object`): toolCallId:stringUnique identifier for the pending tool call.toolName:stringName of the tool that requires approval.args:Record\<string, any>Arguments that will be passed to the tool.
|
|
161
|
-
|
|
162
|
-
**runId?:** (`string`): Unique identifier for this execution run. Required when calling \`approveToolCallGenerate()\` or \`declineToolCallGenerate()\` to resume a suspended execution.
|
|
163
|
-
|
|
164
|
-
**traceId?:** (`string`): The trace ID associated with this execution when Tracing is enabled. Use this to correlate logs and debug execution flow.
|
|
165
|
-
|
|
166
|
-
**messages:** (`MastraDBMessage[]`): All messages from this execution including input, memory history, and response.
|
|
167
|
-
|
|
168
|
-
**rememberedMessages:** (`MastraDBMessage[]`): Only messages loaded from memory (conversation history).
|
|
169
|
-
|
|
170
|
-
**error?:** (`Error`): Error object if the generation failed.
|
|
171
|
-
|
|
172
|
-
**tripwire?:** (`StepTripwireData`): Tripwire data if content was blocked by a processor.
|
|
173
|
-
|
|
174
|
-
**scoringData?:** (`object`): Scoring data for evals when \`returnScorerData\` is enabled.
|