@mastra/mcp-docs-server 1.0.0-beta.5 → 1.0.0-beta.6
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/.docs/organized/changelogs/%40mastra%2Fagent-builder.md +9 -9
- package/.docs/organized/changelogs/%40mastra%2Fai-sdk.md +67 -67
- package/.docs/organized/changelogs/%40mastra%2Fclickhouse.md +26 -26
- package/.docs/organized/changelogs/%40mastra%2Fclient-js.md +53 -53
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare-d1.md +26 -26
- package/.docs/organized/changelogs/%40mastra%2Fcloudflare.md +27 -27
- package/.docs/organized/changelogs/%40mastra%2Fconvex.md +29 -0
- package/.docs/organized/changelogs/%40mastra%2Fcore.md +274 -274
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-cloud.md +15 -15
- package/.docs/organized/changelogs/%40mastra%2Fdeployer-netlify.md +12 -12
- package/.docs/organized/changelogs/%40mastra%2Fdeployer.md +65 -65
- package/.docs/organized/changelogs/%40mastra%2Fduckdb.md +42 -0
- package/.docs/organized/changelogs/%40mastra%2Fdynamodb.md +26 -26
- package/.docs/organized/changelogs/%40mastra%2Felasticsearch.md +52 -0
- package/.docs/organized/changelogs/%40mastra%2Fevals.md +12 -12
- package/.docs/organized/changelogs/%40mastra%2Flance.md +26 -26
- package/.docs/organized/changelogs/%40mastra%2Flibsql.md +24 -24
- package/.docs/organized/changelogs/%40mastra%2Fmcp-docs-server.md +9 -9
- package/.docs/organized/changelogs/%40mastra%2Fmcp.md +84 -84
- package/.docs/organized/changelogs/%40mastra%2Fmemory.md +36 -36
- package/.docs/organized/changelogs/%40mastra%2Fmongodb.md +26 -26
- package/.docs/organized/changelogs/%40mastra%2Fmssql.md +27 -27
- package/.docs/organized/changelogs/%40mastra%2Fpg.md +28 -28
- package/.docs/organized/changelogs/%40mastra%2Fplayground-ui.md +47 -47
- package/.docs/organized/changelogs/%40mastra%2Frag.md +43 -43
- package/.docs/organized/changelogs/%40mastra%2Freact.md +9 -0
- package/.docs/organized/changelogs/%40mastra%2Fschema-compat.md +6 -0
- package/.docs/organized/changelogs/%40mastra%2Fserver.md +56 -56
- package/.docs/organized/changelogs/%40mastra%2Fupstash.md +26 -26
- package/.docs/organized/changelogs/%40mastra%2Fvoice-google.md +19 -19
- package/.docs/organized/changelogs/create-mastra.md +9 -9
- package/.docs/organized/changelogs/mastra.md +17 -17
- package/.docs/organized/code-examples/agui.md +1 -0
- package/.docs/organized/code-examples/ai-sdk-v5.md +1 -0
- package/.docs/organized/code-examples/mcp-server-adapters.md +721 -0
- package/.docs/organized/code-examples/server-app-access.md +342 -0
- package/.docs/raw/agents/agent-approval.mdx +189 -0
- package/.docs/raw/agents/guardrails.mdx +13 -9
- package/.docs/raw/agents/networks.mdx +1 -0
- package/.docs/raw/agents/overview.mdx +23 -58
- package/.docs/raw/agents/processors.mdx +279 -0
- package/.docs/raw/deployment/cloud-providers/index.mdx +19 -26
- package/.docs/raw/deployment/cloud-providers/netlify-deployer.mdx +44 -13
- package/.docs/raw/evals/running-in-ci.mdx +0 -2
- package/.docs/raw/{guides/getting-started → getting-started}/manual-install.mdx +2 -2
- package/.docs/raw/getting-started/start.mdx +1 -1
- package/.docs/raw/guides/build-your-ui/ai-sdk-ui.mdx +8 -0
- package/.docs/raw/guides/getting-started/quickstart.mdx +1 -1
- package/.docs/raw/guides/guide/whatsapp-chat-bot.mdx +421 -0
- package/.docs/raw/guides/index.mdx +3 -35
- package/.docs/raw/guides/migrations/upgrade-to-v1/agent.mdx +11 -0
- package/.docs/raw/guides/migrations/upgrade-to-v1/workflows.mdx +29 -0
- package/.docs/raw/index.mdx +1 -1
- package/.docs/raw/memory/memory-processors.mdx +265 -79
- package/.docs/raw/memory/working-memory.mdx +10 -2
- package/.docs/raw/observability/overview.mdx +0 -1
- package/.docs/raw/observability/tracing/bridges/otel.mdx +176 -0
- package/.docs/raw/observability/tracing/exporters/arize.mdx +17 -0
- package/.docs/raw/observability/tracing/exporters/braintrust.mdx +19 -0
- package/.docs/raw/observability/tracing/exporters/langfuse.mdx +20 -0
- package/.docs/raw/observability/tracing/exporters/langsmith.mdx +12 -0
- package/.docs/raw/observability/tracing/exporters/otel.mdx +5 -4
- package/.docs/raw/observability/tracing/overview.mdx +71 -6
- package/.docs/raw/observability/tracing/processors/sensitive-data-filter.mdx +0 -1
- package/.docs/raw/rag/retrieval.mdx +23 -6
- package/.docs/raw/rag/vector-databases.mdx +93 -2
- package/.docs/raw/reference/agents/generate.mdx +55 -6
- package/.docs/raw/reference/agents/network.mdx +44 -0
- package/.docs/raw/reference/client-js/memory.mdx +43 -0
- package/.docs/raw/reference/client-js/workflows.mdx +92 -63
- package/.docs/raw/reference/deployer/netlify.mdx +1 -2
- package/.docs/raw/reference/evals/scorer-utils.mdx +362 -0
- package/.docs/raw/reference/index.mdx +1 -0
- package/.docs/raw/reference/observability/tracing/bridges/otel.mdx +150 -0
- package/.docs/raw/reference/observability/tracing/configuration.mdx +0 -4
- package/.docs/raw/reference/observability/tracing/exporters/arize.mdx +4 -0
- package/.docs/raw/reference/observability/tracing/exporters/langsmith.mdx +17 -1
- package/.docs/raw/reference/observability/tracing/exporters/otel.mdx +6 -0
- package/.docs/raw/reference/observability/tracing/instances.mdx +0 -4
- package/.docs/raw/reference/observability/tracing/interfaces.mdx +29 -4
- package/.docs/raw/reference/observability/tracing/spans.mdx +0 -4
- package/.docs/raw/reference/processors/language-detector.mdx +9 -2
- package/.docs/raw/reference/processors/message-history-processor.mdx +131 -0
- package/.docs/raw/reference/processors/moderation-processor.mdx +10 -3
- package/.docs/raw/reference/processors/pii-detector.mdx +10 -3
- package/.docs/raw/reference/processors/processor-interface.mdx +502 -0
- package/.docs/raw/reference/processors/prompt-injection-detector.mdx +9 -2
- package/.docs/raw/reference/processors/semantic-recall-processor.mdx +197 -0
- package/.docs/raw/reference/processors/system-prompt-scrubber.mdx +2 -2
- package/.docs/raw/reference/processors/tool-call-filter.mdx +125 -0
- package/.docs/raw/reference/processors/working-memory-processor.mdx +221 -0
- package/.docs/raw/reference/storage/cloudflare-d1.mdx +37 -0
- package/.docs/raw/reference/storage/convex.mdx +164 -0
- package/.docs/raw/reference/storage/lance.mdx +33 -0
- package/.docs/raw/reference/storage/libsql.mdx +37 -0
- package/.docs/raw/reference/storage/mongodb.mdx +39 -0
- package/.docs/raw/reference/storage/mssql.mdx +37 -0
- package/.docs/raw/reference/storage/postgresql.mdx +37 -0
- package/.docs/raw/reference/streaming/ChunkType.mdx +1 -1
- package/.docs/raw/reference/streaming/agents/stream.mdx +56 -1
- package/.docs/raw/reference/streaming/workflows/observeStream.mdx +7 -9
- package/.docs/raw/reference/streaming/workflows/{resumeStreamVNext.mdx → resumeStream.mdx} +51 -11
- package/.docs/raw/reference/streaming/workflows/stream.mdx +83 -24
- package/.docs/raw/reference/tools/mcp-client.mdx +74 -17
- package/.docs/raw/reference/vectors/convex.mdx +429 -0
- package/.docs/raw/reference/vectors/duckdb.mdx +462 -0
- package/.docs/raw/reference/vectors/elasticsearch.mdx +310 -0
- package/.docs/raw/reference/voice/google.mdx +159 -20
- package/.docs/raw/reference/workflows/run-methods/restart.mdx +142 -0
- package/.docs/raw/reference/workflows/run-methods/resume.mdx +44 -0
- package/.docs/raw/reference/workflows/run-methods/start.mdx +44 -0
- package/.docs/raw/reference/workflows/run.mdx +13 -5
- package/.docs/raw/reference/workflows/step.mdx +13 -0
- package/.docs/raw/reference/workflows/workflow.mdx +19 -0
- package/.docs/raw/server-db/mastra-server.mdx +30 -1
- package/.docs/raw/server-db/request-context.mdx +0 -1
- package/.docs/raw/server-db/storage.mdx +11 -0
- package/.docs/raw/streaming/overview.mdx +6 -6
- package/.docs/raw/streaming/tool-streaming.mdx +2 -2
- package/.docs/raw/streaming/workflow-streaming.mdx +5 -11
- package/.docs/raw/workflows/error-handling.mdx +1 -0
- package/.docs/raw/workflows/human-in-the-loop.mdx +4 -4
- package/.docs/raw/workflows/overview.mdx +56 -44
- package/.docs/raw/workflows/snapshots.mdx +1 -0
- package/.docs/raw/workflows/suspend-and-resume.mdx +85 -16
- package/.docs/raw/workflows/time-travel.mdx +313 -0
- package/.docs/raw/workflows/workflow-state.mdx +191 -0
- package/CHANGELOG.md +8 -0
- package/package.json +4 -4
- package/.docs/raw/agents/human-in-the-loop-with-tools.mdx +0 -91
- package/.docs/raw/reference/streaming/workflows/observeStreamVNext.mdx +0 -47
- package/.docs/raw/reference/streaming/workflows/streamVNext.mdx +0 -153
|
@@ -1,5 +1,278 @@
|
|
|
1
1
|
# @mastra/core
|
|
2
2
|
|
|
3
|
+
## 1.0.0-beta.6
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- Changed `.branch()` result schema to make all branch output fields optional. ([#10693](https://github.com/mastra-ai/mastra/pull/10693))
|
|
8
|
+
|
|
9
|
+
**Breaking change**: Branch outputs are now optional since only one branch executes at runtime. Update your workflow schemas to handle optional branch results.
|
|
10
|
+
|
|
11
|
+
**Before:**
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
const workflow = createWorkflow({...})
|
|
15
|
+
.branch([
|
|
16
|
+
[condition1, stepA], // outputSchema: { result: z.string() }
|
|
17
|
+
[condition2, stepB], // outputSchema: { data: z.number() }
|
|
18
|
+
])
|
|
19
|
+
.map({
|
|
20
|
+
finalResult: { step: stepA, path: 'result' } // Expected non-optional
|
|
21
|
+
});
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
**After:**
|
|
25
|
+
|
|
26
|
+
```typescript
|
|
27
|
+
const workflow = createWorkflow({...})
|
|
28
|
+
.branch([
|
|
29
|
+
[condition1, stepA],
|
|
30
|
+
[condition2, stepB],
|
|
31
|
+
])
|
|
32
|
+
.map({
|
|
33
|
+
finalResult: {
|
|
34
|
+
step: stepA,
|
|
35
|
+
path: 'result' // Now optional - provide fallback
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**Why**: Branch conditionals execute only one path, so non-executed branches don't produce outputs. The type system now correctly reflects this runtime behavior.
|
|
41
|
+
|
|
42
|
+
Related issue: https://github.com/mastra-ai/mastra/issues/10642
|
|
43
|
+
|
|
44
|
+
### Minor Changes
|
|
45
|
+
|
|
46
|
+
- Memory system now uses processors. Memory processors (`MessageHistory`, `SemanticRecall`, `WorkingMemory`) are now exported from `@mastra/memory/processors` and automatically added to the agent pipeline based on your memory config. Core processors (`ToolCallFilter`, `TokenLimiter`) remain in `@mastra/core/processors`. ([#9254](https://github.com/mastra-ai/mastra/pull/9254))
|
|
47
|
+
|
|
48
|
+
- Add reserved keys in RequestContext for secure resourceId/threadId setting from middleware ([#10657](https://github.com/mastra-ai/mastra/pull/10657))
|
|
49
|
+
|
|
50
|
+
This allows middleware to securely set `resourceId` and `threadId` via reserved keys in RequestContext (`MASTRA_RESOURCE_ID_KEY` and `MASTRA_THREAD_ID_KEY`), which take precedence over client-provided values for security.
|
|
51
|
+
|
|
52
|
+
- feat(workflows): add suspendData parameter to step execute function ([#10734](https://github.com/mastra-ai/mastra/pull/10734))
|
|
53
|
+
|
|
54
|
+
Adds a new `suspendData` parameter to workflow step execute functions that provides access to the data originally passed to `suspend()` when the step was suspended. This enables steps to access context about why they were suspended when they are later resumed.
|
|
55
|
+
|
|
56
|
+
**New Features:**
|
|
57
|
+
- `suspendData` parameter automatically populated in step execute function when resuming
|
|
58
|
+
- Type-safe access to suspend data matching the step's `suspendSchema`
|
|
59
|
+
- Backward compatible - existing workflows continue to work unchanged
|
|
60
|
+
|
|
61
|
+
**Example:**
|
|
62
|
+
|
|
63
|
+
```typescript
|
|
64
|
+
const step = createStep({
|
|
65
|
+
suspendSchema: z.object({ reason: z.string() }),
|
|
66
|
+
resumeSchema: z.object({ approved: z.boolean() }),
|
|
67
|
+
execute: async ({ suspend, suspendData, resumeData }) => {
|
|
68
|
+
if (!resumeData?.approved) {
|
|
69
|
+
return await suspend({ reason: 'Approval required' });
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// Access original suspend data when resuming
|
|
73
|
+
console.log(`Resuming after: ${suspendData?.reason}`);
|
|
74
|
+
return { result: 'Approved' };
|
|
75
|
+
},
|
|
76
|
+
});
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
- feat(storage): support querying messages from multiple threads ([#10663](https://github.com/mastra-ai/mastra/pull/10663))
|
|
80
|
+
- Fixed TypeScript errors where `threadId: string | string[]` was being passed to places expecting `Scalar` type
|
|
81
|
+
- Added proper multi-thread support for `listMessages` across all adapters when `threadId` is an array
|
|
82
|
+
- Updated `_getIncludedMessages` to look up message threadId by ID (since message IDs are globally unique)
|
|
83
|
+
- **upstash**: Added `msg-idx:{messageId}` index for O(1) message lookups (backwards compatible with fallback to scan for old messages, with automatic backfill)
|
|
84
|
+
|
|
85
|
+
- Adds trace tagging support to the BrainTrust and Langfuse tracing exporters. ([#10765](https://github.com/mastra-ai/mastra/pull/10765))
|
|
86
|
+
|
|
87
|
+
- Add `messageList` parameter to `processOutputStream` for accessing remembered messages during streaming ([#10608](https://github.com/mastra-ai/mastra/pull/10608))
|
|
88
|
+
|
|
89
|
+
- Unify transformScoreRow functions across storage adapters ([#10648](https://github.com/mastra-ai/mastra/pull/10648))
|
|
90
|
+
|
|
91
|
+
Added a unified `transformScoreRow` function in `@mastra/core/storage` that provides schema-driven row transformation for score data. This eliminates code duplication across 10 storage adapters while maintaining store-specific behavior through configurable options:
|
|
92
|
+
- `preferredTimestampFields`: Preferred source fields for timestamps (PostgreSQL, Cloudflare D1)
|
|
93
|
+
- `convertTimestamps`: Convert timestamp strings to Date objects (MSSQL, MongoDB, ClickHouse)
|
|
94
|
+
- `nullValuePattern`: Skip values matching pattern (ClickHouse's `'_null_'`)
|
|
95
|
+
- `fieldMappings`: Map source column names to schema fields (LibSQL's `additionalLLMContext`)
|
|
96
|
+
|
|
97
|
+
Each store adapter now uses the unified function with appropriate options, reducing ~200 lines of duplicate transformation logic while ensuring consistent behavior across all storage backends.
|
|
98
|
+
|
|
99
|
+
### Patch Changes
|
|
100
|
+
|
|
101
|
+
- dependencies updates: ([#10110](https://github.com/mastra-ai/mastra/pull/10110))
|
|
102
|
+
- Updated dependency [`hono-openapi@^1.1.1` ↗︎](https://www.npmjs.com/package/hono-openapi/v/1.1.1) (from `^0.4.8`, in `dependencies`)
|
|
103
|
+
|
|
104
|
+
- unexpected json parse issue, log error but dont fail ([#10241](https://github.com/mastra-ai/mastra/pull/10241))
|
|
105
|
+
|
|
106
|
+
- Fixed a bug in agent networks where sometimes the task name was empty ([#10629](https://github.com/mastra-ai/mastra/pull/10629))
|
|
107
|
+
|
|
108
|
+
- Adds `tool-result` and `tool-error` chunks to the processor.processOutputStream path. Processors now have access to these two chunks. ([#10645](https://github.com/mastra-ai/mastra/pull/10645))
|
|
109
|
+
|
|
110
|
+
- Include `.input` in workflow results for both engines and remove the option to omit them from Inngest workflows. ([#10688](https://github.com/mastra-ai/mastra/pull/10688))
|
|
111
|
+
|
|
112
|
+
- `getSpeakers` endpoint returns an empty array if voice is not configured on the agent and `getListeners` endpoint returns `{ enabled: false }` if voice is not figured on the agent. ([#10560](https://github.com/mastra-ai/mastra/pull/10560))
|
|
113
|
+
|
|
114
|
+
When no voice is set on agent don't throw error, by default set voice to undefined rather than DefaultVoice which throws errors when it is accessed.
|
|
115
|
+
|
|
116
|
+
- SimpleAuth and improved CloudAuth ([#10490](https://github.com/mastra-ai/mastra/pull/10490))
|
|
117
|
+
|
|
118
|
+
- When LLMs like Claude Sonnet 4.5 and Gemini 2.4 call tools with all-optional parameters, they send `args: undefined` instead of `args: {}`. This caused validation to fail with "root: Required". ([#10728](https://github.com/mastra-ai/mastra/pull/10728))
|
|
119
|
+
|
|
120
|
+
The fix normalizes `undefined`/`null` to `{}` for object schemas and `[]` for array schemas before validation.
|
|
121
|
+
|
|
122
|
+
- Fixed tool validation error messages so logs show Zod validation errors directly instead of hiding them inside structured JSON. ([#10579](https://github.com/mastra-ai/mastra/pull/10579))
|
|
123
|
+
|
|
124
|
+
- Fix error when spreading config objects in Mastra constructor ([#10718](https://github.com/mastra-ai/mastra/pull/10718))
|
|
125
|
+
|
|
126
|
+
Adds validation guards to handle undefined/null values that can occur when config objects are spread (`{ ...config }`). Previously, if getters or non-enumerable properties resulted in undefined values during spread, the constructor would throw cryptic errors when accessing `.id` or `.name` on undefined objects.
|
|
127
|
+
|
|
128
|
+
- Fix GPT-5/o3 reasoning models failing with "required reasoning item" errors when using memory with tools. Empty reasoning is now stored with providerMetadata to preserve OpenAI's item_reference. ([#10585](https://github.com/mastra-ai/mastra/pull/10585))
|
|
129
|
+
|
|
130
|
+
- Fix generateTitle model type to accept AI SDK LanguageModelV2 ([#10541](https://github.com/mastra-ai/mastra/pull/10541))
|
|
131
|
+
|
|
132
|
+
Updated the `generateTitle.model` config option to accept `MastraModelConfig` instead of `MastraLanguageModel`. This allows users to pass raw AI SDK `LanguageModelV2` models (e.g., `anthropic.languageModel('claude-3-5-haiku-20241022')`) directly without type errors.
|
|
133
|
+
|
|
134
|
+
Previously, passing a standard `LanguageModelV2` would fail because `MastraLanguageModelV2` has different `doGenerate`/`doStream` return types. Now `MastraModelConfig` is used consistently across:
|
|
135
|
+
- `memory/types.ts` - `generateTitle.model` config
|
|
136
|
+
- `agent.ts` - `genTitle`, `generateTitleFromUserMessage`, `resolveTitleGenerationConfig`
|
|
137
|
+
- `agent-legacy.ts` - `AgentLegacyCapabilities` interface
|
|
138
|
+
|
|
139
|
+
- Fix message ordering when using toAISdkV5Messages or prepareStep ([#10686](https://github.com/mastra-ai/mastra/pull/10686))
|
|
140
|
+
|
|
141
|
+
Messages without `createdAt` timestamps were getting shuffled because they all received identical timestamps during conversion. Now messages are assigned monotonically increasing timestamps via `generateCreatedAt()`, preserving input order.
|
|
142
|
+
|
|
143
|
+
Before:
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
Input: [user: "hello", assistant: "Hi!", user: "bye"]
|
|
147
|
+
Output: [user: "bye", assistant: "Hi!", user: "hello"] // shuffled!
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
After:
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
Input: [user: "hello", assistant: "Hi!", user: "bye"]
|
|
154
|
+
Output: [user: "hello", assistant: "Hi!", user: "bye"] // correct order
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
- Fix Scorer not using custom gateways registered with Mastra ([#10778](https://github.com/mastra-ai/mastra/pull/10778))
|
|
158
|
+
|
|
159
|
+
Scorers now have access to custom gateways when resolving models. Previously, calling `resolveModelConfig` in the scorer didn't pass the Mastra instance, so custom gateways were never available.
|
|
160
|
+
|
|
161
|
+
- Fix workflow run status not being updated from storage snapshot in createRun ([#10664](https://github.com/mastra-ai/mastra/pull/10664))
|
|
162
|
+
|
|
163
|
+
When createRun is called with an existing runId, it now correctly updates the run's status from the storage snapshot. This fixes the issue where different workflow instances (e.g., different API requests) would get a run with 'pending' status instead of the correct status from storage (e.g., 'suspended').
|
|
164
|
+
|
|
165
|
+
- Pass resourceId and threadId to network agent's subAgent when it has its own memory ([#10592](https://github.com/mastra-ai/mastra/pull/10592))
|
|
166
|
+
|
|
167
|
+
- use `agent.getMemory` to fetch the memory instance on the Agent class to make sure that storage gets set if memory doesn't set it itself. ([#10556](https://github.com/mastra-ai/mastra/pull/10556))
|
|
168
|
+
|
|
169
|
+
- Built-in processors that use internal agents (PromptInjectionDetector, ModerationProcessor, PIIDetector, LanguageDetector, StructuredOutputProcessor) now accept `providerOptions` to control model behavior. ([#10651](https://github.com/mastra-ai/mastra/pull/10651))
|
|
170
|
+
|
|
171
|
+
This lets you pass provider-specific settings like `reasoningEffort` for OpenAI thinking models:
|
|
172
|
+
|
|
173
|
+
```typescript
|
|
174
|
+
const processor = new PromptInjectionDetector({
|
|
175
|
+
model: 'openai/o1-mini',
|
|
176
|
+
threshold: 0.7,
|
|
177
|
+
strategy: 'block',
|
|
178
|
+
providerOptions: {
|
|
179
|
+
openai: {
|
|
180
|
+
reasoningEffort: 'low',
|
|
181
|
+
},
|
|
182
|
+
},
|
|
183
|
+
});
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
- Improved typing for `workflow.then` to allow the provided steps `inputSchema` to be a subset of the previous steps `outputSchema`. Also errors if the provided steps `inputSchema` is a superset of the previous steps outputSchema. ([#10763](https://github.com/mastra-ai/mastra/pull/10763))
|
|
187
|
+
|
|
188
|
+
- Fix type issue with workflow `.parallel()` when passing multiple steps, one or more of which has a `resumeSchema` provided. ([#10708](https://github.com/mastra-ai/mastra/pull/10708))
|
|
189
|
+
|
|
190
|
+
- Adds bidirectional integration with otel tracing via a new @mastra/otel-bridge package. ([#10482](https://github.com/mastra-ai/mastra/pull/10482))
|
|
191
|
+
|
|
192
|
+
- Adds `processInputStep` method to the Processor interface. Unlike `processInput` which runs once at the start, this runs at each step of the agentic loop (including tool call continuations). ([#10650](https://github.com/mastra-ai/mastra/pull/10650))
|
|
193
|
+
|
|
194
|
+
```ts
|
|
195
|
+
const processor: Processor = {
|
|
196
|
+
id: 'my-processor',
|
|
197
|
+
processInputStep: async ({ messages, messageList, stepNumber, systemMessages }) => {
|
|
198
|
+
// Transform messages at each step before LLM call
|
|
199
|
+
return messageList;
|
|
200
|
+
},
|
|
201
|
+
};
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
- When using output processors with `agent.generate()`, `result.text` was returning the unprocessed LLM response instead of the processed text. ([#10735](https://github.com/mastra-ai/mastra/pull/10735))
|
|
205
|
+
|
|
206
|
+
**Before:**
|
|
207
|
+
|
|
208
|
+
```ts
|
|
209
|
+
const result = await agent.generate('hello');
|
|
210
|
+
result.text; // "hello world" (unprocessed)
|
|
211
|
+
result.response.messages[0].content[0].text; // "HELLO WORLD" (processed)
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
**After:**
|
|
215
|
+
|
|
216
|
+
```ts
|
|
217
|
+
const result = await agent.generate('hello');
|
|
218
|
+
result.text; // "HELLO WORLD" (processed)
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
The bug was caused by the `text` delayed promise being resolved twice - first correctly with the processed text, then overwritten with the unprocessed buffered text.
|
|
222
|
+
|
|
223
|
+
- Refactored default engine to fit durable execution better, and the inngest engine to match. ([#10627](https://github.com/mastra-ai/mastra/pull/10627))
|
|
224
|
+
Also fixes requestContext persistence by relying on inngest step memoization.
|
|
225
|
+
|
|
226
|
+
Unifies some of the stepResults and error formats in both engines.
|
|
227
|
+
|
|
228
|
+
- Allow direct access to server app handle directly from Mastra instance. ([#10598](https://github.com/mastra-ai/mastra/pull/10598))
|
|
229
|
+
|
|
230
|
+
```ts
|
|
231
|
+
// Before: HTTP request to localhost
|
|
232
|
+
const response = await fetch(`http://localhost:5000/api/tools`);
|
|
233
|
+
|
|
234
|
+
// After: Direct call via app.fetch()
|
|
235
|
+
const app = mastra.getServerApp<Hono>();
|
|
236
|
+
const response = await app.fetch(new Request('http://internal/api/tools'));
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
- Added `mastra.getServerApp<T>()` to access the underlying Hono/Express app
|
|
240
|
+
- Added `mastra.getMastraServer()` and `mastra.setMastraServer()` for adapter access
|
|
241
|
+
- Added `MastraServerBase` class in `@mastra/core/server` for adapter implementations
|
|
242
|
+
- Server adapters now auto-register with Mastra in their constructor
|
|
243
|
+
|
|
244
|
+
- Fix network agent not getting `text-delta` from subAgent when `.stream` is used ([#10533](https://github.com/mastra-ai/mastra/pull/10533))
|
|
245
|
+
|
|
246
|
+
- Fix discriminatedUnion schema information lost when json schema is converted to zod ([#10500](https://github.com/mastra-ai/mastra/pull/10500))
|
|
247
|
+
|
|
248
|
+
- Fix writer.custom not working during workflow resume operations ([#10720](https://github.com/mastra-ai/mastra/pull/10720))
|
|
249
|
+
|
|
250
|
+
When a workflow step is resumed, the writer parameter was not being properly passed through, causing writer.custom() calls to fail. This fix ensures the writableStream parameter is correctly passed to both run.resume() and run.start() calls in the workflow execution engine, allowing custom events to be emitted properly during resume operations.
|
|
251
|
+
|
|
252
|
+
- Fix corrupted provider-registry.json file in global cache and regenerate corrupted files ([#10606](https://github.com/mastra-ai/mastra/pull/10606))
|
|
253
|
+
|
|
254
|
+
- Fix TypeScript error when using Zod schemas in `defaultOptions.structuredOutput` ([#10710](https://github.com/mastra-ai/mastra/pull/10710))
|
|
255
|
+
|
|
256
|
+
Previously, defining `structuredOutput.schema` in `defaultOptions` would cause a TypeScript error because the type only accepted `undefined`. Now any valid `OutputSchema` is correctly accepted.
|
|
257
|
+
|
|
258
|
+
- Add support for `providerOptions` when defining tools. This allows developers to specify provider-specific configurations (like Anthropic's `cacheControl`) per tool. ([#10649](https://github.com/mastra-ai/mastra/pull/10649))
|
|
259
|
+
|
|
260
|
+
```typescript
|
|
261
|
+
createTool({
|
|
262
|
+
id: 'my-tool',
|
|
263
|
+
providerOptions: {
|
|
264
|
+
anthropic: { cacheControl: { type: 'ephemeral' } },
|
|
265
|
+
},
|
|
266
|
+
// ...
|
|
267
|
+
});
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
- Fixed OpenAI reasoning message merging so distinct reasoning items are no longer dropped when they share a message ID. Prevents downstream errors where a function call is missing its required "reasoning" item. See #9005. ([#10614](https://github.com/mastra-ai/mastra/pull/10614))
|
|
271
|
+
|
|
272
|
+
- Updated dependencies [[`103586c`](https://github.com/mastra-ai/mastra/commit/103586cb23ebcd2466c7f68a71674d37cc10e263), [`61a5705`](https://github.com/mastra-ai/mastra/commit/61a570551278b6743e64243b3ce7d73de915ca8a), [`db70a48`](https://github.com/mastra-ai/mastra/commit/db70a48aeeeeb8e5f92007e8ede52c364ce15287), [`f03ae60`](https://github.com/mastra-ai/mastra/commit/f03ae60500fe350c9d828621006cdafe1975fdd8)]:
|
|
273
|
+
- @mastra/observability@1.0.0-beta.2
|
|
274
|
+
- @mastra/schema-compat@1.0.0-beta.2
|
|
275
|
+
|
|
3
276
|
## 1.0.0-beta.5
|
|
4
277
|
|
|
5
278
|
### Patch Changes
|
|
@@ -225,278 +498,5 @@
|
|
|
225
498
|
|
|
226
499
|
```ts
|
|
227
500
|
const tempPath = `${filePath}.${process.pid}.${Date.now()}.${randomSuffix}.tmp`;
|
|
228
|
-
fs.writeFileSync(tempPath, content, 'utf-8');
|
|
229
|
-
fs.renameSync(tempPath, filePath); // atomic on POSIX
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
`fs.rename()` is atomic on POSIX systems when both paths are on the same filesystem, so concurrent writes will each complete fully rather than interleaving.
|
|
233
|
-
|
|
234
|
-
- Fix .map when placed at the beginning of a workflow or nested workflow ([#10457](https://github.com/mastra-ai/mastra/pull/10457))
|
|
235
|
-
|
|
236
|
-
- Ensures that data chunks written via `writer.custom()` always bubble up directly to the top-level stream, even when nested in sub-agents. This allows tools to emit custom progress updates, metrics, and other data that can be consumed at any level of the agent hierarchy. ([#10309](https://github.com/mastra-ai/mastra/pull/10309))
|
|
237
|
-
- **Added bubbling logic in sub-agent execution**: When sub-agents execute, data chunks (chunks with type starting with `data-`) are detected and written via `writer.custom()` instead of `writer.write()`, ensuring they bubble up directly without being wrapped in `tool-output` chunks.
|
|
238
|
-
- **Added comprehensive tests**:
|
|
239
|
-
- Test for `writer.custom()` with direct tool execution
|
|
240
|
-
- Test for `writer.custom()` with sub-agent tools (nested execution)
|
|
241
|
-
- Test for mixed usage of `writer.write()` and `writer.custom()` in the same tool
|
|
242
|
-
|
|
243
|
-
When a sub-agent's tool uses `writer.custom()` to write data chunks, those chunks appear in the sub-agent's stream. The parent agent's execution logic now detects these chunks and uses `writer.custom()` to bubble them up directly, preserving their structure and making them accessible at the top level.
|
|
244
|
-
|
|
245
|
-
This ensures that:
|
|
246
|
-
- Data chunks from tools always appear directly in the stream (not wrapped)
|
|
247
|
-
- Data chunks bubble up correctly through nested agent hierarchies
|
|
248
|
-
- Regular chunks continue to be wrapped in `tool-output` as expected
|
|
249
|
-
|
|
250
|
-
- Update agent workflow and sub-agent tool transformations to accept more input arguments. ([#10278](https://github.com/mastra-ai/mastra/pull/10278))
|
|
251
|
-
|
|
252
|
-
These tools now accept the following
|
|
253
|
-
|
|
254
|
-
```
|
|
255
|
-
workflowTool.execute({ inputData, initialState }, context)
|
|
256
|
-
|
|
257
|
-
agentTool.execute({ prompt, threadId, resourceId, instructions, maxSteps }, context)
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
Workflow tools now also properly return errors when the workflow run fails
|
|
261
|
-
|
|
262
|
-
```
|
|
263
|
-
const workflowResult = await workflowTool.execute({ inputData, initialState }, context)
|
|
264
|
-
|
|
265
|
-
console.log(workflowResult.error) // error msg if error
|
|
266
|
-
console.log(workflowResult.result) // result of the workflow if success
|
|
267
|
-
```
|
|
268
|
-
|
|
269
|
-
Workflows passed to agents do not properly handle suspend/resume`, they only handle success or error.
|
|
270
|
-
|
|
271
|
-
- Fixed OpenAI schema compatibility when using `agent.generate()` or `agent.stream()` with `structuredOutput`. ([#10366](https://github.com/mastra-ai/mastra/pull/10366))
|
|
272
|
-
|
|
273
|
-
## Changes
|
|
274
|
-
- **Automatic transformation**: Zod schemas are now automatically transformed for OpenAI strict mode compatibility when using OpenAI models (including reasoning models like o1, o3, o4)
|
|
275
|
-
- **Optional field handling**: `.optional()` fields are converted to `.nullable()` with a transform that converts `null` → `undefined`, preserving optional semantics while satisfying OpenAI's strict mode requirements
|
|
276
|
-
- **Preserves nullable fields**: Intentionally `.nullable()` fields remain unchanged
|
|
277
|
-
- **Deep transformation**: Handles `.optional()` fields at any nesting level (objects, arrays, unions, etc.)
|
|
278
|
-
- **JSON Schema objects**: Not transformed, only Zod schemas
|
|
279
|
-
|
|
280
|
-
## Example
|
|
281
|
-
|
|
282
|
-
```typescript
|
|
283
|
-
const agent = new Agent({
|
|
284
|
-
name: 'data-extractor',
|
|
285
|
-
model: { provider: 'openai', modelId: 'gpt-4o' },
|
|
286
|
-
instructions: 'Extract user information',
|
|
287
|
-
});
|
|
288
|
-
|
|
289
|
-
const schema = z.object({
|
|
290
|
-
name: z.string(),
|
|
291
|
-
age: z.number().optional(),
|
|
292
|
-
deletedAt: z.date().nullable(),
|
|
293
|
-
});
|
|
294
|
-
|
|
295
|
-
// Schema is automatically transformed for OpenAI compatibility
|
|
296
|
-
const result = await agent.generate('Extract: John, deleted yesterday', {
|
|
297
|
-
structuredOutput: { schema },
|
|
298
|
-
});
|
|
299
|
-
|
|
300
|
-
// Result: { name: 'John', age: undefined, deletedAt: null }
|
|
301
|
-
```
|
|
302
|
-
|
|
303
|
-
- Fix network data step formatting in AI SDK stream transformation ([#10432](https://github.com/mastra-ai/mastra/pull/10432))
|
|
304
|
-
|
|
305
|
-
Previously, network execution steps were not being tracked correctly in the AI SDK stream transformation. Steps were being duplicated rather than updated, and critical metadata like step IDs, iterations, and task information was missing or incorrectly structured.
|
|
306
|
-
|
|
307
|
-
**Changes:**
|
|
308
|
-
- Enhanced step tracking in `AgentNetworkToAISDKTransformer` to properly maintain step state throughout execution lifecycle
|
|
309
|
-
- Steps are now identified by unique IDs and updated in place rather than creating duplicates
|
|
310
|
-
- Added proper iteration and task metadata to each step in the network execution flow
|
|
311
|
-
- Fixed agent, workflow, and tool execution events to correctly populate step data
|
|
312
|
-
- Updated network stream event types to include `networkId`, `workflowId`, and consistent `runId` tracking
|
|
313
|
-
- Added test coverage for network custom data chunks with comprehensive validation
|
|
314
|
-
|
|
315
|
-
This ensures the AI SDK correctly represents the full execution flow of agent networks with accurate step sequencing and metadata.
|
|
316
|
-
|
|
317
|
-
- Fix generating provider-registry.json ([#10392](https://github.com/mastra-ai/mastra/pull/10392))
|
|
318
|
-
|
|
319
|
-
- Adds type inference for `mastra.get*ById` functions. Only those registered at the top level mastra instance will get inferred. MCP and tool id's do not get inferred yet, those need additional changes. ([#10199](https://github.com/mastra-ai/mastra/pull/10199))
|
|
320
|
-
|
|
321
|
-
- Fix working memory zod to json schema conversion to use schema-compat zodtoJsonSchema fn. ([#10391](https://github.com/mastra-ai/mastra/pull/10391))
|
|
322
|
-
|
|
323
|
-
- Fixes parallel tool call issue with Gemini 3 Pro by preventing step-start parts from being inserted between consecutive tool parts in the `addStartStepPartsForAIV5` function. This ensures that the AI SDK's `convertToModelMessages` correctly preserves the order of parallel tool calls and maintains the `thought_signature` on the first tool call as required by Gemini's API. ([#10372](https://github.com/mastra-ai/mastra/pull/10372))
|
|
324
|
-
|
|
325
|
-
- Updated dependencies [[`bae33d9`](https://github.com/mastra-ai/mastra/commit/bae33d91a63fbb64d1e80519e1fc1acaed1e9013)]:
|
|
326
|
-
- @mastra/schema-compat@1.0.0-beta.1
|
|
327
|
-
|
|
328
|
-
## 1.0.0-beta.4
|
|
329
|
-
|
|
330
|
-
### Patch Changes
|
|
331
|
-
|
|
332
|
-
- Fix message list provider metadata handling and reasoning text optimization ([#10281](https://github.com/mastra-ai/mastra/pull/10281))
|
|
333
|
-
- Improved provider metadata preservation across message transformations
|
|
334
|
-
- Optimized reasoning text storage to avoid duplication (using `details` instead of `reasoning` field)
|
|
335
|
-
- Fixed test snapshots for timestamp precision and metadata handling
|
|
336
|
-
|
|
337
|
-
- Allow provider to pass through options to the auth config ([#10284](https://github.com/mastra-ai/mastra/pull/10284))
|
|
338
|
-
|
|
339
|
-
- Fix deprecation warning when agent network executes workflows by using `.fullStream` instead of iterating `WorkflowRunOutput` directly ([#10285](https://github.com/mastra-ai/mastra/pull/10285))
|
|
340
|
-
|
|
341
|
-
- Fix generate toolResults and mismatch in provider tool names ([#10282](https://github.com/mastra-ai/mastra/pull/10282))
|
|
342
|
-
|
|
343
|
-
- Support AI SDK voice models ([#10304](https://github.com/mastra-ai/mastra/pull/10304))
|
|
344
|
-
|
|
345
|
-
Mastra now supports AI SDK's transcription and speech models directly in `CompositeVoice`, enabling seamless integration with a wide range of voice providers through the AI SDK ecosystem. This allows you to use models from OpenAI, ElevenLabs, Groq, Deepgram, LMNT, Hume, and many more for both speech-to-text (transcription) and text-to-speech capabilities.
|
|
346
|
-
|
|
347
|
-
AI SDK models are automatically wrapped when passed to `CompositeVoice`, so you can mix and match AI SDK models with existing Mastra voice providers for maximum flexibility.
|
|
348
|
-
|
|
349
|
-
## Usage Example
|
|
350
|
-
|
|
351
|
-
```typescript
|
|
352
|
-
import { CompositeVoice } from '@mastra/core/voice';
|
|
353
|
-
import { openai } from '@ai-sdk/openai';
|
|
354
|
-
import { elevenlabs } from '@ai-sdk/elevenlabs';
|
|
355
|
-
|
|
356
|
-
// Use AI SDK models directly with CompositeVoice
|
|
357
|
-
const voice = new CompositeVoice({
|
|
358
|
-
input: openai.transcription('whisper-1'), // AI SDK transcription model
|
|
359
|
-
output: elevenlabs.speech('eleven_turbo_v2'), // AI SDK speech model
|
|
360
|
-
});
|
|
361
|
-
|
|
362
|
-
// Convert text to speech
|
|
363
|
-
const audioStream = await voice.speak('Hello from AI SDK!');
|
|
364
|
-
|
|
365
|
-
// Convert speech to text
|
|
366
|
-
const transcript = await voice.listen(audioStream);
|
|
367
|
-
console.log(transcript);
|
|
368
|
-
```
|
|
369
|
-
|
|
370
|
-
Fixes #9947
|
|
371
|
-
|
|
372
|
-
## 1.0.0-beta.3
|
|
373
|
-
|
|
374
|
-
### Major Changes
|
|
375
|
-
|
|
376
|
-
- Use tool's outputSchema to validate results and return an error object if schema does not match output results. ([#9664](https://github.com/mastra-ai/mastra/pull/9664))
|
|
377
|
-
|
|
378
|
-
```typescript
|
|
379
|
-
const getUserTool = createTool({
|
|
380
|
-
id: 'get-user',
|
|
381
|
-
outputSchema: z.object({
|
|
382
|
-
id: z.string(),
|
|
383
|
-
name: z.string(),
|
|
384
|
-
email: z.string().email(),
|
|
385
|
-
}),
|
|
386
|
-
execute: async inputData => {
|
|
387
|
-
return { id: '123', name: 'John' };
|
|
388
|
-
},
|
|
389
|
-
});
|
|
390
|
-
```
|
|
391
|
-
|
|
392
|
-
When validation fails, the tool returns a `ValidationError`:
|
|
393
|
-
|
|
394
|
-
```typescript
|
|
395
|
-
// Before v1 - invalid output would silently pass through
|
|
396
|
-
await getUserTool.execute({});
|
|
397
|
-
// { id: "123", name: "John" } - missing email
|
|
398
|
-
|
|
399
|
-
// After v1 - validation error is returned
|
|
400
|
-
await getUserTool.execute({});
|
|
401
|
-
// {
|
|
402
|
-
// error: true,
|
|
403
|
-
// message: "Tool output validation failed for get-user. The tool returned invalid output:\n- email: Required\n\nReturned output: {...}",
|
|
404
|
-
// validationErrors: { ... }
|
|
405
|
-
// }
|
|
406
|
-
```
|
|
407
|
-
|
|
408
|
-
### Patch Changes
|
|
409
|
-
|
|
410
|
-
- dependencies updates: ([#10131](https://github.com/mastra-ai/mastra/pull/10131))
|
|
411
|
-
- Updated dependency [`hono@^4.10.5` ↗︎](https://www.npmjs.com/package/hono/v/4.10.5) (from `^4.9.7`, in `dependencies`)
|
|
412
|
-
|
|
413
|
-
- Only handle download image asset transformation if needed ([#10122](https://github.com/mastra-ai/mastra/pull/10122))
|
|
414
|
-
|
|
415
|
-
- Add serializedStepGraph to runExecutionResult response ([#10004](https://github.com/mastra-ai/mastra/pull/10004))
|
|
416
|
-
|
|
417
|
-
- Fix tool outputSchema validation to allow unsupported Zod types like ZodTuple. The outputSchema is only used for internal validation and never sent to the LLM, so model compatibility checks are not needed. ([#9409](https://github.com/mastra-ai/mastra/pull/9409))
|
|
418
|
-
|
|
419
|
-
- Fix vector definition to fix pinecone ([#10150](https://github.com/mastra-ai/mastra/pull/10150))
|
|
420
|
-
|
|
421
|
-
- fix resumeStream type to use resumeSchema ([#10202](https://github.com/mastra-ai/mastra/pull/10202))
|
|
422
|
-
|
|
423
|
-
- Add type bailed to workflowRunStatus ([#10091](https://github.com/mastra-ai/mastra/pull/10091))
|
|
424
|
-
|
|
425
|
-
- default validate inputs to true in Workflow execute ([#10222](https://github.com/mastra-ai/mastra/pull/10222))
|
|
426
|
-
|
|
427
|
-
- Add support for doGenerate in LanguageModelV2. This change fixes issues with OpenAI stream permissions. ([#10239](https://github.com/mastra-ai/mastra/pull/10239))
|
|
428
|
-
- Added new abstraction over LanguageModelV2
|
|
429
|
-
|
|
430
|
-
- Fix input tool validation when no inputSchema is provided ([#9941](https://github.com/mastra-ai/mastra/pull/9941))
|
|
431
|
-
|
|
432
|
-
- Adds ability to create custom `MastraModelGateway`'s that can be added to the `Mastra` class instance under the `gateways` property. Giving you typescript autocompletion in any model picker string. ([#10180](https://github.com/mastra-ai/mastra/pull/10180))
|
|
433
|
-
|
|
434
|
-
```typescript
|
|
435
|
-
import { MastraModelGateway, type ProviderConfig } from '@mastra/core/llm';
|
|
436
|
-
import { createOpenAICompatible } from '@ai-sdk/openai-compatible-v5';
|
|
437
|
-
import type { LanguageModelV2 } from '@ai-sdk/provider-v5';
|
|
438
|
-
|
|
439
|
-
class MyCustomGateway extends MastraModelGateway {
|
|
440
|
-
readonly id = 'my-custom-gateway';
|
|
441
|
-
readonly name = 'My Custom Gateway';
|
|
442
|
-
readonly prefix = 'custom';
|
|
443
|
-
|
|
444
|
-
async fetchProviders(): Promise<Record<string, ProviderConfig>> {
|
|
445
|
-
return {
|
|
446
|
-
'my-provider': {
|
|
447
|
-
name: 'My Provider',
|
|
448
|
-
models: ['model-1', 'model-2'],
|
|
449
|
-
apiKeyEnvVar: 'MY_API_KEY',
|
|
450
|
-
gateway: this.id,
|
|
451
|
-
},
|
|
452
|
-
};
|
|
453
|
-
}
|
|
454
|
-
|
|
455
|
-
buildUrl(modelId: string, envVars?: Record<string, string>): string {
|
|
456
|
-
return 'https://api.my-provider.com/v1';
|
|
457
|
-
}
|
|
458
|
-
|
|
459
|
-
async getApiKey(modelId: string): Promise<string> {
|
|
460
|
-
const apiKey = process.env.MY_API_KEY;
|
|
461
|
-
if (!apiKey) throw new Error('MY_API_KEY not set');
|
|
462
|
-
return apiKey;
|
|
463
|
-
}
|
|
464
|
-
|
|
465
|
-
async resolveLanguageModel({
|
|
466
|
-
modelId,
|
|
467
|
-
providerId,
|
|
468
|
-
apiKey,
|
|
469
|
-
}: {
|
|
470
|
-
modelId: string;
|
|
471
|
-
providerId: string;
|
|
472
|
-
apiKey: string;
|
|
473
|
-
}): Promise<LanguageModelV2> {
|
|
474
|
-
const baseURL = this.buildUrl(`${providerId}/${modelId}`);
|
|
475
|
-
return createOpenAICompatible({
|
|
476
|
-
name: providerId,
|
|
477
|
-
apiKey,
|
|
478
|
-
baseURL,
|
|
479
|
-
}).chatModel(modelId);
|
|
480
|
-
}
|
|
481
|
-
}
|
|
482
|
-
|
|
483
|
-
new Mastra({
|
|
484
|
-
gateways: {
|
|
485
|
-
myGateway: new MyCustomGateway(),
|
|
486
|
-
},
|
|
487
|
-
});
|
|
488
|
-
```
|
|
489
|
-
|
|
490
|
-
- Add an additional check to determine whether the model natively supports specific file types. Only download the file if the model does not support it natively. ([#9790](https://github.com/mastra-ai/mastra/pull/9790))
|
|
491
|
-
|
|
492
|
-
- Add restart method to workflow run that allows restarting an active workflow run ([#9750](https://github.com/mastra-ai/mastra/pull/9750))
|
|
493
|
-
Add status filter to `listWorkflowRuns`
|
|
494
|
-
Add automatic restart to restart active workflow runs when server starts
|
|
495
|
-
|
|
496
|
-
- Validate schemas by default in workflow. Previously, if you want schemas in the workflow to be validated, you'd have to add `validateInputs` option, now, this will be done by default but can be disabled. ([#10186](https://github.com/mastra-ai/mastra/pull/10186))
|
|
497
|
-
|
|
498
|
-
For workflows whose schemas and step schemas you don't want validated, do this
|
|
499
|
-
|
|
500
|
-
```diff
|
|
501
501
|
|
|
502
|
-
...
|
|
502
|
+
... 5741 more lines hidden. See full changelog in package directory.
|
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @mastra/deployer-cloud
|
|
2
2
|
|
|
3
|
+
## 1.0.0-beta.6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- SimpleAuth and improved CloudAuth ([#10490](https://github.com/mastra-ai/mastra/pull/10490))
|
|
8
|
+
|
|
9
|
+
- Fix installing external peer deps for cloud deployer ([#10783](https://github.com/mastra-ai/mastra/pull/10783))
|
|
10
|
+
|
|
11
|
+
Adds `--force` and `--legacy-peer-deps=false` flags to npm install command to ensure peer dependencies for external packages are properly installed in the mastra output directory. The `--legacy-peer-deps=false` flag overrides package manager settings (like pnpm's default of `true`) to ensure consistent behavior.
|
|
12
|
+
|
|
13
|
+
- Updated dependencies [[`ac0d2f4`](https://github.com/mastra-ai/mastra/commit/ac0d2f4ff8831f72c1c66c2be809706d17f65789), [`1a0d3fc`](https://github.com/mastra-ai/mastra/commit/1a0d3fc811482c9c376cdf79ee615c23bae9b2d6), [`85a628b`](https://github.com/mastra-ai/mastra/commit/85a628b1224a8f64cd82ea7f033774bf22df7a7e), [`c237233`](https://github.com/mastra-ai/mastra/commit/c23723399ccedf7f5744b3f40997b79246bfbe64), [`90ae4bf`](https://github.com/mastra-ai/mastra/commit/90ae4bf971286398d4cb528b4678d96b461fef42), [`15f9e21`](https://github.com/mastra-ai/mastra/commit/15f9e216177201ea6e3f6d0bfb063fcc0953444f), [`ff94dea`](https://github.com/mastra-ai/mastra/commit/ff94dea935f4e34545c63bcb6c29804732698809), [`5b2ff46`](https://github.com/mastra-ai/mastra/commit/5b2ff4651df70c146523a7fca773f8eb0a2272f8), [`db41688`](https://github.com/mastra-ai/mastra/commit/db4168806d007417e2e60b4f68656dca4e5f40c9), [`a54a3a6`](https://github.com/mastra-ai/mastra/commit/a54a3a61d88219829de9ff6cf0d5ece163d78dc1), [`5ca599d`](https://github.com/mastra-ai/mastra/commit/5ca599d0bb59a1595f19f58473fcd67cc71cef58), [`bff1145`](https://github.com/mastra-ai/mastra/commit/bff114556b3cbadad9b2768488708f8ad0e91475), [`5c8ca24`](https://github.com/mastra-ai/mastra/commit/5c8ca247094e0cc2cdbd7137822fb47241f86e77), [`e191844`](https://github.com/mastra-ai/mastra/commit/e1918444ca3f80e82feef1dad506cd4ec6e2875f), [`22553f1`](https://github.com/mastra-ai/mastra/commit/22553f11c63ee5e966a9c034a349822249584691), [`7237163`](https://github.com/mastra-ai/mastra/commit/72371635dbf96a87df4b073cc48fc655afbdce3d), [`2500740`](https://github.com/mastra-ai/mastra/commit/2500740ea23da067d6e50ec71c625ab3ce275e64), [`873ecbb`](https://github.com/mastra-ai/mastra/commit/873ecbb517586aa17d2f1e99283755b3ebb2863f), [`4f9bbe5`](https://github.com/mastra-ai/mastra/commit/4f9bbe5968f42c86f4930b8193de3c3c17e5bd36), [`02e51fe`](https://github.com/mastra-ai/mastra/commit/02e51feddb3d4155cfbcc42624fd0d0970d032c0), [`8f3fa3a`](https://github.com/mastra-ai/mastra/commit/8f3fa3a652bb77da092f913ec51ae46e3a7e27dc), [`cd29ad2`](https://github.com/mastra-ai/mastra/commit/cd29ad23a255534e8191f249593849ed29160886), [`bdf4d8c`](https://github.com/mastra-ai/mastra/commit/bdf4d8cdc656d8a2c21d81834bfa3bfa70f56c16), [`854e3da`](https://github.com/mastra-ai/mastra/commit/854e3dad5daac17a91a20986399d3a51f54bf68b), [`ce18d38`](https://github.com/mastra-ai/mastra/commit/ce18d38678c65870350d123955014a8432075fd9), [`cccf9c8`](https://github.com/mastra-ai/mastra/commit/cccf9c8b2d2dfc1a5e63919395b83d78c89682a0), [`5a9bafc`](https://github.com/mastra-ai/mastra/commit/5a9bafcaaa859898e954456e781a1552dc0ad4f1), [`61a5705`](https://github.com/mastra-ai/mastra/commit/61a570551278b6743e64243b3ce7d73de915ca8a), [`db70a48`](https://github.com/mastra-ai/mastra/commit/db70a48aeeeeb8e5f92007e8ede52c364ce15287), [`73ac522`](https://github.com/mastra-ai/mastra/commit/73ac522d5db7ba08a9bacf1f801d7990f3100a70), [`f0fdc14`](https://github.com/mastra-ai/mastra/commit/f0fdc14ee233d619266b3d2bbdeea7d25cfc6d13), [`db18bc9`](https://github.com/mastra-ai/mastra/commit/db18bc9c3825e2c1a0ad9a183cc9935f6691bfa1), [`9b37b56`](https://github.com/mastra-ai/mastra/commit/9b37b565e1f2a76c24f728945cc740c2b09be9da), [`41a23c3`](https://github.com/mastra-ai/mastra/commit/41a23c32f9877d71810f37e24930515df2ff7a0f), [`5d171ad`](https://github.com/mastra-ai/mastra/commit/5d171ad9ef340387276b77c2bb3e83e83332d729), [`f03ae60`](https://github.com/mastra-ai/mastra/commit/f03ae60500fe350c9d828621006cdafe1975fdd8), [`d1e74a0`](https://github.com/mastra-ai/mastra/commit/d1e74a0a293866dece31022047f5dbab65a304d0), [`39e7869`](https://github.com/mastra-ai/mastra/commit/39e7869bc7d0ee391077ce291474d8a84eedccff), [`5761926`](https://github.com/mastra-ai/mastra/commit/57619260c4a2cdd598763abbacd90de594c6bc76), [`c900fdd`](https://github.com/mastra-ai/mastra/commit/c900fdd504c41348efdffb205cfe80d48c38fa33), [`604a79f`](https://github.com/mastra-ai/mastra/commit/604a79fecf276e26a54a3fe01bb94e65315d2e0e), [`887f0b4`](https://github.com/mastra-ai/mastra/commit/887f0b4746cdbd7cb7d6b17ac9f82aeb58037ea5), [`2562143`](https://github.com/mastra-ai/mastra/commit/256214336b4faa78646c9c1776612393790d8784), [`cd7c74a`](https://github.com/mastra-ai/mastra/commit/cd7c74ab8f7975713b03e6c4768ad66dc0aa2a57), [`ef11a61`](https://github.com/mastra-ai/mastra/commit/ef11a61920fa0ed08a5b7ceedd192875af119749), [`46fa9fe`](https://github.com/mastra-ai/mastra/commit/46fa9feae3d44c7fdcd5b5f6be6acbe341b46e56)]:
|
|
14
|
+
- @mastra/core@1.0.0-beta.6
|
|
15
|
+
- @mastra/deployer@1.0.0-beta.6
|
|
16
|
+
|
|
3
17
|
## 1.0.0-beta.5
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
|
@@ -485,18 +499,4 @@
|
|
|
485
499
|
|
|
486
500
|
If you're just using the deployer inside `src/mastra/index.ts` you're safe to upgrade, no changes needed.
|
|
487
501
|
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
- Update peerdep of @mastra/core ([#7619](https://github.com/mastra-ai/mastra/pull/7619))
|
|
491
|
-
|
|
492
|
-
- Update package.json and README ([#7886](https://github.com/mastra-ai/mastra/pull/7886))
|
|
493
|
-
|
|
494
|
-
- Updated dependencies [[`197cbb2`](https://github.com/mastra-ai/mastra/commit/197cbb248fc8cb4bbf61bf70b770f1388b445df2), [`b1c155b`](https://github.com/mastra-ai/mastra/commit/b1c155b57ce702674f207f1d4c6a4ebf94225f44), [`790f7d1`](https://github.com/mastra-ai/mastra/commit/790f7d17895d7a5f75b6b5d2d794c2e820b99d4c), [`3cd6538`](https://github.com/mastra-ai/mastra/commit/3cd6538811fc94f84a19dbd1064f46cb42e38c1d), [`197cbb2`](https://github.com/mastra-ai/mastra/commit/197cbb248fc8cb4bbf61bf70b770f1388b445df2), [`a1bb887`](https://github.com/mastra-ai/mastra/commit/a1bb887e8bfae44230f487648da72e96ef824561), [`6590763`](https://github.com/mastra-ai/mastra/commit/65907630ef4bf4127067cecd1cb21b56f55d5f1b), [`fb84c21`](https://github.com/mastra-ai/mastra/commit/fb84c21859d09bdc8f158bd5412bdc4b5835a61c), [`5802bf5`](https://github.com/mastra-ai/mastra/commit/5802bf57f6182e4b67c28d7d91abed349a8d14f3), [`5bda53a`](https://github.com/mastra-ai/mastra/commit/5bda53a9747bfa7d876d754fc92c83a06e503f62), [`c2eade3`](https://github.com/mastra-ai/mastra/commit/c2eade3508ef309662f065e5f340d7840295dd53), [`f26a8fd`](https://github.com/mastra-ai/mastra/commit/f26a8fd99fcb0497a5d86c28324430d7f6a5fb83), [`8a3f5e4`](https://github.com/mastra-ai/mastra/commit/8a3f5e4212ec36b302957deb4bd47005ab598382), [`7e82fbf`](https://github.com/mastra-ai/mastra/commit/7e82fbf3715175e274d2015eb59fb7f57dc9b09d), [`222965a`](https://github.com/mastra-ai/mastra/commit/222965a98ce8197b86673ec594244650b5960257), [`6047778`](https://github.com/mastra-ai/mastra/commit/6047778e501df460648f31decddf8e443f36e373), [`a0f5f1c`](https://github.com/mastra-ai/mastra/commit/a0f5f1ca39c3c5c6d26202e9fcab986b4fe14568), [`9d4fc09`](https://github.com/mastra-ai/mastra/commit/9d4fc09b2ad55caa7738c7ceb3a905e454f74cdd), [`05c7abf`](https://github.com/mastra-ai/mastra/commit/05c7abfe105a015b7760c9bf33ff4419727502a0), [`0324ceb`](https://github.com/mastra-ai/mastra/commit/0324ceb8af9d16c12a531f90e575f6aab797ac81), [`d75ccf0`](https://github.com/mastra-ai/mastra/commit/d75ccf06dfd2582b916aa12624e3cd61b279edf1), [`0f9d227`](https://github.com/mastra-ai/mastra/commit/0f9d227890a98db33865abbea39daf407cd55ef7), [`b356f5f`](https://github.com/mastra-ai/mastra/commit/b356f5f7566cb3edb755d91f00b72fc1420b2a37), [`de056a0`](https://github.com/mastra-ai/mastra/commit/de056a02cbb43f6aa0380ab2150ea404af9ec0dd), [`f5ce05f`](https://github.com/mastra-ai/mastra/commit/f5ce05f831d42c69559bf4c0fdb46ccb920fc3a3), [`60c9cec`](https://github.com/mastra-ai/mastra/commit/60c9cec7048a79a87440f7840c383875bd710d93), [`c93532a`](https://github.com/mastra-ai/mastra/commit/c93532a340b80e4dd946d4c138d9381de5f70399), [`6c33d7f`](https://github.com/mastra-ai/mastra/commit/6c33d7f7242804c32e969ad3ab33ff4a6aebda8b), [`6cb1fcb`](https://github.com/mastra-ai/mastra/commit/6cb1fcbc8d0378ffed0d17784c96e68f30cb0272), [`aee4f00`](https://github.com/mastra-ai/mastra/commit/aee4f00e61e1a42e81a6d74ff149dbe69e32695a), [`f0ab020`](https://github.com/mastra-ai/mastra/commit/f0ab02034532a4afb71a1ef4fe243f9a8dffde84), [`9f6f30f`](https://github.com/mastra-ai/mastra/commit/9f6f30f04ec6648bbca798ea8aad59317c40d8db), [`547c621`](https://github.com/mastra-ai/mastra/commit/547c62104af3f7a551b3754e9cbdf0a3fbba15e4), [`897995e`](https://github.com/mastra-ai/mastra/commit/897995e630d572fe2891e7ede817938cabb43251), [`0fed8f2`](https://github.com/mastra-ai/mastra/commit/0fed8f2aa84b167b3415ea6f8f70755775132c8d), [`4f9ea8c`](https://github.com/mastra-ai/mastra/commit/4f9ea8c95ea74ba9abbf3b2ab6106c7d7bc45689), [`1a1fbe6`](https://github.com/mastra-ai/mastra/commit/1a1fbe66efb7d94abc373ed0dd9676adb8122454), [`d706fad`](https://github.com/mastra-ai/mastra/commit/d706fad6e6e4b72357b18d229ba38e6c913c0e70), [`87fd07f`](https://github.com/mastra-ai/mastra/commit/87fd07ff35387a38728967163460231b5d33ae3b), [`8a3f5e4`](https://github.com/mastra-ai/mastra/commit/8a3f5e4212ec36b302957deb4bd47005ab598382), [`5c3768f`](https://github.com/mastra-ai/mastra/commit/5c3768fa959454232ad76715c381f4aac00c6881), [`2685a78`](https://github.com/mastra-ai/mastra/commit/2685a78f224b8b04e20d4fab5ac1adb638190071), [`36f39c0`](https://github.com/mastra-ai/mastra/commit/36f39c00dc794952dc3c11aab91c2fa8bca74b11), [`239b5a4`](https://github.com/mastra-ai/mastra/commit/239b5a497aeae2e8b4d764f46217cfff2284788e), [`8a3f5e4`](https://github.com/mastra-ai/mastra/commit/8a3f5e4212ec36b302957deb4bd47005ab598382)]:
|
|
495
|
-
- @mastra/core@0.17.0
|
|
496
|
-
- @mastra/deployer@0.17.0
|
|
497
|
-
- @mastra/loggers@0.10.12
|
|
498
|
-
|
|
499
|
-
## 0.17.0-alpha.8
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
... 439 more lines hidden. See full changelog in package directory.
|
|
502
|
+
... 453 more lines hidden. See full changelog in package directory.
|