@perstack/runtime 0.0.61 → 0.0.62

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.
@@ -77,14 +77,14 @@ declare const runtimeStateMachine: xstate.StateMachine<{
77
77
  } & {
78
78
  reason: string;
79
79
  newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
80
- toolCall?: _perstack_core.ToolCall;
81
- toolResult?: _perstack_core.ToolResult;
80
+ toolCalls?: _perstack_core.ToolCall[];
81
+ toolResults?: _perstack_core.ToolResult[];
82
82
  usage: _perstack_core.Usage;
83
83
  }) | (_perstack_core.BaseEvent & {
84
- type: "callTool";
84
+ type: "callTools";
85
85
  } & {
86
86
  newMessage: _perstack_core.ExpertMessage;
87
- toolCall: _perstack_core.ToolCall;
87
+ toolCalls: _perstack_core.ToolCall[];
88
88
  usage: _perstack_core.Usage;
89
89
  }) | (_perstack_core.BaseEvent & {
90
90
  type: "callInteractiveTool";
@@ -99,27 +99,28 @@ declare const runtimeStateMachine: xstate.StateMachine<{
99
99
  toolCall: _perstack_core.ToolCall;
100
100
  usage: _perstack_core.Usage;
101
101
  }) | (_perstack_core.BaseEvent & {
102
- type: "resolveToolResult";
102
+ type: "resolveToolResults";
103
103
  } & {
104
- toolResult: _perstack_core.ToolResult;
104
+ toolResults: _perstack_core.ToolResult[];
105
105
  }) | (_perstack_core.BaseEvent & {
106
106
  type: "resolveThought";
107
107
  } & {
108
108
  toolResult: _perstack_core.ToolResult;
109
109
  }) | (_perstack_core.BaseEvent & {
110
- type: "resolvePdfFile";
110
+ type: "attemptCompletion";
111
111
  } & {
112
112
  toolResult: _perstack_core.ToolResult;
113
113
  }) | (_perstack_core.BaseEvent & {
114
- type: "resolveImageFile";
114
+ type: "finishToolCall";
115
115
  } & {
116
- toolResult: _perstack_core.ToolResult;
116
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
117
117
  }) | (_perstack_core.BaseEvent & {
118
- type: "attemptCompletion";
118
+ type: "resumeToolCalls";
119
119
  } & {
120
- toolResult: _perstack_core.ToolResult;
120
+ pendingToolCalls: _perstack_core.ToolCall[];
121
+ partialToolResults: _perstack_core.ToolResult[];
121
122
  }) | (_perstack_core.BaseEvent & {
122
- type: "finishToolCall";
123
+ type: "finishAllToolCalls";
123
124
  } & {
124
125
  newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
125
126
  }) | (_perstack_core.BaseEvent & {
@@ -150,7 +151,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
150
151
  step: Step;
151
152
  text: string;
152
153
  usage: _perstack_core.Usage;
153
- }), {}, never, never, never, never, "Init" | "PreparingForStep" | "GeneratingToolCall" | "FinishingStep" | "CallingTool" | "CallingInteractiveTool" | "CallingDelegate" | "ResolvingToolResult" | "ResolvingThought" | "ResolvingPdfFile" | "ResolvingImageFile" | "GeneratingRunResult" | "Stopped", string, {
154
+ }), {}, never, never, never, never, "Init" | "PreparingForStep" | "GeneratingToolCall" | "CallingTool" | "FinishingStep" | "CallingInteractiveTool" | "CallingDelegate" | "ResolvingToolResult" | "ResolvingThought" | "GeneratingRunResult" | "Stopped", string, {
154
155
  setting: RunSetting;
155
156
  initialCheckpoint: Checkpoint;
156
157
  eventListener: (event: RunEvent) => Promise<void>;
@@ -195,14 +196,14 @@ declare const runtimeStateMachine: xstate.StateMachine<{
195
196
  } & {
196
197
  reason: string;
197
198
  newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
198
- toolCall?: _perstack_core.ToolCall;
199
- toolResult?: _perstack_core.ToolResult;
199
+ toolCalls?: _perstack_core.ToolCall[];
200
+ toolResults?: _perstack_core.ToolResult[];
200
201
  usage: _perstack_core.Usage;
201
202
  }) | (_perstack_core.BaseEvent & {
202
- type: "callTool";
203
+ type: "callTools";
203
204
  } & {
204
205
  newMessage: _perstack_core.ExpertMessage;
205
- toolCall: _perstack_core.ToolCall;
206
+ toolCalls: _perstack_core.ToolCall[];
206
207
  usage: _perstack_core.Usage;
207
208
  }) | (_perstack_core.BaseEvent & {
208
209
  type: "callInteractiveTool";
@@ -217,27 +218,28 @@ declare const runtimeStateMachine: xstate.StateMachine<{
217
218
  toolCall: _perstack_core.ToolCall;
218
219
  usage: _perstack_core.Usage;
219
220
  }) | (_perstack_core.BaseEvent & {
220
- type: "resolveToolResult";
221
+ type: "resolveToolResults";
221
222
  } & {
222
- toolResult: _perstack_core.ToolResult;
223
+ toolResults: _perstack_core.ToolResult[];
223
224
  }) | (_perstack_core.BaseEvent & {
224
225
  type: "resolveThought";
225
226
  } & {
226
227
  toolResult: _perstack_core.ToolResult;
227
228
  }) | (_perstack_core.BaseEvent & {
228
- type: "resolvePdfFile";
229
+ type: "attemptCompletion";
229
230
  } & {
230
231
  toolResult: _perstack_core.ToolResult;
231
232
  }) | (_perstack_core.BaseEvent & {
232
- type: "resolveImageFile";
233
+ type: "finishToolCall";
233
234
  } & {
234
- toolResult: _perstack_core.ToolResult;
235
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
235
236
  }) | (_perstack_core.BaseEvent & {
236
- type: "attemptCompletion";
237
+ type: "resumeToolCalls";
237
238
  } & {
238
- toolResult: _perstack_core.ToolResult;
239
+ pendingToolCalls: _perstack_core.ToolCall[];
240
+ partialToolResults: _perstack_core.ToolResult[];
239
241
  }) | (_perstack_core.BaseEvent & {
240
- type: "finishToolCall";
242
+ type: "finishAllToolCalls";
241
243
  } & {
242
244
  newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
243
245
  }) | (_perstack_core.BaseEvent & {
@@ -282,14 +284,14 @@ declare const runtimeStateMachine: xstate.StateMachine<{
282
284
  } & {
283
285
  reason: string;
284
286
  newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
285
- toolCall?: _perstack_core.ToolCall;
286
- toolResult?: _perstack_core.ToolResult;
287
+ toolCalls?: _perstack_core.ToolCall[];
288
+ toolResults?: _perstack_core.ToolResult[];
287
289
  usage: _perstack_core.Usage;
288
290
  }) | (_perstack_core.BaseEvent & {
289
- type: "callTool";
291
+ type: "callTools";
290
292
  } & {
291
293
  newMessage: _perstack_core.ExpertMessage;
292
- toolCall: _perstack_core.ToolCall;
294
+ toolCalls: _perstack_core.ToolCall[];
293
295
  usage: _perstack_core.Usage;
294
296
  }) | (_perstack_core.BaseEvent & {
295
297
  type: "callInteractiveTool";
@@ -304,27 +306,28 @@ declare const runtimeStateMachine: xstate.StateMachine<{
304
306
  toolCall: _perstack_core.ToolCall;
305
307
  usage: _perstack_core.Usage;
306
308
  }) | (_perstack_core.BaseEvent & {
307
- type: "resolveToolResult";
309
+ type: "resolveToolResults";
308
310
  } & {
309
- toolResult: _perstack_core.ToolResult;
311
+ toolResults: _perstack_core.ToolResult[];
310
312
  }) | (_perstack_core.BaseEvent & {
311
313
  type: "resolveThought";
312
314
  } & {
313
315
  toolResult: _perstack_core.ToolResult;
314
316
  }) | (_perstack_core.BaseEvent & {
315
- type: "resolvePdfFile";
317
+ type: "attemptCompletion";
316
318
  } & {
317
319
  toolResult: _perstack_core.ToolResult;
318
320
  }) | (_perstack_core.BaseEvent & {
319
- type: "resolveImageFile";
321
+ type: "finishToolCall";
320
322
  } & {
321
- toolResult: _perstack_core.ToolResult;
323
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
322
324
  }) | (_perstack_core.BaseEvent & {
323
- type: "attemptCompletion";
325
+ type: "resumeToolCalls";
324
326
  } & {
325
- toolResult: _perstack_core.ToolResult;
327
+ pendingToolCalls: _perstack_core.ToolCall[];
328
+ partialToolResults: _perstack_core.ToolResult[];
326
329
  }) | (_perstack_core.BaseEvent & {
327
- type: "finishToolCall";
330
+ type: "finishAllToolCalls";
328
331
  } & {
329
332
  newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
330
333
  }) | (_perstack_core.BaseEvent & {
@@ -399,14 +402,14 @@ declare const runtimeStateMachine: xstate.StateMachine<{
399
402
  } & {
400
403
  reason: string;
401
404
  newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
402
- toolCall?: _perstack_core.ToolCall;
403
- toolResult?: _perstack_core.ToolResult;
405
+ toolCalls?: _perstack_core.ToolCall[];
406
+ toolResults?: _perstack_core.ToolResult[];
404
407
  usage: _perstack_core.Usage;
405
408
  }) | (_perstack_core.BaseEvent & {
406
- type: "callTool";
409
+ type: "callTools";
407
410
  } & {
408
411
  newMessage: _perstack_core.ExpertMessage;
409
- toolCall: _perstack_core.ToolCall;
412
+ toolCalls: _perstack_core.ToolCall[];
410
413
  usage: _perstack_core.Usage;
411
414
  }) | (_perstack_core.BaseEvent & {
412
415
  type: "callInteractiveTool";
@@ -421,27 +424,28 @@ declare const runtimeStateMachine: xstate.StateMachine<{
421
424
  toolCall: _perstack_core.ToolCall;
422
425
  usage: _perstack_core.Usage;
423
426
  }) | (_perstack_core.BaseEvent & {
424
- type: "resolveToolResult";
427
+ type: "resolveToolResults";
425
428
  } & {
426
- toolResult: _perstack_core.ToolResult;
429
+ toolResults: _perstack_core.ToolResult[];
427
430
  }) | (_perstack_core.BaseEvent & {
428
431
  type: "resolveThought";
429
432
  } & {
430
433
  toolResult: _perstack_core.ToolResult;
431
434
  }) | (_perstack_core.BaseEvent & {
432
- type: "resolvePdfFile";
435
+ type: "attemptCompletion";
433
436
  } & {
434
437
  toolResult: _perstack_core.ToolResult;
435
438
  }) | (_perstack_core.BaseEvent & {
436
- type: "resolveImageFile";
439
+ type: "finishToolCall";
437
440
  } & {
438
- toolResult: _perstack_core.ToolResult;
441
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
439
442
  }) | (_perstack_core.BaseEvent & {
440
- type: "attemptCompletion";
443
+ type: "resumeToolCalls";
441
444
  } & {
442
- toolResult: _perstack_core.ToolResult;
445
+ pendingToolCalls: _perstack_core.ToolCall[];
446
+ partialToolResults: _perstack_core.ToolResult[];
443
447
  }) | (_perstack_core.BaseEvent & {
444
- type: "finishToolCall";
448
+ type: "finishAllToolCalls";
445
449
  } & {
446
450
  newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
447
451
  }) | (_perstack_core.BaseEvent & {
@@ -504,14 +508,14 @@ declare const runtimeStateMachine: xstate.StateMachine<{
504
508
  } & {
505
509
  reason: string;
506
510
  newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
507
- toolCall?: _perstack_core.ToolCall;
508
- toolResult?: _perstack_core.ToolResult;
511
+ toolCalls?: _perstack_core.ToolCall[];
512
+ toolResults?: _perstack_core.ToolResult[];
509
513
  usage: _perstack_core.Usage;
510
514
  }) | (_perstack_core.BaseEvent & {
511
- type: "callTool";
515
+ type: "callTools";
512
516
  } & {
513
517
  newMessage: _perstack_core.ExpertMessage;
514
- toolCall: _perstack_core.ToolCall;
518
+ toolCalls: _perstack_core.ToolCall[];
515
519
  usage: _perstack_core.Usage;
516
520
  }) | (_perstack_core.BaseEvent & {
517
521
  type: "callInteractiveTool";
@@ -526,27 +530,28 @@ declare const runtimeStateMachine: xstate.StateMachine<{
526
530
  toolCall: _perstack_core.ToolCall;
527
531
  usage: _perstack_core.Usage;
528
532
  }) | (_perstack_core.BaseEvent & {
529
- type: "resolveToolResult";
533
+ type: "resolveToolResults";
530
534
  } & {
531
- toolResult: _perstack_core.ToolResult;
535
+ toolResults: _perstack_core.ToolResult[];
532
536
  }) | (_perstack_core.BaseEvent & {
533
537
  type: "resolveThought";
534
538
  } & {
535
539
  toolResult: _perstack_core.ToolResult;
536
540
  }) | (_perstack_core.BaseEvent & {
537
- type: "resolvePdfFile";
541
+ type: "attemptCompletion";
538
542
  } & {
539
543
  toolResult: _perstack_core.ToolResult;
540
544
  }) | (_perstack_core.BaseEvent & {
541
- type: "resolveImageFile";
545
+ type: "finishToolCall";
542
546
  } & {
543
- toolResult: _perstack_core.ToolResult;
547
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
544
548
  }) | (_perstack_core.BaseEvent & {
545
- type: "attemptCompletion";
549
+ type: "resumeToolCalls";
546
550
  } & {
547
- toolResult: _perstack_core.ToolResult;
551
+ pendingToolCalls: _perstack_core.ToolCall[];
552
+ partialToolResults: _perstack_core.ToolResult[];
548
553
  }) | (_perstack_core.BaseEvent & {
549
- type: "finishToolCall";
554
+ type: "finishAllToolCalls";
550
555
  } & {
551
556
  newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
552
557
  }) | (_perstack_core.BaseEvent & {
@@ -579,12 +584,8 @@ declare const runtimeStateMachine: xstate.StateMachine<{
579
584
  usage: _perstack_core.Usage;
580
585
  }), undefined, never, never, never, never, never>;
581
586
  };
582
- };
583
- };
584
- readonly GeneratingToolCall: {
585
- readonly on: {
586
- readonly retry: {
587
- readonly target: "FinishingStep";
587
+ readonly resumeToolCalls: {
588
+ readonly target: "CallingTool";
588
589
  readonly actions: xstate.ActionFunction<{
589
590
  setting: RunSetting;
590
591
  step: Step;
@@ -592,13 +593,10 @@ declare const runtimeStateMachine: xstate.StateMachine<{
592
593
  eventListener: (event: RunEvent) => Promise<void>;
593
594
  skillManagers: Record<string, BaseSkillManager>;
594
595
  }, _perstack_core.BaseEvent & {
595
- type: "retry";
596
+ type: "resumeToolCalls";
596
597
  } & {
597
- reason: string;
598
- newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
599
- toolCall?: _perstack_core.ToolCall;
600
- toolResult?: _perstack_core.ToolResult;
601
- usage: _perstack_core.Usage;
598
+ pendingToolCalls: _perstack_core.ToolCall[];
599
+ partialToolResults: _perstack_core.ToolResult[];
602
600
  }, (_perstack_core.BaseEvent & {
603
601
  type: "startRun";
604
602
  } & {
@@ -613,14 +611,14 @@ declare const runtimeStateMachine: xstate.StateMachine<{
613
611
  } & {
614
612
  reason: string;
615
613
  newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
616
- toolCall?: _perstack_core.ToolCall;
617
- toolResult?: _perstack_core.ToolResult;
614
+ toolCalls?: _perstack_core.ToolCall[];
615
+ toolResults?: _perstack_core.ToolResult[];
618
616
  usage: _perstack_core.Usage;
619
617
  }) | (_perstack_core.BaseEvent & {
620
- type: "callTool";
618
+ type: "callTools";
621
619
  } & {
622
620
  newMessage: _perstack_core.ExpertMessage;
623
- toolCall: _perstack_core.ToolCall;
621
+ toolCalls: _perstack_core.ToolCall[];
624
622
  usage: _perstack_core.Usage;
625
623
  }) | (_perstack_core.BaseEvent & {
626
624
  type: "callInteractiveTool";
@@ -635,27 +633,28 @@ declare const runtimeStateMachine: xstate.StateMachine<{
635
633
  toolCall: _perstack_core.ToolCall;
636
634
  usage: _perstack_core.Usage;
637
635
  }) | (_perstack_core.BaseEvent & {
638
- type: "resolveToolResult";
636
+ type: "resolveToolResults";
639
637
  } & {
640
- toolResult: _perstack_core.ToolResult;
638
+ toolResults: _perstack_core.ToolResult[];
641
639
  }) | (_perstack_core.BaseEvent & {
642
640
  type: "resolveThought";
643
641
  } & {
644
642
  toolResult: _perstack_core.ToolResult;
645
643
  }) | (_perstack_core.BaseEvent & {
646
- type: "resolvePdfFile";
644
+ type: "attemptCompletion";
647
645
  } & {
648
646
  toolResult: _perstack_core.ToolResult;
649
647
  }) | (_perstack_core.BaseEvent & {
650
- type: "resolveImageFile";
648
+ type: "finishToolCall";
651
649
  } & {
652
- toolResult: _perstack_core.ToolResult;
650
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
653
651
  }) | (_perstack_core.BaseEvent & {
654
- type: "attemptCompletion";
652
+ type: "resumeToolCalls";
655
653
  } & {
656
- toolResult: _perstack_core.ToolResult;
654
+ pendingToolCalls: _perstack_core.ToolCall[];
655
+ partialToolResults: _perstack_core.ToolResult[];
657
656
  }) | (_perstack_core.BaseEvent & {
658
- type: "finishToolCall";
657
+ type: "finishAllToolCalls";
659
658
  } & {
660
659
  newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
661
660
  }) | (_perstack_core.BaseEvent & {
@@ -688,8 +687,8 @@ declare const runtimeStateMachine: xstate.StateMachine<{
688
687
  usage: _perstack_core.Usage;
689
688
  }), undefined, never, never, never, never, never>;
690
689
  };
691
- readonly callTool: {
692
- readonly target: "CallingTool";
690
+ readonly finishAllToolCalls: {
691
+ readonly target: "FinishingStep";
693
692
  readonly actions: xstate.ActionFunction<{
694
693
  setting: RunSetting;
695
694
  step: Step;
@@ -697,11 +696,9 @@ declare const runtimeStateMachine: xstate.StateMachine<{
697
696
  eventListener: (event: RunEvent) => Promise<void>;
698
697
  skillManagers: Record<string, BaseSkillManager>;
699
698
  }, _perstack_core.BaseEvent & {
700
- type: "callTool";
699
+ type: "finishAllToolCalls";
701
700
  } & {
702
- newMessage: _perstack_core.ExpertMessage;
703
- toolCall: _perstack_core.ToolCall;
704
- usage: _perstack_core.Usage;
701
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
705
702
  }, (_perstack_core.BaseEvent & {
706
703
  type: "startRun";
707
704
  } & {
@@ -716,14 +713,14 @@ declare const runtimeStateMachine: xstate.StateMachine<{
716
713
  } & {
717
714
  reason: string;
718
715
  newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
719
- toolCall?: _perstack_core.ToolCall;
720
- toolResult?: _perstack_core.ToolResult;
716
+ toolCalls?: _perstack_core.ToolCall[];
717
+ toolResults?: _perstack_core.ToolResult[];
721
718
  usage: _perstack_core.Usage;
722
719
  }) | (_perstack_core.BaseEvent & {
723
- type: "callTool";
720
+ type: "callTools";
724
721
  } & {
725
722
  newMessage: _perstack_core.ExpertMessage;
726
- toolCall: _perstack_core.ToolCall;
723
+ toolCalls: _perstack_core.ToolCall[];
727
724
  usage: _perstack_core.Usage;
728
725
  }) | (_perstack_core.BaseEvent & {
729
726
  type: "callInteractiveTool";
@@ -738,27 +735,28 @@ declare const runtimeStateMachine: xstate.StateMachine<{
738
735
  toolCall: _perstack_core.ToolCall;
739
736
  usage: _perstack_core.Usage;
740
737
  }) | (_perstack_core.BaseEvent & {
741
- type: "resolveToolResult";
738
+ type: "resolveToolResults";
742
739
  } & {
743
- toolResult: _perstack_core.ToolResult;
740
+ toolResults: _perstack_core.ToolResult[];
744
741
  }) | (_perstack_core.BaseEvent & {
745
742
  type: "resolveThought";
746
743
  } & {
747
744
  toolResult: _perstack_core.ToolResult;
748
745
  }) | (_perstack_core.BaseEvent & {
749
- type: "resolvePdfFile";
746
+ type: "attemptCompletion";
750
747
  } & {
751
748
  toolResult: _perstack_core.ToolResult;
752
749
  }) | (_perstack_core.BaseEvent & {
753
- type: "resolveImageFile";
750
+ type: "finishToolCall";
754
751
  } & {
755
- toolResult: _perstack_core.ToolResult;
752
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
756
753
  }) | (_perstack_core.BaseEvent & {
757
- type: "attemptCompletion";
754
+ type: "resumeToolCalls";
758
755
  } & {
759
- toolResult: _perstack_core.ToolResult;
756
+ pendingToolCalls: _perstack_core.ToolCall[];
757
+ partialToolResults: _perstack_core.ToolResult[];
760
758
  }) | (_perstack_core.BaseEvent & {
761
- type: "finishToolCall";
759
+ type: "finishAllToolCalls";
762
760
  } & {
763
761
  newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
764
762
  }) | (_perstack_core.BaseEvent & {
@@ -791,8 +789,12 @@ declare const runtimeStateMachine: xstate.StateMachine<{
791
789
  usage: _perstack_core.Usage;
792
790
  }), undefined, never, never, never, never, never>;
793
791
  };
794
- readonly callInteractiveTool: {
795
- readonly target: "CallingInteractiveTool";
792
+ };
793
+ };
794
+ readonly GeneratingToolCall: {
795
+ readonly on: {
796
+ readonly retry: {
797
+ readonly target: "FinishingStep";
796
798
  readonly actions: xstate.ActionFunction<{
797
799
  setting: RunSetting;
798
800
  step: Step;
@@ -800,10 +802,12 @@ declare const runtimeStateMachine: xstate.StateMachine<{
800
802
  eventListener: (event: RunEvent) => Promise<void>;
801
803
  skillManagers: Record<string, BaseSkillManager>;
802
804
  }, _perstack_core.BaseEvent & {
803
- type: "callInteractiveTool";
805
+ type: "retry";
804
806
  } & {
805
- newMessage: _perstack_core.ExpertMessage;
806
- toolCall: _perstack_core.ToolCall;
807
+ reason: string;
808
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
809
+ toolCalls?: _perstack_core.ToolCall[];
810
+ toolResults?: _perstack_core.ToolResult[];
807
811
  usage: _perstack_core.Usage;
808
812
  }, (_perstack_core.BaseEvent & {
809
813
  type: "startRun";
@@ -819,14 +823,14 @@ declare const runtimeStateMachine: xstate.StateMachine<{
819
823
  } & {
820
824
  reason: string;
821
825
  newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
822
- toolCall?: _perstack_core.ToolCall;
823
- toolResult?: _perstack_core.ToolResult;
826
+ toolCalls?: _perstack_core.ToolCall[];
827
+ toolResults?: _perstack_core.ToolResult[];
824
828
  usage: _perstack_core.Usage;
825
829
  }) | (_perstack_core.BaseEvent & {
826
- type: "callTool";
830
+ type: "callTools";
827
831
  } & {
828
832
  newMessage: _perstack_core.ExpertMessage;
829
- toolCall: _perstack_core.ToolCall;
833
+ toolCalls: _perstack_core.ToolCall[];
830
834
  usage: _perstack_core.Usage;
831
835
  }) | (_perstack_core.BaseEvent & {
832
836
  type: "callInteractiveTool";
@@ -841,27 +845,28 @@ declare const runtimeStateMachine: xstate.StateMachine<{
841
845
  toolCall: _perstack_core.ToolCall;
842
846
  usage: _perstack_core.Usage;
843
847
  }) | (_perstack_core.BaseEvent & {
844
- type: "resolveToolResult";
848
+ type: "resolveToolResults";
845
849
  } & {
846
- toolResult: _perstack_core.ToolResult;
850
+ toolResults: _perstack_core.ToolResult[];
847
851
  }) | (_perstack_core.BaseEvent & {
848
852
  type: "resolveThought";
849
853
  } & {
850
854
  toolResult: _perstack_core.ToolResult;
851
855
  }) | (_perstack_core.BaseEvent & {
852
- type: "resolvePdfFile";
856
+ type: "attemptCompletion";
853
857
  } & {
854
858
  toolResult: _perstack_core.ToolResult;
855
859
  }) | (_perstack_core.BaseEvent & {
856
- type: "resolveImageFile";
860
+ type: "finishToolCall";
857
861
  } & {
858
- toolResult: _perstack_core.ToolResult;
862
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
859
863
  }) | (_perstack_core.BaseEvent & {
860
- type: "attemptCompletion";
864
+ type: "resumeToolCalls";
861
865
  } & {
862
- toolResult: _perstack_core.ToolResult;
866
+ pendingToolCalls: _perstack_core.ToolCall[];
867
+ partialToolResults: _perstack_core.ToolResult[];
863
868
  }) | (_perstack_core.BaseEvent & {
864
- type: "finishToolCall";
869
+ type: "finishAllToolCalls";
865
870
  } & {
866
871
  newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
867
872
  }) | (_perstack_core.BaseEvent & {
@@ -894,8 +899,8 @@ declare const runtimeStateMachine: xstate.StateMachine<{
894
899
  usage: _perstack_core.Usage;
895
900
  }), undefined, never, never, never, never, never>;
896
901
  };
897
- readonly callDelegate: {
898
- readonly target: "CallingDelegate";
902
+ readonly callTools: {
903
+ readonly target: "CallingTool";
899
904
  readonly actions: xstate.ActionFunction<{
900
905
  setting: RunSetting;
901
906
  step: Step;
@@ -903,10 +908,10 @@ declare const runtimeStateMachine: xstate.StateMachine<{
903
908
  eventListener: (event: RunEvent) => Promise<void>;
904
909
  skillManagers: Record<string, BaseSkillManager>;
905
910
  }, _perstack_core.BaseEvent & {
906
- type: "callDelegate";
911
+ type: "callTools";
907
912
  } & {
908
913
  newMessage: _perstack_core.ExpertMessage;
909
- toolCall: _perstack_core.ToolCall;
914
+ toolCalls: _perstack_core.ToolCall[];
910
915
  usage: _perstack_core.Usage;
911
916
  }, (_perstack_core.BaseEvent & {
912
917
  type: "startRun";
@@ -922,14 +927,14 @@ declare const runtimeStateMachine: xstate.StateMachine<{
922
927
  } & {
923
928
  reason: string;
924
929
  newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
925
- toolCall?: _perstack_core.ToolCall;
926
- toolResult?: _perstack_core.ToolResult;
930
+ toolCalls?: _perstack_core.ToolCall[];
931
+ toolResults?: _perstack_core.ToolResult[];
927
932
  usage: _perstack_core.Usage;
928
933
  }) | (_perstack_core.BaseEvent & {
929
- type: "callTool";
934
+ type: "callTools";
930
935
  } & {
931
936
  newMessage: _perstack_core.ExpertMessage;
932
- toolCall: _perstack_core.ToolCall;
937
+ toolCalls: _perstack_core.ToolCall[];
933
938
  usage: _perstack_core.Usage;
934
939
  }) | (_perstack_core.BaseEvent & {
935
940
  type: "callInteractiveTool";
@@ -944,27 +949,28 @@ declare const runtimeStateMachine: xstate.StateMachine<{
944
949
  toolCall: _perstack_core.ToolCall;
945
950
  usage: _perstack_core.Usage;
946
951
  }) | (_perstack_core.BaseEvent & {
947
- type: "resolveToolResult";
952
+ type: "resolveToolResults";
948
953
  } & {
949
- toolResult: _perstack_core.ToolResult;
954
+ toolResults: _perstack_core.ToolResult[];
950
955
  }) | (_perstack_core.BaseEvent & {
951
956
  type: "resolveThought";
952
957
  } & {
953
958
  toolResult: _perstack_core.ToolResult;
954
959
  }) | (_perstack_core.BaseEvent & {
955
- type: "resolvePdfFile";
960
+ type: "attemptCompletion";
956
961
  } & {
957
962
  toolResult: _perstack_core.ToolResult;
958
963
  }) | (_perstack_core.BaseEvent & {
959
- type: "resolveImageFile";
964
+ type: "finishToolCall";
960
965
  } & {
961
- toolResult: _perstack_core.ToolResult;
966
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
962
967
  }) | (_perstack_core.BaseEvent & {
963
- type: "attemptCompletion";
968
+ type: "resumeToolCalls";
964
969
  } & {
965
- toolResult: _perstack_core.ToolResult;
970
+ pendingToolCalls: _perstack_core.ToolCall[];
971
+ partialToolResults: _perstack_core.ToolResult[];
966
972
  }) | (_perstack_core.BaseEvent & {
967
- type: "finishToolCall";
973
+ type: "finishAllToolCalls";
968
974
  } & {
969
975
  newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
970
976
  }) | (_perstack_core.BaseEvent & {
@@ -997,12 +1003,8 @@ declare const runtimeStateMachine: xstate.StateMachine<{
997
1003
  usage: _perstack_core.Usage;
998
1004
  }), undefined, never, never, never, never, never>;
999
1005
  };
1000
- };
1001
- };
1002
- readonly CallingTool: {
1003
- readonly on: {
1004
- readonly resolveToolResult: {
1005
- readonly target: "ResolvingToolResult";
1006
+ readonly callInteractiveTool: {
1007
+ readonly target: "CallingInteractiveTool";
1006
1008
  readonly actions: xstate.ActionFunction<{
1007
1009
  setting: RunSetting;
1008
1010
  step: Step;
@@ -1010,9 +1012,11 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1010
1012
  eventListener: (event: RunEvent) => Promise<void>;
1011
1013
  skillManagers: Record<string, BaseSkillManager>;
1012
1014
  }, _perstack_core.BaseEvent & {
1013
- type: "resolveToolResult";
1015
+ type: "callInteractiveTool";
1014
1016
  } & {
1015
- toolResult: _perstack_core.ToolResult;
1017
+ newMessage: _perstack_core.ExpertMessage;
1018
+ toolCall: _perstack_core.ToolCall;
1019
+ usage: _perstack_core.Usage;
1016
1020
  }, (_perstack_core.BaseEvent & {
1017
1021
  type: "startRun";
1018
1022
  } & {
@@ -1027,14 +1031,14 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1027
1031
  } & {
1028
1032
  reason: string;
1029
1033
  newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
1030
- toolCall?: _perstack_core.ToolCall;
1031
- toolResult?: _perstack_core.ToolResult;
1034
+ toolCalls?: _perstack_core.ToolCall[];
1035
+ toolResults?: _perstack_core.ToolResult[];
1032
1036
  usage: _perstack_core.Usage;
1033
1037
  }) | (_perstack_core.BaseEvent & {
1034
- type: "callTool";
1038
+ type: "callTools";
1035
1039
  } & {
1036
1040
  newMessage: _perstack_core.ExpertMessage;
1037
- toolCall: _perstack_core.ToolCall;
1041
+ toolCalls: _perstack_core.ToolCall[];
1038
1042
  usage: _perstack_core.Usage;
1039
1043
  }) | (_perstack_core.BaseEvent & {
1040
1044
  type: "callInteractiveTool";
@@ -1049,27 +1053,28 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1049
1053
  toolCall: _perstack_core.ToolCall;
1050
1054
  usage: _perstack_core.Usage;
1051
1055
  }) | (_perstack_core.BaseEvent & {
1052
- type: "resolveToolResult";
1056
+ type: "resolveToolResults";
1053
1057
  } & {
1054
- toolResult: _perstack_core.ToolResult;
1058
+ toolResults: _perstack_core.ToolResult[];
1055
1059
  }) | (_perstack_core.BaseEvent & {
1056
1060
  type: "resolveThought";
1057
1061
  } & {
1058
1062
  toolResult: _perstack_core.ToolResult;
1059
1063
  }) | (_perstack_core.BaseEvent & {
1060
- type: "resolvePdfFile";
1064
+ type: "attemptCompletion";
1061
1065
  } & {
1062
1066
  toolResult: _perstack_core.ToolResult;
1063
1067
  }) | (_perstack_core.BaseEvent & {
1064
- type: "resolveImageFile";
1068
+ type: "finishToolCall";
1065
1069
  } & {
1066
- toolResult: _perstack_core.ToolResult;
1070
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
1067
1071
  }) | (_perstack_core.BaseEvent & {
1068
- type: "attemptCompletion";
1072
+ type: "resumeToolCalls";
1069
1073
  } & {
1070
- toolResult: _perstack_core.ToolResult;
1074
+ pendingToolCalls: _perstack_core.ToolCall[];
1075
+ partialToolResults: _perstack_core.ToolResult[];
1071
1076
  }) | (_perstack_core.BaseEvent & {
1072
- type: "finishToolCall";
1077
+ type: "finishAllToolCalls";
1073
1078
  } & {
1074
1079
  newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
1075
1080
  }) | (_perstack_core.BaseEvent & {
@@ -1102,8 +1107,8 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1102
1107
  usage: _perstack_core.Usage;
1103
1108
  }), undefined, never, never, never, never, never>;
1104
1109
  };
1105
- readonly resolveThought: {
1106
- readonly target: "ResolvingThought";
1110
+ readonly callDelegate: {
1111
+ readonly target: "CallingDelegate";
1107
1112
  readonly actions: xstate.ActionFunction<{
1108
1113
  setting: RunSetting;
1109
1114
  step: Step;
@@ -1111,9 +1116,11 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1111
1116
  eventListener: (event: RunEvent) => Promise<void>;
1112
1117
  skillManagers: Record<string, BaseSkillManager>;
1113
1118
  }, _perstack_core.BaseEvent & {
1114
- type: "resolveThought";
1119
+ type: "callDelegate";
1115
1120
  } & {
1116
- toolResult: _perstack_core.ToolResult;
1121
+ newMessage: _perstack_core.ExpertMessage;
1122
+ toolCall: _perstack_core.ToolCall;
1123
+ usage: _perstack_core.Usage;
1117
1124
  }, (_perstack_core.BaseEvent & {
1118
1125
  type: "startRun";
1119
1126
  } & {
@@ -1128,14 +1135,14 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1128
1135
  } & {
1129
1136
  reason: string;
1130
1137
  newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
1131
- toolCall?: _perstack_core.ToolCall;
1132
- toolResult?: _perstack_core.ToolResult;
1138
+ toolCalls?: _perstack_core.ToolCall[];
1139
+ toolResults?: _perstack_core.ToolResult[];
1133
1140
  usage: _perstack_core.Usage;
1134
1141
  }) | (_perstack_core.BaseEvent & {
1135
- type: "callTool";
1142
+ type: "callTools";
1136
1143
  } & {
1137
1144
  newMessage: _perstack_core.ExpertMessage;
1138
- toolCall: _perstack_core.ToolCall;
1145
+ toolCalls: _perstack_core.ToolCall[];
1139
1146
  usage: _perstack_core.Usage;
1140
1147
  }) | (_perstack_core.BaseEvent & {
1141
1148
  type: "callInteractiveTool";
@@ -1150,27 +1157,28 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1150
1157
  toolCall: _perstack_core.ToolCall;
1151
1158
  usage: _perstack_core.Usage;
1152
1159
  }) | (_perstack_core.BaseEvent & {
1153
- type: "resolveToolResult";
1160
+ type: "resolveToolResults";
1154
1161
  } & {
1155
- toolResult: _perstack_core.ToolResult;
1162
+ toolResults: _perstack_core.ToolResult[];
1156
1163
  }) | (_perstack_core.BaseEvent & {
1157
1164
  type: "resolveThought";
1158
1165
  } & {
1159
1166
  toolResult: _perstack_core.ToolResult;
1160
1167
  }) | (_perstack_core.BaseEvent & {
1161
- type: "resolvePdfFile";
1168
+ type: "attemptCompletion";
1162
1169
  } & {
1163
1170
  toolResult: _perstack_core.ToolResult;
1164
1171
  }) | (_perstack_core.BaseEvent & {
1165
- type: "resolveImageFile";
1172
+ type: "finishToolCall";
1166
1173
  } & {
1167
- toolResult: _perstack_core.ToolResult;
1174
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
1168
1175
  }) | (_perstack_core.BaseEvent & {
1169
- type: "attemptCompletion";
1176
+ type: "resumeToolCalls";
1170
1177
  } & {
1171
- toolResult: _perstack_core.ToolResult;
1178
+ pendingToolCalls: _perstack_core.ToolCall[];
1179
+ partialToolResults: _perstack_core.ToolResult[];
1172
1180
  }) | (_perstack_core.BaseEvent & {
1173
- type: "finishToolCall";
1181
+ type: "finishAllToolCalls";
1174
1182
  } & {
1175
1183
  newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
1176
1184
  }) | (_perstack_core.BaseEvent & {
@@ -1203,8 +1211,12 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1203
1211
  usage: _perstack_core.Usage;
1204
1212
  }), undefined, never, never, never, never, never>;
1205
1213
  };
1206
- readonly resolvePdfFile: {
1207
- readonly target: "ResolvingPdfFile";
1214
+ };
1215
+ };
1216
+ readonly CallingTool: {
1217
+ readonly on: {
1218
+ readonly resolveToolResults: {
1219
+ readonly target: "ResolvingToolResult";
1208
1220
  readonly actions: xstate.ActionFunction<{
1209
1221
  setting: RunSetting;
1210
1222
  step: Step;
@@ -1212,9 +1224,9 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1212
1224
  eventListener: (event: RunEvent) => Promise<void>;
1213
1225
  skillManagers: Record<string, BaseSkillManager>;
1214
1226
  }, _perstack_core.BaseEvent & {
1215
- type: "resolvePdfFile";
1227
+ type: "resolveToolResults";
1216
1228
  } & {
1217
- toolResult: _perstack_core.ToolResult;
1229
+ toolResults: _perstack_core.ToolResult[];
1218
1230
  }, (_perstack_core.BaseEvent & {
1219
1231
  type: "startRun";
1220
1232
  } & {
@@ -1229,14 +1241,14 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1229
1241
  } & {
1230
1242
  reason: string;
1231
1243
  newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
1232
- toolCall?: _perstack_core.ToolCall;
1233
- toolResult?: _perstack_core.ToolResult;
1244
+ toolCalls?: _perstack_core.ToolCall[];
1245
+ toolResults?: _perstack_core.ToolResult[];
1234
1246
  usage: _perstack_core.Usage;
1235
1247
  }) | (_perstack_core.BaseEvent & {
1236
- type: "callTool";
1248
+ type: "callTools";
1237
1249
  } & {
1238
1250
  newMessage: _perstack_core.ExpertMessage;
1239
- toolCall: _perstack_core.ToolCall;
1251
+ toolCalls: _perstack_core.ToolCall[];
1240
1252
  usage: _perstack_core.Usage;
1241
1253
  }) | (_perstack_core.BaseEvent & {
1242
1254
  type: "callInteractiveTool";
@@ -1251,27 +1263,28 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1251
1263
  toolCall: _perstack_core.ToolCall;
1252
1264
  usage: _perstack_core.Usage;
1253
1265
  }) | (_perstack_core.BaseEvent & {
1254
- type: "resolveToolResult";
1266
+ type: "resolveToolResults";
1255
1267
  } & {
1256
- toolResult: _perstack_core.ToolResult;
1268
+ toolResults: _perstack_core.ToolResult[];
1257
1269
  }) | (_perstack_core.BaseEvent & {
1258
1270
  type: "resolveThought";
1259
1271
  } & {
1260
1272
  toolResult: _perstack_core.ToolResult;
1261
1273
  }) | (_perstack_core.BaseEvent & {
1262
- type: "resolvePdfFile";
1274
+ type: "attemptCompletion";
1263
1275
  } & {
1264
1276
  toolResult: _perstack_core.ToolResult;
1265
1277
  }) | (_perstack_core.BaseEvent & {
1266
- type: "resolveImageFile";
1278
+ type: "finishToolCall";
1267
1279
  } & {
1268
- toolResult: _perstack_core.ToolResult;
1280
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
1269
1281
  }) | (_perstack_core.BaseEvent & {
1270
- type: "attemptCompletion";
1282
+ type: "resumeToolCalls";
1271
1283
  } & {
1272
- toolResult: _perstack_core.ToolResult;
1284
+ pendingToolCalls: _perstack_core.ToolCall[];
1285
+ partialToolResults: _perstack_core.ToolResult[];
1273
1286
  }) | (_perstack_core.BaseEvent & {
1274
- type: "finishToolCall";
1287
+ type: "finishAllToolCalls";
1275
1288
  } & {
1276
1289
  newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
1277
1290
  }) | (_perstack_core.BaseEvent & {
@@ -1304,8 +1317,8 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1304
1317
  usage: _perstack_core.Usage;
1305
1318
  }), undefined, never, never, never, never, never>;
1306
1319
  };
1307
- readonly resolveImageFile: {
1308
- readonly target: "ResolvingImageFile";
1320
+ readonly resolveThought: {
1321
+ readonly target: "ResolvingThought";
1309
1322
  readonly actions: xstate.ActionFunction<{
1310
1323
  setting: RunSetting;
1311
1324
  step: Step;
@@ -1313,7 +1326,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1313
1326
  eventListener: (event: RunEvent) => Promise<void>;
1314
1327
  skillManagers: Record<string, BaseSkillManager>;
1315
1328
  }, _perstack_core.BaseEvent & {
1316
- type: "resolveImageFile";
1329
+ type: "resolveThought";
1317
1330
  } & {
1318
1331
  toolResult: _perstack_core.ToolResult;
1319
1332
  }, (_perstack_core.BaseEvent & {
@@ -1330,14 +1343,14 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1330
1343
  } & {
1331
1344
  reason: string;
1332
1345
  newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
1333
- toolCall?: _perstack_core.ToolCall;
1334
- toolResult?: _perstack_core.ToolResult;
1346
+ toolCalls?: _perstack_core.ToolCall[];
1347
+ toolResults?: _perstack_core.ToolResult[];
1335
1348
  usage: _perstack_core.Usage;
1336
1349
  }) | (_perstack_core.BaseEvent & {
1337
- type: "callTool";
1350
+ type: "callTools";
1338
1351
  } & {
1339
1352
  newMessage: _perstack_core.ExpertMessage;
1340
- toolCall: _perstack_core.ToolCall;
1353
+ toolCalls: _perstack_core.ToolCall[];
1341
1354
  usage: _perstack_core.Usage;
1342
1355
  }) | (_perstack_core.BaseEvent & {
1343
1356
  type: "callInteractiveTool";
@@ -1352,27 +1365,28 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1352
1365
  toolCall: _perstack_core.ToolCall;
1353
1366
  usage: _perstack_core.Usage;
1354
1367
  }) | (_perstack_core.BaseEvent & {
1355
- type: "resolveToolResult";
1368
+ type: "resolveToolResults";
1356
1369
  } & {
1357
- toolResult: _perstack_core.ToolResult;
1370
+ toolResults: _perstack_core.ToolResult[];
1358
1371
  }) | (_perstack_core.BaseEvent & {
1359
1372
  type: "resolveThought";
1360
1373
  } & {
1361
1374
  toolResult: _perstack_core.ToolResult;
1362
1375
  }) | (_perstack_core.BaseEvent & {
1363
- type: "resolvePdfFile";
1376
+ type: "attemptCompletion";
1364
1377
  } & {
1365
1378
  toolResult: _perstack_core.ToolResult;
1366
1379
  }) | (_perstack_core.BaseEvent & {
1367
- type: "resolveImageFile";
1380
+ type: "finishToolCall";
1368
1381
  } & {
1369
- toolResult: _perstack_core.ToolResult;
1382
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
1370
1383
  }) | (_perstack_core.BaseEvent & {
1371
- type: "attemptCompletion";
1384
+ type: "resumeToolCalls";
1372
1385
  } & {
1373
- toolResult: _perstack_core.ToolResult;
1386
+ pendingToolCalls: _perstack_core.ToolCall[];
1387
+ partialToolResults: _perstack_core.ToolResult[];
1374
1388
  }) | (_perstack_core.BaseEvent & {
1375
- type: "finishToolCall";
1389
+ type: "finishAllToolCalls";
1376
1390
  } & {
1377
1391
  newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
1378
1392
  }) | (_perstack_core.BaseEvent & {
@@ -1431,14 +1445,14 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1431
1445
  } & {
1432
1446
  reason: string;
1433
1447
  newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
1434
- toolCall?: _perstack_core.ToolCall;
1435
- toolResult?: _perstack_core.ToolResult;
1448
+ toolCalls?: _perstack_core.ToolCall[];
1449
+ toolResults?: _perstack_core.ToolResult[];
1436
1450
  usage: _perstack_core.Usage;
1437
1451
  }) | (_perstack_core.BaseEvent & {
1438
- type: "callTool";
1452
+ type: "callTools";
1439
1453
  } & {
1440
1454
  newMessage: _perstack_core.ExpertMessage;
1441
- toolCall: _perstack_core.ToolCall;
1455
+ toolCalls: _perstack_core.ToolCall[];
1442
1456
  usage: _perstack_core.Usage;
1443
1457
  }) | (_perstack_core.BaseEvent & {
1444
1458
  type: "callInteractiveTool";
@@ -1453,27 +1467,28 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1453
1467
  toolCall: _perstack_core.ToolCall;
1454
1468
  usage: _perstack_core.Usage;
1455
1469
  }) | (_perstack_core.BaseEvent & {
1456
- type: "resolveToolResult";
1470
+ type: "resolveToolResults";
1457
1471
  } & {
1458
- toolResult: _perstack_core.ToolResult;
1472
+ toolResults: _perstack_core.ToolResult[];
1459
1473
  }) | (_perstack_core.BaseEvent & {
1460
1474
  type: "resolveThought";
1461
1475
  } & {
1462
1476
  toolResult: _perstack_core.ToolResult;
1463
1477
  }) | (_perstack_core.BaseEvent & {
1464
- type: "resolvePdfFile";
1478
+ type: "attemptCompletion";
1465
1479
  } & {
1466
1480
  toolResult: _perstack_core.ToolResult;
1467
1481
  }) | (_perstack_core.BaseEvent & {
1468
- type: "resolveImageFile";
1482
+ type: "finishToolCall";
1469
1483
  } & {
1470
- toolResult: _perstack_core.ToolResult;
1484
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
1471
1485
  }) | (_perstack_core.BaseEvent & {
1472
- type: "attemptCompletion";
1486
+ type: "resumeToolCalls";
1473
1487
  } & {
1474
- toolResult: _perstack_core.ToolResult;
1488
+ pendingToolCalls: _perstack_core.ToolCall[];
1489
+ partialToolResults: _perstack_core.ToolResult[];
1475
1490
  }) | (_perstack_core.BaseEvent & {
1476
- type: "finishToolCall";
1491
+ type: "finishAllToolCalls";
1477
1492
  } & {
1478
1493
  newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
1479
1494
  }) | (_perstack_core.BaseEvent & {
@@ -1506,12 +1521,8 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1506
1521
  usage: _perstack_core.Usage;
1507
1522
  }), undefined, never, never, never, never, never>;
1508
1523
  };
1509
- };
1510
- };
1511
- readonly ResolvingToolResult: {
1512
- readonly on: {
1513
- readonly finishToolCall: {
1514
- readonly target: "FinishingStep";
1524
+ readonly callDelegate: {
1525
+ readonly target: "CallingDelegate";
1515
1526
  readonly actions: xstate.ActionFunction<{
1516
1527
  setting: RunSetting;
1517
1528
  step: Step;
@@ -1519,9 +1530,11 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1519
1530
  eventListener: (event: RunEvent) => Promise<void>;
1520
1531
  skillManagers: Record<string, BaseSkillManager>;
1521
1532
  }, _perstack_core.BaseEvent & {
1522
- type: "finishToolCall";
1533
+ type: "callDelegate";
1523
1534
  } & {
1524
- newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
1535
+ newMessage: _perstack_core.ExpertMessage;
1536
+ toolCall: _perstack_core.ToolCall;
1537
+ usage: _perstack_core.Usage;
1525
1538
  }, (_perstack_core.BaseEvent & {
1526
1539
  type: "startRun";
1527
1540
  } & {
@@ -1536,14 +1549,14 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1536
1549
  } & {
1537
1550
  reason: string;
1538
1551
  newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
1539
- toolCall?: _perstack_core.ToolCall;
1540
- toolResult?: _perstack_core.ToolResult;
1552
+ toolCalls?: _perstack_core.ToolCall[];
1553
+ toolResults?: _perstack_core.ToolResult[];
1541
1554
  usage: _perstack_core.Usage;
1542
1555
  }) | (_perstack_core.BaseEvent & {
1543
- type: "callTool";
1556
+ type: "callTools";
1544
1557
  } & {
1545
1558
  newMessage: _perstack_core.ExpertMessage;
1546
- toolCall: _perstack_core.ToolCall;
1559
+ toolCalls: _perstack_core.ToolCall[];
1547
1560
  usage: _perstack_core.Usage;
1548
1561
  }) | (_perstack_core.BaseEvent & {
1549
1562
  type: "callInteractiveTool";
@@ -1558,27 +1571,28 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1558
1571
  toolCall: _perstack_core.ToolCall;
1559
1572
  usage: _perstack_core.Usage;
1560
1573
  }) | (_perstack_core.BaseEvent & {
1561
- type: "resolveToolResult";
1574
+ type: "resolveToolResults";
1562
1575
  } & {
1563
- toolResult: _perstack_core.ToolResult;
1576
+ toolResults: _perstack_core.ToolResult[];
1564
1577
  }) | (_perstack_core.BaseEvent & {
1565
1578
  type: "resolveThought";
1566
1579
  } & {
1567
1580
  toolResult: _perstack_core.ToolResult;
1568
1581
  }) | (_perstack_core.BaseEvent & {
1569
- type: "resolvePdfFile";
1582
+ type: "attemptCompletion";
1570
1583
  } & {
1571
1584
  toolResult: _perstack_core.ToolResult;
1572
1585
  }) | (_perstack_core.BaseEvent & {
1573
- type: "resolveImageFile";
1586
+ type: "finishToolCall";
1574
1587
  } & {
1575
- toolResult: _perstack_core.ToolResult;
1588
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
1576
1589
  }) | (_perstack_core.BaseEvent & {
1577
- type: "attemptCompletion";
1590
+ type: "resumeToolCalls";
1578
1591
  } & {
1579
- toolResult: _perstack_core.ToolResult;
1592
+ pendingToolCalls: _perstack_core.ToolCall[];
1593
+ partialToolResults: _perstack_core.ToolResult[];
1580
1594
  }) | (_perstack_core.BaseEvent & {
1581
- type: "finishToolCall";
1595
+ type: "finishAllToolCalls";
1582
1596
  } & {
1583
1597
  newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
1584
1598
  }) | (_perstack_core.BaseEvent & {
@@ -1611,12 +1625,8 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1611
1625
  usage: _perstack_core.Usage;
1612
1626
  }), undefined, never, never, never, never, never>;
1613
1627
  };
1614
- };
1615
- };
1616
- readonly ResolvingThought: {
1617
- readonly on: {
1618
- readonly finishToolCall: {
1619
- readonly target: "FinishingStep";
1628
+ readonly callInteractiveTool: {
1629
+ readonly target: "CallingInteractiveTool";
1620
1630
  readonly actions: xstate.ActionFunction<{
1621
1631
  setting: RunSetting;
1622
1632
  step: Step;
@@ -1624,9 +1634,11 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1624
1634
  eventListener: (event: RunEvent) => Promise<void>;
1625
1635
  skillManagers: Record<string, BaseSkillManager>;
1626
1636
  }, _perstack_core.BaseEvent & {
1627
- type: "finishToolCall";
1637
+ type: "callInteractiveTool";
1628
1638
  } & {
1629
- newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
1639
+ newMessage: _perstack_core.ExpertMessage;
1640
+ toolCall: _perstack_core.ToolCall;
1641
+ usage: _perstack_core.Usage;
1630
1642
  }, (_perstack_core.BaseEvent & {
1631
1643
  type: "startRun";
1632
1644
  } & {
@@ -1641,14 +1653,14 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1641
1653
  } & {
1642
1654
  reason: string;
1643
1655
  newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
1644
- toolCall?: _perstack_core.ToolCall;
1645
- toolResult?: _perstack_core.ToolResult;
1656
+ toolCalls?: _perstack_core.ToolCall[];
1657
+ toolResults?: _perstack_core.ToolResult[];
1646
1658
  usage: _perstack_core.Usage;
1647
1659
  }) | (_perstack_core.BaseEvent & {
1648
- type: "callTool";
1660
+ type: "callTools";
1649
1661
  } & {
1650
1662
  newMessage: _perstack_core.ExpertMessage;
1651
- toolCall: _perstack_core.ToolCall;
1663
+ toolCalls: _perstack_core.ToolCall[];
1652
1664
  usage: _perstack_core.Usage;
1653
1665
  }) | (_perstack_core.BaseEvent & {
1654
1666
  type: "callInteractiveTool";
@@ -1663,27 +1675,28 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1663
1675
  toolCall: _perstack_core.ToolCall;
1664
1676
  usage: _perstack_core.Usage;
1665
1677
  }) | (_perstack_core.BaseEvent & {
1666
- type: "resolveToolResult";
1678
+ type: "resolveToolResults";
1667
1679
  } & {
1668
- toolResult: _perstack_core.ToolResult;
1680
+ toolResults: _perstack_core.ToolResult[];
1669
1681
  }) | (_perstack_core.BaseEvent & {
1670
1682
  type: "resolveThought";
1671
1683
  } & {
1672
1684
  toolResult: _perstack_core.ToolResult;
1673
1685
  }) | (_perstack_core.BaseEvent & {
1674
- type: "resolvePdfFile";
1686
+ type: "attemptCompletion";
1675
1687
  } & {
1676
1688
  toolResult: _perstack_core.ToolResult;
1677
1689
  }) | (_perstack_core.BaseEvent & {
1678
- type: "resolveImageFile";
1690
+ type: "finishToolCall";
1679
1691
  } & {
1680
- toolResult: _perstack_core.ToolResult;
1692
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
1681
1693
  }) | (_perstack_core.BaseEvent & {
1682
- type: "attemptCompletion";
1694
+ type: "resumeToolCalls";
1683
1695
  } & {
1684
- toolResult: _perstack_core.ToolResult;
1696
+ pendingToolCalls: _perstack_core.ToolCall[];
1697
+ partialToolResults: _perstack_core.ToolResult[];
1685
1698
  }) | (_perstack_core.BaseEvent & {
1686
- type: "finishToolCall";
1699
+ type: "finishAllToolCalls";
1687
1700
  } & {
1688
1701
  newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
1689
1702
  }) | (_perstack_core.BaseEvent & {
@@ -1718,7 +1731,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1718
1731
  };
1719
1732
  };
1720
1733
  };
1721
- readonly ResolvingPdfFile: {
1734
+ readonly ResolvingToolResult: {
1722
1735
  readonly on: {
1723
1736
  readonly finishToolCall: {
1724
1737
  readonly target: "FinishingStep";
@@ -1746,14 +1759,14 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1746
1759
  } & {
1747
1760
  reason: string;
1748
1761
  newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
1749
- toolCall?: _perstack_core.ToolCall;
1750
- toolResult?: _perstack_core.ToolResult;
1762
+ toolCalls?: _perstack_core.ToolCall[];
1763
+ toolResults?: _perstack_core.ToolResult[];
1751
1764
  usage: _perstack_core.Usage;
1752
1765
  }) | (_perstack_core.BaseEvent & {
1753
- type: "callTool";
1766
+ type: "callTools";
1754
1767
  } & {
1755
1768
  newMessage: _perstack_core.ExpertMessage;
1756
- toolCall: _perstack_core.ToolCall;
1769
+ toolCalls: _perstack_core.ToolCall[];
1757
1770
  usage: _perstack_core.Usage;
1758
1771
  }) | (_perstack_core.BaseEvent & {
1759
1772
  type: "callInteractiveTool";
@@ -1768,27 +1781,28 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1768
1781
  toolCall: _perstack_core.ToolCall;
1769
1782
  usage: _perstack_core.Usage;
1770
1783
  }) | (_perstack_core.BaseEvent & {
1771
- type: "resolveToolResult";
1784
+ type: "resolveToolResults";
1772
1785
  } & {
1773
- toolResult: _perstack_core.ToolResult;
1786
+ toolResults: _perstack_core.ToolResult[];
1774
1787
  }) | (_perstack_core.BaseEvent & {
1775
1788
  type: "resolveThought";
1776
1789
  } & {
1777
1790
  toolResult: _perstack_core.ToolResult;
1778
1791
  }) | (_perstack_core.BaseEvent & {
1779
- type: "resolvePdfFile";
1792
+ type: "attemptCompletion";
1780
1793
  } & {
1781
1794
  toolResult: _perstack_core.ToolResult;
1782
1795
  }) | (_perstack_core.BaseEvent & {
1783
- type: "resolveImageFile";
1796
+ type: "finishToolCall";
1784
1797
  } & {
1785
- toolResult: _perstack_core.ToolResult;
1798
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
1786
1799
  }) | (_perstack_core.BaseEvent & {
1787
- type: "attemptCompletion";
1800
+ type: "resumeToolCalls";
1788
1801
  } & {
1789
- toolResult: _perstack_core.ToolResult;
1802
+ pendingToolCalls: _perstack_core.ToolCall[];
1803
+ partialToolResults: _perstack_core.ToolResult[];
1790
1804
  }) | (_perstack_core.BaseEvent & {
1791
- type: "finishToolCall";
1805
+ type: "finishAllToolCalls";
1792
1806
  } & {
1793
1807
  newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
1794
1808
  }) | (_perstack_core.BaseEvent & {
@@ -1823,7 +1837,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1823
1837
  };
1824
1838
  };
1825
1839
  };
1826
- readonly ResolvingImageFile: {
1840
+ readonly ResolvingThought: {
1827
1841
  readonly on: {
1828
1842
  readonly finishToolCall: {
1829
1843
  readonly target: "FinishingStep";
@@ -1851,14 +1865,14 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1851
1865
  } & {
1852
1866
  reason: string;
1853
1867
  newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
1854
- toolCall?: _perstack_core.ToolCall;
1855
- toolResult?: _perstack_core.ToolResult;
1868
+ toolCalls?: _perstack_core.ToolCall[];
1869
+ toolResults?: _perstack_core.ToolResult[];
1856
1870
  usage: _perstack_core.Usage;
1857
1871
  }) | (_perstack_core.BaseEvent & {
1858
- type: "callTool";
1872
+ type: "callTools";
1859
1873
  } & {
1860
1874
  newMessage: _perstack_core.ExpertMessage;
1861
- toolCall: _perstack_core.ToolCall;
1875
+ toolCalls: _perstack_core.ToolCall[];
1862
1876
  usage: _perstack_core.Usage;
1863
1877
  }) | (_perstack_core.BaseEvent & {
1864
1878
  type: "callInteractiveTool";
@@ -1873,27 +1887,28 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1873
1887
  toolCall: _perstack_core.ToolCall;
1874
1888
  usage: _perstack_core.Usage;
1875
1889
  }) | (_perstack_core.BaseEvent & {
1876
- type: "resolveToolResult";
1890
+ type: "resolveToolResults";
1877
1891
  } & {
1878
- toolResult: _perstack_core.ToolResult;
1892
+ toolResults: _perstack_core.ToolResult[];
1879
1893
  }) | (_perstack_core.BaseEvent & {
1880
1894
  type: "resolveThought";
1881
1895
  } & {
1882
1896
  toolResult: _perstack_core.ToolResult;
1883
1897
  }) | (_perstack_core.BaseEvent & {
1884
- type: "resolvePdfFile";
1898
+ type: "attemptCompletion";
1885
1899
  } & {
1886
1900
  toolResult: _perstack_core.ToolResult;
1887
1901
  }) | (_perstack_core.BaseEvent & {
1888
- type: "resolveImageFile";
1902
+ type: "finishToolCall";
1889
1903
  } & {
1890
- toolResult: _perstack_core.ToolResult;
1904
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
1891
1905
  }) | (_perstack_core.BaseEvent & {
1892
- type: "attemptCompletion";
1906
+ type: "resumeToolCalls";
1893
1907
  } & {
1894
- toolResult: _perstack_core.ToolResult;
1908
+ pendingToolCalls: _perstack_core.ToolCall[];
1909
+ partialToolResults: _perstack_core.ToolResult[];
1895
1910
  }) | (_perstack_core.BaseEvent & {
1896
- type: "finishToolCall";
1911
+ type: "finishAllToolCalls";
1897
1912
  } & {
1898
1913
  newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
1899
1914
  }) | (_perstack_core.BaseEvent & {
@@ -1943,8 +1958,8 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1943
1958
  } & {
1944
1959
  reason: string;
1945
1960
  newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
1946
- toolCall?: _perstack_core.ToolCall;
1947
- toolResult?: _perstack_core.ToolResult;
1961
+ toolCalls?: _perstack_core.ToolCall[];
1962
+ toolResults?: _perstack_core.ToolResult[];
1948
1963
  usage: _perstack_core.Usage;
1949
1964
  }, (_perstack_core.BaseEvent & {
1950
1965
  type: "startRun";
@@ -1960,14 +1975,14 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1960
1975
  } & {
1961
1976
  reason: string;
1962
1977
  newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
1963
- toolCall?: _perstack_core.ToolCall;
1964
- toolResult?: _perstack_core.ToolResult;
1978
+ toolCalls?: _perstack_core.ToolCall[];
1979
+ toolResults?: _perstack_core.ToolResult[];
1965
1980
  usage: _perstack_core.Usage;
1966
1981
  }) | (_perstack_core.BaseEvent & {
1967
- type: "callTool";
1982
+ type: "callTools";
1968
1983
  } & {
1969
1984
  newMessage: _perstack_core.ExpertMessage;
1970
- toolCall: _perstack_core.ToolCall;
1985
+ toolCalls: _perstack_core.ToolCall[];
1971
1986
  usage: _perstack_core.Usage;
1972
1987
  }) | (_perstack_core.BaseEvent & {
1973
1988
  type: "callInteractiveTool";
@@ -1982,27 +1997,28 @@ declare const runtimeStateMachine: xstate.StateMachine<{
1982
1997
  toolCall: _perstack_core.ToolCall;
1983
1998
  usage: _perstack_core.Usage;
1984
1999
  }) | (_perstack_core.BaseEvent & {
1985
- type: "resolveToolResult";
2000
+ type: "resolveToolResults";
1986
2001
  } & {
1987
- toolResult: _perstack_core.ToolResult;
2002
+ toolResults: _perstack_core.ToolResult[];
1988
2003
  }) | (_perstack_core.BaseEvent & {
1989
2004
  type: "resolveThought";
1990
2005
  } & {
1991
2006
  toolResult: _perstack_core.ToolResult;
1992
2007
  }) | (_perstack_core.BaseEvent & {
1993
- type: "resolvePdfFile";
2008
+ type: "attemptCompletion";
1994
2009
  } & {
1995
2010
  toolResult: _perstack_core.ToolResult;
1996
2011
  }) | (_perstack_core.BaseEvent & {
1997
- type: "resolveImageFile";
2012
+ type: "finishToolCall";
1998
2013
  } & {
1999
- toolResult: _perstack_core.ToolResult;
2014
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
2000
2015
  }) | (_perstack_core.BaseEvent & {
2001
- type: "attemptCompletion";
2016
+ type: "resumeToolCalls";
2002
2017
  } & {
2003
- toolResult: _perstack_core.ToolResult;
2018
+ pendingToolCalls: _perstack_core.ToolCall[];
2019
+ partialToolResults: _perstack_core.ToolResult[];
2004
2020
  }) | (_perstack_core.BaseEvent & {
2005
- type: "finishToolCall";
2021
+ type: "finishAllToolCalls";
2006
2022
  } & {
2007
2023
  newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
2008
2024
  }) | (_perstack_core.BaseEvent & {
@@ -2064,14 +2080,14 @@ declare const runtimeStateMachine: xstate.StateMachine<{
2064
2080
  } & {
2065
2081
  reason: string;
2066
2082
  newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
2067
- toolCall?: _perstack_core.ToolCall;
2068
- toolResult?: _perstack_core.ToolResult;
2083
+ toolCalls?: _perstack_core.ToolCall[];
2084
+ toolResults?: _perstack_core.ToolResult[];
2069
2085
  usage: _perstack_core.Usage;
2070
2086
  }) | (_perstack_core.BaseEvent & {
2071
- type: "callTool";
2087
+ type: "callTools";
2072
2088
  } & {
2073
2089
  newMessage: _perstack_core.ExpertMessage;
2074
- toolCall: _perstack_core.ToolCall;
2090
+ toolCalls: _perstack_core.ToolCall[];
2075
2091
  usage: _perstack_core.Usage;
2076
2092
  }) | (_perstack_core.BaseEvent & {
2077
2093
  type: "callInteractiveTool";
@@ -2086,27 +2102,28 @@ declare const runtimeStateMachine: xstate.StateMachine<{
2086
2102
  toolCall: _perstack_core.ToolCall;
2087
2103
  usage: _perstack_core.Usage;
2088
2104
  }) | (_perstack_core.BaseEvent & {
2089
- type: "resolveToolResult";
2105
+ type: "resolveToolResults";
2090
2106
  } & {
2091
- toolResult: _perstack_core.ToolResult;
2107
+ toolResults: _perstack_core.ToolResult[];
2092
2108
  }) | (_perstack_core.BaseEvent & {
2093
2109
  type: "resolveThought";
2094
2110
  } & {
2095
2111
  toolResult: _perstack_core.ToolResult;
2096
2112
  }) | (_perstack_core.BaseEvent & {
2097
- type: "resolvePdfFile";
2113
+ type: "attemptCompletion";
2098
2114
  } & {
2099
2115
  toolResult: _perstack_core.ToolResult;
2100
2116
  }) | (_perstack_core.BaseEvent & {
2101
- type: "resolveImageFile";
2117
+ type: "finishToolCall";
2102
2118
  } & {
2103
- toolResult: _perstack_core.ToolResult;
2119
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
2104
2120
  }) | (_perstack_core.BaseEvent & {
2105
- type: "attemptCompletion";
2121
+ type: "resumeToolCalls";
2106
2122
  } & {
2107
- toolResult: _perstack_core.ToolResult;
2123
+ pendingToolCalls: _perstack_core.ToolCall[];
2124
+ partialToolResults: _perstack_core.ToolResult[];
2108
2125
  }) | (_perstack_core.BaseEvent & {
2109
- type: "finishToolCall";
2126
+ type: "finishAllToolCalls";
2110
2127
  } & {
2111
2128
  newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
2112
2129
  }) | (_perstack_core.BaseEvent & {
@@ -2170,14 +2187,14 @@ declare const runtimeStateMachine: xstate.StateMachine<{
2170
2187
  } & {
2171
2188
  reason: string;
2172
2189
  newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
2173
- toolCall?: _perstack_core.ToolCall;
2174
- toolResult?: _perstack_core.ToolResult;
2190
+ toolCalls?: _perstack_core.ToolCall[];
2191
+ toolResults?: _perstack_core.ToolResult[];
2175
2192
  usage: _perstack_core.Usage;
2176
2193
  }) | (_perstack_core.BaseEvent & {
2177
- type: "callTool";
2194
+ type: "callTools";
2178
2195
  } & {
2179
2196
  newMessage: _perstack_core.ExpertMessage;
2180
- toolCall: _perstack_core.ToolCall;
2197
+ toolCalls: _perstack_core.ToolCall[];
2181
2198
  usage: _perstack_core.Usage;
2182
2199
  }) | (_perstack_core.BaseEvent & {
2183
2200
  type: "callInteractiveTool";
@@ -2192,27 +2209,28 @@ declare const runtimeStateMachine: xstate.StateMachine<{
2192
2209
  toolCall: _perstack_core.ToolCall;
2193
2210
  usage: _perstack_core.Usage;
2194
2211
  }) | (_perstack_core.BaseEvent & {
2195
- type: "resolveToolResult";
2212
+ type: "resolveToolResults";
2196
2213
  } & {
2197
- toolResult: _perstack_core.ToolResult;
2214
+ toolResults: _perstack_core.ToolResult[];
2198
2215
  }) | (_perstack_core.BaseEvent & {
2199
2216
  type: "resolveThought";
2200
2217
  } & {
2201
2218
  toolResult: _perstack_core.ToolResult;
2202
2219
  }) | (_perstack_core.BaseEvent & {
2203
- type: "resolvePdfFile";
2220
+ type: "attemptCompletion";
2204
2221
  } & {
2205
2222
  toolResult: _perstack_core.ToolResult;
2206
2223
  }) | (_perstack_core.BaseEvent & {
2207
- type: "resolveImageFile";
2224
+ type: "finishToolCall";
2208
2225
  } & {
2209
- toolResult: _perstack_core.ToolResult;
2226
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
2210
2227
  }) | (_perstack_core.BaseEvent & {
2211
- type: "attemptCompletion";
2228
+ type: "resumeToolCalls";
2212
2229
  } & {
2213
- toolResult: _perstack_core.ToolResult;
2230
+ pendingToolCalls: _perstack_core.ToolCall[];
2231
+ partialToolResults: _perstack_core.ToolResult[];
2214
2232
  }) | (_perstack_core.BaseEvent & {
2215
- type: "finishToolCall";
2233
+ type: "finishAllToolCalls";
2216
2234
  } & {
2217
2235
  newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
2218
2236
  }) | (_perstack_core.BaseEvent & {
@@ -2276,14 +2294,14 @@ declare const runtimeStateMachine: xstate.StateMachine<{
2276
2294
  } & {
2277
2295
  reason: string;
2278
2296
  newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
2279
- toolCall?: _perstack_core.ToolCall;
2280
- toolResult?: _perstack_core.ToolResult;
2297
+ toolCalls?: _perstack_core.ToolCall[];
2298
+ toolResults?: _perstack_core.ToolResult[];
2281
2299
  usage: _perstack_core.Usage;
2282
2300
  }) | (_perstack_core.BaseEvent & {
2283
- type: "callTool";
2301
+ type: "callTools";
2284
2302
  } & {
2285
2303
  newMessage: _perstack_core.ExpertMessage;
2286
- toolCall: _perstack_core.ToolCall;
2304
+ toolCalls: _perstack_core.ToolCall[];
2287
2305
  usage: _perstack_core.Usage;
2288
2306
  }) | (_perstack_core.BaseEvent & {
2289
2307
  type: "callInteractiveTool";
@@ -2298,27 +2316,28 @@ declare const runtimeStateMachine: xstate.StateMachine<{
2298
2316
  toolCall: _perstack_core.ToolCall;
2299
2317
  usage: _perstack_core.Usage;
2300
2318
  }) | (_perstack_core.BaseEvent & {
2301
- type: "resolveToolResult";
2319
+ type: "resolveToolResults";
2302
2320
  } & {
2303
- toolResult: _perstack_core.ToolResult;
2321
+ toolResults: _perstack_core.ToolResult[];
2304
2322
  }) | (_perstack_core.BaseEvent & {
2305
2323
  type: "resolveThought";
2306
2324
  } & {
2307
2325
  toolResult: _perstack_core.ToolResult;
2308
2326
  }) | (_perstack_core.BaseEvent & {
2309
- type: "resolvePdfFile";
2327
+ type: "attemptCompletion";
2310
2328
  } & {
2311
2329
  toolResult: _perstack_core.ToolResult;
2312
2330
  }) | (_perstack_core.BaseEvent & {
2313
- type: "resolveImageFile";
2331
+ type: "finishToolCall";
2314
2332
  } & {
2315
- toolResult: _perstack_core.ToolResult;
2333
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
2316
2334
  }) | (_perstack_core.BaseEvent & {
2317
- type: "attemptCompletion";
2335
+ type: "resumeToolCalls";
2318
2336
  } & {
2319
- toolResult: _perstack_core.ToolResult;
2337
+ pendingToolCalls: _perstack_core.ToolCall[];
2338
+ partialToolResults: _perstack_core.ToolResult[];
2320
2339
  }) | (_perstack_core.BaseEvent & {
2321
- type: "finishToolCall";
2340
+ type: "finishAllToolCalls";
2322
2341
  } & {
2323
2342
  newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
2324
2343
  }) | (_perstack_core.BaseEvent & {
@@ -2383,14 +2402,14 @@ declare const runtimeStateMachine: xstate.StateMachine<{
2383
2402
  } & {
2384
2403
  reason: string;
2385
2404
  newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
2386
- toolCall?: _perstack_core.ToolCall;
2387
- toolResult?: _perstack_core.ToolResult;
2405
+ toolCalls?: _perstack_core.ToolCall[];
2406
+ toolResults?: _perstack_core.ToolResult[];
2388
2407
  usage: _perstack_core.Usage;
2389
2408
  }) | (_perstack_core.BaseEvent & {
2390
- type: "callTool";
2409
+ type: "callTools";
2391
2410
  } & {
2392
2411
  newMessage: _perstack_core.ExpertMessage;
2393
- toolCall: _perstack_core.ToolCall;
2412
+ toolCalls: _perstack_core.ToolCall[];
2394
2413
  usage: _perstack_core.Usage;
2395
2414
  }) | (_perstack_core.BaseEvent & {
2396
2415
  type: "callInteractiveTool";
@@ -2405,27 +2424,28 @@ declare const runtimeStateMachine: xstate.StateMachine<{
2405
2424
  toolCall: _perstack_core.ToolCall;
2406
2425
  usage: _perstack_core.Usage;
2407
2426
  }) | (_perstack_core.BaseEvent & {
2408
- type: "resolveToolResult";
2427
+ type: "resolveToolResults";
2409
2428
  } & {
2410
- toolResult: _perstack_core.ToolResult;
2429
+ toolResults: _perstack_core.ToolResult[];
2411
2430
  }) | (_perstack_core.BaseEvent & {
2412
2431
  type: "resolveThought";
2413
2432
  } & {
2414
2433
  toolResult: _perstack_core.ToolResult;
2415
2434
  }) | (_perstack_core.BaseEvent & {
2416
- type: "resolvePdfFile";
2435
+ type: "attemptCompletion";
2417
2436
  } & {
2418
2437
  toolResult: _perstack_core.ToolResult;
2419
2438
  }) | (_perstack_core.BaseEvent & {
2420
- type: "resolveImageFile";
2439
+ type: "finishToolCall";
2421
2440
  } & {
2422
- toolResult: _perstack_core.ToolResult;
2441
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
2423
2442
  }) | (_perstack_core.BaseEvent & {
2424
- type: "attemptCompletion";
2443
+ type: "resumeToolCalls";
2425
2444
  } & {
2426
- toolResult: _perstack_core.ToolResult;
2445
+ pendingToolCalls: _perstack_core.ToolCall[];
2446
+ partialToolResults: _perstack_core.ToolResult[];
2427
2447
  }) | (_perstack_core.BaseEvent & {
2428
- type: "finishToolCall";
2448
+ type: "finishAllToolCalls";
2429
2449
  } & {
2430
2450
  newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
2431
2451
  }) | (_perstack_core.BaseEvent & {
@@ -2486,14 +2506,14 @@ declare const runtimeStateMachine: xstate.StateMachine<{
2486
2506
  } & {
2487
2507
  reason: string;
2488
2508
  newMessages: (_perstack_core.UserMessage | _perstack_core.ExpertMessage | _perstack_core.ToolMessage)[];
2489
- toolCall?: _perstack_core.ToolCall;
2490
- toolResult?: _perstack_core.ToolResult;
2509
+ toolCalls?: _perstack_core.ToolCall[];
2510
+ toolResults?: _perstack_core.ToolResult[];
2491
2511
  usage: _perstack_core.Usage;
2492
2512
  }) | (_perstack_core.BaseEvent & {
2493
- type: "callTool";
2513
+ type: "callTools";
2494
2514
  } & {
2495
2515
  newMessage: _perstack_core.ExpertMessage;
2496
- toolCall: _perstack_core.ToolCall;
2516
+ toolCalls: _perstack_core.ToolCall[];
2497
2517
  usage: _perstack_core.Usage;
2498
2518
  }) | (_perstack_core.BaseEvent & {
2499
2519
  type: "callInteractiveTool";
@@ -2508,27 +2528,28 @@ declare const runtimeStateMachine: xstate.StateMachine<{
2508
2528
  toolCall: _perstack_core.ToolCall;
2509
2529
  usage: _perstack_core.Usage;
2510
2530
  }) | (_perstack_core.BaseEvent & {
2511
- type: "resolveToolResult";
2531
+ type: "resolveToolResults";
2512
2532
  } & {
2513
- toolResult: _perstack_core.ToolResult;
2533
+ toolResults: _perstack_core.ToolResult[];
2514
2534
  }) | (_perstack_core.BaseEvent & {
2515
2535
  type: "resolveThought";
2516
2536
  } & {
2517
2537
  toolResult: _perstack_core.ToolResult;
2518
2538
  }) | (_perstack_core.BaseEvent & {
2519
- type: "resolvePdfFile";
2539
+ type: "attemptCompletion";
2520
2540
  } & {
2521
2541
  toolResult: _perstack_core.ToolResult;
2522
2542
  }) | (_perstack_core.BaseEvent & {
2523
- type: "resolveImageFile";
2543
+ type: "finishToolCall";
2524
2544
  } & {
2525
- toolResult: _perstack_core.ToolResult;
2545
+ newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
2526
2546
  }) | (_perstack_core.BaseEvent & {
2527
- type: "attemptCompletion";
2547
+ type: "resumeToolCalls";
2528
2548
  } & {
2529
- toolResult: _perstack_core.ToolResult;
2549
+ pendingToolCalls: _perstack_core.ToolCall[];
2550
+ partialToolResults: _perstack_core.ToolResult[];
2530
2551
  }) | (_perstack_core.BaseEvent & {
2531
- type: "finishToolCall";
2552
+ type: "finishAllToolCalls";
2532
2553
  } & {
2533
2554
  newMessages: (_perstack_core.UserMessage | _perstack_core.ToolMessage)[];
2534
2555
  }) | (_perstack_core.BaseEvent & {