@cotal-ai/core 0.15.0 → 0.17.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 (146) hide show
  1. package/dist/acls.d.ts +21 -0
  2. package/dist/acls.d.ts.map +1 -1
  3. package/dist/acls.js +75 -12
  4. package/dist/acls.js.map +1 -1
  5. package/dist/artifact.d.ts +45 -0
  6. package/dist/artifact.d.ts.map +1 -0
  7. package/dist/artifact.js +82 -0
  8. package/dist/artifact.js.map +1 -0
  9. package/dist/backup-config.d.ts +9 -2
  10. package/dist/backup-config.d.ts.map +1 -1
  11. package/dist/backup-config.js +6 -2
  12. package/dist/backup-config.js.map +1 -1
  13. package/dist/broker-tls.d.ts +70 -0
  14. package/dist/broker-tls.d.ts.map +1 -0
  15. package/dist/broker-tls.js +195 -0
  16. package/dist/broker-tls.js.map +1 -0
  17. package/dist/canonical.d.ts +14 -1
  18. package/dist/canonical.d.ts.map +1 -1
  19. package/dist/canonical.js +21 -1
  20. package/dist/canonical.js.map +1 -1
  21. package/dist/channels.d.ts.map +1 -1
  22. package/dist/channels.js +18 -9
  23. package/dist/channels.js.map +1 -1
  24. package/dist/endpoint-action.d.ts +108 -3
  25. package/dist/endpoint-action.d.ts.map +1 -1
  26. package/dist/endpoint-action.js +209 -20
  27. package/dist/endpoint-action.js.map +1 -1
  28. package/dist/endpoint-binding.d.ts +138 -8
  29. package/dist/endpoint-binding.d.ts.map +1 -1
  30. package/dist/endpoint-binding.js +233 -26
  31. package/dist/endpoint-binding.js.map +1 -1
  32. package/dist/endpoint-contract-store.d.ts +24 -1
  33. package/dist/endpoint-contract-store.d.ts.map +1 -1
  34. package/dist/endpoint-contract-store.js +79 -27
  35. package/dist/endpoint-contract-store.js.map +1 -1
  36. package/dist/endpoint-envelope.d.ts +15 -37
  37. package/dist/endpoint-envelope.d.ts.map +1 -1
  38. package/dist/endpoint-envelope.js +93 -44
  39. package/dist/endpoint-envelope.js.map +1 -1
  40. package/dist/endpoint-error.d.ts +33 -0
  41. package/dist/endpoint-error.d.ts.map +1 -0
  42. package/dist/endpoint-error.js +34 -0
  43. package/dist/endpoint-error.js.map +1 -0
  44. package/dist/endpoint-grants.d.ts +48 -7
  45. package/dist/endpoint-grants.d.ts.map +1 -1
  46. package/dist/endpoint-grants.js +97 -9
  47. package/dist/endpoint-grants.js.map +1 -1
  48. package/dist/endpoint-invoke.d.ts +138 -0
  49. package/dist/endpoint-invoke.d.ts.map +1 -0
  50. package/dist/endpoint-invoke.js +340 -0
  51. package/dist/endpoint-invoke.js.map +1 -0
  52. package/dist/endpoint-records.d.ts.map +1 -1
  53. package/dist/endpoint-records.js +17 -0
  54. package/dist/endpoint-records.js.map +1 -1
  55. package/dist/endpoint-serve-kv.d.ts +97 -0
  56. package/dist/endpoint-serve-kv.d.ts.map +1 -0
  57. package/dist/endpoint-serve-kv.js +336 -0
  58. package/dist/endpoint-serve-kv.js.map +1 -0
  59. package/dist/endpoint-serve.d.ts.map +1 -1
  60. package/dist/endpoint-serve.js +21 -1
  61. package/dist/endpoint-serve.js.map +1 -1
  62. package/dist/endpoint-service.d.ts +1 -1
  63. package/dist/endpoint-service.d.ts.map +1 -1
  64. package/dist/endpoint-service.js +34 -10
  65. package/dist/endpoint-service.js.map +1 -1
  66. package/dist/endpoint-session-rail.d.ts +127 -0
  67. package/dist/endpoint-session-rail.d.ts.map +1 -0
  68. package/dist/endpoint-session-rail.js +325 -0
  69. package/dist/endpoint-session-rail.js.map +1 -0
  70. package/dist/endpoint-session.d.ts +1 -115
  71. package/dist/endpoint-session.d.ts.map +1 -1
  72. package/dist/endpoint-session.js +4 -316
  73. package/dist/endpoint-session.js.map +1 -1
  74. package/dist/endpoint-subjects.d.ts +10 -1
  75. package/dist/endpoint-subjects.d.ts.map +1 -1
  76. package/dist/endpoint-subjects.js +10 -1
  77. package/dist/endpoint-subjects.js.map +1 -1
  78. package/dist/endpoint-verbs.d.ts +1 -2
  79. package/dist/endpoint-verbs.d.ts.map +1 -1
  80. package/dist/endpoint-verbs.js +6 -6
  81. package/dist/endpoint-verbs.js.map +1 -1
  82. package/dist/endpoint.d.ts +169 -15
  83. package/dist/endpoint.d.ts.map +1 -1
  84. package/dist/endpoint.js +491 -43
  85. package/dist/endpoint.js.map +1 -1
  86. package/dist/identity.d.ts +19 -0
  87. package/dist/identity.d.ts.map +1 -1
  88. package/dist/identity.js +12 -0
  89. package/dist/identity.js.map +1 -1
  90. package/dist/index.d.ts +9 -0
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +9 -0
  93. package/dist/index.js.map +1 -1
  94. package/dist/kv-scan.d.ts +105 -0
  95. package/dist/kv-scan.d.ts.map +1 -0
  96. package/dist/kv-scan.js +192 -0
  97. package/dist/kv-scan.js.map +1 -0
  98. package/dist/lease.d.ts +12 -5
  99. package/dist/lease.d.ts.map +1 -1
  100. package/dist/lease.js.map +1 -1
  101. package/dist/lifecycle-saga.d.ts +174 -0
  102. package/dist/lifecycle-saga.d.ts.map +1 -0
  103. package/dist/lifecycle-saga.js +418 -0
  104. package/dist/lifecycle-saga.js.map +1 -0
  105. package/dist/lifecycle-state.d.ts +202 -0
  106. package/dist/lifecycle-state.d.ts.map +1 -0
  107. package/dist/lifecycle-state.js +347 -0
  108. package/dist/lifecycle-state.js.map +1 -0
  109. package/dist/members.d.ts +8 -4
  110. package/dist/members.d.ts.map +1 -1
  111. package/dist/members.js +19 -9
  112. package/dist/members.js.map +1 -1
  113. package/dist/parts.d.ts +13 -0
  114. package/dist/parts.d.ts.map +1 -0
  115. package/dist/parts.js +17 -0
  116. package/dist/parts.js.map +1 -0
  117. package/dist/provision.d.ts +106 -9
  118. package/dist/provision.d.ts.map +1 -1
  119. package/dist/provision.js +506 -110
  120. package/dist/provision.js.map +1 -1
  121. package/dist/schema-profile.d.ts +3 -2
  122. package/dist/schema-profile.d.ts.map +1 -1
  123. package/dist/schema-profile.js +242 -18
  124. package/dist/schema-profile.js.map +1 -1
  125. package/dist/session-browser.d.ts +15 -0
  126. package/dist/session-browser.d.ts.map +1 -0
  127. package/dist/session-browser.js +14 -0
  128. package/dist/session-browser.js.map +1 -0
  129. package/dist/session-terminal-frames.d.ts +36 -0
  130. package/dist/session-terminal-frames.d.ts.map +1 -0
  131. package/dist/session-terminal-frames.js +149 -0
  132. package/dist/session-terminal-frames.js.map +1 -0
  133. package/dist/spaces.d.ts.map +1 -1
  134. package/dist/spaces.js +6 -1
  135. package/dist/spaces.js.map +1 -1
  136. package/dist/streams.d.ts +53 -1
  137. package/dist/streams.d.ts.map +1 -1
  138. package/dist/streams.js +135 -8
  139. package/dist/streams.js.map +1 -1
  140. package/dist/subjects.d.ts +32 -26
  141. package/dist/subjects.d.ts.map +1 -1
  142. package/dist/subjects.js +38 -25
  143. package/dist/subjects.js.map +1 -1
  144. package/dist/types.d.ts +27 -1
  145. package/dist/types.d.ts.map +1 -1
  146. package/package.json +6 -1
@@ -0,0 +1,336 @@
1
+ import { EpEnvelopeError } from "./endpoint-envelope.js";
2
+ import { isCasLoss as isRawCasLoss } from "./endpoint-records.js";
3
+ import { endpointToken, assertLifecycleToken } from "./endpoint-subjects.js";
4
+ import { epgateKey, epcredRowKey, parseEndpointGate, parseLedgerRow } from "./lifecycle-state.js";
5
+ const enc = new TextEncoder();
6
+ const dec = new TextDecoder();
7
+ /** Create a credential-ledger row CREATE-ONLY, idempotent iff BYTE-IDENTICAL: staging a key that
8
+ * already exists succeeds only when the stored bytes match (a retry of the SAME issuance), and
9
+ * CONFLICTs when they differ (a staged name never silently re-binds the row revocation/audit
10
+ * relies on). A create loss whose cause is not a CAS conflict fails the mint CLOSED. */
11
+ export async function createRowByteIdempotent(kv, key, value) {
12
+ const bytes = JSON.stringify(value);
13
+ try {
14
+ await kv.create(key, enc.encode(bytes));
15
+ }
16
+ catch (e) {
17
+ if (!isRawCasLoss(e))
18
+ throw new EpEnvelopeError("unavailable", `creating the row ${key} is ambiguous; the mint fails closed (SPEC 13.1): ${e?.message ?? String(e)}`);
19
+ const existing = await kv.get(key);
20
+ if (!existing || existing.operation !== "PUT" || dec.decode(existing.value) !== bytes)
21
+ throw new EpEnvelopeError("conflict", `the row ${key} exists with FOREIGN content; a staged name never silently re-binds (SPEC 13.1)`);
22
+ }
23
+ }
24
+ /** CAS a credential-ledger row `active` -> `revoked` at its observed revision (retrying on a CAS
25
+ * loss). Idempotent on an already-revoked row; FAILS LOUD on an absent/DEL row — a vanished
26
+ * never-delete ledger row is corruption, never a "never staged" idempotence case. */
27
+ export async function markLedgerRowRevoked(kv, key) {
28
+ for (let attempt = 0; attempt < 4; attempt++) {
29
+ const entry = await kv.get(key);
30
+ if (!entry)
31
+ throw new EpEnvelopeError("failed-precondition", `no credential-ledger row exists at ${key}; a revocation mark needs its row (SPEC 13.1)`);
32
+ if (entry.operation !== "PUT")
33
+ 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)`);
34
+ const row = parseLedgerRow(entry.value, key);
35
+ if (row.state === "revoked")
36
+ return "already-revoked";
37
+ try {
38
+ await kv.update(key, enc.encode(JSON.stringify({ ...row, state: "revoked" })), entry.revision);
39
+ return "revoked";
40
+ }
41
+ catch (e) {
42
+ if (isRawCasLoss(e))
43
+ continue;
44
+ throw new EpEnvelopeError("unavailable", `revoking the row ${key} is ambiguous; the barrier retries (SPEC 13.1): ${e?.message ?? String(e)}`);
45
+ }
46
+ }
47
+ throw new EpEnvelopeError("unavailable", `revoking the row ${key} kept losing its pin; retry the barrier (SPEC 13.1)`);
48
+ }
49
+ /** The §13.1 endpoint-serve MINT FENCE over a bound KV — the `EpIssuanceGate` core's serve mint
50
+ * (`mintCreds`, profile `endpoint-serve`) fences its release on: it stages the per-JWT `epcred.
51
+ * <endpoint>.<instanceId>.<credentialId>` row, then a revision-pinned identical-bytes TOUCH of the
52
+ * `epgate.<endpoint>.<instanceId>` key (a barrier that moved the gate since observation makes the
53
+ * mint LOSE). Lifted from the auth session ledger (fact H3) so both the auth session redemption
54
+ * and the manager's endpoint-serve wiring drive ONE fence; the auth `kvServeIssuanceGate` wraps
55
+ * this by unwrapping its branded `SessionAuthStore` to `(kv, space)`. `space` is carried on the
56
+ * observed gate for the core mint's space-bond defense (the KV IS the space bucket). */
57
+ export function serveIssuanceGateKv(kv, space, args) {
58
+ const endpoint = endpointToken(args.endpoint);
59
+ const instanceId = assertLifecycleToken(args.instanceId, "instanceId");
60
+ const key = epgateKey(endpoint, instanceId);
61
+ return {
62
+ observe: async () => {
63
+ const entry = await kv.get(key);
64
+ if (!entry)
65
+ return null; // no gate => the mint fails closed (core refuses a null observe)
66
+ if (entry.operation !== "PUT")
67
+ throw new EpEnvelopeError("failed-precondition", `the endpoint gate ${key} carries a ${entry.operation} marker; a gate is never deleted (corruption, not absence, SPEC 13.12)`);
68
+ const gate = parseEndpointGate(entry.value, key);
69
+ return {
70
+ space, endpoint, lifecycleUid: instanceId,
71
+ // Carry the gate's registered serving principal so the core mint fence can bind the minted
72
+ // owner.actor to it (§13.1:1056-1069: a sibling actor cannot win the gate).
73
+ principal: gate.principal,
74
+ state: gate.state, generation: gate.generation, processEpoch: gate.processEpoch,
75
+ registrationRevision: gate.registrationRevision, nameAuthorityRevision: gate.nameAuthorityRevision,
76
+ revision: entry.revision,
77
+ };
78
+ },
79
+ stage: async (row) => {
80
+ // The staged row must BE this gate's instance — a foreign endpoint/instance row through this
81
+ // adapter is a caller bug, never silently redirected into another family.
82
+ if (row.endpoint !== endpoint || row.lifecycleUid !== instanceId)
83
+ throw new EpEnvelopeError("failed-precondition", `the staged serve row names ${row.endpoint}/${row.lifecycleUid} but this gate serves ${endpoint}/${instanceId}; a row never crosses families (SPEC 13.1)`);
84
+ if (typeof row.exp !== "number")
85
+ throw new EpEnvelopeError("failed-precondition", `the staged serve row for ${endpoint}/${instanceId} carries no expiry; the normative ledger row requires one (SPEC 13.1)`);
86
+ const ledgerRow = {
87
+ credentialId: row.credentialId, holderPrincipal: row.holderPrincipal,
88
+ lifecycleUid: instanceId, endpoint, sourceChain: [...row.sourceChain], state: "active", exp: row.exp,
89
+ };
90
+ const rowKey = epcredRowKey(endpoint, instanceId, row.credentialId);
91
+ // Round-trip the writer's own bytes through the consuming parser BEFORE the create: a row
92
+ // this trusted path would itself refuse to read never lands durably.
93
+ parseLedgerRow(enc.encode(JSON.stringify(ledgerRow)), rowKey);
94
+ await createRowByteIdempotent(kv, rowKey, ledgerRow);
95
+ },
96
+ commit: async (expectedRevision) => {
97
+ const entry = await kv.get(key);
98
+ if (!entry || entry.operation !== "PUT" || entry.revision !== expectedRevision)
99
+ return false;
100
+ if (parseEndpointGate(entry.value, key).state !== "open")
101
+ return false;
102
+ try {
103
+ await kv.update(key, entry.value, expectedRevision);
104
+ return true;
105
+ }
106
+ catch (e) {
107
+ if (isRawCasLoss(e))
108
+ return false; // a barrier froze/reopened since observation; the mint loses
109
+ throw new EpEnvelopeError("unavailable", `the serve-issuance gate touch for ${key} is ambiguous; the mint fails closed (SPEC 13.1): ${e?.message ?? String(e)}`);
110
+ }
111
+ },
112
+ revoke: async (row) => {
113
+ // `revoke` runs ONLY after a successful `stage` (finalizeServeIssuance's non-win cleanup), so
114
+ // the row MUST exist. markLedgerRowRevoked is idempotent on an already-revoked row and FAILS
115
+ // LOUD on an absent/DEL row (corruption, never a "never staged" idempotence case).
116
+ await markLedgerRowRevoked(kv, epcredRowKey(endpoint, instanceId, row.credentialId));
117
+ },
118
+ };
119
+ }
120
+ /** Stage a SIBLING credential into an instance's §13.1 family under the SAME open-and-commit fence
121
+ * {@link import("./endpoint-service.js").finalizeServeIssuance} runs for the serve credential
122
+ * itself. A "sibling" is any credential minted beside the serve cred against the same
123
+ * `epgate.<endpoint>.<instanceId>` and staged into the same `epcred.<endpoint>.<instanceId>`
124
+ * family (the manager's goal-writer and its §13.6 session credentials): the family IS the
125
+ * takeover/retirement barrier's revocation unit, so a sibling that joins it without the fence is a
126
+ * credential the barrier can never revoke.
127
+ *
128
+ * THE PASSED-IN OBSERVATION IS THE AUTHORITY AND IS NEVER REPLACED BY A RE-READ. A sibling's grant
129
+ * is built FROM the observed coordinates (the serving epoch above all), so what this commit must
130
+ * fence is the gate the credential was MINTED against. Fencing whatever the gate says NOW would be
131
+ * the hole: the dangerous case is not a frozen gate but a COMPLETED takeover — freeze →
132
+ * revoke/evict → reopen leaves the gate `open` again at a NEW generation, so a mint that re-pinned
133
+ * to the successor would win its CAS and release a JWT minted against the PREDECESSOR's coordinates
134
+ * into the family the barrier has just finished reconciling. This function re-reads the gate ONLY
135
+ * to CLASSIFY a lost CAS, and every field of that re-read is compared against the ORIGINAL
136
+ * observation: a successor coordinate can therefore never be adopted, it can only be refused.
137
+ *
138
+ * Order, identical to the serve mint: require `open` -> stage the row -> revision-pinned commit ->
139
+ * release ONLY on the win. A frozen gate refuses before anything is written; a gate that MOVED
140
+ * between the caller's observe and this commit loses the CAS, and the staged row is revoked so no
141
+ * active row is left in a family the barrier already enumerated. A revoke failure is surfaced, not
142
+ * swallowed — the reconciliation debt must be visible. The caller releases the credential only if
143
+ * this resolves. */
144
+ export async function commitSiblingIssuance(gate, observed, row) {
145
+ const at = `${observed.endpoint}/${observed.lifecycleUid}`;
146
+ if (observed.state !== "open")
147
+ throw new EpEnvelopeError("expired", `the issuance gate for "${at}" is ${observed.state}; a sibling credential never mints against a closed gate (SPEC 13.1)`);
148
+ await gate.stage(row);
149
+ const revokeStaged = async () => {
150
+ try {
151
+ await gate.revoke(row);
152
+ return undefined;
153
+ }
154
+ catch (err) {
155
+ return err?.message ?? String(err);
156
+ }
157
+ };
158
+ // A LOST CAS HAS EXACTLY TWO CAUSES, and conflating them breaks one thing or the other. Four
159
+ // PRODUCTION writers touch `epgate.<endpoint>.<instanceId>`: the create-only provision, a
160
+ // barrier's FREEZE (state leaves `open`), a barrier's REOPEN (token-pinned, and it writes the
161
+ // successor coordinate — every caller of it advances `generation`, the abort path included), and
162
+ // this very commit, which writes the gate's own bytes back UNCHANGED. So a revision that moved
163
+ // while the gate is still `open` and every other field is identical can ONLY be another sibling
164
+ // mint's touch.
165
+ //
166
+ // The enumeration is REPO-WIDE, not this file: there is a fifth writer, `writeEndpointGate`
167
+ // (implementations/auth/src/session-ledger.ts), an UNPINNED `put` that is the D14 registration
168
+ // stand-in for provisioning and smokes and is deliberately not re-exported from that package's
169
+ // index. It is outside the production set today, and this classification depends on it staying
170
+ // there — promoting it to a production path without joining this enumeration would let an
171
+ // arbitrary gate rewrite look like benign contention.
172
+ //
173
+ // That case is benign contention and must NOT refuse: every per-session credential serializes on
174
+ // this one key, so a concurrent establish burst would otherwise fail live sessions for no security
175
+ // reason. A barrier, by contrast, always shows up as a DIFFERENCE — a non-`open` state, or an
176
+ // advanced coordinate — and must always refuse.
177
+ //
178
+ // The re-read classifies the loss; it never becomes the new authority. `withoutRevision` renders
179
+ // EVERY field of a gate but its revision, so the comparison is against the whole ORIGINAL
180
+ // observation rather than a hand-picked subset — a field added to the gate row later is covered by
181
+ // construction. Retries are BOUNDED: contention is bounded by the number of mints racing on one
182
+ // instance, and the attempt count dominates the manager's default live-session ceiling (64), which
183
+ // is what bounds a real establish burst. Exhausting them is `unavailable` — loud, never a silent
184
+ // release, and never an unbounded spin.
185
+ const withoutRevision = (g) => JSON.stringify(Object.entries(g).filter(([k]) => k !== "revision").sort(([a], [b]) => (a < b ? -1 : 1)));
186
+ const pinnedTo = withoutRevision(observed);
187
+ const refuse = async (message, code) => {
188
+ const revokeFailed = await revokeStaged();
189
+ throw new EpEnvelopeError(code, `${message}${revokeFailed ? `; ALSO the staged-row revoke failed and the row needs barrier reconciliation: ${revokeFailed}` : ""}`);
190
+ };
191
+ let pin = observed.revision;
192
+ for (let attempt = 0; attempt < 64; attempt++) {
193
+ let won;
194
+ try {
195
+ won = await gate.commit(pin);
196
+ }
197
+ catch (err) {
198
+ return refuse(`the issuance-gate CAS failed; refusing to release a sibling credential for "${at}" (SPEC 13.1): ${err?.message ?? String(err)}`, "unavailable");
199
+ }
200
+ if (won)
201
+ return;
202
+ const now = await gate.observe();
203
+ if (now === null)
204
+ return refuse(`the issuance gate for "${at}" vanished during a sibling mint; this mint released nothing (SPEC 13.1)`, "expired");
205
+ if (withoutRevision(now) !== pinnedTo)
206
+ return refuse(`the issuance gate advanced during a sibling mint (a takeover, re-registration, or name transfer won the serialization on "${at}"); this mint released nothing (SPEC 13.1)`, "expired");
207
+ pin = now.revision; // a concurrent sibling mint's identical-bytes touch; re-pin and retry
208
+ }
209
+ return refuse(`the issuance gate for "${at}" stayed contended across every retry; this mint released nothing (SPEC 13.1)`, "unavailable");
210
+ }
211
+ /** Provision the endpoint's issuance gate OPEN (create-only), the §13.1 pre-registration a
212
+ * `registerServiceInstance` writes behind — "a registration writes only behind the
213
+ * provisioner-created gate". Born `open` at generation 0 / epoch 0 / registrationRevision 0 /
214
+ * nameAuthorityRevision 0, bound to the serving connection principal (the eviction target every
215
+ * `epcred` row copies). Create-only + idempotent-if-identical: a second provision of the SAME
216
+ * (endpoint, instanceId, principal) is a retry, a DIFFERENT principal is a conflict (an instance
217
+ * token is never re-bound). */
218
+ export async function provisionEndpointGateOpen(kv, args) {
219
+ const endpoint = endpointToken(args.endpoint);
220
+ const instanceId = assertLifecycleToken(args.instanceId, "instanceId");
221
+ const key = epgateKey(endpoint, instanceId);
222
+ const row = { state: "open", generation: 0, processEpoch: 0, registrationRevision: 0, nameAuthorityRevision: 0, principal: args.principal };
223
+ // Round-trip through the boundary parser BEFORE the create (a gate this path would refuse to read
224
+ // never lands durably — e.g. a non-owner-grammar principal).
225
+ parseEndpointGate(enc.encode(JSON.stringify(row)), key);
226
+ await createRowByteIdempotent(kv, key, row);
227
+ }
228
+ /** The §13.1 endpoint-registration ISSUANCE BARRIER over a bound KV — the production barrier a
229
+ * `registerServiceInstance` drives (observe -> freeze -> enumerate -> revoke -> [evict] -> reopen),
230
+ * freezing this instance's `epgate.<endpoint>.<instanceId>` so no serve mint can win against the
231
+ * surface the registration is about to supersede.
232
+ *
233
+ * For a FRESH first registration the enumerated `epcred` family is EMPTY, so revoke/evict are not
234
+ * exercised — but they are REAL code (a later takeover/re-registration of a LIVE instance MUST
235
+ * revoke the prior serve family and verify-evict its holders; a stub would silently skip that).
236
+ * `evict` is INJECTED: cluster-verified eviction is the $SYS CONNZ+KICK machinery (D5 slice 4),
237
+ * not this module's job. The DEFAULT is FAIL-CLOSED `() => false` — "no evictor ⇒ eviction cannot
238
+ * be VERIFIED ⇒ report not-verified" — so the saga's own guard (`if (!evict) throw`) leaves the
239
+ * gate FROZEN for reconciliation on a takeover with no real evictor, never silently reopening into
240
+ * split-brain. It is ONLY consulted on a NON-EMPTY family (a takeover); a fresh registration's
241
+ * empty family never invokes it, so this default never touches the 1a-gate path — it enforces the
242
+ * guard the moment a live predecessor exists. A caller with the real $SYS evictor injects it. The
243
+ * freeze/reopen CAS is the real fence: a barrier that moved the gate makes a racing mint LOSE. */
244
+ export function endpointRegistrationBarrier(kv, space, args) {
245
+ const endpoint = endpointToken(args.endpoint);
246
+ const instanceId = assertLifecycleToken(args.instanceId, "instanceId");
247
+ const opId = assertLifecycleToken(args.opId, "opId");
248
+ const key = epgateKey(endpoint, instanceId);
249
+ const evict = args.evict ?? (() => false); // FAIL-CLOSED: no evictor ⇒ eviction not verified (a takeover fails closed)
250
+ const observed = async () => {
251
+ const entry = await kv.get(key);
252
+ if (!entry)
253
+ return null;
254
+ if (entry.operation !== "PUT")
255
+ throw new EpEnvelopeError("failed-precondition", `the endpoint gate ${key} carries a ${entry.operation} marker; a gate is never deleted (corruption, not absence, SPEC 13.12)`);
256
+ return { row: parseEndpointGate(entry.value, key), revision: entry.revision };
257
+ };
258
+ return {
259
+ observe: async () => {
260
+ const cur = await observed();
261
+ if (cur === null)
262
+ return null;
263
+ return {
264
+ space, endpoint, lifecycleUid: instanceId, principal: cur.row.principal,
265
+ state: cur.row.state, generation: cur.row.generation, processEpoch: cur.row.processEpoch,
266
+ registrationRevision: cur.row.registrationRevision, nameAuthorityRevision: cur.row.nameAuthorityRevision,
267
+ revision: cur.revision,
268
+ };
269
+ },
270
+ freeze: async (expectedRevision) => {
271
+ const cur = await observed();
272
+ if (cur === null || cur.revision !== expectedRevision || cur.row.state !== "open")
273
+ return null;
274
+ const frozen = { ...cur.row, state: "frozen", op: { opId, kind: "registration" } };
275
+ try {
276
+ return await kv.update(key, enc.encode(JSON.stringify(frozen)), expectedRevision); // the fencing TOKEN
277
+ }
278
+ catch (e) {
279
+ if (isRawCasLoss(e))
280
+ return null; // a concurrent barrier froze first
281
+ throw new EpEnvelopeError("unavailable", `the endpoint gate freeze CAS for ${key} is ambiguous; the registration fails closed (SPEC 13.1): ${e?.message ?? String(e)}`);
282
+ }
283
+ },
284
+ enumerate: async () => {
285
+ const rows = [];
286
+ const prefix = `epcred.${endpoint}.${instanceId}.`;
287
+ for await (const rowKey of await kv.keys(`epcred.${endpoint}.${instanceId}.>`)) {
288
+ if (!rowKey.startsWith(prefix))
289
+ continue;
290
+ const entry = await kv.get(rowKey);
291
+ if (!entry || entry.operation !== "PUT")
292
+ continue; // a DEL marker is corruption elsewhere; enumeration skips
293
+ const led = parseLedgerRow(entry.value, rowKey);
294
+ // Reconstruct the EpServeLedgerRow the barrier consumers need: revoke keys by credentialId,
295
+ // evict by holderPrincipal, the revoke loop reads state. The gate-coordinate fields and the
296
+ // holder nkey (`credentialKey`) are NOT persisted on the ledger row (fact H3) — the
297
+ // coordinates are pinned by the gate key, and revoke/evict never need the nkey; carried as
298
+ // the observed gate's coordinates + empty credentialKey, documented, not consumed here.
299
+ rows.push({
300
+ credentialId: led.credentialId, credentialKey: "", holderPrincipal: led.holderPrincipal,
301
+ endpoint, lifecycleUid: instanceId, sourceChain: led.sourceChain, state: led.state, exp: led.exp,
302
+ generation: 0, processEpoch: 0, registrationRevision: 0, nameAuthorityRevision: 0,
303
+ });
304
+ }
305
+ return rows;
306
+ },
307
+ revoke: async (row) => {
308
+ await markLedgerRowRevoked(kv, epcredRowKey(endpoint, instanceId, row.credentialId));
309
+ },
310
+ evict: async (holderPrincipal) => evict(holderPrincipal),
311
+ reopen: async (token, successor) => {
312
+ const cur = await observed();
313
+ // Token-pinned: only THIS barrier (still holding its freeze at `token`) reopens; a reconciler
314
+ // or newer barrier that advanced the revision wins and this stale reopen loses.
315
+ if (cur === null || cur.revision !== token || cur.row.state !== "frozen" || cur.row.op?.opId !== opId)
316
+ return false;
317
+ const { op: _op, ...rest } = cur.row;
318
+ void _op;
319
+ const reopened = {
320
+ ...rest, state: "open",
321
+ generation: successor.generation, processEpoch: successor.processEpoch,
322
+ registrationRevision: successor.registrationRevision, nameAuthorityRevision: successor.nameAuthorityRevision,
323
+ };
324
+ try {
325
+ await kv.update(key, enc.encode(JSON.stringify(reopened)), token);
326
+ return true;
327
+ }
328
+ catch (e) {
329
+ if (isRawCasLoss(e))
330
+ return false;
331
+ throw new EpEnvelopeError("unavailable", `the endpoint gate reopen CAS for ${key} is ambiguous; leave frozen for reconciliation (SPEC 13.1): ${e?.message ?? String(e)}`);
332
+ }
333
+ },
334
+ };
335
+ }
336
+ //# sourceMappingURL=endpoint-serve-kv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoint-serve-kv.js","sourceRoot":"","sources":["../src/endpoint-serve-kv.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint-serve.d.ts","sourceRoot":"","sources":["../src/endpoint-serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint-serve.d.ts","sourceRoot":"","sources":["../src/endpoint-serve.ts"],"names":[],"mappings":"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"}
@@ -332,7 +332,27 @@ export function serveEndpoint(nc, space, serve, commands, describe, opts = {}) {
332
332
  const fallback = { v: 1, id: reply.id, ok: false, error: { code: "internal", message: `the reply does not serialize: ${err.message}` } };
333
333
  bytes = enc.encode(JSON.stringify(fallback));
334
334
  }
335
- nc.publish(deriveReplySubject(space, parsed, identity), bytes);
335
+ const replySubject = deriveReplySubject(space, parsed, identity);
336
+ try {
337
+ nc.publish(replySubject, bytes);
338
+ }
339
+ catch (err) {
340
+ // The publish itself refused the message — a reply over the broker's `max_payload` is the
341
+ // reachable case, and a VALID payload can reach here now that the §13.8 validate budget
342
+ // reports instead of refusing (that throw used to stop an oversized output before it was
343
+ // ever encoded, which masked this path). `handle()` is invoked from a subscription callback
344
+ // whose rejection is swallowed by design, so an escaping throw here does not surface
345
+ // anywhere: it leaves the caller with SILENCE until its own deadline. That is precisely the
346
+ // outcome the non-serializable branch above already exists to prevent, so it gets the same
347
+ // treatment. The replacement fits by construction — its message is one integer and a
348
+ // bounded string — and `resource-exhausted` matches the §13.4 fact preflight, which refuses
349
+ // an over-`max_payload` acceptance loudly rather than spilling it.
350
+ const refused = {
351
+ v: 1, id: reply.id, ok: false,
352
+ error: { code: "resource-exhausted", message: `the serialized reply is ${bytes.length} bytes and the broker refused it (${err?.message ?? String(err)}); a reply that cannot be published is refused loudly, never dropped` },
353
+ };
354
+ nc.publish(replySubject, enc.encode(JSON.stringify(refused)));
355
+ }
336
356
  };
337
357
  for (const def of defs) {
338
358
  const cmd = def.command;
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint-serve.js","sourceRoot":"","sources":["../src/endpoint-serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint-serve.js","sourceRoot":"","sources":["../src/endpoint-serve.ts"],"names":[],"mappings":"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"}
@@ -181,7 +181,7 @@ export interface FrozenInstance {
181
181
  * is `failed-precondition`, never an empty success (§13.5); a MALFORMED registry record fails
182
182
  * loud (`internal`, §13.9: readers fail loud on invalid mediated-writer state). The read grant
183
183
  * this runs under is a §13.9 matrix row. */
184
- export declare function freezeExpectedSet(jsm: JetStreamManager, kv: KV, space: string, endpoint: string): Promise<FrozenInstance[]>;
184
+ export declare function freezeExpectedSet(jsm: JetStreamManager, space: string, endpoint: string): Promise<FrozenInstance[]>;
185
185
  /** The PRODUCTION `reconcileRegistration` hook for {@link epScatter} (§13.5): a bounded post-T
186
186
  * LEADER-SERVED read of every frozen slot's CURRENT `svc….spec` key (the same §13.9 read class as
187
187
  * the freeze). Per slot: a live spec is `{ registered: true, registrationRevision }` (the key's
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint-service.d.ts","sourceRoot":"","sources":["../src/endpoint-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint-service.d.ts","sourceRoot":"","sources":["../src/endpoint-service.ts"],"names":[],"mappings":"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"}
@@ -307,8 +307,10 @@ export async function registerServiceInstance(kv, args) {
307
307
  throw new EpEnvelopeError("conflict", `a concurrent barrier froze the issuance gate for "${args.instanceId}" first; re-read and re-decide (SPEC 13.1/13.8)`);
308
308
  // The gate is frozen; every exit below reopens it (token-pinned, at the original coordinate) or
309
309
  // deliberately leaves it FROZEN for reconciliation. The successor the completing reopen targets.
310
- const successorAt = (registrationRevision) => ({
311
- generation: obs.generation + 1, processEpoch: obs.processEpoch, registrationRevision, nameAuthorityRevision: obs.nameAuthorityRevision,
310
+ // `processEpoch` defaults to the frozen gate's epoch (an ABORT reopens the UNCHANGED coordinate);
311
+ // only the completing PHASE-4 reopen of a RE-registration advances it (P2 item 3, below).
312
+ const successorAt = (registrationRevision, processEpoch = obs.processEpoch) => ({
313
+ generation: obs.generation + 1, processEpoch, registrationRevision, nameAuthorityRevision: obs.nameAuthorityRevision,
312
314
  });
313
315
  // PHASE 1 — authorize UNDER the frozen gate, then ownership stability. Both are authority /
314
316
  // local reads with NO write side-effect, so any failure (owner not authorized, name-authority
@@ -448,8 +450,15 @@ export async function registerServiceInstance(kv, args) {
448
450
  }
449
451
  // PHASE 4 — reopen at the successor, TOKEN-pinned: only this barrier (still holding its freeze)
450
452
  // may reopen; a lost CAS means a reconciler/newer barrier superseded us → leave frozen.
453
+ // P2 item 3 (SPEC 13.6 item 7): a RE-registration (a prior spec existed at PHASE 1) is a
454
+ // restarted/superseded incarnation of the SAME instanceId — advance the processEpoch so the
455
+ // successor FENCES the predecessor's epoch (old-epoch serve/settle is refused, the (i) fence
456
+ // bites on a real restart). A FIRST registration keeps the provisioned epoch (0), so a single
457
+ // never-restarted instance stays at epoch 0. The advance rides THIS completing reopen only; the
458
+ // old family was already revoked + verify-evicted in PHASE 2, so no old-epoch authority survives.
459
+ const isReRegistration = current !== undefined && current !== null && current.operation === "PUT";
451
460
  try {
452
- if (!(await args.barrier.reopen(token, successorAt(newRev))))
461
+ if (!(await args.barrier.reopen(token, successorAt(newRev, isReRegistration ? obs.processEpoch + 1 : obs.processEpoch))))
453
462
  throw new Error("the reopen CAS lost its freeze token (a reconciler or newer barrier superseded this one)");
454
463
  }
455
464
  catch (err) {
@@ -577,17 +586,32 @@ export async function writeServiceStatus(kv, args) {
577
586
  * is `failed-precondition`, never an empty success (§13.5); a MALFORMED registry record fails
578
587
  * loud (`internal`, §13.9: readers fail loud on invalid mediated-writer state). The read grant
579
588
  * this runs under is a §13.9 matrix row. */
580
- export async function freezeExpectedSet(jsm, kv, space, endpoint) {
589
+ export async function freezeExpectedSet(jsm, space, endpoint) {
581
590
  const e = endpointToken(endpoint);
582
591
  const frozen = [];
583
592
  const instanceIds = [];
584
593
  try {
585
- // Enumeration is a bounded-lag `kv.keys` LIST (which instances exist): a just-registered
586
- // instance missed here simply is not frozen this round (it falls to the gather/reconcile), so
587
- // the list read need not be leader-served — but each frozen slot's coordinate reads below ARE.
588
- const iter = await kv.keys(`svc.${e}.*.spec`);
589
- for await (const key of iter)
590
- instanceIds.push(key.split(".")[2]);
594
+ // Enumeration is a bounded-lag LIST (which instances exist): a just-registered instance missed
595
+ // here simply is not frozen this round (it falls to the gather/reconcile), so the list read need
596
+ // not be leader-served — but each frozen slot's coordinate reads below ARE.
597
+ //
598
+ // It reads `STREAM.INFO` with a `subjects_filter` rather than `kv.keys()`. Both enumerate the
599
+ // same subjects; `kv.keys()` rides an ORDERED EPHEMERAL CONSUMER, so every caller of this
600
+ // function needs CONSUMER.CREATE/INFO/DELETE on the bucket — three consumer-lifecycle verbs to
601
+ // list keys. `subjects_filter` is the native JetStream feature for exactly this and needs one
602
+ // read-only metadata verb instead. The bucket name is derived from `space` (same derivation
603
+ // `scatterFreezeReadRows` uses for the grant); there is no KV handle parameter because nothing
604
+ // here opens one — per-slot reads are leader-served `STREAM.MSG.GET` via `jsm`.
605
+ //
606
+ // `state.subjects` counts messages per subject, so a key whose latest write is a DELETE marker
607
+ // still appears where `kv.keys()` would omit it. That is already handled and always was — the
608
+ // per-slot read below reports a tombstone as `{ deleted: true }` and the loop skips it as "gone
609
+ // since the enumeration list", which is the same tolerance a bounded-lag list needs anyway.
610
+ const REC = recordsBucket(space);
611
+ const prefix = `$KV.${REC}.`;
612
+ const info = await jsm.streams.info(`KV_${REC}`, { subjects_filter: `${prefix}svc.${e}.*.spec` });
613
+ for (const subject of Object.keys(info.state.subjects ?? {}))
614
+ instanceIds.push(subject.slice(prefix.length).split(".")[2]);
591
615
  }
592
616
  catch (err) {
593
617
  const wrapped = new EpEnvelopeError("failed-precondition", `the service registry for "${endpoint}" is unreadable; an unreadable registry is failed-precondition, never an empty success (SPEC 13.5): ${err?.message ?? String(err)}`);