@lumi.ai/runner 0.15.10 → 0.15.12
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/dist/cli.js +29 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -314,6 +314,24 @@ var COLLECTIONS = {
|
|
|
314
314
|
* MCP connection splits from `secrets/mcp_srv_{key}`.
|
|
315
315
|
*/
|
|
316
316
|
oauthGrants: "oauth_grants",
|
|
317
|
+
/**
|
|
318
|
+
* `ships/{shipId}/webhooks/{hookId}` — one inbound endpoint (PRD §15.56). NON-SECRET metadata;
|
|
319
|
+
* the signing secret is `secrets/webhook_{hookId}`, which no rule releases to anybody.
|
|
320
|
+
*
|
|
321
|
+
* SNAKE_CASE-safe as a single word, which matters for the reason `mcp_servers` documents: the
|
|
322
|
+
* purge-completeness oracle finds Ship subcollections by regexing firestore.rules for
|
|
323
|
+
* `match /([a-z_]+)/{`, so a camelCase name would be invisible to the one test that exists to
|
|
324
|
+
* catch a forgotten credential-bearing collection.
|
|
325
|
+
*/
|
|
326
|
+
webhooks: "webhooks",
|
|
327
|
+
/**
|
|
328
|
+
* `ships/{shipId}/webhook_deliveries/{key}` — the idempotency ledger (PRD §15.56).
|
|
329
|
+
*
|
|
330
|
+
* One document per accepted delivery, created transactionally: `tx.create` FAILING because the
|
|
331
|
+
* document exists IS the lock, so there is no read-then-write race for two concurrent retries to
|
|
332
|
+
* slip through. Swept by TTL rather than kept, since its only job is to be present.
|
|
333
|
+
*/
|
|
334
|
+
webhookDeliveries: "webhook_deliveries",
|
|
317
335
|
/** Top-level `users/{uid}/...` — per-user docs (runner machine registry). */
|
|
318
336
|
users: "users",
|
|
319
337
|
/** Top-level `githubInstallStates/{stateId}` — single-use install-flow nonces (backend only). */
|
|
@@ -814,6 +832,16 @@ var EMPTY_USAGE_BY_AGENT = {
|
|
|
814
832
|
jobs: 0
|
|
815
833
|
};
|
|
816
834
|
|
|
835
|
+
// ../shared/dist/webhook.js
|
|
836
|
+
var MAX_WEBHOOK_FANOUT = 5;
|
|
837
|
+
var WEBHOOK_ACK_REASONS = {
|
|
838
|
+
disabled: "This hook is switched off, so the delivery was accepted and dropped.",
|
|
839
|
+
duplicate: "Already delivered \u2014 this is a retry of a delivery that was accepted.",
|
|
840
|
+
noListener: "No enabled playbook on this Ship is listening to this hook.",
|
|
841
|
+
rateLimited: "Deliveries are arriving faster than one per second; this one was dropped.",
|
|
842
|
+
fanout: `Woke the first ${MAX_WEBHOOK_FANOUT} playbooks listening; the rest were skipped.`
|
|
843
|
+
};
|
|
844
|
+
|
|
817
845
|
// ../shared/dist/workflow.js
|
|
818
846
|
var WORKFLOW_SENTINELS = ["generic", "assigned", "activity", "chat"];
|
|
819
847
|
function isWorkflowSentinel(id) {
|
|
@@ -940,7 +968,7 @@ function mcpUrl(config2) {
|
|
|
940
968
|
}
|
|
941
969
|
|
|
942
970
|
// src/version.ts
|
|
943
|
-
var RUNNER_VERSION = true ? "0.15.
|
|
971
|
+
var RUNNER_VERSION = true ? "0.15.12" : "0.0.0-dev";
|
|
944
972
|
|
|
945
973
|
// src/auth.ts
|
|
946
974
|
import { signInWithCustomToken } from "firebase/auth";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lumi.ai/runner",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.12",
|
|
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.",
|