athena-browser-mcp 2.0.2 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/README.md +152 -83
  2. package/dist/src/browser/page-registry.d.ts +11 -0
  3. package/dist/src/browser/page-registry.d.ts.map +1 -1
  4. package/dist/src/browser/page-registry.js +17 -0
  5. package/dist/src/browser/page-registry.js.map +1 -1
  6. package/dist/src/browser/session-manager.d.ts +23 -0
  7. package/dist/src/browser/session-manager.d.ts.map +1 -1
  8. package/dist/src/browser/session-manager.js +77 -0
  9. package/dist/src/browser/session-manager.js.map +1 -1
  10. package/dist/src/cdp/cdp-client.interface.d.ts +9 -0
  11. package/dist/src/cdp/cdp-client.interface.d.ts.map +1 -1
  12. package/dist/src/cdp/playwright-cdp-client.d.ts +14 -0
  13. package/dist/src/cdp/playwright-cdp-client.d.ts.map +1 -1
  14. package/dist/src/cdp/playwright-cdp-client.js +22 -0
  15. package/dist/src/cdp/playwright-cdp-client.js.map +1 -1
  16. package/dist/src/delta/dom-stabilizer.d.ts +46 -0
  17. package/dist/src/delta/dom-stabilizer.d.ts.map +1 -0
  18. package/dist/src/delta/dom-stabilizer.js +121 -0
  19. package/dist/src/delta/dom-stabilizer.js.map +1 -0
  20. package/dist/src/delta/index.d.ts +8 -0
  21. package/dist/src/delta/index.d.ts.map +1 -0
  22. package/dist/src/delta/index.js +7 -0
  23. package/dist/src/delta/index.js.map +1 -0
  24. package/dist/src/index.d.ts.map +1 -1
  25. package/dist/src/index.js +76 -75
  26. package/dist/src/index.js.map +1 -1
  27. package/dist/src/renderer/index.d.ts +1 -1
  28. package/dist/src/renderer/index.js +2 -2
  29. package/dist/src/renderer/index.js.map +1 -1
  30. package/dist/src/server/mcp-server.d.ts.map +1 -1
  31. package/dist/src/server/mcp-server.js +4 -1
  32. package/dist/src/server/mcp-server.js.map +1 -1
  33. package/dist/src/snapshot/extractors/ax-extractor.d.ts +6 -1
  34. package/dist/src/snapshot/extractors/ax-extractor.d.ts.map +1 -1
  35. package/dist/src/snapshot/extractors/ax-extractor.js +51 -13
  36. package/dist/src/snapshot/extractors/ax-extractor.js.map +1 -1
  37. package/dist/src/snapshot/extractors/layout-extractor.d.ts.map +1 -1
  38. package/dist/src/snapshot/extractors/layout-extractor.js +19 -6
  39. package/dist/src/snapshot/extractors/layout-extractor.js.map +1 -1
  40. package/dist/src/snapshot/extractors/types.d.ts +5 -0
  41. package/dist/src/snapshot/extractors/types.d.ts.map +1 -1
  42. package/dist/src/snapshot/extractors/types.js.map +1 -1
  43. package/dist/src/snapshot/snapshot-compiler.d.ts.map +1 -1
  44. package/dist/src/snapshot/snapshot-compiler.js +70 -19
  45. package/dist/src/snapshot/snapshot-compiler.js.map +1 -1
  46. package/dist/src/snapshot/snapshot-health.d.ts +97 -0
  47. package/dist/src/snapshot/snapshot-health.d.ts.map +1 -0
  48. package/dist/src/snapshot/snapshot-health.js +214 -0
  49. package/dist/src/snapshot/snapshot-health.js.map +1 -0
  50. package/dist/src/snapshot/snapshot.types.d.ts +8 -0
  51. package/dist/src/snapshot/snapshot.types.d.ts.map +1 -1
  52. package/dist/src/snapshot/snapshot.types.js.map +1 -1
  53. package/dist/src/state/actionables-filter.d.ts +47 -0
  54. package/dist/src/state/actionables-filter.d.ts.map +1 -0
  55. package/dist/src/state/actionables-filter.js +173 -0
  56. package/dist/src/state/actionables-filter.js.map +1 -0
  57. package/dist/src/state/atoms-extractor.d.ts +23 -0
  58. package/dist/src/state/atoms-extractor.d.ts.map +1 -0
  59. package/dist/src/state/atoms-extractor.js +160 -0
  60. package/dist/src/state/atoms-extractor.js.map +1 -0
  61. package/dist/src/state/constants.d.ts +125 -0
  62. package/dist/src/state/constants.d.ts.map +1 -0
  63. package/dist/src/state/constants.js +131 -0
  64. package/dist/src/state/constants.js.map +1 -0
  65. package/dist/src/state/diff-engine.d.ts +23 -0
  66. package/dist/src/state/diff-engine.d.ts.map +1 -0
  67. package/dist/src/state/diff-engine.js +347 -0
  68. package/dist/src/state/diff-engine.js.map +1 -0
  69. package/dist/src/state/element-identity.d.ts +93 -0
  70. package/dist/src/state/element-identity.d.ts.map +1 -0
  71. package/dist/src/state/element-identity.js +194 -0
  72. package/dist/src/state/element-identity.js.map +1 -0
  73. package/dist/src/state/element-ref.types.d.ts +135 -0
  74. package/dist/src/state/element-ref.types.d.ts.map +1 -0
  75. package/dist/src/state/element-ref.types.js +13 -0
  76. package/dist/src/state/element-ref.types.js.map +1 -0
  77. package/dist/src/state/element-registry.d.ts +118 -0
  78. package/dist/src/state/element-registry.d.ts.map +1 -0
  79. package/dist/src/state/element-registry.js +222 -0
  80. package/dist/src/state/element-registry.js.map +1 -0
  81. package/dist/src/state/health.types.d.ts +93 -0
  82. package/dist/src/state/health.types.d.ts.map +1 -0
  83. package/dist/src/state/health.types.js +56 -0
  84. package/dist/src/state/health.types.js.map +1 -0
  85. package/dist/src/state/layer-detector.d.ts +23 -0
  86. package/dist/src/state/layer-detector.d.ts.map +1 -0
  87. package/dist/src/state/layer-detector.js +368 -0
  88. package/dist/src/state/layer-detector.js.map +1 -0
  89. package/dist/src/state/locator-generator.d.ts +21 -0
  90. package/dist/src/state/locator-generator.d.ts.map +1 -0
  91. package/dist/src/state/locator-generator.js +137 -0
  92. package/dist/src/state/locator-generator.js.map +1 -0
  93. package/dist/src/state/state-manager.d.ts +99 -0
  94. package/dist/src/state/state-manager.d.ts.map +1 -0
  95. package/dist/src/state/state-manager.js +602 -0
  96. package/dist/src/state/state-manager.js.map +1 -0
  97. package/dist/src/state/state-renderer.d.ts +18 -0
  98. package/dist/src/state/state-renderer.d.ts.map +1 -0
  99. package/dist/src/state/state-renderer.js +164 -0
  100. package/dist/src/state/state-renderer.js.map +1 -0
  101. package/dist/src/state/types.d.ts +322 -0
  102. package/dist/src/state/types.d.ts.map +1 -0
  103. package/dist/src/state/types.js +8 -0
  104. package/dist/src/state/types.js.map +1 -0
  105. package/dist/src/tools/browser-tools.d.ts +59 -79
  106. package/dist/src/tools/browser-tools.d.ts.map +1 -1
  107. package/dist/src/tools/browser-tools.js +469 -725
  108. package/dist/src/tools/browser-tools.js.map +1 -1
  109. package/dist/src/tools/errors.d.ts +63 -0
  110. package/dist/src/tools/errors.d.ts.map +1 -0
  111. package/dist/src/tools/errors.js +86 -0
  112. package/dist/src/tools/errors.js.map +1 -0
  113. package/dist/src/tools/execute-action.d.ts +119 -0
  114. package/dist/src/tools/execute-action.d.ts.map +1 -0
  115. package/dist/src/tools/execute-action.js +411 -0
  116. package/dist/src/tools/execute-action.js.map +1 -0
  117. package/dist/src/tools/index.d.ts +3 -4
  118. package/dist/src/tools/index.d.ts.map +1 -1
  119. package/dist/src/tools/index.js +32 -39
  120. package/dist/src/tools/index.js.map +1 -1
  121. package/dist/src/tools/response-builder.d.ts +80 -0
  122. package/dist/src/tools/response-builder.d.ts.map +1 -0
  123. package/dist/src/tools/response-builder.js +234 -0
  124. package/dist/src/tools/response-builder.js.map +1 -0
  125. package/dist/src/tools/tool-schemas.d.ts +2030 -10413
  126. package/dist/src/tools/tool-schemas.d.ts.map +1 -1
  127. package/dist/src/tools/tool-schemas.js +436 -717
  128. package/dist/src/tools/tool-schemas.js.map +1 -1
  129. package/dist/vitest.config.d.ts.map +1 -1
  130. package/dist/vitest.config.js +1 -0
  131. package/dist/vitest.config.js.map +1 -1
  132. package/package.json +10 -10
package/README.md CHANGED
@@ -4,13 +4,14 @@
4
4
  [![npm version](https://badge.fury.io/js/athena-browser-mcp.svg)](https://www.npmjs.com/package/athena-browser-mcp)
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
6
 
7
- Minimal MCP server for AI browser automation - 11 simple tools.
7
+ MCP server for AI browser automation - 18 tools with semantic element targeting.
8
8
 
9
9
  ## Design Philosophy
10
10
 
11
- 1. **Page state in system prompt** - Agent always knows current page state without querying
12
- 2. **Lightweight delta responses** - Tools return what changed, not full snapshots
13
- 3. **Simple verb-based naming** - `click`, `type`, `press` instead of `action_click`, `action_type`
11
+ 1. **Semantic element IDs** - Stable `eid` references survive DOM mutations
12
+ 2. **XML state responses** - Structured page state with layers, actionables, and diffs
13
+ 3. **Multi-frame support** - Extract content from iframes (cookie consent, widgets)
14
+ 4. **Automatic retry** - Stale element recovery with fresh snapshot
14
15
 
15
16
  ## Architecture
16
17
 
@@ -18,15 +19,17 @@ Minimal MCP server for AI browser automation - 11 simple tools.
18
19
  ┌─────────────────────────────────────────────────────────────────┐
19
20
  │ AI Agent │
20
21
  │ ┌────────────────────────────────────────────────────────────┐ │
21
- │ │ System Prompt: Current page state (URL, forms, actions) │ │
22
+ │ │ System Prompt: XML state (layers, actionables, atoms) │ │
22
23
  │ └────────────────────────────────────────────────────────────┘ │
23
24
  └───────────────────────────┬─────────────────────────────────────┘
24
25
  │ MCP Protocol (stdio)
25
26
  ┌───────────────────────────▼─────────────────────────────────────┐
26
- │ SESSION: open, close
27
- NAVIGATION: goto
28
- OBSERVATION: snapshot, find
29
- INTERACTION: click, type, press, select, hover, scroll
27
+ │ SESSION: launch_browser, connect_browser, close_page,
28
+ close_session
29
+ NAVIGATION: navigate, go_back, go_forward, reload
30
+ OBSERVATION: capture_snapshot, find_elements, get_node_details
31
+ │ INTERACTION: click, type, press, select, hover, │
32
+ │ scroll_element_into_view, scroll_page │
30
33
  └───────────────────────────┬─────────────────────────────────────┘
31
34
  │ Playwright + CDP
32
35
  ┌───────────────────────────▼─────────────────────────────────────┐
@@ -38,111 +41,129 @@ Minimal MCP server for AI browser automation - 11 simple tools.
38
41
 
39
42
  ### Session
40
43
 
41
- | Tool | Purpose | Input |
42
- | ------- | --------------------- | ---------------------------- |
43
- | `open` | Start browser session | `{ headless?, connect_to? }` |
44
- | `close` | End browser session | `{ page_id? }` |
44
+ | Tool | Purpose | Input |
45
+ | ----------------- | ------------------------- | ------------------- |
46
+ | `launch_browser` | Launch new browser | `{ headless? }` |
47
+ | `connect_browser` | Connect to existing (CDP) | `{ endpoint_url? }` |
48
+ | `close_page` | Close specific page | `{ page_id }` |
49
+ | `close_session` | Close entire browser | `{}` |
45
50
 
46
51
  ### Navigation
47
52
 
48
- | Tool | Purpose | Input |
49
- | ------ | ----------------------- | ------------------------------------------------------------ |
50
- | `goto` | Navigate to URL | `{ url: "https://..." }` |
51
- | | Go back/forward/refresh | `{ back: true }` / `{ forward: true }` / `{ refresh: true }` |
53
+ | Tool | Purpose | Input |
54
+ | ------------ | --------------- | ------------------- |
55
+ | `navigate` | Go to URL | `{ url, page_id? }` |
56
+ | `go_back` | Browser back | `{ page_id? }` |
57
+ | `go_forward` | Browser forward | `{ page_id? }` |
58
+ | `reload` | Refresh page | `{ page_id? }` |
52
59
 
53
60
  ### Observation
54
61
 
55
- | Tool | Purpose | Input |
56
- | ---------- | ----------------------------- | --------------------------------------- |
57
- | `snapshot` | Capture fresh page state | `{ include_factpack?, include_nodes? }` |
58
- | `find` | Find elements by criteria | `{ kind?, label?, region? }` |
59
- | | Get details for specific node | `{ node_id }` |
62
+ | Tool | Purpose | Input |
63
+ | ------------------ | ------------------- | ----------------------------------------------------------------- |
64
+ | `capture_snapshot` | Capture page state | `{ page_id? }` |
65
+ | `find_elements` | Find by criteria | `{ kind?, label?, region?, limit?, include_readable?, page_id? }` |
66
+ | `get_node_details` | Get element details | `{ eid, page_id? }` |
60
67
 
61
68
  ### Interaction
62
69
 
63
- | Tool | Purpose | Input |
64
- | -------- | ---------------------- | ------------------------------------------ |
65
- | `click` | Click element | `{ node_id }` |
66
- | `type` | Type text into element | `{ text, node_id?, clear? }` |
67
- | `press` | Press keyboard key | `{ key }` (Enter, Tab, Escape, etc.) |
68
- | `select` | Choose dropdown option | `{ node_id, value }` |
69
- | `hover` | Hover over element | `{ node_id }` (reveal menus/tooltips) |
70
- | `scroll` | Scroll page or element | `{ node_id? }` or `{ direction, amount? }` |
70
+ | Tool | Purpose | Input |
71
+ | -------------------------- | ------------------ | ---------------------------------- |
72
+ | `click` | Click element | `{ eid, page_id? }` |
73
+ | `type` | Type text | `{ eid, text, clear?, page_id? }` |
74
+ | `press` | Press keyboard key | `{ key, modifiers?, page_id? }` |
75
+ | `select` | Select option | `{ eid, value, page_id? }` |
76
+ | `hover` | Hover element | `{ eid, page_id? }` |
77
+ | `scroll_element_into_view` | Scroll to element | `{ eid, page_id? }` |
78
+ | `scroll_page` | Scroll viewport | `{ direction, amount?, page_id? }` |
71
79
 
72
- ## Response Format
80
+ ## Element IDs (eid)
73
81
 
74
- Tools return lightweight deltas describing what changed:
82
+ Elements are identified by stable semantic IDs (`eid`) instead of transient DOM node IDs:
75
83
 
76
- ```json
77
- {
78
- "delta": {
79
- "action": "Clicked 'Sign In' button",
80
- "changes": [
81
- { "type": "navigation", "from": "/login", "to": "/dashboard" }
82
- ]
83
- },
84
- "page_state": { ... }
85
- }
84
+ ```xml
85
+ <match eid="a1b2c3d4e5f6" kind="button" label="Sign In" region="header" />
86
+ ```
87
+
88
+ EIDs are computed from:
89
+
90
+ - Role/kind (button, link, input)
91
+ - Accessible name (label text)
92
+ - Landmark path (region + group hierarchy)
93
+ - Position hint (screen zone, quadrant)
94
+
95
+ This means the same logical element keeps its `eid` across page updates.
96
+
97
+ ## Response Format
98
+
99
+ Tools return XML state responses with page understanding:
100
+
101
+ ```xml
102
+ <state page_id="abc123" url="https://example.com" title="Example">
103
+ <layer type="main" active="true">
104
+ <actionables count="12">
105
+ <el eid="a1b2c3" kind="button" label="Sign In" />
106
+ <el eid="d4e5f6" kind="link" label="Forgot password?" />
107
+ <el eid="g7h8i9" kind="input" label="Email" type="email" />
108
+ </actionables>
109
+ </layer>
110
+ <atoms>
111
+ <viewport w="1280" h="720" />
112
+ <scroll x="0" y="0" />
113
+ </atoms>
114
+ </state>
86
115
  ```
87
116
 
88
- ### Change Types
117
+ ### Layer Types
89
118
 
90
- | Type | Description |
91
- | ---------------- | ------------------------- |
92
- | `focused` | Element received focus |
93
- | `filled` | Input field value changed |
94
- | `selected` | Dropdown option selected |
95
- | `clicked` | Element was clicked |
96
- | `navigation` | URL changed |
97
- | `page_changed` | Page type changed |
98
- | `modal_opened` | Modal dialog appeared |
99
- | `modal_closed` | Modal dialog dismissed |
100
- | `form_submitted` | Form was submitted |
119
+ | Layer | Description |
120
+ | --------- | -------------------------- |
121
+ | `main` | Primary page content |
122
+ | `modal` | Dialog overlays |
123
+ | `drawer` | Slide-in panels |
124
+ | `popover` | Dropdowns, tooltips, menus |
101
125
 
102
126
  ## Usage Examples
103
127
 
104
128
  ### Login Flow
105
129
 
106
130
  ```
107
- 1. open { }
108
- System prompt updated with initial page state
131
+ 1. launch_browser { }
132
+ XML state with initial page
109
133
 
110
- 2. goto { url: "https://example.com/login" }
111
- Page changed: login form detected
112
- → System prompt updated with form fields
134
+ 2. navigate { url: "https://example.com/login" }
135
+ State shows login form elements
113
136
 
114
- 3. find { kind: "input", label: "email" }
115
- { matches: [{ node_id: "42", label: "Email" }] }
137
+ 3. find_elements { kind: "input", label: "email" }
138
+ <match eid="abc123" kind="input" label="Email" />
116
139
 
117
- 4. click { node_id: "42" }
118
- Focused: Email field
140
+ 4. click { eid: "abc123" }
141
+ Element focused
119
142
 
120
- 5. type { text: "user@example.com" }
121
- Filled: Email = "user@example.com"
143
+ 5. type { eid: "abc123", text: "user@example.com" }
144
+ Value filled
122
145
 
123
146
  6. press { key: "Tab" }
124
- Focused: Password field
147
+ Focus moved to password field
125
148
 
126
- 7. type { text: "password123" }
127
- Filled: Password = "••••••••••••"
149
+ 7. type { eid: "def456", text: "password123" }
150
+ → Password filled
128
151
 
129
152
  8. press { key: "Enter" }
130
- → Form submitted
131
- → Navigation: /login → /dashboard
153
+ → Form submitted, navigation to dashboard
132
154
  ```
133
155
 
134
- ### E-commerce Purchase
156
+ ### Cookie Consent (Multi-Frame)
135
157
 
136
158
  ```
137
- 1. goto { url: "https://shop.example.com/product/123" }
138
- System prompt: product page, Add to Cart [node:101], Size [node:103]
159
+ 1. navigate { url: "https://news-site.com" }
160
+ Modal layer detected (cookie consent iframe)
139
161
 
140
- 2. select { node_id: "103", value: "Large" }
141
- Selected: Size = "Large"
162
+ 2. find_elements { label: "Accept", kind: "button" }
163
+ <match eid="xyz789" kind="button" label="Accept All" />
142
164
 
143
- 3. click { node_id: "101" }
144
- Clicked: Add to Cart
145
- → Modal opened: "Added to cart"
165
+ 3. click { eid: "xyz789" }
166
+ Modal closed, main layer active
146
167
  ```
147
168
 
148
169
  ## Installation
@@ -166,18 +187,66 @@ Add to your Claude Desktop config:
166
187
  {
167
188
  "mcpServers": {
168
189
  "browser": {
169
- "command": "node",
170
- "args": ["/path/to/athena-browser-mcp/dist/src/index.js"]
190
+ "command": "npx",
191
+ "args": ["athena-browser-mcp@latest"]
171
192
  }
172
193
  }
173
194
  }
174
195
  ```
175
196
 
197
+ ### Claude Code
198
+
199
+ ```bash
200
+ claude mcp add athena-browser-mcp npx athena-browser-mcp@latest
201
+ ```
202
+
203
+ ### VS Code
204
+
205
+ ```bash
206
+ code --add-mcp '{"name":"athena-browser-mcp","command":"npx","args":["athena-browser-mcp@latest"]}'
207
+ ```
208
+
209
+ ### Cursor
210
+
211
+ Go to **Cursor Settings → MCP → Add new MCP Server**. Use command type with:
212
+
213
+ ```
214
+ npx athena-browser-mcp@latest
215
+ ```
216
+
217
+ ### Codex
218
+
219
+ ```bash
220
+ codex mcp add athena-browser-mcp npx athena-browser-mcp@latest
221
+ ```
222
+
223
+ ### Gemini CLI
224
+
225
+ ```bash
226
+ gemini mcp add -s user athena-browser-mcp -- npx athena-browser-mcp@latest
227
+ ```
228
+
229
+ ### Connect to Existing Browser
230
+
231
+ To connect to an existing Chromium browser with CDP enabled:
232
+
233
+ ```bash
234
+ # Start Chrome with remote debugging
235
+ google-chrome --remote-debugging-port=9222
236
+
237
+ # Or use environment variables
238
+ export CEF_BRIDGE_HOST=127.0.0.1
239
+ export CEF_BRIDGE_PORT=9222
240
+ ```
241
+
242
+ Then use `connect_browser` instead of `launch_browser`.
243
+
176
244
  ### Environment Variables
177
245
 
178
- | Variable | Description | Default |
179
- | -------------------- | ------------------------- | ------- |
180
- | `DEFAULT_TIMEOUT_MS` | Default operation timeout | `30000` |
246
+ | Variable | Description | Default |
247
+ | ----------------- | -------------------- | ----------- |
248
+ | `CEF_BRIDGE_HOST` | CDP host for connect | `127.0.0.1` |
249
+ | `CEF_BRIDGE_PORT` | CDP port for connect | `9223` |
181
250
 
182
251
  ## Development
183
252
 
@@ -76,6 +76,17 @@ export declare class PageRegistry {
76
76
  * @returns true if page exists
77
77
  */
78
78
  has(page_id: string): boolean;
79
+ /**
80
+ * Replace a page handle in the registry.
81
+ *
82
+ * Used for CDP session rebinding - keeps the same page_id but
83
+ * updates the handle with a new CDP session.
84
+ *
85
+ * @param page_id - Page ID to replace
86
+ * @param handle - New handle to store
87
+ * @returns true if replaced, false if page_id not found
88
+ */
89
+ replace(page_id: string, handle: PageHandle): boolean;
79
90
  /**
80
91
  * Update metadata for a page
81
92
  *
@@ -1 +1 @@
1
- {"version":3,"file":"page-registry.d.ts","sourceRoot":"","sources":["../../../src/browser/page-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAGhE;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAEhB,+BAA+B;IAC/B,IAAI,EAAE,IAAI,CAAC;IAEX,+BAA+B;IAC/B,GAAG,EAAE,SAAS,CAAC;IAEf,mCAAmC;IACnC,UAAU,EAAE,IAAI,CAAC;IAEjB,iCAAiC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IACvD,wDAAwD;IACxD,OAAO,CAAC,SAAS,CAAuB;IAExC;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,GAAG,UAAU;IAsBhD;;;;;OAKG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAI5C;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAUhC;;;;OAIG;IACH,IAAI,IAAI,UAAU,EAAE;IAIpB;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;;;OAIG;IACH,IAAI,IAAI,MAAM;IAId;;;;;OAKG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAI7B;;;;;;OAMG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO;IAgB9F;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,GAAG,SAAS;IAI9C;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,EAAE;IAIpC;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAmBjC;;;;;OAKG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAQ/B;;;;;;OAMG;IACH,aAAa,IAAI,UAAU,GAAG,SAAS;CAOxC"}
1
+ {"version":3,"file":"page-registry.d.ts","sourceRoot":"","sources":["../../../src/browser/page-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAGhE;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAEhB,+BAA+B;IAC/B,IAAI,EAAE,IAAI,CAAC;IAEX,+BAA+B;IAC/B,GAAG,EAAE,SAAS,CAAC;IAEf,mCAAmC;IACnC,UAAU,EAAE,IAAI,CAAC;IAEjB,iCAAiC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IACvD,wDAAwD;IACxD,OAAO,CAAC,SAAS,CAAuB;IAExC;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,GAAG,UAAU;IAsBhD;;;;;OAKG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAI5C;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAUhC;;;;OAIG;IACH,IAAI,IAAI,UAAU,EAAE;IAIpB;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;;;OAIG;IACH,IAAI,IAAI,MAAM;IAId;;;;;OAKG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAI7B;;;;;;;;;OASG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO;IAQrD;;;;;;OAMG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO;IAgB9F;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,GAAG,SAAS;IAI9C;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,EAAE;IAIpC;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAmBjC;;;;;OAKG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAQ/B;;;;;;OAMG;IACH,aAAa,IAAI,UAAU,GAAG,SAAS;CAOxC"}
@@ -93,6 +93,23 @@ export class PageRegistry {
93
93
  has(page_id) {
94
94
  return this.pages.has(page_id);
95
95
  }
96
+ /**
97
+ * Replace a page handle in the registry.
98
+ *
99
+ * Used for CDP session rebinding - keeps the same page_id but
100
+ * updates the handle with a new CDP session.
101
+ *
102
+ * @param page_id - Page ID to replace
103
+ * @param handle - New handle to store
104
+ * @returns true if replaced, false if page_id not found
105
+ */
106
+ replace(page_id, handle) {
107
+ if (!this.pages.has(page_id)) {
108
+ return false;
109
+ }
110
+ this.pages.set(page_id, handle);
111
+ return true;
112
+ }
96
113
  /**
97
114
  * Update metadata for a page
98
115
  *
@@ -1 +1 @@
1
- {"version":3,"file":"page-registry.js","sourceRoot":"","sources":["../../../src/browser/page-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page-registry.js","sourceRoot":"","sources":["../../../src/browser/page-registry.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import { type BrowserContext } from 'playwright';
8
8
  import { type PageHandle } from './page-registry.js';
9
+ import type { ConnectionHealth } from '../state/health.types.js';
9
10
  /**
10
11
  * Connection state machine states
11
12
  */
@@ -212,6 +213,28 @@ export declare class SessionManager {
212
213
  * @returns true if browser is active
213
214
  */
214
215
  isRunning(): boolean;
216
+ /**
217
+ * Get connection health status.
218
+ *
219
+ * Goes beyond binary connected/not-connected to detect degraded CDP sessions:
220
+ * - 'healthy': Browser connected, all CDP sessions operational
221
+ * - 'degraded': Browser connected, but some CDP sessions dead (recoverable)
222
+ * - 'failed': Browser disconnected
223
+ *
224
+ * @returns Connection health status
225
+ */
226
+ getConnectionHealth(): Promise<ConnectionHealth>;
227
+ /**
228
+ * Rebind CDP session for a page.
229
+ *
230
+ * Use when CDP session is dead but page is still valid.
231
+ * This creates a new CDP session and updates the registry.
232
+ *
233
+ * @param page_id - Page ID to rebind
234
+ * @returns New PageHandle with fresh CDP session
235
+ * @throws Error if page not found, page is closed, or browser context unavailable
236
+ */
237
+ rebindCdpSession(page_id: string): Promise<PageHandle>;
215
238
  /**
216
239
  * Save the current storage state (cookies, localStorage).
217
240
  *
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../../src/browser/session-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../../src/browser/session-manager.ts"],"names":[],"mappings":"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"}
@@ -553,6 +553,83 @@ export class SessionManager {
553
553
  }
554
554
  return this.browser?.isConnected() ?? false;
555
555
  }
556
+ /**
557
+ * Get connection health status.
558
+ *
559
+ * Goes beyond binary connected/not-connected to detect degraded CDP sessions:
560
+ * - 'healthy': Browser connected, all CDP sessions operational
561
+ * - 'degraded': Browser connected, but some CDP sessions dead (recoverable)
562
+ * - 'failed': Browser disconnected
563
+ *
564
+ * @returns Connection health status
565
+ */
566
+ async getConnectionHealth() {
567
+ if (this._connectionState !== 'connected' || !this.context) {
568
+ return 'failed';
569
+ }
570
+ const pages = this.registry.list();
571
+ if (pages.length === 0) {
572
+ return 'healthy';
573
+ }
574
+ const results = await Promise.all(pages.map(async (page) => {
575
+ if (page.page.isClosed()) {
576
+ return false;
577
+ }
578
+ if (!page.cdp.isActive()) {
579
+ return false;
580
+ }
581
+ try {
582
+ await page.cdp.send('Page.getFrameTree', undefined);
583
+ return true;
584
+ }
585
+ catch (err) {
586
+ const message = err instanceof Error ? err.message : String(err);
587
+ this.logger.warning('CDP probe failed', { page_id: page.page_id, error: message });
588
+ return false;
589
+ }
590
+ }));
591
+ return results.every(Boolean) ? 'healthy' : 'degraded';
592
+ }
593
+ /**
594
+ * Rebind CDP session for a page.
595
+ *
596
+ * Use when CDP session is dead but page is still valid.
597
+ * This creates a new CDP session and updates the registry.
598
+ *
599
+ * @param page_id - Page ID to rebind
600
+ * @returns New PageHandle with fresh CDP session
601
+ * @throws Error if page not found, page is closed, or browser context unavailable
602
+ */
603
+ async rebindCdpSession(page_id) {
604
+ const handle = this.registry.get(page_id);
605
+ if (!handle) {
606
+ throw new Error(`Page not found: ${page_id}`);
607
+ }
608
+ if (handle.page.isClosed()) {
609
+ throw new Error(`Page is closed: ${page_id}`);
610
+ }
611
+ if (!this.context) {
612
+ throw new Error('Browser context not available');
613
+ }
614
+ // Close old CDP session (best effort)
615
+ try {
616
+ await handle.cdp.close();
617
+ }
618
+ catch {
619
+ // Ignore - may already be closed
620
+ }
621
+ // Create new CDP session
622
+ const cdpSession = await this.context.newCDPSession(handle.page);
623
+ const newCdp = new PlaywrightCdpClient(cdpSession);
624
+ // Update registry with new handle
625
+ const newHandle = {
626
+ ...handle,
627
+ cdp: newCdp,
628
+ };
629
+ this.registry.replace(page_id, newHandle);
630
+ this.logger.info('Rebound CDP session', { page_id });
631
+ return newHandle;
632
+ }
556
633
  /**
557
634
  * Save the current storage state (cookies, localStorage).
558
635
  *
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../../src/browser/session-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAqC,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAmB,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAgDhF,0CAA0C;AAC1C,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAC9B,uBAAuB;AACvB,MAAM,gBAAgB,GAAG,WAAW,CAAC;AACrC,uCAAuC;AACvC,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAmBzC;;;;;GAKG;AACH,SAAS,cAAc,CAAC,SAAiB;IACvC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/B,OAAO,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,cAAc;IACjB,OAAO,GAAmB,IAAI,CAAC;IAC/B,OAAO,GAA0B,IAAI,CAAC;IAC7B,QAAQ,CAAe;IACvB,MAAM,GAAG,SAAS,EAAE,CAAC;IAC9B,iBAAiB,GAAG,KAAK,CAAC;IAClC,yEAAyE;IACjE,mBAAmB,GAAG,KAAK,CAAC;IACpC,+BAA+B;IACvB,gBAAgB,GAAoB,MAAM,CAAC;IACnD,6BAA6B;IACZ,oBAAoB,GAAG,IAAI,GAAG,EAA+C,CAAC;IAC/F,uDAAuD;IAC/C,wBAAwB,GAAwB,IAAI,CAAC;IAE7D;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,QAAyB;QAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC5C,IAAI,aAAa,KAAK,QAAQ;YAAE,OAAO;QAEvC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEzF,mBAAmB;QACnB,MAAM,KAAK,GAA+B;YACxC,aAAa;YACb,YAAY,EAAE,QAAQ;YACtB,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QACF,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACjD,IAAI,CAAC;gBACH,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,6BAA6B,EAC7B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,QAAqD;QACjE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,UAAyB,EAAE;QACtC,IAAI,IAAI,CAAC,gBAAgB,KAAK,MAAM,IAAI,IAAI,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YAC3E,MAAM,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAChC,MAAM,EACJ,QAAQ,GAAG,IAAI,EACf,QAAQ,EACR,SAAS,EACT,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,WAAW,GACZ,GAAG,OAAO,CAAC;QAEZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;YACpC,QAAQ;YACR,QAAQ;YACR,MAAM;YACN,QAAQ;YACR,oBAAoB,EAAE,CAAC,CAAC,WAAW;SACpC,CAAC,CAAC;QAEH,IAAI,OAAO,GAAmB,IAAI,CAAC;QACnC,IAAI,OAAO,GAA0B,IAAI,CAAC;QAE1C,IAAI,CAAC;YACH,wEAAwE;YACxE,MAAM,cAAc,GAAyC,EAAE,CAAC;YAEhE,IAAI,QAAQ,EAAE,CAAC;gBACb,cAAc,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACrC,CAAC;YACD,IAAI,SAAS,EAAE,CAAC;gBACd,cAAc,CAAC,SAAS,GAAG,SAAS,CAAC;YACvC,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC;YACjC,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC;gBACb,cAAc,CAAC,UAAU,GAAG,QAAQ,CAAC;YACvC,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACjB,cAAc,CAAC,YAAY,GAAG,YAAY,CAAC;YAC7C,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBAChB,wDAAwD;gBACxD,wEAAwE;gBACxE,OAAO,GAAG,MAAM,QAAQ,CAAC,uBAAuB,CAAC,WAAW,EAAE;oBAC5D,QAAQ;oBACR,GAAG,cAAc;iBAClB,CAAC,CAAC;gBACH,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,6CAA6C;gBAClE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBAChC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,oDAAoD;gBACpD,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;oBAC9B,QAAQ;iBACT,CAAC,CAAC;gBAEH,IAAI,CAAC,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;gBACxD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBACvB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;gBACjC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YACjC,CAAC;YAED,4EAA4E;YAC5E,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,0EAA0E;YAC1E,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;oBAC/B,kDAAkD;gBACpD,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,OAAO,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACxC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;oBAC/B,kDAAkD;gBACpD,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC5B,MAAM,mBAAmB,CAAC,gBAAgB,CACxC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACzD,EAAE,SAAS,EAAE,QAAQ,EAAE,CACxB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,OAAO,CAAC,UAA0B,EAAE;QACxC,IAAI,IAAI,CAAC,gBAAgB,KAAK,MAAM,IAAI,IAAI,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YAC3E,MAAM,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,gBAAgB,CAAC;QAC7E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,gBAAgB,CAAC,CAAC;QACrF,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC;QACpE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC;QAE9D,wBAAwB;QACxB,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,MAAM,mBAAmB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QAE5E,IAAI,OAAO,GAAmB,IAAI,CAAC;QACnC,IAAI,SAAqC,CAAC;QAE1C,IAAI,CAAC;YACH,uBAAuB;YACvB,MAAM,iBAAiB,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YAC/D,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBACtD,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC1B,MAAM,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;gBACtE,CAAC,EAAE,OAAO,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC;YAElE,uDAAuD;YACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,kEAAkE;gBAClE,IAAI,CAAC,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAC5C,CAAC;YAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAE9B,4BAA4B;YAC5B,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAE7B,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;gBACpD,QAAQ,EAAE,QAAQ,CAAC,MAAM;gBACzB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,MAAM;aACnC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,0EAA0E;YAC1E,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;oBAC/B,kDAAkD;gBACpD,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE;gBACjF,WAAW;aACZ,CAAC,CAAC;YAEH,kDAAkD;YAClD,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,mBAAmB,CAAC,gBAAgB,CACxC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACzD,EAAE,WAAW,EAAE,CAChB,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,SAAS,EAAE,CAAC;gBACd,YAAY,CAAC,SAAS,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,iBAAiB,KAAK,CAAC,MAAM,SAAS,CAAC,CAAC;QACtF,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAE1B,iDAAiD;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,mCAAmC;QACnC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAEtD,gBAAgB;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAEvD,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE;YAC3C,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;SAChB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAEhF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,GAAY;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QAED,kBAAkB;QAClB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAE1C,mCAAmC;QACnC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAEtD,gBAAgB;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAEvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAE/D,2BAA2B;QAC3B,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE;gBAC3C,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;aAChB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,OAAe;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,OAAe;QACvB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;;;;OASG;IACH,WAAW,CAAC,OAAgB;QAC1B,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;IACvC,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,mBAAmB,CAAC,OAAgB;QACxC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC;YAChD,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,uDAAuD;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1E,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,OAAe;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,0BAA0B;YAC1B,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;gBAC7C,OAAO;gBACP,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC;YACH,iBAAiB;YACjB,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE;gBACtC,OAAO;gBACP,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAE9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,GAAW;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAE/D,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE;gBACpC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;aACvB,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE;gBACjF,OAAO;gBACP,GAAG;aACJ,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ;QACZ,yEAAyE;QACzE,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC,gBAAgB,KAAK,eAAe,EAAE,CAAC;YAC9F,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE;YAChD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;SAC9C,CAAC,CAAC;QAEH,mEAAmE;QACnE,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,gCAAgC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,oCAAoC;YACtC,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,sEAAsE;YACtE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;QAC3E,CAAC;aAAM,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACpC,wDAAwD;YACxD,4CAA4C;YAC5C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC7B,CAAC;gBAAC,MAAM,CAAC;oBACP,gCAAgC;gBAClC,CAAC;YACH,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,yCAAyC;YACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC1B,CAAC;gBAAC,MAAM,CAAC;oBACP,6BAA6B;gBAC/B,CAAC;YACH,CAAC;YAED,gBAAgB;YAChB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC7B,CAAC;gBAAC,MAAM,CAAC;oBACP,gCAAgC;gBAClC,CAAC;YACH,CAAC;YAED,gBAAgB;YAChB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC7B,CAAC;gBAAC,MAAM,CAAC;oBACP,gCAAgC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAEtB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,0DAA0D;QAC1D,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,WAAW,CAAC;QACxE,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,KAAK,CAAC;IAC9C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,gBAAgB,CAAC,IAAa;QAClC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACK,qBAAqB;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE1B,8BAA8B;QAC9B,IAAI,CAAC,wBAAwB,GAAG,GAAG,EAAE;YACnC,4EAA4E;YAC5E,IAAI,IAAI,CAAC,gBAAgB,KAAK,WAAW,EAAE,CAAC;gBAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;gBACzD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACtB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACjE,CAAC;IAED;;;OAGG;IACK,sBAAsB;QAC5B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAClD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAChE,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QACvC,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../../src/browser/session-manager.ts"],"names":[],"mappings":"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"}
@@ -59,6 +59,14 @@ export interface CdpMethodMap {
59
59
  params: undefined;
60
60
  result: Protocol.Page.GetLayoutMetricsResponse;
61
61
  };
62
+ 'Page.enable': {
63
+ params: undefined;
64
+ result: void;
65
+ };
66
+ 'Page.getFrameTree': {
67
+ params: undefined;
68
+ result: Protocol.Page.GetFrameTreeResponse;
69
+ };
62
70
  'CSS.getComputedStyleForNode': {
63
71
  params: Protocol.CSS.GetComputedStyleForNodeRequest;
64
72
  result: Protocol.CSS.GetComputedStyleForNodeResponse;
@@ -95,6 +103,7 @@ export interface CdpEventMap {
95
103
  'Page.loadEventFired': Protocol.Page.LoadEventFiredEvent;
96
104
  'Page.domContentEventFired': Protocol.Page.DomContentEventFiredEvent;
97
105
  'Page.frameNavigated': Protocol.Page.FrameNavigatedEvent;
106
+ 'Page.frameDetached': Protocol.Page.FrameDetachedEvent;
98
107
  'DOM.documentUpdated': undefined;
99
108
  'DOM.childNodeInserted': Protocol.DOM.ChildNodeInsertedEvent;
100
109
  'DOM.childNodeRemoved': Protocol.DOM.ChildNodeRemovedEvent;