@nebulr-group/bridge-auth-core 0.4.2 → 0.4.4
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/bridge-auth.d.ts +6 -0
- package/dist/bridge-auth.d.ts.map +1 -1
- package/dist/bridge-auth.js +8 -0
- package/dist/bridge-auth.js.map +1 -1
- package/dist/feature-flag-service.d.ts +15 -0
- package/dist/feature-flag-service.d.ts.map +1 -1
- package/dist/feature-flag-service.js +17 -0
- package/dist/feature-flag-service.js.map +1 -1
- package/dist/flags/appsync-channel-vectors.d.ts +15 -0
- package/dist/flags/appsync-channel-vectors.d.ts.map +1 -0
- package/dist/flags/appsync-channel-vectors.js +30 -0
- package/dist/flags/appsync-channel-vectors.js.map +1 -0
- package/dist/flags/index.d.ts +1 -1
- package/dist/flags/index.d.ts.map +1 -1
- package/dist/flags/index.js.map +1 -1
- package/dist/flags/realtime.d.ts +84 -1
- package/dist/flags/realtime.d.ts.map +1 -1
- package/dist/flags/realtime.js +206 -25
- 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.map +1 -1
- package/dist/management/event.service.d.ts +13 -0
- package/dist/management/event.service.d.ts.map +1 -1
- package/dist/management/event.service.js +54 -8
- package/dist/management/event.service.js.map +1 -1
- package/dist/management/role.service.d.ts +11 -1
- package/dist/management/role.service.d.ts.map +1 -1
- package/dist/management/role.service.js +25 -0
- package/dist/management/role.service.js.map +1 -1
- package/dist/management-types.d.ts +8 -0
- package/dist/management-types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/flags/realtime.js
CHANGED
|
@@ -18,6 +18,9 @@
|
|
|
18
18
|
// Messages received on the workspace channel update the BridgeFlags cache
|
|
19
19
|
// (`upsert` / `remove`). Per-user channel messages are handled via callbacks
|
|
20
20
|
// the framework SDK supplies (token refresh, attribute changes — see TBP-90).
|
|
21
|
+
import { createLogger } from '../logger.js';
|
|
22
|
+
/** How long to wait for a subscribe ack before declaring the connection deaf. */
|
|
23
|
+
const SUBSCRIBE_ACK_TIMEOUT_MS = 10_000;
|
|
21
24
|
export class RealtimeClient {
|
|
22
25
|
cfg;
|
|
23
26
|
ws;
|
|
@@ -35,7 +38,23 @@ export class RealtimeClient {
|
|
|
35
38
|
onSnapshotHook;
|
|
36
39
|
onOpenHook;
|
|
37
40
|
onCloseHook;
|
|
41
|
+
/**
|
|
42
|
+
* TBP-575 — fires whenever a flag mutation arrives on the wire, regardless
|
|
43
|
+
* of which cache consumes it. Route guards read a *different* cache
|
|
44
|
+
* (`FeatureFlagService`) than `<FeatureFlag>` does (`BridgeFlags`), and
|
|
45
|
+
* nothing used to tell that second cache the world had changed. This hook is
|
|
46
|
+
* how the framework SDK invalidates it and re-evaluates the current route.
|
|
47
|
+
*/
|
|
48
|
+
onFlagChangeHook;
|
|
49
|
+
/** Fires when the connection is up but no channel subscription was accepted. */
|
|
50
|
+
onDegradedHook;
|
|
38
51
|
stopped = false;
|
|
52
|
+
// ── AppSync subscribe bookkeeping (TBP-575) ──────────────────────────────
|
|
53
|
+
/** Subscription id → internal channel name, for correlating server acks. */
|
|
54
|
+
pendingSubscribes = new Map();
|
|
55
|
+
ackedChannels = new Set();
|
|
56
|
+
failedChannels = new Map();
|
|
57
|
+
subscribeAckTimer;
|
|
39
58
|
constructor(cfg) {
|
|
40
59
|
const defaultWs = ((url, protocols) =>
|
|
41
60
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -52,6 +71,7 @@ export class RealtimeClient {
|
|
|
52
71
|
websocketFactory: cfg.websocketFactory ?? defaultWs,
|
|
53
72
|
fetchFn: cfg.fetchFn ?? (typeof fetch !== 'undefined' ? fetch : undefined),
|
|
54
73
|
getAuthToken: cfg.getAuthToken,
|
|
74
|
+
logger: cfg.logger ?? createLogger(false),
|
|
55
75
|
};
|
|
56
76
|
this.reconnectDelayMs = this.cfg.reconnectBaseMs;
|
|
57
77
|
}
|
|
@@ -117,11 +137,34 @@ export class RealtimeClient {
|
|
|
117
137
|
setOnSnapshot(hook) {
|
|
118
138
|
this.onSnapshotHook = hook;
|
|
119
139
|
}
|
|
140
|
+
/**
|
|
141
|
+
* Register a hook fired on every flag mutation received on the wire
|
|
142
|
+
* (TBP-575). Distinct from `attach()`, which only feeds the `BridgeFlags`
|
|
143
|
+
* cache: this hook exists so a framework SDK can also invalidate the
|
|
144
|
+
* legacy `FeatureFlagService` cache that route guards read, and re-run the
|
|
145
|
+
* guard for the route the user is currently sitting on.
|
|
146
|
+
*/
|
|
147
|
+
setOnFlagChange(hook) {
|
|
148
|
+
this.onFlagChangeHook = hook;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Register a hook fired when the connection reaches `'degraded'` — socket
|
|
152
|
+
* up, handshake done, no channel subscription accepted (TBP-575). The
|
|
153
|
+
* client stays connected; nothing will arrive on it. Use this to surface an
|
|
154
|
+
* indicator or fall back to polling.
|
|
155
|
+
*/
|
|
156
|
+
setOnDegraded(hook) {
|
|
157
|
+
this.onDegradedHook = hook;
|
|
158
|
+
}
|
|
120
159
|
/**
|
|
121
160
|
* Register a hook fired when the WebSocket transitions to `'open'` —
|
|
122
161
|
* fires on initial connect AND on every successful reconnect. Framework
|
|
123
162
|
* SDKs use this to re-fire startup tasks (e.g. cache hydration) that
|
|
124
163
|
* may have been missed during an outage.
|
|
164
|
+
*
|
|
165
|
+
* On the AppSync transport this fires when the first channel subscription
|
|
166
|
+
* is **accepted**, not merely when the handshake completes — a connection
|
|
167
|
+
* with no accepted subscription is `degraded`, not open (TBP-575).
|
|
125
168
|
*/
|
|
126
169
|
setOnOpen(hook) {
|
|
127
170
|
this.onOpenHook = hook;
|
|
@@ -155,14 +198,22 @@ export class RealtimeClient {
|
|
|
155
198
|
async reauthorize() {
|
|
156
199
|
if (!this.cfg.enabled || this.stopped)
|
|
157
200
|
return;
|
|
158
|
-
|
|
159
|
-
|
|
201
|
+
// A connect attempt that has not yet produced a socket will read the
|
|
202
|
+
// current token when it gets there — nothing to redo. Once a socket
|
|
203
|
+
// exists we must replace it, whatever the state is called: TBP-575 added
|
|
204
|
+
// 'degraded' (live socket, no accepted subscription) and widened
|
|
205
|
+
// 'connecting' to cover the await-subscribe-ack window, and keying this
|
|
206
|
+
// on `state === 'open'` silently skipped both.
|
|
207
|
+
if (!this.ws) {
|
|
208
|
+
if (this.state === 'connecting')
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
160
211
|
if (this.reconnectTimer) {
|
|
161
212
|
clearTimeout(this.reconnectTimer);
|
|
162
213
|
this.reconnectTimer = undefined;
|
|
163
214
|
}
|
|
164
215
|
this.reconnectDelayMs = this.cfg.reconnectBaseMs;
|
|
165
|
-
if (this.
|
|
216
|
+
if (this.ws) {
|
|
166
217
|
const oldWs = this.ws;
|
|
167
218
|
this.ws = undefined;
|
|
168
219
|
this.state = 'closed';
|
|
@@ -185,7 +236,7 @@ export class RealtimeClient {
|
|
|
185
236
|
if (this.cfg.appId === appId)
|
|
186
237
|
return;
|
|
187
238
|
this.cfg.appId = appId;
|
|
188
|
-
if (this.
|
|
239
|
+
if (this.ws) {
|
|
189
240
|
this.ws.close(1000, 'sdk.setAppId');
|
|
190
241
|
// onclose → scheduleReconnect → start() picks up updated channelsToSubscribe()
|
|
191
242
|
}
|
|
@@ -199,7 +250,7 @@ export class RealtimeClient {
|
|
|
199
250
|
if (this.cfg.workspaceId === workspaceId)
|
|
200
251
|
return;
|
|
201
252
|
this.cfg.workspaceId = workspaceId;
|
|
202
|
-
if (this.
|
|
253
|
+
if (this.ws) {
|
|
203
254
|
this.ws.close(1000, 'sdk.setWorkspaceId');
|
|
204
255
|
}
|
|
205
256
|
}
|
|
@@ -212,7 +263,7 @@ export class RealtimeClient {
|
|
|
212
263
|
if (this.cfg.userId === userId)
|
|
213
264
|
return;
|
|
214
265
|
this.cfg.userId = userId;
|
|
215
|
-
if (this.
|
|
266
|
+
if (this.ws) {
|
|
216
267
|
this.ws.close(1000, 'sdk.setUserId');
|
|
217
268
|
// onclose fires → scheduleReconnect → start() picks up updated channelsToSubscribe()
|
|
218
269
|
}
|
|
@@ -255,6 +306,7 @@ export class RealtimeClient {
|
|
|
255
306
|
/** Close the connection. Idempotent. */
|
|
256
307
|
async stop() {
|
|
257
308
|
this.stopped = true;
|
|
309
|
+
this.clearSubscribeAckTimer();
|
|
258
310
|
if (this.reconnectTimer) {
|
|
259
311
|
clearTimeout(this.reconnectTimer);
|
|
260
312
|
this.reconnectTimer = undefined;
|
|
@@ -451,14 +503,19 @@ export class RealtimeClient {
|
|
|
451
503
|
const type = typeof frame.type === 'string' ? frame.type : '';
|
|
452
504
|
switch (type) {
|
|
453
505
|
case 'connection_ack': {
|
|
454
|
-
// Handshake complete —
|
|
455
|
-
|
|
506
|
+
// Handshake complete — but NOT usable yet. The connection only
|
|
507
|
+
// becomes 'open' once a channel subscription is accepted; see the
|
|
508
|
+
// note on ConnectionState. Reporting 'open' here is what let a
|
|
509
|
+
// fully deaf client look healthy in production (TBP-575).
|
|
456
510
|
this.reconnectDelayMs = this.cfg.reconnectBaseMs;
|
|
511
|
+
this.resetSubscribeTracking();
|
|
457
512
|
for (const channel of channels) {
|
|
513
|
+
const id = appSyncSubscriptionId();
|
|
514
|
+
this.pendingSubscribes.set(id, channel);
|
|
458
515
|
try {
|
|
459
516
|
ws.send(JSON.stringify({
|
|
460
517
|
type: 'subscribe',
|
|
461
|
-
id
|
|
518
|
+
id,
|
|
462
519
|
channel: appSyncChannelToWire(channel),
|
|
463
520
|
authorization: authHeader,
|
|
464
521
|
}));
|
|
@@ -467,12 +524,14 @@ export class RealtimeClient {
|
|
|
467
524
|
// ignore — onclose will pick up a broken socket.
|
|
468
525
|
}
|
|
469
526
|
}
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
527
|
+
// A server that accepts the socket and then silently ignores every
|
|
528
|
+
// subscribe would otherwise sit in 'connecting' forever.
|
|
529
|
+
this.subscribeAckTimer = setTimeout(() => {
|
|
530
|
+
if (this.ws !== ws || this.ackedChannels.size > 0)
|
|
531
|
+
return;
|
|
532
|
+
this.cfg.logger.error(`realtime: connected to AppSync but no channel subscription was acknowledged within ${SUBSCRIBE_ACK_TIMEOUT_MS}ms — live updates are NOT arriving. Channels: ${channels.join(', ')}`);
|
|
533
|
+
this.markDegraded();
|
|
534
|
+
}, SUBSCRIBE_ACK_TIMEOUT_MS);
|
|
476
535
|
break;
|
|
477
536
|
}
|
|
478
537
|
case 'ka':
|
|
@@ -512,15 +571,46 @@ export class RealtimeClient {
|
|
|
512
571
|
}
|
|
513
572
|
break;
|
|
514
573
|
}
|
|
515
|
-
case 'subscribe_success':
|
|
516
|
-
// Per-channel ack —
|
|
574
|
+
case 'subscribe_success': {
|
|
575
|
+
// Per-channel ack — the connection is only genuinely usable now.
|
|
576
|
+
const id = typeof frame.id === 'string' ? frame.id : '';
|
|
577
|
+
const channel = this.pendingSubscribes.get(id);
|
|
578
|
+
if (channel) {
|
|
579
|
+
this.pendingSubscribes.delete(id);
|
|
580
|
+
this.ackedChannels.add(channel);
|
|
581
|
+
}
|
|
582
|
+
if (this.state !== 'open') {
|
|
583
|
+
this.state = 'open';
|
|
584
|
+
this.clearSubscribeAckTimer();
|
|
585
|
+
try {
|
|
586
|
+
this.onOpenHook?.();
|
|
587
|
+
}
|
|
588
|
+
catch {
|
|
589
|
+
// hook errors must not break the connection.
|
|
590
|
+
}
|
|
591
|
+
}
|
|
517
592
|
break;
|
|
593
|
+
}
|
|
594
|
+
case 'subscribe_error': {
|
|
595
|
+
// A rejected channel is NOT a reason to drop the socket. Tearing the
|
|
596
|
+
// connection down here turned a permanent per-channel fault into an
|
|
597
|
+
// endless reconnect loop that never surfaced anything (TBP-575).
|
|
598
|
+
const id = typeof frame.id === 'string' ? frame.id : '';
|
|
599
|
+
const channel = this.pendingSubscribes.get(id) ?? '(unknown channel)';
|
|
600
|
+
this.pendingSubscribes.delete(id);
|
|
601
|
+
this.failedChannels.set(channel, describeAppSyncError(frame));
|
|
602
|
+
this.cfg.logger.error(`realtime: AppSync rejected subscription to '${channel}' — ${describeAppSyncError(frame)}. Live updates will not arrive on this channel.`);
|
|
603
|
+
// Every channel rejected → connected but deaf.
|
|
604
|
+
if (this.pendingSubscribes.size === 0 && this.ackedChannels.size === 0) {
|
|
605
|
+
this.clearSubscribeAckTimer();
|
|
606
|
+
this.markDegraded();
|
|
607
|
+
}
|
|
608
|
+
break;
|
|
609
|
+
}
|
|
518
610
|
case 'connection_error':
|
|
519
|
-
case 'subscribe_error':
|
|
520
611
|
case 'error':
|
|
521
|
-
//
|
|
522
|
-
|
|
523
|
-
// connect's authorize will succeed or fail with the same signal.
|
|
612
|
+
// Connection-level fault — close cleanly so onclose triggers reconnect.
|
|
613
|
+
this.cfg.logger.error(`realtime: AppSync ${type} — ${describeAppSyncError(frame)}. Reconnecting.`);
|
|
524
614
|
try {
|
|
525
615
|
ws.close(1011, `appsync:${type}`);
|
|
526
616
|
}
|
|
@@ -538,6 +628,7 @@ export class RealtimeClient {
|
|
|
538
628
|
if (this.ws !== ws)
|
|
539
629
|
return;
|
|
540
630
|
this.state = 'closed';
|
|
631
|
+
this.resetSubscribeTracking();
|
|
541
632
|
try {
|
|
542
633
|
this.onCloseHook?.();
|
|
543
634
|
}
|
|
@@ -550,15 +641,64 @@ export class RealtimeClient {
|
|
|
550
641
|
// Let onclose handle reconnect — errors are noisy but not actionable.
|
|
551
642
|
};
|
|
552
643
|
}
|
|
644
|
+
// ── AppSync subscribe bookkeeping (TBP-575) ──────────────────────────────
|
|
645
|
+
resetSubscribeTracking() {
|
|
646
|
+
this.clearSubscribeAckTimer();
|
|
647
|
+
this.pendingSubscribes.clear();
|
|
648
|
+
this.ackedChannels.clear();
|
|
649
|
+
this.failedChannels.clear();
|
|
650
|
+
}
|
|
651
|
+
clearSubscribeAckTimer() {
|
|
652
|
+
if (this.subscribeAckTimer) {
|
|
653
|
+
clearTimeout(this.subscribeAckTimer);
|
|
654
|
+
this.subscribeAckTimer = undefined;
|
|
655
|
+
}
|
|
656
|
+
}
|
|
657
|
+
/**
|
|
658
|
+
* Connected, handshaken, and subscribed to nothing. Deliberately does NOT
|
|
659
|
+
* close the socket: the fault is per-channel and reconnecting would just
|
|
660
|
+
* reproduce it in a loop. Consumers are told so they can fall back to
|
|
661
|
+
* polling or warn the user.
|
|
662
|
+
*/
|
|
663
|
+
markDegraded() {
|
|
664
|
+
this.state = 'degraded';
|
|
665
|
+
try {
|
|
666
|
+
this.onDegradedHook?.();
|
|
667
|
+
}
|
|
668
|
+
catch {
|
|
669
|
+
// hook errors must not break the connection.
|
|
670
|
+
}
|
|
671
|
+
}
|
|
672
|
+
/** Channels rejected by the server on the current connection, if any. */
|
|
673
|
+
getFailedChannels() {
|
|
674
|
+
return Object.fromEntries(this.failedChannels);
|
|
675
|
+
}
|
|
676
|
+
emitFlagChange(change) {
|
|
677
|
+
if (!this.onFlagChangeHook)
|
|
678
|
+
return;
|
|
679
|
+
try {
|
|
680
|
+
this.onFlagChangeHook(change);
|
|
681
|
+
}
|
|
682
|
+
catch (err) {
|
|
683
|
+
// A consumer's guard re-check must never take down the connection.
|
|
684
|
+
this.cfg.logger.warn('onFlagChange hook threw', err);
|
|
685
|
+
}
|
|
686
|
+
}
|
|
553
687
|
handleMessage(msg) {
|
|
554
688
|
switch (msg.kind) {
|
|
555
689
|
case 'flag.updated':
|
|
556
690
|
if (this.bridge && msg.flag)
|
|
557
691
|
this.bridge.upsert(msg.flag);
|
|
692
|
+
// Fire even when no BridgeFlags is attached — the route-guard cache is
|
|
693
|
+
// a separate consumer and must be invalidated either way (TBP-575).
|
|
694
|
+
if (msg.flag?.key)
|
|
695
|
+
this.emitFlagChange({ key: msg.flag.key, kind: 'updated' });
|
|
558
696
|
break;
|
|
559
697
|
case 'flag.removed':
|
|
560
698
|
if (this.bridge && msg.key)
|
|
561
699
|
this.bridge.remove(msg.key);
|
|
700
|
+
if (msg.key)
|
|
701
|
+
this.emitFlagChange({ key: msg.key, kind: 'removed' });
|
|
562
702
|
break;
|
|
563
703
|
case 'user.state_changed':
|
|
564
704
|
if (this.onUserStateHook) {
|
|
@@ -676,6 +816,37 @@ function parseMessage(raw) {
|
|
|
676
816
|
return data;
|
|
677
817
|
}
|
|
678
818
|
// ── AppSync Events helpers (TBP-148) ─────────────────────────────────────────
|
|
819
|
+
/**
|
|
820
|
+
* Best-effort human-readable reason out of an AppSync error frame (TBP-575).
|
|
821
|
+
*
|
|
822
|
+
* AppSync is inconsistent about where it puts the reason — sometimes
|
|
823
|
+
* `errors: [{ message }]`, sometimes a bare `message`. Previously the client
|
|
824
|
+
* discarded all of it, which is why a channel-format bug went undiagnosed for
|
|
825
|
+
* months. Anything is better than nothing here, so fall back to the raw frame.
|
|
826
|
+
*/
|
|
827
|
+
function describeAppSyncError(frame) {
|
|
828
|
+
const { errors, message } = frame;
|
|
829
|
+
if (Array.isArray(errors) && errors.length > 0) {
|
|
830
|
+
const parts = errors
|
|
831
|
+
.map((e) => {
|
|
832
|
+
if (typeof e === 'string')
|
|
833
|
+
return e;
|
|
834
|
+
const m = e?.message;
|
|
835
|
+
return typeof m === 'string' ? m : undefined;
|
|
836
|
+
})
|
|
837
|
+
.filter((m) => !!m);
|
|
838
|
+
if (parts.length > 0)
|
|
839
|
+
return parts.join('; ');
|
|
840
|
+
}
|
|
841
|
+
if (typeof message === 'string' && message)
|
|
842
|
+
return message;
|
|
843
|
+
try {
|
|
844
|
+
return JSON.stringify(frame);
|
|
845
|
+
}
|
|
846
|
+
catch {
|
|
847
|
+
return 'no error detail supplied by the server';
|
|
848
|
+
}
|
|
849
|
+
}
|
|
679
850
|
/** Subprotocol identifier for AppSync Events realtime channels. */
|
|
680
851
|
const APPSYNC_WS_PROTOCOL = 'aws-appsync-event-ws';
|
|
681
852
|
/**
|
|
@@ -755,13 +926,23 @@ function base64urlEncode(input) {
|
|
|
755
926
|
}
|
|
756
927
|
/**
|
|
757
928
|
* Translate internal channel name (`<ns>:<id>`) to the AppSync wire form
|
|
758
|
-
* (
|
|
929
|
+
* (`/<ns>/<id>`). Mirrors the publish side at
|
|
759
930
|
* `microservices/shared/realtime/adapters/appsync-events.adapter.ts:87`
|
|
760
931
|
* and the Lambda authorizer's normalizer at
|
|
761
|
-
* `microservices/shared/realtime/appsync-authorizer.
|
|
932
|
+
* `microservices/shared/realtime/appsync-authorizer.ts:63`.
|
|
933
|
+
*
|
|
934
|
+
* TBP-575 — the LEADING SLASH is load-bearing and was missing here for the
|
|
935
|
+
* whole life of the AppSync transport. AppSync Events addresses channels as
|
|
936
|
+
* `/<namespace>/<path>`; without the slash the namespace never resolves, so
|
|
937
|
+
* every `subscribe` was rejected and no client on prod ever received a flag
|
|
938
|
+
* push. The publish side always sent `/app/<id>`, so the two ends were
|
|
939
|
+
* addressing different channels even where AppSync tolerated the form.
|
|
940
|
+
*
|
|
941
|
+
* Both ends are pinned to the shared vectors in `appsync-channel-vectors.ts`
|
|
942
|
+
* — change one and the other repo's test fails. Do not "simplify" this.
|
|
762
943
|
*/
|
|
763
|
-
function appSyncChannelToWire(internal) {
|
|
764
|
-
return internal.replace(':', '/')
|
|
944
|
+
export function appSyncChannelToWire(internal) {
|
|
945
|
+
return `/${internal.replace(':', '/')}`;
|
|
765
946
|
}
|
|
766
947
|
/**
|
|
767
948
|
* Stable per-subscribe identifier. Prefer `crypto.randomUUID()` (ES2022,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.js","sourceRoot":"","sources":["../../src/flags/realtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"realtime.js","sourceRoot":"","sources":["../../src/flags/realtime.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export { LocalStorageAdapter, MemoryAdapter } from './token-storage.js';
|
|
|
9
9
|
export { decodeJwtPayload, getTokenExpiry, isTokenExpired, shouldRefreshNow } from './token-utils.js';
|
|
10
10
|
export { BridgeManagement } from './management/index.js';
|
|
11
11
|
export { ManagementHttpClient } from './management-http.js';
|
|
12
|
-
export type { ManagementConfig, AppResponse, UpdateAppRequest, CredentialsState, UpdateCredentialsRequest, TenantResponse, CreateTenantRequest, UpdateTenantRequest, UserResponse, InviteUserRequest, UpdateUserRequest, RoleResponse, CreateRoleRequest, UpdateRoleRequest, PrivilegeResponse, FlagResponse, CreateFlagInput, UpdateFlagInput, SegmentResponse, SegmentInput, Target, TargetValue, FlagSchedule, BrandingResponse, UpdateBrandingRequest, CssFileResponse, UpdateCssFileRequest, PlanResponse, CreatePlanRequest, UpdatePlanRequest, PlanPrice, TokenRecord, CreateTokenRequest, CreateTokenResponse, EventQuery, EventResult, OnboardingResponse, UpdateOnboardingRequest, SetupSSOParams, SetupSSOResult, SetupPaymentsParams, SetupPaymentsResult, SetupCommunicationParams, SetupCommunicationResult, SSOProvider, } from './management-types.js';
|
|
12
|
+
export type { ManagementConfig, AppResponse, UpdateAppRequest, CredentialsState, UpdateCredentialsRequest, TenantResponse, CreateTenantRequest, UpdateTenantRequest, UserResponse, InviteUserRequest, UpdateUserRequest, RoleResponse, CreateRoleRequest, UpdateRoleRequest, PrivilegeResponse, CreatePrivilegeRequest, UpdatePrivilegeRequest, FlagResponse, CreateFlagInput, UpdateFlagInput, SegmentResponse, SegmentInput, Target, TargetValue, FlagSchedule, BrandingResponse, UpdateBrandingRequest, CssFileResponse, UpdateCssFileRequest, PlanResponse, CreatePlanRequest, UpdatePlanRequest, PlanPrice, TokenRecord, CreateTokenRequest, CreateTokenResponse, EventQuery, EventResult, OnboardingResponse, UpdateOnboardingRequest, SetupSSOParams, SetupSSOResult, SetupPaymentsParams, SetupPaymentsResult, SetupCommunicationParams, SetupCommunicationResult, SSOProvider, } from './management-types.js';
|
|
13
13
|
export { AppManagementService } from './management/app.service.js';
|
|
14
14
|
export { TenantManagementService } from './management/tenant.service.js';
|
|
15
15
|
export { UserManagementService } from './management/user.service.js';
|
|
@@ -22,7 +22,7 @@ export { EventManagementService } from './management/event.service.js';
|
|
|
22
22
|
export { OnboardingManagementService } from './management/onboarding.service.js';
|
|
23
23
|
export { ManagementWorkflows } from './management/workflows.js';
|
|
24
24
|
export { OPERATORS, OPERATOR_VERSION, CONDITIONS_PER_RULE_MAX, isOperator, isOperatorValidForType, validOperatorsForType, evaluateCondition, validateConditions, bucket, evaluateBranch, evaluateRule, resolveAttribute, validateRule, BridgeFlags, BridgeIdentity, MemoryIdentityStorage, attachIdentity, generateAnonymousId, AttributeProviderRegistry, AuthAttributeProvider, BillingAttributeProvider, DevAttributeProvider, BridgePullCache, TelemetryBatcher, RealtimeClient, BRIDGE_CONTEXT_HEADER, serializeContext, deserializeContext, serverInstanceId, } from './flags/index.js';
|
|
25
|
-
export type { Operator, AttributeType, Condition, ConditionValue, ValidationError, Branch, Rule, FlagState, EvalContext, EvalResult, RuleValidationError, CachedFlag, FlagEvalResult, FlagValueType, EvalTelemetry, DiscoveryTelemetry, BridgeFlagsHooks, DeclaredAttributeType, AttributeDeclaration, BridgeFlagsMode, FlagUsageReporterLike, AnonymousTrackingMode, IdentityStorage, AttributeProvider, AuthJwtClaims, AuthProviderConfig, BillingSnapshot, BillingProviderConfig, BillingProviderStores, AttributeGetter, AttributeBulkGetter, AttributesSetOptions, BridgeRuntimeMode, PullCacheOptions, TelemetryBatcherConfig, RealtimeClientConfig, RealtimeMessage, FlagUpdateMessage, FlagRemovedMessage, UserStateMessage, SubscriptionPlanChangedMessage, BillingLifecycleMessage, QuotaUpdatedMessage, EntitlementsChangedMessage, SessionSnapshotMessage, ConnectionState, WebSocketLike, } from './flags/index.js';
|
|
25
|
+
export type { Operator, AttributeType, Condition, ConditionValue, ValidationError, Branch, Rule, FlagState, EvalContext, EvalResult, RuleValidationError, CachedFlag, FlagEvalResult, FlagValueType, EvalTelemetry, DiscoveryTelemetry, BridgeFlagsHooks, DeclaredAttributeType, AttributeDeclaration, BridgeFlagsMode, FlagUsageReporterLike, AnonymousTrackingMode, IdentityStorage, AttributeProvider, AuthJwtClaims, AuthProviderConfig, BillingSnapshot, BillingProviderConfig, BillingProviderStores, AttributeGetter, AttributeBulkGetter, AttributesSetOptions, BridgeRuntimeMode, PullCacheOptions, TelemetryBatcherConfig, RealtimeClientConfig, RealtimeMessage, FlagUpdateMessage, FlagRemovedMessage, UserStateMessage, SubscriptionPlanChangedMessage, BillingLifecycleMessage, QuotaUpdatedMessage, EntitlementsChangedMessage, SessionSnapshotMessage, ConnectionState, FlagChange, WebSocketLike, } from './flags/index.js';
|
|
26
26
|
export { useBridge } from './billing/use-bridge.js';
|
|
27
27
|
export type { UseBridgeApi, UseBridgeEntitlementsApi, BillingEventHandlers, BillingGateState, } from './billing/use-bridge.js';
|
|
28
28
|
export { BridgeSubscription } from './billing/bridge-subscription.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,YAAY,EACV,SAAS,EACT,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,OAAO,EACP,eAAe,EACf,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,aAAa,EACb,IAAI,EACJ,aAAa,EACb,OAAO,EACP,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,SAAS,GACV,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EACV,WAAW,EACX,sBAAsB,EACtB,QAAQ,EACR,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EACV,QAAQ,EACR,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAG7E,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGtG,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,YAAY,EACV,gBAAgB,EAEhB,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,wBAAwB,EAEzE,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,EAExD,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAElD,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAyC9C,kBAAkB;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAWhD,uBAAuB;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAQzD,SAAS;AACT,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE7E,8CAA8C;AAC9C,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExE,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEtG,yCAAyC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAyC9C,kBAAkB;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAWhD,uBAAuB;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAQzD,SAAS;AACT,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE7E,8CAA8C;AAC9C,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExE,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEtG,yCAAyC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAgC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,+EAA+E;AAC/E,6EAA6E;AAC7E,0EAA0E;AAC1E,iEAAiE;AACjE,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,uBAAuB,EACvB,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,MAAM,EACN,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAoD1B,+EAA+E;AAC/E,2EAA2E;AAC3E,4DAA4D;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAOpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,iDAAiD;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
import type { ManagementHttpClient } from '../management-http.js';
|
|
2
2
|
import type { EventQuery, EventResult } from '../management-types.js';
|
|
3
|
+
/**
|
|
4
|
+
* TBP-594 — this used to `GET /v1/event-log`, which the API has never served.
|
|
5
|
+
* `bridge event list` answered:
|
|
6
|
+
*
|
|
7
|
+
* {"code":"HTTP_404","message":"Cannot GET /v1/event-log"}
|
|
8
|
+
*
|
|
9
|
+
* The event-log controller exposes `POST /` (ingest), `POST /query` (a
|
|
10
|
+
* time-bucketed aggregation that requires an explicit `eventName`, `from` and
|
|
11
|
+
* `to`), and `GET /audit` — a plain reverse-chronological listing. `GET /audit`
|
|
12
|
+
* is the one that matches "show me recent events", so that is what this calls.
|
|
13
|
+
*
|
|
14
|
+
* `appId` is deliberately not sent: the server derives it from the API token.
|
|
15
|
+
*/
|
|
3
16
|
export declare class EventManagementService {
|
|
4
17
|
private readonly http;
|
|
5
18
|
constructor(http: ManagementHttpClient);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.service.d.ts","sourceRoot":"","sources":["../../src/management/event.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAEtE,qBAAa,sBAAsB;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,oBAAoB;IAEjD,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"event.service.d.ts","sourceRoot":"","sources":["../../src/management/event.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAEtE;;;;;;;;;;;;GAYG;AACH,qBAAa,sBAAsB;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,oBAAoB;IAEjD,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;CA6BzD"}
|
|
@@ -1,22 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TBP-594 — this used to `GET /v1/event-log`, which the API has never served.
|
|
3
|
+
* `bridge event list` answered:
|
|
4
|
+
*
|
|
5
|
+
* {"code":"HTTP_404","message":"Cannot GET /v1/event-log"}
|
|
6
|
+
*
|
|
7
|
+
* The event-log controller exposes `POST /` (ingest), `POST /query` (a
|
|
8
|
+
* time-bucketed aggregation that requires an explicit `eventName`, `from` and
|
|
9
|
+
* `to`), and `GET /audit` — a plain reverse-chronological listing. `GET /audit`
|
|
10
|
+
* is the one that matches "show me recent events", so that is what this calls.
|
|
11
|
+
*
|
|
12
|
+
* `appId` is deliberately not sent: the server derives it from the API token.
|
|
13
|
+
*/
|
|
1
14
|
export class EventManagementService {
|
|
2
15
|
http;
|
|
3
16
|
constructor(http) {
|
|
4
17
|
this.http = http;
|
|
5
18
|
}
|
|
6
19
|
async query(params) {
|
|
7
|
-
const
|
|
20
|
+
const search = new URLSearchParams();
|
|
21
|
+
// `type` is the top-level `eventName` on the audit document, not a member
|
|
22
|
+
// of its `extracted` map — see the note in the API's AuditLogQueryDto.
|
|
8
23
|
if (params?.type)
|
|
9
|
-
|
|
24
|
+
search.set('eventName', params.type);
|
|
10
25
|
if (params?.tenantId)
|
|
11
|
-
|
|
26
|
+
search.set('tenantId', params.tenantId);
|
|
12
27
|
if (params?.userId)
|
|
13
|
-
|
|
28
|
+
search.set('userId', params.userId);
|
|
14
29
|
if (params?.since)
|
|
15
|
-
|
|
30
|
+
search.set('from', toIsoDate(params.since));
|
|
16
31
|
if (params?.limit)
|
|
17
|
-
|
|
18
|
-
const qs =
|
|
19
|
-
|
|
32
|
+
search.set('limit', String(params.limit));
|
|
33
|
+
const qs = search.toString();
|
|
34
|
+
const rows = await this.http.get(`/v1/event-log/audit${qs ? `?${qs}` : ''}`);
|
|
35
|
+
// `/audit` returns the stored document shape. Map it onto the published
|
|
36
|
+
// `EventResult` rather than widening the public type to match a storage
|
|
37
|
+
// detail — and rather than leaving the declared type a lie, which is how
|
|
38
|
+
// the wrong endpoint went unnoticed in the first place.
|
|
39
|
+
return (rows ?? []).map((row) => ({
|
|
40
|
+
id: row.rawEventId,
|
|
41
|
+
type: row.eventName,
|
|
42
|
+
tenantId: asString(row.extracted?.tenantId),
|
|
43
|
+
userId: asString(row.extracted?.userId),
|
|
44
|
+
data: row.extracted,
|
|
45
|
+
createdAt: row.timestamp,
|
|
46
|
+
}));
|
|
20
47
|
}
|
|
21
48
|
}
|
|
49
|
+
const asString = (v) => typeof v === 'string' ? v : undefined;
|
|
50
|
+
/**
|
|
51
|
+
* The CLI documents `--since` as `"24h"`, `"7d"` or an ISO date, but the API
|
|
52
|
+
* validates `from` with `@IsDateString()`. Passing "24h" straight through
|
|
53
|
+
* fails validation, so relative forms are resolved here.
|
|
54
|
+
*/
|
|
55
|
+
function toIsoDate(since) {
|
|
56
|
+
const relative = /^(\d+)([hdwm])$/.exec(since.trim());
|
|
57
|
+
if (!relative)
|
|
58
|
+
return since;
|
|
59
|
+
const amount = Number(relative[1]);
|
|
60
|
+
const unitMs = {
|
|
61
|
+
h: 60 * 60 * 1000,
|
|
62
|
+
d: 24 * 60 * 60 * 1000,
|
|
63
|
+
w: 7 * 24 * 60 * 60 * 1000,
|
|
64
|
+
m: 30 * 24 * 60 * 60 * 1000,
|
|
65
|
+
};
|
|
66
|
+
return new Date(Date.now() - amount * unitMs[relative[2]]).toISOString();
|
|
67
|
+
}
|
|
22
68
|
//# sourceMappingURL=event.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.service.js","sourceRoot":"","sources":["../../src/management/event.service.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,sBAAsB;IACJ;IAA7B,YAA6B,IAA0B;QAA1B,SAAI,GAAJ,IAAI,CAAsB;IAAG,CAAC;IAE3D,KAAK,CAAC,KAAK,CAAC,MAAmB;QAC7B,MAAM,
|
|
1
|
+
{"version":3,"file":"event.service.js","sourceRoot":"","sources":["../../src/management/event.service.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,sBAAsB;IACJ;IAA7B,YAA6B,IAA0B;QAA1B,SAAI,GAAJ,IAAI,CAAsB;IAAG,CAAC;IAE3D,KAAK,CAAC,KAAK,CAAC,MAAmB;QAC7B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAErC,0EAA0E;QAC1E,uEAAuE;QACvE,IAAI,MAAM,EAAE,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,MAAM,EAAE,QAAQ;YAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,MAAM,EAAE,MAAM;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,MAAM,EAAE,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/D,IAAI,MAAM,EAAE,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAE7D,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9B,sBAAsB,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3C,CAAC;QAEF,wEAAwE;QACxE,wEAAwE;QACxE,yEAAyE;QACzE,wDAAwD;QACxD,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAChC,EAAE,EAAE,GAAG,CAAC,UAAU;YAClB,IAAI,EAAE,GAAG,CAAC,SAAS;YACnB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC;YAC3C,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC;YACvC,IAAI,EAAE,GAAG,CAAC,SAAS;YACnB,SAAS,EAAE,GAAG,CAAC,SAAS;SACzB,CAAC,CAAC,CAAC;IACN,CAAC;CACF;AAUD,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAsB,EAAE,CAClD,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAExC;;;;GAIG;AACH,SAAS,SAAS,CAAC,KAAa;IAC9B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACtD,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAE5B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,MAAM,GAA2B;QACrC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;QACjB,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;QACtB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;QAC1B,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;KAC5B,CAAC;IACF,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAC3E,CAAC"}
|