@zhivex-ai/harness 0.11.0 → 1.0.0-rc.7

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.
Files changed (59) hide show
  1. package/CHANGELOG.md +129 -0
  2. package/README.md +9 -8
  3. package/ROADMAP.md +31 -8
  4. package/SECURITY.md +4 -2
  5. package/SUPPORT.md +4 -2
  6. package/contracts/public-api.json +1359 -0
  7. package/contracts/security-controls.json +15 -0
  8. package/contracts/stable-api-signatures.json +490 -0
  9. package/dist/cli-options.d.ts +40 -0
  10. package/dist/cli-stream.d.ts +15 -15
  11. package/dist/cli.d.ts +20 -6
  12. package/dist/cli.js +2103 -496
  13. package/dist/config.d.ts +14 -0
  14. package/dist/errors.d.ts +68 -0
  15. package/dist/file-security.d.ts +29 -0
  16. package/dist/hostile-repository-demo.js +793 -329
  17. package/dist/index.d.ts +12 -4
  18. package/dist/index.js +7392 -5216
  19. package/dist/json-contracts.d.ts +1707 -0
  20. package/dist/operations.d.ts +1 -1
  21. package/dist/providers.d.ts +5 -0
  22. package/dist/state-backup.d.ts +148 -0
  23. package/dist/time-to-safe-fix.d.ts +43 -2
  24. package/dist/verify-historical-migrations.js +7667 -0
  25. package/dist/zhx.js +2103 -496
  26. package/docs/CLI.md +21 -4
  27. package/docs/DEPRECATIONS.md +9 -0
  28. package/docs/DURABLE_OPERATIONS.md +18 -1
  29. package/docs/EXTENSIBILITY.md +3 -3
  30. package/docs/GA_READINESS.md +23 -0
  31. package/docs/GEMINI_1_0_DECISION.md +9 -0
  32. package/docs/LIVE_CERTIFICATION.md +22 -2
  33. package/docs/PUBLIC_SECURITY.md +39 -0
  34. package/docs/RELEASE.md +17 -10
  35. package/docs/ROLLBACK.md +9 -0
  36. package/docs/SECURITY_REVIEW_EVIDENCE.md +15 -0
  37. package/docs/STABILITY.md +13 -0
  38. package/docs/SUPPORT_MATRIX.md +17 -0
  39. package/docs/THREAT_MODEL.md +28 -0
  40. package/docs/TIME_TO_SAFE_FIX.md +2 -2
  41. package/docs/ga-readiness.json +235 -0
  42. package/docs/support-matrix.json +29 -0
  43. package/evaluations/representative-assembly-matrix.json +138 -0
  44. package/evaluations/representative-matrix.json +179 -0
  45. package/evaluations/representative-repositories.jsonl +7 -0
  46. package/examples/mcp-config.json +1 -1
  47. package/fixtures/contracts/v1/doctor.json +45 -0
  48. package/fixtures/contracts/v1/error.json +9 -0
  49. package/fixtures/contracts/v1/observational-documents.json +34 -0
  50. package/fixtures/contracts/v1/providers.json +17 -0
  51. package/fixtures/contracts/v1/run-result-forward.json +37 -0
  52. package/fixtures/contracts/v1/run-result.json +34 -0
  53. package/fixtures/contracts/v1/run-stream-result.jsonl +1 -0
  54. package/fixtures/migrations/0.10.0.json +315 -0
  55. package/fixtures/migrations/0.10.0.sqlite +0 -0
  56. package/fixtures/migrations/0.11.1.json +319 -0
  57. package/fixtures/migrations/0.11.1.sqlite +0 -0
  58. package/fixtures/migrations/README.md +20 -0
  59. package/package.json +16 -9
@@ -0,0 +1,15 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "targetVersion": "1.0.0",
4
+ "controls": [
5
+ { "threat": "malicious-repository-context", "mitigations": ["bounded context files", "progressive skill loading", "digest-bound edits"], "evidence": ["tests/context-engineering.test.ts", "tests/edit-contracts.test.ts"], "residualRisk": "Trusted project instructions may influence model behavior within granted tool authority." },
6
+ { "threat": "compromised-model-or-provider", "mitigations": ["application-owned tools", "approval gates", "budgets", "redaction"], "evidence": ["tests/harness.test.ts", "tests/cli-stream.test.ts"], "residualRisk": "Provider receives prompts and may return adversarial content; operators must scope data and review approvals." },
7
+ { "threat": "hostile-mcp-server", "mitigations": ["HTTPS or allowlisted loopback", "tool allowlists", "permissions", "bounded payloads"], "evidence": ["tests/mcp.test.ts", "scripts/mcp-interoperability-smoke.ts"], "residualRisk": "An approved remote MCP service can observe the inputs explicitly sent to it." },
8
+ { "threat": "approval-replay-or-substitution", "mitigations": ["fingerprints", "exact proposal digests", "durable approval identity"], "evidence": ["tests/harness.test.ts", "tests/edit-contracts.test.ts"], "residualRisk": "Paused approvals require the original artifact and cannot be rebound across incompatible policy versions." },
9
+ { "threat": "cross-scope-state-access", "mitigations": ["tenant/user/namespace scope", "workspace binding", "scoped hierarchy reads"], "evidence": ["tests/operations.test.ts", "tests/sessions.test.ts"], "residualRisk": "A process with direct filesystem access to the local state directory remains inside the trust boundary." },
10
+ { "threat": "hostile-subprocess", "mitigations": ["no-network OCI", "resource ceilings", "argv allowlist", "separate host import approval"], "evidence": ["tests/execution-environment.test.ts", "scripts/oci-execution-smoke.ts"], "residualRisk": "Containers are not VMs; the host kernel and OCI daemon are trusted." },
11
+ { "threat": "crash-or-concurrent-writer", "mitigations": ["SQLite WAL", "optimistic revisions", "leases", "interrupted cleanup recovery"], "evidence": ["tests/operations.test.ts", "tests/execution-environment.test.ts"], "residualRisk": "Power loss and external filesystem corruption still require operator backup and recovery." },
12
+ { "threat": "supply-chain-substitution", "mitigations": ["annotated tag", "immutable tarball", "SHA-512", "OIDC provenance", "pinned workflow actions"], "evidence": ["tests/release-workflow.test.ts", "scripts/check-release-artifact.ts", "scripts/release-provenance.ts"], "residualRisk": "Registry, GitHub, npm, and maintainer identities remain external trust dependencies." },
13
+ { "threat": "compromised-host-kernel-or-daemon", "mitigations": ["explicitly out of scope", "dedicated host or microVM guidance"], "evidence": ["docs/EXECUTION_ENVIRONMENTS.md", "SECURITY.md"], "residualRisk": "The harness cannot protect against an already compromised host, kernel, container daemon, or maintainer account." }
14
+ ]
15
+ }
@@ -0,0 +1,490 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "targetVersion": "1.0.0",
4
+ "format": "typescript-declaration-ast-v1",
5
+ "stableRuntimeExports": [
6
+ {
7
+ "name": "BUN_ENGINE_RANGE",
8
+ "sha256": "sha256:d4bb149bb582c2cccb4800ec6e1ba556f4fdc8d2c787910fd452129b9470b415"
9
+ },
10
+ {
11
+ "name": "CHANGE_ENVELOPE_SCHEMA_VERSION",
12
+ "sha256": "sha256:c9b56beb61e46150d80c6177090564df2b5091da49bb1bfa2a2d93d823935fbc"
13
+ },
14
+ {
15
+ "name": "CLI_COMMAND_OPTION_CONTRACTS",
16
+ "sha256": "sha256:24b4f1884ff228de6027655bf75908e8267cfbf8852235971252bebe19581412"
17
+ },
18
+ {
19
+ "name": "CLI_EVENT_SCHEMA_VERSION",
20
+ "sha256": "sha256:f6ddfa6a429b01eb2761af9e0c88ec135cf79a8581e1c719605193abdb78cdc5"
21
+ },
22
+ {
23
+ "name": "CLI_JSON_SCHEMA_VERSION",
24
+ "sha256": "sha256:dbed99cc19dcccb65799dc6d5809d4c0f59444e824997aed9f5dd2ed0066c2d9"
25
+ },
26
+ {
27
+ "name": "CLI_OPTION_DEFINITIONS",
28
+ "sha256": "sha256:e9f6878dc5cf6a6d82f902fb6157db0f65932234ca69ed7f87e89f3dbb4811de"
29
+ },
30
+ {
31
+ "name": "CLI_OPTION_NAMES",
32
+ "sha256": "sha256:72f3b2f6a13b1bed6977b8d0ac43327246efb492b99ec5975a7c9e6b81196723"
33
+ },
34
+ {
35
+ "name": "DEFAULT_ALLOWED_CHECKS",
36
+ "sha256": "sha256:0d9aab206ca78f4cdeaefa63d6a910af654210214c3815737cc5fcce3fe49154"
37
+ },
38
+ {
39
+ "name": "DEFAULT_OCI_EXECUTION",
40
+ "sha256": "sha256:57e3e3ea0d483dbfc92cf49d8361de195eb929aa1571166669e8db5a8a133721"
41
+ },
42
+ {
43
+ "name": "DEFAULT_PROVIDER_REGISTRY",
44
+ "sha256": "sha256:276449c7e5075b253029314dbb183e9f3db8c077edabb062c937ea5f03274bdf"
45
+ },
46
+ {
47
+ "name": "HARNESS_CONFIG_MIGRATABLE_SCHEMA_VERSIONS",
48
+ "sha256": "sha256:cd293e3dde73bf15c5bde30f4249ccf26c8c24e3cf0358485109ec5abd7bae91"
49
+ },
50
+ {
51
+ "name": "HARNESS_CONFIG_SCHEMA_VERSION",
52
+ "sha256": "sha256:a3be799ba24187c73f4a9f5a4545a2759a839982cf7a8fe9f469707b2c9c2859"
53
+ },
54
+ {
55
+ "name": "HARNESS_ERROR_CODES",
56
+ "sha256": "sha256:935cc700bacad502f5d0a9dd93a1c6fee138e12d85107a5eedb6d93071789614"
57
+ },
58
+ {
59
+ "name": "HARNESS_ERROR_SCHEMA_VERSION",
60
+ "sha256": "sha256:2cf7dfe8330d011d7ebe34f92c09f9686500ac623f93e6f976b05ae45d05236b"
61
+ },
62
+ {
63
+ "name": "HARNESS_EXECUTION_BACKENDS",
64
+ "sha256": "sha256:55572774d29f3a901f79acc234562ca0cfd73e72df08aa898ab05b22feb7c5d1"
65
+ },
66
+ {
67
+ "name": "HARNESS_EXECUTION_POLICY_VERSION",
68
+ "sha256": "sha256:4bc4c3bef38df39499b9448fb2eeb20dc6e9c69bb2a89a16a55b348387fbd9cf"
69
+ },
70
+ {
71
+ "name": "HARNESS_MCP_CONFIG_SCHEMA_VERSION",
72
+ "sha256": "sha256:73f4b53042b233838cedd2299f1a098de7baa42bd10cc7840103865020206ab9"
73
+ },
74
+ {
75
+ "name": "HARNESS_OPERATIONS_SCHEMA_VERSION",
76
+ "sha256": "sha256:8781344ac13427e0d8bca6b07f0ff37fda5c6ac9368d0b0ceaa64c6ef347424f"
77
+ },
78
+ {
79
+ "name": "HARNESS_SESSION_SCHEMA_VERSION",
80
+ "sha256": "sha256:6160ddd721b84b893839d9080933aef546e145ba768082165b29bc1abe7598ff"
81
+ },
82
+ {
83
+ "name": "HARNESS_STATE_BACKUP_SCHEMA_VERSION",
84
+ "sha256": "sha256:4d97497d2c21433c7dc60377840e94ac0a83fd9851bbcac11fb1ec39932ec509"
85
+ },
86
+ {
87
+ "name": "HARNESS_VERSION",
88
+ "sha256": "sha256:244d3df1b7341344f6dc56ff1df1d5155a6f5c3aced8485f9a3d5b65e8c99435"
89
+ },
90
+ {
91
+ "name": "HarnessApprovalError",
92
+ "sha256": "sha256:c2660d97644a19901530f9cdc750b438f5f932b75802cd47c49bdf65d5ab8a2e"
93
+ },
94
+ {
95
+ "name": "HarnessConfigError",
96
+ "sha256": "sha256:c1437c18f19f00ff6f5fda99c4c14c90f5c3ceec0f16dd03b818da30531fea39"
97
+ },
98
+ {
99
+ "name": "HarnessError",
100
+ "sha256": "sha256:e08500b700abec01bf1cf5db8a8a5dae8eab76dcbdc9d9d9c66335ff25444a1f"
101
+ },
102
+ {
103
+ "name": "HarnessExecutionError",
104
+ "sha256": "sha256:805b9531781cbfa59cbffbf40312072f7d8c662819df2897c0fa743de36f374d"
105
+ },
106
+ {
107
+ "name": "HarnessProviderError",
108
+ "sha256": "sha256:2e607b49b357d7f977a8a359b7e18e5253be31b590276490c2382277d78b5932"
109
+ },
110
+ {
111
+ "name": "HarnessStateConflictError",
112
+ "sha256": "sha256:fefa62cf9cb205d0896d7a4f9b917602fbd124718d383c877785421c772dfac4"
113
+ },
114
+ {
115
+ "name": "HarnessWorkspaceError",
116
+ "sha256": "sha256:d2aa6c17a672810f6bf0b8a69681eb96da6cab0147c54e3bd857337f53262170"
117
+ },
118
+ {
119
+ "name": "NODE_ENGINE_RANGE",
120
+ "sha256": "sha256:5b0b17cc472607f9d5dd403bc7f801c4391cd59103485bf27e7eac4c35689a0f"
121
+ },
122
+ {
123
+ "name": "PROVIDERS",
124
+ "sha256": "sha256:dc814e3a99afbf696e3b1b891390e8d2d801d85944c04655c9001c270ff99a1b"
125
+ },
126
+ {
127
+ "name": "Workspace",
128
+ "sha256": "sha256:998e988c9e272bad560364310d9176995bd5bb5a9430ad1a5d531d2ecac04ec4"
129
+ },
130
+ {
131
+ "name": "appendUserMessage",
132
+ "sha256": "sha256:be6162f464ae193e22c27bfe6fc30e27102e1d496228e79c9eba9b2570b13a3a"
133
+ },
134
+ {
135
+ "name": "cancelHarnessRun",
136
+ "sha256": "sha256:1f99d252e7599162f092be99e6ec09385b217b1a52f707c1f011981da7ff8b84"
137
+ },
138
+ {
139
+ "name": "canonicalizeChangeEnvelope",
140
+ "sha256": "sha256:b5cd58593ae9924ebdfa1bfe880e188715ccdbc874f6cbe869ece321ce4846ff"
141
+ },
142
+ {
143
+ "name": "cleanupHarnessRuns",
144
+ "sha256": "sha256:47d90628b9d994966d70a0abd32c4fc030fcde15c590f19df9960d4ea7b40e60"
145
+ },
146
+ {
147
+ "name": "cliJsonDocumentSchema",
148
+ "sha256": "sha256:2a18f15adcf6d11745eb8499e1a458afc6d47f17e5d9820711a3157e348acbe0"
149
+ },
150
+ {
151
+ "name": "cliJsonLineDocumentSchema",
152
+ "sha256": "sha256:a00398e038e75d033a3bec83bd9141a5d398f77af4cc8dc12bb79a050e85999a"
153
+ },
154
+ {
155
+ "name": "computeChangeEnvelopeDigest",
156
+ "sha256": "sha256:ab53adbcab3888129b08825410bcdcff26566e960041f952c2f210c3e1ec56fd"
157
+ },
158
+ {
159
+ "name": "createChangeEnvelope",
160
+ "sha256": "sha256:3eb87d3a8169a4eac9e31cb32792ba1791948d297d3f8f5d5fbe77b5ec5dad87"
161
+ },
162
+ {
163
+ "name": "createEditProposal",
164
+ "sha256": "sha256:0ae0ea0933d2abee7a41c86ad851c826b74b9dea115915d6d79b700e3ef588df"
165
+ },
166
+ {
167
+ "name": "createHarness",
168
+ "sha256": "sha256:d2673ba626d469d04c7921e4965396cdd41c4fb4686810ad756c7b7dda02adde"
169
+ },
170
+ {
171
+ "name": "createHarnessMcpTools",
172
+ "sha256": "sha256:524ba004e52c389a7dfe2014f7f60f99948165f58b4f8540eca439bee48f2cac"
173
+ },
174
+ {
175
+ "name": "createHarnessOciExecutionEnvironment",
176
+ "sha256": "sha256:bc01ccd685341e91df9e0468f2247644cbf0f0cefd3b2cb7d032da0da8cfcd9d"
177
+ },
178
+ {
179
+ "name": "createHarnessStateBackup",
180
+ "sha256": "sha256:642206afc9ce96dc2fa63cfa9ed420189c4f7bfb2278217f9496fcdfdeb7b17b"
181
+ },
182
+ {
183
+ "name": "createHttpMcpClient",
184
+ "sha256": "sha256:38e767b9485cc31efd1ce2bbc166443ce37334f60a4a56c2df73dd827d1061bf"
185
+ },
186
+ {
187
+ "name": "createProviderModel",
188
+ "sha256": "sha256:873f7232c2058fdcd4d0850ec795d544f0034da41672bca661c0025a5970ebf6"
189
+ },
190
+ {
191
+ "name": "digestChangeEnvelopeArtifact",
192
+ "sha256": "sha256:f827c1b9882b2bfc73d57a261c3cf1dc20bbbfa3caa5bee528b8c03ffcf754b5"
193
+ },
194
+ {
195
+ "name": "exportHarnessStateBackup",
196
+ "sha256": "sha256:357768e86657a79c1294b6a4a8bce338ae89885b1a0b9afba2dfd9a389e90107"
197
+ },
198
+ {
199
+ "name": "harnessErrorDocument",
200
+ "sha256": "sha256:f9679ae46816d693c77acc0ecb2c35e99ab5952950f415407a1c94270bacee12"
201
+ },
202
+ {
203
+ "name": "importHarnessStateBackup",
204
+ "sha256": "sha256:2f5ea480dc18f433e22afe6dee5df019218679a16e5b45c0356c44d29941b16d"
205
+ },
206
+ {
207
+ "name": "importHarnessStateBackupFile",
208
+ "sha256": "sha256:5d9be175f24cbaf371bb8cb83a3e6aae1ae65f2503992c7efaaa72a21f4ffd99"
209
+ },
210
+ {
211
+ "name": "inspectHarnessRun",
212
+ "sha256": "sha256:6e50c6d70456ea542b0857c31286369bbf601a27a01d368c4c37f5259e87472b"
213
+ },
214
+ {
215
+ "name": "inspectHarnessState",
216
+ "sha256": "sha256:e7ef2228c6927447e32491bd5fc785cacbe44f990de849fe45b3301f07f14622"
217
+ },
218
+ {
219
+ "name": "listHarnessRuns",
220
+ "sha256": "sha256:6c4c66ad4003c6d052e9088e1a2c2020bd413fbad9c91e49020d3526fbf58aab"
221
+ },
222
+ {
223
+ "name": "loadHarnessMcpConfiguration",
224
+ "sha256": "sha256:806b5e47f8d4ca837f28cbfeb175ab649af50c65d432f6a7c9a206dbda0b49eb"
225
+ },
226
+ {
227
+ "name": "migrateHarnessConfigInput",
228
+ "sha256": "sha256:da2759c9399366d0e977d79db49d40315e097d6d4a105e4a879058a6dcce0cbd"
229
+ },
230
+ {
231
+ "name": "normalizeHarnessError",
232
+ "sha256": "sha256:d165e0ae2fbab774665e5166bc6e117dea071c918c7406b546f0f562d5733365"
233
+ },
234
+ {
235
+ "name": "normalizeHarnessMcpConfiguration",
236
+ "sha256": "sha256:fdc6b8de6818be18e449ab76d5d5f9f8397af7fac4814263bba8d19c9a8c6cd6"
237
+ },
238
+ {
239
+ "name": "openCliSessionStore",
240
+ "sha256": "sha256:97c478975ef9e6429585f6b7e321ddbdc3aee3bca99805ec29754ffb4e80ec9a"
241
+ },
242
+ {
243
+ "name": "openHarnessPersistence",
244
+ "sha256": "sha256:163b96aa091aa85213d517bc7d37eb950c595bfb6a29000da7d17cc7f3b5e6aa"
245
+ },
246
+ {
247
+ "name": "parseCliJsonDocument",
248
+ "sha256": "sha256:fedf61cd4fc0a83eebf113af3771b3e8eb8148fb9c3961d34ddfc2386b453de4"
249
+ },
250
+ {
251
+ "name": "parseCliJsonLineDocument",
252
+ "sha256": "sha256:b575a62cc6cb16bcba5f7421ba62b64ec7d19fdc7afb82db58ff977cab8aab46"
253
+ },
254
+ {
255
+ "name": "parseHarnessModelRoute",
256
+ "sha256": "sha256:8432a69f69333c5ed0cec25181df15582911af7ed436c0c91a492502471c2ed8"
257
+ },
258
+ {
259
+ "name": "parseProvider",
260
+ "sha256": "sha256:cf54dd99d80bb0055b22e8e36d8f235f10da67ea1a58e1be99188c59a174ec03"
261
+ },
262
+ {
263
+ "name": "providerAvailability",
264
+ "sha256": "sha256:674b6f97d07b46359961b122e967b9073bf874a918b7215f67d04036dd86b03b"
265
+ },
266
+ {
267
+ "name": "readHarnessStateBackup",
268
+ "sha256": "sha256:14285ee1ee986924aee669622a0caecf2c46b5e546218bbc63697bc3687e9837"
269
+ },
270
+ {
271
+ "name": "resolveHarnessConfig",
272
+ "sha256": "sha256:2d78e0cf8ae84ddd911268fabbd1fa85a992719f7ea12a9ceee0323d351f7e50"
273
+ },
274
+ {
275
+ "name": "runHarness",
276
+ "sha256": "sha256:4d1eabf4c6158612429c2087f61e9052fc1adf2560b69d7e16bac9bc368e745b"
277
+ },
278
+ {
279
+ "name": "serializeStreamEvent",
280
+ "sha256": "sha256:07aa16b64d20355d410da09e6f02945da006ab5eb2d94516b7b027c9ff25209d"
281
+ },
282
+ {
283
+ "name": "serializeStreamResult",
284
+ "sha256": "sha256:2bf832ca69843b8a88c21cca0bcf9b3e7f51e444db1b28368d5ecfc401cbb8a8"
285
+ },
286
+ {
287
+ "name": "stateBackupBundleSchema",
288
+ "sha256": "sha256:e0bf7c9634affa7fa5dcb78754c38ea44618f4007fd76b975f7616484b6af7b0"
289
+ },
290
+ {
291
+ "name": "validateCliCommandOptions",
292
+ "sha256": "sha256:0db6291eaea426f120f5ee900cc0c0332007e7897587f49ac5f5b8f23cde209a"
293
+ },
294
+ {
295
+ "name": "verifyChangeEnvelope",
296
+ "sha256": "sha256:19ef81480f885d2464df35715393c04f479e2b242972eef94a561378d61c2f95"
297
+ }
298
+ ],
299
+ "stableTypeExports": [
300
+ {
301
+ "name": "ChangeEnvelope",
302
+ "sha256": "sha256:212e85942e31641258cdd1018628572b3587bedd513b477ac0504a34dbaa71d2"
303
+ },
304
+ {
305
+ "name": "CliChangeEnvelopeVerificationDocument",
306
+ "sha256": "sha256:128883d066ce29ecb7d784716a9d37b328c8b62ad0fc23a10fd2d043c94917d0"
307
+ },
308
+ {
309
+ "name": "CliCommandOptionContract",
310
+ "sha256": "sha256:f3bed3621e3602410c3ca3e8585754a6937a810d4f874d308e2e3b6c939723ac"
311
+ },
312
+ {
313
+ "name": "CliCommandOptionContractKey",
314
+ "sha256": "sha256:ebba6d15bf9d4d4a1f556c49f82a13f60791825574662f58b228372265b82437"
315
+ },
316
+ {
317
+ "name": "CliJsonDocument",
318
+ "sha256": "sha256:819decd0ff5969a9e534c0da940fd498896343b932e17f3c2712a584a7d5251d"
319
+ },
320
+ {
321
+ "name": "CliJsonLineDocument",
322
+ "sha256": "sha256:ef53f0cc28e4826b8db67c3070c6a00d553ace67f4b9f338970662dcfede5c7e"
323
+ },
324
+ {
325
+ "name": "CliOptionDefinition",
326
+ "sha256": "sha256:ff4e3c3fab35befcf51de4223812f5a08880947956c3014d18dda9f36dd2fa06"
327
+ },
328
+ {
329
+ "name": "CliOptionName",
330
+ "sha256": "sha256:650c835c1b9dafc111608dc5214b555b2b0527442f2bdfc2d42ef74d0d306208"
331
+ },
332
+ {
333
+ "name": "CliReviewGroupDocument",
334
+ "sha256": "sha256:432a3d91e4289ec68990de4b0a3a670a196acb7913c9372c8347d420c9bb47e2"
335
+ },
336
+ {
337
+ "name": "CliRunEventDocument",
338
+ "sha256": "sha256:6555e1d03451e0cfad7c906f5f1e27b69fc2c2b5980db838b13b08cca9695bfa"
339
+ },
340
+ {
341
+ "name": "CliRunInspectionDocument",
342
+ "sha256": "sha256:2f5ed355d934d439c6f24060a1405dc086fa888d15dccad842f59690b9537503"
343
+ },
344
+ {
345
+ "name": "CliRunListDocument",
346
+ "sha256": "sha256:b1731d45a48faa41d1c96fdb141429fcca9476e95845cb3eebe834524e9a61fc"
347
+ },
348
+ {
349
+ "name": "CliRunResultDocument",
350
+ "sha256": "sha256:c618d40a614c3bb04e0f827abf9e1861d68618888181db95d8829c734a7a38eb"
351
+ },
352
+ {
353
+ "name": "CliSession",
354
+ "sha256": "sha256:cba402dcd894964dad646948b48e758b4747dcca60632344e96ba6fd3d1b02b2"
355
+ },
356
+ {
357
+ "name": "CliSessionDocument",
358
+ "sha256": "sha256:58cb6cae92da62ac9ec147103ed218ee9167980fa21aec92ab4d295256f4f13f"
359
+ },
360
+ {
361
+ "name": "CliSessionStore",
362
+ "sha256": "sha256:0f7af5faf8b98df07c7a7c12a997d36699263bff00f2075c0ab2bca7d8e056a2"
363
+ },
364
+ {
365
+ "name": "CliStreamErrorDocument",
366
+ "sha256": "sha256:694055cb726a6a6bf296d1b93a41b77194671e00d01c52b2044d932a764954ee"
367
+ },
368
+ {
369
+ "name": "CliStreamResultDocument",
370
+ "sha256": "sha256:e2cc00682ff7a09464e794a663c7f6fdb0d1592c9c6a33f3309e3605072b09ba"
371
+ },
372
+ {
373
+ "name": "CreateHarnessOptions",
374
+ "sha256": "sha256:21fcdd288395e9fe4f9cd379cffa13c53a22ec654ca4602b1700cdde7b15637a"
375
+ },
376
+ {
377
+ "name": "HarnessBudget",
378
+ "sha256": "sha256:5824301ecd5e057bb1d84f3de75fffc5307d36a2f64b949796c2077ae4ebd8d3"
379
+ },
380
+ {
381
+ "name": "HarnessConfig",
382
+ "sha256": "sha256:636c2d4a142e341cefa3f94edb2281953e4469d32ab66c207da3abe6d3530cae"
383
+ },
384
+ {
385
+ "name": "HarnessConfigInput",
386
+ "sha256": "sha256:d0797335d49ef69414e08611bf98aaa686f678be404c95a50979147df20ef270"
387
+ },
388
+ {
389
+ "name": "HarnessConfigMigrationResult",
390
+ "sha256": "sha256:3b5f4b7f766c7733573b69178b330e4102baf71fdbfe16420be84b59c0abfcad"
391
+ },
392
+ {
393
+ "name": "HarnessContextBundle",
394
+ "sha256": "sha256:d471245ae5d1c6914a6983182d9eabc047c01b4ec7270881f2fb8eae6d0d5b18"
395
+ },
396
+ {
397
+ "name": "HarnessContextConfig",
398
+ "sha256": "sha256:e89625535c552aa05a23542162d4439c70bb5f3cab4f265f14e88be505f4fbb4"
399
+ },
400
+ {
401
+ "name": "HarnessCostBudget",
402
+ "sha256": "sha256:7e936416672e6c6ce046cbe88218c0e7d88f0b27b8491a38049af6f14d6cc5e8"
403
+ },
404
+ {
405
+ "name": "HarnessErrorCategory",
406
+ "sha256": "sha256:c885ed83ae956c5f1fbb6d66131900a2d688b44f9ffc49fb5b8cf10d2c84f6c6"
407
+ },
408
+ {
409
+ "name": "HarnessErrorCode",
410
+ "sha256": "sha256:10c98e3bcac862f0945c02829ef345f016678fa40ea5dc3ed501fe3f051d3fc7"
411
+ },
412
+ {
413
+ "name": "HarnessErrorDocument",
414
+ "sha256": "sha256:255e3c8b57aa188ea21a548445577e71f7eb052984096452c9e402162d9e4ded"
415
+ },
416
+ {
417
+ "name": "HarnessExecutionBackend",
418
+ "sha256": "sha256:e05d28189e1a2806f506c1feb670440410e499a959516186eaf7c1cb5e14900b"
419
+ },
420
+ {
421
+ "name": "HarnessExecutionConfig",
422
+ "sha256": "sha256:fbc47e225857db9cc36a0cc61eb6a3f036a0c64cd16bdd743c202cd5edb881e8"
423
+ },
424
+ {
425
+ "name": "HarnessExecutionSession",
426
+ "sha256": "sha256:52d52761e770cbf54fa0e87b9fa0cb7b9a1e74bc35500d0a37bb8d0048b17bd9"
427
+ },
428
+ {
429
+ "name": "HarnessMcpConfiguration",
430
+ "sha256": "sha256:ce1d2900e701537db8a063af806c66a5f6d6ca296557931af407d6075556afce"
431
+ },
432
+ {
433
+ "name": "HarnessModelRoute",
434
+ "sha256": "sha256:d9194ea7f0baa2b6b6b97bd0b3f4330059cf7fb43bbf480562e53eb109902759"
435
+ },
436
+ {
437
+ "name": "HarnessProvider",
438
+ "sha256": "sha256:23f3e11d4a7e03e09e0b1d4ce2148d1fe8af10c11ef339e0ef2c8242facec5c2"
439
+ },
440
+ {
441
+ "name": "HarnessProviderRegistry",
442
+ "sha256": "sha256:ee78a8fe170c5c9c2f486960c29d28fc1b1d61540a4b2ca48a65f0f0983c35cd"
443
+ },
444
+ {
445
+ "name": "HarnessRequiredCapability",
446
+ "sha256": "sha256:e24f4c2312f84baf9e584230631354d96d45c0a37b3d59b93b2e2ff1c5598e40"
447
+ },
448
+ {
449
+ "name": "HarnessRunOptions",
450
+ "sha256": "sha256:fbc89053a700fd05ebe25b0bc98a72a2817267274d55105678bb9ee6da5ab173"
451
+ },
452
+ {
453
+ "name": "HarnessStateBackupBundle",
454
+ "sha256": "sha256:5df85d2ef5e4de727cce61b8fb3aa4b73f57a6aa5285b76f6661dbbba43517c1"
455
+ },
456
+ {
457
+ "name": "HarnessStateImportOptions",
458
+ "sha256": "sha256:72b6ab22a7dd369978e4c9f0fab7ba6e932503c70d3ada42b1137a20e211b739"
459
+ },
460
+ {
461
+ "name": "HarnessStoreBackend",
462
+ "sha256": "sha256:9d197faa17b2f340f7c3320842baa570be679996b4e86f53c2538fbc2e28e1ba"
463
+ },
464
+ {
465
+ "name": "HarnessSubagentProfile",
466
+ "sha256": "sha256:a7a68eb8b71ef61b895f63f22fa11aad48cf6ee2374957ea5864d7454be87a39"
467
+ },
468
+ {
469
+ "name": "ProviderAvailability",
470
+ "sha256": "sha256:7d3edae55de47e2cfaad86b406042dddd726acaffef337ef663708c3d1096a40"
471
+ },
472
+ {
473
+ "name": "ProviderDescriptor",
474
+ "sha256": "sha256:01670e34e6325f642305c0e7e615ba7d1b0c651e43ff652539fb900abf1fe322"
475
+ },
476
+ {
477
+ "name": "ProviderRegistration",
478
+ "sha256": "sha256:324b4a4c055036c897c9b2c1592f2fc5ba68e0b4b375182407867330a1710982"
479
+ },
480
+ {
481
+ "name": "SessionRunStatus",
482
+ "sha256": "sha256:e136103e73830039a9035441ef8a771dabd8c012dd1b04ad053972e3cc7866f7"
483
+ },
484
+ {
485
+ "name": "ZhivexHarness",
486
+ "sha256": "sha256:b165b5eb63b24371c7ab1ca83b95a9c553e7200aa89e94306ca4a7434eb1bb39"
487
+ }
488
+ ],
489
+ "digest": "sha256:834bf8631b3e549da9ff2641050082dd2601898a7b7a1efa7d20511b82f3dd0d"
490
+ }
@@ -0,0 +1,40 @@
1
+ export interface CliOptionDefinition {
2
+ repeatable: boolean;
3
+ conflictsWith: readonly string[];
4
+ }
5
+ export interface CliCommandOptionContract {
6
+ allowed: readonly string[];
7
+ required: readonly (string | readonly string[])[];
8
+ repeatable: readonly string[];
9
+ conflicts: Readonly<Record<string, readonly string[]>>;
10
+ }
11
+ export declare const CLI_OPTION_NAMES: readonly ["--provider", "--model", "--route", "--workspace", "--state-dir", "--mcp-config", "--context-config", "--no-project-context", "--patch", "--preconditions", "--now", "--execution", "--oci-runtime", "--oci-image", "--oci-allow-command", "--oci-shell", "--oci-max-process-runtime-ms", "--oci-max-process-output-bytes", "--oci-max-memory-mb", "--oci-max-pids", "--oci-max-cpus", "--oci-max-workspace-bytes", "--oci-max-file-write-bytes", "--oci-tmpfs-mb", "--store", "--tenant", "--user", "--namespace", "--idempotency-key", "--max-steps", "--timeout-ms", "--max-tool-calls", "--max-tool-errors", "--max-input-tokens", "--max-output-tokens", "--max-total-tokens", "--subagent-max-steps", "--subagent-max-tool-calls", "--subagent-max-tool-errors", "--subagent-max-input-tokens", "--subagent-max-output-tokens", "--subagent-max-total-tokens", "--subagent-timeout-ms", "--max-parallel-reviews", "--max-cost-usd", "--input-cost-per-million", "--output-cost-per-million", "--allow-check", "--require-capability", "--subagent", "--reviewer", "--yes", "--approve", "--deny", "--json", "--jsonl", "--session", "--continue", "--status", "--limit", "--cursor", "--before", "--reason", "--cascade", "--final", "--apply", "--help", "--version"];
12
+ export type CliOptionName = (typeof CLI_OPTION_NAMES)[number];
13
+ export declare const CLI_OPTION_DEFINITIONS: Readonly<Record<CliOptionName, CliOptionDefinition>>;
14
+ export declare const CLI_COMMAND_OPTION_CONTRACTS: {
15
+ readonly run: CliCommandOptionContract;
16
+ readonly review: CliCommandOptionContract;
17
+ readonly chat: CliCommandOptionContract;
18
+ readonly providers: CliCommandOptionContract;
19
+ readonly doctor: CliCommandOptionContract;
20
+ readonly resume: CliCommandOptionContract;
21
+ readonly "runs:list": CliCommandOptionContract;
22
+ readonly "runs:inspect": CliCommandOptionContract;
23
+ readonly "runs:cancel": CliCommandOptionContract;
24
+ readonly "runs:cleanup": CliCommandOptionContract;
25
+ readonly "runs:export": CliCommandOptionContract;
26
+ readonly "sessions:list": CliCommandOptionContract;
27
+ readonly "sessions:inspect": CliCommandOptionContract;
28
+ readonly "sessions:rename": CliCommandOptionContract;
29
+ readonly "sessions:fork": CliCommandOptionContract;
30
+ readonly "sessions:archive": CliCommandOptionContract;
31
+ readonly "changes:create": CliCommandOptionContract;
32
+ readonly "changes:verify": CliCommandOptionContract;
33
+ readonly "state:status": CliCommandOptionContract;
34
+ readonly "state:export": CliCommandOptionContract;
35
+ readonly "state:import": CliCommandOptionContract;
36
+ readonly help: CliCommandOptionContract;
37
+ readonly version: CliCommandOptionContract;
38
+ };
39
+ export type CliCommandOptionContractKey = keyof typeof CLI_COMMAND_OPTION_CONTRACTS;
40
+ export declare const validateCliCommandOptions: (commandKey: CliCommandOptionContractKey, counts: ReadonlyMap<string, number>) => void;