@mastra/ai-sdk 0.1.1-alpha.1 → 0.2.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,39 @@
1
1
  # @mastra/ai-sdk
2
2
 
3
+ ## 0.2.0-alpha.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Update peer dependencies to match core package version bump (0.20.3) ([#8614](https://github.com/mastra-ai/mastra/pull/8614))
8
+
9
+ ### Patch Changes
10
+
11
+ - Update peer dependencies to match core package version bump (0.21.0) ([#8619](https://github.com/mastra-ai/mastra/pull/8619))
12
+
13
+ - Update peer dependencies to match core package version bump (0.21.0) ([#8557](https://github.com/mastra-ai/mastra/pull/8557))
14
+
15
+ - Update peer dependencies to match core package version bump (0.21.0) ([#8626](https://github.com/mastra-ai/mastra/pull/8626))
16
+
17
+ - Update peer dependencies to match core package version bump (0.21.0) ([#8686](https://github.com/mastra-ai/mastra/pull/8686))
18
+
19
+ - nested ai-sdk workflows and networks streaming support ([#8614](https://github.com/mastra-ai/mastra/pull/8614))
20
+
21
+ - Updated dependencies [[`b5a66b7`](https://github.com/mastra-ai/mastra/commit/b5a66b748a14fc8b3f63b04642ddb9621fbcc9e0), [`7b1ef57`](https://github.com/mastra-ai/mastra/commit/7b1ef57fc071c2aa2a2e32905b18cd88719c5a39), [`ee68e82`](https://github.com/mastra-ai/mastra/commit/ee68e8289ea4408d29849e899bc6e78b3bd4e843), [`228228b`](https://github.com/mastra-ai/mastra/commit/228228b0b1de9291cb8887587f5cea1a8757ebad), [`ea33930`](https://github.com/mastra-ai/mastra/commit/ea339301e82d6318257720d811b043014ee44064), [`b5a66b7`](https://github.com/mastra-ai/mastra/commit/b5a66b748a14fc8b3f63b04642ddb9621fbcc9e0), [`135d6f2`](https://github.com/mastra-ai/mastra/commit/135d6f22a326ed1dffff858700669dff09d2c9eb), [`59d036d`](https://github.com/mastra-ai/mastra/commit/59d036d4c2706b430b0e3f1f1e0ee853ce16ca04)]:
22
+ - @mastra/core@0.21.0-alpha.0
23
+
24
+ ## 0.1.1
25
+
26
+ ### Patch Changes
27
+
28
+ - Mutable shared workflow run state ([#8545](https://github.com/mastra-ai/mastra/pull/8545))
29
+
30
+ - Make sure agent Id is part of the data-tool-agent heuristic: ([#8592](https://github.com/mastra-ai/mastra/pull/8592))
31
+
32
+ - Add support for streaming nested agent tools ([#8580](https://github.com/mastra-ai/mastra/pull/8580))
33
+
34
+ - Updated dependencies [[`c621613`](https://github.com/mastra-ai/mastra/commit/c621613069173c69eb2c3ef19a5308894c6549f0), [`12b1189`](https://github.com/mastra-ai/mastra/commit/12b118942445e4de0dd916c593e33ec78dc3bc73), [`4783b30`](https://github.com/mastra-ai/mastra/commit/4783b3063efea887825514b783ba27f67912c26d), [`076b092`](https://github.com/mastra-ai/mastra/commit/076b0924902ff0f49d5712d2df24c4cca683713f), [`2aee9e7`](https://github.com/mastra-ai/mastra/commit/2aee9e7d188b8b256a4ddc203ccefb366b4867fa), [`c582906`](https://github.com/mastra-ai/mastra/commit/c5829065a346260f96c4beb8af131b94804ae3ad), [`fa2eb96`](https://github.com/mastra-ai/mastra/commit/fa2eb96af16c7d433891a73932764960d3235c1d), [`ee9108f`](https://github.com/mastra-ai/mastra/commit/ee9108fa29bb8368fc23df158c9f0645b2d7b65c), [`4783b30`](https://github.com/mastra-ai/mastra/commit/4783b3063efea887825514b783ba27f67912c26d), [`a739d0c`](https://github.com/mastra-ai/mastra/commit/a739d0c8b37cd89569e04a6ca0827083c6167e19), [`603e927`](https://github.com/mastra-ai/mastra/commit/603e9279db8bf8a46caf83881c6b7389ccffff7e), [`cd45982`](https://github.com/mastra-ai/mastra/commit/cd4598291cda128a88738734ae6cbef076ebdebd), [`874f74d`](https://github.com/mastra-ai/mastra/commit/874f74da4b1acf6517f18132d035612c3ecc394a), [`b728a45`](https://github.com/mastra-ai/mastra/commit/b728a45ab3dba59da0f5ee36b81fe246659f305d), [`0baf2ba`](https://github.com/mastra-ai/mastra/commit/0baf2bab8420277072ef1f95df5ea7b0a2f61fe7), [`10e633a`](https://github.com/mastra-ai/mastra/commit/10e633a07d333466d9734c97acfc3dbf757ad2d0), [`a6d69c5`](https://github.com/mastra-ai/mastra/commit/a6d69c5fb50c0875b46275811fece5862f03c6a0), [`84199af`](https://github.com/mastra-ai/mastra/commit/84199af8673f6f9cb59286ffb5477a41932775de), [`7f431af`](https://github.com/mastra-ai/mastra/commit/7f431afd586b7d3265075e73106eb73167edbb86), [`26e968d`](https://github.com/mastra-ai/mastra/commit/26e968db2171ded9e4d47aa1b4f19e1e771158d0), [`cbd3fb6`](https://github.com/mastra-ai/mastra/commit/cbd3fb65adb03a7c0df193cb998aed5ac56675ee)]:
35
+ - @mastra/core@0.20.1
36
+
3
37
  ## 0.1.1-alpha.1
4
38
 
5
39
  ### Patch Changes
package/dist/helpers.d.ts CHANGED
@@ -7,6 +7,16 @@ export type ToolAgentChunkType = {
7
7
  toolCallId: string;
8
8
  payload: any;
9
9
  };
10
+ export type ToolWorkflowChunkType = {
11
+ type: 'tool-workflow';
12
+ toolCallId: string;
13
+ payload: any;
14
+ };
15
+ export type ToolNetworkChunkType = {
16
+ type: 'tool-network';
17
+ toolCallId: string;
18
+ payload: any;
19
+ };
10
20
  export declare function convertMastraChunkToAISDKv5<OUTPUT extends OutputSchema = undefined>({ chunk, mode, }: {
11
21
  chunk: ChunkType<OUTPUT>;
12
22
  mode?: 'generate' | 'stream';
@@ -24,5 +34,5 @@ export declare function convertFullStreamChunkToUIMessageStream<UI_MESSAGE exten
24
34
  sendStart?: boolean;
25
35
  sendFinish?: boolean;
26
36
  responseMessageId?: string;
27
- }): InferUIMessageChunk<UI_MESSAGE> | ToolAgentChunkType | undefined;
37
+ }): InferUIMessageChunk<UI_MESSAGE> | ToolAgentChunkType | ToolWorkflowChunkType | ToolNetworkChunkType | undefined;
28
38
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEpG,MAAM,MAAM,eAAe,CAAC,MAAM,SAAS,YAAY,GAAG,SAAS,IAC/D,cAAc,CAAC,OAAO,CAAC,GACvB,gBAAgB,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAC7C,SAAS,CAAC;AAEd,MAAM,MAAM,kBAAkB,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAE,CAAC;AAE1F,wBAAgB,2BAA2B,CAAC,MAAM,SAAS,YAAY,GAAG,SAAS,EAAE,EACnF,KAAK,EACL,IAAe,GAChB,EAAE;IACD,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACzB,IAAI,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;CAC9B,GAAG,eAAe,CAAC,MAAM,CAAC,CAkN1B;AAED,wBAAgB,uCAAuC,CAAC,UAAU,SAAS,SAAS,EAAE,EACpF,IAAI,EACJ,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,OAAO,EACP,SAAS,EACT,UAAU,EACV,iBAAiB,GAClB,EAAE;IACD,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,CAAC;IACzF,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,GAAG,mBAAmB,CAAC,UAAU,CAAC,GAAG,kBAAkB,GAAG,SAAS,CA6MnE"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEpG,MAAM,MAAM,eAAe,CAAC,MAAM,SAAS,YAAY,GAAG,SAAS,IAC/D,cAAc,CAAC,OAAO,CAAC,GACvB,gBAAgB,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAC7C,SAAS,CAAC;AAEd,MAAM,MAAM,kBAAkB,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAE,CAAC;AAC1F,MAAM,MAAM,qBAAqB,GAAG;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAE,CAAC;AAChG,MAAM,MAAM,oBAAoB,GAAG;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAE,CAAC;AAE9F,wBAAgB,2BAA2B,CAAC,MAAM,SAAS,YAAY,GAAG,SAAS,EAAE,EACnF,KAAK,EACL,IAAe,GAChB,EAAE;IACD,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACzB,IAAI,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;CAC9B,GAAG,eAAe,CAAC,MAAM,CAAC,CAkN1B;AAED,wBAAgB,uCAAuC,CAAC,UAAU,SAAS,SAAS,EAAE,EACpF,IAAI,EACJ,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,OAAO,EACP,SAAS,EACT,UAAU,EACV,iBAAiB,GAClB,EAAE;IAED,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,CAAA;KAAE,CAAC;IACzF,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,GAAG,mBAAmB,CAAC,UAAU,CAAC,GAAG,kBAAkB,GAAG,qBAAqB,GAAG,oBAAoB,GAAG,SAAS,CAyNlH"}
package/dist/index.cjs CHANGED
@@ -317,6 +317,18 @@ function convertFullStreamChunkToUIMessageStream({
317
317
  toolCallId: part.toolCallId,
318
318
  payload: part.output
319
319
  };
320
+ } else if (part.output.from === "WORKFLOW") {
321
+ return {
322
+ type: "tool-workflow",
323
+ toolCallId: part.toolCallId,
324
+ payload: part.output
325
+ };
326
+ } else if (part.output.from === "NETWORK") {
327
+ return {
328
+ type: "tool-network",
329
+ toolCallId: part.toolCallId,
330
+ payload: part.output
331
+ };
320
332
  }
321
333
  return;
322
334
  }
@@ -374,9 +386,9 @@ function convertFullStreamChunkToUIMessageStream({
374
386
  }
375
387
  }
376
388
 
377
- // src/to-ai-sdk-format.ts
389
+ // src/transformers.ts
378
390
  function WorkflowStreamToAISDKTransformer() {
379
- const steps = {};
391
+ const bufferedWorkflows = /* @__PURE__ */ new Map();
380
392
  return new TransformStream({
381
393
  start(controller) {
382
394
  controller.enqueue({
@@ -397,73 +409,8 @@ function WorkflowStreamToAISDKTransformer() {
397
409
  });
398
410
  },
399
411
  transform(chunk, controller) {
400
- let workflowName = "";
401
- if (chunk.type === "workflow-start") {
402
- workflowName = chunk.payload.workflowId;
403
- controller.enqueue({
404
- data: JSON.stringify({
405
- type: "data-workflow",
406
- id: chunk.runId,
407
- data: {
408
- name: workflowName,
409
- status: "running",
410
- steps: {},
411
- output: null
412
- }
413
- })
414
- });
415
- } else if (chunk.type === "workflow-step-start") {
416
- steps[chunk.payload.id] = {
417
- // TODO swap with name
418
- name: chunk.payload.id,
419
- status: chunk.payload.status,
420
- input: chunk.payload.payload ?? null,
421
- output: null
422
- };
423
- controller.enqueue({
424
- data: JSON.stringify({
425
- type: "data-workflow",
426
- id: chunk.runId,
427
- data: {
428
- name: workflowName,
429
- status: "running",
430
- steps,
431
- output: null
432
- }
433
- })
434
- });
435
- } else if (chunk.type === "workflow-step-result") {
436
- steps[chunk.payload.id] = {
437
- ...steps[chunk.payload.id],
438
- status: chunk.payload.status,
439
- output: chunk.payload.output ?? null
440
- };
441
- controller.enqueue({
442
- data: JSON.stringify({
443
- type: "data-workflow",
444
- id: chunk.runId,
445
- data: {
446
- name: workflowName,
447
- status: "running",
448
- steps,
449
- output: null
450
- }
451
- })
452
- });
453
- } else if (chunk.type === "workflow-finish") {
454
- controller.enqueue({
455
- data: JSON.stringify({
456
- type: "data-workflow",
457
- id: chunk.runId,
458
- data: {
459
- name: workflowName,
460
- steps,
461
- output: chunk.payload.output ?? null,
462
- status: chunk.payload.workflowStatus
463
- }
464
- })
465
- });
466
- }
412
+ const transformed = transformWorkflow(chunk, bufferedWorkflows);
413
+ if (transformed) controller.enqueue(transformed);
467
414
  }
468
415
  });
469
416
  }
@@ -488,6 +435,14 @@ function AgentStreamToAISDKTransformer() {
488
435
  const payload = transformedChunk.payload;
489
436
  const agentTransformed = transformAgent(payload, bufferedSteps);
490
437
  if (agentTransformed) controller.enqueue(agentTransformed);
438
+ } else if (transformedChunk.type === "tool-workflow") {
439
+ const payload = transformedChunk.payload;
440
+ const workflowChunk = transformWorkflow(payload, bufferedSteps);
441
+ if (workflowChunk) controller.enqueue(workflowChunk);
442
+ } else if (transformedChunk.type === "tool-network") {
443
+ const payload = transformedChunk.payload;
444
+ const networkChunk = transformNetwork(payload, bufferedSteps);
445
+ if (networkChunk) controller.enqueue(networkChunk);
491
446
  } else {
492
447
  controller.enqueue(transformedChunk);
493
448
  }
@@ -500,7 +455,7 @@ function transformAgent(payload, bufferedSteps) {
500
455
  switch (payload.type) {
501
456
  case "start":
502
457
  bufferedSteps.set(payload.runId, {
503
- id: payload.payload.agentId,
458
+ id: payload.payload.id,
504
459
  object: null,
505
460
  finishReason: null,
506
461
  usage: null,
@@ -631,6 +586,235 @@ function transformAgent(payload, bufferedSteps) {
631
586
  }
632
587
  return null;
633
588
  }
589
+ function transformWorkflow(payload, bufferedWorkflows) {
590
+ switch (payload.type) {
591
+ case "workflow-start":
592
+ bufferedWorkflows.set(payload.runId, {
593
+ name: payload.payload.workflowId,
594
+ steps: {}
595
+ });
596
+ return {
597
+ type: "data-workflow",
598
+ id: payload.runId,
599
+ data: {
600
+ name: bufferedWorkflows.get(payload.runId).name,
601
+ status: "running",
602
+ steps: bufferedWorkflows.get(payload.runId).steps,
603
+ output: null
604
+ }
605
+ };
606
+ case "workflow-step-start": {
607
+ const current = bufferedWorkflows.get(payload.runId) || { name: "", steps: {} };
608
+ current.steps[payload.payload.id] = {
609
+ name: payload.payload.id,
610
+ status: payload.payload.status,
611
+ input: payload.payload.payload ?? null,
612
+ output: null
613
+ };
614
+ bufferedWorkflows.set(payload.runId, current);
615
+ return {
616
+ type: "data-workflow",
617
+ id: payload.runId,
618
+ data: {
619
+ name: current.name,
620
+ status: "running",
621
+ steps: current.steps,
622
+ output: null
623
+ }
624
+ };
625
+ }
626
+ case "workflow-step-result": {
627
+ const current = bufferedWorkflows.get(payload.runId);
628
+ if (!current) return null;
629
+ current.steps[payload.payload.id] = {
630
+ ...current.steps[payload.payload.id],
631
+ status: payload.payload.status,
632
+ output: payload.payload.output ?? null
633
+ };
634
+ return {
635
+ type: "data-workflow",
636
+ id: payload.runId,
637
+ data: {
638
+ name: current.name,
639
+ status: "running",
640
+ steps: current.steps,
641
+ output: null
642
+ }
643
+ };
644
+ }
645
+ case "workflow-finish": {
646
+ const current = bufferedWorkflows.get(payload.runId);
647
+ if (!current) return null;
648
+ return {
649
+ type: "data-workflow",
650
+ id: payload.runId,
651
+ data: {
652
+ name: current.name,
653
+ steps: current.steps,
654
+ output: payload.payload.output ?? null,
655
+ status: payload.payload.workflowStatus
656
+ }
657
+ };
658
+ }
659
+ default:
660
+ return null;
661
+ }
662
+ }
663
+ function transformNetwork(payload, bufferedNetworks) {
664
+ switch (payload.type) {
665
+ case "routing-agent-start": {
666
+ bufferedNetworks.set(payload.payload.runId, {
667
+ name: payload.payload.agentId,
668
+ steps: []
669
+ });
670
+ return {
671
+ type: "data-network",
672
+ id: payload.payload.runId,
673
+ data: {
674
+ name: bufferedNetworks.get(payload.payload.runId).name,
675
+ status: "running",
676
+ steps: bufferedNetworks.get(payload.payload.runId).steps,
677
+ output: null
678
+ }
679
+ };
680
+ }
681
+ case "agent-execution-start": {
682
+ const current = bufferedNetworks.get(payload.payload.runId) || { name: "", steps: [] };
683
+ current.steps.push({
684
+ name: payload.payload.agentId,
685
+ status: "running",
686
+ input: payload.payload.args || null,
687
+ output: null
688
+ });
689
+ bufferedNetworks.set(payload.payload.runId, current);
690
+ return {
691
+ type: "data-network",
692
+ id: payload.payload.runId,
693
+ data: {
694
+ name: current.name,
695
+ status: "running",
696
+ steps: current.steps,
697
+ output: null
698
+ }
699
+ };
700
+ }
701
+ case "workflow-execution-start": {
702
+ const current = bufferedNetworks.get(payload.payload.runId) || { name: "", steps: [] };
703
+ current.steps.push({
704
+ name: payload.payload.name,
705
+ status: "running",
706
+ input: payload.payload.args || null,
707
+ output: null
708
+ });
709
+ bufferedNetworks.set(payload.payload.runId, current);
710
+ return {
711
+ type: "data-network",
712
+ id: payload.payload.runId,
713
+ data: {
714
+ name: current.name,
715
+ status: "running",
716
+ steps: current.steps,
717
+ output: null
718
+ }
719
+ };
720
+ }
721
+ case "tool-execution-start": {
722
+ const current = bufferedNetworks.get(payload.payload.runId) || { name: "", steps: [] };
723
+ current.steps.push({
724
+ name: payload.payload.args?.toolName,
725
+ status: "running",
726
+ input: payload.payload.args?.args || null,
727
+ output: null
728
+ });
729
+ bufferedNetworks.set(payload.payload.runId, current);
730
+ return {
731
+ type: "data-network",
732
+ id: payload.payload.runId,
733
+ data: {
734
+ name: current.name,
735
+ status: "running",
736
+ steps: current.steps,
737
+ output: null
738
+ }
739
+ };
740
+ }
741
+ case "agent-execution-end":
742
+ case "tool-execution-end": {
743
+ const current = bufferedNetworks.get(payload.runId);
744
+ if (!current) return null;
745
+ return {
746
+ type: "data-network",
747
+ id: payload.runId,
748
+ data: {
749
+ name: current.name,
750
+ status: "running",
751
+ steps: current.steps,
752
+ output: null
753
+ }
754
+ };
755
+ }
756
+ case "workflow-execution-end": {
757
+ const current = bufferedNetworks.get(payload.runId);
758
+ if (!current) return null;
759
+ return {
760
+ type: "data-network",
761
+ id: payload.runId,
762
+ data: {
763
+ name: current.name,
764
+ status: "running",
765
+ steps: current.steps,
766
+ output: null
767
+ }
768
+ };
769
+ }
770
+ case "routing-agent-end": {
771
+ const current = bufferedNetworks.get(payload.payload.runId);
772
+ if (!current) return null;
773
+ return {
774
+ type: "data-network",
775
+ id: payload.payload.runId,
776
+ data: {
777
+ name: current.name,
778
+ status: "finished",
779
+ steps: current.steps,
780
+ output: payload.payload?.result ?? null
781
+ }
782
+ };
783
+ }
784
+ case "network-execution-event-step-finish": {
785
+ const current = bufferedNetworks.get(payload.payload.runId);
786
+ if (!current) return null;
787
+ return {
788
+ type: "data-network",
789
+ id: payload.payload.runId,
790
+ data: {
791
+ name: current.name,
792
+ status: "finished",
793
+ steps: current.steps,
794
+ output: payload.payload?.result ?? null
795
+ }
796
+ };
797
+ }
798
+ case "network-execution-event-finish": {
799
+ const current = bufferedNetworks.get(payload.runId);
800
+ if (!current) return null;
801
+ return {
802
+ type: "data-network",
803
+ id: payload.runId,
804
+ data: {
805
+ name: current.name,
806
+ status: "finished",
807
+ steps: current.steps,
808
+ output: payload.payload?.result ?? null
809
+ }
810
+ };
811
+ }
812
+ default:
813
+ return null;
814
+ }
815
+ }
816
+
817
+ // src/to-ai-sdk-format.ts
634
818
  function toAISdkFormat(stream) {
635
819
  return stream.fullStream.pipeThrough(AgentStreamToAISDKTransformer());
636
820
  }