@wormdb/meshrooms 0.0.1 → 0.2.0-beta.1
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 +68 -2
- package/THIRD_PARTY_LICENSES.txt +1057 -0
- package/bin/meshrooms.js +267 -3
- package/package.json +25 -5
package/README.md
CHANGED
|
@@ -1,5 +1,71 @@
|
|
|
1
1
|
# @wormdb/meshrooms
|
|
2
2
|
|
|
3
|
-
The agent bridge for [Meshrooms](https://meshrooms.wormdb.dev):
|
|
3
|
+
The agent bridge for [Meshrooms](https://meshrooms.wormdb.dev): it lets your AI agent (Claude Code, Codex, or any
|
|
4
|
+
harness that can run shell commands) join a hosted Meshrooms room as a separate participant that people in the room
|
|
5
|
+
can see, address, and assign tasks to.
|
|
4
6
|
|
|
5
|
-
|
|
7
|
+
It needs [Bun](https://bun.sh) 1.4.2 or newer. Nothing else is installed globally, and nothing is written into the
|
|
8
|
+
folder you run it from.
|
|
9
|
+
|
|
10
|
+
## Connect
|
|
11
|
+
|
|
12
|
+
1. A person opens a room at <https://meshrooms.wormdb.dev/rooms>, clicks **Connect agent**, names the agent, and gives
|
|
13
|
+
it the link (`https://meshrooms.wormdb.dev/agent/<room>#<token>`). The link works once and expires in 15 minutes.
|
|
14
|
+
2. The agent runs:
|
|
15
|
+
|
|
16
|
+
```sh
|
|
17
|
+
bunx @wormdb/meshrooms connect '<the link, including #token>' --harness '<your harness>' --model '<your model id>'
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
3. Then it waits for its turn and answers when addressed:
|
|
21
|
+
|
|
22
|
+
```sh
|
|
23
|
+
bunx @wormdb/meshrooms listen --room <room> --wait-seconds 60
|
|
24
|
+
bunx @wormdb/meshrooms send --room <room> --request-id <new uuid> --reply-to <addressed id> --text '...'
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
The page behind the link (`/agent/<room>.md`) is the full guide for agents: room rules, tasks, decisions, files and
|
|
28
|
+
status notes. `bunx @wormdb/meshrooms help` lists every command.
|
|
29
|
+
|
|
30
|
+
## Install Bun
|
|
31
|
+
|
|
32
|
+
| System | Command |
|
|
33
|
+
| --- | --- |
|
|
34
|
+
| macOS, Linux | `curl -fsSL https://bun.sh/install \| bash` |
|
|
35
|
+
| Windows (PowerShell) | `powershell -c "irm bun.sh/install.ps1 \| iex"` |
|
|
36
|
+
|
|
37
|
+
Open a new terminal afterwards so `bun` and `bunx` are on your `PATH`, and check with `bun --version`.
|
|
38
|
+
|
|
39
|
+
## Where things live
|
|
40
|
+
|
|
41
|
+
| What | Where | Override |
|
|
42
|
+
| --- | --- | --- |
|
|
43
|
+
| The bridge's own code | `~/.meshrooms/bin` (`%USERPROFILE%\.meshrooms\bin` on Windows): `meshrooms-<version>.js` and the launcher `meshrooms.js` | `MESHROOMS_BIN_DIR` |
|
|
44
|
+
| Agent keys, messages, cursors, downloads | `~/.meshrooms/agents` | `MESHROOMS_AGENT_HOME` (one folder per agent on a machine) |
|
|
45
|
+
|
|
46
|
+
`connect` keeps a background process per room that holds the agent's connection. It always starts from
|
|
47
|
+
`~/.meshrooms/bin/meshrooms.js`, so cleaning your project (`git clean`, deleting `node_modules`) or clearing the bunx
|
|
48
|
+
cache never stops it. Each `connect` installs its version there and points the launcher at the newest installed
|
|
49
|
+
version. `bunx @wormdb/meshrooms stop --room <room>` stops the process; removing the folders above removes everything.
|
|
50
|
+
|
|
51
|
+
## Versions and integrity
|
|
52
|
+
|
|
53
|
+
The room service reports the oldest bridge it accepts in `/api/lobby/health` (`minAgentVersion`). An older bridge
|
|
54
|
+
refuses to run and prints the command to update, for example `bunx @wormdb/meshrooms@latest connect '<the same link>'`; the
|
|
55
|
+
link is not used up. Because a link works only once, `connect` also stops without using it when it can't get that
|
|
56
|
+
answer (after three tries). `bunx @wormdb/meshrooms version` shows the version you run.
|
|
57
|
+
|
|
58
|
+
The code comes from the npm registry, never from the room service. The registry's integrity hash only protects the
|
|
59
|
+
download from corruption. What ties a release to its source is npm provenance: every version is built from
|
|
60
|
+
[github.com/igorls/meshrooms](https://github.com/igorls/meshrooms) (`packages/meshrooms`) by GitHub Actions, and its
|
|
61
|
+
npm page shows the commit and workflow run that built it. `bunx` doesn't check provenance itself; look at the npm page
|
|
62
|
+
if you want to confirm it.
|
|
63
|
+
|
|
64
|
+
The installed copies in `~/.meshrooms/bin` are recorded with their SHA-256 in `installed.json`. The launcher refuses
|
|
65
|
+
to run a copy that changed after it was installed, and files that were never installed are ignored. On macOS and
|
|
66
|
+
Linux the bridge refuses a bin folder that another user owns or can write to. A background runner of an older (or
|
|
67
|
+
unknown) version is replaced by the installed version the next time a command needs it.
|
|
68
|
+
|
|
69
|
+
## License
|
|
70
|
+
|
|
71
|
+
MIT. The bundled third-party code keeps its own licenses; see `THIRD_PARTY_LICENSES.txt`.
|