@zhivex-ai/harness 1.4.0-rc.8 → 1.4.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.
Files changed (124) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +126 -72
  3. package/SECURITY.md +1 -1
  4. package/SUPPORT.md +2 -2
  5. package/contracts/client-protocol-v1.schema.json +593 -0
  6. package/contracts/engine-api.json +156 -0
  7. package/contracts/public-api.json +12 -0
  8. package/contracts/stable-api-signatures.json +33 -33
  9. package/dist/acp-cli.js +56 -21
  10. package/dist/audit/index.d.ts +3 -0
  11. package/dist/audit/index.js +482 -0
  12. package/dist/audit/pack.d.ts +72 -0
  13. package/dist/audit-pack-e4vaq7np.js +532 -0
  14. package/dist/cli/arguments.d.ts +3 -1
  15. package/dist/cli/audit-pack.d.ts +24 -0
  16. package/dist/cli/cli-credentials.d.ts +6 -0
  17. package/dist/cli/cli-profiles.d.ts +4 -2
  18. package/dist/cli/node-engine.d.ts +2 -0
  19. package/dist/{cli-3bzvq594.js → cli-1cf4dcnj.js} +245 -642
  20. package/dist/{cli-entry-qav71mxw.js → cli-entry-3s63zn4w.js} +40 -13
  21. package/dist/cli-entry-7f0cen32.js +9990 -0
  22. package/dist/cli-entry-a890x3kq.js +10348 -0
  23. package/dist/{cli-entry-yqwa1943.js → cli-entry-hdtfef27.js} +760 -35
  24. package/dist/cli-entry-rgs6bxmy.js +484 -0
  25. package/dist/cli.js +27 -2
  26. package/dist/client/json-contracts.d.ts +4 -0
  27. package/dist/client/protocol.d.ts +133 -0
  28. package/dist/client/task-control-host.d.ts +400 -0
  29. package/dist/client/task-projection-host.d.ts +12 -0
  30. package/dist/client/task-projection.d.ts +168 -0
  31. package/dist/compat/code-support.js +30 -23
  32. package/dist/{config-depqpsae.js → config-r9fdhce6.js} +5 -4
  33. package/dist/{config-pwbnze4g.js → config-vyajmksy.js} +1 -1
  34. package/dist/engine/acp.js +17 -12
  35. package/dist/engine/client.js +16 -11
  36. package/dist/engine/desktop-providers-v1.d.ts +2 -0
  37. package/dist/engine/desktop-providers-v1.js +24 -3
  38. package/dist/engine/desktop-state-v1.js +13 -9
  39. package/dist/engine/index.d.ts +3 -0
  40. package/dist/engine/index.js +103 -555
  41. package/dist/engine/mcp-stdio-v1.js +10 -7
  42. package/dist/engine/models.js +76 -4
  43. package/dist/engine/protocol.d.ts +2 -0
  44. package/dist/engine/protocol.js +122 -0
  45. package/dist/engine/service.js +17 -12
  46. package/dist/hostile-repository-demo.js +1416 -521
  47. package/dist/{index-txrqqd2r.js → index-02pqtbbg.js} +560 -34
  48. package/dist/{index-nqhnh1hz.js → index-0zs2dz26.js} +767 -932
  49. package/dist/{index-09zphhwt.js → index-1265j7t2.js} +74 -7
  50. package/dist/index-4fx5f3k5.js +269 -0
  51. package/dist/{index-ngg2168h.js → index-4gt045j0.js} +110 -2
  52. package/dist/{index-sbzvrpm7.js → index-6599mpmy.js} +5 -3
  53. package/dist/{index-7y6b4yjx.js → index-74kkpyqk.js} +10 -8
  54. package/dist/{index-pcn2bk8j.js → index-8sm2a1wa.js} +1 -1
  55. package/dist/{index-jdb1q8yn.js → index-bpc596v3.js} +15 -10
  56. package/dist/index-c39197wq.js +552 -0
  57. package/dist/{index-1k248k0w.js → index-crta5wzv.js} +7 -6
  58. package/dist/{index-zmx264xy.js → index-d9zkmhz3.js} +144 -825
  59. package/dist/{index-w9pjt7td.js → index-dtb2c6ds.js} +6 -260
  60. package/dist/index-f6mqa5gk.js +1535 -0
  61. package/dist/index-fm84men1.js +239 -0
  62. package/dist/index-j6zxnc8m.js +490 -0
  63. package/dist/{index-vga76vmb.js → index-mv8sb1ns.js} +5 -3
  64. package/dist/{index-xqxeypt5.js → index-mzydbzp8.js} +76 -4
  65. package/dist/{index-wg1sd3at.js → index-qfsrrnz6.js} +1 -1
  66. package/dist/{index-9v72fpya.js → index-sk3cap35.js} +889 -969
  67. package/dist/index-sstgcsr0.js +511 -0
  68. package/dist/index-wm9xeq1n.js +329 -0
  69. package/dist/index-xdbkcccf.js +719 -0
  70. package/dist/{index-fny13znr.js → index-zxg4ve4j.js} +42 -1549
  71. package/dist/index.d.ts +3 -0
  72. package/dist/index.js +95 -78
  73. package/dist/internal/desktop/providers.d.ts +2 -0
  74. package/dist/models/catalog.d.ts +2 -0
  75. package/dist/persistence/sqlite-database.d.ts +1 -0
  76. package/dist/providers/azure-openai.d.ts +14 -0
  77. package/dist/providers/bedrock.d.ts +23 -0
  78. package/dist/providers/providers.d.ts +1 -1
  79. package/dist/providers/vertex-auth.d.ts +5 -1
  80. package/dist/runtime/durable-review-group.d.ts +33 -0
  81. package/dist/runtime/error-diagnostics.d.ts +8 -0
  82. package/dist/runtime/harness.d.ts +11 -0
  83. package/dist/runtime/provider-transient.d.ts +33 -0
  84. package/dist/runtime/run-interruption.d.ts +7 -0
  85. package/dist/runtime/shared-budget.d.ts +30 -0
  86. package/dist/runtime/task-continuity.d.ts +300 -77
  87. package/dist/runtime/time-to-safe-fix.d.ts +8 -0
  88. package/dist/service-cli.js +17 -12
  89. package/dist/{service-client-cli-ra3yzvjg.js → service-client-cli-eqrdc9zq.js} +400 -305
  90. package/dist/verify-historical-migrations.js +1416 -521
  91. package/dist/zhx.js +27 -2
  92. package/docs/AUDIT_PACK.md +99 -0
  93. package/docs/AZURE_OPENAI.md +53 -0
  94. package/docs/BEDROCK.md +56 -0
  95. package/docs/CLI.md +16 -1
  96. package/docs/CLIENT_PROTOCOL.md +178 -0
  97. package/docs/CODE_RELEASE.md +68 -1
  98. package/docs/CODE_WEB_TASKS.md +116 -0
  99. package/docs/CONTEXT_ENGINEERING.md +59 -0
  100. package/docs/CREDENTIALS.md +21 -0
  101. package/docs/DURABLE_OPERATIONS.md +93 -1
  102. package/docs/ENGINE_API.md +5 -2
  103. package/docs/EXTENSIBILITY.md +2 -2
  104. package/docs/FIRST_USE.md +6 -6
  105. package/docs/MINIMUM_TASK_AUTHORITY.md +3 -3
  106. package/docs/PROJECT_MEMORY.md +1 -1
  107. package/docs/README.md +6 -1
  108. package/docs/STABILITY.md +3 -1
  109. package/docs/SUPPORT_MATRIX.md +1 -1
  110. package/docs/SUPPORT_MATRIX_1_1.md +1 -1
  111. package/docs/USAGE.md +3 -1
  112. package/docs/VERTEX.md +2 -2
  113. package/docs/WEB_LIMITS.md +4 -3
  114. package/docs/adr/0002-isolated-mcp-stdio.md +6 -3
  115. package/docs/support-matrix-1.1.json +3 -1
  116. package/docs/support-matrix.json +6 -4
  117. package/evaluations/code-task-ui.json +20 -0
  118. package/evaluations/representative-assembly-matrix.json +19 -1
  119. package/evaluations/task-projection.json +10 -0
  120. package/evaluations/task-recovery-lab.json +60 -0
  121. package/examples/README.md +5 -5
  122. package/package.json +23 -13
  123. package/dist/cli-entry-25xefnws.js +0 -19900
  124. package/dist/index-8705zxpr.js +0 -145
@@ -2250,6 +2250,31 @@
2250
2250
  "name": "GovernanceSessionSource",
2251
2251
  "kind": "type",
2252
2252
  "tier": "experimental"
2253
+ },
2254
+ {
2255
+ "name": "runHarnessDurableReviewGroup",
2256
+ "kind": "runtime",
2257
+ "tier": "beta"
2258
+ },
2259
+ {
2260
+ "name": "inspectHarnessReviewGroup",
2261
+ "kind": "runtime",
2262
+ "tier": "beta"
2263
+ },
2264
+ {
2265
+ "name": "cancelHarnessReviewGroup",
2266
+ "kind": "runtime",
2267
+ "tier": "beta"
2268
+ },
2269
+ {
2270
+ "name": "HarnessDurableReviewGroupResult",
2271
+ "kind": "type",
2272
+ "tier": "beta"
2273
+ },
2274
+ {
2275
+ "name": "HarnessSharedBudgetOptions",
2276
+ "kind": "type",
2277
+ "tier": "beta"
2253
2278
  }
2254
2279
  ]
2255
2280
  },
@@ -2381,6 +2406,31 @@
2381
2406
  "name": "ApprovalDecisionView",
2382
2407
  "kind": "type",
2383
2408
  "tier": "beta"
2409
+ },
2410
+ {
2411
+ "name": "HARNESS_TASK_PROJECTION_VERSION",
2412
+ "kind": "runtime",
2413
+ "tier": "experimental"
2414
+ },
2415
+ {
2416
+ "name": "harnessTaskProjectionSchema",
2417
+ "kind": "runtime",
2418
+ "tier": "experimental"
2419
+ },
2420
+ {
2421
+ "name": "reduceHarnessTaskProjection",
2422
+ "kind": "runtime",
2423
+ "tier": "experimental"
2424
+ },
2425
+ {
2426
+ "name": "HarnessTaskProjection",
2427
+ "kind": "type",
2428
+ "tier": "experimental"
2429
+ },
2430
+ {
2431
+ "name": "HarnessTaskProjectionScope",
2432
+ "kind": "type",
2433
+ "tier": "experimental"
2384
2434
  }
2385
2435
  ]
2386
2436
  },
@@ -2963,6 +3013,56 @@
2963
3013
  "name": "vertexRoute",
2964
3014
  "kind": "runtime",
2965
3015
  "tier": "experimental"
3016
+ },
3017
+ {
3018
+ "name": "bedrockConfigured",
3019
+ "kind": "runtime",
3020
+ "tier": "experimental"
3021
+ },
3022
+ {
3023
+ "name": "bedrockEnvironment",
3024
+ "kind": "runtime",
3025
+ "tier": "experimental"
3026
+ },
3027
+ {
3028
+ "name": "bedrockOpenAIBaseURL",
3029
+ "kind": "runtime",
3030
+ "tier": "experimental"
3031
+ },
3032
+ {
3033
+ "name": "bedrockRegion",
3034
+ "kind": "runtime",
3035
+ "tier": "experimental"
3036
+ },
3037
+ {
3038
+ "name": "bedrockRuntime",
3039
+ "kind": "runtime",
3040
+ "tier": "experimental"
3041
+ },
3042
+ {
3043
+ "name": "azureOpenAIConfigured",
3044
+ "kind": "runtime",
3045
+ "tier": "experimental"
3046
+ },
3047
+ {
3048
+ "name": "azureOpenAIEnvironment",
3049
+ "kind": "runtime",
3050
+ "tier": "experimental"
3051
+ },
3052
+ {
3053
+ "name": "azureOpenAIEndpoint",
3054
+ "kind": "runtime",
3055
+ "tier": "experimental"
3056
+ },
3057
+ {
3058
+ "name": "azureOpenAIApiVersion",
3059
+ "kind": "runtime",
3060
+ "tier": "experimental"
3061
+ },
3062
+ {
3063
+ "name": "azureOpenAIDeployments",
3064
+ "kind": "runtime",
3065
+ "tier": "experimental"
2966
3066
  }
2967
3067
  ]
2968
3068
  },
@@ -3041,6 +3141,62 @@
3041
3141
  "tier": "experimental"
3042
3142
  }
3043
3143
  ]
3144
+ },
3145
+ "./audit": {
3146
+ "source": "src/audit/index.ts",
3147
+ "environment": "node",
3148
+ "exports": [
3149
+ {
3150
+ "name": "AUDIT_PACK_SCHEMA_VERSION",
3151
+ "kind": "runtime",
3152
+ "tier": "experimental"
3153
+ },
3154
+ {
3155
+ "name": "auditPackManifestSchema",
3156
+ "kind": "runtime",
3157
+ "tier": "experimental"
3158
+ },
3159
+ {
3160
+ "name": "canonicalizeAuditPackManifest",
3161
+ "kind": "runtime",
3162
+ "tier": "experimental"
3163
+ },
3164
+ {
3165
+ "name": "exportHarnessAuditPack",
3166
+ "kind": "runtime",
3167
+ "tier": "experimental"
3168
+ },
3169
+ {
3170
+ "name": "loadAuditSigningKey",
3171
+ "kind": "runtime",
3172
+ "tier": "experimental"
3173
+ },
3174
+ {
3175
+ "name": "verifyHarnessAuditPack",
3176
+ "kind": "runtime",
3177
+ "tier": "experimental"
3178
+ },
3179
+ {
3180
+ "name": "AuditPackExportOptions",
3181
+ "kind": "type",
3182
+ "tier": "experimental"
3183
+ },
3184
+ {
3185
+ "name": "AuditPackManifest",
3186
+ "kind": "type",
3187
+ "tier": "experimental"
3188
+ },
3189
+ {
3190
+ "name": "AuditPackVerification",
3191
+ "kind": "type",
3192
+ "tier": "experimental"
3193
+ },
3194
+ {
3195
+ "name": "AuditPackVerifyOptions",
3196
+ "kind": "type",
3197
+ "tier": "experimental"
3198
+ }
3199
+ ]
3044
3200
  }
3045
3201
  }
3046
3202
  }
@@ -91,6 +91,7 @@
91
91
  "applyEditProposalInputSchema",
92
92
  "applyHarnessToolPolicy",
93
93
  "assertHarnessModelCapabilities",
94
+ "cancelHarnessReviewGroup",
94
95
  "cancelHarnessRun",
95
96
  "canonicalizeChangeEnvelope",
96
97
  "changeEnvelopeApprovalSchema",
@@ -183,6 +184,7 @@
183
184
  "importHarnessStateBackupFile",
184
185
  "injectTimeToSafeFixAttack",
185
186
  "inspectHarnessModelCapabilities",
187
+ "inspectHarnessReviewGroup",
186
188
  "inspectHarnessRun",
187
189
  "inspectHarnessState",
188
190
  "isHarnessContextDigest",
@@ -220,6 +222,7 @@
220
222
  "resolveTerminalApprovals",
221
223
  "restoreFileInputSchema",
222
224
  "runHarness",
225
+ "runHarnessDurableReviewGroup",
223
226
  "runHarnessReviewGroup",
224
227
  "sanitizeTerminalText",
225
228
  "selectHarnessModel",
@@ -399,6 +402,7 @@
399
402
  "TERMINAL_SESSION_RUN_STATUSES",
400
403
  "applyEditProposalInputSchema",
401
404
  "assertHarnessModelCapabilities",
405
+ "cancelHarnessReviewGroup",
402
406
  "changeEnvelopeApprovalSchema",
403
407
  "changeEnvelopeBaseSchema",
404
408
  "changeEnvelopeCheckSchema",
@@ -458,6 +462,7 @@
458
462
  "harnessLifecycleFingerprintInput",
459
463
  "harnessSkillLoadInputSchema",
460
464
  "inspectHarnessModelCapabilities",
465
+ "inspectHarnessReviewGroup",
461
466
  "isHarnessContextDigest",
462
467
  "loadHarnessProjectContext",
463
468
  "loadHarnessSkill",
@@ -472,6 +477,7 @@
472
477
  "resolveHarnessModelRoutes",
473
478
  "resolveTerminalApprovals",
474
479
  "restoreFileInputSchema",
480
+ "runHarnessDurableReviewGroup",
475
481
  "runHarnessReviewGroup",
476
482
  "sanitizeTerminalText",
477
483
  "selectHarnessModel",
@@ -564,6 +570,7 @@
564
570
  "HarnessContextSource",
565
571
  "HarnessCostBudget",
566
572
  "HarnessDelegationContract",
573
+ "HarnessDurableReviewGroupResult",
567
574
  "HarnessEnvironmentStatus",
568
575
  "HarnessErrorCategory",
569
576
  "HarnessErrorCode",
@@ -606,6 +613,7 @@
606
613
  "HarnessRunDiagnostics",
607
614
  "HarnessRunOptions",
608
615
  "HarnessRunQuery",
616
+ "HarnessSharedBudgetOptions",
609
617
  "HarnessSkillIndexEntry",
610
618
  "HarnessStateBackupBundle",
611
619
  "HarnessStateImportOptions",
@@ -771,6 +779,7 @@
771
779
  "HarnessContextManifestIdentity",
772
780
  "HarnessContextSource",
773
781
  "HarnessDelegationContract",
782
+ "HarnessDurableReviewGroupResult",
774
783
  "HarnessEnvironmentStatus",
775
784
  "HarnessErrorOptions",
776
785
  "HarnessExecutionIoMetrics",
@@ -796,6 +805,7 @@
796
805
  "HarnessReviewGroupResult",
797
806
  "HarnessRunDiagnostics",
798
807
  "HarnessRunQuery",
808
+ "HarnessSharedBudgetOptions",
799
809
  "HarnessSkillIndexEntry",
800
810
  "HarnessSubagentProfileDescriptor",
801
811
  "HarnessSubagentRuntime",
@@ -907,6 +917,8 @@
907
917
  "changes",
908
918
  "state",
909
919
  "memory",
920
+ "export-audit",
921
+ "verify-audit",
910
922
  "help",
911
923
  "version"
912
924
  ],
@@ -41,7 +41,7 @@
41
41
  },
42
42
  {
43
43
  "name": "DEFAULT_PROVIDER_REGISTRY",
44
- "sha256": "sha256:6aafd74c65a8f6ba4e02803f548d305d9fdaeb6dc98c4220ef05b920608f7103"
44
+ "sha256": "sha256:d0b6671d5c211abd1aae66a8565feaf69cde5adb3707e6debfd74c1f1f70e920"
45
45
  },
46
46
  {
47
47
  "name": "HARNESS_CONFIG_MIGRATABLE_SCHEMA_VERSIONS",
@@ -121,7 +121,7 @@
121
121
  },
122
122
  {
123
123
  "name": "PROVIDERS",
124
- "sha256": "sha256:dddafb1704dc5feb1101ea49ae3127c168433a3d85b8167ab63fe4a34945a0e0"
124
+ "sha256": "sha256:aa3399f44ac33bbee89a2e82744e16c03df8e657efe5a20f4e8c0ba05d567528"
125
125
  },
126
126
  {
127
127
  "name": "Workspace",
@@ -133,7 +133,7 @@
133
133
  },
134
134
  {
135
135
  "name": "cancelHarnessRun",
136
- "sha256": "sha256:209632058366e3993cc22c7bdadde31dd00a3f533dcfb4d61c8f5124de9c3aed"
136
+ "sha256": "sha256:cca1615f3b3e3bf714046aecfdff527c31b8bfece6066b1e1bd7754b300f10ee"
137
137
  },
138
138
  {
139
139
  "name": "canonicalizeChangeEnvelope",
@@ -141,11 +141,11 @@
141
141
  },
142
142
  {
143
143
  "name": "cleanupHarnessRuns",
144
- "sha256": "sha256:0d91a941627459e31098d8f7b0f5abbde1ec518705c61e8eb4cd54ac1a2da4f8"
144
+ "sha256": "sha256:16bdddde7e5156794d2d9a75fd35acef8cdad21cabf1096f489244985560c196"
145
145
  },
146
146
  {
147
147
  "name": "cliJsonDocumentSchema",
148
- "sha256": "sha256:7e7a254c88c40eb537981b8e28cc9abeb1196e75d8ee025c12551cb8cfeab580"
148
+ "sha256": "sha256:9d2bcd4c882926b02bd96527b83f29328fb7434a34640bdf5b14db941438b691"
149
149
  },
150
150
  {
151
151
  "name": "cliJsonLineDocumentSchema",
@@ -165,7 +165,7 @@
165
165
  },
166
166
  {
167
167
  "name": "createHarness",
168
- "sha256": "sha256:8b682f88b2c92a5581a68f92dbd886b5dc6c8b49b04ca8e1214bed164708b9ea"
168
+ "sha256": "sha256:e93ba19038466b7ba57cdb6db2c8f0342e659473d09d522c019d3a631c575904"
169
169
  },
170
170
  {
171
171
  "name": "createHarnessMcpTools",
@@ -177,7 +177,7 @@
177
177
  },
178
178
  {
179
179
  "name": "createHarnessStateBackup",
180
- "sha256": "sha256:f1fa095f7b2db71d64f07ff23d8823fc1ba57729d3cfdb1188969c5ab2172332"
180
+ "sha256": "sha256:66676201fd0483a4416d89acc398c3152e3cf95353c6a54becfd5699c276022e"
181
181
  },
182
182
  {
183
183
  "name": "createHttpMcpClient",
@@ -185,7 +185,7 @@
185
185
  },
186
186
  {
187
187
  "name": "createProviderModel",
188
- "sha256": "sha256:482f0414ff0315198c7b1deaabf024ffdbb64b6c06e5e7d7832652931ec540bb"
188
+ "sha256": "sha256:1ea43c2cff1af3b42be7ff830275bed2bb18aa5975b892fc7a5581eebd681db1"
189
189
  },
190
190
  {
191
191
  "name": "digestChangeEnvelopeArtifact",
@@ -193,7 +193,7 @@
193
193
  },
194
194
  {
195
195
  "name": "exportHarnessStateBackup",
196
- "sha256": "sha256:f6a581444669735dcc3998ec24b4e6f9f389d18f4680e9c956f6287738076a12"
196
+ "sha256": "sha256:4ba9b42cecf3fdb0f3812ffcfd47ef5dc372bf29525f11a64d5ebf2d672efa33"
197
197
  },
198
198
  {
199
199
  "name": "harnessErrorDocument",
@@ -201,23 +201,23 @@
201
201
  },
202
202
  {
203
203
  "name": "importHarnessStateBackup",
204
- "sha256": "sha256:1929d2a2ba7de06801dc7b6b961b74e92e7fb871ac4f01e0ba9d79d9dfb97d0f"
204
+ "sha256": "sha256:e5f9df697e842da768620595eb82b9113e7b3001899f8e1ba81b0b553ef259fe"
205
205
  },
206
206
  {
207
207
  "name": "importHarnessStateBackupFile",
208
- "sha256": "sha256:07b707e8e8495a87972a075894c4ecf59161be6ac2cdce8f9a66bf71d1b51d40"
208
+ "sha256": "sha256:d21726b17a4f2c3e932c4961ac8acf6573828aa8658cd5d3fc8e20a8f1e1291a"
209
209
  },
210
210
  {
211
211
  "name": "inspectHarnessRun",
212
- "sha256": "sha256:68e13aabfcd8974e92cebb7b06afdb5643c76d86b3473c2afeb127245329d4e5"
212
+ "sha256": "sha256:ca84ce9f4b49278965c39fe6e8b7f65be45bf9af250144718fcb1ea80f0dd75e"
213
213
  },
214
214
  {
215
215
  "name": "inspectHarnessState",
216
- "sha256": "sha256:529d9bf8c0528942793786c345030a98e88d219c34f41ea2c3e31724cca66837"
216
+ "sha256": "sha256:b13ec0d5a7cf04e453171438bd6f807a4a593954b0bf527ae2989b43c8feb3c8"
217
217
  },
218
218
  {
219
219
  "name": "listHarnessRuns",
220
- "sha256": "sha256:2085baf7b5c69e79939dd8d13d6dbccb8166d163659823d93bd2eb10d6080acc"
220
+ "sha256": "sha256:5097244a4bc2ff960c3277dfcb99b2b3b1b0a89cf25069b6fc620a0827d17477"
221
221
  },
222
222
  {
223
223
  "name": "loadHarnessMcpConfiguration",
@@ -241,11 +241,11 @@
241
241
  },
242
242
  {
243
243
  "name": "openHarnessPersistence",
244
- "sha256": "sha256:91a4d79eb2c7a4e82cb1aa6ad199492538bd2d9599bd320eb603765fb6fca934"
244
+ "sha256": "sha256:3e59925782e59f5b81199974958b291dc1954c5526f0c39568ef93e62042acd9"
245
245
  },
246
246
  {
247
247
  "name": "parseCliJsonDocument",
248
- "sha256": "sha256:8d94b80ef3160b12119ce8b083937ef6beed2a1b068f46f94b5077e36d54a931"
248
+ "sha256": "sha256:c197b3e8882201c80d19fe258724a7ba799b2c67a9797680e3527211c88aa872"
249
249
  },
250
250
  {
251
251
  "name": "parseCliJsonLineDocument",
@@ -253,15 +253,15 @@
253
253
  },
254
254
  {
255
255
  "name": "parseHarnessModelRoute",
256
- "sha256": "sha256:415ec0d691ee3d15453f2fd5118cb53d7929e2760e35d17856ce05f06e0dbc6f"
256
+ "sha256": "sha256:20dc027eab9b6733626452cb2c33ea0f44466a30fc265686d3f6771a5cbeab17"
257
257
  },
258
258
  {
259
259
  "name": "parseProvider",
260
- "sha256": "sha256:6aa7c4dc416d0f8ba0836ac50cd2e5511e0f6465e9446d8e4059b044231514e6"
260
+ "sha256": "sha256:6b5acad2fa72ff88f70d0bece4e4910fb8619cf9ba1a5aabbf9b63a966aa560e"
261
261
  },
262
262
  {
263
263
  "name": "providerAvailability",
264
- "sha256": "sha256:4f65996c8abae61922511a81ba0fb06c288d14165535770607ad2ee1ec7c9035"
264
+ "sha256": "sha256:dcdcdd826519296c50fb66890c2184b303729a1d5e079ed6122dcbedd878917a"
265
265
  },
266
266
  {
267
267
  "name": "readHarnessStateBackup",
@@ -269,11 +269,11 @@
269
269
  },
270
270
  {
271
271
  "name": "resolveHarnessConfig",
272
- "sha256": "sha256:92dd51056d4745eea346f9163f29b9748ac6e1b9f9d0e28a3191111093703804"
272
+ "sha256": "sha256:2663330f0b80e9a3c5a62d410b865f96ab5e34391b78abd22de7a0ffb8e8b088"
273
273
  },
274
274
  {
275
275
  "name": "runHarness",
276
- "sha256": "sha256:aeed30705c782cb7af884a8d51abf9d47bf4a9b7010650c842209c5f608b6019"
276
+ "sha256": "sha256:d7bb7f4e0ebd6a3b1ad88bc60ec02847a13a6839c37abb2a0602d6b4250859fb"
277
277
  },
278
278
  {
279
279
  "name": "serializeStreamEvent",
@@ -315,11 +315,11 @@
315
315
  },
316
316
  {
317
317
  "name": "CliInitDocument",
318
- "sha256": "sha256:8b3f940cebbcbbd6877a672012d8eef992a5a54991827dcbb2c43f70b8e3e961"
318
+ "sha256": "sha256:8a6e8eef3234f63cb524578141a8aa99fe018e128c518b572d97bc53adaf0c86"
319
319
  },
320
320
  {
321
321
  "name": "CliJsonDocument",
322
- "sha256": "sha256:613a0da81316ffd657d18427c28804a8f7dc51017aec2e6893d7b2d64a5ff96e"
322
+ "sha256": "sha256:69e15602e8b6e7ca87ebc197f49286deda2bc3f38fcb1e4269a3f748098400e4"
323
323
  },
324
324
  {
325
325
  "name": "CliJsonLineDocument",
@@ -375,7 +375,7 @@
375
375
  },
376
376
  {
377
377
  "name": "CreateHarnessOptions",
378
- "sha256": "sha256:bf02d5a2b5cc10dfbc59a2dcceebe91d2a56add94f9912e8d73c61da4bb64a12"
378
+ "sha256": "sha256:e9408054cff01bb19c5a85369278a20739d87ebec0297db3aed2dec876c6e8f3"
379
379
  },
380
380
  {
381
381
  "name": "HarnessBudget",
@@ -383,7 +383,7 @@
383
383
  },
384
384
  {
385
385
  "name": "HarnessConfig",
386
- "sha256": "sha256:afd78cedcbe664b7decf1d11dd70a5bb7ad997ea090c9afaa894398f408cbd3d"
386
+ "sha256": "sha256:d4e6ff0b4218f0d5ce2f410b29bf68b04bf1576c9e41ebf19368c6ef1dad6ffb"
387
387
  },
388
388
  {
389
389
  "name": "HarnessConfigInput",
@@ -439,11 +439,11 @@
439
439
  },
440
440
  {
441
441
  "name": "HarnessProvider",
442
- "sha256": "sha256:d1b6ebe920a62c1f90c69ebab3bf4e9e7a5530c4db139e809089e315b700ba00"
442
+ "sha256": "sha256:74a968ae03fbef794eda2e4ee8664febf17f4b162bb9388e18862027abdac1a2"
443
443
  },
444
444
  {
445
445
  "name": "HarnessProviderRegistry",
446
- "sha256": "sha256:28b20505d035046e92e4984f4ee48f7132893433a9aa85c2607dd211d0ebc9f4"
446
+ "sha256": "sha256:2dff8686a8375f6f30603037e8ae84988f04f13b326a35951b093b10da16bcd1"
447
447
  },
448
448
  {
449
449
  "name": "HarnessRequiredCapability",
@@ -451,7 +451,7 @@
451
451
  },
452
452
  {
453
453
  "name": "HarnessRunOptions",
454
- "sha256": "sha256:3a8ce5bc9e279e4f9e6c5c324064ddba86c28d98b6af23518101e3ff7eb41df4"
454
+ "sha256": "sha256:6c66fae48572e03ae2430450e3a639e1144dae81db80b941d217302a883b3cef"
455
455
  },
456
456
  {
457
457
  "name": "HarnessStateBackupBundle",
@@ -471,15 +471,15 @@
471
471
  },
472
472
  {
473
473
  "name": "ProviderAvailability",
474
- "sha256": "sha256:f14e8ebf9e4c9d8aaab66e17bba85697ac3cd099490753e497bbb585f14ce67c"
474
+ "sha256": "sha256:5eb50e58e40a5c40bc5ca60e04c1ab166c38f67d9c5172ce522381a2cc925c21"
475
475
  },
476
476
  {
477
477
  "name": "ProviderDescriptor",
478
- "sha256": "sha256:d8c8bfc6a352930c3360c9d280d102300a05ec2da408e2d9e1c6f9996871c7a3"
478
+ "sha256": "sha256:797f645f9cc7ba54b51e50e7d978425a6eedba8a79b55c887e215036825766f3"
479
479
  },
480
480
  {
481
481
  "name": "ProviderRegistration",
482
- "sha256": "sha256:1eaf69a2808293d4d4f59e0e172ff2145cd315688bd5236d31aa6dc3f4e2886e"
482
+ "sha256": "sha256:88305204c86049f964be350001b5bb1780fe0fff44869cf1bc10e22a511addbc"
483
483
  },
484
484
  {
485
485
  "name": "SessionRunStatus",
@@ -487,8 +487,8 @@
487
487
  },
488
488
  {
489
489
  "name": "ZhivexHarness",
490
- "sha256": "sha256:4275565d750dbfd7d6dcaa7182f05d74136db32b057744446de24d6b69fe2061"
490
+ "sha256": "sha256:c4af70e955997b69b0f48f52f52efca6f2374e13f9bc536760078a4ee08e984e"
491
491
  }
492
492
  ],
493
- "digest": "sha256:e2ef392ba67e8a07f5d511c0274f8b4171888a1469205f541350fafb0b74f8cb"
493
+ "digest": "sha256:044531ba474a2576fadb3e9a091094daa81e9c8495b697d7ff6c69205b37d5e4"
494
494
  }
package/dist/acp-cli.js CHANGED
@@ -5,27 +5,20 @@ import {
5
5
  parseHarnessModelRoute,
6
6
  resolveHarnessModelRoutes,
7
7
  validateCliCommandOptions
8
- } from "./index-pcn2bk8j.js";
8
+ } from "./index-8sm2a1wa.js";
9
9
  import {
10
10
  serveAcpStdio
11
11
  } from "./index-3ah1f369.js";
12
12
  import {
13
13
  createHarnessClientAdapter
14
- } from "./index-txrqqd2r.js";
15
- import"./index-sbzvrpm7.js";
14
+ } from "./index-02pqtbbg.js";
15
+ import"./index-6599mpmy.js";
16
16
  import {
17
17
  createHarness
18
- } from "./index-nqhnh1hz.js";
19
- import {
20
- usagePricingSchema
21
- } from "./index-fny13znr.js";
22
- import"./index-w9pjt7td.js";
23
- import {
24
- FileChangedWhileReadingError,
25
- FileSizeLimitError,
26
- UnsafeFileTypeError,
27
- readRegularFileNoFollow
28
- } from "./index-zmx264xy.js";
18
+ } from "./index-0zs2dz26.js";
19
+ import"./index-f6mqa5gk.js";
20
+ import"./index-dtb2c6ds.js";
21
+ import"./index-d9zkmhz3.js";
29
22
  import {
30
23
  HARNESS_REQUIRED_CAPABILITIES,
31
24
  HARNESS_SUBAGENT_PROFILES,
@@ -35,14 +28,26 @@ import {
35
28
  providerDescriptor,
36
29
  reasoningEffortSchema,
37
30
  resolveHarnessConfig
38
- } from "./index-09zphhwt.js";
39
- import"./index-8705zxpr.js";
40
- import"./index-xqxeypt5.js";
41
- import"./index-ngg2168h.js";
31
+ } from "./index-1265j7t2.js";
32
+ import"./index-c39197wq.js";
33
+ import"./index-mzydbzp8.js";
34
+ import"./index-wm9xeq1n.js";
35
+ import {
36
+ usagePricingSchema
37
+ } from "./index-zxg4ve4j.js";
38
+ import"./index-4fx5f3k5.js";
39
+ import {
40
+ FileChangedWhileReadingError,
41
+ FileSizeLimitError,
42
+ UnsafeFileTypeError,
43
+ readRegularFileNoFollow
44
+ } from "./index-xdbkcccf.js";
45
+ import"./index-4gt045j0.js";
42
46
  import {
43
47
  HarnessConfigError,
44
48
  HarnessError
45
- } from "./index-jdb1q8yn.js";
49
+ } from "./index-bpc596v3.js";
50
+ import"./index-fm84men1.js";
46
51
  import {
47
52
  __require
48
53
  } from "./index-1bx83sw4.js";
@@ -98,6 +103,8 @@ var usage = {
98
103
  "state:status": "zhx state status",
99
104
  "state:export": "zhx state export <backup.json>",
100
105
  "state:import": "zhx state import <backup.json> [--apply]",
106
+ "export-audit": "zhx export-audit <task-id> --out <directory> [--session <sessionId>]",
107
+ "verify-audit": "zhx verify-audit --out <directory>",
101
108
  version: "zhx --version"
102
109
  };
103
110
  function resolveHelpTopic(parts, explicit) {
@@ -230,7 +237,7 @@ var applyCliProfile = async (options, context = {}) => {
230
237
  };
231
238
 
232
239
  // src/cli/arguments.ts
233
- var CLI_COMMANDS = ["init", "run", "review", "chat", "providers", "doctor", "policy", "resume", "runs", "sessions", "checkpoints", "changes", "state", "memory", "help", "version"];
240
+ var CLI_COMMANDS = ["init", "run", "review", "chat", "providers", "doctor", "policy", "resume", "runs", "sessions", "checkpoints", "changes", "state", "memory", "export-audit", "verify-audit", "help", "version"];
234
241
  var CLI_RUNS_COMMANDS = ["list", "inspect", "cancel", "cleanup", "export", "report"];
235
242
  var CLI_SESSIONS_COMMANDS = ["list", "inspect", "rename", "fork", "archive"];
236
243
  var CLI_CHANGES_COMMANDS = ["create", "verify"];
@@ -760,6 +767,14 @@ var parseCliArgs = (argv) => {
760
767
  case "-v":
761
768
  options.command = "version";
762
769
  break;
770
+ case "--out":
771
+ options.auditOut = optionValue(argv, index, argument);
772
+ index += 1;
773
+ break;
774
+ case "--signing-key-file":
775
+ options.signingKeyFile = optionValue(argv, index, argument);
776
+ index += 1;
777
+ break;
763
778
  default:
764
779
  if (argument.startsWith("-")) {
765
780
  throw new CliUsageError(`Unknown option: ${argument}`);
@@ -888,6 +903,23 @@ var parseCliArgs = (argv) => {
888
903
  if (positional.length > 0) {
889
904
  throw new CliUsageError(`state ${stateCommand} received unexpected positional arguments.`);
890
905
  }
906
+ } else if (options.command === "export-audit" || options.command === "verify-audit") {
907
+ const allowed = new Set(["--workspace", "--state-dir", "--store", "--tenant", "--user", "--namespace", "--json", ...options.command === "export-audit" ? ["--session"] : []]);
908
+ for (const name of optionCounts.keys()) {
909
+ if (!allowed.has(name))
910
+ throw new CliUsageError(`${name} is not supported by ${options.command}.`);
911
+ }
912
+ if (!options.auditOut)
913
+ throw new CliUsageError(`${options.command} requires --out <path>.`);
914
+ if (options.command === "export-audit") {
915
+ const taskId = positional.shift();
916
+ if (!taskId)
917
+ throw new CliUsageError("export-audit requires a task id.");
918
+ options.runId = taskId;
919
+ }
920
+ if (positional.length > 0)
921
+ throw new CliUsageError(`${options.command} received unexpected positional arguments.`);
922
+ return options;
891
923
  } else if (options.command === "run" || options.command === "review") {
892
924
  if (positional.includes("-") && positional.length !== 1) {
893
925
  throw new CliUsageError("Use - alone to read the task from stdin, or provide a task argument.");
@@ -899,6 +931,9 @@ var parseCliArgs = (argv) => {
899
931
  } else if (positional.length > 0) {
900
932
  throw new CliUsageError(`${options.command} does not accept positional arguments.`);
901
933
  }
934
+ if (options.auditOut || options.signingKeyFile) {
935
+ throw new CliUsageError("--out and --signing-key-file are supported only by export-audit and verify-audit.");
936
+ }
902
937
  if (options.implicitCommand && options.command === "run" && !options.prompt && (options.continueSession || options.sessionId) && !options.json && !options.jsonl)
903
938
  options.command = "chat";
904
939
  if (options.serviceFile) {
@@ -926,7 +961,7 @@ var parseCliArgs = (argv) => {
926
961
 
927
962
  // src/cli/cli-credentials.ts
928
963
  async function credentialModel(config, env, modelFactory) {
929
- const { createProviderModel: createProviderModel2 } = await import("./config-depqpsae.js");
964
+ const { createProviderModel: createProviderModel2 } = await import("./config-r9fdhce6.js");
930
965
  const { wrapLanguageModel } = await import("@zhivex-ai/core");
931
966
  const secrets = providerDescriptor(config.provider).credentialNames.map((name) => env[name]).filter((value) => !!value);
932
967
  const safeError = (error) => {
@@ -0,0 +1,3 @@
1
+ /** Experimental operator audit packs. Absent from the stable root entrypoint. */
2
+ export { AUDIT_PACK_SCHEMA_VERSION, auditPackManifestSchema, canonicalizeAuditPackManifest, exportHarnessAuditPack, loadAuditSigningKey, verifyHarnessAuditPack } from "./pack.js";
3
+ export type { AuditPackExportOptions, AuditPackManifest, AuditPackVerification, AuditPackVerifyOptions } from "./pack.js";