@mastra/playground-ui 10.0.0 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +238 -0
- package/dist/index.cjs.js +13024 -3747
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +12946 -3753
- package/dist/index.es.js.map +1 -1
- package/dist/{spacings-D-UcNpJ0.cjs → spacings-DK9eNK2K.cjs} +2 -1
- package/dist/spacings-DK9eNK2K.cjs.map +1 -0
- package/dist/{spacings-6UGgYoKe.js → spacings-DKejZuWs.js} +2 -1
- package/dist/spacings-DKejZuWs.js.map +1 -0
- package/dist/src/domains/agents/components/agent-cms-layout/agent-cms-layout.d.ts +7 -0
- package/dist/src/domains/agents/components/agent-cms-layout/index.d.ts +1 -0
- package/dist/src/domains/agents/components/agent-cms-pages/agents-page.d.ts +1 -0
- package/dist/src/domains/agents/components/agent-cms-pages/index.d.ts +8 -0
- package/dist/src/domains/agents/components/agent-cms-pages/information-page.d.ts +1 -0
- package/dist/src/domains/agents/components/agent-cms-pages/instruction-blocks-page.d.ts +1 -0
- package/dist/src/domains/agents/components/agent-cms-pages/memory-page.d.ts +1 -0
- package/dist/src/domains/agents/components/agent-cms-pages/scorers-page.d.ts +1 -0
- package/dist/src/domains/agents/components/agent-cms-pages/tools-page.d.ts +1 -0
- package/dist/src/domains/agents/components/agent-cms-pages/variables-page.d.ts +1 -0
- package/dist/src/domains/agents/components/agent-cms-pages/workflows-page.d.ts +1 -0
- package/dist/src/domains/agents/components/agent-cms-sidebar/agent-cms-sidebar.d.ts +6 -0
- package/dist/src/domains/agents/components/agent-cms-sidebar/index.d.ts +1 -0
- package/dist/src/domains/agents/components/agent-create-content.d.ts +9 -0
- package/dist/src/domains/agents/components/agent-edit-page/agent-edit-sidebar.d.ts +2 -1
- package/dist/src/domains/agents/components/agent-edit-page/sections/agents-section.d.ts +2 -1
- package/dist/src/domains/agents/components/agent-edit-page/sections/memory-section.d.ts +3 -2
- package/dist/src/domains/agents/components/agent-edit-page/use-agent-edit-form.d.ts +58 -0
- package/dist/src/domains/agents/components/agent-edit-page/utils/form-validation.d.ts +32 -0
- package/dist/src/domains/agents/components/agent-information/agent-instructions-enhancer.d.ts +1 -1
- package/dist/src/domains/agents/context/agent-edit-form-context.d.ts +15 -0
- package/dist/src/domains/agents/context/agent-prompt-experiment-context.d.ts +1 -4
- package/dist/src/domains/agents/context/index.d.ts +1 -0
- package/dist/src/domains/agents/index.d.ts +4 -0
- package/dist/src/domains/datasets/components/add-item-dialog.d.ts +7 -0
- package/dist/src/domains/datasets/components/add-items-to-dataset-dialog.d.ts +9 -0
- package/dist/src/domains/datasets/components/comparison/comparison-view.d.ts +11 -0
- package/dist/src/domains/datasets/components/comparison/score-delta.d.ts +10 -0
- package/dist/src/domains/datasets/components/create-dataset-dialog.d.ts +6 -0
- package/dist/src/domains/datasets/components/create-dataset-from-items-dialog.d.ts +8 -0
- package/dist/src/domains/datasets/components/csv-import/column-mapping-step.d.ts +7 -0
- package/dist/src/domains/datasets/components/csv-import/csv-import-dialog.d.ts +11 -0
- package/dist/src/domains/datasets/components/csv-import/csv-preview-table.d.ts +10 -0
- package/dist/src/domains/datasets/components/csv-import/csv-upload-step.d.ts +10 -0
- package/dist/src/domains/datasets/components/csv-import/index.d.ts +2 -0
- package/dist/src/domains/datasets/components/csv-import/validation-report.d.ts +11 -0
- package/dist/src/domains/datasets/components/csv-import/validation-summary.d.ts +13 -0
- package/dist/src/domains/datasets/components/dataset-detail/dataset-header.d.ts +16 -0
- package/dist/src/domains/datasets/components/dataset-detail/dataset-item-content.d.ts +10 -0
- package/dist/src/domains/datasets/components/dataset-detail/dataset-item-form.d.ts +24 -0
- package/dist/src/domains/datasets/components/dataset-detail/dataset-item-header.d.ts +8 -0
- package/dist/src/domains/datasets/components/dataset-detail/dataset-page-content.d.ts +13 -0
- package/dist/src/domains/datasets/components/dataset-detail/item-detail-dialog.d.ts +16 -0
- package/dist/src/domains/datasets/components/dataset-detail/item-detail-toolbar.d.ts +11 -0
- package/dist/src/domains/datasets/components/dataset-detail/item-page-toolbar.d.ts +8 -0
- package/dist/src/domains/datasets/components/dataset-detail/items-list-actions.d.ts +11 -0
- package/dist/src/domains/datasets/components/datasets-table/columns.d.ts +6 -0
- package/dist/src/domains/datasets/components/datasets-table/datasets-table.d.ts +7 -0
- package/dist/src/domains/datasets/components/delete-dataset-dialog.d.ts +8 -0
- package/dist/src/domains/datasets/components/duplicate-dataset-dialog.d.ts +9 -0
- package/dist/src/domains/datasets/components/edit-dataset-dialog.d.ts +13 -0
- package/dist/src/domains/datasets/components/edit-item-dialog.d.ts +12 -0
- package/dist/src/domains/datasets/components/empty-datasets-table.d.ts +4 -0
- package/dist/src/domains/datasets/components/experiment-trigger/experiment-trigger-dialog.d.ts +8 -0
- package/dist/src/domains/datasets/components/experiment-trigger/scorer-selector.d.ts +6 -0
- package/dist/src/domains/datasets/components/experiment-trigger/target-selector.d.ts +8 -0
- package/dist/src/domains/datasets/components/experiments/dataset-experiments-list.d.ts +9 -0
- package/dist/src/domains/datasets/components/experiments/dataset-experiments-toolbar.d.ts +13 -0
- package/dist/src/domains/datasets/components/experiments/dataset-experiments.d.ts +12 -0
- package/dist/src/domains/datasets/components/items/dataset-item-panel.d.ts +13 -0
- package/dist/src/domains/datasets/components/items/dataset-items-list.d.ts +26 -0
- package/dist/src/domains/datasets/components/items/dataset-items-toolbar.d.ts +24 -0
- package/dist/src/domains/datasets/components/items/dataset-items.d.ts +34 -0
- package/dist/src/domains/datasets/components/items/dataset-versions-panel.d.ts +12 -0
- package/dist/src/domains/datasets/components/json-import/index.d.ts +1 -0
- package/dist/src/domains/datasets/components/json-import/json-import-dialog.d.ts +11 -0
- package/dist/src/domains/datasets/components/json-import/json-preview-table.d.ts +9 -0
- package/dist/src/domains/datasets/components/json-import/json-upload-step.d.ts +10 -0
- package/dist/src/domains/datasets/components/json-import/json-validation-summary.d.ts +9 -0
- package/dist/src/domains/datasets/components/schema-config-section.d.ts +16 -0
- package/dist/src/domains/datasets/components/schema-settings/index.d.ts +1 -0
- package/dist/src/domains/datasets/components/schema-settings/schema-field.d.ts +20 -0
- package/dist/src/domains/datasets/components/schema-settings/schema-import.d.ts +11 -0
- package/dist/src/domains/datasets/components/versions/dataset-compare-version-toolbar.d.ts +7 -0
- package/dist/src/domains/datasets/components/versions/dataset-compare-versions-list.d.ts +11 -0
- package/dist/src/domains/datasets/components/versions/dataset-item-versions-panel.d.ts +13 -0
- package/dist/src/domains/datasets/components/versions/index.d.ts +3 -0
- package/dist/src/domains/datasets/hooks/use-agent-schema.d.ts +12 -0
- package/dist/src/domains/datasets/hooks/use-column-mapping.d.ts +24 -0
- package/dist/src/domains/datasets/hooks/use-compare-experiments.d.ts +11 -0
- package/dist/src/domains/datasets/hooks/use-csv-parser.d.ts +17 -0
- package/dist/src/domains/datasets/hooks/use-dataset-experiments.d.ts +49 -0
- package/dist/src/domains/datasets/hooks/use-dataset-item-versions.d.ts +21 -0
- package/dist/src/domains/datasets/hooks/use-dataset-items.d.ts +225 -0
- package/dist/src/domains/datasets/hooks/use-dataset-mutations.d.ts +62 -0
- package/dist/src/domains/datasets/hooks/use-dataset-versions.d.ts +17 -0
- package/dist/src/domains/datasets/hooks/use-datasets.d.ts +14 -0
- package/dist/src/domains/datasets/hooks/use-item-selection.d.ts +17 -0
- package/dist/src/domains/datasets/hooks/use-json-parser.d.ts +15 -0
- package/dist/src/domains/datasets/hooks/use-scorer-schema.d.ts +14 -0
- package/dist/src/domains/datasets/hooks/use-workflow-schema.d.ts +8 -0
- package/dist/src/domains/datasets/index.d.ts +53 -0
- package/dist/src/domains/datasets/pages/datasets/item/index.d.ts +10 -0
- package/dist/src/domains/datasets/utils/csv-export.d.ts +6 -0
- package/dist/src/domains/datasets/utils/csv-validation.d.ts +62 -0
- package/dist/src/domains/datasets/utils/json-cell-parser.d.ts +24 -0
- package/dist/src/domains/datasets/utils/json-export.d.ts +5 -0
- package/dist/src/domains/datasets/utils/json-validation.d.ts +27 -0
- package/dist/src/domains/experiments/components/experiment-page-header.d.ts +6 -0
- package/dist/src/domains/experiments/components/experiment-result-panel.d.ts +9 -0
- package/dist/src/domains/experiments/components/experiment-result-span-pane.d.ts +8 -0
- package/dist/src/domains/experiments/components/experiment-result-trace-panel.d.ts +7 -0
- package/dist/src/domains/experiments/components/experiment-results-list-and-details.d.ts +10 -0
- package/dist/src/domains/experiments/components/experiment-results-list.d.ts +17 -0
- package/dist/src/domains/experiments/components/experiment-stats.d.ts +6 -0
- package/dist/src/domains/experiments/components/experiment-trace-shared.d.ts +3 -0
- package/dist/src/domains/experiments/components/experiment-trace-span-details.d.ts +6 -0
- package/dist/src/domains/experiments/components/experiment-trace-span-type-icon.d.ts +6 -0
- package/dist/src/domains/experiments/components/experiment-trace-timeline-expand-col.d.ts +12 -0
- package/dist/src/domains/experiments/components/experiment-trace-timeline-name-col.d.ts +16 -0
- package/dist/src/domains/experiments/components/experiment-trace-timeline-span.d.ts +18 -0
- package/dist/src/domains/experiments/components/experiment-trace-timeline-structure-sign.d.ts +7 -0
- package/dist/src/domains/experiments/components/experiment-trace-timeline-timing-col.d.ts +12 -0
- package/dist/src/domains/experiments/components/experiment-trace-timeline-tools.d.ts +12 -0
- package/dist/src/domains/experiments/components/experiment-trace-timeline.d.ts +13 -0
- package/dist/src/domains/experiments/hooks/use-experiment-trace.d.ts +36 -0
- package/dist/src/domains/experiments/types.d.ts +18 -0
- package/dist/src/domains/experiments/utils/format-trace-spans.d.ts +3 -0
- package/dist/src/domains/experiments/utils/get-span-descendant-ids.d.ts +2 -0
- package/dist/src/domains/observability/components/index.d.ts +1 -0
- package/dist/src/domains/observability/components/trace-as-item-dialog.d.ts +9 -0
- package/dist/src/domains/scores/components/scorer-create-content.d.ts +7 -0
- package/dist/src/domains/scores/index.d.ts +2 -0
- package/dist/src/domains/workflows/context/use-current-run.d.ts +8 -0
- package/dist/src/domains/workspace/types.d.ts +11 -0
- package/dist/src/ds/components/Button/Button.d.ts +3 -2
- package/dist/src/ds/components/Button/ButtonWithTooltip.d.ts +6 -0
- package/dist/src/ds/components/Button/index.d.ts +1 -0
- package/dist/src/ds/components/ButtonsGroup/buttons-group.d.ts +2 -1
- package/dist/src/ds/components/ButtonsGroup/buttons-group.stories.d.ts +3 -3
- package/dist/src/ds/components/Columns/column-content.d.ts +5 -0
- package/dist/src/ds/components/Columns/column-root.d.ts +7 -0
- package/dist/src/ds/components/Columns/column-toolbar.d.ts +5 -0
- package/dist/src/ds/components/Columns/column.d.ts +7 -0
- package/dist/src/ds/components/Columns/columns.d.ts +5 -0
- package/dist/src/ds/components/Columns/index.d.ts +2 -0
- package/dist/src/ds/components/Columns/list-and-details-next-prev-navigation.d.ts +7 -0
- package/dist/src/ds/components/CopyButton/copy-button.d.ts +3 -1
- package/dist/src/ds/components/DropdownMenu/dropdown-menu.d.ts +40 -0
- package/dist/src/ds/components/DropdownMenu/dropdown-menu.stories.d.ts +12 -0
- package/dist/src/ds/components/DropdownMenu/index.d.ts +1 -0
- package/dist/src/ds/components/EntryList/entry-list-entries-skeleton.d.ts +2 -2
- package/dist/src/ds/components/EntryList/entry-list-entry.d.ts +2 -2
- package/dist/src/ds/components/EntryList/entry-list-header.d.ts +2 -2
- package/dist/src/ds/components/EntryList/shared.d.ts +2 -2
- package/dist/src/ds/components/EntryList/types.d.ts +1 -1
- package/dist/src/ds/components/ItemList/helpers.d.ts +10 -0
- package/dist/src/ds/components/ItemList/index.d.ts +5 -0
- package/dist/src/ds/components/ItemList/item-list-flex-cell.d.ts +6 -0
- package/dist/src/ds/components/ItemList/item-list-header-col.d.ts +5 -0
- package/dist/src/ds/components/ItemList/item-list-header.d.ts +8 -0
- package/dist/src/ds/components/ItemList/item-list-item-col.d.ts +9 -0
- package/dist/src/ds/components/ItemList/item-list-items-scroller.d.ts +5 -0
- package/dist/src/ds/components/ItemList/item-list-items-skeleton.d.ts +6 -0
- package/dist/src/ds/components/ItemList/item-list-items.d.ts +5 -0
- package/dist/src/ds/components/ItemList/item-list-message.d.ts +7 -0
- package/dist/src/ds/components/ItemList/item-list-next-page-loading.d.ts +8 -0
- package/dist/src/ds/components/ItemList/item-list-pagination.d.ts +7 -0
- package/dist/src/ds/components/ItemList/item-list-root.d.ts +6 -0
- package/dist/src/ds/components/ItemList/item-list-row-button.d.ts +11 -0
- package/dist/src/ds/components/ItemList/item-list-row.d.ts +5 -0
- package/dist/src/ds/components/ItemList/item-list-skeleton.d.ts +2 -0
- package/dist/src/ds/components/ItemList/item-list-status-cell.d.ts +4 -0
- package/dist/src/ds/components/ItemList/item-list-text-cell.d.ts +6 -0
- package/dist/src/ds/components/ItemList/item-list.d.ts +27 -0
- package/dist/src/ds/components/ItemList/item-list.stories.d.ts +10 -0
- package/dist/src/ds/components/ItemList/shared.d.ts +2 -0
- package/dist/src/ds/components/ItemList/types.d.ts +5 -0
- package/dist/src/ds/components/ListAndDetails/index.d.ts +1 -0
- package/dist/src/ds/components/ListAndDetails/list-and-details-close-button.d.ts +6 -0
- package/dist/src/ds/components/ListAndDetails/list-and-details-column-content.d.ts +5 -0
- package/dist/src/ds/components/ListAndDetails/list-and-details-column-toolbar.d.ts +5 -0
- package/dist/src/ds/components/ListAndDetails/list-and-details-column.d.ts +5 -0
- package/dist/src/ds/components/ListAndDetails/list-and-details-details.d.ts +6 -0
- package/dist/src/ds/components/ListAndDetails/list-and-details-list.d.ts +5 -0
- package/dist/src/ds/components/ListAndDetails/list-and-details-next-prev-navigation.d.ts +7 -0
- package/dist/src/ds/components/ListAndDetails/list-and-details-root.d.ts +7 -0
- package/dist/src/ds/components/ListAndDetails/list-and-details-separator.d.ts +3 -0
- package/dist/src/ds/components/ListAndDetails/list-and-details.d.ts +25 -0
- package/dist/src/ds/components/MainHeader/index.d.ts +1 -0
- package/dist/src/ds/components/MainHeader/main-header-column.d.ts +5 -0
- package/dist/src/ds/components/MainHeader/main-header-description.d.ts +6 -0
- package/dist/src/ds/components/MainHeader/main-header-root.d.ts +10 -0
- package/dist/src/ds/components/MainHeader/main-header-title.d.ts +6 -0
- package/dist/src/ds/components/MainHeader/main-header.d.ts +13 -0
- package/dist/src/ds/components/MainHeader/main-header.stories.d.ts +12 -0
- package/dist/src/ds/components/MainSidebar/main-sidebar-nav-link.d.ts +1 -0
- package/dist/src/ds/components/Notice/Notice.d.ts +13 -0
- package/dist/src/ds/components/Notice/index.d.ts +1 -0
- package/dist/src/ds/components/Notice/notice-button.d.ts +2 -0
- package/dist/src/ds/components/Notice/notice-column.d.ts +5 -0
- package/dist/src/ds/components/Notice/notice-message.d.ts +5 -0
- package/dist/src/ds/components/Notice/notice-root.d.ts +8 -0
- package/dist/src/ds/components/Notice/notice-title.d.ts +5 -0
- package/dist/src/ds/components/Notice/notice.stories.d.ts +12 -0
- package/dist/src/ds/components/PrevNextNav/index.d.ts +1 -0
- package/dist/src/ds/components/PrevNextNav/prev-next-nav.d.ts +7 -0
- package/dist/src/ds/tokens/colors.d.ts +1 -0
- package/dist/src/index.d.ts +7 -0
- package/dist/src/lib/experimental-features/hooks/use-experimental-features.d.ts +3 -6
- package/dist/src/lib/framework.d.ts +5 -0
- package/dist/tailwind.preset.cjs.js +2 -2
- package/dist/tailwind.preset.cjs.js.map +1 -1
- package/dist/tailwind.preset.es.js +2 -2
- package/dist/tailwind.preset.es.js.map +1 -1
- package/dist/tokens.cjs.js +1 -1
- package/dist/tokens.es.js +1 -1
- package/package.json +13 -8
- package/dist/spacings-6UGgYoKe.js.map +0 -1
- package/dist/spacings-D-UcNpJ0.cjs.map +0 -1
- package/dist/src/domains/agents/hooks/use-prompt-enhancer.d.ts +0 -26
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,243 @@
|
|
|
1
1
|
# @mastra/playground-ui
|
|
2
2
|
|
|
3
|
+
## 11.0.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Added Datasets and Experiments UI. Includes dataset management (create, edit, delete, duplicate), item CRUD with CSV/JSON import and export, SCD-2 version browsing and comparison, experiment triggering with scorer selection, experiment results with trace visualization, and cross-experiment comparison with score deltas. Uses `coreFeatures` runtime flag for feature gating instead of build-time env var. ([#12747](https://github.com/mastra-ai/mastra/pull/12747))
|
|
8
|
+
|
|
9
|
+
- Add `workflow-step-progress` stream event for foreach workflow steps. Each iteration emits a progress event with `completedCount`, `totalCount`, `currentIndex`, `iterationStatus` (`success` | `failed` | `suspended`), and optional `iterationOutput`. Both the default and evented execution engines emit these events. ([#12838](https://github.com/mastra-ai/mastra/pull/12838))
|
|
10
|
+
|
|
11
|
+
The Mastra Studio UI now renders a progress bar with an N/total counter on foreach nodes, updating in real time as iterations complete:
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
// Consuming progress events from the workflow stream
|
|
15
|
+
const run = workflow.createRun();
|
|
16
|
+
const result = await run.start({ inputData });
|
|
17
|
+
const stream = result.stream;
|
|
18
|
+
|
|
19
|
+
for await (const chunk of stream) {
|
|
20
|
+
if (chunk.type === 'workflow-step-progress') {
|
|
21
|
+
console.log(`${chunk.payload.completedCount}/${chunk.payload.totalCount} - ${chunk.payload.iterationStatus}`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
`@mastra/react`: The `mapWorkflowStreamChunkToWatchResult` reducer now accumulates `foreachProgress` from `workflow-step-progress` events into step state, making progress data available to React consumers via the existing workflow watch hooks.
|
|
27
|
+
|
|
28
|
+
- Added observational memory configuration support for stored agents. When creating or editing a stored agent in the playground, you can now enable observational memory and configure its settings including model provider/name, scope (thread or resource), share token budget, and detailed observer/reflector parameters like token limits, buffer settings, and blocking thresholds. The configuration is serialized as part of the agent's memory config and round-trips through storage. ([#12962](https://github.com/mastra-ai/mastra/pull/12962))
|
|
29
|
+
|
|
30
|
+
**Example usage in the playground:**
|
|
31
|
+
|
|
32
|
+
Enable the Observational Memory toggle in the Memory section, then configure:
|
|
33
|
+
- Top-level model (provider + model) used by both observer and reflector
|
|
34
|
+
- Scope: `thread` (per-conversation) or `resource` (shared across threads)
|
|
35
|
+
- Expand **Observer** or **Reflector** sections to override models and tune token budgets
|
|
36
|
+
|
|
37
|
+
**Programmatic usage via client SDK:**
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
await client.createStoredAgent({
|
|
41
|
+
name: 'My Agent',
|
|
42
|
+
// ...other config
|
|
43
|
+
memory: {
|
|
44
|
+
observationalMemory: true, // enable with defaults
|
|
45
|
+
options: { lastMessages: 40 },
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
// Or with custom configuration:
|
|
50
|
+
await client.createStoredAgent({
|
|
51
|
+
name: 'My Agent',
|
|
52
|
+
memory: {
|
|
53
|
+
observationalMemory: {
|
|
54
|
+
model: 'google/gemini-2.5-flash',
|
|
55
|
+
scope: 'resource',
|
|
56
|
+
shareTokenBudget: true,
|
|
57
|
+
observation: { messageTokens: 50000 },
|
|
58
|
+
reflection: { observationTokens: 60000 },
|
|
59
|
+
},
|
|
60
|
+
options: { lastMessages: 40 },
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Programmatic usage via editor:**
|
|
66
|
+
|
|
67
|
+
```ts
|
|
68
|
+
await editor.agent.create({
|
|
69
|
+
name: 'My Agent',
|
|
70
|
+
// ...other config
|
|
71
|
+
memory: {
|
|
72
|
+
observationalMemory: true, // enable with defaults
|
|
73
|
+
options: { lastMessages: 40 },
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
// Or with custom configuration:
|
|
78
|
+
await editor.agent.create({
|
|
79
|
+
name: 'My Agent',
|
|
80
|
+
memory: {
|
|
81
|
+
observationalMemory: {
|
|
82
|
+
model: 'google/gemini-2.5-flash',
|
|
83
|
+
scope: 'resource',
|
|
84
|
+
shareTokenBudget: true,
|
|
85
|
+
observation: { messageTokens: 50000 },
|
|
86
|
+
reflection: { observationTokens: 60000 },
|
|
87
|
+
},
|
|
88
|
+
options: { lastMessages: 40 },
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
- Revamped agent CMS experience with dedicated route pages for each section (Identity, Instruction Blocks, Tools, Agents, Scorers, Workflows, Memory, Variables) and sidebar navigation ([#13016](https://github.com/mastra-ai/mastra/pull/13016))
|
|
94
|
+
|
|
95
|
+
- Added ability to create sub-agents on-the-fly via a SideDialog in the Sub-Agents section of the agent editor ([#12952](https://github.com/mastra-ai/mastra/pull/12952))
|
|
96
|
+
|
|
97
|
+
### Patch Changes
|
|
98
|
+
|
|
99
|
+
- dependencies updates: ([#12949](https://github.com/mastra-ai/mastra/pull/12949))
|
|
100
|
+
- Updated dependency [`@codemirror/view@^6.39.13` ↗︎](https://www.npmjs.com/package/@codemirror/view/v/6.39.13) (from `^6.39.12`, in `dependencies`)
|
|
101
|
+
|
|
102
|
+
- Removed experiment mode from the agent prompt sidebar. The system prompt is now displayed as readonly. ([#12994](https://github.com/mastra-ai/mastra/pull/12994))
|
|
103
|
+
|
|
104
|
+
- Aligned frontend rule engine types with backend, added support for greater_than_or_equal, less_than_or_equal, exists, and not_exists operators, and switched instruction blocks to use RuleGroup ([#12864](https://github.com/mastra-ai/mastra/pull/12864))
|
|
105
|
+
|
|
106
|
+
- Skip `awaitBufferStatus` calls when observational memory is disabled. Previously the Studio sidebar would unconditionally hit `/memory/observational-memory/buffer-status` after every agent message, which returns a 400 when OM is not configured and halts agent execution. ([#13025](https://github.com/mastra-ai/mastra/pull/13025))
|
|
107
|
+
|
|
108
|
+
- Fix prompt experiment localStorage persisting stale prompts: only save to localStorage when the user edits the prompt away from the code-defined value, and clear it when they match. Previously, the code-defined prompt was eagerly saved on first load, causing code changes to agent instructions to be ignored. ([#12929](https://github.com/mastra-ai/mastra/pull/12929))
|
|
109
|
+
|
|
110
|
+
- Fixed chat briefly showing an empty conversation after sending the first message on a new thread. ([#13018](https://github.com/mastra-ai/mastra/pull/13018))
|
|
111
|
+
|
|
112
|
+
- Fixed missing validation for the instructions field in the scorer creation form and replaced manual submission state tracking with the mutation hook's built-in pending state ([#12993](https://github.com/mastra-ai/mastra/pull/12993))
|
|
113
|
+
|
|
114
|
+
- Default Studio file browser to basePath when filesystem containment is disabled, preventing the browser from showing the host root directory. ([#12971](https://github.com/mastra-ai/mastra/pull/12971))
|
|
115
|
+
|
|
116
|
+
- Updated dependencies [[`7ef618f`](https://github.com/mastra-ai/mastra/commit/7ef618f3c49c27e2f6b27d7f564c557c0734325b), [`b373564`](https://github.com/mastra-ai/mastra/commit/b37356491d43b4d53067f10cb669abaf2502f218), [`927c2af`](https://github.com/mastra-ai/mastra/commit/927c2af9792286c122e04409efce0f3c804f777f), [`927c2af`](https://github.com/mastra-ai/mastra/commit/927c2af9792286c122e04409efce0f3c804f777f), [`3da8a73`](https://github.com/mastra-ai/mastra/commit/3da8a73c9b9f042d528975ca330babc99563bd12), [`927c2af`](https://github.com/mastra-ai/mastra/commit/927c2af9792286c122e04409efce0f3c804f777f), [`b896b41`](https://github.com/mastra-ai/mastra/commit/b896b41343de7fcc14442fb40fe82d189e65bbe2), [`6415277`](https://github.com/mastra-ai/mastra/commit/6415277a438faa00db2af850ead5dee25f40c428), [`4ba40dc`](https://github.com/mastra-ai/mastra/commit/4ba40dcb6c9ef31eedbb01b6d5b8b0b3c71e5b61), [`0831bbb`](https://github.com/mastra-ai/mastra/commit/0831bbb5bc750c18e9b22b45f18687c964b70828), [`63f7eda`](https://github.com/mastra-ai/mastra/commit/63f7eda605eb3e0c8c35ee3912ffe7c999c69f69), [`a5b67a3`](https://github.com/mastra-ai/mastra/commit/a5b67a3589a74415feb663a55d1858324a2afde9), [`877b02c`](https://github.com/mastra-ai/mastra/commit/877b02cdbb15e199184c7f2b8f217be8d3ebada7), [`877b02c`](https://github.com/mastra-ai/mastra/commit/877b02cdbb15e199184c7f2b8f217be8d3ebada7), [`7567222`](https://github.com/mastra-ai/mastra/commit/7567222b1366f0d39980594792dd9d5060bfe2ab), [`40f224e`](https://github.com/mastra-ai/mastra/commit/40f224ec14e9b01a36802d8c5445a547a33992a5), [`af71458`](https://github.com/mastra-ai/mastra/commit/af71458e3b566f09c11d0e5a0a836dc818e7a24a), [`eb36bd8`](https://github.com/mastra-ai/mastra/commit/eb36bd8c52fcd6ec9674ac3b7a6412405b5983e1), [`3cbf121`](https://github.com/mastra-ai/mastra/commit/3cbf121f55418141924754a83102aade89835947)]:
|
|
117
|
+
- @mastra/core@1.4.0
|
|
118
|
+
- @mastra/client-js@1.4.0
|
|
119
|
+
- @mastra/react@0.2.3
|
|
120
|
+
- @mastra/ai-sdk@1.0.4
|
|
121
|
+
|
|
122
|
+
## 11.0.0-alpha.0
|
|
123
|
+
|
|
124
|
+
### Minor Changes
|
|
125
|
+
|
|
126
|
+
- Added Datasets and Experiments UI. Includes dataset management (create, edit, delete, duplicate), item CRUD with CSV/JSON import and export, SCD-2 version browsing and comparison, experiment triggering with scorer selection, experiment results with trace visualization, and cross-experiment comparison with score deltas. Uses `coreFeatures` runtime flag for feature gating instead of build-time env var. ([#12747](https://github.com/mastra-ai/mastra/pull/12747))
|
|
127
|
+
|
|
128
|
+
- Add `workflow-step-progress` stream event for foreach workflow steps. Each iteration emits a progress event with `completedCount`, `totalCount`, `currentIndex`, `iterationStatus` (`success` | `failed` | `suspended`), and optional `iterationOutput`. Both the default and evented execution engines emit these events. ([#12838](https://github.com/mastra-ai/mastra/pull/12838))
|
|
129
|
+
|
|
130
|
+
The Mastra Studio UI now renders a progress bar with an N/total counter on foreach nodes, updating in real time as iterations complete:
|
|
131
|
+
|
|
132
|
+
```ts
|
|
133
|
+
// Consuming progress events from the workflow stream
|
|
134
|
+
const run = workflow.createRun();
|
|
135
|
+
const result = await run.start({ inputData });
|
|
136
|
+
const stream = result.stream;
|
|
137
|
+
|
|
138
|
+
for await (const chunk of stream) {
|
|
139
|
+
if (chunk.type === 'workflow-step-progress') {
|
|
140
|
+
console.log(`${chunk.payload.completedCount}/${chunk.payload.totalCount} - ${chunk.payload.iterationStatus}`);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
`@mastra/react`: The `mapWorkflowStreamChunkToWatchResult` reducer now accumulates `foreachProgress` from `workflow-step-progress` events into step state, making progress data available to React consumers via the existing workflow watch hooks.
|
|
146
|
+
|
|
147
|
+
- Added observational memory configuration support for stored agents. When creating or editing a stored agent in the playground, you can now enable observational memory and configure its settings including model provider/name, scope (thread or resource), share token budget, and detailed observer/reflector parameters like token limits, buffer settings, and blocking thresholds. The configuration is serialized as part of the agent's memory config and round-trips through storage. ([#12962](https://github.com/mastra-ai/mastra/pull/12962))
|
|
148
|
+
|
|
149
|
+
**Example usage in the playground:**
|
|
150
|
+
|
|
151
|
+
Enable the Observational Memory toggle in the Memory section, then configure:
|
|
152
|
+
- Top-level model (provider + model) used by both observer and reflector
|
|
153
|
+
- Scope: `thread` (per-conversation) or `resource` (shared across threads)
|
|
154
|
+
- Expand **Observer** or **Reflector** sections to override models and tune token budgets
|
|
155
|
+
|
|
156
|
+
**Programmatic usage via client SDK:**
|
|
157
|
+
|
|
158
|
+
```ts
|
|
159
|
+
await client.createStoredAgent({
|
|
160
|
+
name: 'My Agent',
|
|
161
|
+
// ...other config
|
|
162
|
+
memory: {
|
|
163
|
+
observationalMemory: true, // enable with defaults
|
|
164
|
+
options: { lastMessages: 40 },
|
|
165
|
+
},
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
// Or with custom configuration:
|
|
169
|
+
await client.createStoredAgent({
|
|
170
|
+
name: 'My Agent',
|
|
171
|
+
memory: {
|
|
172
|
+
observationalMemory: {
|
|
173
|
+
model: 'google/gemini-2.5-flash',
|
|
174
|
+
scope: 'resource',
|
|
175
|
+
shareTokenBudget: true,
|
|
176
|
+
observation: { messageTokens: 50000 },
|
|
177
|
+
reflection: { observationTokens: 60000 },
|
|
178
|
+
},
|
|
179
|
+
options: { lastMessages: 40 },
|
|
180
|
+
},
|
|
181
|
+
});
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
**Programmatic usage via editor:**
|
|
185
|
+
|
|
186
|
+
```ts
|
|
187
|
+
await editor.agent.create({
|
|
188
|
+
name: 'My Agent',
|
|
189
|
+
// ...other config
|
|
190
|
+
memory: {
|
|
191
|
+
observationalMemory: true, // enable with defaults
|
|
192
|
+
options: { lastMessages: 40 },
|
|
193
|
+
},
|
|
194
|
+
});
|
|
195
|
+
|
|
196
|
+
// Or with custom configuration:
|
|
197
|
+
await editor.agent.create({
|
|
198
|
+
name: 'My Agent',
|
|
199
|
+
memory: {
|
|
200
|
+
observationalMemory: {
|
|
201
|
+
model: 'google/gemini-2.5-flash',
|
|
202
|
+
scope: 'resource',
|
|
203
|
+
shareTokenBudget: true,
|
|
204
|
+
observation: { messageTokens: 50000 },
|
|
205
|
+
reflection: { observationTokens: 60000 },
|
|
206
|
+
},
|
|
207
|
+
options: { lastMessages: 40 },
|
|
208
|
+
},
|
|
209
|
+
});
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
- Revamped agent CMS experience with dedicated route pages for each section (Identity, Instruction Blocks, Tools, Agents, Scorers, Workflows, Memory, Variables) and sidebar navigation ([#13016](https://github.com/mastra-ai/mastra/pull/13016))
|
|
213
|
+
|
|
214
|
+
- Added ability to create sub-agents on-the-fly via a SideDialog in the Sub-Agents section of the agent editor ([#12952](https://github.com/mastra-ai/mastra/pull/12952))
|
|
215
|
+
|
|
216
|
+
### Patch Changes
|
|
217
|
+
|
|
218
|
+
- dependencies updates: ([#12949](https://github.com/mastra-ai/mastra/pull/12949))
|
|
219
|
+
- Updated dependency [`@codemirror/view@^6.39.13` ↗︎](https://www.npmjs.com/package/@codemirror/view/v/6.39.13) (from `^6.39.12`, in `dependencies`)
|
|
220
|
+
|
|
221
|
+
- Removed experiment mode from the agent prompt sidebar. The system prompt is now displayed as readonly. ([#12994](https://github.com/mastra-ai/mastra/pull/12994))
|
|
222
|
+
|
|
223
|
+
- Aligned frontend rule engine types with backend, added support for greater_than_or_equal, less_than_or_equal, exists, and not_exists operators, and switched instruction blocks to use RuleGroup ([#12864](https://github.com/mastra-ai/mastra/pull/12864))
|
|
224
|
+
|
|
225
|
+
- Skip `awaitBufferStatus` calls when observational memory is disabled. Previously the Studio sidebar would unconditionally hit `/memory/observational-memory/buffer-status` after every agent message, which returns a 400 when OM is not configured and halts agent execution. ([#13025](https://github.com/mastra-ai/mastra/pull/13025))
|
|
226
|
+
|
|
227
|
+
- Fix prompt experiment localStorage persisting stale prompts: only save to localStorage when the user edits the prompt away from the code-defined value, and clear it when they match. Previously, the code-defined prompt was eagerly saved on first load, causing code changes to agent instructions to be ignored. ([#12929](https://github.com/mastra-ai/mastra/pull/12929))
|
|
228
|
+
|
|
229
|
+
- Fixed chat briefly showing an empty conversation after sending the first message on a new thread. ([#13018](https://github.com/mastra-ai/mastra/pull/13018))
|
|
230
|
+
|
|
231
|
+
- Fixed missing validation for the instructions field in the scorer creation form and replaced manual submission state tracking with the mutation hook's built-in pending state ([#12993](https://github.com/mastra-ai/mastra/pull/12993))
|
|
232
|
+
|
|
233
|
+
- Default Studio file browser to basePath when filesystem containment is disabled, preventing the browser from showing the host root directory. ([#12971](https://github.com/mastra-ai/mastra/pull/12971))
|
|
234
|
+
|
|
235
|
+
- Updated dependencies [[`7ef618f`](https://github.com/mastra-ai/mastra/commit/7ef618f3c49c27e2f6b27d7f564c557c0734325b), [`b373564`](https://github.com/mastra-ai/mastra/commit/b37356491d43b4d53067f10cb669abaf2502f218), [`927c2af`](https://github.com/mastra-ai/mastra/commit/927c2af9792286c122e04409efce0f3c804f777f), [`927c2af`](https://github.com/mastra-ai/mastra/commit/927c2af9792286c122e04409efce0f3c804f777f), [`3da8a73`](https://github.com/mastra-ai/mastra/commit/3da8a73c9b9f042d528975ca330babc99563bd12), [`927c2af`](https://github.com/mastra-ai/mastra/commit/927c2af9792286c122e04409efce0f3c804f777f), [`b896b41`](https://github.com/mastra-ai/mastra/commit/b896b41343de7fcc14442fb40fe82d189e65bbe2), [`6415277`](https://github.com/mastra-ai/mastra/commit/6415277a438faa00db2af850ead5dee25f40c428), [`4ba40dc`](https://github.com/mastra-ai/mastra/commit/4ba40dcb6c9ef31eedbb01b6d5b8b0b3c71e5b61), [`0831bbb`](https://github.com/mastra-ai/mastra/commit/0831bbb5bc750c18e9b22b45f18687c964b70828), [`63f7eda`](https://github.com/mastra-ai/mastra/commit/63f7eda605eb3e0c8c35ee3912ffe7c999c69f69), [`a5b67a3`](https://github.com/mastra-ai/mastra/commit/a5b67a3589a74415feb663a55d1858324a2afde9), [`877b02c`](https://github.com/mastra-ai/mastra/commit/877b02cdbb15e199184c7f2b8f217be8d3ebada7), [`877b02c`](https://github.com/mastra-ai/mastra/commit/877b02cdbb15e199184c7f2b8f217be8d3ebada7), [`7567222`](https://github.com/mastra-ai/mastra/commit/7567222b1366f0d39980594792dd9d5060bfe2ab), [`40f224e`](https://github.com/mastra-ai/mastra/commit/40f224ec14e9b01a36802d8c5445a547a33992a5), [`af71458`](https://github.com/mastra-ai/mastra/commit/af71458e3b566f09c11d0e5a0a836dc818e7a24a), [`eb36bd8`](https://github.com/mastra-ai/mastra/commit/eb36bd8c52fcd6ec9674ac3b7a6412405b5983e1), [`3cbf121`](https://github.com/mastra-ai/mastra/commit/3cbf121f55418141924754a83102aade89835947)]:
|
|
236
|
+
- @mastra/core@1.4.0-alpha.0
|
|
237
|
+
- @mastra/client-js@1.4.0-alpha.0
|
|
238
|
+
- @mastra/react@0.2.3-alpha.0
|
|
239
|
+
- @mastra/ai-sdk@1.0.4
|
|
240
|
+
|
|
3
241
|
## 10.0.0
|
|
4
242
|
|
|
5
243
|
### Minor Changes
|