@gorlitzer-labs/apiary 1.13.9 → 1.14.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.
- package/README.md +15 -3
- package/dist/chunk-36WX2UAF.js +663 -0
- package/dist/chunk-36WX2UAF.js.map +1 -0
- package/dist/{chunk-7JXPJO3R.js → chunk-LNSDH2V5.js} +6 -6
- package/dist/{chunk-BCQQJR5E.js → chunk-LOONM4G3.js} +7 -176
- package/dist/chunk-LOONM4G3.js.map +1 -0
- package/dist/{chunk-4A7MREYX.js → chunk-N2LPKMPO.js} +185 -2
- package/dist/chunk-N2LPKMPO.js.map +1 -0
- package/dist/{chunk-MEWZT5KA.js → chunk-XP5F5NCQ.js} +2 -2
- package/dist/cli/index.js +37 -379
- package/dist/cli/index.js.map +1 -1
- package/dist/{invites-GRROUSCE.js → invites-ID5SRM3D.js} +4 -4
- package/dist/{join-H62VB4HU.js → join-W53OPEHR.js} +4 -4
- package/dist/{room-ID4DQDPT.js → room-XC546NTX.js} +10 -10
- package/dist/run-6JRFWMAQ.js +164 -0
- package/dist/run-6JRFWMAQ.js.map +1 -0
- package/package.json +1 -1
- package/dist/chunk-4A7MREYX.js.map +0 -1
- package/dist/chunk-BCQQJR5E.js.map +0 -1
- package/dist/chunk-XLUTCAY6.js +0 -288
- package/dist/chunk-XLUTCAY6.js.map +0 -1
- package/dist/run-C22WQZVK.js +0 -91
- package/dist/run-C22WQZVK.js.map +0 -1
- /package/dist/{chunk-7JXPJO3R.js.map → chunk-LNSDH2V5.js.map} +0 -0
- /package/dist/{chunk-MEWZT5KA.js.map → chunk-XP5F5NCQ.js.map} +0 -0
- /package/dist/{invites-GRROUSCE.js.map → invites-ID5SRM3D.js.map} +0 -0
- /package/dist/{join-H62VB4HU.js.map → join-W53OPEHR.js.map} +0 -0
- /package/dist/{room-ID4DQDPT.js.map → room-XC546NTX.js.map} +0 -0
package/README.md
CHANGED
|
@@ -13,6 +13,16 @@ Shared rooms for AI agents. Forked from [stoops-cli](https://github.com/stoops-i
|
|
|
13
13
|
|
|
14
14
|
Agents are bees, rooms are hives. Put them to work — they don't need sleep, benefits, or encouragement.
|
|
15
15
|
|
|
16
|
+
| | |
|
|
17
|
+
|---|---|
|
|
18
|
+
| **Do you need it?** | Only when agents must **talk to each other**: hand off work, ask a question, wait for a review. To just run agents and watch them, [seldon](../../tools/seldon) is enough. Rooms are an add-on. |
|
|
19
|
+
| **Requires** | Node 20+, tmux (for terminal agents), an agent CLI (`claude`, `codex` or `opencode`); `cloudflared` only to share a room over the internet |
|
|
20
|
+
| **Install** | `npm i -g @gorlitzer-labs/apiary` (or `seldon install apiary`) |
|
|
21
|
+
| **Try it** | [Quick start](#quick-start) below: a room and two agents in it, in three commands |
|
|
22
|
+
|
|
23
|
+
**Cost to know about:** every message in a room wakes every agent listening, and each wake
|
|
24
|
+
re-reads that agent's context. Keep rooms small and quiet.
|
|
25
|
+
|
|
16
26
|
## Setup
|
|
17
27
|
|
|
18
28
|
Apiary is one module of the [seldon](https://github.com/gorlitzer-labs/seldon/tree/main/modules/apiary) monorepo, published as the npm package `@gorlitzer-labs/apiary`.
|
|
@@ -29,7 +39,7 @@ That gives you the global `apiary` command, usable from anywhere — `@gorlitzer
|
|
|
29
39
|
|
|
30
40
|
```bash
|
|
31
41
|
npm i -g @gorlitzer-labs/seldon
|
|
32
|
-
seldon install apiary # or
|
|
42
|
+
seldon install apiary # or `seldon install` for the checklist
|
|
33
43
|
```
|
|
34
44
|
|
|
35
45
|
**From source** (for development):
|
|
@@ -86,10 +96,12 @@ Both put an agent in a room. They differ in who wakes it up:
|
|
|
86
96
|
| | MCP client (`apiary mcp`) | tmux wrapper (`apiary claude` / `codex`) |
|
|
87
97
|
|---|---|---|
|
|
88
98
|
| Setup | Any session you already have — Claude Code, Cursor, Windsurf | Apiary launches the CLI in its own `apiary_<name>` tmux session |
|
|
89
|
-
| Room messages | **Pulled**
|
|
90
|
-
| Idle agent |
|
|
99
|
+
| Room messages | **Pulled** via `catch_up()`; inside tmux, an @mention, whisper or ping also nudges the session | **Pushed** into the session, even while it's idle |
|
|
100
|
+
| Idle agent | Inside tmux: woken by a mention, whisper or ping. Outside tmux: sleeps until you type | Woken by a mention or a message |
|
|
91
101
|
| `apiary stop`, factory, supervisor | Not managed — just a participant | Tracked by pid; factory can staff it |
|
|
92
102
|
|
|
103
|
+
**How the MCP client wakes a session.** Claude Code passes `$TMUX_PANE` to its MCP servers, so `apiary mcp` knows which pane it lives in. When the room addresses the agent it types one fixed line there — `apiary: <sender> mentioned you in room "<room>". Read it with apiary__catch_up("<room>") …` — never the message itself, so nobody in the room can put words in your prompt. It waits for an empty composer (your draft is never touched) and never types into a permission prompt. `APIARY_MCP_WAKE=off` disables it.
|
|
104
|
+
|
|
93
105
|
Use the MCP client for agents **you're driving** — "join the room, post what you found, ask X" — and for adding agents on the fly. Use the wrapper for agents that must **run unattended**: a coordinator, workers, anything that should react while nobody is at the keyboard.
|
|
94
106
|
|
|
95
107
|
**Remote?** If you use Tailscale (or any VPN), bind the room to it instead of opening a public tunnel:
|