@staix/agent-hub 0.30.0 → 0.32.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 (130) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/README.md +13 -7
  3. package/docs/agent-notes/README.md +1 -0
  4. package/docs/agent-notes/adapters.md +5 -2
  5. package/docs/agent-notes/budget.md +1 -0
  6. package/docs/agent-notes/bus.md +11 -4
  7. package/docs/agent-notes/daemon.md +16 -8
  8. package/docs/agent-notes/local-worker.md +1 -0
  9. package/docs/agent-notes/tasks.md +7 -3
  10. package/docs/agent-notes/tests.md +6 -4
  11. package/docs/design/adapters.md +52 -0
  12. package/docs/design/agent-hub-architecture.md +46 -0
  13. package/docs/design/bus.md +178 -1
  14. package/docs/design/task-board.md +82 -0
  15. package/docs/dogfood.md +23 -4
  16. package/docs/events.md +3 -0
  17. package/docs/memory.md +17 -1
  18. package/docs/operations.md +355 -78
  19. package/docs/profiles.md +35 -0
  20. package/docs/quickstart.md +24 -5
  21. package/docs/security.md +178 -60
  22. package/docs/specs/2026-09-19-agent-hub-design.md +127 -14
  23. package/docs/specs/2026-09-19-multi-project-design.md +7 -2
  24. package/docs/verification/2026-11-04-1171-channel-client-evidence.md +31 -0
  25. package/docs/verification/2026-11-05-0.31.0.md +182 -0
  26. package/docs/verification/2026-11-05-claude-implementer-2.1.318.md +70 -0
  27. package/docs/verification/2026-11-05-hardcoded-values-classification-rules.md +311 -0
  28. package/docs/verification/2026-11-05-hardcoded-values-ratchet.md +55 -0
  29. package/docs/verification/2026-11-06-0.32.0.md +149 -0
  30. package/docs/verification/2026-11-06-rooms-presence-cost.md +152 -0
  31. package/docs/verification/claude-shell-wrapper-native.py +1 -1
  32. package/docs/verified.json +14 -14
  33. package/package.json +3 -4
  34. package/plugins/agent-hub/.claude-plugin/plugin.json +1 -1
  35. package/plugins/agent-hub/server.js +4393 -3609
  36. package/src/adapters/acp.ts +5 -4
  37. package/src/adapters/channel-peer.ts +72 -3
  38. package/src/adapters/claude-channel-evidence.ts +52 -0
  39. package/src/adapters/claude-channel.ts +61 -18
  40. package/src/adapters/claude-implementer.ts +29 -7
  41. package/src/adapters/claude-print-child.ts +12 -2
  42. package/src/adapters/codex-appserver.ts +13 -12
  43. package/src/adapters/compat.ts +3 -3
  44. package/src/adapters/definitions/builtin-metadata.ts +13 -13
  45. package/src/adapters/definitions/qwen.ts +1 -0
  46. package/src/adapters/local-worker.ts +61 -18
  47. package/src/adapters/pi.ts +48 -6
  48. package/src/adapters/registry-types.ts +12 -0
  49. package/src/adapters/registry.ts +2 -0
  50. package/src/adapters/reviewer-print.ts +50 -11
  51. package/src/broker/server.ts +44 -13
  52. package/src/broker/store.ts +38 -8
  53. package/src/cli/answer-args.ts +50 -0
  54. package/src/cli/attention.ts +17 -2
  55. package/src/cli/backlog-return-args.ts +37 -0
  56. package/src/cli/console-question.ts +110 -0
  57. package/src/cli/console-state.ts +78 -17
  58. package/src/cli/console.ts +54 -1
  59. package/src/cli/handoff-args.ts +15 -5
  60. package/src/cli/handoff-output.ts +15 -2
  61. package/src/cli/help.ts +8 -5
  62. package/src/cli/identity.ts +13 -3
  63. package/src/cli/main.ts +128 -16
  64. package/src/cli/memory.ts +107 -3
  65. package/src/cli/output.ts +29 -6
  66. package/src/cli/pet.ts +4 -4
  67. package/src/cli/results-args.ts +30 -0
  68. package/src/cli/room.ts +20 -10
  69. package/src/cli/runtime-version-warning.ts +50 -0
  70. package/src/cli/status-lines.ts +41 -1
  71. package/src/cli/tail-render.ts +1 -0
  72. package/src/cli/upgrade-interactive.ts +14 -2
  73. package/src/hub/action-class.ts +9 -1
  74. package/src/hub/board.ts +369 -18
  75. package/src/hub/bus.ts +511 -53
  76. package/src/hub/completion-detail.ts +50 -0
  77. package/src/hub/completions-store.ts +168 -0
  78. package/src/hub/completions.ts +120 -0
  79. package/src/hub/config-apply.ts +7 -5
  80. package/src/hub/config-reload.ts +10 -1
  81. package/src/hub/control-client.ts +40 -4
  82. package/src/hub/daemon.ts +1576 -139
  83. package/src/hub/delivery-failure.ts +14 -0
  84. package/src/hub/delivery-hints.ts +14 -4
  85. package/src/hub/delivery-journal.ts +751 -42
  86. package/src/hub/delivery-superseded.ts +4 -1
  87. package/src/hub/envelope.ts +3 -3
  88. package/src/hub/events.ts +6 -0
  89. package/src/hub/handoff.ts +145 -6
  90. package/src/hub/hub-tools.ts +56 -7
  91. package/src/hub/manager.ts +59 -3
  92. package/src/hub/memory-policy.ts +44 -1
  93. package/src/hub/memory-sync-policy.ts +109 -0
  94. package/src/hub/memory-sync-state.ts +145 -0
  95. package/src/hub/no-writes.ts +1 -1
  96. package/src/hub/operational-settings.ts +11 -2
  97. package/src/hub/operational-view.ts +12 -1
  98. package/src/hub/peers.ts +25 -2
  99. package/src/hub/planning.ts +6 -1
  100. package/src/hub/question-desk.ts +201 -0
  101. package/src/hub/question-detach.ts +6 -0
  102. package/src/hub/questions.ts +260 -0
  103. package/src/hub/research-evidence.ts +106 -0
  104. package/src/hub/restart.ts +14 -0
  105. package/src/hub/review-anchor.ts +181 -0
  106. package/src/hub/review-brief.ts +13 -0
  107. package/src/hub/review-comments.ts +115 -0
  108. package/src/hub/review-findings.ts +7 -2
  109. package/src/hub/review-material.ts +76 -0
  110. package/src/hub/routing.ts +3 -1
  111. package/src/hub/task-sweep.ts +2 -0
  112. package/src/hub/tasks.ts +577 -63
  113. package/src/memory/capture.ts +5 -2
  114. package/src/pet/config.ts +25 -13
  115. package/src/rooms/commands.ts +61 -16
  116. package/src/rooms/link.ts +338 -36
  117. package/src/rooms/liveness.ts +11 -0
  118. package/src/rooms/remote-peer.ts +186 -19
  119. package/src/rooms/service.ts +475 -35
  120. package/src/rooms/status.ts +8 -1
  121. package/src/rooms/store.ts +447 -65
  122. package/src/rooms/wire.ts +24 -6
  123. package/src/ui/index.html +142 -9
  124. package/src/ui/needs.ts +10 -4
  125. package/src/ui/plugin-questions.ts +56 -0
  126. package/src/ui/plugin-results.ts +81 -0
  127. package/src/ui/plugin.ts +207 -27
  128. package/src/pet/window.html +0 -114
  129. package/src/pet/window.jxa.js +0 -122
  130. package/src/pet/window.ts +0 -154
@@ -0,0 +1,152 @@
1
+ # Rooms presence producer cost
2
+
3
+ Refs #1204, CI task 742. Historical macOS comparisons and Linux candidate
4
+ measurements and targeted hosted macOS candidate acceptance are recorded below.
5
+
6
+ ## Failed jobs and revision attribution
7
+
8
+ - [PR 1217 macOS job](https://github.com/STAIxBWLB/agent-hub/actions/runs/42098376188/job/127501666095)
9
+ checked out `92486ab5c48b4c0281643750590fa6693aaaa7e6` and timed out the
10
+ unchanged 1,000-flip test at 20,025.68 ms.
11
+ - [PR 1215 macOS job](https://github.com/STAIxBWLB/agent-hub/actions/runs/42074839676/job/127420743582)
12
+ checked out `dc9e482c659a29fa3f6b4597bc04219f5b5f3fbd` and timed out at
13
+ 20,034.80 ms.
14
+ - The workflow checks out the PR head. Neither failed head contains T2 commit
15
+ `3185dd4c57e36213a8ca398dd304f3284daa03ed`. Their rooms files, Bus,
16
+ delivery journal and delivery test are byte-identical to
17
+ `b7aec7d5621e25e0ea1df1e5b8b7366b92512bfe` in those paths.
18
+ - The requested b7..3185 range has only two intervening commits: handoff T2
19
+ `b5c2525495b42a986207308af815e530f78c0c61`, then rooms T2. The old
20
+ producer path reproduces at b7 itself, so the observed failures do not establish
21
+ T2 as a first bad commit.
22
+
23
+ ## Measured producer paths
24
+
25
+ The repo-only preload `scripts/diagnose-presence-cost-742.ts` counts fixed
26
+ method names and inclusive wall time, never argument text or ids. The original
27
+ test and its 20-second guard are unchanged.
28
+
29
+ The natural run is separate from a controlled scheduling probe. In the probe,
30
+ the first hot publication waits for the existing serial seal before calling the
31
+ original producer. No state flag is overwritten. This exercises an idle producer
32
+ instead of relying on a boot-time publication still being in flight.
33
+
34
+ Pinned Bun 1.4.2, Linux x64, frozen installs on dgx02:
35
+
36
+ | Runtime and mode | Flip phase | Sequence reservations in phase | Store transactions in phase | Bus persists, whole case |
37
+ | --- | ---: | ---: | ---: | ---: |
38
+ | Pre-fix natural, `0a32d86a` | 2 ms | 0 | 0 | 4 |
39
+ | b7, controlled idle entry | 10,645 ms | 1,000 | 3,173 | 4 |
40
+ | b5c, controlled idle entry | 11,324 ms | 1,000 | 3,161 | 4 |
41
+ | Pre-fix `ab751794`, controlled idle entry | 11,868 ms | 1,000 | 4,145 | 4 |
42
+ | Fixed FIFO candidate `2452b905`, controlled idle entry | 109 ms | 7 | 33 | 4 |
43
+
44
+ The pre-fix ab751 phase spent 2,401 ms inside sequence reservation and 5,205 ms
45
+ inside Store transactions. These measurements overlap and must not be added.
46
+ Transaction timing includes SQL and durable I/O; this is not a separate fsync
47
+ syscall trace. The Store uses DELETE journaling and synchronous EXTRA. The data
48
+ does not attribute all remaining time to either crypto or the filesystem.
49
+
50
+ b7 and b5c were separate historical checkouts with the same diagnostic preload.
51
+ 0a32/ab751 include only close guards and the diagnostic on top of 3185; their room
52
+ producer was still unchanged. The b7/b5c comparison and named-red checks ran from
53
+ the diagnostic harness at `11e3121f51eff2a9cd60eb95400e568051163072`.
54
+
55
+ The code defect is cancellation of scheduled coalesced work: ordinary calls
56
+ clear the pending republish before starting another seal. If the producer is
57
+ already busy, calls collapse; if it starts idle, an awaited loop can repeatedly
58
+ reserve durable counters. Task 740's persist fix remains effective: all measured
59
+ cases retain four Bus persists.
60
+
61
+ ## Fix and regressions
62
+
63
+ - Ordinary calls reuse pending republish; response/forced-request priority stays.
64
+ - Chat observations precede the chat, and the chat slot is reserved synchronously
65
+ before awaiting the earlier presence. This avoids overtaking by a concurrent
66
+ chat. Tests check ciphertext and real Store insertion order.
67
+ - Receipt durability, ACK ordering, caps and actual-send exposure/current fences
68
+ remain covered by unchanged backpressure tests and new focused regressions.
69
+ - Closed public and deferred publication return before touching the journal or
70
+ observers. Live storage failures still propagate.
71
+ - A failed presence barrier remains an error of its reserved chat, rather than
72
+ a successful empty send or an unhandled rejection.
73
+
74
+ ## Hosted macOS reference comparison
75
+
76
+ The [reference job](https://github.com/STAIxBWLB/agent-hub/actions/runs/42106515415/job/127522644864)
77
+ ran on Darwin arm64 with Bun 1.4.2. Each result below is the unchanged test with
78
+ the same diagnostic preload; controlled scheduling is labelled separately.
79
+
80
+ | Runtime and mode | Whole test | Flip phase | Reservations | Store transaction time in phase |
81
+ | --- | ---: | ---: | ---: | ---: |
82
+ | b7, natural | 17,806.52 ms | 17,110 ms | 1,000 | 1,194 ms |
83
+ | b7, controlled idle entry | 18,798.21 ms | 16,656 ms | 1,000 | 1,438 ms |
84
+ | b5c, natural | 698.92 ms | 4 ms | 0 | 0 ms |
85
+ | b5c, controlled idle entry | 17,084.92 ms | 16,440 ms | 1,000 | 1,065 ms |
86
+ | 3185, natural | 710.99 ms | 2 ms | 0 | 0 ms |
87
+ | 3185, controlled idle entry | 17,604.82 ms | 16,902 ms | 1,000 | 1,139 ms |
88
+
89
+ The slow producer therefore costs about 16.4-17.1 ms per flip on this runner.
90
+ For 3185, sequence reservation accounts for 511 ms inside the overlapping
91
+ 1,139 ms Store transaction time; durable I/O is not the dominant measured time.
92
+ The remaining seal/async producer work was not split into separate CPU/syscall
93
+ traces. All cases retain four Bus persists, confirming the task-740 fix remains.
94
+
95
+ The range's lower bound is not unconditionally fast: b7 naturally selects the
96
+ slow path in this job. A monotonic good/bad bisect cannot assign the defect to a
97
+ newer commit; exhaustive comparison of the two intervening commits shows the
98
+ pre-existing scheduling path. This is not a claim that the failed jobs merely
99
+ needed their timeout increased.
100
+
101
+ The job completed all six cases above, then failed because abbreviated reference
102
+ 924 was absent from that checkout. That final workflow error does not invalidate
103
+ the completed cases, but supplies no 924 measurement. The follow-up explicitly
104
+ fetches its full SHA and checks the candidate separately.
105
+
106
+ Controlled red evidence uses unchanged historical source with only the new
107
+ regression file copied into an isolated checkout:
108
+
109
+ - At 3185, the count test fails its named assertion: expected one reserve,
110
+ received 1,001.
111
+ - At pre-FIFO-fix 7b99, the concurrent-chat test fails its named assertion with
112
+ B before A.
113
+ - The existing seed classifier accepted both as assertion failures, not timeouts
114
+ or runtime diagnostics.
115
+
116
+ ## Hosted macOS candidate acceptance
117
+
118
+ The [candidate job](https://github.com/STAIxBWLB/agent-hub/actions/runs/42110940560/job/127537997562)
119
+ passed on Darwin arm64, Bun 1.4.2 at
120
+ `e269d5c3be4a81fbd95220d760fb1f104fae3e3f`:
121
+
122
+ - The unchanged, unprofiled AC1 test passed in 787.72 ms under its original
123
+ 20-second guard.
124
+ - All 19 focused close, coalescing and unchanged backpressure tests passed,
125
+ with 210 expectations and no failures.
126
+ - Natural candidate profile: whole test 692.06 ms, flip phase 2 ms, no sequence
127
+ reservations or Store transactions in that phase.
128
+ - Controlled idle-entry candidate profile: whole test 783.51 ms, flip phase
129
+ 114 ms, six reservations and 26 Store transactions in that phase.
130
+ - The explicitly fetched historical 924 head passed naturally in 669.40 ms,
131
+ but controlled idle entry took 18,277.53 ms (17,679 ms in the flip phase,
132
+ 1,000 reservations, 2,883 Store transactions). Its transaction time was
133
+ 2,082 ms, overlapping the 1,078 ms sequence-reservation time.
134
+
135
+ This confirms the scheduling-dependent cause and candidate improvement on
136
+ macOS without changing an assertion or timeout. The job is targeted evidence,
137
+ not a full PR gate. Production source is unchanged since 11e312; subsequent
138
+ changes add evidence and remove the temporary diagnostic workflows.
139
+
140
+ ## Evidence limits
141
+
142
+ - Latest focused source check at 11e312 passed 12 tests, 0 failed, 94 expectations.
143
+ Earlier 2452 passed 18 focused/backpressure tests and the controlled AC1 case.
144
+ - The first reference run measured b7, b5c and 3185; the successful candidate
145
+ job additionally measured the full 924 SHA. Neither temporary workflow is
146
+ retained in the final change.
147
+ - The original failed macOS jobs did not record per-flip counters. Attribution
148
+ of those exact executions to this reproduced path remains an inference;
149
+ hosted reference measurements establish the slow path; the separate candidate
150
+ job supplies targeted macOS acceptance. Linux timing alone is not macOS acceptance.
151
+ - No original test assertion or timeout was changed. No Mac-local gate, live
152
+ room enrollment, native-account acceptance or release is claimed.
@@ -68,7 +68,7 @@ results=[]
68
68
  for raw_binary in args.claude:
69
69
  binary=pathlib.Path(raw_binary).resolve(); identity=ROOT/('identity-'+binary.name); identity.mkdir()
70
70
  version=subprocess.run([str(binary),'--version'],env={'HOME':str(identity),'CLAUDE_CONFIG_DIR':str(identity/'config'),'PATH':'/usr/bin:/bin'},capture_output=True,text=True,timeout=10)
71
- assert version.returncode==0 and version.stdout.strip().split()[0] in ('2.1.309','2.1.310','2.1.314','2.1.316'),(version.returncode,version.stdout)
71
+ assert version.returncode==0 and version.stdout.strip().split()[0] in ('2.1.309','2.1.310','2.1.314','2.1.316','2.1.318'),(version.returncode,version.stdout)
72
72
  label=version.stdout.strip().split()[0]; digest=sha(binary)
73
73
  for mode in ('context','normalized'):
74
74
  d=ROOT/(label+'-'+mode); d.mkdir(); home=d/'home';home.mkdir(); work=d/"work 'quoted'";work.mkdir();(work/'sub').mkdir()
@@ -2,7 +2,7 @@
2
2
  "schemaVersion": 1,
3
3
  "documents": {
4
4
  "README.md": {
5
- "verifiedAgainst": "8612cfd740abd013689532d993ebc981548510bb",
5
+ "verifiedAgainst": "2f4c372a6ce48dc01acb4a002f6a46e9557cbd17",
6
6
  "paths": [
7
7
  "package.json",
8
8
  "src/",
@@ -11,14 +11,14 @@
11
11
  ]
12
12
  },
13
13
  "docs/security.md": {
14
- "verifiedAgainst": "8612cfd740abd013689532d993ebc981548510bb",
14
+ "verifiedAgainst": "2f4c372a6ce48dc01acb4a002f6a46e9557cbd17",
15
15
  "paths": [
16
16
  "src/",
17
17
  "templates/"
18
18
  ]
19
19
  },
20
20
  "docs/operations.md": {
21
- "verifiedAgainst": "8612cfd740abd013689532d993ebc981548510bb",
21
+ "verifiedAgainst": "2f4c372a6ce48dc01acb4a002f6a46e9557cbd17",
22
22
  "paths": [
23
23
  "package.json",
24
24
  "src/",
@@ -35,7 +35,7 @@
35
35
  ]
36
36
  },
37
37
  "docs/quickstart.md": {
38
- "verifiedAgainst": "8612cfd740abd013689532d993ebc981548510bb",
38
+ "verifiedAgainst": "2f4c372a6ce48dc01acb4a002f6a46e9557cbd17",
39
39
  "paths": [
40
40
  "package.json",
41
41
  "src/",
@@ -43,7 +43,7 @@
43
43
  ]
44
44
  },
45
45
  "docs/agent-notes/adapters.md": {
46
- "verifiedAgainst": "8612cfd740abd013689532d993ebc981548510bb",
46
+ "verifiedAgainst": "2f4c372a6ce48dc01acb4a002f6a46e9557cbd17",
47
47
  "paths": [
48
48
  "src/adapters/",
49
49
  "src/pi/",
@@ -81,7 +81,7 @@
81
81
  ]
82
82
  },
83
83
  "docs/agent-notes/benchmarks.md": {
84
- "verifiedAgainst": "8612cfd740abd013689532d993ebc981548510bb",
84
+ "verifiedAgainst": "af37f8fd8b44a2c566aa47629ec5b02ee9f91d69",
85
85
  "paths": [
86
86
  "scripts/benchmarks/",
87
87
  "test/benchmarks/",
@@ -93,7 +93,7 @@
93
93
  ]
94
94
  },
95
95
  "docs/agent-notes/budget.md": {
96
- "verifiedAgainst": "8612cfd740abd013689532d993ebc981548510bb",
96
+ "verifiedAgainst": "2f4c372a6ce48dc01acb4a002f6a46e9557cbd17",
97
97
  "paths": [
98
98
  "src/hub/budget.ts",
99
99
  "src/cli/statusline-tee.ts",
@@ -117,7 +117,7 @@
117
117
  ]
118
118
  },
119
119
  "docs/agent-notes/bus.md": {
120
- "verifiedAgainst": "8612cfd740abd013689532d993ebc981548510bb",
120
+ "verifiedAgainst": "2f4c372a6ce48dc01acb4a002f6a46e9557cbd17",
121
121
  "paths": [
122
122
  "src/hub/bus.ts",
123
123
  "src/hub/envelope.ts",
@@ -132,7 +132,7 @@
132
132
  ]
133
133
  },
134
134
  "docs/agent-notes/daemon.md": {
135
- "verifiedAgainst": "8612cfd740abd013689532d993ebc981548510bb",
135
+ "verifiedAgainst": "2f4c372a6ce48dc01acb4a002f6a46e9557cbd17",
136
136
  "paths": [
137
137
  "src/hub/daemon.ts",
138
138
  "src/hub/control-client.ts",
@@ -223,7 +223,7 @@
223
223
  ]
224
224
  },
225
225
  "docs/agent-notes/local-worker.md": {
226
- "verifiedAgainst": "8612cfd740abd013689532d993ebc981548510bb",
226
+ "verifiedAgainst": "af37f8fd8b44a2c566aa47629ec5b02ee9f91d69",
227
227
  "paths": [
228
228
  "src/adapters/local-worker.ts",
229
229
  "src/local/",
@@ -243,7 +243,7 @@
243
243
  ]
244
244
  },
245
245
  "docs/agent-notes/tasks.md": {
246
- "verifiedAgainst": "8612cfd740abd013689532d993ebc981548510bb",
246
+ "verifiedAgainst": "2f4c372a6ce48dc01acb4a002f6a46e9557cbd17",
247
247
  "paths": [
248
248
  "src/hub/tasks.ts",
249
249
  "src/hub/board.ts",
@@ -291,7 +291,7 @@
291
291
  ]
292
292
  },
293
293
  "docs/agent-notes/tests.md": {
294
- "verifiedAgainst": "8612cfd740abd013689532d993ebc981548510bb",
294
+ "verifiedAgainst": "4ad77748c96383bdef8e55a11ff53808a1359500",
295
295
  "paths": [
296
296
  "test/",
297
297
  "scripts/check.sh",
@@ -320,7 +320,7 @@
320
320
  ]
321
321
  },
322
322
  "docs/agent-notes/README.md": {
323
- "verifiedAgainst": "8612cfd740abd013689532d993ebc981548510bb",
323
+ "verifiedAgainst": "2f4c372a6ce48dc01acb4a002f6a46e9557cbd17",
324
324
  "paths": [
325
325
  "src/cli/console-state.ts",
326
326
  "src/cli/attention.ts",
@@ -329,7 +329,7 @@
329
329
  ]
330
330
  },
331
331
  "src/cli/help.ts": {
332
- "verifiedAgainst": "8612cfd740abd013689532d993ebc981548510bb",
332
+ "verifiedAgainst": "af37f8fd8b44a2c566aa47629ec5b02ee9f91d69",
333
333
  "paths": [
334
334
  "src/cli/main.ts",
335
335
  "src/cli/launch.ts",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@staix/agent-hub",
3
- "version": "0.30.0",
3
+ "version": "0.32.0",
4
4
  "description": "Native multi-agent hub: Claude Code, Codex, Kimi Code, Pi and local inference as peers in one project",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -17,18 +17,17 @@
17
17
  "bun": ">=1.4.2"
18
18
  },
19
19
  "dependencies": {
20
- "@staix/agent-mem": "0.20.1"
20
+ "@staix/agent-mem": "0.21.0"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@modelcontextprotocol/sdk": "^1.27.1",
24
+ "@staix/agent-console": "0.1.3",
24
25
  "@types/bun": "^1.3.0",
25
26
  "typescript": "^5.8.0"
26
27
  },
27
28
  "files": [
28
29
  ".claude-plugin",
29
30
  "src",
30
- "src/pet/window.jxa.js",
31
- "src/pet/window.html",
32
31
  "plugins",
33
32
  "templates",
34
33
  "scripts/check-docs.mjs",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-hub",
3
- "version": "0.30.0",
3
+ "version": "0.32.0",
4
4
  "description": "Channel between Claude Code and the agent-hub daemon: peer messages from Codex, Kimi and the local worker arrive as channel events; hub_send replies.",
5
5
  "author": {
6
6
  "name": "Young Joon Lee",