@oneharness/sdk 0.26.0 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -59,7 +59,11 @@ export type ControlVerb = "interrupt";
59
59
  * new variant is a report `schema_version` bump like any other enum value, since
60
60
  * a consumer matching exhaustively learns of it only from the version.
61
61
  */
62
- export type FallThroughReason = "not-installed" | "spawn-error" | "auth" | "quota" | "session-not-found" | "untrusted-directory" | "input-too-large" | "model-mismatch" | "model-not-found" | "rate-limit" | "server-overloaded" | "app-server-lost";
62
+ export type FallThroughReason = "not-installed" | "spawn-error" | "auth" | "quota" | "session-not-found" | "untrusted-directory" | "input-too-large" | "model-mismatch" | "model-not-found" | "rate-limit" | "server-overloaded" | "app-server-lost" | "unsupported-input";
63
+ /**
64
+ * One of the settings this module translates.
65
+ */
66
+ export type Setting = "auto_compact_tokens" | "compact_now" | "tool_set" | "load_skills" | "load_mcp" | "images" | "calls";
63
67
  export type ToolCallStatus = "completed" | "failed" | "timeout" | "interrupted";
64
68
  /**
65
69
  * How a normalized tool interval was obtained.
@@ -76,7 +80,7 @@ export type TimingSource = "provider_measured" | "stdout_observed";
76
80
  * the report, history) one definition to share instead of scattered string
77
81
  * literals.
78
82
  */
79
- export type FailureKind = "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "server_overloaded" | "app_server_lost";
83
+ export type FailureKind = "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "server_overloaded" | "app_server_lost" | "unsupported_input";
80
84
  /**
81
85
  * How a harness emits its result, which decides how `text` is extracted.
82
86
  *
@@ -408,10 +412,26 @@ export interface RunResult {
408
412
  * The binary name or path oneharness resolved and would invoke.
409
413
  */
410
414
  bin: string;
415
+ /**
416
+ * One usage per model call the turn made, in order, read from the
417
+ * harness's own stream or session record (see
418
+ * [`crate::domain::lean::Setting::Calls`]). Like `usage`, it covers the
419
+ * run's final attempt when a retry ran it again. Absent where the harness
420
+ * exposes no per-call figures, and then `diagnostics` says why. The
421
+ * run's `usage` total is unchanged by it. Added in report schema `0.13`.
422
+ */
423
+ calls?: Usage[] | null | undefined;
411
424
  /**
412
425
  * The exact argv oneharness built; its first element is the binary.
413
426
  */
414
427
  command: string[];
428
+ /**
429
+ * Each setting this run's harness could not apply, or applied in part
430
+ * (`auto_compact_tokens`, `tool_set`, `load_skills`, `load_mcp`, `calls`):
431
+ * the run proceeded, and this says what it did instead. Absent when
432
+ * empty. Added in report schema `0.13`.
433
+ */
434
+ diagnostics?: Diagnostic[] | undefined;
415
435
  /**
416
436
  * Wall-clock duration of the run; `null` when not executed.
417
437
  */
@@ -552,7 +572,7 @@ export interface RunResult {
552
572
  * How `text` was extracted (e.g. `json:result`, `raw`); `null` when absent.
553
573
  */
554
574
  text_source: string | null;
555
- usage: Usage;
575
+ usage: Usage1;
556
576
  /**
557
577
  * How `usage` was read (e.g. `json`); `null` when nothing was found.
558
578
  */
@@ -579,6 +599,53 @@ export interface RunResult {
579
599
  work: RunWork | null;
580
600
  [k: string]: unknown;
581
601
  }
602
+ /**
603
+ * Normalized token/cost accounting. Every field is best-effort and independently
604
+ * nullable: a harness may report tokens but not dollar cost (cost is commonly
605
+ * absent on subscription auth), or report nothing at all (plain-text harnesses).
606
+ */
607
+ export interface Usage {
608
+ /**
609
+ * Prompt tokens served from the provider's prompt cache (a cheap read of a
610
+ * previously-written prefix), when the harness reports them. `None` when the
611
+ * harness does not surface cache counts — never `0` as a guess.
612
+ */
613
+ cache_read_tokens: number | null;
614
+ /**
615
+ * Prompt tokens written to the provider's prompt cache (a.k.a. cache
616
+ * creation), when the harness reports them. `None` when not surfaced.
617
+ */
618
+ cache_write_tokens: number | null;
619
+ /**
620
+ * Total cost in USD, when the harness reports it (often absent on
621
+ * subscription auth, where there is no per-call dollar figure).
622
+ */
623
+ cost_usd: number | null;
624
+ /**
625
+ * Prompt/input tokens billed, when the harness reports them.
626
+ */
627
+ input_tokens: number | null;
628
+ /**
629
+ * Completion/output tokens billed, when the harness reports them.
630
+ */
631
+ output_tokens: number | null;
632
+ [k: string]: unknown;
633
+ }
634
+ /**
635
+ * A setting a harness could not apply, named in the run's report.
636
+ */
637
+ export interface Diagnostic {
638
+ /**
639
+ * The harness id the run used.
640
+ */
641
+ harness: string;
642
+ /**
643
+ * What happened instead.
644
+ */
645
+ message: string;
646
+ setting: Setting;
647
+ [k: string]: unknown;
648
+ }
582
649
  /**
583
650
  * One normalized action a harness took, harness-agnostic so a single consumer
584
651
  * assertion works across harnesses. Every field is always serialized (null when
@@ -650,10 +717,11 @@ export interface ActionEvent {
650
717
  [k: string]: unknown;
651
718
  }
652
719
  /**
653
- * Best-effort token/cost accounting; every field is `null` when the harness
654
- * does not report it. Always present so consumers can read a stable shape.
720
+ * Normalized token/cost accounting. Every field is best-effort and independently
721
+ * nullable: a harness may report tokens but not dollar cost (cost is commonly
722
+ * absent on subscription auth), or report nothing at all (plain-text harnesses).
655
723
  */
656
- export interface Usage {
724
+ export interface Usage1 {
657
725
  /**
658
726
  * Prompt tokens served from the provider's prompt cache (a cheap read of a
659
727
  * previously-written prefix), when the harness reports them. `None` when the
@@ -5,7 +5,7 @@ export type HistoryLine = {
5
5
  harness_id: string;
6
6
  history_id: string;
7
7
  prompt: string;
8
- schema_version: "1.11";
8
+ schema_version: "1.11" | "1.12";
9
9
  started: UtcInstant;
10
10
  type: "run-started";
11
11
  [k: string]: unknown;
@@ -14,7 +14,7 @@ export type HistoryLine = {
14
14
  harness: string;
15
15
  harness_id?: string | null | undefined;
16
16
  run_id: string;
17
- schema_version: "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11";
17
+ schema_version: "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12";
18
18
  /**
19
19
  * The name of the session this line belongs to — the `name` its run's
20
20
  * closing `run` line will carry — so a run still in progress (events but
@@ -51,7 +51,7 @@ export type HistoryLine = {
51
51
  [k: string]: unknown;
52
52
  } | ({
53
53
  error: string;
54
- schema_version?: "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | undefined;
54
+ schema_version?: "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12" | undefined;
55
55
  [k: string]: unknown;
56
56
  } & ({
57
57
  status?: "nonzero" | "timeout" | "cancelled" | "spawn-error" | "skipped" | undefined;
@@ -63,7 +63,7 @@ export type HistoryLine = {
63
63
  work?: null | undefined;
64
64
  [k: string]: unknown;
65
65
  } | {
66
- schema_version?: "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | undefined;
66
+ schema_version?: "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12" | undefined;
67
67
  status?: "nonzero" | "timeout" | "cancelled" | undefined;
68
68
  work: "done" | "none";
69
69
  [k: string]: unknown;
@@ -72,43 +72,49 @@ export type HistoryLine = {
72
72
  [k: string]: unknown;
73
73
  } | {
74
74
  observed_model: string;
75
- schema_version?: "1.8" | "1.9" | "1.10" | "1.11" | undefined;
75
+ schema_version?: "1.8" | "1.9" | "1.10" | "1.11" | "1.12" | undefined;
76
76
  [k: string]: unknown;
77
77
  }) & ({
78
78
  status?: "ok" | "nonzero" | "timeout" | "spawn-error" | "skipped" | "planned" | undefined;
79
79
  [k: string]: unknown;
80
80
  } | {
81
- schema_version?: "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | undefined;
81
+ schema_version?: "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12" | undefined;
82
82
  [k: string]: unknown;
83
83
  }) & (({
84
- failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "server_overloaded" | "app_server_lost" | null;
84
+ failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "server_overloaded" | "app_server_lost" | "unsupported_input" | null;
85
85
  [k: string]: unknown;
86
86
  } | {
87
- schema_version?: "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | undefined;
87
+ schema_version?: "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12" | undefined;
88
88
  [k: string]: unknown;
89
89
  }) & ({
90
- failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "model_mismatch" | "server_overloaded" | "app_server_lost" | null;
90
+ failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "model_mismatch" | "server_overloaded" | "app_server_lost" | "unsupported_input" | null;
91
91
  [k: string]: unknown;
92
92
  } | {
93
- schema_version?: "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | undefined;
93
+ schema_version?: "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12" | undefined;
94
94
  [k: string]: unknown;
95
95
  }) & ({
96
- failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "server_overloaded" | "app_server_lost" | null;
96
+ failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "server_overloaded" | "app_server_lost" | "unsupported_input" | null;
97
97
  [k: string]: unknown;
98
98
  } | {
99
- schema_version?: "1.8" | "1.9" | "1.10" | "1.11" | undefined;
99
+ schema_version?: "1.8" | "1.9" | "1.10" | "1.11" | "1.12" | undefined;
100
100
  [k: string]: unknown;
101
101
  }) & ({
102
- failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "app_server_lost" | null;
102
+ failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "app_server_lost" | "unsupported_input" | null;
103
103
  [k: string]: unknown;
104
104
  } | {
105
- schema_version?: "1.9" | "1.10" | "1.11" | undefined;
105
+ schema_version?: "1.9" | "1.10" | "1.11" | "1.12" | undefined;
106
106
  [k: string]: unknown;
107
107
  }) & ({
108
- failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "server_overloaded" | null;
108
+ failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "server_overloaded" | "unsupported_input" | null;
109
109
  [k: string]: unknown;
110
110
  } | {
111
- schema_version?: "1.10" | "1.11" | undefined;
111
+ schema_version?: "1.10" | "1.11" | "1.12" | undefined;
112
+ [k: string]: unknown;
113
+ }) & ({
114
+ failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "server_overloaded" | "app_server_lost" | null;
115
+ [k: string]: unknown;
116
+ } | {
117
+ schema_version?: "1.12" | undefined;
112
118
  [k: string]: unknown;
113
119
  })) & ({
114
120
  duration_ms: number;
@@ -136,7 +142,7 @@ export type HistoryLine = {
136
142
  permission_mode: PermissionMode;
137
143
  project: string;
138
144
  prompt: string;
139
- schema_version: "1.0" | "1.1" | "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11";
145
+ schema_version: "1.0" | "1.1" | "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12";
140
146
  session: string;
141
147
  session_id: string | null;
142
148
  started_at: string;
@@ -181,7 +187,7 @@ export type HistoryLine = {
181
187
  permission_mode: PermissionMode;
182
188
  project: string;
183
189
  prompt: string;
184
- schema_version: "1.0" | "1.1" | "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11";
190
+ schema_version: "1.0" | "1.1" | "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12";
185
191
  session: string;
186
192
  session_id: string | null;
187
193
  started_at: string;
@@ -226,7 +232,7 @@ export type HistoryLine = {
226
232
  permission_mode: PermissionMode;
227
233
  project: string;
228
234
  prompt: string;
229
- schema_version: "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11";
235
+ schema_version: "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12";
230
236
  session: string;
231
237
  session_id: string | null;
232
238
  started_at?: never | undefined;
@@ -271,7 +277,7 @@ export type HistoryLine = {
271
277
  permission_mode: PermissionMode;
272
278
  project: string;
273
279
  prompt: string;
274
- schema_version: "1.0" | "1.1" | "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11";
280
+ schema_version: "1.0" | "1.1" | "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12";
275
281
  session: string;
276
282
  session_id: string | null;
277
283
  started_at?: never | undefined;
@@ -316,7 +322,7 @@ export type HistoryLine = {
316
322
  permission_mode: PermissionMode;
317
323
  project: string;
318
324
  prompt: string;
319
- schema_version: "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11";
325
+ schema_version: "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12";
320
326
  session: string;
321
327
  session_id: string | null;
322
328
  started_at: string;
@@ -361,7 +367,7 @@ export type HistoryLine = {
361
367
  permission_mode: PermissionMode;
362
368
  project: string;
363
369
  prompt: string;
364
- schema_version: "1.0" | "1.1" | "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11";
370
+ schema_version: "1.0" | "1.1" | "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12";
365
371
  session: string;
366
372
  session_id: string | null;
367
373
  started_at?: never | undefined;
@@ -401,7 +407,7 @@ export type TimingSource = "provider_measured" | "stdout_observed";
401
407
  * the report, history) one definition to share instead of scattered string
402
408
  * literals.
403
409
  */
404
- export type FailureKind = "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "server_overloaded" | "app_server_lost";
410
+ export type FailureKind = "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "server_overloaded" | "app_server_lost" | "unsupported_input";
405
411
  /**
406
412
  * The unified approval mode, from least to most autonomy. A harness may not
407
413
  * support every value (see [`crate::domain::harness::HarnessSpec::mode`]); the
@@ -7,7 +7,7 @@ export type HistoryShowEntry = (({
7
7
  [k: string]: unknown;
8
8
  } | ({
9
9
  error: string;
10
- schema_version?: "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | undefined;
10
+ schema_version?: "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12" | undefined;
11
11
  [k: string]: unknown;
12
12
  } & ({
13
13
  status?: "nonzero" | "timeout" | "cancelled" | "spawn-error" | "skipped" | undefined;
@@ -19,7 +19,7 @@ export type HistoryShowEntry = (({
19
19
  work?: null | undefined;
20
20
  [k: string]: unknown;
21
21
  } | {
22
- schema_version?: "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | undefined;
22
+ schema_version?: "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12" | undefined;
23
23
  status?: "nonzero" | "timeout" | "cancelled" | undefined;
24
24
  work: "done" | "none";
25
25
  [k: string]: unknown;
@@ -28,43 +28,49 @@ export type HistoryShowEntry = (({
28
28
  [k: string]: unknown;
29
29
  } | {
30
30
  observed_model: string;
31
- schema_version?: "1.8" | "1.9" | "1.10" | "1.11" | undefined;
31
+ schema_version?: "1.8" | "1.9" | "1.10" | "1.11" | "1.12" | undefined;
32
32
  [k: string]: unknown;
33
33
  }) & ({
34
34
  status?: "ok" | "nonzero" | "timeout" | "spawn-error" | "skipped" | "planned" | undefined;
35
35
  [k: string]: unknown;
36
36
  } | {
37
- schema_version?: "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | undefined;
37
+ schema_version?: "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12" | undefined;
38
38
  [k: string]: unknown;
39
39
  }) & (({
40
- failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "server_overloaded" | "app_server_lost" | null;
40
+ failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "server_overloaded" | "app_server_lost" | "unsupported_input" | null;
41
41
  [k: string]: unknown;
42
42
  } | {
43
- schema_version?: "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | undefined;
43
+ schema_version?: "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12" | undefined;
44
44
  [k: string]: unknown;
45
45
  }) & ({
46
- failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "model_mismatch" | "server_overloaded" | "app_server_lost" | null;
46
+ failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "model_mismatch" | "server_overloaded" | "app_server_lost" | "unsupported_input" | null;
47
47
  [k: string]: unknown;
48
48
  } | {
49
- schema_version?: "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | undefined;
49
+ schema_version?: "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12" | undefined;
50
50
  [k: string]: unknown;
51
51
  }) & ({
52
- failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "server_overloaded" | "app_server_lost" | null;
52
+ failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "server_overloaded" | "app_server_lost" | "unsupported_input" | null;
53
53
  [k: string]: unknown;
54
54
  } | {
55
- schema_version?: "1.8" | "1.9" | "1.10" | "1.11" | undefined;
55
+ schema_version?: "1.8" | "1.9" | "1.10" | "1.11" | "1.12" | undefined;
56
56
  [k: string]: unknown;
57
57
  }) & ({
58
- failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "app_server_lost" | null;
58
+ failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "app_server_lost" | "unsupported_input" | null;
59
59
  [k: string]: unknown;
60
60
  } | {
61
- schema_version?: "1.9" | "1.10" | "1.11" | undefined;
61
+ schema_version?: "1.9" | "1.10" | "1.11" | "1.12" | undefined;
62
62
  [k: string]: unknown;
63
63
  }) & ({
64
- failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "server_overloaded" | null;
64
+ failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "server_overloaded" | "unsupported_input" | null;
65
65
  [k: string]: unknown;
66
66
  } | {
67
- schema_version?: "1.10" | "1.11" | undefined;
67
+ schema_version?: "1.10" | "1.11" | "1.12" | undefined;
68
+ [k: string]: unknown;
69
+ }) & ({
70
+ failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "server_overloaded" | "app_server_lost" | null;
71
+ [k: string]: unknown;
72
+ } | {
73
+ schema_version?: "1.12" | undefined;
68
74
  [k: string]: unknown;
69
75
  })) & ({
70
76
  duration_ms: number;
@@ -183,7 +189,7 @@ export type HistoryShowEntry = (({
183
189
  * run's single prompt).
184
190
  */
185
191
  prompt: string;
186
- schema_version: "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11";
192
+ schema_version: "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12";
187
193
  /**
188
194
  * The oneharness session id this run belongs to (the history file's stem).
189
195
  */
@@ -486,7 +492,7 @@ export type HistoryShowEntry = (({
486
492
  * run's single prompt).
487
493
  */
488
494
  prompt: string;
489
- schema_version: "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11";
495
+ schema_version: "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12";
490
496
  /**
491
497
  * The oneharness session id this run belongs to (the history file's stem).
492
498
  */
@@ -613,7 +619,7 @@ export type HistoryShowEntry = (({
613
619
  * run's single prompt).
614
620
  */
615
621
  prompt: string;
616
- schema_version: "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11";
622
+ schema_version: "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12";
617
623
  /**
618
624
  * The oneharness session id this run belongs to (the history file's stem).
619
625
  */
@@ -740,7 +746,7 @@ export type HistoryShowEntry = (({
740
746
  * run's single prompt).
741
747
  */
742
748
  prompt: string;
743
- schema_version: "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11";
749
+ schema_version: "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12";
744
750
  /**
745
751
  * The oneharness session id this run belongs to (the history file's stem).
746
752
  */
@@ -867,7 +873,7 @@ export type HistoryShowEntry = (({
867
873
  * run's single prompt).
868
874
  */
869
875
  prompt: string;
870
- schema_version: "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11";
876
+ schema_version: "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12";
871
877
  /**
872
878
  * The oneharness session id this run belongs to (the history file's stem).
873
879
  */
@@ -1340,7 +1346,7 @@ export type TimingSource = "provider_measured" | "stdout_observed";
1340
1346
  * the report, history) one definition to share instead of scattered string
1341
1347
  * literals.
1342
1348
  */
1343
- export type FailureKind = "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "server_overloaded" | "app_server_lost";
1349
+ export type FailureKind = "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "server_overloaded" | "app_server_lost" | "unsupported_input";
1344
1350
  /**
1345
1351
  * The outcome of attempting to run one harness.
1346
1352
  */
@@ -14,7 +14,7 @@ export type HistoryStreamEnvelope = {
14
14
  [k: string]: unknown;
15
15
  } | ({
16
16
  error: string;
17
- schema_version?: "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | undefined;
17
+ schema_version?: "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12" | undefined;
18
18
  [k: string]: unknown;
19
19
  } & ({
20
20
  status?: "nonzero" | "timeout" | "cancelled" | "spawn-error" | "skipped" | undefined;
@@ -26,7 +26,7 @@ export type HistoryStreamEnvelope = {
26
26
  work?: null | undefined;
27
27
  [k: string]: unknown;
28
28
  } | {
29
- schema_version?: "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | undefined;
29
+ schema_version?: "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12" | undefined;
30
30
  status?: "nonzero" | "timeout" | "cancelled" | undefined;
31
31
  work: "done" | "none";
32
32
  [k: string]: unknown;
@@ -35,43 +35,49 @@ export type HistoryStreamEnvelope = {
35
35
  [k: string]: unknown;
36
36
  } | {
37
37
  observed_model: string;
38
- schema_version?: "1.8" | "1.9" | "1.10" | "1.11" | undefined;
38
+ schema_version?: "1.8" | "1.9" | "1.10" | "1.11" | "1.12" | undefined;
39
39
  [k: string]: unknown;
40
40
  }) & ({
41
41
  status?: "ok" | "nonzero" | "timeout" | "spawn-error" | "skipped" | "planned" | undefined;
42
42
  [k: string]: unknown;
43
43
  } | {
44
- schema_version?: "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | undefined;
44
+ schema_version?: "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12" | undefined;
45
45
  [k: string]: unknown;
46
46
  }) & (({
47
- failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "server_overloaded" | "app_server_lost" | null;
47
+ failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "server_overloaded" | "app_server_lost" | "unsupported_input" | null;
48
48
  [k: string]: unknown;
49
49
  } | {
50
- schema_version?: "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | undefined;
50
+ schema_version?: "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12" | undefined;
51
51
  [k: string]: unknown;
52
52
  }) & ({
53
- failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "model_mismatch" | "server_overloaded" | "app_server_lost" | null;
53
+ failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "model_mismatch" | "server_overloaded" | "app_server_lost" | "unsupported_input" | null;
54
54
  [k: string]: unknown;
55
55
  } | {
56
- schema_version?: "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | undefined;
56
+ schema_version?: "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12" | undefined;
57
57
  [k: string]: unknown;
58
58
  }) & ({
59
- failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "server_overloaded" | "app_server_lost" | null;
59
+ failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "server_overloaded" | "app_server_lost" | "unsupported_input" | null;
60
60
  [k: string]: unknown;
61
61
  } | {
62
- schema_version?: "1.8" | "1.9" | "1.10" | "1.11" | undefined;
62
+ schema_version?: "1.8" | "1.9" | "1.10" | "1.11" | "1.12" | undefined;
63
63
  [k: string]: unknown;
64
64
  }) & ({
65
- failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "app_server_lost" | null;
65
+ failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "app_server_lost" | "unsupported_input" | null;
66
66
  [k: string]: unknown;
67
67
  } | {
68
- schema_version?: "1.9" | "1.10" | "1.11" | undefined;
68
+ schema_version?: "1.9" | "1.10" | "1.11" | "1.12" | undefined;
69
69
  [k: string]: unknown;
70
70
  }) & ({
71
- failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "server_overloaded" | null;
71
+ failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "server_overloaded" | "unsupported_input" | null;
72
72
  [k: string]: unknown;
73
73
  } | {
74
- schema_version?: "1.10" | "1.11" | undefined;
74
+ schema_version?: "1.10" | "1.11" | "1.12" | undefined;
75
+ [k: string]: unknown;
76
+ }) & ({
77
+ failure_kind?: "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "server_overloaded" | "app_server_lost" | null;
78
+ [k: string]: unknown;
79
+ } | {
80
+ schema_version?: "1.12" | undefined;
75
81
  [k: string]: unknown;
76
82
  })) & HistoryRecord;
77
83
  type: "record";
@@ -198,7 +204,7 @@ export type HistoryRecord = {
198
204
  * run's single prompt).
199
205
  */
200
206
  prompt: string;
201
- schema_version: "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11";
207
+ schema_version: "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12";
202
208
  /**
203
209
  * The oneharness session id this run belongs to (the history file's stem).
204
210
  */
@@ -501,7 +507,7 @@ export type HistoryRecord = {
501
507
  * run's single prompt).
502
508
  */
503
509
  prompt: string;
504
- schema_version: "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11";
510
+ schema_version: "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12";
505
511
  /**
506
512
  * The oneharness session id this run belongs to (the history file's stem).
507
513
  */
@@ -628,7 +634,7 @@ export type HistoryRecord = {
628
634
  * run's single prompt).
629
635
  */
630
636
  prompt: string;
631
- schema_version: "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11";
637
+ schema_version: "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12";
632
638
  /**
633
639
  * The oneharness session id this run belongs to (the history file's stem).
634
640
  */
@@ -755,7 +761,7 @@ export type HistoryRecord = {
755
761
  * run's single prompt).
756
762
  */
757
763
  prompt: string;
758
- schema_version: "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11";
764
+ schema_version: "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12";
759
765
  /**
760
766
  * The oneharness session id this run belongs to (the history file's stem).
761
767
  */
@@ -882,7 +888,7 @@ export type HistoryRecord = {
882
888
  * run's single prompt).
883
889
  */
884
890
  prompt: string;
885
- schema_version: "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11";
891
+ schema_version: "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12";
886
892
  /**
887
893
  * The oneharness session id this run belongs to (the history file's stem).
888
894
  */
@@ -1355,7 +1361,7 @@ export type TimingSource = "provider_measured" | "stdout_observed";
1355
1361
  * the report, history) one definition to share instead of scattered string
1356
1362
  * literals.
1357
1363
  */
1358
- export type FailureKind = "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "server_overloaded" | "app_server_lost";
1364
+ export type FailureKind = "auth" | "rate_limit" | "model_not_found" | "quota" | "session_not_found" | "tool_deferred" | "untrusted_directory" | "input_too_large" | "model_mismatch" | "server_overloaded" | "app_server_lost" | "unsupported_input";
1359
1365
  /**
1360
1366
  * The outcome of attempting to run one harness.
1361
1367
  */
@@ -1386,7 +1392,7 @@ export type HistoryEventLine = {
1386
1392
  harness: string;
1387
1393
  harness_id?: string | null | undefined;
1388
1394
  run_id: string;
1389
- schema_version: "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11";
1395
+ schema_version: "1.2" | "1.3" | "1.4" | "1.5" | "1.6" | "1.7" | "1.8" | "1.9" | "1.10" | "1.11" | "1.12";
1390
1396
  /**
1391
1397
  * The name of the session this line belongs to — the `name` its run's
1392
1398
  * closing `run` line will carry — so a run still in progress (events but