@scoutqa/mastra-core 1.6.0-fork.1 → 1.7.0-fork.1

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.
Files changed (215) hide show
  1. package/CHANGELOG.md +236 -0
  2. package/dist/agent/agent.d.ts +6 -0
  3. package/dist/agent/agent.d.ts.map +1 -1
  4. package/dist/agent/index.cjs +8 -8
  5. package/dist/agent/index.js +1 -1
  6. package/dist/{chunk-6ATXGF7O.cjs → chunk-2AAFKTCG.cjs} +13 -8
  7. package/dist/chunk-2AAFKTCG.cjs.map +1 -0
  8. package/dist/{chunk-MRF3F4ZJ.js → chunk-2MDFUYLM.js} +5 -5
  9. package/dist/{chunk-MRF3F4ZJ.js.map → chunk-2MDFUYLM.js.map} +1 -1
  10. package/dist/{chunk-AN3HGAKV.cjs → chunk-2P6DD7M5.cjs} +3 -3
  11. package/dist/{chunk-AN3HGAKV.cjs.map → chunk-2P6DD7M5.cjs.map} +1 -1
  12. package/dist/{chunk-MJBMFLM5.js → chunk-3DZIBP4N.js} +3 -3
  13. package/dist/{chunk-MJBMFLM5.js.map → chunk-3DZIBP4N.js.map} +1 -1
  14. package/dist/{chunk-3YCLS7EV.js → chunk-3MGUBN3L.js} +10 -10
  15. package/dist/{chunk-3YCLS7EV.js.map → chunk-3MGUBN3L.js.map} +1 -1
  16. package/dist/{chunk-DBLC7EG2.js → chunk-4X56NHOV.js} +6 -5
  17. package/dist/chunk-4X56NHOV.js.map +1 -0
  18. package/dist/{chunk-7MRQHX3H.js → chunk-6DUTLERJ.js} +3 -3
  19. package/dist/{chunk-7MRQHX3H.js.map → chunk-6DUTLERJ.js.map} +1 -1
  20. package/dist/{chunk-QXV7IU35.cjs → chunk-7AEB7OKU.cjs} +137 -59
  21. package/dist/chunk-7AEB7OKU.cjs.map +1 -0
  22. package/dist/{chunk-E5I75AVF.cjs → chunk-7KGZRBMH.cjs} +4 -4
  23. package/dist/{chunk-E5I75AVF.cjs.map → chunk-7KGZRBMH.cjs.map} +1 -1
  24. package/dist/{chunk-AYHSPIT6.cjs → chunk-7UAJ6LMR.cjs} +820 -259
  25. package/dist/chunk-7UAJ6LMR.cjs.map +1 -0
  26. package/dist/{chunk-2DJYX47D.cjs → chunk-B4Q5HLXF.cjs} +8 -7
  27. package/dist/chunk-B4Q5HLXF.cjs.map +1 -0
  28. package/dist/{chunk-BX4HFYP5.cjs → chunk-CNQLHTFU.cjs} +7 -7
  29. package/dist/{chunk-BX4HFYP5.cjs.map → chunk-CNQLHTFU.cjs.map} +1 -1
  30. package/dist/{chunk-RIYWBNTS.cjs → chunk-DK647E3N.cjs} +17 -17
  31. package/dist/{chunk-RIYWBNTS.cjs.map → chunk-DK647E3N.cjs.map} +1 -1
  32. package/dist/{chunk-OTDK7RAN.cjs → chunk-EL5ZYDXO.cjs} +49 -49
  33. package/dist/{chunk-OTDK7RAN.cjs.map → chunk-EL5ZYDXO.cjs.map} +1 -1
  34. package/dist/{chunk-YSG5P5UF.js → chunk-GIY5BINT.js} +3 -3
  35. package/dist/{chunk-YSG5P5UF.js.map → chunk-GIY5BINT.js.map} +1 -1
  36. package/dist/{chunk-5K45E5VE.js → chunk-GPJGPARM.js} +3 -2
  37. package/dist/chunk-GPJGPARM.js.map +1 -0
  38. package/dist/{chunk-DJ4MO3IH.js → chunk-JFR6DVIJ.js} +94 -17
  39. package/dist/chunk-JFR6DVIJ.js.map +1 -0
  40. package/dist/{chunk-ELCXB2NN.js → chunk-NN26FSKL.js} +3 -3
  41. package/dist/{chunk-ELCXB2NN.js.map → chunk-NN26FSKL.js.map} +1 -1
  42. package/dist/{chunk-QFLTS4GS.cjs → chunk-PHHJLGZU.cjs} +6 -6
  43. package/dist/{chunk-QFLTS4GS.cjs.map → chunk-PHHJLGZU.cjs.map} +1 -1
  44. package/dist/{chunk-USFFKILU.cjs → chunk-QDH6MVJ7.cjs} +3 -3
  45. package/dist/{chunk-USFFKILU.cjs.map → chunk-QDH6MVJ7.cjs.map} +1 -1
  46. package/dist/{chunk-MRJ4BXTA.js → chunk-S3OAKN2S.js} +10 -5
  47. package/dist/chunk-S3OAKN2S.js.map +1 -0
  48. package/dist/{chunk-TVPANHLE.cjs → chunk-SBOHDNIZ.cjs} +3 -2
  49. package/dist/chunk-SBOHDNIZ.cjs.map +1 -0
  50. package/dist/{chunk-KKGGUAKN.cjs → chunk-TBYBSWJM.cjs} +16 -16
  51. package/dist/{chunk-KKGGUAKN.cjs.map → chunk-TBYBSWJM.cjs.map} +1 -1
  52. package/dist/{chunk-423ZB5GO.js → chunk-TC24TMMJ.js} +4 -4
  53. package/dist/{chunk-423ZB5GO.js.map → chunk-TC24TMMJ.js.map} +1 -1
  54. package/dist/{chunk-JHNA6RZA.js → chunk-VEM5KAUJ.js} +7 -7
  55. package/dist/{chunk-JHNA6RZA.js.map → chunk-VEM5KAUJ.js.map} +1 -1
  56. package/dist/{chunk-VZ637IIF.js → chunk-W76ZMTUL.js} +4 -4
  57. package/dist/{chunk-VZ637IIF.js.map → chunk-W76ZMTUL.js.map} +1 -1
  58. package/dist/{chunk-RRPTBDJS.cjs → chunk-YIC7VJLO.cjs} +16 -16
  59. package/dist/{chunk-RRPTBDJS.cjs.map → chunk-YIC7VJLO.cjs.map} +1 -1
  60. package/dist/{chunk-XB3DA67Q.js → chunk-ZSBM2SVU.js} +818 -259
  61. package/dist/chunk-ZSBM2SVU.js.map +1 -0
  62. package/dist/datasets/experiment/scorer.d.ts.map +1 -1
  63. package/dist/datasets/index.cjs +17 -17
  64. package/dist/datasets/index.js +2 -2
  65. package/dist/evals/index.cjs +20 -20
  66. package/dist/evals/index.js +3 -3
  67. package/dist/evals/scoreTraces/index.cjs +7 -6
  68. package/dist/evals/scoreTraces/index.cjs.map +1 -1
  69. package/dist/evals/scoreTraces/index.js +4 -3
  70. package/dist/evals/scoreTraces/index.js.map +1 -1
  71. package/dist/evals/scoreTraces/scoreTracesWorkflow.d.ts.map +1 -1
  72. package/dist/harness/harness.d.ts +21 -1
  73. package/dist/harness/harness.d.ts.map +1 -1
  74. package/dist/harness/index.cjs +425 -8
  75. package/dist/harness/index.cjs.map +1 -1
  76. package/dist/harness/index.d.ts +2 -1
  77. package/dist/harness/index.d.ts.map +1 -1
  78. package/dist/harness/index.js +421 -6
  79. package/dist/harness/index.js.map +1 -1
  80. package/dist/harness/types.d.ts +151 -0
  81. package/dist/harness/types.d.ts.map +1 -1
  82. package/dist/index.cjs +2 -2
  83. package/dist/index.js +1 -1
  84. package/dist/llm/index.cjs +12 -12
  85. package/dist/llm/index.js +3 -3
  86. package/dist/loop/index.cjs +12 -12
  87. package/dist/loop/index.js +1 -1
  88. package/dist/loop/test-utils/tools.d.ts.map +1 -1
  89. package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
  90. package/dist/mastra/hooks.d.ts.map +1 -1
  91. package/dist/mastra/index.cjs +2 -2
  92. package/dist/mastra/index.js +1 -1
  93. package/dist/memory/index.cjs +14 -14
  94. package/dist/memory/index.js +1 -1
  95. package/dist/netlify-4RIKF7Y3.js +3 -0
  96. package/dist/{netlify-3HHPNARU.js.map → netlify-4RIKF7Y3.js.map} +1 -1
  97. package/dist/netlify-V5F7JEJH.cjs +12 -0
  98. package/dist/{netlify-D5FEV7IV.cjs.map → netlify-V5F7JEJH.cjs.map} +1 -1
  99. package/dist/processor-provider/index.cjs +10 -10
  100. package/dist/processor-provider/index.js +1 -1
  101. package/dist/processors/index.cjs +45 -41
  102. package/dist/processors/index.js +1 -1
  103. package/dist/processors/processors/index.d.ts +1 -0
  104. package/dist/processors/processors/index.d.ts.map +1 -1
  105. package/dist/processors/processors/workspace-instructions.d.ts +50 -0
  106. package/dist/processors/processors/workspace-instructions.d.ts.map +1 -0
  107. package/dist/provider-registry-ATIRWN2U.cjs +40 -0
  108. package/dist/{provider-registry-GVRCBLV2.cjs.map → provider-registry-ATIRWN2U.cjs.map} +1 -1
  109. package/dist/provider-registry-QKHLFFYZ.js +3 -0
  110. package/dist/{provider-registry-PB2XCHSW.js.map → provider-registry-QKHLFFYZ.js.map} +1 -1
  111. package/dist/relevance/index.cjs +3 -3
  112. package/dist/relevance/index.js +1 -1
  113. package/dist/storage/constants.cjs +56 -56
  114. package/dist/storage/constants.d.ts.map +1 -1
  115. package/dist/storage/constants.js +1 -1
  116. package/dist/storage/index.cjs +160 -160
  117. package/dist/storage/index.js +2 -2
  118. package/dist/storage/types.d.ts +2 -0
  119. package/dist/storage/types.d.ts.map +1 -1
  120. package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -1
  121. package/dist/stream/base/output.d.ts.map +1 -1
  122. package/dist/stream/index.cjs +8 -8
  123. package/dist/stream/index.js +1 -1
  124. package/dist/test-utils/llm-mock.cjs +4 -4
  125. package/dist/test-utils/llm-mock.js +1 -1
  126. package/dist/tool-loop-agent/index.cjs +4 -4
  127. package/dist/tool-loop-agent/index.js +1 -1
  128. package/dist/utils.cjs +23 -23
  129. package/dist/utils.js +1 -1
  130. package/dist/vector/index.cjs +7 -7
  131. package/dist/vector/index.js +1 -1
  132. package/dist/workflows/evented/index.cjs +10 -10
  133. package/dist/workflows/evented/index.js +1 -1
  134. package/dist/workflows/index.cjs +25 -25
  135. package/dist/workflows/index.js +1 -1
  136. package/dist/workspace/constants/index.d.ts +2 -0
  137. package/dist/workspace/constants/index.d.ts.map +1 -1
  138. package/dist/workspace/errors.d.ts +1 -1
  139. package/dist/workspace/errors.d.ts.map +1 -1
  140. package/dist/workspace/filesystem/composite-filesystem.d.ts +4 -1
  141. package/dist/workspace/filesystem/composite-filesystem.d.ts.map +1 -1
  142. package/dist/workspace/filesystem/file-write-lock.d.ts +35 -0
  143. package/dist/workspace/filesystem/file-write-lock.d.ts.map +1 -0
  144. package/dist/workspace/filesystem/filesystem.d.ts +5 -1
  145. package/dist/workspace/filesystem/filesystem.d.ts.map +1 -1
  146. package/dist/workspace/filesystem/index.d.ts +1 -0
  147. package/dist/workspace/filesystem/index.d.ts.map +1 -1
  148. package/dist/workspace/filesystem/local-filesystem.d.ts +17 -1
  149. package/dist/workspace/filesystem/local-filesystem.d.ts.map +1 -1
  150. package/dist/workspace/index.cjs +72 -64
  151. package/dist/workspace/index.d.ts +3 -2
  152. package/dist/workspace/index.d.ts.map +1 -1
  153. package/dist/workspace/index.js +1 -1
  154. package/dist/workspace/lifecycle.d.ts +1 -9
  155. package/dist/workspace/lifecycle.d.ts.map +1 -1
  156. package/dist/workspace/sandbox/index.d.ts +2 -0
  157. package/dist/workspace/sandbox/index.d.ts.map +1 -1
  158. package/dist/workspace/sandbox/local-process-manager.d.ts +18 -0
  159. package/dist/workspace/sandbox/local-process-manager.d.ts.map +1 -0
  160. package/dist/workspace/sandbox/local-sandbox.d.ts +49 -35
  161. package/dist/workspace/sandbox/local-sandbox.d.ts.map +1 -1
  162. package/dist/workspace/sandbox/mastra-sandbox.d.ts +45 -11
  163. package/dist/workspace/sandbox/mastra-sandbox.d.ts.map +1 -1
  164. package/dist/workspace/sandbox/native-sandbox/bubblewrap.d.ts +2 -3
  165. package/dist/workspace/sandbox/native-sandbox/bubblewrap.d.ts.map +1 -1
  166. package/dist/workspace/sandbox/native-sandbox/seatbelt.d.ts +2 -3
  167. package/dist/workspace/sandbox/native-sandbox/seatbelt.d.ts.map +1 -1
  168. package/dist/workspace/sandbox/native-sandbox/wrapper.d.ts +4 -5
  169. package/dist/workspace/sandbox/native-sandbox/wrapper.d.ts.map +1 -1
  170. package/dist/workspace/sandbox/process-manager/index.d.ts +4 -0
  171. package/dist/workspace/sandbox/process-manager/index.d.ts.map +1 -0
  172. package/dist/workspace/sandbox/process-manager/process-handle.d.ts +107 -0
  173. package/dist/workspace/sandbox/process-manager/process-handle.d.ts.map +1 -0
  174. package/dist/workspace/sandbox/process-manager/process-manager.d.ts +59 -0
  175. package/dist/workspace/sandbox/process-manager/process-manager.d.ts.map +1 -0
  176. package/dist/workspace/sandbox/process-manager/types.d.ts +24 -0
  177. package/dist/workspace/sandbox/process-manager/types.d.ts.map +1 -0
  178. package/dist/workspace/sandbox/sandbox.d.ts +38 -2
  179. package/dist/workspace/sandbox/sandbox.d.ts.map +1 -1
  180. package/dist/workspace/sandbox/types.d.ts +9 -2
  181. package/dist/workspace/sandbox/types.d.ts.map +1 -1
  182. package/dist/workspace/sandbox/utils.d.ts +7 -0
  183. package/dist/workspace/sandbox/utils.d.ts.map +1 -0
  184. package/dist/workspace/tools/execute-command.d.ts +53 -2
  185. package/dist/workspace/tools/execute-command.d.ts.map +1 -1
  186. package/dist/workspace/tools/get-process-output.d.ts +6 -0
  187. package/dist/workspace/tools/get-process-output.d.ts.map +1 -0
  188. package/dist/workspace/tools/index.d.ts +4 -1
  189. package/dist/workspace/tools/index.d.ts.map +1 -1
  190. package/dist/workspace/tools/kill-process.d.ts +4 -0
  191. package/dist/workspace/tools/kill-process.d.ts.map +1 -0
  192. package/dist/workspace/tools/output-helpers.d.ts +21 -0
  193. package/dist/workspace/tools/output-helpers.d.ts.map +1 -0
  194. package/dist/workspace/tools/tools.d.ts.map +1 -1
  195. package/dist/workspace/types.d.ts +31 -0
  196. package/dist/workspace/types.d.ts.map +1 -1
  197. package/dist/workspace/utils.d.ts +11 -0
  198. package/dist/workspace/utils.d.ts.map +1 -0
  199. package/dist/workspace/workspace.d.ts +36 -0
  200. package/dist/workspace/workspace.d.ts.map +1 -1
  201. package/package.json +7 -7
  202. package/dist/chunk-2DJYX47D.cjs.map +0 -1
  203. package/dist/chunk-5K45E5VE.js.map +0 -1
  204. package/dist/chunk-6ATXGF7O.cjs.map +0 -1
  205. package/dist/chunk-AYHSPIT6.cjs.map +0 -1
  206. package/dist/chunk-DBLC7EG2.js.map +0 -1
  207. package/dist/chunk-DJ4MO3IH.js.map +0 -1
  208. package/dist/chunk-MRJ4BXTA.js.map +0 -1
  209. package/dist/chunk-QXV7IU35.cjs.map +0 -1
  210. package/dist/chunk-TVPANHLE.cjs.map +0 -1
  211. package/dist/chunk-XB3DA67Q.js.map +0 -1
  212. package/dist/netlify-3HHPNARU.js +0 -3
  213. package/dist/netlify-D5FEV7IV.cjs +0 -12
  214. package/dist/provider-registry-GVRCBLV2.cjs +0 -40
  215. package/dist/provider-registry-PB2XCHSW.js +0 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,241 @@
1
1
  # @mastra/core
2
2
 
3
+ ## 1.7.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Added `getObservationalMemoryRecord()` method to the `Harness` class. Fixes #13392. ([#13395](https://github.com/mastra-ai/mastra/pull/13395))
8
+
9
+ This provides public access to the full `ObservationalMemoryRecord` for the current thread, including `activeObservations`, `generationCount`, and `observationTokenCount`. Previously, accessing raw observation text required bypassing the Harness abstraction by reaching into private storage internals.
10
+
11
+ ```typescript
12
+ const record = await harness.getObservationalMemoryRecord();
13
+ if (record) {
14
+ console.log(record.activeObservations);
15
+ }
16
+ ```
17
+
18
+ - Added `Workspace.setToolsConfig()` method for dynamically updating per-tool configuration at runtime without recreating the workspace instance. Passing `undefined` re-enables all tools. ([#13439](https://github.com/mastra-ai/mastra/pull/13439))
19
+
20
+ ```ts
21
+ const workspace = new Workspace({ filesystem, sandbox });
22
+
23
+ // Disable write tools (e.g., in plan/read-only mode)
24
+ workspace.setToolsConfig({
25
+ mastra_workspace_write_file: { enabled: false },
26
+ mastra_workspace_edit_file: { enabled: false },
27
+ });
28
+
29
+ // Re-enable all tools
30
+ workspace.setToolsConfig(undefined);
31
+ ```
32
+
33
+ - Added `HarnessDisplayState` so any UI can read a single state snapshot instead of handling 35+ individual events. ([#13427](https://github.com/mastra-ai/mastra/pull/13427))
34
+
35
+ **Why:** Previously, every UI (TUI, web, desktop) had to subscribe to dozens of granular Harness events and independently reconstruct what to display. This led to duplicated state tracking and inconsistencies across UI implementations. Now the Harness maintains a single canonical display state that any UI can read.
36
+
37
+ **Before:** UIs subscribed to raw events and built up display state locally:
38
+
39
+ ```ts
40
+ harness.subscribe((event) => {
41
+ if (event.type === 'agent_start') localState.isRunning = true;
42
+ if (event.type === 'agent_end') localState.isRunning = false;
43
+ if (event.type === 'tool_start') localState.tools.set(event.toolCallId, ...);
44
+ // ... 30+ more event types to handle
45
+ });
46
+ ```
47
+
48
+ **After:** UIs read a single snapshot from the Harness:
49
+
50
+ ```ts
51
+ import type { HarnessDisplayState } from '@mastra/core/harness';
52
+
53
+ harness.subscribe(event => {
54
+ const ds: HarnessDisplayState = harness.getDisplayState();
55
+ // ds.isRunning, ds.tokenUsage, ds.omProgress, ds.activeTools, etc.
56
+ renderUI(ds);
57
+ });
58
+ ```
59
+
60
+ - Prompt blocks can now define their own variables schema (`requestContextSchema`), allowing you to create reusable prompt blocks with typed variable placeholders. The server now correctly computes and returns draft/published status for prompt blocks. Existing databases are automatically migrated when upgrading. ([#13351](https://github.com/mastra-ai/mastra/pull/13351))
61
+
62
+ - **Workspace instruction improvements** ([#13304](https://github.com/mastra-ai/mastra/pull/13304))
63
+ - Added `Workspace.getInstructions()`: agents now receive accurate workspace context that distinguishes sandbox-accessible paths from workspace-only paths.
64
+ - Added `WorkspaceInstructionsProcessor`: workspace context is injected directly into the agent system message instead of embedded in tool descriptions.
65
+ - Deprecated `Workspace.getPathContext()` in favour of `getInstructions()`.
66
+
67
+ Added `instructions` option to `LocalFilesystem` and `LocalSandbox`. Pass a string to fully replace default instructions, or a function to extend them with access to the current `requestContext` for per-request customization (e.g. by tenant or locale).
68
+
69
+ ```typescript
70
+ const filesystem = new LocalFilesystem({
71
+ basePath: './workspace',
72
+ instructions: ({ defaultInstructions, requestContext }) => {
73
+ const locale = requestContext?.get('locale') ?? 'en';
74
+ return `${defaultInstructions}\nLocale: ${locale}`;
75
+ },
76
+ });
77
+ ```
78
+
79
+ - Added background process management to workspace sandboxes. ([#13293](https://github.com/mastra-ai/mastra/pull/13293))
80
+
81
+ You can now spawn, monitor, and manage long-running background processes (dev servers, watchers, REPLs) inside sandbox environments.
82
+
83
+ ```typescript
84
+ // Spawn a background process
85
+ const handle = await sandbox.processes.spawn('node server.js');
86
+
87
+ // Stream output and wait for exit
88
+ const result = await handle.wait({
89
+ onStdout: data => console.log(data),
90
+ });
91
+
92
+ // List and manage running processes
93
+ const procs = await sandbox.processes.list();
94
+ await sandbox.processes.kill(handle.pid);
95
+ ```
96
+
97
+ - `SandboxProcessManager` abstract base class with `spawn()`, `list()`, `get(pid)`, `kill(pid)`
98
+ - `ProcessHandle` base class with stdout/stderr accumulation, streaming callbacks, and `wait()`
99
+ - `LocalProcessManager` implementation wrapping Node.js `child_process`
100
+ - Node.js stream interop via `handle.reader` / `handle.writer`
101
+ - Default `executeCommand` implementation built on process manager (spawn + wait)
102
+
103
+ - Added workspace tools for background process management and improved sandbox execution UI. ([#13309](https://github.com/mastra-ai/mastra/pull/13309))
104
+ - `execute_command` now supports `background: true` to spawn long-running processes and return a PID
105
+ - New `get_process_output` tool to check output/status of background processes (supports `wait` to block until exit)
106
+ - New `kill_process` tool to terminate background processes
107
+ - Output truncation helpers with configurable tail lines
108
+ - Sandbox execution badge UI: terminal-style output display with streaming, exit codes, killed status, and workspace metadata
109
+
110
+ ### Patch Changes
111
+
112
+ - Fixed agents-as-tools failing with OpenAI when using the model router. The auto-injected `resumeData` field (from `z.any()`) produced a JSON Schema without a `type` key, which OpenAI rejects. Tool schemas are now post-processed to ensure all properties have valid type information. ([#13326](https://github.com/mastra-ai/mastra/pull/13326))
113
+
114
+ - Fixed `stopWhen` callback receiving empty `toolResults` on steps. `step.toolResults` now correctly reflects the tool results present in `step.content`. ([#13319](https://github.com/mastra-ai/mastra/pull/13319))
115
+
116
+ - Added `hasJudge` metadata to scorer records so the studio can distinguish code-based scorers (e.g., textual-difference, content-similarity) from LLM-based scorers. This metadata is now included in all four score-saving paths: `runEvals`, scorer hooks, trace scoring, and dataset experiments. ([#13386](https://github.com/mastra-ai/mastra/pull/13386))
117
+
118
+ - Fixed a bug where custom output processors could not emit stream events during final output processing. The `writer` object was always `undefined` when passed to output processors in the finish phase, preventing use cases like streaming moderation updates or custom UI events back to the client. ([#13454](https://github.com/mastra-ai/mastra/pull/13454))
119
+
120
+ - Added per-file write locking to workspace tools (edit_file, write_file, ast_edit, delete). Concurrent tool calls targeting the same file are now serialized, preventing race conditions where parallel edits could silently overwrite each other. ([#13302](https://github.com/mastra-ai/mastra/pull/13302))
121
+
122
+ ## 1.7.0-alpha.0
123
+
124
+ ### Minor Changes
125
+
126
+ - Added `getObservationalMemoryRecord()` method to the `Harness` class. Fixes #13392. ([#13395](https://github.com/mastra-ai/mastra/pull/13395))
127
+
128
+ This provides public access to the full `ObservationalMemoryRecord` for the current thread, including `activeObservations`, `generationCount`, and `observationTokenCount`. Previously, accessing raw observation text required bypassing the Harness abstraction by reaching into private storage internals.
129
+
130
+ ```typescript
131
+ const record = await harness.getObservationalMemoryRecord();
132
+ if (record) {
133
+ console.log(record.activeObservations);
134
+ }
135
+ ```
136
+
137
+ - Added `Workspace.setToolsConfig()` method for dynamically updating per-tool configuration at runtime without recreating the workspace instance. Passing `undefined` re-enables all tools. ([#13439](https://github.com/mastra-ai/mastra/pull/13439))
138
+
139
+ ```ts
140
+ const workspace = new Workspace({ filesystem, sandbox });
141
+
142
+ // Disable write tools (e.g., in plan/read-only mode)
143
+ workspace.setToolsConfig({
144
+ mastra_workspace_write_file: { enabled: false },
145
+ mastra_workspace_edit_file: { enabled: false },
146
+ });
147
+
148
+ // Re-enable all tools
149
+ workspace.setToolsConfig(undefined);
150
+ ```
151
+
152
+ - Added `HarnessDisplayState` so any UI can read a single state snapshot instead of handling 35+ individual events. ([#13427](https://github.com/mastra-ai/mastra/pull/13427))
153
+
154
+ **Why:** Previously, every UI (TUI, web, desktop) had to subscribe to dozens of granular Harness events and independently reconstruct what to display. This led to duplicated state tracking and inconsistencies across UI implementations. Now the Harness maintains a single canonical display state that any UI can read.
155
+
156
+ **Before:** UIs subscribed to raw events and built up display state locally:
157
+
158
+ ```ts
159
+ harness.subscribe((event) => {
160
+ if (event.type === 'agent_start') localState.isRunning = true;
161
+ if (event.type === 'agent_end') localState.isRunning = false;
162
+ if (event.type === 'tool_start') localState.tools.set(event.toolCallId, ...);
163
+ // ... 30+ more event types to handle
164
+ });
165
+ ```
166
+
167
+ **After:** UIs read a single snapshot from the Harness:
168
+
169
+ ```ts
170
+ import type { HarnessDisplayState } from '@mastra/core/harness';
171
+
172
+ harness.subscribe(event => {
173
+ const ds: HarnessDisplayState = harness.getDisplayState();
174
+ // ds.isRunning, ds.tokenUsage, ds.omProgress, ds.activeTools, etc.
175
+ renderUI(ds);
176
+ });
177
+ ```
178
+
179
+ - Prompt blocks can now define their own variables schema (`requestContextSchema`), allowing you to create reusable prompt blocks with typed variable placeholders. The server now correctly computes and returns draft/published status for prompt blocks. Existing databases are automatically migrated when upgrading. ([#13351](https://github.com/mastra-ai/mastra/pull/13351))
180
+
181
+ - **Workspace instruction improvements** ([#13304](https://github.com/mastra-ai/mastra/pull/13304))
182
+ - Added `Workspace.getInstructions()`: agents now receive accurate workspace context that distinguishes sandbox-accessible paths from workspace-only paths.
183
+ - Added `WorkspaceInstructionsProcessor`: workspace context is injected directly into the agent system message instead of embedded in tool descriptions.
184
+ - Deprecated `Workspace.getPathContext()` in favour of `getInstructions()`.
185
+
186
+ Added `instructions` option to `LocalFilesystem` and `LocalSandbox`. Pass a string to fully replace default instructions, or a function to extend them with access to the current `requestContext` for per-request customization (e.g. by tenant or locale).
187
+
188
+ ```typescript
189
+ const filesystem = new LocalFilesystem({
190
+ basePath: './workspace',
191
+ instructions: ({ defaultInstructions, requestContext }) => {
192
+ const locale = requestContext?.get('locale') ?? 'en';
193
+ return `${defaultInstructions}\nLocale: ${locale}`;
194
+ },
195
+ });
196
+ ```
197
+
198
+ - Added background process management to workspace sandboxes. ([#13293](https://github.com/mastra-ai/mastra/pull/13293))
199
+
200
+ You can now spawn, monitor, and manage long-running background processes (dev servers, watchers, REPLs) inside sandbox environments.
201
+
202
+ ```typescript
203
+ // Spawn a background process
204
+ const handle = await sandbox.processes.spawn('node server.js');
205
+
206
+ // Stream output and wait for exit
207
+ const result = await handle.wait({
208
+ onStdout: data => console.log(data),
209
+ });
210
+
211
+ // List and manage running processes
212
+ const procs = await sandbox.processes.list();
213
+ await sandbox.processes.kill(handle.pid);
214
+ ```
215
+
216
+ - `SandboxProcessManager` abstract base class with `spawn()`, `list()`, `get(pid)`, `kill(pid)`
217
+ - `ProcessHandle` base class with stdout/stderr accumulation, streaming callbacks, and `wait()`
218
+ - `LocalProcessManager` implementation wrapping Node.js `child_process`
219
+ - Node.js stream interop via `handle.reader` / `handle.writer`
220
+ - Default `executeCommand` implementation built on process manager (spawn + wait)
221
+
222
+ - Added workspace tools for background process management and improved sandbox execution UI. ([#13309](https://github.com/mastra-ai/mastra/pull/13309))
223
+ - `execute_command` now supports `background: true` to spawn long-running processes and return a PID
224
+ - New `get_process_output` tool to check output/status of background processes (supports `wait` to block until exit)
225
+ - New `kill_process` tool to terminate background processes
226
+ - Output truncation helpers with configurable tail lines
227
+ - Sandbox execution badge UI: terminal-style output display with streaming, exit codes, killed status, and workspace metadata
228
+
229
+ ### Patch Changes
230
+
231
+ - Fixed agents-as-tools failing with OpenAI when using the model router. The auto-injected `resumeData` field (from `z.any()`) produced a JSON Schema without a `type` key, which OpenAI rejects. Tool schemas are now post-processed to ensure all properties have valid type information. ([#13326](https://github.com/mastra-ai/mastra/pull/13326))
232
+
233
+ - Fixed `stopWhen` callback receiving empty `toolResults` on steps. `step.toolResults` now correctly reflects the tool results present in `step.content`. ([#13319](https://github.com/mastra-ai/mastra/pull/13319))
234
+
235
+ - Added `hasJudge` metadata to scorer records so the studio can distinguish code-based scorers (e.g., textual-difference, content-similarity) from LLM-based scorers. This metadata is now included in all four score-saving paths: `runEvals`, scorer hooks, trace scoring, and dataset experiments. ([#13386](https://github.com/mastra-ai/mastra/pull/13386))
236
+
237
+ - Added per-file write locking to workspace tools (edit_file, write_file, ast_edit, delete). Concurrent tool calls targeting the same file are now serialized, preventing race conditions where parallel edits could silently overwrite each other. ([#13302](https://github.com/mastra-ai/mastra/pull/13302))
238
+
3
239
  ## 1.6.0
4
240
 
5
241
  ### Minor Changes
@@ -85,6 +85,12 @@ export declare class Agent<TAgentId extends string = string, TTools extends Tool
85
85
  * @internal
86
86
  */
87
87
  private getSkillsProcessors;
88
+ /**
89
+ * Gets the workspace-instructions processors to add when the workspace has a
90
+ * filesystem or sandbox (i.e. something to describe).
91
+ * @internal
92
+ */
93
+ private getWorkspaceInstructionsProcessors;
88
94
  /**
89
95
  * Returns the agents configured for this agent, resolving function-based agents if necessary.
90
96
  * Used in multi-agent collaboration scenarios where this agent can delegate to other agents.
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"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"}
@@ -1,37 +1,37 @@
1
1
  'use strict';
2
2
 
3
- var chunkQXV7IU35_cjs = require('../chunk-QXV7IU35.cjs');
3
+ var chunk7AEB7OKU_cjs = require('../chunk-7AEB7OKU.cjs');
4
4
  var chunkJNE7ZGMB_cjs = require('../chunk-JNE7ZGMB.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "Agent", {
9
9
  enumerable: true,
10
- get: function () { return chunkQXV7IU35_cjs.Agent; }
10
+ get: function () { return chunk7AEB7OKU_cjs.Agent; }
11
11
  });
12
12
  Object.defineProperty(exports, "TripWire", {
13
13
  enumerable: true,
14
- get: function () { return chunkQXV7IU35_cjs.TripWire; }
14
+ get: function () { return chunk7AEB7OKU_cjs.TripWire; }
15
15
  });
16
16
  Object.defineProperty(exports, "isSupportedLanguageModel", {
17
17
  enumerable: true,
18
- get: function () { return chunkQXV7IU35_cjs.isSupportedLanguageModel; }
18
+ get: function () { return chunk7AEB7OKU_cjs.isSupportedLanguageModel; }
19
19
  });
20
20
  Object.defineProperty(exports, "resolveThreadIdFromArgs", {
21
21
  enumerable: true,
22
- get: function () { return chunkQXV7IU35_cjs.resolveThreadIdFromArgs; }
22
+ get: function () { return chunk7AEB7OKU_cjs.resolveThreadIdFromArgs; }
23
23
  });
24
24
  Object.defineProperty(exports, "supportedLanguageModelSpecifications", {
25
25
  enumerable: true,
26
- get: function () { return chunkQXV7IU35_cjs.supportedLanguageModelSpecifications; }
26
+ get: function () { return chunk7AEB7OKU_cjs.supportedLanguageModelSpecifications; }
27
27
  });
28
28
  Object.defineProperty(exports, "tryGenerateWithJsonFallback", {
29
29
  enumerable: true,
30
- get: function () { return chunkQXV7IU35_cjs.tryGenerateWithJsonFallback; }
30
+ get: function () { return chunk7AEB7OKU_cjs.tryGenerateWithJsonFallback; }
31
31
  });
32
32
  Object.defineProperty(exports, "tryStreamWithJsonFallback", {
33
33
  enumerable: true,
34
- get: function () { return chunkQXV7IU35_cjs.tryStreamWithJsonFallback; }
34
+ get: function () { return chunk7AEB7OKU_cjs.tryStreamWithJsonFallback; }
35
35
  });
36
36
  Object.defineProperty(exports, "MessageList", {
37
37
  enumerable: true,
@@ -1,4 +1,4 @@
1
- export { Agent, TripWire, isSupportedLanguageModel, resolveThreadIdFromArgs, supportedLanguageModelSpecifications, tryGenerateWithJsonFallback, tryStreamWithJsonFallback } from '../chunk-DJ4MO3IH.js';
1
+ export { Agent, TripWire, isSupportedLanguageModel, resolveThreadIdFromArgs, supportedLanguageModelSpecifications, tryGenerateWithJsonFallback, tryStreamWithJsonFallback } from '../chunk-JFR6DVIJ.js';
2
2
  export { MessageList, TypeDetector, aiV5ModelMessageToV2PromptMessage, convertMessages } from '../chunk-JZQLYZ62.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkQXV7IU35_cjs = require('./chunk-QXV7IU35.cjs');
4
- var chunkTVPANHLE_cjs = require('./chunk-TVPANHLE.cjs');
3
+ var chunk7AEB7OKU_cjs = require('./chunk-7AEB7OKU.cjs');
4
+ var chunkSBOHDNIZ_cjs = require('./chunk-SBOHDNIZ.cjs');
5
5
  var chunk4U7ZLI36_cjs = require('./chunk-4U7ZLI36.cjs');
6
6
  var pMap = require('p-map');
7
7
 
@@ -56,6 +56,10 @@ function createOnScorerHook(mastra) {
56
56
  scorerId,
57
57
  spanId,
58
58
  traceId,
59
+ scorer: {
60
+ ...rest.scorer,
61
+ hasJudge: !!scorerToUse.scorer.judge
62
+ },
59
63
  metadata: {
60
64
  structuredOutput: !!structuredOutput
61
65
  }
@@ -114,7 +118,7 @@ async function validateAndSaveScore(storage, payload) {
114
118
  text: "Scores storage domain is not available"
115
119
  });
116
120
  }
117
- const payloadToSave = chunkTVPANHLE_cjs.saveScorePayloadSchema.parse(payload);
121
+ const payloadToSave = chunkSBOHDNIZ_cjs.saveScorePayloadSchema.parse(payload);
118
122
  await scoresStore.saveScore(payloadToSave);
119
123
  }
120
124
  async function findScorer(mastra, entityId, entityType, scorerId) {
@@ -291,7 +295,7 @@ async function runEvals(config) {
291
295
  };
292
296
  }
293
297
  function isWorkflow(target) {
294
- return target instanceof chunkQXV7IU35_cjs.Workflow;
298
+ return target instanceof chunk7AEB7OKU_cjs.Workflow;
295
299
  }
296
300
  function isWorkflowScorerConfig(scorers) {
297
301
  return typeof scorers === "object" && !Array.isArray(scorers) && ("workflow" in scorers || "steps" in scorers);
@@ -382,7 +386,7 @@ async function executeWorkflow(target, item) {
382
386
  }
383
387
  async function executeAgent(agent, item) {
384
388
  const model = await agent.getModel();
385
- if (chunkQXV7IU35_cjs.isSupportedLanguageModel(model)) {
389
+ if (chunk7AEB7OKU_cjs.isSupportedLanguageModel(model)) {
386
390
  return await agent.generate(item.input, {
387
391
  scorers: {},
388
392
  returnScorerData: true,
@@ -590,7 +594,8 @@ async function saveSingleScore({
590
594
  id: scorer?.id || scorerId,
591
595
  name: scorer?.name || scorerId,
592
596
  description: scorer?.description || "",
593
- type: scorer?.type || "unknown"
597
+ type: scorer?.type || "unknown",
598
+ ...scorer ? { hasJudge: !!scorer.judge } : {}
594
599
  },
595
600
  entity: {
596
601
  id: target.id,
@@ -613,5 +618,5 @@ async function saveSingleScore({
613
618
  exports.createOnScorerHook = createOnScorerHook;
614
619
  exports.runEvals = runEvals;
615
620
  exports.validateAndSaveScore = validateAndSaveScore;
616
- //# sourceMappingURL=chunk-6ATXGF7O.cjs.map
617
- //# sourceMappingURL=chunk-6ATXGF7O.cjs.map
621
+ //# sourceMappingURL=chunk-2AAFKTCG.cjs.map
622
+ //# sourceMappingURL=chunk-2AAFKTCG.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/mastra/hooks.ts","../src/evals/run/scorerAccumulator.ts","../src/evals/run/index.ts"],"names":["MastraError","pMap","saveScorePayloadSchema","Workflow","isSupportedLanguageModel"],"mappings":"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","file":"chunk-2AAFKTCG.cjs","sourcesContent":["import pMap from 'p-map';\nimport { ErrorCategory, ErrorDomain, MastraError } from '../error';\nimport { saveScorePayloadSchema } from '../evals';\nimport type { ScoringHookInput } from '../evals/types';\nimport type { Mastra } from '../mastra';\nimport type { MastraStorage } from '../storage';\n\nexport function createOnScorerHook(mastra: Mastra) {\n return async (hookData: ScoringHookInput) => {\n const storage = mastra.getStorage();\n\n if (!storage) {\n mastra.getLogger()?.warn('Storage not found, skipping score validation and saving');\n return;\n }\n\n const entityId = hookData.entity.id as string;\n const entityType = hookData.entityType;\n const scorer = hookData.scorer;\n const scorerId = scorer.id as string;\n\n if (!scorerId) {\n mastra.getLogger()?.warn('Scorer ID not found, skipping score validation and saving');\n return;\n }\n\n try {\n const scorerToUse = await findScorer(mastra, entityId, entityType, scorerId);\n\n if (!scorerToUse) {\n throw new MastraError({\n id: 'MASTRA_SCORER_NOT_FOUND',\n domain: ErrorDomain.MASTRA,\n category: ErrorCategory.USER,\n text: `Scorer with ID ${scorerId} not found`,\n });\n }\n\n let input = hookData.input;\n let output = hookData.output;\n\n const { structuredOutput, ...rest } = hookData;\n\n const runResult = await scorerToUse.scorer.run({\n ...rest,\n input,\n output,\n });\n\n let spanId;\n let traceId;\n const currentSpan = hookData.tracingContext?.currentSpan;\n if (currentSpan && currentSpan.isValid) {\n spanId = currentSpan.id;\n traceId = currentSpan.traceId;\n }\n\n const payload = {\n ...rest,\n ...runResult,\n entityId,\n scorerId: scorerId,\n spanId,\n traceId,\n scorer: {\n ...rest.scorer,\n hasJudge: !!scorerToUse.scorer.judge,\n },\n metadata: {\n structuredOutput: !!structuredOutput,\n },\n };\n await validateAndSaveScore(storage, payload);\n\n if (currentSpan && spanId && traceId) {\n await pMap(\n currentSpan.observabilityInstance.getExporters(),\n async exporter => {\n if (exporter.addScoreToTrace) {\n try {\n await exporter.addScoreToTrace({\n traceId: traceId,\n spanId: spanId,\n score: runResult.score as number,\n reason: runResult.reason as string,\n scorerName: scorerToUse.scorer.id,\n metadata: {\n ...(currentSpan.metadata ?? {}),\n },\n });\n } catch (error) {\n // Log error but don't fail the hook if exporter fails\n mastra.getLogger()?.error(`Failed to add score to trace via exporter: ${error}`);\n }\n }\n },\n { concurrency: 3 },\n );\n }\n } catch (error) {\n const mastraError = new MastraError(\n {\n id: 'MASTRA_SCORER_FAILED_TO_RUN_HOOK',\n domain: ErrorDomain.SCORER,\n category: ErrorCategory.USER,\n details: {\n scorerId,\n entityId,\n entityType,\n },\n },\n error,\n );\n\n mastra.getLogger()?.trackException(mastraError);\n mastra.getLogger()?.error(mastraError.toString());\n }\n };\n}\n\nexport async function validateAndSaveScore(storage: MastraStorage, payload: unknown) {\n const scoresStore = await storage.getStore('scores');\n if (!scoresStore) {\n throw new MastraError({\n id: 'MASTRA_SCORES_STORAGE_NOT_AVAILABLE',\n domain: ErrorDomain.STORAGE,\n category: ErrorCategory.SYSTEM,\n text: 'Scores storage domain is not available',\n });\n }\n const payloadToSave = saveScorePayloadSchema.parse(payload);\n await scoresStore.saveScore(payloadToSave);\n}\n\nasync function findScorer(mastra: Mastra, entityId: string, entityType: string, scorerId: string) {\n let scorerToUse;\n if (entityType === 'AGENT') {\n // Try code-defined agents first\n try {\n const agent = mastra.getAgentById(entityId);\n const scorers = await agent.listScorers();\n for (const [_, scorer] of Object.entries(scorers)) {\n if (scorer.scorer.id === scorerId) {\n scorerToUse = scorer;\n break;\n }\n }\n } catch {\n // Agent not found in code-defined agents, try stored agents via editor\n try {\n const storedAgent = (await mastra.getEditor()?.agent.getById(entityId)) ?? null;\n if (storedAgent) {\n const scorers = await storedAgent.listScorers();\n for (const [_, scorer] of Object.entries(scorers) as [string, any][]) {\n if (scorer.scorer.id === scorerId) {\n scorerToUse = scorer;\n break;\n }\n }\n }\n } catch {\n // Stored agent also not found, will fall back to mastra-registered scorer\n }\n }\n } else if (entityType === 'WORKFLOW') {\n const scorers = await mastra.getWorkflowById(entityId).listScorers();\n for (const [_, scorer] of Object.entries(scorers)) {\n if (scorer.scorer.id === scorerId) {\n scorerToUse = scorer;\n break;\n }\n }\n }\n\n // Fallback to mastra-registered scorer\n if (!scorerToUse) {\n const mastraRegisteredScorer = mastra.getScorerById(scorerId);\n scorerToUse = mastraRegisteredScorer ? { scorer: mastraRegisteredScorer } : undefined;\n }\n\n return scorerToUse;\n}\n","export class ScoreAccumulator {\n private flatScores: Record<string, number[]> = {};\n private workflowScores: Record<string, number[]> = {};\n private stepScores: Record<string, Record<string, number[]>> = {};\n\n addScores(scorerResults: Record<string, any>) {\n const isTargetWorkflowAndHasStepScores = 'steps' in scorerResults;\n if (isTargetWorkflowAndHasStepScores) {\n this.addNestedScores(scorerResults);\n } else {\n this.addFlatScores(scorerResults);\n }\n }\n\n private addFlatScores(scorerResults: Record<string, any>) {\n for (const [scorerName, result] of Object.entries(scorerResults)) {\n if (!this.flatScores[scorerName]) {\n this.flatScores[scorerName] = [];\n }\n this.flatScores[scorerName].push((result as { score: number }).score);\n }\n }\n\n private addNestedScores(scorerResults: Record<string, any>) {\n if ('workflow' in scorerResults && scorerResults.workflow) {\n for (const [scorerName, result] of Object.entries(scorerResults.workflow)) {\n if (!this.workflowScores[scorerName]) {\n this.workflowScores[scorerName] = [];\n }\n this.workflowScores[scorerName].push((result as { score: number }).score);\n }\n }\n\n if ('steps' in scorerResults && scorerResults.steps) {\n for (const [stepId, stepResults] of Object.entries(scorerResults.steps)) {\n if (!this.stepScores[stepId]) {\n this.stepScores[stepId] = {};\n }\n for (const [scorerName, result] of Object.entries(stepResults as Record<string, any>)) {\n if (!this.stepScores[stepId][scorerName]) {\n this.stepScores[stepId][scorerName] = [];\n }\n this.stepScores[stepId][scorerName].push((result as { score: number }).score);\n }\n }\n }\n }\n\n addStepScores(stepScorerResults: Record<string, Record<string, any>>) {\n for (const [stepId, stepResults] of Object.entries(stepScorerResults)) {\n if (!this.stepScores[stepId]) {\n this.stepScores[stepId] = {};\n }\n for (const [scorerName, result] of Object.entries(stepResults)) {\n if (!this.stepScores[stepId][scorerName]) {\n this.stepScores[stepId][scorerName] = [];\n }\n this.stepScores[stepId][scorerName].push((result as { score: number }).score);\n }\n }\n }\n\n getAverageScores(): Record<string, any> {\n const result: Record<string, any> = {};\n\n for (const [scorerName, scoreArray] of Object.entries(this.flatScores)) {\n result[scorerName] = this.getAverageScore(scoreArray);\n }\n\n // Add workflow scores\n if (Object.keys(this.workflowScores).length > 0) {\n result.workflow = {};\n for (const [scorerName, scoreArray] of Object.entries(this.workflowScores)) {\n result.workflow[scorerName] = this.getAverageScore(scoreArray);\n }\n }\n\n if (Object.keys(this.stepScores).length > 0) {\n result.steps = {};\n for (const [stepId, stepScorers] of Object.entries(this.stepScores)) {\n result.steps[stepId] = {};\n for (const [scorerName, scoreArray] of Object.entries(stepScorers)) {\n result.steps[stepId][scorerName] = this.getAverageScore(scoreArray);\n }\n }\n }\n\n return result;\n }\n\n private getAverageScore(scoreArray: number[]): number {\n if (scoreArray.length > 0) {\n return scoreArray.reduce((a, b) => a + b, 0) / scoreArray.length;\n } else {\n return 0;\n }\n }\n}\n","import type { CoreMessage } from '@internal/ai-sdk-v4';\nimport type { Agent, AiMessageType, UIMessageWithMetadata } from '../../agent';\nimport { isSupportedLanguageModel } from '../../agent';\nimport { MastraError } from '../../error';\nimport { validateAndSaveScore } from '../../mastra/hooks';\nimport type { TracingContext } from '../../observability';\nimport type { RequestContext } from '../../request-context';\nimport { Workflow } from '../../workflows';\nimport type { AnyWorkflow, WorkflowResult, StepResult } from '../../workflows';\nimport type { MastraScorer } from '../base';\nimport { ScoreAccumulator } from './scorerAccumulator';\n\ntype RunEvalsDataItem<TTarget = unknown> = {\n input: TTarget extends Workflow<any, any>\n ? any\n : TTarget extends Agent\n ? string | string[] | CoreMessage[] | AiMessageType[] | UIMessageWithMetadata[]\n : unknown;\n groundTruth?: any;\n requestContext?: RequestContext;\n tracingContext?: TracingContext;\n};\n\ntype WorkflowScorerConfig = {\n workflow?: MastraScorer<any, any, any, any>[];\n steps?: Record<string, MastraScorer<any, any, any, any>[]>;\n};\n\ntype RunEvalsResult = {\n scores: Record<string, any>;\n summary: {\n totalItems: number;\n };\n};\n\n// Agent with scorers array\nexport function runEvals<TAgent extends Agent>(config: {\n data: RunEvalsDataItem<TAgent>[];\n scorers: MastraScorer<any, any, any, any>[];\n target: TAgent;\n onItemComplete?: (params: {\n item: RunEvalsDataItem<TAgent>;\n targetResult: Awaited<ReturnType<Agent['generate']>>;\n scorerResults: Record<string, any>; // Flat structure: { scorerName: result }\n }) => void | Promise<void>;\n concurrency?: number;\n}): Promise<RunEvalsResult>;\n\n// Workflow with scorers array\nexport function runEvals<TWorkflow extends AnyWorkflow>(config: {\n data: RunEvalsDataItem<TWorkflow>[];\n scorers: MastraScorer<any, any, any, any>[];\n target: TWorkflow;\n onItemComplete?: (params: {\n item: RunEvalsDataItem<TWorkflow>;\n targetResult: WorkflowResult<any, any, any, any>;\n scorerResults: Record<string, any>; // Flat structure: { scorerName: result }\n }) => void | Promise<void>;\n concurrency?: number;\n}): Promise<RunEvalsResult>;\n\n// Workflow with workflow configuration\nexport function runEvals<TWorkflow extends AnyWorkflow>(config: {\n data: RunEvalsDataItem<TWorkflow>[];\n scorers: WorkflowScorerConfig;\n target: TWorkflow;\n onItemComplete?: (params: {\n item: RunEvalsDataItem<TWorkflow>;\n targetResult: WorkflowResult<any, any, any, any>;\n scorerResults: {\n workflow?: Record<string, any>;\n steps?: Record<string, Record<string, any>>;\n };\n }) => void | Promise<void>;\n concurrency?: number;\n}): Promise<RunEvalsResult>;\nexport async function runEvals(config: {\n data: RunEvalsDataItem<any>[];\n scorers: MastraScorer<any, any, any, any>[] | WorkflowScorerConfig;\n target: Agent | Workflow;\n onItemComplete?: (params: {\n item: RunEvalsDataItem<any>;\n targetResult: any;\n scorerResults: any;\n }) => void | Promise<void>;\n concurrency?: number;\n}): Promise<RunEvalsResult> {\n const { data, scorers, target, onItemComplete, concurrency = 1 } = config;\n\n validateEvalsInputs(data, scorers, target);\n\n let totalItems = 0;\n const scoreAccumulator = new ScoreAccumulator();\n\n // Get storage from target's Mastra instance if available\n // Agent uses getMastraInstance(), Workflow uses .mastra getter\n const mastra = (target as any).getMastraInstance?.() || (target as any).mastra;\n const storage = mastra?.getStorage();\n\n const pMap = (await import('p-map')).default;\n await pMap(\n data,\n async (item: RunEvalsDataItem<any>) => {\n const targetResult = await executeTarget(target, item);\n const scorerResults = await runScorers(scorers, targetResult, item);\n scoreAccumulator.addScores(scorerResults);\n\n // Save scores to storage if available\n if (storage) {\n await saveScoresToStorage({\n storage,\n scorerResults,\n target,\n item,\n mastra,\n });\n }\n\n if (onItemComplete) {\n await onItemComplete({\n item,\n targetResult: targetResult as any,\n scorerResults: scorerResults as any,\n });\n }\n\n totalItems++;\n },\n { concurrency },\n );\n\n return {\n scores: scoreAccumulator.getAverageScores(),\n summary: {\n totalItems,\n },\n };\n}\n\nfunction isWorkflow(target: Agent | Workflow): target is Workflow {\n return target instanceof Workflow;\n}\n\nfunction isWorkflowScorerConfig(scorers: any): scorers is WorkflowScorerConfig {\n return typeof scorers === 'object' && !Array.isArray(scorers) && ('workflow' in scorers || 'steps' in scorers);\n}\n\nfunction validateEvalsInputs(\n data: RunEvalsDataItem<any>[],\n scorers: MastraScorer<any, any, any, any>[] | WorkflowScorerConfig,\n target: Agent | Workflow,\n): void {\n if (data.length === 0) {\n throw new MastraError({\n domain: 'SCORER',\n id: 'RUN_EXPERIMENT_FAILED_NO_DATA_PROVIDED',\n category: 'USER',\n text: 'Failed to run experiment: Data array is empty',\n });\n }\n\n for (let i = 0; i < data.length; i++) {\n const item = data[i];\n if (!item || typeof item !== 'object' || !('input' in item)) {\n throw new MastraError({\n domain: 'SCORER',\n id: 'INVALID_DATA_ITEM',\n category: 'USER',\n text: `Invalid data item at index ${i}: must have 'input' properties`,\n });\n }\n }\n\n // Validate scorers\n if (Array.isArray(scorers)) {\n if (scorers.length === 0) {\n throw new MastraError({\n domain: 'SCORER',\n id: 'NO_SCORERS_PROVIDED',\n category: 'USER',\n text: 'At least one scorer must be provided',\n });\n }\n } else if (isWorkflow(target) && isWorkflowScorerConfig(scorers)) {\n const hasScorers =\n (scorers.workflow && scorers.workflow.length > 0) || (scorers.steps && Object.keys(scorers.steps).length > 0);\n\n if (!hasScorers) {\n throw new MastraError({\n domain: 'SCORER',\n id: 'NO_SCORERS_PROVIDED',\n category: 'USER',\n text: 'At least one workflow or step scorer must be provided',\n });\n }\n } else if (!isWorkflow(target) && !Array.isArray(scorers)) {\n throw new MastraError({\n domain: 'SCORER',\n id: 'INVALID_AGENT_SCORERS',\n category: 'USER',\n text: 'Agent scorers must be an array of scorers',\n });\n }\n}\n\nasync function executeTarget(target: Agent | Workflow, item: RunEvalsDataItem<any>) {\n try {\n if (isWorkflow(target)) {\n return await executeWorkflow(target, item);\n } else {\n return await executeAgent(target, item);\n }\n } catch (error) {\n throw new MastraError(\n {\n domain: 'SCORER',\n id: 'RUN_EXPERIMENT_TARGET_FAILED_TO_GENERATE_RESULT',\n category: 'USER',\n text: 'Failed to run experiment: Error generating result from target',\n details: {\n item: JSON.stringify(item),\n },\n },\n error,\n );\n }\n}\n\nasync function executeWorkflow(target: Workflow, item: RunEvalsDataItem<any>) {\n const run = await target.createRun({ disableScorers: true });\n const workflowResult = await run.start({\n inputData: item.input,\n requestContext: item.requestContext,\n });\n\n return {\n scoringData: {\n input: item.input,\n output: workflowResult.status === 'success' ? workflowResult.result : undefined,\n stepResults: workflowResult.steps as Record<string, StepResult<any, any, any, any>>,\n },\n };\n}\n\nasync function executeAgent(agent: Agent, item: RunEvalsDataItem<any>) {\n const model = await agent.getModel();\n if (isSupportedLanguageModel(model)) {\n return await agent.generate(item.input as any, {\n scorers: {},\n returnScorerData: true,\n requestContext: item.requestContext,\n });\n } else {\n return await agent.generateLegacy(item.input as any, {\n scorers: {},\n returnScorerData: true,\n requestContext: item.requestContext,\n });\n }\n}\n\nasync function runScorers(\n scorers: MastraScorer<any, any, any, any>[] | WorkflowScorerConfig,\n targetResult: any,\n item: RunEvalsDataItem<any>,\n): Promise<Record<string, any>> {\n const scorerResults: Record<string, any> = {};\n\n if (Array.isArray(scorers)) {\n for (const scorer of scorers) {\n try {\n const score = await scorer.run({\n input: targetResult.scoringData?.input,\n output: targetResult.scoringData?.output,\n groundTruth: item.groundTruth,\n requestContext: item.requestContext,\n tracingContext: item.tracingContext,\n });\n\n scorerResults[scorer.id] = score;\n } catch (error) {\n throw new MastraError(\n {\n domain: 'SCORER',\n id: 'RUN_EXPERIMENT_SCORER_FAILED_TO_SCORE_RESULT',\n category: 'USER',\n text: `Failed to run experiment: Error running scorer ${scorer.id}`,\n details: {\n scorerId: scorer.id,\n item: JSON.stringify(item),\n },\n },\n error,\n );\n }\n }\n } else {\n // Handle workflow scorer config\n if (scorers.workflow) {\n const workflowScorerResults: Record<string, any> = {};\n for (const scorer of scorers.workflow) {\n const score = await scorer.run({\n input: targetResult.scoringData.input,\n output: targetResult.scoringData.output,\n groundTruth: item.groundTruth,\n requestContext: item.requestContext,\n tracingContext: item.tracingContext,\n });\n workflowScorerResults[scorer.id] = score;\n }\n if (Object.keys(workflowScorerResults).length > 0) {\n scorerResults.workflow = workflowScorerResults;\n }\n }\n\n if (scorers.steps) {\n const stepScorerResults: Record<string, any> = {};\n for (const [stepId, stepScorers] of Object.entries(scorers.steps)) {\n const stepResult = targetResult.scoringData.stepResults?.[stepId];\n if (stepResult?.status === 'success' && stepResult.payload && stepResult.output) {\n const stepResults: Record<string, any> = {};\n for (const scorer of stepScorers) {\n try {\n const score = await scorer.run({\n input: stepResult.payload,\n output: stepResult.output,\n groundTruth: item.groundTruth,\n requestContext: item.requestContext,\n tracingContext: item.tracingContext,\n });\n stepResults[scorer.id] = score;\n } catch (error) {\n throw new MastraError(\n {\n domain: 'SCORER',\n id: 'RUN_EXPERIMENT_SCORER_FAILED_TO_SCORE_STEP_RESULT',\n category: 'USER',\n text: `Failed to run experiment: Error running scorer ${scorer.id} on step ${stepId}`,\n details: {\n scorerId: scorer.id,\n stepId,\n },\n },\n error,\n );\n }\n }\n if (Object.keys(stepResults).length > 0) {\n stepScorerResults[stepId] = stepResults;\n }\n }\n }\n if (Object.keys(stepScorerResults).length > 0) {\n scorerResults.steps = stepScorerResults;\n }\n }\n }\n\n return scorerResults;\n}\n\n/**\n * Saves scorer results to storage when running evaluations.\n * This makes scores visible in Studio's observability section.\n */\nasync function saveScoresToStorage({\n storage,\n scorerResults,\n target,\n item,\n mastra,\n}: {\n storage: any;\n scorerResults: Record<string, any>;\n target: Agent | Workflow;\n item: RunEvalsDataItem<any>;\n mastra: any;\n}): Promise<void> {\n const entityId = target.id;\n const entityType = isWorkflow(target) ? 'WORKFLOW' : 'AGENT';\n\n // Handle flat scorer results (for agents or workflow-level scorers)\n if (Array.isArray(scorerResults) || !('workflow' in scorerResults && 'steps' in scorerResults)) {\n for (const [scorerId, scoreResult] of Object.entries(scorerResults)) {\n if (scoreResult && typeof scoreResult === 'object' && 'score' in scoreResult) {\n await saveSingleScore({\n storage,\n scoreResult,\n scorerId,\n entityId,\n entityType,\n mastra,\n target,\n item,\n });\n }\n }\n } else {\n // Handle workflow scorer config with workflow and step scorers\n if (scorerResults.workflow) {\n for (const [scorerId, scoreResult] of Object.entries(scorerResults.workflow)) {\n if (scoreResult && typeof scoreResult === 'object' && 'score' in scoreResult) {\n await saveSingleScore({\n storage,\n scoreResult,\n scorerId,\n entityId,\n entityType: 'WORKFLOW',\n mastra,\n target,\n item,\n });\n }\n }\n }\n\n if (scorerResults.steps) {\n for (const [stepId, stepScorers] of Object.entries(scorerResults.steps)) {\n for (const [scorerId, scoreResult] of Object.entries(stepScorers as Record<string, any>)) {\n if (scoreResult && typeof scoreResult === 'object' && 'score' in scoreResult) {\n await saveSingleScore({\n storage,\n scoreResult,\n scorerId,\n entityId: stepId,\n entityType: 'STEP',\n mastra,\n target,\n item,\n });\n }\n }\n }\n }\n }\n}\n\n/**\n * Saves a single scorer result to storage\n */\nasync function saveSingleScore({\n storage,\n scoreResult,\n scorerId,\n entityId,\n entityType,\n mastra,\n target,\n item,\n}: {\n storage: any;\n scoreResult: any;\n scorerId: string;\n entityId: string;\n entityType: string;\n mastra: any;\n target: Agent | Workflow;\n item: RunEvalsDataItem<any>;\n}): Promise<void> {\n try {\n // Get scorer information\n let scorer = mastra?.getScorerById?.(scorerId);\n\n if (!scorer) {\n // Try to get from target's scorers\n const targetScorers = await (target as any).listScorers?.();\n if (targetScorers) {\n for (const [_, scorerEntry] of Object.entries(targetScorers)) {\n if ((scorerEntry as any).scorer?.id === scorerId) {\n scorer = (scorerEntry as any).scorer;\n break;\n }\n }\n }\n }\n\n // Extract tracing context if available\n let traceId: string | undefined;\n let spanId: string | undefined;\n if (item.tracingContext?.currentSpan && item.tracingContext.currentSpan.isValid) {\n spanId = item.tracingContext.currentSpan.id;\n traceId = item.tracingContext.currentSpan.traceId;\n }\n\n // Build additional context with groundTruth if available\n const additionalContext: Record<string, any> = {};\n if (item.groundTruth !== undefined) {\n additionalContext.groundTruth = item.groundTruth;\n }\n\n const payload = {\n ...scoreResult,\n scorerId,\n entityId,\n entityType,\n source: 'TEST' as const,\n scorer: {\n id: scorer?.id || scorerId,\n name: scorer?.name || scorerId,\n description: scorer?.description || '',\n type: scorer?.type || 'unknown',\n ...(scorer ? { hasJudge: !!scorer.judge } : {}),\n },\n entity: {\n id: target.id,\n name: (target as any).name || target.id,\n },\n // Include requestContext from item\n requestContext: item.requestContext ? Object.fromEntries(item.requestContext.entries()) : undefined,\n // Include additionalContext with groundTruth\n additionalContext: Object.keys(additionalContext).length > 0 ? additionalContext : undefined,\n // Include tracing information\n traceId,\n spanId,\n };\n\n await validateAndSaveScore(storage, payload);\n } catch (error) {\n // Log error but don't fail the evaluation\n mastra?.getLogger?.()?.warn?.(`Failed to save score for scorer ${scorerId}:`, error);\n }\n}\n"]}
@@ -1,11 +1,11 @@
1
- import { validateStepInput, createDeprecationProxy, getStepResult, validateStepSuspendData, runCountDeprecationMessage, TripWire, createTimeTravelExecutionParams, validateStepResumeData, Workflow, isSupportedLanguageModel, ProcessorStepOutputSchema, ProcessorStepSchema, Run, WorkflowRunOutput, ExecutionEngine, cleanStepResult, hydrateSerializedStepErrors, Agent, ProcessorRunner } from './chunk-DJ4MO3IH.js';
1
+ import { validateStepInput, createDeprecationProxy, getStepResult, validateStepSuspendData, runCountDeprecationMessage, TripWire, createTimeTravelExecutionParams, validateStepResumeData, Workflow, isSupportedLanguageModel, ProcessorStepOutputSchema, ProcessorStepSchema, Run, WorkflowRunOutput, ExecutionEngine, cleanStepResult, hydrateSerializedStepErrors, Agent, ProcessorRunner } from './chunk-JFR6DVIJ.js';
2
2
  import { STREAM_FORMAT_SYMBOL, PUBSUB_SYMBOL } from './chunk-2QXNHEDL.js';
3
- import { createPendingMarker } from './chunk-423ZB5GO.js';
3
+ import { createPendingMarker } from './chunk-TC24TMMJ.js';
4
4
  import { MessageList } from './chunk-JZQLYZ62.js';
5
5
  import { ToolStream } from './chunk-DD2VNRQM.js';
6
6
  import { Tool } from './chunk-BQHWJLXU.js';
7
- import { getErrorFromUnknown, MastraError } from './chunk-FJEVLHJT.js';
8
7
  import { RequestContext } from './chunk-CCLV5CAA.js';
8
+ import { getErrorFromUnknown, MastraError } from './chunk-FJEVLHJT.js';
9
9
  import { MastraBase } from './chunk-WCAFTXGK.js';
10
10
  import { RegisteredLogger } from './chunk-X2WMFSPB.js';
11
11
  import { randomUUID } from 'crypto';
@@ -4534,5 +4534,5 @@ var EventedExecutionEngine = class extends ExecutionEngine {
4534
4534
  };
4535
4535
 
4536
4536
  export { EventedExecutionEngine, EventedRun, EventedWorkflow, StepExecutor, WorkflowEventProcessor, cloneStep, cloneWorkflow, createStep, createWorkflow };
4537
- //# sourceMappingURL=chunk-MRF3F4ZJ.js.map
4538
- //# sourceMappingURL=chunk-MRF3F4ZJ.js.map
4537
+ //# sourceMappingURL=chunk-2MDFUYLM.js.map
4538
+ //# sourceMappingURL=chunk-2MDFUYLM.js.map