@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,164 +0,0 @@
|
|
|
1
|
-
# voice.listen()
|
|
2
|
-
|
|
3
|
-
The `listen()` method is a core function available in all Mastra voice providers that converts speech to text. It takes an audio stream as input and returns the transcribed text.
|
|
4
|
-
|
|
5
|
-
## Parameters
|
|
6
|
-
|
|
7
|
-
**audioStream:** (`NodeJS.ReadableStream`): Audio stream to transcribe. This can be a file stream or a microphone stream.
|
|
8
|
-
|
|
9
|
-
**options?:** (`object`): Provider-specific options for speech recognition
|
|
10
|
-
|
|
11
|
-
## Return Value
|
|
12
|
-
|
|
13
|
-
Returns one of the following:
|
|
14
|
-
|
|
15
|
-
- `Promise<string>`: A promise that resolves to the transcribed text
|
|
16
|
-
- `Promise<NodeJS.ReadableStream>`: A promise that resolves to a stream of transcribed text (for streaming transcription)
|
|
17
|
-
- `Promise<void>`: For real-time providers that emit 'writing' events instead of returning text directly
|
|
18
|
-
|
|
19
|
-
## Provider-Specific Options
|
|
20
|
-
|
|
21
|
-
Each voice provider may support additional options specific to their implementation. Here are some examples:
|
|
22
|
-
|
|
23
|
-
### OpenAI
|
|
24
|
-
|
|
25
|
-
**options.filetype?:** (`string`): Audio file format (e.g., 'mp3', 'wav', 'm4a') (Default: `'mp3'`)
|
|
26
|
-
|
|
27
|
-
**options.prompt?:** (`string`): Text to guide the model's transcription
|
|
28
|
-
|
|
29
|
-
**options.language?:** (`string`): Language code (e.g., 'en', 'fr', 'de')
|
|
30
|
-
|
|
31
|
-
### Google
|
|
32
|
-
|
|
33
|
-
**options.stream?:** (`boolean`): Whether to use streaming recognition (Default: `false`)
|
|
34
|
-
|
|
35
|
-
**options.config?:** (`object`): Recognition configuration from Google Cloud Speech-to-Text API (Default: `{ encoding: 'LINEAR16', languageCode: 'en-US' }`)
|
|
36
|
-
|
|
37
|
-
### Deepgram
|
|
38
|
-
|
|
39
|
-
**options.model?:** (`string`): Deepgram model to use for transcription (Default: `'nova-2'`)
|
|
40
|
-
|
|
41
|
-
**options.language?:** (`string`): Language code for transcription (Default: `'en'`)
|
|
42
|
-
|
|
43
|
-
## Usage Example
|
|
44
|
-
|
|
45
|
-
```typescript
|
|
46
|
-
import { OpenAIVoice } from "@mastra/voice-openai";
|
|
47
|
-
import { getMicrophoneStream } from "@mastra/node-audio";
|
|
48
|
-
import { createReadStream } from "fs";
|
|
49
|
-
import path from "path";
|
|
50
|
-
|
|
51
|
-
// Initialize a voice provider
|
|
52
|
-
const voice = new OpenAIVoice({
|
|
53
|
-
listeningModel: {
|
|
54
|
-
name: "whisper-1",
|
|
55
|
-
apiKey: process.env.OPENAI_API_KEY,
|
|
56
|
-
},
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
// Basic usage with a file stream
|
|
60
|
-
const audioFilePath = path.join(process.cwd(), "audio.mp3");
|
|
61
|
-
const audioStream = createReadStream(audioFilePath);
|
|
62
|
-
const transcript = await voice.listen(audioStream, {
|
|
63
|
-
filetype: "mp3",
|
|
64
|
-
});
|
|
65
|
-
console.log("Transcribed text:", transcript);
|
|
66
|
-
|
|
67
|
-
// Using a microphone stream
|
|
68
|
-
const microphoneStream = getMicrophoneStream(); // Assume this function gets audio input
|
|
69
|
-
const transcription = await voice.listen(microphoneStream);
|
|
70
|
-
|
|
71
|
-
// With provider-specific options
|
|
72
|
-
const transcriptWithOptions = await voice.listen(audioStream, {
|
|
73
|
-
language: "en",
|
|
74
|
-
prompt: "This is a conversation about artificial intelligence.",
|
|
75
|
-
});
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
## Using with CompositeVoice
|
|
79
|
-
|
|
80
|
-
When using `CompositeVoice`, the `listen()` method delegates to the configured listening provider:
|
|
81
|
-
|
|
82
|
-
```typescript
|
|
83
|
-
import { CompositeVoice } from "@mastra/core/voice";
|
|
84
|
-
import { OpenAIVoice } from "@mastra/voice-openai";
|
|
85
|
-
import { PlayAIVoice } from "@mastra/voice-playai";
|
|
86
|
-
|
|
87
|
-
const voice = new CompositeVoice({
|
|
88
|
-
input: new OpenAIVoice(),
|
|
89
|
-
output: new PlayAIVoice(),
|
|
90
|
-
});
|
|
91
|
-
|
|
92
|
-
// This will use the OpenAIVoice provider
|
|
93
|
-
const transcript = await voice.listen(audioStream);
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
### Using AI SDK Model Providers
|
|
97
|
-
|
|
98
|
-
You can also use AI SDK transcription models directly with `CompositeVoice`:
|
|
99
|
-
|
|
100
|
-
```typescript
|
|
101
|
-
import { CompositeVoice } from "@mastra/core/voice";
|
|
102
|
-
import { openai } from "@ai-sdk/openai";
|
|
103
|
-
import { groq } from "@ai-sdk/groq";
|
|
104
|
-
|
|
105
|
-
// Use AI SDK transcription models
|
|
106
|
-
const voice = new CompositeVoice({
|
|
107
|
-
input: openai.transcription('whisper-1'), // AI SDK model
|
|
108
|
-
output: new PlayAIVoice(), // Mastra provider
|
|
109
|
-
});
|
|
110
|
-
|
|
111
|
-
// Works the same way
|
|
112
|
-
const transcript = await voice.listen(audioStream);
|
|
113
|
-
|
|
114
|
-
// Provider-specific options can be passed through
|
|
115
|
-
const transcriptWithOptions = await voice.listen(audioStream, {
|
|
116
|
-
providerOptions: {
|
|
117
|
-
openai: {
|
|
118
|
-
language: 'en',
|
|
119
|
-
prompt: 'This is about AI',
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
See the [CompositeVoice reference](https://mastra.ai/reference/voice/composite-voice) for more details on AI SDK integration.
|
|
126
|
-
|
|
127
|
-
## Realtime Voice Providers
|
|
128
|
-
|
|
129
|
-
When using realtime voice providers like `OpenAIRealtimeVoice`, the `listen()` method behaves differently:
|
|
130
|
-
|
|
131
|
-
- Instead of returning transcribed text, it emits 'writing' events with the transcribed text
|
|
132
|
-
- You need to register an event listener to receive the transcription
|
|
133
|
-
|
|
134
|
-
```typescript
|
|
135
|
-
import { OpenAIRealtimeVoice } from "@mastra/voice-openai-realtime";
|
|
136
|
-
import { getMicrophoneStream } from "@mastra/node-audio";
|
|
137
|
-
|
|
138
|
-
const voice = new OpenAIRealtimeVoice();
|
|
139
|
-
await voice.connect();
|
|
140
|
-
|
|
141
|
-
// Register event listener for transcription
|
|
142
|
-
voice.on("writing", ({ text, role }) => {
|
|
143
|
-
console.log(`${role}: ${text}`);
|
|
144
|
-
});
|
|
145
|
-
|
|
146
|
-
// This will emit 'writing' events instead of returning text
|
|
147
|
-
const microphoneStream = getMicrophoneStream();
|
|
148
|
-
await voice.listen(microphoneStream);
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
## Notes
|
|
152
|
-
|
|
153
|
-
- Not all voice providers support speech-to-text functionality (e.g., PlayAI, Speechify)
|
|
154
|
-
- The behavior of `listen()` may vary slightly between providers, but all implementations follow the same basic interface
|
|
155
|
-
- When using a realtime voice provider, the method might not return text directly but instead emit a 'writing' event
|
|
156
|
-
- The audio format supported depends on the provider. Common formats include MP3, WAV, and M4A
|
|
157
|
-
- Some providers support streaming transcription, where text is returned as it's transcribed
|
|
158
|
-
- For best performance, consider closing or ending the audio stream when you're done with it
|
|
159
|
-
|
|
160
|
-
## Related Methods
|
|
161
|
-
|
|
162
|
-
- [voice.speak()](https://mastra.ai/reference/voice/voice.speak) - Converts text to speech
|
|
163
|
-
- [voice.send()](https://mastra.ai/reference/voice/voice.send) - Sends audio data to the voice provider in real-time
|
|
164
|
-
- [voice.on()](https://mastra.ai/reference/voice/voice.on) - Registers an event listener for voice events
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
# voice.on()
|
|
2
|
-
|
|
3
|
-
The `on()` method registers event listeners for various voice events. This is particularly important for real-time voice providers, where events are used to communicate transcribed text, audio responses, and other state changes.
|
|
4
|
-
|
|
5
|
-
## Usage Example
|
|
6
|
-
|
|
7
|
-
```typescript
|
|
8
|
-
import { OpenAIRealtimeVoice } from "@mastra/voice-openai-realtime";
|
|
9
|
-
import Speaker from "@mastra/node-speaker";
|
|
10
|
-
import chalk from "chalk";
|
|
11
|
-
|
|
12
|
-
// Initialize a real-time voice provider
|
|
13
|
-
const voice = new OpenAIRealtimeVoice({
|
|
14
|
-
realtimeConfig: {
|
|
15
|
-
model: "gpt-5.1-realtime",
|
|
16
|
-
apiKey: process.env.OPENAI_API_KEY,
|
|
17
|
-
},
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
// Connect to the real-time service
|
|
21
|
-
await voice.connect();
|
|
22
|
-
|
|
23
|
-
// Register event listener for transcribed text
|
|
24
|
-
voice.on("writing", (event) => {
|
|
25
|
-
if (event.role === "user") {
|
|
26
|
-
process.stdout.write(chalk.green(event.text));
|
|
27
|
-
} else {
|
|
28
|
-
process.stdout.write(chalk.blue(event.text));
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
// Listen for audio data and play it
|
|
33
|
-
const speaker = new Speaker({
|
|
34
|
-
sampleRate: 24100,
|
|
35
|
-
channels: 1,
|
|
36
|
-
bitDepth: 16,
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
voice.on("speaker", (stream) => {
|
|
40
|
-
stream.pipe(speaker);
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
// Register event listener for errors
|
|
44
|
-
voice.on("error", ({ message, code, details }) => {
|
|
45
|
-
console.error(`Error ${code}: ${message}`, details);
|
|
46
|
-
});
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
## Parameters
|
|
50
|
-
|
|
51
|
-
**event:** (`string`): Name of the event to listen for. See the \[Voice Events]\(./voice.events) documentation for a list of available events.
|
|
52
|
-
|
|
53
|
-
**callback:** (`function`): Callback function that will be called when the event occurs. The callback signature depends on the specific event.
|
|
54
|
-
|
|
55
|
-
## Return Value
|
|
56
|
-
|
|
57
|
-
This method does not return a value.
|
|
58
|
-
|
|
59
|
-
## Events
|
|
60
|
-
|
|
61
|
-
For a comprehensive list of events and their payload structures, see the [Voice Events](https://mastra.ai/reference/voice/voice.events) documentation.
|
|
62
|
-
|
|
63
|
-
Common events include:
|
|
64
|
-
|
|
65
|
-
- `speaking`: Emitted when audio data is available
|
|
66
|
-
- `speaker`: Emitted with a stream that can be piped to audio output
|
|
67
|
-
- `writing`: Emitted when text is transcribed or generated
|
|
68
|
-
- `error`: Emitted when an error occurs
|
|
69
|
-
- `tool-call-start`: Emitted when a tool is about to be executed
|
|
70
|
-
- `tool-call-result`: Emitted when a tool execution is complete
|
|
71
|
-
|
|
72
|
-
Different voice providers may support different sets of events with varying payload structures.
|
|
73
|
-
|
|
74
|
-
## Using with CompositeVoice
|
|
75
|
-
|
|
76
|
-
When using `CompositeVoice`, the `on()` method delegates to the configured real-time provider:
|
|
77
|
-
|
|
78
|
-
```typescript
|
|
79
|
-
import { CompositeVoice } from "@mastra/core/voice";
|
|
80
|
-
import { OpenAIRealtimeVoice } from "@mastra/voice-openai-realtime";
|
|
81
|
-
import Speaker from "@mastra/node-speaker";
|
|
82
|
-
|
|
83
|
-
const speaker = new Speaker({
|
|
84
|
-
sampleRate: 24100, // Audio sample rate in Hz - standard for high-quality audio on MacBook Pro
|
|
85
|
-
channels: 1, // Mono audio output (as opposed to stereo which would be 2)
|
|
86
|
-
bitDepth: 16, // Bit depth for audio quality - CD quality standard (16-bit resolution)
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
const realtimeVoice = new OpenAIRealtimeVoice();
|
|
90
|
-
const voice = new CompositeVoice({
|
|
91
|
-
realtime: realtimeVoice,
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
// Connect to the real-time service
|
|
95
|
-
await voice.connect();
|
|
96
|
-
|
|
97
|
-
// This will register the event listener with the OpenAIRealtimeVoice provider
|
|
98
|
-
voice.on("speaker", (stream) => {
|
|
99
|
-
stream.pipe(speaker);
|
|
100
|
-
});
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
## Notes
|
|
104
|
-
|
|
105
|
-
- This method is primarily used with real-time voice providers that support event-based communication
|
|
106
|
-
- If called on a voice provider that doesn't support events, it will log a warning and do nothing
|
|
107
|
-
- Event listeners should be registered before calling methods that might emit events
|
|
108
|
-
- To remove an event listener, use the [voice.off()](https://mastra.ai/reference/voice/voice.off) method with the same event name and callback function
|
|
109
|
-
- Multiple listeners can be registered for the same event
|
|
110
|
-
- The callback function will receive different data depending on the event type (see [Voice Events](https://mastra.ai/reference/voice/voice.events))
|
|
111
|
-
- For best performance, consider removing event listeners when they are no longer needed
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
# voice.speak()
|
|
2
|
-
|
|
3
|
-
The `speak()` method is a core function available in all Mastra voice providers that converts text to speech. It takes text input and returns an audio stream that can be played or saved.
|
|
4
|
-
|
|
5
|
-
## Parameters
|
|
6
|
-
|
|
7
|
-
**input:** (`string | NodeJS.ReadableStream`): Text to convert to speech. Can be a string or a readable stream of text.
|
|
8
|
-
|
|
9
|
-
**options?:** (`object`): Options for speech synthesis
|
|
10
|
-
|
|
11
|
-
**options.speaker?:** (`string`): Voice ID to use for this specific request. Overrides the default speaker set in the constructor.
|
|
12
|
-
|
|
13
|
-
## Return Value
|
|
14
|
-
|
|
15
|
-
Returns a `Promise<NodeJS.ReadableStream | void>` where:
|
|
16
|
-
|
|
17
|
-
- `NodeJS.ReadableStream`: A stream of audio data that can be played or saved
|
|
18
|
-
- `void`: When using a realtime voice provider that emits audio through events instead of returning it directly
|
|
19
|
-
|
|
20
|
-
## Provider-Specific Options
|
|
21
|
-
|
|
22
|
-
Each voice provider may support additional options specific to their implementation. Here are some examples:
|
|
23
|
-
|
|
24
|
-
### OpenAI
|
|
25
|
-
|
|
26
|
-
**options.speed?:** (`number`): Speech speed multiplier. Values between 0.25 and 4.0 are supported. (Default: `1.0`)
|
|
27
|
-
|
|
28
|
-
### ElevenLabs
|
|
29
|
-
|
|
30
|
-
**options.stability?:** (`number`): Voice stability. Higher values result in more stable, less expressive speech. (Default: `0.5`)
|
|
31
|
-
|
|
32
|
-
**options.similarity\_boost?:** (`number`): Voice clarity and similarity to the original voice. (Default: `0.75`)
|
|
33
|
-
|
|
34
|
-
### Google
|
|
35
|
-
|
|
36
|
-
**options.languageCode?:** (`string`): Language code for the voice (e.g., 'en-US').
|
|
37
|
-
|
|
38
|
-
**options.audioConfig?:** (`object`): Audio configuration options from Google Cloud Text-to-Speech API. (Default: `{ audioEncoding: 'LINEAR16' }`)
|
|
39
|
-
|
|
40
|
-
### Murf
|
|
41
|
-
|
|
42
|
-
**options.properties.rate?:** (`number`): Speech rate multiplier.
|
|
43
|
-
|
|
44
|
-
**options.properties.pitch?:** (`number`): Voice pitch adjustment.
|
|
45
|
-
|
|
46
|
-
**options.properties.format?:** (`'MP3' | 'WAV' | 'FLAC' | 'ALAW' | 'ULAW'`): Output audio format.
|
|
47
|
-
|
|
48
|
-
## Usage Example
|
|
49
|
-
|
|
50
|
-
```typescript
|
|
51
|
-
import { OpenAIVoice } from "@mastra/voice-openai";
|
|
52
|
-
// Initialize a voice provider
|
|
53
|
-
const voice = new OpenAIVoice({
|
|
54
|
-
speaker: "alloy", // Default voice
|
|
55
|
-
});
|
|
56
|
-
// Basic usage with default settings
|
|
57
|
-
const audioStream = await voice.speak("Hello, world!");
|
|
58
|
-
// Using a different voice for this specific request
|
|
59
|
-
const audioStreamWithDifferentVoice = await voice.speak("Hello again!", {
|
|
60
|
-
speaker: "nova",
|
|
61
|
-
});
|
|
62
|
-
// Using provider-specific options
|
|
63
|
-
const audioStreamWithOptions = await voice.speak("Hello with options!", {
|
|
64
|
-
speaker: "echo",
|
|
65
|
-
speed: 1.2, // OpenAI-specific option
|
|
66
|
-
});
|
|
67
|
-
// Using a text stream as input
|
|
68
|
-
import { Readable } from "stream";
|
|
69
|
-
const textStream = Readable.from(["Hello", " from", " a", " stream!"]);
|
|
70
|
-
const audioStreamFromTextStream = await voice.speak(textStream);
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
## Using with CompositeVoice
|
|
74
|
-
|
|
75
|
-
When using `CompositeVoice`, the `speak()` method delegates to the configured speaking provider:
|
|
76
|
-
|
|
77
|
-
```typescript
|
|
78
|
-
import { CompositeVoice } from "@mastra/core/voice";
|
|
79
|
-
import { OpenAIVoice } from "@mastra/voice-openai";
|
|
80
|
-
import { PlayAIVoice } from "@mastra/voice-playai";
|
|
81
|
-
|
|
82
|
-
const voice = new CompositeVoice({
|
|
83
|
-
output: new PlayAIVoice(),
|
|
84
|
-
input: new OpenAIVoice(),
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
// This will use the PlayAIVoice provider
|
|
88
|
-
const audioStream = await voice.speak("Hello, world!");
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### Using AI SDK Model Providers
|
|
92
|
-
|
|
93
|
-
You can also use AI SDK speech models directly with `CompositeVoice`:
|
|
94
|
-
|
|
95
|
-
```typescript
|
|
96
|
-
import { CompositeVoice } from "@mastra/core/voice";
|
|
97
|
-
import { openai } from "@ai-sdk/openai";
|
|
98
|
-
import { elevenlabs } from "@ai-sdk/elevenlabs";
|
|
99
|
-
|
|
100
|
-
// Use AI SDK speech models
|
|
101
|
-
const voice = new CompositeVoice({
|
|
102
|
-
output: elevenlabs.speech('eleven_turbo_v2'), // AI SDK model
|
|
103
|
-
input: openai.transcription('whisper-1'), // AI SDK model
|
|
104
|
-
});
|
|
105
|
-
|
|
106
|
-
// Works the same way
|
|
107
|
-
const audioStream = await voice.speak("Hello from AI SDK!");
|
|
108
|
-
|
|
109
|
-
// Provider-specific options can be passed through
|
|
110
|
-
const audioWithOptions = await voice.speak("Hello with options!", {
|
|
111
|
-
speaker: 'Rachel', // ElevenLabs voice
|
|
112
|
-
providerOptions: {
|
|
113
|
-
elevenlabs: {
|
|
114
|
-
stability: 0.5,
|
|
115
|
-
similarity_boost: 0.75,
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
See the [CompositeVoice reference](https://mastra.ai/reference/voice/composite-voice) for more details on AI SDK integration.
|
|
122
|
-
|
|
123
|
-
## Realtime Voice Providers
|
|
124
|
-
|
|
125
|
-
When using realtime voice providers like `OpenAIRealtimeVoice`, the `speak()` method behaves differently:
|
|
126
|
-
|
|
127
|
-
- Instead of returning an audio stream, it emits a 'speaking' event with the audio data
|
|
128
|
-
- You need to register an event listener to receive the audio chunks
|
|
129
|
-
|
|
130
|
-
```typescript
|
|
131
|
-
import { OpenAIRealtimeVoice } from "@mastra/voice-openai-realtime";
|
|
132
|
-
import Speaker from "@mastra/node-speaker";
|
|
133
|
-
|
|
134
|
-
const speaker = new Speaker({
|
|
135
|
-
sampleRate: 24100, // Audio sample rate in Hz - standard for high-quality audio on MacBook Pro
|
|
136
|
-
channels: 1, // Mono audio output (as opposed to stereo which would be 2)
|
|
137
|
-
bitDepth: 16, // Bit depth for audio quality - CD quality standard (16-bit resolution)
|
|
138
|
-
});
|
|
139
|
-
|
|
140
|
-
const voice = new OpenAIRealtimeVoice();
|
|
141
|
-
await voice.connect();
|
|
142
|
-
// Register event listener for audio chunks
|
|
143
|
-
voice.on("speaker", (stream) => {
|
|
144
|
-
// Handle audio chunk (e.g., play it or save it)
|
|
145
|
-
stream.pipe(speaker);
|
|
146
|
-
});
|
|
147
|
-
// This will emit 'speaking' events instead of returning a stream
|
|
148
|
-
await voice.speak("Hello, this is realtime speech!");
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
## Notes
|
|
152
|
-
|
|
153
|
-
- The behavior of `speak()` may vary slightly between providers, but all implementations follow the same basic interface.
|
|
154
|
-
- When using a realtime voice provider, the method might not return an audio stream directly but instead emit a 'speaking' event.
|
|
155
|
-
- If a text stream is provided as input, the provider will typically convert it to a string before processing.
|
|
156
|
-
- The audio format of the returned stream depends on the provider. Common formats include MP3, WAV, and OGG.
|
|
157
|
-
- For best performance, consider closing or ending the audio stream when you're done with it.
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
# Run.cancel()
|
|
2
|
-
|
|
3
|
-
The `.cancel()` method cancels a workflow run, stopping execution and cleaning up resources.
|
|
4
|
-
|
|
5
|
-
This method aborts any running steps and updates the workflow status to 'canceled'. It works for both actively running workflows and suspended/waiting workflows.
|
|
6
|
-
|
|
7
|
-
## Usage example
|
|
8
|
-
|
|
9
|
-
```typescript
|
|
10
|
-
const run = await workflow.createRun();
|
|
11
|
-
|
|
12
|
-
await run.cancel();
|
|
13
|
-
// Returns: { message: 'Workflow run canceled' }
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## Parameters
|
|
17
|
-
|
|
18
|
-
**No parameters:** (`void`): This method takes no parameters
|
|
19
|
-
|
|
20
|
-
## Returns
|
|
21
|
-
|
|
22
|
-
**result:** (`Promise<{ message: string }>`): A promise that resolves with { message: 'Workflow run canceled' } when cancellation succeeds
|
|
23
|
-
|
|
24
|
-
## How cancellation works
|
|
25
|
-
|
|
26
|
-
When called, the workflow will:
|
|
27
|
-
|
|
28
|
-
1. **Trigger the abort signal** - Uses the standard Web API AbortSignal to notify running steps
|
|
29
|
-
2. **Prevent subsequent steps** - No further steps will be executed
|
|
30
|
-
|
|
31
|
-
## Abort signal behavior
|
|
32
|
-
|
|
33
|
-
Steps that check the `abortSignal` parameter can respond to cancellation:
|
|
34
|
-
|
|
35
|
-
- Steps can listen to the 'abort' event: `abortSignal.addEventListener('abort', callback)`
|
|
36
|
-
- Steps can check if already aborted: `if (abortSignal.aborted) { ... }`
|
|
37
|
-
- Useful for cancelling timeouts, network requests, or long-running operations
|
|
38
|
-
|
|
39
|
-
**Note:** Steps must actively check the abort signal to be canceled mid-execution. Steps that don't check the signal will run to completion, but subsequent steps won't execute.
|
|
40
|
-
|
|
41
|
-
## Extended usage examples
|
|
42
|
-
|
|
43
|
-
### Cancelling a workflow on error
|
|
44
|
-
|
|
45
|
-
```typescript
|
|
46
|
-
const run = await workflow.createRun();
|
|
47
|
-
|
|
48
|
-
try {
|
|
49
|
-
const result = await run.start({ inputData: { value: "initial data" } });
|
|
50
|
-
} catch (error) {
|
|
51
|
-
await run.cancel();
|
|
52
|
-
}
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
### Creating a step that responds to cancellation
|
|
56
|
-
|
|
57
|
-
```typescript
|
|
58
|
-
const step = createStep({
|
|
59
|
-
id: 'long-running-step',
|
|
60
|
-
execute: async ({ inputData, abortSignal, abort }) => {
|
|
61
|
-
const timeout = new Promise((resolve) => {
|
|
62
|
-
const timer = setTimeout(() => resolve('done'), 10000);
|
|
63
|
-
|
|
64
|
-
// Clean up if canceled
|
|
65
|
-
abortSignal.addEventListener('abort', () => {
|
|
66
|
-
clearTimeout(timer);
|
|
67
|
-
resolve('canceled');
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
const result = await timeout;
|
|
72
|
-
|
|
73
|
-
// Check if aborted after async operation
|
|
74
|
-
if (abortSignal.aborted) {
|
|
75
|
-
return abort(); // Stop execution
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
return { result };
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
## Related
|
|
84
|
-
|
|
85
|
-
- [Workflows overview](https://mastra.ai/docs/workflows/overview)
|
|
86
|
-
- [Workflow.createRun()](https://mastra.ai/reference/workflows/workflow-methods/create-run)
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
# Run.restart()
|
|
2
|
-
|
|
3
|
-
The `.restart()` method restarts an active workflow run that lost connection to the server, allowing you to continue execution from the moment it lost connection (the last active step).
|
|
4
|
-
|
|
5
|
-
## Usage example
|
|
6
|
-
|
|
7
|
-
```typescript
|
|
8
|
-
const run = await workflow.createRun();
|
|
9
|
-
|
|
10
|
-
const result = await run.start({ inputData: { value: "initial data" } });
|
|
11
|
-
|
|
12
|
-
const restartedResult = await run.restart();
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
## Parameters
|
|
16
|
-
|
|
17
|
-
**requestContext?:** (`RequestContext`): Request Context data to use when resuming
|
|
18
|
-
|
|
19
|
-
**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.
|
|
20
|
-
|
|
21
|
-
**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.
|
|
22
|
-
|
|
23
|
-
## Returns
|
|
24
|
-
|
|
25
|
-
**result:** (`Promise<WorkflowResult<TState, TOutput, TSteps>>`): A promise that resolves to the workflow execution result containing step outputs and status
|
|
26
|
-
|
|
27
|
-
**traceId?:** (`string`): The trace ID associated with this execution when Tracing is enabled. Use this to correlate logs and debug execution flow.
|
|
28
|
-
|
|
29
|
-
## Related
|
|
30
|
-
|
|
31
|
-
- [Workflows overview](https://mastra.ai/docs/workflows/overview)
|
|
32
|
-
- [Restart workflows](https://mastra.ai/docs/workflows/overview)
|
|
33
|
-
- [Workflow.createRun()](https://mastra.ai/reference/workflows/workflow-methods/create-run)
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
# Run.resume()
|
|
2
|
-
|
|
3
|
-
The `.resume()` method resumes a suspended workflow run with new data, allowing you to continue execution from a specific step.
|
|
4
|
-
|
|
5
|
-
## Usage example
|
|
6
|
-
|
|
7
|
-
```typescript
|
|
8
|
-
const run = await workflow.createRun();
|
|
9
|
-
|
|
10
|
-
const result = await run.start({ inputData: { value: "initial data" } });
|
|
11
|
-
|
|
12
|
-
if (result.status === "suspended") {
|
|
13
|
-
const resumedResults = await run.resume({
|
|
14
|
-
resumeData: { value: "resume data" },
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Parameters
|
|
20
|
-
|
|
21
|
-
**resumeData?:** (`z.infer<TResumeSchema>`): Data for resuming the suspended step
|
|
22
|
-
|
|
23
|
-
**step?:** (`Step<string, any, any, TResumeSchema, any, TEngineType> | [...Step<string, any, any, any, any, TEngineType>[], Step<string, any, any, TResumeSchema, any, TEngineType>] | string | string[]`): The step(s) to resume execution from. Can be a Step instance, array of Steps, step ID string, or array of step ID strings
|
|
24
|
-
|
|
25
|
-
**requestContext?:** (`RequestContext`): Request Context data to use when resuming
|
|
26
|
-
|
|
27
|
-
**retryCount?:** (`number`): Optional retry count for nested workflow execution
|
|
28
|
-
|
|
29
|
-
**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.
|
|
30
|
-
|
|
31
|
-
**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.
|
|
32
|
-
|
|
33
|
-
**outputOptions?:** (`OutputOptions`): includeState?:booleanWhether to include the workflow run state in the result.
|
|
34
|
-
|
|
35
|
-
## Returns
|
|
36
|
-
|
|
37
|
-
**result:** (`Promise<WorkflowResult<TState, TOutput, TSteps>>`): A promise that resolves to the workflow execution result containing step outputs and status
|
|
38
|
-
|
|
39
|
-
**traceId?:** (`string`): The trace ID associated with this execution when Tracing is enabled. Use this to correlate logs and debug execution flow.
|
|
40
|
-
|
|
41
|
-
## Extended usage example
|
|
42
|
-
|
|
43
|
-
```typescript
|
|
44
|
-
if (result.status === "suspended") {
|
|
45
|
-
const resumedResults = await run.resume({
|
|
46
|
-
step: result.suspended[0],
|
|
47
|
-
resumeData: { value: "resume data" },
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
> **Note**: When exactly one step is suspended, you can omit the `step` parameter and the workflow will automatically resume that step. For workflows with multiple suspended steps, you must explicitly specify which step to resume.
|
|
53
|
-
|
|
54
|
-
## Related
|
|
55
|
-
|
|
56
|
-
- [Workflows overview](https://mastra.ai/docs/workflows/overview)
|
|
57
|
-
- [Workflow.createRun()](https://mastra.ai/reference/workflows/workflow-methods/create-run)
|
|
58
|
-
- [Suspend and resume](https://mastra.ai/docs/workflows/suspend-and-resume)
|
|
59
|
-
- [Human in the loop](https://mastra.ai/docs/workflows/human-in-the-loop)
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
# Run.start()
|
|
2
|
-
|
|
3
|
-
The `.start()` method starts a workflow run with input data, allowing you to execute the workflow from the beginning.
|
|
4
|
-
|
|
5
|
-
## Usage example
|
|
6
|
-
|
|
7
|
-
```typescript
|
|
8
|
-
const run = await workflow.createRun();
|
|
9
|
-
|
|
10
|
-
const result = await run.start({
|
|
11
|
-
inputData: {
|
|
12
|
-
value: "initial data",
|
|
13
|
-
},
|
|
14
|
-
});
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## Parameters
|
|
18
|
-
|
|
19
|
-
**inputData?:** (`z.infer<TInput>`): Input data that matches the workflow's input schema
|
|
20
|
-
|
|
21
|
-
**requestContext?:** (`RequestContext`): Request Context data to use during workflow execution
|
|
22
|
-
|
|
23
|
-
**outputWriter?:** (`(chunk: TOutput) => Promise<void>`): Optional asynchronous function to handle output chunks as they are produced
|
|
24
|
-
|
|
25
|
-
**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.
|
|
26
|
-
|
|
27
|
-
**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.
|
|
28
|
-
|
|
29
|
-
**outputOptions?:** (`OutputOptions`): includeState?:booleanWhether to include the workflow run state in the result.
|
|
30
|
-
|
|
31
|
-
## Returns
|
|
32
|
-
|
|
33
|
-
**result:** (`Promise<WorkflowResult<TState, TOutput, TSteps>>`): A promise that resolves to the workflow execution result containing step outputs and status
|
|
34
|
-
|
|
35
|
-
**traceId?:** (`string`): The trace ID associated with this execution when Tracing is enabled. Use this to correlate logs and debug execution flow.
|
|
36
|
-
|
|
37
|
-
## Extended usage example
|
|
38
|
-
|
|
39
|
-
```typescript
|
|
40
|
-
import { RequestContext } from "@mastra/core/request-context";
|
|
41
|
-
|
|
42
|
-
const run = await workflow.createRun();
|
|
43
|
-
|
|
44
|
-
const requestContext = new RequestContext();
|
|
45
|
-
requestContext.set("variable", false);
|
|
46
|
-
|
|
47
|
-
const result = await run.start({
|
|
48
|
-
inputData: {
|
|
49
|
-
value: "initial data",
|
|
50
|
-
},
|
|
51
|
-
requestContext,
|
|
52
|
-
});
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## Related
|
|
56
|
-
|
|
57
|
-
- [Workflows overview](https://mastra.ai/docs/workflows/overview)
|
|
58
|
-
- [Workflow.createRun()](https://mastra.ai/reference/workflows/workflow-methods/create-run)
|