@zhivex-ai/harness 1.3.0 → 1.4.0-rc.6

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 (73) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/README.md +30 -8
  3. package/SECURITY.md +1 -1
  4. package/SUPPORT.md +2 -2
  5. package/contracts/engine-api.json +70 -0
  6. package/contracts/public-api.json +162 -0
  7. package/contracts/stable-api-signatures.json +9 -9
  8. package/dist/acp-cli.js +38 -12
  9. package/dist/cli/arguments.d.ts +5 -1
  10. package/dist/cli/memory.d.ts +2 -0
  11. package/dist/{cli-entry-bx3vjw7h.js → cli-entry-4k1cf0m3.js} +38 -12
  12. package/dist/{cli-entry-1gfg3brj.js → cli-entry-9c2k0zwz.js} +1086 -446
  13. package/dist/{cli-etsmtst3.js → cli-s1rs15vv.js} +136 -24
  14. package/dist/cli.js +2 -2
  15. package/dist/client/check-evidence.d.ts +17 -0
  16. package/dist/client/run-document.d.ts +12 -0
  17. package/dist/compat/cli-options.d.ts +12 -1
  18. package/dist/compat/code-support.d.ts +4 -0
  19. package/dist/compat/code-support.js +12 -4
  20. package/dist/context/compaction.d.ts +5 -0
  21. package/dist/context/project-memory-context.d.ts +6 -0
  22. package/dist/context/task-memory.d.ts +33 -1
  23. package/dist/engine/acp.js +8 -8
  24. package/dist/engine/client.js +7 -7
  25. package/dist/engine/desktop-state-v1.js +5 -5
  26. package/dist/engine/index.d.ts +4 -0
  27. package/dist/engine/index.js +88 -11
  28. package/dist/engine/mcp-stdio-v1.js +4 -4
  29. package/dist/engine/service.js +8 -8
  30. package/dist/hostile-repository-demo.js +1260 -712
  31. package/dist/{index-azmwjp95.js → index-0g939pfs.js} +13 -12
  32. package/dist/{index-6m08wvab.js → index-2tgb2b4e.js} +3 -3
  33. package/dist/{index-w2sj0wkw.js → index-49ys3s4q.js} +64 -14
  34. package/dist/{index-hnaxfpb5.js → index-4j1h4j8c.js} +137 -42
  35. package/dist/{index-8zzhggxv.js → index-a1q355va.js} +125 -2
  36. package/dist/{index-8vm2m34s.js → index-dj5z774k.js} +18 -2
  37. package/dist/{index-z0qxmkm2.js → index-e6r04a18.js} +1 -1
  38. package/dist/{index-yb239ghk.js → index-r0tdj04h.js} +21 -6
  39. package/dist/{index-h0mqx2ed.js → index-rd0s3gqj.js} +300 -4
  40. package/dist/{index-42gp2hy8.js → index-vtqfjnab.js} +98 -27
  41. package/dist/{index-2jrdcj6b.js → index-wq2tax80.js} +15 -1
  42. package/dist/{index-a97bezbz.js → index-z6br6qdn.js} +44 -23
  43. package/dist/index.js +11 -11
  44. package/dist/persistence/project-memory-command.d.ts +11 -0
  45. package/dist/persistence/project-memory.d.ts +109 -0
  46. package/dist/persistence/sdk-store-identity.d.ts +4 -0
  47. package/dist/persistence/sessions.d.ts +4 -0
  48. package/dist/runtime/error-diagnostics.d.ts +35 -0
  49. package/dist/runtime/harness.d.ts +5 -1
  50. package/dist/runtime/run-interruption.d.ts +1 -1
  51. package/dist/runtime/runtime-checkpoints.d.ts +3 -0
  52. package/dist/runtime/task-acceptance-native.d.ts +10 -0
  53. package/dist/runtime/time-to-safe-fix.d.ts +35 -0
  54. package/dist/service-cli.js +8 -8
  55. package/dist/{service-client-cli-3365rfav.js → service-client-cli-b52c67hx.js} +2 -2
  56. package/dist/verify-historical-migrations.js +1021 -456
  57. package/dist/zhx.js +2 -2
  58. package/docs/CLI.md +4 -0
  59. package/docs/CLIENT_PROTOCOL.md +10 -0
  60. package/docs/CODE_RELEASE.md +136 -19
  61. package/docs/CONTEXT_ENGINEERING.md +25 -0
  62. package/docs/DURABLE_OPERATIONS.md +60 -1
  63. package/docs/ENGINE_API.md +23 -9
  64. package/docs/EXTENSIBILITY.md +1 -1
  65. package/docs/FIRST_USE.md +6 -6
  66. package/docs/LOCAL_SERVICE.md +10 -4
  67. package/docs/PROJECT_MEMORY.md +157 -0
  68. package/docs/README.md +2 -0
  69. package/docs/STABILITY.md +1 -1
  70. package/docs/WORKSPACE_CHECKPOINTS.md +11 -1
  71. package/evaluations/representative-assembly-matrix.json +55 -1
  72. package/examples/README.md +4 -4
  73. package/package.json +12 -11
@@ -0,0 +1,157 @@
1
+ # Project memory (experimental, RC candidate)
2
+
3
+ Project memory keeps explicit operator notes across separate sessions. It is
4
+ local, inspectable and correctable. No provider calls, external database,
5
+ credentials or integrations are needed to manage it. Suggestions are never
6
+ generated automatically; hosts may submit a suggestion for operator review.
7
+
8
+ ## CLI
9
+
10
+ Use `zhx` or `zhivex-code` with Harness 1.4.0-rc.6 (Code 0.3.0-rc.6), pending publication. Commands
11
+ print bounded JSON, including the selected workspace/scope hashes. Quote content
12
+ as one argument. Memory commands do not start a model or read credentials.
13
+
14
+ ```sh
15
+ zhx memory remember "Database migrations use SQLite" --source "Operator decision"
16
+ zhx memory list
17
+ zhx memory read <id>
18
+ zhx memory update <id> <revision> "Database migrations need explicit review"
19
+ zhx memory forget <id> <revision>
20
+ zhx memory suggest "Candidate database convention" --source "Model suggestion, reviewed separately"
21
+ zhx memory read <suggestion-id>
22
+ zhx memory accept <suggestion-id> <reviewed-revision>
23
+ zhx memory context "database migrations"
24
+ zhx memory disable
25
+ zhx memory enable
26
+ zhx memory clear
27
+ zhx run --no-memory "Inspect database migrations"
28
+ ```
29
+
30
+ `remember` and `update` are explicit operator writes. `suggest` creates a pending
31
+ record; editing it leaves it pending. `accept` requires the exact revision that
32
+ the operator reviewed. No model tool can remember, update, accept or forget a
33
+ record. Host applications must keep these write operations behind their own
34
+ operator interface; an API call is not proof of human consent. `--source` is a
35
+ user-supplied provenance label, not a verified citation or execution receipt.
36
+ Records retain origin, creation/update/review timestamps and revision. API writes
37
+ can specify `expiresAt`; expired entries remain inspectable but are not retrieved.
38
+
39
+ `disable` persists opt-out for this project and scope and blocks writes/acceptance.
40
+ Read, list, forget and clear remain available. `clear` removes all pending and
41
+ accepted entries while preserving the opt-out setting. `--no-memory` disables
42
+ curated retrieval and SDK memory loading/capture for one local run/chat/resume
43
+ invocation. It does not remove messages already in a resumed run's history.
44
+ Service mode does not accept this flag: the service host owns runtime configuration.
45
+
46
+ ## Scope and bounds
47
+
48
+ Scope always includes the canonical workspace directory and the existing
49
+ tenant/user/namespace fields. Existing `--workspace`, `--state-dir`, `--tenant`,
50
+ `--user` and `--namespace` flags select it explicitly. The default namespace is
51
+ already workspace-derived. Even with a shared state directory and the same
52
+ explicit namespace, separate workspace directories remain isolated. A renamed
53
+ or copied project gets a different binding; there is no automatic merge, global
54
+ scope, Git-remote identity inference or cross-user permission inference. Directory
55
+ symlink aliases of the same canonical workspace use the same project. These
56
+ scope labels are host-owned selectors, not authentication: users with access to
57
+ the same OS-owned database can edit it directly.
58
+
59
+ | Bound | Limit |
60
+ | --- | --- |
61
+ | Accepted and pending entries together | 128 |
62
+ | Entry content | 4,096 UTF-8 bytes |
63
+ | Provenance label | 512 UTF-8 bytes |
64
+ | Current document | 256 KiB |
65
+ | Retrieved entries per model request | 3 |
66
+ | Complete rendered context, including metadata | 6,000 UTF-8 bytes |
67
+ | Freshness review interval | 30 days |
68
+
69
+ Retrieval ranks literal, case-insensitive query terms against content; ties use
70
+ update time and ID. It has no embeddings or semantic recall guarantee. Short
71
+ terms and a small English stop list are ignored. Only matching accepted entries
72
+ are selected. Entire entries that exceed the remaining budget are skipped.
73
+ `memory context "query"` exposes exactly that projection and its byte count.
74
+ Stale entries are labelled; expiry excludes them. Updating a reviewed entry
75
+ refreshes its review time. Byte limits are hard bounds, not exact model token
76
+ counts; the existing overall runtime token budget still applies. Empty memory
77
+ adds no model context.
78
+
79
+ ## Engine API and trust boundary
80
+
81
+ ```ts
82
+ import { openHarnessProjectMemory } from "@zhivex-ai/harness/engine";
83
+ const memory = await openHarnessProjectMemory({ workspace, stateDirectory, scope });
84
+ try {
85
+ const note = memory.remember({ content: "Use reviewed migrations", source: "Operator" });
86
+ memory.update(note.id, note.revision, { content: "Review SQLite migrations", source: "Operator correction" });
87
+ console.log(memory.list(), memory.retrieve("SQLite migrations"));
88
+ } finally { memory.close(); }
89
+ ```
90
+
91
+ `openHarnessProjectMemory`, its types, constants and the host command dispatcher
92
+ are experimental `/engine` additions. No client protocol commands or remote
93
+ service endpoints are added. Local CLI hosts explicitly enable curated project memory and project relevant
94
+ notes on every model request, including resumed runs. Engine hosts opt in with
95
+ `createHarness({ projectMemory: true, ... })`. Omitting the option preserves the
96
+ historical SDK memory integration and opens no curated store. Explicit `false`
97
+ disables both curated and SDK memory, including caller-supplied `memory`.
98
+ These rules also apply to caller-supplied run stores. With `true` or omission,
99
+ caller-supplied SDK `memory` remains an explicit host integration.
100
+
101
+ Memory reaches the model in a labelled user-context message before the current
102
+ user request, never as system instructions. The projection is ephemeral and is
103
+ not appended to durable run messages. It cannot grant approvals, change execution
104
+ or filesystem permissions, bypass tool policy, certify checks, or create skills.
105
+ Runtime approval checks still apply even when a remembered note claims authority.
106
+ This is an enforced separation of permission state; a model can still be influenced
107
+ by malicious text and must not be assumed immune to prompt injection.
108
+
109
+ Only explicit content is persisted. Tool output, repository files, conversation
110
+ summaries and model responses are not silently converted into curated memory.
111
+ Known secret patterns are rejected and the existing host secret guard still
112
+ applies. Pattern checks are best effort: they can miss secrets or reject innocent
113
+ text. Do not store credentials or private material you do not want retained.
114
+
115
+ ## Storage, deletion and compatibility
116
+
117
+ Memory reuses `operations.sqlite` and the SDK's existing `zhivex_agent_memory`
118
+ table with a fully project/scope-bound key outside the SDK's scoped run/agent key
119
+ namespace. Its leading colon cannot match a nonempty URI-encoded SDK namespace,
120
+ regardless of the run or agent ID. A versioned envelope in the existing row format
121
+ holds current records and the enabled setting. There is no
122
+ second memory database or vector store. File-backed run hosts use the same SQLite
123
+ state index that already serves sessions. Writes use SQLite transactions and
124
+ expected revisions so concurrent edits cannot silently replace newer records.
125
+
126
+ Forget and clear remove content from the active row; earlier revisions and
127
+ deleted-content tombstones are not retained by this feature. SQLite secure-delete
128
+ is enabled for writes, but WAL pages, filesystem snapshots and previous backups
129
+ can still retain bytes. This is not forensic erasure. Existing run histories,
130
+ legacy SDK memory rows, exported state, host logs and model/provider transcripts
131
+ have separate retention. If a model quotes a memory in its response, that quote
132
+ may enter run history. Deleting a memory does not rewrite those histories.
133
+ Explicitly importing an older backup can restore a previously forgotten note.
134
+
135
+ New state exports include the bound project document using the existing memory
136
+ record shape. Imports validate the envelope/binding, preserve opt-out, and reject
137
+ different destination content; identical imports remain idempotent. Historical
138
+ v1 backups without project memory still import. Older importers reject a backup
139
+ with the new reserved record because it is not a run-bound SDK memory record;
140
+ use the next-version engine to restore such backups. Whole-database host snapshots
141
+ already include the row. There is no configuration or SQL table schema migration.
142
+
143
+ Legacy automatic last-assistant SDK records are not promoted into curated memory.
144
+ The stable engine default preserves its historical SDK memory integration.
145
+ Explicit curated mode, including local CLI hosts, stops automatic last-assistant
146
+ capture; caller-provided SDK memory remains supported unless memory is explicitly
147
+ disabled. The API additions can ship in a future Harness minor release with a
148
+ matched next Code release and
149
+ updated exact engine dependency. Any broader removal of the stable SDK memory
150
+ default would require a major release under [API stability](STABILITY.md). Candidate package versions remain Harness
151
+ 1.3.0 / Code 0.2.0 for development only: they are not publishable replacements for
152
+ the already released artifacts. Release preparation must select new versions,
153
+ update the Code pin and rerun the release gates. Nothing in this change publishes
154
+ a version.
155
+
156
+ No terminal layout, menu or visual design changes are included. A future `/memory`
157
+ console flow needs coordination with the separate TUI audit/proposals task.
package/docs/README.md CHANGED
@@ -40,3 +40,5 @@ Primary guides are maintained in English. Historical reports preserve their orig
40
40
  language and evidence. Maintainer procedures and reports remain in the repository
41
41
  and are excluded from the npm package. Published validation applies to the exact
42
42
  release artifact, not automatically to later source changes.
43
+
44
+ - [Project memory](PROJECT_MEMORY.md): experimental explicit notes, review, retrieval budgets and deletion semantics.
package/docs/STABILITY.md CHANGED
@@ -4,7 +4,7 @@ The additive [engine entrypoints](ENGINE_API.md) are enumerated in
4
4
  [`../contracts/engine-api.json`](../contracts/engine-api.json). Aliases preserve
5
5
  their existing root tiers; newly exposed helpers have explicit tiers. The root
6
6
  compatibility surface remains unchanged. These entrypoints are source changes
7
- for the prepared 1.3.0 release and are available in the published RC7; they are absent from registry 1.2.0. Stable package numbering does not upgrade any export tier.
7
+ for the published 1.3.0 release and were available in the published RC7; they are absent from registry 1.2.0. Stable package numbering does not upgrade any export tier.
8
8
 
9
9
  [`../contracts/public-api.json`](../contracts/public-api.json) is the machine-checked 1.0 baseline for the package root, binaries, CLI commands/subcommands, exit codes, and document schemas. Every runtime and type export is present in the snapshot and belongs to exactly one explicit tier. Exports listed as stable form the intended 1.x compatibility surface; Time-to-Safe-Fix exports are experimental; the explicitly listed beta exports may evolve under the policy below.
10
10
 
@@ -24,4 +24,14 @@ After interruption in `applying`, retry checks every captured file. If all have
24
24
 
25
25
  There is no single transaction spanning SQLite and filesystem updates. Journaling exposes that boundary and makes recovery conservative. An interrupted partial filesystem update is detected, not automatically rolled back.
26
26
 
27
- Snapshot storage is bounded to 100 records per workspace/scope (captures and restores combined), 2 MiB per record. There is currently no automatic eviction or checkpoint deletion API. Portable state export/import preserves captures and completed restore records with workspace/scope and conversation lineage validation. Unfinished restore operations block export and import because their filesystem recovery state and reviewed authorization are local to the original database. Older bundles without checkpoint records remain readable. Close the checkpoint store before state maintenance or update operations.
27
+ ## Reviewed retention
28
+
29
+ Snapshot storage is bounded to 100 records per workspace/scope (captures and restores combined), 2 MiB per record. There is no automatic eviction. The existing host API supports explicit reviewed removal of stored checkpoint records and completed restore records:
30
+
31
+ 1. Call `prepareRetention({ checkpointIds, completedRestoreIds })` with the exact selected record IDs. It returns the normalized `selection`, affected `records`, record counts, serialized bytes removed and a `planId` bound to the complete scoped inventory.
32
+ 2. Present that plan to the operator and enforce explicit review in the integrating host. Possession of the plan ID does not itself grant authorization.
33
+ 3. Call `applyRetention(plan.selection, plan.planId)` to revalidate the inventory and remove the reviewed records in one SQLite transaction under the workspace mutation lock.
34
+
35
+ Pending or unknown restore evidence cannot be removed. A checkpoint referenced by a retained restore operation cannot be removed; completed referencing operations must be included in the reviewed selection or removed first. Inventory changes invalidate the plan, and a failure rolls back the entire selected database removal. Retention changes neither workspace files nor conversation sessions. It does not provide general filesystem deletion or repository rollback.
36
+
37
+ Portable state export/import preserves captures and completed restore records with workspace/scope and conversation lineage validation. Unfinished restore operations block export and import because their filesystem recovery state and reviewed authorization are local to the original database. Older bundles without checkpoint records remain readable. Close the checkpoint store before state maintenance or update operations.
@@ -53,7 +53,13 @@
53
53
  "v1.3.0-rc.5",
54
54
  "v1.3.0-rc.6",
55
55
  "v1.3.0-rc.7",
56
- "v1.3.0"
56
+ "v1.3.0",
57
+ "v1.4.0-rc.1",
58
+ "v1.4.0-rc.2",
59
+ "v1.4.0-rc.3",
60
+ "v1.4.0-rc.4",
61
+ "v1.4.0-rc.5",
62
+ "v1.4.0-rc.6"
57
63
  ],
58
64
  "expectedModels": [
59
65
  {
@@ -471,6 +477,54 @@
471
477
  "qwen": "qwen3.8-flash",
472
478
  "openai": "gpt-6-luna"
473
479
  }
480
+ },
481
+ {
482
+ "releaseTag": "v1.4.0-rc.1",
483
+ "models": {
484
+ "meta": "muse-spark-1.3-contributor",
485
+ "qwen": "qwen3.8-flash",
486
+ "openai": "gpt-6-luna"
487
+ }
488
+ },
489
+ {
490
+ "releaseTag": "v1.4.0-rc.2",
491
+ "models": {
492
+ "meta": "muse-spark-1.3-contributor",
493
+ "qwen": "qwen3.8-flash",
494
+ "openai": "gpt-6-luna"
495
+ }
496
+ },
497
+ {
498
+ "releaseTag": "v1.4.0-rc.3",
499
+ "models": {
500
+ "meta": "muse-spark-1.3-contributor",
501
+ "qwen": "qwen3.8-flash",
502
+ "openai": "gpt-6-luna"
503
+ }
504
+ },
505
+ {
506
+ "releaseTag": "v1.4.0-rc.4",
507
+ "models": {
508
+ "meta": "muse-spark-1.3-contributor",
509
+ "qwen": "qwen3.8-flash",
510
+ "openai": "gpt-6-luna"
511
+ }
512
+ },
513
+ {
514
+ "releaseTag": "v1.4.0-rc.5",
515
+ "models": {
516
+ "meta": "muse-spark-1.3-contributor",
517
+ "qwen": "qwen3.8-flash",
518
+ "openai": "gpt-6-luna"
519
+ }
520
+ },
521
+ {
522
+ "releaseTag": "v1.4.0-rc.6",
523
+ "models": {
524
+ "meta": "muse-spark-1.3-contributor",
525
+ "qwen": "qwen3.8-flash",
526
+ "openai": "gpt-6-luna"
527
+ }
474
528
  }
475
529
  ],
476
530
  "expectedCases": [
@@ -1,20 +1,20 @@
1
- # Examples for Zhivex Harness 1.2
1
+ # Examples for Zhivex Harness 1.3
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 1.3.0 publication, this installs the stable 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 RC publication, this installs the 1.4.0-rc.6 candidate 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.3.0
11
+ bun add --exact --ignore-scripts @zhivex-ai/harness@1.4.0-rc.6
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.3.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.4.0-rc.6`; 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#installation), 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.3.0",
3
+ "version": "1.4.0-rc.6",
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",
@@ -135,7 +135,8 @@
135
135
  "docs/adr/0002-isolated-mcp-stdio.md",
136
136
  "docs/VERTEX.md",
137
137
  "docs/TOOL_POLICY.md",
138
- "docs/fixtures/mcp-stdio-contract-v1.json"
138
+ "docs/fixtures/mcp-stdio-contract-v1.json",
139
+ "docs/PROJECT_MEMORY.md"
139
140
  ],
140
141
  "scripts": {
141
142
  "models:check": "bun run scripts/validate-model-catalog.ts",
@@ -204,22 +205,22 @@
204
205
  "smoke:mcp:installed": "bun run build && bun scripts/mcp-installed-smoke.ts"
205
206
  },
206
207
  "dependencies": {
207
- "@zhivex-ai/agents": "1.10.2",
208
- "@zhivex-ai/anthropic": "0.13.1",
209
- "@zhivex-ai/core": "1.28.0",
208
+ "@zhivex-ai/agents": "1.10.3",
209
+ "@zhivex-ai/anthropic": "0.13.2",
210
+ "@zhivex-ai/core": "1.30.1",
210
211
  "@zhivex-ai/gemini": "0.13.0",
211
- "@zhivex-ai/meta": "0.2.8",
212
- "@zhivex-ai/openai": "0.13.7",
213
- "@zhivex-ai/qwen": "0.16.3",
214
- "@zhivex-ai/vertex": "1.2.2",
212
+ "@zhivex-ai/meta": "0.2.9",
213
+ "@zhivex-ai/openai": "0.14.1",
214
+ "@zhivex-ai/qwen": "0.16.4",
215
+ "@zhivex-ai/vertex": "1.2.4",
215
216
  "google-auth-library": "11.1.0",
216
217
  "zod": "4.6.5"
217
218
  },
218
219
  "overrides": {
219
- "@zhivex-ai/core": "1.28.0"
220
+ "@zhivex-ai/core": "1.30.1"
220
221
  },
221
222
  "devDependencies": {
222
- "@agentclientprotocol/sdk": "1.5.1",
223
+ "@agentclientprotocol/sdk": "1.7.0",
223
224
  "@modelcontextprotocol/server": "2.2.0",
224
225
  "@types/bun": "1.4.2",
225
226
  "@types/node": "^26.6.3",