ugly-app 0.1.405 → 0.1.407
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/cli/version.d.ts +1 -1
- package/dist/cli/version.js +1 -1
- package/dist/server/DataProxyClient.d.ts.map +1 -1
- package/dist/server/DataProxyClient.js +178 -18
- package/dist/server/DataProxyClient.js.map +1 -1
- package/dist/server/Logging.d.ts.map +1 -1
- package/dist/server/Logging.js +31 -0
- package/dist/server/Logging.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/version.ts +1 -1
- package/src/server/DataProxyClient.ts +204 -17
- package/src/server/Logging.ts +29 -0
package/dist/cli/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const CLI_VERSION = "0.1.
|
|
1
|
+
export declare const CLI_VERSION = "0.1.407";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/cli/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataProxyClient.d.ts","sourceRoot":"","sources":["../../src/server/DataProxyClient.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
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
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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
|
-
//
|
|
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
|
-
|
|
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
|
-
|
|
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 (
|
|
251
|
-
|
|
252
|
-
|
|
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":"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"}
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logging.d.ts","sourceRoot":"","sources":["../../src/server/Logging.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAO,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"Logging.d.ts","sourceRoot":"","sources":["../../src/server/Logging.ts"],"names":[],"mappings":"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"}
|
package/dist/server/Logging.js
CHANGED
|
@@ -3,6 +3,25 @@ import fsSync from 'node:fs';
|
|
|
3
3
|
import fs from 'node:fs/promises';
|
|
4
4
|
import path from 'node:path';
|
|
5
5
|
import { rpc } from './DataProxyClient.js';
|
|
6
|
+
// ─── Data-proxy capture forwarding ──────────────────────────────────────────
|
|
7
|
+
//
|
|
8
|
+
// errorLog and perfLog writes go through the data-proxy's restricted-collection
|
|
9
|
+
// RPCs (db.captureError / db.capturePerf). The data-proxy stamps projectId from
|
|
10
|
+
// the JWT (claims.sub) and devTunnelId from the JWT (claims.devTunnelId), so
|
|
11
|
+
// nothing the client sends can spoof identity. There is no project/userId
|
|
12
|
+
// argument to these helpers — both come from the JWT the StorageClient holds.
|
|
13
|
+
//
|
|
14
|
+
// studioSessionId is different: it's a sub-partition inside one developer's
|
|
15
|
+
// dev tunnel (so N coding-agent sessions from the same user can show only
|
|
16
|
+
// their own logs in the ugly-studio panels / AI tools). It is NOT a security
|
|
17
|
+
// gate — devTunnelId already isolates between users. We read it from
|
|
18
|
+
// `UGLY_STUDIO_SESSION_ID`, an env var ugly-studio sets on every per-session
|
|
19
|
+
// `npm run dev` child it spawns (see studio/server/devServerMulti.ts
|
|
20
|
+
// startInstance). Absent = legacy single-session dev, no stamp.
|
|
21
|
+
function getStudioSessionId() {
|
|
22
|
+
const raw = process.env['UGLY_STUDIO_SESSION_ID'];
|
|
23
|
+
return raw && raw.length > 0 ? raw : undefined;
|
|
24
|
+
}
|
|
6
25
|
const _pendingErrorEntries = [];
|
|
7
26
|
let _errorFlushScheduled = false;
|
|
8
27
|
/** Backward-compat shim — args ignored. Kept so App.ts doesn't need a coordinated change. */
|
|
@@ -35,6 +54,7 @@ async function flushErrorEntries() {
|
|
|
35
54
|
scheduleErrorFlush();
|
|
36
55
|
}
|
|
37
56
|
function sendErrorToApi(level, message, opts) {
|
|
57
|
+
const studioSessionId = getStudioSessionId();
|
|
38
58
|
_pendingErrorEntries.push({
|
|
39
59
|
level,
|
|
40
60
|
message,
|
|
@@ -45,6 +65,7 @@ function sendErrorToApi(level, message, opts) {
|
|
|
45
65
|
url: undefined,
|
|
46
66
|
timestamp: Date.now(),
|
|
47
67
|
context: opts?.context ?? undefined,
|
|
68
|
+
...(studioSessionId ? { studioSessionId } : {}),
|
|
48
69
|
});
|
|
49
70
|
scheduleErrorFlush();
|
|
50
71
|
}
|
|
@@ -55,6 +76,7 @@ function sendErrorToApi(level, message, opts) {
|
|
|
55
76
|
* devTunnelId from the JWT on flush.
|
|
56
77
|
*/
|
|
57
78
|
export function captureClientErrors(entries) {
|
|
79
|
+
const studioSessionId = getStudioSessionId();
|
|
58
80
|
for (const e of entries) {
|
|
59
81
|
_pendingErrorEntries.push({
|
|
60
82
|
level: e.level,
|
|
@@ -66,6 +88,7 @@ export function captureClientErrors(entries) {
|
|
|
66
88
|
url: e.url,
|
|
67
89
|
timestamp: e.timestamp ?? Date.now(),
|
|
68
90
|
context: e.context ?? undefined,
|
|
91
|
+
...(studioSessionId ? { studioSessionId } : {}),
|
|
69
92
|
});
|
|
70
93
|
}
|
|
71
94
|
scheduleErrorFlush();
|
|
@@ -95,11 +118,13 @@ function ensurePerfLogFlushTimer() {
|
|
|
95
118
|
* projectId + devTunnelId from its JWT.
|
|
96
119
|
*/
|
|
97
120
|
export function recordPerf(operation, durationMs, userId = '') {
|
|
121
|
+
const studioSessionId = getStudioSessionId();
|
|
98
122
|
_perfLogBuffer.push({
|
|
99
123
|
operation,
|
|
100
124
|
durationMs,
|
|
101
125
|
userId,
|
|
102
126
|
timestamp: Date.now(),
|
|
127
|
+
...(studioSessionId ? { studioSessionId } : {}),
|
|
103
128
|
});
|
|
104
129
|
if (_perfLogBuffer.length >= 50)
|
|
105
130
|
flushPerfLogBuffer();
|
|
@@ -117,6 +142,7 @@ export async function flushPerf() {
|
|
|
117
142
|
* descriptive fields default to null when omitted.
|
|
118
143
|
*/
|
|
119
144
|
export async function recordFeedback(input) {
|
|
145
|
+
const studioSessionId = getStudioSessionId();
|
|
120
146
|
await rpc('db.captureFeedback', [
|
|
121
147
|
[
|
|
122
148
|
{
|
|
@@ -136,6 +162,7 @@ export async function recordFeedback(input) {
|
|
|
136
162
|
currentApp: null,
|
|
137
163
|
status: 'new',
|
|
138
164
|
resolution: null,
|
|
165
|
+
...(studioSessionId ? { studioSessionId } : {}),
|
|
139
166
|
resolvedAt: null,
|
|
140
167
|
},
|
|
141
168
|
],
|
|
@@ -160,12 +187,14 @@ export function createLogger(userId, storage, _db) {
|
|
|
160
187
|
const start = Date.now();
|
|
161
188
|
return () => {
|
|
162
189
|
const durationMs = Date.now() - start;
|
|
190
|
+
const studioSessionId = getStudioSessionId();
|
|
163
191
|
// Proxy to app API via buffer
|
|
164
192
|
_perfLogBuffer.push({
|
|
165
193
|
operation,
|
|
166
194
|
durationMs,
|
|
167
195
|
userId,
|
|
168
196
|
timestamp: Date.now(),
|
|
197
|
+
...(studioSessionId ? { studioSessionId } : {}),
|
|
169
198
|
});
|
|
170
199
|
if (_perfLogBuffer.length >= 50)
|
|
171
200
|
flushPerfLogBuffer();
|
|
@@ -184,6 +213,7 @@ export function createLogger(userId, storage, _db) {
|
|
|
184
213
|
console.error('[Logger] Failed to move feedback screenshot', e);
|
|
185
214
|
}
|
|
186
215
|
}
|
|
216
|
+
const studioSessionId = getStudioSessionId();
|
|
187
217
|
rpc('db.captureFeedback', [
|
|
188
218
|
[
|
|
189
219
|
{
|
|
@@ -204,6 +234,7 @@ export function createLogger(userId, storage, _db) {
|
|
|
204
234
|
status: 'new',
|
|
205
235
|
resolution: null,
|
|
206
236
|
resolvedAt: null,
|
|
237
|
+
...(studioSessionId ? { studioSessionId } : {}),
|
|
207
238
|
},
|
|
208
239
|
],
|
|
209
240
|
]).catch(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logging.js","sourceRoot":"","sources":["../../src/server/Logging.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Logging.js","sourceRoot":"","sources":["../../src/server/Logging.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/cli/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Auto-generated by prebuild — do not edit manually
|
|
2
|
-
export const CLI_VERSION = "0.1.
|
|
2
|
+
export const CLI_VERSION = "0.1.407";
|
|
@@ -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)
|
|
79
|
-
|
|
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
|
-
//
|
|
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
|
-
|
|
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
|
-
|
|
284
|
-
|
|
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 (
|
|
296
|
-
|
|
297
|
-
|
|
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
|
|
package/src/server/Logging.ts
CHANGED
|
@@ -12,6 +12,19 @@ import { rpc, type StorageClient } from './DataProxyClient.js';
|
|
|
12
12
|
// the JWT (claims.sub) and devTunnelId from the JWT (claims.devTunnelId), so
|
|
13
13
|
// nothing the client sends can spoof identity. There is no project/userId
|
|
14
14
|
// argument to these helpers — both come from the JWT the StorageClient holds.
|
|
15
|
+
//
|
|
16
|
+
// studioSessionId is different: it's a sub-partition inside one developer's
|
|
17
|
+
// dev tunnel (so N coding-agent sessions from the same user can show only
|
|
18
|
+
// their own logs in the ugly-studio panels / AI tools). It is NOT a security
|
|
19
|
+
// gate — devTunnelId already isolates between users. We read it from
|
|
20
|
+
// `UGLY_STUDIO_SESSION_ID`, an env var ugly-studio sets on every per-session
|
|
21
|
+
// `npm run dev` child it spawns (see studio/server/devServerMulti.ts
|
|
22
|
+
// startInstance). Absent = legacy single-session dev, no stamp.
|
|
23
|
+
|
|
24
|
+
function getStudioSessionId(): string | undefined {
|
|
25
|
+
const raw = process.env['UGLY_STUDIO_SESSION_ID'];
|
|
26
|
+
return raw && raw.length > 0 ? raw : undefined;
|
|
27
|
+
}
|
|
15
28
|
|
|
16
29
|
interface PendingErrorEntry {
|
|
17
30
|
level: string;
|
|
@@ -23,6 +36,8 @@ interface PendingErrorEntry {
|
|
|
23
36
|
url?: string;
|
|
24
37
|
timestamp: number;
|
|
25
38
|
context?: Record<string, unknown>;
|
|
39
|
+
/** ugly-studio session compositeId; see note above `getStudioSessionId`. */
|
|
40
|
+
studioSessionId?: string;
|
|
26
41
|
}
|
|
27
42
|
|
|
28
43
|
const _pendingErrorEntries: PendingErrorEntry[] = [];
|
|
@@ -67,6 +82,7 @@ function sendErrorToApi(
|
|
|
67
82
|
context?: Record<string, unknown> | null;
|
|
68
83
|
},
|
|
69
84
|
): void {
|
|
85
|
+
const studioSessionId = getStudioSessionId();
|
|
70
86
|
_pendingErrorEntries.push({
|
|
71
87
|
level,
|
|
72
88
|
message,
|
|
@@ -77,6 +93,7 @@ function sendErrorToApi(
|
|
|
77
93
|
url: undefined,
|
|
78
94
|
timestamp: Date.now(),
|
|
79
95
|
context: opts?.context ?? undefined,
|
|
96
|
+
...(studioSessionId ? { studioSessionId } : {}),
|
|
80
97
|
});
|
|
81
98
|
scheduleErrorFlush();
|
|
82
99
|
}
|
|
@@ -100,6 +117,7 @@ export function captureClientErrors(
|
|
|
100
117
|
context?: Record<string, unknown> | null;
|
|
101
118
|
}[],
|
|
102
119
|
): void {
|
|
120
|
+
const studioSessionId = getStudioSessionId();
|
|
103
121
|
for (const e of entries) {
|
|
104
122
|
_pendingErrorEntries.push({
|
|
105
123
|
level: e.level,
|
|
@@ -111,6 +129,7 @@ export function captureClientErrors(
|
|
|
111
129
|
url: e.url,
|
|
112
130
|
timestamp: e.timestamp ?? Date.now(),
|
|
113
131
|
context: e.context ?? undefined,
|
|
132
|
+
...(studioSessionId ? { studioSessionId } : {}),
|
|
114
133
|
});
|
|
115
134
|
}
|
|
116
135
|
scheduleErrorFlush();
|
|
@@ -123,6 +142,8 @@ interface PerfLogEntry {
|
|
|
123
142
|
durationMs: number;
|
|
124
143
|
userId: string;
|
|
125
144
|
timestamp: number;
|
|
145
|
+
/** ugly-studio session compositeId; see note on `getStudioSessionId`. */
|
|
146
|
+
studioSessionId?: string;
|
|
126
147
|
}
|
|
127
148
|
|
|
128
149
|
const _perfLogBuffer: PerfLogEntry[] = [];
|
|
@@ -151,11 +172,13 @@ function ensurePerfLogFlushTimer(): void {
|
|
|
151
172
|
* projectId + devTunnelId from its JWT.
|
|
152
173
|
*/
|
|
153
174
|
export function recordPerf(operation: string, durationMs: number, userId = ''): void {
|
|
175
|
+
const studioSessionId = getStudioSessionId();
|
|
154
176
|
_perfLogBuffer.push({
|
|
155
177
|
operation,
|
|
156
178
|
durationMs,
|
|
157
179
|
userId,
|
|
158
180
|
timestamp: Date.now(),
|
|
181
|
+
...(studioSessionId ? { studioSessionId } : {}),
|
|
159
182
|
});
|
|
160
183
|
if (_perfLogBuffer.length >= 50) flushPerfLogBuffer();
|
|
161
184
|
}
|
|
@@ -179,6 +202,7 @@ export async function recordFeedback(input: {
|
|
|
179
202
|
url?: string | null;
|
|
180
203
|
context?: Record<string, unknown> | null;
|
|
181
204
|
}): Promise<void> {
|
|
205
|
+
const studioSessionId = getStudioSessionId();
|
|
182
206
|
await rpc('db.captureFeedback', [
|
|
183
207
|
[
|
|
184
208
|
{
|
|
@@ -198,6 +222,7 @@ export async function recordFeedback(input: {
|
|
|
198
222
|
currentApp: null,
|
|
199
223
|
status: 'new',
|
|
200
224
|
resolution: null,
|
|
225
|
+
...(studioSessionId ? { studioSessionId } : {}),
|
|
201
226
|
resolvedAt: null,
|
|
202
227
|
},
|
|
203
228
|
],
|
|
@@ -250,12 +275,14 @@ export function createLogger(
|
|
|
250
275
|
const start = Date.now();
|
|
251
276
|
return () => {
|
|
252
277
|
const durationMs = Date.now() - start;
|
|
278
|
+
const studioSessionId = getStudioSessionId();
|
|
253
279
|
// Proxy to app API via buffer
|
|
254
280
|
_perfLogBuffer.push({
|
|
255
281
|
operation,
|
|
256
282
|
durationMs,
|
|
257
283
|
userId,
|
|
258
284
|
timestamp: Date.now(),
|
|
285
|
+
...(studioSessionId ? { studioSessionId } : {}),
|
|
259
286
|
});
|
|
260
287
|
if (_perfLogBuffer.length >= 50) flushPerfLogBuffer();
|
|
261
288
|
};
|
|
@@ -276,6 +303,7 @@ export function createLogger(
|
|
|
276
303
|
console.error('[Logger] Failed to move feedback screenshot', e);
|
|
277
304
|
}
|
|
278
305
|
}
|
|
306
|
+
const studioSessionId = getStudioSessionId();
|
|
279
307
|
rpc('db.captureFeedback', [
|
|
280
308
|
[
|
|
281
309
|
{
|
|
@@ -296,6 +324,7 @@ export function createLogger(
|
|
|
296
324
|
status: 'new',
|
|
297
325
|
resolution: null,
|
|
298
326
|
resolvedAt: null,
|
|
327
|
+
...(studioSessionId ? { studioSessionId } : {}),
|
|
299
328
|
},
|
|
300
329
|
],
|
|
301
330
|
]).catch(() => {
|