@nebulr-group/bridge-auth-core 0.6.1 → 0.7.0-beta.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/dist/flags/index.d.ts +2 -2
- package/dist/flags/index.d.ts.map +1 -1
- package/dist/flags/index.js +1 -1
- package/dist/flags/index.js.map +1 -1
- package/dist/flags/realtime.d.ts +181 -3
- package/dist/flags/realtime.d.ts.map +1 -1
- package/dist/flags/realtime.js +757 -41
- package/dist/flags/realtime.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/flags/index.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export { BridgePullCache } from './runtime-mode.js';
|
|
|
14
14
|
export type { BridgeRuntimeMode, PullCacheOptions } from './runtime-mode.js';
|
|
15
15
|
export { TelemetryBatcher } from './telemetry.js';
|
|
16
16
|
export type { TelemetryBatcherConfig } from './telemetry.js';
|
|
17
|
-
export { RealtimeClient } from './realtime.js';
|
|
18
|
-
export type { RealtimeClientConfig, RealtimeMessage, FlagUpdateMessage, FlagRemovedMessage, UserStateMessage, SubscriptionPlanChangedMessage, BillingLifecycleMessage, QuotaUpdatedMessage, EntitlementsChangedMessage, SessionSnapshotMessage, ConnectionState, FlagChange, WebSocketLike, } from './realtime.js';
|
|
17
|
+
export { RealtimeClient, REALTIME_DOCS_BASE_URL, REALTIME_ANONYMOUS_TOKEN } from './realtime.js';
|
|
18
|
+
export type { RealtimeClientConfig, RealtimeStatus, RealtimeMessage, FlagUpdateMessage, FlagRemovedMessage, UserStateMessage, SubscriptionPlanChangedMessage, BillingLifecycleMessage, QuotaUpdatedMessage, EntitlementsChangedMessage, SessionSnapshotMessage, ConnectionState, FlagChange, WebSocketLike, } from './realtime.js';
|
|
19
19
|
export { BRIDGE_CONTEXT_HEADER, serializeContext, deserializeContext, serverInstanceId, } from './propagation.js';
|
|
20
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/flags/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,uBAAuB,EACvB,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,QAAQ,EACR,aAAa,EACb,SAAS,EACT,cAAc,EACd,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,MAAM,EACN,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,MAAM,EACN,IAAI,EACJ,SAAS,EACT,WAAW,EACX,UAAU,EACV,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,YAAY,EACV,UAAU,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,qBAAqB,GACtB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,mBAAmB,GACpB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,qBAAqB,EACrB,eAAe,GAChB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,UAAU,IAAI,oBAAoB,GACnC,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAG7D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/flags/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,uBAAuB,EACvB,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,QAAQ,EACR,aAAa,EACb,SAAS,EACT,cAAc,EACd,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,MAAM,EACN,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,MAAM,EACN,IAAI,EACJ,SAAS,EACT,WAAW,EACX,UAAU,EACV,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,YAAY,EACV,UAAU,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,qBAAqB,GACtB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,mBAAmB,GACpB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,qBAAqB,EACrB,eAAe,GAChB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,UAAU,IAAI,oBAAoB,GACnC,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAG7D,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACjG,YAAY,EACV,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,8BAA8B,EAC9B,uBAAuB,EACvB,mBAAmB,EACnB,0BAA0B,EAC1B,sBAAsB,EACtB,eAAe,EACf,UAAU,EACV,aAAa,GACd,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC"}
|
package/dist/flags/index.js
CHANGED
|
@@ -15,7 +15,7 @@ export { BridgePullCache } from './runtime-mode.js';
|
|
|
15
15
|
// SDK telemetry batcher (TBP-157)
|
|
16
16
|
export { TelemetryBatcher } from './telemetry.js';
|
|
17
17
|
// SDK realtime client (TBP-150)
|
|
18
|
-
export { RealtimeClient } from './realtime.js';
|
|
18
|
+
export { RealtimeClient, REALTIME_DOCS_BASE_URL, REALTIME_ANONYMOUS_TOKEN } from './realtime.js';
|
|
19
19
|
// FE → BE context propagation (TBP-171) + server-instance ID (TBP-172)
|
|
20
20
|
export { BRIDGE_CONTEXT_HEADER, serializeContext, deserializeContext, serverInstanceId, } from './propagation.js';
|
|
21
21
|
//# sourceMappingURL=index.js.map
|
package/dist/flags/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/flags/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,uBAAuB,EACvB,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAUxB,iDAAiD;AACjD,OAAO,EACL,MAAM,EACN,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAWxB,mEAAmE;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAcxC,yDAAyD;AACzD,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAMvB,2CAA2C;AAC3C,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAUlC,wEAAwE;AACxE,uDAAuD;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAOnE,2EAA2E;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,kCAAkC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGlD,gCAAgC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/flags/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,uBAAuB,EACvB,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAUxB,iDAAiD;AACjD,OAAO,EACL,MAAM,EACN,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAWxB,mEAAmE;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAcxC,yDAAyD;AACzD,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAMvB,2CAA2C;AAC3C,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAUlC,wEAAwE;AACxE,uDAAuD;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAOnE,2EAA2E;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,kCAAkC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGlD,gCAAgC;AAChC,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAkBjG,uEAAuE;AACvE,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC"}
|
package/dist/flags/realtime.d.ts
CHANGED
|
@@ -32,6 +32,35 @@ export interface RealtimeClientConfig {
|
|
|
32
32
|
* Falls back to apiKey when this is undefined or returns undefined.
|
|
33
33
|
*/
|
|
34
34
|
getAuthToken?: () => string | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* The host SDK's token refresh (TBP-643). Called at most once per refused
|
|
37
|
+
* connection episode; must resolve to the NEW access token (or undefined if
|
|
38
|
+
* the session could not be refreshed). The client reconnects immediately
|
|
39
|
+
* with the returned token instead of waiting out the backoff.
|
|
40
|
+
*
|
|
41
|
+
* Without it, a refused session is diagnosed and parked in `'unauthorized'`
|
|
42
|
+
* until `reauthorize()` is called or the token changes.
|
|
43
|
+
*/
|
|
44
|
+
refreshAuthToken?: () => Promise<string | undefined>;
|
|
45
|
+
/**
|
|
46
|
+
* When a refusal can't be explained client-side, ask Bridge why — once per
|
|
47
|
+
* episode — via `POST <apiBaseUrl>/realtime/diagnose`. Default true.
|
|
48
|
+
*/
|
|
49
|
+
diagnose?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Base URL of the realtime error docs; each reason is an anchor on it.
|
|
52
|
+
* Default {@link REALTIME_DOCS_BASE_URL}.
|
|
53
|
+
*/
|
|
54
|
+
docsBaseUrl?: string;
|
|
55
|
+
/**
|
|
56
|
+
* Tell Bridge how this app's realtime connection is doing, so the admin UI
|
|
57
|
+
* can show per-app live-update health (TBP-645). Fire-and-forget
|
|
58
|
+
* `POST <apiBaseUrl>/account/auth/realtime-status` with `x-app-id`, sent
|
|
59
|
+
* when the connection opens (at most once per 10 minutes) and once per
|
|
60
|
+
* refused/degraded episode. Never awaited, never throws, carries no token.
|
|
61
|
+
* Default true; set false to opt out.
|
|
62
|
+
*/
|
|
63
|
+
reportStatus?: boolean;
|
|
35
64
|
/**
|
|
36
65
|
* Optional logger. Defaults to a non-debug logger, which still emits
|
|
37
66
|
* `error` — deliberate: a rejected subscription means realtime is silently
|
|
@@ -39,6 +68,36 @@ export interface RealtimeClientConfig {
|
|
|
39
68
|
*/
|
|
40
69
|
logger?: Logger;
|
|
41
70
|
}
|
|
71
|
+
export declare const REALTIME_DOCS_BASE_URL = "https://thebridge.dev/docs/live-updates/troubleshooting/";
|
|
72
|
+
/**
|
|
73
|
+
* The AppSync `Authorization` value a signed-out session presents. Must be
|
|
74
|
+
* non-empty (AppSync rejects '' before the authorizer runs) and must match
|
|
75
|
+
* what the bridge-api authorizer recognises as "no token" byte for byte.
|
|
76
|
+
*/
|
|
77
|
+
export declare const REALTIME_ANONYMOUS_TOKEN = "anonymous";
|
|
78
|
+
/**
|
|
79
|
+
* What the realtime connection is doing right now, and — when it is not
|
|
80
|
+
* working — why, whose move it is (`side`), and whether it is still trying.
|
|
81
|
+
*
|
|
82
|
+
* `side` exists because the same symptom ("no live updates") has owners who
|
|
83
|
+
* need opposite actions: `app` = the host app's session/token handling,
|
|
84
|
+
* `config` = the app's Bridge settings disagree with the session, `bridge` =
|
|
85
|
+
* Bridge refused a token that checks out (nothing to change in the app),
|
|
86
|
+
* `network` = transient transport trouble the client is retrying through.
|
|
87
|
+
*/
|
|
88
|
+
export interface RealtimeStatus {
|
|
89
|
+
state: ConnectionState;
|
|
90
|
+
/** Machine-readable reason, also the anchor on `docsUrl`. */
|
|
91
|
+
reason?: string;
|
|
92
|
+
side?: 'app' | 'bridge' | 'config' | 'network';
|
|
93
|
+
/** True while the client will keep trying on its own. */
|
|
94
|
+
retrying: boolean;
|
|
95
|
+
docsUrl?: string;
|
|
96
|
+
/** Per-episode correlation id — also sent to Bridge as `x-bridge-realtime-ref`. */
|
|
97
|
+
ref?: string;
|
|
98
|
+
/** `Date.now()` at the last state/reason change. */
|
|
99
|
+
since: number;
|
|
100
|
+
}
|
|
42
101
|
/** Minimal WebSocket surface the client uses. */
|
|
43
102
|
export interface WebSocketLike {
|
|
44
103
|
readyState: number;
|
|
@@ -215,7 +274,7 @@ export interface FlagChange {
|
|
|
215
274
|
* Before this state existed such a connection reported `open`, which is how a
|
|
216
275
|
* dead realtime transport passed for healthy in production for months.
|
|
217
276
|
*/
|
|
218
|
-
export type ConnectionState = 'idle' | 'connecting' | 'open' | 'degraded' | 'closed';
|
|
277
|
+
export type ConnectionState = 'idle' | 'connecting' | 'open' | 'degraded' | 'closed' | 'unauthorized';
|
|
219
278
|
export declare class RealtimeClient {
|
|
220
279
|
private readonly cfg;
|
|
221
280
|
private ws?;
|
|
@@ -247,7 +306,45 @@ export declare class RealtimeClient {
|
|
|
247
306
|
private ackedChannels;
|
|
248
307
|
private failedChannels;
|
|
249
308
|
private subscribeAckTimer?;
|
|
309
|
+
private status;
|
|
310
|
+
private onStatusChangeHook?;
|
|
311
|
+
/** The current run of trouble, if any — see FaultEpisode. */
|
|
312
|
+
private episode?;
|
|
313
|
+
/** Set while parked in 'unauthorized'. */
|
|
314
|
+
private refusal?;
|
|
315
|
+
/**
|
|
316
|
+
* token|reason|side of the last refusal we logged. A resume (tab refocus,
|
|
317
|
+
* `online`) that ends in the identical refusal is the same news — it goes
|
|
318
|
+
* to debug, not another console error.
|
|
319
|
+
*/
|
|
320
|
+
private lastRefusalKey?;
|
|
321
|
+
/**
|
|
322
|
+
* Token handed back by `refreshAuthToken`, used while the host's
|
|
323
|
+
* `getAuthToken()` still returns the token it replaced (`staleToken`). Hosts
|
|
324
|
+
* may not have updated their store by the time the refresh resolves.
|
|
325
|
+
*/
|
|
326
|
+
private freshToken?;
|
|
327
|
+
private staleToken?;
|
|
328
|
+
/** A socket we closed on purpose (setUserId & co.) — its close is not a fault. */
|
|
329
|
+
private expectedCloseWs?;
|
|
330
|
+
private resumeListenersInstalled;
|
|
331
|
+
/** Runs only while parked — see startParkedTokenCheck. */
|
|
332
|
+
private parkedTokenTimer?;
|
|
333
|
+
/** `Date.now()` of the last 'open' report — see STATUS_REPORT_OPEN_INTERVAL_MS. */
|
|
334
|
+
private lastOpenReportAt?;
|
|
250
335
|
constructor(cfg: RealtimeClientConfig);
|
|
336
|
+
/**
|
|
337
|
+
* Current connection status with the reason, whose side a fault is on, and
|
|
338
|
+
* whether the client is still retrying (TBP-643). `getState()` is the same
|
|
339
|
+
* `state` without the explanation.
|
|
340
|
+
*/
|
|
341
|
+
getStatus(): RealtimeStatus;
|
|
342
|
+
/**
|
|
343
|
+
* Register a hook fired on every status change (state, reason, side or
|
|
344
|
+
* retrying). Use it to drive a "live updates off" indicator. Hook errors are
|
|
345
|
+
* swallowed, like every other hook here.
|
|
346
|
+
*/
|
|
347
|
+
setOnStatusChange(hook: (status: RealtimeStatus) => void): void;
|
|
251
348
|
/** Attach to a BridgeFlags instance — flag updates auto-apply to its cache. */
|
|
252
349
|
attach(bridge: BridgeFlags): void;
|
|
253
350
|
/** Register a hook for per-user channel messages. */
|
|
@@ -406,8 +503,10 @@ export declare class RealtimeClient {
|
|
|
406
503
|
* `appsync-events.adapter.ts:87` and `appsync-authorizer.handler.ts:59`).
|
|
407
504
|
*
|
|
408
505
|
* Anonymous flow: `getAuthToken()` returns undefined → Authorization sent as
|
|
409
|
-
*
|
|
410
|
-
*
|
|
506
|
+
* the marker `REALTIME_ANONYMOUS_TOKEN` (see buildAppSyncAuthHeader for why
|
|
507
|
+
* it can't be empty). The Lambda authorizer treats exactly that value as "no
|
|
508
|
+
* token": CONNECT allowed, `app:<appId>` channels origin-checked against the
|
|
509
|
+
* app's allowedOrigins, everything else denied `no_token`.
|
|
411
510
|
*/
|
|
412
511
|
private openAppSyncWebSocket;
|
|
413
512
|
private resetSubscribeTracking;
|
|
@@ -424,6 +523,85 @@ export declare class RealtimeClient {
|
|
|
424
523
|
private emitFlagChange;
|
|
425
524
|
private handleMessage;
|
|
426
525
|
private scheduleReconnect;
|
|
526
|
+
private fireReconnect;
|
|
527
|
+
private setState;
|
|
528
|
+
private publishStatus;
|
|
529
|
+
private statusDetail;
|
|
530
|
+
/** The token to present — see `freshToken`. */
|
|
531
|
+
private currentToken;
|
|
532
|
+
/** The transport is usable. Closes any episode, logging recovery if we logged the fault. */
|
|
533
|
+
private markOpen;
|
|
534
|
+
/** Called from onclose of the CURRENT socket: an unplanned close starts a transient episode. */
|
|
535
|
+
private noteClose;
|
|
536
|
+
/**
|
|
537
|
+
* Open a transient episode if none is running, and log its start ONCE.
|
|
538
|
+
* Server-reported errors log at `error` (they used to, and they are real
|
|
539
|
+
* faults); plain drops and fetch failures log at `warn` — sleep/wake and
|
|
540
|
+
* wifi changes cause them constantly and they fix themselves, so they must
|
|
541
|
+
* not paint every end-user console red.
|
|
542
|
+
*/
|
|
543
|
+
private beginTransient;
|
|
544
|
+
/** Drop a socket without letting its onclose schedule a reconnect. */
|
|
545
|
+
private detachSocket;
|
|
546
|
+
/**
|
|
547
|
+
* Bridge refused `token` (TBP-643). Policy, in order:
|
|
548
|
+
* a. client-side pre-checks on the token — cheap, and they name the fix;
|
|
549
|
+
* b. one host refresh + an immediate reconnect, if the host gave us a hook;
|
|
550
|
+
* c. if still refused and the pre-checks found nothing, ask Bridge once;
|
|
551
|
+
* d. park in 'unauthorized', stop reconnecting, log ONE message.
|
|
552
|
+
* Resumes on reauthorize(), a changed token on start(), `online`, or the
|
|
553
|
+
* tab becoming visible.
|
|
554
|
+
*/
|
|
555
|
+
private handleAuthRefusal;
|
|
556
|
+
/** Explain a refusal from the token alone. Decodes without verifying — this is diagnosis, not auth. */
|
|
557
|
+
private precheckToken;
|
|
558
|
+
/**
|
|
559
|
+
* Ask Bridge why it refused (contract: `POST /realtime/diagnose` →
|
|
560
|
+
* `{ ok, reason, side }`, sharing the authorizer's classifier). The endpoint
|
|
561
|
+
* may not exist yet — any failure returns undefined and the caller falls
|
|
562
|
+
* back to 'refused'.
|
|
563
|
+
*/
|
|
564
|
+
private diagnoseRefusal;
|
|
565
|
+
private enterUnauthorized;
|
|
566
|
+
/**
|
|
567
|
+
* TBP-645 — fire-and-forget health report. Returns whether a report was
|
|
568
|
+
* dispatched (false when opted out, or there is no appId to attribute it
|
|
569
|
+
* to). Never awaited by the caller and never throws: this runs on the
|
|
570
|
+
* connect path, and telemetry must not be able to hurt the connection. The
|
|
571
|
+
* endpoint may not exist yet — every response, 404 included, is ignored.
|
|
572
|
+
*/
|
|
573
|
+
private sendStatusReport;
|
|
574
|
+
private postStatusReport;
|
|
575
|
+
private clearRefusal;
|
|
576
|
+
/**
|
|
577
|
+
* A parked client must resume when the host's token changes — most
|
|
578
|
+
* importantly when a signed-out session signs in (undefined → token).
|
|
579
|
+
* Framework SDKs only call reauthorize() when one token REPLACES another
|
|
580
|
+
* (TBP-644 fixes that), so auth-core can't rely on being told.
|
|
581
|
+
*
|
|
582
|
+
* Chosen over a `notifyAuthTokenChanged()` API because it needs no host
|
|
583
|
+
* change — the missing host call is the bug. It is cheap and bounded: it
|
|
584
|
+
* runs only while parked, calls the synchronous `getAuthToken()` getter (no
|
|
585
|
+
* network), and resumes only on a token DIFFERENT from the refused one, so
|
|
586
|
+
* an unchanged session can never turn it into a reconnect loop.
|
|
587
|
+
*/
|
|
588
|
+
private startParkedTokenCheck;
|
|
589
|
+
/**
|
|
590
|
+
* The one message a developer gets per refused episode. Product terms, whose
|
|
591
|
+
* side it is, what still works, one next step, a docs link and a ref.
|
|
592
|
+
*/
|
|
593
|
+
private formatRefusal;
|
|
594
|
+
private readonly onOnline;
|
|
595
|
+
private readonly onVisibilityChange;
|
|
596
|
+
private installResumeListeners;
|
|
597
|
+
private removeResumeListeners;
|
|
598
|
+
/**
|
|
599
|
+
* The network came back or the user returned to the tab: the conditions
|
|
600
|
+
* behind a refusal may have changed (host refreshed the session, clock
|
|
601
|
+
* caught up), so a parked client gets one new episode; a client waiting out
|
|
602
|
+
* a backoff tries now instead.
|
|
603
|
+
*/
|
|
604
|
+
private nudge;
|
|
427
605
|
}
|
|
428
606
|
/**
|
|
429
607
|
* Translate internal channel name (`<ns>:<id>`) to the AppSync wire form
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../src/flags/realtime.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../../src/flags/realtime.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,WAAW,oBAAoB;IACnC,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6FAA6F;IAC7F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0EAA0E;IAC1E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,aAAa,CAAC;IACjF,0DAA0D;IAC1D,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACxC;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACrD;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAKD,eAAO,MAAM,sBAAsB,6DAA6D,CAAC;AAEjG;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,cAAc,CAAC;AAEpD;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,eAAe,CAAC;IACvB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC/C,yDAAyD;IACzD,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,iDAAiD;AACjD,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACpC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACpC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;QAAE,IAAI,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CACjD;AAeD,8DAA8D;AAC9D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,4BAA4B;AAC5B,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,cAAc,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wEAAwE;AACxE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,MAAM,EAAE,mBAAmB,GAAG,oBAAoB,GAAG,cAAc,GAAG,MAAM,CAAC;CAC9E;AAED;;;;GAIG;AACH,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,2BAA2B,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACvB,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EACA,gBAAgB,GAChB,mBAAmB,GACnB,sBAAsB,GACtB,sBAAsB,GACtB,uBAAuB,GACvB,0BAA0B,GAC1B,4BAA4B,GAC5B,gCAAgC,GAChC,8BAA8B,GAC9B,4BAA4B,GAC5B,iBAAiB,GACjB,yBAAyB,GACzB,mBAAmB,GACnB,mBAAmB,GACnB,sBAAsB,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IAEpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,YAAY,EAAE,IAAI,GAAG,aAAa,GAAG,UAAU,CAAC;IAChD;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE;QACJ,GAAG,EAAE;YACH,QAAQ,EAAE;gBACR,IAAI,EAAE,MAAM,CAAC;gBACb,IAAI,EAAE,MAAM,CAAC;gBACb,oBAAoB,CAAC,EAAE,MAAM,CAAC;gBAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;gBACnB,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB,UAAU,CAAC,EAAE,MAAM,CAAC;aACrB,CAAC;SACH,CAAC;QACF,MAAM,EAAE;YACN,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,YAAY,EAAE;gBACZ,IAAI,EAAE;oBAAE,IAAI,EAAE,MAAM,CAAC;oBAAC,IAAI,EAAE,MAAM,CAAA;iBAAE,CAAC;gBACrC,MAAM,EAAE,MAAM,CAAC;gBACf,MAAM,CAAC,EAAE,MAAM,CAAC;gBAChB,WAAW,CAAC,EAAE,OAAO,CAAC;aACvB,CAAC;YACF,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACvC,CAAC;QACF,IAAI,EAAE;YACJ,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,IAAI,EAAE,MAAM,CAAC;YACb,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC;KACH,CAAC;CACH;AAED,MAAM,MAAM,eAAe,GACvB,iBAAiB,GACjB,kBAAkB,GAClB,gBAAgB,GAChB,8BAA8B,GAC9B,uBAAuB,GACvB,mBAAmB,GACnB,0BAA0B,GAC1B,sBAAsB,CAAC;AAE3B,8EAA8E;AAC9E,MAAM,WAAW,UAAU;IACzB,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;CAC7B;AAED;;;;;GAKG;AAMH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,cAAc,CAAC;AAqEtG,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAalB;IACF,OAAO,CAAC,EAAE,CAAC,CAAgB;IAC3B,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,cAAc,CAAC,CAAgC;IACvD,OAAO,CAAC,MAAM,CAAC,CAAc;IAC7B,OAAO,CAAC,eAAe,CAAC,CAAkC;IAC1D,OAAO,CAAC,6BAA6B,CAAC,CAAgD;IACtF,OAAO,CAAC,sBAAsB,CAAC,CAAyC;IACxE,OAAO,CAAC,kBAAkB,CAAC,CAAqC;IAChE,OAAO,CAAC,yBAAyB,CAAC,CAA4C;IAG9E,OAAO,CAAC,cAAc,CAAC,CAAwC;IAC/D,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB,CAAC,CAA+B;IACxD,gFAAgF;IAChF,OAAO,CAAC,cAAc,CAAC,CAAa;IACpC,OAAO,CAAC,OAAO,CAAS;IAExB,4EAA4E;IAC5E,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,iBAAiB,CAAC,CAAgC;IAE1D,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,kBAAkB,CAAC,CAAmC;IAC9D,6DAA6D;IAC7D,OAAO,CAAC,OAAO,CAAC,CAAe;IAC/B,0CAA0C;IAC1C,OAAO,CAAC,OAAO,CAAC,CAAU;IAC1B;;;;OAIG;IACH,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC;;;;OAIG;IACH,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,kFAAkF;IAClF,OAAO,CAAC,eAAe,CAAC,CAAgB;IACxC,OAAO,CAAC,wBAAwB,CAAS;IACzC,0DAA0D;IAC1D,OAAO,CAAC,gBAAgB,CAAC,CAAiC;IAC1D,mFAAmF;IACnF,OAAO,CAAC,gBAAgB,CAAC,CAAS;gBAEtB,GAAG,EAAE,oBAAoB;IA6BrC;;;;OAIG;IACH,SAAS,IAAI,cAAc;IAI3B;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,GAAG,IAAI;IAI/D,+EAA+E;IAC/E,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAIjC,qDAAqD;IACrD,cAAc,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,GAAG,IAAI;IAI3D;;;;OAIG;IACH,4BAA4B,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,8BAA8B,KAAK,IAAI,GAAG,IAAI;IAIvF;;;;;OAKG;IACH,qBAAqB,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,uBAAuB,KAAK,IAAI,GAAG,IAAI;IAIzE;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,IAAI,GAAG,IAAI;IAIjE;;;;;;;;;;OAUG;IACH,wBAAwB,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,0BAA0B,KAAK,IAAI,GAAG,IAAI;IAI/E;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,sBAAsB,KAAK,IAAI,GAAG,IAAI;IAIhE;;;;;;OAMG;IACH,eAAe,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAIzD;;;;;OAKG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG,IAAI;IAIrC;;;;;;;;;OASG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG,IAAI;IAIjC;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG,IAAI;IAIlC;;;;;;;;;;;;;;;;OAgBG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAqClC;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAUzC;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IASrD;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAU3C,oCAAoC;IAC9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA6D5B,wCAAwC;IAClC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB3B,6BAA6B;IAC7B,QAAQ,IAAI,eAAe;IAI3B;;;;;;;;OAQG;IACH,mBAAmB,IAAI,MAAM,EAAE;YAUjB,iBAAiB;YAWjB,SAAS;IAmBvB,OAAO,CAAC,aAAa;IAyDrB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,OAAO,CAAC,oBAAoB;IAuM5B,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,sBAAsB;IAO9B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAcpB,yEAAyE;IACzE,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAI3C,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,aAAa;IAwFrB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,YAAY;IAepB,+CAA+C;IAC/C,OAAO,CAAC,YAAY;IAWpB,4FAA4F;IAC5F,OAAO,CAAC,QAAQ;IAsBhB,gGAAgG;IAChG,OAAO,CAAC,SAAS;IAQjB;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAiBtB,sEAAsE;IACtE,OAAO,CAAC,YAAY;IAepB;;;;;;;;OAQG;YACW,iBAAiB;IA0D/B,uGAAuG;IACvG,OAAO,CAAC,aAAa;IAwBrB;;;;;OAKG;YACW,eAAe;IAwC7B,OAAO,CAAC,iBAAiB;IAmBzB;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;YAWV,gBAAgB;IAsC9B,OAAO,CAAC,YAAY;IAQpB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;;OAGG;IACH,OAAO,CAAC,aAAa;IA0DrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IAErD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAGjC;IAEF,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,qBAAqB;IAW7B;;;;;OAKG;IACH,OAAO,CAAC,KAAK;CAcd;AAkOD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7D"}
|