@mastra/ai-sdk 1.3.3 → 1.4.0-alpha.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.
- package/CHANGELOG.md +32 -0
- package/README.md +27 -0
- package/dist/chat-route.d.ts +8 -1
- package/dist/chat-route.d.ts.map +1 -1
- package/dist/helpers.d.ts.map +1 -1
- package/dist/index.cjs +76 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +76 -3
- package/dist/index.js.map +1 -1
- package/dist/network-route.d.ts +5 -1
- package/dist/network-route.d.ts.map +1 -1
- package/package.json +9 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,37 @@
|
|
|
1
1
|
# @mastra/ai-sdk
|
|
2
2
|
|
|
3
|
+
## 1.4.0-alpha.1
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Added agent versioning support to chat and network route handlers. You can now pass `agentVersion` to `chatRoute()`, `handleChatStream()`, `networkRoute()`, and `handleNetworkStream()` to target a specific agent version by ID or status (draft/published). Route handlers also accept `?versionId=<id>` or `?status=draft|published` query parameters at request time, which take precedence over static configuration. Requires the Editor to be configured. ([#15296](https://github.com/mastra-ai/mastra/pull/15296))
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
// Static version on route config
|
|
11
|
+
chatRoute({
|
|
12
|
+
path: '/chat',
|
|
13
|
+
agent: 'weatherAgent',
|
|
14
|
+
agentVersion: { status: 'published' },
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
// Programmatic version on handler
|
|
18
|
+
const stream = await handleChatStream({
|
|
19
|
+
mastra,
|
|
20
|
+
agentId: 'weatherAgent',
|
|
21
|
+
agentVersion: { versionId: 'ver_abc123' },
|
|
22
|
+
params,
|
|
23
|
+
});
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## 1.3.4-alpha.0
|
|
27
|
+
|
|
28
|
+
### Patch Changes
|
|
29
|
+
|
|
30
|
+
- Fixed reasoning streams so reasoning UI parts are only emitted when reasoning content is included. ([#15207](https://github.com/mastra-ai/mastra/pull/15207))
|
|
31
|
+
|
|
32
|
+
- Updated dependencies [[`87df955`](https://github.com/mastra-ai/mastra/commit/87df955c028660c075873fd5d74af28233ce32eb), [`075e91a`](https://github.com/mastra-ai/mastra/commit/075e91a4549baf46ad7a42a6a8ac8dfa78cc09e6)]:
|
|
33
|
+
- @mastra/core@1.24.2-alpha.0
|
|
34
|
+
|
|
3
35
|
## 1.3.3
|
|
4
36
|
|
|
5
37
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -158,6 +158,33 @@ export async function POST(req: Request) {
|
|
|
158
158
|
}
|
|
159
159
|
```
|
|
160
160
|
|
|
161
|
+
## Agent versioning
|
|
162
|
+
|
|
163
|
+
All route handlers and standalone stream functions accept an optional `agentVersion` parameter to target a specific agent version. This requires the [Editor](https://mastra.ai/docs/editor/overview) to be configured.
|
|
164
|
+
|
|
165
|
+
Pass a version ID or resolve by status:
|
|
166
|
+
|
|
167
|
+
```typescript
|
|
168
|
+
chatRoute({
|
|
169
|
+
path: '/chat',
|
|
170
|
+
agent: 'weatherAgent',
|
|
171
|
+
agentVersion: { status: 'published' },
|
|
172
|
+
});
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
For route handlers (`chatRoute`, `networkRoute`), callers can also override the version at request time with query parameters: `?versionId=<id>` or `?status=draft|published`. Query parameters take precedence over the static `agentVersion` option.
|
|
176
|
+
|
|
177
|
+
The standalone handlers (`handleChatStream`, `handleNetworkStream`) accept `agentVersion` directly:
|
|
178
|
+
|
|
179
|
+
```typescript
|
|
180
|
+
const stream = await handleChatStream({
|
|
181
|
+
mastra,
|
|
182
|
+
agentId: 'weatherAgent',
|
|
183
|
+
agentVersion: { versionId: 'ver_abc123' },
|
|
184
|
+
params,
|
|
185
|
+
});
|
|
186
|
+
```
|
|
187
|
+
|
|
161
188
|
## Manual transformation
|
|
162
189
|
|
|
163
190
|
If you have a raw Mastra `stream`, you can manually transform it to AI SDK UI message parts:
|
package/dist/chat-route.d.ts
CHANGED
|
@@ -10,9 +10,15 @@ export type ChatStreamHandlerParams<UI_MESSAGE extends SupportedUIMessage = Supp
|
|
|
10
10
|
/** The trigger for the request - sent by AI SDK's useChat hook */
|
|
11
11
|
trigger?: 'submit-message' | 'regenerate-message';
|
|
12
12
|
};
|
|
13
|
+
/**
|
|
14
|
+
* Extracted from the second parameter of `Mastra.getAgentById` so the type
|
|
15
|
+
* stays in sync with core automatically.
|
|
16
|
+
*/
|
|
17
|
+
export type AgentVersionOptions = NonNullable<Parameters<Mastra['getAgentById']>[1]>;
|
|
13
18
|
export type ChatStreamHandlerOptions<UI_MESSAGE extends SupportedUIMessage = SupportedUIMessage, OUTPUT = undefined> = {
|
|
14
19
|
mastra: Mastra;
|
|
15
20
|
agentId: string;
|
|
21
|
+
agentVersion?: AgentVersionOptions;
|
|
16
22
|
params: ChatStreamHandlerParams<UI_MESSAGE, OUTPUT>;
|
|
17
23
|
defaultOptions?: AgentExecutionOptions<OUTPUT>;
|
|
18
24
|
version?: 'v5' | 'v6';
|
|
@@ -58,6 +64,7 @@ export declare function handleChatStream<UI_MESSAGE extends V6UIMessage = V6UIMe
|
|
|
58
64
|
export type chatRouteOptions<OUTPUT = undefined> = {
|
|
59
65
|
defaultOptions?: AgentExecutionOptions<OUTPUT>;
|
|
60
66
|
version?: 'v5' | 'v6';
|
|
67
|
+
agentVersion?: AgentVersionOptions;
|
|
61
68
|
} & ({
|
|
62
69
|
path: `${string}:agentId${string}`;
|
|
63
70
|
agent?: never;
|
|
@@ -113,6 +120,6 @@ export type chatRouteOptions<OUTPUT = undefined> = {
|
|
|
113
120
|
* - If both `agent` and `:agentId` are present, a warning is logged and the fixed `agent` takes precedence
|
|
114
121
|
* - Request context from the incoming request overrides `defaultOptions.requestContext` if both are present
|
|
115
122
|
*/
|
|
116
|
-
export declare function chatRoute<OUTPUT = undefined>({ path, agent, defaultOptions, version, sendStart, sendFinish, sendReasoning, sendSources, }: chatRouteOptions<OUTPUT>): ReturnType<typeof registerApiRoute>;
|
|
123
|
+
export declare function chatRoute<OUTPUT = undefined>({ path, agent, defaultOptions, version, agentVersion, sendStart, sendFinish, sendReasoning, sendSources, }: chatRouteOptions<OUTPUT>): ReturnType<typeof registerApiRoute>;
|
|
117
124
|
export {};
|
|
118
125
|
//# sourceMappingURL=chat-route.d.ts.map
|
package/dist/chat-route.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-route.d.ts","sourceRoot":"","sources":["../src/chat-route.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"chat-route.d.ts","sourceRoot":"","sources":["../src/chat-route.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,IAAI,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAK9F,OAAO,KAAK,EAAE,sBAAsB,IAAI,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,KAAK,EAAE,qBAAqB,EAA6B,MAAM,oBAAoB,CAAC;AAC3F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,uBAAuB,CACjC,UAAU,SAAS,kBAAkB,GAAG,kBAAkB,EAC1D,MAAM,GAAG,SAAS,IAChB,qBAAqB,CAAC,MAAM,CAAC,GAAG;IAClC,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,kEAAkE;IAClE,OAAO,CAAC,EAAE,gBAAgB,GAAG,oBAAoB,CAAC;CACnD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAErF,MAAM,MAAM,wBAAwB,CAAC,UAAU,SAAS,kBAAkB,GAAG,kBAAkB,EAAE,MAAM,GAAG,SAAS,IAAI;IACrH,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,MAAM,EAAE,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACpD,cAAc,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;IACrC,eAAe,CAAC,EAAE,UAAU,SAAS,WAAW,GAC5C,wBAAwB,CAAC,UAAU,CAAC,CAAC,iBAAiB,CAAC,GACvD,UAAU,SAAS,WAAW,GAC5B,wBAAwB,CAAC,UAAU,CAAC,CAAC,iBAAiB,CAAC,GACvD,KAAK,CAAC;CACb,CAAC;AAEF,KAAK,0BAA0B,CAAC,UAAU,SAAS,WAAW,GAAG,WAAW,EAAE,MAAM,GAAG,SAAS,IAAI,IAAI,CACtG,wBAAwB,CAAC,UAAU,EAAE,MAAM,CAAC,EAC5C,SAAS,GAAG,iBAAiB,CAC9B,GAAG;IACF,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,eAAe,CAAC,EAAE,wBAAwB,CAAC,UAAU,CAAC,CAAC,iBAAiB,CAAC,CAAC;CAC3E,CAAC;AAEF,KAAK,0BAA0B,CAAC,UAAU,SAAS,WAAW,GAAG,WAAW,EAAE,MAAM,GAAG,SAAS,IAAI,IAAI,CACtG,wBAAwB,CAAC,UAAU,EAAE,MAAM,CAAC,EAC5C,SAAS,GAAG,iBAAiB,CAC9B,GAAG;IACF,OAAO,EAAE,IAAI,CAAC;IACd,eAAe,CAAC,EAAE,wBAAwB,CAAC,UAAU,CAAC,CAAC,iBAAiB,CAAC,CAAC;CAC3E,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,SAAS,WAAW,GAAG,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/F,OAAO,EAAE,0BAA0B,CAAC,UAAU,EAAE,MAAM,CAAC,GACtD,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;AAC1C,wBAAgB,gBAAgB,CAAC,UAAU,SAAS,WAAW,GAAG,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/F,OAAO,EAAE,0BAA0B,CAAC,UAAU,EAAE,MAAM,CAAC,GACtD,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;AAgH1C,MAAM,MAAM,gBAAgB,CAAC,MAAM,GAAG,SAAS,IAAI;IACjD,cAAc,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC,GAAG,CACA;IACE,IAAI,EAAE,GAAG,MAAM,WAAW,MAAM,EAAE,CAAC;IACnC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CACJ,GAAG;IACA,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,SAAS,CAAC,MAAM,GAAG,SAAS,EAAE,EAC5C,IAAuB,EACvB,KAAK,EACL,cAAc,EACd,OAAc,EACd,YAAY,EACZ,SAAgB,EAChB,UAAiB,EACjB,aAAqB,EACrB,WAAmB,GACpB,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAkNhE"}
|
package/dist/helpers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/index.cjs
CHANGED
|
@@ -11996,6 +11996,9 @@ function convertFullStreamChunkToUIMessageStream({
|
|
|
11996
11996
|
};
|
|
11997
11997
|
}
|
|
11998
11998
|
case "reasoning-start": {
|
|
11999
|
+
if (!sendReasoning) {
|
|
12000
|
+
return;
|
|
12001
|
+
}
|
|
11999
12002
|
return {
|
|
12000
12003
|
type: "reasoning-start",
|
|
12001
12004
|
id: part.id,
|
|
@@ -12014,6 +12017,9 @@ function convertFullStreamChunkToUIMessageStream({
|
|
|
12014
12017
|
return;
|
|
12015
12018
|
}
|
|
12016
12019
|
case "reasoning-end": {
|
|
12020
|
+
if (!sendReasoning) {
|
|
12021
|
+
return;
|
|
12022
|
+
}
|
|
12017
12023
|
return {
|
|
12018
12024
|
type: "reasoning-end",
|
|
12019
12025
|
id: part.id,
|
|
@@ -13170,6 +13176,7 @@ function toAISdkStream(stream, options = {
|
|
|
13170
13176
|
async function handleChatStream({
|
|
13171
13177
|
mastra,
|
|
13172
13178
|
agentId,
|
|
13179
|
+
agentVersion,
|
|
13173
13180
|
params,
|
|
13174
13181
|
defaultOptions: defaultOptions3,
|
|
13175
13182
|
version = "v5",
|
|
@@ -13184,7 +13191,7 @@ async function handleChatStream({
|
|
|
13184
13191
|
if (resumeData && !runId) {
|
|
13185
13192
|
throw new Error("runId is required when resumeData is provided");
|
|
13186
13193
|
}
|
|
13187
|
-
const agentObj = mastra.getAgentById(agentId);
|
|
13194
|
+
const agentObj = agentVersion ? await mastra.getAgentById(agentId, agentVersion) : mastra.getAgentById(agentId);
|
|
13188
13195
|
if (!agentObj) {
|
|
13189
13196
|
throw new Error(`Agent ${agentId} not found`);
|
|
13190
13197
|
}
|
|
@@ -13260,6 +13267,7 @@ function chatRoute({
|
|
|
13260
13267
|
agent,
|
|
13261
13268
|
defaultOptions: defaultOptions3,
|
|
13262
13269
|
version = "v5",
|
|
13270
|
+
agentVersion,
|
|
13263
13271
|
sendStart = true,
|
|
13264
13272
|
sendFinish = true,
|
|
13265
13273
|
sendReasoning = false,
|
|
@@ -13283,6 +13291,25 @@ function chatRoute({
|
|
|
13283
13291
|
schema: {
|
|
13284
13292
|
type: "string"
|
|
13285
13293
|
}
|
|
13294
|
+
},
|
|
13295
|
+
{
|
|
13296
|
+
name: "versionId",
|
|
13297
|
+
in: "query",
|
|
13298
|
+
required: false,
|
|
13299
|
+
description: "Specific agent version ID to use. Mutually exclusive with status.",
|
|
13300
|
+
schema: {
|
|
13301
|
+
type: "string"
|
|
13302
|
+
}
|
|
13303
|
+
},
|
|
13304
|
+
{
|
|
13305
|
+
name: "status",
|
|
13306
|
+
in: "query",
|
|
13307
|
+
required: false,
|
|
13308
|
+
description: "Which stored config version to resolve: draft (latest) or published (active version). Mutually exclusive with versionId.",
|
|
13309
|
+
schema: {
|
|
13310
|
+
type: "string",
|
|
13311
|
+
enum: ["draft", "published"]
|
|
13312
|
+
}
|
|
13286
13313
|
}
|
|
13287
13314
|
],
|
|
13288
13315
|
requestBody: {
|
|
@@ -13390,9 +13417,20 @@ function chatRoute({
|
|
|
13390
13417
|
if (!agentToUse) {
|
|
13391
13418
|
throw new Error("Agent ID is required");
|
|
13392
13419
|
}
|
|
13420
|
+
const queryVersionId = c.req.query("versionId");
|
|
13421
|
+
const rawStatus = c.req.query("status");
|
|
13422
|
+
if (queryVersionId && rawStatus) {
|
|
13423
|
+
throw new Error('Query parameters "versionId" and "status" are mutually exclusive');
|
|
13424
|
+
}
|
|
13425
|
+
if (rawStatus && rawStatus !== "draft" && rawStatus !== "published") {
|
|
13426
|
+
throw new Error('Query parameter "status" must be "draft" or "published"');
|
|
13427
|
+
}
|
|
13428
|
+
const queryStatus = rawStatus;
|
|
13429
|
+
const effectiveAgentVersion = queryVersionId ? { versionId: queryVersionId } : queryStatus ? { status: queryStatus } : agentVersion;
|
|
13393
13430
|
const handlerOptions = {
|
|
13394
13431
|
mastra,
|
|
13395
13432
|
agentId: agentToUse,
|
|
13433
|
+
agentVersion: effectiveAgentVersion,
|
|
13396
13434
|
params: {
|
|
13397
13435
|
...params,
|
|
13398
13436
|
requestContext: effectiveRequestContext,
|
|
@@ -13564,12 +13602,13 @@ function workflowRoute({
|
|
|
13564
13602
|
async function handleNetworkStream({
|
|
13565
13603
|
mastra,
|
|
13566
13604
|
agentId,
|
|
13605
|
+
agentVersion,
|
|
13567
13606
|
params,
|
|
13568
13607
|
defaultOptions: defaultOptions3,
|
|
13569
13608
|
version = "v5"
|
|
13570
13609
|
}) {
|
|
13571
13610
|
const { messages, ...rest } = params;
|
|
13572
|
-
const agentObj = mastra.getAgentById(agentId);
|
|
13611
|
+
const agentObj = agentVersion ? await mastra.getAgentById(agentId, agentVersion) : mastra.getAgentById(agentId);
|
|
13573
13612
|
if (!agentObj) {
|
|
13574
13613
|
throw new Error(`Agent ${agentId} not found`);
|
|
13575
13614
|
}
|
|
@@ -13606,7 +13645,8 @@ function networkRoute({
|
|
|
13606
13645
|
path = "/network/:agentId",
|
|
13607
13646
|
agent,
|
|
13608
13647
|
defaultOptions: defaultOptions3,
|
|
13609
|
-
version = "v5"
|
|
13648
|
+
version = "v5",
|
|
13649
|
+
agentVersion
|
|
13610
13650
|
}) {
|
|
13611
13651
|
if (!agent && !path.includes("/:agentId")) {
|
|
13612
13652
|
throw new Error("Path must include :agentId to route to the correct agent or pass the agent explicitly");
|
|
@@ -13624,6 +13664,20 @@ function networkRoute({
|
|
|
13624
13664
|
required: true,
|
|
13625
13665
|
description: "The ID of the routing agent to execute as a network",
|
|
13626
13666
|
schema: { type: "string" }
|
|
13667
|
+
},
|
|
13668
|
+
{
|
|
13669
|
+
name: "versionId",
|
|
13670
|
+
in: "query",
|
|
13671
|
+
required: false,
|
|
13672
|
+
description: "Specific agent version ID to use. Mutually exclusive with status.",
|
|
13673
|
+
schema: { type: "string" }
|
|
13674
|
+
},
|
|
13675
|
+
{
|
|
13676
|
+
name: "status",
|
|
13677
|
+
in: "query",
|
|
13678
|
+
required: false,
|
|
13679
|
+
description: "Which stored config version to resolve: draft (latest) or published (active version). Mutually exclusive with versionId.",
|
|
13680
|
+
schema: { type: "string", enum: ["draft", "published"] }
|
|
13627
13681
|
}
|
|
13628
13682
|
],
|
|
13629
13683
|
requestBody: {
|
|
@@ -13652,6 +13706,14 @@ function networkRoute({
|
|
|
13652
13706
|
description: "Streaming AI SDK UIMessage event stream for the agent network",
|
|
13653
13707
|
content: { "text/plain": { schema: { type: "string", description: "SSE stream" } } }
|
|
13654
13708
|
},
|
|
13709
|
+
"400": {
|
|
13710
|
+
description: "Bad request - invalid input",
|
|
13711
|
+
content: {
|
|
13712
|
+
"application/json": {
|
|
13713
|
+
schema: { type: "object", properties: { error: { type: "string" } } }
|
|
13714
|
+
}
|
|
13715
|
+
}
|
|
13716
|
+
},
|
|
13655
13717
|
"404": {
|
|
13656
13718
|
description: "Agent not found",
|
|
13657
13719
|
content: {
|
|
@@ -13683,9 +13745,20 @@ function networkRoute({
|
|
|
13683
13745
|
if (!agentToUse) {
|
|
13684
13746
|
throw new Error("Agent ID is required");
|
|
13685
13747
|
}
|
|
13748
|
+
const queryVersionId = c.req.query("versionId");
|
|
13749
|
+
const rawStatus = c.req.query("status");
|
|
13750
|
+
if (queryVersionId && rawStatus) {
|
|
13751
|
+
throw new Error('Query parameters "versionId" and "status" are mutually exclusive');
|
|
13752
|
+
}
|
|
13753
|
+
if (rawStatus && rawStatus !== "draft" && rawStatus !== "published") {
|
|
13754
|
+
throw new Error('Query parameter "status" must be "draft" or "published"');
|
|
13755
|
+
}
|
|
13756
|
+
const queryStatus = rawStatus;
|
|
13757
|
+
const effectiveAgentVersion = queryVersionId ? { versionId: queryVersionId } : queryStatus ? { status: queryStatus } : agentVersion;
|
|
13686
13758
|
const handlerOptions = {
|
|
13687
13759
|
mastra,
|
|
13688
13760
|
agentId: agentToUse,
|
|
13761
|
+
agentVersion: effectiveAgentVersion,
|
|
13689
13762
|
params: {
|
|
13690
13763
|
...params,
|
|
13691
13764
|
requestContext: effectiveRequestContext
|