@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
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * The connect-time credential reader — the R1 "deny-new" substrate. At every connect the callout
3
+ * must prove the presented bearer's `credentialId` still names a LIVE `cred.<uid>.<credid>` row,
4
+ * so that revoking that row denies the NEXT connect (the v1 revocation lever that actually bites).
5
+ *
6
+ * The credential rows and the lifecycle head live in the DATA account, but the callout runs on the
7
+ * CALLOUT account, and NATS accounts are isolated — so the auth service opens ONE standing
8
+ * data-account reader connection (self-minted from the `dataAccount` signing seed it already
9
+ * holds; see {@link authConnectReaderGrants}) and this module reads through it.
10
+ *
11
+ * Two authority stores, both leader-served and both shape-proved on EVERY (re)bind (SPEC 13.12):
12
+ * - `cred.<uid>.<credid>` lives in `KV_cotal_auth_<space>` (`allow_direct=false`);
13
+ * - the lifecycle head `lifecycle.<owner>.<actor>` (carrying `currentCredentialId`) lives in
14
+ * `KV_cotal_records_<space>`.
15
+ * A follower/mirror can serve a STALE row that still reads `active` after a revoke, silently
16
+ * defeating deny-new, so reads are leader-served `STREAM.MSG.GET` (never `DIRECT.GET`) AND the
17
+ * store is proved primary/un-mirrored/non-evicting at bind. Any read/shape/parse failure DENIES
18
+ * the connect; there is no file-only fallback.
19
+ */
20
+ import type { NatsConnection } from "@nats-io/transport-node";
21
+ import type { ValidatedUserToken } from "./token.js";
22
+ /**
23
+ * The connect reader's SCOPED credential grant (SPEC 13.9). Read-only over BOTH authority stores,
24
+ * plus the bind-time shape-proof INFO and a connection-scoped reply inbox. It holds NO write, NO
25
+ * consumer create/update/delete, NO `DIRECT.GET`, and no account-wide inbox.
26
+ *
27
+ * D32 residual (named, not pretend-confined): `$JS.API.STREAM.MSG.GET.<stream>` is body-selected —
28
+ * broker ACLs cannot scope it to only `cred.`/head subjects, so this grant is a space-wide read of
29
+ * credential METADATA (holderPrincipal/state/chain/lifecycleUid/exp; NO secret key material rides
30
+ * the row, confirmed against the closed `CredentialLedgerRow` schema) plus the caller-selected-reply
31
+ * injection class every raw `MSG.GET` profile carries. Acceptable for this trusted, bounded-lived,
32
+ * short-exp+renewed infra reader; a genuinely ledgered infra-reader family is the deferred
33
+ * infra-mint work (a self-minted reader is revoked by stopping the service / rotating the seed, not
34
+ * an agent-barrier revoke — it is not a managed-agent or endpoint descendant).
35
+ */
36
+ export declare function authConnectReaderGrants(space: string, connId: string): {
37
+ publish: string[];
38
+ subscribe: string[];
39
+ };
40
+ /** A sealed, brand-checked connect reader (a hand-assembled context never authorizes). */
41
+ export interface ConnectReader {
42
+ readonly space: string;
43
+ }
44
+ /**
45
+ * Open (or re-open, on reconnect) the connect reader on a DATA-account connection, shape-proving
46
+ * BOTH stores at bind (SPEC 13.12) — primary/un-mirrored/non-evicting, and the auth store
47
+ * additionally `allow_direct=false`. Call this on every (re)bind: a dropped reader reconnecting
48
+ * could land on a mirror/follower, so the primary-store proof must re-run before it serves any
49
+ * connect read again. A store that cannot be proved never serves.
50
+ */
51
+ export declare function openConnectReader(nc: NatsConnection, space: string): Promise<ConnectReader>;
52
+ /**
53
+ * The connect-time deny-new check (SPEC 13.1). Assumes the caller (the ledger connect authorizer)
54
+ * has ALREADY run the actor-row + scope + lifecycle-equality checks; this adds the credential-row
55
+ * liveness proof. THROWS to deny; returns on allow. Fail-closed throughout: absent/revoked/expired/
56
+ * mismatched rows and every read failure deny.
57
+ *
58
+ * 1. the bearer MUST carry `act.credentialId` (grammar-valid from validateUserToken). Claimless =>
59
+ * deny (deny-new needs the claim; a pre-R1 bearer re-exchanges). A view bearer is NOT exempt;
60
+ * a bearer merely lacking `act.view` is a normal agent connect and is fine.
61
+ * 2. leader-read `cred.<lifecycleUid>.<credid>`; require it exist, be `active`, be unexpired under
62
+ * the service clock, and bind holderPrincipal `<owner>.<actor>` + lifecycleUid + credentialId
63
+ * with NO normalization slack.
64
+ * 3. root-issued credential (`sourceChain === ["root"]`): ALSO leader-read the lifecycle head and
65
+ * require it `active` with `currentCredentialId === credid`, so a SUPERSEDED root issuance is
66
+ * denied even if its old row still reads active (release-last keeps these consistent; head
67
+ * equality is the belt). A descendant (session/handle) leaf row is sufficient here: revoking an
68
+ * ancestor revokes the whole `cred.<uid>.>` family / `bysrc` chain and verified-evicts before
69
+ * the operation reports success, and after the leaf CAS deny-new holds.
70
+ */
71
+ export declare function authorizeConnectCredential(reader: ConnectReader, t: ValidatedUserToken, now: () => number): Promise<void>;
72
+ //# sourceMappingURL=connect-reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect-reader.d.ts","sourceRoot":"","sources":["../src/connect-reader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAK9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAiBjH;AAQD,0FAA0F;AAC1F,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAWD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAmBjG;AAgCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,0BAA0B,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC/H"}
@@ -0,0 +1,154 @@
1
+ import { jetstreamManager } from "@nats-io/jetstream";
2
+ import { EpEnvelopeError, assertInboxConnId, epAuthBucket, recordsBucket } from "@cotal-ai/core";
3
+ import { assertAuthorityStreamShape, openLifecycleMappingReader, readLifecycleMappingLeader } from "./lifecycle-registry.js";
4
+ import { credRowKey, parseLedgerRow } from "./credential-ledger.js";
5
+ /**
6
+ * The connect reader's SCOPED credential grant (SPEC 13.9). Read-only over BOTH authority stores,
7
+ * plus the bind-time shape-proof INFO and a connection-scoped reply inbox. It holds NO write, NO
8
+ * consumer create/update/delete, NO `DIRECT.GET`, and no account-wide inbox.
9
+ *
10
+ * D32 residual (named, not pretend-confined): `$JS.API.STREAM.MSG.GET.<stream>` is body-selected —
11
+ * broker ACLs cannot scope it to only `cred.`/head subjects, so this grant is a space-wide read of
12
+ * credential METADATA (holderPrincipal/state/chain/lifecycleUid/exp; NO secret key material rides
13
+ * the row, confirmed against the closed `CredentialLedgerRow` schema) plus the caller-selected-reply
14
+ * injection class every raw `MSG.GET` profile carries. Acceptable for this trusted, bounded-lived,
15
+ * short-exp+renewed infra reader; a genuinely ledgered infra-reader family is the deferred
16
+ * infra-mint work (a self-minted reader is revoked by stopping the service / rotating the seed, not
17
+ * an agent-barrier revoke — it is not a managed-agent or endpoint descendant).
18
+ */
19
+ export function authConnectReaderGrants(space, connId) {
20
+ const auth = `KV_${epAuthBucket(space)}`;
21
+ const records = `KV_${recordsBucket(space)}`;
22
+ // `connId` is the ONLY untrusted subject-forming interpolant (the space-derived stream names are
23
+ // trusted boot config); route it through the same grammar the sibling mediator/cleaner builders
24
+ // use, so a `>`/`*`/dotted value can never widen the scoped inbox to an account-wide subscribe.
25
+ const inbox = assertInboxConnId(connId);
26
+ return {
27
+ publish: [
28
+ "$JS.API.INFO",
29
+ `$JS.API.STREAM.INFO.${auth}`,
30
+ `$JS.API.STREAM.INFO.${records}`,
31
+ `$JS.API.STREAM.MSG.GET.${auth}`,
32
+ `$JS.API.STREAM.MSG.GET.${records}`,
33
+ ],
34
+ subscribe: [`_INBOX_${inbox}.>`],
35
+ };
36
+ }
37
+ const READERS = new WeakMap();
38
+ function internals(reader) {
39
+ const i = READERS.get(reader);
40
+ if (!i)
41
+ throw new EpEnvelopeError("failed-precondition", "the connect reader was not constructed by openConnectReader(); a hand-assembled context never authorizes (SPEC 13.12)");
42
+ return i;
43
+ }
44
+ /**
45
+ * Open (or re-open, on reconnect) the connect reader on a DATA-account connection, shape-proving
46
+ * BOTH stores at bind (SPEC 13.12) — primary/un-mirrored/non-evicting, and the auth store
47
+ * additionally `allow_direct=false`. Call this on every (re)bind: a dropped reader reconnecting
48
+ * could land on a mirror/follower, so the primary-store proof must re-run before it serves any
49
+ * connect read again. A store that cannot be proved never serves.
50
+ */
51
+ export async function openConnectReader(nc, space) {
52
+ const authBucket = epAuthBucket(space);
53
+ let jsm;
54
+ try {
55
+ jsm = await jetstreamManager(nc);
56
+ const authCfg = (await jsm.streams.info(`KV_${authBucket}`)).config;
57
+ assertAuthorityStreamShape(authCfg, authBucket);
58
+ if (authCfg.allow_direct !== false)
59
+ throw new EpEnvelopeError("failed-precondition", `the auth store ${authBucket} has allow_direct=${String(authCfg.allow_direct)}, not false; a Direct-Get-capable credential store defeats leader-served deny-new (SPEC 13.1); reprovision`);
60
+ }
61
+ catch (e) {
62
+ if (e instanceof EpEnvelopeError)
63
+ throw e;
64
+ throw new EpEnvelopeError("failed-precondition", `the connect reader cannot bind + shape-prove the auth store ${authBucket} (SPEC 13.12): ${e?.message ?? String(e)}`);
65
+ }
66
+ // The records-head reads go through the mapping reader, which shape-proves the records store the
67
+ // same way at its own bind — so both stores are proved on this (re)bind.
68
+ const mapping = await openLifecycleMappingReader(nc, space);
69
+ const reader = Object.freeze({ space });
70
+ READERS.set(reader, { space, jsm, mapping });
71
+ return reader;
72
+ }
73
+ /**
74
+ * Leader-read a single credential-ledger row `cred.<uid>.<credid>` from the auth store (never a
75
+ * follower `DIRECT.GET`: a stale replica could still read `active` after a revoke). Returns
76
+ * `undefined` for a genuinely absent row; a DEL/PURGE marker or a garbled row THROWS (a deletion is
77
+ * never absence, and garbled trusted-path state never authorizes).
78
+ */
79
+ async function readCredRowLeader(reader, uid, credid) {
80
+ const { jsm, space } = internals(reader);
81
+ const bucket = epAuthBucket(space);
82
+ const key = credRowKey(uid, credid);
83
+ let m;
84
+ try {
85
+ m = await jsm.streams.getMessage(`KV_${bucket}`, { last_by_subj: `$KV.${bucket}.${key}` });
86
+ }
87
+ catch (e) {
88
+ if (e.code === 10037)
89
+ return undefined; // no message on the subject
90
+ throw e;
91
+ }
92
+ if (!m)
93
+ return undefined;
94
+ const op = m.header?.get("KV-Operation");
95
+ if (op)
96
+ throw new EpEnvelopeError("failed-precondition", `the credential row ${key} carries a ${op} marker; a deletion is never absence; a revoked credential is a row with state:"revoked", not a tombstone (SPEC 13.1)`);
97
+ return parseLedgerRow(m.data, key);
98
+ }
99
+ /** A source chain that is EXACTLY the single `root` member (the root-issuance case, whose deny-new
100
+ * also pins the lifecycle head's `currentCredentialId`). Session/handle chains are descendants. */
101
+ function isRootChain(chain) {
102
+ return chain.length === 1 && chain[0] === "root";
103
+ }
104
+ /**
105
+ * The connect-time deny-new check (SPEC 13.1). Assumes the caller (the ledger connect authorizer)
106
+ * has ALREADY run the actor-row + scope + lifecycle-equality checks; this adds the credential-row
107
+ * liveness proof. THROWS to deny; returns on allow. Fail-closed throughout: absent/revoked/expired/
108
+ * mismatched rows and every read failure deny.
109
+ *
110
+ * 1. the bearer MUST carry `act.credentialId` (grammar-valid from validateUserToken). Claimless =>
111
+ * deny (deny-new needs the claim; a pre-R1 bearer re-exchanges). A view bearer is NOT exempt;
112
+ * a bearer merely lacking `act.view` is a normal agent connect and is fine.
113
+ * 2. leader-read `cred.<lifecycleUid>.<credid>`; require it exist, be `active`, be unexpired under
114
+ * the service clock, and bind holderPrincipal `<owner>.<actor>` + lifecycleUid + credentialId
115
+ * with NO normalization slack.
116
+ * 3. root-issued credential (`sourceChain === ["root"]`): ALSO leader-read the lifecycle head and
117
+ * require it `active` with `currentCredentialId === credid`, so a SUPERSEDED root issuance is
118
+ * denied even if its old row still reads active (release-last keeps these consistent; head
119
+ * equality is the belt). A descendant (session/handle) leaf row is sufficient here: revoking an
120
+ * ancestor revokes the whole `cred.<uid>.>` family / `bysrc` chain and verified-evicts before
121
+ * the operation reports success, and after the leaf CAS deny-new holds.
122
+ */
123
+ export async function authorizeConnectCredential(reader, t, now) {
124
+ const credid = t.act.credentialId;
125
+ if (credid === undefined)
126
+ throw new EpEnvelopeError("permission-denied", "the bearer carries no credential claim (act.credentialId); connect deny-new requires it; re-exchange for a fresh bearer (lifecycle credential-bound from v0.4 R1)");
127
+ const uid = t.act.lifecycleUid;
128
+ if (uid === undefined)
129
+ throw new EpEnvelopeError("permission-denied", "the bearer carries no lifecycle claim; a credential row is keyed by lifecycle uid (SPEC 13.1)");
130
+ const row = await readCredRowLeader(reader, uid, credid);
131
+ if (row === undefined)
132
+ throw new EpEnvelopeError("permission-denied", `no credential row cred.${uid}.${credid}; a revoked or never-issued credential does not connect (deny-new, SPEC 13.1)`);
133
+ if (row.state !== "active")
134
+ throw new EpEnvelopeError("permission-denied", `credential cred.${uid}.${credid} is "${row.state}", not active; a revoked credential does not connect (deny-new, SPEC 13.1)`);
135
+ const holder = `${t.owner}.${t.act.actor}`;
136
+ if (row.holderPrincipal !== holder)
137
+ throw new EpEnvelopeError("permission-denied", `credential cred.${uid}.${credid} is held by "${row.holderPrincipal}", not the connecting principal "${holder}"; a credential never authorizes a different principal (SPEC 13.1)`);
138
+ if (row.lifecycleUid !== uid)
139
+ throw new EpEnvelopeError("permission-denied", `credential row cred.${uid}.${credid} names lifecycle ${row.lifecycleUid}, not ${uid} (key/value divergence, SPEC 13.1)`);
140
+ if (row.credentialId !== credid)
141
+ throw new EpEnvelopeError("permission-denied", `credential row cred.${uid}.${credid} names credentialId ${row.credentialId} (key/value divergence, SPEC 13.1)`);
142
+ if (row.exp <= now())
143
+ throw new EpEnvelopeError("permission-denied", `credential cred.${uid}.${credid} expired at ${row.exp}; a lapsed credential does not connect (SPEC 13.1)`);
144
+ if (isRootChain(row.sourceChain)) {
145
+ const head = await readLifecycleMappingLeader(internals(reader).mapping, t.owner, t.act.actor);
146
+ if (head === undefined)
147
+ throw new EpEnvelopeError("permission-denied", `no lifecycle head for "${t.owner}/${t.act.actor}"; a root credential connect requires the current head (SPEC 13.1)`);
148
+ if (head.mapping.state !== "active")
149
+ throw new EpEnvelopeError("permission-denied", `the lifecycle head for "${t.owner}/${t.act.actor}" is "${head.mapping.state}", not active; a root credential of a retiring/retired incarnation does not connect (SPEC 13.1)`);
150
+ if (head.mapping.currentCredentialId !== credid)
151
+ throw new EpEnvelopeError("permission-denied", `the current root credential for "${t.owner}/${t.act.actor}" is ${head.mapping.currentCredentialId ?? "(none)"}, not ${credid}; a superseded root issuance does not connect (deny-new, SPEC 13.1)`);
152
+ }
153
+ }
154
+ //# sourceMappingURL=connect-reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connect-reader.js","sourceRoot":"","sources":["../src/connect-reader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { AuthTrustFingerprint, RetainedAgentAuthority, SecretStore } from "@cotal-ai/core";
2
+ export declare const USER_AUTH_TRUST_SCHEME = "cotal-user-auth-trust/v1:sha256";
3
+ /**
4
+ * Canonical non-secret commitment to every user-auth input that determines principal identity or
5
+ * standing authority. Secrets are represented only by public keys or domain-separated hashes;
6
+ * timestamps and labels are excluded because they grant no authority. Set-like lists and ledger
7
+ * rows are sorted so filesystem order and harmless list ordering cannot perturb the result. This
8
+ * is the provider-local component: the CLI must compose its generic broker root-chain input
9
+ * separately rather than this package rediscovering workspace auth files outside `dir`.
10
+ * SECRET kinds read through the caller-composed `store`; the IdP pin and ledger stay under `dir`.
11
+ */
12
+ export declare function userAuthTrustFingerprint(store: SecretStore, dir: string, space: string): Promise<AuthTrustFingerprint>;
13
+ /** Validate retained managed-agent material without writing or minting anything. */
14
+ export declare function validateRetainedManagedAgent(input: {
15
+ store: SecretStore;
16
+ dir: string;
17
+ space: string;
18
+ owner: string;
19
+ actor: string;
20
+ actorToken: string;
21
+ sentinelCreds: string;
22
+ }): Promise<RetainedAgentAuthority>;
23
+ //# sourceMappingURL=continuity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuity.d.ts","sourceRoot":"","sources":["../src/continuity.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAWhG,eAAO,MAAM,sBAAsB,oCAAoC,CAAC;AAcxE;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAsF5H;AAQD,oFAAoF;AACpF,wBAAsB,4BAA4B,CAAC,KAAK,EAAE;IACxD,KAAK,EAAE,WAAW,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAsBlC"}
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Read-only user-auth backup seams. These functions only load and validate existing provider
3
+ * state: no ensure/load-or-create helper is used anywhere in this file.
4
+ */
5
+ import { createHash, timingSafeEqual } from "node:crypto";
6
+ import { decode } from "@nats-io/jwt";
7
+ import { fromCurveSeed, fromSeed } from "@nats-io/nkeys";
8
+ import { ledgerAuthorizeAgentExchange, loadActorLedger } from "./ledger.js";
9
+ import { loadCalloutAuth, loadIssuer, loadOwnerSecret, loadPinnedIdp, loadServiceKeys, spaceIssuer, } from "./store.js";
10
+ export const USER_AUTH_TRUST_SCHEME = "cotal-user-auth-trust/v1:sha256";
11
+ const sha256 = (value) => createHash("sha256").update(value).digest("hex");
12
+ const sortedUnique = (values) => [...new Set(values)].sort();
13
+ const compareCodeUnits = (a, b) => a < b ? -1 : a > b ? 1 : 0;
14
+ const commitment = (domain, value) => sha256(Buffer.concat([Buffer.from(`${domain}\0`), Buffer.from(value)]));
15
+ function requireState(value, where, what) {
16
+ if (value === undefined)
17
+ throw new Error(`user-auth trust state ${where} is missing ${what} - restore the existing state; continuity reads never generate replacements`);
18
+ return value;
19
+ }
20
+ /**
21
+ * Canonical non-secret commitment to every user-auth input that determines principal identity or
22
+ * standing authority. Secrets are represented only by public keys or domain-separated hashes;
23
+ * timestamps and labels are excluded because they grant no authority. Set-like lists and ledger
24
+ * rows are sorted so filesystem order and harmless list ordering cannot perturb the result. This
25
+ * is the provider-local component: the CLI must compose its generic broker root-chain input
26
+ * separately rather than this package rediscovering workspace auth files outside `dir`.
27
+ * SECRET kinds read through the caller-composed `store`; the IdP pin and ledger stay under `dir`.
28
+ */
29
+ export async function userAuthTrustFingerprint(store, dir, space) {
30
+ if (!space)
31
+ throw new Error("user-auth trust fingerprint needs a space");
32
+ const inStore = `for space "${space}"`;
33
+ const keys = requireState(await loadServiceKeys(store, space), inStore, "the data-account identity");
34
+ const callout = requireState(await loadCalloutAuth(store, space), inStore, "the callout account");
35
+ const ownerSecret = requireState(await loadOwnerSecret(store, space), inStore, "the owner-derivation secret");
36
+ const idp = requireState(loadPinnedIdp(dir), `under ${dir}`, "the IdP pin");
37
+ const issuer = requireState(await loadIssuer(store, space), inStore, "the bearer issuer");
38
+ if (issuer.issuer !== spaceIssuer(space))
39
+ throw new Error(`user-auth trust state ${inStore} belongs to issuer "${issuer.issuer}", not space "${space}"`);
40
+ const publicFromSeed = (seed) => {
41
+ const pair = fromSeed(new TextEncoder().encode(seed));
42
+ try {
43
+ return pair.getPublicKey();
44
+ }
45
+ finally {
46
+ pair.clear();
47
+ }
48
+ };
49
+ const dataSigningPub = publicFromSeed(keys.dataAccount.signingSeed);
50
+ const calloutAccountPub = publicFromSeed(callout.account.seed);
51
+ const calloutSigningPub = publicFromSeed(callout.account.signingSeed);
52
+ const curvePair = fromCurveSeed(new TextEncoder().encode(callout.xkey.seed));
53
+ let calloutXkeyPub;
54
+ try {
55
+ calloutXkeyPub = curvePair.getPublicKey();
56
+ }
57
+ finally {
58
+ curvePair.clear();
59
+ }
60
+ if (calloutAccountPub !== callout.account.pub || calloutSigningPub !== callout.account.signingPub || calloutXkeyPub !== callout.xkey.pub)
61
+ throw new Error(`user-auth trust state ${inStore} has a callout seed/public-key mismatch`);
62
+ const accountClaims = decode(callout.account.jwt);
63
+ const external = accountClaims.nats.authorization;
64
+ const signingKeys = accountClaims.nats.signing_keys ?? [];
65
+ if (accountClaims.sub !== callout.account.pub || signingKeys.length !== 1 || signingKeys[0] !== callout.account.signingPub ||
66
+ external?.allowed_accounts?.length !== 1 || external.allowed_accounts[0] !== keys.dataAccount.pub ||
67
+ external.auth_users?.length !== 1 || external.xkey !== callout.xkey.pub)
68
+ throw new Error(`user-auth trust state ${inStore} has a callout account JWT that does not match its account, signer, xkey, or data-account binding`);
69
+ const ledger = loadActorLedger(dir)
70
+ .map((row) => ({
71
+ kind: row.kind,
72
+ owner: row.owner,
73
+ actor: row.actor,
74
+ scope: sortedUnique(row.scope),
75
+ allowSubscribe: sortedUnique(row.allowSubscribe),
76
+ allowPublish: sortedUnique(row.allowPublish),
77
+ role: row.role ?? null,
78
+ parent: row.parent ?? null,
79
+ tokenHash: row.kind === "managed-agent" ? row.tokenHash : null,
80
+ }))
81
+ .sort((a, b) => compareCodeUnits(`${a.kind}\0${a.owner}\0${a.actor}`, `${b.kind}\0${b.owner}\0${b.actor}`));
82
+ const issuerKeys = issuer.jwks().keys
83
+ .map((key) => ({
84
+ kty: key.kty ?? null,
85
+ crv: key.crv ?? null,
86
+ x: key.x ?? null,
87
+ kid: key.kid ?? null,
88
+ alg: key.alg ?? null,
89
+ use: key.use ?? null,
90
+ }))
91
+ .sort((a, b) => compareCodeUnits(String(a.kid), String(b.kid)));
92
+ const canonical = {
93
+ space,
94
+ account: {
95
+ dataPub: keys.dataAccount.pub,
96
+ dataSigningPub,
97
+ calloutPub: calloutAccountPub,
98
+ calloutSigningPub,
99
+ calloutXkeyPub,
100
+ calloutAccountJwt: commitment("cotal-callout-account-jwt/v1", callout.account.jwt),
101
+ calloutAccountSeed: commitment("cotal-callout-account-seed/v1", callout.account.seed),
102
+ calloutSigningSeed: commitment("cotal-callout-signing-seed/v1", callout.account.signingSeed),
103
+ calloutXkeySeed: commitment("cotal-callout-xkey-seed/v1", callout.xkey.seed),
104
+ calloutCreds: commitment("cotal-callout-service-creds/v1", callout.calloutCreds),
105
+ sentinelCreds: commitment("cotal-callout-sentinel-creds/v1", callout.sentinelCreds),
106
+ },
107
+ ownerSecret: commitment("cotal-owner-secret/v1", ownerSecret),
108
+ idp: { url: idp.url, issuer: idp.issuer, audience: idp.audience, jwksUri: idp.jwksUri },
109
+ issuer: { issuer: issuer.issuer, activeKid: issuer.activeKid(), keys: issuerKeys },
110
+ ledger,
111
+ };
112
+ return {
113
+ scheme: USER_AUTH_TRUST_SCHEME,
114
+ value: sha256(`${USER_AUTH_TRUST_SCHEME}\0${JSON.stringify(canonical)}`),
115
+ };
116
+ }
117
+ function sameSecret(a, b) {
118
+ const ah = Buffer.from(sha256(a), "hex");
119
+ const bh = Buffer.from(sha256(b), "hex");
120
+ return timingSafeEqual(ah, bh);
121
+ }
122
+ /** Validate retained managed-agent material without writing or minting anything. */
123
+ export async function validateRetainedManagedAgent(input) {
124
+ const issuer = requireState(await loadIssuer(input.store, input.space), `for space "${input.space}"`, "the bearer issuer");
125
+ if (issuer.issuer !== spaceIssuer(input.space))
126
+ throw new Error(`retained user-auth state belongs to issuer "${issuer.issuer}", not space "${input.space}"`);
127
+ const callout = requireState(await loadCalloutAuth(input.store, input.space), `for space "${input.space}"`, "the callout account");
128
+ if (!sameSecret(input.sentinelCreds, callout.sentinelCreds))
129
+ throw new Error(`retained sentinel credential for ${input.owner}.${input.actor} does not match space "${input.space}"`);
130
+ // This checks the token hash in constant time and re-walks the current delegation envelope.
131
+ const row = ledgerAuthorizeAgentExchange(input.dir, input.owner, input.actor, input.actorToken);
132
+ if (!row.lifecycleUid)
133
+ throw new Error(`retained agent ${input.owner}.${input.actor} has no lifecycleUid on its current ledger row; re-grant it (bearers are lifecycle-bound from v0.4)`);
134
+ return {
135
+ owner: row.owner,
136
+ actor: row.actor,
137
+ lifecycleUid: row.lifecycleUid,
138
+ scope: [...row.scope],
139
+ allowSubscribe: [...row.allowSubscribe],
140
+ allowPublish: [...row.allowPublish],
141
+ ...(row.role ? { role: row.role } : {}),
142
+ ...(row.parent ? { parent: row.parent } : {}),
143
+ };
144
+ }
145
+ //# sourceMappingURL=continuity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuity.js","sourceRoot":"","sources":["../src/continuity.ts"],"names":[],"mappings":"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"}