@cotal-ai/core 0.16.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 (141) hide show
  1. package/dist/acls.d.ts +21 -0
  2. package/dist/acls.d.ts.map +1 -1
  3. package/dist/acls.js +44 -1
  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.js +4 -4
  22. package/dist/channels.js.map +1 -1
  23. package/dist/endpoint-action.d.ts +108 -3
  24. package/dist/endpoint-action.d.ts.map +1 -1
  25. package/dist/endpoint-action.js +209 -20
  26. package/dist/endpoint-action.js.map +1 -1
  27. package/dist/endpoint-binding.d.ts +138 -8
  28. package/dist/endpoint-binding.d.ts.map +1 -1
  29. package/dist/endpoint-binding.js +233 -26
  30. package/dist/endpoint-binding.js.map +1 -1
  31. package/dist/endpoint-contract-store.d.ts +24 -1
  32. package/dist/endpoint-contract-store.d.ts.map +1 -1
  33. package/dist/endpoint-contract-store.js +79 -27
  34. package/dist/endpoint-contract-store.js.map +1 -1
  35. package/dist/endpoint-envelope.d.ts +15 -37
  36. package/dist/endpoint-envelope.d.ts.map +1 -1
  37. package/dist/endpoint-envelope.js +93 -44
  38. package/dist/endpoint-envelope.js.map +1 -1
  39. package/dist/endpoint-error.d.ts +33 -0
  40. package/dist/endpoint-error.d.ts.map +1 -0
  41. package/dist/endpoint-error.js +34 -0
  42. package/dist/endpoint-error.js.map +1 -0
  43. package/dist/endpoint-grants.d.ts +48 -7
  44. package/dist/endpoint-grants.d.ts.map +1 -1
  45. package/dist/endpoint-grants.js +97 -9
  46. package/dist/endpoint-grants.js.map +1 -1
  47. package/dist/endpoint-invoke.d.ts +138 -0
  48. package/dist/endpoint-invoke.d.ts.map +1 -0
  49. package/dist/endpoint-invoke.js +340 -0
  50. package/dist/endpoint-invoke.js.map +1 -0
  51. package/dist/endpoint-records.d.ts.map +1 -1
  52. package/dist/endpoint-records.js +17 -0
  53. package/dist/endpoint-records.js.map +1 -1
  54. package/dist/endpoint-serve-kv.d.ts +97 -0
  55. package/dist/endpoint-serve-kv.d.ts.map +1 -0
  56. package/dist/endpoint-serve-kv.js +336 -0
  57. package/dist/endpoint-serve-kv.js.map +1 -0
  58. package/dist/endpoint-serve.d.ts.map +1 -1
  59. package/dist/endpoint-serve.js +21 -1
  60. package/dist/endpoint-serve.js.map +1 -1
  61. package/dist/endpoint-service.d.ts +1 -1
  62. package/dist/endpoint-service.d.ts.map +1 -1
  63. package/dist/endpoint-service.js +34 -10
  64. package/dist/endpoint-service.js.map +1 -1
  65. package/dist/endpoint-session-rail.d.ts +127 -0
  66. package/dist/endpoint-session-rail.d.ts.map +1 -0
  67. package/dist/endpoint-session-rail.js +325 -0
  68. package/dist/endpoint-session-rail.js.map +1 -0
  69. package/dist/endpoint-session.d.ts +1 -115
  70. package/dist/endpoint-session.d.ts.map +1 -1
  71. package/dist/endpoint-session.js +4 -316
  72. package/dist/endpoint-session.js.map +1 -1
  73. package/dist/endpoint-subjects.d.ts +10 -1
  74. package/dist/endpoint-subjects.d.ts.map +1 -1
  75. package/dist/endpoint-subjects.js +10 -1
  76. package/dist/endpoint-subjects.js.map +1 -1
  77. package/dist/endpoint-verbs.d.ts +1 -2
  78. package/dist/endpoint-verbs.d.ts.map +1 -1
  79. package/dist/endpoint-verbs.js +6 -6
  80. package/dist/endpoint-verbs.js.map +1 -1
  81. package/dist/endpoint.d.ts +136 -11
  82. package/dist/endpoint.d.ts.map +1 -1
  83. package/dist/endpoint.js +329 -24
  84. package/dist/endpoint.js.map +1 -1
  85. package/dist/identity.d.ts +19 -0
  86. package/dist/identity.d.ts.map +1 -1
  87. package/dist/identity.js +12 -0
  88. package/dist/identity.js.map +1 -1
  89. package/dist/index.d.ts +8 -0
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/index.js +8 -0
  92. package/dist/index.js.map +1 -1
  93. package/dist/kv-scan.d.ts +8 -0
  94. package/dist/kv-scan.d.ts.map +1 -1
  95. package/dist/kv-scan.js +8 -0
  96. package/dist/kv-scan.js.map +1 -1
  97. package/dist/lease.d.ts +12 -5
  98. package/dist/lease.d.ts.map +1 -1
  99. package/dist/lease.js.map +1 -1
  100. package/dist/lifecycle-saga.d.ts +174 -0
  101. package/dist/lifecycle-saga.d.ts.map +1 -0
  102. package/dist/lifecycle-saga.js +418 -0
  103. package/dist/lifecycle-saga.js.map +1 -0
  104. package/dist/lifecycle-state.d.ts +202 -0
  105. package/dist/lifecycle-state.d.ts.map +1 -0
  106. package/dist/lifecycle-state.js +347 -0
  107. package/dist/lifecycle-state.js.map +1 -0
  108. package/dist/parts.d.ts +13 -0
  109. package/dist/parts.d.ts.map +1 -0
  110. package/dist/parts.js +17 -0
  111. package/dist/parts.js.map +1 -0
  112. package/dist/provision.d.ts +106 -9
  113. package/dist/provision.d.ts.map +1 -1
  114. package/dist/provision.js +506 -110
  115. package/dist/provision.js.map +1 -1
  116. package/dist/schema-profile.d.ts +3 -2
  117. package/dist/schema-profile.d.ts.map +1 -1
  118. package/dist/schema-profile.js +242 -18
  119. package/dist/schema-profile.js.map +1 -1
  120. package/dist/session-browser.d.ts +15 -0
  121. package/dist/session-browser.d.ts.map +1 -0
  122. package/dist/session-browser.js +14 -0
  123. package/dist/session-browser.js.map +1 -0
  124. package/dist/session-terminal-frames.d.ts +36 -0
  125. package/dist/session-terminal-frames.d.ts.map +1 -0
  126. package/dist/session-terminal-frames.js +149 -0
  127. package/dist/session-terminal-frames.js.map +1 -0
  128. package/dist/spaces.d.ts.map +1 -1
  129. package/dist/spaces.js +6 -1
  130. package/dist/spaces.js.map +1 -1
  131. package/dist/streams.d.ts +53 -1
  132. package/dist/streams.d.ts.map +1 -1
  133. package/dist/streams.js +135 -8
  134. package/dist/streams.js.map +1 -1
  135. package/dist/subjects.d.ts +32 -26
  136. package/dist/subjects.d.ts.map +1 -1
  137. package/dist/subjects.js +38 -25
  138. package/dist/subjects.js.map +1 -1
  139. package/dist/types.d.ts +27 -1
  140. package/dist/types.d.ts.map +1 -1
  141. package/package.json +6 -1
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint-records.js","sourceRoot":"","sources":["../src/endpoint-records.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint-records.js","sourceRoot":"","sources":["../src/endpoint-records.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * The §13.1 endpoint-serve CREDENTIAL LIFECYCLE over a plain KV — the shared core home for the
3
+ * endpoint credential family (`epgate.<endpoint>.<instanceId>` + `epcred.<endpoint>.<instanceId>.
4
+ * <credentialId>`) so BOTH the auth session ledger and the manager's endpoint-serve wiring drive
5
+ * ONE implementation (fact H3 / P2 item 1 "1a-gate"; the manager cannot import
6
+ * implementations/auth, AGENTS.md one-way deps, so the KV binding lives in core — the same
7
+ * guarded-core lift as the Unit B lifecycle-saga).
8
+ *
9
+ * This module is the raw-KV credential-ledger primitives + the endpoint-serve mint fence + the
10
+ * production issuance barrier. It carries NO auth-store branding: a caller supplies the bound KV +
11
+ * space (the auth session ledger unwraps its `SessionAuthStore`; the manager binds its own auth
12
+ * bucket). The KEY GRAMMAR + row parsers stay in `lifecycle-state.ts`; this module is the CAS
13
+ * operations over them.
14
+ */
15
+ import type { KV } from "@nats-io/kv";
16
+ import type { EpIssuanceGate, EpServeLedgerRow } from "./endpoint-service.js";
17
+ /** Create a credential-ledger row CREATE-ONLY, idempotent iff BYTE-IDENTICAL: staging a key that
18
+ * already exists succeeds only when the stored bytes match (a retry of the SAME issuance), and
19
+ * CONFLICTs when they differ (a staged name never silently re-binds the row revocation/audit
20
+ * relies on). A create loss whose cause is not a CAS conflict fails the mint CLOSED. */
21
+ export declare function createRowByteIdempotent(kv: KV, key: string, value: unknown): Promise<void>;
22
+ /** CAS a credential-ledger row `active` -> `revoked` at its observed revision (retrying on a CAS
23
+ * loss). Idempotent on an already-revoked row; FAILS LOUD on an absent/DEL row — a vanished
24
+ * never-delete ledger row is corruption, never a "never staged" idempotence case. */
25
+ export declare function markLedgerRowRevoked(kv: KV, key: string): Promise<"revoked" | "already-revoked">;
26
+ /** The §13.1 endpoint-serve MINT FENCE over a bound KV — the `EpIssuanceGate` core's serve mint
27
+ * (`mintCreds`, profile `endpoint-serve`) fences its release on: it stages the per-JWT `epcred.
28
+ * <endpoint>.<instanceId>.<credentialId>` row, then a revision-pinned identical-bytes TOUCH of the
29
+ * `epgate.<endpoint>.<instanceId>` key (a barrier that moved the gate since observation makes the
30
+ * mint LOSE). Lifted from the auth session ledger (fact H3) so both the auth session redemption
31
+ * and the manager's endpoint-serve wiring drive ONE fence; the auth `kvServeIssuanceGate` wraps
32
+ * this by unwrapping its branded `SessionAuthStore` to `(kv, space)`. `space` is carried on the
33
+ * observed gate for the core mint's space-bond defense (the KV IS the space bucket). */
34
+ export declare function serveIssuanceGateKv(kv: KV, space: string, args: {
35
+ endpoint: string;
36
+ instanceId: string;
37
+ }): EpIssuanceGate;
38
+ /** Stage a SIBLING credential into an instance's §13.1 family under the SAME open-and-commit fence
39
+ * {@link import("./endpoint-service.js").finalizeServeIssuance} runs for the serve credential
40
+ * itself. A "sibling" is any credential minted beside the serve cred against the same
41
+ * `epgate.<endpoint>.<instanceId>` and staged into the same `epcred.<endpoint>.<instanceId>`
42
+ * family (the manager's goal-writer and its §13.6 session credentials): the family IS the
43
+ * takeover/retirement barrier's revocation unit, so a sibling that joins it without the fence is a
44
+ * credential the barrier can never revoke.
45
+ *
46
+ * THE PASSED-IN OBSERVATION IS THE AUTHORITY AND IS NEVER REPLACED BY A RE-READ. A sibling's grant
47
+ * is built FROM the observed coordinates (the serving epoch above all), so what this commit must
48
+ * fence is the gate the credential was MINTED against. Fencing whatever the gate says NOW would be
49
+ * the hole: the dangerous case is not a frozen gate but a COMPLETED takeover — freeze →
50
+ * revoke/evict → reopen leaves the gate `open` again at a NEW generation, so a mint that re-pinned
51
+ * to the successor would win its CAS and release a JWT minted against the PREDECESSOR's coordinates
52
+ * into the family the barrier has just finished reconciling. This function re-reads the gate ONLY
53
+ * to CLASSIFY a lost CAS, and every field of that re-read is compared against the ORIGINAL
54
+ * observation: a successor coordinate can therefore never be adopted, it can only be refused.
55
+ *
56
+ * Order, identical to the serve mint: require `open` -> stage the row -> revision-pinned commit ->
57
+ * release ONLY on the win. A frozen gate refuses before anything is written; a gate that MOVED
58
+ * between the caller's observe and this commit loses the CAS, and the staged row is revoked so no
59
+ * active row is left in a family the barrier already enumerated. A revoke failure is surfaced, not
60
+ * swallowed — the reconciliation debt must be visible. The caller releases the credential only if
61
+ * this resolves. */
62
+ export declare function commitSiblingIssuance(gate: import("./endpoint-service.js").EpIssuanceGate, observed: import("./endpoint-service.js").EpGateState, row: EpServeLedgerRow): Promise<void>;
63
+ /** Provision the endpoint's issuance gate OPEN (create-only), the §13.1 pre-registration a
64
+ * `registerServiceInstance` writes behind — "a registration writes only behind the
65
+ * provisioner-created gate". Born `open` at generation 0 / epoch 0 / registrationRevision 0 /
66
+ * nameAuthorityRevision 0, bound to the serving connection principal (the eviction target every
67
+ * `epcred` row copies). Create-only + idempotent-if-identical: a second provision of the SAME
68
+ * (endpoint, instanceId, principal) is a retry, a DIFFERENT principal is a conflict (an instance
69
+ * token is never re-bound). */
70
+ export declare function provisionEndpointGateOpen(kv: KV, args: {
71
+ endpoint: string;
72
+ instanceId: string;
73
+ principal: string;
74
+ }): Promise<void>;
75
+ /** The §13.1 endpoint-registration ISSUANCE BARRIER over a bound KV — the production barrier a
76
+ * `registerServiceInstance` drives (observe -> freeze -> enumerate -> revoke -> [evict] -> reopen),
77
+ * freezing this instance's `epgate.<endpoint>.<instanceId>` so no serve mint can win against the
78
+ * surface the registration is about to supersede.
79
+ *
80
+ * For a FRESH first registration the enumerated `epcred` family is EMPTY, so revoke/evict are not
81
+ * exercised — but they are REAL code (a later takeover/re-registration of a LIVE instance MUST
82
+ * revoke the prior serve family and verify-evict its holders; a stub would silently skip that).
83
+ * `evict` is INJECTED: cluster-verified eviction is the $SYS CONNZ+KICK machinery (D5 slice 4),
84
+ * not this module's job. The DEFAULT is FAIL-CLOSED `() => false` — "no evictor ⇒ eviction cannot
85
+ * be VERIFIED ⇒ report not-verified" — so the saga's own guard (`if (!evict) throw`) leaves the
86
+ * gate FROZEN for reconciliation on a takeover with no real evictor, never silently reopening into
87
+ * split-brain. It is ONLY consulted on a NON-EMPTY family (a takeover); a fresh registration's
88
+ * empty family never invokes it, so this default never touches the 1a-gate path — it enforces the
89
+ * guard the moment a live predecessor exists. A caller with the real $SYS evictor injects it. The
90
+ * freeze/reopen CAS is the real fence: a barrier that moved the gate makes a racing mint LOSE. */
91
+ export declare function endpointRegistrationBarrier(kv: KV, space: string, args: {
92
+ endpoint: string;
93
+ instanceId: string;
94
+ opId: string;
95
+ evict?: (holderPrincipal: string) => Promise<boolean> | boolean;
96
+ }): import("./endpoint-service.js").EpIssuanceBarrier;
97
+ //# sourceMappingURL=endpoint-serve-kv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoint-serve-kv.d.ts","sourceRoot":"","sources":["../src/endpoint-serve-kv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAKtC,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAK9E;;;yFAGyF;AACzF,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAWhG;AAED;;sFAEsF;AACtF,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,iBAAiB,CAAC,CAkBtG;AAED;;;;;;;yFAOyF;AACzF,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,cAAc,CAyDzH;AAED;;;;;;;;;;;;;;;;;;;;;;;qBAuBqB;AACrB,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,OAAO,uBAAuB,EAAE,cAAc,EACpD,QAAQ,EAAE,OAAO,uBAAuB,EAAE,WAAW,EACrD,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,IAAI,CAAC,CA4Df;AAED;;;;;;gCAMgC;AAChC,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,EAAE,EACN,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAChE,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;;;;;;;;;;;;;;mGAemG;AACnG,wBAAgB,2BAA2B,CACzC,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;CAAE,GAC5H,OAAO,uBAAuB,EAAE,iBAAiB,CAiFnD"}
@@ -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":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,yBAAyB,CAAC;AAG5E,OAAO,EAGL,KAAK,QAAQ,EAAE,KAAK,eAAe,EACpC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAwD,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAClH,OAAO,EAA8B,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAE8C,KAAK,kBAAkB,EAC3E,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAI3D;iFACiF;AACjF,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;8CAK8C;AAC9C,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,eAAe,CAAC;IACzB,OAAO,EAAE,eAAe,CAAC;IACzB,WAAW,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;CAC1C;AAED;;;;;;;;kEAQkE;AAClE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QAAE,KAAK,EAAE,gBAAgB,CAAC;QAAC,MAAM,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAChE,OAAO,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CAC9D;AAoBD;;;oFAGoF;AACpF,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,KACpE,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,GACtE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GACjD,SAAS,CAAC;AAEd;;;oFAGoF;AACpF,MAAM,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE;IACpC,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CAChE,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAEjC;;;yBAGyB;AACzB,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE;IACrC,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AA6FjC,MAAM,WAAW,aAAa;IAC5B;kGAC8F;IAC9F,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,cAAc,EAClB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,YAAY,EAAE,EACxB,QAAQ,EAAE,qBAAqB,EAC/B,IAAI,GAAE;IACJ,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,eAAe,CAAC,EAAE,iBAAiB,CAAC;IACpC;;;0EAGsE;IACtE,MAAM,CAAC,EAAE,kBAAkB,CAAC;CACxB,GACL,aAAa,CA+Nf;AAID;;sEAEsE;AACtE,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;6EAG6E;AAC7E,MAAM,MAAM,qBAAqB,GAC7B;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAChB;IAAE,MAAM,CAAC,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,GAAG,YAAY,GAAG,SAAS,CAAA;CAAE,CAAC;AAEjH,6FAA6F;AAC7F,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,kBAAkB,CAAC;CAChC"}
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;