@tt-a1i/hive 0.6.0-alpha.8 → 1.1.2

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 (259) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/README.en.md +24 -21
  3. package/README.md +11 -10
  4. package/dist/bin/team.cmd +0 -0
  5. package/dist/src/cli/hive.js +0 -1
  6. package/dist/src/cli/team.js +2 -1
  7. package/dist/src/server/agent-command-resolver.js +0 -1
  8. package/dist/src/server/agent-launch-cache.js +0 -1
  9. package/dist/src/server/agent-launch-resolver.js +0 -1
  10. package/dist/src/server/agent-manager-support.js +0 -1
  11. package/dist/src/server/agent-manager.js +0 -1
  12. package/dist/src/server/agent-run-bootstrap.js +0 -1
  13. package/dist/src/server/agent-run-exit-handler.js +0 -1
  14. package/dist/src/server/agent-run-start-context.js +0 -1
  15. package/dist/src/server/agent-run-starter.js +0 -1
  16. package/dist/src/server/agent-run-store.js +0 -1
  17. package/dist/src/server/agent-run-sync.js +0 -1
  18. package/dist/src/server/agent-runtime-active-run.js +0 -1
  19. package/dist/src/server/agent-runtime-close.js +0 -1
  20. package/dist/src/server/agent-runtime-contract.js +0 -1
  21. package/dist/src/server/agent-runtime-flow-adapter.js +0 -1
  22. package/dist/src/server/agent-runtime-list-runs.js +0 -1
  23. package/dist/src/server/agent-runtime-ports.js +0 -1
  24. package/dist/src/server/agent-runtime-stop-run.js +0 -1
  25. package/dist/src/server/agent-runtime-types.js +0 -1
  26. package/dist/src/server/agent-runtime.js +0 -1
  27. package/dist/src/server/agent-session-store.js +0 -1
  28. package/dist/src/server/agent-startup-instructions.js +0 -1
  29. package/dist/src/server/agent-stdin-dispatcher.d.ts +4 -0
  30. package/dist/src/server/agent-stdin-dispatcher.js +37 -27
  31. package/dist/src/server/agent-tokens.js +0 -1
  32. package/dist/src/server/app-state-store.js +0 -1
  33. package/dist/src/server/app.js +0 -1
  34. package/dist/src/server/claude-command-defaults.js +0 -1
  35. package/dist/src/server/claude-session-coordinator.js +0 -1
  36. package/dist/src/server/claude-session-support.js +0 -1
  37. package/dist/src/server/command-preset-defaults.js +0 -1
  38. package/dist/src/server/command-preset-store.js +0 -1
  39. package/dist/src/server/dispatch-ledger-serializer.js +0 -1
  40. package/dist/src/server/dispatch-ledger-store.js +0 -1
  41. package/dist/src/server/env-sync-message.js +0 -1
  42. package/dist/src/server/fs-browse.js +0 -1
  43. package/dist/src/server/fs-pick-folder.js +0 -1
  44. package/dist/src/server/fs-sandbox.js +0 -1
  45. package/dist/src/server/hive-team-guidance.d.ts +31 -0
  46. package/dist/src/server/hive-team-guidance.js +80 -1
  47. package/dist/src/server/http-errors.js +0 -1
  48. package/dist/src/server/live-run-registry.js +0 -1
  49. package/dist/src/server/local-request-guard.js +0 -1
  50. package/dist/src/server/message-log-store.js +0 -1
  51. package/dist/src/server/orchestrator-autostart.js +0 -1
  52. package/dist/src/server/orchestrator-launch.js +0 -1
  53. package/dist/src/server/package-version.js +0 -1
  54. package/dist/src/server/post-start-input-writer.js +0 -1
  55. package/dist/src/server/preset-launch-support.js +0 -1
  56. package/dist/src/server/pty-output-bus.js +0 -1
  57. package/dist/src/server/recovery-summary.js +0 -1
  58. package/dist/src/server/restart-policy-support.js +0 -1
  59. package/dist/src/server/restart-policy.js +0 -1
  60. package/dist/src/server/role-template-store.js +0 -1
  61. package/dist/src/server/role-templates.js +0 -1
  62. package/dist/src/server/route-helpers.js +0 -1
  63. package/dist/src/server/route-types.js +0 -1
  64. package/dist/src/server/routes-dispatches.js +0 -1
  65. package/dist/src/server/routes-fs.js +0 -1
  66. package/dist/src/server/routes-runtime.js +32 -1
  67. package/dist/src/server/routes-settings.js +0 -1
  68. package/dist/src/server/routes-tasks.js +0 -1
  69. package/dist/src/server/routes-team.js +0 -1
  70. package/dist/src/server/routes-ui.js +0 -1
  71. package/dist/src/server/routes-version.js +0 -1
  72. package/dist/src/server/routes-workspaces.js +0 -1
  73. package/dist/src/server/routes.js +0 -1
  74. package/dist/src/server/runtime-database.js +0 -1
  75. package/dist/src/server/runtime-message-builders.js +0 -1
  76. package/dist/src/server/runtime-restart-policy.js +0 -1
  77. package/dist/src/server/runtime-store-helpers.d.ts +10 -0
  78. package/dist/src/server/runtime-store-helpers.js +49 -9
  79. package/dist/src/server/runtime-store.d.ts +2 -0
  80. package/dist/src/server/runtime-store.js +8 -6
  81. package/dist/src/server/session-capture-claude.js +0 -1
  82. package/dist/src/server/session-capture-codex.d.ts +1 -0
  83. package/dist/src/server/session-capture-codex.js +38 -3
  84. package/dist/src/server/session-capture-gemini.js +0 -1
  85. package/dist/src/server/session-capture-opencode.js +0 -1
  86. package/dist/src/server/session-capture.js +0 -1
  87. package/dist/src/server/settings-store.js +0 -1
  88. package/dist/src/server/sqlite-schema-v10.js +0 -1
  89. package/dist/src/server/sqlite-schema-v11.js +0 -1
  90. package/dist/src/server/sqlite-schema-v12.js +0 -1
  91. package/dist/src/server/sqlite-schema-v13.js +0 -1
  92. package/dist/src/server/sqlite-schema-v14.js +0 -1
  93. package/dist/src/server/sqlite-schema-v15.js +0 -1
  94. package/dist/src/server/sqlite-schema-v16.js +0 -1
  95. package/dist/src/server/sqlite-schema-v17.js +0 -1
  96. package/dist/src/server/sqlite-schema-v18.js +0 -1
  97. package/dist/src/server/sqlite-schema-v5.js +0 -1
  98. package/dist/src/server/sqlite-schema-v7.js +0 -1
  99. package/dist/src/server/sqlite-schema-v8.js +0 -1
  100. package/dist/src/server/sqlite-schema-v9.js +0 -1
  101. package/dist/src/server/sqlite-schema.js +0 -1
  102. package/dist/src/server/startup-command-parser.js +0 -1
  103. package/dist/src/server/system-message.js +0 -1
  104. package/dist/src/server/tasks-file-watcher.js +2 -2
  105. package/dist/src/server/tasks-file.d.ts +10 -0
  106. package/dist/src/server/tasks-file.js +20 -1
  107. package/dist/src/server/tasks-websocket-server.js +0 -1
  108. package/dist/src/server/team-authz.js +0 -1
  109. package/dist/src/server/team-list-enrichment.js +0 -1
  110. package/dist/src/server/team-list-serializer.js +0 -1
  111. package/dist/src/server/team-operations.js +0 -1
  112. package/dist/src/server/terminal-flow-control.js +0 -1
  113. package/dist/src/server/terminal-protocol.js +0 -1
  114. package/dist/src/server/terminal-state-mirror.js +0 -1
  115. package/dist/src/server/terminal-stream-hub.js +0 -1
  116. package/dist/src/server/terminal-ws-server.js +0 -1
  117. package/dist/src/server/ui-auth-helpers.js +0 -1
  118. package/dist/src/server/ui-auth.js +0 -1
  119. package/dist/src/server/version-service.js +0 -1
  120. package/dist/src/server/worker-output-tracker.js +0 -1
  121. package/dist/src/server/workspace-path-validation.js +0 -1
  122. package/dist/src/server/workspace-shell-runtime.d.ts +29 -0
  123. package/dist/src/server/workspace-shell-runtime.js +179 -0
  124. package/dist/src/server/workspace-store-contract.js +0 -1
  125. package/dist/src/server/workspace-store-hydration.js +0 -1
  126. package/dist/src/server/workspace-store-mutations.js +0 -1
  127. package/dist/src/server/workspace-store-support.js +0 -1
  128. package/dist/src/server/workspace-store.js +0 -1
  129. package/dist/src/shared/types.js +0 -1
  130. package/package.json +1 -1
  131. package/web/dist/assets/index-DzIJktYZ.css +1 -0
  132. package/web/dist/assets/index-Fm7PMK8m.js +66 -0
  133. package/web/dist/index.html +7 -2
  134. package/web/dist/sounds/LICENSE-KENNEY.txt +22 -0
  135. package/web/dist/sounds/hive-beacon.ogg +0 -0
  136. package/web/dist/sounds/hive-cascade.ogg +0 -0
  137. package/web/dist/sounds/hive-chime.ogg +0 -0
  138. package/web/dist/sounds/hive-ping.ogg +0 -0
  139. package/web/dist/sounds/hive-resolve.ogg +0 -0
  140. package/web/dist/sounds/hive-soft.ogg +0 -0
  141. package/dist/src/cli/hive.js.map +0 -1
  142. package/dist/src/cli/team.js.map +0 -1
  143. package/dist/src/server/agent-command-resolver.js.map +0 -1
  144. package/dist/src/server/agent-launch-cache.js.map +0 -1
  145. package/dist/src/server/agent-launch-resolver.js.map +0 -1
  146. package/dist/src/server/agent-manager-support.js.map +0 -1
  147. package/dist/src/server/agent-manager.js.map +0 -1
  148. package/dist/src/server/agent-run-bootstrap.js.map +0 -1
  149. package/dist/src/server/agent-run-exit-handler.js.map +0 -1
  150. package/dist/src/server/agent-run-start-context.js.map +0 -1
  151. package/dist/src/server/agent-run-starter.js.map +0 -1
  152. package/dist/src/server/agent-run-store.js.map +0 -1
  153. package/dist/src/server/agent-run-sync.js.map +0 -1
  154. package/dist/src/server/agent-runtime-active-run.js.map +0 -1
  155. package/dist/src/server/agent-runtime-close.js.map +0 -1
  156. package/dist/src/server/agent-runtime-contract.js.map +0 -1
  157. package/dist/src/server/agent-runtime-flow-adapter.js.map +0 -1
  158. package/dist/src/server/agent-runtime-list-runs.js.map +0 -1
  159. package/dist/src/server/agent-runtime-ports.js.map +0 -1
  160. package/dist/src/server/agent-runtime-stop-run.js.map +0 -1
  161. package/dist/src/server/agent-runtime-types.js.map +0 -1
  162. package/dist/src/server/agent-runtime.js.map +0 -1
  163. package/dist/src/server/agent-session-store.js.map +0 -1
  164. package/dist/src/server/agent-startup-instructions.js.map +0 -1
  165. package/dist/src/server/agent-stdin-dispatcher.js.map +0 -1
  166. package/dist/src/server/agent-tokens.js.map +0 -1
  167. package/dist/src/server/app-state-store.js.map +0 -1
  168. package/dist/src/server/app.js.map +0 -1
  169. package/dist/src/server/claude-command-defaults.js.map +0 -1
  170. package/dist/src/server/claude-session-coordinator.js.map +0 -1
  171. package/dist/src/server/claude-session-support.js.map +0 -1
  172. package/dist/src/server/command-preset-defaults.js.map +0 -1
  173. package/dist/src/server/command-preset-store.js.map +0 -1
  174. package/dist/src/server/dispatch-ledger-serializer.js.map +0 -1
  175. package/dist/src/server/dispatch-ledger-store.js.map +0 -1
  176. package/dist/src/server/env-sync-message.js.map +0 -1
  177. package/dist/src/server/fs-browse.js.map +0 -1
  178. package/dist/src/server/fs-pick-folder.js.map +0 -1
  179. package/dist/src/server/fs-sandbox.js.map +0 -1
  180. package/dist/src/server/hive-team-guidance.js.map +0 -1
  181. package/dist/src/server/http-errors.js.map +0 -1
  182. package/dist/src/server/live-run-registry.js.map +0 -1
  183. package/dist/src/server/local-request-guard.js.map +0 -1
  184. package/dist/src/server/message-log-store.js.map +0 -1
  185. package/dist/src/server/orchestrator-autostart.js.map +0 -1
  186. package/dist/src/server/orchestrator-launch.js.map +0 -1
  187. package/dist/src/server/package-version.js.map +0 -1
  188. package/dist/src/server/post-start-input-writer.js.map +0 -1
  189. package/dist/src/server/preset-launch-support.js.map +0 -1
  190. package/dist/src/server/pty-output-bus.js.map +0 -1
  191. package/dist/src/server/recovery-summary.js.map +0 -1
  192. package/dist/src/server/restart-policy-support.js.map +0 -1
  193. package/dist/src/server/restart-policy.js.map +0 -1
  194. package/dist/src/server/role-template-store.js.map +0 -1
  195. package/dist/src/server/role-templates.js.map +0 -1
  196. package/dist/src/server/route-helpers.js.map +0 -1
  197. package/dist/src/server/route-types.js.map +0 -1
  198. package/dist/src/server/routes-dispatches.js.map +0 -1
  199. package/dist/src/server/routes-fs.js.map +0 -1
  200. package/dist/src/server/routes-runtime.js.map +0 -1
  201. package/dist/src/server/routes-settings.js.map +0 -1
  202. package/dist/src/server/routes-tasks.js.map +0 -1
  203. package/dist/src/server/routes-team.js.map +0 -1
  204. package/dist/src/server/routes-ui.js.map +0 -1
  205. package/dist/src/server/routes-version.js.map +0 -1
  206. package/dist/src/server/routes-workspaces.js.map +0 -1
  207. package/dist/src/server/routes.js.map +0 -1
  208. package/dist/src/server/runtime-database.js.map +0 -1
  209. package/dist/src/server/runtime-message-builders.js.map +0 -1
  210. package/dist/src/server/runtime-restart-policy.js.map +0 -1
  211. package/dist/src/server/runtime-store-helpers.js.map +0 -1
  212. package/dist/src/server/runtime-store.js.map +0 -1
  213. package/dist/src/server/session-capture-claude.js.map +0 -1
  214. package/dist/src/server/session-capture-codex.js.map +0 -1
  215. package/dist/src/server/session-capture-gemini.js.map +0 -1
  216. package/dist/src/server/session-capture-opencode.js.map +0 -1
  217. package/dist/src/server/session-capture.js.map +0 -1
  218. package/dist/src/server/settings-store.js.map +0 -1
  219. package/dist/src/server/sqlite-schema-v10.js.map +0 -1
  220. package/dist/src/server/sqlite-schema-v11.js.map +0 -1
  221. package/dist/src/server/sqlite-schema-v12.js.map +0 -1
  222. package/dist/src/server/sqlite-schema-v13.js.map +0 -1
  223. package/dist/src/server/sqlite-schema-v14.js.map +0 -1
  224. package/dist/src/server/sqlite-schema-v15.js.map +0 -1
  225. package/dist/src/server/sqlite-schema-v16.js.map +0 -1
  226. package/dist/src/server/sqlite-schema-v17.js.map +0 -1
  227. package/dist/src/server/sqlite-schema-v18.js.map +0 -1
  228. package/dist/src/server/sqlite-schema-v5.js.map +0 -1
  229. package/dist/src/server/sqlite-schema-v7.js.map +0 -1
  230. package/dist/src/server/sqlite-schema-v8.js.map +0 -1
  231. package/dist/src/server/sqlite-schema-v9.js.map +0 -1
  232. package/dist/src/server/sqlite-schema.js.map +0 -1
  233. package/dist/src/server/startup-command-parser.js.map +0 -1
  234. package/dist/src/server/system-message.js.map +0 -1
  235. package/dist/src/server/tasks-file-watcher.js.map +0 -1
  236. package/dist/src/server/tasks-file.js.map +0 -1
  237. package/dist/src/server/tasks-websocket-server.js.map +0 -1
  238. package/dist/src/server/team-authz.js.map +0 -1
  239. package/dist/src/server/team-list-enrichment.js.map +0 -1
  240. package/dist/src/server/team-list-serializer.js.map +0 -1
  241. package/dist/src/server/team-operations.js.map +0 -1
  242. package/dist/src/server/terminal-flow-control.js.map +0 -1
  243. package/dist/src/server/terminal-protocol.js.map +0 -1
  244. package/dist/src/server/terminal-state-mirror.js.map +0 -1
  245. package/dist/src/server/terminal-stream-hub.js.map +0 -1
  246. package/dist/src/server/terminal-ws-server.js.map +0 -1
  247. package/dist/src/server/ui-auth-helpers.js.map +0 -1
  248. package/dist/src/server/ui-auth.js.map +0 -1
  249. package/dist/src/server/version-service.js.map +0 -1
  250. package/dist/src/server/worker-output-tracker.js.map +0 -1
  251. package/dist/src/server/workspace-path-validation.js.map +0 -1
  252. package/dist/src/server/workspace-store-contract.js.map +0 -1
  253. package/dist/src/server/workspace-store-hydration.js.map +0 -1
  254. package/dist/src/server/workspace-store-mutations.js.map +0 -1
  255. package/dist/src/server/workspace-store-support.js.map +0 -1
  256. package/dist/src/server/workspace-store.js.map +0 -1
  257. package/dist/src/shared/types.js.map +0 -1
  258. package/web/dist/assets/index-B8F00qo4.css +0 -1
  259. package/web/dist/assets/index-DFE1Ia4e.js +0 -80
package/CHANGELOG.md CHANGED
@@ -2,6 +2,60 @@
2
2
 
3
3
  All notable user-facing changes will be documented in this file.
4
4
 
5
+ ## 1.1.2 - 2026-05-17
6
+
7
+ Private-release workflow fix.
8
+
9
+ - Runs npm publish on Ubuntu instead of macOS. Publishing does not require
10
+ macOS, and the Ubuntu runner avoids unnecessary private-repo Actions cost.
11
+
12
+ ## 1.1.1 - 2026-05-17
13
+
14
+ Private-release workflow fix.
15
+
16
+ - Publishes from the private product repository without npm provenance because
17
+ npm provenance currently requires a public GitHub Actions source repository.
18
+ The package contents are otherwise the same 1.1.x private-release line:
19
+ Workspace terminal tabs, hidden dormant Blueprint entry, and no production
20
+ source maps in the npm tarball.
21
+
22
+ ## 1.1.0 - 2026-05-17
23
+
24
+ Private-release line.
25
+
26
+ - Added a Workspace terminal that opens from the active workspace and runs in
27
+ the workspace directory. It supports multiple shell tabs, full-height terminal
28
+ space, tab switching, and closing individual tabs without closing the whole
29
+ dialog.
30
+ - Kept the external install path unchanged. Users still install with
31
+ `npm install -g @tt-a1i/hive` or run with `npx @tt-a1i/hive`; this release is
32
+ built from the private product repository and published to the same npm
33
+ package.
34
+ - Hid the dormant task-graph / Blueprint entry from the main UI while keeping
35
+ the underlying code in place for possible future use.
36
+ - Documented the public/private repository split and release policy in
37
+ `docs/private-release-strategy.md`.
38
+
39
+ ## 1.0.0 - 2026-05-17
40
+
41
+ Stable release.
42
+
43
+ - Hive is now published as the stable `1.0.0` release. The install path stays
44
+ the same: `npm install -g @tt-a1i/hive` or `npx @tt-a1i/hive`.
45
+ - Fixed PTY keyboard handling so Shift+Enter can reach terminal apps such as
46
+ Claude Code and Gemini instead of being swallowed as a plain submit.
47
+ - Worker cards now present live terminal state as `running` / `运行中` rather
48
+ than exposing the internal `working` vs `idle` dispatch-status distinction.
49
+ The protocol-level `idle / working / stopped` states remain unchanged.
50
+ - Worker detail modals reserve Escape for the embedded terminal, so agent
51
+ shortcuts that use Escape no longer close the modal accidentally.
52
+ - Codex session capture no longer decodes every historical
53
+ `~/.codex/sessions/**/rollout-*.jsonl` file during agent startup. It reads a
54
+ bounded first line only, which removes multi-second add-member stalls on
55
+ large Codex session stores.
56
+ - CLI agent logos are preloaded and decoded synchronously to reduce the blank
57
+ avatar flash immediately after a member is created.
58
+
5
59
  ## 0.6.0-alpha.8 - 2026-05-16
6
60
 
7
61
  License switch — no code changes from alpha.7.
package/README.en.md CHANGED
@@ -1,16 +1,18 @@
1
1
  # Hive
2
2
 
3
3
  <p align="center">
4
- <img src="./assets/hive-hero.png" alt="Hive local-first multi-agent coding workspace hero image" />
4
+ <img src="./assets/hive-hero.png" alt="Hive local-first multi-agent collaboration workspace hero image" />
5
5
  </p>
6
6
 
7
- **Hive is a browser-native hive-mind for CLI coding agents.** The orchestrator
7
+ **Hive is a browser-native workbench where a team of agents works together — one orchestrates, the rest execute, all on your laptop.** The orchestrator
8
8
  is a real `claude` / `codex` / `opencode` / `gemini` process — not you, and
9
9
  not a script — and so are the workers it dispatches to. Every agent runs as
10
10
  a real PTY on your machine, talks through a small `team` protocol that Hive
11
11
  injects into each agent's shell, and shares a markdown task graph at
12
12
  `<workspace>/.hive/tasks.md`.
13
13
 
14
+ Code, research, drafts, translations — if a team can split the work, a hive can take it on.
15
+
14
16
  [![npm](https://img.shields.io/npm/v/@tt-a1i/hive.svg)](https://www.npmjs.com/package/@tt-a1i/hive)
15
17
  [![ci](https://img.shields.io/github/actions/workflow/status/tt-a1i/hive/release.yml?branch=main&label=ci)](https://github.com/tt-a1i/hive/actions/workflows/release.yml)
16
18
  [![Website](https://img.shields.io/badge/website-hive--site.pages.dev-5a8a8a.svg)](https://hive-site.pages.dev)
@@ -22,25 +24,26 @@ injects into each agent's shell, and shares a markdown task graph at
22
24
 
23
25
  English · [简体中文](./README.md)
24
26
 
25
- > Public preview. Hive is local-first, runs on `127.0.0.1`, and is intended
26
- > for developers who already use CLI coding agents. The latest published
27
- > version is on [npm](https://www.npmjs.com/package/@tt-a1i/hive) and the
28
- > badge above resolves to it.
27
+ > Hive is local-first, runs on `127.0.0.1`, and is intended for anyone who
28
+ > already runs CLI agents. The latest stable release is on
29
+ > [npm](https://www.npmjs.com/package/@tt-a1i/hive) and the badge above resolves
30
+ > to it.
29
31
 
30
32
  ## Why Hive
31
33
 
32
- CLI coding agents are powerful, but coordinating several of them manually is
34
+ CLI agents are powerful, but coordinating several of them manually is
33
35
  awkward:
34
36
 
35
37
  - Long-running sessions are spread across terminals.
36
- - It is hard to split a task into implementation, review, and testing without a
37
- routing layer.
38
+ - Splitting work across agents implementation/review/testing,
39
+ research/drafting/fact-checking, or any other division of labor — needs a
40
+ routing layer you don't have.
38
41
  - Worker progress disappears into scrollback.
39
42
  - Restart recovery depends on each CLI's native session behavior.
40
43
 
41
- Hive adds that coordination layer without replacing the CLIs. The agents remain
42
- real terminal processes running on your machine; Hive manages the team shell
43
- around them.
44
+ Hive adds the coordination layer without replacing the CLIs. Agents stay as
45
+ real terminal processes on your machine; Hive just manages the shell around
46
+ them.
44
47
 
45
48
  ## Try the demo first
46
49
 
@@ -128,15 +131,15 @@ same shell environment you use to start Hive.
128
131
 
129
132
  - Workspace sidebar for switching between local projects.
130
133
  - Orchestrator and worker terminals backed by real PTYs.
131
- - Add Worker flow with role presets for coder, reviewer, tester, and custom
132
- members.
134
+ - Add Worker flow with role presets for coder, reviewer, tester, and fully
135
+ custom prompts and commands — wire any CLI agent into the role you need.
133
136
  - `.hive/tasks.md` editor with external-file conflict handling.
134
137
  - Background PTY preservation and best-effort native session resume.
135
138
  - Local SQLite metadata under `~/.config/hive` by default, or `$HIVE_DATA_DIR`
136
139
  when set.
137
140
 
138
- Hive does not provide sandboxing, multi-user auth, cloud hosting, or its own
139
- coding model. It coordinates tools you already run locally.
141
+ Hive does not provide sandboxing, multi-user auth, cloud hosting, or any
142
+ bundled agent model. It coordinates the CLIs you already run locally.
140
143
 
141
144
  ## Platform Support
142
145
 
@@ -264,12 +267,12 @@ verifies macOS, Ubuntu, and Windows, then publishes to npm with `NPM_TOKEN`.
264
267
 
265
268
  ## Status
266
269
 
267
- Hive is in alpha public preview. Expect UI and protocol details to keep moving
268
- while the core local orchestration model hardens.
270
+ Hive is published as a stable release. Current work focuses on polishing the
271
+ multi-agent collaboration workflow, Windows support, and clearer orchestration
272
+ observability.
269
273
 
270
274
  ## License
271
275
 
272
- - **0.6.0-alpha.8 onward**: Business Source License 1.1 (see [LICENSE.BSL](LICENSE.BSL)). Automatically converts to Apache-2.0 on 2030-05-16.
273
- - **0.6.0-alpha.7 and earlier**: Apache-2.0 (see [LICENSE](LICENSE)), permanent grant.
276
+ Hive is licensed under the Business Source License 1.1 (see [LICENSE.BSL](LICENSE.BSL)). BSL permits personal use, internal deployment, embedding in non-competitive products, and non-commercial forks; it **only prohibits** offering Hive as a hosted multi-agent orchestration service to third parties.
274
277
 
275
- BSL permits personal use, internal deployment, embedding in non-competitive products, and non-commercial forks. **Only prohibits** offering Hive as a hosted multi-agent orchestration service to third parties. See the Additional Use Grant in [LICENSE.BSL](LICENSE.BSL) for the exact boundary.
278
+ See the Additional Use Grant in [LICENSE.BSL](LICENSE.BSL) for the exact boundary.
package/README.md CHANGED
@@ -4,7 +4,9 @@
4
4
  <img src="./assets/hive-hero.png" alt="Hive 本机多 agent 协作工作台" />
5
5
  </p>
6
6
 
7
- **Hive 是面向 CLI Coding Agent 的浏览器版蜂巢(hive-mind)。** Orchestrator 本身就是一个真实的 `claude` / `codex` / `opencode` / `gemini` 进程——不是你、也不是脚本——它派单的 Worker 同样是真 CLI agent。所有 agent 都是你电脑上真实的 PTY 进程,通过 Hive 注入到 shell 里的小型 `team` 协议互相通信,共享 `<workspace>/.hive/tasks.md` 这份 markdown 任务图。
7
+ **Hive 是浏览器里的 Agent 协作工作台——一群 Agent 在你本机各自开工,一个当 Orchestrator 派活、归总进展,其余各司其职。** Orchestrator 本身就是一个真实的 `claude` / `codex` / `opencode` / `gemini` 进程——不是你、也不是脚本——它派单的 Worker 同样是真 CLI agent。所有 agent 都是本机真实的 PTY 进程,通过 Hive 注入到 shell 里的小型 `team` 协议互相通信,共享 `<workspace>/.hive/tasks.md` 这份 markdown 任务图。
8
+
9
+ 写代码、做调研、起草文档、做翻译——凡是能拆给一群人协作的脑力活,都可以让一群 Agent 合伙干。
8
10
 
9
11
  [![npm](https://img.shields.io/npm/v/@tt-a1i/hive.svg)](https://www.npmjs.com/package/@tt-a1i/hive)
10
12
  [![ci](https://img.shields.io/github/actions/workflow/status/tt-a1i/hive/release.yml?branch=main&label=ci)](https://github.com/tt-a1i/hive/actions/workflows/release.yml)
@@ -17,14 +19,14 @@
17
19
 
18
20
  [English](./README.en.md) · 简体中文
19
21
 
20
- > Public preview。Hive 是本机优先的工具,只监听 `127.0.0.1`,面向已经在用 CLI Coding Agent 的开发者。最新发布版本见 [npm](https://www.npmjs.com/package/@tt-a1i/hive),上面的 badge 会指向它。
22
+ > Hive 是本机优先的工具,只监听 `127.0.0.1`,面向已经在用 CLI Agent 的人。最新稳定版本见 [npm](https://www.npmjs.com/package/@tt-a1i/hive),上面的 badge 会指向它。
21
23
 
22
24
  ## 为什么需要 Hive
23
25
 
24
- CLI Coding Agent 各自都很强,但同时管几个就有点别扭:
26
+ CLI Agent 各自都很强,但同时管几个就有点别扭:
25
27
 
26
28
  - 长任务的会话散在好几个终端里,注意力来回切。
27
- - 想把"实现 / review / 测试"分给三个 agent,却没有一层把它们路由起来。
29
+ - 想把活儿分给几个 Agent(写代码 / review / 测试,或者调研 / 起草 / 事实核查之类),却缺一层来居中调度。
28
30
  - Worker 的进度淹在 scrollback 里,回头看找不到。
29
31
  - 想重启接着干,全看每个 CLI 自己的 session 恢复行为,散乱不可控。
30
32
 
@@ -104,12 +106,12 @@ Hive 不替你安装这些 CLI。请在启动 Hive 的同一个 shell 环境里
104
106
 
105
107
  - Workspace 侧边栏,方便在多个本机项目之间切换。
106
108
  - Orchestrator 和 Worker 终端都是真实 PTY 支撑的。
107
- - Add Worker 流程预置了 coder / reviewer / tester 和自定义成员的角色模板。
109
+ - Add Worker 预置 coder / reviewer / tester 等角色模板,也支持完全自定义 prompt 与命令——把任何 CLI agent 编排成你需要的角色。
108
110
  - `.hive/tasks.md` 编辑器,带外部文件冲突处理。
109
111
  - PTY 后台保留 + 尽力使用各 CLI 原生 session 恢复。
110
112
  - 元数据存在本机 SQLite,默认在 `~/.config/hive`,或者通过 `$HIVE_DATA_DIR` 指定。
111
113
 
112
- Hive **不**提供 sandbox 隔离、多用户认证、云端托管,也没有自带的编码模型。它只负责调度你已经在用的本机工具。
114
+ Hive **不**提供 sandbox 隔离、多用户认证、云端托管,也不自带任何 agent 模型。它只负责调度你已经在用的本机 CLI。
113
115
 
114
116
  ## 平台支持
115
117
 
@@ -211,11 +213,10 @@ pnpm release:dry
211
213
 
212
214
  ## 状态
213
215
 
214
- Hive 正处于 alpha public preview 阶段。在本机调度模型稳定下来之前,UI 和协议细节还会继续调整。
216
+ Hive 已发布稳定版。当前重点是继续打磨多 Agent 协作体验、Windows 支持和更清晰的调度可观测性。
215
217
 
216
218
  ## License
217
219
 
218
- - **0.6.0-alpha.8 及之后**: Business Source License 1.1([LICENSE.BSL](LICENSE.BSL)),4 年后(2030-05-16)自动转为 Apache-2.0
219
- - **0.6.0-alpha.7 及之前**: Apache-2.0([LICENSE](LICENSE)),永久授权
220
+ Hive 使用 Business Source License 1.1([LICENSE.BSL](LICENSE.BSL))。BSL 允许个人使用、内部部署、嵌入其他产品、非商业 fork;**仅禁止**把 Hive 包装成多 agent 协作 SaaS 卖给第三方。
220
221
 
221
- BSL 允许个人使用、内部部署、嵌入其他产品、非商业 fork。**仅禁止**把 Hive 包装成多 agent 协作 SaaS 卖给第三方。详细边界见 [LICENSE.BSL](LICENSE.BSL) 的 Additional Use Grant。
222
+ 详细边界见 [LICENSE.BSL](LICENSE.BSL) 的 Additional Use Grant。
package/dist/bin/team.cmd CHANGED
File without changes
@@ -135,4 +135,3 @@ if (isMainModule) {
135
135
  process.exit(1);
136
136
  });
137
137
  }
138
- //# sourceMappingURL=hive.js.map
@@ -20,6 +20,8 @@ const TEAM_USAGE = [
20
20
  " team report --stdin --dispatch <id> <<'EOF'",
21
21
  ' ... long report ...',
22
22
  ' EOF',
23
+ '',
24
+ 'For role rules, workflow, and recovery instructions, see .hive/PROTOCOL.md',
23
25
  ].join('\n');
24
26
  const getHiveEnv = () => {
25
27
  const values = Object.fromEntries(REQUIRED_ENV_KEYS.map((key) => [key, process.env[key]]));
@@ -240,4 +242,3 @@ if (isMainModule) {
240
242
  process.exit(1);
241
243
  });
242
244
  }
243
- //# sourceMappingURL=team.js.map
@@ -69,4 +69,3 @@ export const resolveSpawnCommand = (command, cwd, env, args = [], platform = pro
69
69
  export const assertCommandIsExecutable = (command, cwd, env) => {
70
70
  resolveCommandPath(command, cwd, env);
71
71
  };
72
- //# sourceMappingURL=agent-command-resolver.js.map
@@ -54,4 +54,3 @@ export const createAgentLaunchCache = (store) => {
54
54
  },
55
55
  };
56
56
  };
57
- //# sourceMappingURL=agent-launch-cache.js.map
@@ -30,4 +30,3 @@ export const resolveStartupCommandLaunchConfig = (settings, startupCommand, comm
30
30
  sessionIdCapture: preset?.sessionIdCapture ?? null,
31
31
  };
32
32
  };
33
- //# sourceMappingURL=agent-launch-resolver.js.map
@@ -144,4 +144,3 @@ export const attachAgentPty = (run, pty, ptyOutputBus) => {
144
144
  finishAgentRun(run, event.exitCode, ptyOutputBus);
145
145
  });
146
146
  };
147
- //# sourceMappingURL=agent-manager-support.js.map
@@ -87,4 +87,3 @@ export const createAgentManager = ({ ptyOutputBus = createPtyOutputBus(), } = {}
87
87
  },
88
88
  };
89
89
  };
90
- //# sourceMappingURL=agent-manager.js.map
@@ -63,4 +63,3 @@ export const startAgentRunCapture = ({ agentId, sessionCaptureSnapshot, sessionS
63
63
  sessionStore.setLastSessionId(workspace.id, agentId, sessionId);
64
64
  }, SESSION_CAPTURE_TIMEOUT_MS);
65
65
  };
66
- //# sourceMappingURL=agent-run-bootstrap.js.map
@@ -24,4 +24,3 @@ export const handleAgentRunExit = (context, { exitCode, endedAt, runId }) => {
24
24
  context.registry.clearPendingExitCode(runId);
25
25
  return true;
26
26
  };
27
- //# sourceMappingURL=agent-run-exit-handler.js.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=agent-run-start-context.js.map
@@ -114,4 +114,3 @@ export const createAgentRunStarter = ({ agentManager, registry, onAgentExit, sto
114
114
  }
115
115
  return liveRun;
116
116
  };
117
- //# sourceMappingURL=agent-run-starter.js.map
@@ -135,4 +135,3 @@ export const createAgentRunStore = (db) => {
135
135
  updatePersistedRun,
136
136
  };
137
137
  };
138
- //# sourceMappingURL=agent-run-store.js.map
@@ -22,4 +22,3 @@ export const completeLiveRun = (run, exitCode, endedAt, store) => {
22
22
  run.exitCode = exitCode;
23
23
  store.updatePersistedRun(run.runId, run.status, exitCode, endedAt);
24
24
  };
25
- //# sourceMappingURL=agent-run-sync.js.map
@@ -8,4 +8,3 @@ export const getActiveRunByAgent = (registry, getWorkspaceId, syncRun, workspace
8
8
  return status === 'starting' || status === 'running';
9
9
  });
10
10
  };
11
- //# sourceMappingURL=agent-runtime-active-run.js.map
@@ -10,4 +10,3 @@ export const closeAgentRuntime = async (agentManager, registry, syncRun) => {
10
10
  registry.remove(run.runId);
11
11
  }
12
12
  };
13
- //# sourceMappingURL=agent-runtime-close.js.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=agent-runtime-contract.js.map
@@ -12,4 +12,3 @@ export const createAgentRuntimeFlowAdapter = (requireManager) => ({
12
12
  requireManager().resumeRun(runId);
13
13
  },
14
14
  });
15
- //# sourceMappingURL=agent-runtime-flow-adapter.js.map
@@ -16,4 +16,3 @@ export const listRunsWithFallback = (registry, persistedRuns, agentId) => {
16
16
  }))
17
17
  .sort((left, right) => right.startedAt - left.startedAt);
18
18
  };
19
- //# sourceMappingURL=agent-runtime-list-runs.js.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=agent-runtime-ports.js.map
@@ -14,4 +14,3 @@ export const stopLiveRun = (agentManager, registry, syncRun, runId) => {
14
14
  }
15
15
  agentManager.stopRun(runId);
16
16
  };
17
- //# sourceMappingURL=agent-runtime-stop-run.js.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=agent-runtime-types.js.map
@@ -120,4 +120,3 @@ export const createAgentRuntime = (agentManager, agentRunStore, sessionStore, ge
120
120
  },
121
121
  };
122
122
  };
123
- //# sourceMappingURL=agent-runtime.js.map
@@ -43,4 +43,3 @@ export const createAgentSessionStore = (db) => {
43
43
  },
44
44
  };
45
45
  };
46
- //# sourceMappingURL=agent-session-store.js.map
@@ -23,4 +23,3 @@ export const buildAgentStartupInstructions = ({ agent, workspace, }) => {
23
23
  lines.push('');
24
24
  return lines.join('\n');
25
25
  };
26
- //# sourceMappingURL=agent-startup-instructions.js.map
@@ -9,6 +9,10 @@ interface AgentStdinDispatcherInput {
9
9
  registry: LiveRunRegistry;
10
10
  syncRun: (run: LiveAgentRun) => LiveAgentRun;
11
11
  }
12
+ export declare const buildOrchestratorReportPayload: (workerName: string, text: string, artifacts: string[]) => string;
13
+ export declare const buildOrchestratorStatusPayload: (workerName: string, text: string, artifacts: string[]) => string;
14
+ export declare const buildOrchestratorUserInputPayload: (text: string) => string;
15
+ export declare const buildWorkerDispatchPayload: (fromAgentName: string, workerDescription: string, dispatchId: string, text: string) => string;
12
16
  export declare const createAgentStdinDispatcher: ({ agentManager, getLaunchConfig, getWorkspaceId, registry, syncRun, }: AgentStdinDispatcherInput) => {
13
17
  writeReportPrompt(workspaceId: string, workerName: string, text: string, artifacts: string[], input?: {
14
18
  requireActiveRun?: boolean;
@@ -1,5 +1,38 @@
1
+ import { buildWorkerReminderTail, ORCHESTRATOR_REMINDER_TAIL } from './hive-team-guidance.js';
1
2
  import { PtyInactiveError } from './http-errors.js';
2
3
  import { createPostStartInputWriter } from './post-start-input-writer.js';
4
+ export const buildOrchestratorReportPayload = (workerName, text, artifacts) => {
5
+ const lines = [`[Hive 系统消息:来自 @${workerName} 的汇报]`, text];
6
+ for (const artifact of artifacts)
7
+ lines.push(`artifact: ${artifact}`);
8
+ lines.push('', ORCHESTRATOR_REMINDER_TAIL, '');
9
+ return lines.join('\n');
10
+ };
11
+ export const buildOrchestratorStatusPayload = (workerName, text, artifacts) => {
12
+ const lines = [`[Hive 系统消息:来自 @${workerName} 的状态更新]`, text];
13
+ for (const artifact of artifacts)
14
+ lines.push(`artifact: ${artifact}`);
15
+ lines.push('', ORCHESTRATOR_REMINDER_TAIL, '');
16
+ return lines.join('\n');
17
+ };
18
+ export const buildOrchestratorUserInputPayload = (text) => [text, '', ORCHESTRATOR_REMINDER_TAIL, ''].join('\n');
19
+ export const buildWorkerDispatchPayload = (fromAgentName, workerDescription, dispatchId, text) => [
20
+ `[Hive 系统消息:来自 @${fromAgentName} 的派单]`,
21
+ '',
22
+ `你的角色:${workerDescription}`,
23
+ '',
24
+ '你必须遵守:',
25
+ `- 完成、失败、阻塞或部分完成后,执行 \`team report "<result>" --dispatch ${dispatchId}\``,
26
+ '- 不要做无关的事,做完就 report',
27
+ '',
28
+ `dispatch_id: ${dispatchId}`,
29
+ '',
30
+ '任务内容:',
31
+ text,
32
+ '',
33
+ buildWorkerReminderTail(dispatchId),
34
+ '',
35
+ ].join('\n');
3
36
  export const createAgentStdinDispatcher = ({ agentManager, getLaunchConfig, getWorkspaceId, registry, syncRun, }) => {
4
37
  const writeToActiveAgentRun = (workspaceId, agentId, text, input = {}) => {
5
38
  const run = registry
@@ -31,39 +64,16 @@ export const createAgentStdinDispatcher = ({ agentManager, getLaunchConfig, getW
31
64
  };
32
65
  return {
33
66
  writeReportPrompt(workspaceId, workerName, text, artifacts, input = {}) {
34
- const lines = [`[Hive 系统消息:来自 @${workerName} 的汇报]`, text];
35
- for (const artifact of artifacts)
36
- lines.push(`artifact: ${artifact}`);
37
- lines.push('');
38
- writeToActiveAgentRun(workspaceId, `${workspaceId}:orchestrator`, lines.join('\n'), input);
67
+ writeToActiveAgentRun(workspaceId, `${workspaceId}:orchestrator`, buildOrchestratorReportPayload(workerName, text, artifacts), input);
39
68
  },
40
69
  writeStatusPrompt(workspaceId, workerName, text, artifacts, input = {}) {
41
- const lines = [`[Hive 系统消息:来自 @${workerName} 的状态更新]`, text];
42
- for (const artifact of artifacts)
43
- lines.push(`artifact: ${artifact}`);
44
- lines.push('');
45
- writeToActiveAgentRun(workspaceId, `${workspaceId}:orchestrator`, lines.join('\n'), input);
70
+ writeToActiveAgentRun(workspaceId, `${workspaceId}:orchestrator`, buildOrchestratorStatusPayload(workerName, text, artifacts), input);
46
71
  },
47
72
  writeSendPrompt(workspaceId, workerId, dispatchId, fromAgentName, workerDescription, text) {
48
- writeToActiveAgentRun(workspaceId, workerId, [
49
- `[Hive 系统消息:来自 @${fromAgentName} 的派单]`,
50
- '',
51
- `你的角色:${workerDescription}`,
52
- '',
53
- '你必须遵守:',
54
- `- 完成、失败、阻塞或部分完成后,执行 \`team report "<完整汇报>" --dispatch ${dispatchId}\``,
55
- '- 不要做无关的事,做完就 report',
56
- '',
57
- `dispatch_id: ${dispatchId}`,
58
- '',
59
- '任务内容:',
60
- text,
61
- '',
62
- ].join('\n'), { requireActiveRun: true });
73
+ writeToActiveAgentRun(workspaceId, workerId, buildWorkerDispatchPayload(fromAgentName, workerDescription, dispatchId, text), { requireActiveRun: true });
63
74
  },
64
75
  writeUserInputPrompt(workspaceId, text) {
65
- writeToActiveAgentRun(workspaceId, `${workspaceId}:orchestrator`, `${text}\n`);
76
+ writeToActiveAgentRun(workspaceId, `${workspaceId}:orchestrator`, buildOrchestratorUserInputPayload(text));
66
77
  },
67
78
  };
68
79
  };
69
- //# sourceMappingURL=agent-stdin-dispatcher.js.map
@@ -23,4 +23,3 @@ export const createAgentTokenRegistry = () => {
23
23
  },
24
24
  };
25
25
  };
26
- //# sourceMappingURL=agent-tokens.js.map
@@ -10,4 +10,3 @@ export const createAppStateStore = (db) => {
10
10
  };
11
11
  return { get, set };
12
12
  };
13
- //# sourceMappingURL=app-state-store.js.map
@@ -119,4 +119,3 @@ export const createApp = ({ store, pickFolderService = pickFolder, tasksFileServ
119
119
  createTerminalWebSocketServer(server, store);
120
120
  return { server, store };
121
121
  };
122
- //# sourceMappingURL=app.js.map
@@ -3,4 +3,3 @@ export const CLAUDE_DEFAULT_YOLO_ARGS = [
3
3
  '--permission-mode=bypassPermissions',
4
4
  '--disallowedTools=Task',
5
5
  ];
6
- //# sourceMappingURL=claude-command-defaults.js.map
@@ -66,4 +66,3 @@ export const resetSessionCaptureCoordinatorForTests = () => {
66
66
  waitersByProjectKey.clear();
67
67
  claimedByProjectKey.clear();
68
68
  };
69
- //# sourceMappingURL=claude-session-coordinator.js.map
@@ -1,2 +1 @@
1
1
  export { withPresetResumeArgs } from './preset-launch-support.js';
2
- //# sourceMappingURL=claude-session-support.js.map
@@ -49,4 +49,3 @@ export const BUILTIN_COMMAND_PRESETS = [
49
49
  },
50
50
  ];
51
51
  export const getBuiltinCommandPreset = (id) => BUILTIN_COMMAND_PRESETS.find((preset) => preset.id === id);
52
- //# sourceMappingURL=command-preset-defaults.js.map
@@ -81,4 +81,3 @@ export const createCommandPresetStore = (db) => {
81
81
  };
82
82
  return { create, get, list, remove, update };
83
83
  };
84
- //# sourceMappingURL=command-preset-store.js.map
@@ -12,4 +12,3 @@ export const serializeDispatchRecord = (record) => ({
12
12
  to_agent_id: record.toAgentId,
13
13
  workspace_id: record.workspaceId,
14
14
  });
15
- //# sourceMappingURL=dispatch-ledger-serializer.js.map
@@ -160,4 +160,3 @@ export const createDispatchLedgerStore = (db) => {
160
160
  markSubmitted,
161
161
  };
162
162
  };
163
- //# sourceMappingURL=dispatch-ledger-store.js.map
@@ -27,4 +27,3 @@ export const buildEnvSyncMessage = ({ agent, tasksContent, workers, workspace, r
27
27
  ...getHiveTeamRules(agent).map((rule) => ` - ${rule}`),
28
28
  `请继续。如果不确定,用 team list / Read ${TASKS_RELATIVE_PATH} 自查或问 user。`,
29
29
  ].join('\n'));
30
- //# sourceMappingURL=env-sync-message.js.map
@@ -127,4 +127,3 @@ export const probeDirectory = async (requestedPath) => {
127
127
  return base;
128
128
  }
129
129
  };
130
- //# sourceMappingURL=fs-browse.js.map
@@ -129,4 +129,3 @@ export const pickFolder = async (options = {}) => {
129
129
  supported: false,
130
130
  });
131
131
  };
132
- //# sourceMappingURL=fs-pick-folder.js.map
@@ -23,4 +23,3 @@ export const isPathWithinRoot = (rootPath, candidatePath) => {
23
23
  const rel = relative(resolvedRoot, resolvedCandidate);
24
24
  return rel !== '..' && !rel.startsWith(`..${sep}`) && !isAbsolute(rel);
25
25
  };
26
- //# sourceMappingURL=fs-sandbox.js.map
@@ -1,2 +1,33 @@
1
1
  import type { AgentSummary } from '../shared/types.js';
2
+ /**
3
+ * Tail reminder appended to every message that flows INTO the orchestrator
4
+ * (worker reports, worker status updates, user chat input). Re-anchors the
5
+ * role + dispatch syntax after the agent's CLI internally compacts the
6
+ * conversation transcript (`/compact` in CC, auto-summarize in Codex, etc.)
7
+ * and forgets the original startup instructions.
8
+ *
9
+ * Format choice (XML envelope, position at message tail, action-menu wording)
10
+ * follows a peer LLM-agent review: static `[Hive]` prefixes get filtered as
11
+ * banner noise after a few occurrences, but `<...-system-reminder>` tags
12
+ * mirror the out-of-band envelope LLMs are trained to attend to; placement
13
+ * at the tail (right before the agent's reply turn) maximizes recency
14
+ * weighting; phrasing as a two-option action menu is more actionable than
15
+ * abstract identity restatement.
16
+ */
17
+ export declare const ORCHESTRATOR_REMINDER_TAIL: string;
18
+ /**
19
+ * Tail reminder appended to dispatches sent TO a worker. Reinforces the
20
+ * worker identity (so the agent does not regress into its normal CLI
21
+ * persona that would call nested subagents) plus the exact report syntax
22
+ * with dispatch_id pre-bound.
23
+ */
24
+ export declare const buildWorkerReminderTail: (dispatchId: string) => string;
2
25
  export declare const getHiveTeamRules: (agent: Pick<AgentSummary, "role">) => string[];
26
+ /**
27
+ * Workspace-local protocol cheat sheet written to `.hive/PROTOCOL.md`. Agents
28
+ * are explicitly trained to look at project root markdown when confused, so
29
+ * keeping a single canonical doc next to `.hive/tasks.md` doubles as a
30
+ * "cat-recover" path when both the startup prompt and the in-message
31
+ * reminders fail to anchor.
32
+ */
33
+ export declare const buildProtocolDoc: () => string;