@mastra/ai-sdk 1.2.1 → 1.3.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/dist/index.js CHANGED
@@ -12357,6 +12357,34 @@ function AgentStreamToAISDKV6Transformer({
12357
12357
  onError
12358
12358
  });
12359
12359
  }
12360
+ function ensureAgentRunState(bufferedSteps, runId) {
12361
+ if (!bufferedSteps.has(runId)) {
12362
+ bufferedSteps.set(runId, {
12363
+ id: "",
12364
+ object: null,
12365
+ finishReason: null,
12366
+ usage: null,
12367
+ warnings: [],
12368
+ text: "",
12369
+ reasoning: [],
12370
+ sources: [],
12371
+ files: [],
12372
+ toolCalls: [],
12373
+ toolResults: [],
12374
+ request: {},
12375
+ response: {
12376
+ id: "",
12377
+ timestamp: /* @__PURE__ */ new Date(),
12378
+ modelId: "",
12379
+ messages: []
12380
+ },
12381
+ providerMetadata: void 0,
12382
+ steps: [],
12383
+ status: "running"
12384
+ });
12385
+ }
12386
+ return bufferedSteps.get(runId);
12387
+ }
12360
12388
  function transformAgent(payload, bufferedSteps) {
12361
12389
  let hasChanged = false;
12362
12390
  switch (payload.type) {
@@ -12397,7 +12425,7 @@ function transformAgent(payload, bufferedSteps) {
12397
12425
  });
12398
12426
  hasChanged = true;
12399
12427
  break;
12400
- case "text-delta":
12428
+ case "text-delta": {
12401
12429
  const prevData = bufferedSteps.get(payload.runId);
12402
12430
  bufferedSteps.set(payload.runId, {
12403
12431
  ...prevData,
@@ -12405,6 +12433,7 @@ function transformAgent(payload, bufferedSteps) {
12405
12433
  });
12406
12434
  hasChanged = true;
12407
12435
  break;
12436
+ }
12408
12437
  case "reasoning-delta":
12409
12438
  bufferedSteps.set(payload.runId, {
12410
12439
  ...bufferedSteps.get(payload.runId),
@@ -12433,13 +12462,15 @@ function transformAgent(payload, bufferedSteps) {
12433
12462
  });
12434
12463
  hasChanged = true;
12435
12464
  break;
12436
- case "tool-result":
12465
+ case "tool-result": {
12466
+ const toolResultRun = ensureAgentRunState(bufferedSteps, payload.runId);
12437
12467
  bufferedSteps.set(payload.runId, {
12438
- ...bufferedSteps.get(payload.runId),
12439
- toolResults: [...bufferedSteps.get(payload.runId).toolResults, payload.payload]
12468
+ ...toolResultRun,
12469
+ toolResults: [...toolResultRun.toolResults, payload.payload]
12440
12470
  });
12441
12471
  hasChanged = true;
12442
12472
  break;
12473
+ }
12443
12474
  case "object-result":
12444
12475
  bufferedSteps.set(payload.runId, {
12445
12476
  ...bufferedSteps.get(payload.runId),
@@ -12454,35 +12485,44 @@ function transformAgent(payload, bufferedSteps) {
12454
12485
  });
12455
12486
  hasChanged = true;
12456
12487
  break;
12457
- case "step-finish":
12458
- const currentRun = bufferedSteps.get(payload.runId);
12488
+ case "step-finish": {
12489
+ const stepRun = ensureAgentRunState(bufferedSteps, payload.runId);
12459
12490
  const stepResult = {
12460
- ...bufferedSteps.get(payload.runId),
12461
- stepType: currentRun.steps.length === 0 ? "initial" : "tool-result",
12462
- reasoningText: bufferedSteps.get(payload.runId).reasoning.join(""),
12463
- staticToolCalls: bufferedSteps.get(payload.runId).toolCalls.filter((part) => part.type === "tool-call" && part.payload?.dynamic === false),
12464
- dynamicToolCalls: bufferedSteps.get(payload.runId).toolCalls.filter((part) => part.type === "tool-call" && part.payload?.dynamic === true),
12465
- staticToolResults: bufferedSteps.get(payload.runId).toolResults.filter((part) => part.type === "tool-result" && part.payload?.dynamic === false),
12466
- dynamicToolResults: bufferedSteps.get(payload.runId).toolResults.filter((part) => part.type === "tool-result" && part.payload?.dynamic === true),
12491
+ ...stepRun,
12492
+ stepType: stepRun.steps.length === 0 ? "initial" : "tool-result",
12493
+ reasoningText: stepRun.reasoning.join(""),
12494
+ staticToolCalls: stepRun.toolCalls.filter(
12495
+ (part) => part.type === "tool-call" && part.payload?.dynamic === false
12496
+ ),
12497
+ dynamicToolCalls: stepRun.toolCalls.filter(
12498
+ (part) => part.type === "tool-call" && part.payload?.dynamic === true
12499
+ ),
12500
+ staticToolResults: stepRun.toolResults.filter(
12501
+ (part) => part.type === "tool-result" && part.payload?.dynamic === false
12502
+ ),
12503
+ dynamicToolResults: stepRun.toolResults.filter(
12504
+ (part) => part.type === "tool-result" && part.payload?.dynamic === true
12505
+ ),
12467
12506
  finishReason: payload.payload.stepResult.reason,
12468
12507
  usage: payload.payload.output.usage,
12469
12508
  warnings: payload.payload.stepResult.warnings || [],
12470
12509
  response: {
12510
+ ...stepRun.response,
12471
12511
  id: payload.payload.id || "",
12472
12512
  timestamp: payload.payload.metadata?.timestamp || /* @__PURE__ */ new Date(),
12473
12513
  modelId: payload.payload.metadata?.modelId || payload.payload.metadata?.model || "",
12474
- ...bufferedSteps.get(payload.runId).response,
12475
- messages: bufferedSteps.get(payload.runId).response.messages || []
12514
+ messages: stepRun.response.messages || []
12476
12515
  }
12477
12516
  };
12478
12517
  bufferedSteps.set(payload.runId, {
12479
- ...bufferedSteps.get(payload.runId),
12518
+ ...stepRun,
12480
12519
  usage: payload.payload.output.usage,
12481
12520
  warnings: payload.payload.stepResult.warnings || [],
12482
- steps: [...bufferedSteps.get(payload.runId).steps, stepResult]
12521
+ steps: [...stepRun.steps, stepResult]
12483
12522
  });
12484
12523
  hasChanged = true;
12485
12524
  break;
12525
+ }
12486
12526
  }
12487
12527
  if (hasChanged) {
12488
12528
  return {
@@ -13097,6 +13137,7 @@ async function handleChatStream({
13097
13137
  sendFinish = true,
13098
13138
  sendReasoning = false,
13099
13139
  sendSources = false,
13140
+ onError,
13100
13141
  messageMetadata
13101
13142
  }) {
13102
13143
  const { messages, resumeData, runId, requestContext, trigger, ...rest } = params;
@@ -13148,6 +13189,7 @@ async function handleChatStream({
13148
13189
  sendFinish,
13149
13190
  sendReasoning,
13150
13191
  sendSources,
13192
+ onError,
13151
13193
  messageMetadata
13152
13194
  })) {
13153
13195
  writer.write(part);
@@ -13165,6 +13207,7 @@ async function handleChatStream({
13165
13207
  sendFinish,
13166
13208
  sendReasoning,
13167
13209
  sendSources,
13210
+ onError,
13168
13211
  messageMetadata
13169
13212
  })) {
13170
13213
  writer.write(part);