@oneharness/sdk 0.6.10 → 0.6.11

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.
@@ -32,6 +32,7 @@ export const ControlEventSchema = z.union([
32
32
  z.looseObject({
33
33
  at: z.lazy(() => UtcInstantSchema).refine((value) => value !== undefined, { message: "Required" }),
34
34
  outcome: z.literal("served").refine((value) => value !== undefined, { message: "Required" }),
35
+ redirected: z.boolean().optional(),
35
36
  verb: z.lazy(() => ControlVerbSchema).refine((value) => value !== undefined, { message: "Required" }),
36
37
  }),
37
38
  z.looseObject({
@@ -112,6 +113,7 @@ export const FailureKindSchema = z.union([
112
113
  z.literal("rate_limit"),
113
114
  z.literal("model_not_found"),
114
115
  z.literal("quota"),
116
+ z.literal("session_not_found"),
115
117
  z.literal("tool_deferred"),
116
118
  ]);
117
119
  export const FallThroughSchema = z.looseObject({
@@ -163,7 +165,7 @@ export const HistoryEventLineSchema = z.union([
163
165
  .refine((value) => [...value].length <= 36, { message: "Too long: expected at most 36 characters" })
164
166
  .refine((value) => value !== undefined, { message: "Required" }),
165
167
  schema_version: z
166
- .union([z.literal("1.2"), z.literal("1.3"), z.literal("1.4")])
168
+ .union([z.literal("1.2"), z.literal("1.3"), z.literal("1.4"), z.literal("1.5")])
167
169
  .refine((value) => value !== undefined, { message: "Required" }),
168
170
  variant: z.union([z.string(), z.null()]).optional(),
169
171
  }),
@@ -213,7 +215,7 @@ export const HistoryLineSchema = z.union([
213
215
  .refine((value) => [...value].length <= 36, { message: "Too long: expected at most 36 characters" })
214
216
  .refine((value) => value !== undefined, { message: "Required" }),
215
217
  schema_version: z
216
- .union([z.literal("1.2"), z.literal("1.3"), z.literal("1.4")])
218
+ .union([z.literal("1.2"), z.literal("1.3"), z.literal("1.4"), z.literal("1.5")])
217
219
  .refine((value) => value !== undefined, { message: "Required" }),
218
220
  type: z.literal("event").refine((value) => value !== undefined, { message: "Required" }),
219
221
  variant: z.union([z.string(), z.null()]).optional(),
@@ -239,7 +241,7 @@ export const HistoryLineSchema = z.union([
239
241
  variant: z.union([z.string(), z.null()]).optional(),
240
242
  }),
241
243
  ]),
242
- z.intersection(z.intersection(z.union([
244
+ z.intersection(z.intersection(z.intersection(z.union([
243
245
  z.looseObject({
244
246
  duration_ms: z
245
247
  .int()
@@ -283,7 +285,14 @@ export const HistoryLineSchema = z.union([
283
285
  project: z.string().refine((value) => value !== undefined, { message: "Required" }),
284
286
  prompt: z.string().refine((value) => value !== undefined, { message: "Required" }),
285
287
  schema_version: z
286
- .union([z.literal("1.0"), z.literal("1.1"), z.literal("1.2"), z.literal("1.3"), z.literal("1.4")])
288
+ .union([
289
+ z.literal("1.0"),
290
+ z.literal("1.1"),
291
+ z.literal("1.2"),
292
+ z.literal("1.3"),
293
+ z.literal("1.4"),
294
+ z.literal("1.5"),
295
+ ])
287
296
  .refine((value) => value !== undefined, { message: "Required" }),
288
297
  session: z.string().refine((value) => value !== undefined, { message: "Required" }),
289
298
  session_id: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
@@ -295,7 +304,9 @@ export const HistoryLineSchema = z.union([
295
304
  .union([z.literal("ok"), z.literal("nonzero")])
296
305
  .refine((value) => value !== undefined, { message: "Required" }),
297
306
  text: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
298
- text_source: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
307
+ text_source: z
308
+ .union([z.string(), z.null()])
309
+ .refine((value) => value !== undefined, { message: "Required" }),
299
310
  time_to_first_token_ms: z.union([z.int().gte(0), z.null()]).optional(),
300
311
  timestamp: z.string().refine((value) => value !== undefined, { message: "Required" }),
301
312
  tool_ms: z
@@ -326,7 +337,9 @@ export const HistoryLineSchema = z.union([
326
337
  failure_kind: z
327
338
  .union([z.lazy(() => FailureKindSchema), z.null()])
328
339
  .refine((value) => value !== undefined, { message: "Required" }),
329
- finished_at: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
340
+ finished_at: z
341
+ .union([z.string(), z.null()])
342
+ .refine((value) => value !== undefined, { message: "Required" }),
330
343
  harness: z.string().refine((value) => value !== undefined, { message: "Required" }),
331
344
  harness_id: z.union([z.string(), z.null()]).optional(),
332
345
  history_id: z
@@ -349,7 +362,14 @@ export const HistoryLineSchema = z.union([
349
362
  project: z.string().refine((value) => value !== undefined, { message: "Required" }),
350
363
  prompt: z.string().refine((value) => value !== undefined, { message: "Required" }),
351
364
  schema_version: z
352
- .union([z.literal("1.0"), z.literal("1.1"), z.literal("1.2"), z.literal("1.3"), z.literal("1.4")])
365
+ .union([
366
+ z.literal("1.0"),
367
+ z.literal("1.1"),
368
+ z.literal("1.2"),
369
+ z.literal("1.3"),
370
+ z.literal("1.4"),
371
+ z.literal("1.5"),
372
+ ])
353
373
  .refine((value) => value !== undefined, { message: "Required" }),
354
374
  session: z.string().refine((value) => value !== undefined, { message: "Required" }),
355
375
  session_id: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
@@ -367,7 +387,9 @@ export const HistoryLineSchema = z.union([
367
387
  ])
368
388
  .refine((value) => value !== undefined, { message: "Required" }),
369
389
  text: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
370
- text_source: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
390
+ text_source: z
391
+ .union([z.string(), z.null()])
392
+ .refine((value) => value !== undefined, { message: "Required" }),
371
393
  time_to_first_token_ms: z.union([z.int().gte(0), z.null()]).optional(),
372
394
  timestamp: z.string().refine((value) => value !== undefined, { message: "Required" }),
373
395
  tool_ms: z
@@ -421,14 +443,16 @@ export const HistoryLineSchema = z.union([
421
443
  project: z.string().refine((value) => value !== undefined, { message: "Required" }),
422
444
  prompt: z.string().refine((value) => value !== undefined, { message: "Required" }),
423
445
  schema_version: z
424
- .union([z.literal("1.2"), z.literal("1.3"), z.literal("1.4")])
446
+ .union([z.literal("1.2"), z.literal("1.3"), z.literal("1.4"), z.literal("1.5")])
425
447
  .refine((value) => value !== undefined, { message: "Required" }),
426
448
  session: z.string().refine((value) => value !== undefined, { message: "Required" }),
427
449
  session_id: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
428
450
  started_at: z.never().optional(),
429
451
  status: z.lazy(() => StatusSchema).refine((value) => value !== undefined, { message: "Required" }),
430
452
  text: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
431
- text_source: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
453
+ text_source: z
454
+ .union([z.string(), z.null()])
455
+ .refine((value) => value !== undefined, { message: "Required" }),
432
456
  time_to_first_token_ms: z.never().optional(),
433
457
  timestamp: z.string().refine((value) => value !== undefined, { message: "Required" }),
434
458
  tool_ms: z.never().optional(),
@@ -475,7 +499,14 @@ export const HistoryLineSchema = z.union([
475
499
  project: z.string().refine((value) => value !== undefined, { message: "Required" }),
476
500
  prompt: z.string().refine((value) => value !== undefined, { message: "Required" }),
477
501
  schema_version: z
478
- .union([z.literal("1.0"), z.literal("1.1"), z.literal("1.2"), z.literal("1.3"), z.literal("1.4")])
502
+ .union([
503
+ z.literal("1.0"),
504
+ z.literal("1.1"),
505
+ z.literal("1.2"),
506
+ z.literal("1.3"),
507
+ z.literal("1.4"),
508
+ z.literal("1.5"),
509
+ ])
479
510
  .refine((value) => value !== undefined, { message: "Required" }),
480
511
  session: z.string().refine((value) => value !== undefined, { message: "Required" }),
481
512
  session_id: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
@@ -490,7 +521,9 @@ export const HistoryLineSchema = z.union([
490
521
  ])
491
522
  .refine((value) => value !== undefined, { message: "Required" }),
492
523
  text: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
493
- text_source: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
524
+ text_source: z
525
+ .union([z.string(), z.null()])
526
+ .refine((value) => value !== undefined, { message: "Required" }),
494
527
  time_to_first_token_ms: z.never().optional(),
495
528
  timestamp: z.string().refine((value) => value !== undefined, { message: "Required" }),
496
529
  tool_ms: z.never().optional(),
@@ -538,7 +571,7 @@ export const HistoryLineSchema = z.union([
538
571
  project: z.string().refine((value) => value !== undefined, { message: "Required" }),
539
572
  prompt: z.string().refine((value) => value !== undefined, { message: "Required" }),
540
573
  schema_version: z
541
- .union([z.literal("1.3"), z.literal("1.4")])
574
+ .union([z.literal("1.3"), z.literal("1.4"), z.literal("1.5")])
542
575
  .refine((value) => value !== undefined, { message: "Required" }),
543
576
  session: z.string().refine((value) => value !== undefined, { message: "Required" }),
544
577
  session_id: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
@@ -556,7 +589,9 @@ export const HistoryLineSchema = z.union([
556
589
  ])
557
590
  .refine((value) => value !== undefined, { message: "Required" }),
558
591
  text: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
559
- text_source: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
592
+ text_source: z
593
+ .union([z.string(), z.null()])
594
+ .refine((value) => value !== undefined, { message: "Required" }),
560
595
  time_to_first_token_ms: z.union([z.int().gte(0), z.null()]).optional(),
561
596
  timestamp: z.string().refine((value) => value !== undefined, { message: "Required" }),
562
597
  tool_ms: z.never().optional(),
@@ -603,7 +638,14 @@ export const HistoryLineSchema = z.union([
603
638
  project: z.string().refine((value) => value !== undefined, { message: "Required" }),
604
639
  prompt: z.string().refine((value) => value !== undefined, { message: "Required" }),
605
640
  schema_version: z
606
- .union([z.literal("1.0"), z.literal("1.1"), z.literal("1.2"), z.literal("1.3"), z.literal("1.4")])
641
+ .union([
642
+ z.literal("1.0"),
643
+ z.literal("1.1"),
644
+ z.literal("1.2"),
645
+ z.literal("1.3"),
646
+ z.literal("1.4"),
647
+ z.literal("1.5"),
648
+ ])
607
649
  .refine((value) => value !== undefined, { message: "Required" }),
608
650
  session: z.string().refine((value) => value !== undefined, { message: "Required" }),
609
651
  session_id: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
@@ -612,7 +654,9 @@ export const HistoryLineSchema = z.union([
612
654
  .union([z.literal("ok"), z.literal("planned")])
613
655
  .refine((value) => value !== undefined, { message: "Required" }),
614
656
  text: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
615
- text_source: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
657
+ text_source: z
658
+ .union([z.string(), z.null()])
659
+ .refine((value) => value !== undefined, { message: "Required" }),
616
660
  time_to_first_token_ms: z.never().optional(),
617
661
  timestamp: z.string().refine((value) => value !== undefined, { message: "Required" }),
618
662
  tool_ms: z.never().optional(),
@@ -626,7 +670,7 @@ export const HistoryLineSchema = z.union([
626
670
  }),
627
671
  z.intersection(z.looseObject({
628
672
  error: z.string().refine((value) => value !== undefined, { message: "Required" }),
629
- schema_version: z.union([z.literal("1.3"), z.literal("1.4")]).optional(),
673
+ schema_version: z.union([z.literal("1.3"), z.literal("1.4"), z.literal("1.5")]).optional(),
630
674
  }), z.union([
631
675
  z.looseObject({
632
676
  status: z
@@ -640,7 +684,9 @@ export const HistoryLineSchema = z.union([
640
684
  .optional(),
641
685
  }),
642
686
  z.looseObject({
643
- failure_kind: z.literal("tool_deferred").refine((value) => value !== undefined, { message: "Required" }),
687
+ failure_kind: z
688
+ .literal("tool_deferred")
689
+ .refine((value) => value !== undefined, { message: "Required" }),
644
690
  }),
645
691
  ])),
646
692
  ])), z.union([
@@ -657,7 +703,23 @@ export const HistoryLineSchema = z.union([
657
703
  .optional(),
658
704
  }),
659
705
  z.looseObject({
660
- schema_version: z.literal("1.4").optional(),
706
+ schema_version: z.union([z.literal("1.4"), z.literal("1.5")]).optional(),
707
+ }),
708
+ ])), z.union([
709
+ z.looseObject({
710
+ failure_kind: z
711
+ .union([
712
+ z.literal("auth"),
713
+ z.literal("rate_limit"),
714
+ z.literal("model_not_found"),
715
+ z.literal("quota"),
716
+ z.literal("tool_deferred"),
717
+ z.literal(null),
718
+ ])
719
+ .optional(),
720
+ }),
721
+ z.looseObject({
722
+ schema_version: z.literal("1.5").optional(),
661
723
  }),
662
724
  ])),
663
725
  ]);
@@ -688,7 +750,7 @@ export const HistoryLookupBySessionSchema = z.strictObject({
688
750
  .min(1)
689
751
  .refine((value) => value !== undefined, { message: "Required" }),
690
752
  });
691
- export const HistoryRecordSchema = z.intersection(z.intersection(z.union([
753
+ export const HistoryRecordSchema = z.intersection(z.intersection(z.intersection(z.union([
692
754
  z.looseObject({
693
755
  duration_ms: z
694
756
  .int()
@@ -699,7 +761,9 @@ export const HistoryRecordSchema = z.intersection(z.intersection(z.union([
699
761
  z
700
762
  .string()
701
763
  .min(1)
702
- .refine((value) => [...value].length <= 2048, { message: "Too long: expected at most 2048 characters" }),
764
+ .refine((value) => [...value].length <= 2048, {
765
+ message: "Too long: expected at most 2048 characters",
766
+ }),
703
767
  z.null(),
704
768
  ])
705
769
  .optional(),
@@ -786,7 +850,7 @@ export const HistoryRecordSchema = z.intersection(z.intersection(z.union([
786
850
  project: z.string().refine((value) => value !== undefined, { message: "Required" }),
787
851
  prompt: z.string().refine((value) => value !== undefined, { message: "Required" }),
788
852
  schema_version: z
789
- .union([z.literal("1.2"), z.literal("1.3"), z.literal("1.4")])
853
+ .union([z.literal("1.2"), z.literal("1.3"), z.literal("1.4"), z.literal("1.5")])
790
854
  .refine((value) => value !== undefined, { message: "Required" }),
791
855
  session: z.string().refine((value) => value !== undefined, { message: "Required" }),
792
856
  session_id: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
@@ -816,7 +880,9 @@ export const HistoryRecordSchema = z.intersection(z.intersection(z.union([
816
880
  z
817
881
  .string()
818
882
  .min(1)
819
- .refine((value) => [...value].length <= 2048, { message: "Too long: expected at most 2048 characters" }),
883
+ .refine((value) => [...value].length <= 2048, {
884
+ message: "Too long: expected at most 2048 characters",
885
+ }),
820
886
  z.null(),
821
887
  ])
822
888
  .optional(),
@@ -863,7 +929,9 @@ export const HistoryRecordSchema = z.intersection(z.intersection(z.union([
863
929
  z.intersection(z.lazy(() => ActionEventSchema), z.looseObject({
864
930
  kind: z.literal("tool_call").refine((value) => value !== undefined, { message: "Required" }),
865
931
  started_at: z.string().refine((value) => value !== undefined, { message: "Required" }),
866
- status: z.literal("interrupted").refine((value) => value !== undefined, { message: "Required" }),
932
+ status: z
933
+ .literal("interrupted")
934
+ .refine((value) => value !== undefined, { message: "Required" }),
867
935
  tool_call_id: z
868
936
  .string()
869
937
  .min(1)
@@ -934,7 +1002,9 @@ export const HistoryRecordSchema = z.intersection(z.intersection(z.union([
934
1002
  z
935
1003
  .string()
936
1004
  .min(1)
937
- .refine((value) => [...value].length <= 2048, { message: "Too long: expected at most 2048 characters" }),
1005
+ .refine((value) => [...value].length <= 2048, {
1006
+ message: "Too long: expected at most 2048 characters",
1007
+ }),
938
1008
  z.null(),
939
1009
  ])
940
1010
  .optional(),
@@ -950,7 +1020,9 @@ export const HistoryRecordSchema = z.intersection(z.intersection(z.union([
950
1020
  input: z.unknown().refine((value) => value !== undefined, { message: "Required" }),
951
1021
  kind: z.string().refine((value) => value !== undefined, { message: "Required" }),
952
1022
  name: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
953
- output: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
1023
+ output: z
1024
+ .union([z.string(), z.null()])
1025
+ .refine((value) => value !== undefined, { message: "Required" }),
954
1026
  started_at: z.null().optional(),
955
1027
  status: z.null().optional(),
956
1028
  tool_call_id: z.union([z.string(), z.null()]).optional(),
@@ -982,7 +1054,7 @@ export const HistoryRecordSchema = z.intersection(z.intersection(z.union([
982
1054
  project: z.string().refine((value) => value !== undefined, { message: "Required" }),
983
1055
  prompt: z.string().refine((value) => value !== undefined, { message: "Required" }),
984
1056
  schema_version: z
985
- .union([z.literal("1.2"), z.literal("1.3"), z.literal("1.4")])
1057
+ .union([z.literal("1.2"), z.literal("1.3"), z.literal("1.4"), z.literal("1.5")])
986
1058
  .refine((value) => value !== undefined, { message: "Required" }),
987
1059
  session: z.string().refine((value) => value !== undefined, { message: "Required" }),
988
1060
  session_id: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
@@ -1008,7 +1080,9 @@ export const HistoryRecordSchema = z.intersection(z.intersection(z.union([
1008
1080
  z
1009
1081
  .string()
1010
1082
  .min(1)
1011
- .refine((value) => [...value].length <= 2048, { message: "Too long: expected at most 2048 characters" }),
1083
+ .refine((value) => [...value].length <= 2048, {
1084
+ message: "Too long: expected at most 2048 characters",
1085
+ }),
1012
1086
  z.null(),
1013
1087
  ])
1014
1088
  .optional(),
@@ -1042,7 +1116,7 @@ export const HistoryRecordSchema = z.intersection(z.intersection(z.union([
1042
1116
  project: z.string().refine((value) => value !== undefined, { message: "Required" }),
1043
1117
  prompt: z.string().refine((value) => value !== undefined, { message: "Required" }),
1044
1118
  schema_version: z
1045
- .union([z.literal("1.2"), z.literal("1.3"), z.literal("1.4")])
1119
+ .union([z.literal("1.2"), z.literal("1.3"), z.literal("1.4"), z.literal("1.5")])
1046
1120
  .refine((value) => value !== undefined, { message: "Required" }),
1047
1121
  session: z.string().refine((value) => value !== undefined, { message: "Required" }),
1048
1122
  session_id: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
@@ -1065,7 +1139,9 @@ export const HistoryRecordSchema = z.intersection(z.intersection(z.union([
1065
1139
  z
1066
1140
  .string()
1067
1141
  .min(1)
1068
- .refine((value) => [...value].length <= 2048, { message: "Too long: expected at most 2048 characters" }),
1142
+ .refine((value) => [...value].length <= 2048, {
1143
+ message: "Too long: expected at most 2048 characters",
1144
+ }),
1069
1145
  z.null(),
1070
1146
  ])
1071
1147
  .optional(),
@@ -1096,7 +1172,7 @@ export const HistoryRecordSchema = z.intersection(z.intersection(z.union([
1096
1172
  project: z.string().refine((value) => value !== undefined, { message: "Required" }),
1097
1173
  prompt: z.string().refine((value) => value !== undefined, { message: "Required" }),
1098
1174
  schema_version: z
1099
- .union([z.literal("1.2"), z.literal("1.3"), z.literal("1.4")])
1175
+ .union([z.literal("1.2"), z.literal("1.3"), z.literal("1.4"), z.literal("1.5")])
1100
1176
  .refine((value) => value !== undefined, { message: "Required" }),
1101
1177
  session: z.string().refine((value) => value !== undefined, { message: "Required" }),
1102
1178
  session_id: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
@@ -1128,7 +1204,9 @@ export const HistoryRecordSchema = z.intersection(z.intersection(z.union([
1128
1204
  z
1129
1205
  .string()
1130
1206
  .min(1)
1131
- .refine((value) => [...value].length <= 2048, { message: "Too long: expected at most 2048 characters" }),
1207
+ .refine((value) => [...value].length <= 2048, {
1208
+ message: "Too long: expected at most 2048 characters",
1209
+ }),
1132
1210
  z.null(),
1133
1211
  ])
1134
1212
  .optional(),
@@ -1159,7 +1237,7 @@ export const HistoryRecordSchema = z.intersection(z.intersection(z.union([
1159
1237
  project: z.string().refine((value) => value !== undefined, { message: "Required" }),
1160
1238
  prompt: z.string().refine((value) => value !== undefined, { message: "Required" }),
1161
1239
  schema_version: z
1162
- .union([z.literal("1.3"), z.literal("1.4")])
1240
+ .union([z.literal("1.3"), z.literal("1.4"), z.literal("1.5")])
1163
1241
  .refine((value) => value !== undefined, { message: "Required" }),
1164
1242
  session: z.string().refine((value) => value !== undefined, { message: "Required" }),
1165
1243
  session_id: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
@@ -1193,7 +1271,9 @@ export const HistoryRecordSchema = z.intersection(z.intersection(z.union([
1193
1271
  z
1194
1272
  .string()
1195
1273
  .min(1)
1196
- .refine((value) => [...value].length <= 2048, { message: "Too long: expected at most 2048 characters" }),
1274
+ .refine((value) => [...value].length <= 2048, {
1275
+ message: "Too long: expected at most 2048 characters",
1276
+ }),
1197
1277
  z.null(),
1198
1278
  ])
1199
1279
  .optional(),
@@ -1260,7 +1340,9 @@ export const HistoryRecordSchema = z.intersection(z.intersection(z.union([
1260
1340
  z
1261
1341
  .string()
1262
1342
  .min(1)
1263
- .refine((value) => [...value].length <= 2048, { message: "Too long: expected at most 2048 characters" }),
1343
+ .refine((value) => [...value].length <= 2048, {
1344
+ message: "Too long: expected at most 2048 characters",
1345
+ }),
1264
1346
  z.null(),
1265
1347
  ])
1266
1348
  .optional(),
@@ -1275,7 +1357,9 @@ export const HistoryRecordSchema = z.intersection(z.intersection(z.union([
1275
1357
  .refine((value) => value !== undefined, { message: "Required" }),
1276
1358
  input: z.unknown().refine((value) => value !== undefined, { message: "Required" }),
1277
1359
  kind: z.string().refine((value) => value !== undefined, { message: "Required" }),
1278
- name: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
1360
+ name: z
1361
+ .union([z.string(), z.null()])
1362
+ .refine((value) => value !== undefined, { message: "Required" }),
1279
1363
  output: z
1280
1364
  .union([z.string(), z.null()])
1281
1365
  .refine((value) => value !== undefined, { message: "Required" }),
@@ -1337,7 +1421,9 @@ export const HistoryRecordSchema = z.intersection(z.intersection(z.union([
1337
1421
  z
1338
1422
  .string()
1339
1423
  .min(1)
1340
- .refine((value) => [...value].length <= 2048, { message: "Too long: expected at most 2048 characters" }),
1424
+ .refine((value) => [...value].length <= 2048, {
1425
+ message: "Too long: expected at most 2048 characters",
1426
+ }),
1341
1427
  z.null(),
1342
1428
  ])
1343
1429
  .optional(),
@@ -1351,7 +1437,9 @@ export const HistoryRecordSchema = z.intersection(z.intersection(z.union([
1351
1437
  input: z.unknown().refine((value) => value !== undefined, { message: "Required" }),
1352
1438
  kind: z.string().refine((value) => value !== undefined, { message: "Required" }),
1353
1439
  name: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
1354
- output: z.union([z.string(), z.null()]).refine((value) => value !== undefined, { message: "Required" }),
1440
+ output: z
1441
+ .union([z.string(), z.null()])
1442
+ .refine((value) => value !== undefined, { message: "Required" }),
1355
1443
  })),
1356
1444
  z.null(),
1357
1445
  ])
@@ -1400,7 +1488,7 @@ export const HistoryRecordSchema = z.intersection(z.intersection(z.union([
1400
1488
  }),
1401
1489
  z.intersection(z.looseObject({
1402
1490
  error: z.string().refine((value) => value !== undefined, { message: "Required" }),
1403
- schema_version: z.union([z.literal("1.3"), z.literal("1.4")]).optional(),
1491
+ schema_version: z.union([z.literal("1.3"), z.literal("1.4"), z.literal("1.5")]).optional(),
1404
1492
  }), z.union([
1405
1493
  z.looseObject({
1406
1494
  status: z
@@ -1431,7 +1519,23 @@ export const HistoryRecordSchema = z.intersection(z.intersection(z.union([
1431
1519
  .optional(),
1432
1520
  }),
1433
1521
  z.looseObject({
1434
- schema_version: z.literal("1.4").optional(),
1522
+ schema_version: z.union([z.literal("1.4"), z.literal("1.5")]).optional(),
1523
+ }),
1524
+ ])), z.union([
1525
+ z.looseObject({
1526
+ failure_kind: z
1527
+ .union([
1528
+ z.literal("auth"),
1529
+ z.literal("rate_limit"),
1530
+ z.literal("model_not_found"),
1531
+ z.literal("quota"),
1532
+ z.literal("tool_deferred"),
1533
+ z.literal(null),
1534
+ ])
1535
+ .optional(),
1536
+ }),
1537
+ z.looseObject({
1538
+ schema_version: z.literal("1.5").optional(),
1435
1539
  }),
1436
1540
  ]));
1437
1541
  export const HistoryRecordsSchema = z.array(z.lazy(() => HistoryRecordSchema));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oneharness/sdk",
3
- "version": "0.6.10",
3
+ "version": "0.6.11",
4
4
  "description": "Typed Node.js SDK for oneharness",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -19,7 +19,7 @@
19
19
  "node": ">=20"
20
20
  },
21
21
  "dependencies": {
22
- "oneharness-cli": "0.6.10",
22
+ "oneharness-cli": "0.6.11",
23
23
  "zod": "^4.4.3"
24
24
  }
25
25
  }