@fias/arche-sdk 2.2.1 → 2.10.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/bridge.d.ts +76 -1
- package/dist/bridge.d.ts.map +1 -1
- package/dist/bridge.js +219 -6
- package/dist/bridge.js.map +1 -1
- package/dist/bridge.test.js +155 -6
- package/dist/bridge.test.js.map +1 -1
- package/dist/coverage-fills.test.js +26 -32
- package/dist/coverage-fills.test.js.map +1 -1
- package/dist/entity-ops.d.ts +55 -0
- package/dist/entity-ops.d.ts.map +1 -0
- package/dist/entity-ops.js +48 -0
- package/dist/entity-ops.js.map +1 -0
- package/dist/fias.d.ts +7 -1
- package/dist/fias.d.ts.map +1 -1
- package/dist/fias.js +19 -12
- package/dist/fias.js.map +1 -1
- package/dist/generated/fonts.d.ts.map +1 -1
- package/dist/generated/fonts.js +11 -0
- package/dist/generated/fonts.js.map +1 -1
- package/dist/generated/permissions.d.ts +7 -1
- package/dist/generated/permissions.d.ts.map +1 -1
- package/dist/generated/permissions.js +36 -1
- package/dist/generated/permissions.js.map +1 -1
- package/dist/generated/surfaces.d.ts +424 -0
- package/dist/generated/surfaces.d.ts.map +1 -1
- package/dist/generated/surfaces.js +97 -1
- package/dist/generated/surfaces.js.map +1 -1
- package/dist/hooks.d.ts +230 -3
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +519 -72
- package/dist/hooks.js.map +1 -1
- package/dist/hooks.test.js +322 -219
- package/dist/hooks.test.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +977 -97
- package/dist/protocol.d.ts +7 -0
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +7 -0
- package/dist/protocol.js.map +1 -1
- package/dist/provider.d.ts +50 -1
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +187 -2
- package/dist/provider.js.map +1 -1
- package/dist/provider.render.test.d.ts +17 -0
- package/dist/provider.render.test.d.ts.map +1 -0
- package/dist/provider.render.test.js +191 -0
- package/dist/provider.render.test.js.map +1 -0
- package/dist/provider.test.js +64 -8
- package/dist/provider.test.js.map +1 -1
- package/dist/types.d.ts +339 -13
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -1
- package/templates/default/AGENTS.md +328 -26
- package/templates/default/CLAUDE.md +328 -26
package/dist/bridge.d.ts
CHANGED
|
@@ -1,4 +1,29 @@
|
|
|
1
|
-
import type { PluginToHostMessageType, FiasTheme, PluginPermission, EntityInvocationResult } from './types';
|
|
1
|
+
import type { PluginToHostMessageType, FiasTheme, PluginPermission, EntityInvocationResult, SubscriptionEndedReason } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Error type for every rejection the bridge produces.
|
|
4
|
+
*
|
|
5
|
+
* Plugins routinely `JSON.stringify` a caught error to log or display it —
|
|
6
|
+
* and `JSON.stringify(new Error(...))` yields `{}` because Error's props are
|
|
7
|
+
* non-enumerable. That's the Rota-incident failure shape: an entity_invoke
|
|
8
|
+
* rejection reached plugin code as an opaque `{}` and the plugin crashed on
|
|
9
|
+
* the missing result. `toJSON()` makes stringification meaningful, and the
|
|
10
|
+
* machine-readable `code` lets plugin code branch on failure kinds
|
|
11
|
+
* (`TIMEOUT`, `BRIDGE_DESTROYED`, server codes like `BRIDGE_TOKEN_EXPIRED`).
|
|
12
|
+
*
|
|
13
|
+
* WIRE-FORMAT NOTE: the host posts plain fields (`{ error: string,
|
|
14
|
+
* errorCode?: string }`) in the response message; the SDK constructs this
|
|
15
|
+
* class locally. Never rely on structured-cloning an Error across the
|
|
16
|
+
* postMessage boundary.
|
|
17
|
+
*/
|
|
18
|
+
export declare class FiasBridgeError extends Error {
|
|
19
|
+
code: string;
|
|
20
|
+
constructor(message: string, code: string);
|
|
21
|
+
toJSON(): {
|
|
22
|
+
name: string;
|
|
23
|
+
code: string;
|
|
24
|
+
message: string;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
2
27
|
/**
|
|
3
28
|
* Low-level bridge client for postMessage communication with the FIAS host frame.
|
|
4
29
|
* Used internally by SDK hooks. Plugin developers should use hooks instead.
|
|
@@ -11,11 +36,17 @@ export declare class FiasBridge {
|
|
|
11
36
|
private archId;
|
|
12
37
|
private permissions;
|
|
13
38
|
private theme;
|
|
39
|
+
private vendoredAssets;
|
|
14
40
|
private currentPath;
|
|
15
41
|
private hostOrigin;
|
|
16
42
|
private themeListeners;
|
|
17
43
|
private navigationListeners;
|
|
18
44
|
private stepNavigationListeners;
|
|
45
|
+
private previewStateProviders;
|
|
46
|
+
private previewStateRestoreListeners;
|
|
47
|
+
private bufferedRestoreState;
|
|
48
|
+
private subscriptionEventListeners;
|
|
49
|
+
private subscriptionEndedListeners;
|
|
19
50
|
private listening;
|
|
20
51
|
constructor();
|
|
21
52
|
/**
|
|
@@ -52,10 +83,31 @@ export declare class FiasBridge {
|
|
|
52
83
|
getArchId(): string;
|
|
53
84
|
getPermissions(): PluginPermission[];
|
|
54
85
|
getTheme(): FiasTheme | null;
|
|
86
|
+
/**
|
|
87
|
+
* Asset URLs for a platform-vendored library (init payload), or null when the
|
|
88
|
+
* host's CDN is unconfigured, the plugin lacks `sandbox:vendored-libraries`,
|
|
89
|
+
* or the library isn't vendored. Static per session — no update listener
|
|
90
|
+
* needed. `importSpecifier` is the library's bare module name (e.g.
|
|
91
|
+
* `'pdfjs-dist'`). See `useFiasVendoredAssets`.
|
|
92
|
+
*/
|
|
93
|
+
getVendoredAssets(importSpecifier: string): Record<string, string> | null;
|
|
55
94
|
getCurrentPath(): string;
|
|
56
95
|
onThemeUpdate(listener: (theme: FiasTheme) => void): () => void;
|
|
57
96
|
onNavigationUpdate(listener: (path: string) => void): () => void;
|
|
58
97
|
onStepNavigationUpdate(listener: (nodeId: string) => void): () => void;
|
|
98
|
+
/**
|
|
99
|
+
* Opt into preview-state preservation. In the builder preview, an in-place
|
|
100
|
+
* rebuild reloads the iframe and destroys the plugin's in-memory state (e.g.
|
|
101
|
+
* a generated report). Registering here lets the host snapshot `getState()`
|
|
102
|
+
* before the reload and hand it back to `onRestore` afterwards.
|
|
103
|
+
*
|
|
104
|
+
* `key` namespaces the snapshot so independent callers don't collide. Outside
|
|
105
|
+
* preview mode the host never requests a capture, so this is inert. Returns an
|
|
106
|
+
* unregister function.
|
|
107
|
+
*/
|
|
108
|
+
registerPreviewState(key: string, getState: () => unknown, onRestore: (state: unknown) => void): () => void;
|
|
109
|
+
/** Deliver any buffered restore payload to registered listeners (once per key). */
|
|
110
|
+
private deliverBufferedRestore;
|
|
59
111
|
/**
|
|
60
112
|
* Send a streaming entity_invoke request. Tokens arrive via stream_token
|
|
61
113
|
* messages and are forwarded to the onToken callback. The returned promise
|
|
@@ -68,6 +120,29 @@ export declare class FiasBridge {
|
|
|
68
120
|
* After destroy(), the bridge can be re-activated by calling attach().
|
|
69
121
|
*/
|
|
70
122
|
destroy(): void;
|
|
123
|
+
/**
|
|
124
|
+
* Listens for invalidation events on a logical realtime subscription
|
|
125
|
+
* (the id returned by a subscribe-kind entity_invoke). Returns an
|
|
126
|
+
* unsubscribe function for the LISTENER only — releasing the
|
|
127
|
+
* subscription itself is `releaseSubscription`.
|
|
128
|
+
*/
|
|
129
|
+
onSubscriptionEvent(subscriptionId: string, listener: (event: {
|
|
130
|
+
collection: string;
|
|
131
|
+
changed: true;
|
|
132
|
+
}) => void): () => void;
|
|
133
|
+
/**
|
|
134
|
+
* Listens for the terminal ending of a logical realtime subscription.
|
|
135
|
+
* Reasons are a closed union — `authorization_revoked` and
|
|
136
|
+
* `collection_deleted` are definitive; the rest may be worth a fresh
|
|
137
|
+
* subscribe once conditions change.
|
|
138
|
+
*/
|
|
139
|
+
onSubscriptionEnded(subscriptionId: string, listener: (reason: SubscriptionEndedReason) => void): () => void;
|
|
140
|
+
/**
|
|
141
|
+
* Releases one logical realtime subscription (fire-and-forget). The host
|
|
142
|
+
* refcounts: the underlying socket topic is torn down when the last
|
|
143
|
+
* logical subscriber releases.
|
|
144
|
+
*/
|
|
145
|
+
releaseSubscription(subscriptionId: string): void;
|
|
71
146
|
private handleMessage;
|
|
72
147
|
private send;
|
|
73
148
|
}
|
package/dist/bridge.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,uBAAuB,EACvB,SAAS,
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
|
package/dist/bridge.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FiasBridge = void 0;
|
|
3
|
+
exports.FiasBridge = exports.FiasBridgeError = void 0;
|
|
4
4
|
exports.getBridge = getBridge;
|
|
5
5
|
exports.resetBridge = resetBridge;
|
|
6
6
|
const theme_1 = require("./theme");
|
|
@@ -9,6 +9,33 @@ let messageCounter = 0;
|
|
|
9
9
|
function generateMessageId() {
|
|
10
10
|
return `msg_${Date.now()}_${++messageCounter}`;
|
|
11
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* Error type for every rejection the bridge produces.
|
|
14
|
+
*
|
|
15
|
+
* Plugins routinely `JSON.stringify` a caught error to log or display it —
|
|
16
|
+
* and `JSON.stringify(new Error(...))` yields `{}` because Error's props are
|
|
17
|
+
* non-enumerable. That's the Rota-incident failure shape: an entity_invoke
|
|
18
|
+
* rejection reached plugin code as an opaque `{}` and the plugin crashed on
|
|
19
|
+
* the missing result. `toJSON()` makes stringification meaningful, and the
|
|
20
|
+
* machine-readable `code` lets plugin code branch on failure kinds
|
|
21
|
+
* (`TIMEOUT`, `BRIDGE_DESTROYED`, server codes like `BRIDGE_TOKEN_EXPIRED`).
|
|
22
|
+
*
|
|
23
|
+
* WIRE-FORMAT NOTE: the host posts plain fields (`{ error: string,
|
|
24
|
+
* errorCode?: string }`) in the response message; the SDK constructs this
|
|
25
|
+
* class locally. Never rely on structured-cloning an Error across the
|
|
26
|
+
* postMessage boundary.
|
|
27
|
+
*/
|
|
28
|
+
class FiasBridgeError extends Error {
|
|
29
|
+
constructor(message, code) {
|
|
30
|
+
super(message);
|
|
31
|
+
this.name = 'FiasBridgeError';
|
|
32
|
+
this.code = code;
|
|
33
|
+
}
|
|
34
|
+
toJSON() {
|
|
35
|
+
return { name: 'FiasBridgeError', code: this.code, message: this.message };
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.FiasBridgeError = FiasBridgeError;
|
|
12
39
|
/**
|
|
13
40
|
* Merges an incoming theme with defaults to ensure all fields are present.
|
|
14
41
|
* Protects plugins from crashing when the host sends an incomplete theme.
|
|
@@ -38,11 +65,27 @@ class FiasBridge {
|
|
|
38
65
|
this.archId = '';
|
|
39
66
|
this.permissions = [];
|
|
40
67
|
this.theme = null;
|
|
68
|
+
this.vendoredAssets = null;
|
|
41
69
|
this.currentPath = '';
|
|
42
70
|
this.hostOrigin = '';
|
|
43
71
|
this.themeListeners = new Set();
|
|
44
72
|
this.navigationListeners = new Set();
|
|
45
73
|
this.stepNavigationListeners = new Set();
|
|
74
|
+
// Preview-state preservation (preview mode only). Keyed so multiple
|
|
75
|
+
// useFiasPreviewState() callers don't collide. Providers produce a snapshot
|
|
76
|
+
// on `preview_state_capture`; restore listeners receive it after the reload.
|
|
77
|
+
this.previewStateProviders = new Map();
|
|
78
|
+
this.previewStateRestoreListeners = new Map();
|
|
79
|
+
// A restore payload that arrived before its hook registered (the host
|
|
80
|
+
// restores on `ready`, but the React effect that registers runs later).
|
|
81
|
+
// Consumed per-key as listeners register.
|
|
82
|
+
this.bufferedRestoreState = null;
|
|
83
|
+
// Realtime subscriptions (ADR-012 Phase M4), keyed by the HOST-MINTED
|
|
84
|
+
// logical subscriptionId returned from a subscribe-kind entity_invoke.
|
|
85
|
+
// The plugin never sees grants/topics — the host manages the transport;
|
|
86
|
+
// these listeners receive typed invalidations and terminal endings.
|
|
87
|
+
this.subscriptionEventListeners = new Map();
|
|
88
|
+
this.subscriptionEndedListeners = new Map();
|
|
46
89
|
this.listening = false;
|
|
47
90
|
this.handleMessage = (event) => {
|
|
48
91
|
const data = event.data;
|
|
@@ -73,6 +116,7 @@ class FiasBridge {
|
|
|
73
116
|
this.archId = initMsg.payload.archId;
|
|
74
117
|
this.permissions = initMsg.payload.permissions;
|
|
75
118
|
this.theme = mergeThemeWithDefaults(initMsg.payload.theme);
|
|
119
|
+
this.vendoredAssets = initMsg.payload.vendoredAssets ?? null;
|
|
76
120
|
this.currentPath = initMsg.payload.currentPath;
|
|
77
121
|
this.initialized = true;
|
|
78
122
|
this.initResolve?.();
|
|
@@ -117,6 +161,34 @@ class FiasBridge {
|
|
|
117
161
|
}
|
|
118
162
|
return;
|
|
119
163
|
}
|
|
164
|
+
// Host requests a snapshot of the plugin's transient state before a preview
|
|
165
|
+
// rebuild. Reply with a keyed snapshot (empty if nothing registered) so the
|
|
166
|
+
// host's capture resolves promptly either way.
|
|
167
|
+
if (data.type === 'preview_state_capture') {
|
|
168
|
+
const snapshot = {};
|
|
169
|
+
for (const [key, provider] of this.previewStateProviders) {
|
|
170
|
+
try {
|
|
171
|
+
// Round-trip each slice so a non-serializable value (function,
|
|
172
|
+
// circular ref, DOM node) is dropped here rather than throwing out of
|
|
173
|
+
// postMessage's structured clone and breaking the whole capture.
|
|
174
|
+
snapshot[key] = JSON.parse(JSON.stringify(provider()));
|
|
175
|
+
}
|
|
176
|
+
catch {
|
|
177
|
+
// Skip a provider that throws or returns non-JSON-safe state.
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
this.send('preview_state', snapshot);
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
// Host replays a previously-captured snapshot after the reload. Buffer it so
|
|
184
|
+
// hooks that register slightly later (their effect runs after init) still
|
|
185
|
+
// receive their slice.
|
|
186
|
+
if (data.type === 'preview_state_restore') {
|
|
187
|
+
const state = data.payload ?? {};
|
|
188
|
+
this.bufferedRestoreState = { ...(this.bufferedRestoreState ?? {}), ...state };
|
|
189
|
+
this.deliverBufferedRestore();
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
120
192
|
// Handle streaming tokens
|
|
121
193
|
if (data.type === 'stream_token') {
|
|
122
194
|
const { messageId, text } = data;
|
|
@@ -126,6 +198,33 @@ class FiasBridge {
|
|
|
126
198
|
}
|
|
127
199
|
return;
|
|
128
200
|
}
|
|
201
|
+
// Realtime subscription invalidation (ADR-012 Phase M4): notify-then-
|
|
202
|
+
// refetch — the event only says the collection changed.
|
|
203
|
+
if (data.type === 'subscription_event') {
|
|
204
|
+
const payload = data.payload;
|
|
205
|
+
if (typeof payload?.subscriptionId === 'string' && payload.event) {
|
|
206
|
+
const listeners = this.subscriptionEventListeners.get(payload.subscriptionId);
|
|
207
|
+
if (listeners) {
|
|
208
|
+
for (const listener of listeners)
|
|
209
|
+
listener(payload.event);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
// Terminal ending of a realtime subscription (host-side lease/authz).
|
|
215
|
+
if (data.type === 'subscription_ended') {
|
|
216
|
+
const payload = data.payload;
|
|
217
|
+
if (typeof payload?.subscriptionId === 'string' && payload.reason) {
|
|
218
|
+
const listeners = this.subscriptionEndedListeners.get(payload.subscriptionId);
|
|
219
|
+
if (listeners) {
|
|
220
|
+
for (const listener of listeners)
|
|
221
|
+
listener(payload.reason);
|
|
222
|
+
}
|
|
223
|
+
this.subscriptionEventListeners.delete(payload.subscriptionId);
|
|
224
|
+
this.subscriptionEndedListeners.delete(payload.subscriptionId);
|
|
225
|
+
}
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
129
228
|
// Handle response messages
|
|
130
229
|
if (data.type === 'response') {
|
|
131
230
|
const response = data;
|
|
@@ -135,7 +234,10 @@ class FiasBridge {
|
|
|
135
234
|
clearTimeout(pending.timer);
|
|
136
235
|
this.pendingRequests.delete(response.messageId);
|
|
137
236
|
if (response.error) {
|
|
138
|
-
|
|
237
|
+
// The wire format is plain fields (string + optional code); the Error
|
|
238
|
+
// instance is constructed HERE, never structured-cloned across the
|
|
239
|
+
// postMessage boundary.
|
|
240
|
+
pending.reject(new FiasBridgeError(response.error || 'Bridge request failed', response.errorCode ?? 'BRIDGE_ERROR'));
|
|
139
241
|
}
|
|
140
242
|
else {
|
|
141
243
|
pending.resolve(response.payload);
|
|
@@ -179,7 +281,12 @@ class FiasBridge {
|
|
|
179
281
|
* an out-of-date plugin before it tries to call ops the host removed.
|
|
180
282
|
*/
|
|
181
283
|
ready() {
|
|
182
|
-
this.send('ready', {
|
|
284
|
+
this.send('ready', {
|
|
285
|
+
sdkProtocolVersion: protocol_1.SDK_BRIDGE_PROTOCOL_VERSION,
|
|
286
|
+
// Advertise preview-state support so the host can snapshot/restore us
|
|
287
|
+
// across a preview rebuild. Older SDKs omit this and the host skips it.
|
|
288
|
+
supportsPreviewState: true,
|
|
289
|
+
});
|
|
183
290
|
}
|
|
184
291
|
/**
|
|
185
292
|
* Request the host to resize the plugin iframe.
|
|
@@ -202,7 +309,7 @@ class FiasBridge {
|
|
|
202
309
|
const messageId = generateMessageId();
|
|
203
310
|
const timer = setTimeout(() => {
|
|
204
311
|
this.pendingRequests.delete(messageId);
|
|
205
|
-
reject(new
|
|
312
|
+
reject(new FiasBridgeError(`Bridge request timed out: ${type}`, 'TIMEOUT'));
|
|
206
313
|
}, timeoutMs ?? DEFAULT_TIMEOUT_MS);
|
|
207
314
|
this.pendingRequests.set(messageId, {
|
|
208
315
|
resolve: resolve,
|
|
@@ -221,6 +328,16 @@ class FiasBridge {
|
|
|
221
328
|
getTheme() {
|
|
222
329
|
return this.theme;
|
|
223
330
|
}
|
|
331
|
+
/**
|
|
332
|
+
* Asset URLs for a platform-vendored library (init payload), or null when the
|
|
333
|
+
* host's CDN is unconfigured, the plugin lacks `sandbox:vendored-libraries`,
|
|
334
|
+
* or the library isn't vendored. Static per session — no update listener
|
|
335
|
+
* needed. `importSpecifier` is the library's bare module name (e.g.
|
|
336
|
+
* `'pdfjs-dist'`). See `useFiasVendoredAssets`.
|
|
337
|
+
*/
|
|
338
|
+
getVendoredAssets(importSpecifier) {
|
|
339
|
+
return this.vendoredAssets?.[importSpecifier] ?? null;
|
|
340
|
+
}
|
|
224
341
|
getCurrentPath() {
|
|
225
342
|
return this.currentPath;
|
|
226
343
|
}
|
|
@@ -236,6 +353,45 @@ class FiasBridge {
|
|
|
236
353
|
this.stepNavigationListeners.add(listener);
|
|
237
354
|
return () => this.stepNavigationListeners.delete(listener);
|
|
238
355
|
}
|
|
356
|
+
/**
|
|
357
|
+
* Opt into preview-state preservation. In the builder preview, an in-place
|
|
358
|
+
* rebuild reloads the iframe and destroys the plugin's in-memory state (e.g.
|
|
359
|
+
* a generated report). Registering here lets the host snapshot `getState()`
|
|
360
|
+
* before the reload and hand it back to `onRestore` afterwards.
|
|
361
|
+
*
|
|
362
|
+
* `key` namespaces the snapshot so independent callers don't collide. Outside
|
|
363
|
+
* preview mode the host never requests a capture, so this is inert. Returns an
|
|
364
|
+
* unregister function.
|
|
365
|
+
*/
|
|
366
|
+
registerPreviewState(key, getState, onRestore) {
|
|
367
|
+
this.previewStateProviders.set(key, getState);
|
|
368
|
+
this.previewStateRestoreListeners.set(key, onRestore);
|
|
369
|
+
// A restore may have arrived before this registration — deliver it now.
|
|
370
|
+
this.deliverBufferedRestore();
|
|
371
|
+
return () => {
|
|
372
|
+
this.previewStateProviders.delete(key);
|
|
373
|
+
this.previewStateRestoreListeners.delete(key);
|
|
374
|
+
};
|
|
375
|
+
}
|
|
376
|
+
/** Deliver any buffered restore payload to registered listeners (once per key). */
|
|
377
|
+
deliverBufferedRestore() {
|
|
378
|
+
if (!this.bufferedRestoreState)
|
|
379
|
+
return;
|
|
380
|
+
for (const [key, listener] of this.previewStateRestoreListeners) {
|
|
381
|
+
if (key in this.bufferedRestoreState) {
|
|
382
|
+
try {
|
|
383
|
+
listener(this.bufferedRestoreState[key]);
|
|
384
|
+
}
|
|
385
|
+
catch {
|
|
386
|
+
// A faulty restore handler must not break the bridge.
|
|
387
|
+
}
|
|
388
|
+
delete this.bufferedRestoreState[key];
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
if (Object.keys(this.bufferedRestoreState).length === 0) {
|
|
392
|
+
this.bufferedRestoreState = null;
|
|
393
|
+
}
|
|
394
|
+
}
|
|
239
395
|
/**
|
|
240
396
|
* Send a streaming entity_invoke request. Tokens arrive via stream_token
|
|
241
397
|
* messages and are forwarded to the onToken callback. The returned promise
|
|
@@ -248,7 +404,7 @@ class FiasBridge {
|
|
|
248
404
|
const messageId = generateMessageId();
|
|
249
405
|
const timer = setTimeout(() => {
|
|
250
406
|
this.pendingRequests.delete(messageId);
|
|
251
|
-
reject(new
|
|
407
|
+
reject(new FiasBridgeError('Bridge streaming request timed out: entity_invoke', 'TIMEOUT'));
|
|
252
408
|
}, 120000); // Longer timeout for streaming
|
|
253
409
|
this.pendingRequests.set(messageId, {
|
|
254
410
|
resolve: resolve,
|
|
@@ -270,12 +426,69 @@ class FiasBridge {
|
|
|
270
426
|
}
|
|
271
427
|
for (const pending of this.pendingRequests.values()) {
|
|
272
428
|
clearTimeout(pending.timer);
|
|
273
|
-
pending.reject(new
|
|
429
|
+
pending.reject(new FiasBridgeError('Bridge destroyed', 'BRIDGE_DESTROYED'));
|
|
274
430
|
}
|
|
275
431
|
this.pendingRequests.clear();
|
|
276
432
|
this.themeListeners.clear();
|
|
277
433
|
this.navigationListeners.clear();
|
|
278
434
|
this.stepNavigationListeners.clear();
|
|
435
|
+
this.previewStateProviders.clear();
|
|
436
|
+
this.previewStateRestoreListeners.clear();
|
|
437
|
+
this.bufferedRestoreState = null;
|
|
438
|
+
this.subscriptionEventListeners.clear();
|
|
439
|
+
this.subscriptionEndedListeners.clear();
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* Listens for invalidation events on a logical realtime subscription
|
|
443
|
+
* (the id returned by a subscribe-kind entity_invoke). Returns an
|
|
444
|
+
* unsubscribe function for the LISTENER only — releasing the
|
|
445
|
+
* subscription itself is `releaseSubscription`.
|
|
446
|
+
*/
|
|
447
|
+
onSubscriptionEvent(subscriptionId, listener) {
|
|
448
|
+
let set = this.subscriptionEventListeners.get(subscriptionId);
|
|
449
|
+
if (!set) {
|
|
450
|
+
set = new Set();
|
|
451
|
+
this.subscriptionEventListeners.set(subscriptionId, set);
|
|
452
|
+
}
|
|
453
|
+
set.add(listener);
|
|
454
|
+
return () => {
|
|
455
|
+
const listeners = this.subscriptionEventListeners.get(subscriptionId);
|
|
456
|
+
listeners?.delete(listener);
|
|
457
|
+
if (listeners && listeners.size === 0) {
|
|
458
|
+
this.subscriptionEventListeners.delete(subscriptionId);
|
|
459
|
+
}
|
|
460
|
+
};
|
|
461
|
+
}
|
|
462
|
+
/**
|
|
463
|
+
* Listens for the terminal ending of a logical realtime subscription.
|
|
464
|
+
* Reasons are a closed union — `authorization_revoked` and
|
|
465
|
+
* `collection_deleted` are definitive; the rest may be worth a fresh
|
|
466
|
+
* subscribe once conditions change.
|
|
467
|
+
*/
|
|
468
|
+
onSubscriptionEnded(subscriptionId, listener) {
|
|
469
|
+
let set = this.subscriptionEndedListeners.get(subscriptionId);
|
|
470
|
+
if (!set) {
|
|
471
|
+
set = new Set();
|
|
472
|
+
this.subscriptionEndedListeners.set(subscriptionId, set);
|
|
473
|
+
}
|
|
474
|
+
set.add(listener);
|
|
475
|
+
return () => {
|
|
476
|
+
const listeners = this.subscriptionEndedListeners.get(subscriptionId);
|
|
477
|
+
listeners?.delete(listener);
|
|
478
|
+
if (listeners && listeners.size === 0) {
|
|
479
|
+
this.subscriptionEndedListeners.delete(subscriptionId);
|
|
480
|
+
}
|
|
481
|
+
};
|
|
482
|
+
}
|
|
483
|
+
/**
|
|
484
|
+
* Releases one logical realtime subscription (fire-and-forget). The host
|
|
485
|
+
* refcounts: the underlying socket topic is torn down when the last
|
|
486
|
+
* logical subscriber releases.
|
|
487
|
+
*/
|
|
488
|
+
releaseSubscription(subscriptionId) {
|
|
489
|
+
this.subscriptionEventListeners.delete(subscriptionId);
|
|
490
|
+
this.subscriptionEndedListeners.delete(subscriptionId);
|
|
491
|
+
this.send('subscription_unsubscribe', { subscriptionId });
|
|
279
492
|
}
|
|
280
493
|
send(type, payload, messageId) {
|
|
281
494
|
if (typeof window === 'undefined')
|
package/dist/bridge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":";;;AAimBA,8BAKC;AAKD,kCAGC;AAnmBD,mCAA0C;AAC1C,yCAA6F;AAE7F,IAAI,cAAc,GAAG,CAAC,CAAC;AAEvB,SAAS,iBAAiB;IACxB,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAa,eAAgB,SAAQ,KAAK;IAGxC,YAAY,OAAe,EAAE,IAAY;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM;QACJ,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAC7E,CAAC;CACF;AAZD,0CAYC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,QAA4B;IAC1D,MAAM,QAAQ,GAAG,IAAA,uBAAe,EAAC,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;IAC1D,OAAO;QACL,GAAG,QAAQ;QACX,GAAG,QAAQ;QACX,MAAM,EAAE,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE;QAC1D,OAAO,EAAE,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE;QAC7D,KAAK,EAAE,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE;QACvD,UAAU,EAAE,EAAE,GAAG,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE;KACvE,CAAC;AACJ,CAAC;AASD,MAAM,kBAAkB,GAAG,KAAM,CAAC;AAElC;;;GAGG;AACH,MAAa,UAAU;IAqCrB;QApCQ,oBAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;QACpD,gBAAW,GAAG,KAAK,CAAC;QACpB,gBAAW,GAAyB,IAAI,CAAC;QACzC,gBAAW,GAAwB,IAAI,CAAC;QACxC,WAAM,GAAW,EAAE,CAAC;QACpB,gBAAW,GAAuB,EAAE,CAAC;QACrC,UAAK,GAAqB,IAAI,CAAC;QAC/B,mBAAc,GAA8B,IAAI,CAAC;QACjD,gBAAW,GAAW,EAAE,CAAC;QACzB,eAAU,GAAW,EAAE,CAAC;QACxB,mBAAc,GAAG,IAAI,GAAG,EAA8B,CAAC;QACvD,wBAAmB,GAAG,IAAI,GAAG,EAA0B,CAAC;QACxD,4BAAuB,GAAG,IAAI,GAAG,EAA4B,CAAC;QACtE,oEAAoE;QACpE,4EAA4E;QAC5E,6EAA6E;QACrE,0BAAqB,GAAG,IAAI,GAAG,EAAyB,CAAC;QACzD,iCAA4B,GAAG,IAAI,GAAG,EAAoC,CAAC;QACnF,sEAAsE;QACtE,wEAAwE;QACxE,0CAA0C;QAClC,yBAAoB,GAAmC,IAAI,CAAC;QACpE,sEAAsE;QACtE,uEAAuE;QACvE,wEAAwE;QACxE,oEAAoE;QAC5D,+BAA0B,GAAG,IAAI,GAAG,EAGzC,CAAC;QACI,+BAA0B,GAAG,IAAI,GAAG,EAGzC,CAAC;QACI,cAAS,GAAG,KAAK,CAAC;QAqSlB,kBAAa,GAAG,CAAC,KAAmB,EAAQ,EAAE;YACpD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACxB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAO;YAE5D,uEAAuE;YACvE,8DAA8D;YAC9D,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,WAAW;oBAAE,OAAO;gBAC7B,MAAM,OAAO,GAAG,IAAyB,CAAC;gBAE1C,mEAAmE;gBACnE,qEAAqE;gBACrE,qEAAqE;gBACrE,yEAAyE;gBACzE,+CAA+C;gBAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,IAAI,CAAC,CAAC;gBAC7D,IAAI,WAAW,GAAG,6CAAkC,EAAE,CAAC;oBACrD,iEAAiE;oBACjE,2DAA2D;oBAC3D,gEAAgE;oBAChE,8DAA8D;oBAC9D,iBAAiB;oBACjB,OAAO,CAAC,KAAK,CACX,oCAAoC,WAAW,6CAA6C,6CAAkC,kCAAkC,CACjK,CAAC;oBACF,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;gBACrC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC/C,IAAI,CAAC,KAAK,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC3D,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;gBAC7D,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACrB,gEAAgE;gBAChE,iEAAiE;gBACjE,mEAAmE;gBACnE,+DAA+D;gBAC/D,oEAAoE;gBACpE,gEAAgE;gBAChE,YAAY;gBACZ,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAChD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC7B,CAAC;gBACD,OAAO;YACT,CAAC;YAED,iEAAiE;YACjE,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU;gBAAE,OAAO;YAEhE,uBAAuB;YACvB,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBACjC,IAAI,CAAC,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,OAA6B,CAAC,CAAC;gBACxE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC3C,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;gBACD,OAAO;YACT,CAAC;YAED,4BAA4B;YAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAiB,CAAC;gBAC1C,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAChD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC7B,CAAC;gBACD,OAAO;YACT,CAAC;YAED,mCAAmC;YACnC,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBAClC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAA6B,CAAC;gBACtD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC/B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;wBACpD,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACnB,CAAC;gBACH,CAAC;gBACD,OAAO;YACT,CAAC;YAED,4EAA4E;YAC5E,4EAA4E;YAC5E,+CAA+C;YAC/C,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;gBAC1C,MAAM,QAAQ,GAA4B,EAAE,CAAC;gBAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBACzD,IAAI,CAAC;wBACH,+DAA+D;wBAC/D,sEAAsE;wBACtE,iEAAiE;wBACjE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACzD,CAAC;oBAAC,MAAM,CAAC;wBACP,8DAA8D;oBAChE,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;gBACrC,OAAO;YACT,CAAC;YAED,6EAA6E;YAC7E,0EAA0E;YAC1E,uBAAuB;YACvB,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;gBAC1C,MAAM,KAAK,GAAI,IAAI,CAAC,OAAmC,IAAI,EAAE,CAAC;gBAC9D,IAAI,CAAC,oBAAoB,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC;gBAC/E,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,0BAA0B;YAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBACjC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAyD,CAAC;gBACtF,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACpD,IAAI,OAAO,EAAE,OAAO,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACjD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;gBACD,OAAO;YACT,CAAC;YAED,sEAAsE;YACtE,wDAAwD;YACxD,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,IAAI,CAAC,OAGpB,CAAC;gBACF,IAAI,OAAO,OAAO,EAAE,cAAc,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBACjE,MAAM,SAAS,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;oBAC9E,IAAI,SAAS,EAAE,CAAC;wBACd,KAAK,MAAM,QAAQ,IAAI,SAAS;4BAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC5D,CAAC;gBACH,CAAC;gBACD,OAAO;YACT,CAAC;YAED,sEAAsE;YACtE,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,IAAI,CAAC,OAGpB,CAAC;gBACF,IAAI,OAAO,OAAO,EAAE,cAAc,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBAClE,MAAM,SAAS,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;oBAC9E,IAAI,SAAS,EAAE,CAAC;wBACd,KAAK,MAAM,QAAQ,IAAI,SAAS;4BAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAC7D,CAAC;oBACD,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;oBAC/D,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACjE,CAAC;gBACD,OAAO;YACT,CAAC;YAED,2BAA2B;YAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,IAAsB,CAAC;gBACxC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC7D,IAAI,CAAC,OAAO;oBAAE,OAAO;gBAErB,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC5B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAEhD,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACnB,sEAAsE;oBACtE,mEAAmE;oBACnE,wBAAwB;oBACxB,OAAO,CAAC,MAAM,CACZ,IAAI,eAAe,CACjB,QAAQ,CAAC,KAAK,IAAI,uBAAuB,EACzC,QAAQ,CAAC,SAAS,IAAI,cAAc,CACrC,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAldA,IAAI,CAAC,WAAW,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACzC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACH,MAAM;QACJ,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACrD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACvD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAEtB,iEAAiE;YACjE,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC7B,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,GAAG,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAC7B,OAAO,IAAI,CAAC,WAAY,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,kBAAkB,EAAE,sCAA2B;YAC/C,sEAAsE;YACtE,wEAAwE;YACxE,oBAAoB,EAAE,IAAI;SAC3B,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAc;QACnB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,OAAe,EAAE,UAAoD,MAAM;QACnF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CACX,IAA6B,EAC7B,OAAgB,EAChB,SAAkB;QAElB,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAEzB,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACvC,MAAM,CAAC,IAAI,eAAe,CAAC,6BAA6B,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;YAC9E,CAAC,EAAE,SAAS,IAAI,kBAAkB,CAAC,CAAC;YAEpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE;gBAClC,OAAO,EAAE,OAAmC;gBAC5C,MAAM;gBACN,KAAK;aACN,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,eAAuB;QACvC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC;IACxD,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,aAAa,CAAC,QAAoC;QAChD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,kBAAkB,CAAC,QAAgC;QACjD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED,sBAAsB,CAAC,QAAkC;QACvD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;;;OASG;IACH,oBAAoB,CAClB,GAAW,EACX,QAAuB,EACvB,SAAmC;QAEnC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACtD,wEAAwE;QACxE,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChD,CAAC,CAAC;IACJ,CAAC;IAED,mFAAmF;IAC3E,sBAAsB;QAC5B,IAAI,CAAC,IAAI,CAAC,oBAAoB;YAAE,OAAO;QACvC,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,4BAA4B,EAAE,CAAC;YAChE,IAAI,GAAG,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBACrC,IAAI,CAAC;oBACH,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3C,CAAC;gBAAC,MAAM,CAAC;oBACP,sDAAsD;gBACxD,CAAC;gBACD,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CACjB,OAAgB,EAChB,OAA+B;QAE/B,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAEzB,OAAO,IAAI,OAAO,CAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7D,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACvC,MAAM,CAAC,IAAI,eAAe,CAAC,mDAAmD,EAAE,SAAS,CAAC,CAAC,CAAC;YAC9F,CAAC,EAAE,MAAO,CAAC,CAAC,CAAC,+BAA+B;YAE5C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE;gBAClC,OAAO,EAAE,OAAmC;gBAC5C,MAAM;gBACN,KAAK;gBACL,OAAO;aACR,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,GAAI,OAAkB,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpD,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1D,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;YACpD,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO,CAAC,MAAM,CAAC,IAAI,eAAe,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,CAAC;QAC1C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC;QACxC,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACH,mBAAmB,CACjB,cAAsB,EACtB,QAAgE;QAEhE,IAAI,GAAG,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC9D,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAC3D,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClB,OAAO,GAAG,EAAE;YACV,MAAM,SAAS,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACtE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC5B,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,mBAAmB,CACjB,cAAsB,EACtB,QAAmD;QAEnD,IAAI,GAAG,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC9D,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAC3D,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClB,OAAO,GAAG,EAAE;YACV,MAAM,SAAS,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACtE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC5B,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,cAAsB;QACxC,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACvD,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IAC5D,CAAC;IAoLO,IAAI,CAAC,IAA6B,EAAE,OAAgB,EAAE,SAAkB;QAC9E,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO;QAE1C,MAAM,OAAO,GAAkB;YAC7B,IAAI;YACJ,SAAS,EAAE,SAAS,IAAI,iBAAiB,EAAE;YAC3C,OAAO;SACR,CAAC;QAEF,qEAAqE;QACrE,gEAAgE;QAChE,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,CAAC;CACF;AAxgBD,gCAwgBC;AAED;;;;;GAKG;AACH,IAAI,cAAc,GAAsB,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAEhG,SAAgB,SAAS;IACvB,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,cAAc,GAAG,IAAI,UAAU,EAAE,CAAC;IACpC,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW;IACzB,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,cAAc,GAAG,IAAI,CAAC;AACxB,CAAC"}
|