@nebulr-group/bridge-auth-core 0.6.1 → 0.7.0-beta.1

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 (39) hide show
  1. package/dist/bridge-auth.d.ts +13 -0
  2. package/dist/bridge-auth.d.ts.map +1 -1
  3. package/dist/bridge-auth.js +30 -20
  4. package/dist/bridge-auth.js.map +1 -1
  5. package/dist/errors.d.ts +35 -1
  6. package/dist/errors.d.ts.map +1 -1
  7. package/dist/errors.js +53 -2
  8. package/dist/errors.js.map +1 -1
  9. package/dist/flags/index.d.ts +2 -2
  10. package/dist/flags/index.d.ts.map +1 -1
  11. package/dist/flags/index.js +1 -1
  12. package/dist/flags/index.js.map +1 -1
  13. package/dist/flags/realtime.d.ts +205 -3
  14. package/dist/flags/realtime.d.ts.map +1 -1
  15. package/dist/flags/realtime.js +847 -41
  16. package/dist/flags/realtime.js.map +1 -1
  17. package/dist/http.d.ts +2 -0
  18. package/dist/http.d.ts.map +1 -1
  19. package/dist/http.js +32 -1
  20. package/dist/http.js.map +1 -1
  21. package/dist/i18n/messages.d.ts +2 -0
  22. package/dist/i18n/messages.d.ts.map +1 -1
  23. package/dist/i18n/messages.js +12 -0
  24. package/dist/i18n/messages.js.map +1 -1
  25. package/dist/index.d.ts +3 -3
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +2 -2
  28. package/dist/index.js.map +1 -1
  29. package/dist/management/branding.service.d.ts +8 -1
  30. package/dist/management/branding.service.d.ts.map +1 -1
  31. package/dist/management/branding.service.js +8 -1
  32. package/dist/management/branding.service.js.map +1 -1
  33. package/dist/management/workflows.d.ts +38 -4
  34. package/dist/management/workflows.d.ts.map +1 -1
  35. package/dist/management/workflows.js +122 -36
  36. package/dist/management/workflows.js.map +1 -1
  37. package/dist/management-types.d.ts +95 -15
  38. package/dist/management-types.d.ts.map +1 -1
  39. package/package.json +1 -1
@@ -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,42 @@ 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
+ /**
97
+ * One sentence naming the fix, when the client knows it — e.g. for
98
+ * `origin_not_allowed`, the origin and where to add it in Bridge admin
99
+ * (TBP-669).
100
+ */
101
+ hint?: string;
102
+ /** Per-episode correlation id, shown in the console line. Client-side only (TBP-669). */
103
+ ref?: string;
104
+ /** `Date.now()` at the last state/reason change. */
105
+ since: number;
106
+ }
42
107
  /** Minimal WebSocket surface the client uses. */
43
108
  export interface WebSocketLike {
44
109
  readyState: number;
@@ -215,7 +280,7 @@ export interface FlagChange {
215
280
  * Before this state existed such a connection reported `open`, which is how a
216
281
  * dead realtime transport passed for healthy in production for months.
217
282
  */
218
- export type ConnectionState = 'idle' | 'connecting' | 'open' | 'degraded' | 'closed';
283
+ export type ConnectionState = 'idle' | 'connecting' | 'open' | 'degraded' | 'closed' | 'unauthorized';
219
284
  export declare class RealtimeClient {
220
285
  private readonly cfg;
221
286
  private ws?;
@@ -247,7 +312,56 @@ export declare class RealtimeClient {
247
312
  private ackedChannels;
248
313
  private failedChannels;
249
314
  private subscribeAckTimer?;
315
+ private status;
316
+ private onStatusChangeHook?;
317
+ /** The current run of trouble, if any — see FaultEpisode. */
318
+ private episode?;
319
+ /** Set while parked in 'unauthorized'. */
320
+ private refusal?;
321
+ /**
322
+ * token|reason|side of the last refusal we logged. A resume (tab refocus,
323
+ * `online`) that ends in the identical refusal is the same news — it goes
324
+ * to debug, not another console error.
325
+ */
326
+ private lastRefusalKey?;
327
+ /**
328
+ * TBP-669 — Bridge's verdict on a channel refused at SUBSCRIBE on the
329
+ * current connection. AppSync accepts the CONNECT and refuses the channel
330
+ * with a bare "not authorized"; the reason (e.g. the page's origin is not
331
+ * in the app's allowed origins) only comes from `/realtime/diagnose`.
332
+ */
333
+ private channelRefusal?;
334
+ /** Channels already sent to diagnose on the current connection. */
335
+ private diagnosedChannels;
336
+ /** channel|reason|side of the last channel refusal logged — same dedupe as lastRefusalKey. */
337
+ private lastChannelRefusalKey?;
338
+ /**
339
+ * Token handed back by `refreshAuthToken`, used while the host's
340
+ * `getAuthToken()` still returns the token it replaced (`staleToken`). Hosts
341
+ * may not have updated their store by the time the refresh resolves.
342
+ */
343
+ private freshToken?;
344
+ private staleToken?;
345
+ /** A socket we closed on purpose (setUserId & co.) — its close is not a fault. */
346
+ private expectedCloseWs?;
347
+ private resumeListenersInstalled;
348
+ /** Runs only while parked — see startParkedTokenCheck. */
349
+ private parkedTokenTimer?;
350
+ /** `Date.now()` of the last 'open' report — see STATUS_REPORT_OPEN_INTERVAL_MS. */
351
+ private lastOpenReportAt?;
250
352
  constructor(cfg: RealtimeClientConfig);
353
+ /**
354
+ * Current connection status with the reason, whose side a fault is on, and
355
+ * whether the client is still retrying (TBP-643). `getState()` is the same
356
+ * `state` without the explanation.
357
+ */
358
+ getStatus(): RealtimeStatus;
359
+ /**
360
+ * Register a hook fired on every status change (state, reason, side or
361
+ * retrying). Use it to drive a "live updates off" indicator. Hook errors are
362
+ * swallowed, like every other hook here.
363
+ */
364
+ setOnStatusChange(hook: (status: RealtimeStatus) => void): void;
251
365
  /** Attach to a BridgeFlags instance — flag updates auto-apply to its cache. */
252
366
  attach(bridge: BridgeFlags): void;
253
367
  /** Register a hook for per-user channel messages. */
@@ -406,11 +520,20 @@ export declare class RealtimeClient {
406
520
  * `appsync-events.adapter.ts:87` and `appsync-authorizer.handler.ts:59`).
407
521
  *
408
522
  * Anonymous flow: `getAuthToken()` returns undefined → Authorization sent as
409
- * empty string. The Lambda authorizer accepts that only for `app:<appId>`
410
- * channels whose origin matches the app's allowedOrigins (demo path).
523
+ * the marker `REALTIME_ANONYMOUS_TOKEN` (see buildAppSyncAuthHeader for why
524
+ * it can't be empty). The Lambda authorizer treats exactly that value as "no
525
+ * token": CONNECT allowed, `app:<appId>` channels origin-checked against the
526
+ * app's allowedOrigins, everything else denied `no_token`.
411
527
  */
412
528
  private openAppSyncWebSocket;
413
529
  private resetSubscribeTracking;
530
+ /**
531
+ * TBP-669 — explain a channel AppSync refused at SUBSCRIBE. The connection
532
+ * stays up (see `subscribe_error`); this only attaches Bridge's reason to
533
+ * the status and logs it once, with the fix when the client knows it.
534
+ */
535
+ private diagnoseChannelRefusal;
536
+ private formatChannelRefusal;
414
537
  private clearSubscribeAckTimer;
415
538
  /**
416
539
  * Connected, handshaken, and subscribed to nothing. Deliberately does NOT
@@ -424,6 +547,85 @@ export declare class RealtimeClient {
424
547
  private emitFlagChange;
425
548
  private handleMessage;
426
549
  private scheduleReconnect;
550
+ private fireReconnect;
551
+ private setState;
552
+ private publishStatus;
553
+ private statusDetail;
554
+ /** The token to present — see `freshToken`. */
555
+ private currentToken;
556
+ /** The transport is usable. Closes any episode, logging recovery if we logged the fault. */
557
+ private markOpen;
558
+ /** Called from onclose of the CURRENT socket: an unplanned close starts a transient episode. */
559
+ private noteClose;
560
+ /**
561
+ * Open a transient episode if none is running, and log its start ONCE.
562
+ * Server-reported errors log at `error` (they used to, and they are real
563
+ * faults); plain drops and fetch failures log at `warn` — sleep/wake and
564
+ * wifi changes cause them constantly and they fix themselves, so they must
565
+ * not paint every end-user console red.
566
+ */
567
+ private beginTransient;
568
+ /** Drop a socket without letting its onclose schedule a reconnect. */
569
+ private detachSocket;
570
+ /**
571
+ * Bridge refused `token` (TBP-643). Policy, in order:
572
+ * a. client-side pre-checks on the token — cheap, and they name the fix;
573
+ * b. one host refresh + an immediate reconnect, if the host gave us a hook;
574
+ * c. if still refused and the pre-checks found nothing, ask Bridge once;
575
+ * d. park in 'unauthorized', stop reconnecting, log ONE message.
576
+ * Resumes on reauthorize(), a changed token on start(), `online`, or the
577
+ * tab becoming visible.
578
+ */
579
+ private handleAuthRefusal;
580
+ /** Explain a refusal from the token alone. Decodes without verifying — this is diagnosis, not auth. */
581
+ private precheckToken;
582
+ /**
583
+ * Ask Bridge why it refused (contract: `POST /realtime/diagnose` →
584
+ * `{ ok, reason, side }`, sharing the authorizer's classifier). The endpoint
585
+ * may not exist yet — any failure returns undefined and the caller falls
586
+ * back to 'refused'.
587
+ */
588
+ private diagnoseRefusal;
589
+ private enterUnauthorized;
590
+ /**
591
+ * TBP-645 — fire-and-forget health report. Returns whether a report was
592
+ * dispatched (false when opted out, or there is no appId to attribute it
593
+ * to). Never awaited by the caller and never throws: this runs on the
594
+ * connect path, and telemetry must not be able to hurt the connection. The
595
+ * endpoint may not exist yet — every response, 404 included, is ignored.
596
+ */
597
+ private sendStatusReport;
598
+ private postStatusReport;
599
+ private clearRefusal;
600
+ /**
601
+ * A parked client must resume when the host's token changes — most
602
+ * importantly when a signed-out session signs in (undefined → token).
603
+ * Framework SDKs only call reauthorize() when one token REPLACES another
604
+ * (TBP-644 fixes that), so auth-core can't rely on being told.
605
+ *
606
+ * Chosen over a `notifyAuthTokenChanged()` API because it needs no host
607
+ * change — the missing host call is the bug. It is cheap and bounded: it
608
+ * runs only while parked, calls the synchronous `getAuthToken()` getter (no
609
+ * network), and resumes only on a token DIFFERENT from the refused one, so
610
+ * an unchanged session can never turn it into a reconnect loop.
611
+ */
612
+ private startParkedTokenCheck;
613
+ /**
614
+ * The one message a developer gets per refused episode. Product terms, whose
615
+ * side it is, what still works, one next step, a docs link and a ref.
616
+ */
617
+ private formatRefusal;
618
+ private readonly onOnline;
619
+ private readonly onVisibilityChange;
620
+ private installResumeListeners;
621
+ private removeResumeListeners;
622
+ /**
623
+ * The network came back or the user returned to the tab: the conditions
624
+ * behind a refusal may have changed (host refreshed the session, clock
625
+ * caught up), so a parked client gets one new episode; a client waiting out
626
+ * a backoff tries now instead.
627
+ */
628
+ private nudge;
427
629
  }
428
630
  /**
429
631
  * 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":"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"}