@zhivex-ai/harness 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/CHANGELOG.md +32 -10
  2. package/README.md +7 -5
  3. package/SUPPORT.md +2 -2
  4. package/contracts/client-protocol-v1.schema.json +593 -0
  5. package/contracts/engine-api.json +156 -0
  6. package/contracts/public-api.json +12 -0
  7. package/contracts/stable-api-signatures.json +36 -36
  8. package/dist/acp-cli.js +54 -20
  9. package/dist/approvals/approval-diff.d.ts +2 -1
  10. package/dist/approvals/approval-preview.d.ts +1 -1
  11. package/dist/audit/index.d.ts +3 -0
  12. package/dist/audit/index.js +482 -0
  13. package/dist/audit/pack.d.ts +72 -0
  14. package/dist/audit-pack-kvw7ng34.js +532 -0
  15. package/dist/cli/arguments.d.ts +3 -1
  16. package/dist/cli/audit-pack.d.ts +24 -0
  17. package/dist/cli/cli-credentials.d.ts +6 -0
  18. package/dist/cli/cli-profiles.d.ts +4 -2
  19. package/dist/cli/node-engine.d.ts +2 -0
  20. package/dist/cli-entry-75j3r49b.js +484 -0
  21. package/dist/cli-entry-928p8h41.js +10067 -0
  22. package/dist/cli-entry-h2yc9x37.js +10350 -0
  23. package/dist/{cli-entry-20w6nh0k.js → cli-entry-hdtfef27.js} +439 -19
  24. package/dist/{cli-entry-w0hterjs.js → cli-entry-q8bgkn9m.js} +40 -13
  25. package/dist/{cli-2h37qyvg.js → cli-vyrytn3m.js} +253 -644
  26. package/dist/cli.js +27 -2
  27. package/dist/client/json-contracts.d.ts +4 -0
  28. package/dist/client/protocol.d.ts +133 -0
  29. package/dist/client/task-control-host.d.ts +400 -0
  30. package/dist/client/task-projection-host.d.ts +12 -0
  31. package/dist/client/task-projection.d.ts +168 -0
  32. package/dist/compat/code-support.js +28 -22
  33. package/dist/{config-qt69hkqj.js → config-r9fdhce6.js} +3 -3
  34. package/dist/{config-j9624t6t.js → config-vyajmksy.js} +1 -1
  35. package/dist/engine/acp.js +15 -11
  36. package/dist/engine/client.js +14 -10
  37. package/dist/engine/desktop-providers-v1.d.ts +2 -0
  38. package/dist/engine/desktop-providers-v1.js +23 -3
  39. package/dist/engine/desktop-state-v1.js +11 -8
  40. package/dist/engine/index.d.ts +3 -0
  41. package/dist/engine/index.js +101 -554
  42. package/dist/engine/mcp-stdio-v1.js +8 -6
  43. package/dist/engine/models.js +76 -4
  44. package/dist/engine/protocol.d.ts +2 -0
  45. package/dist/engine/protocol.js +110 -0
  46. package/dist/engine/service.js +15 -11
  47. package/dist/hostile-repository-demo.js +1232 -564
  48. package/dist/{index-8zjmnyw5.js → index-1265j7t2.js} +73 -6
  49. package/dist/{index-nmjdwd4p.js → index-4gt045j0.js} +109 -1
  50. package/dist/{index-pdmevfxv.js → index-5zbq9ztj.js} +5 -259
  51. package/dist/{index-6dft2vev.js → index-63gbp0cz.js} +5 -3
  52. package/dist/index-6dxrbnxm.js +719 -0
  53. package/dist/{index-pp474137.js → index-6fp7kdpx.js} +769 -933
  54. package/dist/{index-61gthdz6.js → index-8sm2a1wa.js} +1 -1
  55. package/dist/{index-rkbf7dqg.js → index-96ezrvg2.js} +57 -13
  56. package/dist/index-bt2p8x7r.js +329 -0
  57. package/dist/index-c39197wq.js +552 -0
  58. package/dist/{index-m82cfspw.js → index-eps3c3g6.js} +877 -963
  59. package/dist/{index-s2k2edts.js → index-fqqz1yt8.js} +110 -1544
  60. package/dist/{index-m34q25jj.js → index-ggstwr0v.js} +192 -838
  61. package/dist/index-jpdvn09j.js +490 -0
  62. package/dist/{index-xqxeypt5.js → index-mzydbzp8.js} +76 -4
  63. package/dist/index-pq3kz1r8.js +269 -0
  64. package/dist/{index-wg1sd3at.js → index-qfsrrnz6.js} +1 -1
  65. package/dist/{index-937cb7y8.js → index-vc7yxz50.js} +561 -35
  66. package/dist/{index-5jhgatga.js → index-vvzc5ezz.js} +7 -6
  67. package/dist/index-wwthv10a.js +1507 -0
  68. package/dist/{index-tfzta544.js → index-xfedewpt.js} +17 -9
  69. package/dist/index-yx52bt4a.js +511 -0
  70. package/dist/index.d.ts +3 -0
  71. package/dist/index.js +93 -77
  72. package/dist/integrations/mcp-stdio-tools.d.ts +4 -1
  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/runtime/budget-ledger-scope.d.ts +14 -0
  80. package/dist/runtime/durable-review-group.d.ts +33 -0
  81. package/dist/runtime/harness.d.ts +11 -0
  82. package/dist/runtime/run-interruption.d.ts +7 -0
  83. package/dist/runtime/shared-budget.d.ts +30 -0
  84. package/dist/runtime/task-continuity.d.ts +300 -77
  85. package/dist/service-cli.js +15 -11
  86. package/dist/{service-client-cli-fn54ev6w.js → service-client-cli-v6qptg9x.js} +400 -305
  87. package/dist/tools/workspace.d.ts +2 -2
  88. package/dist/verify-historical-migrations.js +1237 -566
  89. package/dist/workspace/edit-contracts.d.ts +2 -2
  90. package/dist/workspace/path-policy.d.ts +2 -1
  91. package/dist/workspace/workspace.d.ts +13 -0
  92. package/dist/zhx.js +27 -2
  93. package/docs/AUDIT_PACK.md +99 -0
  94. package/docs/AZURE_OPENAI.md +53 -0
  95. package/docs/BEDROCK.md +56 -0
  96. package/docs/CLI.md +15 -0
  97. package/docs/CLIENT_PROTOCOL.md +178 -0
  98. package/docs/CODE_RELEASE.md +59 -7
  99. package/docs/CODE_WEB_TASKS.md +116 -0
  100. package/docs/CONTEXT_ENGINEERING.md +59 -0
  101. package/docs/CREDENTIALS.md +21 -0
  102. package/docs/DURABLE_OPERATIONS.md +93 -1
  103. package/docs/ENGINE_API.md +5 -2
  104. package/docs/EXTENSIBILITY.md +8 -4
  105. package/docs/FIRST_USE.md +6 -6
  106. package/docs/MINIMUM_TASK_AUTHORITY.md +3 -3
  107. package/docs/PROJECT_MEMORY.md +1 -1
  108. package/docs/PUBLIC_SECURITY.md +14 -1
  109. package/docs/README.md +6 -1
  110. package/docs/REPOSITORY_EDITING.md +1 -1
  111. package/docs/STABILITY.md +3 -1
  112. package/docs/SUPPORT_MATRIX.md +1 -1
  113. package/docs/SUPPORT_MATRIX_1_1.md +1 -1
  114. package/docs/TOOL_POLICY.md +4 -1
  115. package/docs/USAGE.md +3 -1
  116. package/docs/VERTEX.md +2 -2
  117. package/docs/WEB_LIMITS.md +4 -3
  118. package/docs/adr/0002-isolated-mcp-stdio.md +7 -4
  119. package/docs/support-matrix-1.1.json +3 -1
  120. package/docs/support-matrix.json +6 -4
  121. package/evaluations/code-task-ui.json +20 -0
  122. package/evaluations/representative-assembly-matrix.json +19 -1
  123. package/evaluations/task-projection.json +10 -0
  124. package/evaluations/task-recovery-lab.json +60 -0
  125. package/examples/README.md +3 -3
  126. package/package.json +23 -13
  127. package/dist/cli-entry-4ngptr62.js +0 -19900
  128. package/dist/index-m49jx72n.js +0 -220
@@ -336,6 +336,8 @@ var usage = {
336
336
  "state:status": "zhx state status",
337
337
  "state:export": "zhx state export <backup.json>",
338
338
  "state:import": "zhx state import <backup.json> [--apply]",
339
+ "export-audit": "zhx export-audit <task-id> --out <directory> [--session <sessionId>]",
340
+ "verify-audit": "zhx verify-audit --out <directory>",
339
341
  version: "zhx --version"
340
342
  };
341
343
  var shortCliHelp = (version) => `Zhivex Harness v${version}
@@ -369,6 +371,21 @@ function formatCliHelp(topic, version, full) {
369
371
  return full;
370
372
  const contract2 = CLI_COMMAND_OPTION_CONTRACTS[topic];
371
373
  if (!contract2) {
374
+ if (topic === "export-audit" || topic === "verify-audit") {
375
+ return `Zhivex Harness — ${topic}
376
+
377
+ Usage: ${usage[topic]}
378
+
379
+ ` + `Experimental audit pack. Signs a directory with HMAC-SHA256.
380
+ ` + ` --out <directory> New directory for export, or the pack to verify
381
+ ` + ` --signing-key-file <path> Key file (overrides ZHIVEX_AUDIT_SIGNING_KEY)
382
+ ` + ` --session <id> Include the redacted activity journal (export only)
383
+ ` + ` --json Print the manifest or verification document
384
+
385
+ ` + `The key must be 32 to 4096 bytes and is not written into the pack.
386
+ ` + `See docs/AUDIT_PACK.md.
387
+ `;
388
+ }
372
389
  return `Zhivex Harness — ${topic}
373
390
 
374
391
  ` + Object.entries(usage).filter(([key]) => key.startsWith(`${topic}:`)).map(([, command]) => ` ${command}`).join(`
@@ -427,7 +444,7 @@ Use zhx help all for the full reference and exit codes.`;
427
444
  // package.json
428
445
  var package_default = {
429
446
  name: "@zhivex-ai/harness",
430
- version: "1.4.0",
447
+ version: "1.5.0",
431
448
  description: "Governed, provider-portable runtime for coding agents with durable approvals and isolated repository execution.",
432
449
  type: "module",
433
450
  license: "MIT",
@@ -512,6 +529,10 @@ var package_default = {
512
529
  "./mcp/stdio/v1": {
513
530
  types: "./dist/engine/mcp-stdio-v1.d.ts",
514
531
  import: "./dist/engine/mcp-stdio-v1.js"
532
+ },
533
+ "./audit": {
534
+ types: "./dist/audit/index.d.ts",
535
+ import: "./dist/audit/index.js"
515
536
  }
516
537
  },
517
538
  files: [
@@ -525,6 +546,7 @@ var package_default = {
525
546
  "docs/CLI.md",
526
547
  "docs/WEB_LIMITS.md",
527
548
  "docs/CODE_RELEASE.md",
549
+ "docs/CODE_WEB_TASKS.md",
528
550
  "docs/images/cli-conversation.png",
529
551
  "docs/CLIENT_PROTOCOL.md",
530
552
  "docs/CONTEXT_ENGINEERING.md",
@@ -562,18 +584,21 @@ var package_default = {
562
584
  "docs/MCP_STDIO.md",
563
585
  "docs/adr/0002-isolated-mcp-stdio.md",
564
586
  "docs/VERTEX.md",
587
+ "docs/BEDROCK.md",
588
+ "docs/AZURE_OPENAI.md",
565
589
  "docs/TOOL_POLICY.md",
566
590
  "docs/fixtures/mcp-stdio-contract-v1.json",
567
591
  "docs/PROJECT_MEMORY.md",
568
592
  "docs/MINIMUM_TASK_AUTHORITY.md",
569
- "docs/MINIMUM_OFFLINE_EVALS.md"
593
+ "docs/MINIMUM_OFFLINE_EVALS.md",
594
+ "docs/AUDIT_PACK.md"
570
595
  ],
571
596
  scripts: {
572
597
  "models:check": "bun run scripts/validate-model-catalog.ts",
573
598
  "models:import": "bun run scripts/generate-console-models.ts",
574
599
  dev: "bun run build && node --env-file-if-exists=.env dist/cli.js",
575
600
  start: "node dist/cli.js",
576
- build: "bun run scripts/clean-dist.ts && bun build ./src/index.ts ./src/service-cli.ts ./src/acp-cli.ts ./src/engine/index.ts ./src/engine/protocol.ts ./src/engine/client.ts ./src/engine/service.ts ./src/engine/acp.ts ./src/engine/models.ts ./src/engine/desktop-state-v1.ts ./src/engine/desktop-providers-v1.ts ./src/compat/code-support.ts ./src/engine/mcp-stdio-v1.ts --root ./src --outdir ./dist --target node --packages external --splitting && bun build ./src/engine/protocol.ts ./src/engine/models.ts --outdir ./dist/engine --target browser --packages external && bun build ./src/cli-entry.ts --outdir ./dist --target node --packages external --splitting && mv ./dist/cli-entry.js ./dist/cli.js && cp ./dist/cli.js ./dist/zhx.js && bun build ./scripts/verify-historical-migrations.ts --outfile ./dist/verify-historical-migrations.js --target node --packages external && bun build ./scripts/hostile-repository-demo.ts --outfile ./dist/hostile-repository-demo.js --target node --packages external && tsc --emitDeclarationOnly",
601
+ build: "bun run scripts/clean-dist.ts && bun build ./src/index.ts ./src/service-cli.ts ./src/acp-cli.ts ./src/audit/index.ts ./src/engine/index.ts ./src/engine/protocol.ts ./src/engine/client.ts ./src/engine/service.ts ./src/engine/acp.ts ./src/engine/models.ts ./src/engine/desktop-state-v1.ts ./src/engine/desktop-providers-v1.ts ./src/compat/code-support.ts ./src/engine/mcp-stdio-v1.ts --root ./src --outdir ./dist --target node --packages external --splitting && bun build ./src/engine/protocol.ts ./src/engine/models.ts --outdir ./dist/engine --target browser --packages external && bun build ./src/cli-entry.ts --outdir ./dist --target node --packages external --splitting && mv ./dist/cli-entry.js ./dist/cli.js && cp ./dist/cli.js ./dist/zhx.js && bun build ./scripts/verify-historical-migrations.ts --outfile ./dist/verify-historical-migrations.js --target node --packages external && bun build ./scripts/hostile-repository-demo.ts --outfile ./dist/hostile-repository-demo.js --target node --packages external && tsc --emitDeclarationOnly",
577
602
  prepack: "bun run build",
578
603
  "architecture:check": "bun run scripts/check-architecture.ts",
579
604
  "docs:check": "bun run scripts/check-docs.ts",
@@ -583,7 +608,7 @@ var package_default = {
583
608
  "readiness:1.0": "bun run scripts/check-1-0-readiness.ts",
584
609
  "readiness:1.0:release": "bun run scripts/check-1-0-readiness.ts --release",
585
610
  typecheck: "tsc --noEmit",
586
- test: "bun test ./tests ./desktop/tests",
611
+ test: "bun test --preload ./tests/preload-bedrock-mock.ts ./tests ./desktop/tests",
587
612
  evaluate: "bun run scripts/evaluate.ts",
588
613
  "benchmark:workspace": "bun run scripts/benchmark-workspace.ts",
589
614
  "benchmark:workspace:ci": "bun run scripts/benchmark-workspace.ts --files 1000 --page-size 100 --repetitions 3 --warmups 0",
@@ -636,24 +661,26 @@ var package_default = {
636
661
  },
637
662
  dependencies: {
638
663
  "@zhivex-ai/agents": "1.11.0",
639
- "@zhivex-ai/anthropic": "0.13.2",
640
- "@zhivex-ai/core": "1.31.0",
664
+ "@zhivex-ai/anthropic": "0.14.0",
665
+ "@zhivex-ai/azure-openai": "0.7.8",
666
+ "@zhivex-ai/bedrock": "2.0.7",
667
+ "@zhivex-ai/core": "1.34.0",
641
668
  "@zhivex-ai/gemini": "0.13.0",
642
669
  "@zhivex-ai/meta": "0.2.9",
643
- "@zhivex-ai/openai": "0.14.1",
670
+ "@zhivex-ai/openai": "0.16.0",
644
671
  "@zhivex-ai/qwen": "0.16.4",
645
- "@zhivex-ai/vertex": "1.2.4",
672
+ "@zhivex-ai/vertex": "1.2.7",
646
673
  "google-auth-library": "11.1.0",
647
674
  zod: "4.6.5"
648
675
  },
649
676
  overrides: {
650
- "@zhivex-ai/core": "1.31.0"
677
+ "@zhivex-ai/core": "1.34.0"
651
678
  },
652
679
  devDependencies: {
653
- "@agentclientprotocol/sdk": "1.7.0",
654
- "@modelcontextprotocol/server": "2.2.0",
680
+ "@agentclientprotocol/sdk": "1.8.0",
681
+ "@modelcontextprotocol/server": "2.3.1",
655
682
  "@types/bun": "1.4.2",
656
- "@types/node": "^26.6.3",
683
+ "@types/node": "^26.6.5",
657
684
  typescript: "7.0.2",
658
685
  "typescript-compiler-api": "npm:typescript@6.0.3"
659
686
  },
@@ -663,7 +690,7 @@ var package_default = {
663
690
  },
664
691
  packageManager: "bun@1.4.0",
665
692
  optionalDependencies: {
666
- "@napi-rs/keyring": "2.1.0"
693
+ "@napi-rs/keyring": "2.1.1"
667
694
  }
668
695
  };
669
696