@monotykamary/localterm-server 2.77.3 → 2.79.0

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.
Files changed (38) hide show
  1. package/dist/cdp/cdp-client.d.ts +17 -4
  2. package/dist/cdp/cdp-client.d.ts.map +1 -1
  3. package/dist/cdp/cdp-client.js +57 -5
  4. package/dist/cdp/cdp-client.js.map +1 -1
  5. package/dist/cdp/cdp-connection.d.ts +3 -0
  6. package/dist/cdp/cdp-connection.d.ts.map +1 -1
  7. package/dist/cdp/cdp-connection.js +52 -7
  8. package/dist/cdp/cdp-connection.js.map +1 -1
  9. package/dist/cdp/cdp-socket.d.ts +27 -0
  10. package/dist/cdp/cdp-socket.d.ts.map +1 -0
  11. package/dist/cdp/cdp-socket.js +45 -0
  12. package/dist/cdp/cdp-socket.js.map +1 -0
  13. package/dist/cdp/extension-hub.d.ts +7 -0
  14. package/dist/cdp/extension-hub.d.ts.map +1 -0
  15. package/dist/cdp/extension-hub.js +59 -0
  16. package/dist/cdp/extension-hub.js.map +1 -0
  17. package/dist/constants.d.ts +4 -1
  18. package/dist/constants.d.ts.map +1 -1
  19. package/dist/constants.js +5 -1
  20. package/dist/constants.js.map +1 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +58 -5
  23. package/dist/index.js.map +1 -1
  24. package/dist/schemas.d.ts +12 -0
  25. package/dist/schemas.d.ts.map +1 -1
  26. package/dist/schemas.js +3 -0
  27. package/dist/schemas.js.map +1 -1
  28. package/dist/security.d.ts.map +1 -1
  29. package/dist/security.js +17 -3
  30. package/dist/security.js.map +1 -1
  31. package/dist/utils/is-loopback-remote-address.d.ts +3 -0
  32. package/dist/utils/is-loopback-remote-address.d.ts.map +1 -0
  33. package/dist/utils/is-loopback-remote-address.js +6 -0
  34. package/dist/utils/is-loopback-remote-address.js.map +1 -0
  35. package/extension/manifest.json +14 -0
  36. package/extension/sw.js +931 -0
  37. package/package.json +12 -11
  38. package/LICENSE +0 -21
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * Persistent Chrome DevTools Protocol client for opening background tabs.
3
3
  *
4
- * One WebSocket to a debug-enabled Chromium browser, established once and kept
5
- * open for the daemon's lifetime, so the user only clears the browser's
6
- * remote-debugging prompt a single time (at `start`) instead of on every run.
4
+ * One wire to Chromium, established once and kept open for the daemon's
5
+ * lifetime. Prefers the unpacked Chrome extension relay, then falls back to
6
+ * remote-debugging so the user only clears that prompt a single time (at
7
+ * `start`) instead of on every run.
7
8
  *
8
9
  * `Target.createTarget({ background: true })` creates the tab *behind* the
9
10
  * active one — a true background tab that never steals focus. The `background`
@@ -14,7 +15,9 @@
14
15
  * reconnects on the next open; when no browser is reachable, `openBackgroundTab`
15
16
  * resolves null so the caller can fall back to the OS opener.
16
17
  */
18
+ import type { CdpSocket } from "./cdp-socket.js";
17
19
  import { type DetectedBrowser } from "./detect-chromium.js";
20
+ export type CdpTransport = "extension" | "cdp";
18
21
  export interface CdpClientOptions {
19
22
  /** Override browser detection (tests). Defaults to detectChromiumBrowsers. */
20
23
  detect?: () => Promise<DetectedBrowser[]>;
@@ -53,24 +56,34 @@ export interface CdpClientOptions {
53
56
  * later is fine.
54
57
  */
55
58
  tabUrlFilter?: (candidateUrl: string) => boolean;
59
+ /** How long auto-connect waits for the extension before falling back
60
+ * to remote debugging. Default CDP_EXTENSION_WAIT_MS. */
61
+ extensionWaitMs?: number;
56
62
  }
57
63
  export declare class CdpClient {
58
64
  private connecting;
59
65
  private readonly detect;
66
+ private readonly extensionWaitMs;
60
67
  private readonly connection;
61
68
  private readonly targetRegistry;
62
69
  /** Serializes closeTab() so concurrent closes don't orphan tabs. */
63
70
  private closeQueue;
64
- /** The browser the live socket is attached to, for diagnostics. */
71
+ /** The browser the live remote-debugging socket is attached to. */
65
72
  connectedBrowser: DetectedBrowser | undefined;
73
+ private transportName;
66
74
  constructor(options?: CdpClientOptions);
67
75
  isConnected(): boolean;
76
+ getTransport(): CdpTransport | undefined;
77
+ /** Plug an inbound extension socket. Favors the extension even if a
78
+ * remote-debugging WS is already open (pending calls reject and reconnect). */
79
+ adoptExtension(socket: CdpSocket): void;
68
80
  /**
69
81
  * Ensure a live socket, detecting and attaching to the most-recently-launched
70
82
  * debug-enabled browser. Concurrent callers ride the same in-flight attempt.
71
83
  * Throws when no browser is reachable.
72
84
  */
73
85
  connect(): Promise<void>;
86
+ private bindExtension;
74
87
  private establish;
75
88
  /**
76
89
  * Resolve the CDP targetId an ambient token was injected for, so the WS
@@ -1 +1 @@
1
- {"version":3,"file":"cdp-client.d.ts","sourceRoot":"","sources":["../../src/cdp/cdp-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cdp-client.d.ts","sourceRoot":"","sources":["../../src/cdp/cdp-client.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * Persistent Chrome DevTools Protocol client for opening background tabs.
3
3
  *
4
- * One WebSocket to a debug-enabled Chromium browser, established once and kept
5
- * open for the daemon's lifetime, so the user only clears the browser's
6
- * remote-debugging prompt a single time (at `start`) instead of on every run.
4
+ * One wire to Chromium, established once and kept open for the daemon's
5
+ * lifetime. Prefers the unpacked Chrome extension relay, then falls back to
6
+ * remote-debugging so the user only clears that prompt a single time (at
7
+ * `start`) instead of on every run.
7
8
  *
8
9
  * `Target.createTarget({ background: true })` creates the tab *behind* the
9
10
  * active one — a true background tab that never steals focus. The `background`
@@ -14,21 +15,26 @@
14
15
  * reconnects on the next open; when no browser is reachable, `openBackgroundTab`
15
16
  * resolves null so the caller can fall back to the OS opener.
16
17
  */
18
+ import { CDP_EXTENSION_WAIT_MS } from "../constants.js";
17
19
  import { CdpConnection, CdpReplyError } from "./cdp-connection.js";
18
20
  import { CDP_CLOSE_SETTLE_MS } from "./constants.js";
19
21
  import { detectChromiumBrowsers } from "./detect-chromium.js";
22
+ import { waitForExtension } from "./extension-hub.js";
20
23
  import { TargetRegistry } from "./target-registry.js";
21
24
  export class CdpClient {
22
25
  connecting;
23
26
  detect;
27
+ extensionWaitMs;
24
28
  connection;
25
29
  targetRegistry;
26
30
  /** Serializes closeTab() so concurrent closes don't orphan tabs. */
27
31
  closeQueue = Promise.resolve();
28
- /** The browser the live socket is attached to, for diagnostics. */
32
+ /** The browser the live remote-debugging socket is attached to. */
29
33
  connectedBrowser;
34
+ transportName;
30
35
  constructor(options = {}) {
31
36
  this.detect = options.detect ?? detectChromiumBrowsers;
37
+ this.extensionWaitMs = options.extensionWaitMs ?? CDP_EXTENSION_WAIT_MS;
32
38
  this.connection = new CdpConnection({
33
39
  connectTimeoutMs: options.connectTimeoutMs,
34
40
  callTimeoutMs: options.callTimeoutMs,
@@ -41,6 +47,7 @@ export class CdpClient {
41
47
  platform: options.platform,
42
48
  onDisconnect: () => {
43
49
  this.connectedBrowser = undefined;
50
+ this.transportName = undefined;
44
51
  this.targetRegistry.clear();
45
52
  },
46
53
  });
@@ -52,6 +59,20 @@ export class CdpClient {
52
59
  isConnected() {
53
60
  return this.connection.isConnected();
54
61
  }
62
+ getTransport() {
63
+ return this.isConnected() ? this.transportName : undefined;
64
+ }
65
+ /** Plug an inbound extension socket. Favors the extension even if a
66
+ * remote-debugging WS is already open (pending calls reject and reconnect). */
67
+ adoptExtension(socket) {
68
+ this.targetRegistry.clear();
69
+ this.connection.attach(socket);
70
+ this.connectedBrowser = undefined;
71
+ this.transportName = "extension";
72
+ void this.targetRegistry.observeTargets().catch(() => {
73
+ /* discovery is best-effort */
74
+ });
75
+ }
55
76
  /**
56
77
  * Ensure a live socket, detecting and attaching to the most-recently-launched
57
78
  * debug-enabled browser. Concurrent callers ride the same in-flight attempt.
@@ -67,16 +88,44 @@ export class CdpClient {
67
88
  }
68
89
  return this.connecting;
69
90
  }
91
+ bindExtension() {
92
+ this.connectedBrowser = undefined;
93
+ this.transportName = "extension";
94
+ void this.targetRegistry.observeTargets().catch(() => {
95
+ /* discovery is best-effort; tabs fall back to window.close() */
96
+ });
97
+ }
70
98
  async establish() {
99
+ if (this.connection.takeExtensionIfPresent()) {
100
+ this.bindExtension();
101
+ return;
102
+ }
103
+ try {
104
+ const socket = await waitForExtension(this.extensionWaitMs);
105
+ this.connection.attach(socket);
106
+ this.bindExtension();
107
+ return;
108
+ }
109
+ catch {
110
+ if (this.connection.takeExtensionIfPresent()) {
111
+ this.bindExtension();
112
+ return;
113
+ }
114
+ }
71
115
  const browsers = await this.detect();
72
116
  if (browsers.length === 0) {
73
- throw new Error("no debug-enabled Chromium browser detected");
117
+ throw new Error("no debug-enabled Chromium browser detected. Load the localterm Chrome extension or enable remote debugging");
74
118
  }
75
119
  const errors = [];
76
120
  for (const browser of browsers) {
121
+ if (this.connection.takeExtensionIfPresent()) {
122
+ this.bindExtension();
123
+ return;
124
+ }
77
125
  try {
78
126
  await this.connection.open(browser.wsUrl, browser.name);
79
127
  this.connectedBrowser = browser;
128
+ this.transportName = "cdp";
80
129
  // Kick off ambient tab observation on the live socket. Fire-and-get:
81
130
  // discovery fails soft (closeTab falls back to window.close()), and the
82
131
  // connect() promise should resolve as soon as the socket is usable,
@@ -87,6 +136,8 @@ export class CdpClient {
87
136
  return;
88
137
  }
89
138
  catch (error) {
139
+ if (this.isConnected() && this.transportName === "extension")
140
+ return;
90
141
  errors.push(`${browser.name}: ${error instanceof Error ? error.message : String(error)}`);
91
142
  }
92
143
  }
@@ -419,6 +470,7 @@ export class CdpClient {
419
470
  close() {
420
471
  this.connection.close();
421
472
  this.connectedBrowser = undefined;
473
+ this.transportName = undefined;
422
474
  this.targetRegistry.clear();
423
475
  }
424
476
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cdp-client.js","sourceRoot":"","sources":["../../src/cdp/cdp-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cdp-client.js","sourceRoot":"","sources":["../../src/cdp/cdp-client.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { CdpSocket } from "./cdp-socket.js";
1
2
  interface CdpConnectionOptions {
2
3
  connectTimeoutMs?: number;
3
4
  callTimeoutMs?: number;
@@ -40,6 +41,8 @@ export declare class CdpConnection {
40
41
  constructor(options?: CdpConnectionOptions);
41
42
  isConnected(): boolean;
42
43
  open(wsUrl: string, browserName?: string): Promise<void>;
44
+ takeExtensionIfPresent(): boolean;
45
+ attach(socket: CdpSocket): void;
43
46
  /** Reject in-flight calls, drop the socket, and clear ambient state. */
44
47
  private failPending;
45
48
  private onMessage;
@@ -1 +1 @@
1
- {"version":3,"file":"cdp-connection.d.ts","sourceRoot":"","sources":["../../src/cdp/cdp-connection.ts"],"names":[],"mappings":"AAuBA,UAAU,oBAAoB;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED;;;;;4EAK4E;AAC5E,qBAAa,aAAc,SAAQ,KAAK;CAAG;AAE3C,qBAAa,aAAa;IACxB,OAAO,CAAC,EAAE,CAAwB;IAClC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAa;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAa;IAC1C,gEAAgE;IAChE,OAAO,CAAC,WAAW,CAAK;IACxB,8EAA8E;IAC9E,OAAO,CAAC,cAAc,CAA6B;IAKnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgD;IAE9E,YAAY,OAAO,GAAE,oBAAyB,EAW7C;IAED,WAAW,IAAI,OAAO,CAErB;IAED,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DvD;IAED,wEAAwE;IACxE,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,SAAS;IAmCjB,8EAA8E;IAC9E,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAE/E;IAED,IAAI,CACF,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CA4BlB;IAED;;;;;;;;;;;;gEAY4D;IAC5D,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,aAAa;IAwBrB;;+EAE2E;IAC3E,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAS9B;IAED,KAAK,IAAI,IAAI,CASZ;CACF"}
1
+ {"version":3,"file":"cdp-connection.d.ts","sourceRoot":"","sources":["../../src/cdp/cdp-connection.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAkBjD,UAAU,oBAAoB;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED;;;;;4EAK4E;AAC5E,qBAAa,aAAc,SAAQ,KAAK;CAAG;AAmB3C,qBAAa,aAAa;IACxB,OAAO,CAAC,EAAE,CAAwB;IAClC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAa;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAa;IAC1C,gEAAgE;IAChE,OAAO,CAAC,WAAW,CAAK;IACxB,8EAA8E;IAC9E,OAAO,CAAC,cAAc,CAA6B;IAKnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgD;IAE9E,YAAY,OAAO,GAAE,oBAAyB,EAW7C;IAED,WAAW,IAAI,OAAO,CAErB;IAED,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwDvD;IAED,sBAAsB,IAAI,OAAO,CAKhC;IAED,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsB9B;IAED,wEAAwE;IACxE,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,SAAS;IAmCjB,8EAA8E;IAC9E,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAE/E;IAED,IAAI,CACF,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CA4BlB;IAED;;;;;;;;;;;;gEAY4D;IAC5D,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,aAAa;IAwBrB;;+EAE2E;IAC3E,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAS9B;IAED,KAAK,IAAI,IAAI,CASZ;CACF"}
@@ -1,6 +1,7 @@
1
1
  import { dismissDiaAllowPrompt } from "../utils/dismiss-dia-allow-prompt.js";
2
2
  import { CDP_AUTO_ALLOW_DELAY_MS, CDP_HEARTBEAT_GRACE_MS, CDP_HEARTBEAT_INTERVAL_MS, CDP_HEARTBEAT_TIMEOUT_MS, } from "../constants.js";
3
3
  import { CDP_WEBSOCKET_CONNECTING_STATE, CDP_WEBSOCKET_OPEN_STATE, DEFAULT_CDP_CALL_TIMEOUT_MS, DEFAULT_CDP_CONNECT_TIMEOUT_MS, } from "./constants.js";
4
+ import { getExtensionClient } from "./extension-hub.js";
4
5
  // Cheap browser-level CDP round-trip used as a transport liveness probe by the
5
6
  // keepalive: no session, no side effects, minimal reply.
6
7
  const CDP_HEARTBEAT_PROBE_METHOD = "Target.getTargets";
@@ -12,6 +13,22 @@ const CDP_HEARTBEAT_PROBE_METHOD = "Target.getTargets";
12
13
  * the browser's remote-debugging consent dialog on every automation run. */
13
14
  export class CdpReplyError extends Error {
14
15
  }
16
+ const wrapBrowserSocket = (ws) => ({
17
+ get readyState() {
18
+ return ws.readyState;
19
+ },
20
+ send(data) {
21
+ ws.send(data);
22
+ },
23
+ close() {
24
+ ws.close();
25
+ },
26
+ addEventListener(type, listener) {
27
+ ws.addEventListener(type, (event) => {
28
+ listener({ data: type === "message" ? event.data : undefined });
29
+ });
30
+ },
31
+ });
15
32
  export class CdpConnection {
16
33
  ws;
17
34
  nextId = 1;
@@ -90,16 +107,12 @@ export class CdpConnection {
90
107
  settled = true;
91
108
  clearTimeout(timer);
92
109
  clearAllow();
93
- this.ws = ws;
94
- this.startHeartbeat();
110
+ this.attach(wrapBrowserSocket(ws));
95
111
  resolve();
96
112
  });
97
- ws.addEventListener("message", (event) => this.onMessage(String(event.data)));
98
113
  ws.addEventListener("error", () => {
99
- if (settled) {
100
- this.failPending(ws, new Error("CDP websocket error"));
114
+ if (settled)
101
115
  return;
102
- }
103
116
  settled = true;
104
117
  clearTimeout(timer);
105
118
  clearAllow();
@@ -108,7 +121,6 @@ export class CdpConnection {
108
121
  ws.addEventListener("close", () => {
109
122
  clearTimeout(timer);
110
123
  clearAllow();
111
- this.failPending(ws, new Error("CDP websocket closed"));
112
124
  if (!settled) {
113
125
  settled = true;
114
126
  reject(new Error("websocket closed before open"));
@@ -116,6 +128,39 @@ export class CdpConnection {
116
128
  });
117
129
  });
118
130
  }
131
+ takeExtensionIfPresent() {
132
+ const ext = getExtensionClient();
133
+ if (!ext)
134
+ return false;
135
+ this.attach(ext);
136
+ return true;
137
+ }
138
+ attach(socket) {
139
+ if (this.ws === socket)
140
+ return;
141
+ const prev = this.ws;
142
+ this.ws = socket;
143
+ socket.addEventListener("message", (event) => {
144
+ if (this.ws !== socket)
145
+ return;
146
+ this.onMessage(String(event.data ?? ""));
147
+ });
148
+ socket.addEventListener("close", () => {
149
+ this.failPending(socket, new Error("CDP websocket closed"));
150
+ });
151
+ socket.addEventListener("error", () => {
152
+ this.failPending(socket, new Error("CDP websocket error"));
153
+ });
154
+ this.startHeartbeat();
155
+ if (prev) {
156
+ try {
157
+ prev.close();
158
+ }
159
+ catch {
160
+ /* ignore */
161
+ }
162
+ }
163
+ }
119
164
  /** Reject in-flight calls, drop the socket, and clear ambient state. */
120
165
  failPending(ws, error) {
121
166
  if (this.ws !== ws)
@@ -1 +1 @@
1
- {"version":3,"file":"cdp-connection.js","sourceRoot":"","sources":["../../src/cdp/cdp-connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cdp-connection.js","sourceRoot":"","sources":["../../src/cdp/cdp-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACxB,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,+EAA+E;AAC/E,yDAAyD;AACzD,MAAM,0BAA0B,GAAG,mBAAmB,CAAC;AAoBvD;;;;;4EAK4E;AAC5E,MAAM,OAAO,aAAc,SAAQ,KAAK;CAAG;AAE3C,MAAM,iBAAiB,GAAG,CAAC,EAAa,EAAa,EAAE,CAAC,CAAC;IACvD,IAAI,UAAU;QACZ,OAAO,EAAE,CAAC,UAAU,CAAC;IACvB,CAAC;IACD,IAAI,CAAC,IAAY;QACf,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IACD,KAAK;QACH,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;IACD,gBAAgB,CAAC,IAAI,EAAE,QAAQ;QAC7B,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,KAAY,EAAE,EAAE;YACzC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAE,KAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,OAAO,aAAa;IAChB,EAAE,CAAwB;IAC1B,MAAM,GAAG,CAAC,CAAC;IACF,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;IACrC,gBAAgB,CAAS;IACzB,aAAa,CAAS;IACtB,mBAAmB,CAAS;IAC5B,kBAAkB,CAAS;IAC3B,gBAAgB,CAAS;IACzB,SAAS,CAAU;IACnB,gBAAgB,CAAS;IACzB,qBAAqB,CAAa;IAClC,QAAQ,CAAkB;IAC1B,YAAY,CAAa;IAC1C,gEAAgE;IACxD,WAAW,GAAG,CAAC,CAAC;IACxB,8EAA8E;IACtE,cAAc,CAA6B;IACnD,yEAAyE;IACzE,yEAAyE;IACzE,2DAA2D;IAC3D,8EAA8E;IAC7D,aAAa,GAAG,IAAI,GAAG,EAAqC,CAAC;IAE9E,YAAY,OAAO,GAAyB,EAAE;QAC5C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,8BAA8B,CAAC;QACnF,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,2BAA2B,CAAC;QAC1E,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,yBAAyB,CAAC;QACpF,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,wBAAwB,CAAC;QACjF,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,sBAAsB,CAAC;QAC3E,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,uBAAuB,CAAC;QAC5E,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,IAAI,qBAAqB,CAAC;QACpF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;QACrD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,EAAE,EAAE,UAAU,KAAK,wBAAwB,CAAC;IAC1D,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,WAAoB;QACtC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,wEAAwE;YACxE,mEAAmE;YACnE,wEAAwE;YACxE,4EAA4E;YAC5E,2EAA2E;YAC3E,wEAAwE;YACxE,MAAM,UAAU,GACd,IAAI,CAAC,SAAS,IAAI,WAAW,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ;gBACnE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,OAAO,IAAI,EAAE,CAAC,UAAU,KAAK,8BAA8B;wBAAE,OAAO;oBACxE,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC/B,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC;gBAC3B,CAAC,CAAC,SAAS,CAAC;YAChB,MAAM,UAAU,GAAG,GAAS,EAAE;gBAC5B,IAAI,UAAU;oBAAE,YAAY,CAAC,UAAU,CAAC,CAAC;YAC3C,CAAC,CAAC;YACF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,UAAU,EAAE,CAAC;gBACb,IAAI,CAAC;oBACH,EAAE,CAAC,KAAK,EAAE,CAAC;gBACb,CAAC;gBAAC,MAAM,CAAC;oBACP,YAAY;gBACd,CAAC;gBACD,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC;YAClE,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAE1B,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;gBAC/B,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,UAAU,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnC,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;gBAChC,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,UAAU,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;gBAChC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,UAAU,EAAE,CAAC;gBACb,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,GAAG,IAAI,CAAC;oBACf,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB;QACpB,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;QACjC,IAAI,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,MAAiB;QACtB,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM;YAAE,OAAO;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC;QACjB,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YAC3C,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM;gBAAE,OAAO;YAC/B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACpC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACpC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC;gBACH,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,wEAAwE;IAChE,WAAW,CAAC,EAAa,EAAE,KAAY;QAC7C,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE;YAAE,OAAO;QAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;QACpB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,SAAS,CAAC,GAAW;QAC3B,IAAI,OAOH,CAAC;QACF,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,uEAAuE;QACvE,yEAAyE;QACzE,+DAA+D;QAC/D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YACnC,oDAAoD;YACpD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,OAAO,CAAC,KAAK;gBACf,OAAO,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,cAAc,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC;;gBACnF,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QACD,wEAAwE;QACxE,gDAAgD;QAChD,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACvF,IAAI,OAAO;YAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,8EAA8E;IAC9E,EAAE,CAAC,MAAc,EAAE,OAAkC,EAAE,SAAkB;QACvE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,SAAS,IAAI,EAAE,IAAI,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,CACF,MAAc,EACd,MAA+B,EAC/B,SAAkB,EAClB,SAAkB;QAElB,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,KAAK,wBAAwB,EAAE,CAAC;YACtD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC;QACjD,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxB,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,QAAQ,IAAI,CAAC,CAAC,CAAC;YAC9D,CAAC,EAAE,QAAQ,CAAC,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE;gBACnB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACjB,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC;gBACD,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;oBAChB,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;aACF,CAAC,CAAC;YACH,wEAAwE;YACxE,wEAAwE;YACxE,EAAE,CAAC,IAAI,CACL,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CACvF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;gEAY4D;IACpD,cAAc;QACpB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACxF,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC;IAChC,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAClC,CAAC;IACH,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO;QAChC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB;YAAE,OAAO;QACpE,yEAAyE;QACzE,6EAA6E;QAC7E,sEAAsE;QACtE,wEAAwE;QACxE,2EAA2E;QAC3E,mCAAmC;QACnC,KAAK,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC;aAC7E,IAAI,CAAC,GAAG,EAAE;YACT,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAChC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACxB,qEAAqE;YACrE,iEAAiE;YACjE,yEAAyE;YACzE,oEAAoE;YACpE,gEAAgE;YAChE,IAAI,KAAK,YAAY,aAAa;gBAAE,OAAO;YAC3C,IAAI,CAAC,SAAS,CAAC,6CAA6C,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;+EAE2E;IAC3E,SAAS,CAAC,MAAc;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK;QACH,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;QACD,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;QACpB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;CACF"}
@@ -0,0 +1,27 @@
1
+ export type CdpSocketEventType = "message" | "close" | "error" | "open";
2
+ interface CdpSocketEvent {
3
+ data?: unknown;
4
+ }
5
+ export type CdpSocketListener = (event: CdpSocketEvent) => void;
6
+ /** Send/close/listen surface shared by Chrome's debug WS and the inbound extension relay. */
7
+ export interface CdpSocket {
8
+ readonly readyState: number;
9
+ send: (data: string) => void;
10
+ close: () => void;
11
+ addEventListener: (type: CdpSocketEventType, listener: CdpSocketListener) => void;
12
+ }
13
+ export interface InboundCdpSocket extends CdpSocket {
14
+ ingest: (raw: string) => void;
15
+ ingestClose: () => void;
16
+ }
17
+ interface ClientSend {
18
+ readyState: number;
19
+ send: (raw: string) => void;
20
+ close: () => void;
21
+ }
22
+ declare const CDP_SOCKET_OPEN = 1;
23
+ declare const CDP_SOCKET_CLOSED = 3;
24
+ /** Adapter for a Hono WSContext: the route feeds frames via ingest/ingestClose. */
25
+ export declare const createInboundCdpSocket: (client: ClientSend) => InboundCdpSocket;
26
+ export { CDP_SOCKET_CLOSED, CDP_SOCKET_OPEN };
27
+ //# sourceMappingURL=cdp-socket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cdp-socket.d.ts","sourceRoot":"","sources":["../../src/cdp/cdp-socket.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAExE,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;AAEhE,6FAA6F;AAC7F,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,gBAAgB,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACnF;AAED,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,UAAU,UAAU;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,QAAA,MAAM,eAAe,IAAI,CAAC;AAC1B,QAAA,MAAM,iBAAiB,IAAI,CAAC;AAE5B,mFAAmF;AACnF,eAAO,MAAM,sBAAsB,WAAY,UAAU,KAAG,gBAmC3D,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,45 @@
1
+ const CDP_SOCKET_OPEN = 1;
2
+ const CDP_SOCKET_CLOSED = 3;
3
+ /** Adapter for a Hono WSContext: the route feeds frames via ingest/ingestClose. */
4
+ export const createInboundCdpSocket = (client) => {
5
+ const listeners = {
6
+ message: [],
7
+ close: [],
8
+ error: [],
9
+ open: [],
10
+ };
11
+ let readyState = client.readyState === CDP_SOCKET_OPEN ? CDP_SOCKET_OPEN : client.readyState;
12
+ const emit = (type, event) => {
13
+ for (const listener of listeners[type])
14
+ listener(event);
15
+ };
16
+ return {
17
+ get readyState() {
18
+ return readyState;
19
+ },
20
+ send(data) {
21
+ if (readyState !== CDP_SOCKET_OPEN)
22
+ return;
23
+ client.send(data);
24
+ },
25
+ close() {
26
+ client.close();
27
+ },
28
+ addEventListener(type, listener) {
29
+ listeners[type].push(listener);
30
+ },
31
+ ingest(raw) {
32
+ if (readyState !== CDP_SOCKET_OPEN)
33
+ return;
34
+ emit("message", { data: raw });
35
+ },
36
+ ingestClose() {
37
+ if (readyState === CDP_SOCKET_CLOSED)
38
+ return;
39
+ readyState = CDP_SOCKET_CLOSED;
40
+ emit("close", {});
41
+ },
42
+ };
43
+ };
44
+ export { CDP_SOCKET_CLOSED, CDP_SOCKET_OPEN };
45
+ //# sourceMappingURL=cdp-socket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cdp-socket.js","sourceRoot":"","sources":["../../src/cdp/cdp-socket.ts"],"names":[],"mappings":"AA2BA,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,mFAAmF;AACnF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAAkB,EAAoB,EAAE;IAC7E,MAAM,SAAS,GAAoD;QACjE,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,EAAE;KACT,CAAC;IACF,IAAI,UAAU,GAAG,MAAM,CAAC,UAAU,KAAK,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;IAC7F,MAAM,IAAI,GAAG,CAAC,IAAwB,EAAE,KAAqB,EAAQ,EAAE;QACrE,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC;YAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC,CAAC;IACF,OAAO;QACL,IAAI,UAAU;YACZ,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,IAAY;YACf,IAAI,UAAU,KAAK,eAAe;gBAAE,OAAO;YAC3C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QACD,KAAK;YACH,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;QACD,gBAAgB,CAAC,IAAI,EAAE,QAAQ;YAC7B,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,CAAC,GAAW;YAChB,IAAI,UAAU,KAAK,eAAe;gBAAE,OAAO;YAC3C,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,WAAW;YACT,IAAI,UAAU,KAAK,iBAAiB;gBAAE,OAAO;YAC7C,UAAU,GAAG,iBAAiB,CAAC;YAC/B,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { type CdpSocket } from "./cdp-socket.js";
2
+ export declare const setExtensionClient: (socket: CdpSocket) => void;
3
+ export declare const getExtensionClient: () => CdpSocket | undefined;
4
+ export declare const extensionConnected: () => boolean;
5
+ export declare const waitForExtension: (timeoutMs: number) => Promise<CdpSocket>;
6
+ export declare const resetExtensionHub: () => void;
7
+ //# sourceMappingURL=extension-hub.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension-hub.d.ts","sourceRoot":"","sources":["../../src/cdp/extension-hub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAWlE,eAAO,MAAM,kBAAkB,WAAY,SAAS,KAAG,IAiBtD,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAO,SAAS,GAAG,SACoB,CAAC;AAEvE,eAAO,MAAM,kBAAkB,QAAO,OAA6C,CAAC;AAEpF,eAAO,MAAM,gBAAgB,cAAe,MAAM,KAAG,OAAO,CAAC,SAAS,CAgBrE,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAO,IAepC,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { CDP_SOCKET_OPEN } from "./cdp-socket.js";
2
+ let client;
3
+ let waiters = [];
4
+ export const setExtensionClient = (socket) => {
5
+ if (client && client !== socket) {
6
+ try {
7
+ client.close();
8
+ }
9
+ catch {
10
+ /* ignore */
11
+ }
12
+ }
13
+ client = socket;
14
+ const ready = waiters.splice(0);
15
+ for (const waiter of ready) {
16
+ clearTimeout(waiter.timer);
17
+ waiter.resolve(socket);
18
+ }
19
+ socket.addEventListener("close", () => {
20
+ if (client === socket)
21
+ client = undefined;
22
+ });
23
+ };
24
+ export const getExtensionClient = () => client && client.readyState === CDP_SOCKET_OPEN ? client : undefined;
25
+ export const extensionConnected = () => getExtensionClient() !== undefined;
26
+ export const waitForExtension = (timeoutMs) => {
27
+ const existing = getExtensionClient();
28
+ if (existing)
29
+ return Promise.resolve(existing);
30
+ return new Promise((resolve, reject) => {
31
+ const waiter = {
32
+ resolve,
33
+ reject,
34
+ timer: setTimeout(() => {
35
+ waiters = waiters.filter((entry) => entry !== waiter);
36
+ reject(new Error(`timed out after ${timeoutMs}ms waiting for the localterm Chrome extension`));
37
+ }, timeoutMs),
38
+ };
39
+ waiters.push(waiter);
40
+ });
41
+ };
42
+ export const resetExtensionHub = () => {
43
+ const prev = client;
44
+ client = undefined;
45
+ const ready = waiters.splice(0);
46
+ for (const waiter of ready) {
47
+ clearTimeout(waiter.timer);
48
+ waiter.reject(new Error("extension hub reset"));
49
+ }
50
+ if (prev) {
51
+ try {
52
+ prev.close();
53
+ }
54
+ catch {
55
+ /* ignore */
56
+ }
57
+ }
58
+ };
59
+ //# sourceMappingURL=extension-hub.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension-hub.js","sourceRoot":"","sources":["../../src/cdp/extension-hub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAkB,MAAM,iBAAiB,CAAC;AAQlE,IAAI,MAA6B,CAAC;AAClC,IAAI,OAAO,GAAa,EAAE,CAAC;AAE3B,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAiB,EAAQ,EAAE;IAC5D,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;IACD,MAAM,GAAG,MAAM,CAAC;IAChB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChC,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;QAC3B,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACpC,IAAI,MAAM,KAAK,MAAM;YAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAA0B,EAAE,CAC5D,MAAM,IAAI,MAAM,CAAC,UAAU,KAAK,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAEvE,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAY,EAAE,CAAC,kBAAkB,EAAE,KAAK,SAAS,CAAC;AAEpF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAiB,EAAsB,EAAE;IACxE,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,IAAI,QAAQ;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAW;YACrB,OAAO;YACP,MAAM;YACN,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE;gBACrB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;gBACtD,MAAM,CACJ,IAAI,KAAK,CAAC,mBAAmB,SAAS,+CAA+C,CAAC,CACvF,CAAC;YACJ,CAAC,EAAE,SAAS,CAAC;SACd,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAS,EAAE;IAC1C,MAAM,IAAI,GAAG,MAAM,CAAC;IACpB,MAAM,GAAG,SAAS,CAAC;IACnB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChC,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;QAC3B,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
@@ -63,7 +63,7 @@ export declare const MAX_THEME_SOURCE_LENGTH = 128;
63
63
  export declare const MAX_THEME_IMPORT_TEXT_LENGTH: number;
64
64
  export declare const MAX_FONT_ID_LENGTH = 64;
65
65
  export declare const MAX_CUSTOM_FONT_FAMILY_LENGTH = 128;
66
- export declare const MAX_PROCESS_REQUESTED_SECRETS = 32;
66
+ export declare const MAX_PROCESS_REQUESTED_SECRETS = 64;
67
67
  export declare const MAX_SECRET_VALUE_LENGTH = 8192;
68
68
  export declare const SECRET_EXPORT_VERSION = 1;
69
69
  export declare const MAX_SECRET_EXPORT_PASSPHRASE_LENGTH = 4096;
@@ -162,6 +162,9 @@ export declare const CDP_HEARTBEAT_INTERVAL_MS = 20000;
162
162
  export declare const CDP_HEARTBEAT_TIMEOUT_MS = 60000;
163
163
  export declare const CDP_HEARTBEAT_GRACE_MS = 15000;
164
164
  export declare const CDP_AUTO_ALLOW_DELAY_MS = 600;
165
+ export declare const CDP_EXTENSION_WAIT_MS = 500;
166
+ export declare const CDP_EXTENSION_PATH = "/extension";
167
+ export declare const CDP_EXTENSION_BROWSER_NAME = "Chrome extension";
165
168
  export declare const ALT_SCREEN_FOREGROUND = "(alt-screen)";
166
169
  export declare const SERVER_STOP_GRACE_MS = 1500;
167
170
  export declare const LOOPBACK_HOSTS: Set<string>;