@staix/agent-hub 0.12.21 → 0.12.23

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 (87) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +27 -12
  3. package/docs/agent-notes/adapters.md +15 -7
  4. package/docs/agent-notes/benchmarks.md +4 -1
  5. package/docs/agent-notes/budget.md +4 -0
  6. package/docs/agent-notes/bus.md +2 -1
  7. package/docs/agent-notes/daemon.md +12 -1
  8. package/docs/agent-notes/local-worker.md +4 -1
  9. package/docs/agent-notes/tasks.md +2 -1
  10. package/docs/agent-notes/tests.md +4 -0
  11. package/docs/events.md +17 -4
  12. package/docs/operations.md +478 -41
  13. package/docs/quickstart.md +14 -6
  14. package/docs/security.md +23 -11
  15. package/docs/smoke.md +133 -7
  16. package/docs/specs/2026-09-19-agent-hub-design.md +115 -15
  17. package/docs/specs/2026-09-20-upgrade-recovery-design.md +84 -8
  18. package/docs/verification/2026-10-10-cli-output-phase1.md +309 -0
  19. package/docs/verification/2026-10-10-cli-output-phase2.md +672 -0
  20. package/docs/verification/2026-10-11-0.12.23.md +90 -0
  21. package/docs/verified.json +32 -17
  22. package/package.json +1 -1
  23. package/plugins/agent-hub/.claude-plugin/plugin.json +1 -1
  24. package/plugins/agent-hub/server.js +14 -3
  25. package/src/adapters/acp-quota.ts +13 -0
  26. package/src/adapters/acp.ts +105 -17
  27. package/src/adapters/codex-appserver.ts +70 -35
  28. package/src/adapters/local-worker.ts +44 -10
  29. package/src/adapters/pi.ts +158 -19
  30. package/src/cli/bench.ts +2 -1
  31. package/src/cli/console-state.ts +28 -22
  32. package/src/cli/console.ts +20 -10
  33. package/src/cli/help.ts +25 -19
  34. package/src/cli/identity.ts +3 -3
  35. package/src/cli/init.ts +1 -1
  36. package/src/cli/launch.ts +182 -7
  37. package/src/cli/main.ts +409 -177
  38. package/src/cli/output.ts +363 -0
  39. package/src/cli/preview.ts +2 -1
  40. package/src/cli/recovery-package.ts +17 -0
  41. package/src/cli/reset.ts +3 -0
  42. package/src/cli/status-lines.ts +0 -28
  43. package/src/cli/terminal-recovery.ts +27 -1
  44. package/src/cli/upgrade-interactive.ts +297 -0
  45. package/src/cli/upgrade-runtime.ts +80 -9
  46. package/src/cli/upgrade.ts +50 -15
  47. package/src/hub/board.ts +2 -0
  48. package/src/hub/budget.ts +39 -7
  49. package/src/hub/bus.ts +15 -14
  50. package/src/hub/child-process.ts +11 -0
  51. package/src/hub/conductor.ts +23 -11
  52. package/src/hub/config-trust.ts +16 -5
  53. package/src/hub/conflicts.ts +2 -0
  54. package/src/hub/context-window.ts +8 -1
  55. package/src/hub/crash.ts +2 -1
  56. package/src/hub/daemon.ts +483 -83
  57. package/src/hub/db-timeout.ts +3 -0
  58. package/src/hub/delivery-journal.ts +2 -1
  59. package/src/hub/envelope.ts +1 -1
  60. package/src/hub/events.ts +4 -1
  61. package/src/hub/execution-budget.ts +2 -0
  62. package/src/hub/facts.ts +5 -4
  63. package/src/hub/git.ts +32 -0
  64. package/src/hub/hub-tools.ts +1 -1
  65. package/src/hub/lifecycle.ts +10 -4
  66. package/src/hub/manager.ts +18 -5
  67. package/src/hub/peers.ts +7 -5
  68. package/src/hub/permission-mode.ts +14 -0
  69. package/src/hub/project.ts +2 -1
  70. package/src/hub/recovery-error.ts +31 -0
  71. package/src/hub/recovery-store.ts +43 -4
  72. package/src/hub/registry.ts +2 -1
  73. package/src/hub/routing.ts +114 -13
  74. package/src/hub/settings.ts +392 -0
  75. package/src/hub/snapshots.ts +4 -2
  76. package/src/hub/start-mode.ts +48 -0
  77. package/src/hub/tasks.ts +158 -43
  78. package/src/hub/terminal-open.ts +64 -0
  79. package/src/hub/ui.ts +25 -13
  80. package/src/local/deny.ts +71 -2
  81. package/src/local/sandbox.ts +47 -6
  82. package/src/local/tools.ts +25 -6
  83. package/src/memory/recall.ts +2 -2
  84. package/src/models/mlx.ts +2 -1
  85. package/src/pi/extension.ts +43 -20
  86. package/src/pi/tool-receipts.ts +19 -2
  87. package/src/ui/index.html +172 -21
@@ -0,0 +1,309 @@
1
+ # One-shot output fixture (#284 phase 1)
2
+
3
+ Deterministic synthetic fixture at fixed `now=1800000000000`. Before uses the previous command formatting; after uses the pure renderers. This is automated output evidence, not a human terminal inspection.
4
+
5
+ ## status, 80 columns
6
+
7
+ Before:
8
+
9
+ ```text
10
+ hub pid 25893, control 127.0.0.1:12345, /project/agent-hub
11
+ claude idle queued 0 context 80% (fresh, claude_statusline, measured 2027-01-15T07:59:46.000Z)
12
+ codex busy queued 2 awaiting settlement 8d03b496-1111-2222-3333-444444444444, 3325f7a0-1111-2222-3333-444444444444 (adapter completion; Claude: reply or hub_delivery_done; task state is independent) held by needs_review abcdef12-1111-2222-3333-444444444444; ahub queue resolve abcdef12-1111-2222-3333-444444444444 --action completed|retry|discard --reason <text> (manual) last call: dgx/qwen-coder-large context 34% (fresh, codex_token_usage, measured 2027-01-15T07:59:00.000Z)
13
+ kimi idle queued 0 permission: ask-when-needed context 25% (fresh, acp_usage_update, measured 2027-01-15T07:58:00.000Z)
14
+ pi idle queued 0 tools-only: messages wait for hub_inbox; for pushes restart Claude with ahub claude context unknown (unknown)
15
+ tasks: 6 approved, 1 in_progress (ahub board)
16
+ ```
17
+
18
+ After:
19
+
20
+ ```text
21
+ agent-hub 0.12.22 pid 25893 control 127.0.0.1:12345
22
+ /project/agent-hub
23
+
24
+ PEER STATE MODE LINK Q PAUSE QUOTA MODEL CONTEXT
25
+ claude idle - attached - - 5h - 80% 14s ago
26
+ 23% claude_statu
27
+ in sline
28
+ 10m,
29
+ week
30
+ 49%
31
+ in
32
+ 5d09h
33
+ codex busy - attached 2 user - dgx/q 34% 1m ago
34
+ wen-c codex_token_
35
+ oder- usage
36
+ large
37
+ settling 8d03b496, 3325f7a0
38
+ held by needs_review abcdef12; ahub queue resolve
39
+ abcdef12-1111-2222-3333-444444444444 --action completed|retry|discard
40
+ --reason <text>
41
+ paused manual
42
+ kimi idle ask-when-needed attached - - - - 25% 2m ago
43
+ acp_usage_up
44
+ date
45
+ pi idle - tools-only - - - - unknown
46
+ tools-only messages wait for hub_inbox; for pushes restart Claude with ahub
47
+ claude
48
+
49
+ settling: the adapter has not confirmed these deliveries yet (Claude: reply or
50
+ hub_delivery_done). Task state is independent.
51
+
52
+ TASKS 6 approved, 1 in_progress (ahub board)
53
+ ```
54
+
55
+ ## board, 80 columns
56
+
57
+ Before:
58
+
59
+ ```text
60
+ #1 approved implement codex review:claude 제주한라대학교 AI 도구를 활용한 구현과 검증 제주한라대학교 AI 도구를 활용한 구현과 검증 제주한라대학교 AI 도구를 활용한 구현과 검증 제주한라대학교 AI 도구를 활용한 구현과 검증 제주한라대학교 AI 도구를 활용한 구현과 검증 제주한라대학교 AI 도구를 활용한 구현과 검증 제주한라대학교 AI 도구를 활용한 구현과 검증 제주한라대학교 AI 도구를 활용한 구현과 검증 제주한라대학교 AI 도구를 활용한 구현과 검증 제주한라대학교 AI 도구를 활용한 구현과 검증 제주한라대학교 AI 도구를 활용한 구현과 검증 제주한라대학교 AI 도구를 활용한 구현과 검증
61
+ #2 in_progress implement kimi review:claude AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA (after #1)
62
+ #3 proposed implement local review:claude [pii] (after #2) (ahub task show 3)
63
+ ```
64
+
65
+ After:
66
+
67
+ ```text
68
+ ID STATE OWNER REVIEWER CLASS AGE TITLE STAGE
69
+ #1 approved codex claude implement 1m 제주한라대학교 AI [####]
70
+ 도구를 활용한
71
+ 구현과 검증
72
+ 제주한라대학교 AI
73
+ 도구를 활용한
74
+ 구현과 검증
75
+ 제주한라대학교 AI
76
+ 도구를 활용한
77
+ 구현과 검증
78
+ 제주한라대학교 AI
79
+ 도구를 활용한
80
+ 구현과 검증
81
+ 제주한라대학교 AI
82
+ 도구를 활용한
83
+ 구현과 검증
84
+ 제주한라대학교 AI
85
+ 도구를 활용한
86
+ 구현과 검증
87
+ 제주한라대학교 AI
88
+ 도구를 활용한
89
+ 구현과 검증
90
+ 제주한라대학교 AI
91
+ 도구를 활용한
92
+ 구현과 검증
93
+ 제주한라대학교 AI
94
+ 도구를 활용한
95
+ 구현과 검증
96
+ 제주한라대학교 AI
97
+ 도구를 활용한
98
+ 구현과 검증
99
+ 제주한라대학교 AI
100
+ 도구를 활용한
101
+ 구현과 검증
102
+ 제주한라대학교 AI
103
+ 도구를 활용한
104
+ 구현과 검증
105
+ #2 in_progress kimi claude implement 2m AAAAAAAAAAAAAAAAA [##--]
106
+ AAAAAAAAAAAAAAAAA
107
+ AAAAAAAAAAAAAAAAA
108
+ AAAAAAAAAAAAAAAAA
109
+ AAAAAAAAAAAAAAAAA
110
+ AAAAAAAAAAAAAAAAA
111
+ AAAAAAAAAAAAAAAAA
112
+ AAAAAAAAAAAAAAAAA
113
+ AAAAAAAAAAAAAAAAA
114
+ AAAAAAAAAAAAAAAAA
115
+ AAAAAAAAAAAAAAAAA
116
+ AAAAAAAAAAAAAAAAA
117
+ AAAAAAAAAAAAAAAAA
118
+ AAAAAAAAAAAAAAAAA
119
+ AAAAAAAAAAAAAAAAA
120
+ AAAAAAAAAAAAAAAAA
121
+ AAAAAAAAAAAAAAAAA
122
+ AAAAAAAAAAA
123
+ after #1
124
+ #3 proposed waiting local claude implement 30s [pii] after #2 [#---]
125
+ (ahub task show
126
+ 3)
127
+
128
+ 3 tasks: 1 approved, 1 in_progress, 1 proposed
129
+ ```
130
+
131
+ ## budget, 80 columns
132
+
133
+ Before:
134
+
135
+ ```text
136
+ claude PAUSED: quota threshold, resumes in 10m00s
137
+ week 49% resets in 129h00m [claude_statusline, 14s ago]
138
+ codex
139
+ week 8% [codex_rate_limits, 60s ago, STALE]
140
+ ```
141
+
142
+ After:
143
+
144
+ ```text
145
+ PEER WINDOW USED RESETS SOURCE MEASURED STATE
146
+ claude week 49% in 5d09h claude_statusline 14s ago fresh
147
+ codex week 8% - codex_rate_limits 1m ago stale
148
+ paused claude quota threshold; resumes in 10m
149
+ ```
150
+
151
+ ## doctor, 80 columns
152
+
153
+ Before:
154
+
155
+ ```text
156
+ ok bun 1.4.2
157
+ -- local fixed_model vllm/large-model is not served by the gateway
158
+ -- pi mlx error: Unable to connect. Is the computer able to access the URL?
159
+ ? capture: codex unknown, dot ai memory status is unavailable
160
+ ```
161
+
162
+ After:
163
+
164
+ ```text
165
+ Tools
166
+ LEVEL CHECK FINDING
167
+ ok bun 1.4.2
168
+
169
+ Models
170
+ LEVEL CHECK FINDING
171
+ fail local fixed_model vllm/large-model is not served by the gateway
172
+ warn pi mlx error: Unable to connect. Is the computer able to
173
+ access the URL?
174
+
175
+ Memory
176
+ LEVEL CHECK FINDING
177
+ unknown capture: codex unknown, dot ai memory status is unavailable
178
+
179
+ 1 failure, 1 warning, 1 ok, 1 unknown
180
+ ```
181
+
182
+ ## status, 120 columns
183
+
184
+ Before:
185
+
186
+ ```text
187
+ hub pid 25893, control 127.0.0.1:12345, /project/agent-hub
188
+ claude idle queued 0 context 80% (fresh, claude_statusline, measured 2027-01-15T07:59:46.000Z)
189
+ codex busy queued 2 awaiting settlement 8d03b496-1111-2222-3333-444444444444, 3325f7a0-1111-2222-3333-444444444444 (adapter completion; Claude: reply or hub_delivery_done; task state is independent) held by needs_review abcdef12-1111-2222-3333-444444444444; ahub queue resolve abcdef12-1111-2222-3333-444444444444 --action completed|retry|discard --reason <text> (manual) last call: dgx/qwen-coder-large context 34% (fresh, codex_token_usage, measured 2027-01-15T07:59:00.000Z)
190
+ kimi idle queued 0 permission: ask-when-needed context 25% (fresh, acp_usage_update, measured 2027-01-15T07:58:00.000Z)
191
+ pi idle queued 0 tools-only: messages wait for hub_inbox; for pushes restart Claude with ahub claude context unknown (unknown)
192
+ tasks: 6 approved, 1 in_progress (ahub board)
193
+ ```
194
+
195
+ After:
196
+
197
+ ```text
198
+ agent-hub 0.12.22 pid 25893 control 127.0.0.1:12345
199
+ /project/agent-hub
200
+
201
+ PEER STATE MODE LINK Q PAUSE QUOTA MODEL CONTEXT
202
+ claude idle - attached - - 5h 23% in 10m, week 49% in - 80% 14s ago
203
+ 5d09h claude_statu
204
+ sline
205
+ codex busy - attached 2 user - dgx/qwen-coder-large 34% 1m ago
206
+ codex_token_
207
+ usage
208
+ settling 8d03b496, 3325f7a0
209
+ held by needs_review abcdef12; ahub queue resolve abcdef12-1111-2222-3333-444444444444 --action
210
+ completed|retry|discard --reason <text>
211
+ paused manual
212
+ kimi idle ask-when-needed attached - - - - 25% 2m ago
213
+ acp_usage_up
214
+ date
215
+ pi idle - tools-only - - - - unknown
216
+ tools-only messages wait for hub_inbox; for pushes restart Claude with ahub claude
217
+
218
+ settling: the adapter has not confirmed these deliveries yet (Claude: reply or hub_delivery_done). Task state is
219
+ independent.
220
+
221
+ TASKS 6 approved, 1 in_progress (ahub board)
222
+ ```
223
+
224
+ ## board, 120 columns
225
+
226
+ Before:
227
+
228
+ ```text
229
+ #1 approved implement codex review:claude 제주한라대학교 AI 도구를 활용한 구현과 검증 제주한라대학교 AI 도구를 활용한 구현과 검증 제주한라대학교 AI 도구를 활용한 구현과 검증 제주한라대학교 AI 도구를 활용한 구현과 검증 제주한라대학교 AI 도구를 활용한 구현과 검증 제주한라대학교 AI 도구를 활용한 구현과 검증 제주한라대학교 AI 도구를 활용한 구현과 검증 제주한라대학교 AI 도구를 활용한 구현과 검증 제주한라대학교 AI 도구를 활용한 구현과 검증 제주한라대학교 AI 도구를 활용한 구현과 검증 제주한라대학교 AI 도구를 활용한 구현과 검증 제주한라대학교 AI 도구를 활용한 구현과 검증
230
+ #2 in_progress implement kimi review:claude AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA (after #1)
231
+ #3 proposed implement local review:claude [pii] (after #2) (ahub task show 3)
232
+ ```
233
+
234
+ After:
235
+
236
+ ```text
237
+ ID STATE OWNER REVIEWER CLASS AGE TITLE STAGE
238
+ #1 approved codex claude implement 1m 제주한라대학교 AI 도구를 활용한 구현과 검증 [####]
239
+ 제주한라대학교 AI 도구를 활용한 구현과 검증
240
+ 제주한라대학교 AI 도구를 활용한 구현과 검증
241
+ 제주한라대학교 AI 도구를 활용한 구현과 검증
242
+ 제주한라대학교 AI 도구를 활용한 구현과 검증
243
+ 제주한라대학교 AI 도구를 활용한 구현과 검증
244
+ 제주한라대학교 AI 도구를 활용한 구현과 검증
245
+ 제주한라대학교 AI 도구를 활용한 구현과 검증
246
+ 제주한라대학교 AI 도구를 활용한 구현과 검증
247
+ 제주한라대학교 AI 도구를 활용한 구현과 검증
248
+ 제주한라대학교 AI 도구를 활용한 구현과 검증
249
+ 제주한라대학교 AI 도구를 활용한 구현과 검증
250
+ #2 in_progress kimi claude implement 2m AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA [##--]
251
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
252
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
253
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
254
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
255
+ AAAAAAAAAAAAAAA after #1
256
+ #3 proposed waiting local claude implement 30s [pii] after #2 (ahub task show 3) [#---]
257
+
258
+ 3 tasks: 1 approved, 1 in_progress, 1 proposed
259
+ ```
260
+
261
+ ## budget, 120 columns
262
+
263
+ Before:
264
+
265
+ ```text
266
+ claude PAUSED: quota threshold, resumes in 10m00s
267
+ week 49% resets in 129h00m [claude_statusline, 14s ago]
268
+ codex
269
+ week 8% [codex_rate_limits, 60s ago, STALE]
270
+ ```
271
+
272
+ After:
273
+
274
+ ```text
275
+ PEER WINDOW USED RESETS SOURCE MEASURED STATE
276
+ claude week 49% in 5d09h claude_statusline 14s ago fresh
277
+ codex week 8% - codex_rate_limits 1m ago stale
278
+ paused claude quota threshold; resumes in 10m
279
+ ```
280
+
281
+ ## doctor, 120 columns
282
+
283
+ Before:
284
+
285
+ ```text
286
+ ok bun 1.4.2
287
+ -- local fixed_model vllm/large-model is not served by the gateway
288
+ -- pi mlx error: Unable to connect. Is the computer able to access the URL?
289
+ ? capture: codex unknown, dot ai memory status is unavailable
290
+ ```
291
+
292
+ After:
293
+
294
+ ```text
295
+ Tools
296
+ LEVEL CHECK FINDING
297
+ ok bun 1.4.2
298
+
299
+ Models
300
+ LEVEL CHECK FINDING
301
+ fail local fixed_model vllm/large-model is not served by the gateway
302
+ warn pi mlx error: Unable to connect. Is the computer able to access the URL?
303
+
304
+ Memory
305
+ LEVEL CHECK FINDING
306
+ unknown capture: codex unknown, dot ai memory status is unavailable
307
+
308
+ 1 failure, 1 warning, 1 ok, 1 unknown
309
+ ```