@cotal-ai/auth 0.12.0 → 0.13.1
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/admission-mediator.d.ts +319 -0
- package/dist/admission-mediator.d.ts.map +1 -0
- package/dist/admission-mediator.js +1033 -0
- package/dist/admission-mediator.js.map +1 -0
- package/dist/auth-admin.d.ts +29 -0
- package/dist/auth-admin.d.ts.map +1 -0
- package/dist/auth-admin.js +224 -0
- package/dist/auth-admin.js.map +1 -0
- package/dist/authority-client.d.ts +215 -0
- package/dist/authority-client.d.ts.map +1 -0
- package/dist/authority-client.js +346 -0
- package/dist/authority-client.js.map +1 -0
- package/dist/barrier-evict.d.ts +16 -0
- package/dist/barrier-evict.d.ts.map +1 -0
- package/dist/barrier-evict.js +100 -0
- package/dist/barrier-evict.js.map +1 -0
- package/dist/connect-reader.d.ts +72 -0
- package/dist/connect-reader.d.ts.map +1 -0
- package/dist/connect-reader.js +154 -0
- package/dist/connect-reader.js.map +1 -0
- package/dist/continuity.d.ts.map +1 -1
- package/dist/continuity.js +3 -0
- package/dist/continuity.js.map +1 -1
- package/dist/credential-ledger.d.ts +343 -0
- package/dist/credential-ledger.d.ts.map +1 -0
- package/dist/credential-ledger.js +732 -0
- package/dist/credential-ledger.js.map +1 -0
- package/dist/drain-repair.d.ts +95 -0
- package/dist/drain-repair.d.ts.map +1 -0
- package/dist/drain-repair.js +305 -0
- package/dist/drain-repair.js.map +1 -0
- package/dist/idp.d.ts +19 -0
- package/dist/idp.d.ts.map +1 -1
- package/dist/idp.js +17 -0
- package/dist/idp.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -2
- package/dist/index.js.map +1 -1
- package/dist/issuer.d.ts +8 -0
- package/dist/issuer.d.ts.map +1 -1
- package/dist/issuer.js +4 -2
- package/dist/issuer.js.map +1 -1
- package/dist/ledger-scanner.d.ts +98 -0
- package/dist/ledger-scanner.d.ts.map +1 -0
- package/dist/ledger-scanner.js +352 -0
- package/dist/ledger-scanner.js.map +1 -0
- package/dist/ledger.d.ts +7 -0
- package/dist/ledger.d.ts.map +1 -1
- package/dist/ledger.js +53 -5
- package/dist/ledger.js.map +1 -1
- package/dist/lifecycle-registry.d.ts +397 -0
- package/dist/lifecycle-registry.d.ts.map +1 -0
- package/dist/lifecycle-registry.js +819 -0
- package/dist/lifecycle-registry.js.map +1 -0
- package/dist/permissions.d.ts +5 -1
- package/dist/permissions.d.ts.map +1 -1
- package/dist/permissions.js +29 -6
- package/dist/permissions.js.map +1 -1
- package/dist/plane-claim.d.ts +83 -0
- package/dist/plane-claim.d.ts.map +1 -0
- package/dist/plane-claim.js +290 -0
- package/dist/plane-claim.js.map +1 -0
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +2 -1
- package/dist/provider.js.map +1 -1
- package/dist/records-scanner.d.ts +78 -0
- package/dist/records-scanner.d.ts.map +1 -0
- package/dist/records-scanner.js +320 -0
- package/dist/records-scanner.js.map +1 -0
- package/dist/retirement-barrier.d.ts +217 -0
- package/dist/retirement-barrier.d.ts.map +1 -0
- package/dist/retirement-barrier.js +624 -0
- package/dist/retirement-barrier.js.map +1 -0
- package/dist/retirement-cleaner.d.ts +54 -0
- package/dist/retirement-cleaner.d.ts.map +1 -0
- package/dist/retirement-cleaner.js +158 -0
- package/dist/retirement-cleaner.js.map +1 -0
- package/dist/root-credential.d.ts +26 -0
- package/dist/root-credential.d.ts.map +1 -0
- package/dist/root-credential.js +116 -0
- package/dist/root-credential.js.map +1 -0
- package/dist/service.d.ts +60 -0
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +317 -10
- package/dist/service.js.map +1 -1
- package/dist/session-ledger.d.ts +224 -0
- package/dist/session-ledger.d.ts.map +1 -0
- package/dist/session-ledger.js +713 -0
- package/dist/session-ledger.js.map +1 -0
- package/dist/token.d.ts +17 -0
- package/dist/token.d.ts.map +1 -1
- package/dist/token.js +30 -2
- package/dist/token.js.map +1 -1
- package/package.json +5 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admission-mediator.js","sourceRoot":"","sources":["../src/admission-mediator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type RetirementDeps } from "./retirement-barrier.js";
|
|
2
|
+
import { type LifecycleRegistry } from "./lifecycle-registry.js";
|
|
3
|
+
/** The LISTENER profile (SPEC 13.9 "Auth control rail" row): serve + bounded replies on the
|
|
4
|
+
* auth-admin control subtree, plus the ONE leader-served lease read the holder-check performs.
|
|
5
|
+
* No store writes, no consumer authority, no scanner reach. */
|
|
6
|
+
export declare function authAdminListenerGrants(space: string, connId: string): {
|
|
7
|
+
publish: string[];
|
|
8
|
+
subscribe: string[];
|
|
9
|
+
};
|
|
10
|
+
export interface AuthAdminListener {
|
|
11
|
+
close(): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Open the rail: subscribe the auth-admin control subtree on a dedicated minimal listener
|
|
15
|
+
* credential and serve `retireLifecycle`. Every executing right stays with the injected
|
|
16
|
+
* registry + {@link RetirementDeps} (the plane's own, sealed-scanner-threaded mechanics).
|
|
17
|
+
*/
|
|
18
|
+
export declare function openAuthAdminListener(opts: {
|
|
19
|
+
server: string;
|
|
20
|
+
space: string;
|
|
21
|
+
dataAccount: {
|
|
22
|
+
pub: string;
|
|
23
|
+
signingSeed: string;
|
|
24
|
+
};
|
|
25
|
+
reg: LifecycleRegistry;
|
|
26
|
+
retirement: RetirementDeps;
|
|
27
|
+
log: (line: string) => void;
|
|
28
|
+
}): Promise<AuthAdminListener>;
|
|
29
|
+
//# sourceMappingURL=auth-admin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-admin.d.ts","sourceRoot":"","sources":["../src/auth-admin.ts"],"names":[],"mappings":"AAmDA,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzF,OAAO,EAA8C,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAK7G;;gEAEgE;AAChE,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAejH;AA8BD,MAAM,WAAW,iBAAiB;IAChC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,GAAG,EAAE,iBAAiB,CAAC;IACvB,UAAU,EAAE,cAAc,CAAC;IAC3B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAsI7B"}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The AUTH service's CONTROL RAIL listener (#29 piece 3, SPEC 13.2 `CONTROL_AUTH_ADMIN`): the
|
|
3
|
+
* GENERIC "retire a lifecycle (owner, actor, lifecycleUid)" operation, served by the auth plane
|
|
4
|
+
* itself — the despawn→retirement trigger's serve side, and the D5 split's other half
|
|
5
|
+
* (retirement is the AUTH plane's operation; it never rides the DELIVERY daemon's rail).
|
|
6
|
+
*
|
|
7
|
+
* AUTHZ (the panel-confirmed RAIL-TIME rule, never mint-only):
|
|
8
|
+
* - Caller attribution is SUBJECT-derived and broker-enforced: the request subject is
|
|
9
|
+
* `ctl.auth-admin.<owner>.<actor>`, and only a credential minted with THAT principal's
|
|
10
|
+
* request-publish grant can reach it ({@link retirementRequesterGrants}); the body's claims
|
|
11
|
+
* never authorize (the reply-rail discipline).
|
|
12
|
+
* - The SPACE-MANAGER LEASE holder-check runs FRESH per request: a leader-served
|
|
13
|
+
* `STREAM.MSG.GET` read of the ONE `lease` key in the manager bucket, requiring
|
|
14
|
+
* `lease.holder == principalKey(subjectOwner, subjectActor).key` (the lease holder IS the
|
|
15
|
+
* manager endpoint's principal dot-form). This closes the post-lease-loss window: a manager
|
|
16
|
+
* that lost its lease after minting a requester credential is refused AT THE RAIL. Absent
|
|
17
|
+
* lease (TTL-expired, no manager) refuses fail-closed — never guesses.
|
|
18
|
+
* - The GENERIC surface never names a caller class (a manager despawn is ONE caller); the
|
|
19
|
+
* lease check is this service's serve-time authz, not subject grammar.
|
|
20
|
+
*
|
|
21
|
+
* IDEMPOTENCE (the confirmed four-outcome table, surfaced as OPERATOR results): already-retired
|
|
22
|
+
* (uid match) → success; a frozen gate under the SAME opId → the barrier resumes it; a FOREIGN
|
|
23
|
+
* operation holding the gate → refuse naming the operation; a different current uid → refuse
|
|
24
|
+
* (stale trigger). The requester sends a STABLE opId across retries, so an epCall retry never
|
|
25
|
+
* mints a second operation.
|
|
26
|
+
*
|
|
27
|
+
* UX (the piece-3 faces): every refusal is WHAT/WHY/NEXT in operator vocabulary — the lease-loss
|
|
28
|
+
* refusal states the despawn was a FULL NO-OP (the target is unchanged and still running,
|
|
29
|
+
* nothing was applied) with `cotal supervise` → retry as the NEXT; the vocabulary bridge
|
|
30
|
+
* ("despawn started this agent's retirement") lives at the CLI surface that renders these.
|
|
31
|
+
*
|
|
32
|
+
* SEAL COMPOSITION (critic's three checks): the listener holds NO scanner/plane authority — the
|
|
33
|
+
* retirement runs through the injected {@link RetirementDeps}, whose drain rides the plane's ONE
|
|
34
|
+
* sealed records scanner exactly like the boot resume; the lease read is a leader read, no
|
|
35
|
+
* consumer-create anywhere; the requester credential is request + reply-inbox ONLY.
|
|
36
|
+
*/
|
|
37
|
+
import { jetstreamManager } from "@nats-io/jetstream";
|
|
38
|
+
import { CONTROL_AUTH_ADMIN, EpEnvelopeError, MANAGER_LEASE_KEY, assertBoundedOwner, assertLifecycleToken, managerBucket, principalKey, retirementFrontierStreams, spacePrefix, } from "@cotal-ai/core";
|
|
39
|
+
import { openAuthorityClient } from "./authority-client.js";
|
|
40
|
+
import { runAgentRetirementBarrier } from "./retirement-barrier.js";
|
|
41
|
+
import { observeGate, readLifecycleHeadForOperation } from "./lifecycle-registry.js";
|
|
42
|
+
const enc = new TextEncoder();
|
|
43
|
+
const dec = new TextDecoder();
|
|
44
|
+
/** The LISTENER profile (SPEC 13.9 "Auth control rail" row): serve + bounded replies on the
|
|
45
|
+
* auth-admin control subtree, plus the ONE leader-served lease read the holder-check performs.
|
|
46
|
+
* No store writes, no consumer authority, no scanner reach. */
|
|
47
|
+
export function authAdminListenerGrants(space, connId) {
|
|
48
|
+
return {
|
|
49
|
+
publish: [
|
|
50
|
+
// REPLIES ONLY. The handler only ever `msg.respond`s to `<request-subject>.reply.…` (boundReply,
|
|
51
|
+
// below), so the listener never needs to publish a bare REQUEST subject. Granting the request
|
|
52
|
+
// subtree (`…auth-admin.>`) would let a compromised listener credential self-publish a
|
|
53
|
+
// `retireLifecycle` as the lease holder and pass its own subject-derived lease check (self-forge);
|
|
54
|
+
// scoping to `*.*.reply.>` closes that. The requester credential (provision.ts) is already
|
|
55
|
+
// broker-bound to publish only its OWN `<owner>.<actor>` request subject.
|
|
56
|
+
`${spacePrefix(space)}.ctl.${CONTROL_AUTH_ADMIN}.*.*.reply.>`,
|
|
57
|
+
"$JS.API.INFO",
|
|
58
|
+
`$JS.API.STREAM.MSG.GET.KV_${managerBucket(space)}`,
|
|
59
|
+
],
|
|
60
|
+
subscribe: [`${spacePrefix(space)}.ctl.${CONTROL_AUTH_ADMIN}.*.*`, `_INBOX_${connId}.>`],
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function parseRetireArgs(raw) {
|
|
64
|
+
if (raw === null || typeof raw !== "object")
|
|
65
|
+
throw new EpEnvelopeError("failed-precondition", "retireLifecycle requires args { owner, actor, lifecycleUid, opId }");
|
|
66
|
+
const a = raw;
|
|
67
|
+
for (const k of Object.keys(a))
|
|
68
|
+
if (!["owner", "actor", "lifecycleUid", "opId"].includes(k))
|
|
69
|
+
throw new EpEnvelopeError("failed-precondition", `retireLifecycle args carry the unknown field "${k}" (closed shape)`);
|
|
70
|
+
if (typeof a.owner !== "string" || typeof a.actor !== "string" || typeof a.lifecycleUid !== "string" || typeof a.opId !== "string")
|
|
71
|
+
throw new EpEnvelopeError("failed-precondition", "retireLifecycle requires string args { owner, actor, lifecycleUid, opId }");
|
|
72
|
+
return {
|
|
73
|
+
owner: assertBoundedOwner(a.owner, "owner"),
|
|
74
|
+
actor: assertBoundedOwner(a.actor, "actor"),
|
|
75
|
+
lifecycleUid: assertLifecycleToken(a.lifecycleUid, "lifecycleUid"),
|
|
76
|
+
opId: assertLifecycleToken(a.opId, "opId"),
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Open the rail: subscribe the auth-admin control subtree on a dedicated minimal listener
|
|
81
|
+
* credential and serve `retireLifecycle`. Every executing right stays with the injected
|
|
82
|
+
* registry + {@link RetirementDeps} (the plane's own, sealed-scanner-threaded mechanics).
|
|
83
|
+
*/
|
|
84
|
+
export async function openAuthAdminListener(opts) {
|
|
85
|
+
const { space, log } = opts;
|
|
86
|
+
const client = await openAuthorityClient({
|
|
87
|
+
server: opts.server, space, dataAccount: opts.dataAccount,
|
|
88
|
+
label: `cotal:auth-admin:${space}`,
|
|
89
|
+
grants: (id) => authAdminListenerGrants(space, id),
|
|
90
|
+
log,
|
|
91
|
+
});
|
|
92
|
+
let jsm;
|
|
93
|
+
try {
|
|
94
|
+
jsm = await jetstreamManager(client.nc);
|
|
95
|
+
}
|
|
96
|
+
catch (e) {
|
|
97
|
+
await client.close();
|
|
98
|
+
throw e;
|
|
99
|
+
}
|
|
100
|
+
const prefix = `${spacePrefix(space)}.ctl.${CONTROL_AUTH_ADMIN}.`;
|
|
101
|
+
const sub = client.nc.subscribe(`${prefix}*.*`, {
|
|
102
|
+
callback: (err, msg) => {
|
|
103
|
+
if (err)
|
|
104
|
+
return;
|
|
105
|
+
void (async () => {
|
|
106
|
+
// boundReply (the serveControl discipline): the reply target must live under the
|
|
107
|
+
// SENDER'S OWN request subject — the listener holds a subtree-wide reply grant, so a
|
|
108
|
+
// caller-selected foreign reply target is refused here, never published to.
|
|
109
|
+
if (msg.reply === undefined || !msg.reply.startsWith(`${msg.subject}.reply.`)) {
|
|
110
|
+
log(`auth-admin: dropped a request on ${msg.subject} with an unbound reply target (${msg.reply ?? "none"})`);
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
let reply;
|
|
114
|
+
try {
|
|
115
|
+
reply = await handle(msg.subject.slice(prefix.length), msg.data);
|
|
116
|
+
}
|
|
117
|
+
catch (e) {
|
|
118
|
+
reply = { ok: false, error: e instanceof Error ? e.message : String(e) };
|
|
119
|
+
}
|
|
120
|
+
try {
|
|
121
|
+
msg.respond(enc.encode(JSON.stringify(reply)));
|
|
122
|
+
}
|
|
123
|
+
catch (e) {
|
|
124
|
+
log(`auth-admin: reply publish failed on ${msg.subject}: ${e instanceof Error ? e.message : String(e)}`);
|
|
125
|
+
}
|
|
126
|
+
})();
|
|
127
|
+
},
|
|
128
|
+
});
|
|
129
|
+
// SINGLE-FLIGHT the barrier EXECUTION per opId (audit #1): each request still runs its OWN fresh
|
|
130
|
+
// lease re-check + idempotence, but concurrent same-opId requests (a manager nudge + a retry, or a boot
|
|
131
|
+
// resume racing the rail) share ONE runAgentRetirementBarrier, so the barrier body never dual-executes
|
|
132
|
+
// (dual contain/drain mutating past a frontier the other task closes). A joiner awaits the same result.
|
|
133
|
+
//
|
|
134
|
+
// The flight is BOUND to its operation coordinates (owner, actor, lifecycleUid). opId is caller-supplied
|
|
135
|
+
// at this generic rail (`retireOpId(uid)` is a manager convention, NOT a broker- or barrier-enforced
|
|
136
|
+
// bind), so a coordinate-BLIND join would let an ACTIVE lifecycle B reuse A's in-flight opId, skip the
|
|
137
|
+
// barrier's durable intent-coordinate check (retirement-barrier.ts), and receive A's `ok:true` naming B
|
|
138
|
+
// — freeing B's alias over a still-live principal (the exact alias-reuse class #1 exists to close). So a
|
|
139
|
+
// same-opId join whose coordinates differ is REFUSED as a full no-op; only a coordinate-IDENTICAL
|
|
140
|
+
// request (the intended nudge/retry) joins the in-flight barrier.
|
|
141
|
+
const barrierFlight = new Map();
|
|
142
|
+
const handle = async (principalTail, body) => {
|
|
143
|
+
const tokens = principalTail.split(".");
|
|
144
|
+
if (tokens.length !== 2)
|
|
145
|
+
return { ok: false, error: `auth-admin: the request subject must carry exactly <owner>.<actor>` };
|
|
146
|
+
const requester = principalKey(tokens[0], tokens[1]).key;
|
|
147
|
+
let req;
|
|
148
|
+
try {
|
|
149
|
+
req = JSON.parse(dec.decode(body));
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
return { ok: false, error: "auth-admin: the request body is not JSON" };
|
|
153
|
+
}
|
|
154
|
+
if (req.op !== "retireLifecycle")
|
|
155
|
+
return { ok: false, error: `op "${String(req.op)}" not supported on the auth admin service` };
|
|
156
|
+
const args = parseRetireArgs(req.args);
|
|
157
|
+
// THE RAIL-TIME LEASE RE-CHECK (fresh, leader-served, fail-closed).
|
|
158
|
+
let lease;
|
|
159
|
+
try {
|
|
160
|
+
const m = await jsm.streams.getMessage(`KV_${managerBucket(space)}`, { last_by_subj: `$KV.${managerBucket(space)}.${MANAGER_LEASE_KEY}` });
|
|
161
|
+
// A DEL/PURGE marker (a gracefully-stopped manager DELETES its lease) and a TTL-expunged
|
|
162
|
+
// row both read ABSENT — never parsed, never a crash-shaped refusal.
|
|
163
|
+
const op = m?.header?.get("KV-Operation");
|
|
164
|
+
lease = m === null || op === "DEL" || op === "PURGE" || m.data.length === 0
|
|
165
|
+
? undefined
|
|
166
|
+
: JSON.parse(dec.decode(m.data));
|
|
167
|
+
}
|
|
168
|
+
catch (e) {
|
|
169
|
+
const code = e?.code;
|
|
170
|
+
if (code !== 10037) // 10037 = no message: a genuinely absent lease, handled below
|
|
171
|
+
return { ok: false, error: `the retirement request cannot be authorized right now: the space-manager lease could not be read (${e instanceof Error ? e.message : String(e)}). Nothing was applied - the agent is unchanged. NEXT: check the broker and retry the despawn.` };
|
|
172
|
+
}
|
|
173
|
+
if (lease === undefined || typeof lease.holder !== "string")
|
|
174
|
+
return { ok: false, error: `no manager currently holds the space lease, so nothing may retire agents in "${space}". The despawn was a FULL no-op - the agent is unchanged and still running. NEXT: start or recover the manager (\`cotal supervise\`), then retry the despawn.` };
|
|
175
|
+
if (lease.holder !== requester)
|
|
176
|
+
return { ok: false, error: `the requesting manager lost the space lease (it is held by ${lease.holder}), so this despawn was REFUSED as a FULL no-op - the agent is unchanged and still running, nothing was torn down. NEXT: recover the manager (\`cotal supervise\`), then retry the despawn under the current lease holder.` };
|
|
177
|
+
// IDEMPOTENCE (the four-outcome table, in operator vocabulary).
|
|
178
|
+
const head = await readLifecycleHeadForOperation(opts.reg, args.owner, args.actor);
|
|
179
|
+
if (head === undefined)
|
|
180
|
+
return { ok: false, error: `no lifecycle exists for "${args.owner}/${args.actor}"; there is nothing to retire.` };
|
|
181
|
+
if (head.mapping.state === "retired" && head.mapping.lifecycleUid === args.lifecycleUid)
|
|
182
|
+
return { ok: true, data: { alreadyRetired: true, lifecycleUid: args.lifecycleUid } };
|
|
183
|
+
if (head.mapping.lifecycleUid !== args.lifecycleUid)
|
|
184
|
+
return { ok: false, error: `the despawn names a stale incarnation of "${args.owner}/${args.actor}" (current is ${head.mapping.lifecycleUid}); nothing was retired. NEXT: refresh the agent list and retry against the current incarnation.` };
|
|
185
|
+
const gate = await observeGate(opts.reg, args.lifecycleUid);
|
|
186
|
+
if (gate !== undefined && gate.row.state === "frozen" && gate.row.op !== undefined && gate.row.op.opId !== args.opId)
|
|
187
|
+
return { ok: false, error: `another operation (${gate.row.op.kind} ${gate.row.op.opId}) already holds "${args.owner}/${args.actor}"; this despawn did not start a second one. NEXT: wait for that operation to finish (or its resume on the next auth-service boot), then retry.` };
|
|
188
|
+
// EXECUTE (create-or-resume: the barrier's own freeze CAS + durable intent make the same
|
|
189
|
+
// opId resumable and a re-request idempotent). The drain, cleaner, and repair credentials
|
|
190
|
+
// all come from the plane's reviewed deps - this listener holds none of those rights.
|
|
191
|
+
const existing = barrierFlight.get(args.opId);
|
|
192
|
+
if (existing !== undefined &&
|
|
193
|
+
(existing.owner !== args.owner || existing.actor !== args.actor || existing.lifecycleUid !== args.lifecycleUid))
|
|
194
|
+
return { ok: false, error: `operation id ${args.opId} is already in flight for a different lifecycle (${existing.owner}/${existing.actor} ${existing.lifecycleUid}); this despawn of "${args.owner}/${args.actor}" (${args.lifecycleUid}) was a FULL no-op - nothing was retired and it is still running. NEXT: retry the despawn (the manager derives a distinct operation id per lifecycle).` };
|
|
195
|
+
let flight = existing?.promise;
|
|
196
|
+
if (flight === undefined) {
|
|
197
|
+
// A despawn cannot know the target's pool work, and the barrier never takes a pool hint: it
|
|
198
|
+
// DISCOVERS the real (endpoint, pools) cleaner inventory from the target's own accepted pool
|
|
199
|
+
// obligations (#F). Discovery is never a gap - the barrier never closes a frontier over
|
|
200
|
+
// un-cleaned accepted pool work (SPEC 13.1/13.9).
|
|
201
|
+
flight = runAgentRetirementBarrier(opts.reg, {
|
|
202
|
+
owner: args.owner, actor: args.actor, lifecycleUid: args.lifecycleUid, opId: args.opId,
|
|
203
|
+
frontierStreams: retirementFrontierStreams(space),
|
|
204
|
+
}, opts.retirement);
|
|
205
|
+
const settle = flight;
|
|
206
|
+
void settle.catch(() => { }).finally(() => { if (barrierFlight.get(args.opId)?.promise === settle)
|
|
207
|
+
barrierFlight.delete(args.opId); });
|
|
208
|
+
barrierFlight.set(args.opId, { owner: args.owner, actor: args.actor, lifecycleUid: args.lifecycleUid, promise: flight });
|
|
209
|
+
}
|
|
210
|
+
const result = await flight;
|
|
211
|
+
log(`auth-admin: retired ${args.owner}/${args.actor} (${args.lifecycleUid}) by despawn request from ${requester} (op ${args.opId})`);
|
|
212
|
+
return { ok: true, data: { retired: true, lifecycleUid: args.lifecycleUid, opId: result.opId, evictedPrincipals: result.evictedPrincipals } };
|
|
213
|
+
};
|
|
214
|
+
return {
|
|
215
|
+
close: async () => {
|
|
216
|
+
try {
|
|
217
|
+
sub.unsubscribe();
|
|
218
|
+
}
|
|
219
|
+
catch { /* connection already down */ }
|
|
220
|
+
await client.close();
|
|
221
|
+
},
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=auth-admin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-admin.js","sourceRoot":"","sources":["../src/auth-admin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The auth service's SELF-MINTED data-account connections (R1). The service already holds the
|
|
3
|
+
* data account's signing seed (minting scoped users IS its function), so its own infrastructure
|
|
4
|
+
* access is signed from that seed directly — a ledgered `cred.`/`epcred.` row would create no
|
|
5
|
+
* enforcement point (connect never re-reads the reader's own row) and would be enumerated by the
|
|
6
|
+
* lifecycle barriers as if it were an agent's. The revoke story is the D5 class: stop the service
|
|
7
|
+
* or rotate the data-account signing seed. A genuinely LEDGERED infra-credential family is the
|
|
8
|
+
* deferred infra-mint work; migrate onto it there, do not invent it here.
|
|
9
|
+
*
|
|
10
|
+
* Two connections, least-privilege by construction:
|
|
11
|
+
* - the CONNECT READER (`cotal:auth-reader:<space>`): read-only over both authority stores
|
|
12
|
+
* ({@link authConnectReaderGrants}), supervised — shape-proved on EVERY (re)bind, unproved
|
|
13
|
+
* while disconnected, so a reader that cannot currently prove its stores DENIES every connect.
|
|
14
|
+
* - the MINT WRITER (`cotal:auth-mint:<space>`): the exchange-time issuance executor
|
|
15
|
+
* ({@link authorityWriterGrants}) — store ensure + the activation saga + the root-credential
|
|
16
|
+
* mint protocol. Its unfenced reads only feed revision-pinned CASes (a stale read LOSES) or a
|
|
17
|
+
* bearer stamp the leader-served connect arm re-checks, so bind-time proof suffices.
|
|
18
|
+
*
|
|
19
|
+
* RENEWAL IS A FAIL-CLOSED BOUNDARY: each connection authenticates with a SHORT-exp user JWT over
|
|
20
|
+
* a stable nkey, re-minted in-process at half-life; the broker disconnects the connection at JWT
|
|
21
|
+
* expiry and the reconnect presents the freshest mint. A renewal-mint failure fires
|
|
22
|
+
* {@link AuthorityClientOpts.onRenewalFailure} IMMEDIATELY — the supervised reader downs itself
|
|
23
|
+
* on it (unproved + connection closed), so connects DENY from the moment the renewal fails, not
|
|
24
|
+
* only when the old credential eventually expires. A downed reader never comes back without a
|
|
25
|
+
* service restart; there is no file-only fallback.
|
|
26
|
+
*/
|
|
27
|
+
import { type NatsConnection } from "@nats-io/transport-node";
|
|
28
|
+
import { type PlaneConnTuple } from "@cotal-ai/core";
|
|
29
|
+
import { type ConnectReader } from "./connect-reader.js";
|
|
30
|
+
/** Self-minted infra-credential TTL (fact-3 pin: SHORT expiry + in-process renewal, a bounded
|
|
31
|
+
* in-memory credential that closes with the service — never an unbounded persisted one). */
|
|
32
|
+
export declare const AUTHORITY_CLIENT_TTL_SEC: number;
|
|
33
|
+
/**
|
|
34
|
+
* The MINT WRITER's scoped credential grant (SPEC 13.9): the exchange-time issuance executor.
|
|
35
|
+
* Exactly the store-ensure + activation-saga + root-mint surface:
|
|
36
|
+
*
|
|
37
|
+
* - `$JS.API.STREAM.CREATE` on both authority KV streams and `STREAM.UPDATE` on records (the
|
|
38
|
+
* boot-time `ensureAuthorityStores`), `STREAM.INFO` on both (ensure verify + §13.12 bind
|
|
39
|
+
* proof), `STREAM.MSG.GET` on both (auth-store KV reads are leader-only by shape; fenced
|
|
40
|
+
* record reads), and records `DIRECT.GET` (the records bucket is Direct-capable and its KV
|
|
41
|
+
* reads here only feed revision-pinned CASes, which a stale read LOSES — fail-closed).
|
|
42
|
+
* - `$KV` writes on EXACTLY the issuance keys: auth `gate.` / `cred.` / `bysrc.` (the gate CAS
|
|
43
|
+
* fence and the mint's rows) and records `lifecycle.` / `uid.` (the alias head and the
|
|
44
|
+
* space-global uid reservation). No `srcgate.`/`stage.`/`session.` writes: root issuance
|
|
45
|
+
* presents no handles and runs no takeover; barriers are NOT this credential's job.
|
|
46
|
+
*
|
|
47
|
+
* Named residuals (D32 class, not pretend-confined): `STREAM.MSG.GET` is body-selected, so this
|
|
48
|
+
* is a stream-wide METADATA read of both stores; the `$KV` prefixes span every uid/alias (broker
|
|
49
|
+
* ACLs cannot scope "only the row you are minting"), so a compromised writer can forge issuance
|
|
50
|
+
* rows — it is the ISSUANCE AUTHORITY, that authority is exactly what it holds; and every raw
|
|
51
|
+
* MSG.GET/DIRECT.GET profile carries the caller-selected-reply injection class.
|
|
52
|
+
*/
|
|
53
|
+
export declare function authorityWriterGrants(space: string, connId: string): {
|
|
54
|
+
publish: string[];
|
|
55
|
+
subscribe: string[];
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* The BARRIER EXECUTOR's scoped credential grant (SPEC 13.9): the lifecycle-barrier surface —
|
|
59
|
+
* exactly what the takeover barrier (and its retirement sibling) reaches through the sealed
|
|
60
|
+
* registry, on its OWN connection so the latency-sensitive mint writer never carries barrier
|
|
61
|
+
* authority (its own doc pins "barriers are NOT this credential's job"):
|
|
62
|
+
*
|
|
63
|
+
* - `STREAM.INFO` on both stores (the registry's §13.12 bind proof), `STREAM.MSG.GET` on both
|
|
64
|
+
* (leader-served gate/cred/intent and head reads), and records `DIRECT.GET` (reads that only
|
|
65
|
+
* feed revision-pinned CASes — the mint writer's own discipline).
|
|
66
|
+
* - NO auth-stream `CONSUMER.CREATE` at all (46e778f re-verify): a consumer-create BODY is not
|
|
67
|
+
* subject-ACL confinable, so any create grant admits a durable PUSH exporter surviving revoke
|
|
68
|
+
* (nats-server#8274). This profile therefore does NOT enumerate: the barrier's
|
|
69
|
+
* family/intent/lineage LastPerSubject scans run on the SEALED auth-ledger scanner, a SEPARATE
|
|
70
|
+
* dedicated credential that holds the only auth-stream `CONSUMER.CREATE` and never escapes the
|
|
71
|
+
* process (`ledger-scanner.ts`). The `STREAM.MSG.GET` here is only this profile's leader-served
|
|
72
|
+
* POINT reads (a specific gate/cred/intent/head `last_by_subj`), never a family scan. No consumer
|
|
73
|
+
* authority on either stream.
|
|
74
|
+
* - `$KV` writes on EXACTLY the barrier keys: auth `gate.` (the freeze/reopen CAS), `cred.`
|
|
75
|
+
* (the family revokes), `stage.` (the durable operation intent), and records `lifecycle.`
|
|
76
|
+
* (the containment/epoch head CASes). No `bysrc.`/`uid.` (a barrier never mints), no
|
|
77
|
+
* `srcgate.`/`session.` (handle revocation and session reconcile are injected seams, not
|
|
78
|
+
* this credential's job).
|
|
79
|
+
*
|
|
80
|
+
* Named residuals (D32 class, not pretend-confined): the stream-wide body-selected `MSG.GET`
|
|
81
|
+
* metadata read (a ONE-SHOT read to the requester's own inbox while the credential is live — not
|
|
82
|
+
* a durable/push exporter) and the caller-selected-reply injection class ride this profile like
|
|
83
|
+
* its siblings; and the `$KV` prefixes span every uid (broker ACLs cannot scope "only the family
|
|
84
|
+
* you are containing") — the executor IS the barrier authority, and that authority is exactly
|
|
85
|
+
* what it holds.
|
|
86
|
+
*/
|
|
87
|
+
export declare function authorityBarrierGrants(space: string, connId: string): {
|
|
88
|
+
publish: string[];
|
|
89
|
+
subscribe: string[];
|
|
90
|
+
};
|
|
91
|
+
/** The RETIREMENT SETTLEMENT EXECUTOR's op-bounded rows (SPEC 13.9 "Retirement settlement",
|
|
92
|
+
* the ceee1a1 authority split): COMPOSED onto {@link authorityBarrierGrants} for ONE retirement
|
|
93
|
+
* operation over its EFFECTIVE INVENTORY endpoint/pools (the target's accepted obligation routes
|
|
94
|
+
* UNIONED with the durable intent's trusted additive hints) — never a standing grant, never
|
|
95
|
+
* minted without a live intent. Per effective-inventory pool: the lease-record CAS write
|
|
96
|
+
* (`lease.<endpoint>.<pool>.…` — create for the worker-less expiry sentinel, revision-pinned
|
|
97
|
+
* update otherwise) and the lease-derived `wrk` terminal create-only publish
|
|
98
|
+
* (`epf.<endpoint>.wrk.<pool>.>`, first terminal wins). Plus the leader-served EPF fencing
|
|
99
|
+
* reads (`STREAM.MSG.GET.EPF_<space>`: the acceptance-decision re-derivation and the
|
|
100
|
+
* terminal-observe/CAS-loser reads); the records-side fencing/CAS reads ride the barrier
|
|
101
|
+
* profile this composes onto. The `epw.>` ENQUEUE row is deliberately absent: the executor's
|
|
102
|
+
* reconcile is reachable only for items at/past their own `workExpiry` (the settlement seam
|
|
103
|
+
* refuses `expired` before the horizon), which structurally never takes the re-enqueue repair
|
|
104
|
+
* branch — if a code change ever reached it, the broker denies and the barrier fails loud.
|
|
105
|
+
*
|
|
106
|
+
* D32 residuals, EXPLICIT (the relocated forge the bounded cleaner does NOT carry): KV subject
|
|
107
|
+
* permissions cannot distinguish CAS from overwrite or DEL/PURGE markers, and the `wrk`
|
|
108
|
+
* publish is payload-blind, so a compromised executor can forge a lease settlement or work
|
|
109
|
+
* terminal WITHIN its EFFECTIVE-INVENTORY pools (never beyond them); the space-wide EPF
|
|
110
|
+
* `STREAM.MSG.GET` exposure and the caller-selected-reply injection ride it like every
|
|
111
|
+
* API-holding profile. Op-bounded, effective-inventory-confined, revoked with the operation. */
|
|
112
|
+
export declare function barrierExecutorSettlementGrants(space: string, endpoint: string, pools: string[]): {
|
|
113
|
+
publish: string[];
|
|
114
|
+
};
|
|
115
|
+
export interface AuthorityClientOpts {
|
|
116
|
+
server: string;
|
|
117
|
+
space: string;
|
|
118
|
+
dataAccount: {
|
|
119
|
+
pub: string;
|
|
120
|
+
signingSeed: string;
|
|
121
|
+
};
|
|
122
|
+
/** The CONNZ-visible connection name (`cotal:auth-reader:<space>` / `cotal:auth-mint:<space>`). */
|
|
123
|
+
label: string;
|
|
124
|
+
/** The grant builder — called with the connection's stable identity so the scoped inbox is in
|
|
125
|
+
* the credential BEFORE the first connect. */
|
|
126
|
+
grants: (connId: string) => {
|
|
127
|
+
publish: string[];
|
|
128
|
+
subscribe: string[];
|
|
129
|
+
};
|
|
130
|
+
/** Optional CONNZ principal tag (`owner.actor`). A bare authority connection is identified only
|
|
131
|
+
* by its nkey, which the delivery daemon's principal-scan eviction cannot target (it kicks by
|
|
132
|
+
* `owner.actor` tag, evict-exec.ts). A connection that must be VERIFIED-EVICTABLE (the per-op
|
|
133
|
+
* retirement cleaner) sets this so CONNZ surfaces it and `evictPrincipal(<owner>.<actor>)` can
|
|
134
|
+
* kill it. Omit for connections that are only ever torn down by close/TTL (writer/barrier/reader). */
|
|
135
|
+
principal?: {
|
|
136
|
+
owner: string;
|
|
137
|
+
actor: string;
|
|
138
|
+
};
|
|
139
|
+
log: (line: string) => void;
|
|
140
|
+
/** Fired the moment a renewal mint REJECTS (after the loud log). The supervised reader wires
|
|
141
|
+
* this to down itself immediately — renewal failure is a fail-closed boundary NOW, never
|
|
142
|
+
* "at the old credential's eventual expiry". */
|
|
143
|
+
onRenewalFailure?: () => void;
|
|
144
|
+
/** SMOKE-ONLY renewal probe: override the half-life interval and/or force every renewal mint
|
|
145
|
+
* to reject deterministically (the mint is a local signing operation with no natural failure
|
|
146
|
+
* to inject). Production compositions never set this. */
|
|
147
|
+
probeRenewal?: {
|
|
148
|
+
intervalMs: number;
|
|
149
|
+
fail?: boolean;
|
|
150
|
+
};
|
|
151
|
+
/** NO auto-reconnect (`reconnect:false`, `maxReconnectAttempts:0`) for a PER-CALL connection that
|
|
152
|
+
* mints, does ONE write, and closes (the drain-repair applier/reconciler/canceller, #4). The
|
|
153
|
+
* default authority connection reconnects INFINITELY (`maxReconnectAttempts:-1`) so a standing
|
|
154
|
+
* reader/writer rides a broker blip — but a per-call repair connection must NOT: after the
|
|
155
|
+
* retirement barrier KICKs it at the drain-repair fence, an auto-reconnect with its still-valid
|
|
156
|
+
* bearer would resurrect it under a fresh cid, so the fence's verified-eviction never converges
|
|
157
|
+
* (the connection keeps coming back) and a write could land AFTER the fence. With no reconnect a
|
|
158
|
+
* KICK is durable in one round; a mid-write drop simply FAILS the repair (loud) and the drain
|
|
159
|
+
* re-mints on its next pass. Never combine with a standing/renewing role. */
|
|
160
|
+
noReconnect?: boolean;
|
|
161
|
+
/** #29 HIGH 3: open this connection as a PLANE-OWNED candidate — the ownership-bearing shape the
|
|
162
|
+
* sealed scanners connect with under the plane claim:
|
|
163
|
+
* - NON-RECONNECTING (`reconnect:false`): the claim row pins this connection's exact
|
|
164
|
+
* `(serverId, cid, userNkey)` tuple, so the identity must be STABLE and disappearance must
|
|
165
|
+
* mean the connection can never return (a reconnect would resurrect the identity under a
|
|
166
|
+
* fresh cid the claim doesn't cover — the split-brain the claim exists to exclude). A
|
|
167
|
+
* disconnect is a FENCING event the composition observes via {@link AuthorityClient.gone}.
|
|
168
|
+
* - NON-EXPIRING mint (no `exp`): a short-exp JWT would have the broker hard-disconnect the
|
|
169
|
+
* connection at expiry, fencing the plane on a timer. NAMED RESIDUAL (the fact-3 short-TTL
|
|
170
|
+
* pin deliberately relaxed for EXACTLY these two in-process connections): the credential
|
|
171
|
+
* never leaves process memory, and the data-account signing seed co-resident in the SAME
|
|
172
|
+
* memory is strictly stronger authority, so the marginal exposure is nil; revoke remains the
|
|
173
|
+
* D5 class (stop the service / rotate the seed). The renewal timer is skipped (nothing to
|
|
174
|
+
* renew, and a renewal could not be presented without the forbidden reconnect anyway). */
|
|
175
|
+
planeCandidate?: boolean;
|
|
176
|
+
}
|
|
177
|
+
export interface AuthorityClient {
|
|
178
|
+
nc: NatsConnection;
|
|
179
|
+
/** The stable user-nkey public key — the connection id its scoped inbox is keyed by. */
|
|
180
|
+
connId: string;
|
|
181
|
+
/** The CONNZ principal `owner.actor` dot-form when {@link AuthorityClientOpts.principal} was set
|
|
182
|
+
* (the verified-evictable identity); absent for bare nkey-only connections. */
|
|
183
|
+
principal?: string;
|
|
184
|
+
/** planeCandidate only: this connection's broker identity, captured from the protocol INFO at
|
|
185
|
+
* connect — what the plane claim row pins ({@link PlaneConnTuple}). */
|
|
186
|
+
tuple?: PlaneConnTuple;
|
|
187
|
+
/** planeCandidate only: resolves when the NON-RECONNECTING connection is permanently gone (the
|
|
188
|
+
* plane's fencing signal — close() also resolves it; the composition's `closing` flag tells a
|
|
189
|
+
* deliberate teardown from a mid-life death). */
|
|
190
|
+
gone?: Promise<void>;
|
|
191
|
+
close(): Promise<void>;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Open one self-minted data-account connection: a stable user nkey, a short-exp user JWT signed
|
|
195
|
+
* by the data account's signing seed, re-minted in-process at half-life. The authenticator
|
|
196
|
+
* presents the FRESHEST mint on every (re)connect; see the module header for why a failed
|
|
197
|
+
* renewal fail-closes instead of retrying on a lapsed credential.
|
|
198
|
+
*/
|
|
199
|
+
export declare function openAuthorityClient(opts: AuthorityClientOpts): Promise<AuthorityClient>;
|
|
200
|
+
export interface SupervisedConnectReader {
|
|
201
|
+
/** The currently PROVED reader. Throws (=> the callout denies the connect) while the reader is
|
|
202
|
+
* disconnected or its (re)bind shape proof has not yet passed — an unproved reader never
|
|
203
|
+
* serves a connect read (SPEC 13.12). */
|
|
204
|
+
current(): ConnectReader;
|
|
205
|
+
close(): Promise<void>;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Open the supervised connect reader: the self-minted reader connection plus the §13.12 bind
|
|
209
|
+
* discipline ACROSS RECONNECTS. The shape proof re-runs on EVERY (re)bind, not just startup — a
|
|
210
|
+
* dropped reader reconnecting could land on a mirror/follower, so it is UNPROVED from the moment
|
|
211
|
+
* the connection drops until {@link openConnectReader} passes again, and `current()` refuses in
|
|
212
|
+
* between. The initial proof is awaited: this constructor resolving IS the readiness signal.
|
|
213
|
+
*/
|
|
214
|
+
export declare function openSupervisedConnectReader(opts: Omit<AuthorityClientOpts, "grants" | "label">): Promise<SupervisedConnectReader>;
|
|
215
|
+
//# sourceMappingURL=authority-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authority-client.d.ts","sourceRoot":"","sources":["../src/authority-client.ts"],"names":[],"mappings":"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"}
|