@hy-sde-org/dsh-browser 0.2.0-rc.2.1 → 0.2.1-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/background.js.txt +17 -6
- package/dist/relay/bridge.d.ts +2 -0
- package/dist/relay/bridge.d.ts.map +1 -1
- package/dist/relay/bridge.js +170 -38
- package/dist/relay/bridge.js.map +1 -1
- package/dist/relay/debugger-ownership.d.ts +11 -0
- package/dist/relay/debugger-ownership.d.ts.map +1 -0
- package/dist/relay/debugger-ownership.js +21 -0
- package/dist/relay/debugger-ownership.js.map +1 -0
- package/dist/relay/protocol.d.ts +4 -1
- package/dist/relay/protocol.d.ts.map +1 -1
- package/dist/relay/server.d.ts.map +1 -1
- package/dist/relay/server.js +4 -0
- package/dist/relay/server.js.map +1 -1
- package/package.json +6 -12
- package/dist/invariant.d.ts +0 -16
- package/dist/invariant.d.ts.map +0 -1
- package/dist/invariant.js +0 -22
- package/dist/invariant.js.map +0 -1
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
// extension/debugger-ownership.ts
|
|
2
|
+
async function ownedDebuggerTabs(targets, probe) {
|
|
3
|
+
const owned = await Promise.all(targets.map(async (target) => {
|
|
4
|
+
if (!target.attached || target.tabId === undefined)
|
|
5
|
+
return;
|
|
6
|
+
try {
|
|
7
|
+
await probe(target.tabId);
|
|
8
|
+
return target.tabId;
|
|
9
|
+
} catch {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
}));
|
|
13
|
+
return owned.filter((tabId) => tabId !== undefined);
|
|
14
|
+
}
|
|
1
15
|
// extension/background.ts
|
|
2
16
|
var DEFAULT_PORT = 9224;
|
|
3
17
|
var PING_INTERVAL_MS = 20000;
|
|
@@ -106,11 +120,8 @@ async function buildHello() {
|
|
|
106
120
|
if (snap)
|
|
107
121
|
snapshots.push(snap);
|
|
108
122
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
if (target.attached && target.tabId !== undefined)
|
|
112
|
-
attachedTabIds.push(target.tabId);
|
|
113
|
-
}
|
|
123
|
+
// `attached` is true for DevTools or another extension too; only our own attachment answers a command.
|
|
124
|
+
const attachedTabIds = await ownedDebuggerTabs(targets, (tabId) => chrome.debugger.sendCommand({ tabId }, "Target.getTargetInfo"));
|
|
114
125
|
const versionMatch = /Chrome\/[\d.]+/.exec(navigator.userAgent);
|
|
115
126
|
return {
|
|
116
127
|
t: "hello",
|
|
@@ -133,7 +144,7 @@ async function runRpc(msg) {
|
|
|
133
144
|
case "send":
|
|
134
145
|
return await chrome.debugger.sendCommand(msg.sessionId ? { tabId: msg.tabId, sessionId: msg.sessionId } : { tabId: msg.tabId }, msg.method, msg.params);
|
|
135
146
|
case "createTab": {
|
|
136
|
-
const tab = await chrome.tabs.create({ url: msg.url });
|
|
147
|
+
const tab = await chrome.tabs.create({ url: msg.url, active: msg.active ?? true });
|
|
137
148
|
const snap = snapshot(tab);
|
|
138
149
|
if (!snap)
|
|
139
150
|
throw new Error("created tab has no id");
|
package/dist/relay/bridge.d.ts
CHANGED
|
@@ -20,6 +20,8 @@ export declare class RelayBridge {
|
|
|
20
20
|
});
|
|
21
21
|
/** True once the extension has completed its hello handshake. */
|
|
22
22
|
get ready(): boolean;
|
|
23
|
+
/** Milliseconds since the last ready extension disconnected, or null while one is connected or none ever was. */
|
|
24
|
+
get extensionGoneForMs(): number | null;
|
|
23
25
|
/** Payload for `GET /json/version`. */
|
|
24
26
|
versionInfo(wsUrl: string): Record<string, string>;
|
|
25
27
|
/** Payload for `GET /json/list` (debugging aid; per-target endpoints are not served). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/relay/bridge.ts"],"names":[],"mappings":"AA6BA,iEAAiE;AACjE,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,KAAK,IAAI,IAAI,CAAA;CACd;
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/relay/bridge.ts"],"names":[],"mappings":"AA6BA,iEAAiE;AACjE,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,KAAK,IAAI,IAAI,CAAA;CACd;AAuID;;;;GAIG;AACH,qBAAa,WAAW;;gBAyBpB,IAAI,GAAE;QACJ,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;QAC/D,kFAAkF;QAClF,KAAK,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAA;KAC3C;IAMR,iEAAiE;IACjE,IAAI,KAAK,IAAI,OAAO,CAEnB;IACD,iHAAiH;IACjH,IAAI,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAEtC;IAED,uCAAuC;IACvC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAelD,yFAAyF;IACzF,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAW5C,mEAAmE;IACnE,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAQvC,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAyBpC,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAsFlD,sEAAsE;IACtE,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM;IAOzC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAoB/B,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;CA0tB9C"}
|
package/dist/relay/bridge.js
CHANGED
|
@@ -8,6 +8,8 @@ class CdpConnection {
|
|
|
8
8
|
sessions = new Map();
|
|
9
9
|
/** Tabs this connection claimed as drive targets (`OMP.claimTarget` / `Target.createTarget`). */
|
|
10
10
|
claims = new Set();
|
|
11
|
+
/** Real child session id → the session it was announced on; its events and detach go there. */
|
|
12
|
+
childParents = new Map();
|
|
11
13
|
constructor(id, socket) {
|
|
12
14
|
this.id = id;
|
|
13
15
|
this.socket = socket;
|
|
@@ -20,6 +22,14 @@ class CdpConnection {
|
|
|
20
22
|
}
|
|
21
23
|
return out;
|
|
22
24
|
}
|
|
25
|
+
/** This tab's first page session that armed auto-attach; one per connection so no child is announced twice. */
|
|
26
|
+
childTargetSessionForTab(tabId) {
|
|
27
|
+
for (const [sessionId, ref] of this.sessions) {
|
|
28
|
+
if (ref.tabId === tabId && ref.kind === 'page' && ref.autoAttach)
|
|
29
|
+
return sessionId;
|
|
30
|
+
}
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
23
33
|
}
|
|
24
34
|
class TabState {
|
|
25
35
|
tabId;
|
|
@@ -48,8 +58,11 @@ class TabState {
|
|
|
48
58
|
ompGroupId;
|
|
49
59
|
/** User pulled the tab out of the omp group — never re-group it. */
|
|
50
60
|
groupOptOut = false;
|
|
51
|
-
/**
|
|
52
|
-
|
|
61
|
+
/**
|
|
62
|
+
* Real Chrome sessions (OOPIF/worker children) under this tab's attachment: the child session
|
|
63
|
+
* that reported each (none for the root) and its `Target.attachedToTarget` params.
|
|
64
|
+
*/
|
|
65
|
+
realSessions = new Map();
|
|
53
66
|
constructor(tabId, snap) {
|
|
54
67
|
this.tabId = tabId;
|
|
55
68
|
this.apply(snap);
|
|
@@ -99,6 +112,8 @@ export class RelayBridge {
|
|
|
99
112
|
#pendingRpc = new Map();
|
|
100
113
|
/** Real child session id → owning tab, learned from `Target.attachedToTarget` events. */
|
|
101
114
|
#realSessionTabs = new Map();
|
|
115
|
+
/** `Date.now()` when the last ready extension socket closed; null while one is ready or none ever was. */
|
|
116
|
+
#extensionGoneSince = null;
|
|
102
117
|
#log;
|
|
103
118
|
/** Tab-group appearance for driven tabs; null disables grouping. */
|
|
104
119
|
#group;
|
|
@@ -114,6 +129,10 @@ export class RelayBridge {
|
|
|
114
129
|
get ready() {
|
|
115
130
|
return this.#ext !== null && this.#extInfo !== null;
|
|
116
131
|
}
|
|
132
|
+
/** Milliseconds since the last ready extension disconnected, or null while one is connected or none ever was. */
|
|
133
|
+
get extensionGoneForMs() {
|
|
134
|
+
return this.#extensionGoneSince === null ? null : Date.now() - this.#extensionGoneSince;
|
|
135
|
+
}
|
|
117
136
|
/** Payload for `GET /json/version`. */
|
|
118
137
|
versionInfo(wsUrl) {
|
|
119
138
|
const ua = this.#extInfo?.userAgent ?? '';
|
|
@@ -133,7 +152,7 @@ export class RelayBridge {
|
|
|
133
152
|
listTargets() {
|
|
134
153
|
const out = [];
|
|
135
154
|
for (const tab of this.#tabs.values()) {
|
|
136
|
-
if (!this.#eligible(tab))
|
|
155
|
+
if (!this.#eligible(tab) || tab.discarded)
|
|
137
156
|
continue;
|
|
138
157
|
out.push({ id: pageTargetId(tab.tabId), type: 'page', title: tab.title, url: tab.url });
|
|
139
158
|
}
|
|
@@ -171,6 +190,8 @@ export class RelayBridge {
|
|
|
171
190
|
tab.ompGroupId = undefined;
|
|
172
191
|
}
|
|
173
192
|
this.#groupQueue.length = 0;
|
|
193
|
+
if (!this.ready)
|
|
194
|
+
this.#extensionGoneSince ??= Date.now();
|
|
174
195
|
}
|
|
175
196
|
extMessage(socket, raw) {
|
|
176
197
|
if (socket !== this.#ext)
|
|
@@ -223,6 +244,7 @@ export class RelayBridge {
|
|
|
223
244
|
browserVersion: msg.browserVersion,
|
|
224
245
|
...(msg.discardedTabsProtocol !== undefined ? { discardedTabsProtocol: msg.discardedTabsProtocol } : {}),
|
|
225
246
|
};
|
|
247
|
+
this.#extensionGoneSince = null;
|
|
226
248
|
const seen = new Set();
|
|
227
249
|
const attachedNow = new Set(msg.attachedTabIds);
|
|
228
250
|
for (const snap of msg.tabs) {
|
|
@@ -237,12 +259,16 @@ export class RelayBridge {
|
|
|
237
259
|
const wasAttached = tab.attached;
|
|
238
260
|
tab.attached = attachedNow.has(tab.tabId);
|
|
239
261
|
tab.attaching = null;
|
|
262
|
+
// Chrome ends a tab's real child sessions with its debugger attachment,
|
|
263
|
+
// so a hello that reports the attachment gone forgets them (and tells
|
|
264
|
+
// connections still holding the tab).
|
|
265
|
+
if (!tab.attached)
|
|
266
|
+
this.#forgetChildren(tab);
|
|
240
267
|
if (tab.discarded) {
|
|
241
268
|
// A discarded tab cannot answer debugger calls: retire held sessions
|
|
242
269
|
// now so its revival reannounces and re-attaches the tab.
|
|
243
|
-
if (tab.attached)
|
|
244
|
-
void this.#rpc({ op: 'detach', tabId: tab.tabId }).catch(() => { });
|
|
245
270
|
this.#retractTab(tab);
|
|
271
|
+
this.#detachIfUnheld(tab.tabId);
|
|
246
272
|
continue;
|
|
247
273
|
}
|
|
248
274
|
// A service-worker restart can drop attachments while downstream
|
|
@@ -284,22 +310,8 @@ export class RelayBridge {
|
|
|
284
310
|
}
|
|
285
311
|
conn.claims.clear();
|
|
286
312
|
// Drop the debugger (and its infobar) from tabs nobody drives anymore.
|
|
287
|
-
for (const tabId of touched)
|
|
288
|
-
|
|
289
|
-
continue;
|
|
290
|
-
const tab = this.#tabs.get(tabId);
|
|
291
|
-
if (tab?.attached) {
|
|
292
|
-
tab.attached = false;
|
|
293
|
-
// Track the landing detach: Chrome rejects overlapping attach/detach
|
|
294
|
-
// on one tab, so a fast re-attach waits it out instead of being
|
|
295
|
-
// silently undone when the late detach lands.
|
|
296
|
-
const tracked = this.#rpc({ op: 'detach', tabId }).then(() => { }).catch(() => { }).finally(() => {
|
|
297
|
-
if (tab.detaching === tracked)
|
|
298
|
-
tab.detaching = null;
|
|
299
|
-
});
|
|
300
|
-
tab.detaching = tracked;
|
|
301
|
-
}
|
|
302
|
-
}
|
|
313
|
+
for (const tabId of touched)
|
|
314
|
+
this.#detachIfUnheld(tabId);
|
|
303
315
|
this.#log('cdp client closed', { conn: connId });
|
|
304
316
|
}
|
|
305
317
|
cdpMessage(connId, raw) {
|
|
@@ -332,28 +344,66 @@ export class RelayBridge {
|
|
|
332
344
|
return;
|
|
333
345
|
}
|
|
334
346
|
if (ref?.kind === 'page') {
|
|
347
|
+
if (msg.method === 'Target.setAutoAttach') {
|
|
348
|
+
// Armed while in flight (Chrome reports existing children before it
|
|
349
|
+
// answers); a failed request restores the previous state.
|
|
350
|
+
const previous = ref.autoAttach;
|
|
351
|
+
ref.autoAttach = msg.params?.autoAttach === true;
|
|
352
|
+
const announce = () => {
|
|
353
|
+
const parent = conn.childTargetSessionForTab(ref.tabId);
|
|
354
|
+
if (parent && conn.sessions.get(sessionId) === ref)
|
|
355
|
+
this.#announceChildren(conn, ref.tabId, undefined, parent);
|
|
356
|
+
};
|
|
357
|
+
if (!(await this.#forwardToTab(conn, msg, ref.tabId, undefined, ref.autoAttach ? announce : undefined))) {
|
|
358
|
+
ref.autoAttach = previous;
|
|
359
|
+
}
|
|
360
|
+
return;
|
|
361
|
+
}
|
|
335
362
|
await this.#forwardToTab(conn, msg, ref.tabId, undefined);
|
|
336
363
|
return;
|
|
337
364
|
}
|
|
338
365
|
const realTab = this.#realSessionTabs.get(sessionId);
|
|
339
366
|
if (realTab !== undefined) {
|
|
340
|
-
|
|
367
|
+
const announce = msg.method === 'Target.setAutoAttach' && msg.params?.autoAttach === true && conn.childParents.has(sessionId)
|
|
368
|
+
? () => this.#announceChildren(conn, realTab, sessionId, sessionId)
|
|
369
|
+
: undefined;
|
|
370
|
+
await this.#forwardToTab(conn, msg, realTab, sessionId, announce);
|
|
341
371
|
return;
|
|
342
372
|
}
|
|
343
373
|
this.#replyError(conn, msg, `Unknown session id ${sessionId}`);
|
|
344
374
|
}
|
|
345
|
-
|
|
375
|
+
/**
|
|
376
|
+
* Chrome reports a child target once, to the first auto-attach armed over it, so a connection
|
|
377
|
+
* arming later (a tab worker after the registry connection) is told here of the children already
|
|
378
|
+
* reported under `parent` (the tab's root when undefined) that it has not heard of.
|
|
379
|
+
*/
|
|
380
|
+
#announceChildren(conn, tabId, parent, sessionId) {
|
|
381
|
+
const tab = this.#tabs.get(tabId);
|
|
382
|
+
if (!tab)
|
|
383
|
+
return;
|
|
384
|
+
for (const [child, known] of tab.realSessions) {
|
|
385
|
+
if (known.parent !== parent || conn.childParents.has(child))
|
|
386
|
+
continue;
|
|
387
|
+
conn.childParents.set(child, sessionId);
|
|
388
|
+
conn.socket.send(JSON.stringify({ sessionId, method: 'Target.attachedToTarget', params: known.event }));
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
392
|
+
* Forward a command to the tab and reply to it; resolves whether the command succeeded.
|
|
393
|
+
* `beforeReply` runs on success ahead of the reply.
|
|
394
|
+
*/
|
|
395
|
+
async #forwardToTab(conn, msg, tabId, realSessionId, beforeReply) {
|
|
346
396
|
// Guard rail: a page session must never take the whole browser down.
|
|
347
397
|
if (msg.method === 'Browser.close') {
|
|
348
398
|
this.#reply(conn, msg, {});
|
|
349
|
-
return;
|
|
399
|
+
return true;
|
|
350
400
|
}
|
|
351
401
|
// Relay-private claim: the omp tab worker marks the page it was spawned
|
|
352
402
|
// to drive. Never forwarded — real Chrome rejects the unknown method.
|
|
353
403
|
if (msg.method === 'OMP.claimTarget') {
|
|
354
404
|
this.#claimTab(conn, tabId);
|
|
355
405
|
this.#reply(conn, msg, {});
|
|
356
|
-
return;
|
|
406
|
+
return true;
|
|
357
407
|
}
|
|
358
408
|
try {
|
|
359
409
|
const result = await this.#rpc({
|
|
@@ -363,10 +413,13 @@ export class RelayBridge {
|
|
|
363
413
|
method: msg.method,
|
|
364
414
|
...(msg.params !== undefined ? { params: msg.params } : {}),
|
|
365
415
|
});
|
|
416
|
+
beforeReply?.();
|
|
366
417
|
this.#reply(conn, msg, result ?? {});
|
|
418
|
+
return true;
|
|
367
419
|
}
|
|
368
420
|
catch (err) {
|
|
369
421
|
this.#replyError(conn, msg, err instanceof Error ? err.message : String(err));
|
|
422
|
+
return false;
|
|
370
423
|
}
|
|
371
424
|
}
|
|
372
425
|
/**
|
|
@@ -507,7 +560,13 @@ export class RelayBridge {
|
|
|
507
560
|
}
|
|
508
561
|
case 'Target.createTarget': {
|
|
509
562
|
const url = typeof msg.params?.url === 'string' && msg.params.url.length > 0 ? msg.params.url : 'about:blank';
|
|
510
|
-
|
|
563
|
+
// CDP `background: true` creates the tab without selecting it; an
|
|
564
|
+
// extension that predates `active` ignores it.
|
|
565
|
+
const result = (await this.#rpc({
|
|
566
|
+
op: 'createTab',
|
|
567
|
+
url,
|
|
568
|
+
...(msg.params?.background === true ? { active: false } : {}),
|
|
569
|
+
}));
|
|
511
570
|
this.#onTabUpsert(result.tab);
|
|
512
571
|
// Creating a tab is an explicit act of driving it.
|
|
513
572
|
this.#claimTab(conn, result.tab.tabId);
|
|
@@ -575,8 +634,8 @@ export class RelayBridge {
|
|
|
575
634
|
// Track real child sessions so downstream commands can route back.
|
|
576
635
|
if (method === 'Target.attachedToTarget') {
|
|
577
636
|
const child = params?.sessionId;
|
|
578
|
-
if (typeof child === 'string') {
|
|
579
|
-
tab.realSessions.
|
|
637
|
+
if (typeof child === 'string' && params) {
|
|
638
|
+
tab.realSessions.set(child, { parent: sourceSessionId, event: params });
|
|
580
639
|
this.#realSessionTabs.set(child, tabId);
|
|
581
640
|
}
|
|
582
641
|
}
|
|
@@ -589,15 +648,47 @@ export class RelayBridge {
|
|
|
589
648
|
}
|
|
590
649
|
if (sourceSessionId) {
|
|
591
650
|
// Event from a real child session: pass through verbatim to every
|
|
592
|
-
// connection that
|
|
651
|
+
// connection that was told about the child, tracking nested children.
|
|
652
|
+
const nested = typeof params?.sessionId === 'string' ? params.sessionId : undefined;
|
|
593
653
|
const payload = JSON.stringify({ sessionId: sourceSessionId, method, params });
|
|
594
654
|
for (const conn of this.#conns.values()) {
|
|
595
|
-
if (conn.
|
|
596
|
-
|
|
655
|
+
if (!conn.childParents.has(sourceSessionId))
|
|
656
|
+
continue;
|
|
657
|
+
conn.socket.send(payload);
|
|
658
|
+
if (nested && method === 'Target.attachedToTarget')
|
|
659
|
+
conn.childParents.set(nested, sourceSessionId);
|
|
660
|
+
else if (nested && method === 'Target.detachedFromTarget')
|
|
661
|
+
conn.childParents.delete(nested);
|
|
597
662
|
}
|
|
598
663
|
return;
|
|
599
664
|
}
|
|
600
|
-
//
|
|
665
|
+
// A real child is announced once per connection, on a session that armed
|
|
666
|
+
// auto-attach (Chrome reports it only to the first armed session, so
|
|
667
|
+
// announcing on every page session would hand puppeteer the same id
|
|
668
|
+
// twice), and its detach goes to that same session. Children reported
|
|
669
|
+
// before any session armed stay stored for a later arming connection
|
|
670
|
+
// ({@link #announceChildren}).
|
|
671
|
+
if (method === 'Target.attachedToTarget' || method === 'Target.detachedFromTarget') {
|
|
672
|
+
const child = params?.sessionId;
|
|
673
|
+
if (typeof child !== 'string')
|
|
674
|
+
return;
|
|
675
|
+
for (const conn of this.#conns.values()) {
|
|
676
|
+
let parent;
|
|
677
|
+
if (method === 'Target.attachedToTarget') {
|
|
678
|
+
parent = conn.childTargetSessionForTab(tabId);
|
|
679
|
+
if (parent)
|
|
680
|
+
conn.childParents.set(child, parent);
|
|
681
|
+
}
|
|
682
|
+
else {
|
|
683
|
+
parent = conn.childParents.get(child);
|
|
684
|
+
conn.childParents.delete(child);
|
|
685
|
+
}
|
|
686
|
+
if (parent)
|
|
687
|
+
conn.socket.send(JSON.stringify({ sessionId: parent, method, params }));
|
|
688
|
+
}
|
|
689
|
+
return;
|
|
690
|
+
}
|
|
691
|
+
// Other root-session events fan out once per minted page session.
|
|
601
692
|
for (const conn of this.#conns.values()) {
|
|
602
693
|
for (const pageSession of conn.sessionsForTab(tabId, 'page')) {
|
|
603
694
|
conn.socket.send(JSON.stringify({ sessionId: pageSession, method, params }));
|
|
@@ -673,9 +764,8 @@ export class RelayBridge {
|
|
|
673
764
|
if ((!eligible || tab.discarded) && tab.announced) {
|
|
674
765
|
// Discarding a tab strands its debugger attachment: drop it so revival
|
|
675
766
|
// starts clean instead of the attach result racing the discard.
|
|
676
|
-
if (tab.discarded && tab.attached)
|
|
677
|
-
void this.#rpc({ op: 'detach', tabId: tab.tabId }).catch(() => { });
|
|
678
767
|
this.#retractTab(tab);
|
|
768
|
+
this.#detachIfUnheld(tab.tabId);
|
|
679
769
|
return;
|
|
680
770
|
}
|
|
681
771
|
if (eligible && tab.announced) {
|
|
@@ -775,9 +865,7 @@ export class RelayBridge {
|
|
|
775
865
|
}
|
|
776
866
|
/** Tear a tab out of every downstream connection (closed, detached, or now ineligible). */
|
|
777
867
|
#retractTab(tab) {
|
|
778
|
-
|
|
779
|
-
this.#realSessionTabs.delete(realSession);
|
|
780
|
-
tab.realSessions.clear();
|
|
868
|
+
this.#forgetChildren(tab);
|
|
781
869
|
for (const conn of this.#conns.values()) {
|
|
782
870
|
const tabSessions = conn.sessionsForTab(tab.tabId, 'tab');
|
|
783
871
|
for (const pageSession of conn.sessionsForTab(tab.tabId, 'page')) {
|
|
@@ -798,7 +886,7 @@ export class RelayBridge {
|
|
|
798
886
|
// ---- session + attach bookkeeping --------------------------------------------
|
|
799
887
|
#mintSession(conn, kind, tabId) {
|
|
800
888
|
const sessionId = `S${kind === 'tab' ? 'T' : 'P'}${tabId}.${conn.id}.${++this.#sessionSeq}`;
|
|
801
|
-
conn.sessions.set(sessionId, { kind, tabId });
|
|
889
|
+
conn.sessions.set(sessionId, { kind, tabId, autoAttach: false });
|
|
802
890
|
return sessionId;
|
|
803
891
|
}
|
|
804
892
|
#releaseSession(conn, sessionId, parentSessionId) {
|
|
@@ -808,6 +896,50 @@ export class RelayBridge {
|
|
|
808
896
|
conn.sessions.delete(sessionId);
|
|
809
897
|
const targetId = ref.kind === 'tab' ? tabTargetId(ref.tabId) : pageTargetId(ref.tabId);
|
|
810
898
|
this.#emit(conn, 'Target.detachedFromTarget', { sessionId, targetId }, parentSessionId);
|
|
899
|
+
// An explicit release of the last session must drop the attachment too,
|
|
900
|
+
// or it outlives every downstream session: the infobar stays up, and
|
|
901
|
+
// dismissing it bans the tab for the rest of the epoch.
|
|
902
|
+
this.#detachIfUnheld(ref.tabId);
|
|
903
|
+
}
|
|
904
|
+
/**
|
|
905
|
+
* Tell every connection that was announced a real child of this tab that it
|
|
906
|
+
* is gone — nested children first, since Map insertion order puts a parent
|
|
907
|
+
* before the children reported under it.
|
|
908
|
+
*/
|
|
909
|
+
#forgetChildren(tab) {
|
|
910
|
+
for (const child of [...tab.realSessions.keys()].reverse()) {
|
|
911
|
+
this.#realSessionTabs.delete(child);
|
|
912
|
+
for (const conn of this.#conns.values()) {
|
|
913
|
+
const parent = conn.childParents.get(child);
|
|
914
|
+
if (parent === undefined)
|
|
915
|
+
continue;
|
|
916
|
+
conn.childParents.delete(child);
|
|
917
|
+
this.#emit(conn, 'Target.detachedFromTarget', { sessionId: child }, parent);
|
|
918
|
+
}
|
|
919
|
+
}
|
|
920
|
+
tab.realSessions.clear();
|
|
921
|
+
}
|
|
922
|
+
/**
|
|
923
|
+
* Drop the debugger (and its infobar) from a tab nobody drives anymore.
|
|
924
|
+
* Tracked like every detach so a fast re-attach waits out the landing one
|
|
925
|
+
* instead of being silently undone when the late detach lands.
|
|
926
|
+
*/
|
|
927
|
+
#detachIfUnheld(tabId) {
|
|
928
|
+
if (this.#sessionHolders(tabId).length > 0)
|
|
929
|
+
return;
|
|
930
|
+
const tab = this.#tabs.get(tabId);
|
|
931
|
+
if (!tab?.attached)
|
|
932
|
+
return;
|
|
933
|
+
tab.attached = false;
|
|
934
|
+
this.#forgetChildren(tab);
|
|
935
|
+
const done = this.#rpc({ op: 'detach', tabId })
|
|
936
|
+
.then(() => { })
|
|
937
|
+
.catch(() => { })
|
|
938
|
+
.finally(() => {
|
|
939
|
+
if (tab.detaching === done)
|
|
940
|
+
tab.detaching = null;
|
|
941
|
+
});
|
|
942
|
+
tab.detaching = done;
|
|
811
943
|
}
|
|
812
944
|
/** Connections currently holding any session on a tab. */
|
|
813
945
|
#sessionHolders(tabId) {
|
package/dist/relay/bridge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/relay/bridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/relay/bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `chrome.debugger.getTargets()` reports `attached: true` for any debugger
|
|
3
|
+
* client (DevTools, another extension), not only this one. A command sent
|
|
4
|
+
* through `chrome.debugger.sendCommand` succeeds only on our own attachment,
|
|
5
|
+
* so the probe keeps exactly the tabs this extension can drive.
|
|
6
|
+
*/
|
|
7
|
+
export declare function ownedDebuggerTabs(targets: ReadonlyArray<{
|
|
8
|
+
attached: boolean;
|
|
9
|
+
tabId?: number;
|
|
10
|
+
}>, probe: (tabId: number) => Promise<unknown>): Promise<number[]>;
|
|
11
|
+
//# sourceMappingURL=debugger-ownership.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debugger-ownership.d.ts","sourceRoot":"","sources":["../../src/relay/debugger-ownership.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,aAAa,CAAC;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAC7D,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GACzC,OAAO,CAAC,MAAM,EAAE,CAAC,CAanB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `chrome.debugger.getTargets()` reports `attached: true` for any debugger
|
|
3
|
+
* client (DevTools, another extension), not only this one. A command sent
|
|
4
|
+
* through `chrome.debugger.sendCommand` succeeds only on our own attachment,
|
|
5
|
+
* so the probe keeps exactly the tabs this extension can drive.
|
|
6
|
+
*/
|
|
7
|
+
export async function ownedDebuggerTabs(targets, probe) {
|
|
8
|
+
const owned = await Promise.all(targets.map(async (target) => {
|
|
9
|
+
if (!target.attached || target.tabId === undefined)
|
|
10
|
+
return undefined;
|
|
11
|
+
try {
|
|
12
|
+
await probe(target.tabId);
|
|
13
|
+
return target.tabId;
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
}));
|
|
19
|
+
return owned.filter((tabId) => tabId !== undefined);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=debugger-ownership.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debugger-ownership.js","sourceRoot":"","sources":["../../src/relay/debugger-ownership.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAA6D,EAC7D,KAA0C;IAE1C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QACpE,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACzB,OAAO,MAAM,CAAC,KAAK,CAAA;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC,CAAC,CACH,CAAA;IACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAA;AACtE,CAAC"}
|
package/dist/relay/protocol.d.ts
CHANGED
|
@@ -54,9 +54,12 @@ export type RelayRpcRequest = {
|
|
|
54
54
|
sessionId?: string;
|
|
55
55
|
method: string;
|
|
56
56
|
params?: Record<string, unknown>;
|
|
57
|
-
}
|
|
57
|
+
}
|
|
58
|
+
/** `active: false` (from CDP `background: true`) creates the tab without selecting it. */
|
|
59
|
+
| {
|
|
58
60
|
op: 'createTab';
|
|
59
61
|
url: string;
|
|
62
|
+
active?: boolean;
|
|
60
63
|
} | {
|
|
61
64
|
op: 'removeTab';
|
|
62
65
|
tabId: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/relay/protocol.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;GAMG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAA;AAEnC;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,IAAI,CAAA;AAEhD,uEAAuE;AACvE,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,wEAAwE;IACxE,MAAM,EAAE,OAAO,CAAA;IACf,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,uDAAuD;AACvD,MAAM,MAAM,eAAe,GACvB;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/relay/protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/relay/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,EAAE,WAAW,EAAoB,MAAM,aAAa,CAAA;AAG3D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,uFAAuF;IACvF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+FAA+F;IAC/F,KAAK,CAAC,EAAE,OAAO,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAClD,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;CAChE;AAED,8BAA8B;AAC9B,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,WAAW,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,IAAI,IAAI,CAAA;CACb;AAgCD,2EAA2E;AAC3E,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/relay/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,EAAE,WAAW,EAAoB,MAAM,aAAa,CAAA;AAG3D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,uFAAuF;IACvF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+FAA+F;IAC/F,KAAK,CAAC,EAAE,OAAO,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAClD,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;CAChE;AAED,8BAA8B;AAC9B,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,WAAW,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,IAAI,IAAI,CAAA;CACb;AAgCD,2EAA2E;AAC3E,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CA4HrF;AAED,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AACvG,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA"}
|
package/dist/relay/server.js
CHANGED
|
@@ -74,9 +74,13 @@ export async function startRelayServer(opts) {
|
|
|
74
74
|
if (!bridge.ready) {
|
|
75
75
|
// The marker travels on the 503 too: a probe can tell a live relay
|
|
76
76
|
// with an unconnected extension from a stale relay of another build.
|
|
77
|
+
// `disconnectedMs` says how long the last ready extension has been
|
|
78
|
+
// gone, distinguishing a just-died extension from one never seen.
|
|
79
|
+
const disconnectedMs = bridge.extensionGoneForMs;
|
|
77
80
|
res.writeHead(503, { 'content-type': 'application/json' }).end(JSON.stringify({
|
|
78
81
|
error: 'relay extension is not connected',
|
|
79
82
|
dshRelayProtocol: String(DSH_RELAY_PROTOCOL),
|
|
83
|
+
...(disconnectedMs === null ? {} : { disconnectedMs }),
|
|
80
84
|
}));
|
|
81
85
|
return;
|
|
82
86
|
}
|
package/dist/relay/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/relay/server.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/relay/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hy-sde-org/dsh-browser",
|
|
3
|
-
"version": "0.2.
|
|
4
|
-
"description": "Agentic browser plumbing for DeepSeek Harness: the host ctx.browser service (launch
|
|
3
|
+
"version": "0.2.1-alpha.4",
|
|
4
|
+
"description": "Agentic browser plumbing for DeepSeek Harness: the host ctx.browser service (stealth launch, CDP-attach, and a relay + companion Chrome extension driving the user's own tabs) backing the browser tool in @hy-sde-org/dsh-tool-browser — no harness changes.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -30,10 +30,6 @@
|
|
|
30
30
|
"types": "./dist/relay/index.d.ts",
|
|
31
31
|
"default": "./dist/relay/index.js"
|
|
32
32
|
},
|
|
33
|
-
"./invariant": {
|
|
34
|
-
"types": "./dist/invariant.d.ts",
|
|
35
|
-
"default": "./dist/invariant.js"
|
|
36
|
-
},
|
|
37
33
|
"./cordis.patch.yml": "./cordis.patch.yml",
|
|
38
34
|
"./package.json": "./package.json"
|
|
39
35
|
},
|
|
@@ -64,18 +60,16 @@
|
|
|
64
60
|
}
|
|
65
61
|
},
|
|
66
62
|
"dependencies": {
|
|
67
|
-
"@deepseek-ai/cordis": "~4.0.4",
|
|
68
63
|
"playwright-core": "^1.61.1",
|
|
69
|
-
"ws": "^8.21.0"
|
|
64
|
+
"ws": "^8.21.0",
|
|
65
|
+
"@deepseek-ai/cordis": "~4.0.5-alpha.2"
|
|
70
66
|
},
|
|
71
67
|
"peerDependencies": {
|
|
72
|
-
"@deepseek-ai/cordis": "~4.0.
|
|
73
|
-
"@deepseek-ai/dsh-invariants": "^0.2.0-rc.2",
|
|
68
|
+
"@deepseek-ai/cordis": "~4.0.5-alpha.2",
|
|
74
69
|
"cloakbrowser": ">=0.5.0"
|
|
75
70
|
},
|
|
76
71
|
"devDependencies": {
|
|
77
|
-
"@deepseek-ai/cordis": "~4.0.
|
|
78
|
-
"@deepseek-ai/dsh-invariants": "^0.2.0-rc.2",
|
|
72
|
+
"@deepseek-ai/cordis": "~4.0.5-alpha.2",
|
|
79
73
|
"@types/node": "^24.0.0",
|
|
80
74
|
"@types/ws": "^8.5.0",
|
|
81
75
|
"playwright-core": "^1.61.1",
|
package/dist/invariant.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Package-owned invariant companion for `@hy-sde-org/dsh-browser`.
|
|
3
|
-
* @module @hy-sde-org/dsh-browser/invariant
|
|
4
|
-
*/
|
|
5
|
-
import type { Context } from '@deepseek-ai/cordis';
|
|
6
|
-
/** Cordis companion plugin name. */
|
|
7
|
-
export declare const name = "browser-invariant";
|
|
8
|
-
/** Service required before the companion can reserve package ownership. */
|
|
9
|
-
export declare const inject: string[];
|
|
10
|
-
/**
|
|
11
|
-
* Register this package's invariant companion.
|
|
12
|
-
* @param ctx - Cordis context carrying the invariant service.
|
|
13
|
-
* @returns the installed registration's disposer after setup succeeds.
|
|
14
|
-
*/
|
|
15
|
-
export declare const apply: (ctx: Context) => Promise<() => void>;
|
|
16
|
-
//# sourceMappingURL=invariant.d.ts.map
|
package/dist/invariant.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"invariant.d.ts","sourceRoot":"","sources":["../src/invariant.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAKlD,oCAAoC;AACpC,eAAO,MAAM,IAAI,sBAAsB,CAAA;AACvC,2EAA2E;AAC3E,eAAO,MAAM,MAAM,UAAiB,CAAA;AAQpC;;;;GAIG;AACH,eAAO,MAAM,KAAK,GAAI,KAAK,OAAO,KAAG,OAAO,CAAC,MAAM,IAAI,CACU,CAAA"}
|
package/dist/invariant.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Package-owned invariant companion for `@hy-sde-org/dsh-browser`.
|
|
3
|
-
* @module @hy-sde-org/dsh-browser/invariant
|
|
4
|
-
*/
|
|
5
|
-
const PACKAGE_NAME = '@hy-sde-org/dsh-browser';
|
|
6
|
-
/** Cordis companion plugin name. */
|
|
7
|
-
export const name = 'browser-invariant';
|
|
8
|
-
/** Service required before the companion can reserve package ownership. */
|
|
9
|
-
export const inject = ['invariants'];
|
|
10
|
-
/**
|
|
11
|
-
* No runtime invariant: the service launches browser processes per call and
|
|
12
|
-
* holds no durable state that outlives its fiber.
|
|
13
|
-
*/
|
|
14
|
-
const install = () => { };
|
|
15
|
-
/**
|
|
16
|
-
* Register this package's invariant companion.
|
|
17
|
-
* @param ctx - Cordis context carrying the invariant service.
|
|
18
|
-
* @returns the installed registration's disposer after setup succeeds.
|
|
19
|
-
*/
|
|
20
|
-
export const apply = (ctx) => Promise.resolve(ctx.invariants.register(PACKAGE_NAME, install));
|
|
21
|
-
/* jscpd:ignore-end */
|
|
22
|
-
//# sourceMappingURL=invariant.js.map
|
package/dist/invariant.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"invariant.js","sourceRoot":"","sources":["../src/invariant.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,YAAY,GAAG,yBAAyB,CAAA;AAE9C,oCAAoC;AACpC,MAAM,CAAC,MAAM,IAAI,GAAG,mBAAmB,CAAA;AACvC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,YAAY,CAAC,CAAA;AAEpC;;;GAGG;AACH,MAAM,OAAO,GAAuB,GAAG,EAAE,GAAE,CAAC,CAAA;AAE5C;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAY,EAAuB,EAAE,CACzD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAA;AACjE,sBAAsB"}
|