@hy-sde-org/dsh-browser 0.1.7-rc.2 → 0.2.0-rc.2.1

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @hy-sde-org/dsh-browser
2
2
 
3
- The host `ctx.browser` service for the agentic browser tool (ported from omp / oh-my-pi): it owns real browser connections over Chrome DevTools Protocol through [playwright-core CDP](https://playwright.dev/docs/api/class-browsertype#browser-type-connect-over-cdp), with four backends — **launch** (stealth-patched browser binary), **patch** (the CloakBrowser Chromium, source-level C++ fingerprint patches, via the optional `cloakbrowser` peer), **attach** (existing CDP endpoint via `cdp_url`), and **relay** (the user's own Chrome tabs through an in-process relay server + companion MV3 extension). Intended to be consumed by [`@hy-sde-org/dsh-tool-browser`](../tool-browser/README.md), never by the model directly. A standalone plugin — no upstream harness changes required; installs on official DeepSeek Harness releases (`0.1.2-rc.1` and later).
3
+ The host `ctx.browser` service for the agentic browser tool (ported from omp / oh-my-pi): it owns real browser connections over Chrome DevTools Protocol through [playwright-core CDP](https://playwright.dev/docs/api/class-browsertype#browser-type-connect-over-cdp), with four backends — **launch** (stealth-patched browser binary), **patch** (the CloakBrowser Chromium, source-level C++ fingerprint patches, via the optional `cloakbrowser` peer), **attach** (existing CDP endpoint via `cdp_url`), and **relay** (the user's own Chrome tabs through an in-process relay server + companion MV3 extension). Intended to be consumed by [`@hy-sde-org/dsh-tool-browser`](../tool-browser/README.md), never by the model directly. A standalone plugin — no upstream harness changes required; installs on official DeepSeek Harness releases (`0.2.0-rc.2` and later).
4
4
 
5
5
  ## What it does
6
6
 
@@ -23,7 +23,7 @@ The ARIA snapshot is produced by the bundled Playwright ARIA-snapshot sources (A
23
23
 
24
24
  The `patch` backend is powered by the **optional** `cloakbrowser` peer (`npm i cloakbrowser`): a drop-in Playwright replacement whose Chromium is patched at the C++ level (canvas, WebGL, audio, fonts, GPU, screen, WebRTC, network timing, automation signals). The first launch auto-downloads its patched Chromium (~200 MB, cached under `~/.cloakbrowser/`). Because CloakBrowser randomizes fingerprints per session at the browser layer, the dsh-browser UA override and JS init scripts are **deliberately not applied** on this backend. Useful extra flags via `patchOptions`: `proxy`, `geoip` (match timezone+locale to the proxy IP), `humanize` (human-like input). Nothing is guaranteed per site — anti-detection raises the bar, it does not make a site accessible.
25
25
 
26
- The relay (`src/relay/server.ts`, `bridge.ts`, a port of omp's) binds loopback, serves `GET /json/version` (503 until the extension connects), `GET /json`, `WS /cdp` (downstream CDP clients), `WS /ext` (the extension, token-gated when configured), and `GET /ext-assets/*` so the extension can be sideloaded from `chrome://extensions` → Load unpacked. The bridge multiplexes every downstream CDP connection over the extension's one `chrome.debugger` attachment per tab with minted session ids — the same design as `omp browser-relay` (MIT).
26
+ The relay (`src/relay/server.ts`, `bridge.ts`, a port of omp's) binds loopback, serves `GET /json/version` (503 until the extension connects; both the 200 and the 503 body carry the `dshRelayProtocol` build marker, so a stale relay of another build is diagnosable before blaming the extension — a mismatch never fails a connection), `GET /json`, `WS /cdp` (downstream CDP clients), `WS /ext` (the extension, token-gated when configured), and `GET /ext-assets/*` so the extension can be sideloaded from `chrome://extensions` → Load unpacked. The relay path waits (bounded budget, silent expiry) for `/json/version` to answer 200 before `connectOverCDP`, so the first connect does not race a cold extension service-worker dial. The bridge multiplexes every downstream CDP connection over the extension's one `chrome.debugger` attachment per tab with minted session ids. Chrome-discarded tabs (memory saver) are never announced or attached — a discard retires held sessions and retracts the target, a revival (activation refetch) reannounces and re-attaches, and an attach waits out a tracked in-flight detach instead of being silently undone by it — the same design as `omp browser-relay` (MIT).
27
27
 
28
28
  ## Configuration
29
29
 
@@ -35,4 +35,4 @@ The relay (`src/relay/server.ts`, `bridge.ts`, a port of omp's) binds loopback,
35
35
  - `relayUrl` / `relayToken` — relay endpoint and optional extension token.
36
36
  - `timeoutMs` — default navigation timeout (30000).
37
37
 
38
- The service is host-plane, holds no durable state, and is disposed with its owning context (closes its browsers and stops the relay).
38
+ The service is host-plane, holds no durable state, and is disposed with its owning context (closes its browsers and stops the relay). Spawned browsers (launch, and patch when the peer exposes its pid) are recorded in the orphan registry (`src/orphan-registry.ts`) and reaped by a later host if this process dies; a record is dropped only once its close is confirmed — a failed close keeps the pid reapable.
@@ -22,6 +22,9 @@ function snapshot(tab) {
22
22
  url: tab.url ?? tab.pendingUrl ?? "",
23
23
  title: tab.title ?? "",
24
24
  active: tab.active,
25
+ // Chrome memory-saver discards: the relay must not attach these until
26
+ // they are revived (activation reloads them).
27
+ discarded: tab.discarded === true,
25
28
  windowId: tab.windowId,
26
29
  pinned: tab.pinned,
27
30
  groupId: tab.groupId
@@ -114,7 +117,9 @@ async function buildHello() {
114
117
  userAgent: navigator.userAgent,
115
118
  browserVersion: versionMatch?.[0] ?? "Chrome/unknown",
116
119
  tabs: snapshots,
117
- attachedTabIds
120
+ attachedTabIds,
121
+ // Keep in sync with DISCARDED_TABS_PROTOCOL_VERSION in the relay.
122
+ discardedTabsProtocol: 1
118
123
  };
119
124
  }
120
125
  async function runRpc(msg) {
@@ -222,6 +227,15 @@ chrome.tabs.onUpdated.addListener((_tabId, _changeInfo, tab) => {
222
227
  if (snap)
223
228
  post({ t: "tabUpdated", tab: snap });
224
229
  });
230
+ chrome.tabs.onActivated.addListener(({ tabId }) => {
231
+ // Activation flips `active` without an onUpdated pass, and Chrome revives a
232
+ // discarded tab on focus — refetch so the relay sees both immediately.
233
+ chrome.tabs.get(tabId).then((tab) => {
234
+ const snap = snapshot(tab);
235
+ if (snap)
236
+ post({ t: "tabUpdated", tab: snap });
237
+ }).catch(() => {});
238
+ });
225
239
  chrome.tabs.onRemoved.addListener((tabId) => {
226
240
  post({ t: "tabRemoved", tabId });
227
241
  });
package/dist/cloak.d.ts CHANGED
@@ -39,4 +39,14 @@ export interface CloakLaunchOptions {
39
39
  * no `launch` export (too old / wrong package).
40
40
  */
41
41
  export declare function launchCloakBrowser(options: CloakLaunchOptions): Promise<unknown>;
42
+ /**
43
+ * OS pid of a launched CloakBrowser Chromium, when the peer exposes its
44
+ * process. CloakBrowser's `launch()` returns a plain Playwright-compatible
45
+ * `Browser` with no launchServer handle, so a crashed host's patch browser is
46
+ * only reapable if the peer surfaces the pid (duck-typed — a peer without the
47
+ * accessor records nothing, same as before this existed).
48
+ * @param browser - the value returned by {@link launchCloakBrowser}.
49
+ * @returns the browser's OS pid, or undefined when not exposed.
50
+ */
51
+ export declare function cloakBrowserPid(browser: unknown): number | undefined;
42
52
  //# sourceMappingURL=cloak.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cloak.d.ts","sourceRoot":"","sources":["../src/cloak.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,wEAAwE;AACxE,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED,iFAAiF;AACjF,MAAM,WAAW,kBAAkB;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+DAA+D;IAC/D,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,oDAAoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAyBtF"}
1
+ {"version":3,"file":"cloak.d.ts","sourceRoot":"","sources":["../src/cloak.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,wEAAwE;AACxE,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED,iFAAiF;AACjF,MAAM,WAAW,kBAAkB;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+DAA+D;IAC/D,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,oDAAoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAyBtF;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAKpE"}
package/dist/cloak.js CHANGED
@@ -64,4 +64,20 @@ export async function launchCloakBrowser(options) {
64
64
  launchOptions.humanize = true;
65
65
  return mod.launch(launchOptions);
66
66
  }
67
+ /**
68
+ * OS pid of a launched CloakBrowser Chromium, when the peer exposes its
69
+ * process. CloakBrowser's `launch()` returns a plain Playwright-compatible
70
+ * `Browser` with no launchServer handle, so a crashed host's patch browser is
71
+ * only reapable if the peer surfaces the pid (duck-typed — a peer without the
72
+ * accessor records nothing, same as before this existed).
73
+ * @param browser - the value returned by {@link launchCloakBrowser}.
74
+ * @returns the browser's OS pid, or undefined when not exposed.
75
+ */
76
+ export function cloakBrowserPid(browser) {
77
+ const processFn = browser.process;
78
+ if (typeof processFn !== 'function')
79
+ return undefined;
80
+ const pid = processFn.call(browser)?.pid;
81
+ return typeof pid === 'number' && Number.isInteger(pid) ? pid : undefined;
82
+ }
67
83
  //# sourceMappingURL=cloak.js.map
package/dist/cloak.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cloak.js","sourceRoot":"","sources":["../src/cloak.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;;;;;;;;;AAEH,wEAAwE;AACxE,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF;AAcD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAA2B;IAClE,4EAA4E;IAC5E,2EAA2E;IAC3E,wEAAwE;IACxE,6BAA6B;IAC7B,MAAM,UAAU,GAAW,cAAc,CAAA;IACzC,IAAI,GAAyE,CAAA;IAC7E,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,MAAM,kCAAC,UAAU,EAAyE,CAAA;IACxG,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,qBAAqB,CAC7B,uGAAuG;cACrG,iGAAiG,CACpG,CAAA;IACH,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACrC,MAAM,IAAI,qBAAqB,CAC7B,6GAA6G,CAC9G,CAAA;IACH,CAAC;IACD,MAAM,aAAa,GAA4B,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAA;IACrF,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;QAAE,aAAa,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;IACpE,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;QAAE,aAAa,CAAC,KAAK,GAAG,IAAI,CAAA;IACtD,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI;QAAE,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAA;IAC5D,OAAO,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;AAClC,CAAC"}
1
+ {"version":3,"file":"cloak.js","sourceRoot":"","sources":["../src/cloak.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;;;;;;;;;AAEH,wEAAwE;AACxE,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF;AAcD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAA2B;IAClE,4EAA4E;IAC5E,2EAA2E;IAC3E,wEAAwE;IACxE,6BAA6B;IAC7B,MAAM,UAAU,GAAW,cAAc,CAAA;IACzC,IAAI,GAAyE,CAAA;IAC7E,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,MAAM,kCAAC,UAAU,EAAyE,CAAA;IACxG,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,qBAAqB,CAC7B,uGAAuG;cACrG,iGAAiG,CACpG,CAAA;IACH,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACrC,MAAM,IAAI,qBAAqB,CAC7B,6GAA6G,CAC9G,CAAA;IACH,CAAC;IACD,MAAM,aAAa,GAA4B,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAA;IACrF,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;QAAE,aAAa,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;IACpE,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;QAAE,aAAa,CAAC,KAAK,GAAG,IAAI,CAAA;IACtD,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI;QAAE,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAA;IAC5D,OAAO,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;AAClC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,MAAM,SAAS,GAAI,OAA4D,CAAC,OAAO,CAAA;IACvF,IAAI,OAAO,SAAS,KAAK,UAAU;QAAE,OAAO,SAAS,CAAA;IACrD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,CAAA;IACxC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;AAC3E,CAAC"}
package/dist/index.d.ts CHANGED
@@ -21,6 +21,7 @@ export * from './cloak.ts';
21
21
  export * from './service.ts';
22
22
  export * from './relay/kind.ts';
23
23
  export * from './relay/protocol.ts';
24
+ export * from './relay/probe.ts';
24
25
  declare module '@deepseek-ai/cordis' {
25
26
  interface Context {
26
27
  /** The browser service: tabs over launch/CDP-attach/relay backends. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AAEnC,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,OAAO;QACf,uEAAuE;QACvE,OAAO,EAAE,cAAc,CAAA;KACxB;CACF;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,aAAkB,GAAG,IAAI,CAEpE;AAED,iDAAiD;AACjD,eAAO,MAAM,IAAI,YAAY,CAAA;;;;;AAE7B,wBAA8B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAEhC,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,OAAO;QACf,uEAAuE;QACvE,OAAO,EAAE,cAAc,CAAA;KACxB;CACF;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,aAAkB,GAAG,IAAI,CAEpE;AAED,iDAAiD;AACjD,eAAO,MAAM,IAAI,YAAY,CAAA;;;;;AAE7B,wBAA8B"}
package/dist/index.js CHANGED
@@ -19,6 +19,7 @@ export * from "./cloak.js";
19
19
  export * from "./service.js";
20
20
  export * from "./relay/kind.js";
21
21
  export * from "./relay/protocol.js";
22
+ export * from "./relay/probe.js";
22
23
  export { BrowserService } from "./service.js";
23
24
  /**
24
25
  * Register `ctx.browser`. Host-plane row: browser processes must be shared
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAG7C,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AASnC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,GAAY,EAAE,SAAwB,EAAE;IAC5D,KAAK,IAAI,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;AACtC,CAAC;AAED,iDAAiD;AACjD,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAA;AAE7B,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAG7C,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAShC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,GAAY,EAAE,SAAwB,EAAE;IAC5D,KAAK,IAAI,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;AACtC,CAAC;AAED,iDAAiD;AACjD,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAA;AAE7B,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/relay/bridge.ts"],"names":[],"mappings":"AA4BA,iEAAiE;AACjE,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,KAAK,IAAI,IAAI,CAAA;CACd;AA6GD;;;;GAIG;AACH,qBAAa,WAAW;;gBAuBpB,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;IAED,uCAAuC;IACvC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAYlD,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;IAuBpC,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAsElD,sEAAsE;IACtE,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM;IAOzC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA2B/B,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;CAklB9C"}
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;AAmHD;;;;GAIG;AACH,qBAAa,WAAW;;gBAuBpB,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;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;IAwBpC,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAiFlD,sEAAsE;IACtE,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM;IAOzC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAiC/B,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;CAwmB9C"}
@@ -1,3 +1,4 @@
1
+ import { DSH_RELAY_PROTOCOL } from './protocol';
1
2
  class CdpConnection {
2
3
  id;
3
4
  socket;
@@ -25,17 +26,21 @@ class TabState {
25
26
  url = '';
26
27
  title = '';
27
28
  active = false;
29
+ /** Chrome discarded this tab (memory saver); it cannot answer debugger calls until reactivated. */
30
+ discarded = false;
28
31
  windowId = 0;
29
32
  pinned = false;
30
33
  /** Chrome tab group id from the last snapshot; -1 when ungrouped. */
31
34
  groupId = -1;
32
35
  /** Whether `chrome.debugger` is currently attached to this tab. */
33
36
  attached = false;
34
- /** Set when attach failed or the user cancelled the debugger; cleared on navigation. */
37
+ /** Set when attach failed or the user cancelled the debugger; cleared on navigation (and on revival from a discard). */
35
38
  banned = false;
36
39
  /** Whether targets for this tab were announced to discovering connections. */
37
40
  announced = false;
38
41
  attaching = null;
42
+ /** Detach RPC still landing; a new attach must wait it out or the late detach undoes it. */
43
+ detaching = null;
39
44
  /** True after the relay put this tab in the omp group; `ompGroupId` holds that group. */
40
45
  grouped = false;
41
46
  /** Group RPC in flight — suppresses duplicate requests from load-time tabUpdated bursts. */
@@ -53,6 +58,8 @@ class TabState {
53
58
  this.url = snap.url;
54
59
  this.title = snap.title;
55
60
  this.active = snap.active;
61
+ // undefined (extension predating the field) degrades to false.
62
+ this.discarded = snap.discarded === true;
56
63
  this.windowId = snap.windowId;
57
64
  this.pinned = snap.pinned;
58
65
  this.groupId = snap.groupId;
@@ -116,6 +123,9 @@ export class RelayBridge {
116
123
  'User-Agent': ua,
117
124
  'V8-Version': '',
118
125
  'WebKit-Version': '',
126
+ // Build marker: lets callers tell a stale relay from an unconnected
127
+ // extension (oh-my-pi b4c96b126e — diagnosed stale relay after upgrades).
128
+ dshRelayProtocol: String(DSH_RELAY_PROTOCOL),
119
129
  webSocketDebuggerUrl: wsUrl,
120
130
  };
121
131
  }
@@ -151,6 +161,7 @@ export class RelayBridge {
151
161
  for (const tab of this.#tabs.values()) {
152
162
  tab.attached = false;
153
163
  tab.attaching = null;
164
+ tab.detaching = null;
154
165
  // The extension dissolves omp groups on disconnect (or died along
155
166
  // with them); grouping state is unknowable until the next hello.
156
167
  // Without this reset, the next hello's groupId=-1 snapshots would
@@ -207,7 +218,11 @@ export class RelayBridge {
207
218
  }
208
219
  }
209
220
  #onHello(msg) {
210
- this.#extInfo = { userAgent: msg.userAgent, browserVersion: msg.browserVersion };
221
+ this.#extInfo = {
222
+ userAgent: msg.userAgent,
223
+ browserVersion: msg.browserVersion,
224
+ ...(msg.discardedTabsProtocol !== undefined ? { discardedTabsProtocol: msg.discardedTabsProtocol } : {}),
225
+ };
211
226
  const seen = new Set();
212
227
  const attachedNow = new Set(msg.attachedTabIds);
213
228
  for (const snap of msg.tabs) {
@@ -222,6 +237,14 @@ export class RelayBridge {
222
237
  const wasAttached = tab.attached;
223
238
  tab.attached = attachedNow.has(tab.tabId);
224
239
  tab.attaching = null;
240
+ if (tab.discarded) {
241
+ // A discarded tab cannot answer debugger calls: retire held sessions
242
+ // 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
+ this.#retractTab(tab);
246
+ continue;
247
+ }
225
248
  // A service-worker restart can drop attachments while downstream
226
249
  // connections still hold sessions: restore them best-effort.
227
250
  if (wasAttached && !tab.attached && this.#sessionHolders(tab.tabId).length > 0) {
@@ -267,7 +290,14 @@ export class RelayBridge {
267
290
  const tab = this.#tabs.get(tabId);
268
291
  if (tab?.attached) {
269
292
  tab.attached = false;
270
- void this.#rpc({ op: 'detach', tabId }).catch(() => { });
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;
271
301
  }
272
302
  }
273
303
  this.#log('cdp client closed', { conn: connId });
@@ -415,7 +445,9 @@ export class RelayBridge {
415
445
  case 'Target.setDiscoverTargets': {
416
446
  conn.discover = true;
417
447
  for (const tab of this.#tabs.values()) {
418
- if (!this.#eligible(tab))
448
+ // Discarded tabs are never announced: a target that cannot attach
449
+ // must not reach downstream discovery.
450
+ if (!this.#eligible(tab) || tab.discarded)
419
451
  continue;
420
452
  tab.announced = true;
421
453
  this.#emit(conn, 'Target.targetCreated', { targetInfo: this.#tabInfo(tab, tab.attached) });
@@ -427,11 +459,14 @@ export class RelayBridge {
427
459
  case 'Target.setAutoAttach': {
428
460
  conn.autoAttach = true;
429
461
  const tabs = [...this.#tabs.values()].filter(tab => this.#eligible(tab));
430
- await Promise.all(tabs.map(tab => this.#ensureAttached(tab)));
462
+ // Discarded tabs cannot attach; leave them out so puppeteer's init
463
+ // never waits on a target that will not attach.
464
+ await Promise.all(tabs.filter(tab => !tab.discarded).map(tab => this.#ensureAttached(tab)));
431
465
  for (const tab of tabs) {
432
- if (!tab.attached) {
433
- // Attach failed (DevTools open, another debugger, …): retract
434
- // the target so puppeteer's init never waits on it.
466
+ // Retract what cannot be attached — including a tab that turned
467
+ // discarded while the attaches above were landing — so puppeteer's
468
+ // init never waits on it.
469
+ if (!tab.attached || tab.discarded) {
435
470
  this.#retractTab(tab);
436
471
  continue;
437
472
  }
@@ -447,6 +482,12 @@ export class RelayBridge {
447
482
  this.#replyError(conn, msg, `No target with id ${String(msg.params?.targetId)}`);
448
483
  return;
449
484
  }
485
+ if (tab.discarded) {
486
+ // Fail now rather than burning the RPC timeout on a tab Chrome
487
+ // discarded; activating it reloads it, then the retry attaches.
488
+ this.#replyError(conn, msg, `Cannot attach to tab ${tab.tabId}: discarded by Chrome; activate it to reload, then retry`);
489
+ return;
490
+ }
450
491
  if (!(await this.#ensureAttached(tab))) {
451
492
  this.#replyError(conn, msg, `Cannot attach to tab ${tab.tabId} (${tab.url})`);
452
493
  return;
@@ -592,8 +633,13 @@ export class RelayBridge {
592
633
  this.#tabs.set(snap.tabId, tab);
593
634
  }
594
635
  else {
636
+ // A revived tab's earlier attach failure was the discarded state, not a
637
+ // debugger refusal: it may attach again.
638
+ const revived = tab.discarded && snap.discarded !== true;
595
639
  if (tab.url !== snap.url)
596
640
  tab.banned = false;
641
+ if (revived)
642
+ tab.banned = false;
597
643
  // The user dragging a tab out of the omp group is an opt-out; the
598
644
  // relay never fights the user over grouping.
599
645
  if (tab.grouped && tab.ompGroupId !== undefined && snap.groupId !== tab.ompGroupId) {
@@ -606,7 +652,7 @@ export class RelayBridge {
606
652
  return;
607
653
  const eligible = this.#eligible(tab);
608
654
  this.#syncTabGrouping(tab);
609
- if (eligible && !tab.announced) {
655
+ if (eligible && !tab.discarded && !tab.announced) {
610
656
  tab.announced = true;
611
657
  for (const conn of this.#conns.values()) {
612
658
  if (!conn.discover)
@@ -624,7 +670,11 @@ export class RelayBridge {
624
670
  }
625
671
  return;
626
672
  }
627
- if (!eligible && tab.announced) {
673
+ if ((!eligible || tab.discarded) && tab.announced) {
674
+ // Discarding a tab strands its debugger attachment: drop it so revival
675
+ // 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(() => { });
628
678
  this.#retractTab(tab);
629
679
  return;
630
680
  }
@@ -781,6 +831,12 @@ export class RelayBridge {
781
831
  async #ensureAttached(tab) {
782
832
  if (tab.attached)
783
833
  return true;
834
+ // Wait out an in-flight detach first: a new attach racing it would be
835
+ // undone when the late detach lands after the attach.
836
+ if (tab.detaching)
837
+ await tab.detaching;
838
+ if (tab.discarded)
839
+ return false;
784
840
  if (tab.banned || !this.#ext)
785
841
  return false;
786
842
  if (tab.attaching)
@@ -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":"AA2BA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AA6B/C,MAAM,aAAa;IASN;IACA;IATX,QAAQ,GAAG,KAAK,CAAA;IAChB,UAAU,GAAG,KAAK,CAAA;IAClB,uDAAuD;IAC9C,QAAQ,GAAG,IAAI,GAAG,EAAsB,CAAA;IACjD,iGAAiG;IACxF,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;IAEnC,YACW,EAAU,EACV,MAAmB;QADnB,OAAE,GAAF,EAAE,CAAQ;QACV,WAAM,GAAN,MAAM,CAAa;IAC3B,CAAC;IAEJ,cAAc,CAAC,KAAa,EAAE,IAAqB;QACjD,MAAM,GAAG,GAAa,EAAE,CAAA;QACxB,KAAK,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7C,IAAI,GAAG,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC9E,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;CACF;AAED,MAAM,QAAQ;IA8BD;IA7BX,GAAG,GAAG,EAAE,CAAA;IACR,KAAK,GAAG,EAAE,CAAA;IACV,MAAM,GAAG,KAAK,CAAA;IACd,mGAAmG;IACnG,SAAS,GAAG,KAAK,CAAA;IACjB,QAAQ,GAAG,CAAC,CAAA;IACZ,MAAM,GAAG,KAAK,CAAA;IACd,qEAAqE;IACrE,OAAO,GAAG,CAAC,CAAC,CAAA;IACZ,mEAAmE;IACnE,QAAQ,GAAG,KAAK,CAAA;IAChB,wHAAwH;IACxH,MAAM,GAAG,KAAK,CAAA;IACd,8EAA8E;IAC9E,SAAS,GAAG,KAAK,CAAA;IACjB,SAAS,GAA4B,IAAI,CAAA;IACzC,4FAA4F;IAC5F,SAAS,GAAyB,IAAI,CAAA;IACtC,yFAAyF;IACzF,OAAO,GAAG,KAAK,CAAA;IACf,4FAA4F;IAC5F,QAAQ,GAAG,KAAK,CAAA;IAChB,UAAU,CAAoB;IAC9B,oEAAoE;IACpE,WAAW,GAAG,KAAK,CAAA;IACnB,4FAA4F;IACnF,YAAY,GAAG,IAAI,GAAG,EAAU,CAAA;IAEzC,YACW,KAAa,EACtB,IAAiB;QADR,UAAK,GAAL,KAAK,CAAQ;QAGtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,IAAiB;QACrB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,+DAA+D;QAC/D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,KAAK,IAAI,CAAA;QACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IAC7B,CAAC;CACF;AAED,0FAA0F;AAC1F,MAAM,cAAc,GAAG,uFAAuF,CAAA;AAE9G,MAAM,cAAc,GAAG,MAAM,CAAA;AAC7B,MAAM,0BAA0B,GAAG,CAAC,KAAK,CAAA;AACzC,MAAM,gBAAgB,GAAG,CAAC,KAAK,CAAA;AAE/B,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,MAAM,KAAK,EAAE,CAAA;AACtB,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,OAAO,KAAK,EAAE,CAAA;AACvB,CAAC;AAED,iFAAiF;AACjF,SAAS,aAAa,CAAC,QAAgB;IACrC,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAChD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IACvB,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAC/E,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,WAAW;IACtB,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAA;IACnC,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAA;IACzC,QAAQ,GAAG,CAAC,CAAA;IACZ,WAAW,GAAG,CAAC,CAAA;IACf,OAAO,GAAG,CAAC,CAAA;IACX,IAAI,GAAuB,IAAI,CAAA;IAC/B,QAAQ,GAAyF,IAAI,CAAA;IACrG,WAAW,GAAG,IAAI,GAAG,EAGlB,CAAA;IACH,yFAAyF;IACzF,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC5C,IAAI,CAA2D;IAC/D,oEAAoE;IACpE,MAAM,CAAyC;IAC/C,qEAAqE;IACrE,WAAW,GAAe,EAAE,CAAA;IAC5B,gFAAgF;IAChF,cAAc,GAAG,KAAK,CAAA;IAEtB,YACE,OAII,EAAE;QAEN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAA;IAClC,CAAC;IAED,iEAAiE;IACjE,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAA;IACrD,CAAC;IAED,uCAAuC;IACvC,WAAW,CAAC,KAAa;QACvB,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,CAAA;QACzC,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,IAAI,gBAAgB;YAC1D,kBAAkB,EAAE,KAAK;YACzB,YAAY,EAAE,EAAE;YAChB,YAAY,EAAE,EAAE;YAChB,gBAAgB,EAAE,EAAE;YACpB,oEAAoE;YACpE,0EAA0E;YAC1E,gBAAgB,EAAE,MAAM,CAAC,kBAAkB,CAAC;YAC5C,oBAAoB,EAAE,KAAK;SAC5B,CAAA;IACH,CAAC;IAED,yFAAyF;IACzF,WAAW;QACT,MAAM,GAAG,GAAkC,EAAE,CAAA;QAC7C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;gBAAE,SAAQ;YAClC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAA;QACzF,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,6EAA6E;IAE7E,mEAAmE;IACnE,YAAY,CAAC,MAAmB;QAC9B,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;YACvC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;QACnB,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAA;IACpB,CAAC;IAED,SAAS,CAAC,MAAmB;QAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAM;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YAChD,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YAC3B,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAA;QAC3D,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;QACxB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAA;YACpB,GAAG,CAAC,SAAS,GAAG,IAAI,CAAA;YACpB,GAAG,CAAC,SAAS,GAAG,IAAI,CAAA;YACpB,kEAAkE;YAClE,iEAAiE;YACjE,kEAAkE;YAClE,+DAA+D;YAC/D,GAAG,CAAC,OAAO,GAAG,KAAK,CAAA;YACnB,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAA;YACpB,GAAG,CAAC,UAAU,GAAG,SAAS,CAAA;QAC5B,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAA;IAC7B,CAAC;IAED,UAAU,CAAC,MAAmB,EAAE,GAAW;QACzC,IAAI,MAAM,KAAK,IAAI,CAAC,IAAI;YAAE,OAAM;QAChC,IAAI,GAAsB,CAAA;QAC1B,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAsB,CAAA;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAA;YACjD,OAAM;QACR,CAAC;QACD,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC;YACd,KAAK,OAAO;gBACV,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;gBAClB,OAAM;YACR,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC5C,IAAI,CAAC,OAAO;oBAAE,OAAM;gBACpB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC/B,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBAC3B,IAAI,GAAG,CAAC,EAAE;oBAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;;oBAClC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,sBAAsB,CAAC,CAAC,CAAA;gBACnE,OAAM;YACR,CAAC;YACD,KAAK,UAAU;gBACb,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;gBAClE,OAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;gBAC1C,OAAM;YACR,KAAK,YAAY,CAAC;YAClB,KAAK,YAAY;gBACf,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAC1B,OAAM;YACR,KAAK,YAAY;gBACf,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBAC7B,OAAM;YACR,KAAK,MAAM;gBACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,MAAM,EAA8B,CAAC,CAAC,CAAA;gBACtE,OAAM;QACV,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,GAA+C;QACtD,IAAI,CAAC,QAAQ,GAAG;YACd,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,GAAG,CAAC,GAAG,CAAC,qBAAqB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzG,CAAA;QACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;QAC9B,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QAC/C,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACpB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3C,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QACjD,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAA;YAChC,GAAG,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACzC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAA;YACpB,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBAClB,qEAAqE;gBACrE,0DAA0D;gBAC1D,IAAI,GAAG,CAAC,QAAQ;oBAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;gBACpF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;gBACrB,SAAQ;YACV,CAAC;YACD,iEAAiE;YACjE,6DAA6D;YAC7D,IAAI,WAAW,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/E,KAAK,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;oBACzC,IAAI,CAAC,EAAE;wBAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAA;gBAC5D,CAAC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC,CAAA;IAC1F,CAAC;IAED,8EAA8E;IAE9E,sEAAsE;IACtE,YAAY,CAAC,MAAmB;QAC9B,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACvD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QAC9B,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;QACpD,OAAO,IAAI,CAAC,EAAE,CAAA;IAChB,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACpC,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC1B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;QACjC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;QACrB,uEAAuE;QACvE,iEAAiE;QACjE,sEAAsE;QACtE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACjC,IAAI,GAAG;gBAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;QACrC,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QACnB,uEAAuE;QACvE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAQ;YACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACjC,IAAI,GAAG,EAAE,QAAQ,EAAE,CAAC;gBAClB,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAA;gBACpB,qEAAqE;gBACrE,gEAAgE;gBAChE,8CAA8C;gBAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;oBAC/F,IAAI,GAAG,CAAC,SAAS,KAAK,OAAO;wBAAE,GAAG,CAAC,SAAS,GAAG,IAAI,CAAA;gBACrD,CAAC,CAAC,CAAA;gBACF,GAAG,CAAC,SAAS,GAAG,OAAO,CAAA;YACzB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,UAAU,CAAC,MAAc,EAAE,GAAW;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACpC,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,IAAI,GAAe,CAAA;QACnB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAe,CAAA;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,OAAM;QACR,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAM;QACxE,KAAK,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YAC5D,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAC/E,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,+EAA+E;IAE/E,KAAK,CAAC,iBAAiB,CAAC,IAAmB,EAAE,GAAe;QAC1D,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAA;QAC/B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;YAC3C,OAAM;QACR,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACxC,IAAI,GAAG,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;YAC7C,OAAM;QACR,CAAC;QACD,IAAI,GAAG,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;YACzD,OAAM;QACR,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;YACvD,OAAM;QACR,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,sBAAsB,SAAS,EAAE,CAAC,CAAA;IAChE,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,IAAmB,EACnB,GAAe,EACf,KAAa,EACb,aAAiC;QAEjC,qEAAqE;QACrE,IAAI,GAAG,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;YAC1B,OAAM;QACR,CAAC;QACD,wEAAwE;QACxE,sEAAsE;QACtE,IAAI,GAAG,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;YACrC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;YAC1B,OAAM;QACR,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;gBAC7B,EAAE,EAAE,MAAM;gBACV,KAAK;gBACL,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpE,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5D,CAAC,CAAA;YACF,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAG,MAA8C,IAAI,EAAE,CAAC,CAAA;QAC/E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAC/E,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,IAAmB,EAAE,KAAa;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACjC,IAAI,CAAC,GAAG;YAAE,OAAM;QAChB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QACpD,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;IAED,+EAA+E;IAC/E,QAAQ,CAAC,KAAa;QACpB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAA;QACzC,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,8EAA8E;IAC9E,wBAAwB,CAAC,IAAmB,EAAE,GAAe,EAAE,GAAe;QAC5E,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,sBAAsB,CAAC,CAAC,CAAC;gBAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBACrC,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,GAAG,CAAC,KAAK,UAAU,CAAC,CAAA;oBACvD,OAAM;gBACR,CAAC;gBACD,8DAA8D;gBAC9D,gEAAgE;gBAChE,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;gBAC9D,IAAI,CAAC,KAAK,CACR,IAAI,EACJ,yBAAyB,EACzB;oBACE,SAAS,EAAE,WAAW;oBACtB,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC;oBACrC,kBAAkB,EAAE,KAAK;iBAC1B,EACD,GAAG,CAAC,SAAS,CACd,CAAA;gBACD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;gBAC1B,OAAM;YACR,CAAC;YACD,KAAK,iCAAiC;gBACpC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;gBAC1B,OAAM;YACR,KAAK,yBAAyB,CAAC,CAAC,CAAC;gBAC/B,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,MAAM,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;gBAC1F,IAAI,KAAK;oBAAE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;gBAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;gBAC1B,OAAM;YACR,CAAC;YACD;gBACE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,MAAM,oCAAoC,EAAE,0BAA0B,CAAC,CAAA;QAC/G,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,IAAmB,EAAE,GAAe;QAC9D,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;oBACrB,eAAe,EAAE,KAAK;oBACtB,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,IAAI,gBAAgB;oBAC1D,QAAQ,EAAE,EAAE;oBACZ,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE;oBACzC,SAAS,EAAE,EAAE;iBACd,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;YACD,KAAK,2BAA2B;gBAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,CAAA;gBACjD,OAAM;YACR,KAAK,2BAA2B,CAAC,CAAC,CAAC;gBACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;gBACpB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;oBACtC,kEAAkE;oBAClE,uCAAuC;oBACvC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,SAAS;wBAAE,SAAQ;oBACnD,GAAG,CAAC,SAAS,GAAG,IAAI,CAAA;oBACpB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,sBAAsB,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;oBAC1F,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,sBAAsB,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;gBAC7F,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;gBAC1B,OAAM;YACR,CAAC;YACD,KAAK,sBAAsB,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;gBACtB,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;gBACxE,mEAAmE;gBACnE,gDAAgD;gBAChD,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBAC3F,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,gEAAgE;oBAChE,mEAAmE;oBACnE,0BAA0B;oBAC1B,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;wBACnC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;wBACrB,SAAQ;oBACV,CAAC;oBACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;gBAClC,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;gBAC1B,OAAM;YACR,CAAC;YACD,KAAK,uBAAuB,CAAC,CAAC,CAAC;gBAC7B,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;gBACnG,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBAC7D,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;oBACpB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,qBAAqB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;oBAChF,OAAM;gBACR,CAAC;gBACD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;oBAClB,+DAA+D;oBAC/D,gEAAgE;oBAChE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,wBAAwB,GAAG,CAAC,KAAK,0DAA0D,CAAC,CAAA;oBACxH,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBACvC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,wBAAwB,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;oBAC7E,OAAM;gBACR,CAAC;gBACD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;gBACjE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;gBACzF,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,yBAAyB,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAA;gBACvG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,CAAA;gBACrC,OAAM;YACR,CAAC;YACD,KAAK,yBAAyB,CAAC,CAAC,CAAC;gBAC/B,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,MAAM,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;gBAC9F,IAAI,SAAS;oBAAE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;gBAC/D,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;gBAC1B,OAAM;YACR,CAAC;YACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;gBAC3B,MAAM,GAAG,GACP,OAAO,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAA;gBACnG,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAyB,CAAA;gBAClF,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBAC7B,mDAAmD;gBACnD,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBACtC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBACpE,OAAM;YACR,CAAC;YACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBAC1B,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;gBACnG,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,qBAAqB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;oBAChF,OAAM;gBACR,CAAC;gBACD,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;gBACzD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;gBACzC,OAAM;YACR,CAAC;YACD,KAAK,uBAAuB,CAAC,CAAC,CAAC;gBAC7B,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;gBACnG,IAAI,MAAM;oBAAE,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;gBACvE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;gBAC1B,OAAM;YACR,CAAC;YACD,KAAK,sBAAsB,CAAC,CAAC,CAAC;gBAC5B,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,MAAM,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;gBACtF,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;gBAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBAC7D,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;oBAClB,MAAM,IAAI,GACR,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;oBAC9F,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;oBAC5C,OAAM;gBACR,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;oBACrB,UAAU,EAAE;wBACV,QAAQ,EAAE,eAAe;wBACzB,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,EAAE;wBACT,GAAG,EAAE,EAAE;wBACP,QAAQ,EAAE,IAAI;wBACd,eAAe,EAAE,KAAK;qBACF;iBACvB,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;YACD,KAAK,eAAe;gBAClB,0DAA0D;gBAC1D,IAAI,CAAC,IAAI,CAAC,+CAA+C,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;gBAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;gBAC1B,OAAM;YACR,KAAK,6BAA6B;gBAChC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;gBAC1B,OAAM;YACR,KAAK,6BAA6B;gBAChC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,6DAA6D,CAAC,CAAA;gBAC1F,OAAM;YACR;gBACE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,MAAM,gBAAgB,EAAE,0BAA0B,CAAC,CAAA;QAC3F,CAAC;IACH,CAAC;IAED,gFAAgF;IAEhF,WAAW,CACT,KAAa,EACb,eAAmC,EACnC,MAAc,EACd,MAAgC;QAEhC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACjC,IAAI,CAAC,GAAG;YAAE,OAAM;QAChB,mEAAmE;QACnE,IAAI,MAAM,KAAK,yBAAyB,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,MAAM,EAAE,SAAS,CAAA;YAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBAC3B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YACzC,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,KAAK,2BAA2B,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,MAAM,EAAE,SAAS,CAAA;YAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAC9B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;QACD,IAAI,eAAe,EAAE,CAAC;YACpB,kEAAkE;YAClE,qCAAqC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;YAC9E,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;gBACxC,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;oBAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC9E,CAAC;YACD,OAAM;QACR,CAAC;QACD,4DAA4D;QAC5D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC7D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;YAC9E,CAAC;QACH,CAAC;IACH,CAAC;IAED,cAAc,CAAC,KAAa,EAAE,MAAc;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACjC,IAAI,CAAC,GAAG;YAAE,OAAM;QAChB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QAC5C,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAA;QACpB,GAAG,CAAC,SAAS,GAAG,IAAI,CAAA;QACpB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAA;QACjB,kEAAkE;QAClE,qDAAqD;QACrD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;IAED,aAAa,CAAC,KAAa;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACjC,IAAI,CAAC,GAAG;YAAE,OAAM;QAChB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACrB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACxB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACpE,CAAC;IAED,YAAY,CAAC,IAAiB,EAAE,OAA6B,EAAE;QAC7D,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YACpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACjC,CAAC;aAAM,CAAC;YACN,wEAAwE;YACxE,yCAAyC;YACzC,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAA;YACxD,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG;gBAAE,GAAG,CAAC,MAAM,GAAG,KAAK,CAAA;YAC5C,IAAI,OAAO;gBAAE,GAAG,CAAC,MAAM,GAAG,KAAK,CAAA;YAC/B,kEAAkE;YAClE,6CAA6C;YAC7C,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC,UAAU,EAAE,CAAC;gBACnF,GAAG,CAAC,OAAO,GAAG,KAAK,CAAA;gBACnB,GAAG,CAAC,WAAW,GAAG,IAAI,CAAA;YACxB,CAAC;YACD,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACjB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM;YAAE,OAAM;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,QAAQ,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YACjD,GAAG,CAAC,SAAS,GAAG,IAAI,CAAA;YACpB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,QAAQ;oBAAE,SAAQ;gBAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,sBAAsB,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;gBAC1F,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,sBAAsB,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YAC7F,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,UAAU;oBAAE,SAAQ;gBAC9B,KAAK,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;oBACzC,IAAI,EAAE;wBAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;gBAC1C,CAAC,CAAC,CAAA;YACJ,CAAC;YACD,OAAM;QACR,CAAC;QACD,IAAI,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClD,uEAAuE;YACvE,gEAAgE;YAChE,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,QAAQ;gBAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;YACrG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YACrB,OAAM;QACR,CAAC;QACD,IAAI,QAAQ,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAC9B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,QAAQ;oBAAE,SAAQ;gBAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,0BAA0B,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;gBAC9F,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,0BAA0B,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;YACjG,CAAC;QACH,CAAC;IACH,CAAC;IAED,gFAAgF;IAEhF,mHAAmH;IACnH,YAAY,CAAC,GAAa;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,WAAW;YAAE,OAAO,KAAK,CAAA;QACpG,OAAO,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED,gEAAgE;IAChE,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAM;QACxB,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC9G,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IACnD,CAAC;IAED,oEAAoE;IACpE,gBAAgB,CAAC,GAAa;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAM;QACxB,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ;gBAAE,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAC5D,OAAM;QACR,CAAC;QACD,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,GAAG,CAAC,OAAO,GAAG,KAAK,CAAA;YACnB,GAAG,CAAC,UAAU,GAAG,SAAS,CAAA;YAC1B,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QACxE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,IAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAM;QACxB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAA;YACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC5B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACxD,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,KAAK;YAAE,OAAM;QAClB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;QAC1B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;gBACxC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBAC1C,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;oBAC/F,2EAA2E;oBAC3E,MAAM,OAAO,GACX,MAAM;wBACN,OAAO,MAAM,KAAK,QAAQ;wBAC1B,SAAS,IAAI,MAAM;wBACnB,MAAM,CAAC,OAAO;wBACd,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;wBAChC,CAAC,CAAE,MAAM,CAAC,OAAmC;wBAC7C,CAAC,CAAC,EAAE,CAAA;oBACR,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;wBACxB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;wBAC1C,IAAI,OAAO,OAAO,KAAK,QAAQ;4BAAE,SAAQ;wBACzC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAA;wBAClB,GAAG,CAAC,UAAU,GAAG,OAAO,CAAA;oBAC1B,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;gBAChD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC/F,CAAC;wBAAS,CAAC;oBACT,KAAK,MAAM,GAAG,IAAI,KAAK;wBAAE,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAA;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;QAC7B,CAAC;IACH,CAAC;IAED,2FAA2F;IAC3F,WAAW,CAAC,GAAa;QACvB,KAAK,MAAM,WAAW,IAAI,GAAG,CAAC,YAAY;YAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QACrF,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA;QACxB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YACzD,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;gBACjE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;gBACjC,IAAI,CAAC,KAAK,CACR,IAAI,EACJ,2BAA2B,EAC3B,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAC7D,WAAW,CAAC,CAAC,CAAC,CACf,CAAA;YACH,CAAC;YACD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;gBAChC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,2BAA2B,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAC5G,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBACnC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,wBAAwB,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBACjF,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,wBAAwB,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAClF,CAAC;QACH,CAAC;QACD,GAAG,CAAC,SAAS,GAAG,KAAK,CAAA;IACvB,CAAC;IAED,iFAAiF;IAEjF,YAAY,CAAC,IAAmB,EAAE,IAAoB,EAAE,KAAa;QACnE,MAAM,SAAS,GAAG,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAA;QAC3F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAC7C,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,eAAe,CAAC,IAAmB,EAAE,SAAiB,EAAE,eAAmC;QACzF,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACxC,IAAI,CAAC,GAAG;YAAE,OAAM;QAChB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACtF,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,2BAA2B,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,eAAe,CAAC,CAAA;IACzF,CAAC;IAED,0DAA0D;IAC1D,eAAe,CAAC,KAAa;QAC3B,MAAM,GAAG,GAAoB,EAAE,CAAA;QAC/B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3D,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,gBAAgB,CAAC,IAAmB,EAAE,GAAa;QACjD,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,OAAM;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;QAC3D,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,yBAAyB,EAAE;YAC1C,SAAS;YACT,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;YACpC,kBAAkB,EAAE,KAAK;SAC1B,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,GAAa;QACjC,IAAI,GAAG,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC7B,sEAAsE;QACtE,sDAAsD;QACtD,IAAI,GAAG,CAAC,SAAS;YAAE,MAAM,GAAG,CAAC,SAAS,CAAA;QACtC,IAAI,GAAG,CAAC,SAAS;YAAE,OAAO,KAAK,CAAA;QAC/B,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAA;QAC1C,IAAI,GAAG,CAAC,SAAS;YAAE,OAAO,MAAM,GAAG,CAAC,SAAS,CAAA;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;aAC1D,IAAI,CAAC,GAAG,EAAE;YACT,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAA;YACnB,OAAO,IAAI,CAAA;QACb,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACzB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAA;YACF,GAAG,CAAC,MAAM,GAAG,IAAI,CAAA;YACjB,OAAO,KAAK,CAAA;QACd,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,GAAG,CAAC,SAAS,GAAG,IAAI,CAAA;QACtB,CAAC,CAAC,CAAA;QACJ,GAAG,CAAC,SAAS,GAAG,OAAO,CAAA;QACvB,OAAO,MAAM,OAAO,CAAA;IACtB,CAAC;IAED,SAAS,CAAC,GAAa;QACrB,IAAI,GAAG,CAAC,MAAM;YAAE,OAAO,KAAK,CAAA;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG;YAAE,OAAO,IAAI,CAAA;QACzB,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACtC,CAAC;IAED,QAAQ,CAAC,GAAa,EAAE,QAAiB;QACvC,OAAO;YACL,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;YAChC,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,aAAa;YAC7B,QAAQ;YACR,eAAe,EAAE,KAAK;SACvB,CAAA;IACH,CAAC;IAED,SAAS,CAAC,GAAa,EAAE,QAAiB;QACxC,OAAO;YACL,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;YACjC,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,aAAa;YAC7B,QAAQ;YACR,eAAe,EAAE,KAAK;SACvB,CAAA;IACH,CAAC;IAED,gFAAgF;IAEhF,MAAM,CAAC,IAAmB,EAAE,GAAe,EAAE,MAA+B;QAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;IACpF,CAAC;IAED,WAAW,CAAC,IAAmB,EAAE,GAAe,EAAE,OAAe,EAAE,IAAI,GAAG,gBAAgB;QACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;IACtG,CAAC;IAED,KAAK,CAAC,IAAmB,EAAE,MAAc,EAAE,MAA+B,EAAE,SAAkB;QAC5F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;IACjE,CAAC;IAED,IAAI,CAAC,GAAoB,EAAE,SAAS,GAAG,cAAc;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAA;QACrB,IAAI,CAAC,GAAG;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAA;QAC9E,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAA;QACzB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAW,CAAA;QACrE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC3B,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,GAAG,CAAC,EAAE,qBAAqB,SAAS,IAAI,CAAC,CAAC,CAAA;QAC/E,CAAC,EAAE,SAAS,CAAC,CAAA;QACb,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;QACpD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,GAAG,EAA8B,CAAC,CAAC,CAAA;QAC9E,OAAO,OAAO,CAAA;IAChB,CAAC;CACF"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Readiness probe for the relay's CDP-discovery endpoint — the fork's answer
3
+ * to oh-my-pi's `probe.ts` (b4c96b126e: diagnosed stale relay after omp
4
+ * upgrades). A cold extension service worker dials the relay seconds after it
5
+ * starts, so the first `connectOverCDP` against a fresh relay fails on a 503
6
+ * unless the caller waits for the `/json/version` transition to 200 first.
7
+ *
8
+ * Deliberately forgiving: expiry never throws (the subsequent
9
+ * `connectOverCDP` surfaces its own, more precise error), and a marker
10
+ * mismatch never fails the wait — a relay from another build that still
11
+ * serves the discovery endpoint stays usable (0f0910f42b: capability match
12
+ * beats version match).
13
+ * @module @hy-sde-org/dsh-browser/relay/probe
14
+ */
15
+ /** Total time budget for the readiness wait (a cold SW dial lands within 1-10s; keep the wait bounded below CDP timeouts). */
16
+ export declare const RELAY_READY_BUDGET_MS = 3000;
17
+ /** Poll cadence between probes. */
18
+ export declare const RELAY_READY_POLL_MS = 100;
19
+ export interface WaitForRelayReadyOptions {
20
+ /** Total budget; expiry resolves without error. Default {@link RELAY_READY_BUDGET_MS}. */
21
+ budgetMs?: number;
22
+ /** Poll cadence. Default {@link RELAY_READY_POLL_MS}. */
23
+ pollMs?: number;
24
+ /** Abort signal; an aborted wait resolves immediately. */
25
+ signal?: AbortSignal;
26
+ }
27
+ /**
28
+ * Poll `/json/version` until the relay answers 200 with a JSON body (the
29
+ * extension dialed) or the budget expires. Resolves in every case — the
30
+ * result only shapes how long the caller waits, never whether it proceeds.
31
+ * @param baseUrl - relay base URL (trailing slashes tolerated).
32
+ * @param opts - budget, poll cadence, abort signal.
33
+ */
34
+ export declare function waitForRelayReady(baseUrl: string, opts?: WaitForRelayReadyOptions): Promise<void>;
35
+ //# sourceMappingURL=probe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"probe.d.ts","sourceRoot":"","sources":["../../src/relay/probe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,8HAA8H;AAC9H,eAAO,MAAM,qBAAqB,OAAQ,CAAA;AAC1C,mCAAmC;AACnC,eAAO,MAAM,mBAAmB,MAAM,CAAA;AAItC,MAAM,WAAW,wBAAwB;IACvC,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,0DAA0D;IAC1D,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,wBAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,CAW3G"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Readiness probe for the relay's CDP-discovery endpoint — the fork's answer
3
+ * to oh-my-pi's `probe.ts` (b4c96b126e: diagnosed stale relay after omp
4
+ * upgrades). A cold extension service worker dials the relay seconds after it
5
+ * starts, so the first `connectOverCDP` against a fresh relay fails on a 503
6
+ * unless the caller waits for the `/json/version` transition to 200 first.
7
+ *
8
+ * Deliberately forgiving: expiry never throws (the subsequent
9
+ * `connectOverCDP` surfaces its own, more precise error), and a marker
10
+ * mismatch never fails the wait — a relay from another build that still
11
+ * serves the discovery endpoint stays usable (0f0910f42b: capability match
12
+ * beats version match).
13
+ * @module @hy-sde-org/dsh-browser/relay/probe
14
+ */
15
+ /** Total time budget for the readiness wait (a cold SW dial lands within 1-10s; keep the wait bounded below CDP timeouts). */
16
+ export const RELAY_READY_BUDGET_MS = 3_000;
17
+ /** Poll cadence between probes. */
18
+ export const RELAY_READY_POLL_MS = 100;
19
+ /** Per-probe HTTP timeout, so one wedged endpoint cannot eat the whole budget. */
20
+ const PROBE_TIMEOUT_MS = 1_000;
21
+ /**
22
+ * Poll `/json/version` until the relay answers 200 with a JSON body (the
23
+ * extension dialed) or the budget expires. Resolves in every case — the
24
+ * result only shapes how long the caller waits, never whether it proceeds.
25
+ * @param baseUrl - relay base URL (trailing slashes tolerated).
26
+ * @param opts - budget, poll cadence, abort signal.
27
+ */
28
+ export async function waitForRelayReady(baseUrl, opts = {}) {
29
+ const budgetMs = opts.budgetMs ?? RELAY_READY_BUDGET_MS;
30
+ const pollMs = opts.pollMs ?? RELAY_READY_POLL_MS;
31
+ const deadline = Date.now() + budgetMs;
32
+ const base = baseUrl.replace(/\/+$/, '');
33
+ for (;;) {
34
+ if (opts.signal?.aborted)
35
+ return;
36
+ if (await relayReady(base))
37
+ return;
38
+ if (Date.now() >= deadline)
39
+ return;
40
+ await new Promise(resolve => setTimeout(resolve, pollMs));
41
+ }
42
+ }
43
+ /** One `/json/version` probe: true when the endpoint answered 200 with a parseable JSON body. */
44
+ async function relayReady(base) {
45
+ try {
46
+ const response = await fetch(`${base}/json/version`, { signal: AbortSignal.timeout(PROBE_TIMEOUT_MS) });
47
+ if (response.status !== 200)
48
+ return false;
49
+ const body = await response.json();
50
+ return typeof body === 'object' && body !== null;
51
+ }
52
+ catch {
53
+ return false;
54
+ }
55
+ }
56
+ //# sourceMappingURL=probe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"probe.js","sourceRoot":"","sources":["../../src/relay/probe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,8HAA8H;AAC9H,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAA;AAC1C,mCAAmC;AACnC,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAA;AACtC,kFAAkF;AAClF,MAAM,gBAAgB,GAAG,KAAK,CAAA;AAW9B;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAe,EAAE,OAAiC,EAAE;IAC1F,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,qBAAqB,CAAA;IACvD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,mBAAmB,CAAA;IACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAA;IACtC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACxC,SAAS,CAAC;QACR,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO;YAAE,OAAM;QAChC,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC;YAAE,OAAM;QAClC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ;YAAE,OAAM;QAClC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;IAC3D,CAAC;AACH,CAAC;AAED,iGAAiG;AACjG,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,eAAe,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA;QACvG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,KAAK,CAAA;QACzC,MAAM,IAAI,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAC3C,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAA;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
@@ -8,6 +8,21 @@
8
8
  * messages. The relay drives the extension with numbered RPCs; the extension
9
9
  * pushes tab lifecycle and `chrome.debugger` events as they happen.
10
10
  */
11
+ /**
12
+ * Relay build marker advertised on `/json/version` (both the 200 and the 503
13
+ * body). A stale relay from an older build answers without it, letting
14
+ * callers diagnose a wedged endpoint before blaming the extension. Purely
15
+ * diagnostic: a marker mismatch never fails a connection (capability match
16
+ * beats version match — oh-my-pi 0f0910f42b).
17
+ */
18
+ export declare const DSH_RELAY_PROTOCOL = 1;
19
+ /**
20
+ * Capability version of the discarded-tab protocol the extension reports in
21
+ * its hello. The relay degrades safely when the field is absent
22
+ * (`discarded` reads as false), so a lagging sideloaded extension keeps
23
+ * working against a newer relay.
24
+ */
25
+ export declare const DISCARDED_TABS_PROTOCOL_VERSION = 1;
11
26
  /** Minimal view of a Chrome tab shared between extension and relay. */
12
27
  export interface TabSnapshot {
13
28
  tabId: number;
@@ -19,6 +34,12 @@ export interface TabSnapshot {
19
34
  pinned: boolean;
20
35
  /** Chrome tab group id; -1 when ungrouped. */
21
36
  groupId: number;
37
+ /**
38
+ * Chrome discarded this tab (memory saver); it cannot answer debugger calls
39
+ * until reactivated. Optional so an extension predating the field degrades
40
+ * to `false`.
41
+ */
42
+ discarded?: boolean;
22
43
  }
23
44
  /** RPCs the relay may ask the extension to perform. */
24
45
  export type RelayRpcRequest = {
@@ -70,6 +91,8 @@ export type ExtToRelayMessage = {
70
91
  tabs: TabSnapshot[];
71
92
  /** Tabs that already have a `chrome.debugger` attachment (relay reconciles after a service-worker restart). */
72
93
  attachedTabIds: number[];
94
+ /** Discarded-tab capability marker; absent on extensions predating it. */
95
+ discardedTabsProtocol?: number;
73
96
  } | {
74
97
  t: 'cdpEvent';
75
98
  tabId: number;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/relay/protocol.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;GAMG;AAEH,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;CAChB;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,GACnG;IAAE,EAAE,EAAE,WAAW,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,EAAE,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,EAAE,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AACtC,oGAAoG;GAClG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AACjE,+FAA+F;GAC7F;IAAE,EAAE,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAEvC,uCAAuC;AACvC,MAAM,MAAM,iBAAiB,GAAG,CAAC;IAAE,CAAC,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,eAAe,CAAC,GAAG;IAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAE5F,uCAAuC;AACvC,MAAM,MAAM,iBAAiB,GACzB;IACA,CAAC,EAAE,OAAO,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,WAAW,EAAE,CAAA;IACnB,+GAA+G;IAC/G,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB,GACC;IAAE,CAAC,EAAE,UAAU,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,GACtG;IAAE,CAAC,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,CAAC,EAAE,YAAY,CAAC;IAAC,GAAG,EAAE,WAAW,CAAA;CAAE,GACrC;IAAE,CAAC,EAAE,YAAY,CAAC;IAAC,GAAG,EAAE,WAAW,CAAA;CAAE,GACrC;IAAE,CAAC,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,CAAC,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7E;IAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/relay/protocol.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,19 @@
8
8
  * messages. The relay drives the extension with numbered RPCs; the extension
9
9
  * pushes tab lifecycle and `chrome.debugger` events as they happen.
10
10
  */
11
- export {};
11
+ /**
12
+ * Relay build marker advertised on `/json/version` (both the 200 and the 503
13
+ * body). A stale relay from an older build answers without it, letting
14
+ * callers diagnose a wedged endpoint before blaming the extension. Purely
15
+ * diagnostic: a marker mismatch never fails a connection (capability match
16
+ * beats version match — oh-my-pi 0f0910f42b).
17
+ */
18
+ export const DSH_RELAY_PROTOCOL = 1;
19
+ /**
20
+ * Capability version of the discarded-tab protocol the extension reports in
21
+ * its hello. The relay degrades safely when the field is absent
22
+ * (`discarded` reads as false), so a lagging sideloaded extension keeps
23
+ * working against a newer relay.
24
+ */
25
+ export const DISCARDED_TABS_PROTOCOL_VERSION = 1;
12
26
  //# sourceMappingURL=protocol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/relay/protocol.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;GAMG"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/relay/protocol.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;GAMG;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAA;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAA"}
@@ -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;AAE3D,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,CAmHrF;AAED,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AACvG,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA"}
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,CAwHrF;AAED,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AACvG,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA"}
@@ -22,6 +22,7 @@ import * as http from 'node:http';
22
22
  import { readFile } from 'node:fs/promises';
23
23
  import { WebSocketServer, WebSocket } from 'ws';
24
24
  import { RelayBridge } from "./bridge.js";
25
+ import { DSH_RELAY_PROTOCOL } from "./protocol.js";
25
26
  const WS_KEEPALIVE_MS = 30_000;
26
27
  /** Screenshots travel base64-encoded through both websocket legs. */
27
28
  const MAX_PAYLOAD_BYTES = 256 * 1024 * 1024;
@@ -71,7 +72,12 @@ export async function startRelayServer(opts) {
71
72
  }
72
73
  if (path === '/json/version') {
73
74
  if (!bridge.ready) {
74
- res.writeHead(503, { 'content-type': 'application/json' }).end(JSON.stringify({ error: 'relay extension is not connected' }));
75
+ // The marker travels on the 503 too: a probe can tell a live relay
76
+ // with an unconnected extension from a stale relay of another build.
77
+ res.writeHead(503, { 'content-type': 'application/json' }).end(JSON.stringify({
78
+ error: 'relay extension is not connected',
79
+ dshRelayProtocol: String(DSH_RELAY_PROTOCOL),
80
+ }));
75
81
  return;
76
82
  }
77
83
  res.writeHead(200, { 'content-type': 'application/json' }).end(JSON.stringify(bridge.versionInfo(`ws://127.0.0.1:${opts.port}/cdp`)));
@@ -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/dist/service.d.ts CHANGED
@@ -186,6 +186,18 @@ export declare class BrowserService extends Service {
186
186
  /** Number of open browser connections (tests / diagnostics). */
187
187
  get browserCount(): number;
188
188
  }
189
+ /**
190
+ * Whether a closed browser's registry record may be dropped: only when its
191
+ * pid is provably gone. A close that failed while the process lives keeps the
192
+ * record — the durable entry is the only handle a later boot's
193
+ * {@link reapOrphanBrowsers} has on the orphan (oh-my-pi f2e742011d:
194
+ * forget only on a confirmed stop).
195
+ * @param pid - the recorded browser pid, or undefined for browsers this host
196
+ * never spawned (attach/relay) and never records.
197
+ * @param isAlive - pid liveness probe; injectable for tests.
198
+ * @returns true when the record can be forgotten.
199
+ */
200
+ export declare function mayForgetClosedBrowser(pid: number | undefined, isAlive?: (pid: number) => boolean): boolean;
189
201
  export { captureAriaSnapshot, resolveAriaRefElement } from './aria.ts';
190
202
  export { startRelayServer, type RelayServer } from './relay/server.ts';
191
203
  export { resolveRelayKind, DEFAULT_RELAY_URL } from './relay/kind.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
package/dist/service.js CHANGED
@@ -20,12 +20,13 @@
20
20
  */
21
21
  import { Service } from '@deepseek-ai/cordis';
22
22
  import { chromium } from 'playwright-core';
23
- import { forgetOwnedBrowser, reapOrphanBrowsers, recordOwnedBrowser } from "./orphan-registry.js";
23
+ import { forgetOwnedBrowser, isPidAlive, reapOrphanBrowsers, recordOwnedBrowser } from "./orphan-registry.js";
24
24
  import { captureAriaSnapshot, resolveAriaRefElement } from "./aria.js";
25
25
  import { DEFAULT_VIEWPORT, STEALTH_LAUNCH_ARGS, applyUserAgentOverride, preparePage, resolveUserAgentOverride, stealthIgnoreDefaultArgs, } from "./stealth.js";
26
26
  import { startRelayServer } from "./relay/server.js";
27
27
  import { resolveRelayKind } from "./relay/kind.js";
28
- import { launchCloakBrowser } from "./cloak.js";
28
+ import { waitForRelayReady } from "./relay/probe.js";
29
+ import { launchCloakBrowser, cloakBrowserPid } from "./cloak.js";
29
30
  /** Scratch cwd key for the scrape browser: one per kind, never touched by tool tabs. */
30
31
  export const WEB_SCRAPE_CWD = '__dsh_web_search__';
31
32
  /** Map omp/puppeteer-style wait conditions onto Playwright's dialect. */
@@ -109,19 +110,34 @@ export class BrowserService extends Service {
109
110
  // (attach/relay browsers belong to other owners and must never be
110
111
  // touched by our reap sweep).
111
112
  const launchedPid = server.process().pid;
112
- if (typeof launchedPid === 'number' && Number.isInteger(launchedPid)) {
113
- void recordOwnedBrowser(launchedPid).catch(() => { });
113
+ const pid = typeof launchedPid === 'number' && Number.isInteger(launchedPid) ? launchedPid : undefined;
114
+ if (pid !== undefined) {
115
+ void recordOwnedBrowser(pid).catch(() => { });
114
116
  }
115
- return { kind, server, browser, headless: this.headless, cwd };
117
+ return { kind, server, browser, headless: this.headless, cwd, ...(pid !== undefined ? { pid } : {}) };
116
118
  }
117
119
  if (kind.kind === 'patch') {
118
120
  // CloakBrowser randomizes fingerprints per session at the C++ layer; the
119
121
  // JS-level stealth scripts and UA override are deliberately NOT applied
120
122
  // on this backend (they would fight the per-session randomization).
121
123
  const browser = await launchCloakBrowser({ headless: this.headless, ...this.patchOptions });
122
- return { kind, browser: browser, headless: this.headless, cwd };
124
+ // The patch backend spawns its own Chromium with no launchServer handle;
125
+ // record its pid like a launch's so a crashed host's patch browser is
126
+ // reapable too (no-op when the peer exposes no process accessor).
127
+ const pid = cloakBrowserPid(browser);
128
+ if (pid !== undefined) {
129
+ void recordOwnedBrowser(pid).catch(() => { });
130
+ }
131
+ return { kind, browser: browser, headless: this.headless, cwd, ...(pid !== undefined ? { pid } : {}) };
123
132
  }
124
133
  // attach + relay both speak Chrome CDP discovery; the relay impersonates it.
134
+ if (kind.kind === 'relay') {
135
+ // A cold extension service worker dials seconds after the relay starts:
136
+ // give it the readiness budget so the first connect does not race the
137
+ // dial (oh-my-pi b4c96b126e). Expiry never throws — connectOverCDP then
138
+ // surfaces its own error.
139
+ await waitForRelayReady(kind.cdpUrl);
140
+ }
125
141
  const browser = await chromium.connectOverCDP(kind.cdpUrl);
126
142
  return { kind, browser, headless: false, cwd };
127
143
  }
@@ -315,8 +331,7 @@ export class BrowserService extends Service {
315
331
  this.tabs.delete(tabName);
316
332
  }
317
333
  if (opts.kill && entry) {
318
- await this.#closeBrowser(entry);
319
- this.#releaseBrowser(entry);
334
+ await this.#closeAndRelease(entry);
320
335
  this.browsers.delete(this.browserKeyFor(opts.kind, opts.cwd));
321
336
  }
322
337
  return;
@@ -327,8 +342,7 @@ export class BrowserService extends Service {
327
342
  void tab.page.close().catch(() => { });
328
343
  this.tabs.delete(name);
329
344
  if (opts.kill && entry) {
330
- void this.#closeBrowser(entry);
331
- this.#releaseBrowser(entry);
345
+ void this.#closeAndRelease(entry);
332
346
  this.browsers.delete(this.browserKeyFor(opts.kind, opts.cwd));
333
347
  }
334
348
  }
@@ -345,11 +359,22 @@ export class BrowserService extends Service {
345
359
  }
346
360
  /** Drop a closed browser from the orphan registry (we closed it ourselves, so it is not an orphan). */
347
361
  #releaseBrowser(entry) {
348
- const launchedPid = entry.server?.process().pid;
349
- if (typeof launchedPid === 'number' && Number.isInteger(launchedPid)) {
350
- void forgetOwnedBrowser(launchedPid).catch(() => { });
362
+ if (entry.pid !== undefined) {
363
+ void forgetOwnedBrowser(entry.pid).catch(() => { });
351
364
  }
352
365
  }
366
+ /**
367
+ * Close a browser, then forget its registry record only once the close is
368
+ * confirmed — the pid is provably gone. A close that failed while the
369
+ * process still lives keeps the record: it is the only handle a later
370
+ * boot's reap has on the orphan (oh-my-pi f2e742011d/e5d1fac2a3: forget
371
+ * only on a confirmed stop, never on a requested one).
372
+ */
373
+ async #closeAndRelease(entry) {
374
+ await this.#closeBrowser(entry);
375
+ if (mayForgetClosedBrowser(entry.pid))
376
+ this.#releaseBrowser(entry);
377
+ }
353
378
  /**
354
379
  * Screenshot the named tab to a PNG file; returns the written path.
355
380
  * @param name - tab id.
@@ -388,10 +413,9 @@ export class BrowserService extends Service {
388
413
  /** Close every browser connection and stop the relay (cleanup on ctx dispose). */
389
414
  stop() {
390
415
  for (const entry of this.browsers.values()) {
391
- // release from the orphan registry first: a graceful ctx dispose means
392
- // WE are closing these, so no later host should treat them as orphans.
393
- this.#releaseBrowser(entry);
394
- void this.#closeBrowser(entry);
416
+ // We own these closes, so their records would be forgotten — but only
417
+ // once each close confirms; a failed close must stay reapable.
418
+ void this.#closeAndRelease(entry);
395
419
  }
396
420
  this.browsers.clear();
397
421
  this.tabs.clear();
@@ -403,6 +427,22 @@ export class BrowserService extends Service {
403
427
  return this.browsers.size;
404
428
  }
405
429
  }
430
+ /**
431
+ * Whether a closed browser's registry record may be dropped: only when its
432
+ * pid is provably gone. A close that failed while the process lives keeps the
433
+ * record — the durable entry is the only handle a later boot's
434
+ * {@link reapOrphanBrowsers} has on the orphan (oh-my-pi f2e742011d:
435
+ * forget only on a confirmed stop).
436
+ * @param pid - the recorded browser pid, or undefined for browsers this host
437
+ * never spawned (attach/relay) and never records.
438
+ * @param isAlive - pid liveness probe; injectable for tests.
439
+ * @returns true when the record can be forgotten.
440
+ */
441
+ export function mayForgetClosedBrowser(pid, isAlive = isPidAlive) {
442
+ if (pid === undefined)
443
+ return true;
444
+ return !isAlive(pid);
445
+ }
406
446
  export { captureAriaSnapshot, resolveAriaRefElement } from "./aria.js";
407
447
  export { startRelayServer } from "./relay/server.js";
408
448
  export { resolveRelayKind, DEFAULT_RELAY_URL } from "./relay/kind.js";
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hy-sde-org/dsh-browser",
3
- "version": "0.1.7-rc.2",
3
+ "version": "0.2.0-rc.2.1",
4
4
  "description": "Agentic browser plumbing for DeepSeek Harness: the host ctx.browser service (launch with stealth, CDP-attach, and a local relay + companion Chrome extension driving the user's own tabs) backing the browser tool in @hy-sde-org/dsh-tool-browser — a standalone plugin with no upstream harness changes required.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -54,8 +54,8 @@
54
54
  },
55
55
  "repository": {
56
56
  "type": "git",
57
- "url": "git+https://github.com/hy-sde/dsh-plugins.git",
58
- "directory": "dsh-browser/packages/browser/browser"
57
+ "url": "git+https://github.com/hy-sde/dsh-browser.git",
58
+ "directory": "packages/browser/browser"
59
59
  },
60
60
  "license": "MIT",
61
61
  "dsh": {
@@ -70,12 +70,12 @@
70
70
  },
71
71
  "peerDependencies": {
72
72
  "@deepseek-ai/cordis": "~4.0.4",
73
- "@deepseek-ai/dsh-invariants": "^0.1.7-rc.2",
73
+ "@deepseek-ai/dsh-invariants": "^0.2.0-rc.2",
74
74
  "cloakbrowser": ">=0.5.0"
75
75
  },
76
76
  "devDependencies": {
77
77
  "@deepseek-ai/cordis": "~4.0.4",
78
- "@deepseek-ai/dsh-invariants": "^0.1.7-rc.2",
78
+ "@deepseek-ai/dsh-invariants": "^0.2.0-rc.2",
79
79
  "@types/node": "^24.0.0",
80
80
  "@types/ws": "^8.5.0",
81
81
  "playwright-core": "^1.61.1",
@@ -97,6 +97,10 @@
97
97
  "optional": true
98
98
  }
99
99
  },
100
+ "homepage": "https://github.com/hy-sde/dsh-browser#readme",
101
+ "bugs": {
102
+ "url": "https://github.com/hy-sde/dsh-browser/issues"
103
+ },
100
104
  "scripts": {
101
105
  "clean": "rm -rf dist",
102
106
  "build": "tsc -p tsconfig.build.json && cp -r src/assets dist/assets",