@opinionated-machine/sse-fallback 0.2.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -78,10 +78,8 @@ export const projectStateBinding = defineFallbackBinding(projectStateContract, {
78
78
  })
79
79
  ```
80
80
 
81
- Escape hatches: `bindFallbackContracts(pollContract, streamContract, config)`
82
- binds two pre-existing contracts on different paths;
83
- `fromLegacyDualModeContract(contract, config)` accepts legacy
84
- `buildSseContract` dual-mode contracts.
81
+ Escape hatch: `bindFallbackContracts(pollContract, streamContract, config)`
82
+ binds two pre-existing contracts on different paths.
85
83
 
86
84
  ## Subscribing
87
85
 
@@ -106,6 +104,7 @@ sub.status // 'connecting' | 'live' | 'reconnecting' | 'p
106
104
  sub.nudge() // force a repair now: a poll, or, when the snapshot
107
105
  // is synthesized, a reconnect that skips the backoff
108
106
  sub.streamAbandoned // true once a refusal took the stream for good
107
+ sub.onStreamEstablished(() => {}) // a connection carried its first byte
109
108
  sub.stop()
110
109
  ```
111
110
 
@@ -135,6 +134,47 @@ try {
135
134
  | `'budget-exhausted'` | `subscriptionBudget` ran out (`limit`) — show an error and offer a retry |
136
135
  | `'manual'` | the caller called `stop()`, or the creation `signal` aborted |
137
136
 
137
+ ### Reporting a broken stream
138
+
139
+ A fallback that works hides the fault that engaged it. Delivery carries on
140
+ over the poll, a few seconds late, and without a report nobody learns that the
141
+ stream behind it has been refused since the last deploy. So a subscription
142
+ that degrades hands an `Error` to `diagnostics.onDegraded`, and hands it again
143
+ every `degradationReportIntervalMs` (10 minutes by default) until the stream
144
+ carries bytes again:
145
+
146
+ ```ts
147
+ createResilientSubscription(binding, {
148
+ transport,
149
+ diagnostics: {
150
+ onDegraded: (error) => errorTracker.notify(error),
151
+ onRecovered: ({ kind, degradedForMs }) => metrics.timing('sse.degraded', degradedForMs),
152
+ },
153
+ })
154
+ ```
155
+
156
+ The error is a `FallbackDegradedError`, and its message reads on its own in an
157
+ error tracker:
158
+
159
+ ```
160
+ SSE stream GET /projects/42/events was refused with 404 (it was never live); updates arrive late, on the fallback poll
161
+ ```
162
+
163
+ | `kind` | Meaning |
164
+ |---|---|
165
+ | `'stream-refused'` | a status in `unretryableStatuses`; the stream is given up for good, so the report repeats for the life of the subscription |
166
+ | `'stream-rejected'` | any other non-200 status, or a 200 that is not `text/event-stream` (a proxy error page, an SPA fallback route) |
167
+ | `'stream-silent'` | accepted, then closed or timed out without a byte, which is what a buffering proxy looks like |
168
+ | `'stream-unreachable'` | the connect threw or timed out; an offline client produces this too, so it is the one kind worth ranking lower |
169
+
170
+ It also carries `status`, the `request`, `streamWasLive`,
171
+ `pollCarriesDelivery` (false for a synthesized snapshot, where nothing is
172
+ delivered at all), `reportCount` and `degradedForMs`, and the underlying
173
+ failure as `cause`. A non-200 answer on either channel reaches
174
+ `onStreamError` / `onPollError` as a `FallbackHttpError` with `channel`,
175
+ `status` and `request`. `mode: 'poll-only'` never reports: it had no stream to
176
+ lose.
177
+
138
178
  ### Bounding a pending operation
139
179
 
140
180
  Every individual wait is bounded, but the subscription as a whole is not: a
@@ -171,6 +211,10 @@ The retry is granted once per failure streak: a second refusal with no
171
211
  successful request in between stops the subscription with
172
212
  `'unretryable-status'`.
173
213
 
214
+ A refusal the hook recovers is not a failure. The retry runs at once, with no
215
+ backoff, does not count toward `degradedAfterFailures`, and never reaches
216
+ `diagnostics.onDegraded`.
217
+
174
218
  ### Adopting before the SSE endpoint exists
175
219
 
176
220
  `policy.mode: 'poll-only'` (or the `POLL_ONLY_POLICY` preset) never opens a
@@ -320,12 +364,17 @@ could reach from one withdrawn mid-session. Repair after a reconnect is the
320
364
  consumer's job too, since only they know what to re-read:
321
365
 
322
366
  ```ts
323
- sub.onStatusChange((status) => {
324
- if (status === 'live') queryClient.invalidateQueries({ queryKey: ['segments', projectId] })
325
- if (status === 'stopped') reportToErrorTracker('live segment updates are off')
367
+ sub.onStreamEstablished(() => {
368
+ queryClient.invalidateQueries({ queryKey: ['segments', projectId] })
326
369
  })
370
+ sub.onStop((detail) => reportToErrorTracker('live segment updates are off', detail))
327
371
  ```
328
372
 
373
+ `onStreamEstablished` fires when a connection carries its first byte, which
374
+ the server's heartbeat makes prompt. `'live'` is the wrong trigger for a
375
+ repair: it arrives on the accepted connect, so an upstream that accepts and
376
+ closes at once would repeat the repair on every retry.
377
+
329
378
  A snapshot route that exists but cannot be expressed as events belongs here
330
379
  too, and the subscription never dispatches it. An endpoint that answers 204
331
380
  when no process is running gives `snapshotToEvents` nothing to return, and a
@@ -385,6 +434,13 @@ version exceeds the high-watermark. This one rule handles:
385
434
  `version: 'none'` opts into at-least-once/last-writer-wins semantics as an
386
435
  adoption bridge — strongly prefer real versions.
387
436
 
437
+ Without a version the stale-poll race has no watermark to settle it, so the
438
+ subscription settles it by arrival order instead: a snapshot requested before
439
+ the stream delivered an event is dropped (`onStaleSnapshot`) and requested
440
+ again, since its body may predate the pushed news. After three overtaken
441
+ polls in a row the next one is delivered anyway, so a busy stream cannot
442
+ starve the poll that repairs an outage.
443
+
388
444
  ## Server-side guarantees (the adopting team's checklist)
389
445
 
390
446
  1. **Required**: a monotonic version per subscription scope, present in both
@@ -487,6 +543,7 @@ responsibility.
487
543
  | `streamRefusal` | `'auto'` | follows `snapshotSource`: keep polling on an endpoint snapshot, stop on a synthesized one |
488
544
  | `mode` | `'dual'` | `'poll-only'` never opens a stream |
489
545
  | `subscriptionBudget` | unset | `{ maxDurationMs, maxPolls }` — a hard give-up bound |
546
+ | `degradationReportIntervalMs` | 600 000 | how often `onDegraded` repeats while degraded; `'off'` reports once |
490
547
 
491
548
  Every wait in the machine is bounded, because an unbounded one turns the
492
549
  fallback into no fallback at all: a hung connect or a poll that never settles
package/dist/binding.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { EventPayloadMap, FallbackBindingConfig, InferContractEvents, InferContractSnapshot, InferLegacyEvents, InferLegacySnapshot } from './bindingTypes.ts';
1
+ import type { EventPayloadMap, FallbackBindingConfig, InferContractEvents, InferContractSnapshot } from './bindingTypes.ts';
2
2
  import type { TransportRequest } from './transport.ts';
3
3
  /**
4
4
  * Symbol under which a binding is stamped on its contract(s), so server-side
@@ -82,14 +82,5 @@ export declare function bindFallbackContracts<TPoll extends {
82
82
  }, TStream extends {
83
83
  method: string;
84
84
  pathResolver: (p: never) => string;
85
- }, Snapshot = InferContractSnapshot<TPoll>, Events extends EventPayloadMap = [InferContractEvents<TStream>] extends [never] ? InferLegacyEvents<TStream> : InferContractEvents<TStream>, State = undefined>(poll: TPoll, stream: TStream, options: BindFallbackContractsOptions<NoInfer<Snapshot>, NoInfer<Events>, State>): FallbackBinding<Snapshot, Events, State>;
86
- /**
87
- * Declare a fallback binding on a legacy `buildSseContract` dual-mode
88
- * contract (`successResponseBodySchema` + `serverSentEventSchemas`).
89
- */
90
- export declare function fromLegacyDualModeContract<TContract extends {
91
- method: string;
92
- pathResolver: (p: never) => string;
93
- isDualMode: boolean;
94
- }, Snapshot = InferLegacySnapshot<TContract>, Events extends EventPayloadMap = InferLegacyEvents<TContract>, State = undefined>(contract: TContract, config: FallbackBindingConfig<NoInfer<Snapshot>, NoInfer<Events>, State>): FallbackBinding<Snapshot, Events, State>;
85
+ }, Snapshot = InferContractSnapshot<TPoll>, Events extends EventPayloadMap = InferContractEvents<TStream>, State = undefined>(poll: TPoll, stream: TStream, options: BindFallbackContractsOptions<NoInfer<Snapshot>, NoInfer<Events>, State>): FallbackBinding<Snapshot, Events, State>;
95
86
  //# sourceMappingURL=binding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../src/binding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../src/binding.ts"],"names":[],"mappings":"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"}
package/dist/binding.js CHANGED
@@ -132,10 +132,9 @@ export function defineFallbackBinding(contract,
132
132
  config) {
133
133
  const contractLike = contract;
134
134
  const shape = inspectApiContractResponses(contractLike);
135
- const isLegacyDual = contractLike.isDualMode === true;
136
- if (!isLegacyDual && !(shape.hasSse && shape.hasNonSse)) {
135
+ if (!(shape.hasSse && shape.hasNonSse)) {
137
136
  throw new Error('defineFallbackBinding requires a dual-mode contract (a success response with both an SSE and a non-SSE representation). ' +
138
- 'For separate poll/stream contracts use bindFallbackContracts; for legacy dual-mode contracts use fromLegacyDualModeContract.');
137
+ 'For separate poll/stream contracts use bindFallbackContracts.');
139
138
  }
140
139
  const normalized = normalizeConfig(config);
141
140
  const binding = {
@@ -160,10 +159,7 @@ export function bindFallbackContracts(poll, stream, options) {
160
159
  throw new Error('bindFallbackContracts: the poll contract must be a plain (non-SSE) contract — its SSE responses would never be used.');
161
160
  }
162
161
  const streamShape = inspectApiContractResponses(streamLike);
163
- const streamIsLegacySse = streamLike.isSSE === true ||
164
- streamLike.isDualMode === true ||
165
- streamLike.serverSentEventSchemas !== undefined;
166
- if (!streamShape.hasSse && !streamIsLegacySse) {
162
+ if (!streamShape.hasSse) {
167
163
  throw new Error('bindFallbackContracts: the stream contract must declare an SSE success response.');
168
164
  }
169
165
  const { mapParams, ...config } = options;
@@ -179,25 +175,4 @@ export function bindFallbackContracts(poll, stream, options) {
179
175
  stampBinding(stream, binding);
180
176
  return binding;
181
177
  }
182
- // ============================================================================
183
- // Legacy adapter
184
- // ============================================================================
185
- /**
186
- * Declare a fallback binding on a legacy `buildSseContract` dual-mode
187
- * contract (`successResponseBodySchema` + `serverSentEventSchemas`).
188
- */
189
- export function fromLegacyDualModeContract(contract, config) {
190
- if (contract.isDualMode !== true) {
191
- throw new Error('fromLegacyDualModeContract requires a legacy dual-mode contract (buildSseContract with successResponseBodySchema).');
192
- }
193
- const contractLike = contract;
194
- const normalized = normalizeConfig(config);
195
- const binding = {
196
- config: normalized,
197
- buildSnapshotRequest: (params) => buildRequest(contractLike, params),
198
- buildStreamRequest: (params) => buildRequest(contractLike, params),
199
- };
200
- stampBinding(contract, binding);
201
- return binding;
202
- }
203
178
  //# sourceMappingURL=binding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"binding.js","sourceRoot":"","sources":["../src/binding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binding.js","sourceRoot":"","sources":["../src/binding.ts"],"names":[],"mappings":"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"}
@@ -319,6 +319,14 @@ export type FallbackPolicy = {
319
319
  * @default 'auto'
320
320
  */
321
321
  streamRefusal: 'auto' | 'stop' | 'keep-polling';
322
+ /**
323
+ * How often `diagnostics.onDegraded` repeats while the subscription stays
324
+ * degraded. A fallback that keeps delivering is what lets a broken stream
325
+ * become the permanent state unnoticed, so the report does not stop at the
326
+ * first one. `'off'` reports each degradation once.
327
+ * @default 600_000
328
+ */
329
+ degradationReportIntervalMs: number | 'off';
322
330
  };
323
331
  export declare const DEFAULT_POLICY: FallbackPolicy;
324
332
  /**
@@ -362,13 +370,5 @@ export type InferContractEvents<TContract> = Extract<SuccessEntries<TContract> e
362
370
  export type InferContractSnapshot<TContract> = SuccessEntries<TContract> extends infer TEntry ? TEntry extends {
363
371
  content: infer TContent;
364
372
  } ? NonSseBodyOfContentMap<TContent> : TEntry extends z.ZodType ? z.output<TEntry> : never : never;
365
- /** Event payload map inferred from a legacy `buildSseContract` dual-mode contract. */
366
- export type InferLegacyEvents<TContract> = TContract extends {
367
- serverSentEventSchemas: infer TSchemas;
368
- } ? EventsFromSchemaMap<TSchemas> : never;
369
- /** Snapshot inferred from a legacy dual-mode contract's success schema. */
370
- export type InferLegacySnapshot<TContract> = TContract extends {
371
- successResponseBodySchema: infer TSchema;
372
- } ? TSchema extends z.ZodType ? z.output<TSchema> : never : never;
373
373
  export {};
374
374
  //# sourceMappingURL=bindingTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bindingTypes.d.ts","sourceRoot":"","sources":["../src/bindingTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bindingTypes.d.ts","sourceRoot":"","sources":["../src/bindingTypes.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export const DEFAULT_POLICY = {
17
17
  unretryableStatuses: [401, 403, 404],
18
18
  authChallengeStatuses: [401],
19
19
  streamRefusal: 'auto',
20
+ degradationReportIntervalMs: 600_000,
20
21
  };
21
22
  /**
22
23
  * Preset for use case A — await async completion.
@@ -1 +1 @@
1
- {"version":3,"file":"bindingTypes.js","sourceRoot":"","sources":["../src/bindingTypes.ts"],"names":[],"mappings":"AA2VA,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,OAAO;IACpB,cAAc,EAAE,MAAM;IACtB,kBAAkB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE;IAClD,wBAAwB,EAAE,MAAM;IAChC,gBAAgB,EAAE,MAAM;IACxB,aAAa,EAAE,MAAM;IACrB,kBAAkB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;IAC/D,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;IAC5D,qBAAqB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE;IACpD,6BAA6B,EAAE,CAAC;IAChC,qBAAqB,EAAE,CAAC;IACxB,sBAAsB,EAAE,MAAM;IAC9B,qBAAqB,EAAE,MAAM;IAC7B,oBAAoB,EAAE,KAAK;IAC3B,mBAAmB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACpC,qBAAqB,EAAE,CAAC,GAAG,CAAC;IAC5B,aAAa,EAAE,MAAM;CACtB,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAmB,cAAc,CAAA;AAE/D,mEAAmE;AACnE,MAAM,CAAC,MAAM,iBAAiB,GAAmB;IAC/C,GAAG,cAAc;IACjB,cAAc,EAAE,OAAO;IACvB,kBAAkB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE;IACnD,sBAAsB,EAAE,MAAM;CAC/B,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAmB;IAC9C,GAAG,cAAc;IACjB,IAAI,EAAE,WAAW;CAClB,CAAA"}
1
+ {"version":3,"file":"bindingTypes.js","sourceRoot":"","sources":["../src/bindingTypes.ts"],"names":[],"mappings":"AAmWA,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,OAAO;IACpB,cAAc,EAAE,MAAM;IACtB,kBAAkB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE;IAClD,wBAAwB,EAAE,MAAM;IAChC,gBAAgB,EAAE,MAAM;IACxB,aAAa,EAAE,MAAM;IACrB,kBAAkB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;IAC/D,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;IAC5D,qBAAqB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE;IACpD,6BAA6B,EAAE,CAAC;IAChC,qBAAqB,EAAE,CAAC;IACxB,sBAAsB,EAAE,MAAM;IAC9B,qBAAqB,EAAE,MAAM;IAC7B,oBAAoB,EAAE,KAAK;IAC3B,mBAAmB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACpC,qBAAqB,EAAE,CAAC,GAAG,CAAC;IAC5B,aAAa,EAAE,MAAM;IACrB,2BAA2B,EAAE,OAAO;CACrC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAmB,cAAc,CAAA;AAE/D,mEAAmE;AACnE,MAAM,CAAC,MAAM,iBAAiB,GAAmB;IAC/C,GAAG,cAAc;IACjB,cAAc,EAAE,OAAO;IACvB,kBAAkB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE;IACnD,sBAAsB,EAAE,MAAM;CAC/B,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAmB;IAC9C,GAAG,cAAc;IACjB,IAAI,EAAE,WAAW;CAClB,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  export { createSSEStreamParser, type ParsedSSEEvent, type ParseSSEBufferResult, type ParseSSEStreamOptions, parseSSEBuffer, parseSSEResponse, parseSSEStream, type SSEStreamParser, } from '@opinionated-machine/sse-parser';
2
- export { type BindFallbackContractsOptions, bindFallbackContracts, defineFallbackBinding, FALLBACK_BINDING_SYMBOL, type FallbackBinding, type FallbackRequestParams, fromLegacyDualModeContract, readFallbackBinding, } from './binding.ts';
3
- export { type BackoffConfig, COMPLETION_POLICY, DEFAULT_POLICY, type EventPayloadMap, type FallbackBindingConfig, type FallbackEvent, type FallbackEventOrigin, type FallbackPolicy, type InferContractEvents, type InferContractSnapshot, type InferLegacyEvents, type InferLegacySnapshot, LIVE_STATE_POLICY, POLL_ONLY_POLICY, type SubscriptionBudget, type SyntheticEvent, type Version, type VersionConfig, } from './bindingTypes.ts';
2
+ export { type BindFallbackContractsOptions, bindFallbackContracts, defineFallbackBinding, FALLBACK_BINDING_SYMBOL, type FallbackBinding, type FallbackRequestParams, readFallbackBinding, } from './binding.ts';
3
+ export { type BackoffConfig, COMPLETION_POLICY, DEFAULT_POLICY, type EventPayloadMap, type FallbackBindingConfig, type FallbackEvent, type FallbackEventOrigin, type FallbackPolicy, type InferContractEvents, type InferContractSnapshot, LIVE_STATE_POLICY, POLL_ONLY_POLICY, type SubscriptionBudget, type SyntheticEvent, type Version, type VersionConfig, } from './bindingTypes.ts';
4
4
  export { createPollGate, type PollGate, type PollGateConfig } from './pollGate.ts';
5
5
  export { defaultCompareVersions, type EventOutcome, type IncomingEvent, type InvalidVersionInfo, Reconciler, type SnapshotOutcome, type VersionGap, } from './reconciler.ts';
6
6
  export { backoffDelay, ResettableTimer, sleep } from './scheduler.ts';
7
- export { type CreateResilientSubscriptionOptions, createResilientSubscription, type FallbackDiagnostics, type ResilientSubscription, type StopReason, type SubscriptionStatus, type SubscriptionStopDetail, SubscriptionStoppedError, } from './subscription.ts';
7
+ export { type CreateResilientSubscriptionOptions, createResilientSubscription, type DegradationKind, FallbackDegradedError, type FallbackDiagnostics, FallbackHttpError, type ResilientSubscription, type StopReason, type SubscriptionStatus, type SubscriptionStopDetail, SubscriptionStoppedError, } from './subscription.ts';
8
8
  export { type FallbackTransport, isParsedStreamResponse, type ParsedSseFrame, type ParsedStreamResponse, type RawStreamResponse, type SnapshotResponse, type StreamResponse, type TestSnapshotCall, type TestStreamHandle, TestTransport, type TransportRequest, } from './transport.ts';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,KAAK,eAAe,GACrB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,KAAK,4BAA4B,EACjC,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,KAAK,aAAa,EAClB,iBAAiB,EACjB,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,OAAO,EACZ,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,cAAc,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AAClF,OAAO,EACL,sBAAsB,EACtB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,UAAU,EACV,KAAK,eAAe,EACpB,KAAK,UAAU,GAChB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACrE,OAAO,EACL,KAAK,kCAAkC,EACvC,2BAA2B,EAC3B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,wBAAwB,GACzB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,KAAK,iBAAiB,EACtB,sBAAsB,EACtB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,aAAa,EACb,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,KAAK,eAAe,GACrB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,KAAK,4BAA4B,EACjC,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,mBAAmB,GACpB,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,KAAK,aAAa,EAClB,iBAAiB,EACjB,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,OAAO,EACZ,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,cAAc,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AAClF,OAAO,EACL,sBAAsB,EACtB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,UAAU,EACV,KAAK,eAAe,EACpB,KAAK,UAAU,GAChB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACrE,OAAO,EACL,KAAK,kCAAkC,EACvC,2BAA2B,EAC3B,KAAK,eAAe,EACpB,qBAAqB,EACrB,KAAK,mBAAmB,EACxB,iBAAiB,EACjB,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,wBAAwB,GACzB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,KAAK,iBAAiB,EACtB,sBAAsB,EACtB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,aAAa,EACb,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAA"}
package/dist/index.js CHANGED
@@ -1,11 +1,11 @@
1
1
  // Re-exported so a transport author does not have to add the parser package
2
2
  // as a second dependency to frame a stream by hand.
3
3
  export { createSSEStreamParser, parseSSEBuffer, parseSSEResponse, parseSSEStream, } from '@opinionated-machine/sse-parser';
4
- export { bindFallbackContracts, defineFallbackBinding, FALLBACK_BINDING_SYMBOL, fromLegacyDualModeContract, readFallbackBinding, } from "./binding.js";
4
+ export { bindFallbackContracts, defineFallbackBinding, FALLBACK_BINDING_SYMBOL, readFallbackBinding, } from "./binding.js";
5
5
  export { COMPLETION_POLICY, DEFAULT_POLICY, LIVE_STATE_POLICY, POLL_ONLY_POLICY, } from "./bindingTypes.js";
6
6
  export { createPollGate } from "./pollGate.js";
7
7
  export { defaultCompareVersions, Reconciler, } from "./reconciler.js";
8
8
  export { backoffDelay, ResettableTimer, sleep } from "./scheduler.js";
9
- export { createResilientSubscription, SubscriptionStoppedError, } from "./subscription.js";
9
+ export { createResilientSubscription, FallbackDegradedError, FallbackHttpError, SubscriptionStoppedError, } from "./subscription.js";
10
10
  export { isParsedStreamResponse, TestTransport, } from "./transport.js";
11
11
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,oDAAoD;AACpD,OAAO,EACL,qBAAqB,EAIrB,cAAc,EACd,gBAAgB,EAChB,cAAc,GAEf,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAEL,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EAGvB,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,cAAc,CAAA;AACrB,OAAO,EAEL,iBAAiB,EACjB,cAAc,EAUd,iBAAiB,EACjB,gBAAgB,GAKjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,cAAc,EAAsC,MAAM,eAAe,CAAA;AAClF,OAAO,EACL,sBAAsB,EAItB,UAAU,GAGX,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACrE,OAAO,EAEL,2BAA2B,EAM3B,wBAAwB,GACzB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAEL,sBAAsB,EAQtB,aAAa,GAEd,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,oDAAoD;AACpD,OAAO,EACL,qBAAqB,EAIrB,cAAc,EACd,gBAAgB,EAChB,cAAc,GAEf,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAEL,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EAGvB,mBAAmB,GACpB,MAAM,cAAc,CAAA;AACrB,OAAO,EAEL,iBAAiB,EACjB,cAAc,EAQd,iBAAiB,EACjB,gBAAgB,GAKjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,cAAc,EAAsC,MAAM,eAAe,CAAA;AAClF,OAAO,EACL,sBAAsB,EAItB,UAAU,GAGX,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACrE,OAAO,EAEL,2BAA2B,EAE3B,qBAAqB,EAErB,iBAAiB,EAKjB,wBAAwB,GACzB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAEL,sBAAsB,EAQtB,aAAa,GAEd,MAAM,gBAAgB,CAAA"}
@@ -2,7 +2,7 @@ import type { FallbackBinding, FallbackRequestParams } from './binding.ts';
2
2
  import type { EventPayloadMap, FallbackEvent, FallbackPolicy } from './bindingTypes.ts';
3
3
  import type { PollGate } from './pollGate.ts';
4
4
  import type { InvalidVersionInfo, VersionGap } from './reconciler.ts';
5
- import type { FallbackTransport } from './transport.ts';
5
+ import type { FallbackTransport, TransportRequest } from './transport.ts';
6
6
  export type SubscriptionStatus = 'connecting' | 'live' | 'reconnecting' | 'polling' | 'stopped';
7
7
  /**
8
8
  * Why a subscription reached `'stopped'`.
@@ -56,6 +56,69 @@ export declare class SubscriptionStoppedError extends Error {
56
56
  readonly streamWasLive: boolean | undefined;
57
57
  constructor(detail: SubscriptionStopDetail);
58
58
  }
59
+ /**
60
+ * A request answered with a status the channel cannot use. Handed to
61
+ * `onStreamError` / `onPollError`, and as the `cause` of a
62
+ * {@link FallbackDegradedError}.
63
+ */
64
+ export declare class FallbackHttpError extends Error {
65
+ readonly channel: 'poll' | 'stream';
66
+ readonly status: number;
67
+ readonly request: TransportRequest;
68
+ constructor(message: string, detail: {
69
+ channel: 'poll' | 'stream';
70
+ status: number;
71
+ request: TransportRequest;
72
+ });
73
+ }
74
+ /**
75
+ * What broke the stream, as far as a client can tell.
76
+ *
77
+ * - `'stream-refused'`: a status in `unretryableStatuses`; the stream is given up for good.
78
+ * A refusal that `onAuthChallenge` recovers is not a failure and has no kind.
79
+ * - `'stream-rejected'`: any other non-200 status, or a 200 that is not `text/event-stream`
80
+ * (a proxy error page, an SPA fallback route).
81
+ * - `'stream-silent'`: accepted, then closed or timed out without a single byte. A proxy that
82
+ * buffers the response is the usual cause.
83
+ * - `'stream-unreachable'`: the connect threw or timed out. An offline client produces this too,
84
+ * which is the one kind a reporter may want to rank lower.
85
+ */
86
+ export type DegradationKind = 'stream-refused' | 'stream-rejected' | 'stream-silent' | 'stream-unreachable';
87
+ /**
88
+ * The stream stopped working for a reason the client can name, and the subscription is running
89
+ * without it: on its poll for an endpoint snapshot, or on nothing at all for a synthesized one.
90
+ *
91
+ * Delivered to `diagnostics.onDegraded` when the subscription degrades, and again every
92
+ * `degradationReportIntervalMs` for as long as it stays degraded, so a tab that lives on the
93
+ * fallback keeps showing up in an error tracker instead of reporting once and going quiet.
94
+ * Hand it to one as it is: the message names the route, the status and the channel left.
95
+ */
96
+ export declare class FallbackDegradedError extends Error {
97
+ readonly kind: DegradationKind;
98
+ /** The refusing or rejecting status, for `'stream-refused'` and `'stream-rejected'`. */
99
+ readonly status: number | undefined;
100
+ /** The stream request that failed. */
101
+ readonly request: TransportRequest;
102
+ /** Whether any stream of this subscription had carried bytes before it broke. */
103
+ readonly streamWasLive: boolean;
104
+ /** Whether a poll keeps delivering while the stream is down. */
105
+ readonly pollCarriesDelivery: boolean;
106
+ /** How many times this degradation has been reported, starting at 1. */
107
+ readonly reportCount: number;
108
+ /** Time since the subscription degraded, 0 on the first report. */
109
+ readonly degradedForMs: number;
110
+ constructor(detail: {
111
+ kind: DegradationKind;
112
+ status?: number;
113
+ contentType?: string;
114
+ request: TransportRequest;
115
+ streamWasLive: boolean;
116
+ pollCarriesDelivery: boolean;
117
+ reportCount: number;
118
+ degradedForMs: number;
119
+ cause?: unknown;
120
+ });
121
+ }
59
122
  /**
60
123
  * Observability hooks — all optional, all no-ops by default. None of these
61
124
  * affect delivery semantics; they exist so applications can meter the
@@ -64,9 +127,30 @@ export declare class SubscriptionStoppedError extends Error {
64
127
  export type FallbackDiagnostics = {
65
128
  onGap?: (gap: VersionGap) => void;
66
129
  onDuplicate?: (event: string) => void;
130
+ /**
131
+ * A snapshot was dropped because the stream had already delivered newer
132
+ * news: below the watermark, or, for `version: 'none'`, requested before a
133
+ * pushed event it would have overwritten.
134
+ */
67
135
  onStaleSnapshot?: () => void;
68
136
  onPollError?: (error: unknown) => void;
69
137
  onStreamError?: (error: unknown) => void;
138
+ /**
139
+ * The stream broke for a reason a client can name and the subscription is
140
+ * running without it. Fires on degrading, and again on the
141
+ * `degradationReportIntervalMs` cadence until it recovers.
142
+ *
143
+ * This is the hook to send to an error tracker. A fallback that works is
144
+ * exactly what hides a broken main path: delivery carries on, late, and
145
+ * nothing else says why. Not fired for `mode: 'poll-only'`, which never
146
+ * had a stream to lose.
147
+ */
148
+ onDegraded?: (error: FallbackDegradedError) => void;
149
+ /** A degradation reported through `onDegraded` ended: the stream carried bytes again. */
150
+ onRecovered?: (recovery: {
151
+ kind: DegradationKind;
152
+ degradedForMs: number;
153
+ }) => void;
70
154
  /**
71
155
  * The stream was refused with a status it cannot retry past, and the
72
156
  * subscription carried on polling instead of stopping: `streamRefusal:
@@ -123,6 +207,9 @@ export type CreateResilientSubscriptionOptions = {
123
207
  * throw, to stop the subscription with `'unretryable-status'`. The retry is
124
208
  * granted once per auth failure streak: a second refusal with no successful
125
209
  * request in between stops the subscription.
210
+ *
211
+ * A refusal the hook recovers is not a stream failure: the retry runs at
212
+ * once, with no backoff, and does not count toward `degradedAfterFailures`.
126
213
  */
127
214
  onAuthChallenge?: (challenge: {
128
215
  status: number;
@@ -163,6 +250,16 @@ export type ResilientSubscription<Events extends EventPayloadMap = EventPayloadM
163
250
  * `'stopped'`, and says why — see {@link StopReason}.
164
251
  */
165
252
  onStatusChange(listener: (status: SubscriptionStatus, detail?: SubscriptionStopDetail) => void): () => void;
253
+ /**
254
+ * Run a listener each time a stream connection carries its first byte.
255
+ *
256
+ * With a synthesized snapshot an accepted connect reports `'live'` before
257
+ * any byte, since quiet is normal there. That makes `'live'` the wrong
258
+ * trigger for work that must not repeat on every retry: an upstream that
259
+ * accepts and closes at once cycles `'reconnecting'` and `'live'` on each
260
+ * attempt. This fires only for a connection that delivered something.
261
+ */
262
+ onStreamEstablished(listener: () => void): () => void;
166
263
  /**
167
264
  * Why the subscription stopped, or `undefined` while it is still running.
168
265
  * Also delivered to `onStop` and `onStatusChange` at the moment it stops.
@@ -1 +1 @@
1
- {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../src/subscription.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../src/subscription.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAE1E,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAGrE,OAAO,KAAK,EACV,iBAAiB,EAGjB,gBAAgB,EACjB,MAAM,gBAAgB,CAAA;AAOvB,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,MAAM,GAAG,cAAc,GAAG,SAAS,GAAG,SAAS,CAAA;AAE/F;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,UAAU,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,QAAQ,CAAA;AAEhG,mFAAmF;AACnF,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,UAAU,CAAA;IAClB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kEAAkE;IAClE,KAAK,CAAC,EAAE,eAAe,GAAG,UAAU,CAAA;IACpC,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IAC3B;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,UAAU,GAAG,SAAS,CAAA;IACxD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;IAC/C,QAAQ,CAAC,aAAa,EAAE,OAAO,GAAG,SAAS,CAAA;gBAE/B,MAAM,EAAE,sBAAsB;CAS3C;AAED;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAA;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAA;gBAGhC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,gBAAgB,CAAA;KAAE;CAQpF;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,eAAe,GACvB,gBAAgB,GAChB,iBAAiB,GACjB,eAAe,GACf,oBAAoB,CAAA;AAExB;;;;;;;;GAQG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;IAC9B,wFAAwF;IACxF,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,sCAAsC;IACtC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAA;IAClC,iFAAiF;IACjF,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;IAC/B,gEAAgE;IAChE,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAA;IACrC,wEAAwE;IACxE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,mEAAmE;IACnE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;gBAElB,MAAM,EAAE;QAClB,IAAI,EAAE,eAAe,CAAA;QACrB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,OAAO,EAAE,gBAAgB,CAAA;QACzB,aAAa,EAAE,OAAO,CAAA;QACtB,mBAAmB,EAAE,OAAO,CAAA;QAC5B,WAAW,EAAE,MAAM,CAAA;QACnB,aAAa,EAAE,MAAM,CAAA;QACrB,KAAK,CAAC,EAAE,OAAO,CAAA;KAChB;CAWF;AA2BD;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAA;IACjC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACxC;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAA;IACnD,yFAAyF;IACzF,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,eAAe,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAClF;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAA;IAC/E;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAA;IAC5C,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,iFAAiF;IACjF,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAC1C;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAA;CACtD,CAAA;AAED,MAAM,MAAM,kCAAkC,GAAG;IAC/C,SAAS,EAAE,iBAAiB,CAAA;IAC5B,MAAM,CAAC,EAAE,qBAAqB,CAAA;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAChC,WAAW,CAAC,EAAE,mBAAmB,CAAA;IACjC,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE;QAC5B,MAAM,EAAE,MAAM,CAAA;QACd,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAA;KAC3B,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAChC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;IACzC,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,qBAAqB,CAC/B,MAAM,SAAS,eAAe,GAAG,eAAe,EAChD,KAAK,GAAG,SAAS,IACf;IACF,+EAA+E;IAC/E,MAAM,IAAI,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;IAC9C,yEAAyE;IACzE,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;IACrE,gFAAgF;IAChF,QAAQ,IAAI,KAAK,GAAG,SAAS,CAAA;IAC7B,aAAa,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;IAC3D,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;IACnC;;;;;;;;OAQG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IACjC;;;OAGG;IACH,cAAc,CACZ,QAAQ,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,sBAAsB,KAAK,IAAI,GAC9E,MAAM,IAAI,CAAA;IACb;;;;;;;;OAQG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAA;IACrD;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,sBAAsB,GAAG,SAAS,CAAA;IACnD;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;IACtE;;;;;OAKG;IACH,KAAK,IAAI,IAAI,CAAA;IACb,sEAAsE;IACtE,IAAI,IAAI,IAAI,CAAA;IACZ;;;;;;;OAOG;IACH,OAAO,CAAC,CAAC,SAAS,MAAM,MAAM,GAAG,MAAM,EACrC,KAAK,EAAE,CAAC,EACR,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5B,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACrB,4EAA4E;IAC5E,eAAe,CAAC,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;CAC/E,CAAA;AA+qCD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EACR,MAAM,SAAS,eAAe,EAC9B,KAAK,GAAG,SAAS,EAEjB,OAAO,EAAE,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EACjD,OAAO,EAAE,kCAAkC,GAC1C,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,CAwBtC"}
@@ -25,6 +25,80 @@ export class SubscriptionStoppedError extends Error {
25
25
  this.streamWasLive = detail.streamWasLive;
26
26
  }
27
27
  }
28
+ /**
29
+ * A request answered with a status the channel cannot use. Handed to
30
+ * `onStreamError` / `onPollError`, and as the `cause` of a
31
+ * {@link FallbackDegradedError}.
32
+ */
33
+ export class FallbackHttpError extends Error {
34
+ channel;
35
+ status;
36
+ request;
37
+ constructor(message, detail) {
38
+ super(message);
39
+ this.name = 'FallbackHttpError';
40
+ this.channel = detail.channel;
41
+ this.status = detail.status;
42
+ this.request = detail.request;
43
+ }
44
+ }
45
+ /**
46
+ * The stream stopped working for a reason the client can name, and the subscription is running
47
+ * without it: on its poll for an endpoint snapshot, or on nothing at all for a synthesized one.
48
+ *
49
+ * Delivered to `diagnostics.onDegraded` when the subscription degrades, and again every
50
+ * `degradationReportIntervalMs` for as long as it stays degraded, so a tab that lives on the
51
+ * fallback keeps showing up in an error tracker instead of reporting once and going quiet.
52
+ * Hand it to one as it is: the message names the route, the status and the channel left.
53
+ */
54
+ export class FallbackDegradedError extends Error {
55
+ kind;
56
+ /** The refusing or rejecting status, for `'stream-refused'` and `'stream-rejected'`. */
57
+ status;
58
+ /** The stream request that failed. */
59
+ request;
60
+ /** Whether any stream of this subscription had carried bytes before it broke. */
61
+ streamWasLive;
62
+ /** Whether a poll keeps delivering while the stream is down. */
63
+ pollCarriesDelivery;
64
+ /** How many times this degradation has been reported, starting at 1. */
65
+ reportCount;
66
+ /** Time since the subscription degraded, 0 on the first report. */
67
+ degradedForMs;
68
+ constructor(detail) {
69
+ super(describeDegradation(detail), { cause: detail.cause });
70
+ this.name = 'FallbackDegradedError';
71
+ this.kind = detail.kind;
72
+ this.status = detail.status;
73
+ this.request = detail.request;
74
+ this.streamWasLive = detail.streamWasLive;
75
+ this.pollCarriesDelivery = detail.pollCarriesDelivery;
76
+ this.reportCount = detail.reportCount;
77
+ this.degradedForMs = detail.degradedForMs;
78
+ }
79
+ }
80
+ function describeDegradation(detail) {
81
+ const route = `${detail.request.method.toUpperCase()} ${detail.request.path}`;
82
+ const history = detail.streamWasLive ? 'it had been live' : 'it was never live';
83
+ const fault = {
84
+ 'stream-refused': `was refused with ${detail.status}`,
85
+ 'stream-rejected': detail.status === 200
86
+ ? `answered 200 with content-type ${detail.contentType || '(none)'}`
87
+ : `was rejected with ${detail.status}`,
88
+ 'stream-silent': 'was accepted but closed without carrying any bytes',
89
+ 'stream-unreachable': 'could not be reached',
90
+ }[detail.kind];
91
+ const fallback = detail.pollCarriesDelivery
92
+ ? 'updates arrive late, on the fallback poll'
93
+ : 'no poll covers this binding, so nothing is delivered until it recovers';
94
+ return `SSE stream ${route} ${fault} (${history}); ${fallback}`;
95
+ }
96
+ /**
97
+ * Consecutive versionless polls dropped for racing a pushed event, after
98
+ * which the next one is delivered anyway: a busy stream must not starve the
99
+ * poll that repairs an outage.
100
+ */
101
+ const MAX_SUPERSEDED_POLLS = 3;
28
102
  class ResilientSubscriptionImpl {
29
103
  binding;
30
104
  transport;
@@ -67,6 +141,11 @@ class ResilientSubscriptionImpl {
67
141
  streamEverProducedBytes = false;
68
142
  /** Whether the stream has been given up for good, see `abandonStream`. */
69
143
  streamAbandonedValue = false;
144
+ /** The degradation last reported through `onDegraded`, until the stream recovers. */
145
+ reportedDegradation;
146
+ /** Events the stream delivered, so a versionless poll can tell it was overtaken. */
147
+ streamDeliveries = 0;
148
+ supersededPolls = 0;
70
149
  pollInFlight = false;
71
150
  pollQueued = false;
72
151
  pollFailures = 0;
@@ -82,10 +161,12 @@ class ResilientSubscriptionImpl {
82
161
  deadman = new ResettableTimer(() => this.schedulePoll());
83
162
  staleConnection = new ResettableTimer(() => this.onStaleConnection());
84
163
  budgetTimer = new ResettableTimer(() => this.stopWith({ reason: 'budget-exhausted', limit: 'maxDurationMs' }));
164
+ degradationReminder = new ResettableTimer(() => this.emitDegradation());
85
165
  eventListeners = new Set();
86
166
  stateListeners = new Set();
87
167
  statusListeners = new Set();
88
168
  stopListeners = new Set();
169
+ establishedListeners = new Set();
89
170
  iteratorFeeds = new Set();
90
171
  constructor(binding, options) {
91
172
  this.binding = binding;
@@ -167,6 +248,10 @@ class ResilientSubscriptionImpl {
167
248
  this.statusListeners.add(listener);
168
249
  return () => this.statusListeners.delete(listener);
169
250
  }
251
+ onStreamEstablished(listener) {
252
+ this.establishedListeners.add(listener);
253
+ return () => this.establishedListeners.delete(listener);
254
+ }
170
255
  onStop(listener) {
171
256
  if (this.stopDetail !== undefined) {
172
257
  this.runListener(listener, this.stopDetail);
@@ -250,6 +335,7 @@ class ResilientSubscriptionImpl {
250
335
  this.deadman.clear();
251
336
  this.staleConnection.clear();
252
337
  this.budgetTimer.clear();
338
+ this.degradationReminder.clear();
253
339
  this.currentStreamAbort?.abort();
254
340
  this.abortController.abort();
255
341
  this.setStatus('stopped', detail);
@@ -259,6 +345,7 @@ class ResilientSubscriptionImpl {
259
345
  for (const feed of this.iteratorFeeds)
260
346
  feed.finish();
261
347
  this.iteratorFeeds.clear();
348
+ this.establishedListeners.clear();
262
349
  }
263
350
  // --------------------------------------------------------------------
264
351
  // Stream loop
@@ -272,7 +359,10 @@ class ResilientSubscriptionImpl {
272
359
  const onMasterAbort = () => streamAbort.abort();
273
360
  this.abortController.signal.addEventListener('abort', onMasterAbort, { once: true });
274
361
  let connectFailed = false;
362
+ let failure;
363
+ let credentialsRefreshed = false;
275
364
  this.streamProducedBytes = false;
365
+ const request = this.binding.buildStreamRequest(this.params);
276
366
  // A connect that never produces headers must not park the subscription:
277
367
  // bound it here so it fails like any other connect failure (backoff,
278
368
  // degradation, fallback polling) instead of hanging forever.
@@ -281,7 +371,10 @@ class ResilientSubscriptionImpl {
281
371
  connectTimeout.arm(this.policy.connectTimeoutMs);
282
372
  }
283
373
  try {
284
- const response = await this.transport.openStream(this.binding.buildStreamRequest(this.params), { signal: streamAbort.signal, lastEventId: this.lastEventId });
374
+ const response = await this.transport.openStream(request, {
375
+ signal: streamAbort.signal,
376
+ lastEventId: this.lastEventId,
377
+ });
285
378
  connectTimeout.clear();
286
379
  if (this.stopped)
287
380
  return;
@@ -293,7 +386,17 @@ class ResilientSubscriptionImpl {
293
386
  // chunks of a refused connect are never consumed, and without this
294
387
  // every retry would leak a socket.
295
388
  streamAbort.abort();
296
- this.diagnostics.onStreamError?.(new Error(`SSE connect failed with status ${response.status}`));
389
+ const error = new FallbackHttpError(response.status === 200
390
+ ? `SSE connect answered 200 with content-type ${contentType}`
391
+ : `SSE connect failed with status ${response.status}`, { channel: 'stream', status: response.status, request });
392
+ failure = {
393
+ kind: 'stream-rejected',
394
+ status: response.status,
395
+ contentType,
396
+ request,
397
+ cause: error,
398
+ };
399
+ this.diagnostics.onStreamError?.(error);
297
400
  if (this.policy.unretryableStatuses.includes(response.status)) {
298
401
  // An expired token is the common case behind a 401 in a SPA, and
299
402
  // recovering without a page reload is the point of this package.
@@ -304,7 +407,12 @@ class ResilientSubscriptionImpl {
304
407
  return;
305
408
  if (!recovered) {
306
409
  if (this.streamRefusal === 'keep-polling') {
307
- this.abandonStream(response.status);
410
+ this.abandonStream({
411
+ kind: 'stream-refused',
412
+ status: response.status,
413
+ request,
414
+ cause: error,
415
+ });
308
416
  return;
309
417
  }
310
418
  this.stopWith({
@@ -315,6 +423,9 @@ class ResilientSubscriptionImpl {
315
423
  });
316
424
  return;
317
425
  }
426
+ // A refreshed token says nothing about the stream's health, so
427
+ // the retry skips the failure count and the backoff, as a poll does.
428
+ credentialsRefreshed = true;
318
429
  }
319
430
  }
320
431
  else {
@@ -364,6 +475,11 @@ class ResilientSubscriptionImpl {
364
475
  if (this.stopped)
365
476
  return;
366
477
  connectFailed = !this.streamConnected;
478
+ failure = {
479
+ kind: connectFailed ? 'stream-unreachable' : 'stream-silent',
480
+ request,
481
+ cause: error,
482
+ };
367
483
  this.diagnostics.onStreamError?.(error);
368
484
  }
369
485
  finally {
@@ -374,6 +490,8 @@ class ResilientSubscriptionImpl {
374
490
  }
375
491
  if (this.stopped || this.streamAbandoned || this.reconciler.isTerminated)
376
492
  return;
493
+ if (credentialsRefreshed)
494
+ continue;
377
495
  // Armed before any status is published below, so a listener that
378
496
  // nudges on 'reconnecting' cuts this backoff short.
379
497
  const backoffWake = new AbortController();
@@ -382,13 +500,20 @@ class ResilientSubscriptionImpl {
382
500
  // bytes. A stream that is accepted and then closes immediately would
383
501
  // otherwise reset the backoff on every attempt and never degrade,
384
502
  // turning a broken upstream into a reconnect-and-poll storm.
503
+ let countedFailure;
385
504
  if (connectFailed || !this.streamProducedBytes) {
386
505
  this.consecutiveConnectFailures += 1;
506
+ countedFailure = failure ?? { kind: 'stream-silent', request };
507
+ // Reminders name the cause as it stands now, not the one that degraded it.
508
+ if (this.reportedDegradation)
509
+ this.reportedDegradation.failure = countedFailure;
387
510
  }
388
511
  if (!this.degraded && this.consecutiveConnectFailures >= this.policy.degradedAfterFailures) {
389
512
  // The poll this drop needs is scheduled below; the deadman carries
390
513
  // the degraded cadence from its next arm.
391
514
  this.degrade({ forcePoll: false });
515
+ if (countedFailure)
516
+ this.reportDegradation(countedFailure);
392
517
  }
393
518
  else {
394
519
  // Already degraded, a drop keeps an endpoint binding on 'polling'. A
@@ -442,7 +567,8 @@ class ResilientSubscriptionImpl {
442
567
  * `initialPoll: 'eager'` the hydration poll is scheduled by an accepted
443
568
  * connect, so a first connect that is refused leaves nothing armed.
444
569
  */
445
- abandonStream(status) {
570
+ abandonStream(refusal) {
571
+ const { status } = refusal;
446
572
  this.streamAbandonedValue = true;
447
573
  // A retry the STREAM spent on a refresh that worked, only to be refused
448
574
  // anyway, went to a channel that no longer exists. The poll now carries
@@ -460,6 +586,59 @@ class ResilientSubscriptionImpl {
460
586
  if (this.stopped || this.reconciler.isTerminated)
461
587
  return;
462
588
  this.degrade({ forcePoll: true });
589
+ this.reportDegradation(refusal);
590
+ }
591
+ /**
592
+ * Report that the stream broke and the subscription runs without it, then
593
+ * keep reporting on `degradationReportIntervalMs` until it recovers.
594
+ *
595
+ * One report per degradation would not be enough: a tab that degraded an
596
+ * hour ago looks, in an error tracker, like a fault that went away. A new
597
+ * cause (a refusal after a run of silent connects) is reported at once.
598
+ */
599
+ reportDegradation(failure) {
600
+ if (this.stopped || this.reconciler.isTerminated)
601
+ return;
602
+ const current = this.reportedDegradation;
603
+ this.reportedDegradation = {
604
+ failure,
605
+ streamWasLive: this.streamEverProducedBytes,
606
+ since: current?.since ?? Date.now(),
607
+ reports: current?.reports ?? 0,
608
+ };
609
+ this.emitDegradation();
610
+ }
611
+ emitDegradation() {
612
+ const degradation = this.reportedDegradation;
613
+ if (!degradation || this.stopped || this.reconciler.isTerminated)
614
+ return;
615
+ degradation.reports += 1;
616
+ const { failure } = degradation;
617
+ const error = new FallbackDegradedError({
618
+ ...failure,
619
+ streamWasLive: degradation.streamWasLive,
620
+ pollCarriesDelivery: this.pollCanDeliver,
621
+ reportCount: degradation.reports,
622
+ degradedForMs: Date.now() - degradation.since,
623
+ });
624
+ this.runListener(() => this.diagnostics.onDegraded?.(error), undefined);
625
+ if (this.stopped)
626
+ return;
627
+ const interval = this.policy.degradationReportIntervalMs;
628
+ if (interval !== 'off')
629
+ this.degradationReminder.arm(interval);
630
+ }
631
+ endDegradation() {
632
+ const degradation = this.reportedDegradation;
633
+ if (!degradation)
634
+ return;
635
+ this.reportedDegradation = undefined;
636
+ this.degradationReminder.clear();
637
+ const recovery = {
638
+ kind: degradation.failure.kind,
639
+ degradedForMs: Date.now() - degradation.since,
640
+ };
641
+ this.runListener(() => this.diagnostics.onRecovered?.(recovery), undefined);
463
642
  }
464
643
  consumeStream(response) {
465
644
  this.streamConnected = true;
@@ -532,6 +711,10 @@ class ResilientSubscriptionImpl {
532
711
  this.consecutiveConnectFailures = 0;
533
712
  this.authCredit = 'available';
534
713
  this.degraded = false;
714
+ this.endDegradation();
715
+ // `onRecovered` may have stopped the subscription, which must stay 'stopped'.
716
+ if (this.stopped)
717
+ return;
535
718
  // Bytes on the wire are the only evidence that delivery works, so they are
536
719
  // what promotes the subscription to 'live' — from degraded polling, and
537
720
  // equally from the 'connecting' a byte-less stream is parked in after
@@ -541,6 +724,11 @@ class ResilientSubscriptionImpl {
541
724
  if (!this.reconciler.isHydrating) {
542
725
  this.setStatus('live');
543
726
  }
727
+ for (const listener of this.establishedListeners) {
728
+ if (this.stopped)
729
+ return;
730
+ this.runListener(listener, undefined);
731
+ }
544
732
  }
545
733
  /**
546
734
  * Move the reconnect cursor to where this frame leaves it.
@@ -599,8 +787,10 @@ class ResilientSubscriptionImpl {
599
787
  // every 15s polled between nearly every pair of events, forever, while a
600
788
  // fully idle one backed off to `deadmanIdleBackoff.maxMs`. A poll that
601
789
  // does find news still resets it, in `executePoll`.
602
- if (outcome.deliveries.length > 0)
790
+ if (outcome.deliveries.length > 0) {
791
+ this.streamDeliveries += 1;
603
792
  this.armDeadman();
793
+ }
604
794
  if (outcome.duplicate) {
605
795
  this.diagnostics.onDuplicate?.(parsed.event ?? 'message');
606
796
  }
@@ -726,11 +916,17 @@ class ResilientSubscriptionImpl {
726
916
  if (this.stopped || this.reconciler.isTerminated)
727
917
  return;
728
918
  }
729
- const response = await this.transport.fetchSnapshot(this.binding.buildSnapshotRequest(this.params), { signal: pollAbort.signal });
919
+ const request = this.binding.buildSnapshotRequest(this.params);
920
+ const streamDeliveriesAtRequest = this.streamDeliveries;
921
+ const response = await this.transport.fetchSnapshot(request, { signal: pollAbort.signal });
730
922
  if (this.stopped || this.reconciler.isTerminated)
731
923
  return;
732
924
  if (response.status < 200 || response.status >= 300) {
733
- this.diagnostics.onPollError?.(new Error(`Snapshot poll failed with status ${response.status}`));
925
+ this.diagnostics.onPollError?.(new FallbackHttpError(`Snapshot poll failed with status ${response.status}`, {
926
+ channel: 'poll',
927
+ status: response.status,
928
+ request,
929
+ }));
734
930
  if (this.policy.unretryableStatuses.includes(response.status)) {
735
931
  const recovered = await this.tryAuthChallenge(response.status, 'poll');
736
932
  if (this.stopped || this.reconciler.isTerminated)
@@ -753,6 +949,13 @@ class ResilientSubscriptionImpl {
753
949
  }
754
950
  this.pollFailures = 0;
755
951
  this.authCredit = 'available';
952
+ if (this.isSupersededByStream(streamDeliveriesAtRequest)) {
953
+ // Asked again rather than dropped: this may be the poll repairing an
954
+ // outage, and a fresh one reads a state at least as new as the event.
955
+ this.diagnostics.onStaleSnapshot?.();
956
+ this.pollQueued = true;
957
+ return;
958
+ }
756
959
  const outcome = this.reconciler.handleSnapshot(response.body);
757
960
  if (outcome.stale) {
758
961
  this.diagnostics.onStaleSnapshot?.();
@@ -803,6 +1006,25 @@ class ResilientSubscriptionImpl {
803
1006
  }
804
1007
  }
805
1008
  }
1009
+ /**
1010
+ * Whether a versionless snapshot was overtaken by the stream while it was
1011
+ * in flight. Its body may predate the pushed event, and with no version to
1012
+ * compare, delivering it would overwrite newer news with older.
1013
+ */
1014
+ isSupersededByStream(streamDeliveriesAtRequest) {
1015
+ if (this.binding.config.version !== 'none')
1016
+ return false;
1017
+ if (this.streamDeliveries === streamDeliveriesAtRequest) {
1018
+ this.supersededPolls = 0;
1019
+ return false;
1020
+ }
1021
+ if (this.supersededPolls >= MAX_SUPERSEDED_POLLS) {
1022
+ this.supersededPolls = 0;
1023
+ return false;
1024
+ }
1025
+ this.supersededPolls += 1;
1026
+ return true;
1027
+ }
806
1028
  /**
807
1029
  * Offer an auth refusal to the application once, so an expired token can be
808
1030
  * refreshed instead of killing the subscription.
@@ -1021,6 +1243,7 @@ export function createResilientSubscription(binding, options) {
1021
1243
  return impl.streamAbandoned;
1022
1244
  },
1023
1245
  onStatusChange: (listener) => impl.onStatusChange(listener),
1246
+ onStreamEstablished: (listener) => impl.onStreamEstablished(listener),
1024
1247
  get result() {
1025
1248
  return impl.result;
1026
1249
  },
@@ -1 +1 @@
1
- {"version":3,"file":"subscription.js","sourceRoot":"","sources":["../src/subscription.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscription.js","sourceRoot":"","sources":["../src/subscription.ts"],"names":[],"mappings":"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"}
@@ -155,9 +155,13 @@ export declare class TestTransport implements FallbackTransport {
155
155
  readonly streamConnects: TransportRequest[];
156
156
  /** Whether each denied connect's request was aborted by the core. */
157
157
  readonly deniedConnectAborts: boolean[];
158
- /** Queue a denial for the next stream connect (non-200 status or network error). */
158
+ /**
159
+ * Queue a denial for the next stream connect: a status (with the headers it
160
+ * answers with, a 200 carrying the wrong content-type included) or a network error.
161
+ */
159
162
  denyNextStreamConnect(denial: {
160
163
  status?: number;
164
+ headers?: Record<string, string>;
161
165
  error?: Error;
162
166
  }): void;
163
167
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
package/dist/transport.js CHANGED
@@ -32,7 +32,10 @@ export class TestTransport {
32
32
  streamConnects = [];
33
33
  /** Whether each denied connect's request was aborted by the core. */
34
34
  deniedConnectAborts = [];
35
- /** Queue a denial for the next stream connect (non-200 status or network error). */
35
+ /**
36
+ * Queue a denial for the next stream connect: a status (with the headers it
37
+ * answers with, a 200 carrying the wrong content-type included) or a network error.
38
+ */
36
39
  denyNextStreamConnect(denial) {
37
40
  this.connectDenials.push(denial);
38
41
  }
@@ -87,7 +90,7 @@ export class TestTransport {
87
90
  }, { once: true });
88
91
  return Promise.resolve({
89
92
  status: denial.status,
90
- headers: {},
93
+ headers: denial.headers ?? {},
91
94
  chunks: emptyChunks(),
92
95
  });
93
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opinionated-machine/sse-fallback",
3
- "version": "0.2.0",
3
+ "version": "1.0.0",
4
4
  "description": "Browser-safe SSE client core with transparent polling fallback for opinionated-machine dual-mode contracts",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -26,7 +26,7 @@
26
26
  "@opinionated-machine/sse-parser": "0.1.0"
27
27
  },
28
28
  "peerDependencies": {
29
- "@lokalise/api-contracts": ">=8.0.0",
29
+ "@lokalise/api-contracts": ">=9.0.0",
30
30
  "zod": ">=4.0.0"
31
31
  },
32
32
  "peerDependenciesMeta": {
@@ -39,7 +39,7 @@
39
39
  },
40
40
  "devDependencies": {
41
41
  "@biomejs/biome": "2.4.4",
42
- "@lokalise/api-contracts": "^8.0.1",
42
+ "@lokalise/api-contracts": "^9.0.0",
43
43
  "@lokalise/biome-config": "^3.1.1",
44
44
  "@lokalise/tsconfig": "^3.1.0",
45
45
  "rimraf": "^6.1.2",