@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
@@ -16,9 +16,12 @@ activate stdio, change configuration schema 1, or claim isolated execution passe
16
16
  private workspace volume and optional read-only dependencies. Its adapter has
17
17
  finite `run`/`runBatch`, not an interactive stdio process lease. All MCP is
18
18
  currently rejected with OCI enforcement before discovery.
19
- - Installed `@zhivex-ai/core` 1.26.0 exposes `McpClient`, call options with abort,
20
- timeout/idempotency key, and an HTTP transport; no executable stdio factory was
21
- found in this dependency. The control-plane transport enum is not an executor.
19
+ - At this proposal, installed `@zhivex-ai/core` 1.26.0 exposed `McpClient`, call
20
+ options with abort, timeout/idempotency key, and an HTTP transport; no executable
21
+ stdio factory was found in that dependency. The control-plane transport enum is
22
+ not an executor.
23
+ - The current pin is `@zhivex-ai/core` 1.34.0, which includes an experimental
24
+ stdio client. Harness still does not treat that factory as the OCI boundary.
22
25
 
23
26
  MCP stdio uses UTF-8 newline-delimited JSON-RPC on stdin/stdout; stderr is a
24
27
  separate diagnostic stream. Preserve message correlation and initialization.
@@ -117,7 +120,7 @@ host spawn from `createHarnessMcpTools` or by buffering a never-ending `run`.
117
120
  | --- | --- |
118
121
  | Client commands run during session creation | Reject before admission; zero host/container processes and zero discovery calls. |
119
122
  | TOCTOU, swapped image/argv or replayed admission | Digest/identity recheck at launch; receipt scope/expiry/single-use tests. |
120
- | Secret/environment exfiltration | Empty inherited environment, restricted references, network denial, redacted audit; canary checks inside/outside boundary. |
123
+ | Secret/environment exfiltration | Empty inherited environment, restricted references, network denial, redacted audit, and optional flagging of high-entropy or encoded strings from credential-bearing servers. Output stays untrusted data. Canary checks inside and outside the boundary. |
121
124
  | Filesystem escape and host mutation | No bind mounts, no-follow snapshot/import rules, resource limits and reviewed publication; symlink/traversal fixtures. |
122
125
  | Tool metadata or prompt injection escalates authority | Independent host policy and per-call approvals; untrusted descriptions/results remain data. |
123
126
  | Hung/forking/noisy process | Absolute deadlines, frame/queue/stderr/resource bounds and whole-boundary cleanup. |
@@ -24,6 +24,8 @@
24
24
  { "id": "provider-meta", "dimension": "provider", "target": "Meta muse-spark-1.3", "level": "supported", "evidence": ["docs/LIVE_CERTIFICATION.md", ".github/workflows/release.yml"] },
25
25
  { "id": "provider-qwen", "dimension": "provider", "target": "Qwen qwen3.8-max", "level": "supported", "evidence": ["docs/LIVE_CERTIFICATION.md", ".github/workflows/release.yml"] },
26
26
  { "id": "provider-openai", "dimension": "provider", "target": "OpenAI gpt-6-luna", "level": "supported", "evidence": ["docs/LIVE_CERTIFICATION.md", ".github/workflows/release.yml"] },
27
- { "id": "provider-gemini", "dimension": "provider", "target": "Gemini gemini-3.6-flash / 3.7-flash", "level": "provisional", "evidence": ["docs/LIVE_CERTIFICATION.md"] }
27
+ { "id": "provider-gemini", "dimension": "provider", "target": "Gemini gemini-3.6-flash / 3.7-flash", "level": "provisional", "evidence": ["docs/LIVE_CERTIFICATION.md"] },
28
+ { "id": "provider-bedrock", "dimension": "provider", "target": "Amazon Bedrock Converse / OpenAI-compatible runtime", "level": "provisional", "evidence": ["docs/BEDROCK.md", "tests/bedrock-provider.test.ts"] },
29
+ { "id": "provider-azure-openai", "dimension": "provider", "target": "Azure OpenAI", "level": "provisional", "evidence": ["docs/AZURE_OPENAI.md", "tests/azure-openai-provider.test.ts"] }
28
30
  ]
29
31
  }
@@ -21,11 +21,13 @@
21
21
  { "id": "pm-yarn", "dimension": "target-package-manager", "target": "Yarn", "level": "provisional", "evidence": ["tests/package-manager.test.ts"] },
22
22
  { "id": "mcp-http", "dimension": "mcp-transport", "target": "bounded Streamable HTTP JSON-RPC", "level": "supported", "evidence": ["scripts/mcp-interoperability-smoke.ts", "scripts/mcp-official-sdk-smoke.ts"] },
23
23
  { "id": "mcp-stdio", "dimension": "mcp-transport", "target": "stdio", "level": "unsupported", "evidence": ["SUPPORT.md"] },
24
- { "id": "provider-meta", "dimension": "provider", "target": "Meta muse-spark-1.2", "level": "supported", "evidence": ["docs/LIVE_CERTIFICATION.md", "release-status.json"] },
25
- { "id": "provider-qwen", "dimension": "provider", "target": "Qwen qwen3.8-max", "level": "supported", "evidence": ["docs/LIVE_CERTIFICATION.md", "release-status.json"] },
26
- { "id": "provider-openai", "dimension": "provider", "target": "OpenAI gpt-5.6-luna", "level": "supported", "evidence": ["docs/LIVE_CERTIFICATION.md", "release-status.json"] },
24
+ { "id": "provider-meta", "dimension": "provider", "target": "Meta muse-spark-1.3-contributor", "level": "supported", "evidence": ["docs/LIVE_CERTIFICATION.md", "release-status.json"] },
25
+ { "id": "provider-qwen", "dimension": "provider", "target": "Qwen qwen3.8-flash", "level": "supported", "evidence": ["docs/LIVE_CERTIFICATION.md", "release-status.json"] },
26
+ { "id": "provider-openai", "dimension": "provider", "target": "OpenAI gpt-6-luna", "level": "supported", "evidence": ["docs/LIVE_CERTIFICATION.md", "release-status.json"] },
27
27
  { "id": "provider-vertex", "dimension": "provider", "target": "Google Cloud Vertex AI (ADC)", "level": "provisional", "evidence": ["docs/VERTEX.md", "tests/vertex-provider.test.ts", "tests/vertex-auth.test.ts"] },
28
28
  { "id": "provider-anthropic", "dimension": "provider", "target": "Anthropic direct API / claude-sonnet-5", "level": "provisional", "evidence": ["docs/ANTHROPIC.md"] },
29
- { "id": "provider-gemini", "dimension": "provider", "target": "Gemini gemini-3.6-flash / 3.7-flash", "level": "provisional", "evidence": ["docs/LIVE_CERTIFICATION.md"] }
29
+ { "id": "provider-gemini", "dimension": "provider", "target": "Gemini gemini-3.6-flash / 3.7-flash", "level": "provisional", "evidence": ["docs/LIVE_CERTIFICATION.md"] },
30
+ { "id": "provider-bedrock", "dimension": "provider", "target": "Amazon Bedrock Converse / OpenAI-compatible runtime", "level": "provisional", "evidence": ["docs/BEDROCK.md", "tests/bedrock-provider.test.ts"] },
31
+ { "id": "provider-azure-openai", "dimension": "provider", "target": "Azure OpenAI", "level": "provisional", "evidence": ["docs/AZURE_OPENAI.md", "tests/azure-openai-provider.test.ts"] }
30
32
  ]
31
33
  }
@@ -0,0 +1,20 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "story": "CODE-HU-05",
4
+ "scope": "automated installed UI/service/engine plus retained HU75 recovery laboratory",
5
+ "fixtureSha256": "473a9e2144b0042b1b46ef54f915de693045df89d6175bde42a3393d2b083263",
6
+ "browserScenarios": [
7
+ "normal-task-review-accept",
8
+ "reload-without-replay",
9
+ "two-tabs-obsolete-review-and-edit-back",
10
+ "corrected-task-explicit-continuation-double-click",
11
+ "workspace-switch-without-stale-evidence-or-replay",
12
+ "slow-cancel-unknown-usage-blocks-continuation",
13
+ "process-restart-handoff-without-transcript-or-replay"
14
+ ],
15
+ "requiredEvidence": ["exact artifact binding before and after execution", "native check receipts", "desktop and mobile screenshots", "zero automatic effect replay", "retained unknown usage", "scripted operator acknowledgement separately labeled"],
16
+ "liveProvider": false,
17
+ "humanPilotPerformed": false,
18
+ "humanMinutes": null,
19
+ "realCostPerAcceptedTask": null
20
+ }
@@ -62,7 +62,9 @@
62
62
  "v1.4.0-rc.6",
63
63
  "v1.4.0-rc.7",
64
64
  "v1.4.0-rc.8",
65
- "v1.4.0"
65
+ "v1.4.0",
66
+ "v1.4.1",
67
+ "v1.5.0"
66
68
  ],
67
69
  "expectedModels": [
68
70
  {
@@ -552,6 +554,22 @@
552
554
  "qwen": "qwen3.8-flash",
553
555
  "openai": "gpt-6-luna"
554
556
  }
557
+ },
558
+ {
559
+ "releaseTag": "v1.4.1",
560
+ "models": {
561
+ "meta": "muse-spark-1.3-contributor",
562
+ "qwen": "qwen3.8-flash",
563
+ "openai": "gpt-6-luna"
564
+ }
565
+ },
566
+ {
567
+ "releaseTag": "v1.5.0",
568
+ "models": {
569
+ "meta": "muse-spark-1.3-contributor",
570
+ "qwen": "qwen3.8-flash",
571
+ "openai": "gpt-6-luna"
572
+ }
555
573
  }
556
574
  ],
557
575
  "expectedCases": [
@@ -0,0 +1,10 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "story": "HAR-HU-73",
4
+ "lineage": "Restacked onto current main. Fixture identity is fixtureSha256, not a closed stack commit.",
5
+ "fixtureSha256": "473a9e2144b0042b1b46ef54f915de693045df89d6175bde42a3393d2b083263",
6
+ "installedScenarios": ["negotiation-version", "snapshot-read-only", "host-redaction", "duplicate-out-of-order", "artifact-scope", "cursor-expiry-replay", "paused-host-read", "restart-new-epoch", "artifact-drift", "legacy-budget"],
7
+ "excluded": ["CODE-05 UI", "live providers", "external pilot", "concurrent host takeover", "non-native execution", "semantic acceptance", "release"],
8
+ "fixtureSource": "HAR75 phase-one greeting oracle; unchanged bytes",
9
+ "runner": "scripts/task-recovery-lab-installed.mjs, optional sixth argument projection"
10
+ }
@@ -0,0 +1,60 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "id": "HAR-HU-75-base-lab",
4
+ "scopeDecision": "HAR-HU-61",
5
+ "measurementConsumer": "HAR-HU-74 (not executed)",
6
+ "lineage": "Restacked onto current main with the task evidence read. Fixture identity is fixtureSha256, not a closed stack commit.",
7
+ "fixtureSha256": "473a9e2144b0042b1b46ef54f915de693045df89d6175bde42a3393d2b083263",
8
+ "installedScenarios": [
9
+ "failed-start",
10
+ "exhaustion-after-work",
11
+ "native-path-boundary",
12
+ "normal-control",
13
+ "contract-artifact-drift",
14
+ "obsolete-approval",
15
+ "concurrent-cancel-unknown-usage",
16
+ "concurrent-cancel-late-usage",
17
+ "disk-full-final-save",
18
+ "compaction-untrusted-evidence",
19
+ "crash-before-receipt",
20
+ "crash-after-receipt",
21
+ "service-disconnect"
22
+ ],
23
+ "limits": {
24
+ "singleWriter": true,
25
+ "backend": "native",
26
+ "store": "sqlite",
27
+ "maxSteps": 16,
28
+ "maxToolCalls": 40,
29
+ "timeoutMs": 150000,
30
+ "inputTokens": 60000,
31
+ "outputTokens": 8192,
32
+ "totalTokens": 68192,
33
+ "liveProvider": false,
34
+ "humanMeasurement": false
35
+ },
36
+ "sourceRegressions": [
37
+ "tests/task-continuity.test.ts",
38
+ "tests/task-cancellation-host.test.ts",
39
+ "tests/task-cancellation-transport.test.ts",
40
+ "tests/task-budget-accounting.test.ts",
41
+ "tests/task-budget-compatibility.test.ts",
42
+ "tests/local-service.test.ts",
43
+ "tests/local-service-recovery.test.ts",
44
+ "tests/governance-report.test.ts",
45
+ "tests/governance-context.test.ts",
46
+ "tests/tool-policy-paths.test.ts",
47
+ "tests/security.test.ts"
48
+ ],
49
+ "pending": [
50
+ "HAR73 versioned task service projection",
51
+ "CODE05 task review UI and rendering of active text/citations",
52
+ "HAR74 ratified human rubric, time, cost and pilot"
53
+ ],
54
+ "notSupported": [
55
+ "Concurrent writers or host takeover",
56
+ "Remote provider stop confirmation",
57
+ "Arbitrary disk hardware failure",
58
+ "New SSRF/document/web adapters"
59
+ ]
60
+ }
@@ -2,19 +2,19 @@
2
2
 
3
3
  ## Isolated Bun installation
4
4
 
5
- Requirements: Bun 1.4.0+, Node.js 22.13.0+, and Git on macOS or Linux. After protected stable publication, this installs the 1.4.0 artifact in a temporary consumer, without building the source checkout or changing global tools:
5
+ Requirements: Bun 1.4.0+, Node.js 22.13.0+, and Git on macOS or Linux. After protected stable publication, this installs the 1.5.0 artifact in a temporary consumer, without building the source checkout or changing global tools:
6
6
 
7
7
  ```bash
8
8
  harness_demo_dir=$(mktemp -d)
9
9
  cd "$harness_demo_dir"
10
10
  printf '{"name":"harness-first-run","private":true}\n' > package.json
11
- bun add --exact --ignore-scripts @zhivex-ai/harness@1.4.0
11
+ bun add --exact --ignore-scripts @zhivex-ai/harness@1.5.0
12
12
  ./node_modules/.bin/zhx --version
13
13
  ./node_modules/.bin/zhx --help
14
14
  ./node_modules/.bin/zhx doctor --provider openai --json
15
15
  ```
16
16
 
17
- Version must print `1.4.0`; help lists commands. Doctor does not contact a provider. Without `OPENAI_API_KEY`, it reports the missing credential and exits with code `3`; inspect the JSON checks before proceeding. A directory without Git initialization can also produce a diagnostic warning. No paid model call is required for these checks. Both `zhx` and `zhivex-harness` are installed aliases; Bun manages installation, and their shebang runs Node.
17
+ Version must print `1.5.0`; help lists commands. Doctor does not contact a provider. Without `OPENAI_API_KEY`, it reports the missing credential and exits with code `3`; inspect the JSON checks before proceeding. A directory without Git initialization can also produce a diagnostic warning. No paid model call is required for these checks. Both `zhx` and `zhivex-harness` are installed aliases; Bun manages installation, and their shebang runs Node.
18
18
 
19
19
  To continue in your actual project, use the [global installation and credential setup](../README.md#quick-start), then `zhx init --profile daily --provider openai` and `zhx doctor --profile daily`. Real tasks require the selected provider credential in the process environment. Profiles store provider/model choices, never credentials. See [CLI](../docs/CLI.md) and [support](../SUPPORT.md).
20
20
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhivex-ai/harness",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "description": "Governed, provider-portable runtime for coding agents with durable approvals and isolated repository execution.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -85,6 +85,10 @@
85
85
  "./mcp/stdio/v1": {
86
86
  "types": "./dist/engine/mcp-stdio-v1.d.ts",
87
87
  "import": "./dist/engine/mcp-stdio-v1.js"
88
+ },
89
+ "./audit": {
90
+ "types": "./dist/audit/index.d.ts",
91
+ "import": "./dist/audit/index.js"
88
92
  }
89
93
  },
90
94
  "files": [
@@ -98,6 +102,7 @@
98
102
  "docs/CLI.md",
99
103
  "docs/WEB_LIMITS.md",
100
104
  "docs/CODE_RELEASE.md",
105
+ "docs/CODE_WEB_TASKS.md",
101
106
  "docs/images/cli-conversation.png",
102
107
  "docs/CLIENT_PROTOCOL.md",
103
108
  "docs/CONTEXT_ENGINEERING.md",
@@ -135,18 +140,21 @@
135
140
  "docs/MCP_STDIO.md",
136
141
  "docs/adr/0002-isolated-mcp-stdio.md",
137
142
  "docs/VERTEX.md",
143
+ "docs/BEDROCK.md",
144
+ "docs/AZURE_OPENAI.md",
138
145
  "docs/TOOL_POLICY.md",
139
146
  "docs/fixtures/mcp-stdio-contract-v1.json",
140
147
  "docs/PROJECT_MEMORY.md",
141
148
  "docs/MINIMUM_TASK_AUTHORITY.md",
142
- "docs/MINIMUM_OFFLINE_EVALS.md"
149
+ "docs/MINIMUM_OFFLINE_EVALS.md",
150
+ "docs/AUDIT_PACK.md"
143
151
  ],
144
152
  "scripts": {
145
153
  "models:check": "bun run scripts/validate-model-catalog.ts",
146
154
  "models:import": "bun run scripts/generate-console-models.ts",
147
155
  "dev": "bun run build && node --env-file-if-exists=.env dist/cli.js",
148
156
  "start": "node dist/cli.js",
149
- "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",
157
+ "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",
150
158
  "prepack": "bun run build",
151
159
  "architecture:check": "bun run scripts/check-architecture.ts",
152
160
  "docs:check": "bun run scripts/check-docs.ts",
@@ -156,7 +164,7 @@
156
164
  "readiness:1.0": "bun run scripts/check-1-0-readiness.ts",
157
165
  "readiness:1.0:release": "bun run scripts/check-1-0-readiness.ts --release",
158
166
  "typecheck": "tsc --noEmit",
159
- "test": "bun test ./tests ./desktop/tests",
167
+ "test": "bun test --preload ./tests/preload-bedrock-mock.ts ./tests ./desktop/tests",
160
168
  "evaluate": "bun run scripts/evaluate.ts",
161
169
  "benchmark:workspace": "bun run scripts/benchmark-workspace.ts",
162
170
  "benchmark:workspace:ci": "bun run scripts/benchmark-workspace.ts --files 1000 --page-size 100 --repetitions 3 --warmups 0",
@@ -209,24 +217,26 @@
209
217
  },
210
218
  "dependencies": {
211
219
  "@zhivex-ai/agents": "1.11.0",
212
- "@zhivex-ai/anthropic": "0.13.2",
213
- "@zhivex-ai/core": "1.31.0",
220
+ "@zhivex-ai/anthropic": "0.14.0",
221
+ "@zhivex-ai/azure-openai": "0.7.8",
222
+ "@zhivex-ai/bedrock": "2.0.7",
223
+ "@zhivex-ai/core": "1.34.0",
214
224
  "@zhivex-ai/gemini": "0.13.0",
215
225
  "@zhivex-ai/meta": "0.2.9",
216
- "@zhivex-ai/openai": "0.14.1",
226
+ "@zhivex-ai/openai": "0.16.0",
217
227
  "@zhivex-ai/qwen": "0.16.4",
218
- "@zhivex-ai/vertex": "1.2.4",
228
+ "@zhivex-ai/vertex": "1.2.7",
219
229
  "google-auth-library": "11.1.0",
220
230
  "zod": "4.6.5"
221
231
  },
222
232
  "overrides": {
223
- "@zhivex-ai/core": "1.31.0"
233
+ "@zhivex-ai/core": "1.34.0"
224
234
  },
225
235
  "devDependencies": {
226
- "@agentclientprotocol/sdk": "1.7.0",
227
- "@modelcontextprotocol/server": "2.2.0",
236
+ "@agentclientprotocol/sdk": "1.8.0",
237
+ "@modelcontextprotocol/server": "2.3.1",
228
238
  "@types/bun": "1.4.2",
229
- "@types/node": "^26.6.3",
239
+ "@types/node": "^26.6.5",
230
240
  "typescript": "7.0.2",
231
241
  "typescript-compiler-api": "npm:typescript@6.0.3"
232
242
  },
@@ -236,6 +246,6 @@
236
246
  },
237
247
  "packageManager": "bun@1.4.0",
238
248
  "optionalDependencies": {
239
- "@napi-rs/keyring": "2.1.0"
249
+ "@napi-rs/keyring": "2.1.1"
240
250
  }
241
251
  }