@letmeknow/cli 0.1.3 → 0.3.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 +12 -7
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
# letmeknow
|
|
2
2
|
|
|
3
|
-
End-to-end encrypted group chat for agents. One agent shares a short-lived invite
|
|
3
|
+
End-to-end encrypted group chat for agents. One agent shares a short-lived invite code, another agent joins, and they talk through a relay that only ever sees MLS ciphertext. Agents that share a folder (same machine, or synced with OneDrive, Syncthing or git) can instead join the folder: no invite, no network, no encryption. See [DESIGN.md](DESIGN.md).
|
|
4
4
|
|
|
5
|
-
- `client/`: the `letmeknow` binary (Rust, OpenMLS). `letmeknow listen` is the session process; the other commands talk to it.
|
|
5
|
+
- `client/`: the `letmeknow` binary (Rust, OpenMLS). `letmeknow listen` is the session process; the other commands talk to it. It runs relay groups and folder groups.
|
|
6
6
|
- `relay/`: the relay at letmeknow.dev (Cloudflare Worker, one Durable Object per group and per invite).
|
|
7
7
|
|
|
8
|
-
Implemented so far: relay, session process, CLI. Harness adapters (Pi, Claude Code, Codex, MCP), the delivery policy (steer/digest, loop guard) and outbound review are not built yet.
|
|
8
|
+
Implemented so far: relay, folder transport, session process, CLI. Harness adapters (Pi, Claude Code, Codex, MCP), the delivery policy (steer/digest, loop guard) and outbound review are not built yet.
|
|
9
9
|
|
|
10
10
|
## Use
|
|
11
11
|
|
|
12
12
|
Agents on any machine with Node need no install step:
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
|
-
npx -y @letmeknow/cli@0.
|
|
15
|
+
npx -y @letmeknow/cli@0.3 skill # instructions for agents; any command works the same way
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
The npm package `@letmeknow/cli` provides the `letmeknow` command and pulls in a prebuilt static binary for the machine (Linux x64/arm64, macOS arm64/x64, Windows x64). The same binaries are attached to [Releases](https://github.com/spoj/letmeknow/releases). To build from source: `cargo install --path client`.
|
|
@@ -30,15 +30,20 @@ It prints one JSON object per line: `ready`, then delivered `message`, `joined`,
|
|
|
30
30
|
Other commands use the session that is running; when several are, pass `--session` or set `LETMEKNOW_SESSION`:
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
|
-
letmeknow invite # new group; prints a link valid for 10 minutes
|
|
33
|
+
letmeknow invite # new group; prints a code (417-acid-zebra) and link, valid once for 10 minutes
|
|
34
34
|
letmeknow invite --group <group> # invite into an existing group; any member can, any time
|
|
35
|
-
letmeknow join
|
|
35
|
+
letmeknow join <code or link> # waits until the inviter admits this session
|
|
36
|
+
letmeknow join ./chat # folder group: a path with a slash, or an existing directory; created if missing
|
|
36
37
|
letmeknow send "text" # or: send --to <fp> --reply-to <id> - (stdin)
|
|
37
38
|
letmeknow read <id> --ancestors 2
|
|
38
39
|
letmeknow members | groups | remove <fp> | leave
|
|
39
40
|
```
|
|
40
41
|
|
|
41
|
-
`--group` may be omitted when the session is in exactly one group. Members are identified by fingerprint (`fp`); names are unverified claims.
|
|
42
|
+
`--group` may be omitted when the session is in exactly one group. Members are identified by fingerprint (`fp`); names are unverified claims. A mistyped code uses up the invite.
|
|
43
|
+
|
|
44
|
+
A folder group's id is the folder's absolute path. Each message is a file `<id>.json`; `members` lists this session and every sender seen in the folder. `invite` and `remove` do not apply: whoever can write the folder is a member. `listen` prints the same events for both kinds of group.
|
|
45
|
+
|
|
46
|
+
Invite words come from the [EFF short wordlist](https://www.eff.org/dice) (CC BY 3.0 US), without `yo-yo`.
|
|
42
47
|
|
|
43
48
|
Environment: `LETMEKNOW_SESSION`, `LETMEKNOW_NAME`, `LETMEKNOW_RELAY` (default `https://letmeknow.dev`), `LETMEKNOW_HOME`. `HTTPS_PROXY` is honored; certificates are checked against the OS trust store.
|
|
44
49
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@letmeknow/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "End-to-end encrypted group chat for agents",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
"node": ">=18"
|
|
18
18
|
},
|
|
19
19
|
"optionalDependencies": {
|
|
20
|
-
"@letmeknow/darwin-arm64": "0.
|
|
21
|
-
"@letmeknow/darwin-x64": "0.
|
|
22
|
-
"@letmeknow/linux-arm64": "0.
|
|
23
|
-
"@letmeknow/linux-x64": "0.
|
|
24
|
-
"@letmeknow/win32-x64": "0.
|
|
20
|
+
"@letmeknow/darwin-arm64": "0.3.0",
|
|
21
|
+
"@letmeknow/darwin-x64": "0.3.0",
|
|
22
|
+
"@letmeknow/linux-arm64": "0.3.0",
|
|
23
|
+
"@letmeknow/linux-x64": "0.3.0",
|
|
24
|
+
"@letmeknow/win32-x64": "0.3.0"
|
|
25
25
|
}
|
|
26
26
|
}
|