ugly-app 0.1.405 → 0.1.406

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.
@@ -1,2 +1,2 @@
1
- export declare const CLI_VERSION = "0.1.405";
1
+ export declare const CLI_VERSION = "0.1.406";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by prebuild — do not edit manually
2
- export const CLI_VERSION = "0.1.405";
2
+ export const CLI_VERSION = "0.1.406";
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataProxyClient.d.ts","sourceRoot":"","sources":["../../src/server/DataProxyClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataProxyClient.d.ts","sourceRoot":"","sources":["../../src/server/DataProxyClient.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,31 @@ let _token = '';
16
16
  let _connected = false;
17
17
  // Queue of messages to send when connection is established
18
18
  const _sendQueue = [];
19
+ let _connectWaiters = [];
20
+ /**
21
+ * Infinite reconnect scheduler state. `_reconnectAttempt` ticks up
22
+ * on each failed `_initDataProxyOnce` and resets to 0 on a
23
+ * successful open. `_reconnectTimer` is the pending `setTimeout`
24
+ * handle so `stopDataProxy` can cancel it mid-backoff.
25
+ */
26
+ let _reconnectAttempt = 0;
27
+ let _reconnectTimer = null;
28
+ /**
29
+ * How long an individual RPC will block waiting for a disconnected
30
+ * client to (re)connect before giving up. Five minutes matches the
31
+ * outer-layer timeouts we already tolerate elsewhere and is long
32
+ * enough to cover a realistic edge-proxy outage, short enough that a
33
+ * genuinely broken config fails within one coffee break. Not
34
+ * configurable today — can be added if a caller has a legitimately
35
+ * longer tolerance.
36
+ */
37
+ const RPC_CONNECT_WAIT_MS = 5 * 60_000;
38
+ /**
39
+ * Upper bound on reconnect backoff. 1s, 2s, 4s, 8s, 16s, 32s, 60s,
40
+ * 60s, 60s, … forever. Short enough that a brief edge hiccup is
41
+ * invisible, long enough that a dead server doesn't hammer logs.
42
+ */
43
+ const RECONNECT_BACKOFF_CAP_MS = 60_000;
19
44
  // Heartbeat — keeps the WebSocket alive through idle-killing intermediaries
20
45
  // (Docker userland-proxy, NAT, load balancers) that drop quiet TCP connections.
21
46
  const HEARTBEAT_INTERVAL_MS = 25_000;
@@ -48,12 +73,90 @@ function startHeartbeat(ws) {
48
73
  }
49
74
  }, HEARTBEAT_INTERVAL_MS);
50
75
  }
76
+ /**
77
+ * Wait for the client to be connected. Resolves immediately when
78
+ * already connected; otherwise queues a one-shot callback that fires
79
+ * on the next successful `open`. Rejects with a different error when
80
+ * `initDataProxy` has never been called — the waiter would hang
81
+ * forever otherwise, which is the wrong behavior for one-shot scripts
82
+ * that imported `pgQuery` without bootstrapping the proxy.
83
+ *
84
+ * A safety timeout (default `RPC_CONNECT_WAIT_MS`) fires if the
85
+ * connection doesn't come back in time. The waiter is removed from
86
+ * the pending list so a late `open` doesn't invoke a stale callback.
87
+ */
88
+ function waitForConnected(timeoutMs) {
89
+ if (_connected)
90
+ return Promise.resolve();
91
+ if (!_url || !_token) {
92
+ return Promise.reject(new Error('[DataProxy] not configured — call initDataProxy(url, token) before making RPC calls'));
93
+ }
94
+ return new Promise((resolveOuter, rejectOuter) => {
95
+ let settled = false;
96
+ const waiter = {
97
+ resolve: () => {
98
+ if (settled)
99
+ return;
100
+ settled = true;
101
+ clearTimeout(timer);
102
+ resolveOuter();
103
+ },
104
+ reject: (err) => {
105
+ if (settled)
106
+ return;
107
+ settled = true;
108
+ clearTimeout(timer);
109
+ rejectOuter(err);
110
+ },
111
+ };
112
+ _connectWaiters.push(waiter);
113
+ const timer = setTimeout(() => {
114
+ if (settled)
115
+ return;
116
+ settled = true;
117
+ const idx = _connectWaiters.indexOf(waiter);
118
+ if (idx >= 0)
119
+ _connectWaiters.splice(idx, 1);
120
+ rejectOuter(new Error(`[DataProxy] connection wait timeout after ${timeoutMs}ms — server appears to be unreachable`));
121
+ }, timeoutMs);
122
+ });
123
+ }
124
+ /**
125
+ * Flush the connect-waiter queue. Called from the WebSocket `open`
126
+ * handler on (re)connection so any RPCs that were blocked waiting
127
+ * for the server can proceed. Order preserved (FIFO) so earlier
128
+ * callers unblock first.
129
+ */
130
+ function notifyConnected() {
131
+ const waiters = _connectWaiters;
132
+ _connectWaiters = [];
133
+ for (const w of waiters) {
134
+ try {
135
+ w.resolve();
136
+ }
137
+ catch {
138
+ /* a waiter's resolve shouldn't throw, but be defensive */
139
+ }
140
+ }
141
+ }
51
142
  export async function rpc(op, args) {
52
- // Wait for connection if still connecting
53
- if (_connectPromise)
54
- await _connectPromise;
55
- if (!_connected)
56
- throw new Error('[DataProxy] Not connected');
143
+ // Wait for connection if still connecting.
144
+ if (_connectPromise) {
145
+ try {
146
+ await _connectPromise;
147
+ }
148
+ catch {
149
+ /* swallow — we'll fall through to waitForConnected which
150
+ holds until the reconnect loop succeeds or times out */
151
+ }
152
+ }
153
+ if (!_connected) {
154
+ // Don't fail fast on a transient disconnect. If initDataProxy
155
+ // has been called, the reconnect loop is running and will
156
+ // restore the connection; queue-and-wait until it does or
157
+ // until the safety timeout trips.
158
+ await waitForConnected(RPC_CONNECT_WAIT_MS);
159
+ }
57
160
  const id = ++_requestId;
58
161
  const request = { id, op, args };
59
162
  const msg = JSON.stringify(request);
@@ -187,6 +290,7 @@ async function _initDataProxyOnce(url, token) {
187
290
  _ws = new WebSocket(wsUrl);
188
291
  _ws.on('open', () => {
189
292
  _connected = true;
293
+ _reconnectAttempt = 0; // success → reset backoff
190
294
  console.log('[DataProxy] Connected to data proxy');
191
295
  // Initialize NATS proxy client with shared WebSocket
192
296
  initNatsProxy(_ws);
@@ -196,6 +300,8 @@ async function _initDataProxyOnce(url, token) {
196
300
  _ws.send(msg);
197
301
  }
198
302
  _sendQueue.length = 0;
303
+ // Unblock any rpc() calls that were waiting for a live connection.
304
+ notifyConnected();
199
305
  resolve();
200
306
  });
201
307
  _ws.on('message', handleMessage);
@@ -216,16 +322,13 @@ async function _initDataProxyOnce(url, token) {
216
322
  pending.reject(new Error('Connection closed'));
217
323
  _pending.delete(id);
218
324
  }
219
- // Auto-reconnect after 1 second (only for unexpected disconnects, not auth failures)
325
+ // Auth-close codes are permanent no amount of reconnecting
326
+ // fixes an invalid token. Everything else starts the infinite
327
+ // reconnect loop (see `scheduleReconnect`) so brief server
328
+ // outages resolve transparently instead of stranding the
329
+ // client.
220
330
  if (_url && _token && code !== 4001 && code !== 4003) {
221
- setTimeout(() => {
222
- if (!_url || !_token)
223
- return; // stopDataProxy was called
224
- console.log('[DataProxy] Reconnecting...');
225
- initDataProxy(_url, _token).catch((err) => {
226
- console.error('[DataProxy] Reconnect failed:', err instanceof Error ? err.message : err);
227
- });
228
- }, 1000);
331
+ scheduleReconnect();
229
332
  }
230
333
  });
231
334
  _ws.on('error', (err) => {
@@ -237,19 +340,76 @@ async function _initDataProxyOnce(url, token) {
237
340
  }
238
341
  });
239
342
  });
240
- void _connectPromise.finally(() => {
343
+ // Clear _connectPromise once it settles, regardless of outcome.
344
+ // The explicit `.catch` on this side-chain is required: callers
345
+ // await the returned promise and handle errors themselves; without
346
+ // the catch here, the side-chain's rejection would bubble as an
347
+ // unhandled rejection in the Node process.
348
+ void _connectPromise
349
+ .catch(() => {
350
+ /* settled via caller — swallow so the state-clear chain below
351
+ doesn't propagate */
352
+ })
353
+ .finally(() => {
241
354
  _connectPromise = null;
242
355
  });
243
356
  return _connectPromise;
244
357
  }
358
+ /**
359
+ * Schedule the next reconnect attempt. Exponential backoff, no
360
+ * upper bound on retries — the loop only stops on `stopDataProxy`
361
+ * (clears `_url`/`_token`) or on a successful open (resets
362
+ * `_reconnectAttempt`).
363
+ *
364
+ * Previous behavior fired a single reconnect 1s after close and
365
+ * gave up if that attempt failed, leaving the client permanently
366
+ * dead until the process restarted. Server-side blips (edge 502
367
+ * during a rollover, a brief data-proxy crash) used to soft-brick
368
+ * every subsequent RPC with "Not connected"; with this loop they
369
+ * resolve transparently.
370
+ */
371
+ function scheduleReconnect() {
372
+ if (!_url || !_token)
373
+ return; // stopDataProxy already ran
374
+ if (_reconnectTimer)
375
+ return; // already scheduled
376
+ _reconnectAttempt += 1;
377
+ const delayMs = Math.min(1000 * 2 ** (_reconnectAttempt - 1), RECONNECT_BACKOFF_CAP_MS);
378
+ console.log(`[DataProxy] Reconnect attempt ${_reconnectAttempt} in ${delayMs}ms`);
379
+ _reconnectTimer = setTimeout(() => {
380
+ _reconnectTimer = null;
381
+ if (!_url || !_token)
382
+ return;
383
+ _initDataProxyOnce(_url, _token).catch((err) => {
384
+ const msg = err instanceof Error ? err.message : String(err);
385
+ console.warn(`[DataProxy] Reconnect attempt ${_reconnectAttempt} failed: ${msg} — scheduling next`);
386
+ scheduleReconnect();
387
+ });
388
+ }, delayMs);
389
+ }
245
390
  export function stopDataProxy() {
246
391
  _url = '';
247
392
  _token = '';
248
393
  _connected = false;
249
394
  stopHeartbeat();
250
- if (_ws) {
251
- _ws.close();
252
- _ws = null;
395
+ if (_reconnectTimer) {
396
+ clearTimeout(_reconnectTimer);
397
+ _reconnectTimer = null;
398
+ }
399
+ _reconnectAttempt = 0;
400
+ // Reject any connect-waiters so rpc() callers don't hang forever
401
+ // after shutdown. Callers see a clean "shut down" error rather
402
+ // than the more ambiguous connection-timeout message.
403
+ const waiters = _connectWaiters;
404
+ _connectWaiters = [];
405
+ const shutdownErr = new Error('[DataProxy] client shut down via stopDataProxy');
406
+ for (const w of waiters) {
407
+ try {
408
+ w.reject(shutdownErr);
409
+ }
410
+ catch {
411
+ /* defensive */
412
+ }
253
413
  }
254
414
  }
255
415
  export function isDataProxyConnected() {
@@ -1 +1 @@
1
- {"version":3,"file":"DataProxyClient.js","sourceRoot":"","sources":["../../src/server/DataProxyClient.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,SAAS,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAqB9E,gFAAgF;AAEhF,IAAI,GAAG,GAAqB,IAAI,CAAC;AACjC,IAAI,UAAU,GAAG,CAAC,CAAC;AACnB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;AACnD,IAAI,eAAe,GAAyB,IAAI,CAAC;AACjD,IAAI,IAAI,GAAG,EAAE,CAAC;AACd,IAAI,MAAM,GAAG,EAAE,CAAC;AAChB,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,2DAA2D;AAC3D,MAAM,UAAU,GAAa,EAAE,CAAC;AAEhC,4EAA4E;AAC5E,gFAAgF;AAChF,MAAM,qBAAqB,GAAG,MAAM,CAAC;AACrC,IAAI,eAAe,GAA0C,IAAI,CAAC;AAClE,IAAI,aAAa,GAAG,IAAI,CAAC;AAEzB,SAAS,aAAa;IACpB,IAAI,eAAe,EAAE,CAAC;QACpB,aAAa,CAAC,eAAe,CAAC,CAAC;QAC/B,eAAe,GAAG,IAAI,CAAC;IACzB,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,EAAa;IACnC,aAAa,EAAE,CAAC;IAChB,aAAa,GAAG,IAAI,CAAC;IACrB,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;YAAE,OAAO;QAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,iDAAiD;YACjD,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YAClE,EAAE,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QACD,aAAa,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,EAAE,CAAC;QACZ,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;IACH,CAAC,EAAE,qBAAqB,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,EAAU,EAAE,IAAe;IACnD,0CAA0C;IAC1C,IAAI,eAAe;QAAE,MAAM,eAAe,CAAC;IAC3C,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAE9D,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC;IACxB,MAAM,OAAO,GAAe,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAEpC,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC9C,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAEtC,IAAI,GAAG,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,6CAA6C;AAC7C,MAAM,WAAW,GAAG,sCAAsC,CAAC;AAE3D,2FAA2F;AAC3F,SAAS,WAAW,CAAC,IAAY,EAAE,KAAc;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,IAAoB,EAAE,QAAkB;IAC7D,kCAAkC;IAClC,IAAI,QAAQ,IAAI,CAAC,IAAI,YAAY,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3E,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAmB,CAAC,CAAC;QAC5E,IAAI,uBAAuB,CAAC,GAAG,CAAC;YAAE,OAAO;IAC3C,CAAC;IAED,uBAAuB;IACvB,MAAM,GAAG,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACrE,IAAI,QAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAgB,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAED,sEAAsE;IACtE,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE7B,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,SAAS,uBAAuB,CAAC,GAAY;IAC3C,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACnE,yCAAyC;IACzC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/D,OAAO,CACL,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;QACnB,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;QACnB,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;QACnB,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC5B,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC1B,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;QACzB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;QACpB,GAAG,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAC3C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,KAAa;IAC5D,IAAI,OAAgB,CAAC;IACrB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,iBAAiB,EAAE,OAAO,EAAE,EAAE,CAAC;QAC9D,IAAI,CAAC;YACH,OAAO,MAAM,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,GAAG,GAAG,CAAC;YACd,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC;gBAAE,MAAM,GAAG,CAAC;YAC7C,IAAI,OAAO,KAAK,iBAAiB;gBAAE,MAAM;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACzD,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CACV,uCAAuC,OAAO,IAAI,iBAAiB,YAAY,GAAG,kBAAkB,OAAO,IAAI,CAChH,CAAC;YACF,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,MAAM,OAAO,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,GAAW,EAAE,KAAa;IAC1D,IAAI,GAAG,GAAG,CAAC;IACX,MAAM,GAAG,KAAK,CAAC;IAEf,oEAAoE;IACpE,qEAAqE;IACrE,+DAA+D;IAC/D,kEAAkE;IAClE,4CAA4C;IAC5C,IAAI,GAAG,EAAE,CAAC;QACR,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,oBAAoB;QACtB,CAAC;QACD,GAAG,GAAG,IAAI,CAAC;IACb,CAAC;IAED,eAAe,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtD,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC7B,CAAC,CAAC,GAAG,GAAG,UAAU,KAAK,EAAE;YACzB,CAAC,CAAC,GAAG,GAAG,UAAU,KAAK,EAAE,CAAC;QAE5B,GAAG,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;QAE3B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YAClB,UAAU,GAAG,IAAI,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;YAEnD,qDAAqD;YACrD,aAAa,CAAC,GAAI,CAAC,CAAC;YAEpB,cAAc,CAAC,GAAI,CAAC,CAAC;YAErB,wBAAwB;YACxB,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC7B,GAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;YACD,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;YAEtB,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAEjC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YAClB,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YAC/B,MAAM,YAAY,GAAG,UAAU,CAAC;YAChC,UAAU,GAAG,KAAK,CAAC;YACnB,aAAa,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CACV,kCAAkC,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAC9D,CAAC;YACF,oDAAoD;YACpD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;YACpF,CAAC;YACD,8BAA8B;YAC9B,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACrC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACtB,CAAC;YACD,qFAAqF;YACrF,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACrD,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM;wBAAE,OAAO,CAAC,2BAA2B;oBACzD,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;oBAC3C,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;wBACjD,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBAC3F,CAAC,CAAC,CAAC;gBACL,CAAC,EAAE,IAAI,CAAC,CAAC;YACX,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACtB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE;QAChC,eAAe,GAAG,IAAI,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,IAAI,GAAG,EAAE,CAAC;IACV,MAAM,GAAG,EAAE,CAAC;IACZ,UAAU,GAAG,KAAK,CAAC;IACnB,aAAa,EAAE,CAAC;IAChB,IAAI,GAAG,EAAE,CAAC;QACR,GAAG,CAAC,KAAK,EAAE,CAAC;QACZ,GAAG,GAAG,IAAI,CAAC;IACb,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,gFAAgF;AAChF,wCAAwC;AAExC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,UAAkB,EAClB,EAAU;IAEV,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAsB,CAAC;AACjE,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,UAAkB,EAClB,GAAM,EACN,OAA+C;IAE/C,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,CAAqB,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,UAAkB,EAClB,EAAU,EACV,MAA+B,EAC/B,MAAiB;IAEjB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IAClF,OAAO,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAe,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,UAAkB,EAClB,EAAU,EACV,MAA+B,EAC/B,MAAiB;IAEjB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IAClF,OAAO,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAsB,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,UAAkB,EAClB,EAAU,EACV,MAA+B,EAC/B,GAAM,EACN,MAAiB;IAEjB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5F,OAAO,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAe,CAAC;AAC5D,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,UAAkB,EAClB,EAAU,EACV,EAAO,EACP,MAAiB;IAEjB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1E,OAAO,GAAG,CAAC,aAAa,EAAE,IAAI,CAAe,CAAC;AAChD,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAAkB,EAClB,EAAU,EACV,EAAO,EACP,MAAiB;IAEjB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1E,OAAO,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAsB,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,UAAkB,EAClB,EAAU,EACV,MAAiB;IAEjB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAClE,MAAM,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,UAAkB,EAClB,MAAgC,EAChC,OAA0E;IAE1E,OAAO,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAiB,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,UAAkB,EAClB,QAAmC,EACnC,OAA2C;IAE3C,OAAO,GAAG,CAAC,aAAa,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAiB,CAAC;AAC7E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,UAAkB,EAClB,QAAmC;IAEnC,OAAO,GAAG,CAAC,kBAAkB,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAoB,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,UAAkB,EAClB,QAAmC,EACnC,OAA2C;IAE3C,OAAO,GAAG,CAAC,gBAAgB,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAiB,CAAC;AAChF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAkB,EAClB,MAA+B;IAE/B,OAAO,GAAG,CAAC,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAsB,CAAC;AACzE,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,UAAkB,EAClB,MAAY,EACZ,OAAa;IAEb,OAAO,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAiB,CAAC;AACvE,CAAC;AAED,8DAA8D;AAC9D,6DAA6D;AAC7D,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,UAAkB,EAClB,MAAY;IAEZ,OAAO,GAAG,CAAC,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAoB,CAAC;AACtE,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAkB,EAClB,MAAY,EACZ,KAAc;IAEd,OAAO,GAAG,CAAC,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAiB,CAAC;AAC3E,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,UAAkB,EAClB,MAAW;IAEX,OAAO,GAAG,CAAC,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAsB,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAkB,EAClB,WAAmB,EACnB,OAA8D;IAE9D,OAAO,GAAG,CAAC,eAAe,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAAiB,CAAC;AAClF,CAAC;AAED,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,GAAW,EACX,MAAkB;IAElB,OAAO,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAGlC,CAAC;AACL,CAAC;AAED,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAAkB;IAClD,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAAkB;IAClD,OAAO,GAAG,CAAC,gBAAgB,EAAE,CAAC,UAAU,CAAC,CAAqB,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAAkB,EAClB,MAAgB,EAChB,QAAiB;IAEjB,MAAM,GAAG,CAAC,uBAAuB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAAkB,EAClB,EAAU,EACV,MAAgB,EAChB,QAAiB;IAEjB,MAAM,GAAG,CAAC,uBAAuB,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAY,EACZ,UAAkB;IAElB,MAAM,GAAG,CAAC,yBAAyB,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAAY;IACvD,MAAM,GAAG,CAAC,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAkB,EAClB,EAAU,EACV,MAAgB,EAChB,OAAiC;IAEjC,MAAM,GAAG,CAAC,eAAe,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAkB,EAClB,EAAU;IAEV,MAAM,GAAG,CAAC,eAAe,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/C,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,UAAkB,EAClB,MAAgB,EAChB,KAAc;IAEd,OAAO,GAAG,CAAC,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAEtD,CAAC;AACJ,CAAC;AAmBD,IAAI,cAAc,GAAG,EAAE,CAAC;AAExB,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,cAAc,GAAG,MAAM,CAAC;AAC1B,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,OAAO,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW;YACtC,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YACpC,OAAO,GAAG,CAAC,QAAQ,EAAE;gBACnB,MAAM;gBACN,YAAY;gBACZ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACvB,WAAW;aACZ,CAAoB,CAAC;QACxB,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO;YACjC,OAAO,GAAG,CAAC,iBAAiB,EAAE;gBAC5B,SAAS,CAAC,OAAO,CAAC;gBAClB,SAAS,CAAC,OAAO,CAAC;aACnB,CAAoB,CAAC;QACxB,CAAC;QAED,GAAG,CAAC,MAAM,EAAE,GAAG;YACb,gEAAgE;YAChE,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,YAAY,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GACZ,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,uBAAuB,CAAC;gBAC3D,OAAO,GAAG,QAAQ,IAAI,MAAM,IAAI,YAAY,EAAE,CAAC;YACjD,CAAC;YACD,MAAM,OAAO,GACX,MAAM,KAAK,QAAQ;gBACjB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,EAAE;gBACzC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC;YAC5D,OAAO,GAAG,GAAG,GAAG,YAAY,EAAE,CAAC;QACjC,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG;YAC5B,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,iBAAiB,EAAE;gBAC3C,MAAM;gBACN,YAAY;aACb,CAAC,CAA6C,CAAC;YAEhD,uEAAuE;YACvE,wEAAwE;YACxE,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,YAAY,EAAE,CAAC;gBAC7C,MAAM,CAAC,SAAS,GAAG,YAAY,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACxE,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"DataProxyClient.js","sourceRoot":"","sources":["../../src/server/DataProxyClient.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,SAAS,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAqB9E,gFAAgF;AAEhF,IAAI,GAAG,GAAqB,IAAI,CAAC;AACjC,IAAI,UAAU,GAAG,CAAC,CAAC;AACnB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;AACnD,IAAI,eAAe,GAAyB,IAAI,CAAC;AACjD,IAAI,IAAI,GAAG,EAAE,CAAC;AACd,IAAI,MAAM,GAAG,EAAE,CAAC;AAChB,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,2DAA2D;AAC3D,MAAM,UAAU,GAAa,EAAE,CAAC;AAchC,IAAI,eAAe,GAAoB,EAAE,CAAC;AAE1C;;;;;GAKG;AACH,IAAI,iBAAiB,GAAG,CAAC,CAAC;AAC1B,IAAI,eAAe,GAAyC,IAAI,CAAC;AAEjE;;;;;;;;GAQG;AACH,MAAM,mBAAmB,GAAG,CAAC,GAAG,MAAM,CAAC;AAEvC;;;;GAIG;AACH,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAExC,4EAA4E;AAC5E,gFAAgF;AAChF,MAAM,qBAAqB,GAAG,MAAM,CAAC;AACrC,IAAI,eAAe,GAA0C,IAAI,CAAC;AAClE,IAAI,aAAa,GAAG,IAAI,CAAC;AAEzB,SAAS,aAAa;IACpB,IAAI,eAAe,EAAE,CAAC;QACpB,aAAa,CAAC,eAAe,CAAC,CAAC;QAC/B,eAAe,GAAG,IAAI,CAAC;IACzB,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,EAAa;IACnC,aAAa,EAAE,CAAC;IAChB,aAAa,GAAG,IAAI,CAAC;IACrB,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;YAAE,OAAO;QAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,iDAAiD;YACjD,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YAClE,EAAE,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QACD,aAAa,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,EAAE,CAAC;QACZ,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;IACH,CAAC,EAAE,qBAAqB,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,gBAAgB,CAAC,SAAiB;IACzC,IAAI,UAAU;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IACzC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CACP,qFAAqF,CACtF,CACF,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,OAAO,CAAO,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE;QACrD,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAkB;YAC5B,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,YAAY,EAAE,CAAC;YACjB,CAAC;YACD,MAAM,EAAE,CAAC,GAAU,EAAE,EAAE;gBACrB,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,WAAW,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;SACF,CAAC;QACF,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,GAAG,IAAI,CAAC;gBAAE,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC7C,WAAW,CACT,IAAI,KAAK,CACP,6CAA6C,SAAS,uCAAuC,CAC9F,CACF,CAAC;QACJ,CAAC,EAAE,SAAS,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe;IACtB,MAAM,OAAO,GAAG,eAAe,CAAC;IAChC,eAAe,GAAG,EAAE,CAAC;IACrB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,CAAC,CAAC,OAAO,EAAE,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,0DAA0D;QAC5D,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,EAAU,EAAE,IAAe;IACnD,2CAA2C;IAC3C,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,eAAe,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP;sEAC0D;QAC5D,CAAC;IACH,CAAC;IACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,8DAA8D;QAC9D,0DAA0D;QAC1D,0DAA0D;QAC1D,kCAAkC;QAClC,MAAM,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC;IACxB,MAAM,OAAO,GAAe,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAEpC,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC9C,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAEtC,IAAI,GAAG,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,6CAA6C;AAC7C,MAAM,WAAW,GAAG,sCAAsC,CAAC;AAE3D,2FAA2F;AAC3F,SAAS,WAAW,CAAC,IAAY,EAAE,KAAc;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,IAAoB,EAAE,QAAkB;IAC7D,kCAAkC;IAClC,IAAI,QAAQ,IAAI,CAAC,IAAI,YAAY,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3E,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAmB,CAAC,CAAC;QAC5E,IAAI,uBAAuB,CAAC,GAAG,CAAC;YAAE,OAAO;IAC3C,CAAC;IAED,uBAAuB;IACvB,MAAM,GAAG,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACrE,IAAI,QAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAgB,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IAED,sEAAsE;IACtE,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE7B,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,SAAS,uBAAuB,CAAC,GAAY;IAC3C,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACnE,yCAAyC;IACzC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/D,OAAO,CACL,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;QACnB,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;QACnB,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;QACnB,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC5B,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC1B,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;QACzB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;QACpB,GAAG,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAC3C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,KAAa;IAC5D,IAAI,OAAgB,CAAC;IACrB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,iBAAiB,EAAE,OAAO,EAAE,EAAE,CAAC;QAC9D,IAAI,CAAC;YACH,OAAO,MAAM,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,GAAG,GAAG,CAAC;YACd,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC;gBAAE,MAAM,GAAG,CAAC;YAC7C,IAAI,OAAO,KAAK,iBAAiB;gBAAE,MAAM;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACzD,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CACV,uCAAuC,OAAO,IAAI,iBAAiB,YAAY,GAAG,kBAAkB,OAAO,IAAI,CAChH,CAAC;YACF,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,MAAM,OAAO,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,GAAW,EAAE,KAAa;IAC1D,IAAI,GAAG,GAAG,CAAC;IACX,MAAM,GAAG,KAAK,CAAC;IAEf,oEAAoE;IACpE,qEAAqE;IACrE,+DAA+D;IAC/D,kEAAkE;IAClE,4CAA4C;IAC5C,IAAI,GAAG,EAAE,CAAC;QACR,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,oBAAoB;QACtB,CAAC;QACD,GAAG,GAAG,IAAI,CAAC;IACb,CAAC;IAED,eAAe,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtD,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC7B,CAAC,CAAC,GAAG,GAAG,UAAU,KAAK,EAAE;YACzB,CAAC,CAAC,GAAG,GAAG,UAAU,KAAK,EAAE,CAAC;QAE5B,GAAG,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;QAE3B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YAClB,UAAU,GAAG,IAAI,CAAC;YAClB,iBAAiB,GAAG,CAAC,CAAC,CAAC,0BAA0B;YACjD,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;YAEnD,qDAAqD;YACrD,aAAa,CAAC,GAAI,CAAC,CAAC;YAEpB,cAAc,CAAC,GAAI,CAAC,CAAC;YAErB,wBAAwB;YACxB,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC7B,GAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;YACD,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;YAEtB,mEAAmE;YACnE,eAAe,EAAE,CAAC;YAElB,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAEjC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YAClB,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YAC/B,MAAM,YAAY,GAAG,UAAU,CAAC;YAChC,UAAU,GAAG,KAAK,CAAC;YACnB,aAAa,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CACV,kCAAkC,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAC9D,CAAC;YACF,oDAAoD;YACpD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;YACpF,CAAC;YACD,8BAA8B;YAC9B,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACrC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACtB,CAAC;YACD,6DAA6D;YAC7D,8DAA8D;YAC9D,2DAA2D;YAC3D,yDAAyD;YACzD,UAAU;YACV,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACrD,iBAAiB,EAAE,CAAC;YACtB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACtB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,gEAAgE;IAChE,gEAAgE;IAChE,mEAAmE;IACnE,gEAAgE;IAChE,2CAA2C;IAC3C,KAAK,eAAe;SACjB,KAAK,CAAC,GAAG,EAAE;QACV;+BACuB;IACzB,CAAC,CAAC;SACD,OAAO,CAAC,GAAG,EAAE;QACZ,eAAe,GAAG,IAAI,CAAC;IACzB,CAAC,CAAC,CAAC;IAEL,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,iBAAiB;IACxB,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,4BAA4B;IAC1D,IAAI,eAAe;QAAE,OAAO,CAAC,oBAAoB;IACjD,iBAAiB,IAAI,CAAC,CAAC;IACvB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CACtB,IAAI,GAAG,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,EACnC,wBAAwB,CACzB,CAAC;IACF,OAAO,CAAC,GAAG,CACT,iCAAiC,iBAAiB,OAAO,OAAO,IAAI,CACrE,CAAC;IACF,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;QAChC,eAAe,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QAC7B,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtD,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CACV,iCAAiC,iBAAiB,YAAY,GAAG,oBAAoB,CACtF,CAAC;YACF,iBAAiB,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,OAAO,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,IAAI,GAAG,EAAE,CAAC;IACV,MAAM,GAAG,EAAE,CAAC;IACZ,UAAU,GAAG,KAAK,CAAC;IACnB,aAAa,EAAE,CAAC;IAChB,IAAI,eAAe,EAAE,CAAC;QACpB,YAAY,CAAC,eAAe,CAAC,CAAC;QAC9B,eAAe,GAAG,IAAI,CAAC;IACzB,CAAC;IACD,iBAAiB,GAAG,CAAC,CAAC;IACtB,iEAAiE;IACjE,+DAA+D;IAC/D,sDAAsD;IACtD,MAAM,OAAO,GAAG,eAAe,CAAC;IAChC,eAAe,GAAG,EAAE,CAAC;IACrB,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAChF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,gFAAgF;AAChF,wCAAwC;AAExC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,UAAkB,EAClB,EAAU;IAEV,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAsB,CAAC;AACjE,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,UAAkB,EAClB,GAAM,EACN,OAA+C;IAE/C,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,CAAqB,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,UAAkB,EAClB,EAAU,EACV,MAA+B,EAC/B,MAAiB;IAEjB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IAClF,OAAO,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAe,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,UAAkB,EAClB,EAAU,EACV,MAA+B,EAC/B,MAAiB;IAEjB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IAClF,OAAO,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAsB,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,UAAkB,EAClB,EAAU,EACV,MAA+B,EAC/B,GAAM,EACN,MAAiB;IAEjB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5F,OAAO,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAe,CAAC;AAC5D,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,UAAkB,EAClB,EAAU,EACV,EAAO,EACP,MAAiB;IAEjB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1E,OAAO,GAAG,CAAC,aAAa,EAAE,IAAI,CAAe,CAAC;AAChD,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAAkB,EAClB,EAAU,EACV,EAAO,EACP,MAAiB;IAEjB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1E,OAAO,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAsB,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,UAAkB,EAClB,EAAU,EACV,MAAiB;IAEjB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAClE,MAAM,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,UAAkB,EAClB,MAAgC,EAChC,OAA0E;IAE1E,OAAO,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAiB,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,UAAkB,EAClB,QAAmC,EACnC,OAA2C;IAE3C,OAAO,GAAG,CAAC,aAAa,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAiB,CAAC;AAC7E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,UAAkB,EAClB,QAAmC;IAEnC,OAAO,GAAG,CAAC,kBAAkB,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAoB,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,UAAkB,EAClB,QAAmC,EACnC,OAA2C;IAE3C,OAAO,GAAG,CAAC,gBAAgB,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAiB,CAAC;AAChF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAkB,EAClB,MAA+B;IAE/B,OAAO,GAAG,CAAC,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAsB,CAAC;AACzE,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,UAAkB,EAClB,MAAY,EACZ,OAAa;IAEb,OAAO,GAAG,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAiB,CAAC;AACvE,CAAC;AAED,8DAA8D;AAC9D,6DAA6D;AAC7D,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,UAAkB,EAClB,MAAY;IAEZ,OAAO,GAAG,CAAC,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAoB,CAAC;AACtE,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAkB,EAClB,MAAY,EACZ,KAAc;IAEd,OAAO,GAAG,CAAC,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAiB,CAAC;AAC3E,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,UAAkB,EAClB,MAAW;IAEX,OAAO,GAAG,CAAC,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAsB,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAkB,EAClB,WAAmB,EACnB,OAA8D;IAE9D,OAAO,GAAG,CAAC,eAAe,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAAiB,CAAC;AAClF,CAAC;AAED,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,GAAW,EACX,MAAkB;IAElB,OAAO,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAGlC,CAAC;AACL,CAAC;AAED,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAAkB;IAClD,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAAkB;IAClD,OAAO,GAAG,CAAC,gBAAgB,EAAE,CAAC,UAAU,CAAC,CAAqB,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAAkB,EAClB,MAAgB,EAChB,QAAiB;IAEjB,MAAM,GAAG,CAAC,uBAAuB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAAkB,EAClB,EAAU,EACV,MAAgB,EAChB,QAAiB;IAEjB,MAAM,GAAG,CAAC,uBAAuB,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAY,EACZ,UAAkB;IAElB,MAAM,GAAG,CAAC,yBAAyB,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAAY;IACvD,MAAM,GAAG,CAAC,yBAAyB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAkB,EAClB,EAAU,EACV,MAAgB,EAChB,OAAiC;IAEjC,MAAM,GAAG,CAAC,eAAe,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAkB,EAClB,EAAU;IAEV,MAAM,GAAG,CAAC,eAAe,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/C,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,UAAkB,EAClB,MAAgB,EAChB,KAAc;IAEd,OAAO,GAAG,CAAC,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAEtD,CAAC;AACJ,CAAC;AAmBD,IAAI,cAAc,GAAG,EAAE,CAAC;AAExB,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,cAAc,GAAG,MAAM,CAAC;AAC1B,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,OAAO,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW;YACtC,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YACpC,OAAO,GAAG,CAAC,QAAQ,EAAE;gBACnB,MAAM;gBACN,YAAY;gBACZ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACvB,WAAW;aACZ,CAAoB,CAAC;QACxB,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO;YACjC,OAAO,GAAG,CAAC,iBAAiB,EAAE;gBAC5B,SAAS,CAAC,OAAO,CAAC;gBAClB,SAAS,CAAC,OAAO,CAAC;aACnB,CAAoB,CAAC;QACxB,CAAC;QAED,GAAG,CAAC,MAAM,EAAE,GAAG;YACb,gEAAgE;YAChE,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,YAAY,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GACZ,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,uBAAuB,CAAC;gBAC3D,OAAO,GAAG,QAAQ,IAAI,MAAM,IAAI,YAAY,EAAE,CAAC;YACjD,CAAC;YACD,MAAM,OAAO,GACX,MAAM,KAAK,QAAQ;gBACjB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,EAAE;gBACzC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC;YAC5D,OAAO,GAAG,GAAG,GAAG,YAAY,EAAE,CAAC;QACjC,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG;YAC5B,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,iBAAiB,EAAE;gBAC3C,MAAM;gBACN,YAAY;aACb,CAAC,CAA6C,CAAC;YAEhD,uEAAuE;YACvE,wEAAwE;YACxE,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,YAAY,EAAE,CAAC;gBAC7C,MAAM,CAAC,SAAS,GAAG,YAAY,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACxE,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ugly-app",
3
- "version": "0.1.405",
3
+ "version": "0.1.406",
4
4
  "type": "module",
5
5
  "main": "./dist/server/index.js",
6
6
  "exports": {
@@ -1,2 +1,2 @@
1
1
  // Auto-generated by prebuild — do not edit manually
2
- export const CLI_VERSION = "0.1.405";
2
+ export const CLI_VERSION = "0.1.406";
@@ -40,6 +40,47 @@ let _connected = false;
40
40
  // Queue of messages to send when connection is established
41
41
  const _sendQueue: string[] = [];
42
42
 
43
+ /**
44
+ * Callbacks waiting for the next successful `open`. `rpc()` registers
45
+ * one here when it's invoked during a disconnected state; on
46
+ * reconnect we fire each `resolve` so queued RPCs can proceed, and
47
+ * on `stopDataProxy` we fire each `reject` so callers don't hang
48
+ * forever after shutdown. See `waitForConnected()` for the public
49
+ * path.
50
+ */
51
+ interface ConnectWaiter {
52
+ resolve: () => void;
53
+ reject: (err: Error) => void;
54
+ }
55
+ let _connectWaiters: ConnectWaiter[] = [];
56
+
57
+ /**
58
+ * Infinite reconnect scheduler state. `_reconnectAttempt` ticks up
59
+ * on each failed `_initDataProxyOnce` and resets to 0 on a
60
+ * successful open. `_reconnectTimer` is the pending `setTimeout`
61
+ * handle so `stopDataProxy` can cancel it mid-backoff.
62
+ */
63
+ let _reconnectAttempt = 0;
64
+ let _reconnectTimer: ReturnType<typeof setTimeout> | null = null;
65
+
66
+ /**
67
+ * How long an individual RPC will block waiting for a disconnected
68
+ * client to (re)connect before giving up. Five minutes matches the
69
+ * outer-layer timeouts we already tolerate elsewhere and is long
70
+ * enough to cover a realistic edge-proxy outage, short enough that a
71
+ * genuinely broken config fails within one coffee break. Not
72
+ * configurable today — can be added if a caller has a legitimately
73
+ * longer tolerance.
74
+ */
75
+ const RPC_CONNECT_WAIT_MS = 5 * 60_000;
76
+
77
+ /**
78
+ * Upper bound on reconnect backoff. 1s, 2s, 4s, 8s, 16s, 32s, 60s,
79
+ * 60s, 60s, … forever. Short enough that a brief edge hiccup is
80
+ * invisible, long enough that a dead server doesn't hammer logs.
81
+ */
82
+ const RECONNECT_BACKOFF_CAP_MS = 60_000;
83
+
43
84
  // Heartbeat — keeps the WebSocket alive through idle-killing intermediaries
44
85
  // (Docker userland-proxy, NAT, load balancers) that drop quiet TCP connections.
45
86
  const HEARTBEAT_INTERVAL_MS = 25_000;
@@ -73,10 +114,93 @@ function startHeartbeat(ws: WebSocket): void {
73
114
  }, HEARTBEAT_INTERVAL_MS);
74
115
  }
75
116
 
117
+ /**
118
+ * Wait for the client to be connected. Resolves immediately when
119
+ * already connected; otherwise queues a one-shot callback that fires
120
+ * on the next successful `open`. Rejects with a different error when
121
+ * `initDataProxy` has never been called — the waiter would hang
122
+ * forever otherwise, which is the wrong behavior for one-shot scripts
123
+ * that imported `pgQuery` without bootstrapping the proxy.
124
+ *
125
+ * A safety timeout (default `RPC_CONNECT_WAIT_MS`) fires if the
126
+ * connection doesn't come back in time. The waiter is removed from
127
+ * the pending list so a late `open` doesn't invoke a stale callback.
128
+ */
129
+ function waitForConnected(timeoutMs: number): Promise<void> {
130
+ if (_connected) return Promise.resolve();
131
+ if (!_url || !_token) {
132
+ return Promise.reject(
133
+ new Error(
134
+ '[DataProxy] not configured — call initDataProxy(url, token) before making RPC calls',
135
+ ),
136
+ );
137
+ }
138
+ return new Promise<void>((resolveOuter, rejectOuter) => {
139
+ let settled = false;
140
+ const waiter: ConnectWaiter = {
141
+ resolve: () => {
142
+ if (settled) return;
143
+ settled = true;
144
+ clearTimeout(timer);
145
+ resolveOuter();
146
+ },
147
+ reject: (err: Error) => {
148
+ if (settled) return;
149
+ settled = true;
150
+ clearTimeout(timer);
151
+ rejectOuter(err);
152
+ },
153
+ };
154
+ _connectWaiters.push(waiter);
155
+ const timer = setTimeout(() => {
156
+ if (settled) return;
157
+ settled = true;
158
+ const idx = _connectWaiters.indexOf(waiter);
159
+ if (idx >= 0) _connectWaiters.splice(idx, 1);
160
+ rejectOuter(
161
+ new Error(
162
+ `[DataProxy] connection wait timeout after ${timeoutMs}ms — server appears to be unreachable`,
163
+ ),
164
+ );
165
+ }, timeoutMs);
166
+ });
167
+ }
168
+
169
+ /**
170
+ * Flush the connect-waiter queue. Called from the WebSocket `open`
171
+ * handler on (re)connection so any RPCs that were blocked waiting
172
+ * for the server can proceed. Order preserved (FIFO) so earlier
173
+ * callers unblock first.
174
+ */
175
+ function notifyConnected(): void {
176
+ const waiters = _connectWaiters;
177
+ _connectWaiters = [];
178
+ for (const w of waiters) {
179
+ try {
180
+ w.resolve();
181
+ } catch {
182
+ /* a waiter's resolve shouldn't throw, but be defensive */
183
+ }
184
+ }
185
+ }
186
+
76
187
  export async function rpc(op: string, args: unknown[]): Promise<unknown> {
77
- // Wait for connection if still connecting
78
- if (_connectPromise) await _connectPromise;
79
- if (!_connected) throw new Error('[DataProxy] Not connected');
188
+ // Wait for connection if still connecting.
189
+ if (_connectPromise) {
190
+ try {
191
+ await _connectPromise;
192
+ } catch {
193
+ /* swallow — we'll fall through to waitForConnected which
194
+ holds until the reconnect loop succeeds or times out */
195
+ }
196
+ }
197
+ if (!_connected) {
198
+ // Don't fail fast on a transient disconnect. If initDataProxy
199
+ // has been called, the reconnect loop is running and will
200
+ // restore the connection; queue-and-wait until it does or
201
+ // until the safety timeout trips.
202
+ await waitForConnected(RPC_CONNECT_WAIT_MS);
203
+ }
80
204
 
81
205
  const id = ++_requestId;
82
206
  const request: RpcRequest = { id, op, args };
@@ -221,6 +345,7 @@ async function _initDataProxyOnce(url: string, token: string): Promise<void> {
221
345
 
222
346
  _ws.on('open', () => {
223
347
  _connected = true;
348
+ _reconnectAttempt = 0; // success → reset backoff
224
349
  console.log('[DataProxy] Connected to data proxy');
225
350
 
226
351
  // Initialize NATS proxy client with shared WebSocket
@@ -234,6 +359,9 @@ async function _initDataProxyOnce(url: string, token: string): Promise<void> {
234
359
  }
235
360
  _sendQueue.length = 0;
236
361
 
362
+ // Unblock any rpc() calls that were waiting for a live connection.
363
+ notifyConnected();
364
+
237
365
  resolve();
238
366
  });
239
367
 
@@ -259,15 +387,13 @@ async function _initDataProxyOnce(url: string, token: string): Promise<void> {
259
387
  pending.reject(new Error('Connection closed'));
260
388
  _pending.delete(id);
261
389
  }
262
- // Auto-reconnect after 1 second (only for unexpected disconnects, not auth failures)
390
+ // Auth-close codes are permanent no amount of reconnecting
391
+ // fixes an invalid token. Everything else starts the infinite
392
+ // reconnect loop (see `scheduleReconnect`) so brief server
393
+ // outages resolve transparently instead of stranding the
394
+ // client.
263
395
  if (_url && _token && code !== 4001 && code !== 4003) {
264
- setTimeout(() => {
265
- if (!_url || !_token) return; // stopDataProxy was called
266
- console.log('[DataProxy] Reconnecting...');
267
- initDataProxy(_url, _token).catch((err: unknown) => {
268
- console.error('[DataProxy] Reconnect failed:', err instanceof Error ? err.message : err);
269
- });
270
- }, 1000);
396
+ scheduleReconnect();
271
397
  }
272
398
  });
273
399
 
@@ -280,21 +406,82 @@ async function _initDataProxyOnce(url: string, token: string): Promise<void> {
280
406
  });
281
407
  });
282
408
 
283
- void _connectPromise.finally(() => {
284
- _connectPromise = null;
285
- });
409
+ // Clear _connectPromise once it settles, regardless of outcome.
410
+ // The explicit `.catch` on this side-chain is required: callers
411
+ // await the returned promise and handle errors themselves; without
412
+ // the catch here, the side-chain's rejection would bubble as an
413
+ // unhandled rejection in the Node process.
414
+ void _connectPromise
415
+ .catch(() => {
416
+ /* settled via caller — swallow so the state-clear chain below
417
+ doesn't propagate */
418
+ })
419
+ .finally(() => {
420
+ _connectPromise = null;
421
+ });
286
422
 
287
423
  return _connectPromise;
288
424
  }
289
425
 
426
+ /**
427
+ * Schedule the next reconnect attempt. Exponential backoff, no
428
+ * upper bound on retries — the loop only stops on `stopDataProxy`
429
+ * (clears `_url`/`_token`) or on a successful open (resets
430
+ * `_reconnectAttempt`).
431
+ *
432
+ * Previous behavior fired a single reconnect 1s after close and
433
+ * gave up if that attempt failed, leaving the client permanently
434
+ * dead until the process restarted. Server-side blips (edge 502
435
+ * during a rollover, a brief data-proxy crash) used to soft-brick
436
+ * every subsequent RPC with "Not connected"; with this loop they
437
+ * resolve transparently.
438
+ */
439
+ function scheduleReconnect(): void {
440
+ if (!_url || !_token) return; // stopDataProxy already ran
441
+ if (_reconnectTimer) return; // already scheduled
442
+ _reconnectAttempt += 1;
443
+ const delayMs = Math.min(
444
+ 1000 * 2 ** (_reconnectAttempt - 1),
445
+ RECONNECT_BACKOFF_CAP_MS,
446
+ );
447
+ console.log(
448
+ `[DataProxy] Reconnect attempt ${_reconnectAttempt} in ${delayMs}ms`,
449
+ );
450
+ _reconnectTimer = setTimeout(() => {
451
+ _reconnectTimer = null;
452
+ if (!_url || !_token) return;
453
+ _initDataProxyOnce(_url, _token).catch((err: unknown) => {
454
+ const msg = err instanceof Error ? err.message : String(err);
455
+ console.warn(
456
+ `[DataProxy] Reconnect attempt ${_reconnectAttempt} failed: ${msg} — scheduling next`,
457
+ );
458
+ scheduleReconnect();
459
+ });
460
+ }, delayMs);
461
+ }
462
+
290
463
  export function stopDataProxy(): void {
291
464
  _url = '';
292
465
  _token = '';
293
466
  _connected = false;
294
467
  stopHeartbeat();
295
- if (_ws) {
296
- _ws.close();
297
- _ws = null;
468
+ if (_reconnectTimer) {
469
+ clearTimeout(_reconnectTimer);
470
+ _reconnectTimer = null;
471
+ }
472
+ _reconnectAttempt = 0;
473
+ // Reject any connect-waiters so rpc() callers don't hang forever
474
+ // after shutdown. Callers see a clean "shut down" error rather
475
+ // than the more ambiguous connection-timeout message.
476
+ const waiters = _connectWaiters;
477
+ _connectWaiters = [];
478
+ const shutdownErr = new Error('[DataProxy] client shut down via stopDataProxy');
479
+ for (const w of waiters) {
480
+ try {
481
+ w.reject(shutdownErr);
482
+ } catch {
483
+ /* defensive */
484
+ }
298
485
  }
299
486
  }
300
487