@lumi.ai/runner 0.11.0 → 0.13.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.
Files changed (2) hide show
  1. package/dist/cli.js +17 -1
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -185,6 +185,9 @@ var COLLECTIONS = {
185
185
  * may lend two profiles, and the same profile may serve several Ships.
186
186
  */
187
187
  browsers: "browsers",
188
+ /** ROOT collection (§15.44): one liveness document per relay instance, overwritten each
189
+ * report. Not a Ship subcollection — a relay serves every Ship and belongs to none. */
190
+ browserRelays: "browserRelays",
188
191
  /** `ships/{shipId}/notifications/{id}` — per-member in-app notifications. */
189
192
  notifications: "notifications",
190
193
  /** `ships/{shipId}/usage_daily/{yyyy-mm-dd}` — token-tracking aggregates. */
@@ -215,6 +218,19 @@ var COLLECTIONS = {
215
218
  githubInstallations: "githubInstallations",
216
219
  /** Top-level `runnerLoginCodes/{userCode}` — CLI device-login handshakes (backend only). */
217
220
  runnerLoginCodes: "runnerLoginCodes",
221
+ /**
222
+ * Top-level `browserLoginCodes/{userCode}` — browser-extension device-login handshakes
223
+ * (backend only; PRD §15.44).
224
+ *
225
+ * ITS OWN COLLECTION rather than a flag on `runnerLoginCodes`, because the two approvals are
226
+ * different acts. Approving a RUNNER enrols a machine: it registers a runner id, writes a
227
+ * per-Ship daemon mirror, mints §8.1 Ship keys and consumes the one-daemon-per-Ship slot.
228
+ * Approving a BROWSER proves who you are and stops — a relay ticket names no Ship and
229
+ * `mintBrowserRelayTicket` checks no membership, so there is nothing to pick and nothing to
230
+ * grant. Sharing the collection would have meant sharing the approval handler, and every future
231
+ * daemon change would have had to remember the browser case.
232
+ */
233
+ browserLoginCodes: "browserLoginCodes",
218
234
  /**
219
235
  * Top-level `shipDeletions/{shipId}` — one tombstone per Ship being purged (backend only).
220
236
  *
@@ -818,7 +834,7 @@ function mcpUrl(config2) {
818
834
  }
819
835
 
820
836
  // src/version.ts
821
- var RUNNER_VERSION = true ? "0.11.0" : "0.0.0-dev";
837
+ var RUNNER_VERSION = true ? "0.13.0" : "0.0.0-dev";
822
838
 
823
839
  // src/auth.ts
824
840
  import { signInWithCustomToken } from "firebase/auth";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lumi.ai/runner",
3
- "version": "0.11.0",
3
+ "version": "0.13.0",
4
4
  "type": "module",
5
5
  "description": "Lumi Crew runner daemon — claims jobs from your Ships and executes them as headless Claude sessions on your own machine.",
6
6
  "//name": "The ONLY package in this monorepo published to the public registry, so it is the one that does not follow the internal @lumi/crew-* convention: `@lumi` is not a scope we own, `@lumi.ai` is (the npm org). The workspace DIRECTORY stays packages/crew/runner — renaming the package is not renaming the folder.",