@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 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:
@@ -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
@@ -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"}
@@ -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