@oneharness/sdk 0.26.1 → 0.27.1
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/README.md +1 -1
- package/dist/generated/capabilities.d.ts +113 -0
- package/dist/generated/capabilities.js +134 -0
- package/dist/generated/compact-options.d.ts +26 -0
- package/dist/generated/compact-options.js +2 -0
- package/dist/generated/compact-outcome.d.ts +72 -0
- package/dist/generated/compact-outcome.js +2 -0
- package/dist/generated/config-report.d.ts +42 -24
- package/dist/generated/contracts.d.ts +74 -6
- package/dist/generated/history-line.d.ts +29 -23
- package/dist/generated/history-show-entries.d.ts +26 -20
- package/dist/generated/history-stream-envelope.d.ts +27 -21
- package/dist/generated/history.d.ts +26 -20
- package/dist/generated/options.d.ts +30 -0
- package/dist/generated/registry.d.ts +32 -0
- package/dist/generated/run-stream-envelope.d.ts +73 -5
- package/dist/generated/schemas.json +1004 -100
- package/dist/generated/zod.d.ts +12 -3
- package/dist/generated/zod.js +202 -27
- package/dist/index.d.ts +13 -0
- package/dist/index.js +12 -1
- package/package.json +2 -2
|
@@ -169,6 +169,36 @@
|
|
|
169
169
|
"kind": "value",
|
|
170
170
|
"unless": null
|
|
171
171
|
},
|
|
172
|
+
{
|
|
173
|
+
"option": "autoCompactTokens",
|
|
174
|
+
"flag": "--auto-compact-tokens",
|
|
175
|
+
"kind": "value",
|
|
176
|
+
"unless": null
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"option": "toolSet",
|
|
180
|
+
"flag": "--tool-set",
|
|
181
|
+
"kind": "repeated",
|
|
182
|
+
"unless": null
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"option": "noSkills",
|
|
186
|
+
"flag": "--no-skills",
|
|
187
|
+
"kind": "switch",
|
|
188
|
+
"unless": null
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"option": "noMcp",
|
|
192
|
+
"flag": "--no-mcp",
|
|
193
|
+
"kind": "switch",
|
|
194
|
+
"unless": null
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"option": "images",
|
|
198
|
+
"flag": "--image",
|
|
199
|
+
"kind": "repeated",
|
|
200
|
+
"unless": null
|
|
201
|
+
},
|
|
172
202
|
{
|
|
173
203
|
"option": "cwd",
|
|
174
204
|
"flag": "--cwd",
|
|
@@ -470,6 +500,36 @@
|
|
|
470
500
|
"kind": "value",
|
|
471
501
|
"unless": null
|
|
472
502
|
},
|
|
503
|
+
{
|
|
504
|
+
"option": "autoCompactTokens",
|
|
505
|
+
"flag": "--auto-compact-tokens",
|
|
506
|
+
"kind": "value",
|
|
507
|
+
"unless": null
|
|
508
|
+
},
|
|
509
|
+
{
|
|
510
|
+
"option": "toolSet",
|
|
511
|
+
"flag": "--tool-set",
|
|
512
|
+
"kind": "repeated",
|
|
513
|
+
"unless": null
|
|
514
|
+
},
|
|
515
|
+
{
|
|
516
|
+
"option": "noSkills",
|
|
517
|
+
"flag": "--no-skills",
|
|
518
|
+
"kind": "switch",
|
|
519
|
+
"unless": null
|
|
520
|
+
},
|
|
521
|
+
{
|
|
522
|
+
"option": "noMcp",
|
|
523
|
+
"flag": "--no-mcp",
|
|
524
|
+
"kind": "switch",
|
|
525
|
+
"unless": null
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
"option": "images",
|
|
529
|
+
"flag": "--image",
|
|
530
|
+
"kind": "repeated",
|
|
531
|
+
"unless": null
|
|
532
|
+
},
|
|
473
533
|
{
|
|
474
534
|
"option": "cwd",
|
|
475
535
|
"flag": "--cwd",
|
|
@@ -988,6 +1048,86 @@
|
|
|
988
1048
|
],
|
|
989
1049
|
"uncovered": []
|
|
990
1050
|
},
|
|
1051
|
+
{
|
|
1052
|
+
"method": "compact",
|
|
1053
|
+
"argv": [
|
|
1054
|
+
"compact"
|
|
1055
|
+
],
|
|
1056
|
+
"options": "compact_options",
|
|
1057
|
+
"output": "compact_outcome",
|
|
1058
|
+
"stdout": "json",
|
|
1059
|
+
"stdin": false,
|
|
1060
|
+
"rust": "oneharness_core::io::compact::compact_session",
|
|
1061
|
+
"always": [
|
|
1062
|
+
"--compact",
|
|
1063
|
+
"--format",
|
|
1064
|
+
"json"
|
|
1065
|
+
],
|
|
1066
|
+
"bindings": [
|
|
1067
|
+
{
|
|
1068
|
+
"option": "session",
|
|
1069
|
+
"flag": "--session",
|
|
1070
|
+
"kind": "value",
|
|
1071
|
+
"unless": null
|
|
1072
|
+
},
|
|
1073
|
+
{
|
|
1074
|
+
"option": "sessionDir",
|
|
1075
|
+
"flag": "--session-dir",
|
|
1076
|
+
"kind": "value",
|
|
1077
|
+
"unless": null
|
|
1078
|
+
},
|
|
1079
|
+
{
|
|
1080
|
+
"option": "harness",
|
|
1081
|
+
"flag": "--harness",
|
|
1082
|
+
"kind": "value",
|
|
1083
|
+
"unless": null
|
|
1084
|
+
},
|
|
1085
|
+
{
|
|
1086
|
+
"option": "cwd",
|
|
1087
|
+
"flag": "--cwd",
|
|
1088
|
+
"kind": "value",
|
|
1089
|
+
"unless": null
|
|
1090
|
+
},
|
|
1091
|
+
{
|
|
1092
|
+
"option": "model",
|
|
1093
|
+
"flag": "--model",
|
|
1094
|
+
"kind": "value",
|
|
1095
|
+
"unless": null
|
|
1096
|
+
},
|
|
1097
|
+
{
|
|
1098
|
+
"option": "timeoutSeconds",
|
|
1099
|
+
"flag": "--timeout",
|
|
1100
|
+
"kind": "value",
|
|
1101
|
+
"unless": null
|
|
1102
|
+
},
|
|
1103
|
+
{
|
|
1104
|
+
"option": "env",
|
|
1105
|
+
"flag": "--env",
|
|
1106
|
+
"kind": "key-value",
|
|
1107
|
+
"unless": null
|
|
1108
|
+
},
|
|
1109
|
+
{
|
|
1110
|
+
"option": "bins",
|
|
1111
|
+
"flag": "--bin",
|
|
1112
|
+
"kind": "key-value",
|
|
1113
|
+
"unless": null
|
|
1114
|
+
},
|
|
1115
|
+
{
|
|
1116
|
+
"option": "config",
|
|
1117
|
+
"flag": "--config",
|
|
1118
|
+
"kind": "repeated",
|
|
1119
|
+
"unless": "noConfig",
|
|
1120
|
+
"unless_resolution": "refuse"
|
|
1121
|
+
},
|
|
1122
|
+
{
|
|
1123
|
+
"option": "noConfig",
|
|
1124
|
+
"flag": "--no-config",
|
|
1125
|
+
"kind": "switch",
|
|
1126
|
+
"unless": null
|
|
1127
|
+
}
|
|
1128
|
+
],
|
|
1129
|
+
"uncovered": []
|
|
1130
|
+
},
|
|
991
1131
|
{
|
|
992
1132
|
"method": "history",
|
|
993
1133
|
"argv": [
|
|
@@ -1875,6 +2015,28 @@
|
|
|
1875
2015
|
"interrupt"
|
|
1876
2016
|
]
|
|
1877
2017
|
},
|
|
2018
|
+
"Diagnostic": {
|
|
2019
|
+
"description": "A setting a harness could not apply, named in the run's report.",
|
|
2020
|
+
"type": "object",
|
|
2021
|
+
"properties": {
|
|
2022
|
+
"harness": {
|
|
2023
|
+
"description": "The harness id the run used.",
|
|
2024
|
+
"type": "string"
|
|
2025
|
+
},
|
|
2026
|
+
"message": {
|
|
2027
|
+
"description": "What happened instead.",
|
|
2028
|
+
"type": "string"
|
|
2029
|
+
},
|
|
2030
|
+
"setting": {
|
|
2031
|
+
"$ref": "#/$defs/Setting"
|
|
2032
|
+
}
|
|
2033
|
+
},
|
|
2034
|
+
"required": [
|
|
2035
|
+
"harness",
|
|
2036
|
+
"setting",
|
|
2037
|
+
"message"
|
|
2038
|
+
]
|
|
2039
|
+
},
|
|
1878
2040
|
"ExecutionTelemetry": {
|
|
1879
2041
|
"description": "Measured execution telemetry for one harness run: when the invocation ran,\nand — when the harness's transcript supports it — how its wall clock split\nbetween provider latency and tool work.\n\nCarried from the runner/parser to the history writer *and*, since report\nschema `0.5`, serialized on [`RunResult::telemetry`]. Exposing it there is\nwhat lets a consumer read the numbers off the run it just made instead of\nre-opening the history file the same run wrote.\n\nInternally tagged by `source`, so the variant is a value a consumer switches\non rather than a shape it has to sniff. Every variant states only what was\nactually measured — there is no variant meaning \"no telemetry\"; that is a\n`null` field.",
|
|
1880
2042
|
"oneOf": [
|
|
@@ -2030,6 +2192,11 @@
|
|
|
2030
2192
|
"description": "The shared Codex app-server a pooled dispatch's turn ran on went away\nunder it: the connection reached EOF, was closed, or refused a write\n(`EPIPE`) while oneharness's own record showed a turn started and not\ncompleted. The server crashed or was restarted, not the turn — so it is\nnever a turn failure, and a fallback chain moves on to its next\ncandidate (`\"app-server-lost\"`).",
|
|
2031
2193
|
"type": "string",
|
|
2032
2194
|
"const": "app_server_lost"
|
|
2195
|
+
},
|
|
2196
|
+
{
|
|
2197
|
+
"description": "The request carried an input this harness cannot take — today an\nimage (`images`) on a harness with no image input — so the harness was\nrefused for the run before it started, and a fallback chain moves on\n(`\"unsupported-input\"`). Its `error` names the input.",
|
|
2198
|
+
"type": "string",
|
|
2199
|
+
"const": "unsupported_input"
|
|
2033
2200
|
}
|
|
2034
2201
|
]
|
|
2035
2202
|
},
|
|
@@ -2121,6 +2288,11 @@
|
|
|
2121
2288
|
"description": "The shared Codex app-server went away under the candidate's live turn.",
|
|
2122
2289
|
"type": "string",
|
|
2123
2290
|
"const": "app-server-lost"
|
|
2291
|
+
},
|
|
2292
|
+
{
|
|
2293
|
+
"description": "The harness cannot take an input the request carried (an image).",
|
|
2294
|
+
"type": "string",
|
|
2295
|
+
"const": "unsupported-input"
|
|
2124
2296
|
}
|
|
2125
2297
|
]
|
|
2126
2298
|
},
|
|
@@ -2221,6 +2393,16 @@
|
|
|
2221
2393
|
"description": "The binary name or path oneharness resolved and would invoke.",
|
|
2222
2394
|
"type": "string"
|
|
2223
2395
|
},
|
|
2396
|
+
"calls": {
|
|
2397
|
+
"description": "One usage per model call the turn made, in order, read from the\nharness's own stream or session record (see\n[`crate::domain::lean::Setting::Calls`]). Like `usage`, it covers the\nrun's final attempt when a retry ran it again. Absent where the harness\nexposes no per-call figures, and then `diagnostics` says why. The\nrun's `usage` total is unchanged by it. Added in report schema `0.13`.",
|
|
2398
|
+
"type": [
|
|
2399
|
+
"array",
|
|
2400
|
+
"null"
|
|
2401
|
+
],
|
|
2402
|
+
"items": {
|
|
2403
|
+
"$ref": "#/$defs/Usage"
|
|
2404
|
+
}
|
|
2405
|
+
},
|
|
2224
2406
|
"command": {
|
|
2225
2407
|
"description": "The exact argv oneharness built; its first element is the binary.",
|
|
2226
2408
|
"type": "array",
|
|
@@ -2228,6 +2410,13 @@
|
|
|
2228
2410
|
"type": "string"
|
|
2229
2411
|
}
|
|
2230
2412
|
},
|
|
2413
|
+
"diagnostics": {
|
|
2414
|
+
"description": "Each setting this run's harness could not apply, or applied in part\n(`auto_compact_tokens`, `tool_set`, `load_skills`, `load_mcp`, `calls`):\nthe run proceeded, and this says what it did instead. Absent when\nempty. Added in report schema `0.13`.",
|
|
2415
|
+
"type": "array",
|
|
2416
|
+
"items": {
|
|
2417
|
+
"$ref": "#/$defs/Diagnostic"
|
|
2418
|
+
}
|
|
2419
|
+
},
|
|
2231
2420
|
"duration_ms": {
|
|
2232
2421
|
"description": "Wall-clock duration of the run; `null` when not executed.",
|
|
2233
2422
|
"type": [
|
|
@@ -2518,6 +2707,46 @@
|
|
|
2518
2707
|
"store_file"
|
|
2519
2708
|
]
|
|
2520
2709
|
},
|
|
2710
|
+
"Setting": {
|
|
2711
|
+
"description": "One of the settings this module translates.",
|
|
2712
|
+
"oneOf": [
|
|
2713
|
+
{
|
|
2714
|
+
"description": "Compact a session's context once it reaches this many tokens.",
|
|
2715
|
+
"type": "string",
|
|
2716
|
+
"const": "auto_compact_tokens"
|
|
2717
|
+
},
|
|
2718
|
+
{
|
|
2719
|
+
"description": "Compact a named session immediately (`oneharness compact`).",
|
|
2720
|
+
"type": "string",
|
|
2721
|
+
"const": "compact_now"
|
|
2722
|
+
},
|
|
2723
|
+
{
|
|
2724
|
+
"description": "Load only these built-in tool classes.",
|
|
2725
|
+
"type": "string",
|
|
2726
|
+
"const": "tool_set"
|
|
2727
|
+
},
|
|
2728
|
+
{
|
|
2729
|
+
"description": "`false` loads no skills list.",
|
|
2730
|
+
"type": "string",
|
|
2731
|
+
"const": "load_skills"
|
|
2732
|
+
},
|
|
2733
|
+
{
|
|
2734
|
+
"description": "`false` loads no MCP server or MCP tool.",
|
|
2735
|
+
"type": "string",
|
|
2736
|
+
"const": "load_mcp"
|
|
2737
|
+
},
|
|
2738
|
+
{
|
|
2739
|
+
"description": "Attach image files to the prompt as images.",
|
|
2740
|
+
"type": "string",
|
|
2741
|
+
"const": "images"
|
|
2742
|
+
},
|
|
2743
|
+
{
|
|
2744
|
+
"description": "One usage per model call (`RunResult::calls`).",
|
|
2745
|
+
"type": "string",
|
|
2746
|
+
"const": "calls"
|
|
2747
|
+
}
|
|
2748
|
+
]
|
|
2749
|
+
},
|
|
2521
2750
|
"Status": {
|
|
2522
2751
|
"description": "The outcome of attempting to run one harness.",
|
|
2523
2752
|
"oneOf": [
|
|
@@ -3052,6 +3281,28 @@
|
|
|
3052
3281
|
"interrupt"
|
|
3053
3282
|
]
|
|
3054
3283
|
},
|
|
3284
|
+
"Diagnostic": {
|
|
3285
|
+
"description": "A setting a harness could not apply, named in the run's report.",
|
|
3286
|
+
"type": "object",
|
|
3287
|
+
"properties": {
|
|
3288
|
+
"harness": {
|
|
3289
|
+
"description": "The harness id the run used.",
|
|
3290
|
+
"type": "string"
|
|
3291
|
+
},
|
|
3292
|
+
"message": {
|
|
3293
|
+
"description": "What happened instead.",
|
|
3294
|
+
"type": "string"
|
|
3295
|
+
},
|
|
3296
|
+
"setting": {
|
|
3297
|
+
"$ref": "#/$defs/Setting"
|
|
3298
|
+
}
|
|
3299
|
+
},
|
|
3300
|
+
"required": [
|
|
3301
|
+
"harness",
|
|
3302
|
+
"setting",
|
|
3303
|
+
"message"
|
|
3304
|
+
]
|
|
3305
|
+
},
|
|
3055
3306
|
"ExecutionTelemetry": {
|
|
3056
3307
|
"description": "Measured execution telemetry for one harness run: when the invocation ran,\nand — when the harness's transcript supports it — how its wall clock split\nbetween provider latency and tool work.\n\nCarried from the runner/parser to the history writer *and*, since report\nschema `0.5`, serialized on [`RunResult::telemetry`]. Exposing it there is\nwhat lets a consumer read the numbers off the run it just made instead of\nre-opening the history file the same run wrote.\n\nInternally tagged by `source`, so the variant is a value a consumer switches\non rather than a shape it has to sniff. Every variant states only what was\nactually measured — there is no variant meaning \"no telemetry\"; that is a\n`null` field.",
|
|
3057
3308
|
"oneOf": [
|
|
@@ -3207,6 +3458,11 @@
|
|
|
3207
3458
|
"description": "The shared Codex app-server a pooled dispatch's turn ran on went away\nunder it: the connection reached EOF, was closed, or refused a write\n(`EPIPE`) while oneharness's own record showed a turn started and not\ncompleted. The server crashed or was restarted, not the turn — so it is\nnever a turn failure, and a fallback chain moves on to its next\ncandidate (`\"app-server-lost\"`).",
|
|
3208
3459
|
"type": "string",
|
|
3209
3460
|
"const": "app_server_lost"
|
|
3461
|
+
},
|
|
3462
|
+
{
|
|
3463
|
+
"description": "The request carried an input this harness cannot take — today an\nimage (`images`) on a harness with no image input — so the harness was\nrefused for the run before it started, and a fallback chain moves on\n(`\"unsupported-input\"`). Its `error` names the input.",
|
|
3464
|
+
"type": "string",
|
|
3465
|
+
"const": "unsupported_input"
|
|
3210
3466
|
}
|
|
3211
3467
|
]
|
|
3212
3468
|
},
|
|
@@ -3298,6 +3554,11 @@
|
|
|
3298
3554
|
"description": "The shared Codex app-server went away under the candidate's live turn.",
|
|
3299
3555
|
"type": "string",
|
|
3300
3556
|
"const": "app-server-lost"
|
|
3557
|
+
},
|
|
3558
|
+
{
|
|
3559
|
+
"description": "The harness cannot take an input the request carried (an image).",
|
|
3560
|
+
"type": "string",
|
|
3561
|
+
"const": "unsupported-input"
|
|
3301
3562
|
}
|
|
3302
3563
|
]
|
|
3303
3564
|
},
|
|
@@ -3562,6 +3823,16 @@
|
|
|
3562
3823
|
"description": "The binary name or path oneharness resolved and would invoke.",
|
|
3563
3824
|
"type": "string"
|
|
3564
3825
|
},
|
|
3826
|
+
"calls": {
|
|
3827
|
+
"description": "One usage per model call the turn made, in order, read from the\nharness's own stream or session record (see\n[`crate::domain::lean::Setting::Calls`]). Like `usage`, it covers the\nrun's final attempt when a retry ran it again. Absent where the harness\nexposes no per-call figures, and then `diagnostics` says why. The\nrun's `usage` total is unchanged by it. Added in report schema `0.13`.",
|
|
3828
|
+
"type": [
|
|
3829
|
+
"array",
|
|
3830
|
+
"null"
|
|
3831
|
+
],
|
|
3832
|
+
"items": {
|
|
3833
|
+
"$ref": "#/$defs/Usage"
|
|
3834
|
+
}
|
|
3835
|
+
},
|
|
3565
3836
|
"command": {
|
|
3566
3837
|
"description": "The exact argv oneharness built; its first element is the binary.",
|
|
3567
3838
|
"type": "array",
|
|
@@ -3569,6 +3840,13 @@
|
|
|
3569
3840
|
"type": "string"
|
|
3570
3841
|
}
|
|
3571
3842
|
},
|
|
3843
|
+
"diagnostics": {
|
|
3844
|
+
"description": "Each setting this run's harness could not apply, or applied in part\n(`auto_compact_tokens`, `tool_set`, `load_skills`, `load_mcp`, `calls`):\nthe run proceeded, and this says what it did instead. Absent when\nempty. Added in report schema `0.13`.",
|
|
3845
|
+
"type": "array",
|
|
3846
|
+
"items": {
|
|
3847
|
+
"$ref": "#/$defs/Diagnostic"
|
|
3848
|
+
}
|
|
3849
|
+
},
|
|
3572
3850
|
"duration_ms": {
|
|
3573
3851
|
"description": "Wall-clock duration of the run; `null` when not executed.",
|
|
3574
3852
|
"type": [
|
|
@@ -3859,6 +4137,46 @@
|
|
|
3859
4137
|
"store_file"
|
|
3860
4138
|
]
|
|
3861
4139
|
},
|
|
4140
|
+
"Setting": {
|
|
4141
|
+
"description": "One of the settings this module translates.",
|
|
4142
|
+
"oneOf": [
|
|
4143
|
+
{
|
|
4144
|
+
"description": "Compact a session's context once it reaches this many tokens.",
|
|
4145
|
+
"type": "string",
|
|
4146
|
+
"const": "auto_compact_tokens"
|
|
4147
|
+
},
|
|
4148
|
+
{
|
|
4149
|
+
"description": "Compact a named session immediately (`oneharness compact`).",
|
|
4150
|
+
"type": "string",
|
|
4151
|
+
"const": "compact_now"
|
|
4152
|
+
},
|
|
4153
|
+
{
|
|
4154
|
+
"description": "Load only these built-in tool classes.",
|
|
4155
|
+
"type": "string",
|
|
4156
|
+
"const": "tool_set"
|
|
4157
|
+
},
|
|
4158
|
+
{
|
|
4159
|
+
"description": "`false` loads no skills list.",
|
|
4160
|
+
"type": "string",
|
|
4161
|
+
"const": "load_skills"
|
|
4162
|
+
},
|
|
4163
|
+
{
|
|
4164
|
+
"description": "`false` loads no MCP server or MCP tool.",
|
|
4165
|
+
"type": "string",
|
|
4166
|
+
"const": "load_mcp"
|
|
4167
|
+
},
|
|
4168
|
+
{
|
|
4169
|
+
"description": "Attach image files to the prompt as images.",
|
|
4170
|
+
"type": "string",
|
|
4171
|
+
"const": "images"
|
|
4172
|
+
},
|
|
4173
|
+
{
|
|
4174
|
+
"description": "One usage per model call (`RunResult::calls`).",
|
|
4175
|
+
"type": "string",
|
|
4176
|
+
"const": "calls"
|
|
4177
|
+
}
|
|
4178
|
+
]
|
|
4179
|
+
},
|
|
3862
4180
|
"Status": {
|
|
3863
4181
|
"description": "The outcome of attempting to run one harness.",
|
|
3864
4182
|
"oneOf": [
|
|
@@ -3996,6 +4314,12 @@
|
|
|
3996
4314
|
"description": "Run against every supported harness.",
|
|
3997
4315
|
"type": "boolean"
|
|
3998
4316
|
},
|
|
4317
|
+
"autoCompactTokens": {
|
|
4318
|
+
"description": "Compact a session's context once it reaches this many tokens (a\npositive integer), through each harness's own knob.",
|
|
4319
|
+
"type": "integer",
|
|
4320
|
+
"format": "uint64",
|
|
4321
|
+
"minimum": 1
|
|
4322
|
+
},
|
|
3999
4323
|
"batchPrompts": {
|
|
4000
4324
|
"description": "Further prompts, making this a **batch**: one harness fanned over each\nprompt, sharing the cacheable `system`/model prefix. Combined order is\n`prompt`, then these, then `promptFiles` — the CLI's own order.",
|
|
4001
4325
|
"type": "array",
|
|
@@ -4068,6 +4392,13 @@
|
|
|
4068
4392
|
"type": "string",
|
|
4069
4393
|
"minLength": 1
|
|
4070
4394
|
},
|
|
4395
|
+
"images": {
|
|
4396
|
+
"description": "Image files attached to the prompt as images the model sees.",
|
|
4397
|
+
"type": "array",
|
|
4398
|
+
"items": {
|
|
4399
|
+
"type": "string"
|
|
4400
|
+
}
|
|
4401
|
+
},
|
|
4071
4402
|
"maxParallel": {
|
|
4072
4403
|
"description": "Maximum harnesses (or, in a batch, prompts) to run concurrently.",
|
|
4073
4404
|
"type": "integer",
|
|
@@ -4102,6 +4433,14 @@
|
|
|
4102
4433
|
"description": "Do NOT record history for this run, overriding config or the\n`ONEHARNESS_HISTORY` environment override.",
|
|
4103
4434
|
"type": "boolean"
|
|
4104
4435
|
},
|
|
4436
|
+
"noMcp": {
|
|
4437
|
+
"description": "Load no MCP server or MCP tool.",
|
|
4438
|
+
"type": "boolean"
|
|
4439
|
+
},
|
|
4440
|
+
"noSkills": {
|
|
4441
|
+
"description": "Load no skills list.",
|
|
4442
|
+
"type": "boolean"
|
|
4443
|
+
},
|
|
4105
4444
|
"outputDir": {
|
|
4106
4445
|
"description": "Write each harness's raw stdout/stderr under this directory.",
|
|
4107
4446
|
"type": "string"
|
|
@@ -4187,6 +4526,14 @@
|
|
|
4187
4526
|
"type": "integer",
|
|
4188
4527
|
"format": "uint64",
|
|
4189
4528
|
"minimum": 0
|
|
4529
|
+
},
|
|
4530
|
+
"toolSet": {
|
|
4531
|
+
"description": "Load only these built-in tool classes; every other built-in tool is\nnot loaded. At least one: each class is sent as its own `--tool-set`,\nso an empty array would send nothing at all and is refused rather than\nsilently loading the harness's own tools.",
|
|
4532
|
+
"type": "array",
|
|
4533
|
+
"items": {
|
|
4534
|
+
"$ref": "#/$defs/ToolClass"
|
|
4535
|
+
},
|
|
4536
|
+
"minItems": 1
|
|
4190
4537
|
}
|
|
4191
4538
|
},
|
|
4192
4539
|
"additionalProperties": false,
|
|
@@ -4297,6 +4644,21 @@
|
|
|
4297
4644
|
"const": "fallback"
|
|
4298
4645
|
}
|
|
4299
4646
|
]
|
|
4647
|
+
},
|
|
4648
|
+
"ToolClass": {
|
|
4649
|
+
"description": "A harness-agnostic class of built-in tool a turn may load (`tool_set`).",
|
|
4650
|
+
"oneOf": [
|
|
4651
|
+
{
|
|
4652
|
+
"description": "Run commands.",
|
|
4653
|
+
"type": "string",
|
|
4654
|
+
"const": "shell"
|
|
4655
|
+
},
|
|
4656
|
+
{
|
|
4657
|
+
"description": "Read files.",
|
|
4658
|
+
"type": "string",
|
|
4659
|
+
"const": "read"
|
|
4660
|
+
}
|
|
4661
|
+
]
|
|
4300
4662
|
}
|
|
4301
4663
|
}
|
|
4302
4664
|
},
|
|
@@ -4743,7 +5105,8 @@
|
|
|
4743
5105
|
"schema_version": {
|
|
4744
5106
|
"type": "string",
|
|
4745
5107
|
"enum": [
|
|
4746
|
-
"1.11"
|
|
5108
|
+
"1.11",
|
|
5109
|
+
"1.12"
|
|
4747
5110
|
]
|
|
4748
5111
|
},
|
|
4749
5112
|
"started": {
|
|
@@ -4805,7 +5168,8 @@
|
|
|
4805
5168
|
"1.8",
|
|
4806
5169
|
"1.9",
|
|
4807
5170
|
"1.10",
|
|
4808
|
-
"1.11"
|
|
5171
|
+
"1.11",
|
|
5172
|
+
"1.12"
|
|
4809
5173
|
]
|
|
4810
5174
|
},
|
|
4811
5175
|
"session_name": {
|
|
@@ -4950,7 +5314,8 @@
|
|
|
4950
5314
|
"1.8",
|
|
4951
5315
|
"1.9",
|
|
4952
5316
|
"1.10",
|
|
4953
|
-
"1.11"
|
|
5317
|
+
"1.11",
|
|
5318
|
+
"1.12"
|
|
4954
5319
|
]
|
|
4955
5320
|
}
|
|
4956
5321
|
},
|
|
@@ -5014,7 +5379,8 @@
|
|
|
5014
5379
|
"1.8",
|
|
5015
5380
|
"1.9",
|
|
5016
5381
|
"1.10",
|
|
5017
|
-
"1.11"
|
|
5382
|
+
"1.11",
|
|
5383
|
+
"1.12"
|
|
5018
5384
|
]
|
|
5019
5385
|
},
|
|
5020
5386
|
"status": {
|
|
@@ -5063,7 +5429,8 @@
|
|
|
5063
5429
|
"1.8",
|
|
5064
5430
|
"1.9",
|
|
5065
5431
|
"1.10",
|
|
5066
|
-
"1.11"
|
|
5432
|
+
"1.11",
|
|
5433
|
+
"1.12"
|
|
5067
5434
|
]
|
|
5068
5435
|
}
|
|
5069
5436
|
},
|
|
@@ -5104,7 +5471,8 @@
|
|
|
5104
5471
|
"1.8",
|
|
5105
5472
|
"1.9",
|
|
5106
5473
|
"1.10",
|
|
5107
|
-
"1.11"
|
|
5474
|
+
"1.11",
|
|
5475
|
+
"1.12"
|
|
5108
5476
|
]
|
|
5109
5477
|
}
|
|
5110
5478
|
}
|
|
@@ -5130,6 +5498,7 @@
|
|
|
5130
5498
|
"model_mismatch",
|
|
5131
5499
|
"server_overloaded",
|
|
5132
5500
|
"app_server_lost",
|
|
5501
|
+
"unsupported_input",
|
|
5133
5502
|
null
|
|
5134
5503
|
]
|
|
5135
5504
|
}
|
|
@@ -5147,7 +5516,8 @@
|
|
|
5147
5516
|
"1.8",
|
|
5148
5517
|
"1.9",
|
|
5149
5518
|
"1.10",
|
|
5150
|
-
"1.11"
|
|
5519
|
+
"1.11",
|
|
5520
|
+
"1.12"
|
|
5151
5521
|
]
|
|
5152
5522
|
}
|
|
5153
5523
|
}
|
|
@@ -5170,6 +5540,7 @@
|
|
|
5170
5540
|
"model_mismatch",
|
|
5171
5541
|
"server_overloaded",
|
|
5172
5542
|
"app_server_lost",
|
|
5543
|
+
"unsupported_input",
|
|
5173
5544
|
null
|
|
5174
5545
|
]
|
|
5175
5546
|
}
|
|
@@ -5186,7 +5557,8 @@
|
|
|
5186
5557
|
"1.8",
|
|
5187
5558
|
"1.9",
|
|
5188
5559
|
"1.10",
|
|
5189
|
-
"1.11"
|
|
5560
|
+
"1.11",
|
|
5561
|
+
"1.12"
|
|
5190
5562
|
]
|
|
5191
5563
|
}
|
|
5192
5564
|
}
|
|
@@ -5210,6 +5582,7 @@
|
|
|
5210
5582
|
"input_too_large",
|
|
5211
5583
|
"server_overloaded",
|
|
5212
5584
|
"app_server_lost",
|
|
5585
|
+
"unsupported_input",
|
|
5213
5586
|
null
|
|
5214
5587
|
]
|
|
5215
5588
|
}
|
|
@@ -5224,7 +5597,8 @@
|
|
|
5224
5597
|
"1.8",
|
|
5225
5598
|
"1.9",
|
|
5226
5599
|
"1.10",
|
|
5227
|
-
"1.11"
|
|
5600
|
+
"1.11",
|
|
5601
|
+
"1.12"
|
|
5228
5602
|
]
|
|
5229
5603
|
}
|
|
5230
5604
|
}
|
|
@@ -5248,6 +5622,7 @@
|
|
|
5248
5622
|
"input_too_large",
|
|
5249
5623
|
"model_mismatch",
|
|
5250
5624
|
"app_server_lost",
|
|
5625
|
+
"unsupported_input",
|
|
5251
5626
|
null
|
|
5252
5627
|
]
|
|
5253
5628
|
}
|
|
@@ -5261,7 +5636,8 @@
|
|
|
5261
5636
|
"enum": [
|
|
5262
5637
|
"1.9",
|
|
5263
5638
|
"1.10",
|
|
5264
|
-
"1.11"
|
|
5639
|
+
"1.11",
|
|
5640
|
+
"1.12"
|
|
5265
5641
|
]
|
|
5266
5642
|
}
|
|
5267
5643
|
}
|
|
@@ -5285,6 +5661,7 @@
|
|
|
5285
5661
|
"input_too_large",
|
|
5286
5662
|
"model_mismatch",
|
|
5287
5663
|
"server_overloaded",
|
|
5664
|
+
"unsupported_input",
|
|
5288
5665
|
null
|
|
5289
5666
|
]
|
|
5290
5667
|
}
|
|
@@ -5297,21 +5674,58 @@
|
|
|
5297
5674
|
"type": "string",
|
|
5298
5675
|
"enum": [
|
|
5299
5676
|
"1.10",
|
|
5300
|
-
"1.11"
|
|
5677
|
+
"1.11",
|
|
5678
|
+
"1.12"
|
|
5301
5679
|
]
|
|
5302
5680
|
}
|
|
5303
5681
|
}
|
|
5304
5682
|
}
|
|
5305
5683
|
]
|
|
5306
|
-
}
|
|
5307
|
-
]
|
|
5308
|
-
}
|
|
5309
|
-
],
|
|
5310
|
-
"oneOf": [
|
|
5311
|
-
{
|
|
5312
|
-
"allOf": [
|
|
5684
|
+
},
|
|
5313
5685
|
{
|
|
5314
|
-
"
|
|
5686
|
+
"anyOf": [
|
|
5687
|
+
{
|
|
5688
|
+
"type": "object",
|
|
5689
|
+
"properties": {
|
|
5690
|
+
"failure_kind": {
|
|
5691
|
+
"enum": [
|
|
5692
|
+
"auth",
|
|
5693
|
+
"rate_limit",
|
|
5694
|
+
"model_not_found",
|
|
5695
|
+
"quota",
|
|
5696
|
+
"session_not_found",
|
|
5697
|
+
"tool_deferred",
|
|
5698
|
+
"untrusted_directory",
|
|
5699
|
+
"input_too_large",
|
|
5700
|
+
"model_mismatch",
|
|
5701
|
+
"server_overloaded",
|
|
5702
|
+
"app_server_lost",
|
|
5703
|
+
null
|
|
5704
|
+
]
|
|
5705
|
+
}
|
|
5706
|
+
}
|
|
5707
|
+
},
|
|
5708
|
+
{
|
|
5709
|
+
"type": "object",
|
|
5710
|
+
"properties": {
|
|
5711
|
+
"schema_version": {
|
|
5712
|
+
"type": "string",
|
|
5713
|
+
"enum": [
|
|
5714
|
+
"1.12"
|
|
5715
|
+
]
|
|
5716
|
+
}
|
|
5717
|
+
}
|
|
5718
|
+
}
|
|
5719
|
+
]
|
|
5720
|
+
}
|
|
5721
|
+
]
|
|
5722
|
+
}
|
|
5723
|
+
],
|
|
5724
|
+
"oneOf": [
|
|
5725
|
+
{
|
|
5726
|
+
"allOf": [
|
|
5727
|
+
{
|
|
5728
|
+
"description": "The terminal summary for one harness run.",
|
|
5315
5729
|
"type": "object",
|
|
5316
5730
|
"properties": {
|
|
5317
5731
|
"duration_ms": {
|
|
@@ -5409,7 +5823,8 @@
|
|
|
5409
5823
|
"1.8",
|
|
5410
5824
|
"1.9",
|
|
5411
5825
|
"1.10",
|
|
5412
|
-
"1.11"
|
|
5826
|
+
"1.11",
|
|
5827
|
+
"1.12"
|
|
5413
5828
|
]
|
|
5414
5829
|
},
|
|
5415
5830
|
"session": {
|
|
@@ -5616,7 +6031,8 @@
|
|
|
5616
6031
|
"1.8",
|
|
5617
6032
|
"1.9",
|
|
5618
6033
|
"1.10",
|
|
5619
|
-
"1.11"
|
|
6034
|
+
"1.11",
|
|
6035
|
+
"1.12"
|
|
5620
6036
|
]
|
|
5621
6037
|
},
|
|
5622
6038
|
"session": {
|
|
@@ -5821,7 +6237,8 @@
|
|
|
5821
6237
|
"1.8",
|
|
5822
6238
|
"1.9",
|
|
5823
6239
|
"1.10",
|
|
5824
|
-
"1.11"
|
|
6240
|
+
"1.11",
|
|
6241
|
+
"1.12"
|
|
5825
6242
|
]
|
|
5826
6243
|
},
|
|
5827
6244
|
"session": {
|
|
@@ -6007,7 +6424,8 @@
|
|
|
6007
6424
|
"1.8",
|
|
6008
6425
|
"1.9",
|
|
6009
6426
|
"1.10",
|
|
6010
|
-
"1.11"
|
|
6427
|
+
"1.11",
|
|
6428
|
+
"1.12"
|
|
6011
6429
|
]
|
|
6012
6430
|
},
|
|
6013
6431
|
"session": {
|
|
@@ -6192,7 +6610,8 @@
|
|
|
6192
6610
|
"1.8",
|
|
6193
6611
|
"1.9",
|
|
6194
6612
|
"1.10",
|
|
6195
|
-
"1.11"
|
|
6613
|
+
"1.11",
|
|
6614
|
+
"1.12"
|
|
6196
6615
|
]
|
|
6197
6616
|
},
|
|
6198
6617
|
"session": {
|
|
@@ -6394,7 +6813,8 @@
|
|
|
6394
6813
|
"1.8",
|
|
6395
6814
|
"1.9",
|
|
6396
6815
|
"1.10",
|
|
6397
|
-
"1.11"
|
|
6816
|
+
"1.11",
|
|
6817
|
+
"1.12"
|
|
6398
6818
|
]
|
|
6399
6819
|
},
|
|
6400
6820
|
"session": {
|
|
@@ -6640,6 +7060,11 @@
|
|
|
6640
7060
|
"description": "The shared Codex app-server a pooled dispatch's turn ran on went away\nunder it: the connection reached EOF, was closed, or refused a write\n(`EPIPE`) while oneharness's own record showed a turn started and not\ncompleted. The server crashed or was restarted, not the turn — so it is\nnever a turn failure, and a fallback chain moves on to its next\ncandidate (`\"app-server-lost\"`).",
|
|
6641
7061
|
"type": "string",
|
|
6642
7062
|
"const": "app_server_lost"
|
|
7063
|
+
},
|
|
7064
|
+
{
|
|
7065
|
+
"description": "The request carried an input this harness cannot take — today an\nimage (`images`) on a harness with no image input — so the harness was\nrefused for the run before it started, and a fallback chain moves on\n(`\"unsupported-input\"`). Its `error` names the input.",
|
|
7066
|
+
"type": "string",
|
|
7067
|
+
"const": "unsupported_input"
|
|
6643
7068
|
}
|
|
6644
7069
|
]
|
|
6645
7070
|
},
|
|
@@ -6873,7 +7298,8 @@
|
|
|
6873
7298
|
"1.8",
|
|
6874
7299
|
"1.9",
|
|
6875
7300
|
"1.10",
|
|
6876
|
-
"1.11"
|
|
7301
|
+
"1.11",
|
|
7302
|
+
"1.12"
|
|
6877
7303
|
]
|
|
6878
7304
|
}
|
|
6879
7305
|
},
|
|
@@ -6937,7 +7363,8 @@
|
|
|
6937
7363
|
"1.8",
|
|
6938
7364
|
"1.9",
|
|
6939
7365
|
"1.10",
|
|
6940
|
-
"1.11"
|
|
7366
|
+
"1.11",
|
|
7367
|
+
"1.12"
|
|
6941
7368
|
]
|
|
6942
7369
|
},
|
|
6943
7370
|
"status": {
|
|
@@ -6986,7 +7413,8 @@
|
|
|
6986
7413
|
"1.8",
|
|
6987
7414
|
"1.9",
|
|
6988
7415
|
"1.10",
|
|
6989
|
-
"1.11"
|
|
7416
|
+
"1.11",
|
|
7417
|
+
"1.12"
|
|
6990
7418
|
]
|
|
6991
7419
|
}
|
|
6992
7420
|
},
|
|
@@ -7027,7 +7455,8 @@
|
|
|
7027
7455
|
"1.8",
|
|
7028
7456
|
"1.9",
|
|
7029
7457
|
"1.10",
|
|
7030
|
-
"1.11"
|
|
7458
|
+
"1.11",
|
|
7459
|
+
"1.12"
|
|
7031
7460
|
]
|
|
7032
7461
|
}
|
|
7033
7462
|
}
|
|
@@ -7053,6 +7482,7 @@
|
|
|
7053
7482
|
"model_mismatch",
|
|
7054
7483
|
"server_overloaded",
|
|
7055
7484
|
"app_server_lost",
|
|
7485
|
+
"unsupported_input",
|
|
7056
7486
|
null
|
|
7057
7487
|
]
|
|
7058
7488
|
}
|
|
@@ -7070,7 +7500,8 @@
|
|
|
7070
7500
|
"1.8",
|
|
7071
7501
|
"1.9",
|
|
7072
7502
|
"1.10",
|
|
7073
|
-
"1.11"
|
|
7503
|
+
"1.11",
|
|
7504
|
+
"1.12"
|
|
7074
7505
|
]
|
|
7075
7506
|
}
|
|
7076
7507
|
}
|
|
@@ -7093,6 +7524,7 @@
|
|
|
7093
7524
|
"model_mismatch",
|
|
7094
7525
|
"server_overloaded",
|
|
7095
7526
|
"app_server_lost",
|
|
7527
|
+
"unsupported_input",
|
|
7096
7528
|
null
|
|
7097
7529
|
]
|
|
7098
7530
|
}
|
|
@@ -7109,7 +7541,8 @@
|
|
|
7109
7541
|
"1.8",
|
|
7110
7542
|
"1.9",
|
|
7111
7543
|
"1.10",
|
|
7112
|
-
"1.11"
|
|
7544
|
+
"1.11",
|
|
7545
|
+
"1.12"
|
|
7113
7546
|
]
|
|
7114
7547
|
}
|
|
7115
7548
|
}
|
|
@@ -7133,6 +7566,7 @@
|
|
|
7133
7566
|
"input_too_large",
|
|
7134
7567
|
"server_overloaded",
|
|
7135
7568
|
"app_server_lost",
|
|
7569
|
+
"unsupported_input",
|
|
7136
7570
|
null
|
|
7137
7571
|
]
|
|
7138
7572
|
}
|
|
@@ -7147,7 +7581,8 @@
|
|
|
7147
7581
|
"1.8",
|
|
7148
7582
|
"1.9",
|
|
7149
7583
|
"1.10",
|
|
7150
|
-
"1.11"
|
|
7584
|
+
"1.11",
|
|
7585
|
+
"1.12"
|
|
7151
7586
|
]
|
|
7152
7587
|
}
|
|
7153
7588
|
}
|
|
@@ -7171,6 +7606,7 @@
|
|
|
7171
7606
|
"input_too_large",
|
|
7172
7607
|
"model_mismatch",
|
|
7173
7608
|
"app_server_lost",
|
|
7609
|
+
"unsupported_input",
|
|
7174
7610
|
null
|
|
7175
7611
|
]
|
|
7176
7612
|
}
|
|
@@ -7184,7 +7620,8 @@
|
|
|
7184
7620
|
"enum": [
|
|
7185
7621
|
"1.9",
|
|
7186
7622
|
"1.10",
|
|
7187
|
-
"1.11"
|
|
7623
|
+
"1.11",
|
|
7624
|
+
"1.12"
|
|
7188
7625
|
]
|
|
7189
7626
|
}
|
|
7190
7627
|
}
|
|
@@ -7208,6 +7645,7 @@
|
|
|
7208
7645
|
"input_too_large",
|
|
7209
7646
|
"model_mismatch",
|
|
7210
7647
|
"server_overloaded",
|
|
7648
|
+
"unsupported_input",
|
|
7211
7649
|
null
|
|
7212
7650
|
]
|
|
7213
7651
|
}
|
|
@@ -7220,7 +7658,44 @@
|
|
|
7220
7658
|
"type": "string",
|
|
7221
7659
|
"enum": [
|
|
7222
7660
|
"1.10",
|
|
7223
|
-
"1.11"
|
|
7661
|
+
"1.11",
|
|
7662
|
+
"1.12"
|
|
7663
|
+
]
|
|
7664
|
+
}
|
|
7665
|
+
}
|
|
7666
|
+
}
|
|
7667
|
+
]
|
|
7668
|
+
},
|
|
7669
|
+
{
|
|
7670
|
+
"anyOf": [
|
|
7671
|
+
{
|
|
7672
|
+
"type": "object",
|
|
7673
|
+
"properties": {
|
|
7674
|
+
"failure_kind": {
|
|
7675
|
+
"enum": [
|
|
7676
|
+
"auth",
|
|
7677
|
+
"rate_limit",
|
|
7678
|
+
"model_not_found",
|
|
7679
|
+
"quota",
|
|
7680
|
+
"session_not_found",
|
|
7681
|
+
"tool_deferred",
|
|
7682
|
+
"untrusted_directory",
|
|
7683
|
+
"input_too_large",
|
|
7684
|
+
"model_mismatch",
|
|
7685
|
+
"server_overloaded",
|
|
7686
|
+
"app_server_lost",
|
|
7687
|
+
null
|
|
7688
|
+
]
|
|
7689
|
+
}
|
|
7690
|
+
}
|
|
7691
|
+
},
|
|
7692
|
+
{
|
|
7693
|
+
"type": "object",
|
|
7694
|
+
"properties": {
|
|
7695
|
+
"schema_version": {
|
|
7696
|
+
"type": "string",
|
|
7697
|
+
"enum": [
|
|
7698
|
+
"1.12"
|
|
7224
7699
|
]
|
|
7225
7700
|
}
|
|
7226
7701
|
}
|
|
@@ -7532,7 +8007,8 @@
|
|
|
7532
8007
|
"1.8",
|
|
7533
8008
|
"1.9",
|
|
7534
8009
|
"1.10",
|
|
7535
|
-
"1.11"
|
|
8010
|
+
"1.11",
|
|
8011
|
+
"1.12"
|
|
7536
8012
|
]
|
|
7537
8013
|
},
|
|
7538
8014
|
"session": {
|
|
@@ -8194,7 +8670,8 @@
|
|
|
8194
8670
|
"1.8",
|
|
8195
8671
|
"1.9",
|
|
8196
8672
|
"1.10",
|
|
8197
|
-
"1.11"
|
|
8673
|
+
"1.11",
|
|
8674
|
+
"1.12"
|
|
8198
8675
|
]
|
|
8199
8676
|
},
|
|
8200
8677
|
"session": {
|
|
@@ -8394,7 +8871,8 @@
|
|
|
8394
8871
|
"1.8",
|
|
8395
8872
|
"1.9",
|
|
8396
8873
|
"1.10",
|
|
8397
|
-
"1.11"
|
|
8874
|
+
"1.11",
|
|
8875
|
+
"1.12"
|
|
8398
8876
|
]
|
|
8399
8877
|
},
|
|
8400
8878
|
"session": {
|
|
@@ -8592,7 +9070,8 @@
|
|
|
8592
9070
|
"1.8",
|
|
8593
9071
|
"1.9",
|
|
8594
9072
|
"1.10",
|
|
8595
|
-
"1.11"
|
|
9073
|
+
"1.11",
|
|
9074
|
+
"1.12"
|
|
8596
9075
|
]
|
|
8597
9076
|
},
|
|
8598
9077
|
"session": {
|
|
@@ -8791,7 +9270,8 @@
|
|
|
8791
9270
|
"1.8",
|
|
8792
9271
|
"1.9",
|
|
8793
9272
|
"1.10",
|
|
8794
|
-
"1.11"
|
|
9273
|
+
"1.11",
|
|
9274
|
+
"1.12"
|
|
8795
9275
|
]
|
|
8796
9276
|
},
|
|
8797
9277
|
"session": {
|
|
@@ -9755,6 +10235,11 @@
|
|
|
9755
10235
|
"description": "The shared Codex app-server a pooled dispatch's turn ran on went away\nunder it: the connection reached EOF, was closed, or refused a write\n(`EPIPE`) while oneharness's own record showed a turn started and not\ncompleted. The server crashed or was restarted, not the turn — so it is\nnever a turn failure, and a fallback chain moves on to its next\ncandidate (`\"app-server-lost\"`).",
|
|
9756
10236
|
"type": "string",
|
|
9757
10237
|
"const": "app_server_lost"
|
|
10238
|
+
},
|
|
10239
|
+
{
|
|
10240
|
+
"description": "The request carried an input this harness cannot take — today an\nimage (`images`) on a harness with no image input — so the harness was\nrefused for the run before it started, and a fallback chain moves on\n(`\"unsupported-input\"`). Its `error` names the input.",
|
|
10241
|
+
"type": "string",
|
|
10242
|
+
"const": "unsupported_input"
|
|
9758
10243
|
}
|
|
9759
10244
|
]
|
|
9760
10245
|
},
|
|
@@ -10144,6 +10629,11 @@
|
|
|
10144
10629
|
"description": "The shared Codex app-server a pooled dispatch's turn ran on went away\nunder it: the connection reached EOF, was closed, or refused a write\n(`EPIPE`) while oneharness's own record showed a turn started and not\ncompleted. The server crashed or was restarted, not the turn — so it is\nnever a turn failure, and a fallback chain moves on to its next\ncandidate (`\"app-server-lost\"`).",
|
|
10145
10630
|
"type": "string",
|
|
10146
10631
|
"const": "app_server_lost"
|
|
10632
|
+
},
|
|
10633
|
+
{
|
|
10634
|
+
"description": "The request carried an input this harness cannot take — today an\nimage (`images`) on a harness with no image input — so the harness was\nrefused for the run before it started, and a fallback chain moves on\n(`\"unsupported-input\"`). Its `error` names the input.",
|
|
10635
|
+
"type": "string",
|
|
10636
|
+
"const": "unsupported_input"
|
|
10147
10637
|
}
|
|
10148
10638
|
]
|
|
10149
10639
|
},
|
|
@@ -10185,7 +10675,8 @@
|
|
|
10185
10675
|
"1.8",
|
|
10186
10676
|
"1.9",
|
|
10187
10677
|
"1.10",
|
|
10188
|
-
"1.11"
|
|
10678
|
+
"1.11",
|
|
10679
|
+
"1.12"
|
|
10189
10680
|
]
|
|
10190
10681
|
},
|
|
10191
10682
|
"session_name": {
|
|
@@ -10336,7 +10827,8 @@
|
|
|
10336
10827
|
"1.8",
|
|
10337
10828
|
"1.9",
|
|
10338
10829
|
"1.10",
|
|
10339
|
-
"1.11"
|
|
10830
|
+
"1.11",
|
|
10831
|
+
"1.12"
|
|
10340
10832
|
]
|
|
10341
10833
|
}
|
|
10342
10834
|
},
|
|
@@ -10400,7 +10892,8 @@
|
|
|
10400
10892
|
"1.8",
|
|
10401
10893
|
"1.9",
|
|
10402
10894
|
"1.10",
|
|
10403
|
-
"1.11"
|
|
10895
|
+
"1.11",
|
|
10896
|
+
"1.12"
|
|
10404
10897
|
]
|
|
10405
10898
|
},
|
|
10406
10899
|
"status": {
|
|
@@ -10449,7 +10942,8 @@
|
|
|
10449
10942
|
"1.8",
|
|
10450
10943
|
"1.9",
|
|
10451
10944
|
"1.10",
|
|
10452
|
-
"1.11"
|
|
10945
|
+
"1.11",
|
|
10946
|
+
"1.12"
|
|
10453
10947
|
]
|
|
10454
10948
|
}
|
|
10455
10949
|
},
|
|
@@ -10490,7 +10984,8 @@
|
|
|
10490
10984
|
"1.8",
|
|
10491
10985
|
"1.9",
|
|
10492
10986
|
"1.10",
|
|
10493
|
-
"1.11"
|
|
10987
|
+
"1.11",
|
|
10988
|
+
"1.12"
|
|
10494
10989
|
]
|
|
10495
10990
|
}
|
|
10496
10991
|
}
|
|
@@ -10516,6 +11011,7 @@
|
|
|
10516
11011
|
"model_mismatch",
|
|
10517
11012
|
"server_overloaded",
|
|
10518
11013
|
"app_server_lost",
|
|
11014
|
+
"unsupported_input",
|
|
10519
11015
|
null
|
|
10520
11016
|
]
|
|
10521
11017
|
}
|
|
@@ -10533,7 +11029,8 @@
|
|
|
10533
11029
|
"1.8",
|
|
10534
11030
|
"1.9",
|
|
10535
11031
|
"1.10",
|
|
10536
|
-
"1.11"
|
|
11032
|
+
"1.11",
|
|
11033
|
+
"1.12"
|
|
10537
11034
|
]
|
|
10538
11035
|
}
|
|
10539
11036
|
}
|
|
@@ -10556,6 +11053,7 @@
|
|
|
10556
11053
|
"model_mismatch",
|
|
10557
11054
|
"server_overloaded",
|
|
10558
11055
|
"app_server_lost",
|
|
11056
|
+
"unsupported_input",
|
|
10559
11057
|
null
|
|
10560
11058
|
]
|
|
10561
11059
|
}
|
|
@@ -10572,7 +11070,8 @@
|
|
|
10572
11070
|
"1.8",
|
|
10573
11071
|
"1.9",
|
|
10574
11072
|
"1.10",
|
|
10575
|
-
"1.11"
|
|
11073
|
+
"1.11",
|
|
11074
|
+
"1.12"
|
|
10576
11075
|
]
|
|
10577
11076
|
}
|
|
10578
11077
|
}
|
|
@@ -10596,6 +11095,7 @@
|
|
|
10596
11095
|
"input_too_large",
|
|
10597
11096
|
"server_overloaded",
|
|
10598
11097
|
"app_server_lost",
|
|
11098
|
+
"unsupported_input",
|
|
10599
11099
|
null
|
|
10600
11100
|
]
|
|
10601
11101
|
}
|
|
@@ -10610,7 +11110,8 @@
|
|
|
10610
11110
|
"1.8",
|
|
10611
11111
|
"1.9",
|
|
10612
11112
|
"1.10",
|
|
10613
|
-
"1.11"
|
|
11113
|
+
"1.11",
|
|
11114
|
+
"1.12"
|
|
10614
11115
|
]
|
|
10615
11116
|
}
|
|
10616
11117
|
}
|
|
@@ -10634,6 +11135,7 @@
|
|
|
10634
11135
|
"input_too_large",
|
|
10635
11136
|
"model_mismatch",
|
|
10636
11137
|
"app_server_lost",
|
|
11138
|
+
"unsupported_input",
|
|
10637
11139
|
null
|
|
10638
11140
|
]
|
|
10639
11141
|
}
|
|
@@ -10647,7 +11149,8 @@
|
|
|
10647
11149
|
"enum": [
|
|
10648
11150
|
"1.9",
|
|
10649
11151
|
"1.10",
|
|
10650
|
-
"1.11"
|
|
11152
|
+
"1.11",
|
|
11153
|
+
"1.12"
|
|
10651
11154
|
]
|
|
10652
11155
|
}
|
|
10653
11156
|
}
|
|
@@ -10671,6 +11174,7 @@
|
|
|
10671
11174
|
"input_too_large",
|
|
10672
11175
|
"model_mismatch",
|
|
10673
11176
|
"server_overloaded",
|
|
11177
|
+
"unsupported_input",
|
|
10674
11178
|
null
|
|
10675
11179
|
]
|
|
10676
11180
|
}
|
|
@@ -10683,7 +11187,44 @@
|
|
|
10683
11187
|
"type": "string",
|
|
10684
11188
|
"enum": [
|
|
10685
11189
|
"1.10",
|
|
10686
|
-
"1.11"
|
|
11190
|
+
"1.11",
|
|
11191
|
+
"1.12"
|
|
11192
|
+
]
|
|
11193
|
+
}
|
|
11194
|
+
}
|
|
11195
|
+
}
|
|
11196
|
+
]
|
|
11197
|
+
},
|
|
11198
|
+
{
|
|
11199
|
+
"anyOf": [
|
|
11200
|
+
{
|
|
11201
|
+
"type": "object",
|
|
11202
|
+
"properties": {
|
|
11203
|
+
"failure_kind": {
|
|
11204
|
+
"enum": [
|
|
11205
|
+
"auth",
|
|
11206
|
+
"rate_limit",
|
|
11207
|
+
"model_not_found",
|
|
11208
|
+
"quota",
|
|
11209
|
+
"session_not_found",
|
|
11210
|
+
"tool_deferred",
|
|
11211
|
+
"untrusted_directory",
|
|
11212
|
+
"input_too_large",
|
|
11213
|
+
"model_mismatch",
|
|
11214
|
+
"server_overloaded",
|
|
11215
|
+
"app_server_lost",
|
|
11216
|
+
null
|
|
11217
|
+
]
|
|
11218
|
+
}
|
|
11219
|
+
}
|
|
11220
|
+
},
|
|
11221
|
+
{
|
|
11222
|
+
"type": "object",
|
|
11223
|
+
"properties": {
|
|
11224
|
+
"schema_version": {
|
|
11225
|
+
"type": "string",
|
|
11226
|
+
"enum": [
|
|
11227
|
+
"1.12"
|
|
10687
11228
|
]
|
|
10688
11229
|
}
|
|
10689
11230
|
}
|
|
@@ -10995,7 +11536,8 @@
|
|
|
10995
11536
|
"1.8",
|
|
10996
11537
|
"1.9",
|
|
10997
11538
|
"1.10",
|
|
10998
|
-
"1.11"
|
|
11539
|
+
"1.11",
|
|
11540
|
+
"1.12"
|
|
10999
11541
|
]
|
|
11000
11542
|
},
|
|
11001
11543
|
"session": {
|
|
@@ -11657,7 +12199,8 @@
|
|
|
11657
12199
|
"1.8",
|
|
11658
12200
|
"1.9",
|
|
11659
12201
|
"1.10",
|
|
11660
|
-
"1.11"
|
|
12202
|
+
"1.11",
|
|
12203
|
+
"1.12"
|
|
11661
12204
|
]
|
|
11662
12205
|
},
|
|
11663
12206
|
"session": {
|
|
@@ -11857,7 +12400,8 @@
|
|
|
11857
12400
|
"1.8",
|
|
11858
12401
|
"1.9",
|
|
11859
12402
|
"1.10",
|
|
11860
|
-
"1.11"
|
|
12403
|
+
"1.11",
|
|
12404
|
+
"1.12"
|
|
11861
12405
|
]
|
|
11862
12406
|
},
|
|
11863
12407
|
"session": {
|
|
@@ -12055,7 +12599,8 @@
|
|
|
12055
12599
|
"1.8",
|
|
12056
12600
|
"1.9",
|
|
12057
12601
|
"1.10",
|
|
12058
|
-
"1.11"
|
|
12602
|
+
"1.11",
|
|
12603
|
+
"1.12"
|
|
12059
12604
|
]
|
|
12060
12605
|
},
|
|
12061
12606
|
"session": {
|
|
@@ -12254,7 +12799,8 @@
|
|
|
12254
12799
|
"1.8",
|
|
12255
12800
|
"1.9",
|
|
12256
12801
|
"1.10",
|
|
12257
|
-
"1.11"
|
|
12802
|
+
"1.11",
|
|
12803
|
+
"1.12"
|
|
12258
12804
|
]
|
|
12259
12805
|
},
|
|
12260
12806
|
"session": {
|
|
@@ -13399,6 +13945,11 @@
|
|
|
13399
13945
|
"description": "The shared Codex app-server a pooled dispatch's turn ran on went away\nunder it: the connection reached EOF, was closed, or refused a write\n(`EPIPE`) while oneharness's own record showed a turn started and not\ncompleted. The server crashed or was restarted, not the turn — so it is\nnever a turn failure, and a fallback chain moves on to its next\ncandidate (`\"app-server-lost\"`).",
|
|
13400
13946
|
"type": "string",
|
|
13401
13947
|
"const": "app_server_lost"
|
|
13948
|
+
},
|
|
13949
|
+
{
|
|
13950
|
+
"description": "The request carried an input this harness cannot take — today an\nimage (`images`) on a harness with no image input — so the harness was\nrefused for the run before it started, and a fallback chain moves on\n(`\"unsupported-input\"`). Its `error` names the input.",
|
|
13951
|
+
"type": "string",
|
|
13952
|
+
"const": "unsupported_input"
|
|
13402
13953
|
}
|
|
13403
13954
|
]
|
|
13404
13955
|
},
|
|
@@ -13453,7 +14004,8 @@
|
|
|
13453
14004
|
"1.8",
|
|
13454
14005
|
"1.9",
|
|
13455
14006
|
"1.10",
|
|
13456
|
-
"1.11"
|
|
14007
|
+
"1.11",
|
|
14008
|
+
"1.12"
|
|
13457
14009
|
]
|
|
13458
14010
|
}
|
|
13459
14011
|
},
|
|
@@ -13517,7 +14069,8 @@
|
|
|
13517
14069
|
"1.8",
|
|
13518
14070
|
"1.9",
|
|
13519
14071
|
"1.10",
|
|
13520
|
-
"1.11"
|
|
14072
|
+
"1.11",
|
|
14073
|
+
"1.12"
|
|
13521
14074
|
]
|
|
13522
14075
|
},
|
|
13523
14076
|
"status": {
|
|
@@ -13566,7 +14119,8 @@
|
|
|
13566
14119
|
"1.8",
|
|
13567
14120
|
"1.9",
|
|
13568
14121
|
"1.10",
|
|
13569
|
-
"1.11"
|
|
14122
|
+
"1.11",
|
|
14123
|
+
"1.12"
|
|
13570
14124
|
]
|
|
13571
14125
|
}
|
|
13572
14126
|
},
|
|
@@ -13607,7 +14161,8 @@
|
|
|
13607
14161
|
"1.8",
|
|
13608
14162
|
"1.9",
|
|
13609
14163
|
"1.10",
|
|
13610
|
-
"1.11"
|
|
14164
|
+
"1.11",
|
|
14165
|
+
"1.12"
|
|
13611
14166
|
]
|
|
13612
14167
|
}
|
|
13613
14168
|
}
|
|
@@ -13633,6 +14188,7 @@
|
|
|
13633
14188
|
"model_mismatch",
|
|
13634
14189
|
"server_overloaded",
|
|
13635
14190
|
"app_server_lost",
|
|
14191
|
+
"unsupported_input",
|
|
13636
14192
|
null
|
|
13637
14193
|
]
|
|
13638
14194
|
}
|
|
@@ -13650,7 +14206,8 @@
|
|
|
13650
14206
|
"1.8",
|
|
13651
14207
|
"1.9",
|
|
13652
14208
|
"1.10",
|
|
13653
|
-
"1.11"
|
|
14209
|
+
"1.11",
|
|
14210
|
+
"1.12"
|
|
13654
14211
|
]
|
|
13655
14212
|
}
|
|
13656
14213
|
}
|
|
@@ -13673,6 +14230,7 @@
|
|
|
13673
14230
|
"model_mismatch",
|
|
13674
14231
|
"server_overloaded",
|
|
13675
14232
|
"app_server_lost",
|
|
14233
|
+
"unsupported_input",
|
|
13676
14234
|
null
|
|
13677
14235
|
]
|
|
13678
14236
|
}
|
|
@@ -13689,7 +14247,8 @@
|
|
|
13689
14247
|
"1.8",
|
|
13690
14248
|
"1.9",
|
|
13691
14249
|
"1.10",
|
|
13692
|
-
"1.11"
|
|
14250
|
+
"1.11",
|
|
14251
|
+
"1.12"
|
|
13693
14252
|
]
|
|
13694
14253
|
}
|
|
13695
14254
|
}
|
|
@@ -13713,6 +14272,7 @@
|
|
|
13713
14272
|
"input_too_large",
|
|
13714
14273
|
"server_overloaded",
|
|
13715
14274
|
"app_server_lost",
|
|
14275
|
+
"unsupported_input",
|
|
13716
14276
|
null
|
|
13717
14277
|
]
|
|
13718
14278
|
}
|
|
@@ -13727,7 +14287,8 @@
|
|
|
13727
14287
|
"1.8",
|
|
13728
14288
|
"1.9",
|
|
13729
14289
|
"1.10",
|
|
13730
|
-
"1.11"
|
|
14290
|
+
"1.11",
|
|
14291
|
+
"1.12"
|
|
13731
14292
|
]
|
|
13732
14293
|
}
|
|
13733
14294
|
}
|
|
@@ -13751,6 +14312,7 @@
|
|
|
13751
14312
|
"input_too_large",
|
|
13752
14313
|
"model_mismatch",
|
|
13753
14314
|
"app_server_lost",
|
|
14315
|
+
"unsupported_input",
|
|
13754
14316
|
null
|
|
13755
14317
|
]
|
|
13756
14318
|
}
|
|
@@ -13764,7 +14326,8 @@
|
|
|
13764
14326
|
"enum": [
|
|
13765
14327
|
"1.9",
|
|
13766
14328
|
"1.10",
|
|
13767
|
-
"1.11"
|
|
14329
|
+
"1.11",
|
|
14330
|
+
"1.12"
|
|
13768
14331
|
]
|
|
13769
14332
|
}
|
|
13770
14333
|
}
|
|
@@ -13788,6 +14351,7 @@
|
|
|
13788
14351
|
"input_too_large",
|
|
13789
14352
|
"model_mismatch",
|
|
13790
14353
|
"server_overloaded",
|
|
14354
|
+
"unsupported_input",
|
|
13791
14355
|
null
|
|
13792
14356
|
]
|
|
13793
14357
|
}
|
|
@@ -13800,7 +14364,44 @@
|
|
|
13800
14364
|
"type": "string",
|
|
13801
14365
|
"enum": [
|
|
13802
14366
|
"1.10",
|
|
13803
|
-
"1.11"
|
|
14367
|
+
"1.11",
|
|
14368
|
+
"1.12"
|
|
14369
|
+
]
|
|
14370
|
+
}
|
|
14371
|
+
}
|
|
14372
|
+
}
|
|
14373
|
+
]
|
|
14374
|
+
},
|
|
14375
|
+
{
|
|
14376
|
+
"anyOf": [
|
|
14377
|
+
{
|
|
14378
|
+
"type": "object",
|
|
14379
|
+
"properties": {
|
|
14380
|
+
"failure_kind": {
|
|
14381
|
+
"enum": [
|
|
14382
|
+
"auth",
|
|
14383
|
+
"rate_limit",
|
|
14384
|
+
"model_not_found",
|
|
14385
|
+
"quota",
|
|
14386
|
+
"session_not_found",
|
|
14387
|
+
"tool_deferred",
|
|
14388
|
+
"untrusted_directory",
|
|
14389
|
+
"input_too_large",
|
|
14390
|
+
"model_mismatch",
|
|
14391
|
+
"server_overloaded",
|
|
14392
|
+
"app_server_lost",
|
|
14393
|
+
null
|
|
14394
|
+
]
|
|
14395
|
+
}
|
|
14396
|
+
}
|
|
14397
|
+
},
|
|
14398
|
+
{
|
|
14399
|
+
"type": "object",
|
|
14400
|
+
"properties": {
|
|
14401
|
+
"schema_version": {
|
|
14402
|
+
"type": "string",
|
|
14403
|
+
"enum": [
|
|
14404
|
+
"1.12"
|
|
13804
14405
|
]
|
|
13805
14406
|
}
|
|
13806
14407
|
}
|
|
@@ -14112,7 +14713,8 @@
|
|
|
14112
14713
|
"1.8",
|
|
14113
14714
|
"1.9",
|
|
14114
14715
|
"1.10",
|
|
14115
|
-
"1.11"
|
|
14716
|
+
"1.11",
|
|
14717
|
+
"1.12"
|
|
14116
14718
|
]
|
|
14117
14719
|
},
|
|
14118
14720
|
"session": {
|
|
@@ -14774,7 +15376,8 @@
|
|
|
14774
15376
|
"1.8",
|
|
14775
15377
|
"1.9",
|
|
14776
15378
|
"1.10",
|
|
14777
|
-
"1.11"
|
|
15379
|
+
"1.11",
|
|
15380
|
+
"1.12"
|
|
14778
15381
|
]
|
|
14779
15382
|
},
|
|
14780
15383
|
"session": {
|
|
@@ -14974,7 +15577,8 @@
|
|
|
14974
15577
|
"1.8",
|
|
14975
15578
|
"1.9",
|
|
14976
15579
|
"1.10",
|
|
14977
|
-
"1.11"
|
|
15580
|
+
"1.11",
|
|
15581
|
+
"1.12"
|
|
14978
15582
|
]
|
|
14979
15583
|
},
|
|
14980
15584
|
"session": {
|
|
@@ -15172,7 +15776,8 @@
|
|
|
15172
15776
|
"1.8",
|
|
15173
15777
|
"1.9",
|
|
15174
15778
|
"1.10",
|
|
15175
|
-
"1.11"
|
|
15779
|
+
"1.11",
|
|
15780
|
+
"1.12"
|
|
15176
15781
|
]
|
|
15177
15782
|
},
|
|
15178
15783
|
"session": {
|
|
@@ -15371,7 +15976,8 @@
|
|
|
15371
15976
|
"1.8",
|
|
15372
15977
|
"1.9",
|
|
15373
15978
|
"1.10",
|
|
15374
|
-
"1.11"
|
|
15979
|
+
"1.11",
|
|
15980
|
+
"1.12"
|
|
15375
15981
|
]
|
|
15376
15982
|
},
|
|
15377
15983
|
"session": {
|
|
@@ -16609,6 +17215,18 @@
|
|
|
16609
17215
|
"description": "Whether the unified allow/deny rule lists and hooks table can be synced\ninto that file (see the README support matrix).",
|
|
16610
17216
|
"type": "boolean"
|
|
16611
17217
|
},
|
|
17218
|
+
"supports_auto_compact": {
|
|
17219
|
+
"description": "Whether `auto_compact_tokens` reaches this harness's own compaction\nknob. Every `supports_*` flag below is read from the translation table\n([`crate::domain::lean::TRANSLATIONS`]): `false` means a run asking for\nthe setting carries a diagnostic (or, for images, refuses the harness).",
|
|
17220
|
+
"type": "boolean"
|
|
17221
|
+
},
|
|
17222
|
+
"supports_call_usage": {
|
|
17223
|
+
"description": "Whether a result's `calls` can carry per-call usage.",
|
|
17224
|
+
"type": "boolean"
|
|
17225
|
+
},
|
|
17226
|
+
"supports_compact_now": {
|
|
17227
|
+
"description": "Whether `oneharness compact` can compact this harness's sessions.",
|
|
17228
|
+
"type": "boolean"
|
|
17229
|
+
},
|
|
16612
17230
|
"supports_denied_tools": {
|
|
16613
17231
|
"type": "boolean"
|
|
16614
17232
|
},
|
|
@@ -16619,6 +17237,14 @@
|
|
|
16619
17237
|
"supports_hooks": {
|
|
16620
17238
|
"type": "boolean"
|
|
16621
17239
|
},
|
|
17240
|
+
"supports_images": {
|
|
17241
|
+
"description": "Whether `images` reach the model as images.",
|
|
17242
|
+
"type": "boolean"
|
|
17243
|
+
},
|
|
17244
|
+
"supports_mcp_off": {
|
|
17245
|
+
"description": "Whether `load_mcp = false` loads no MCP server.",
|
|
17246
|
+
"type": "boolean"
|
|
17247
|
+
},
|
|
16622
17248
|
"supports_mock_deny": {
|
|
16623
17249
|
"description": "Whether `oneharness mock <id>` can express a pre-tool *deny* for this\nharness (the same protocol `oneharness gate` speaks).",
|
|
16624
17250
|
"type": "boolean"
|
|
@@ -16639,10 +17265,18 @@
|
|
|
16639
17265
|
"description": "Whether `run --resume <session>` is supported for this harness.",
|
|
16640
17266
|
"type": "boolean"
|
|
16641
17267
|
},
|
|
17268
|
+
"supports_skills_off": {
|
|
17269
|
+
"description": "Whether `load_skills = false` loads no skills list.",
|
|
17270
|
+
"type": "boolean"
|
|
17271
|
+
},
|
|
16642
17272
|
"supports_system_file": {
|
|
16643
17273
|
"description": "Whether a large system prompt can be delivered off the argv via a file\nflag (Claude Code's `--append-system-prompt-file`). `false` does not mean a\nlarge system is unhandled — for a harness whose system rides the prompt it\ntravels on stdin with the prompt; see the README large-prompt matrix.",
|
|
16644
17274
|
"type": "boolean"
|
|
16645
17275
|
},
|
|
17276
|
+
"supports_tool_set": {
|
|
17277
|
+
"description": "Whether `tool_set` loads exactly the named classes (`false` for codex,\nwhich applies it in part and says so).",
|
|
17278
|
+
"type": "boolean"
|
|
17279
|
+
},
|
|
16646
17280
|
"sync_file": {
|
|
16647
17281
|
"description": "The project-scoped config file `oneharness sync` writes for this\nharness; `null` when it has none (sync settings are then rejected).",
|
|
16648
17282
|
"type": [
|
|
@@ -16679,6 +17313,13 @@
|
|
|
16679
17313
|
"mock_rewrite",
|
|
16680
17314
|
"supports_prompt_stdin",
|
|
16681
17315
|
"supports_system_file",
|
|
17316
|
+
"supports_auto_compact",
|
|
17317
|
+
"supports_compact_now",
|
|
17318
|
+
"supports_tool_set",
|
|
17319
|
+
"supports_skills_off",
|
|
17320
|
+
"supports_mcp_off",
|
|
17321
|
+
"supports_images",
|
|
17322
|
+
"supports_call_usage",
|
|
16682
17323
|
"example_command",
|
|
16683
17324
|
"variants"
|
|
16684
17325
|
]
|
|
@@ -16974,6 +17615,9 @@
|
|
|
16974
17615
|
"allowed_tools": {
|
|
16975
17616
|
"$ref": "#/$defs/Field2"
|
|
16976
17617
|
},
|
|
17618
|
+
"auto_compact_tokens": {
|
|
17619
|
+
"$ref": "#/$defs/Field5"
|
|
17620
|
+
},
|
|
16977
17621
|
"bypass": {
|
|
16978
17622
|
"$ref": "#/$defs/Field"
|
|
16979
17623
|
},
|
|
@@ -17024,10 +17668,16 @@
|
|
|
17024
17668
|
"$ref": "#/$defs/Field3"
|
|
17025
17669
|
},
|
|
17026
17670
|
"hooks": {
|
|
17027
|
-
"$ref": "#/$defs/
|
|
17671
|
+
"$ref": "#/$defs/Field11"
|
|
17672
|
+
},
|
|
17673
|
+
"load_mcp": {
|
|
17674
|
+
"$ref": "#/$defs/Field"
|
|
17675
|
+
},
|
|
17676
|
+
"load_skills": {
|
|
17677
|
+
"$ref": "#/$defs/Field"
|
|
17028
17678
|
},
|
|
17029
17679
|
"max_parallel": {
|
|
17030
|
-
"$ref": "#/$defs/
|
|
17680
|
+
"$ref": "#/$defs/Field9"
|
|
17031
17681
|
},
|
|
17032
17682
|
"mode": {
|
|
17033
17683
|
"description": "The configured `mode`, if any. Unset when only the legacy `bypass` field\n(or neither) is set — the effective mode then derives from `bypass`.",
|
|
@@ -17041,7 +17691,7 @@
|
|
|
17041
17691
|
"$ref": "#/$defs/Field2"
|
|
17042
17692
|
},
|
|
17043
17693
|
"output_format": {
|
|
17044
|
-
"$ref": "#/$defs/
|
|
17694
|
+
"$ref": "#/$defs/Field7"
|
|
17045
17695
|
},
|
|
17046
17696
|
"reasoning": {
|
|
17047
17697
|
"description": "Reasoning / thinking effort (`--reasoning` / `ONEHARNESS_REASONING`), if\nany. Forwarded to reasoning-capable harnesses only.",
|
|
@@ -17052,19 +17702,19 @@
|
|
|
17052
17702
|
},
|
|
17053
17703
|
"run_mode": {
|
|
17054
17704
|
"description": "The effective run mode: a configured value, else `fallback` (the\nbuilt-in default, attributed to [`DEFAULT_SOURCE`]) — the report says what\na run would do, so an unset mode is never shown as `null`.",
|
|
17055
|
-
"$ref": "#/$defs/
|
|
17705
|
+
"$ref": "#/$defs/Field10"
|
|
17056
17706
|
},
|
|
17057
17707
|
"schema_file": {
|
|
17058
17708
|
"$ref": "#/$defs/Field3"
|
|
17059
17709
|
},
|
|
17060
17710
|
"schema_max_retries": {
|
|
17061
|
-
"$ref": "#/$defs/
|
|
17711
|
+
"$ref": "#/$defs/Field8"
|
|
17062
17712
|
},
|
|
17063
17713
|
"schema_version": {
|
|
17064
17714
|
"type": "string"
|
|
17065
17715
|
},
|
|
17066
17716
|
"server_overloaded_max_retries": {
|
|
17067
|
-
"$ref": "#/$defs/
|
|
17717
|
+
"$ref": "#/$defs/Field8"
|
|
17068
17718
|
},
|
|
17069
17719
|
"stream": {
|
|
17070
17720
|
"description": "Whether config asks every `run` to stream (`--stream` / ONEHARNESS_STREAM);\ndefaults to false, the built-in buffered report.",
|
|
@@ -17075,6 +17725,9 @@
|
|
|
17075
17725
|
},
|
|
17076
17726
|
"timeout": {
|
|
17077
17727
|
"$ref": "#/$defs/Field5"
|
|
17728
|
+
},
|
|
17729
|
+
"tool_set": {
|
|
17730
|
+
"$ref": "#/$defs/Field6"
|
|
17078
17731
|
}
|
|
17079
17732
|
},
|
|
17080
17733
|
"required": [
|
|
@@ -17090,6 +17743,10 @@
|
|
|
17090
17743
|
"bypass",
|
|
17091
17744
|
"mode",
|
|
17092
17745
|
"timeout",
|
|
17746
|
+
"auto_compact_tokens",
|
|
17747
|
+
"tool_set",
|
|
17748
|
+
"load_skills",
|
|
17749
|
+
"load_mcp",
|
|
17093
17750
|
"output_format",
|
|
17094
17751
|
"stream",
|
|
17095
17752
|
"schema_file",
|
|
@@ -17147,6 +17804,32 @@
|
|
|
17147
17804
|
]
|
|
17148
17805
|
},
|
|
17149
17806
|
"Field10": {
|
|
17807
|
+
"description": "One resolved field in the `oneharness config` report: the effective value\nplus where it came from (a config file path, or [`DEFAULT_SOURCE`]). Both\nare `null` when the field is unset everywhere and has no built-in default.",
|
|
17808
|
+
"type": "object",
|
|
17809
|
+
"properties": {
|
|
17810
|
+
"source": {
|
|
17811
|
+
"type": [
|
|
17812
|
+
"string",
|
|
17813
|
+
"null"
|
|
17814
|
+
]
|
|
17815
|
+
},
|
|
17816
|
+
"value": {
|
|
17817
|
+
"anyOf": [
|
|
17818
|
+
{
|
|
17819
|
+
"$ref": "#/$defs/RunMode"
|
|
17820
|
+
},
|
|
17821
|
+
{
|
|
17822
|
+
"type": "null"
|
|
17823
|
+
}
|
|
17824
|
+
]
|
|
17825
|
+
}
|
|
17826
|
+
},
|
|
17827
|
+
"required": [
|
|
17828
|
+
"value",
|
|
17829
|
+
"source"
|
|
17830
|
+
]
|
|
17831
|
+
},
|
|
17832
|
+
"Field11": {
|
|
17150
17833
|
"description": "One resolved field in the `oneharness config` report: the effective value\nplus where it came from (a config file path, or [`DEFAULT_SOURCE`]). Both\nare `null` when the field is unset everywhere and has no built-in default.",
|
|
17151
17834
|
"type": "object",
|
|
17152
17835
|
"properties": {
|
|
@@ -17171,7 +17854,7 @@
|
|
|
17171
17854
|
"source"
|
|
17172
17855
|
]
|
|
17173
17856
|
},
|
|
17174
|
-
"
|
|
17857
|
+
"Field12": {
|
|
17175
17858
|
"description": "One resolved field in the `oneharness config` report: the effective value\nplus where it came from (a config file path, or [`DEFAULT_SOURCE`]). Both\nare `null` when the field is unset everywhere and has no built-in default.",
|
|
17176
17859
|
"type": "object",
|
|
17177
17860
|
"properties": {
|
|
@@ -17305,14 +17988,13 @@
|
|
|
17305
17988
|
]
|
|
17306
17989
|
},
|
|
17307
17990
|
"value": {
|
|
17308
|
-
"
|
|
17309
|
-
|
|
17310
|
-
|
|
17311
|
-
|
|
17312
|
-
|
|
17313
|
-
|
|
17314
|
-
|
|
17315
|
-
]
|
|
17991
|
+
"type": [
|
|
17992
|
+
"array",
|
|
17993
|
+
"null"
|
|
17994
|
+
],
|
|
17995
|
+
"items": {
|
|
17996
|
+
"$ref": "#/$defs/ToolClass"
|
|
17997
|
+
}
|
|
17316
17998
|
}
|
|
17317
17999
|
},
|
|
17318
18000
|
"required": [
|
|
@@ -17331,12 +18013,14 @@
|
|
|
17331
18013
|
]
|
|
17332
18014
|
},
|
|
17333
18015
|
"value": {
|
|
17334
|
-
"
|
|
17335
|
-
|
|
17336
|
-
|
|
17337
|
-
|
|
17338
|
-
|
|
17339
|
-
|
|
18016
|
+
"anyOf": [
|
|
18017
|
+
{
|
|
18018
|
+
"$ref": "#/$defs/OutputFormat"
|
|
18019
|
+
},
|
|
18020
|
+
{
|
|
18021
|
+
"type": "null"
|
|
18022
|
+
}
|
|
18023
|
+
]
|
|
17340
18024
|
}
|
|
17341
18025
|
},
|
|
17342
18026
|
"required": [
|
|
@@ -17359,7 +18043,7 @@
|
|
|
17359
18043
|
"integer",
|
|
17360
18044
|
"null"
|
|
17361
18045
|
],
|
|
17362
|
-
"format": "
|
|
18046
|
+
"format": "uint32",
|
|
17363
18047
|
"minimum": 0
|
|
17364
18048
|
}
|
|
17365
18049
|
},
|
|
@@ -17379,14 +18063,12 @@
|
|
|
17379
18063
|
]
|
|
17380
18064
|
},
|
|
17381
18065
|
"value": {
|
|
17382
|
-
"
|
|
17383
|
-
|
|
17384
|
-
|
|
17385
|
-
|
|
17386
|
-
|
|
17387
|
-
|
|
17388
|
-
}
|
|
17389
|
-
]
|
|
18066
|
+
"type": [
|
|
18067
|
+
"integer",
|
|
18068
|
+
"null"
|
|
18069
|
+
],
|
|
18070
|
+
"format": "uint",
|
|
18071
|
+
"minimum": 0
|
|
17390
18072
|
}
|
|
17391
18073
|
},
|
|
17392
18074
|
"required": [
|
|
@@ -17416,7 +18098,7 @@
|
|
|
17416
18098
|
"description": "The resolved `app_server` (`\"shared\"` by default), present only for\n`codex`.",
|
|
17417
18099
|
"anyOf": [
|
|
17418
18100
|
{
|
|
17419
|
-
"$ref": "#/$defs/
|
|
18101
|
+
"$ref": "#/$defs/Field12"
|
|
17420
18102
|
},
|
|
17421
18103
|
{
|
|
17422
18104
|
"type": "null"
|
|
@@ -17637,6 +18319,21 @@
|
|
|
17637
18319
|
}
|
|
17638
18320
|
]
|
|
17639
18321
|
},
|
|
18322
|
+
"ToolClass": {
|
|
18323
|
+
"description": "A harness-agnostic class of built-in tool a turn may load (`tool_set`).",
|
|
18324
|
+
"oneOf": [
|
|
18325
|
+
{
|
|
18326
|
+
"description": "Run commands.",
|
|
18327
|
+
"type": "string",
|
|
18328
|
+
"const": "shell"
|
|
18329
|
+
},
|
|
18330
|
+
{
|
|
18331
|
+
"description": "Read files.",
|
|
18332
|
+
"type": "string",
|
|
18333
|
+
"const": "read"
|
|
18334
|
+
}
|
|
18335
|
+
]
|
|
18336
|
+
},
|
|
17640
18337
|
"VariantReport": {
|
|
17641
18338
|
"type": "object",
|
|
17642
18339
|
"properties": {
|
|
@@ -17658,7 +18355,7 @@
|
|
|
17658
18355
|
"description": "The `app_server` a launch of this variant resolves to: the variant's\nown, else its harness's, else `\"shared\"`. Present only for `codex`.",
|
|
17659
18356
|
"anyOf": [
|
|
17660
18357
|
{
|
|
17661
|
-
"$ref": "#/$defs/
|
|
18358
|
+
"$ref": "#/$defs/Field12"
|
|
17662
18359
|
},
|
|
17663
18360
|
{
|
|
17664
18361
|
"type": "null"
|
|
@@ -18966,6 +19663,213 @@
|
|
|
18966
19663
|
}
|
|
18967
19664
|
}
|
|
18968
19665
|
},
|
|
19666
|
+
"compact_options": {
|
|
19667
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
19668
|
+
"title": "CompactOptions",
|
|
19669
|
+
"description": "Options accepted by the language SDKs' `compact()`: compact a named\nsession now (`oneharness compact`).",
|
|
19670
|
+
"type": "object",
|
|
19671
|
+
"properties": {
|
|
19672
|
+
"bins": {
|
|
19673
|
+
"type": "object",
|
|
19674
|
+
"additionalProperties": {
|
|
19675
|
+
"type": "string"
|
|
19676
|
+
}
|
|
19677
|
+
},
|
|
19678
|
+
"config": {
|
|
19679
|
+
"type": "array",
|
|
19680
|
+
"items": {
|
|
19681
|
+
"type": "string"
|
|
19682
|
+
}
|
|
19683
|
+
},
|
|
19684
|
+
"cwd": {
|
|
19685
|
+
"type": "string"
|
|
19686
|
+
},
|
|
19687
|
+
"env": {
|
|
19688
|
+
"type": "object",
|
|
19689
|
+
"additionalProperties": {
|
|
19690
|
+
"type": "string"
|
|
19691
|
+
}
|
|
19692
|
+
},
|
|
19693
|
+
"harness": {
|
|
19694
|
+
"description": "The harness identity the session is expected to be bound to.",
|
|
19695
|
+
"type": "string"
|
|
19696
|
+
},
|
|
19697
|
+
"model": {
|
|
19698
|
+
"type": "string"
|
|
19699
|
+
},
|
|
19700
|
+
"noConfig": {
|
|
19701
|
+
"type": "boolean"
|
|
19702
|
+
},
|
|
19703
|
+
"session": {
|
|
19704
|
+
"description": "The caller-owned session name (`run`'s `session`).",
|
|
19705
|
+
"type": "string",
|
|
19706
|
+
"minLength": 1
|
|
19707
|
+
},
|
|
19708
|
+
"sessionDir": {
|
|
19709
|
+
"type": "string"
|
|
19710
|
+
},
|
|
19711
|
+
"timeoutSeconds": {
|
|
19712
|
+
"type": "integer",
|
|
19713
|
+
"format": "uint64",
|
|
19714
|
+
"minimum": 0
|
|
19715
|
+
}
|
|
19716
|
+
},
|
|
19717
|
+
"additionalProperties": false,
|
|
19718
|
+
"required": [
|
|
19719
|
+
"session"
|
|
19720
|
+
]
|
|
19721
|
+
},
|
|
19722
|
+
"compact_outcome": {
|
|
19723
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
19724
|
+
"title": "CompactOutcome",
|
|
19725
|
+
"description": "The `oneharness compact` report.",
|
|
19726
|
+
"type": "object",
|
|
19727
|
+
"properties": {
|
|
19728
|
+
"context_tokens_after": {
|
|
19729
|
+
"description": "The context size after compaction, where the harness reports it\n(claude-code's `compact_boundary.post_tokens`); `null` otherwise.",
|
|
19730
|
+
"type": [
|
|
19731
|
+
"integer",
|
|
19732
|
+
"null"
|
|
19733
|
+
],
|
|
19734
|
+
"format": "uint64",
|
|
19735
|
+
"minimum": 0
|
|
19736
|
+
},
|
|
19737
|
+
"context_tokens_before": {
|
|
19738
|
+
"description": "The context size before compaction, where the harness reports it\n(claude-code's `compact_boundary.pre_tokens`); `null` otherwise.",
|
|
19739
|
+
"type": [
|
|
19740
|
+
"integer",
|
|
19741
|
+
"null"
|
|
19742
|
+
],
|
|
19743
|
+
"format": "uint64",
|
|
19744
|
+
"minimum": 0
|
|
19745
|
+
},
|
|
19746
|
+
"error": {
|
|
19747
|
+
"description": "Why the compaction is `unsupported` or `failed`; absent otherwise.",
|
|
19748
|
+
"type": [
|
|
19749
|
+
"string",
|
|
19750
|
+
"null"
|
|
19751
|
+
]
|
|
19752
|
+
},
|
|
19753
|
+
"harness": {
|
|
19754
|
+
"description": "The harness identity the session is bound to.",
|
|
19755
|
+
"type": "string"
|
|
19756
|
+
},
|
|
19757
|
+
"schema_version": {
|
|
19758
|
+
"type": "string"
|
|
19759
|
+
},
|
|
19760
|
+
"session": {
|
|
19761
|
+
"description": "The session name compacted.",
|
|
19762
|
+
"type": "string"
|
|
19763
|
+
},
|
|
19764
|
+
"status": {
|
|
19765
|
+
"$ref": "#/$defs/CompactStatus"
|
|
19766
|
+
},
|
|
19767
|
+
"token": {
|
|
19768
|
+
"description": "The native session token the name continues after this call: the\ncompacted fork's on `completed`, the untouched original's otherwise.\n`null` when the request was refused before a session was resolved.",
|
|
19769
|
+
"type": [
|
|
19770
|
+
"string",
|
|
19771
|
+
"null"
|
|
19772
|
+
]
|
|
19773
|
+
},
|
|
19774
|
+
"usage": {
|
|
19775
|
+
"description": "The compaction's own usage, every field `null` where the harness\nreports none.",
|
|
19776
|
+
"$ref": "#/$defs/Usage"
|
|
19777
|
+
}
|
|
19778
|
+
},
|
|
19779
|
+
"required": [
|
|
19780
|
+
"schema_version",
|
|
19781
|
+
"status",
|
|
19782
|
+
"session",
|
|
19783
|
+
"harness",
|
|
19784
|
+
"context_tokens_before",
|
|
19785
|
+
"context_tokens_after",
|
|
19786
|
+
"usage"
|
|
19787
|
+
],
|
|
19788
|
+
"$defs": {
|
|
19789
|
+
"CompactStatus": {
|
|
19790
|
+
"description": "How a compaction ended.",
|
|
19791
|
+
"oneOf": [
|
|
19792
|
+
{
|
|
19793
|
+
"description": "The harness compacted a fork of the session, and the session name now\ncontinues the compacted fork.",
|
|
19794
|
+
"type": "string",
|
|
19795
|
+
"const": "completed"
|
|
19796
|
+
},
|
|
19797
|
+
{
|
|
19798
|
+
"description": "The caller cancelled; the harness process was ended and the session is\nexactly as it was.",
|
|
19799
|
+
"type": "string",
|
|
19800
|
+
"const": "cancelled"
|
|
19801
|
+
},
|
|
19802
|
+
{
|
|
19803
|
+
"description": "The harness has no compaction oneharness can drive.",
|
|
19804
|
+
"type": "string",
|
|
19805
|
+
"const": "unsupported"
|
|
19806
|
+
},
|
|
19807
|
+
{
|
|
19808
|
+
"description": "The harness did not complete the compaction (its own refusal, a\nnon-zero exit, a timeout); the session is exactly as it was and `error`\nsays why.",
|
|
19809
|
+
"type": "string",
|
|
19810
|
+
"const": "failed"
|
|
19811
|
+
}
|
|
19812
|
+
]
|
|
19813
|
+
},
|
|
19814
|
+
"Usage": {
|
|
19815
|
+
"description": "Normalized token/cost accounting. Every field is best-effort and independently\nnullable: a harness may report tokens but not dollar cost (cost is commonly\nabsent on subscription auth), or report nothing at all (plain-text harnesses).",
|
|
19816
|
+
"type": "object",
|
|
19817
|
+
"properties": {
|
|
19818
|
+
"cache_read_tokens": {
|
|
19819
|
+
"description": "Prompt tokens served from the provider's prompt cache (a cheap read of a\npreviously-written prefix), when the harness reports them. `None` when the\nharness does not surface cache counts — never `0` as a guess.",
|
|
19820
|
+
"type": [
|
|
19821
|
+
"integer",
|
|
19822
|
+
"null"
|
|
19823
|
+
],
|
|
19824
|
+
"format": "uint64",
|
|
19825
|
+
"minimum": 0
|
|
19826
|
+
},
|
|
19827
|
+
"cache_write_tokens": {
|
|
19828
|
+
"description": "Prompt tokens written to the provider's prompt cache (a.k.a. cache\ncreation), when the harness reports them. `None` when not surfaced.",
|
|
19829
|
+
"type": [
|
|
19830
|
+
"integer",
|
|
19831
|
+
"null"
|
|
19832
|
+
],
|
|
19833
|
+
"format": "uint64",
|
|
19834
|
+
"minimum": 0
|
|
19835
|
+
},
|
|
19836
|
+
"cost_usd": {
|
|
19837
|
+
"description": "Total cost in USD, when the harness reports it (often absent on\nsubscription auth, where there is no per-call dollar figure).",
|
|
19838
|
+
"type": [
|
|
19839
|
+
"number",
|
|
19840
|
+
"null"
|
|
19841
|
+
],
|
|
19842
|
+
"format": "double"
|
|
19843
|
+
},
|
|
19844
|
+
"input_tokens": {
|
|
19845
|
+
"description": "Prompt/input tokens billed, when the harness reports them.",
|
|
19846
|
+
"type": [
|
|
19847
|
+
"integer",
|
|
19848
|
+
"null"
|
|
19849
|
+
],
|
|
19850
|
+
"format": "uint64",
|
|
19851
|
+
"minimum": 0
|
|
19852
|
+
},
|
|
19853
|
+
"output_tokens": {
|
|
19854
|
+
"description": "Completion/output tokens billed, when the harness reports them.",
|
|
19855
|
+
"type": [
|
|
19856
|
+
"integer",
|
|
19857
|
+
"null"
|
|
19858
|
+
],
|
|
19859
|
+
"format": "uint64",
|
|
19860
|
+
"minimum": 0
|
|
19861
|
+
}
|
|
19862
|
+
},
|
|
19863
|
+
"required": [
|
|
19864
|
+
"input_tokens",
|
|
19865
|
+
"output_tokens",
|
|
19866
|
+
"cache_read_tokens",
|
|
19867
|
+
"cache_write_tokens",
|
|
19868
|
+
"cost_usd"
|
|
19869
|
+
]
|
|
19870
|
+
}
|
|
19871
|
+
}
|
|
19872
|
+
},
|
|
18969
19873
|
"history_clear_options": {
|
|
18970
19874
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
18971
19875
|
"title": "HistoryClearOptions",
|