@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,267 +0,0 @@
|
|
|
1
|
-
# Custom API Routes
|
|
2
|
-
|
|
3
|
-
By default, Mastra automatically exposes registered agents and workflows via its server. For additional behavior you can define your own HTTP routes.
|
|
4
|
-
|
|
5
|
-
Routes are provided with a helper `registerApiRoute()` from `@mastra/core/server`. Routes can live in the same file as the `Mastra` instance but separating them helps keep configuration concise.
|
|
6
|
-
|
|
7
|
-
```typescript
|
|
8
|
-
import { Mastra } from "@mastra/core";
|
|
9
|
-
import { registerApiRoute } from "@mastra/core/server";
|
|
10
|
-
|
|
11
|
-
export const mastra = new Mastra({
|
|
12
|
-
server: {
|
|
13
|
-
apiRoutes: [
|
|
14
|
-
registerApiRoute("/my-custom-route", {
|
|
15
|
-
method: "GET",
|
|
16
|
-
handler: async (c) => {
|
|
17
|
-
const mastra = c.get("mastra");
|
|
18
|
-
const agent = await mastra.getAgent("my-agent");
|
|
19
|
-
|
|
20
|
-
return c.json({ message: "Custom route" });
|
|
21
|
-
},
|
|
22
|
-
}),
|
|
23
|
-
],
|
|
24
|
-
},
|
|
25
|
-
});
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
Once registered, a custom route will be accessible from the root of the server. For example:
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
curl http://localhost:4111/my-custom-route
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Each route's handler receives the Hono `Context`. Within the handler you can access the `Mastra` instance to fetch or call agents and workflows.
|
|
35
|
-
|
|
36
|
-
## Middleware
|
|
37
|
-
|
|
38
|
-
To add route-specific middleware pass a `middleware` array when calling `registerApiRoute()`.
|
|
39
|
-
|
|
40
|
-
```typescript
|
|
41
|
-
import { Mastra } from "@mastra/core";
|
|
42
|
-
import { registerApiRoute } from "@mastra/core/server";
|
|
43
|
-
|
|
44
|
-
export const mastra = new Mastra({
|
|
45
|
-
server: {
|
|
46
|
-
apiRoutes: [
|
|
47
|
-
registerApiRoute("/my-custom-route", {
|
|
48
|
-
method: "GET",
|
|
49
|
-
middleware: [
|
|
50
|
-
async (c, next) => {
|
|
51
|
-
console.log(`${c.req.method} ${c.req.url}`);
|
|
52
|
-
await next();
|
|
53
|
-
},
|
|
54
|
-
],
|
|
55
|
-
handler: async (c) => {
|
|
56
|
-
return c.json({ message: "Custom route with middleware" });
|
|
57
|
-
},
|
|
58
|
-
}),
|
|
59
|
-
],
|
|
60
|
-
},
|
|
61
|
-
});
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
## OpenAPI Documentation
|
|
65
|
-
|
|
66
|
-
Custom routes can include OpenAPI metadata to appear in the Swagger UI alongside Mastra server routes. Pass an `openapi` option with standard OpenAPI operation fields.
|
|
67
|
-
|
|
68
|
-
```typescript
|
|
69
|
-
import { Mastra } from "@mastra/core";
|
|
70
|
-
import { registerApiRoute } from "@mastra/core/server";
|
|
71
|
-
import { z } from "zod";
|
|
72
|
-
|
|
73
|
-
export const mastra = new Mastra({
|
|
74
|
-
server: {
|
|
75
|
-
apiRoutes: [
|
|
76
|
-
registerApiRoute("/items/:itemId", {
|
|
77
|
-
method: "GET",
|
|
78
|
-
openapi: {
|
|
79
|
-
summary: "Get item by ID",
|
|
80
|
-
description: "Retrieves a single item by its unique identifier",
|
|
81
|
-
tags: ["Items"],
|
|
82
|
-
parameters: [
|
|
83
|
-
{
|
|
84
|
-
name: "itemId",
|
|
85
|
-
in: "path",
|
|
86
|
-
required: true,
|
|
87
|
-
description: "The item ID",
|
|
88
|
-
schema: { type: "string" },
|
|
89
|
-
},
|
|
90
|
-
],
|
|
91
|
-
responses: {
|
|
92
|
-
200: {
|
|
93
|
-
description: "Item found",
|
|
94
|
-
content: {
|
|
95
|
-
"application/json": {
|
|
96
|
-
schema: {
|
|
97
|
-
type: "object",
|
|
98
|
-
properties: {
|
|
99
|
-
id: { type: "string" },
|
|
100
|
-
name: { type: "string" },
|
|
101
|
-
},
|
|
102
|
-
},
|
|
103
|
-
},
|
|
104
|
-
},
|
|
105
|
-
},
|
|
106
|
-
404: {
|
|
107
|
-
description: "Item not found",
|
|
108
|
-
},
|
|
109
|
-
},
|
|
110
|
-
},
|
|
111
|
-
handler: async (c) => {
|
|
112
|
-
const itemId = c.req.param("itemId");
|
|
113
|
-
return c.json({ id: itemId, name: "Example Item" });
|
|
114
|
-
},
|
|
115
|
-
}),
|
|
116
|
-
],
|
|
117
|
-
},
|
|
118
|
-
});
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
### Using Zod Schemas
|
|
122
|
-
|
|
123
|
-
Zod schemas in the `openapi` configuration are converted to JSON Schema when the OpenAPI document is generated:
|
|
124
|
-
|
|
125
|
-
```typescript
|
|
126
|
-
import { Mastra } from "@mastra/core";
|
|
127
|
-
import { registerApiRoute } from "@mastra/core/server";
|
|
128
|
-
import { z } from "zod";
|
|
129
|
-
|
|
130
|
-
const ItemSchema = z.object({
|
|
131
|
-
id: z.string(),
|
|
132
|
-
name: z.string(),
|
|
133
|
-
price: z.number(),
|
|
134
|
-
});
|
|
135
|
-
|
|
136
|
-
const CreateItemSchema = z.object({
|
|
137
|
-
name: z.string().min(1),
|
|
138
|
-
price: z.number().positive(),
|
|
139
|
-
});
|
|
140
|
-
|
|
141
|
-
export const mastra = new Mastra({
|
|
142
|
-
server: {
|
|
143
|
-
apiRoutes: [
|
|
144
|
-
registerApiRoute("/items", {
|
|
145
|
-
method: "POST",
|
|
146
|
-
openapi: {
|
|
147
|
-
summary: "Create a new item",
|
|
148
|
-
tags: ["Items"],
|
|
149
|
-
requestBody: {
|
|
150
|
-
required: true,
|
|
151
|
-
content: {
|
|
152
|
-
"application/json": {
|
|
153
|
-
schema: CreateItemSchema,
|
|
154
|
-
},
|
|
155
|
-
},
|
|
156
|
-
},
|
|
157
|
-
responses: {
|
|
158
|
-
201: {
|
|
159
|
-
description: "Item created",
|
|
160
|
-
content: {
|
|
161
|
-
"application/json": {
|
|
162
|
-
schema: ItemSchema,
|
|
163
|
-
},
|
|
164
|
-
},
|
|
165
|
-
},
|
|
166
|
-
},
|
|
167
|
-
},
|
|
168
|
-
handler: async (c) => {
|
|
169
|
-
const body = await c.req.json();
|
|
170
|
-
return c.json({ id: "new-id", ...body }, 201);
|
|
171
|
-
},
|
|
172
|
-
}),
|
|
173
|
-
],
|
|
174
|
-
},
|
|
175
|
-
});
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
### Viewing in Swagger UI
|
|
179
|
-
|
|
180
|
-
When running in development mode (`mastra dev`) or with `swaggerUI: true` in build options, your custom routes appear in the Swagger UI at `/swagger-ui`.
|
|
181
|
-
|
|
182
|
-
```typescript
|
|
183
|
-
export const mastra = new Mastra({
|
|
184
|
-
server: {
|
|
185
|
-
build: {
|
|
186
|
-
swaggerUI: true, // Enable in production builds
|
|
187
|
-
},
|
|
188
|
-
apiRoutes: [
|
|
189
|
-
// Your routes...
|
|
190
|
-
],
|
|
191
|
-
},
|
|
192
|
-
});
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
## Authentication
|
|
196
|
-
|
|
197
|
-
When authentication is configured on your Mastra server, custom API routes require authentication by default. To make a route publicly accessible, set `requiresAuth: false`:
|
|
198
|
-
|
|
199
|
-
```typescript
|
|
200
|
-
import { Mastra } from "@mastra/core";
|
|
201
|
-
import { registerApiRoute } from "@mastra/core/server";
|
|
202
|
-
import { MastraJwtAuth } from "@mastra/auth";
|
|
203
|
-
|
|
204
|
-
export const mastra = new Mastra({
|
|
205
|
-
server: {
|
|
206
|
-
auth: new MastraJwtAuth({
|
|
207
|
-
secret: process.env.MASTRA_JWT_SECRET,
|
|
208
|
-
}),
|
|
209
|
-
apiRoutes: [
|
|
210
|
-
// Protected route (default behavior)
|
|
211
|
-
registerApiRoute("/protected-data", {
|
|
212
|
-
method: "GET",
|
|
213
|
-
handler: async (c) => {
|
|
214
|
-
// Access authenticated user from request context
|
|
215
|
-
const user = c.get("requestContext").get("user");
|
|
216
|
-
return c.json({ message: "Authenticated user", user });
|
|
217
|
-
},
|
|
218
|
-
}),
|
|
219
|
-
|
|
220
|
-
// Public route (no authentication required)
|
|
221
|
-
registerApiRoute("/webhooks/github", {
|
|
222
|
-
method: "POST",
|
|
223
|
-
requiresAuth: false, // Explicitly opt out of authentication
|
|
224
|
-
handler: async (c) => {
|
|
225
|
-
const payload = await c.req.json();
|
|
226
|
-
// Process webhook without authentication
|
|
227
|
-
return c.json({ received: true });
|
|
228
|
-
},
|
|
229
|
-
}),
|
|
230
|
-
],
|
|
231
|
-
},
|
|
232
|
-
});
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
### Authentication behavior
|
|
236
|
-
|
|
237
|
-
- **No auth configured**: All routes (built-in and custom) are public
|
|
238
|
-
|
|
239
|
-
- **Auth configured**:
|
|
240
|
-
|
|
241
|
-
- Mastra-provided routes (`/api/agents/*`, `/api/workflows/*`, etc.) require authentication
|
|
242
|
-
- Custom routes require authentication by default
|
|
243
|
-
- Custom routes can opt out with `requiresAuth: false`
|
|
244
|
-
|
|
245
|
-
### Accessing user information
|
|
246
|
-
|
|
247
|
-
When a request is authenticated, the user object is available in the request context:
|
|
248
|
-
|
|
249
|
-
```typescript
|
|
250
|
-
registerApiRoute("/user-profile", {
|
|
251
|
-
method: "GET",
|
|
252
|
-
handler: async (c) => {
|
|
253
|
-
const requestContext = c.get("requestContext");
|
|
254
|
-
const user = requestContext.get("user");
|
|
255
|
-
|
|
256
|
-
return c.json({ user });
|
|
257
|
-
},
|
|
258
|
-
})
|
|
259
|
-
```
|
|
260
|
-
|
|
261
|
-
For more information about authentication providers, see the [Auth documentation](https://mastra.ai/docs/server/auth).
|
|
262
|
-
|
|
263
|
-
## Related
|
|
264
|
-
|
|
265
|
-
- [registerApiRoute() Reference](https://mastra.ai/reference/server/register-api-route) - Full API reference
|
|
266
|
-
- [Server Middleware](https://mastra.ai/docs/server/middleware) - Global middleware configuration
|
|
267
|
-
- [Mastra Server](https://mastra.ai/docs/server/mastra-server) - Server configuration options
|
|
@@ -1,243 +0,0 @@
|
|
|
1
|
-
# Mastra Client SDK
|
|
2
|
-
|
|
3
|
-
The Mastra Client SDK provides a simple and type-safe interface for interacting with your [Mastra Server](https://mastra.ai/docs/server/mastra-server) from your client environment.
|
|
4
|
-
|
|
5
|
-
## Prerequisites
|
|
6
|
-
|
|
7
|
-
To ensure smooth local development, make sure you have:
|
|
8
|
-
|
|
9
|
-
- Node.js `v22.13.0` or later
|
|
10
|
-
- TypeScript `v4.7` or higher (if using TypeScript)
|
|
11
|
-
- Your local Mastra server running (typically on port `4111`)
|
|
12
|
-
|
|
13
|
-
## Usage
|
|
14
|
-
|
|
15
|
-
The Mastra Client SDK is designed for browser environments and uses the native `fetch` API for making HTTP requests to your Mastra server.
|
|
16
|
-
|
|
17
|
-
## Installation
|
|
18
|
-
|
|
19
|
-
To use the Mastra Client SDK, install the required dependencies:
|
|
20
|
-
|
|
21
|
-
**npm**:
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
npm install @mastra/client-js@latest
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
**pnpm**:
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
pnpm add @mastra/client-js@latest
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
**Yarn**:
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
yarn add @mastra/client-js@latest
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
**Bun**:
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
bun add @mastra/client-js@latest
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
### Initialize the `MastraClient`
|
|
46
|
-
|
|
47
|
-
Once initialized with a `baseUrl`, `MastraClient` exposes a type-safe interface for calling agents, tools, and workflows.
|
|
48
|
-
|
|
49
|
-
```typescript
|
|
50
|
-
import { MastraClient } from "@mastra/client-js";
|
|
51
|
-
|
|
52
|
-
export const mastraClient = new MastraClient({
|
|
53
|
-
baseUrl: process.env.MASTRA_API_URL || "http://localhost:4111",
|
|
54
|
-
});
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
## Core APIs
|
|
58
|
-
|
|
59
|
-
The Mastra Client SDK exposes all resources served by the Mastra Server
|
|
60
|
-
|
|
61
|
-
- **[Agents](https://mastra.ai/reference/client-js/agents)**: Generate responses and stream conversations.
|
|
62
|
-
- **[Memory](https://mastra.ai/reference/client-js/memory)**: Manage conversation threads and message history.
|
|
63
|
-
- **[Tools](https://mastra.ai/reference/client-js/tools)**: Executed and managed tools.
|
|
64
|
-
- **[Workflows](https://mastra.ai/reference/client-js/workflows)**: Trigger workflows and track their execution.
|
|
65
|
-
- **[Vectors](https://mastra.ai/reference/client-js/vectors)**: Use vector embeddings for semantic search.
|
|
66
|
-
- **[Logs](https://mastra.ai/reference/client-js/logs)**: View logs and debug system behavior.
|
|
67
|
-
- **[Telemetry](https://mastra.ai/reference/client-js/telemetry)**: Monitor app performance and trace activity.
|
|
68
|
-
|
|
69
|
-
## Generating responses
|
|
70
|
-
|
|
71
|
-
Call `.generate()` with a string prompt:
|
|
72
|
-
|
|
73
|
-
```typescript
|
|
74
|
-
import { mastraClient } from "lib/mastra-client";
|
|
75
|
-
|
|
76
|
-
const testAgent = async () => {
|
|
77
|
-
try {
|
|
78
|
-
const agent = mastraClient.getAgent("testAgent");
|
|
79
|
-
|
|
80
|
-
const response = await agent.generate("Hello");
|
|
81
|
-
|
|
82
|
-
console.log(response.text);
|
|
83
|
-
} catch (error) {
|
|
84
|
-
return "Error occurred while generating response";
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
> **Info:** You can also call `.generate()` with an array of message objects that include `role` and `content`. Visit the [.generate() reference](https://mastra.ai/reference/client-js/agents) for more information.
|
|
90
|
-
|
|
91
|
-
## Streaming responses
|
|
92
|
-
|
|
93
|
-
Use `.stream()` for real-time responses with a string prompt:
|
|
94
|
-
|
|
95
|
-
```typescript
|
|
96
|
-
import { mastraClient } from "lib/mastra-client";
|
|
97
|
-
|
|
98
|
-
const testAgent = async () => {
|
|
99
|
-
try {
|
|
100
|
-
const agent = mastraClient.getAgent("testAgent");
|
|
101
|
-
|
|
102
|
-
const stream = await agent.stream("Hello");
|
|
103
|
-
|
|
104
|
-
stream.processDataStream({
|
|
105
|
-
onTextPart: (text) => {
|
|
106
|
-
console.log(text);
|
|
107
|
-
},
|
|
108
|
-
});
|
|
109
|
-
} catch (error) {
|
|
110
|
-
return "Error occurred while generating response";
|
|
111
|
-
}
|
|
112
|
-
};
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
> **Info:** You can also call `.stream()` with an array of message objects that include `role` and `content`. Visit the [.stream() reference](https://mastra.ai/reference/client-js/agents) for more information.
|
|
116
|
-
|
|
117
|
-
## Configuration options
|
|
118
|
-
|
|
119
|
-
`MastraClient` accepts optional parameters like `retries`, `backoffMs`, and `headers` to control request behavior. These parameters are useful for controlling retry behavior and including diagnostic metadata.
|
|
120
|
-
|
|
121
|
-
```typescript
|
|
122
|
-
import { MastraClient } from "@mastra/client-js";
|
|
123
|
-
|
|
124
|
-
export const mastraClient = new MastraClient({
|
|
125
|
-
retries: 3,
|
|
126
|
-
backoffMs: 300,
|
|
127
|
-
maxBackoffMs: 5000,
|
|
128
|
-
headers: {
|
|
129
|
-
"X-Development": "true",
|
|
130
|
-
},
|
|
131
|
-
});
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
> **Info:** Visit [MastraClient](https://mastra.ai/reference/client-js/mastra-client) for more configuration options.
|
|
135
|
-
|
|
136
|
-
## Adding request cancelling
|
|
137
|
-
|
|
138
|
-
`MastraClient` supports request cancellation using the standard Node.js `AbortSignal` API. Useful for canceling in-flight requests, such as when users abort an operation or to clean up stale network calls.
|
|
139
|
-
|
|
140
|
-
Pass an `AbortSignal` to the client constructor to enable cancellation across all requests.
|
|
141
|
-
|
|
142
|
-
```typescript
|
|
143
|
-
import { MastraClient } from "@mastra/client-js";
|
|
144
|
-
|
|
145
|
-
export const controller = new AbortController();
|
|
146
|
-
|
|
147
|
-
export const mastraClient = new MastraClient({
|
|
148
|
-
baseUrl: process.env.MASTRA_API_URL || "http://localhost:4111",
|
|
149
|
-
abortSignal: controller.signal,
|
|
150
|
-
});
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
### Using the `AbortController`
|
|
154
|
-
|
|
155
|
-
Calling `.abort()` will cancel any ongoing requests tied to that signal.
|
|
156
|
-
|
|
157
|
-
```typescript
|
|
158
|
-
import { mastraClient, controller } from "lib/mastra-client";
|
|
159
|
-
|
|
160
|
-
const handleAbort = () => {
|
|
161
|
-
controller.abort();
|
|
162
|
-
};
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
## Client tools
|
|
166
|
-
|
|
167
|
-
Define tools directly in client-side applications using the `createTool()` function. Pass them to agents via the `clientTools` parameter in `.generate()` or `.stream()` calls.
|
|
168
|
-
|
|
169
|
-
This lets agents trigger browser-side functionality such as DOM manipulation, local storage access, or other Web APIs, enabling tool execution in the user's environment rather than on the server.
|
|
170
|
-
|
|
171
|
-
```typescript
|
|
172
|
-
import { createTool } from "@mastra/client-js";
|
|
173
|
-
import { z } from "zod";
|
|
174
|
-
|
|
175
|
-
const handleClientTool = async () => {
|
|
176
|
-
try {
|
|
177
|
-
const agent = mastraClient.getAgent("colorAgent");
|
|
178
|
-
|
|
179
|
-
const colorChangeTool = createTool({
|
|
180
|
-
id: "color-change-tool",
|
|
181
|
-
description: "Changes the HTML background color",
|
|
182
|
-
inputSchema: z.object({
|
|
183
|
-
color: z.string(),
|
|
184
|
-
}),
|
|
185
|
-
outputSchema: z.object({
|
|
186
|
-
success: z.boolean(),
|
|
187
|
-
}),
|
|
188
|
-
execute: async (inputData) => {
|
|
189
|
-
const { color } = inputData;
|
|
190
|
-
|
|
191
|
-
document.body.style.backgroundColor = color;
|
|
192
|
-
return { success: true };
|
|
193
|
-
},
|
|
194
|
-
});
|
|
195
|
-
|
|
196
|
-
const response = await agent.generate("Change the background to blue", {
|
|
197
|
-
clientTools: { colorChangeTool },
|
|
198
|
-
});
|
|
199
|
-
|
|
200
|
-
console.log(response);
|
|
201
|
-
} catch (error) {
|
|
202
|
-
console.error(error);
|
|
203
|
-
}
|
|
204
|
-
};
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
### Client tool's agent
|
|
208
|
-
|
|
209
|
-
This is a standard Mastra [agent](https://mastra.ai/docs/agents/overview) configured to return hex color codes, intended to work with the browser-based client tool defined above.
|
|
210
|
-
|
|
211
|
-
```typescript
|
|
212
|
-
import { Agent } from "@mastra/core/agent";
|
|
213
|
-
|
|
214
|
-
export const colorAgent = new Agent({
|
|
215
|
-
id: "color-agent",
|
|
216
|
-
name: "Color Agent",
|
|
217
|
-
instructions: `You are a helpful CSS assistant.
|
|
218
|
-
You can change the background color of web pages.
|
|
219
|
-
Respond with a hex reference for the color requested by the user`,
|
|
220
|
-
model: "openai/gpt-5.1",
|
|
221
|
-
});
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
## Server-side environments
|
|
225
|
-
|
|
226
|
-
You can also use `MastraClient` in server-side environments such as API routes, serverless functions or actions. The usage will broadly remain the same but you may need to recreate the response to your client:
|
|
227
|
-
|
|
228
|
-
```typescript
|
|
229
|
-
export async function action() {
|
|
230
|
-
const agent = mastraClient.getAgent("testAgent");
|
|
231
|
-
|
|
232
|
-
const stream = await agent.stream("Hello");
|
|
233
|
-
|
|
234
|
-
return new Response(stream.body);
|
|
235
|
-
}
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
## Best practices
|
|
239
|
-
|
|
240
|
-
1. **Error Handling**: Implement proper [error handling](https://mastra.ai/reference/client-js/error-handling) for development scenarios.
|
|
241
|
-
2. **Environment Variables**: Use environment variables for configuration.
|
|
242
|
-
3. **Debugging**: Enable detailed [logging](https://mastra.ai/reference/client-js/logs) when needed.
|
|
243
|
-
4. **Performance**: Monitor application performance, [telemetry](https://mastra.ai/reference/client-js/telemetry) and traces.
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# Server Overview
|
|
2
|
-
|
|
3
|
-
Mastra runs as an HTTP server that exposes your agents, workflows, and other functionality as API endpoints. The server handles request routing, middleware execution, authentication, and streaming responses.
|
|
4
|
-
|
|
5
|
-
> **Info:** This page covers the [`server`](https://mastra.ai/reference/configuration) configuration options passed to the `Mastra` constructor. For running Mastra with your own HTTP server (Hono, Express, etc.), visit [Server Adapters](https://mastra.ai/docs/server/server-adapters).
|
|
6
|
-
|
|
7
|
-
## Server architecture
|
|
8
|
-
|
|
9
|
-
Mastra uses [Hono](https://hono.dev) as its underlying HTTP server framework. When you build a Mastra application using `mastra build`, it generates a Hono-based HTTP server in the `.mastra` directory.
|
|
10
|
-
|
|
11
|
-
The server provides:
|
|
12
|
-
|
|
13
|
-
- API endpoints for all registered agents and workflows
|
|
14
|
-
- Custom API routes and middleware
|
|
15
|
-
- Authentication with multiple providers
|
|
16
|
-
- Request context for dynamic configuration
|
|
17
|
-
- Stream data redaction for secure responses
|
|
18
|
-
|
|
19
|
-
## Configuration
|
|
20
|
-
|
|
21
|
-
Configure the server by passing a `server` object to the `Mastra` constructor:
|
|
22
|
-
|
|
23
|
-
```typescript
|
|
24
|
-
import { Mastra } from "@mastra/core";
|
|
25
|
-
|
|
26
|
-
export const mastra = new Mastra({
|
|
27
|
-
server: {
|
|
28
|
-
port: 3000, // Defaults to 4111
|
|
29
|
-
host: "0.0.0.0", // Defaults to 'localhost'
|
|
30
|
-
},
|
|
31
|
-
});
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
> **Info:** Visit the [configuration reference](https://mastra.ai/reference/configuration) for a full list of available server options.
|
|
35
|
-
|
|
36
|
-
## Server features
|
|
37
|
-
|
|
38
|
-
- **[Middleware](https://mastra.ai/docs/server/middleware)**: Intercept requests for authentication, logging, CORS, or injecting request-specific context.
|
|
39
|
-
- **[Custom API Routes](https://mastra.ai/docs/server/custom-api-routes)**: Extend the server with your own HTTP endpoints that have access to the Mastra instance.
|
|
40
|
-
- **[Request Context](https://mastra.ai/docs/server/request-context)**: Pass request-specific values to agents, tools, and workflows based on runtime conditions.
|
|
41
|
-
- **[Server Adapters](https://mastra.ai/docs/server/server-adapters)**: Run Mastra with Express, Hono, or your own HTTP server instead of the generated server.
|
|
42
|
-
- **[Custom Adapters](https://mastra.ai/docs/server/custom-adapters)**: Build adapters for frameworks not officially supported.
|
|
43
|
-
- **[Mastra Client SDK](https://mastra.ai/docs/server/mastra-client)**: Type-safe client for calling agents, workflows, and tools from browser or server environments.
|
|
44
|
-
- **[Authentication](https://mastra.ai/docs/server/auth)**: Secure endpoints with JWT, Clerk, Supabase, Firebase, Auth0, or WorkOS.
|
|
45
|
-
|
|
46
|
-
## Stream data redaction
|
|
47
|
-
|
|
48
|
-
When streaming agent responses, the HTTP layer redacts system prompts, tool definitions, API keys, and similar data from each chunk before sending it to clients. This is enabled by default.
|
|
49
|
-
|
|
50
|
-
This behavior is only configurable by using [server adapters](https://mastra.ai/docs/server/server-adapters). For server adapters, stream data redaction is enabled by default, too.
|
|
51
|
-
|
|
52
|
-
## TypeScript configuration
|
|
53
|
-
|
|
54
|
-
Mastra requires `module` and `moduleResolution` settings compatible with modern Node.js. Legacy options like `CommonJS` or `node` are not supported.
|
|
55
|
-
|
|
56
|
-
```json
|
|
57
|
-
{
|
|
58
|
-
"compilerOptions": {
|
|
59
|
-
"target": "ES2022",
|
|
60
|
-
"module": "ES2022",
|
|
61
|
-
"moduleResolution": "bundler",
|
|
62
|
-
"esModuleInterop": true,
|
|
63
|
-
"forceConsistentCasingInFileNames": true,
|
|
64
|
-
"strict": true,
|
|
65
|
-
"skipLibCheck": true,
|
|
66
|
-
"noEmit": true,
|
|
67
|
-
"outDir": "dist"
|
|
68
|
-
},
|
|
69
|
-
"include": ["src/**/*"]
|
|
70
|
-
}
|
|
71
|
-
```
|