hyperstack-react 0.2.2 → 0.2.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/index.d.ts CHANGED
@@ -4,10 +4,23 @@ import * as zustand from 'zustand';
4
4
  interface EntityFrame<T = unknown> {
5
5
  mode: 'state' | 'append' | 'list';
6
6
  entity: string;
7
- op: 'create' | 'upsert' | 'patch' | 'delete';
7
+ op: 'create' | 'upsert' | 'patch' | 'delete' | 'snapshot';
8
8
  key: string;
9
9
  data: T;
10
+ append?: string[];
10
11
  }
12
+ interface SnapshotEntity<T = unknown> {
13
+ key: string;
14
+ data: T;
15
+ }
16
+ interface SnapshotFrame<T = unknown> {
17
+ mode: 'state' | 'append' | 'list';
18
+ entity: string;
19
+ op: 'snapshot';
20
+ data: SnapshotEntity<T>[];
21
+ }
22
+ type Frame<T = unknown> = EntityFrame<T> | SnapshotFrame<T>;
23
+ declare function isSnapshotFrame<T>(frame: Frame<T>): frame is SnapshotFrame<T>;
11
24
  interface Subscription {
12
25
  view: string;
13
26
  key?: string;
@@ -26,8 +39,8 @@ interface HyperSDKConfig {
26
39
  reconnectIntervals?: number[];
27
40
  maxReconnectAttempts?: number;
28
41
  initialSubscriptions?: Subscription[];
29
- supportsUnsubscribe?: boolean;
30
42
  autoSubscribeDefault?: boolean;
43
+ maxEntriesPerView?: number | null;
31
44
  }
32
45
  declare const DEFAULT_CONFIG: HyperSDKConfig;
33
46
  declare class HyperStreamError extends Error {
@@ -108,7 +121,7 @@ interface ListViewHook<T> {
108
121
  use: (params?: ListParams, options?: ViewHookOptions) => ViewHookResult<T[]>;
109
122
  }
110
123
 
111
- type FrameHandler = <T>(frame: EntityFrame<T>) => void;
124
+ type FrameHandler = <T>(frame: Frame<T>) => void;
112
125
  type StateHandler = (state: ConnectionState, error?: string) => void;
113
126
  declare class ConnectionManager {
114
127
  private ws;
@@ -118,6 +131,7 @@ declare class ConnectionManager {
118
131
  private pingInterval;
119
132
  private currentState;
120
133
  private subscriptionQueue;
134
+ private activeSubscriptions;
121
135
  private onFrame?;
122
136
  private onStateChange?;
123
137
  constructor(config?: Partial<HyperSDKConfig>);
@@ -131,7 +145,9 @@ declare class ConnectionManager {
131
145
  disconnect(): void;
132
146
  updateConfig(newConfig: Partial<HyperSDKConfig>): void;
133
147
  subscribe(subscription: Subscription): void;
134
- unsubscribe(_view: string, _key?: string): void;
148
+ unsubscribe(view: string, key?: string): void;
149
+ private makeSubKey;
150
+ private resubscribeActive;
135
151
  private parseBinaryFrame;
136
152
  private updateState;
137
153
  private handleReconnect;
@@ -140,6 +156,20 @@ declare class ConnectionManager {
140
156
  private stopPingInterval;
141
157
  }
142
158
 
159
+ declare class ViewData<T = unknown> {
160
+ private entities;
161
+ private accessOrder;
162
+ get(key: string): T | undefined;
163
+ set(key: string, value: T): void;
164
+ delete(key: string): boolean;
165
+ has(key: string): boolean;
166
+ values(): IterableIterator<T>;
167
+ keys(): string[];
168
+ get size(): number;
169
+ touch(key: string): void;
170
+ evictOldest(): string | undefined;
171
+ toMap(): Map<string, T>;
172
+ }
143
173
  type SubKey = string;
144
174
  interface SubscriptionTracker {
145
175
  subscription: Subscription;
@@ -155,7 +185,7 @@ interface ViewCache {
155
185
  [viewPath: string]: ViewMetadata;
156
186
  }
157
187
  interface HyperStore extends HyperState {
158
- handleFrame: <T>(frame: EntityFrame<T>) => void;
188
+ handleFrame: <T>(frame: Frame<T>) => void;
159
189
  _incRef: (subscription: Subscription) => void;
160
190
  _decRef: (subscription: Subscription) => void;
161
191
  _getRefCount: (subscription: Subscription) => number;
@@ -167,6 +197,8 @@ interface HyperStore extends HyperState {
167
197
  subscriptionRefs: Map<SubKey, SubscriptionTracker>;
168
198
  connectionManager: ConnectionManager;
169
199
  viewCache: ViewCache;
200
+ viewDataMap: Map<string, ViewData<unknown>>;
201
+ maxEntriesPerView: number | null;
170
202
  }
171
203
  declare function createHyperStore(config?: Partial<HyperSDKConfig>): zustand.UseBoundStore<zustand.StoreApi<HyperStore>>;
172
204
 
@@ -234,5 +266,5 @@ type StackClient<TStack extends StackDefinition> = {
234
266
  };
235
267
  declare function useHyperstack<TStack extends StackDefinition>(stack: TStack): StackClient<TStack>;
236
268
 
237
- export { ConnectionManager, DEFAULT_CONFIG, HyperStreamError, HyperstackProvider, createRuntime, useConnectionState, useHyperstack, useHyperstackContext };
238
- export type { ConnectionState, EntityFrame, HyperSDKConfig, HyperstackConfig, HyperstackRuntime, ListParams, ListViewHook, NetworkConfig, StackDefinition, StateViewHook, Subscription, SubscriptionHandle, TransactionDefinition, UseMutationReturn, ViewHookOptions, ViewHookResult, ViewMode, WalletAdapter };
269
+ export { ConnectionManager, DEFAULT_CONFIG, HyperStreamError, HyperstackProvider, createRuntime, isSnapshotFrame, useConnectionState, useHyperstack, useHyperstackContext };
270
+ export type { ConnectionState, EntityFrame, Frame, HyperSDKConfig, HyperstackConfig, HyperstackRuntime, ListParams, ListViewHook, NetworkConfig, SnapshotEntity, SnapshotFrame, StackDefinition, StateViewHook, Subscription, SubscriptionHandle, TransactionDefinition, UseMutationReturn, ViewHookOptions, ViewHookResult, ViewMode, WalletAdapter };
package/dist/index.esm.js CHANGED
@@ -1,13 +1,17 @@
1
1
  import React, { createContext, useMemo, useRef, useEffect, useContext, useSyncExternalStore, useState, useCallback } from 'react';
2
2
  import { create } from 'zustand';
3
3
 
4
+ function isSnapshotFrame(frame) {
5
+ return frame.op === 'snapshot';
6
+ }
7
+ const DEFAULT_MAX_ENTRIES_PER_VIEW = 10000;
4
8
  const DEFAULT_CONFIG = {
5
9
  websocketUrl: 'ws://localhost:8080',
6
10
  reconnectIntervals: [1000, 2000, 4000, 8000, 16000],
7
11
  maxReconnectAttempts: 5,
8
12
  initialSubscriptions: [],
9
- supportsUnsubscribe: false,
10
13
  autoSubscribeDefault: true,
14
+ maxEntriesPerView: DEFAULT_MAX_ENTRIES_PER_VIEW,
11
15
  };
12
16
  class HyperStreamError extends Error {
13
17
  constructor(message, code, details) {
@@ -27,6 +31,7 @@ class ConnectionManager {
27
31
  this.pingInterval = null;
28
32
  this.currentState = 'disconnected';
29
33
  this.subscriptionQueue = [];
34
+ this.activeSubscriptions = new Set(); // Track active subscriptions for reconnect
30
35
  this.config = { ...DEFAULT_CONFIG, ...config };
31
36
  }
32
37
  // set callbacks
@@ -47,51 +52,45 @@ class ConnectionManager {
47
52
  if (this.ws?.readyState === WebSocket.OPEN ||
48
53
  this.ws?.readyState === WebSocket.CONNECTING ||
49
54
  this.currentState === 'connecting') {
50
- console.log('Connection already exists or in progress, skipping connect');
51
55
  return;
52
56
  }
53
- console.log('[Hyperstack] Connecting to WebSocket...');
54
- this.updateState('connecting'); // update UI state immediately
57
+ this.updateState('connecting');
55
58
  try {
56
59
  this.ws = new WebSocket(this.config.websocketUrl);
57
60
  this.ws.onopen = () => {
58
- console.log('[Hyperstack] WebSocket connected');
59
- this.reconnectAttempts = 0; // reset retry counter on successful connect
60
- this.updateState('connected'); // notify store/UI of successful connection
61
- this.startPingInterval(); // start keep-alive ping
62
- // send global subscriptions first (from config)
61
+ const wasReconnect = this.reconnectAttempts > 0;
62
+ this.reconnectAttempts = 0;
63
+ this.updateState('connected');
64
+ this.startPingInterval();
63
65
  if (this.config.initialSubscriptions) {
64
66
  for (const sub of this.config.initialSubscriptions) {
65
67
  this.subscribe(sub);
66
68
  }
67
69
  }
68
- // flush queued subscriptions from when we were offline
69
70
  while (this.subscriptionQueue.length > 0) {
70
71
  const sub = this.subscriptionQueue.shift();
71
72
  this.subscribe(sub);
72
73
  }
74
+ if (wasReconnect) {
75
+ this.resubscribeActive();
76
+ }
73
77
  };
74
- // core message handler - parses incoming data into EntityFrames
75
78
  this.ws.onmessage = async (event) => {
76
79
  try {
77
80
  let frame;
78
81
  if (event.data instanceof ArrayBuffer) {
79
- // binary data as ArrayBuffer
80
82
  frame = this.parseBinaryFrame(event.data);
81
83
  }
82
84
  else if (event.data instanceof Blob) {
83
- // binary data as Blob - convert to ArrayBuffer
84
85
  const arrayBuffer = await event.data.arrayBuffer();
85
86
  frame = this.parseBinaryFrame(arrayBuffer);
86
87
  }
87
88
  else if (typeof event.data === 'string') {
88
- // JSON text data
89
89
  frame = JSON.parse(event.data);
90
90
  }
91
91
  else {
92
92
  throw new Error(`Unsupported message type: ${typeof event.data}`);
93
93
  }
94
- // fw parsed frame to store for entity updates
95
94
  this.onFrame?.(frame);
96
95
  }
97
96
  catch (error) {
@@ -104,13 +103,9 @@ class ConnectionManager {
104
103
  console.error('WebSocket error:', error);
105
104
  this.updateState('error', 'WebSocket connection error'); // Notify store/UI of errors
106
105
  };
107
- // connection lost handler with auto-reconnection
108
106
  this.ws.onclose = () => {
109
- console.log('WebSocket disconnected');
110
107
  this.stopPingInterval();
111
108
  this.ws = null;
112
- // only auto-reconnect if we didn't explicitly disconnect
113
- // this preserves subscriptions across temporary network issues
114
109
  if (this.currentState !== 'disconnected') {
115
110
  this.handleReconnect();
116
111
  }
@@ -134,38 +129,48 @@ class ConnectionManager {
134
129
  this.config = { ...this.config, ...newConfig };
135
130
  }
136
131
  subscribe(subscription) {
132
+ const subKey = this.makeSubKey(subscription);
137
133
  if (this.currentState === 'connected' && this.ws && this.ws.readyState === WebSocket.OPEN) {
138
- console.log('[Hyperstack] Subscribing to:', subscription.view);
139
- const message = JSON.stringify(subscription);
140
- this.ws.send(message);
134
+ const subMsg = { type: 'subscribe', ...subscription };
135
+ this.ws.send(JSON.stringify(subMsg));
136
+ this.activeSubscriptions.add(subKey);
141
137
  }
142
138
  else {
143
139
  this.subscriptionQueue.push(subscription);
144
140
  }
145
141
  }
146
- // Unsubscribe support (feature-gated by server capabilities)
147
- unsubscribe(_view, _key) {
148
- if (this.config.supportsUnsubscribe && this.currentState === 'connected' && this.ws) {
149
- // only send unsubscribe if server supports it - TO DO
150
- console.warn('Unsubscribe not yet implemented on server side');
142
+ unsubscribe(view, key) {
143
+ const subscription = { view, key };
144
+ const subKey = this.makeSubKey(subscription);
145
+ if (this.activeSubscriptions.has(subKey)) {
146
+ this.activeSubscriptions.delete(subKey);
147
+ if (this.ws?.readyState === WebSocket.OPEN) {
148
+ const unsubMsg = { type: 'unsubscribe', view, key };
149
+ this.ws.send(JSON.stringify(unsubMsg));
150
+ }
151
+ }
152
+ }
153
+ makeSubKey(subscription) {
154
+ return `${subscription.view}:${subscription.key ?? '*'}:${subscription.partition ?? ''}`;
155
+ }
156
+ resubscribeActive() {
157
+ for (const subKey of this.activeSubscriptions) {
158
+ const [view, key, partition] = subKey.split(':');
159
+ const subscription = {
160
+ view: view ?? '',
161
+ key: key === '*' ? undefined : key,
162
+ partition: partition || undefined,
163
+ };
164
+ if (this.ws?.readyState === WebSocket.OPEN) {
165
+ const subMsg = { type: 'subscribe', ...subscription };
166
+ this.ws.send(JSON.stringify(subMsg));
167
+ }
151
168
  }
152
169
  }
153
- // binary frame parser - converts WebSocket binary data to EntityFrame
154
170
  parseBinaryFrame(data) {
155
- // server sends JSON Frame serialized as binary bytes
156
- // convert binary data back to JSON string and parse
157
171
  const decoder = new TextDecoder('utf-8');
158
172
  const jsonString = decoder.decode(data);
159
- // parse the Frame JSON sent by projector
160
- const frame = JSON.parse(jsonString);
161
- // convert to EntityFrame format expected by SDK
162
- return {
163
- mode: frame.mode,
164
- entity: frame.entity, // Backend serializes view path as 'entity' field
165
- op: frame.op,
166
- key: frame.key,
167
- data: frame.data
168
- };
173
+ return JSON.parse(jsonString);
169
174
  }
170
175
  // Internal state change handler - notifies store and triggers UI re-renders
171
176
  updateState(state, error) {
@@ -186,10 +191,8 @@ class ConnectionManager {
186
191
  const attemptIndex = Math.min(this.reconnectAttempts, intervals.length - 1);
187
192
  const delay = intervals[attemptIndex];
188
193
  this.reconnectAttempts++;
189
- // delayed reconnection with exponential backoff
190
194
  this.reconnectTimeout = setTimeout(() => {
191
- console.log(`Reconnect attempt ${this.reconnectAttempts} after ${delay}ms delay`);
192
- this.connect(); // recursive call - will restore subscriptions on success
195
+ this.connect();
193
196
  }, delay);
194
197
  }
195
198
  // Cleanup helper for reconnection timer
@@ -203,7 +206,7 @@ class ConnectionManager {
203
206
  this.stopPingInterval();
204
207
  this.pingInterval = setInterval(() => {
205
208
  if (this.ws?.readyState === WebSocket.OPEN) {
206
- this.ws.send(JSON.stringify({ type: 'ping' }));
209
+ this.ws.send('{"type":"ping"}');
207
210
  }
208
211
  }, 15000);
209
212
  }
@@ -215,7 +218,64 @@ class ConnectionManager {
215
218
  }
216
219
  }
217
220
 
218
- function deepMerge(target, source) {
221
+ class ViewData {
222
+ constructor() {
223
+ this.entities = new Map();
224
+ this.accessOrder = [];
225
+ }
226
+ get(key) {
227
+ return this.entities.get(key);
228
+ }
229
+ set(key, value) {
230
+ if (!this.entities.has(key)) {
231
+ this.accessOrder.push(key);
232
+ }
233
+ else {
234
+ this.touch(key);
235
+ }
236
+ this.entities.set(key, value);
237
+ }
238
+ delete(key) {
239
+ const idx = this.accessOrder.indexOf(key);
240
+ if (idx !== -1) {
241
+ this.accessOrder.splice(idx, 1);
242
+ }
243
+ return this.entities.delete(key);
244
+ }
245
+ has(key) {
246
+ return this.entities.has(key);
247
+ }
248
+ values() {
249
+ return this.entities.values();
250
+ }
251
+ keys() {
252
+ return Array.from(this.entities.keys());
253
+ }
254
+ get size() {
255
+ return this.entities.size;
256
+ }
257
+ touch(key) {
258
+ const idx = this.accessOrder.indexOf(key);
259
+ if (idx !== -1) {
260
+ this.accessOrder.splice(idx, 1);
261
+ this.accessOrder.push(key);
262
+ }
263
+ }
264
+ evictOldest() {
265
+ const oldest = this.accessOrder.shift();
266
+ if (oldest !== undefined) {
267
+ this.entities.delete(oldest);
268
+ }
269
+ return oldest;
270
+ }
271
+ toMap() {
272
+ return new Map(this.entities);
273
+ }
274
+ }
275
+ function isObject(item) {
276
+ return item && typeof item === 'object' && !Array.isArray(item);
277
+ }
278
+ function deepMergeWithAppend(target, source, appendPaths, currentPath = '') {
219
279
  if (!isObject(target) || !isObject(source)) {
220
280
  return source;
221
281
  }
@@ -223,8 +283,17 @@ function deepMerge(target, source) {
223
283
  for (const key in source) {
224
284
  const sourceValue = source[key];
225
285
  const targetValue = result[key];
226
- if (isObject(sourceValue) && isObject(targetValue)) {
227
- result[key] = deepMerge(targetValue, sourceValue);
286
+ const fieldPath = currentPath ? `${currentPath}.${key}` : key;
287
+ if (Array.isArray(sourceValue) && Array.isArray(targetValue)) {
288
+ if (appendPaths.includes(fieldPath)) {
289
+ result[key] = [...targetValue, ...sourceValue];
290
+ }
291
+ else {
292
+ result[key] = sourceValue;
293
+ }
294
+ }
295
+ else if (isObject(sourceValue) && isObject(targetValue)) {
296
+ result[key] = deepMergeWithAppend(targetValue, sourceValue, appendPaths, fieldPath);
228
297
  }
229
298
  else {
230
299
  result[key] = sourceValue;
@@ -232,9 +301,6 @@ function deepMerge(target, source) {
232
301
  }
233
302
  return result;
234
303
  }
235
- function isObject(item) {
236
- return item && typeof item === 'object' && !Array.isArray(item);
237
- }
238
304
  function createHyperStore(config = {}) {
239
305
  return create((set, get) => {
240
306
  const connectionManager = new ConnectionManager({ ...DEFAULT_CONFIG, ...config });
@@ -247,6 +313,16 @@ function createHyperStore(config = {}) {
247
313
  set({ connectionState, lastError: error });
248
314
  }
249
315
  });
316
+ const maxEntriesPerView = config.maxEntriesPerView === undefined
317
+ ? DEFAULT_MAX_ENTRIES_PER_VIEW
318
+ : config.maxEntriesPerView;
319
+ const enforceMaxEntries = (viewData, max) => {
320
+ if (max === null)
321
+ return;
322
+ while (viewData.size > max) {
323
+ viewData.evictOldest();
324
+ }
325
+ };
250
326
  return {
251
327
  connectionState: 'disconnected',
252
328
  lastError: undefined,
@@ -255,32 +331,51 @@ function createHyperStore(config = {}) {
255
331
  subscriptionRefs: new Map(),
256
332
  connectionManager,
257
333
  viewCache: {},
334
+ viewDataMap: new Map(),
335
+ maxEntriesPerView,
258
336
  handleFrame: (frame) => {
259
337
  set((state) => {
260
- const newEntities = new Map(state.entities);
338
+ const newViewDataMap = new Map(state.viewDataMap);
261
339
  const viewPath = frame.entity;
262
- const entityMap = new Map(newEntities.get(viewPath) || new Map());
263
- switch (frame.op) {
264
- case 'upsert':
265
- entityMap.set(frame.key, frame.data);
266
- break;
267
- case 'patch':
268
- const existing = entityMap.get(frame.key);
269
- if (existing && typeof existing === 'object' && typeof frame.data === 'object') {
270
- entityMap.set(frame.key, deepMerge(existing, frame.data));
271
- }
272
- else {
273
- entityMap.set(frame.key, frame.data);
274
- }
275
- break;
276
- case 'delete':
277
- entityMap.delete(frame.key);
278
- break;
340
+ let viewData = newViewDataMap.get(viewPath);
341
+ if (!viewData) {
342
+ viewData = new ViewData();
343
+ newViewDataMap.set(viewPath, viewData);
344
+ }
345
+ if (isSnapshotFrame(frame)) {
346
+ for (const entity of frame.data) {
347
+ viewData.set(entity.key, entity.data);
348
+ }
349
+ enforceMaxEntries(viewData, state.maxEntriesPerView);
279
350
  }
280
- newEntities.set(viewPath, entityMap);
351
+ else {
352
+ switch (frame.op) {
353
+ case 'upsert':
354
+ case 'create':
355
+ viewData.set(frame.key, frame.data);
356
+ enforceMaxEntries(viewData, state.maxEntriesPerView);
357
+ break;
358
+ case 'patch':
359
+ const existing = viewData.get(frame.key);
360
+ const appendPaths = frame.append ?? [];
361
+ if (existing && typeof existing === 'object' && typeof frame.data === 'object') {
362
+ viewData.set(frame.key, deepMergeWithAppend(existing, frame.data, appendPaths));
363
+ }
364
+ else {
365
+ viewData.set(frame.key, frame.data);
366
+ }
367
+ enforceMaxEntries(viewData, state.maxEntriesPerView);
368
+ break;
369
+ case 'delete':
370
+ viewData.delete(frame.key);
371
+ break;
372
+ }
373
+ }
374
+ const newEntities = new Map(state.entities);
375
+ newEntities.set(viewPath, viewData.toMap());
281
376
  const newViewCache = { ...state.viewCache };
282
377
  const currentMetadata = newViewCache[viewPath];
283
- const keys = Array.from(entityMap.keys());
378
+ const keys = viewData.keys();
284
379
  newViewCache[viewPath] = {
285
380
  mode: (frame.mode === 'state' || frame.mode === 'list') ? frame.mode : 'list',
286
381
  keys,
@@ -290,6 +385,7 @@ function createHyperStore(config = {}) {
290
385
  return {
291
386
  ...state,
292
387
  entities: newEntities,
388
+ viewDataMap: newViewDataMap,
293
389
  recentFrames: [frame, ...state.recentFrames],
294
390
  viewCache: newViewCache
295
391
  };
@@ -769,5 +865,5 @@ function useHyperstack(stack) {
769
865
  };
770
866
  }
771
867
 
772
- export { ConnectionManager, DEFAULT_CONFIG, HyperStreamError, HyperstackProvider, createRuntime, useConnectionState, useHyperstack, useHyperstackContext };
868
+ export { ConnectionManager, DEFAULT_CONFIG, HyperStreamError, HyperstackProvider, createRuntime, isSnapshotFrame, useConnectionState, useHyperstack, useHyperstackContext };
773
869
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/types.ts","../src/connection.ts","../src/store.ts","../src/runtime.ts","../src/provider.tsx","../src/view-hooks.ts","../src/tx-hooks.ts","../src/stack.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/types.ts","../src/connection.ts","../src/store.ts","../src/runtime.ts","../src/provider.tsx","../src/view-hooks.ts","../src/tx-hooks.ts","../src/stack.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":[],"mappings":";;;AAuBM,SAAU,eAAe,CAAI,KAAe,EAAA;AAChD,IAAA,OAAO,KAAK,CAAC,EAAE,KAAK,UAAU,CAAC;AACjC,CAAC;AAuBM,MAAM,4BAA4B,GAAG,KAAM,CAAC;AAWtC,MAAA,cAAc,GAAmB;AAC5C,IAAA,YAAY,EAAE,qBAAqB;IACnC,kBAAkB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;AACnD,IAAA,oBAAoB,EAAE,CAAC;AACvB,IAAA,oBAAoB,EAAE,EAAE;AACxB,IAAA,oBAAoB,EAAE,IAAI;AAC1B,IAAA,iBAAiB,EAAE,4BAA4B;EAC/C;AAEI,MAAO,gBAAiB,SAAQ,KAAK,CAAA;AACzC,IAAA,WAAA,CACE,OAAe,EACR,IAAY,EACZ,OAAiB,EAAA;QAExB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;QACZ,IAAO,CAAA,OAAA,GAAP,OAAO,CAAU;AAGxB,QAAA,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;KAChC;AACF;;ACvED;MACa,iBAAiB,CAAA;AAa5B,IAAA,WAAA,CAAY,SAAkC,EAAE,EAAA;QAZxC,IAAE,CAAA,EAAA,GAAqB,IAAI,CAAC;QAE5B,IAAiB,CAAA,iBAAA,GAAG,CAAC,CAAC;QACtB,IAAgB,CAAA,gBAAA,GAAyC,IAAI,CAAC;QAC9D,IAAY,CAAA,YAAA,GAA0C,IAAI,CAAC;QAC3D,IAAY,CAAA,YAAA,GAAoB,cAAc,CAAC;QAC/C,IAAiB,CAAA,iBAAA,GAAmB,EAAE,CAAC;AACvC,QAAA,IAAA,CAAA,mBAAmB,GAAgB,IAAI,GAAG,EAAE,CAAC;QAMnD,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;KAChD;;AAGD,IAAA,WAAW,CAAC,QAGX,EAAA;AACC,QAAA,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;AAChC,QAAA,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;KAC7C;;IAGD,QAAQ,GAAA;QACN,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;IAED,SAAS,GAAA;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;;IAGD,OAAO,GAAA;;QAEL,IAAI,IAAI,CAAC,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI;AACxC,YAAA,IAAI,CAAC,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,UAAU;AAC5C,YAAA,IAAI,CAAC,YAAY,KAAK,YAAY,EAAE;YACpC,OAAO;SACR;AAED,QAAA,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;AAE/B,QAAA,IAAI;AACF,YAAA,IAAI,CAAC,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,YAAa,CAAC,CAAC;AAEnD,YAAA,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,MAAK;AACpB,gBAAA,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;AAChD,gBAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;AAC3B,gBAAA,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;gBAE9B,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAEzB,gBAAA,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE;oBACpC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE;AAClD,wBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;qBACrB;iBACF;gBAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;oBACxC,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAG,CAAC;AAC5C,oBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;iBACrB;gBAED,IAAI,YAAY,EAAE;oBAChB,IAAI,CAAC,iBAAiB,EAAE,CAAC;iBAC1B;AACH,aAAC,CAAC;YAEF,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,OAAO,KAAK,KAAI;AAClC,gBAAA,IAAI;AACF,oBAAA,IAAI,KAAY,CAAC;AAEjB,oBAAA,IAAI,KAAK,CAAC,IAAI,YAAY,WAAW,EAAE;wBACrC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;qBAC3C;AAAM,yBAAA,IAAI,KAAK,CAAC,IAAI,YAAY,IAAI,EAAE;wBACrC,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AACnD,wBAAA,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;qBAC5C;AAAM,yBAAA,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;wBACzC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAU,CAAC;qBACzC;yBAAM;wBACL,MAAM,IAAI,KAAK,CAAC,CAA6B,0BAAA,EAAA,OAAO,KAAK,CAAC,IAAI,CAAE,CAAA,CAAC,CAAC;qBACnE;AAED,oBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;iBACvB;gBAAC,OAAO,KAAK,EAAE;AACd,oBAAA,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;AAC/C,oBAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAAC;iBAChE;AACH,aAAC,CAAC;;YAGF,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,KAAK,KAAI;AAC1B,gBAAA,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;gBACzC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;AAC1D,aAAC,CAAC;AAEF,YAAA,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,MAAK;gBACrB,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACxB,gBAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;AAEf,gBAAA,IAAI,IAAI,CAAC,YAAY,KAAK,cAAc,EAAE;oBACxC,IAAI,CAAC,eAAe,EAAE,CAAC;iBACxB;AACH,aAAC,CAAC;SAEH;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;AACpD,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,uCAAuC,CAAC,CAAC;SACpE;KACF;IAED,UAAU,GAAA;QACR,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAExB,QAAA,IAAI,IAAI,CAAC,EAAE,EAAE;AACX,YAAA,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;AAChB,YAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;SAChB;AAED,QAAA,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;KAClC;AAED,IAAA,YAAY,CAAC,SAAkC,EAAA;AAC7C,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;KAChD;AAED,IAAA,SAAS,CAAC,YAA0B,EAAA;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAE7C,IAAI,IAAI,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE;YACzF,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,YAAY,EAAE,CAAC;AACtD,YAAA,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AACrC,YAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SACtC;aAAM;AACL,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC3C;KACF;IAED,WAAW,CAAC,IAAY,EAAE,GAAY,EAAA;AACpC,QAAA,MAAM,YAAY,GAAiB,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAE7C,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;AACxC,YAAA,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAExC,IAAI,IAAI,CAAC,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE;gBAC1C,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AACpD,gBAAA,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;aACxC;SACF;KACF;AAEO,IAAA,UAAU,CAAC,YAA0B,EAAA;AAC3C,QAAA,OAAO,GAAG,YAAY,CAAC,IAAI,CAAA,CAAA,EAAI,YAAY,CAAC,GAAG,IAAI,GAAG,IAAI,YAAY,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;KAC1F;IAEO,iBAAiB,GAAA;AACvB,QAAA,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC7C,YAAA,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACjD,YAAA,MAAM,YAAY,GAAiB;gBACjC,IAAI,EAAE,IAAI,IAAI,EAAE;gBAChB,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,SAAS,GAAG,GAAG;gBAClC,SAAS,EAAE,SAAS,IAAI,SAAS;aAClC,CAAC;YAEF,IAAI,IAAI,CAAC,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE;gBAC1C,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,YAAY,EAAE,CAAC;AACtD,gBAAA,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;aACtC;SACF;KACF;AAEO,IAAA,gBAAgB,CAAC,IAAiB,EAAA;AACxC,QAAA,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACxC,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAU,CAAC;KACxC;;IAGO,WAAW,CAAC,KAAsB,EAAE,KAAc,EAAA;AACxD,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC;KACpC;;IAGO,eAAe,GAAA;AACrB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACpF,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,SAAS,CAAC,MAAM,CAAC;AAEzE,QAAA,IAAI,IAAI,CAAC,iBAAiB,IAAI,WAAW,EAAE;;YAEzC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAA8B,2BAAA,EAAA,IAAI,CAAC,iBAAiB,CAAW,SAAA,CAAA,CAAC,CAAC;YAC3F,OAAO;SACR;AAED,QAAA,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;;AAGjC,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC5E,QAAA,MAAM,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;QAEtC,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAEzB,QAAA,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,MAAK;YACtC,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB,EAAE,KAAK,CAAC,CAAC;KACX;;IAGO,qBAAqB,GAAA;AAC3B,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACzB,YAAA,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACpC,YAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;SAC9B;KACF;IAEO,iBAAiB,GAAA;QACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,MAAK;YACnC,IAAI,IAAI,CAAC,EAAE,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE;AAC1C,gBAAA,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;aACjC;SACF,EAAE,KAAK,CAAC,CAAC;KACX;IAEO,gBAAgB,GAAA;AACtB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACjC,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;KACF;AACF;;ACpOD,MAAM,QAAQ,CAAA;AAAd,IAAA,WAAA,GAAA;AACU,QAAA,IAAA,CAAA,QAAQ,GAAmB,IAAI,GAAG,EAAE,CAAC;QACrC,IAAW,CAAA,WAAA,GAAa,EAAE,CAAC;KA0DpC;AAxDC,IAAA,GAAG,CAAC,GAAW,EAAA;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAC/B;IAED,GAAG,CAAC,GAAW,EAAE,KAAQ,EAAA;QACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AAC3B,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC5B;aAAM;AACL,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACjB;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;KAC/B;AAED,IAAA,MAAM,CAAC,GAAW,EAAA;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC1C,QAAA,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;YACd,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;SACjC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KAClC;AAED,IAAA,GAAG,CAAC,GAAW,EAAA;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAC/B;IAED,MAAM,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;KAC/B;IAED,IAAI,GAAA;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;KACzC;AAED,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;KAC3B;AAED,IAAA,KAAK,CAAC,GAAW,EAAA;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC1C,QAAA,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;YACd,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAChC,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC5B;KACF;IAED,WAAW,GAAA;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;AACxC,QAAA,IAAI,MAAM,KAAK,SAAS,EAAE;AACxB,YAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAC9B;AACD,QAAA,OAAO,MAAM,CAAC;KACf;IAED,KAAK,GAAA;AACH,QAAA,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC/B;AACF,CAAA;AAED,SAAS,QAAQ,CAAC,IAAS,EAAA;AACzB,IAAA,OAAO,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,mBAAmB,CAC1B,MAAS,EACT,MAAkB,EAClB,WAAqB,EACrB,WAAW,GAAG,EAAE,EAAA;AAEhB,IAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC1C,QAAA,OAAO,MAAW,CAAC;KACpB;AAED,IAAA,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;AAE7B,IAAA,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;AACxB,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAChC,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAChC,QAAA,MAAM,SAAS,GAAG,WAAW,GAAG,CAAA,EAAG,WAAW,CAAA,CAAA,EAAI,GAAG,CAAE,CAAA,GAAG,GAAG,CAAC;AAE9D,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;AAC5D,YAAA,IAAI,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACnC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,WAAW,CAAQ,CAAC;aACvD;iBAAM;AACL,gBAAA,MAAM,CAAC,GAAG,CAAC,GAAG,WAAkB,CAAC;aAClC;SACF;aAAM,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE;AACzD,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAC/B,WAAW,EACX,WAAkB,EAClB,WAAW,EACX,SAAS,CACV,CAAC;SACH;aAAM;AACL,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,WAAkB,CAAC;SAClC;KACF;AAED,IAAA,OAAO,MAAM,CAAC;AAChB,CAAC;AAkDe,SAAA,gBAAgB,CAAC,MAAA,GAAkC,EAAE,EAAA;AACnE,IAAA,OAAO,MAAM,CAAa,CAAC,GAAG,EAAE,GAAG,KAAI;AACrC,QAAA,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;AAElF,QAAA,MAAM,UAAU,GAAG,CAAC,YAA0B,KAC5C,CAAG,EAAA,YAAY,CAAC,IAAI,CAAA,CAAA,EAAI,YAAY,CAAC,GAAG,IAAI,GAAG,CAAI,CAAA,EAAA,YAAY,CAAC,SAAS,IAAI,EAAE,CAAA,CAAA,EAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QAElI,iBAAiB,CAAC,WAAW,CAAC;AAC5B,YAAA,OAAO,EAAE,CAAI,KAAe,KAAI;AAC9B,gBAAA,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;aAC1B;AAED,YAAA,aAAa,EAAE,CAAC,eAAgC,EAAE,KAAc,KAAI;gBAClE,GAAG,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;aAC5C;AACF,SAAA,CAAC,CAAC;AAEH,QAAA,MAAM,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,KAAK,SAAS;AAC9D,cAAE,4BAA4B;AAC9B,cAAE,MAAM,CAAC,iBAAiB,CAAC;AAE7B,QAAA,MAAM,iBAAiB,GAAG,CAAC,QAA2B,EAAE,GAAkB,KAAI;YAC5E,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO;AACzB,YAAA,OAAO,QAAQ,CAAC,IAAI,GAAG,GAAG,EAAE;gBAC1B,QAAQ,CAAC,WAAW,EAAE,CAAC;aACxB;AACH,SAAC,CAAC;QAEF,OAAO;AACL,YAAA,eAAe,EAAE,cAAiC;AAClD,YAAA,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,IAAI,GAAG,EAAE;AACnB,YAAA,YAAY,EAAE,EAAE;YAChB,gBAAgB,EAAE,IAAI,GAAG,EAAE;YAC3B,iBAAiB;AACjB,YAAA,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,IAAI,GAAG,EAAE;YACtB,iBAAiB;AAEjB,YAAA,WAAW,EAAE,CAAI,KAAe,KAAI;AAClC,gBAAA,GAAG,CAAC,CAAC,KAAK,KAAI;oBACZ,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAClD,oBAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;oBAC9B,IAAI,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC5C,IAAI,CAAC,QAAQ,EAAE;AACb,wBAAA,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;AAC1B,wBAAA,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;qBACxC;AAED,oBAAA,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE;AAC1B,wBAAA,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE;4BAC/B,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;yBACvC;AACD,wBAAA,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;qBACtD;yBAAM;AACL,wBAAA,QAAQ,KAAK,CAAC,EAAE;AACd,4BAAA,KAAK,QAAQ,CAAC;AACd,4BAAA,KAAK,QAAQ;gCACX,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AACpC,gCAAA,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;gCACrD,MAAM;AACR,4BAAA,KAAK,OAAO;gCACV,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACzC,gCAAA,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;AACvC,gCAAA,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC9E,oCAAA,QAAQ,CAAC,GAAG,CACV,KAAK,CAAC,GAAG,EACT,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAW,EAAE,WAAW,CAAC,CAC9D,CAAC;iCACH;qCAAM;oCACL,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;iCACrC;AACD,gCAAA,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;gCACrD,MAAM;AACR,4BAAA,KAAK,QAAQ;AACX,gCAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAC3B,MAAM;yBACT;qBACF;oBAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAC5C,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;oBAE5C,MAAM,YAAY,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;AAC5C,oBAAA,MAAM,eAAe,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;AAE/C,oBAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAC7B,YAAY,CAAC,QAAQ,CAAC,GAAG;wBACvB,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,GAAG,MAAM;wBAC7E,IAAI;AACJ,wBAAA,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE;wBACzB,QAAQ,EAAE,eAAe,EAAE,QAAQ;qBACpC,CAAC;oBAEF,OAAO;AACL,wBAAA,GAAG,KAAK;AACR,wBAAA,QAAQ,EAAE,WAAW;AACrB,wBAAA,WAAW,EAAE,cAAc;wBAC3B,YAAY,EAAE,CAAC,KAAuB,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC;AAC9D,wBAAA,SAAS,EAAE,YAAY;qBACxB,CAAC;AACJ,iBAAC,CAAC,CAAC;aACJ;AAED,YAAA,OAAO,EAAE,CAAC,YAA0B,KAAI;AACtC,gBAAA,MAAM,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;AACxC,gBAAA,MAAM,EAAE,gBAAgB,EAAE,GAAG,GAAG,EAAE,CAAC;gBAEnC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC9C,IAAI,QAAQ,EAAE;oBACZ,QAAQ,CAAC,QAAQ,EAAE,CAAC;iBACrB;qBAAM;AACL,oBAAA,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE;wBAC3B,YAAY;AACZ,wBAAA,QAAQ,EAAE,CAAC;AACZ,qBAAA,CAAC,CAAC;AAEH,oBAAA,iBAAiB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;iBAC3C;aACF;AAED,YAAA,OAAO,EAAE,CAAC,YAA0B,KAAI;AACtC,gBAAA,MAAM,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;AACxC,gBAAA,MAAM,EAAE,gBAAgB,EAAE,GAAG,GAAG,EAAE,CAAC;gBAEnC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC9C,IAAI,QAAQ,EAAE;oBACZ,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACpB,oBAAA,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,EAAE;AAC1B,wBAAA,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBAEhC,iBAAiB,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;qBACpE;iBACF;aACF;AAED,YAAA,YAAY,EAAE,CAAC,YAA0B,KAAI;AAC3C,gBAAA,MAAM,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;AACxC,gBAAA,OAAO,GAAG,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC;aAC1D;AAED,YAAA,SAAS,EAAE,CAAC,YAA0B,KAAI;AACxC,gBAAA,iBAAiB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;aAC3C;AAED,YAAA,WAAW,EAAE,CAAC,IAAY,EAAE,GAAY,KAAI;AAC1C,gBAAA,iBAAiB,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAC1C;YAED,OAAO,EAAE,MAAK;gBACZ,iBAAiB,CAAC,OAAO,EAAE,CAAC;aAC7B;YAED,UAAU,EAAE,MAAK;gBACf,iBAAiB,CAAC,UAAU,EAAE,CAAC;aAChC;AAED,YAAA,YAAY,EAAE,CAAC,SAAkC,KAAI;AACnD,gBAAA,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;aAC3C;SACF,CAAC;AACJ,KAAC,CAAC,CAAC;AACL;;ACtTM,SAAU,aAAa,CAAC,MAAwB,EAAA;IACpD,MAAM,KAAK,GAAG,gBAAgB,CAAC;QAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;AAClC,KAAA,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,iBAAiB,CAAC;IAEtD,OAAO;QACL,KAAK;QACL,UAAU;QACV,MAAM,EAAE,MAAM,CAAC,MAAM;AACrB,QAAA,SAAS,CAAC,IAAY,EAAE,GAAY,EAAE,OAAgC,EAAA;YACpE,MAAM,YAAY,GAAiB,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;YAC1D,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAEvC,OAAO;gBACL,IAAI;gBACJ,GAAG;gBACH,OAAO;AACP,gBAAA,WAAW,EAAE,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;aAC1D,CAAC;SACH;AACD,QAAA,WAAW,CAAC,MAA0B,EAAA;YACpC,MAAM,CAAC,WAAW,EAAE,CAAC;SACtB;KACF,CAAC;AACJ;;ACnCA,MAAM,iBAAiB,GAAG,aAAa,CAAgC,IAAI,CAAC,CAAC;AAE7E,SAAS,oBAAoB,CAAC,OAAsE,EAAE,YAAqB,EAAA;IACzH,IAAI,YAAY,EAAE;QAChB,OAAO;AACL,YAAA,IAAI,EAAE,QAAQ;YACd,YAAY;SACb,CAAC;KACH;AAED,IAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AAC/B,QAAA,OAAO,OAAO,CAAC;KAChB;AAED,IAAA,IAAI,OAAO,KAAK,SAAS,EAAE;QACzB,OAAO;AACL,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,YAAY,EAAE,8BAA8B;SAC7C,CAAC;KACH;AAED,IAAA,IAAI,OAAO,KAAK,QAAQ,EAAE;QACxB,OAAO;AACL,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,YAAY,EAAE,qBAAqB;SACpC,CAAC;KACH;AAED,IAAA,IAAI,OAAO,KAAK,UAAU,EAAE;QAC1B,OAAO;AACL,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,YAAY,EAAE,qBAAqB;SACpC,CAAC;KACH;AAED,IAAA,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;AACjE,CAAC;AAEK,SAAU,kBAAkB,CAAC,EACjC,QAAQ,EACR,GAAG,MAAM,EAGV,EAAA;AACC,IAAA,MAAM,aAAa,GAAG,OAAO,CAAC,MAAK;AACjC,QAAA,IAAI;YACF,OAAO,oBAAoB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;SAClE;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,KAAK,CAAC,CAAC;AACpE,YAAA,MAAM,KAAK,CAAC;SACb;KACF,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;AAE1C,IAAA,MAAM,UAAU,GAAG,MAAM,CAA2B,IAAI,CAAC,CAAC;AAE1D,IAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AACvB,QAAA,IAAI;AACF,YAAA,UAAU,CAAC,OAAO,GAAG,aAAa,CAAC;AACjC,gBAAA,GAAG,MAAM;gBACT,YAAY,EAAE,aAAa,CAAC,YAAY;AACxC,gBAAA,OAAO,EAAE,aAAa;AACvB,aAAA,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;AAC/D,YAAA,MAAM,KAAK,CAAC;SACb;KACF;AAED,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;AAEnC,IAAA,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAElC,SAAS,CAAC,MAAK;AACb,QAAA,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;AAE5B,QAAA,IAAI,MAAM,CAAC,WAAW,KAAK,KAAK,EAAE;AAChC,YAAA,IAAI;AACF,gBAAA,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;aAC9B;YAAC,OAAO,KAAK,EAAE;AACd,gBAAA,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;aAC9D;SACF;AAED,QAAA,OAAO,MAAK;AACV,YAAA,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;YAC7B,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;AACzB,oBAAA,IAAI;AACF,wBAAA,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;qBACjC;oBAAC,OAAO,KAAK,EAAE;AACd,wBAAA,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;qBAC5D;iBACF;aACF,EAAE,GAAG,CAAC,CAAC;AACV,SAAC,CAAC;KACH,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AAElC,IAAA,MAAM,KAAK,GAA2B;QACpC,OAAO;QACP,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE;KAC9C,CAAC;AAEF,IAAA,QACE,KAAA,CAAA,aAAA,CAAC,iBAAiB,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,KAAK,EAAA,EACrC,QAAQ,CACkB,EAC7B;AACJ,CAAC;SAEe,oBAAoB,GAAA;AAClC,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;KAChF;AACD,IAAA,OAAO,OAAO,CAAC;AACjB,CAAC;SAEe,kBAAkB,GAAA;AAChC,IAAA,MAAM,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,CAAC;AAC3C,IAAA,OAAO,oBAAoB,CACzB,CAAC,QAAQ,KAAI;QACX,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAK;AAC/C,YAAA,QAAQ,EAAE,CAAC;AACb,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,WAAW,CAAC;AACrB,KAAC,EACD,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,eAAe,CAC/C,CAAC;AACJ;;ACrIgB,SAAA,mBAAmB,CACjC,OAA4B,EAC5B,OAA0B,EAAA;IAE1B,OAAO;AACL,QAAA,GAAG,EAAE,CAAC,GAA2B,EAAE,OAAyB,KAAuB;AACjF,YAAA,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAClE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAqB,CAAC;YAExD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,YAAA,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,KAAK,KAAK,CAAC;YAE3C,SAAS,CAAC,MAAK;AACb,gBAAA,IAAI,CAAC,OAAO;AAAE,oBAAA,OAAO,SAAS,CAAC;AAE/B,gBAAA,IAAI;AACF,oBAAA,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBAC1D,YAAY,CAAC,IAAI,CAAC,CAAC;AAEnB,oBAAA,OAAO,MAAK;AACV,wBAAA,IAAI;4BACF,MAAM,CAAC,WAAW,EAAE,CAAC;yBACtB;wBAAC,OAAO,GAAG,EAAE;AACZ,4BAAA,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,GAAG,CAAC,CAAC;yBACnE;AACH,qBAAC,CAAC;iBACH;gBAAC,OAAO,GAAG,EAAE;AACZ,oBAAA,QAAQ,CAAC,GAAG,YAAY,KAAK,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;oBACxE,YAAY,CAAC,KAAK,CAAC,CAAC;AACpB,oBAAA,OAAO,SAAS,CAAC;iBAClB;AACH,aAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAEzB,YAAA,MAAM,OAAO,GAAG,WAAW,CAAC,MAAK;AAC/B,gBAAA,IAAI,CAAC,OAAO;oBAAE,OAAO;AAErB,gBAAA,IAAI;AACF,oBAAA,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBAC1D,YAAY,CAAC,IAAI,CAAC,CAAC;oBAEnB,UAAU,CAAC,MAAK;AACd,wBAAA,IAAI;4BACF,MAAM,CAAC,WAAW,EAAE,CAAC;yBACtB;wBAAC,OAAO,GAAG,EAAE;AACZ,4BAAA,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,GAAG,CAAC,CAAC;yBACtE;qBACF,EAAE,CAAC,CAAC,CAAC;iBACP;gBAAC,OAAO,GAAG,EAAE;AACZ,oBAAA,QAAQ,CAAC,GAAG,YAAY,KAAK,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBACnE,YAAY,CAAC,KAAK,CAAC,CAAC;iBACrB;AACH,aAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAEzB,YAAA,MAAM,IAAI,GAAG,oBAAoB,CAC/B,CAAC,QAAQ,KAAI;gBACX,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAK;AAC/C,oBAAA,QAAQ,EAAE,CAAC;AACb,iBAAC,CAAC,CAAC;AACH,gBAAA,OAAO,WAAW,CAAC;aACpB,EACD,MAAK;gBACH,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;AACpF,gBAAA,OAAO,OAAwB,CAAC;AAClC,aAAC,CACF,CAAC;YAEF,SAAS,CAAC,MAAK;AACb,gBAAA,IAAI,IAAI,IAAI,SAAS,EAAE;oBACrB,YAAY,CAAC,KAAK,CAAC,CAAC;iBACrB;AACH,aAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;YAEtB,OAAO;AACL,gBAAA,IAAI,GAAG,OAAO,EAAE,WAAW,IAAI,IAAI,CAAkB;gBACrD,SAAS;gBACT,KAAK;gBACL,OAAO;aACR,CAAC;SACH;KACF,CAAC;AACJ,CAAC;AAEe,SAAA,kBAAkB,CAChC,OAA2B,EAC3B,OAA0B,EAAA;IAE1B,OAAO;AACL,QAAA,GAAG,EAAE,CAAC,MAAmB,EAAE,OAAyB,KAAyB;AAC3E,YAAA,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAClE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAqB,CAAC;AACxD,YAAA,MAAM,aAAa,GAAG,MAAM,CAAkB,SAAS,CAAC,CAAC;AACzD,YAAA,MAAM,UAAU,GAAG,MAAM,CAAmC,SAAS,CAAC,CAAC;AAEvE,YAAA,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,KAAK,KAAK,CAAC;AAC3C,YAAA,MAAM,GAAG,GAAG,MAAM,EAAE,GAAG,CAAC;YAExB,MAAM,WAAW,GAAG,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;AACjF,YAAA,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,MAAM,EAAE,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;YAE9D,SAAS,CAAC,MAAK;AACb,gBAAA,IAAI,CAAC,OAAO;AAAE,oBAAA,OAAO,SAAS,CAAC;AAE/B,gBAAA,IAAI;AACF,oBAAA,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;oBAC7D,YAAY,CAAC,IAAI,CAAC,CAAC;AAEnB,oBAAA,OAAO,MAAK;AACV,wBAAA,IAAI;4BACF,MAAM,CAAC,WAAW,EAAE,CAAC;yBACtB;wBAAC,OAAO,GAAG,EAAE;AACZ,4BAAA,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,GAAG,CAAC,CAAC;yBACxE;AACH,qBAAC,CAAC;iBACH;gBAAC,OAAO,GAAG,EAAE;AACZ,oBAAA,QAAQ,CAAC,GAAG,YAAY,KAAK,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;oBACxE,YAAY,CAAC,KAAK,CAAC,CAAC;AACpB,oBAAA,OAAO,SAAS,CAAC;iBAClB;aACF,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;AAEhC,YAAA,MAAM,OAAO,GAAG,WAAW,CAAC,MAAK;AAC/B,gBAAA,IAAI,CAAC,OAAO;oBAAE,OAAO;AAErB,gBAAA,IAAI;AACF,oBAAA,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;oBAC7D,YAAY,CAAC,IAAI,CAAC,CAAC;oBAEnB,UAAU,CAAC,MAAK;AACd,wBAAA,IAAI;4BACF,MAAM,CAAC,WAAW,EAAE,CAAC;yBACtB;wBAAC,OAAO,GAAG,EAAE;AACZ,4BAAA,OAAO,CAAC,KAAK,CAAC,qDAAqD,EAAE,GAAG,CAAC,CAAC;yBAC3E;qBACF,EAAE,CAAC,CAAC,CAAC;iBACP;gBAAC,OAAO,GAAG,EAAE;AACZ,oBAAA,QAAQ,CAAC,GAAG,YAAY,KAAK,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBACnE,YAAY,CAAC,KAAK,CAAC,CAAC;iBACrB;aACF,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;AAEhC,YAAA,MAAM,IAAI,GAAG,oBAAoB,CAC/B,CAAC,QAAQ,KAAI;gBACX,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAK;AAC/C,oBAAA,QAAQ,EAAE,CAAC;AACb,iBAAC,CAAC,CAAC;AACH,gBAAA,OAAO,WAAW,CAAC;aACpB,EACD,MAAK;AACH,gBAAA,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAqC,CAAC;gBAExG,IAAI,CAAC,OAAO,EAAE;AACZ,oBAAA,IAAI,aAAa,CAAC,OAAO,KAAK,SAAS,EAAE;AACvC,wBAAA,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;AAClC,wBAAA,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;qBAChC;AACD,oBAAA,OAAO,SAAS,CAAC;iBAClB;AAED,gBAAA,IAAI,UAAU,CAAC,OAAO,KAAK,OAAO,IAAI,aAAa,CAAC,OAAO,KAAK,SAAS,EAAE;oBACzE,OAAO,aAAa,CAAC,OAAO,CAAC;iBAC9B;gBAED,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAQ,CAAC;AAEhD,gBAAA,IAAI,MAAM,EAAE,KAAK,EAAE;oBACjB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;AAC5B,wBAAA,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAI;AACnE,4BAAA,MAAM,KAAK,GAAI,IAAgC,CAAC,QAAQ,CAAC,CAAC;4BAE1D,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE;gCACvD,MAAM,IAAI,GAAG,SAAoC,CAAC;gCAClD,IAAI,KAAK,IAAI,IAAI;AAAE,oCAAA,OAAQ,KAAgB,IAAK,IAAI,CAAC,GAAc,CAAC;gCACpE,IAAI,KAAK,IAAI,IAAI;AAAE,oCAAA,OAAQ,KAAgB,IAAK,IAAI,CAAC,GAAc,CAAC;gCACpE,IAAI,IAAI,IAAI,IAAI;AAAE,oCAAA,OAAQ,KAAgB,GAAI,IAAI,CAAC,EAAa,CAAC;gCACjE,IAAI,IAAI,IAAI,IAAI;AAAE,oCAAA,OAAQ,KAAgB,GAAI,IAAI,CAAC,EAAa,CAAC;6BAClE;4BAED,OAAO,KAAK,KAAK,SAAS,CAAC;AAC7B,yBAAC,CAAC,CAAC;AACL,qBAAC,CAAC,CAAC;iBACJ;AAED,gBAAA,IAAI,MAAM,EAAE,KAAK,EAAE;oBACjB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;iBACtC;AAED,gBAAA,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAqC,CAAC;AAC7G,gBAAA,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;AAC9B,gBAAA,OAAO,KAAK,CAAC;AACf,aAAC,CACF,CAAC;YAEF,SAAS,CAAC,MAAK;AACb,gBAAA,IAAI,IAAI,IAAI,SAAS,EAAE;oBACrB,YAAY,CAAC,KAAK,CAAC,CAAC;iBACrB;AACH,aAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;YAEtB,OAAO;AACL,gBAAA,IAAI,GAAG,OAAO,EAAE,WAAW,IAAI,IAAI,CAAoB;gBACvD,SAAS;gBACT,KAAK;gBACL,OAAO;aACR,CAAC;SACH;KACF,CAAC;AACJ;;AC9MgB,SAAA,oBAAoB,CAClC,OAA0B,EAC1B,YAAoD,EAAA;AAEpD,IAAA,OAAO,SAAS,WAAW,GAAA;QACzB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA2C,MAAM,CAAC,CAAC;QACvF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAsB,CAAC;QACzD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAsB,CAAC;AAEjE,QAAA,MAAM,MAAM,GAAG,OAAO,eAAoB,KAAqB;YAC7D,SAAS,CAAC,SAAS,CAAC,CAAC;YACrB,QAAQ,CAAC,SAAS,CAAC,CAAC;YACpB,YAAY,CAAC,SAAS,CAAC,CAAC;AAExB,YAAA,IAAI;gBACF,IAAI,CAAC,eAAe,EAAE;AACpB,oBAAA,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;iBAC9E;AAED,gBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AACnB,oBAAA,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;iBACjG;AAED,gBAAA,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,eAAe,CAAC,CAAC;AAErE,gBAAA,IAAI,WAAmB,CAAC;gBACxB,IAAI,qBAAqB,GAAgD,EAAE,CAAC;AAE5E,gBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;AAClC,oBAAA,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;oBAC7D,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;oBAChE,qBAAqB,GAAG,eAAe,CAAC,MAAM,CAC5C,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAC1F,CAAC;iBACH;qBAAM,IACL,OAAO,eAAe,KAAK,QAAQ;AACnC,oBAAA,eAAe,CAAC,WAAW;AAC3B,oBAAA,eAAe,CAAC,MAAM,KAAK,SAAS,EACpC;AACA,oBAAA,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;oBAC1D,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;AAChE,oBAAA,qBAAqB,GAAG,CAAC,eAAe,CAAC,CAAC;iBAC3C;qBAAM;AACL,oBAAA,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;oBACvD,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;iBACjE;gBAED,YAAY,CAAC,WAAW,CAAC,CAAC;gBAC1B,SAAS,CAAC,SAAS,CAAC,CAAC;gBAErB,IAAI,YAAY,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;AACpD,oBAAA,KAAK,MAAM,IAAI,IAAI,qBAAqB,EAAE;wBACxC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC7C,wBAAA,IAAI,KAAK,EAAE,OAAO,EAAE;AAClB,4BAAA,KAAK,MAAM,aAAa,IAAI,KAAK,CAAC,OAAO,EAAE;AACzC,gCAAA,IAAI;AACF,oCAAA,MAAM,GAAG,GAAG,OAAO,aAAa,CAAC,GAAG,KAAK,UAAU;0CAC/C,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;AAChC,0CAAE,aAAa,CAAC,GAAG,CAAC;oCAEtB,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;iCAC5C;gCAAC,OAAO,GAAG,EAAE;AACZ,oCAAA,OAAO,CAAC,KAAK,CAAC,uDAAuD,EAAE,GAAG,CAAC,CAAC;iCAC7E;6BACF;yBACF;qBACF;iBACF;AAED,gBAAA,OAAO,WAAW,CAAC;aACpB;YAAC,OAAO,GAAG,EAAE;AACZ,gBAAA,MAAM,YAAY,GAAG,GAAG,YAAY,KAAK,GAAG,GAAG,CAAC,OAAO,GAAG,oBAAoB,CAAC;gBAC/E,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;gBACpE,SAAS,CAAC,OAAO,CAAC,CAAC;gBACnB,QAAQ,CAAC,YAAY,CAAC,CAAC;AACvB,gBAAA,MAAM,GAAG,CAAC;aACX;AACH,SAAC,CAAC;QAEF,MAAM,KAAK,GAAG,MAAK;YACjB,SAAS,CAAC,MAAM,CAAC,CAAC;YAClB,QAAQ,CAAC,SAAS,CAAC,CAAC;YACpB,YAAY,CAAC,SAAS,CAAC,CAAC;AAC1B,SAAC,CAAC;QAEF,OAAO;YACL,MAAM;YACN,MAAM;YACN,KAAK;YACL,SAAS;YACT,KAAK;SACN,CAAC;AACJ,KAAC,CAAC;AACJ;;AChCM,SAAU,aAAa,CAC3B,KAAa,EAAA;IAEb,IAAI,CAAC,KAAK,EAAE;AACV,QAAA,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KAC9D;AAED,IAAA,MAAM,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAE3C,MAAM,KAAK,GAA4C,EAAE,CAAC;AAE1D,IAAA,KAAK,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;AAC/D,QAAA,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QAErB,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE;YACvD,MAAM,KAAK,GAAG,SAAsB,CAAC;AAErC,YAAA,IAAI,KAAK,CAAC,KAAK,EAAE;AACf,gBAAA,KAAK,CAAC,QAAQ,CAAE,CAAC,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;aACpE;AAED,YAAA,IAAI,KAAK,CAAC,IAAI,EAAE;AACd,gBAAA,KAAK,CAAC,QAAQ,CAAE,CAAC,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;aACjE;SACF;KACF;IAED,MAAM,EAAE,GAA4B,EAAE,CAAC;AAEvC,IAAA,IAAI,KAAK,CAAC,YAAY,EAAE;AACtB,QAAA,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;AAChE,YAAA,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;SAC1B;KACF;IAED,EAAE,CAAC,WAAW,GAAG,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAEnE,OAAO;QACL,KAAK;QACL,EAAE;QACF,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO;KACe,CAAC;AAC3B;;;;"}
package/dist/index.js CHANGED
@@ -3,13 +3,17 @@
3
3
  var React = require('react');
4
4
  var zustand = require('zustand');
5
5
 
6
+ function isSnapshotFrame(frame) {
7
+ return frame.op === 'snapshot';
8
+ }
9
+ const DEFAULT_MAX_ENTRIES_PER_VIEW = 10000;
6
10
  const DEFAULT_CONFIG = {
7
11
  websocketUrl: 'ws://localhost:8080',
8
12
  reconnectIntervals: [1000, 2000, 4000, 8000, 16000],
9
13
  maxReconnectAttempts: 5,
10
14
  initialSubscriptions: [],
11
- supportsUnsubscribe: false,
12
15
  autoSubscribeDefault: true,
16
+ maxEntriesPerView: DEFAULT_MAX_ENTRIES_PER_VIEW,
13
17
  };
14
18
  class HyperStreamError extends Error {
15
19
  constructor(message, code, details) {
@@ -29,6 +33,7 @@ class ConnectionManager {
29
33
  this.pingInterval = null;
30
34
  this.currentState = 'disconnected';
31
35
  this.subscriptionQueue = [];
36
+ this.activeSubscriptions = new Set(); // Track active subscriptions for reconnect
32
37
  this.config = { ...DEFAULT_CONFIG, ...config };
33
38
  }
34
39
  // set callbacks
@@ -49,51 +54,45 @@ class ConnectionManager {
49
54
  if (this.ws?.readyState === WebSocket.OPEN ||
50
55
  this.ws?.readyState === WebSocket.CONNECTING ||
51
56
  this.currentState === 'connecting') {
52
- console.log('Connection already exists or in progress, skipping connect');
53
57
  return;
54
58
  }
55
- console.log('[Hyperstack] Connecting to WebSocket...');
56
- this.updateState('connecting'); // update UI state immediately
59
+ this.updateState('connecting');
57
60
  try {
58
61
  this.ws = new WebSocket(this.config.websocketUrl);
59
62
  this.ws.onopen = () => {
60
- console.log('[Hyperstack] WebSocket connected');
61
- this.reconnectAttempts = 0; // reset retry counter on successful connect
62
- this.updateState('connected'); // notify store/UI of successful connection
63
- this.startPingInterval(); // start keep-alive ping
64
- // send global subscriptions first (from config)
63
+ const wasReconnect = this.reconnectAttempts > 0;
64
+ this.reconnectAttempts = 0;
65
+ this.updateState('connected');
66
+ this.startPingInterval();
65
67
  if (this.config.initialSubscriptions) {
66
68
  for (const sub of this.config.initialSubscriptions) {
67
69
  this.subscribe(sub);
68
70
  }
69
71
  }
70
- // flush queued subscriptions from when we were offline
71
72
  while (this.subscriptionQueue.length > 0) {
72
73
  const sub = this.subscriptionQueue.shift();
73
74
  this.subscribe(sub);
74
75
  }
76
+ if (wasReconnect) {
77
+ this.resubscribeActive();
78
+ }
75
79
  };
76
- // core message handler - parses incoming data into EntityFrames
77
80
  this.ws.onmessage = async (event) => {
78
81
  try {
79
82
  let frame;
80
83
  if (event.data instanceof ArrayBuffer) {
81
- // binary data as ArrayBuffer
82
84
  frame = this.parseBinaryFrame(event.data);
83
85
  }
84
86
  else if (event.data instanceof Blob) {
85
- // binary data as Blob - convert to ArrayBuffer
86
87
  const arrayBuffer = await event.data.arrayBuffer();
87
88
  frame = this.parseBinaryFrame(arrayBuffer);
88
89
  }
89
90
  else if (typeof event.data === 'string') {
90
- // JSON text data
91
91
  frame = JSON.parse(event.data);
92
92
  }
93
93
  else {
94
94
  throw new Error(`Unsupported message type: ${typeof event.data}`);
95
95
  }
96
- // fw parsed frame to store for entity updates
97
96
  this.onFrame?.(frame);
98
97
  }
99
98
  catch (error) {
@@ -106,13 +105,9 @@ class ConnectionManager {
106
105
  console.error('WebSocket error:', error);
107
106
  this.updateState('error', 'WebSocket connection error'); // Notify store/UI of errors
108
107
  };
109
- // connection lost handler with auto-reconnection
110
108
  this.ws.onclose = () => {
111
- console.log('WebSocket disconnected');
112
109
  this.stopPingInterval();
113
110
  this.ws = null;
114
- // only auto-reconnect if we didn't explicitly disconnect
115
- // this preserves subscriptions across temporary network issues
116
111
  if (this.currentState !== 'disconnected') {
117
112
  this.handleReconnect();
118
113
  }
@@ -136,38 +131,48 @@ class ConnectionManager {
136
131
  this.config = { ...this.config, ...newConfig };
137
132
  }
138
133
  subscribe(subscription) {
134
+ const subKey = this.makeSubKey(subscription);
139
135
  if (this.currentState === 'connected' && this.ws && this.ws.readyState === WebSocket.OPEN) {
140
- console.log('[Hyperstack] Subscribing to:', subscription.view);
141
- const message = JSON.stringify(subscription);
142
- this.ws.send(message);
136
+ const subMsg = { type: 'subscribe', ...subscription };
137
+ this.ws.send(JSON.stringify(subMsg));
138
+ this.activeSubscriptions.add(subKey);
143
139
  }
144
140
  else {
145
141
  this.subscriptionQueue.push(subscription);
146
142
  }
147
143
  }
148
- // Unsubscribe support (feature-gated by server capabilities)
149
- unsubscribe(_view, _key) {
150
- if (this.config.supportsUnsubscribe && this.currentState === 'connected' && this.ws) {
151
- // only send unsubscribe if server supports it - TO DO
152
- console.warn('Unsubscribe not yet implemented on server side');
144
+ unsubscribe(view, key) {
145
+ const subscription = { view, key };
146
+ const subKey = this.makeSubKey(subscription);
147
+ if (this.activeSubscriptions.has(subKey)) {
148
+ this.activeSubscriptions.delete(subKey);
149
+ if (this.ws?.readyState === WebSocket.OPEN) {
150
+ const unsubMsg = { type: 'unsubscribe', view, key };
151
+ this.ws.send(JSON.stringify(unsubMsg));
152
+ }
153
+ }
154
+ }
155
+ makeSubKey(subscription) {
156
+ return `${subscription.view}:${subscription.key ?? '*'}:${subscription.partition ?? ''}`;
157
+ }
158
+ resubscribeActive() {
159
+ for (const subKey of this.activeSubscriptions) {
160
+ const [view, key, partition] = subKey.split(':');
161
+ const subscription = {
162
+ view: view ?? '',
163
+ key: key === '*' ? undefined : key,
164
+ partition: partition || undefined,
165
+ };
166
+ if (this.ws?.readyState === WebSocket.OPEN) {
167
+ const subMsg = { type: 'subscribe', ...subscription };
168
+ this.ws.send(JSON.stringify(subMsg));
169
+ }
153
170
  }
154
171
  }
155
- // binary frame parser - converts WebSocket binary data to EntityFrame
156
172
  parseBinaryFrame(data) {
157
- // server sends JSON Frame serialized as binary bytes
158
- // convert binary data back to JSON string and parse
159
173
  const decoder = new TextDecoder('utf-8');
160
174
  const jsonString = decoder.decode(data);
161
- // parse the Frame JSON sent by projector
162
- const frame = JSON.parse(jsonString);
163
- // convert to EntityFrame format expected by SDK
164
- return {
165
- mode: frame.mode,
166
- entity: frame.entity, // Backend serializes view path as 'entity' field
167
- op: frame.op,
168
- key: frame.key,
169
- data: frame.data
170
- };
175
+ return JSON.parse(jsonString);
171
176
  }
172
177
  // Internal state change handler - notifies store and triggers UI re-renders
173
178
  updateState(state, error) {
@@ -188,10 +193,8 @@ class ConnectionManager {
188
193
  const attemptIndex = Math.min(this.reconnectAttempts, intervals.length - 1);
189
194
  const delay = intervals[attemptIndex];
190
195
  this.reconnectAttempts++;
191
- // delayed reconnection with exponential backoff
192
196
  this.reconnectTimeout = setTimeout(() => {
193
- console.log(`Reconnect attempt ${this.reconnectAttempts} after ${delay}ms delay`);
194
- this.connect(); // recursive call - will restore subscriptions on success
197
+ this.connect();
195
198
  }, delay);
196
199
  }
197
200
  // Cleanup helper for reconnection timer
@@ -205,7 +208,7 @@ class ConnectionManager {
205
208
  this.stopPingInterval();
206
209
  this.pingInterval = setInterval(() => {
207
210
  if (this.ws?.readyState === WebSocket.OPEN) {
208
- this.ws.send(JSON.stringify({ type: 'ping' }));
211
+ this.ws.send('{"type":"ping"}');
209
212
  }
210
213
  }, 15000);
211
214
  }
@@ -217,7 +220,64 @@ class ConnectionManager {
217
220
  }
218
221
  }
219
222
 
220
- function deepMerge(target, source) {
223
+ class ViewData {
224
+ constructor() {
225
+ this.entities = new Map();
226
+ this.accessOrder = [];
227
+ }
228
+ get(key) {
229
+ return this.entities.get(key);
230
+ }
231
+ set(key, value) {
232
+ if (!this.entities.has(key)) {
233
+ this.accessOrder.push(key);
234
+ }
235
+ else {
236
+ this.touch(key);
237
+ }
238
+ this.entities.set(key, value);
239
+ }
240
+ delete(key) {
241
+ const idx = this.accessOrder.indexOf(key);
242
+ if (idx !== -1) {
243
+ this.accessOrder.splice(idx, 1);
244
+ }
245
+ return this.entities.delete(key);
246
+ }
247
+ has(key) {
248
+ return this.entities.has(key);
249
+ }
250
+ values() {
251
+ return this.entities.values();
252
+ }
253
+ keys() {
254
+ return Array.from(this.entities.keys());
255
+ }
256
+ get size() {
257
+ return this.entities.size;
258
+ }
259
+ touch(key) {
260
+ const idx = this.accessOrder.indexOf(key);
261
+ if (idx !== -1) {
262
+ this.accessOrder.splice(idx, 1);
263
+ this.accessOrder.push(key);
264
+ }
265
+ }
266
+ evictOldest() {
267
+ const oldest = this.accessOrder.shift();
268
+ if (oldest !== undefined) {
269
+ this.entities.delete(oldest);
270
+ }
271
+ return oldest;
272
+ }
273
+ toMap() {
274
+ return new Map(this.entities);
275
+ }
276
+ }
277
+ function isObject(item) {
278
+ return item && typeof item === 'object' && !Array.isArray(item);
279
+ }
280
+ function deepMergeWithAppend(target, source, appendPaths, currentPath = '') {
221
281
  if (!isObject(target) || !isObject(source)) {
222
282
  return source;
223
283
  }
@@ -225,8 +285,17 @@ function deepMerge(target, source) {
225
285
  for (const key in source) {
226
286
  const sourceValue = source[key];
227
287
  const targetValue = result[key];
228
- if (isObject(sourceValue) && isObject(targetValue)) {
229
- result[key] = deepMerge(targetValue, sourceValue);
288
+ const fieldPath = currentPath ? `${currentPath}.${key}` : key;
289
+ if (Array.isArray(sourceValue) && Array.isArray(targetValue)) {
290
+ if (appendPaths.includes(fieldPath)) {
291
+ result[key] = [...targetValue, ...sourceValue];
292
+ }
293
+ else {
294
+ result[key] = sourceValue;
295
+ }
296
+ }
297
+ else if (isObject(sourceValue) && isObject(targetValue)) {
298
+ result[key] = deepMergeWithAppend(targetValue, sourceValue, appendPaths, fieldPath);
230
299
  }
231
300
  else {
232
301
  result[key] = sourceValue;
@@ -234,9 +303,6 @@ function deepMerge(target, source) {
234
303
  }
235
304
  return result;
236
305
  }
237
- function isObject(item) {
238
- return item && typeof item === 'object' && !Array.isArray(item);
239
- }
240
306
  function createHyperStore(config = {}) {
241
307
  return zustand.create((set, get) => {
242
308
  const connectionManager = new ConnectionManager({ ...DEFAULT_CONFIG, ...config });
@@ -249,6 +315,16 @@ function createHyperStore(config = {}) {
249
315
  set({ connectionState, lastError: error });
250
316
  }
251
317
  });
318
+ const maxEntriesPerView = config.maxEntriesPerView === undefined
319
+ ? DEFAULT_MAX_ENTRIES_PER_VIEW
320
+ : config.maxEntriesPerView;
321
+ const enforceMaxEntries = (viewData, max) => {
322
+ if (max === null)
323
+ return;
324
+ while (viewData.size > max) {
325
+ viewData.evictOldest();
326
+ }
327
+ };
252
328
  return {
253
329
  connectionState: 'disconnected',
254
330
  lastError: undefined,
@@ -257,32 +333,51 @@ function createHyperStore(config = {}) {
257
333
  subscriptionRefs: new Map(),
258
334
  connectionManager,
259
335
  viewCache: {},
336
+ viewDataMap: new Map(),
337
+ maxEntriesPerView,
260
338
  handleFrame: (frame) => {
261
339
  set((state) => {
262
- const newEntities = new Map(state.entities);
340
+ const newViewDataMap = new Map(state.viewDataMap);
263
341
  const viewPath = frame.entity;
264
- const entityMap = new Map(newEntities.get(viewPath) || new Map());
265
- switch (frame.op) {
266
- case 'upsert':
267
- entityMap.set(frame.key, frame.data);
268
- break;
269
- case 'patch':
270
- const existing = entityMap.get(frame.key);
271
- if (existing && typeof existing === 'object' && typeof frame.data === 'object') {
272
- entityMap.set(frame.key, deepMerge(existing, frame.data));
273
- }
274
- else {
275
- entityMap.set(frame.key, frame.data);
276
- }
277
- break;
278
- case 'delete':
279
- entityMap.delete(frame.key);
280
- break;
342
+ let viewData = newViewDataMap.get(viewPath);
343
+ if (!viewData) {
344
+ viewData = new ViewData();
345
+ newViewDataMap.set(viewPath, viewData);
346
+ }
347
+ if (isSnapshotFrame(frame)) {
348
+ for (const entity of frame.data) {
349
+ viewData.set(entity.key, entity.data);
350
+ }
351
+ enforceMaxEntries(viewData, state.maxEntriesPerView);
281
352
  }
282
- newEntities.set(viewPath, entityMap);
353
+ else {
354
+ switch (frame.op) {
355
+ case 'upsert':
356
+ case 'create':
357
+ viewData.set(frame.key, frame.data);
358
+ enforceMaxEntries(viewData, state.maxEntriesPerView);
359
+ break;
360
+ case 'patch':
361
+ const existing = viewData.get(frame.key);
362
+ const appendPaths = frame.append ?? [];
363
+ if (existing && typeof existing === 'object' && typeof frame.data === 'object') {
364
+ viewData.set(frame.key, deepMergeWithAppend(existing, frame.data, appendPaths));
365
+ }
366
+ else {
367
+ viewData.set(frame.key, frame.data);
368
+ }
369
+ enforceMaxEntries(viewData, state.maxEntriesPerView);
370
+ break;
371
+ case 'delete':
372
+ viewData.delete(frame.key);
373
+ break;
374
+ }
375
+ }
376
+ const newEntities = new Map(state.entities);
377
+ newEntities.set(viewPath, viewData.toMap());
283
378
  const newViewCache = { ...state.viewCache };
284
379
  const currentMetadata = newViewCache[viewPath];
285
- const keys = Array.from(entityMap.keys());
380
+ const keys = viewData.keys();
286
381
  newViewCache[viewPath] = {
287
382
  mode: (frame.mode === 'state' || frame.mode === 'list') ? frame.mode : 'list',
288
383
  keys,
@@ -292,6 +387,7 @@ function createHyperStore(config = {}) {
292
387
  return {
293
388
  ...state,
294
389
  entities: newEntities,
390
+ viewDataMap: newViewDataMap,
295
391
  recentFrames: [frame, ...state.recentFrames],
296
392
  viewCache: newViewCache
297
393
  };
@@ -776,6 +872,7 @@ exports.DEFAULT_CONFIG = DEFAULT_CONFIG;
776
872
  exports.HyperStreamError = HyperStreamError;
777
873
  exports.HyperstackProvider = HyperstackProvider;
778
874
  exports.createRuntime = createRuntime;
875
+ exports.isSnapshotFrame = isSnapshotFrame;
779
876
  exports.useConnectionState = useConnectionState;
780
877
  exports.useHyperstack = useHyperstack;
781
878
  exports.useHyperstackContext = useHyperstackContext;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/types.ts","../src/connection.ts","../src/store.ts","../src/runtime.ts","../src/provider.tsx","../src/view-hooks.ts","../src/tx-hooks.ts","../src/stack.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["create","createContext","useMemo","useRef","useEffect","useContext","useSyncExternalStore","useState","useCallback"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/types.ts","../src/connection.ts","../src/store.ts","../src/runtime.ts","../src/provider.tsx","../src/view-hooks.ts","../src/tx-hooks.ts","../src/stack.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["create","createContext","useMemo","useRef","useEffect","useContext","useSyncExternalStore","useState","useCallback"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hyperstack-react",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "type": "module",
5
5
  "description": "React SDK for the Hyperstack Solana developer platform",
6
6
  "main": "dist/index.js",
@@ -42,7 +42,7 @@
42
42
  "zustand": "^4.0.0"
43
43
  },
44
44
  "dependencies": {
45
- "hyperstack-typescript": "0.2.2",
45
+ "hyperstack-typescript": "0.2.4",
46
46
  "zustand": "^4.0.0"
47
47
  },
48
48
  "devDependencies": {