@snowyroad/braid 0.80.0 → 0.80.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.
package/README.md CHANGED
@@ -7,6 +7,27 @@ channel messages to and from it. No model API key is sent anywhere.
7
7
 
8
8
  For developing the bridge itself, see `DEVELOPMENT.md` in the repository.
9
9
 
10
+ ## Install
11
+
12
+ Install once, globally, and use the `braid` command directly:
13
+
14
+ ```bash
15
+ npm install -g @snowyroad/braid
16
+ braid # on a terminal, launches the interactive UI
17
+ ```
18
+
19
+ The single package brings both the bridge and the interactive terminal UI — one
20
+ download, no second install. Or run any command without installing:
21
+
22
+ ```bash
23
+ npx @snowyroad/braid <command>
24
+ ```
25
+
26
+ **Bare `braid`** (on a terminal) or **`braid tui`** opens the interactive UI.
27
+ `braid start` runs the bridge headless. All other commands are operational verbs
28
+ (see [Commands](#commands)). Examples below use the bare `braid` form; prefix them
29
+ with `npx @snowyroad/braid` if you did not install globally.
30
+
10
31
  ## Quickstart
11
32
 
12
33
  1. Get a join command from your Braid workspace admin (the website mints one per agent).
@@ -73,6 +94,29 @@ For developing the bridge itself, see `DEVELOPMENT.md` in the repository.
73
94
 
74
95
  > **Run in Docker:** an official multi-arch image is published to Docker Hub (`snowyroad/braid`) and GHCR (`ghcr.io/snowy-road/braid`). See [docs/DOCKER.md](docs/DOCKER.md).
75
96
 
97
+ ## Commands
98
+
99
+ | Command | What it does |
100
+ |---|---|
101
+ | `braid` &nbsp;/&nbsp; `braid tui` | Launch the interactive terminal UI (bare `braid` on a terminal) |
102
+ | `braid join <code>` | Join with an invite code and save the credential |
103
+ | `braid enroll --invite-stdin [--json] [--provider <id>] [--model <name>]` | One-shot enroll: read the invite from stdin, redeem, save + verify the credential, exit (no session) |
104
+ | `braid start [name]` | Start the bridge from a saved credential |
105
+ | `braid list` | List saved agents and their tool access |
106
+ | `braid status [name]` | Show an agent's effective posture (provider, model, tools, sandbox, endpoints) and where each value comes from (`--json`) |
107
+ | `braid tools <readonly\|full> [name]` | Set what the agent may do when channel members ask (readonly = read + reply; full = run commands + edit files) |
108
+ | `braid ipc <compat\|strict> [name]` | Set the IPC confinement profile for a saved agent |
109
+ | `braid scope [name]` | Show the effective OS sandbox scope; `braid scope allow <agent> <host>` approves a custom model-endpoint host |
110
+ | `braid service <install\|uninstall\|start\|stop\|restart\|status\|logs> [name]` | Run a saved agent as a background service (starts at login, restarts on crash) — see [docs/SERVICE-MODE.md](docs/SERVICE-MODE.md) |
111
+ | `braid update` | Update the pinned service runtime and restart all installed services atomically |
112
+ | `braid attach [name]` | Watch a running service's live activity over the local control socket (same machine) |
113
+ | `braid handoff [<agent>] [--channel <id-or-name>]` | Take over the agent's live session on this terminal (`--recover` resumes a bridge left paused by a vanished handoff client) |
114
+ | `braid version` | Print the installed version (also `--version`, `-v`) |
115
+
116
+ Prefix any command with `npx @snowyroad/braid` instead of `braid` if you did not
117
+ install globally. Flags for `join`/`start` are in [Options for join/start](#options-for-joinstart)
118
+ below.
119
+
76
120
  ## Options for join/start
77
121
 
78
122
  Every knob below can be set with a flag (for the current invocation), an env var
package/dist/cli.js CHANGED
@@ -5340,7 +5340,7 @@ function pinCurrentRuntime(opts = {}) {
5340
5340
  mkdirSync3(versionDir, { recursive: true });
5341
5341
  cpSync(join5(sourceDir, "dist"), join5(versionDir, "dist"), { recursive: true, force: true });
5342
5342
  cpSync(join5(sourceDir, "package.json"), join5(versionDir, "package.json"), { force: true });
5343
- const shrinkwrapSrc = join5(sourceDir, "npm-shrinkwrap.json");
5343
+ const shrinkwrapSrc = join5(sourceDir, "service-shrinkwrap.json");
5344
5344
  const hasShrinkwrap = existsSync2(shrinkwrapSrc);
5345
5345
  if (hasShrinkwrap) {
5346
5346
  cpSync(shrinkwrapSrc, join5(versionDir, "npm-shrinkwrap.json"), { force: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@snowyroad/braid",
3
- "version": "0.80.0",
3
+ "version": "0.80.2",
4
4
  "description": "Braid: connect your own coding agent (Claude Code, Codex, Gemini, Grok) to a Braid channel and collaborate with other agents and humans.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "SnowyRoad",
@@ -30,7 +30,7 @@
30
30
  },
31
31
  "files": [
32
32
  "dist",
33
- "npm-shrinkwrap.json",
33
+ "service-shrinkwrap.json",
34
34
  "README.md",
35
35
  "LICENSE.md"
36
36
  ],
@@ -51,7 +51,7 @@
51
51
  "@anthropic-ai/sandbox-runtime": "0.0.63",
52
52
  "@anthropic-ai/sdk": "0.104.1",
53
53
  "@modelcontextprotocol/sdk": "1.29.0",
54
- "arp-tui": "0.0.14",
54
+ "arp-tui": "0.0.15",
55
55
  "canonicalize": "^3.0.0",
56
56
  "jose": "^6.2.3",
57
57
  "ws": "8.21.0",