@mastra/core 1.18.1-alpha.0 → 1.19.0-alpha.2
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 +32 -0
- package/dist/agent/agent-legacy.d.ts +3 -1
- package/dist/agent/agent-legacy.d.ts.map +1 -1
- package/dist/agent/agent.d.ts +3 -1
- 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/agent/workflows/prepare-stream/map-results-step.d.ts.map +1 -1
- package/dist/{chunk-AV4YSAZL.cjs → chunk-2OYWVA6F.cjs} +17 -2
- package/dist/chunk-2OYWVA6F.cjs.map +1 -0
- package/dist/{chunk-45LU555A.cjs → chunk-2RTFET56.cjs} +7 -7
- package/dist/{chunk-45LU555A.cjs.map → chunk-2RTFET56.cjs.map} +1 -1
- package/dist/{chunk-LKZQG2ZZ.cjs → chunk-4TUILCMR.cjs} +7 -6
- package/dist/chunk-4TUILCMR.cjs.map +1 -0
- package/dist/{chunk-NMDKJUHA.cjs → chunk-5OBBDZBA.cjs} +185 -185
- package/dist/{chunk-NMDKJUHA.cjs.map → chunk-5OBBDZBA.cjs.map} +1 -1
- package/dist/{chunk-OF7ELKXY.js → chunk-6TEEIOHA.js} +4 -4
- package/dist/{chunk-OF7ELKXY.js.map → chunk-6TEEIOHA.js.map} +1 -1
- package/dist/{chunk-KG5NOH3Z.js → chunk-6XYHMM2X.js} +8 -8
- package/dist/{chunk-KG5NOH3Z.js.map → chunk-6XYHMM2X.js.map} +1 -1
- package/dist/{chunk-IVXAQT6H.js → chunk-BS5UESNT.js} +93 -42
- package/dist/chunk-BS5UESNT.js.map +1 -0
- package/dist/{chunk-NRIT3KHS.js → chunk-CSIKD56W.js} +3 -3
- package/dist/{chunk-NRIT3KHS.js.map → chunk-CSIKD56W.js.map} +1 -1
- package/dist/{chunk-KEYCLRBI.js → chunk-D5EXC3XM.js} +4 -4
- package/dist/{chunk-KEYCLRBI.js.map → chunk-D5EXC3XM.js.map} +1 -1
- package/dist/{chunk-XQRTJIC7.cjs → chunk-E2SMTTP6.cjs} +45 -16
- package/dist/chunk-E2SMTTP6.cjs.map +1 -0
- package/dist/{chunk-RVBOSWN5.cjs → chunk-E3JUOJME.cjs} +5 -5
- package/dist/{chunk-RVBOSWN5.cjs.map → chunk-E3JUOJME.cjs.map} +1 -1
- package/dist/{chunk-FA4PTEBK.js → chunk-EWPUWV33.js} +18 -3
- package/dist/chunk-EWPUWV33.js.map +1 -0
- package/dist/{chunk-BWRB3RPC.js → chunk-F4PVOQKD.js} +3 -3
- package/dist/{chunk-BWRB3RPC.js.map → chunk-F4PVOQKD.js.map} +1 -1
- package/dist/{chunk-TJNYXDI7.cjs → chunk-GFQPMPSV.cjs} +7 -113
- package/dist/chunk-GFQPMPSV.cjs.map +1 -0
- package/dist/{chunk-V2NQOABM.cjs → chunk-GNA52EF4.cjs} +9 -9
- package/dist/{chunk-V2NQOABM.cjs.map → chunk-GNA52EF4.cjs.map} +1 -1
- package/dist/{chunk-GALW5K2E.js → chunk-IOHKSHT4.js} +3 -3
- package/dist/{chunk-GALW5K2E.js.map → chunk-IOHKSHT4.js.map} +1 -1
- package/dist/{chunk-Z7DO2WCR.cjs → chunk-IQV2SVCE.cjs} +52 -52
- package/dist/{chunk-Z7DO2WCR.cjs.map → chunk-IQV2SVCE.cjs.map} +1 -1
- package/dist/{chunk-GXXNF6NF.cjs → chunk-L2FL7HMV.cjs} +35 -30
- package/dist/chunk-L2FL7HMV.cjs.map +1 -0
- package/dist/{chunk-HZI7AYCD.js → chunk-M62LMDHE.js} +8 -7
- package/dist/chunk-M62LMDHE.js.map +1 -0
- package/dist/{chunk-TPE5VTVF.cjs → chunk-MN7WNZE6.cjs} +6 -6
- package/dist/{chunk-TPE5VTVF.cjs.map → chunk-MN7WNZE6.cjs.map} +1 -1
- package/dist/{chunk-7W6PDCOH.cjs → chunk-NWOPWLJ3.cjs} +83 -82
- package/dist/chunk-NWOPWLJ3.cjs.map +1 -0
- package/dist/{chunk-CJ4RMDJJ.cjs → chunk-O542TXPV.cjs} +145 -94
- package/dist/chunk-O542TXPV.cjs.map +1 -0
- package/dist/{chunk-4FMKWOPC.js → chunk-OZHBY6NY.js} +32 -5
- package/dist/chunk-OZHBY6NY.js.map +1 -0
- package/dist/{chunk-MJF7NZEF.js → chunk-PPCEPCG7.js} +3 -3
- package/dist/{chunk-MJF7NZEF.js.map → chunk-PPCEPCG7.js.map} +1 -1
- package/dist/{chunk-CU764D5P.cjs → chunk-QB4YHCVA.cjs} +15 -15
- package/dist/{chunk-CU764D5P.cjs.map → chunk-QB4YHCVA.cjs.map} +1 -1
- package/dist/{chunk-K7AE4BHR.js → chunk-QIOD3LOP.js} +4 -3
- package/dist/chunk-QIOD3LOP.js.map +1 -0
- package/dist/{chunk-DTT543MP.cjs → chunk-RD76XK7E.cjs} +3 -3
- package/dist/{chunk-DTT543MP.cjs.map → chunk-RD76XK7E.cjs.map} +1 -1
- package/dist/{chunk-HRT662B6.js → chunk-SVIEJH5H.js} +13 -8
- package/dist/chunk-SVIEJH5H.js.map +1 -0
- package/dist/{chunk-KFL6ZGWG.js → chunk-VYZRHQUD.js} +5 -5
- package/dist/{chunk-KFL6ZGWG.js.map → chunk-VYZRHQUD.js.map} +1 -1
- package/dist/{chunk-H5ZOJOQ2.cjs → chunk-WKAEIA42.cjs} +9 -9
- package/dist/{chunk-H5ZOJOQ2.cjs.map → chunk-WKAEIA42.cjs.map} +1 -1
- package/dist/{chunk-L3V6LSQF.js → chunk-X5BBF6AG.js} +3 -3
- package/dist/{chunk-L3V6LSQF.js.map → chunk-X5BBF6AG.js.map} +1 -1
- package/dist/{chunk-WGJL6F3F.js → chunk-Z6I5PBGG.js} +6 -112
- package/dist/chunk-Z6I5PBGG.js.map +1 -0
- package/dist/datasets/index.cjs +17 -17
- package/dist/datasets/index.js +2 -2
- package/dist/docs/SKILL.md +8 -18
- package/dist/docs/assets/SOURCE_MAP.json +266 -266
- package/dist/docs/references/docs-agents-overview.md +4 -4
- package/dist/docs/references/docs-agents-processors.md +1 -1
- package/dist/docs/references/{docs-observability-datasets-overview.md → docs-evals-datasets-overview.md} +12 -12
- package/dist/docs/references/{docs-observability-datasets-running-experiments.md → docs-evals-datasets-running-experiments.md} +9 -9
- package/dist/docs/references/docs-evals-overview.md +8 -9
- package/dist/docs/references/docs-memory-observational-memory.md +20 -11
- package/dist/docs/references/docs-memory-overview.md +4 -4
- package/dist/docs/references/docs-memory-semantic-recall.md +28 -19
- package/dist/docs/references/docs-memory-storage.md +4 -4
- package/dist/docs/references/docs-rag-chunking-and-embedding.md +2 -2
- package/dist/docs/references/docs-server-auth-composite-auth.md +1 -7
- package/dist/docs/references/docs-server-auth-custom-auth-provider.md +2 -4
- package/dist/docs/references/docs-server-auth-jwt.md +1 -1
- package/dist/docs/references/docs-server-auth-simple-auth.md +1 -7
- package/dist/docs/references/docs-server-custom-adapters.md +3 -1
- package/dist/docs/references/docs-server-custom-api-routes.md +1 -1
- package/dist/docs/references/docs-server-mastra-client.md +1 -3
- package/dist/docs/references/docs-server-mastra-server.md +8 -0
- package/dist/docs/references/docs-server-request-context.md +17 -17
- package/dist/docs/references/docs-streaming-events.md +1 -90
- package/dist/docs/references/docs-studio-auth.md +142 -0
- package/dist/docs/references/docs-studio-deployment.md +260 -0
- package/dist/docs/references/docs-studio-observability.md +98 -0
- package/dist/docs/references/docs-studio-overview.md +127 -0
- package/dist/docs/references/docs-workflows-agents-and-tools.md +7 -10
- package/dist/docs/references/docs-workflows-control-flow.md +1 -1
- package/dist/docs/references/docs-workflows-overview.md +12 -7
- package/dist/docs/references/docs-workflows-suspend-and-resume.md +1 -1
- package/dist/docs/references/guides-concepts-multi-agent-systems.md +4 -4
- package/dist/docs/references/reference-agents-agent.md +1 -1
- package/dist/docs/references/reference-configuration.md +4 -4
- package/dist/docs/references/reference-memory-observational-memory.md +1 -1
- package/dist/docs/references/reference-storage-cloudflare-d1.md +1 -1
- package/dist/docs/references/reference-storage-lance.md +1 -1
- package/dist/docs/references/reference-storage-upstash.md +1 -1
- package/dist/docs/references/reference.md +16 -14
- package/dist/evals/index.cjs +5 -5
- package/dist/evals/index.js +2 -2
- package/dist/evals/scoreTraces/index.cjs +3 -3
- package/dist/evals/scoreTraces/index.js +1 -1
- package/dist/harness/harness.d.ts.map +1 -1
- package/dist/harness/index.cjs +19 -18
- package/dist/harness/index.cjs.map +1 -1
- package/dist/harness/index.js +9 -8
- package/dist/harness/index.js.map +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +1 -1
- package/dist/integration/index.cjs +2 -2
- package/dist/integration/index.js +1 -1
- package/dist/llm/index.cjs +16 -16
- package/dist/llm/index.js +5 -5
- package/dist/llm/model/aisdk/v5/model.d.ts +5 -0
- package/dist/llm/model/aisdk/v5/model.d.ts.map +1 -1
- package/dist/llm/model/aisdk/v6/model.d.ts +5 -0
- package/dist/llm/model/aisdk/v6/model.d.ts.map +1 -1
- package/dist/llm/model/provider-types.generated.d.ts +1 -50
- package/dist/loop/index.cjs +14 -14
- package/dist/loop/index.js +1 -1
- package/dist/loop/network/validation.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
- package/dist/mastra/index.cjs +2 -2
- package/dist/mastra/index.js +1 -1
- package/dist/memory/index.cjs +14 -14
- package/dist/memory/index.js +1 -1
- package/dist/models-dev-VAVD7BDV.cjs +12 -0
- package/dist/{models-dev-674ULLFE.cjs.map → models-dev-VAVD7BDV.cjs.map} +1 -1
- package/dist/models-dev-VFIUOVG4.js +3 -0
- package/dist/{models-dev-AVV7SNWL.js.map → models-dev-VFIUOVG4.js.map} +1 -1
- package/dist/netlify-KL3UR26O.cjs +12 -0
- package/dist/{netlify-QP3MZ4FK.cjs.map → netlify-KL3UR26O.cjs.map} +1 -1
- package/dist/netlify-Q3SJTV4U.js +3 -0
- package/dist/{netlify-KWEJPG27.js.map → netlify-Q3SJTV4U.js.map} +1 -1
- package/dist/processor-provider/index.cjs +10 -10
- package/dist/processor-provider/index.js +1 -1
- package/dist/processors/index.cjs +44 -44
- package/dist/processors/index.js +1 -1
- package/dist/provider-registry-COX4XKGI.js +3 -0
- package/dist/{provider-registry-L3LFTZUA.js.map → provider-registry-COX4XKGI.js.map} +1 -1
- package/dist/provider-registry-IAU4XHVY.cjs +40 -0
- package/dist/{provider-registry-KZN4FOFE.cjs.map → provider-registry-IAU4XHVY.cjs.map} +1 -1
- package/dist/provider-registry.json +2 -108
- package/dist/relevance/index.cjs +3 -3
- package/dist/relevance/index.js +1 -1
- package/dist/storage/index.cjs +74 -74
- package/dist/storage/index.js +1 -1
- package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -1
- package/dist/stream/index.cjs +8 -8
- package/dist/stream/index.js +1 -1
- package/dist/test-utils/llm-mock.cjs +4 -4
- package/dist/test-utils/llm-mock.js +1 -1
- package/dist/tool-loop-agent/index.cjs +4 -4
- package/dist/tool-loop-agent/index.js +1 -1
- package/dist/tools/index.cjs +8 -8
- package/dist/tools/index.js +1 -1
- package/dist/tools/is-vercel-tool.cjs +2 -2
- package/dist/tools/is-vercel-tool.js +1 -1
- package/dist/tools/tool-builder/builder.d.ts.map +1 -1
- package/dist/tools/validation.d.ts.map +1 -1
- package/dist/utils.cjs +31 -23
- package/dist/utils.d.ts +10 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.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 +24 -24
- package/dist/workflows/index.js +1 -1
- package/dist/workflows/workflow.d.ts.map +1 -1
- package/dist/workspace/index.cjs +68 -68
- package/dist/workspace/index.js +1 -1
- package/dist/workspace/workspace.d.ts +1 -0
- package/dist/workspace/workspace.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/llm/model/provider-types.generated.d.ts +1 -50
- package/dist/chunk-4FMKWOPC.js.map +0 -1
- package/dist/chunk-7W6PDCOH.cjs.map +0 -1
- package/dist/chunk-AV4YSAZL.cjs.map +0 -1
- package/dist/chunk-CJ4RMDJJ.cjs.map +0 -1
- package/dist/chunk-FA4PTEBK.js.map +0 -1
- package/dist/chunk-GXXNF6NF.cjs.map +0 -1
- package/dist/chunk-HRT662B6.js.map +0 -1
- package/dist/chunk-HZI7AYCD.js.map +0 -1
- package/dist/chunk-IVXAQT6H.js.map +0 -1
- package/dist/chunk-K7AE4BHR.js.map +0 -1
- package/dist/chunk-LKZQG2ZZ.cjs.map +0 -1
- package/dist/chunk-TJNYXDI7.cjs.map +0 -1
- package/dist/chunk-WGJL6F3F.js.map +0 -1
- package/dist/chunk-XQRTJIC7.cjs.map +0 -1
- 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 -272
- package/dist/docs/references/docs-observability-tracing-exporters-braintrust.md +0 -126
- package/dist/docs/references/docs-observability-tracing-exporters-cloud.md +0 -127
- package/dist/docs/references/docs-observability-tracing-exporters-datadog.md +0 -317
- package/dist/docs/references/docs-observability-tracing-exporters-default.md +0 -209
- package/dist/docs/references/docs-observability-tracing-exporters-laminar.md +0 -100
- package/dist/docs/references/docs-observability-tracing-exporters-langfuse.md +0 -213
- package/dist/docs/references/docs-observability-tracing-exporters-langsmith.md +0 -198
- package/dist/docs/references/docs-observability-tracing-exporters-otel.md +0 -476
- package/dist/docs/references/docs-observability-tracing-exporters-posthog.md +0 -148
- package/dist/docs/references/docs-observability-tracing-overview.md +0 -1112
- package/dist/models-dev-674ULLFE.cjs +0 -12
- package/dist/models-dev-AVV7SNWL.js +0 -3
- package/dist/netlify-KWEJPG27.js +0 -3
- package/dist/netlify-QP3MZ4FK.cjs +0 -12
- package/dist/provider-registry-KZN4FOFE.cjs +0 -40
- package/dist/provider-registry-L3LFTZUA.js +0 -3
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# Studio
|
|
2
|
+
|
|
3
|
+
Studio provides an interactive UI for building, testing, and managing your agents, workflows, and tools. Run it locally during development, or [deploy it](https://mastra.ai/docs/studio/deployment) to production so your team can manage agents, monitor performance, and gain insights through built-in observability.
|
|
4
|
+
|
|
5
|
+
Add [authentication](https://mastra.ai/docs/studio/auth) to protect your deployed Studio with login screens, role-based access control, and permission-based UI rendering so you can control what each team member can see and do. You can also [create a project in Mastra Cloud](https://mastra.ai/docs/mastra-cloud/setup) for a hosted option.
|
|
6
|
+
|
|
7
|
+
[YouTube video player](https://www.youtube-nocookie.com/embed/ojGu6Bi4wYk)
|
|
8
|
+
|
|
9
|
+
## Start Studio
|
|
10
|
+
|
|
11
|
+
If you created your application with `create mastra`, start the development server using the `dev` script. You can also run it directly with `mastra dev`.
|
|
12
|
+
|
|
13
|
+
**npm**:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm run dev
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**pnpm**:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
pnpm run dev
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**Yarn**:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
yarn dev
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**Bun**:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
bun run dev
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Once the server is running, you can:
|
|
38
|
+
|
|
39
|
+
- Open the Studio UI at [http://localhost:4111](http://localhost:4111/) to interact with your agents, workflows, and tools.
|
|
40
|
+
- Visit <http://localhost:4111/swagger-ui> to discover and interact with the underlying REST API.
|
|
41
|
+
|
|
42
|
+
To run Studio in production, see [Studio deployment](https://mastra.ai/docs/studio/deployment). To run Studio independently from your Mastra server, use [`mastra studio`](https://mastra.ai/reference/cli/mastra).
|
|
43
|
+
|
|
44
|
+
## Primitives
|
|
45
|
+
|
|
46
|
+
### Agents
|
|
47
|
+
|
|
48
|
+
Chat with your agent directly, dynamically switch [models](https://mastra.ai/models), and tweak settings like temperature and top-p to understand how they affect the output.
|
|
49
|
+
|
|
50
|
+
When you interact with your agent, you can follow each step of its reasoning, view tool call outputs, and [observe](#observability) traces and logs to see how responses are generated. You can also attach [scorers](#scorers) to measure and compare response quality over time.
|
|
51
|
+
|
|
52
|
+
### Workflows
|
|
53
|
+
|
|
54
|
+
Visualize your workflow as a graph and run it step by step with a custom input. During execution, the interface updates in real time to show the active step and the path taken.
|
|
55
|
+
|
|
56
|
+
When running a workflow, you can also view detailed traces showing tool calls, raw JSON outputs, and any errors that might have occurred along the way.
|
|
57
|
+
|
|
58
|
+
### Processors
|
|
59
|
+
|
|
60
|
+
View the input and output processors attached to each agent. The agent detail panel lists every processor by name and type, so you can verify your guardrails, token limiters, and custom processors are wired up correctly before testing.
|
|
61
|
+
|
|
62
|
+
See [processors](https://mastra.ai/docs/agents/processors) and [guardrails](https://mastra.ai/docs/agents/guardrails) for configuration details.
|
|
63
|
+
|
|
64
|
+
### MCP servers
|
|
65
|
+
|
|
66
|
+
List the MCP servers attached to your Mastra instance and explore their available tools.
|
|
67
|
+
|
|
68
|
+
### Tools
|
|
69
|
+
|
|
70
|
+
Run tools on their own to observe behavior and test them before assigning them to an agent. If something goes wrong, re-run a tool in isolation to debug the issue.
|
|
71
|
+
|
|
72
|
+
### Workspaces
|
|
73
|
+
|
|
74
|
+
Browse the files in your agent's workspace filesystem using a built-in file browser. Switch between workspace mounts, create directories, and view file contents with syntax highlighting. Writable workspaces allow directory creation and file deletion; read-only workspaces are labeled accordingly. The Skills tab lists all discovered skills with their instructions, references, and metadata. Install community skills from [skills.sh](https://skills.sh) or remove existing ones.
|
|
75
|
+
|
|
76
|
+
See [workspaces](https://mastra.ai/docs/workspace/overview) for configuration details.
|
|
77
|
+
|
|
78
|
+
### Request context
|
|
79
|
+
|
|
80
|
+
Set runtime variables that flow into your agent's instructions and tools through dependency injection. Edit request context as JSON or use a schema-driven form when your agent defines a `requestContextSchema`. Values persist across test chats and experiments, so you can trigger conditional flows without restarting.
|
|
81
|
+
|
|
82
|
+
See [request context](https://mastra.ai/docs/server/request-context) for configuration details.
|
|
83
|
+
|
|
84
|
+
## Evaluation
|
|
85
|
+
|
|
86
|
+
### Scorers
|
|
87
|
+
|
|
88
|
+
The Scorers tab displays the results of your agent's scorers as they run. When messages pass through your agent, the defined scorers evaluate each output asynchronously and render their results here. This allows you to understand how your scorers respond to different interactions, compare performance across test cases, and identify areas for improvement.
|
|
89
|
+
|
|
90
|
+
### Datasets
|
|
91
|
+
|
|
92
|
+
Create and manage collections of test cases to evaluate your agents and workflows. Import items from CSV or JSON, define input and ground-truth schemas, and pin to specific versions so you can reproduce experiments exactly. Run experiments with [scorers](https://mastra.ai/docs/evals/overview) to compare quality across prompts, models, or code changes.
|
|
93
|
+
|
|
94
|
+
See [datasets overview](https://mastra.ai/docs/evals/datasets/overview) for the full API and versioning details.
|
|
95
|
+
|
|
96
|
+
### Experiments
|
|
97
|
+
|
|
98
|
+
Run all items in a dataset against an agent, workflow, or scorer and collect the results in one place. Select a target, optionally attach scorers, and trigger the experiment. The results view shows each item's input, output, status, and individual score breakdowns. Compare two experiments side by side to measure the impact of prompt, model, or code changes.
|
|
99
|
+
|
|
100
|
+
See [datasets overview](https://mastra.ai/docs/evals/datasets/overview) for setup details.
|
|
101
|
+
|
|
102
|
+
## Observability
|
|
103
|
+
|
|
104
|
+
Visit the [Studio observability](https://mastra.ai/docs/studio/observability) docs to learn more.
|
|
105
|
+
|
|
106
|
+
## Settings
|
|
107
|
+
|
|
108
|
+
Configure the connection between Studio and your Mastra server. The settings page includes:
|
|
109
|
+
|
|
110
|
+
- **Mastra instance URL**: The base URL of your Mastra server (e.g. `http://localhost:4111`).
|
|
111
|
+
- **API prefix**: Optional path prefix for all API requests (defaults to `/api`).
|
|
112
|
+
- **Custom headers**: Add key-value pairs sent with every request, useful for authentication tokens or routing headers.
|
|
113
|
+
- **Theme**: Switch between dark, light, or system theme.
|
|
114
|
+
|
|
115
|
+
## Code configuration
|
|
116
|
+
|
|
117
|
+
In addition to the [settings](#settings) UI, you can configure the local development server and Studio also through the [`server`](https://mastra.ai/reference/configuration) option in your `src/mastra/index.ts`.
|
|
118
|
+
|
|
119
|
+
By default, Studio runs at <http://localhost:4111>. You can change the [`host`](https://mastra.ai/reference/configuration) and [`port`](https://mastra.ai/reference/configuration).
|
|
120
|
+
|
|
121
|
+
Mastra also supports HTTPS development through the [`--https`](https://mastra.ai/reference/cli/mastra) flag, which automatically creates and manages certificates for your project. When you run `mastra dev --https`, a private key and certificate are generated for localhost (or your configured host). Visit the [HTTPS reference](https://mastra.ai/reference/configuration) to learn more.
|
|
122
|
+
|
|
123
|
+
## Next steps
|
|
124
|
+
|
|
125
|
+
- Learn how to [deploy Studio](https://mastra.ai/docs/studio/deployment) for production use.
|
|
126
|
+
- Add [authentication](https://mastra.ai/docs/studio/auth) to control access to your deployed Studio.
|
|
127
|
+
- Explore [Studio observability](https://mastra.ai/docs/studio/observability) to monitor agent performance and gain insights through metrics, logs, and traces.
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# Agents and tools
|
|
2
2
|
|
|
3
|
-
Workflow steps can call agents to leverage LLM reasoning or call tools for type-safe logic. You can either invoke them from within a step's `execute` function or compose them directly as steps using `createStep()`.
|
|
3
|
+
Workflow steps can call agents to leverage LLM reasoning or call tools for type-safe logic. You can either invoke them from within a step's `execute()` function or compose them directly as steps using `createStep()`.
|
|
4
4
|
|
|
5
5
|
## Using agents in workflows
|
|
6
6
|
|
|
7
|
-
Use agents in workflow steps when you need reasoning, language generation, or other LLM-based tasks. Call from a step's `execute` function for more control over the agent call (e.g., track message history or return structured output). Compose agents as steps when you don't need to modify how the agent is invoked.
|
|
7
|
+
Use agents in workflow steps when you need reasoning, language generation, or other LLM-based tasks. Call from a step's `execute()` function for more control over the agent call (e.g., track message history or return structured output). Compose agents as steps when you don't need to modify how the agent is invoked.
|
|
8
8
|
|
|
9
9
|
### Calling agents
|
|
10
10
|
|
|
11
|
-
Call agents inside a step's `execute` function using `.generate()` or `.stream()`. This lets you modify the agent call and handle the response before passing it to the next step.
|
|
11
|
+
Call agents inside a step's `execute()` function using `.generate()` or `.stream()`. This lets you modify the agent call and handle the response before passing it to the next step.
|
|
12
12
|
|
|
13
13
|
```typescript
|
|
14
14
|
const step1 = createStep({
|
|
@@ -41,7 +41,6 @@ Compose an agent as a step using `createStep()` when you don't need to modify th
|
|
|
41
41
|
|
|
42
42
|
```typescript
|
|
43
43
|
import { testAgent } from '../agents/test-agent'
|
|
44
|
-
|
|
45
44
|
const step1 = createStep(testAgent)
|
|
46
45
|
|
|
47
46
|
export const testWorkflow = createWorkflow({})
|
|
@@ -111,20 +110,20 @@ The `structuredOutput.schema` option accepts any Zod schema. The agent will gene
|
|
|
111
110
|
|
|
112
111
|
## Using tools in workflows
|
|
113
112
|
|
|
114
|
-
Use tools in workflow steps to leverage existing tool logic. Call from a step's
|
|
113
|
+
Use tools in workflow steps to leverage existing tool logic. Call from a step's `.execute()` function when you need to prepare context or process responses. Compose tools as steps when you don't need to modify how the tool is used.
|
|
115
114
|
|
|
116
115
|
### Calling tools
|
|
117
116
|
|
|
118
|
-
Call tools inside a step's
|
|
117
|
+
Call tools inside a step's `.execute()` function. This gives you more control over the tool's input context, or process its response before passing it to the next step.
|
|
119
118
|
|
|
120
119
|
```typescript
|
|
121
120
|
import { testTool } from '../tools/test-tool'
|
|
122
121
|
|
|
123
122
|
const step2 = createStep({
|
|
124
123
|
execute: async ({ inputData, requestContext }) => {
|
|
125
|
-
const {
|
|
124
|
+
const { text } = inputData
|
|
126
125
|
|
|
127
|
-
const response = await testTool.execute({ text
|
|
126
|
+
const response = await testTool.execute({ text }, { requestContext })
|
|
128
127
|
|
|
129
128
|
return {
|
|
130
129
|
emphasized: response.emphasized,
|
|
@@ -133,8 +132,6 @@ const step2 = createStep({
|
|
|
133
132
|
})
|
|
134
133
|
```
|
|
135
134
|
|
|
136
|
-
> **Info:** Visit [Calling Tools](https://mastra.ai/docs/workflows/agents-and-tools) for more examples.
|
|
137
|
-
|
|
138
135
|
### Tools as steps
|
|
139
136
|
|
|
140
137
|
Compose a tool as a step using `createStep()` when the previous step's output matches the tool's input context. You can use `.map()` to transform the previous step's output if they don't.
|
|
@@ -99,7 +99,7 @@ export const testWorkflow = createWorkflow({
|
|
|
99
99
|
.commit()
|
|
100
100
|
```
|
|
101
101
|
|
|
102
|
-
>
|
|
102
|
+
> **📹 Watch:** How to run steps in parallel and optimize your Mastra workflow → [YouTube (3 minutes)](https://youtu.be/GQJxve5Hki4)
|
|
103
103
|
|
|
104
104
|
### Output structure
|
|
105
105
|
|
|
@@ -45,7 +45,7 @@ const step1 = createStep({
|
|
|
45
45
|
})
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
-
> **Info:** Visit [Step
|
|
48
|
+
> **Info:** Visit [`Step`](https://mastra.ai/reference/workflows/step) for a full list of configuration options.
|
|
49
49
|
|
|
50
50
|
### Using agents and tools
|
|
51
51
|
|
|
@@ -80,6 +80,15 @@ export const testWorkflow = createWorkflow({
|
|
|
80
80
|
|
|
81
81
|
Workflows can be composed using a number of different methods. The method you choose determines how each step's schema should be structured. Visit the [Control Flow](https://mastra.ai/docs/workflows/control-flow) page for more information.
|
|
82
82
|
|
|
83
|
+
## Studio
|
|
84
|
+
|
|
85
|
+
Open [Studio](https://mastra.ai/docs/studio/overview) and select a workflow from the **Workflows** tab.
|
|
86
|
+
|
|
87
|
+
- **Graph view**: The center panel visualizes the workflow's steps and execution flow.
|
|
88
|
+
- **Input form**: The right sidebar generates a form from the workflow's `inputSchema`. Fill it in and start the run.
|
|
89
|
+
- **Live status**: During execution, the graph updates each step's status in real time. The sidebar shows the workflow's input, output, state, and logs.
|
|
90
|
+
- [**Time travel**](https://mastra.ai/docs/workflows/time-travel): After a run completes, replay individual steps to inspect or retry them.
|
|
91
|
+
|
|
83
92
|
## Workflow state
|
|
84
93
|
|
|
85
94
|
Workflow state lets you share values across steps without passing them through every step's inputSchema and outputSchema. Use state for tracking progress, accumulating results, or sharing configuration across the entire workflow.
|
|
@@ -188,7 +197,7 @@ const testWorkflow = mastra.getWorkflow('testWorkflow')
|
|
|
188
197
|
|
|
189
198
|
Workflows can be run in two modes: start waits for all steps to complete before returning, and stream emits events during execution. Choose the approach that fits your use case: start when you only need the final result, and stream when you want to monitor progress or trigger actions as steps complete.
|
|
190
199
|
|
|
191
|
-
|
|
200
|
+
**.start()**:
|
|
192
201
|
|
|
193
202
|
Create a workflow run instance using `createRun()`, then call `.start()` with `inputData` matching the workflow's `inputSchema`. The workflow executes all steps and returns the final result.
|
|
194
203
|
|
|
@@ -206,7 +215,7 @@ if (result.status === 'success') {
|
|
|
206
215
|
}
|
|
207
216
|
```
|
|
208
217
|
|
|
209
|
-
|
|
218
|
+
**.stream()**:
|
|
210
219
|
|
|
211
220
|
Create a workflow run instance using `.createRun()`, then call `.stream()` with `inputData` matching the workflow's `inputSchema`. Iterate over `fullStream` to track progress, then await `result` to get the final workflow result.
|
|
212
221
|
|
|
@@ -356,10 +365,6 @@ const step1 = createStep({
|
|
|
356
365
|
|
|
357
366
|
> **Tip:** For type-safe request context schema validation, see [Schema Validation](https://mastra.ai/docs/server/request-context).
|
|
358
367
|
|
|
359
|
-
## Testing with Studio
|
|
360
|
-
|
|
361
|
-
Use [Studio](https://mastra.ai/docs/getting-started/studio) to run workflows with different inputs, visualize the execution lifecycle, see the inputs and outputs for each step, and inspect each part of the workflow in more detail.
|
|
362
|
-
|
|
363
368
|
## Related
|
|
364
369
|
|
|
365
370
|
For a closer look at workflows, see our [Workflow Guide](https://mastra.ai/guides/guide/ai-recruiter), which walks through the core concepts with a practical example.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Suspend
|
|
1
|
+
# Suspend & resume
|
|
2
2
|
|
|
3
3
|
Workflows can be paused at any step to collect additional data, wait for API callbacks, throttle costly operations, or request [human-in-the-loop](https://mastra.ai/docs/workflows/human-in-the-loop) input. When a workflow is suspended, its current execution state is saved as a snapshot. You can later resume the workflow from a [specific step ID](https://mastra.ai/docs/workflows/snapshots), restoring the exact state captured in that snapshot. [Snapshots](https://mastra.ai/docs/workflows/snapshots) are stored in your configured storage provider and persist across deployments and application restarts.
|
|
4
4
|
|
|
@@ -22,7 +22,7 @@ Multi-agent patterns are useful when the system needs a clear way to divide cont
|
|
|
22
22
|
|
|
23
23
|
## Handoffs
|
|
24
24
|
|
|
25
|
-
A handoff pattern transfers control from one agent to another. Unlike a supervisor pattern, the first agent
|
|
25
|
+
A handoff pattern transfers control from one agent to another. Unlike a supervisor pattern, the first agent doesn't stay in charge for the full task. Instead, the active specialist takes ownership of the next part of the interaction.
|
|
26
26
|
|
|
27
27
|
Use handoffs when the next specialist should continue the interaction directly instead of reporting back through a central coordinator. The tradeoff is that context management becomes more important, since the system must decide what the next agent inherits and what remains scoped.
|
|
28
28
|
|
|
@@ -34,13 +34,13 @@ A workflow pattern defines the execution path in code. Instead of asking an agen
|
|
|
34
34
|
|
|
35
35
|
Use workflows when the task is well understood and the execution path is known in advance. The main advantage is predictability: The system is easier to debug, reason about, and audit because the structure is explicit. The tradeoff is flexibility, since workflows are less adaptive when the task changes as it unfolds.
|
|
36
36
|
|
|
37
|
-
In Mastra, [workflows](https://mastra.ai/docs/workflows/overview) can implement several coordination patterns, including handoffs and councils. What makes a workflow distinct
|
|
37
|
+
In Mastra, [workflows](https://mastra.ai/docs/workflows/overview) can implement several coordination patterns, including handoffs and councils. What makes a workflow distinct isn't which agents it calls, but that the control logic lives in the workflow itself.
|
|
38
38
|
|
|
39
39
|
## Supervisors
|
|
40
40
|
|
|
41
41
|
A supervisor pattern keeps one lead agent in control for the full task. The supervisor decides when to delegate, which specialist to call, what context to pass, and how to combine the result.
|
|
42
42
|
|
|
43
|
-
Use this pattern when the task is open-ended and the full sequence
|
|
43
|
+
Use this pattern when the task is open-ended and the full sequence isn't known in advance. For example, a research task may require different lines of inquiry based on what earlier steps uncover. A supervisor can adapt as the task unfolds. The tradeoff is that the supervisor becomes the main coordination point. That makes the pattern flexible, but it also means the result depends heavily on good delegation behavior and clear subagent boundaries.
|
|
44
44
|
|
|
45
45
|
In Mastra, this pattern maps directly to [supervisor agents](https://mastra.ai/docs/agents/supervisor-agents). A supervisor agent defines subagents on the `agents` property and uses `stream()` or `generate()` to coordinate them. Mastra also provides delegation hooks, message filtering, and memory isolation to help control this pattern.
|
|
46
46
|
|
|
@@ -52,7 +52,7 @@ A council pattern asks multiple agents to work on the same problem independently
|
|
|
52
52
|
|
|
53
53
|
Use this pattern when the question is ambiguous, evaluative, or high-stakes and answer quality matters more than speed. The tradeoff is cost, since councils intentionally duplicate effort and usually take longer and use more tokens than other patterns.
|
|
54
54
|
|
|
55
|
-
Mastra
|
|
55
|
+
Mastra doesn't provide a dedicated council primitive. In Mastra, implement this pattern with [agents](https://mastra.ai/docs/agents/overview) and [workflows](https://mastra.ai/docs/workflows/overview): Run multiple agents in parallel, collect their outputs, and add a final synthesis or review step. Workflow control flow methods such as `.parallel()` provide the structure for this pattern.
|
|
56
56
|
|
|
57
57
|
## Choosing a pattern
|
|
58
58
|
|
|
@@ -6,7 +6,7 @@ The `Agent` class is the foundation for creating AI agents in Mastra. It provide
|
|
|
6
6
|
|
|
7
7
|
### Basic string instructions
|
|
8
8
|
|
|
9
|
-
Passing instructions as a string or array of strings is the simplest way to set up an agent. This is useful for straightforward use cases where you
|
|
9
|
+
Passing instructions as a string or array of strings is the simplest way to set up an agent. This is useful for straightforward use cases where you need to provide a prompt without additional configuration.
|
|
10
10
|
|
|
11
11
|
```typescript
|
|
12
12
|
import { Agent } from '@mastra/core/agent'
|
|
@@ -749,9 +749,9 @@ Return a `{ status, body }` object to override the default `400` response, or `u
|
|
|
749
749
|
|
|
750
750
|
The `context` parameter indicates which part of the request failed validation:
|
|
751
751
|
|
|
752
|
-
- `'query'
|
|
753
|
-
- `'body'
|
|
754
|
-
- `'path'
|
|
752
|
+
- `'query'`: query parameters
|
|
753
|
+
- `'body'`: request body
|
|
754
|
+
- `'path'`: path parameters
|
|
755
755
|
|
|
756
756
|
```typescript
|
|
757
757
|
import { Mastra } from '@mastra/core'
|
|
@@ -797,7 +797,7 @@ export const mastra = new Mastra({
|
|
|
797
797
|
**Type:** `string`\
|
|
798
798
|
**Default:** `/`
|
|
799
799
|
|
|
800
|
-
Base path for hosting
|
|
800
|
+
Base path for hosting [Studio](https://mastra.ai/docs/studio/overview). Use this to host the Studio on a sub-path of your existing application instead of the root.
|
|
801
801
|
|
|
802
802
|
This is useful when integrating with existing applications, using authentication tools like Cloudflare Zero Trust that benefit from shared domains, or managing multiple services under a single domain.
|
|
803
803
|
|
|
@@ -666,7 +666,7 @@ const selector = new ModelByInputTokens({
|
|
|
666
666
|
|
|
667
667
|
#### Behavior
|
|
668
668
|
|
|
669
|
-
- Thresholds are sorted internally, so the order in the config object
|
|
669
|
+
- Thresholds are sorted internally, so the order in the config object doesn't matter.
|
|
670
670
|
- `inputTokens ≤ smallest threshold` → uses that threshold's model
|
|
671
671
|
- `inputTokens > largest threshold` → `resolve()` throws an error. If this happens during an OM Observer or Reflector run, OM aborts via TripWire, so callers receive an empty `text` result or streamed `tripwire` instead of a normal assistant response.
|
|
672
672
|
- OM computes the input token count for the Observer or Reflector call and resolves the matching model tier directly
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
The Cloudflare D1 storage implementation provides a serverless SQL database solution using Cloudflare D1, supporting relational operations and transactional consistency.
|
|
4
4
|
|
|
5
|
-
> **Observability Not Supported:** Cloudflare D1 storage **doesn't support the observability domain**. Traces from the `DefaultExporter` can't be persisted to D1, and
|
|
5
|
+
> **Observability Not Supported:** Cloudflare D1 storage **doesn't support the observability domain**. Traces from the `DefaultExporter` can't be persisted to D1, and [Studio's](https://mastra.ai/docs/studio/overview) observability features won't work with D1 as your only storage provider. To enable observability, use [composite storage](https://mastra.ai/reference/storage/composite) to route observability data to a supported provider like ClickHouse or PostgreSQL.
|
|
6
6
|
|
|
7
7
|
> **Row Size Limit:** Cloudflare D1 enforces a **1 MiB maximum row size**. This limit can be exceeded when storing messages with base64-encoded attachments such as images. See [Handling large attachments](https://mastra.ai/docs/memory/storage) for workarounds including uploading attachments to external storage.
|
|
8
8
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
The LanceDB storage implementation provides a high-performance storage solution using the LanceDB database system, which excels at handling both traditional data storage and vector operations.
|
|
4
4
|
|
|
5
|
-
> **Observability Not Supported:** LanceDB storage **doesn't support the observability domain**. Traces from the `DefaultExporter` can't be persisted to LanceDB, and
|
|
5
|
+
> **Observability Not Supported:** LanceDB storage **doesn't support the observability domain**. Traces from the `DefaultExporter` can't be persisted to LanceDB, and [Studio's](https://mastra.ai/docs/studio/overview) observability features won't work with LanceDB as your only storage provider. To enable observability, use [composite storage](https://mastra.ai/reference/storage/composite) to route observability data to a supported provider like ClickHouse or PostgreSQL.
|
|
6
6
|
|
|
7
7
|
## Installation
|
|
8
8
|
|
|
@@ -4,7 +4,7 @@ The Upstash storage implementation provides a serverless-friendly storage soluti
|
|
|
4
4
|
|
|
5
5
|
> **Pricing:** When using Mastra with Upstash, the pay-as-you-go model can result in unexpectedly high costs due to the high volume of Redis commands generated during agent conversations. We strongly recommend using a **fixed pricing plan** for predictable costs. See [Upstash pricing](https://upstash.com/pricing/redis) for details and [GitHub issue #5850](https://github.com/mastra-ai/mastra/issues/5850) for context.
|
|
6
6
|
|
|
7
|
-
> **Observability Not Supported:** Upstash storage **doesn't support the observability domain**. Traces from the `DefaultExporter` can't be persisted to Upstash, and
|
|
7
|
+
> **Observability Not Supported:** Upstash storage **doesn't support the observability domain**. Traces from the `DefaultExporter` can't be persisted to Upstash, and [Studio's](https://mastra.ai/docs/studio/overview) observability features won't work with Upstash as your only storage provider. To enable observability, use [composite storage](https://mastra.ai/reference/storage/composite) to route observability data to a supported provider like ClickHouse or PostgreSQL.
|
|
8
8
|
|
|
9
9
|
## Installation
|
|
10
10
|
|
|
@@ -84,6 +84,10 @@ The Reference section provides documentation of Mastra's API, including paramete
|
|
|
84
84
|
- [Deployer](https://mastra.ai/reference/deployer)
|
|
85
85
|
- [Netlify](https://mastra.ai/reference/deployer/netlify)
|
|
86
86
|
- [Vercel](https://mastra.ai/reference/deployer/vercel)
|
|
87
|
+
- [createScorer()](https://mastra.ai/reference/evals/create-scorer)
|
|
88
|
+
- [MastraScorer](https://mastra.ai/reference/evals/mastra-scorer)
|
|
89
|
+
- [runEvals()](https://mastra.ai/reference/evals/run-evals)
|
|
90
|
+
- [Scorer Utils](https://mastra.ai/reference/evals/scorer-utils)
|
|
87
91
|
- [Answer Relevancy Scorer](https://mastra.ai/reference/evals/answer-relevancy)
|
|
88
92
|
- [Answer Similarity Scorer](https://mastra.ai/reference/evals/answer-similarity)
|
|
89
93
|
- [Bias](https://mastra.ai/reference/evals/bias)
|
|
@@ -91,30 +95,16 @@ The Reference section provides documentation of Mastra's API, including paramete
|
|
|
91
95
|
- [Content Similarity Scorer](https://mastra.ai/reference/evals/content-similarity)
|
|
92
96
|
- [Context Precision Scorer](https://mastra.ai/reference/evals/context-precision)
|
|
93
97
|
- [Context Relevance Scorer](https://mastra.ai/reference/evals/context-relevance)
|
|
94
|
-
- [createScorer()](https://mastra.ai/reference/evals/create-scorer)
|
|
95
98
|
- [Faithfulness](https://mastra.ai/reference/evals/faithfulness)
|
|
96
99
|
- [Hallucination](https://mastra.ai/reference/evals/hallucination)
|
|
97
100
|
- [Keyword Coverage Scorer](https://mastra.ai/reference/evals/keyword-coverage)
|
|
98
|
-
- [MastraScorer](https://mastra.ai/reference/evals/mastra-scorer)
|
|
99
101
|
- [Noise Sensitivity Scorer](https://mastra.ai/reference/evals/noise-sensitivity)
|
|
100
102
|
- [Prompt Alignment Scorer](https://mastra.ai/reference/evals/prompt-alignment)
|
|
101
|
-
- [runEvals()](https://mastra.ai/reference/evals/run-evals)
|
|
102
|
-
- [Scorer Utils](https://mastra.ai/reference/evals/scorer-utils)
|
|
103
103
|
- [Textual Difference Scorer](https://mastra.ai/reference/evals/textual-difference)
|
|
104
104
|
- [Tone Consistency Scorer](https://mastra.ai/reference/evals/tone-consistency)
|
|
105
105
|
- [Tool Call Accuracy Scorers](https://mastra.ai/reference/evals/tool-call-accuracy)
|
|
106
106
|
- [Toxicity](https://mastra.ai/reference/evals/toxicity)
|
|
107
107
|
- [Trajectory Accuracy Scorers](https://mastra.ai/reference/evals/trajectory-accuracy)
|
|
108
|
-
- [Harness Class](https://mastra.ai/reference/harness/harness-class)
|
|
109
|
-
- [Cloned Thread Utilities](https://mastra.ai/reference/memory/clone-utilities)
|
|
110
|
-
- [Memory Class](https://mastra.ai/reference/memory/memory-class)
|
|
111
|
-
- [Observational Memory](https://mastra.ai/reference/memory/observational-memory)
|
|
112
|
-
- [.cloneThread()](https://mastra.ai/reference/memory/cloneThread)
|
|
113
|
-
- [.createThread()](https://mastra.ai/reference/memory/createThread)
|
|
114
|
-
- [.deleteMessages()](https://mastra.ai/reference/memory/deleteMessages)
|
|
115
|
-
- [.getThreadById()](https://mastra.ai/reference/memory/getThreadById)
|
|
116
|
-
- [.listThreads()](https://mastra.ai/reference/memory/listThreads)
|
|
117
|
-
- [.recall()](https://mastra.ai/reference/memory/recall)
|
|
118
108
|
- [Dataset Class](https://mastra.ai/reference/datasets/dataset)
|
|
119
109
|
- [DatasetsManager Class](https://mastra.ai/reference/datasets/datasets-manager)
|
|
120
110
|
- [.addItem()](https://mastra.ai/reference/datasets/addItem)
|
|
@@ -139,7 +129,18 @@ The Reference section provides documentation of Mastra's API, including paramete
|
|
|
139
129
|
- [.startExperimentAsync()](https://mastra.ai/reference/datasets/startExperimentAsync)
|
|
140
130
|
- [.update()](https://mastra.ai/reference/datasets/update)
|
|
141
131
|
- [.updateItem()](https://mastra.ai/reference/datasets/updateItem)
|
|
132
|
+
- [Harness Class](https://mastra.ai/reference/harness/harness-class)
|
|
133
|
+
- [Cloned Thread Utilities](https://mastra.ai/reference/memory/clone-utilities)
|
|
134
|
+
- [Memory Class](https://mastra.ai/reference/memory/memory-class)
|
|
135
|
+
- [Observational Memory](https://mastra.ai/reference/memory/observational-memory)
|
|
136
|
+
- [.cloneThread()](https://mastra.ai/reference/memory/cloneThread)
|
|
137
|
+
- [.createThread()](https://mastra.ai/reference/memory/createThread)
|
|
138
|
+
- [.deleteMessages()](https://mastra.ai/reference/memory/deleteMessages)
|
|
139
|
+
- [.getThreadById()](https://mastra.ai/reference/memory/getThreadById)
|
|
140
|
+
- [.listThreads()](https://mastra.ai/reference/memory/listThreads)
|
|
141
|
+
- [.recall()](https://mastra.ai/reference/memory/recall)
|
|
142
142
|
- [PinoLogger](https://mastra.ai/reference/logging/pino-logger)
|
|
143
|
+
- [Automatic Metrics](https://mastra.ai/reference/observability/metrics/automatic-metrics)
|
|
143
144
|
- [Configuration](https://mastra.ai/reference/observability/tracing/configuration)
|
|
144
145
|
- [Instances](https://mastra.ai/reference/observability/tracing/instances)
|
|
145
146
|
- [Interfaces](https://mastra.ai/reference/observability/tracing/interfaces)
|
|
@@ -276,6 +277,7 @@ The Reference section provides documentation of Mastra's API, including paramete
|
|
|
276
277
|
- [LocalSandbox](https://mastra.ai/reference/workspace/local-sandbox)
|
|
277
278
|
- [S3Filesystem](https://mastra.ai/reference/workspace/s3-filesystem)
|
|
278
279
|
- [SandboxProcessManager](https://mastra.ai/reference/workspace/process-manager)
|
|
280
|
+
- [VercelSandbox](https://mastra.ai/reference/workspace/vercel)
|
|
279
281
|
- [Workspace Class](https://mastra.ai/reference/workspace/workspace-class)
|
|
280
282
|
- [WorkspaceFilesystem](https://mastra.ai/reference/workspace/filesystem)
|
|
281
283
|
- [WorkspaceSandbox](https://mastra.ai/reference/workspace/sandbox)
|
package/dist/evals/index.cjs
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkE3JUOJME_cjs = require('../chunk-E3JUOJME.cjs');
|
|
4
|
+
var chunkO542TXPV_cjs = require('../chunk-O542TXPV.cjs');
|
|
5
5
|
var chunk4BZRWJBH_cjs = require('../chunk-4BZRWJBH.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
Object.defineProperty(exports, "runEvals", {
|
|
10
10
|
enumerable: true,
|
|
11
|
-
get: function () { return
|
|
11
|
+
get: function () { return chunkE3JUOJME_cjs.runEvals; }
|
|
12
12
|
});
|
|
13
13
|
Object.defineProperty(exports, "MastraScorer", {
|
|
14
14
|
enumerable: true,
|
|
15
|
-
get: function () { return
|
|
15
|
+
get: function () { return chunkO542TXPV_cjs.MastraScorer; }
|
|
16
16
|
});
|
|
17
17
|
Object.defineProperty(exports, "createScorer", {
|
|
18
18
|
enumerable: true,
|
|
19
|
-
get: function () { return
|
|
19
|
+
get: function () { return chunkO542TXPV_cjs.createScorer; }
|
|
20
20
|
});
|
|
21
21
|
Object.defineProperty(exports, "extractTrajectory", {
|
|
22
22
|
enumerable: true,
|
package/dist/evals/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { runEvals } from '../chunk-
|
|
2
|
-
export { MastraScorer, createScorer } from '../chunk-
|
|
1
|
+
export { runEvals } from '../chunk-IOHKSHT4.js';
|
|
2
|
+
export { MastraScorer, createScorer } from '../chunk-BS5UESNT.js';
|
|
3
3
|
export { extractTrajectory, extractTrajectoryFromTrace, extractWorkflowTrajectory, listScoresResponseSchema, saveScorePayloadSchema, scoreResultSchema, scoreRowDataSchema, scoringEntityTypeSchema, scoringExtractStepResultSchema, scoringHookInputSchema, scoringInputSchema, scoringInputWithExtractStepResultAndAnalyzeStepResultSchema, scoringInputWithExtractStepResultAndScoreAndReasonSchema, scoringInputWithExtractStepResultSchema, scoringPromptsSchema, scoringSourceSchema, scoringValueSchema } from '../chunk-PMWMEK4T.js';
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkIQV2SVCE_cjs = require('../../chunk-IQV2SVCE.cjs');
|
|
4
4
|
var chunk4BZRWJBH_cjs = require('../../chunk-4BZRWJBH.cjs');
|
|
5
5
|
var chunkBF7IH4JU_cjs = require('../../chunk-BF7IH4JU.cjs');
|
|
6
6
|
var chunk4U7ZLI36_cjs = require('../../chunk-4U7ZLI36.cjs');
|
|
@@ -235,7 +235,7 @@ function transformTraceToScorerInputAndOutput(trace) {
|
|
|
235
235
|
}
|
|
236
236
|
|
|
237
237
|
// src/evals/scoreTraces/scoreTracesWorkflow.ts
|
|
238
|
-
var getTraceStep =
|
|
238
|
+
var getTraceStep = chunkIQV2SVCE_cjs.createStep({
|
|
239
239
|
id: "__process-trace-scoring",
|
|
240
240
|
inputSchema: v4.z.object({
|
|
241
241
|
targets: v4.z.array(
|
|
@@ -446,7 +446,7 @@ async function attachScoreToSpan({
|
|
|
446
446
|
} catch {
|
|
447
447
|
}
|
|
448
448
|
}
|
|
449
|
-
var scoreTracesWorkflow =
|
|
449
|
+
var scoreTracesWorkflow = chunkIQV2SVCE_cjs.createWorkflow({
|
|
450
450
|
id: "__batch-scoring-traces",
|
|
451
451
|
inputSchema: v4.z.object({
|
|
452
452
|
targets: v4.z.array(
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createStep, createWorkflow } from '../../chunk-
|
|
1
|
+
import { createStep, createWorkflow } from '../../chunk-VYZRHQUD.js';
|
|
2
2
|
import { saveScorePayloadSchema } from '../../chunk-PMWMEK4T.js';
|
|
3
3
|
import { resolveObservabilityContext } from '../../chunk-KRFGPA2H.js';
|
|
4
4
|
import { MastraError } from '../../chunk-FJEVLHJT.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../../src/harness/harness.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../../src/harness/harness.ts"],"names":[],"mappings":"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"}
|