@cotal-ai/auth 0.11.6 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/dist/admission-mediator.d.ts +319 -0
  2. package/dist/admission-mediator.d.ts.map +1 -0
  3. package/dist/admission-mediator.js +1033 -0
  4. package/dist/admission-mediator.js.map +1 -0
  5. package/dist/auth-admin.d.ts +29 -0
  6. package/dist/auth-admin.d.ts.map +1 -0
  7. package/dist/auth-admin.js +224 -0
  8. package/dist/auth-admin.js.map +1 -0
  9. package/dist/authority-client.d.ts +215 -0
  10. package/dist/authority-client.d.ts.map +1 -0
  11. package/dist/authority-client.js +346 -0
  12. package/dist/authority-client.js.map +1 -0
  13. package/dist/barrier-evict.d.ts +16 -0
  14. package/dist/barrier-evict.d.ts.map +1 -0
  15. package/dist/barrier-evict.js +100 -0
  16. package/dist/barrier-evict.js.map +1 -0
  17. package/dist/commands.js +16 -12
  18. package/dist/commands.js.map +1 -1
  19. package/dist/connect-reader.d.ts +72 -0
  20. package/dist/connect-reader.d.ts.map +1 -0
  21. package/dist/connect-reader.js +154 -0
  22. package/dist/connect-reader.js.map +1 -0
  23. package/dist/continuity.d.ts +23 -0
  24. package/dist/continuity.d.ts.map +1 -0
  25. package/dist/continuity.js +145 -0
  26. package/dist/continuity.js.map +1 -0
  27. package/dist/credential-ledger.d.ts +343 -0
  28. package/dist/credential-ledger.d.ts.map +1 -0
  29. package/dist/credential-ledger.js +732 -0
  30. package/dist/credential-ledger.js.map +1 -0
  31. package/dist/drain-repair.d.ts +95 -0
  32. package/dist/drain-repair.d.ts.map +1 -0
  33. package/dist/drain-repair.js +305 -0
  34. package/dist/drain-repair.js.map +1 -0
  35. package/dist/idp.d.ts +19 -0
  36. package/dist/idp.d.ts.map +1 -1
  37. package/dist/idp.js +17 -0
  38. package/dist/idp.js.map +1 -1
  39. package/dist/index.d.ts +7 -3
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +31 -3
  42. package/dist/index.js.map +1 -1
  43. package/dist/issuer.d.ts +8 -0
  44. package/dist/issuer.d.ts.map +1 -1
  45. package/dist/issuer.js +4 -2
  46. package/dist/issuer.js.map +1 -1
  47. package/dist/ledger-scanner.d.ts +98 -0
  48. package/dist/ledger-scanner.d.ts.map +1 -0
  49. package/dist/ledger-scanner.js +352 -0
  50. package/dist/ledger-scanner.js.map +1 -0
  51. package/dist/ledger.d.ts +12 -0
  52. package/dist/ledger.d.ts.map +1 -1
  53. package/dist/ledger.js +103 -13
  54. package/dist/ledger.js.map +1 -1
  55. package/dist/lifecycle-registry.d.ts +397 -0
  56. package/dist/lifecycle-registry.d.ts.map +1 -0
  57. package/dist/lifecycle-registry.js +819 -0
  58. package/dist/lifecycle-registry.js.map +1 -0
  59. package/dist/permissions.d.ts +5 -1
  60. package/dist/permissions.d.ts.map +1 -1
  61. package/dist/permissions.js +29 -6
  62. package/dist/permissions.js.map +1 -1
  63. package/dist/plane-claim.d.ts +83 -0
  64. package/dist/plane-claim.d.ts.map +1 -0
  65. package/dist/plane-claim.js +290 -0
  66. package/dist/plane-claim.js.map +1 -0
  67. package/dist/provider.d.ts.map +1 -1
  68. package/dist/provider.js +45 -16
  69. package/dist/provider.js.map +1 -1
  70. package/dist/records-scanner.d.ts +78 -0
  71. package/dist/records-scanner.d.ts.map +1 -0
  72. package/dist/records-scanner.js +320 -0
  73. package/dist/records-scanner.js.map +1 -0
  74. package/dist/retirement-barrier.d.ts +217 -0
  75. package/dist/retirement-barrier.d.ts.map +1 -0
  76. package/dist/retirement-barrier.js +624 -0
  77. package/dist/retirement-barrier.js.map +1 -0
  78. package/dist/retirement-cleaner.d.ts +54 -0
  79. package/dist/retirement-cleaner.d.ts.map +1 -0
  80. package/dist/retirement-cleaner.js +158 -0
  81. package/dist/retirement-cleaner.js.map +1 -0
  82. package/dist/root-credential.d.ts +26 -0
  83. package/dist/root-credential.d.ts.map +1 -0
  84. package/dist/root-credential.js +116 -0
  85. package/dist/root-credential.js.map +1 -0
  86. package/dist/service.d.ts +73 -5
  87. package/dist/service.d.ts.map +1 -1
  88. package/dist/service.js +349 -24
  89. package/dist/service.js.map +1 -1
  90. package/dist/session-ledger.d.ts +224 -0
  91. package/dist/session-ledger.d.ts.map +1 -0
  92. package/dist/session-ledger.js +713 -0
  93. package/dist/session-ledger.js.map +1 -0
  94. package/dist/store.d.ts +18 -8
  95. package/dist/store.d.ts.map +1 -1
  96. package/dist/store.js +74 -51
  97. package/dist/store.js.map +1 -1
  98. package/dist/token.d.ts +17 -0
  99. package/dist/token.d.ts.map +1 -1
  100. package/dist/token.js +30 -2
  101. package/dist/token.js.map +1 -1
  102. package/package.json +7 -4
@@ -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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"}