@lumi.ai/runner 0.5.7 → 0.5.9

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 (3) hide show
  1. package/README.md +39 -1
  2. package/dist/cli.js +1404 -777
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -69,7 +69,8 @@ lumi-runner login --key <shipKey> --api-key <firebaseWebApiKey> --project <proje
69
69
  | `start` | Run the daemon in the foreground |
70
70
  | `status` | Ships, approval state, current job, queue depth, today's tokens |
71
71
  | `logs [-f]` | The daemon's own rotating log file |
72
- | `config list` / `set <key> <on\|off>` | `notifications`, `keepAwake` |
72
+ | `update [--check]` | Install the latest published version and restart (see **Staying current**) |
73
+ | `config list` / `set <key> <value>` | `notifications`, `keepAwake`, `autoUpdate`, `channel`, `checkEvery`, `parallel` |
73
74
 
74
75
  Global flags: `--json` (machine-readable stdout, and never prompts), `-y/--yes`, `--no-color`.
75
76
 
@@ -116,6 +117,41 @@ Each job is a separate `claude` process with its own empty working directory, so
116
117
  state — but they do share your CPU, your RAM and your Claude usage window. Start at 2 and watch a
117
118
  real job before going higher. Restart the daemon (`lumi-runner service restart`) to pick up a change.
118
119
 
120
+ ## Staying current
121
+
122
+ **This machine updates itself.** Every half hour the daemon asks npm whether there is a newer
123
+ version on the channel it was installed from. When there is, it stops claiming new work, lets the
124
+ jobs it is already running **finish**, installs the new version, and exits — launchd and systemd
125
+ restart it, which is what picks up the new code. A captain sees all of it on the Daemons page.
126
+
127
+ It only ever does this when the background service is installed and running, because "exit and be
128
+ restarted" is the whole mechanism: a daemon you started by hand in a terminal tells you about the
129
+ update and leaves it to you. Windows is the same — the running file is locked there and the
130
+ scheduled task does not restart on exit — so `lumi-runner update` prints the command instead.
131
+
132
+ ```bash
133
+ lumi-runner update --check # is there a newer version?
134
+ lumi-runner update # install it now and restart the service
135
+ ```
136
+
137
+ To pin a machine to a version:
138
+
139
+ ```bash
140
+ npm i -g @lumi.ai/runner@0.5.7
141
+ lumi-runner config set autoUpdate off
142
+ ```
143
+
144
+ Other settings, all machine-wide:
145
+
146
+ ```bash
147
+ lumi-runner config set channel dev # follow prereleases (default: whichever you installed)
148
+ lumi-runner config set checkEvery 360 # ask less often (minutes, 5–1440)
149
+ ```
150
+
151
+ A version is never installed twice: three failed attempts at the same one and the machine stops
152
+ trying until a different version is published. `lumi-runner doctor` reports whether you are behind,
153
+ always as a warning — being out of date never fails the preflight.
154
+
119
155
  ## While a job runs
120
156
 
121
157
  - **Idle sleep is inhibited** (`caffeinate` / `systemd-inhibit`, best-effort on Windows), so a
@@ -190,6 +226,8 @@ claiming from one queue.
190
226
  | `CREW_CLAUDE_BIN` | Path to the Claude binary (default: `claude` from `PATH`) |
191
227
  | `CREW_NO_NOTIFY` | Disable desktop notifications |
192
228
  | `CREW_NO_POWER` | Disable sleep inhibition |
229
+ | `LUMI_RUNNER_REGISTRY` | npm registry to check for updates (default `https://registry.npmjs.org`) |
230
+ | `LUMI_RUNNER_CHANNEL` | Force the update channel: `latest` or `dev` |
193
231
 
194
232
  `CREW_RUNNER_HOME` is still honoured as a fallback for machines configured before the rename.
195
233