@cotal-ai/auth 0.16.0 → 0.18.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/auth-admin.d.ts +6 -3
- package/dist/auth-admin.d.ts.map +1 -1
- package/dist/auth-admin.js +164 -106
- package/dist/auth-admin.js.map +1 -1
- package/dist/commands.js +10 -9
- package/dist/commands.js.map +1 -1
- package/dist/credential-ledger.d.ts +3 -116
- package/dist/credential-ledger.d.ts.map +1 -1
- package/dist/credential-ledger.js +16 -156
- package/dist/credential-ledger.js.map +1 -1
- package/dist/lifecycle-registry.d.ts +5 -57
- package/dist/lifecycle-registry.d.ts.map +1 -1
- package/dist/lifecycle-registry.js +46 -459
- package/dist/lifecycle-registry.js.map +1 -1
- package/dist/permissions.d.ts.map +1 -1
- package/dist/permissions.js +9 -5
- package/dist/permissions.js.map +1 -1
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +16 -9
- package/dist/provider.js.map +1 -1
- package/dist/session-ledger.d.ts +3 -27
- package/dist/session-ledger.d.ts.map +1 -1
- package/dist/session-ledger.js +18 -119
- package/dist/session-ledger.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,82 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* (SPEC §13.1, as amended). The sibling of `lifecycle-registry.ts`: the SAME minting authority
|
|
4
|
-
* over the SAME two stores, reached only through the sealed registry ({@link registryStores}),
|
|
5
|
-
* so a caller that cannot open the registry can neither write a ledger row nor run a barrier.
|
|
6
|
-
*
|
|
7
|
-
* What is here (all §13.1-normative):
|
|
8
|
-
* - the AGENT-family ledger rows `cred.<lifecycleUid>.<credentialId>` — the closed row schema
|
|
9
|
-
* `{ credentialId, holderPrincipal, lifecycleUid, sourceChain, state: active|revoked, exp }`
|
|
10
|
-
* (monotonic state; revoked rows are never deleted), the per-ancestor lineage index
|
|
11
|
-
* `bysrc.<issuerKeyId>.<id>.<lifecycleUid>.<credentialId>`, and the shared row codec the
|
|
12
|
-
* ENDPOINT family `epcred.<endpoint>.<instanceId>.<credentialId>` reuses (same schema, same
|
|
13
|
-
* discipline; the session adapter writes that family);
|
|
14
|
-
* - the MINT PROTOCOL (observe gate → write rows → revision-pinned gate touch-CAS → release):
|
|
15
|
-
* {@link stageAgentMint} + {@link finalizeAgentMint}. The touch is the §13.1 fence — a gate
|
|
16
|
-
* (or any presented source gate) that moved since observation makes the pinned write LOSE,
|
|
17
|
-
* the mint marks its OWN rows revoked and never releases. An unledgered mint cannot occur
|
|
18
|
-
* through this module: release is gated on finalize, and finalize is gated on the staged
|
|
19
|
-
* rows existing;
|
|
20
|
-
* - SOURCE GATES `srcgate.<issuerKeyId>.<id>` (`{ state: open | frozen }`, CAS): every handle
|
|
21
|
-
* in a presented chain is observed at stage and touch-CASed at finalize, and
|
|
22
|
-
* {@link revokeHandleSource} is the handle-revocation walk — freeze the source gate FIRST,
|
|
23
|
-
* enumerate `bysrc.`, revoke every descendant row, then VERIFIED cluster-wide eviction of
|
|
24
|
-
* every revoked row's holder principal (fail-closed; the gate stays frozen forever);
|
|
25
|
-
* - the TAKEOVER BARRIER {@link runAgentTakeoverBarrier} in the normative order: durable op
|
|
26
|
-
* intent (`stage.<opId>`, create-only) → gate CAS `open → frozen` carrying the intent →
|
|
27
|
-
* point-in-time enumeration of `cred.<lifecycleUid>.>` (the SEALED auth-ledger scanner's
|
|
28
|
-
* fence-free LastPerSubject read — `ledger-scanner.ts`; the barrier profile holds NO auth-stream
|
|
29
|
-
* `CONSUMER.CREATE`, whose body cannot be subject-confined, so the CREATE lives only in the
|
|
30
|
-
* scanner's own sealed credential) → revoke EVERY row → VERIFIED
|
|
31
|
-
* eviction of every holder principal (the injected `evictPrincipal` seam; `verifiedGone`
|
|
32
|
-
* is the ONLY success — anything else throws and the gate STAYS frozen) → the epoch head
|
|
33
|
-
* CAS LAST ({@link advanceEpochWithinTakeover}) → reopen the gate at generation G+1. Every
|
|
34
|
-
* boundary is crash-resumable from the durable intent ({@link resumeAgentTakeover}), and
|
|
35
|
-
* only the SAME operation resumes it.
|
|
36
|
-
*
|
|
37
|
-
* Deny-new vs kill-live, stated precisely (the two halves of revocation, §13.1):
|
|
38
|
-
* - the ledger row CAS is the deny-new SUBSTRATE (rows live in a replicated, leader-served
|
|
39
|
-
* JetStream KV, `allow_direct=false`, §13.12). The REDEEM arm is wired here: the session
|
|
40
|
-
* release reads the normative row and refuses a `revoked` one, so a burned session
|
|
41
|
-
* credential never re-releases. The CONNECT arm (the auth callout reading `cred.<uid>.<id>`
|
|
42
|
-
* to refuse an OFFLINE credential's reconnect) is NOT wired in this slice: it needs the
|
|
43
|
-
* ROOT credential ledgered (the head's `currentCredentialId`, which the activation saga
|
|
44
|
-
* leaves absent until production issuance) and the presented credential to carry its id, so
|
|
45
|
-
* it lands with production activation wiring. Until then, this barrier's deny-new covers the
|
|
46
|
-
* REDEEM path and the LIVE connections it evicts; an offline root credential whose lifecycle
|
|
47
|
-
* UID is preserved across takeover is NOT denied reconnect by the barrier alone (§13.1
|
|
48
|
-
* requires takeover to FAIL LOUD where it cannot revoke + verified-evict, e.g. static
|
|
49
|
-
* credentials — enforced at that connect-arm wiring, not here);
|
|
50
|
-
* - the injected verified eviction is the cluster-wide kill-live with re-scan (core
|
|
51
|
-
* `evictDeniedPrincipal`: CONNZ scan → per-server KICK → re-scan; partial scans fail
|
|
52
|
-
* closed), which handles the LIVE half regardless of the connect-arm.
|
|
53
|
-
*
|
|
54
|
-
* SURFACE: NOTHING here is exported from the package index. The executor seam is the sealed
|
|
55
|
-
* registry itself (constructed only over the minting authority's authenticated connection);
|
|
56
|
-
* an `opId` is an identifier, never a bearer capability. Implementation staging lives in the
|
|
57
|
-
* `stage.` family only — never under a ledger prefix a barrier enumerates.
|
|
58
|
-
*/
|
|
59
|
-
import type { KV } from "@nats-io/kv";
|
|
60
|
-
import { type EvictionResult } from "@cotal-ai/core";
|
|
1
|
+
import { createRowByteIdempotent, markLedgerRowRevoked, type CredentialLedgerRow, type EvictionResult } from "@cotal-ai/core";
|
|
2
|
+
export { credRowKey, epcredRowKey, parseSourceMember, SOURCE_ROOT, parseLedgerRow, type CredentialLedgerRow } from "@cotal-ai/core";
|
|
61
3
|
import { type LifecycleRegistry } from "./lifecycle-registry.js";
|
|
62
|
-
export declare const SOURCE_ROOT = "root";
|
|
63
|
-
/** Validate ONE sourceChain member — `root`, `handle.<issuerKeyId>.<id>`, or
|
|
64
|
-
* `session.<sessionId>` (SPEC 13.1) — and return its parsed shape. */
|
|
65
|
-
export declare function parseSourceMember(member: unknown): {
|
|
66
|
-
kind: "root";
|
|
67
|
-
} | {
|
|
68
|
-
kind: "handle";
|
|
69
|
-
issuerKeyId: string;
|
|
70
|
-
id: string;
|
|
71
|
-
} | {
|
|
72
|
-
kind: "session";
|
|
73
|
-
sessionId: string;
|
|
74
|
-
};
|
|
75
|
-
/** The agent-family ledger key `cred.<lifecycleUid>.<credentialId>`. */
|
|
76
|
-
export declare function credRowKey(lifecycleUid: string, credentialId: string): string;
|
|
77
|
-
/** The endpoint-family ledger key `epcred.<endpoint>.<instanceId>.<credentialId>` (disjoint by
|
|
78
|
-
* explicit prefix, never arity, SPEC 13.1). */
|
|
79
|
-
export declare function epcredRowKey(endpoint: string, instanceId: string, credentialId: string): string;
|
|
80
4
|
/** The per-ancestor lineage index key `bysrc.<issuerKeyId>.<id>.<lifecycleUid>.<credentialId>`. */
|
|
81
5
|
export declare function bysrcKey(issuerKeyId: string, id: string, lifecycleUid: string, credentialId: string): string;
|
|
82
6
|
/** The per-handle source gate key `srcgate.<issuerKeyId>.<id>`. */
|
|
@@ -84,44 +8,7 @@ export declare function srcgateKey(issuerKeyId: string, id: string): string;
|
|
|
84
8
|
/** A takeover/registration operation's durable intent key `stage.<opId>` (the `stage.<opId>.`
|
|
85
9
|
* staging family root — NEVER under a ledger prefix a barrier enumerates, SPEC 13.1). */
|
|
86
10
|
export declare function stageIntentKey(opId: string): string;
|
|
87
|
-
|
|
88
|
-
* component: the managed agent's lifecycle UID in the `cred.` family, the endpoint instance's
|
|
89
|
-
* `instanceId` in the `epcred.` family (SPEC 13.1: `instanceId` is to an endpoint what
|
|
90
|
-
* `lifecycleUid` is to a managed agent). `endpoint` is present ONLY in the `epcred.` family
|
|
91
|
-
* (it forms the key there and is absent in `cred.`), so the KEY identity is never conflated
|
|
92
|
-
* with the eviction target. `holderPrincipal` is who the barrier KICKs: ALWAYS a CONNZ-
|
|
93
|
-
* attributable `<owner>.<actor>` dot-form (the caller principal in the `cred.` family; the
|
|
94
|
-
* serving instance's own connection principal in the `epcred.` family, recorded from the
|
|
95
|
-
* endpoint gate), NEVER the endpoint name (which CONNZ cannot attribute). */
|
|
96
|
-
export interface CredentialLedgerRow {
|
|
97
|
-
credentialId: string;
|
|
98
|
-
holderPrincipal: string;
|
|
99
|
-
lifecycleUid: string;
|
|
100
|
-
/** The endpoint NAME whose token forms the `epcred.` key; present iff this is an endpoint-
|
|
101
|
-
* family row, absent in the `cred.` family (which the lifecycleUid keys). */
|
|
102
|
-
endpoint?: string;
|
|
103
|
-
/** The FULL verified lineage at mint: `root` | `handle.<issuerKeyId>.<id>`… |
|
|
104
|
-
* `session.<sessionId>` (SPEC 13.1 — for a handle redemption EVERY handle in the presented
|
|
105
|
-
* chain, never only the leaf). */
|
|
106
|
-
sourceChain: string[];
|
|
107
|
-
/** Monotonic: `active → revoked` only; a revoked row is never deleted. */
|
|
108
|
-
state: "active" | "revoked";
|
|
109
|
-
exp: number;
|
|
110
|
-
}
|
|
111
|
-
/** Parse + validate a ledger row at its consuming boundary — closed schema, and the embedded
|
|
112
|
-
* identity MUST rebuild the row's own key, so a key-mismatched or family-swapped poison row
|
|
113
|
-
* never authorizes (SPEC 13.1/13.3). */
|
|
114
|
-
export declare function parseLedgerRow(raw: Uint8Array, key: string): CredentialLedgerRow;
|
|
115
|
-
/** Create-only write of a ledger/index row with the BYTE-IDENTICAL retry (a crashed writer's
|
|
116
|
-
* retry of its OWN deterministic row proceeds; foreign content under a staged name refuses —
|
|
117
|
-
* a name never silently re-binds, SPEC 13.6 discipline). PACKAGE-INTERNAL: the session
|
|
118
|
-
* adapter writes its `epcred.` rows through this. */
|
|
119
|
-
export declare function createRowByteIdempotent(kv: KV, key: string, value: unknown): Promise<void>;
|
|
120
|
-
/** Idempotent monotonic revocation mark on a ledger row (revision-pinned CAS; a lost pin
|
|
121
|
-
* re-reads — terminal-now returns, still-active retries). An ABSENT key refuses: the ledger
|
|
122
|
-
* is never-deleted, so "revoke a row that does not exist" is a caller bug or corruption,
|
|
123
|
-
* never a silent success. PACKAGE-INTERNAL (the session adapter routes through this too). */
|
|
124
|
-
export declare function markLedgerRowRevoked(kv: KV, key: string): Promise<"revoked" | "already-revoked">;
|
|
11
|
+
export { createRowByteIdempotent, markLedgerRowRevoked };
|
|
125
12
|
/** A per-handle source gate: `open` mints, `frozen` is the revocation fence (terminal for a
|
|
126
13
|
* revoked handle — a source gate never reopens; SPEC 13.1). */
|
|
127
14
|
export interface SourceGateRow {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-ledger.d.ts","sourceRoot":"","sources":["../src/credential-ledger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"credential-ledger.d.ts","sourceRoot":"","sources":["../src/credential-ledger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,66 +1,17 @@
|
|
|
1
|
-
import { EpEnvelopeError, assertLifecycleToken,
|
|
1
|
+
import { EpEnvelopeError, assertLifecycleToken, isCasLoss as isRawCasLoss, assertKeySegment, assertCredentialIdTail, assertHolderPrincipal, assertSourceChain, parseSourceMember, SOURCE_ROOT, credRowKey, epcredRowKey, parseLedgerRow, createRowByteIdempotent, markLedgerRowRevoked, } from "@cotal-ai/core";
|
|
2
|
+
// The ledger-row GRAMMAR (family keys, closed row schema, boundary parser, lineage/holder
|
|
3
|
+
// asserts) is the shared §13.1 state grammar in @cotal-ai/core (`lifecycle-state.ts`), so the
|
|
4
|
+
// static lifecycle adapter writes/revokes rows in the ONE encoding this module reads (design
|
|
5
|
+
// note B1). Re-exported here so the package surface is unchanged.
|
|
6
|
+
export { credRowKey, epcredRowKey, parseSourceMember, SOURCE_ROOT, parseLedgerRow } from "@cotal-ai/core";
|
|
2
7
|
import { registryStores, registryScanner, readLifecycleHeadForOperation, readUidReservation, observeGate, freezeGate, reopenGate, advanceEpochWithinTakeover, } from "./lifecycle-registry.js";
|
|
3
8
|
const enc = new TextEncoder();
|
|
4
9
|
const dec = new TextDecoder();
|
|
5
10
|
const isRec = (v) => v !== null && typeof v === "object" && !Array.isArray(v);
|
|
6
11
|
const uint = (v) => typeof v === "number" && Number.isSafeInteger(v) && v >= 0;
|
|
7
12
|
// ---- key grammar ------------------------------------------------------------------------------
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
function assertKeySegment(v, what) {
|
|
11
|
-
if (typeof v !== "string" || !KEY_SEGMENT.test(v))
|
|
12
|
-
throw new EpEnvelopeError("failed-precondition", `${what} ${JSON.stringify(v)} is not a KV-safe key segment (SPEC 13.1)`);
|
|
13
|
-
return v;
|
|
14
|
-
}
|
|
15
|
-
/** A credential id: one or more KV-safe segments (dots allowed BETWEEN segments — the session
|
|
16
|
-
* families use `<sessionId>.c` / `<sessionId>.s` — but never wildcards or empty segments). */
|
|
17
|
-
function assertCredentialIdTail(v, what) {
|
|
18
|
-
if (typeof v !== "string" || v.length === 0 || v.length > 256 || !v.split(".").every((s) => KEY_SEGMENT.test(s)))
|
|
19
|
-
throw new EpEnvelopeError("failed-precondition", `${what} ${JSON.stringify(v)} is not a bounded dotted credential id (SPEC 13.1)`);
|
|
20
|
-
return v;
|
|
21
|
-
}
|
|
22
|
-
/** A holder principal `<owner>.<actor>` with a REAL owner (derived `u_…` or the dev owner) —
|
|
23
|
-
* eviction is BY PRINCIPAL, so a row that cannot name an evictable principal never ledgers. */
|
|
24
|
-
function assertHolderPrincipal(v, what) {
|
|
25
|
-
const p = typeof v === "string" ? parsePrincipalKey(v) : null;
|
|
26
|
-
if (!p || !isPrincipalOwnerToken(p.owner))
|
|
27
|
-
throw new EpEnvelopeError("failed-precondition", `${what} ${JSON.stringify(v)} is not a principal dot-form the barrier can evict (SPEC 13.1)`);
|
|
28
|
-
return v;
|
|
29
|
-
}
|
|
30
|
-
export const SOURCE_ROOT = "root";
|
|
31
|
-
/** Validate ONE sourceChain member — `root`, `handle.<issuerKeyId>.<id>`, or
|
|
32
|
-
* `session.<sessionId>` (SPEC 13.1) — and return its parsed shape. */
|
|
33
|
-
export function parseSourceMember(member) {
|
|
34
|
-
if (member === SOURCE_ROOT)
|
|
35
|
-
return { kind: "root" };
|
|
36
|
-
if (typeof member === "string" && member.startsWith("handle.")) {
|
|
37
|
-
const rest = member.slice("handle.".length).split(".");
|
|
38
|
-
if (rest.length === 2 && KEY_SEGMENT.test(rest[0]) && KEY_SEGMENT.test(rest[1]))
|
|
39
|
-
return { kind: "handle", issuerKeyId: rest[0], id: rest[1] };
|
|
40
|
-
}
|
|
41
|
-
if (typeof member === "string" && member.startsWith("session.")) {
|
|
42
|
-
const sid = member.slice("session.".length);
|
|
43
|
-
if (KEY_SEGMENT.test(sid))
|
|
44
|
-
return { kind: "session", sessionId: sid };
|
|
45
|
-
}
|
|
46
|
-
throw new EpEnvelopeError("failed-precondition", `sourceChain member ${JSON.stringify(member)} is not root | handle.<issuerKeyId>.<id> | session.<sessionId> (SPEC 13.1)`);
|
|
47
|
-
}
|
|
48
|
-
function assertSourceChain(v, what) {
|
|
49
|
-
if (!Array.isArray(v) || v.length === 0)
|
|
50
|
-
throw new EpEnvelopeError("failed-precondition", `${what} must be a non-empty sourceChain (SPEC 13.1: the FULL verified lineage, never absent)`);
|
|
51
|
-
for (const m of v)
|
|
52
|
-
parseSourceMember(m);
|
|
53
|
-
return v;
|
|
54
|
-
}
|
|
55
|
-
/** The agent-family ledger key `cred.<lifecycleUid>.<credentialId>`. */
|
|
56
|
-
export function credRowKey(lifecycleUid, credentialId) {
|
|
57
|
-
return `cred.${assertLifecycleToken(lifecycleUid)}.${assertCredentialIdTail(credentialId, "credentialId")}`;
|
|
58
|
-
}
|
|
59
|
-
/** The endpoint-family ledger key `epcred.<endpoint>.<instanceId>.<credentialId>` (disjoint by
|
|
60
|
-
* explicit prefix, never arity, SPEC 13.1). */
|
|
61
|
-
export function epcredRowKey(endpoint, instanceId, credentialId) {
|
|
62
|
-
return `epcred.${endpointToken(endpoint)}.${assertLifecycleToken(instanceId, "instanceId")}.${assertCredentialIdTail(credentialId, "credentialId")}`;
|
|
63
|
-
}
|
|
13
|
+
// The KV-segment/credential-id/holder/source-chain asserts and the cred./epcred. family keys
|
|
14
|
+
// live in the shared core grammar (imported above); only the auth-internal families remain here.
|
|
64
15
|
/** The per-ancestor lineage index key `bysrc.<issuerKeyId>.<id>.<lifecycleUid>.<credentialId>`. */
|
|
65
16
|
export function bysrcKey(issuerKeyId, id, lifecycleUid, credentialId) {
|
|
66
17
|
return `bysrc.${assertKeySegment(issuerKeyId, "issuerKeyId")}.${assertKeySegment(id, "handle id")}.${assertLifecycleToken(lifecycleUid)}.${assertCredentialIdTail(credentialId, "credentialId")}`;
|
|
@@ -74,105 +25,14 @@ export function srcgateKey(issuerKeyId, id) {
|
|
|
74
25
|
export function stageIntentKey(opId) {
|
|
75
26
|
return `stage.${assertLifecycleToken(opId)}`;
|
|
76
27
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
catch {
|
|
86
|
-
throw new EpEnvelopeError("internal", `the credential-ledger row ${key} is not JSON; garbled trusted-path state never authorizes (SPEC 13.1)`);
|
|
87
|
-
}
|
|
88
|
-
if (!isRec(o))
|
|
89
|
-
throw new EpEnvelopeError("internal", `the credential-ledger row ${key} is not an object`);
|
|
90
|
-
const allowed = new Set(["credentialId", "holderPrincipal", "lifecycleUid", "endpoint", "sourceChain", "state", "exp"]);
|
|
91
|
-
for (const k of Object.keys(o))
|
|
92
|
-
if (!allowed.has(k))
|
|
93
|
-
throw new EpEnvelopeError("internal", `the credential-ledger row ${key} carries the unknown field "${k}" (closed schema, SPEC 13.1)`);
|
|
94
|
-
if (typeof o.credentialId !== "string" || typeof o.holderPrincipal !== "string" || typeof o.lifecycleUid !== "string" ||
|
|
95
|
-
(o.state !== "active" && o.state !== "revoked") || !uint(o.exp))
|
|
96
|
-
throw new EpEnvelopeError("internal", `the credential-ledger row ${key} does not validate (id/holder/uid/state/exp); a garbled row never authorizes (SPEC 13.1)`);
|
|
97
|
-
try {
|
|
98
|
-
assertSourceChain(o.sourceChain, `row ${key} sourceChain`);
|
|
99
|
-
assertCredentialIdTail(o.credentialId, `row ${key} credentialId`);
|
|
100
|
-
// holderPrincipal is ALWAYS a CONNZ-attributable principal, in BOTH families (the barrier
|
|
101
|
-
// KICKs it; the endpoint name is NOT attributable and never sits here).
|
|
102
|
-
assertHolderPrincipal(o.holderPrincipal, `row ${key} holderPrincipal`);
|
|
103
|
-
}
|
|
104
|
-
catch (e) {
|
|
105
|
-
throw new EpEnvelopeError("internal", `the credential-ledger row ${key} carries a malformed lineage/id/holder: ${e.message}`);
|
|
106
|
-
}
|
|
107
|
-
// KEY BINDING, per family: the row's own identity must rebuild its key exactly. The endpoint
|
|
108
|
-
// family keys on its own `endpoint` field (NOT holderPrincipal), so the key identity and the
|
|
109
|
-
// eviction target stay disjoint.
|
|
110
|
-
let expected;
|
|
111
|
-
if (key.startsWith("cred.")) {
|
|
112
|
-
if (o.endpoint !== undefined)
|
|
113
|
-
throw new EpEnvelopeError("internal", `the agent-family row ${key} carries an endpoint field (that belongs to the epcred family, SPEC 13.1)`);
|
|
114
|
-
expected = credRowKey(o.lifecycleUid, o.credentialId);
|
|
115
|
-
}
|
|
116
|
-
else if (key.startsWith("epcred.")) {
|
|
117
|
-
if (typeof o.endpoint !== "string" || o.endpoint.length === 0)
|
|
118
|
-
throw new EpEnvelopeError("internal", `the endpoint-family row ${key} is missing its endpoint field (it forms the key, SPEC 13.1)`);
|
|
119
|
-
try {
|
|
120
|
-
expected = epcredRowKey(o.endpoint, o.lifecycleUid, o.credentialId);
|
|
121
|
-
}
|
|
122
|
-
catch (e) {
|
|
123
|
-
throw new EpEnvelopeError("internal", `the credential-ledger row ${key} does not validate for the endpoint family: ${e.message}`);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
throw new EpEnvelopeError("internal", `the credential-ledger row key ${key} is under neither ledger family prefix (SPEC 13.1)`);
|
|
128
|
-
}
|
|
129
|
-
if (expected !== key)
|
|
130
|
-
throw new EpEnvelopeError("internal", `the credential-ledger row at ${key} embeds an identity that rebuilds ${expected}; a key-mismatched row never authorizes (SPEC 13.1)`);
|
|
131
|
-
return o;
|
|
132
|
-
}
|
|
133
|
-
/** Create-only write of a ledger/index row with the BYTE-IDENTICAL retry (a crashed writer's
|
|
134
|
-
* retry of its OWN deterministic row proceeds; foreign content under a staged name refuses —
|
|
135
|
-
* a name never silently re-binds, SPEC 13.6 discipline). PACKAGE-INTERNAL: the session
|
|
136
|
-
* adapter writes its `epcred.` rows through this. */
|
|
137
|
-
export async function createRowByteIdempotent(kv, key, value) {
|
|
138
|
-
const bytes = JSON.stringify(value);
|
|
139
|
-
try {
|
|
140
|
-
await kv.create(key, enc.encode(bytes));
|
|
141
|
-
}
|
|
142
|
-
catch (e) {
|
|
143
|
-
if (!isRawCasLoss(e))
|
|
144
|
-
throw new EpEnvelopeError("unavailable", `creating the row ${key} is ambiguous; the mint fails closed (SPEC 13.1): ${e?.message ?? String(e)}`);
|
|
145
|
-
const existing = await kv.get(key);
|
|
146
|
-
if (!existing || existing.operation !== "PUT" || dec.decode(existing.value) !== bytes)
|
|
147
|
-
throw new EpEnvelopeError("conflict", `the row ${key} exists with FOREIGN content; a staged name never silently re-binds (SPEC 13.1)`);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
/** Idempotent monotonic revocation mark on a ledger row (revision-pinned CAS; a lost pin
|
|
151
|
-
* re-reads — terminal-now returns, still-active retries). An ABSENT key refuses: the ledger
|
|
152
|
-
* is never-deleted, so "revoke a row that does not exist" is a caller bug or corruption,
|
|
153
|
-
* never a silent success. PACKAGE-INTERNAL (the session adapter routes through this too). */
|
|
154
|
-
export async function markLedgerRowRevoked(kv, key) {
|
|
155
|
-
for (let attempt = 0; attempt < 4; attempt++) {
|
|
156
|
-
const entry = await kv.get(key);
|
|
157
|
-
if (!entry)
|
|
158
|
-
throw new EpEnvelopeError("failed-precondition", `no credential-ledger row exists at ${key}; a revocation mark needs its row (SPEC 13.1)`);
|
|
159
|
-
if (entry.operation !== "PUT")
|
|
160
|
-
throw new EpEnvelopeError("failed-precondition", `the credential-ledger row ${key} carries a ${entry.operation} marker; ledger rows are never deleted (corruption, not absence, SPEC 13.12)`);
|
|
161
|
-
const row = parseLedgerRow(entry.value, key);
|
|
162
|
-
if (row.state === "revoked")
|
|
163
|
-
return "already-revoked";
|
|
164
|
-
try {
|
|
165
|
-
await kv.update(key, enc.encode(JSON.stringify({ ...row, state: "revoked" })), entry.revision);
|
|
166
|
-
return "revoked";
|
|
167
|
-
}
|
|
168
|
-
catch (e) {
|
|
169
|
-
if (isRawCasLoss(e))
|
|
170
|
-
continue;
|
|
171
|
-
throw new EpEnvelopeError("unavailable", `revoking the row ${key} is ambiguous; the barrier retries (SPEC 13.1): ${e?.message ?? String(e)}`);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
throw new EpEnvelopeError("unavailable", `revoking the row ${key} kept losing its pin; retry the barrier (SPEC 13.1)`);
|
|
175
|
-
}
|
|
28
|
+
// ---- the normative ledger row (shared by the cred. and epcred. families) ----------------------
|
|
29
|
+
// `CredentialLedgerRow` + `parseLedgerRow` (closed schema, per-family key binding) live in the
|
|
30
|
+
// shared core grammar; re-exported above. The raw-KV credential-ledger row PRIMITIVES
|
|
31
|
+
// (`createRowByteIdempotent` / `markLedgerRowRevoked`) are LIFTED to core `endpoint-serve-kv.ts`
|
|
32
|
+
// (P2 item 1 "1a-gate", so the manager's endpoint-serve wiring shares one implementation without
|
|
33
|
+
// importing this package); imported above for this module's own writes + re-exported here so the
|
|
34
|
+
// package surface is unchanged.
|
|
35
|
+
export { createRowByteIdempotent, markLedgerRowRevoked };
|
|
176
36
|
function parseSourceGate(raw, key, issuerKeyId, id) {
|
|
177
37
|
let o;
|
|
178
38
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-ledger.js","sourceRoot":"","sources":["../src/credential-ledger.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"credential-ledger.js","sourceRoot":"","sources":["../src/credential-ledger.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
import { type JetStreamClient, type JetStreamManager } from "@nats-io/jetstream";
|
|
49
49
|
import { type KV } from "@nats-io/kv";
|
|
50
50
|
import type { NatsConnection } from "@nats-io/transport-node";
|
|
51
|
-
import { type WorkPoolContext } from "@cotal-ai/core";
|
|
51
|
+
import { type LifecycleMapping, type EpGateRow, type WorkPoolContext } from "@cotal-ai/core";
|
|
52
52
|
import { type AuthLedgerScanner } from "./ledger-scanner.js";
|
|
53
53
|
import { type RecordsScanner } from "./records-scanner.js";
|
|
54
54
|
/** The minting authority's sealed registry over the space's PRIMARY records + auth stores. */
|
|
@@ -93,39 +93,7 @@ export declare function openLifecycleRegistry(nc: NatsConnection, space: string,
|
|
|
93
93
|
* records store refuses to serve authority reads (it could otherwise leader-read a MIRROR's
|
|
94
94
|
* leader and call that the mapping). */
|
|
95
95
|
export declare function openLifecycleMappingReader(nc: NatsConnection, space: string): Promise<LifecycleMappingReader>;
|
|
96
|
-
|
|
97
|
-
* `mappingRevision` is NOT here: it is the head key's STORE revision (§13.1), returned beside
|
|
98
|
-
* the mapping by the leader read. `currentCredentialId` stays ABSENT until the (3) normative
|
|
99
|
-
* ledger mints under the reopened gate (an active head naming a released credential before the
|
|
100
|
-
* ledger exists would be exactly the unledgered mint §13.1 forbids). */
|
|
101
|
-
export interface LifecycleMapping {
|
|
102
|
-
owner: string;
|
|
103
|
-
actor: string;
|
|
104
|
-
/** The never-reused, space-globally reserved lifecycle UID of THIS incarnation. */
|
|
105
|
-
lifecycleUid: string;
|
|
106
|
-
/** The minting/supervising authority. */
|
|
107
|
-
managerInstance: string;
|
|
108
|
-
/** The fenced process epoch (§13.1: live authority binds it; advanced only by the takeover
|
|
109
|
-
* barrier, which this slice does not expose). */
|
|
110
|
-
processEpoch: number;
|
|
111
|
-
/** `active` is the ONLY current state. `retiring` = the terminal barrier's op-bound
|
|
112
|
-
* containment phase (non-current, NOT replaceable). `retired` = terminal AND asserts the
|
|
113
|
-
* completed barrier (only then may activation replace the alias, with a fresh UID). */
|
|
114
|
-
state: "active" | "retiring" | "retired";
|
|
115
|
-
/** The public credential fingerprint + authority epoch — absent until the ledger slice. */
|
|
116
|
-
currentCredentialId?: string;
|
|
117
|
-
/** The opId of the takeover operation that LAST advanced this epoch (SPEC 13.1: the epoch
|
|
118
|
-
* advance and its op stamp are ONE CAS, so a completion is bound to exactly one operation).
|
|
119
|
-
* A resuming barrier confirms the completed head carries ITS opId; a LOSING concurrent
|
|
120
|
-
* takeover finds a foreign opId and refuses, never claiming the winner's completion. Absent
|
|
121
|
-
* at initial activation (epoch 1), present from the first takeover. */
|
|
122
|
-
lastTakeoverOpId?: string;
|
|
123
|
-
/** REQUIRED at `retiring` (the retirement operation's durable intent); absent otherwise. */
|
|
124
|
-
op?: {
|
|
125
|
-
opId: string;
|
|
126
|
-
kind: "retirement";
|
|
127
|
-
};
|
|
128
|
-
}
|
|
96
|
+
export type { LifecycleMapping, EpGateRow } from "@cotal-ai/core";
|
|
129
97
|
/** PACKAGE-INTERNAL accessor for the trusted auth path's sibling modules (the credential
|
|
130
98
|
* ledger + issuance barrier, which are the SAME authority over the SAME stores). Deliberately
|
|
131
99
|
* never re-exported from the package index: a sealed registry stays the only door. */
|
|
@@ -156,9 +124,9 @@ export declare function readLifecycleHeadForOperation(reg: LifecycleRegistry, ow
|
|
|
156
124
|
revision: number;
|
|
157
125
|
} | undefined>;
|
|
158
126
|
/** The takeover barrier's epoch-advance head CAS (SPEC 13.1: NO public epoch advance exists;
|
|
159
|
-
*
|
|
160
|
-
*
|
|
161
|
-
*
|
|
127
|
+
* module-internal for the credential ledger's barrier only) — delegates to the shared §13.1
|
|
128
|
+
* sequencing (core `headAdvanceEpochWithinTakeover`, which also carries the C1 same-CAS
|
|
129
|
+
* root-stamp clear) over this registry's sealed transport. */
|
|
162
130
|
export declare function advanceEpochWithinTakeover(reg: LifecycleRegistry, args: {
|
|
163
131
|
owner: string;
|
|
164
132
|
actor: string;
|
|
@@ -233,26 +201,6 @@ export declare function reserveLifecycleUid(reg: LifecycleRegistry, audit: {
|
|
|
233
201
|
actor: string;
|
|
234
202
|
mintedBy: string;
|
|
235
203
|
}): Promise<string>;
|
|
236
|
-
/** The agent-family issuance gate row (§13.1, amended): `frozen` MUST carry the durable op
|
|
237
|
-
* intent; the embedded uid MUST agree with the key. (The disjoint ENDPOINT family
|
|
238
|
-
* `epgate.<endpoint>.<instanceId>` and the full barrier land with the (3)/(2b) ledger slices.) */
|
|
239
|
-
export interface EpGateRow {
|
|
240
|
-
lifecycleUid: string;
|
|
241
|
-
state: "open" | "frozen" | "retired";
|
|
242
|
-
/** Mint generation: born 0 under the activation freeze, first mintable generation is 1 (the
|
|
243
|
-
* activation's reopen), and every barrier reopen advances it. */
|
|
244
|
-
generation: number;
|
|
245
|
-
/** REQUIRED at `frozen` (which operation owns this freeze and may advance it) AND at
|
|
246
|
-
* `retired` (the terminalizing op, audit + same-op idempotence); absent at `open`.
|
|
247
|
-
* `successor` is a per-kind summary token (SPEC 13.1): only `takeover`/`registration`
|
|
248
|
-
* may carry one (their authoritative successor artifacts live under `stage.<opId>.`);
|
|
249
|
-
* `activation`/`retirement` never do. */
|
|
250
|
-
op?: {
|
|
251
|
-
opId: string;
|
|
252
|
-
kind: "activation" | "takeover" | "registration" | "retirement";
|
|
253
|
-
successor?: string;
|
|
254
|
-
};
|
|
255
|
-
}
|
|
256
204
|
/** Observe the gate (the candidate read feeding a revision-pinned CAS; the auth store is
|
|
257
205
|
* leader-only by shape, `allow_direct=false`). A DEL/PURGE marker refuses loudly. */
|
|
258
206
|
export declare function observeGate(reg: LifecycleRegistry, lifecycleUid: string): Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle-registry.d.ts","sourceRoot":"","sources":["../src/lifecycle-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,OAAO,EAA+B,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC9G,OAAO,EAAO,KAAK,EAAE,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,
|
|
1
|
+
{"version":3,"file":"lifecycle-registry.d.ts","sourceRoot":"","sources":["../src/lifecycle-registry.ts"],"names":[],"mappings":"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"}
|