@perstack/runtime 0.0.19 → 0.0.20

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.d.ts CHANGED
@@ -4081,6 +4081,7 @@ type RunSetting = z.infer<typeof RunParamsSchema.shape.setting>;
4081
4081
  type RunInput = z.infer<typeof RunParamsSchema.shape.setting.shape.input>;
4082
4082
  type Step = {
4083
4083
  stepNumber: number;
4084
+ inputMessages?: (InstructionMessage | UserMessage | ToolMessage)[];
4084
4085
  newMessages: Message[];
4085
4086
  toolCall?: ToolCall;
4086
4087
  toolResult?: ToolResult;
@@ -4109,7 +4110,7 @@ type ToolResult = {
4109
4110
  type ExpertEventPayloads = {
4110
4111
  startRun: {
4111
4112
  initialCheckpoint: Checkpoint;
4112
- inputMessages: Message[];
4113
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
4113
4114
  };
4114
4115
  startGeneration: {
4115
4116
  messages: Message[];
@@ -4196,12 +4197,12 @@ declare const startRun: (setting: RunSetting, checkpoint: Checkpoint, data: Omit
4196
4197
  type: "startRun";
4197
4198
  } & {
4198
4199
  initialCheckpoint: Checkpoint;
4199
- inputMessages: Message[];
4200
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
4200
4201
  }, "id" | "type" | "runId" | "stepNumber" | "expertKey" | "timestamp">) => BaseEvent & {
4201
4202
  type: "startRun";
4202
4203
  } & {
4203
4204
  initialCheckpoint: Checkpoint;
4204
- inputMessages: Message[];
4205
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
4205
4206
  };
4206
4207
  declare const startGeneration: (setting: RunSetting, checkpoint: Checkpoint, data: Omit<BaseEvent & {
4207
4208
  type: "startGeneration";
@@ -4379,6 +4380,7 @@ declare const continueToNextStep: (setting: RunSetting, checkpoint: Checkpoint,
4379
4380
  };
4380
4381
 
4381
4382
  declare function run(runInput: RunParamsInput, options?: {
4383
+ shouldContinueRun?: (setting: RunSetting, checkpoint: Checkpoint, step: Step) => Promise<boolean>;
4382
4384
  retrieveCheckpoint?: (checkpointId: string) => Promise<Checkpoint>;
4383
4385
  storeCheckpoint?: (checkpoint: Checkpoint, timestamp: number) => Promise<void>;
4384
4386
  eventListener?: (event: RunEvent) => Promise<void>;
@@ -4437,7 +4439,7 @@ declare class SkillManager {
4437
4439
 
4438
4440
  declare const runtimeStateMachine: xstate.StateMachine<{
4439
4441
  setting: RunSetting;
4440
- step?: Step;
4442
+ step: Step;
4441
4443
  checkpoint: Checkpoint;
4442
4444
  eventListener: (event: RunEvent) => Promise<void>;
4443
4445
  skillManagers: Record<string, SkillManager>;
@@ -4451,7 +4453,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
4451
4453
  type: "startRun";
4452
4454
  } & {
4453
4455
  initialCheckpoint: Checkpoint;
4454
- inputMessages: Message[];
4456
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
4455
4457
  }) | ({
4456
4458
  id: string;
4457
4459
  expertKey: string;
@@ -4654,7 +4656,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
4654
4656
  };
4655
4657
  self: xstate.ActorRef<xstate.MachineSnapshot<{
4656
4658
  setting: RunSetting;
4657
- step?: Step;
4659
+ step: Step;
4658
4660
  checkpoint: Checkpoint;
4659
4661
  eventListener: (event: RunEvent) => Promise<void>;
4660
4662
  skillManagers: Record<string, SkillManager>;
@@ -4668,7 +4670,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
4668
4670
  type: "startRun";
4669
4671
  } & {
4670
4672
  initialCheckpoint: Checkpoint;
4671
- inputMessages: Message[];
4673
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
4672
4674
  }) | ({
4673
4675
  id: string;
4674
4676
  expertKey: string;
@@ -4854,7 +4856,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
4854
4856
  type: "startRun";
4855
4857
  } & {
4856
4858
  initialCheckpoint: Checkpoint;
4857
- inputMessages: Message[];
4859
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
4858
4860
  }) | ({
4859
4861
  id: string;
4860
4862
  expertKey: string;
@@ -5219,6 +5221,19 @@ declare const runtimeStateMachine: xstate.StateMachine<{
5219
5221
  checkpointId: string;
5220
5222
  } | undefined;
5221
5223
  };
5224
+ step: {
5225
+ stepNumber: number;
5226
+ inputMessages: never[];
5227
+ newMessages: never[];
5228
+ usage: {
5229
+ promptTokens: number;
5230
+ completionTokens: number;
5231
+ totalTokens: number;
5232
+ cacheCreationInputTokens: number;
5233
+ cacheReadInputTokens: number;
5234
+ };
5235
+ startedAt: number;
5236
+ };
5222
5237
  eventListener: (event: RunEvent) => Promise<void>;
5223
5238
  skillManagers: Record<string, SkillManager>;
5224
5239
  };
@@ -5229,7 +5244,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
5229
5244
  readonly target: "PreparingForStep";
5230
5245
  readonly actions: xstate.ActionFunction<{
5231
5246
  setting: RunSetting;
5232
- step?: Step;
5247
+ step: Step;
5233
5248
  checkpoint: Checkpoint;
5234
5249
  eventListener: (event: RunEvent) => Promise<void>;
5235
5250
  skillManagers: Record<string, SkillManager>;
@@ -5243,7 +5258,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
5243
5258
  type: "startRun";
5244
5259
  } & {
5245
5260
  initialCheckpoint: Checkpoint;
5246
- inputMessages: Message[];
5261
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
5247
5262
  }, ({
5248
5263
  id: string;
5249
5264
  expertKey: string;
@@ -5254,7 +5269,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
5254
5269
  type: "startRun";
5255
5270
  } & {
5256
5271
  initialCheckpoint: Checkpoint;
5257
- inputMessages: Message[];
5272
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
5258
5273
  }) | ({
5259
5274
  id: string;
5260
5275
  expertKey: string;
@@ -5440,7 +5455,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
5440
5455
  readonly target: "GeneratingToolCall";
5441
5456
  readonly actions: xstate.ActionFunction<{
5442
5457
  setting: RunSetting;
5443
- step?: Step;
5458
+ step: Step;
5444
5459
  checkpoint: Checkpoint;
5445
5460
  eventListener: (event: RunEvent) => Promise<void>;
5446
5461
  skillManagers: Record<string, SkillManager>;
@@ -5464,7 +5479,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
5464
5479
  type: "startRun";
5465
5480
  } & {
5466
5481
  initialCheckpoint: Checkpoint;
5467
- inputMessages: Message[];
5482
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
5468
5483
  }) | ({
5469
5484
  id: string;
5470
5485
  expertKey: string;
@@ -5650,7 +5665,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
5650
5665
  readonly target: "FinishingStep";
5651
5666
  readonly actions: xstate.ActionFunction<{
5652
5667
  setting: RunSetting;
5653
- step?: Step;
5668
+ step: Step;
5654
5669
  checkpoint: Checkpoint;
5655
5670
  eventListener: (event: RunEvent) => Promise<void>;
5656
5671
  skillManagers: Record<string, SkillManager>;
@@ -5675,7 +5690,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
5675
5690
  type: "startRun";
5676
5691
  } & {
5677
5692
  initialCheckpoint: Checkpoint;
5678
- inputMessages: Message[];
5693
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
5679
5694
  }) | ({
5680
5695
  id: string;
5681
5696
  expertKey: string;
@@ -5857,7 +5872,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
5857
5872
  readonly target: "CallingTool";
5858
5873
  readonly actions: xstate.ActionFunction<{
5859
5874
  setting: RunSetting;
5860
- step?: Step;
5875
+ step: Step;
5861
5876
  checkpoint: Checkpoint;
5862
5877
  eventListener: (event: RunEvent) => Promise<void>;
5863
5878
  skillManagers: Record<string, SkillManager>;
@@ -5883,7 +5898,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
5883
5898
  type: "startRun";
5884
5899
  } & {
5885
5900
  initialCheckpoint: Checkpoint;
5886
- inputMessages: Message[];
5901
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
5887
5902
  }) | ({
5888
5903
  id: string;
5889
5904
  expertKey: string;
@@ -6065,7 +6080,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
6065
6080
  readonly target: "CallingInteractiveTool";
6066
6081
  readonly actions: xstate.ActionFunction<{
6067
6082
  setting: RunSetting;
6068
- step?: Step;
6083
+ step: Step;
6069
6084
  checkpoint: Checkpoint;
6070
6085
  eventListener: (event: RunEvent) => Promise<void>;
6071
6086
  skillManagers: Record<string, SkillManager>;
@@ -6091,7 +6106,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
6091
6106
  type: "startRun";
6092
6107
  } & {
6093
6108
  initialCheckpoint: Checkpoint;
6094
- inputMessages: Message[];
6109
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
6095
6110
  }) | ({
6096
6111
  id: string;
6097
6112
  expertKey: string;
@@ -6273,7 +6288,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
6273
6288
  readonly target: "CallingDelegate";
6274
6289
  readonly actions: xstate.ActionFunction<{
6275
6290
  setting: RunSetting;
6276
- step?: Step;
6291
+ step: Step;
6277
6292
  checkpoint: Checkpoint;
6278
6293
  eventListener: (event: RunEvent) => Promise<void>;
6279
6294
  skillManagers: Record<string, SkillManager>;
@@ -6299,7 +6314,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
6299
6314
  type: "startRun";
6300
6315
  } & {
6301
6316
  initialCheckpoint: Checkpoint;
6302
- inputMessages: Message[];
6317
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
6303
6318
  }) | ({
6304
6319
  id: string;
6305
6320
  expertKey: string;
@@ -6485,7 +6500,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
6485
6500
  readonly target: "ResolvingToolResult";
6486
6501
  readonly actions: xstate.ActionFunction<{
6487
6502
  setting: RunSetting;
6488
- step?: Step;
6503
+ step: Step;
6489
6504
  checkpoint: Checkpoint;
6490
6505
  eventListener: (event: RunEvent) => Promise<void>;
6491
6506
  skillManagers: Record<string, SkillManager>;
@@ -6509,7 +6524,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
6509
6524
  type: "startRun";
6510
6525
  } & {
6511
6526
  initialCheckpoint: Checkpoint;
6512
- inputMessages: Message[];
6527
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
6513
6528
  }) | ({
6514
6529
  id: string;
6515
6530
  expertKey: string;
@@ -6691,7 +6706,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
6691
6706
  readonly target: "ResolvingThought";
6692
6707
  readonly actions: xstate.ActionFunction<{
6693
6708
  setting: RunSetting;
6694
- step?: Step;
6709
+ step: Step;
6695
6710
  checkpoint: Checkpoint;
6696
6711
  eventListener: (event: RunEvent) => Promise<void>;
6697
6712
  skillManagers: Record<string, SkillManager>;
@@ -6715,7 +6730,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
6715
6730
  type: "startRun";
6716
6731
  } & {
6717
6732
  initialCheckpoint: Checkpoint;
6718
- inputMessages: Message[];
6733
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
6719
6734
  }) | ({
6720
6735
  id: string;
6721
6736
  expertKey: string;
@@ -6897,7 +6912,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
6897
6912
  readonly target: "ResolvingPdfFile";
6898
6913
  readonly actions: xstate.ActionFunction<{
6899
6914
  setting: RunSetting;
6900
- step?: Step;
6915
+ step: Step;
6901
6916
  checkpoint: Checkpoint;
6902
6917
  eventListener: (event: RunEvent) => Promise<void>;
6903
6918
  skillManagers: Record<string, SkillManager>;
@@ -6921,7 +6936,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
6921
6936
  type: "startRun";
6922
6937
  } & {
6923
6938
  initialCheckpoint: Checkpoint;
6924
- inputMessages: Message[];
6939
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
6925
6940
  }) | ({
6926
6941
  id: string;
6927
6942
  expertKey: string;
@@ -7103,7 +7118,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
7103
7118
  readonly target: "ResolvingImageFile";
7104
7119
  readonly actions: xstate.ActionFunction<{
7105
7120
  setting: RunSetting;
7106
- step?: Step;
7121
+ step: Step;
7107
7122
  checkpoint: Checkpoint;
7108
7123
  eventListener: (event: RunEvent) => Promise<void>;
7109
7124
  skillManagers: Record<string, SkillManager>;
@@ -7127,7 +7142,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
7127
7142
  type: "startRun";
7128
7143
  } & {
7129
7144
  initialCheckpoint: Checkpoint;
7130
- inputMessages: Message[];
7145
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
7131
7146
  }) | ({
7132
7147
  id: string;
7133
7148
  expertKey: string;
@@ -7309,7 +7324,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
7309
7324
  readonly target: "GeneratingRunResult";
7310
7325
  readonly actions: xstate.ActionFunction<{
7311
7326
  setting: RunSetting;
7312
- step?: Step;
7327
+ step: Step;
7313
7328
  checkpoint: Checkpoint;
7314
7329
  eventListener: (event: RunEvent) => Promise<void>;
7315
7330
  skillManagers: Record<string, SkillManager>;
@@ -7333,7 +7348,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
7333
7348
  type: "startRun";
7334
7349
  } & {
7335
7350
  initialCheckpoint: Checkpoint;
7336
- inputMessages: Message[];
7351
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
7337
7352
  }) | ({
7338
7353
  id: string;
7339
7354
  expertKey: string;
@@ -7519,7 +7534,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
7519
7534
  readonly target: "FinishingStep";
7520
7535
  readonly actions: xstate.ActionFunction<{
7521
7536
  setting: RunSetting;
7522
- step?: Step;
7537
+ step: Step;
7523
7538
  checkpoint: Checkpoint;
7524
7539
  eventListener: (event: RunEvent) => Promise<void>;
7525
7540
  skillManagers: Record<string, SkillManager>;
@@ -7543,7 +7558,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
7543
7558
  type: "startRun";
7544
7559
  } & {
7545
7560
  initialCheckpoint: Checkpoint;
7546
- inputMessages: Message[];
7561
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
7547
7562
  }) | ({
7548
7563
  id: string;
7549
7564
  expertKey: string;
@@ -7729,7 +7744,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
7729
7744
  readonly target: "FinishingStep";
7730
7745
  readonly actions: xstate.ActionFunction<{
7731
7746
  setting: RunSetting;
7732
- step?: Step;
7747
+ step: Step;
7733
7748
  checkpoint: Checkpoint;
7734
7749
  eventListener: (event: RunEvent) => Promise<void>;
7735
7750
  skillManagers: Record<string, SkillManager>;
@@ -7753,7 +7768,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
7753
7768
  type: "startRun";
7754
7769
  } & {
7755
7770
  initialCheckpoint: Checkpoint;
7756
- inputMessages: Message[];
7771
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
7757
7772
  }) | ({
7758
7773
  id: string;
7759
7774
  expertKey: string;
@@ -7939,7 +7954,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
7939
7954
  readonly target: "FinishingStep";
7940
7955
  readonly actions: xstate.ActionFunction<{
7941
7956
  setting: RunSetting;
7942
- step?: Step;
7957
+ step: Step;
7943
7958
  checkpoint: Checkpoint;
7944
7959
  eventListener: (event: RunEvent) => Promise<void>;
7945
7960
  skillManagers: Record<string, SkillManager>;
@@ -7963,7 +7978,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
7963
7978
  type: "startRun";
7964
7979
  } & {
7965
7980
  initialCheckpoint: Checkpoint;
7966
- inputMessages: Message[];
7981
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
7967
7982
  }) | ({
7968
7983
  id: string;
7969
7984
  expertKey: string;
@@ -8149,7 +8164,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
8149
8164
  readonly target: "FinishingStep";
8150
8165
  readonly actions: xstate.ActionFunction<{
8151
8166
  setting: RunSetting;
8152
- step?: Step;
8167
+ step: Step;
8153
8168
  checkpoint: Checkpoint;
8154
8169
  eventListener: (event: RunEvent) => Promise<void>;
8155
8170
  skillManagers: Record<string, SkillManager>;
@@ -8173,7 +8188,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
8173
8188
  type: "startRun";
8174
8189
  } & {
8175
8190
  initialCheckpoint: Checkpoint;
8176
- inputMessages: Message[];
8191
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
8177
8192
  }) | ({
8178
8193
  id: string;
8179
8194
  expertKey: string;
@@ -8359,7 +8374,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
8359
8374
  readonly target: "Stopped";
8360
8375
  readonly actions: xstate.ActionFunction<{
8361
8376
  setting: RunSetting;
8362
- step?: Step;
8377
+ step: Step;
8363
8378
  checkpoint: Checkpoint;
8364
8379
  eventListener: (event: RunEvent) => Promise<void>;
8365
8380
  skillManagers: Record<string, SkillManager>;
@@ -8386,7 +8401,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
8386
8401
  type: "startRun";
8387
8402
  } & {
8388
8403
  initialCheckpoint: Checkpoint;
8389
- inputMessages: Message[];
8404
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
8390
8405
  }) | ({
8391
8406
  id: string;
8392
8407
  expertKey: string;
@@ -8572,7 +8587,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
8572
8587
  readonly target: "Stopped";
8573
8588
  readonly actions: xstate.ActionFunction<{
8574
8589
  setting: RunSetting;
8575
- step?: Step;
8590
+ step: Step;
8576
8591
  checkpoint: Checkpoint;
8577
8592
  eventListener: (event: RunEvent) => Promise<void>;
8578
8593
  skillManagers: Record<string, SkillManager>;
@@ -8597,7 +8612,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
8597
8612
  type: "startRun";
8598
8613
  } & {
8599
8614
  initialCheckpoint: Checkpoint;
8600
- inputMessages: Message[];
8615
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
8601
8616
  }) | ({
8602
8617
  id: string;
8603
8618
  expertKey: string;
@@ -8783,7 +8798,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
8783
8798
  readonly target: "Stopped";
8784
8799
  readonly actions: xstate.ActionFunction<{
8785
8800
  setting: RunSetting;
8786
- step?: Step;
8801
+ step: Step;
8787
8802
  checkpoint: Checkpoint;
8788
8803
  eventListener: (event: RunEvent) => Promise<void>;
8789
8804
  skillManagers: Record<string, SkillManager>;
@@ -8808,7 +8823,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
8808
8823
  type: "startRun";
8809
8824
  } & {
8810
8825
  initialCheckpoint: Checkpoint;
8811
- inputMessages: Message[];
8826
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
8812
8827
  }) | ({
8813
8828
  id: string;
8814
8829
  expertKey: string;
@@ -8994,7 +9009,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
8994
9009
  readonly target: "PreparingForStep";
8995
9010
  readonly actions: xstate.ActionFunction<{
8996
9011
  setting: RunSetting;
8997
- step?: Step;
9012
+ step: Step;
8998
9013
  checkpoint: Checkpoint;
8999
9014
  eventListener: (event: RunEvent) => Promise<void>;
9000
9015
  skillManagers: Record<string, SkillManager>;
@@ -9020,7 +9035,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
9020
9035
  type: "startRun";
9021
9036
  } & {
9022
9037
  initialCheckpoint: Checkpoint;
9023
- inputMessages: Message[];
9038
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
9024
9039
  }) | ({
9025
9040
  id: string;
9026
9041
  expertKey: string;
@@ -9203,7 +9218,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
9203
9218
  readonly target: "Stopped";
9204
9219
  readonly actions: xstate.ActionFunction<{
9205
9220
  setting: RunSetting;
9206
- step?: Step;
9221
+ step: Step;
9207
9222
  checkpoint: Checkpoint;
9208
9223
  eventListener: (event: RunEvent) => Promise<void>;
9209
9224
  skillManagers: Record<string, SkillManager>;
@@ -9228,7 +9243,7 @@ declare const runtimeStateMachine: xstate.StateMachine<{
9228
9243
  type: "startRun";
9229
9244
  } & {
9230
9245
  initialCheckpoint: Checkpoint;
9231
- inputMessages: Message[];
9246
+ inputMessages: (InstructionMessage | UserMessage | ToolMessage)[];
9232
9247
  }) | ({
9233
9248
  id: string;
9234
9249
  expertKey: string;
package/dist/index.js CHANGED
@@ -463,7 +463,7 @@ async function defaultStoreEvent(event) {
463
463
  // package.json
464
464
  var package_default = {
465
465
  name: "@perstack/runtime",
466
- version: "0.0.19",
466
+ version: "0.0.20",
467
467
  description: "PerStack Runtime",
468
468
  author: "Wintermute Technologies, Inc.",
469
469
  license: "Apache-2.0",
@@ -1776,33 +1776,48 @@ async function initLogic({
1776
1776
  const { expertKey, experts } = setting;
1777
1777
  const expert = experts[expertKey];
1778
1778
  switch (checkpoint.status) {
1779
- case "init":
1779
+ case "init": {
1780
+ if (!setting.input.text) {
1781
+ throw new Error("Input message is undefined");
1782
+ }
1780
1783
  return startRun(setting, checkpoint, {
1781
1784
  initialCheckpoint: checkpoint,
1782
- inputMessages: [createInstructionMessage(expert, experts), getInputMessage(setting.input)]
1785
+ inputMessages: [
1786
+ createInstructionMessage(expert, experts),
1787
+ createUserMessage([{ type: "textPart", text: setting.input.text }])
1788
+ ]
1783
1789
  });
1784
- default:
1790
+ }
1791
+ case "proceeding": {
1792
+ if (!setting.input.text) {
1793
+ throw new Error("Input message is undefined");
1794
+ }
1785
1795
  return startRun(setting, checkpoint, {
1786
1796
  initialCheckpoint: checkpoint,
1787
- inputMessages: [getInputMessage(setting.input)]
1797
+ inputMessages: [createUserMessage([{ type: "textPart", text: setting.input.text }])]
1788
1798
  });
1789
- }
1790
- }
1791
- function getInputMessage(input) {
1792
- if (input.text) {
1793
- return createUserMessage([{ type: "textPart", text: input.text }]);
1794
- }
1795
- if (input.interactiveToolCallResult) {
1796
- return createToolMessage([
1797
- {
1798
- type: "toolResultPart",
1799
- toolCallId: input.interactiveToolCallResult.toolCallId,
1800
- toolName: input.interactiveToolCallResult.toolName,
1801
- contents: [{ type: "textPart", text: input.interactiveToolCallResult.text }]
1799
+ }
1800
+ case "stoppedByInteractiveTool": {
1801
+ if (!setting.input.interactiveToolCallResult) {
1802
+ throw new Error("Interactive tool call result is undefined");
1802
1803
  }
1803
- ]);
1804
+ return startRun(setting, checkpoint, {
1805
+ initialCheckpoint: checkpoint,
1806
+ inputMessages: [
1807
+ createToolMessage([
1808
+ {
1809
+ type: "toolResultPart",
1810
+ toolCallId: setting.input.interactiveToolCallResult.toolCallId,
1811
+ toolName: setting.input.interactiveToolCallResult.toolName,
1812
+ contents: [{ type: "textPart", text: setting.input.interactiveToolCallResult.text }]
1813
+ }
1814
+ ])
1815
+ ]
1816
+ });
1817
+ }
1818
+ default:
1819
+ throw new Error(`Unexpected checkpoint status: ${checkpoint.status}`);
1804
1820
  }
1805
- throw new Error("Input message is undefined");
1806
1821
  }
1807
1822
 
1808
1823
  // src/states/preparing-for-step.ts
@@ -1969,6 +1984,13 @@ var runtimeStateMachine = setup({
1969
1984
  context: ({ input }) => ({
1970
1985
  setting: input.setting,
1971
1986
  checkpoint: input.initialCheckpoint,
1987
+ step: {
1988
+ stepNumber: input.initialCheckpoint.stepNumber,
1989
+ inputMessages: [],
1990
+ newMessages: [],
1991
+ usage: createEmptyUsage(),
1992
+ startedAt: Date.now()
1993
+ },
1972
1994
  eventListener: input.eventListener,
1973
1995
  skillManagers: input.skillManagers
1974
1996
  }),
@@ -1982,6 +2004,13 @@ var runtimeStateMachine = setup({
1982
2004
  ...event.initialCheckpoint,
1983
2005
  messages: [...event.initialCheckpoint.messages, ...event.inputMessages],
1984
2006
  status: "proceeding"
2007
+ }),
2008
+ step: ({ event }) => ({
2009
+ stepNumber: event.initialCheckpoint.stepNumber,
2010
+ inputMessages: event.inputMessages,
2011
+ newMessages: [],
2012
+ usage: createEmptyUsage(),
2013
+ startedAt: event.timestamp
1985
2014
  })
1986
2015
  })
1987
2016
  }
@@ -1994,6 +2023,7 @@ var runtimeStateMachine = setup({
1994
2023
  actions: assign({
1995
2024
  step: ({ context, event }) => ({
1996
2025
  stepNumber: context.checkpoint.stepNumber,
2026
+ inputMessages: context.step.inputMessages,
1997
2027
  newMessages: [],
1998
2028
  usage: createEmptyUsage(),
1999
2029
  startedAt: event.timestamp
@@ -2225,7 +2255,10 @@ var runtimeStateMachine = setup({
2225
2255
  target: "PreparingForStep",
2226
2256
  actions: assign({
2227
2257
  checkpoint: ({ event }) => event.nextCheckpoint,
2228
- step: ({ event }) => event.step
2258
+ step: ({ event }) => ({
2259
+ ...event.step,
2260
+ inputMessages: void 0
2261
+ })
2229
2262
  }),
2230
2263
  reenter: true
2231
2264
  },
@@ -2233,7 +2266,10 @@ var runtimeStateMachine = setup({
2233
2266
  target: "Stopped",
2234
2267
  actions: assign({
2235
2268
  checkpoint: ({ event }) => event.checkpoint,
2236
- step: ({ event }) => event.step
2269
+ step: ({ event }) => ({
2270
+ ...event.step,
2271
+ inputMessages: void 0
2272
+ })
2237
2273
  })
2238
2274
  }
2239
2275
  }
@@ -2384,6 +2420,18 @@ async function run(runInput, options) {
2384
2420
  await storeCheckpoint(event.checkpoint, event.timestamp);
2385
2421
  }
2386
2422
  await eventEmitter.emit(event);
2423
+ if (options?.shouldContinueRun) {
2424
+ const shouldContinue = await options.shouldContinueRun(
2425
+ runState.context.setting,
2426
+ runState.context.checkpoint,
2427
+ runState.context.step
2428
+ );
2429
+ if (!shouldContinue) {
2430
+ runActor.stop();
2431
+ resolve(runState.context.checkpoint);
2432
+ return;
2433
+ }
2434
+ }
2387
2435
  runActor.send(event);
2388
2436
  }
2389
2437
  } catch (error) {