@cabane/companion 0.6.182 → 0.6.183

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 (2) hide show
  1. package/README.md +28 -18
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -44,16 +44,26 @@ The script brings its own Node (checksum-checked, into `~/.cabane`) and needs no
44
44
  npm i -g @cabane/companion && cabane setup CODE
45
45
  ```
46
46
 
47
- Either way `cabane setup CODE` pairs the device to your account, joins it to that workspace, detects your harnesses, and starts the Companion: as a service on macOS and Linux, in the background elsewhere. No confirm, no name screen, no browser on the device. The same line on a device that is already paired joins it to the workspace and mints nothing.
47
+ Either way `cabane setup CODE` pairs the device to your account, joins it to that workspace, starts the Companion in the background, waits for its first check-in, and ends with the device's state in Cabane's words. No confirm, no name screen, no browser on the device. The same line on a device that is already paired joins it to the workspace and mints nothing.
48
48
 
49
49
  ```
50
- ✓ Claude Code signed in (2.1.289) — connected
51
- Codex not signed in — run codex login
52
- OpenCode not running
53
- All set here. Back to the browser.
50
+ ✓ Paired as "maya-mbp" with Acme.
51
+ Cabane is running in the background. This device is ready — checked in 2s ago.
52
+
53
+ Harnesses on this device
54
+ ✓ Claude Code connected — signed in (2.1.289)
55
+ Codex needs sign-in — run codex login
56
+ OpenCode off — not running
57
+
58
+ Status cabane status Stop cabane stop Log cabane logs
59
+ Start at login and keep Cabane updating itself: cabane service install
60
+
61
+ In Cabane: https://app.cabane.ai/acme/settings/devices
54
62
  ```
55
63
 
56
- With nothing signed in, the device still pairs and the Companion still runs; the rows say which harness needs sign-in, and the device shows **Needs attention** in Cabane until one is usable. Sign in, and the next check finds it: no restart.
64
+ The device is online the moment the Companion checks in, before any harness is checked; Cabane shows it as **Checking harnesses…** until the first detection lands, then **Ready** or **Needs attention**. With nothing signed in, the device still pairs and the Companion still runs; the rows say which harness needs sign-in. Sign in, and the next check finds it: no restart. A harness that was signed in earlier in this run stays offered through a lapsed login, so a turn reaches the device, fails with the sign-in notice, and the first reply after you sign in again runs with no wait.
65
+
66
+ Setup never installs the service. Run `cabane service install` when you want the Companion to start at login and keep itself updated; the closing block names it.
57
67
 
58
68
  A fresh device runs nothing yet. In a workspace, open an agent's page and assign it to the device; the Companion picks the assignment up on its next poll.
59
69
 
@@ -61,23 +71,23 @@ If `cabane` isn't found afterwards, open a new terminal, or run the `source` lin
61
71
 
62
72
  ## Commands
63
73
 
64
- | Command | What it does |
65
- | ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
66
- | `setup [CODE]` | With a code: pair or join, detect harnesses, start. Without: a re-runnable checklist that reports harnesses and starts what isn't running. |
67
- | `start [--foreground]` | Run in the background. Never asks. Unpaired, it names `setup`. `--foreground` stays attached, for a supervisor of your own. |
68
- | `stop` | Stop a running Companion cleanly. Ends any turn in progress. |
69
- | `status` | Version and install, the paired device by its Cabane name, whether it's running, each harness's state, the sandbox posture, declared secret names, and local overrides. |
70
- | `update [--auto on\|off]` | Install the version Cabane names now; with `--auto`, set whether the Companion keeps itself up to date. |
71
- | `service install\|uninstall\|status` | Run as a systemd user service or a LaunchAgent that starts at boot and restarts if it stops; remove it; show its state. |
72
- | `logs [-n N] [-f]` | Recent log lines, or follow. |
73
- | `transcript [file] [--last] [-f]` | Read back a full agent turn, tool calls and results included. |
74
- | `logout [--purge]` | Remove the device token and cached agent credentials. Doesn't remove the device from Cabane. |
74
+ | Command | What it does |
75
+ | ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
76
+ | `setup [CODE]` | With a code: pair or join, detect harnesses, start. Without: a re-runnable checklist that reports harnesses and starts what isn't running. |
77
+ | `start [--foreground]` | Run in the background. Never asks. Unpaired, it names `setup`. `--foreground` stays attached, for a supervisor of your own. |
78
+ | `stop` | Stop a running Companion cleanly. Ends any turn in progress. |
79
+ | `status` | Version and install, the paired device by its Cabane name, its state in Cabane's words and when it last checked in, each harness's state, the sandbox posture, declared secret names, and local overrides. |
80
+ | `update [--auto on\|off]` | Install the version Cabane names now; with `--auto`, set whether the Companion keeps itself up to date. |
81
+ | `service install\|uninstall\|status` | Run as a systemd user service or a LaunchAgent that starts at boot and restarts if it stops; remove it; show its state. |
82
+ | `logs [-n N] [-f]` | Recent log lines, or follow. |
83
+ | `transcript [file] [--last] [-f]` | Read back a full agent turn, tool calls and results included. |
84
+ | `logout [--purge]` | Remove the device token and cached agent credentials. Doesn't remove the device from Cabane. |
75
85
 
76
86
  Anything else about a device is done in Cabane, on the device's page.
77
87
 
78
88
  ## Keeping it running
79
89
 
80
- Under the service the Companion restarts if it stops, comes back after a reboot, and follows the version Cabane names: it installs the new version under `~/.cabane/versions`, checks it starts, and swaps between turns. A version that can't start is rolled back by the boot guard. `cabane update --auto off` stops updates; without the service, `cabane update` installs and the next `cabane start` runs it.
90
+ Without the service, a reboot or a crash leaves the Companion stopped until the next `cabane start`, and the device shows **Offline** in Cabane. Under the service it restarts if it stops, comes back after a reboot, and follows the version Cabane names: it installs the new version under `~/.cabane/versions`, checks it starts, and swaps between turns. A version that can't start is rolled back by the boot guard. `cabane update --auto off` stops updates; without the service, `cabane update` installs and the next `cabane start` runs it.
81
91
 
82
92
  Other supervisors: run `cabane start --foreground` with `CABANE_COMPANION_SUPERVISED=1` set, using the absolute paths `~/.cabane/node/bin/node` and `~/.cabane/current/dist/bin.js`, which don't move on an update.
83
93
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cabane/companion",
3
- "version": "0.6.182",
3
+ "version": "0.6.183",
4
4
  "type": "module",
5
5
  "description": "The Cabane Companion (headless): connect an agent on your machine to your Cabane workspace as a responder — drive work against your own codebase, files, and MCP servers without putting any of it in Cabane.",
6
6
  "license": "UNLICENSED",