@cotal-ai/delivery 0.109.24 → 0.110.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.
- package/dist/delivery-host.d.ts +20 -0
- package/dist/delivery-host.d.ts.map +1 -0
- package/dist/delivery-host.js +58 -0
- package/dist/delivery-host.js.map +1 -0
- package/dist/delivery.d.ts +34 -1
- package/dist/delivery.d.ts.map +1 -1
- package/dist/delivery.js +109 -67
- package/dist/delivery.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -5
- package/dist/index.js.map +1 -1
- package/dist/membership.d.ts +2 -1
- package/dist/membership.d.ts.map +1 -1
- package/dist/membership.js +7 -6
- package/dist/membership.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The multi-space delivery host (`cotal deliver --spaces <manifest> --server <url>`): one process
|
|
3
|
+
* holding one delivery lane per space named in a manifest file, so a host runs one delivery process
|
|
4
|
+
* instead of one per space.
|
|
5
|
+
*
|
|
6
|
+
* A lane is the daemon `cotal deliver --space` runs, held by this host instead of owning the
|
|
7
|
+
* process ({@link openDeliveryLane}). Each lane reads its own space's credential from the one root,
|
|
8
|
+
* dials the one broker on its own connections, and holds its own lease, watchdog, timer writer and
|
|
9
|
+
* membership feed. Lanes share the process and nothing else, so one space losing its broker
|
|
10
|
+
* connection, its credential or its lease closes that lane and leaves the others serving.
|
|
11
|
+
*
|
|
12
|
+
* The manifest grammar and the reconcile lifecycle are `runSpaceHost` in `@cotal-ai/workspace`,
|
|
13
|
+
* shared with the auth callout host.
|
|
14
|
+
*/
|
|
15
|
+
import type { ParsedArgs } from "@cotal-ai/core";
|
|
16
|
+
/** Run one multi-space delivery host until a signal ends it. Every space in the manifest must open
|
|
17
|
+
* at startup: one that cannot is a configuration error naming the space, and no lane is left
|
|
18
|
+
* running. */
|
|
19
|
+
export declare function runDeliveryHost(args: ParsedArgs): Promise<void>;
|
|
20
|
+
//# sourceMappingURL=delivery-host.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery-host.d.ts","sourceRoot":"","sources":["../src/delivery-host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAkCjD;;eAEe;AACf,wBAAsB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBrE"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { runSpaceHost } from "@cotal-ai/workspace";
|
|
2
|
+
import { daemonRoot, openDeliveryLane } from "./delivery.js";
|
|
3
|
+
/** How long a signalled host waits for its lanes to release their leases before it exits anyway. A
|
|
4
|
+
* row left behind is the bucket TTL's to expire, as it is for a single-space daemon's 2s bound. */
|
|
5
|
+
const STOP_BOUND_MS = 10_000;
|
|
6
|
+
/** The flags of a single-space daemon. Each would be ignored or wrong for every other lane. */
|
|
7
|
+
const SINGLE_SPACE_FLAGS = ["creds", "dev-mint", "shard", "shards"];
|
|
8
|
+
/** Refuse a `--spaces` run that is not one complete host invocation. Nothing is read or dialed yet. */
|
|
9
|
+
function validateDeliveryHost(args) {
|
|
10
|
+
const v = args.values;
|
|
11
|
+
const manifest = v.spaces;
|
|
12
|
+
if (manifest === undefined)
|
|
13
|
+
throw new Error("deliver: --spaces <manifest> is required for the delivery host");
|
|
14
|
+
if (args.positionals.length)
|
|
15
|
+
throw new Error(`deliver --spaces runs the delivery host and takes no ${JSON.stringify(args.positionals[0])}; \`deliver pending\` reads one space with --space`);
|
|
16
|
+
if (v.space !== undefined)
|
|
17
|
+
throw new Error("deliver: --space and --spaces are alternatives - name one space or a manifest of spaces, not both");
|
|
18
|
+
const single = SINGLE_SPACE_FLAGS.filter((flag) => v[flag] !== undefined);
|
|
19
|
+
if (single.length)
|
|
20
|
+
throw new Error(`deliver: ${single.map((f) => `--${f}`).join(" and ")} belong${single.length === 1 ? "s" : ""} to a single-space daemon and cannot be combined with --spaces; every lane reads its own space's credential from the root and runs one shard`);
|
|
21
|
+
if (manifest.trim() === "")
|
|
22
|
+
throw new Error("deliver: --spaces needs the path of a space manifest");
|
|
23
|
+
const server = v.server;
|
|
24
|
+
if (!server)
|
|
25
|
+
throw new Error("deliver: --spaces requires --server <url>; every lane of one host dials that one broker");
|
|
26
|
+
return { manifest, server };
|
|
27
|
+
}
|
|
28
|
+
/** A lane's lines, prefixed with its space so one host's stderr stays readable. */
|
|
29
|
+
function laneLog(space) {
|
|
30
|
+
return { out: (line) => console.log(`[${space}] ${line}`), err: (line) => console.error(`[${space}] ${line}`) };
|
|
31
|
+
}
|
|
32
|
+
/** Run one multi-space delivery host until a signal ends it. Every space in the manifest must open
|
|
33
|
+
* at startup: one that cannot is a configuration error naming the space, and no lane is left
|
|
34
|
+
* running. */
|
|
35
|
+
export async function runDeliveryHost(args) {
|
|
36
|
+
const { manifest, server } = validateDeliveryHost(args);
|
|
37
|
+
const v = args.values;
|
|
38
|
+
// One root for every lane, chosen once: `--root`, or the nearest `.cotal/` above the working directory.
|
|
39
|
+
const root = daemonRoot(v);
|
|
40
|
+
const tls = v.tls !== undefined;
|
|
41
|
+
const host = await runSpaceHost({
|
|
42
|
+
manifest,
|
|
43
|
+
open: (space) => openDeliveryLane({ space, server, root, rootNamed: v.root !== undefined, tls, log: laneLog(space) }),
|
|
44
|
+
label: "delivery host",
|
|
45
|
+
entry: "deliver --spaces",
|
|
46
|
+
serving: "serving",
|
|
47
|
+
onStop: (signal) => {
|
|
48
|
+
console.error(`• delivery host: received ${signal}, closing every lane`);
|
|
49
|
+
setTimeout(() => {
|
|
50
|
+
console.error(`! delivery host: lanes still closing after ${STOP_BOUND_MS / 1000}s - exiting; a lease left behind expires with its bucket TTL`);
|
|
51
|
+
process.exit(0);
|
|
52
|
+
}, STOP_BOUND_MS).unref();
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
console.log(`✓ delivery host up (${host.lanes.size} space(s): ${[...host.lanes.keys()].join(", ")}) - one delivery lane per space on ${server}${tls ? " with TLS required" : ""}`);
|
|
56
|
+
process.exit(await host.ended);
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=delivery-host.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery-host.js","sourceRoot":"","sources":["../src/delivery-host.ts"],"names":[],"mappings":"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"}
|
package/dist/delivery.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type ParsedArgs, type SecretStore, type SecretStoreIdentity } from "@cotal-ai/core";
|
|
2
2
|
import { DELIVERY_CREDS_KIND, deliveryCredsKey } from "@cotal-ai/workspace";
|
|
3
|
-
import type { HostedContextInputs, HostedServiceHandle } from "@cotal-ai/workspace";
|
|
3
|
+
import type { HostedContextInputs, HostedServiceHandle, SpaceLane } from "@cotal-ai/workspace";
|
|
4
|
+
type Values = Record<string, string | undefined>;
|
|
4
5
|
/** Re-exported for hosted compositions: the daemon cred's KIND, and the builder that turns it into
|
|
5
6
|
* the {@link SecretStore} key for a space. Defined once in workspace (the layout is the workspace's)
|
|
6
7
|
* so the writer, the renewal owner, and this reader can never drift apart. As of P7 the kind is NOT
|
|
@@ -68,6 +69,13 @@ export declare function assertUninjectedCredsSharesCwdRoot(opts: {
|
|
|
68
69
|
/** Where `cwdRoot` came from, for the refusal: the cwd walk unless `--root` named it. */
|
|
69
70
|
via?: "process cwd" | "--root";
|
|
70
71
|
}): void;
|
|
72
|
+
/** The workspace root a workstation daemon serves, chosen ONCE at start (#723). `--root` names it;
|
|
73
|
+
* otherwise it is the nearest `.cotal/` above the working directory. With neither, the daemon refuses
|
|
74
|
+
* here and names where it searched: the start directory is not a root anyone set up, and reading the
|
|
75
|
+
* cred, the registry and the $SYS pair from it only failed later, after the dial, on a symptom. An
|
|
76
|
+
* injected store is the composition's only credential source, so there the root holds no trust
|
|
77
|
+
* material and a missing `.cotal/` stays allowed, as {@link recordDeliveryPid} documents. */
|
|
78
|
+
export declare function daemonRoot(v: Values, injected?: SecretStore): string;
|
|
71
79
|
/**
|
|
72
80
|
* RECORD THIS PROCESS as the space's delivery daemon, and un-record it on a clean exit (#1528).
|
|
73
81
|
*
|
|
@@ -118,6 +126,31 @@ export declare function runDelivery(args: ParsedArgs, store?: SecretStore, onSta
|
|
|
118
126
|
/** Start one independently owned delivery context. No cwd, process signal, pidfile, or exit
|
|
119
127
|
* policy is borrowed from the CLI runner. The caller owns its explicit state path and store. */
|
|
120
128
|
export declare function startDeliveryService(inputs: HostedContextInputs): Promise<HostedServiceHandle>;
|
|
129
|
+
/** Where a delivery context writes its lines: `out` for the lines the CLI prints on stdout, `err` for
|
|
130
|
+
* every other line. A lane prefixes both with its space; the CLI and hosted entries print as is. */
|
|
131
|
+
export interface DeliveryLog {
|
|
132
|
+
out(line: string): void;
|
|
133
|
+
err(line: string): void;
|
|
134
|
+
}
|
|
135
|
+
/** Everything a lane needs. The root is chosen once by the host; `rootNamed` says `--root` chose it. */
|
|
136
|
+
export interface DeliveryLaneOptions {
|
|
137
|
+
space: string;
|
|
138
|
+
server: string;
|
|
139
|
+
root: string;
|
|
140
|
+
rootNamed: boolean;
|
|
141
|
+
tls: boolean;
|
|
142
|
+
log: DeliveryLog;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Open one space's delivery context as a lane of a multi-space host. It reads what
|
|
146
|
+
* `cotal deliver --space` reads, from one workstation root: the space's own credential, the
|
|
147
|
+
* registry record, and the `$SYS` pair, each resolved once for this space and bound into the
|
|
148
|
+
* lane's closures. It owns nothing process-wide: no signal handler, no pidfile, no start-up fault
|
|
149
|
+
* guard, no `process.exit`. A broker loss, an expired credential or a lost lease closes the lane and
|
|
150
|
+
* settles its `lost`; the other lanes of the process are untouched. Closing it quiesces Plane-3,
|
|
151
|
+
* releases the lease and closes every connection the lane holds.
|
|
152
|
+
*/
|
|
153
|
+
export declare function openDeliveryLane(options: DeliveryLaneOptions): Promise<SpaceLane>;
|
|
121
154
|
type DeliveryStatus = {
|
|
122
155
|
state: "ready" | "draining";
|
|
123
156
|
} | {
|
package/dist/delivery.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../src/delivery.ts"],"names":[],"mappings":"AAEA,OAAO,EAqBL,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAEzB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAsF,gBAAgB,EAA0Q,MAAM,qBAAqB,CAAC;AAKxa,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAsB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../src/delivery.ts"],"names":[],"mappings":"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"}
|
package/dist/delivery.js
CHANGED
|
@@ -121,7 +121,7 @@ function assertNoLocalCredSourceFlags(v, injected) {
|
|
|
121
121
|
* cred, the registry and the $SYS pair from it only failed later, after the dial, on a symptom. An
|
|
122
122
|
* injected store is the composition's only credential source, so there the root holds no trust
|
|
123
123
|
* material and a missing `.cotal/` stays allowed, as {@link recordDeliveryPid} documents. */
|
|
124
|
-
function daemonRoot(v, injected) {
|
|
124
|
+
export function daemonRoot(v, injected) {
|
|
125
125
|
if (v.root !== undefined) {
|
|
126
126
|
const root = resolve(v.root);
|
|
127
127
|
if (!existsSync(join(root, ".cotal")))
|
|
@@ -313,7 +313,7 @@ export async function runDelivery(args, store, onStarted) {
|
|
|
313
313
|
// of this. Cleaning up a lease must not turn a start-up failure into a quiet one.
|
|
314
314
|
let releaseOnStartupFailure;
|
|
315
315
|
try {
|
|
316
|
-
const started = await runStartedDelivery(args, store, (r) => { releaseOnStartupFailure = r; });
|
|
316
|
+
const started = await runStartedDelivery(args, store, (r) => { releaseOnStartupFailure = r; }, { kind: "cli" });
|
|
317
317
|
if (onStarted)
|
|
318
318
|
await onStarted(started);
|
|
319
319
|
}
|
|
@@ -341,7 +341,7 @@ export async function startDeliveryService(inputs) {
|
|
|
341
341
|
throw new Error("delivery: hosted SecretStore identity does not match the assigned store identity");
|
|
342
342
|
let releaseOnStartupFailure;
|
|
343
343
|
try {
|
|
344
|
-
const started = await runStartedDelivery({ values: { space: inputs.space, server: inputs.servers }, positionals: [], raw: [] }, inputs.store, (release) => { releaseOnStartupFailure = release; }, inputs);
|
|
344
|
+
const started = await runStartedDelivery({ values: { space: inputs.space, server: inputs.servers }, positionals: [], raw: [] }, inputs.store, (release) => { releaseOnStartupFailure = release; }, { kind: "hosted", inputs });
|
|
345
345
|
return {
|
|
346
346
|
readiness: () => ({ ...started.status(), context: inputs.context }),
|
|
347
347
|
drain: started.close,
|
|
@@ -354,9 +354,38 @@ export async function startDeliveryService(inputs) {
|
|
|
354
354
|
throw error;
|
|
355
355
|
}
|
|
356
356
|
}
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
357
|
+
const consoleLog = { out: (line) => console.log(line), err: (line) => console.error(line) };
|
|
358
|
+
/**
|
|
359
|
+
* Open one space's delivery context as a lane of a multi-space host. It reads what
|
|
360
|
+
* `cotal deliver --space` reads, from one workstation root: the space's own credential, the
|
|
361
|
+
* registry record, and the `$SYS` pair, each resolved once for this space and bound into the
|
|
362
|
+
* lane's closures. It owns nothing process-wide: no signal handler, no pidfile, no start-up fault
|
|
363
|
+
* guard, no `process.exit`. A broker loss, an expired credential or a lost lease closes the lane and
|
|
364
|
+
* settles its `lost`; the other lanes of the process are untouched. Closing it quiesces Plane-3,
|
|
365
|
+
* releases the lease and closes every connection the lane holds.
|
|
366
|
+
*/
|
|
367
|
+
export async function openDeliveryLane(options) {
|
|
368
|
+
const values = { space: options.space, server: options.server, ...(options.rootNamed ? { root: options.root } : {}), ...(options.tls ? { tls: "" } : {}) };
|
|
369
|
+
let releaseOnStartupFailure;
|
|
370
|
+
try {
|
|
371
|
+
const started = await runStartedDelivery({ values, positionals: [], raw: [] }, undefined, (release) => { releaseOnStartupFailure = release; }, { kind: "lane", root: options.root, log: options.log });
|
|
372
|
+
// A release the close could not confirm is reported, never thrown at the host: the bucket TTL
|
|
373
|
+
// expires a row left behind, as it does for a single-space daemon.
|
|
374
|
+
return { space: options.space, lost: started.ended, close: () => started.close().catch((e) => options.log.err(`! ${e.message}`)) };
|
|
375
|
+
}
|
|
376
|
+
catch (error) {
|
|
377
|
+
// The start-up fault is the report; a row the release left behind is the bucket TTL's to expire.
|
|
378
|
+
await releaseOnStartupFailure?.().catch((e) => options.log.err(`! ${e.message}`));
|
|
379
|
+
throw error;
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
/** Every entry gets the same result, so a start-up path that hands back nothing fails to compile.
|
|
383
|
+
* The hosted entry stamps the status with its context; the CLI runner owns its own wait; a lane
|
|
384
|
+
* reports `ended`, which settles with what the context lost once it has closed. */
|
|
385
|
+
async function runStartedDelivery(args, store, publishReleaser, owner) {
|
|
386
|
+
const hosted = owner.kind === "hosted" ? owner.inputs : undefined;
|
|
387
|
+
const held = owner.kind !== "cli";
|
|
388
|
+
const log = owner.kind === "lane" ? owner.log : consoleLog;
|
|
360
389
|
const v = args.values;
|
|
361
390
|
const shard = v.shard ? Number(v.shard) : 0;
|
|
362
391
|
const shards = v.shards ? Number(v.shards) : 1;
|
|
@@ -370,7 +399,7 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
370
399
|
assertNoLocalCredSourceFlags(v, store);
|
|
371
400
|
// Every workstation read below (cred, registry, $SYS pair, membership feed, pidfile) uses this one
|
|
372
401
|
// root. A hosted context names its own state directory and borrows no cwd.
|
|
373
|
-
const root = hosted?.stateDir ?? daemonRoot(v, store);
|
|
402
|
+
const root = hosted?.stateDir ?? (owner.kind === "lane" ? owner.root : daemonRoot(v, store));
|
|
374
403
|
// Space comes from --space (the CLI passes it). Only --dev-mint may derive it from the local signer.
|
|
375
404
|
const space = v.space ?? (v["dev-mint"] !== undefined ? soleSpaceOf(authDir(root)) : undefined);
|
|
376
405
|
if (!space)
|
|
@@ -432,7 +461,7 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
432
461
|
// host and the run gets past the reachability refusal. The hosted (injected-store) daemon learns
|
|
433
462
|
// its target from argv and stays silent here.
|
|
434
463
|
if (store === undefined)
|
|
435
|
-
|
|
464
|
+
log.err(registered !== undefined
|
|
436
465
|
? `• delivery: space "${space}" is registered at ${server} (meshes entry) - dialing it${tls ? " with TLS required" : ""}`
|
|
437
466
|
: `• delivery: no meshes entry for "${space}" - dialing ${server}${v.server !== undefined ? " (--server)" : " (the local default)"}${tls ? " with TLS required" : ""}`);
|
|
438
467
|
if (!(await isReachable(server, { creds: creds.initial, ...(tls ? { tls: true } : {}) }))) {
|
|
@@ -442,15 +471,15 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
442
471
|
// record is a broker elsewhere that only its own operator can start, so `Run: cotal up` here
|
|
443
472
|
// would prescribe starting a DIFFERENT, local mesh under that name.
|
|
444
473
|
if (registered !== undefined) {
|
|
445
|
-
|
|
474
|
+
log.err(registered.origin === "manual" || registered.origin === "catalog"
|
|
446
475
|
? `✗ delivery: no broker answered at ${server} - "${space}" is registered here but its mesh is not up; start it where it runs, or \`cotal meshes rm ${space}\` to unregister it`
|
|
447
476
|
: `✗ delivery: no mesh running at ${server} - mesh "${space}" is recorded at ${registered.root} but not running; run \`cotal up\` there to restart`);
|
|
448
|
-
if (
|
|
477
|
+
if (held)
|
|
449
478
|
throw new Error(`delivery: no broker answered at ${server}`);
|
|
450
479
|
process.exit(1);
|
|
451
480
|
}
|
|
452
|
-
|
|
453
|
-
if (
|
|
481
|
+
log.err(`✗ delivery: can't reach NATS at ${server}. Run: cotal up`);
|
|
482
|
+
if (held)
|
|
454
483
|
throw new Error(`delivery: can't reach NATS at ${server}`);
|
|
455
484
|
process.exit(1);
|
|
456
485
|
}
|
|
@@ -478,7 +507,7 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
478
507
|
// before it can claim that slot. A wrong-root process previously acquired and renewed lease.0,
|
|
479
508
|
// then refused every admin-rail request on the account mismatch while blocking the valid daemon.
|
|
480
509
|
await validateScanTargetAdmission(scanTarget);
|
|
481
|
-
|
|
510
|
+
log.err(`• delivery: $SYS sweeps bound to ${join(scanTarget.root, ".cotal")} (account ${scanTarget.expectedAccount})`);
|
|
482
511
|
const reloadStoreIdentity = reloadStoreIdentityOf(credsSrc);
|
|
483
512
|
// THIS daemon's connection nkey, pinned once. It is what the endpoint AUTHENTICATES as, and it is
|
|
484
513
|
// what `card.id` must carry at construction (a creds SOURCE has no cred to derive it from yet).
|
|
@@ -505,7 +534,7 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
505
534
|
// already surviving — a failed 75% renewal, the passive backstop's "still holds the previous
|
|
506
535
|
// cred" repair line — rides `warning` (#891). An operator who only sees the first watches the
|
|
507
536
|
// daemon go silent and then die at `exp` with no word of the remint it was waiting for.
|
|
508
|
-
const say = (e) =>
|
|
537
|
+
const say = (e) => log.err(`! delivery endpoint: ${e.message}`);
|
|
509
538
|
ep.on("error", say);
|
|
510
539
|
ep.on("warning", say);
|
|
511
540
|
try {
|
|
@@ -518,19 +547,19 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
518
547
|
const BROKER_GONE_MS = Number(process.env.COTAL_DELIVERY_BROKER_GONE_MS) || 15_000;
|
|
519
548
|
const BROKER_GONE_BACKSTOP_MS = Math.max(BROKER_GONE_MS, Number(process.env.COTAL_DELIVERY_BROKER_GONE_BACKSTOP_MS) || BROKER_GONE_MS * 4);
|
|
520
549
|
let stopHandler;
|
|
521
|
-
let
|
|
522
|
-
let
|
|
550
|
+
let heldStartupFailure;
|
|
551
|
+
let stopHeld;
|
|
523
552
|
const health = new DeliveryTransportHealth((reason) => {
|
|
524
|
-
|
|
553
|
+
log.err(reason === "credential-expired"
|
|
525
554
|
? "✗ delivery: credential expired without renewal"
|
|
526
555
|
: reason === "backstop"
|
|
527
556
|
? "✗ delivery: broker connection unavailable past backstop (broker unreachable), exiting (coupled to the broker)"
|
|
528
557
|
: "✗ delivery: broker connection unavailable (broker unreachable), exiting (coupled to the broker)");
|
|
529
558
|
const cause = reason === "credential-expired" ? "credential expired without renewal" : `broker connection unavailable (${reason})`;
|
|
530
|
-
if (
|
|
531
|
-
|
|
532
|
-
if (
|
|
533
|
-
|
|
559
|
+
if (held) {
|
|
560
|
+
heldStartupFailure ??= new Error(`delivery context stopped during startup: ${cause}`);
|
|
561
|
+
if (stopHeld !== undefined)
|
|
562
|
+
stopHeld(cause, reason === "credential-expired" ? "its credential, expired without renewal" : `its broker connection (${reason})`);
|
|
534
563
|
else
|
|
535
564
|
void ep.stop(); // before lease acquisition, no context-owned lease can be released
|
|
536
565
|
return;
|
|
@@ -539,7 +568,7 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
539
568
|
stopHandler(1, cause);
|
|
540
569
|
else
|
|
541
570
|
earlyStop(1);
|
|
542
|
-
}, () =>
|
|
571
|
+
}, () => log.err("! delivery: credential expired, awaiting proved renewal"), BROKER_GONE_MS, BROKER_GONE_BACKSTOP_MS);
|
|
543
572
|
// close() reads these to tell a lease read lost with a dropped socket from one the broker did not
|
|
544
573
|
// answer, and a reconnect inside the broker-gone window from one a serving daemon would have stopped for.
|
|
545
574
|
let transportDownSince;
|
|
@@ -578,7 +607,7 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
578
607
|
}
|
|
579
608
|
catch (e) {
|
|
580
609
|
if (isCasLoss(e)) {
|
|
581
|
-
|
|
610
|
+
log.err(`✗ delivery: a live lease already exists for shard ${shard} — another delivery daemon is running. Not binding.`);
|
|
582
611
|
}
|
|
583
612
|
else if (isPermissionDenied(e)) {
|
|
584
613
|
const typed = e instanceof PermissionViolationError
|
|
@@ -589,15 +618,15 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
589
618
|
const refused = typed
|
|
590
619
|
? `${typed.operation} "${typed.subject}"`
|
|
591
620
|
: e.message;
|
|
592
|
-
|
|
621
|
+
log.err(`✗ delivery: the lease write for shard ${shard} was refused (${refused}) — this credential ` +
|
|
593
622
|
`cannot write ${deliveryBucket(space)}.${leaseKey(shard)}. Not binding. Use a credential ` +
|
|
594
623
|
`holding the "delivery" profile.`);
|
|
595
624
|
}
|
|
596
625
|
else {
|
|
597
|
-
|
|
626
|
+
log.err(`✗ delivery: acquiring the lease for shard ${shard} failed: ${e.message}. Not binding.`);
|
|
598
627
|
}
|
|
599
628
|
await ep.stop();
|
|
600
|
-
if (
|
|
629
|
+
if (held)
|
|
601
630
|
throw e;
|
|
602
631
|
process.exit(1);
|
|
603
632
|
}
|
|
@@ -622,6 +651,10 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
622
651
|
// `stopping` makes the pair idempotent, so a signal arriving mid-swap cannot run both.
|
|
623
652
|
let stopping = false;
|
|
624
653
|
let unavailable;
|
|
654
|
+
/** What a held context lost when it closed itself, for its holder; unset on a deliberate close. */
|
|
655
|
+
let lost;
|
|
656
|
+
let settleEnded;
|
|
657
|
+
const ended = new Promise((resolve) => { settleEnded = resolve; });
|
|
625
658
|
let closePromise;
|
|
626
659
|
let membership;
|
|
627
660
|
let timerWriter;
|
|
@@ -660,12 +693,12 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
660
693
|
// reason first; without this line a `cotal down`, a systemd stop or Ctrl-C left the log ending on
|
|
661
694
|
// routine work, which an operator cannot tell from a silent death.
|
|
662
695
|
const onSignal = (signal, stop) => () => {
|
|
663
|
-
|
|
696
|
+
log.err(`• delivery: received ${signal}, exiting (space ${space}, shard ${shard})`);
|
|
664
697
|
stop(0);
|
|
665
698
|
};
|
|
666
699
|
const earlySigint = onSignal("SIGINT", earlyStop);
|
|
667
700
|
const earlySigterm = onSignal("SIGTERM", earlyStop);
|
|
668
|
-
if (
|
|
701
|
+
if (!held) {
|
|
669
702
|
process.on("SIGINT", earlySigint);
|
|
670
703
|
process.on("SIGTERM", earlySigterm);
|
|
671
704
|
}
|
|
@@ -769,26 +802,30 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
769
802
|
if (left !== undefined)
|
|
770
803
|
throw new Error(`delivery: the lease for shard ${shard} is still held by ${ep.ownsDeliveryLease(left.info) ? "this instance" : left.info.holder} after close`);
|
|
771
804
|
})();
|
|
805
|
+
// Settled once everything is closed, release or not, so a holder that reopens the space does so
|
|
806
|
+
// after this context's connections and lease are gone.
|
|
807
|
+
void closePromise.then(() => settleEnded(lost ?? "a deliberate close"), () => settleEnded(lost ?? "a deliberate close"));
|
|
772
808
|
return closePromise;
|
|
773
809
|
};
|
|
774
810
|
publishReleaser(close);
|
|
775
|
-
if (
|
|
811
|
+
if (!held) {
|
|
776
812
|
if (process.platform === "win32") {
|
|
777
813
|
listenForLocalStop(canonicalLocalProcessPath(DELIVERY_PIDFILE, { root, space }), () => {
|
|
778
|
-
|
|
814
|
+
log.err(`• delivery: received local stop request, exiting (space ${space}, shard ${shard})`);
|
|
779
815
|
// Assigned to earlyStop above; the later swap selects the full shutdown once ready.
|
|
780
816
|
stopHandler(0);
|
|
781
817
|
});
|
|
782
818
|
}
|
|
783
819
|
unrecordPid = recordDeliveryPid(root, space);
|
|
784
820
|
}
|
|
785
|
-
|
|
821
|
+
stopHeld = (cause, what) => {
|
|
786
822
|
unavailable = `delivery context stopped (code 1): ${cause}`;
|
|
823
|
+
lost ??= what;
|
|
787
824
|
// A later close() returns this same promise, so its failure still reaches the host.
|
|
788
825
|
close().catch(() => { });
|
|
789
826
|
};
|
|
790
|
-
if (
|
|
791
|
-
throw
|
|
827
|
+
if (heldStartupFailure !== undefined)
|
|
828
|
+
throw heldStartupFailure;
|
|
792
829
|
// A START-UP FAILURE AFTER THE ACQUIRE MUST ALSO GIVE THE SHARD BACK. Between this point and the
|
|
793
830
|
// handler swap far below, a throw would otherwise propagate out of `runDelivery` with the row
|
|
794
831
|
// still claiming the shard, stranding it for the bucket TTL exactly as an unhandled signal did -
|
|
@@ -808,13 +845,13 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
808
845
|
const earlyFault = (what, err) => {
|
|
809
846
|
process.off("uncaughtException", earlyUncaught);
|
|
810
847
|
process.off("unhandledRejection", earlyRejection);
|
|
811
|
-
|
|
812
|
-
|
|
848
|
+
log.err(`\u2717 delivery: start-up ${what} - releasing shard ${shard} before exiting`);
|
|
849
|
+
log.err(err instanceof Error ? (err.stack ?? err.message) : String(err));
|
|
813
850
|
earlyStop(1);
|
|
814
851
|
};
|
|
815
852
|
const earlyUncaught = (e) => earlyFault("faulted", e);
|
|
816
853
|
const earlyRejection = (e) => earlyFault("rejected a promise", e);
|
|
817
|
-
if (
|
|
854
|
+
if (!held) {
|
|
818
855
|
process.on("uncaughtException", earlyUncaught);
|
|
819
856
|
process.on("unhandledRejection", earlyRejection);
|
|
820
857
|
}
|
|
@@ -875,13 +912,16 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
875
912
|
revision = await ep.markDeliveryLeaseReady(shard, revision);
|
|
876
913
|
}
|
|
877
914
|
catch (error) {
|
|
878
|
-
if (
|
|
915
|
+
if (held)
|
|
879
916
|
throw error;
|
|
880
917
|
/* CLI: the renew loop's CAS failure will exit us if the lease was lost. */
|
|
881
918
|
}
|
|
882
|
-
if (
|
|
883
|
-
throw
|
|
884
|
-
|
|
919
|
+
if (heldStartupFailure !== undefined)
|
|
920
|
+
throw heldStartupFailure;
|
|
921
|
+
// A lane's holder owns its stop and says so on its own lines; `cotal down` would stop every lane.
|
|
922
|
+
log.out(owner.kind === "lane"
|
|
923
|
+
? `✓ delivery lane up (space ${space})`
|
|
924
|
+
: `✓ delivery daemon up (space ${space}${shards > 1 ? `, shard ${shard}/${shards}` : ""}) — stop with: cotal down`);
|
|
885
925
|
// Broker-sourced graph membership: a SEPARATE module on its OWN connections (system-account CONNZ
|
|
886
926
|
// reader + data-account feed writer), isolated from Plane-3. Fail-soft — a missing cred / start error
|
|
887
927
|
// logs and the graph degrades to traffic-only; Plane-3 delivery is never affected.
|
|
@@ -893,17 +933,17 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
893
933
|
// `accountId` is the account THIS daemon's own cred authenticates as (pinned above), not a
|
|
894
934
|
// `.cotal/membership.json` read: the file was never an independent source (same directory as the
|
|
895
935
|
// creds, so a wrong root was wrong for both) and a hosted composition has none.
|
|
896
|
-
({ handle: membership, down: membershipDown } = await startMembership({ space, server, accountId: scanTarget.expectedAccount, root }, store));
|
|
936
|
+
({ handle: membership, down: membershipDown } = await startMembership({ space, server, accountId: scanTarget.expectedAccount, root }, store, log));
|
|
897
937
|
}
|
|
898
938
|
catch (e) {
|
|
899
939
|
membershipDown = e.message;
|
|
900
|
-
|
|
940
|
+
log.err(`! membership: failed to start (${membershipDown}); graph membership degraded, delivery unaffected`);
|
|
901
941
|
}
|
|
902
942
|
// A store read can finish after a startup health fault closed the endpoint. Dispose the feed
|
|
903
943
|
// it just returned before rejecting; it did not exist when the original close ran.
|
|
904
|
-
if (
|
|
944
|
+
if (heldStartupFailure !== undefined) {
|
|
905
945
|
await membership?.stop();
|
|
906
|
-
throw
|
|
946
|
+
throw heldStartupFailure;
|
|
907
947
|
}
|
|
908
948
|
// The TIMER WRITER (SPEC 13.2): the pump that turns workflow `.schedule` requests into armed
|
|
909
949
|
// broker schedules. Hosted here because this daemon is the space's standing server-side process;
|
|
@@ -942,7 +982,7 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
942
982
|
}
|
|
943
983
|
timerWriter = { handle, nc };
|
|
944
984
|
backoffMs = 5_000;
|
|
945
|
-
|
|
985
|
+
log.out(`✓ timer writer up (space ${space}) — workflow pauses on this space expire`);
|
|
946
986
|
await handle.done; // resolves only through stop(); a fault rejects
|
|
947
987
|
return;
|
|
948
988
|
}
|
|
@@ -954,7 +994,7 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
954
994
|
catch { /* already closed */ }
|
|
955
995
|
return;
|
|
956
996
|
}
|
|
957
|
-
|
|
997
|
+
log.err(`! timer writer: down (${e.message}) — retrying in ${Math.round(backoffMs / 1000)}s; pauses on this space do not expire until it is back`);
|
|
958
998
|
try {
|
|
959
999
|
await nc?.drain();
|
|
960
1000
|
}
|
|
@@ -966,9 +1006,10 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
966
1006
|
}
|
|
967
1007
|
})();
|
|
968
1008
|
const shutdown = (code, cause) => {
|
|
969
|
-
if (
|
|
1009
|
+
if (held) {
|
|
970
1010
|
unavailable = cause ? `delivery context stopped (code ${code}): ${cause}` : `delivery context stopped (code ${code})`;
|
|
971
|
-
|
|
1011
|
+
lost ??= cause ?? `its context (code ${code})`;
|
|
1012
|
+
close().catch(() => { }); // as in stopHeld, the holder's own close() reports it
|
|
972
1013
|
return;
|
|
973
1014
|
}
|
|
974
1015
|
if (stopping)
|
|
@@ -1068,7 +1109,7 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
1068
1109
|
// knows nothing of the renew timer, the membership feed or the timer writer - would run first and
|
|
1069
1110
|
// set `stopping`, making the full teardown a no-op. `stopping` still guards the swap itself, so a
|
|
1070
1111
|
// signal delivered between these two statements is handled exactly once.
|
|
1071
|
-
if (
|
|
1112
|
+
if (!held) {
|
|
1072
1113
|
process.off("SIGINT", earlySigint);
|
|
1073
1114
|
process.off("SIGTERM", earlySigterm);
|
|
1074
1115
|
// The start-up fault guards go too, and BY REFERENCE: `removeAllListeners` here would strip
|
|
@@ -1133,7 +1174,7 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
1133
1174
|
if (state === leaseState)
|
|
1134
1175
|
return;
|
|
1135
1176
|
leaseState = state;
|
|
1136
|
-
|
|
1177
|
+
log.err(`${state === "held" ? "✓" : "!"} delivery: ${what} (space ${space}, shard ${shard})`);
|
|
1137
1178
|
};
|
|
1138
1179
|
/** Announce going quiet, once per quiesced episode. Same rule as {@link noteLease}: the renew ticks
|
|
1139
1180
|
* forever, and an operator needs the edge, not a log line per tick. */
|
|
@@ -1142,7 +1183,7 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
1142
1183
|
if (quiesced)
|
|
1143
1184
|
return;
|
|
1144
1185
|
quiesced = true;
|
|
1145
|
-
|
|
1186
|
+
log.err(`! delivery: stopped serving shard ${shard} (fan-out, reader and control unbound) while it re-checks who owns the lease (space ${space})`);
|
|
1146
1187
|
};
|
|
1147
1188
|
/** Resume serving, and CLOSE the quiesced episode so a later one announces itself again. Every
|
|
1148
1189
|
* caller has just proven ownership; `why` is what proved it, since "it started serving again" is
|
|
@@ -1154,7 +1195,7 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
1154
1195
|
await ep.rearmPlane3();
|
|
1155
1196
|
}
|
|
1156
1197
|
catch (e) {
|
|
1157
|
-
|
|
1198
|
+
log.err(`! delivery: ${why} but could not resume Plane-3 (${e.message})`);
|
|
1158
1199
|
return;
|
|
1159
1200
|
}
|
|
1160
1201
|
// `ready` MEANS "THE RESPONDER IS UP", and it is what `ensureDelivery` waits on and what the
|
|
@@ -1169,13 +1210,13 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
1169
1210
|
revision = await ep.markDeliveryLeaseReady(shard, revision);
|
|
1170
1211
|
}
|
|
1171
1212
|
catch (e) {
|
|
1172
|
-
|
|
1213
|
+
log.err(`! delivery: resumed serving but could not mark the lease ready (${e.message}); the next renew re-synchronises`);
|
|
1173
1214
|
}
|
|
1174
1215
|
}
|
|
1175
1216
|
if (!quiesced)
|
|
1176
1217
|
return;
|
|
1177
1218
|
quiesced = false;
|
|
1178
|
-
|
|
1219
|
+
log.err(`\u2713 delivery: serving shard ${shard} again, ${why} (space ${space})`);
|
|
1179
1220
|
};
|
|
1180
1221
|
// ── LEASE-LOSS WATCH (#1596): the row changing hands must be FELT, not polled into view ────────
|
|
1181
1222
|
//
|
|
@@ -1228,7 +1269,7 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
1228
1269
|
noteQuiesce();
|
|
1229
1270
|
}
|
|
1230
1271
|
catch (e) {
|
|
1231
|
-
|
|
1272
|
+
log.err(`! delivery: could not quiesce Plane-3 on a lease watch event (${e.message})`);
|
|
1232
1273
|
}
|
|
1233
1274
|
const reading = await readOwnLease();
|
|
1234
1275
|
switch (leaseAction(reading)) {
|
|
@@ -1251,23 +1292,23 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
1251
1292
|
}
|
|
1252
1293
|
catch (e) {
|
|
1253
1294
|
revision = undefined;
|
|
1254
|
-
|
|
1295
|
+
log.err(isCasLoss(e)
|
|
1255
1296
|
? `✗ delivery: a lease watch event found the key gone and another daemon has taken shard ${shard} (${e.message}), exiting so the holder is single`
|
|
1256
1297
|
: `✗ delivery: a lease watch event found its lease key for shard ${shard} gone and it could not re-acquire it (${e.message}); it serves only under its lease, so it exits`);
|
|
1257
|
-
shutdown(1);
|
|
1298
|
+
shutdown(1, isCasLoss(e) ? "its lease, taken by another daemon" : "its lease, which it could not re-acquire");
|
|
1258
1299
|
}
|
|
1259
1300
|
return;
|
|
1260
1301
|
case "exit":
|
|
1261
1302
|
revision = undefined;
|
|
1262
|
-
|
|
1263
|
-
shutdown(1);
|
|
1303
|
+
log.err(`✗ delivery: a lease watch event read the key as held by ${reading.kind === "taken" ? reading.by : "another daemon"}, not by this process, exiting so the holder is single`);
|
|
1304
|
+
shutdown(1, "its lease, taken by another daemon");
|
|
1264
1305
|
return;
|
|
1265
1306
|
}
|
|
1266
|
-
})().catch((e) =>
|
|
1307
|
+
})().catch((e) => log.err(`! delivery: the lease watch trigger faulted (${e.message}); the renew interval remains the arbiter`));
|
|
1267
1308
|
});
|
|
1268
|
-
if (
|
|
1309
|
+
if (held && stopping) {
|
|
1269
1310
|
stopLeaseWatch?.();
|
|
1270
|
-
throw
|
|
1311
|
+
throw heldStartupFailure ?? new Error(unavailable ?? "delivery context stopped during startup");
|
|
1271
1312
|
}
|
|
1272
1313
|
startedUp = true;
|
|
1273
1314
|
// Renew the lease at ~half the TTL so a healthy holder never self-evicts.
|
|
@@ -1330,7 +1371,7 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
1330
1371
|
noteQuiesce();
|
|
1331
1372
|
}
|
|
1332
1373
|
catch (e) {
|
|
1333
|
-
|
|
1374
|
+
log.err(`! delivery: could not quiesce Plane-3 while checking the lease (${e.message})`);
|
|
1334
1375
|
}
|
|
1335
1376
|
const reading = await readOwnLease();
|
|
1336
1377
|
switch (leaseAction(reading)) {
|
|
@@ -1370,18 +1411,18 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
1370
1411
|
// is not ours exists, which is the genuine loss. Any other refusal, such as 10023 from
|
|
1371
1412
|
// a store over its cap, leaves this process with no lease, and it is quoted as it came.
|
|
1372
1413
|
revision = undefined;
|
|
1373
|
-
|
|
1414
|
+
log.err(isCasLoss(e)
|
|
1374
1415
|
? `✗ delivery: lost the lease (${why}) and another daemon has taken shard ${shard} (${e.message}), exiting so the holder is single`
|
|
1375
1416
|
: `✗ delivery: found its lease key for shard ${shard} gone (renew: ${why}) and could not re-acquire it (${e.message}); it serves only under its lease, so it exits`);
|
|
1376
|
-
shutdown(1);
|
|
1417
|
+
shutdown(1, isCasLoss(e) ? "its lease, taken by another daemon" : "its lease, which it could not re-acquire");
|
|
1377
1418
|
}
|
|
1378
1419
|
return;
|
|
1379
1420
|
case "exit":
|
|
1380
1421
|
// Another daemon's row. Forget our revision first: releasing on the way out would delete
|
|
1381
1422
|
// the holder's lease and turn a clean handover into an unheld shard.
|
|
1382
1423
|
revision = undefined;
|
|
1383
|
-
|
|
1384
|
-
shutdown(1);
|
|
1424
|
+
log.err(`✗ delivery: the lease for shard ${shard} is held by ${reading.kind === "taken" ? reading.by : "another daemon"}, not by this process (renew: ${why}), exiting so the holder is single`);
|
|
1425
|
+
shutdown(1, "its lease, taken by another daemon");
|
|
1385
1426
|
return;
|
|
1386
1427
|
}
|
|
1387
1428
|
}
|
|
@@ -1393,6 +1434,7 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
1393
1434
|
return {
|
|
1394
1435
|
status: () => unavailable !== undefined ? { state: "unavailable", cause: unavailable } : { state: stopping ? "draining" : "ready" },
|
|
1395
1436
|
close,
|
|
1437
|
+
ended,
|
|
1396
1438
|
};
|
|
1397
1439
|
}
|
|
1398
1440
|
//# sourceMappingURL=delivery.js.map
|
package/dist/delivery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery.js","sourceRoot":"","sources":["../src/delivery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"delivery.js","sourceRoot":"","sources":["../src/delivery.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { assertUninjectedCredsSharesCwdRoot, DELIVERY_CREDS_KIND, deliveryCredsKey, reloadStoreIdentityFromCredsPath, reloadStoreIdentityOf, runDelivery, startDeliveryService } from "./delivery.js";
|
|
1
|
+
import { assertUninjectedCredsSharesCwdRoot, DELIVERY_CREDS_KIND, deliveryCredsKey, openDeliveryLane, reloadStoreIdentityFromCredsPath, reloadStoreIdentityOf, runDelivery, startDeliveryService, type DeliveryLaneOptions, type DeliveryLog } from "./delivery.js";
|
|
2
2
|
import { runFeedbackIntake } from "./feedback-intake.js";
|
|
3
|
-
export { assertUninjectedCredsSharesCwdRoot, DELIVERY_CREDS_KIND, deliveryCredsKey, reloadStoreIdentityFromCredsPath, reloadStoreIdentityOf, runDelivery, startDeliveryService };
|
|
3
|
+
export { assertUninjectedCredsSharesCwdRoot, DELIVERY_CREDS_KIND, deliveryCredsKey, openDeliveryLane, reloadStoreIdentityFromCredsPath, reloadStoreIdentityOf, runDelivery, startDeliveryService, type DeliveryLaneOptions, type DeliveryLog };
|
|
4
|
+
export { runDeliveryHost } from "./delivery-host.js";
|
|
4
5
|
export { runFeedbackIntake };
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kCAAkC,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,gCAAgC,EAAE,qBAAqB,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,kCAAkC,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gCAAgC,EAAE,qBAAqB,EAAE,WAAW,EAAE,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACpQ,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAwFzD,OAAO,EAAE,kCAAkC,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gCAAgC,EAAE,qBAAqB,EAAE,WAAW,EAAE,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAE,CAAC;AAC/O,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -8,8 +8,9 @@
|
|
|
8
8
|
import { deprecatedDaemonEntry, deprecatedDaemonEntrySummary, warnDeprecatedDaemonEntry } from "@cotal-ai/workspace";
|
|
9
9
|
import { feedbackIntakePreset, feedbackIntakeProcess, runNativeFeedbackIntake, validateNativeIntakeArguments } from "./feedback-intake-service.js";
|
|
10
10
|
import { registry } from "@cotal-ai/core";
|
|
11
|
-
import { assertUninjectedCredsSharesCwdRoot, DELIVERY_CREDS_KIND, deliveryCredsKey, reloadStoreIdentityFromCredsPath, reloadStoreIdentityOf, runDelivery, startDeliveryService } from "./delivery.js";
|
|
11
|
+
import { assertUninjectedCredsSharesCwdRoot, DELIVERY_CREDS_KIND, deliveryCredsKey, openDeliveryLane, reloadStoreIdentityFromCredsPath, reloadStoreIdentityOf, runDelivery, startDeliveryService } from "./delivery.js";
|
|
12
12
|
import { runFeedbackIntake } from "./feedback-intake.js";
|
|
13
|
+
import { runDeliveryHost } from "./delivery-host.js";
|
|
13
14
|
import { deliveryPreset, deliveryService, nativeDeliveryCommand } from "./delivery-service.js";
|
|
14
15
|
import { runPending } from "./pending.js";
|
|
15
16
|
import { pendingFlags, pendingView, validatePendingArguments } from "./pending-view.js";
|
|
@@ -20,7 +21,7 @@ const deliveryCommands = [
|
|
|
20
21
|
positionals: "<agent>", usage: "cotal pending <agent> [--durable <exact-dm-durable>] [--limit <1..100>] [--space <s>] [--json|--plain]",
|
|
21
22
|
flags: pendingFlags, outputs: ["json", "plain"], reads: true, prepareMeshTarget: false,
|
|
22
23
|
validate: validatePendingArguments, run: pendingView,
|
|
23
|
-
examples: ["cotal pending
|
|
24
|
+
examples: [{ command: "cotal pending <agent>", note: "count the DMs waiting for an agent, unread" }, { command: "cotal pending <agent> --json", note: "the same as one JSON document" }],
|
|
24
25
|
},
|
|
25
26
|
{
|
|
26
27
|
kind: "command",
|
|
@@ -29,10 +30,11 @@ const deliveryCommands = [
|
|
|
29
30
|
name: "__daemon-deliver",
|
|
30
31
|
hidden: true,
|
|
31
32
|
group: "Manager",
|
|
32
|
-
summary: "run the delivery daemon — the server-side Plane-3 durable backstop [--space <s>] [--server <url>] [--creds <file>] (auth mode only; N=1); or `deliver pending <name>` to inspect a recipient's held DMs",
|
|
33
|
+
summary: "run the delivery daemon — the server-side Plane-3 durable backstop [--space <s>] [--server <url>] [--creds <file>] (auth mode only; N=1); or one lane per space from one process with --spaces <manifest> --server <url>; or `deliver pending <name>` to inspect a recipient's held DMs",
|
|
33
34
|
positionals: "[pending <name> [--limit <n>] [--durable <name>]]",
|
|
34
35
|
flags: [
|
|
35
36
|
{ name: "space", type: "string", value: "<s>", description: "space to serve (required; the scoped cred doesn't encode it)" },
|
|
37
|
+
{ name: "spaces", type: "string", value: "<manifest>", description: "serve every space in this JSON manifest from one process, one delivery lane each, all on --server (replaces --space)" },
|
|
36
38
|
{ name: "server", type: "string", value: "<url>", description: "broker URL (default: the broker recorded for --space, else the local mesh)" },
|
|
37
39
|
{ name: "tls", type: "boolean", description: "REQUIRE TLS to the broker - refuse to connect if it is not offered" },
|
|
38
40
|
{ name: "creds", type: "string", value: "<file>", description: "pre-minted scoped delivery cred, or (with `pending`) an admin cred" },
|
|
@@ -45,7 +47,7 @@ const deliveryCommands = [
|
|
|
45
47
|
{ name: "json", type: "boolean", description: "pending: print the facts as one JSON object" },
|
|
46
48
|
],
|
|
47
49
|
prepareMeshTarget: false,
|
|
48
|
-
run: (args) => (args.positionals[0] === "pending" ? runPending(args) : runDelivery(args)),
|
|
50
|
+
run: (args) => (args.values.spaces !== undefined ? runDeliveryHost(args) : args.positionals[0] === "pending" ? runPending(args) : runDelivery(args)),
|
|
49
51
|
},
|
|
50
52
|
{
|
|
51
53
|
kind: "command",
|
|
@@ -90,6 +92,7 @@ const commands = deliveryCommands.map((command) => command === intake ? { ...com
|
|
|
90
92
|
const daemonDeliver = deliveryCommands.find((command) => command.name === "__daemon-deliver");
|
|
91
93
|
const deliver = deprecatedDaemonEntry("deliver", daemonDeliver, (args) => args.positionals[0] === "pending" ? "deliver pending" : "deliver");
|
|
92
94
|
registry.register(...commands, deliver, nativeIntake, feedbackIntakePreset, feedbackIntakeProcess, nativeDeliveryCommand, deliveryPreset, deliveryService);
|
|
93
|
-
export { assertUninjectedCredsSharesCwdRoot, DELIVERY_CREDS_KIND, deliveryCredsKey, reloadStoreIdentityFromCredsPath, reloadStoreIdentityOf, runDelivery, startDeliveryService };
|
|
95
|
+
export { assertUninjectedCredsSharesCwdRoot, DELIVERY_CREDS_KIND, deliveryCredsKey, openDeliveryLane, reloadStoreIdentityFromCredsPath, reloadStoreIdentityOf, runDelivery, startDeliveryService };
|
|
96
|
+
export { runDeliveryHost } from "./delivery-host.js";
|
|
94
97
|
export { runFeedbackIntake };
|
|
95
98
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AACrH,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AACnJ,OAAO,EAAE,QAAQ,EAAgB,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,kCAAkC,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,gCAAgC,EAAE,qBAAqB,EAAE,WAAW,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/membership.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type MembershipFeedHandle, type SecretStore } from "@cotal-ai/core";
|
|
2
|
+
import type { DeliveryLog } from "./delivery.js";
|
|
2
3
|
/**
|
|
3
4
|
* The delivery daemon's thin composition root for the broker-sourced graph-membership feed. Every
|
|
4
5
|
* credential it needs — the DATA-account rw cred AND the SYSTEM-account observer — now resolves
|
|
@@ -33,5 +34,5 @@ export declare function startMembership(opts: {
|
|
|
33
34
|
server: string;
|
|
34
35
|
accountId: string;
|
|
35
36
|
root?: string;
|
|
36
|
-
}, store?: SecretStore): Promise<MembershipStart>;
|
|
37
|
+
}, store?: SecretStore, log?: DeliveryLog): Promise<MembershipStart>;
|
|
37
38
|
//# sourceMappingURL=membership.d.ts.map
|
package/dist/membership.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"membership.d.ts","sourceRoot":"","sources":["../src/membership.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,KAAK,oBAAoB,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"membership.d.ts","sourceRoot":"","sources":["../src/membership.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,KAAK,oBAAoB,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGrH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;+FAG+F;AAC/F,MAAM,MAAM,eAAe,GAAG;IAAE,MAAM,EAAE,oBAAoB,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,MAAM,CAAC,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAExH,wBAAsB,eAAe,CACnC,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EACzE,KAAK,CAAC,EAAE,WAAW,EACnB,GAAG,GAAE,WAAsF,GAC1F,OAAO,CAAC,eAAe,CAAC,CA0H1B"}
|
package/dist/membership.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { inspectCredHealth, startMembershipFeed } from "@cotal-ai/core";
|
|
2
2
|
import { CONNECTION_EVICTOR_CREDS_KIND, membershipRwCredsKey, MEMBERSHIP_OBSERVER_CREDS_KIND, MEMBERSHIP_RW_CREDS_KIND, workspaceSecretStore } from "@cotal-ai/workspace";
|
|
3
3
|
import { loadSysPair, observerTenancyProblem, repairAdvice, tornRotationProblem } from "./sys-creds.js";
|
|
4
|
-
export async function startMembership(opts, store) {
|
|
4
|
+
export async function startMembership(opts, store, log = { out: (line) => console.log(line), err: (line) => console.error(line) }) {
|
|
5
5
|
// `injected` is the composition root's own fact, decided here before any I/O — never inferred by
|
|
6
6
|
// probing the store or sniffing `.cotal/`, which would report "workstation" for a hosted daemon
|
|
7
7
|
// and emit a CLI repair the host cannot run (design §4.1). The workstation arm carries the
|
|
@@ -47,7 +47,7 @@ export async function startMembership(opts, store) {
|
|
|
47
47
|
? `re-sign the data-account half into the store under ${rwKey} (no rotation needed)`
|
|
48
48
|
: "run `cotal up` to provision the data-account half (no rotation needed)"
|
|
49
49
|
: `the $SYS-signed creds can only be re-minted while the system account is being provisioned: ${repairAdvice(source, sysMissing)}`}`;
|
|
50
|
-
|
|
50
|
+
log.err(`• membership: ${down}. The graph falls back to traffic-only; delivery is unaffected.`);
|
|
51
51
|
return { down };
|
|
52
52
|
}
|
|
53
53
|
const obsCreds = sys.observer; // required above; absence already returned
|
|
@@ -57,7 +57,7 @@ export async function startMembership(opts, store) {
|
|
|
57
57
|
// DIAGNOSIS (a line naming both accounts) rather than the guarantee.
|
|
58
58
|
const tenancy = observerTenancyProblem(obsCreds, opts.accountId);
|
|
59
59
|
if (tenancy) {
|
|
60
|
-
|
|
60
|
+
log.err(`! membership: ${tenancy}; graph membership degraded, delivery unaffected`);
|
|
61
61
|
return { down: tenancy };
|
|
62
62
|
}
|
|
63
63
|
// A TORN rotation is the other way this cred goes broker-dead without a byte of its own changing:
|
|
@@ -68,7 +68,7 @@ export async function startMembership(opts, store) {
|
|
|
68
68
|
if (sys.evictor !== undefined) {
|
|
69
69
|
const torn = tornRotationProblem(obsCreds, sys.evictor, () => repairAdvice(source, [MEMBERSHIP_OBSERVER_CREDS_KIND, CONNECTION_EVICTOR_CREDS_KIND]));
|
|
70
70
|
if (torn) {
|
|
71
|
-
|
|
71
|
+
log.err(`! membership: ${torn}; graph membership degraded, delivery unaffected`);
|
|
72
72
|
return { down: torn };
|
|
73
73
|
}
|
|
74
74
|
}
|
|
@@ -82,7 +82,7 @@ export async function startMembership(opts, store) {
|
|
|
82
82
|
const down = obs.state === "expired"
|
|
83
83
|
? `the $SYS observer cred (kind "${MEMBERSHIP_OBSERVER_CREDS_KIND}") EXPIRED ${new Date((obs.exp ?? 0) * 1000).toISOString()} and the broker denies it - it is rotation-renewed, so nothing re-signs it: ${repairAdvice(source, [MEMBERSHIP_OBSERVER_CREDS_KIND])} (agents, creds and data are untouched)`
|
|
84
84
|
: `the $SYS observer cred (kind "${MEMBERSHIP_OBSERVER_CREDS_KIND}") is unreadable (${obs.error})`;
|
|
85
|
-
|
|
85
|
+
log.err(`! membership: ${down}; graph membership degraded, delivery unaffected`);
|
|
86
86
|
return { down };
|
|
87
87
|
}
|
|
88
88
|
let obsFirstRead = false;
|
|
@@ -115,8 +115,9 @@ export async function startMembership(opts, store) {
|
|
|
115
115
|
return cur;
|
|
116
116
|
},
|
|
117
117
|
intervalMs,
|
|
118
|
+
log: (m) => log.err(`! membership: ${m}`),
|
|
118
119
|
});
|
|
119
|
-
|
|
120
|
+
log.out(`✓ membership feed up (broker-sourced channel membership) — space ${opts.space}`);
|
|
120
121
|
return { handle };
|
|
121
122
|
}
|
|
122
123
|
//# sourceMappingURL=membership.js.map
|
package/dist/membership.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"membership.js","sourceRoot":"","sources":["../src/membership.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAA+C,MAAM,gBAAgB,CAAC;AACrH,OAAO,EAAE,6BAA6B,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC1K,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,YAAY,EAAE,mBAAmB,EAAuB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"membership.js","sourceRoot":"","sources":["../src/membership.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cotal-ai/delivery",
|
|
3
3
|
"description": "Cotal delivery daemon: the server-side Plane-3 durable backstop (fan-out writer + trusted reader + membership/ACL authority), a scoped least-privilege NATS client co-located with the broker.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.110.0",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
}
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@cotal-ai/core": "0.
|
|
22
|
-
"@cotal-ai/workspace": "0.
|
|
21
|
+
"@cotal-ai/core": "0.110.0",
|
|
22
|
+
"@cotal-ai/workspace": "0.110.0",
|
|
23
23
|
"@nats-io/jetstream": "^3.4.0"
|
|
24
24
|
},
|
|
25
25
|
"files": [
|