@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 @@
1
+ {"version":3,"file":"endpoint-session-rail.js","sourceRoot":"","sources":["../src/endpoint-session-rail.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,9 @@
1
- import type { NatsConnection } from "@nats-io/transport-node";
2
1
  import { type AnchorResolver } from "./endpoint-signing.js";
2
+ export * from "./endpoint-session-rail.js";
3
3
  /** Grant validity ceiling — a session grant is LIVE-class authority (§13.6 "expiry per the
4
4
  * handle rules"; it is one-use and epoch-bound on both sides, never sturdy). */
5
5
  export declare const SESSION_GRANT_MAX_TTL_MS: number;
6
6
  export declare const SESSION_GRANT_MAX_BYTES: number;
7
- /** The bounded flow window (§13.6: declared in the grant; overflow is `resource-exhausted`). */
8
- export declare const SESSION_WINDOW_DEFAULT = 64;
9
- export declare const SESSION_WINDOW_MAX = 1024;
10
7
  /** §13.6 "fresh unguessable sessionId": at least 22 base64url chars (≥128 bits) — enforced on
11
8
  * CALLER-SUPPLIED ids too, so a short guessable id cannot ride in through the mint arg. */
12
9
  export declare const SESSION_ID_MIN_CHARS = 22;
@@ -284,115 +281,4 @@ export declare function sweepSessionRow(row: SessionLedgerRow, hooks: Pick<Sessi
284
281
  now: number;
285
282
  marginMs?: number;
286
283
  }): Promise<boolean>;
287
- /** The composite's own tiny framed protocol; `data` is OPAQUE (any JSON value — binary rides
288
- * the application's own encoding). `credit`/`close` are CONTROL frames, EXEMPT from the data
289
- * window (a full data window must never block the credits that reopen it, else instant
290
- * deadlock). `ack` is an ABSOLUTE cumulative watermark (the sender's contiguous-received count
291
- * on the OTHER rail): a data frame PIGGYBACKS it, so a lost dedicated credit self-heals on the
292
- * next reverse data frame, and any deeper loss recovers on the keepalive re-emit; absolute
293
- * (not delta) so any single credit re-advertises the whole position and a duplicate is
294
- * harmless. The in-band `close` is advisory (§13.6): revocation authority is the ledger,
295
- * never this frame. */
296
- export type SessionFrame = {
297
- t: "f";
298
- seq: number;
299
- data: unknown;
300
- ack?: number;
301
- } | {
302
- t: "credit";
303
- ack: number;
304
- } | {
305
- t: "close";
306
- };
307
- export declare function encodeSessionFrame(frame: SessionFrame): Uint8Array;
308
- /** Fail-loud frame parse (closed schema): a garbled frame is a PROTOCOL error the rail
309
- * surfaces via `onProtocolError` — never silently skipped, never a crash. */
310
- export declare function parseSessionFrame(bytes: Uint8Array): SessionFrame;
311
- /** Which rail each role sends on (§13.6: `in` = caller → endpoint; `out` = the reverse). */
312
- export type SessionRole = "caller" | "serving";
313
- export interface SessionRailOpts {
314
- nc: NatsConnection;
315
- grant: Pick<SessionGrant, "space" | "endpoint" | "sessionId" | "window"> & {
316
- serving: {
317
- epoch: number;
318
- };
319
- };
320
- role: SessionRole;
321
- /** Delivered in-order for CONTIGUOUS frames, and the application accepts FIRST: the handler
322
- * may be async — it is AWAITED, and the watermark advances and credit emits only after it
323
- * RESOLVES, so credit means the receiver's buffer actually freed (back-pressure) and a
324
- * rejection refuses the frame exactly like a synchronous throw: the rail breaks (`handler`)
325
- * and the refused frame is neither counted delivered nor credited. Acceptance is SERIALIZED
326
- * in seq order (one handler in flight; NATS does not serialize callback promises); frames
327
- * arriving while a handler is pending queue up to the grant WINDOW — past it the rail breaks
328
- * (`flood`), never an unbounded backlog. A handler wedged forever stalls credit, so the
329
- * SENDER's window fills and its stall watchdog surfaces the fault. A gap surfaces via
330
- * onProtocolError("gap"). */
331
- onData(data: unknown, seq: number): void | Promise<void>;
332
- /** The peer's advisory close frame arrived (authoritative close is the ledger's). The local
333
- * subscription and timer are torn down before this fires. */
334
- onClose?(): void;
335
- /** The session is broken — close and re-establish. `reason` is one of `garbled-frame` |
336
- * `gap` | `credit-overrun` | `flood` | `subscription` | `stall` | `handler` | `publish` |
337
- * `seq-exhausted`. The rail's subscription and timer are torn down before this fires (a
338
- * broken rail holds no resources). */
339
- onProtocolError?(reason: string, detail?: unknown): void;
340
- /** Broker payload ceiling for the SEND preflight (like assertFactFits). Default 1 MiB. */
341
- maxPayloadBytes?: number;
342
- /** Keepalive credit re-emit interval (ms): while this side has delivered ANY data and the
343
- * peer has gone quiet, re-advertise the absolute watermark every tick — including
344
- * watermarks already advertised, because this side cannot observe whether an emitted
345
- * credit ARRIVED (gating on "newer than last emitted" turns loss of the advertisement
346
- * itself into a permanent stall). Absolute acks are idempotent, so the honest recovery is
347
- * repetition; the cost is one control frame per quiet tick. 0 disables. Default 1000. */
348
- idleCreditMs?: number;
349
- /** Sender stall watchdog (ms): if the data window stays full this long with NO ack advance
350
- * (sustained credit loss or a dead peer), the rail breaks with a DETECTABLE `stall` fault —
351
- * TIMER-driven, so a sender that stops calling send() still learns its peer is gone; the
352
- * send path double-checks as a belt. 0 disables. Default 30000. */
353
- stallTimeoutMs?: number;
354
- /** Injectable clock (testability); default Date.now. */
355
- now?: () => number;
356
- /** Injectable interval timer (testability); defaults to Node setInterval/clearInterval. */
357
- setIntervalFn?: (fn: () => void, ms: number) => {
358
- unref?: () => void;
359
- };
360
- clearIntervalFn?: (h: unknown) => void;
361
- }
362
- export interface SessionRail {
363
- /** Send one opaque data frame (piggybacking this side's absolute reverse-rail watermark).
364
- * Throws `resource-exhausted` when the window is full (no buffering, §13.6), `contract-invalid`
365
- * when the encoded frame exceeds the payload ceiling, and `failed-precondition` once the rail
366
- * is closed/broken (including a detected stall or a failed publish). Returns the frame's seq. */
367
- send(data: unknown): number;
368
- /** Send the advisory close frame and stop the rail locally. Idempotent. */
369
- close(): void;
370
- /** In-memory window state (observability + smoke assertions). */
371
- stats(): {
372
- sent: number;
373
- ackedThrough: number;
374
- delivered: number;
375
- inFlight: number;
376
- };
377
- }
378
- /**
379
- * Open one side of an established session over its two core rails. The credentials the
380
- * redemption released confine each side to exactly its pub/sub pair; this helper only speaks
381
- * the framed protocol and enforces the bounded window — it grants nothing.
382
- *
383
- * FLOW CONTROL (panel-locked): the data window is bounded and per-direction; control frames
384
- * (`credit`, `close`) are EXEMPT (a full window never blocks the credits that reopen it).
385
- * RECEIVE-side acceptance is serialized and the (possibly async) handler AWAITED — credit
386
- * emits only for frames the application actually accepted — and the pending-frame queue is
387
- * bounded by the same window (`flood` past it), so neither side ever buffers unboundedly.
388
- * Credits carry an ABSOLUTE cumulative watermark, PIGGYBACKED on reverse data frames, so a lost
389
- * dedicated credit self-heals on the next reverse traffic; ANY deeper loss (including loss of
390
- * already-emitted threshold credits) recovers on the KEEPALIVE re-emit; sustained loss or a
391
- * dead peer surfaces the TIMER-driven `stall` fault (never a silent hang, even for a sender
392
- * that stopped calling send). A dropped DATA frame is unrecoverable at this transport (EPS is
393
- * at-most-once, core-only) and shows as a seq gap the app reacts to — reliability layers
394
- * inside `data` or uses the journal/checkpoint composites.
395
- */
396
- export declare function openSessionRail(opts: SessionRailOpts): SessionRail;
397
- export {};
398
284
  //# sourceMappingURL=endpoint-session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint-session.d.ts","sourceRoot":"","sources":["../src/endpoint-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint-session.d.ts","sourceRoot":"","sources":["../src/endpoint-session.ts"],"names":[],"mappings":"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"}
@@ -68,6 +68,10 @@ import { canonicalJson } from "./canonical.js";
68
68
  import { parsePrincipalKey, assertValidOwnerToken } from "./subjects.js";
69
69
  import { epsSubject, assertIdToken, assertLifecycleToken, endpointToken, } from "./endpoint-subjects.js";
70
70
  import { verifyArtifactSignature, resolveAnchorForUse, assertAnchorScopeCovers, assertArtifactCurrency, signArtifact, } from "./endpoint-signing.js";
71
+ // The browser-safe rails live in a split module (no node:crypto) for the console bundle; import the
72
+ // shared window helpers back, and RE-EXPORT the rails so no consumer's import path changes.
73
+ import { assertWindow, SESSION_WINDOW_DEFAULT } from "./endpoint-session-rail.js";
74
+ export * from "./endpoint-session-rail.js";
71
75
  const isRec = (v) => v !== null && typeof v === "object" && !Array.isArray(v);
72
76
  function invalid(what) {
73
77
  throw new EpEnvelopeError("contract-invalid", `${what} (SPEC 13.6 session)`);
@@ -77,9 +81,6 @@ function invalid(what) {
77
81
  * handle rules"; it is one-use and epoch-bound on both sides, never sturdy). */
78
82
  export const SESSION_GRANT_MAX_TTL_MS = 24 * 60 * 60 * 1000;
79
83
  export const SESSION_GRANT_MAX_BYTES = 16 * 1024;
80
- /** The bounded flow window (§13.6: declared in the grant; overflow is `resource-exhausted`). */
81
- export const SESSION_WINDOW_DEFAULT = 64;
82
- export const SESSION_WINDOW_MAX = 1024;
83
84
  /** §13.6 "fresh unguessable sessionId": at least 22 base64url chars (≥128 bits) — enforced on
84
85
  * CALLER-SUPPLIED ids too, so a short guessable id cannot ride in through the mint arg. */
85
86
  export const SESSION_ID_MIN_CHARS = 22;
@@ -94,11 +95,6 @@ function assertSessionId(v) {
94
95
  invalid(`sessionId is ${id.length} chars, under the ${SESSION_ID_MIN_CHARS}-char unguessability floor`);
95
96
  return id;
96
97
  }
97
- function assertWindow(v) {
98
- if (typeof v !== "number" || !Number.isSafeInteger(v) || v < 1 || v > SESSION_WINDOW_MAX)
99
- invalid(`window ${String(v)} is not an integer in 1..${SESSION_WINDOW_MAX}`);
100
- return v;
101
- }
102
98
  /** The subject grammar's epoch bound (unsigned safe integer), as a value validator — the
103
99
  * subject builder re-asserts it when the rails are derived. */
104
100
  function assertEpochInt(v, what) {
@@ -523,312 +519,4 @@ export async function sweepSessionRow(row, hooks, opts) {
523
519
  await revokePending();
524
520
  return true;
525
521
  }
526
- export function encodeSessionFrame(frame) {
527
- return new TextEncoder().encode(JSON.stringify(frame));
528
- }
529
- /** Fail-loud frame parse (closed schema): a garbled frame is a PROTOCOL error the rail
530
- * surfaces via `onProtocolError` — never silently skipped, never a crash. */
531
- export function parseSessionFrame(bytes) {
532
- let raw;
533
- try {
534
- raw = JSON.parse(new TextDecoder("utf-8", { fatal: true }).decode(bytes));
535
- }
536
- catch {
537
- invalid("session frame is not UTF-8 JSON");
538
- }
539
- if (!isRec(raw))
540
- invalid("session frame is not an object");
541
- const o = raw;
542
- if (o.t === "f") {
543
- for (const k of Object.keys(o))
544
- if (k !== "t" && k !== "seq" && k !== "data" && k !== "ack")
545
- invalid(`data frame carries unknown field "${k}"`);
546
- if (typeof o.seq !== "number" || !Number.isSafeInteger(o.seq) || o.seq < 1)
547
- invalid("data frame seq is not a positive integer");
548
- if (!("data" in o))
549
- invalid("data frame carries no data");
550
- if (o.ack !== undefined && (typeof o.ack !== "number" || !Number.isSafeInteger(o.ack) || o.ack < 0))
551
- invalid("data frame ack is not a non-negative integer");
552
- return { t: "f", seq: o.seq, data: o.data, ...(o.ack !== undefined ? { ack: o.ack } : {}) };
553
- }
554
- if (o.t === "credit") {
555
- for (const k of Object.keys(o))
556
- if (k !== "t" && k !== "ack")
557
- invalid(`credit frame carries unknown field "${k}"`);
558
- if (typeof o.ack !== "number" || !Number.isSafeInteger(o.ack) || o.ack < 0)
559
- invalid("credit frame ack is not a non-negative integer");
560
- return { t: "credit", ack: o.ack };
561
- }
562
- if (o.t === "close") {
563
- for (const k of Object.keys(o))
564
- if (k !== "t")
565
- invalid(`close frame carries unknown field "${k}"`);
566
- return { t: "close" };
567
- }
568
- invalid(`unknown session frame type ${String(o.t)}`);
569
- }
570
- /**
571
- * Open one side of an established session over its two core rails. The credentials the
572
- * redemption released confine each side to exactly its pub/sub pair; this helper only speaks
573
- * the framed protocol and enforces the bounded window — it grants nothing.
574
- *
575
- * FLOW CONTROL (panel-locked): the data window is bounded and per-direction; control frames
576
- * (`credit`, `close`) are EXEMPT (a full window never blocks the credits that reopen it).
577
- * RECEIVE-side acceptance is serialized and the (possibly async) handler AWAITED — credit
578
- * emits only for frames the application actually accepted — and the pending-frame queue is
579
- * bounded by the same window (`flood` past it), so neither side ever buffers unboundedly.
580
- * Credits carry an ABSOLUTE cumulative watermark, PIGGYBACKED on reverse data frames, so a lost
581
- * dedicated credit self-heals on the next reverse traffic; ANY deeper loss (including loss of
582
- * already-emitted threshold credits) recovers on the KEEPALIVE re-emit; sustained loss or a
583
- * dead peer surfaces the TIMER-driven `stall` fault (never a silent hang, even for a sender
584
- * that stopped calling send). A dropped DATA frame is unrecoverable at this transport (EPS is
585
- * at-most-once, core-only) and shows as a seq gap the app reacts to — reliability layers
586
- * inside `data` or uses the journal/checkpoint composites.
587
- */
588
- export function openSessionRail(opts) {
589
- const { grant, role } = opts;
590
- const window = assertWindow(grant.window);
591
- const maxPayload = opts.maxPayloadBytes ?? 1024 * 1024;
592
- const idleCreditMs = opts.idleCreditMs ?? 1000;
593
- const stallTimeoutMs = opts.stallTimeoutMs ?? 30_000;
594
- const now = opts.now ?? (() => Date.now());
595
- const setIntervalFn = opts.setIntervalFn ?? ((fn, ms) => setInterval(fn, ms));
596
- const clearIntervalFn = opts.clearIntervalFn ?? ((h) => clearInterval(h));
597
- const egressDir = role === "caller" ? "in" : "out";
598
- const ingressDir = role === "caller" ? "out" : "in";
599
- const egress = epsSubject(grant.space, grant.endpoint, grant.sessionId, grant.serving.epoch, egressDir);
600
- const ingress = epsSubject(grant.space, grant.endpoint, grant.sessionId, grant.serving.epoch, ingressDir);
601
- let seq = 0; // last sent
602
- let ackedThrough = 0; // peer's contiguous ack for OUR egress (absolute)
603
- let windowFullSince = 0; // when the window became full with no ack advance (0 = not blocked)
604
- let expected = 1; // next ingress data seq we can deliver contiguously
605
- let deliveredSinceCredit = 0;
606
- let dataSinceIdleTick = false; // did ingress data arrive since the last idle tick?
607
- let delivered = 0;
608
- let closed = false;
609
- let broken = false;
610
- let tornDown = false;
611
- let idleTimer;
612
- let sub;
613
- const creditEvery = Math.max(1, Math.ceil(window / 2));
614
- // EXACTLY-ONCE local cleanup, whoever triggers it (local close, PEER close, or a protocol
615
- // fault): a remote peer must never be able to leave this side holding a dangling
616
- // subscription + interval per session (a remotely triggerable resource leak).
617
- const teardown = () => {
618
- if (tornDown)
619
- return;
620
- tornDown = true;
621
- if (idleTimer)
622
- clearIntervalFn(idleTimer);
623
- sub?.unsubscribe();
624
- };
625
- const protocolError = (reason, detail) => {
626
- broken = true;
627
- teardown(); // a broken rail holds no resources
628
- opts.onProtocolError?.(reason, detail);
629
- };
630
- // Absorb an absolute watermark from a credit frame OR a piggybacked data ack. Monotonic — a
631
- // stale/duplicated advertisement never narrows the window; an ack past what we ever sent is a
632
- // protocol violation (fail-loud, never silently widen).
633
- const applyAck = (ack) => {
634
- if (ack > seq) {
635
- protocolError("credit-overrun", { ack, sent: seq });
636
- return;
637
- }
638
- if (ack > ackedThrough) {
639
- ackedThrough = ack;
640
- windowFullSince = 0; // progress — reset the stall watchdog
641
- }
642
- };
643
- const emitCredit = () => {
644
- try {
645
- opts.nc.publish(egress, encodeSessionFrame({ t: "credit", ack: expected - 1 }));
646
- }
647
- catch (e) {
648
- protocolError("publish", e?.message ?? String(e));
649
- }
650
- };
651
- // SERIALIZED data acceptance: the application accepts FIRST and may be ASYNC — NATS does not
652
- // serialize callback promises, so the callback only enqueues and this single drain loop runs
653
- // one handler at a time in seq order. The watermark advances and credit emits only after the
654
- // handler RESOLVES (credit == the receiver's buffer actually freed: the §13.6 back-pressure
655
- // semantic), so an async rejection refuses the frame exactly like a synchronous throw. The
656
- // HEAD frame stays queued while its handler runs, so the window bound below counts it; a
657
- // handler that resolves into a rail that closed or broke meanwhile advances NOTHING.
658
- const ingressQueue = [];
659
- let draining = false;
660
- const drain = async () => {
661
- if (draining)
662
- return;
663
- draining = true;
664
- try {
665
- while (!closed && !broken && ingressQueue.length > 0) {
666
- const head = ingressQueue[0];
667
- try {
668
- await opts.onData(head.data, head.seq);
669
- }
670
- catch (e) {
671
- // A rejection landing in a rail that closed or broke DURING the await reports
672
- // NOTHING: the rail is already terminal (its fault, if any, was already surfaced),
673
- // and a second protocolError would double-fault a dead rail.
674
- if (closed || broken)
675
- return;
676
- protocolError("handler", e?.message ?? String(e));
677
- return;
678
- }
679
- if (closed || broken)
680
- return;
681
- ingressQueue.shift();
682
- expected++;
683
- delivered++;
684
- deliveredSinceCredit++;
685
- if (deliveredSinceCredit >= creditEvery) {
686
- deliveredSinceCredit = 0;
687
- emitCredit();
688
- }
689
- }
690
- }
691
- finally {
692
- draining = false;
693
- }
694
- };
695
- sub = opts.nc.subscribe(ingress, {
696
- callback: (err, msg) => {
697
- if (closed || broken)
698
- return;
699
- if (err) {
700
- protocolError("subscription", err.message);
701
- return;
702
- }
703
- let frame;
704
- try {
705
- frame = parseSessionFrame(msg.data);
706
- }
707
- catch (e) {
708
- protocolError("garbled-frame", e.message);
709
- return;
710
- }
711
- if (frame.t === "credit") {
712
- applyAck(frame.ack);
713
- return;
714
- }
715
- if (frame.t === "close") {
716
- closed = true;
717
- teardown();
718
- opts.onClose?.();
719
- return;
720
- }
721
- // Data. Its piggybacked ack refreshes OUR credit first (self-heals a lost dedicated
722
- // credit) — and an OVERRUNNING piggyback breaks the rail BEFORE the frame's data can
723
- // reach the application: a protocol-invalid frame must have no application effect.
724
- if (frame.ack !== undefined) {
725
- applyAck(frame.ack);
726
- if (broken)
727
- return;
728
- }
729
- dataSinceIdleTick = true;
730
- // Contiguity is judged against the queue's tail (the head may still be in its handler):
731
- // a peer sending in order while an earlier handler is pending is NOT a gap.
732
- const nextIngress = expected + ingressQueue.length;
733
- if (frame.seq < nextIngress)
734
- return; // duplicate — idempotent drop
735
- if (frame.seq > nextIngress) {
736
- protocolError("gap", { expected: nextIngress, got: frame.seq });
737
- return;
738
- }
739
- // The ingress queue is bounded by the grant WINDOW (an honest peer can never have more
740
- // unacknowledged frames in flight): a peer that ignores flow control while a handler is
741
- // pending cannot pile promises here — the rail breaks instead (§13.6: never unbounded).
742
- if (ingressQueue.length >= window) {
743
- protocolError("flood", { queued: ingressQueue.length, window });
744
- return;
745
- }
746
- ingressQueue.push({ seq: frame.seq, data: frame.data });
747
- void drain();
748
- },
749
- });
750
- // One tick drives BOTH recovery legs:
751
- // - the KEEPALIVE credit re-emit: while this side has delivered anything and the peer went
752
- // quiet, re-advertise the absolute watermark — deliberately NOT gated on what was already
753
- // advertised (see idleCreditMs docs: the double-credit-loss counterexample).
754
- // - the STALL WATCHDOG: a window that stays full past stallTimeoutMs with no ack advance
755
- // breaks the rail with a DETECTABLE fault even if the sender never calls send() again.
756
- if (idleCreditMs > 0 || stallTimeoutMs > 0) {
757
- idleTimer = setIntervalFn(() => {
758
- if (closed || broken)
759
- return;
760
- if (stallTimeoutMs > 0 && windowFullSince !== 0) {
761
- const blockedMs = now() - windowFullSince;
762
- if (blockedMs > stallTimeoutMs) {
763
- protocolError("stall", { window, ackedThrough, sent: seq, blockedMs });
764
- return;
765
- }
766
- }
767
- if (idleCreditMs > 0 && !dataSinceIdleTick && expected > 1)
768
- emitCredit();
769
- dataSinceIdleTick = false;
770
- }, idleCreditMs > 0 ? idleCreditMs : 1000);
771
- idleTimer.unref?.();
772
- }
773
- return {
774
- send(data) {
775
- if (closed || broken)
776
- throw new EpEnvelopeError("failed-precondition", "session rail is closed/broken; establish a new session (SPEC 13.6)");
777
- if (seq >= Number.MAX_SAFE_INTEGER - 1) {
778
- protocolError("seq-exhausted", { seq });
779
- throw new EpEnvelopeError("failed-precondition", "session rail exhausted its sequence space; establish a new session (SPEC 13.6)");
780
- }
781
- if (seq - ackedThrough >= window) {
782
- // The window is full. The timer is the primary stall detector; this path double-checks
783
- // (belt for a caller running with timers disabled) and otherwise refuses TRANSIENTLY.
784
- const t = now();
785
- if (windowFullSince === 0)
786
- windowFullSince = t;
787
- else if (stallTimeoutMs > 0 && t - windowFullSince > stallTimeoutMs) {
788
- protocolError("stall", { window, ackedThrough, sent: seq, blockedMs: t - windowFullSince });
789
- throw new EpEnvelopeError("failed-precondition", `session rail stalled: the window stayed full ${t - windowFullSince}ms with no credit; the peer is unreachable, re-establish (SPEC 13.6)`);
790
- }
791
- throw new EpEnvelopeError("resource-exhausted", `session window is full (${window} unacknowledged frames); the flow window is bounded and nothing buffers (SPEC 13.6)`);
792
- }
793
- // Piggyback our absolute reverse-rail watermark so a lost dedicated credit self-heals.
794
- const ack = expected - 1;
795
- const frame = encodeSessionFrame({ t: "f", seq: seq + 1, data, ...(ack > 0 ? { ack } : {}) });
796
- if (frame.byteLength > maxPayload)
797
- throw new EpEnvelopeError("contract-invalid", `session frame is ${frame.byteLength} bytes, over the ${maxPayload}-byte payload ceiling`);
798
- // Publish BEFORE advancing: a synchronous publish failure must not consume the seq (the
799
- // peer would otherwise see a permanent gap from a frame that never left this process,
800
- // and the local stats would count it in flight). A failed publish breaks the rail.
801
- try {
802
- opts.nc.publish(egress, frame);
803
- }
804
- catch (e) {
805
- protocolError("publish", e?.message ?? String(e));
806
- throw new EpEnvelopeError("failed-precondition", `session rail publish failed; the rail is broken, re-establish (SPEC 13.6): ${e?.message ?? String(e)}`);
807
- }
808
- seq++;
809
- // Arm the watchdog the moment the window BECOMES full: a sender that now only waits
810
- // (never calling send again) is still covered by the timer-driven stall check.
811
- if (seq - ackedThrough >= window && windowFullSince === 0)
812
- windowFullSince = now();
813
- return seq;
814
- },
815
- close() {
816
- if (closed) {
817
- teardown(); // idempotent; also covers close-after-broken
818
- return;
819
- }
820
- closed = true;
821
- try {
822
- opts.nc.publish(egress, encodeSessionFrame({ t: "close" }));
823
- }
824
- catch {
825
- /* advisory only — the ledger is the authority */
826
- }
827
- teardown();
828
- },
829
- stats() {
830
- return { sent: seq, ackedThrough, delivered, inFlight: seq - ackedThrough };
831
- },
832
- };
833
- }
834
522
  //# sourceMappingURL=endpoint-session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint-session.js","sourceRoot":"","sources":["../src/endpoint-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint-session.js","sourceRoot":"","sources":["../src/endpoint-session.ts"],"names":[],"mappings":"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"}