ultimate-playwright-mcp 0.1.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 (131) hide show
  1. package/LICENSE +26 -0
  2. package/README.md +286 -0
  3. package/dist/browser/cdp.d.ts +37 -0
  4. package/dist/browser/cdp.d.ts.map +1 -0
  5. package/dist/browser/cdp.helpers.d.ts +13 -0
  6. package/dist/browser/cdp.helpers.d.ts.map +1 -0
  7. package/dist/browser/cdp.helpers.js +38 -0
  8. package/dist/browser/cdp.helpers.js.map +1 -0
  9. package/dist/browser/cdp.js +77 -0
  10. package/dist/browser/cdp.js.map +1 -0
  11. package/dist/browser/chrome-tab-groups.d.ts +93 -0
  12. package/dist/browser/chrome-tab-groups.d.ts.map +1 -0
  13. package/dist/browser/chrome-tab-groups.js +458 -0
  14. package/dist/browser/chrome-tab-groups.js.map +1 -0
  15. package/dist/browser/chrome.d.ts +11 -0
  16. package/dist/browser/chrome.d.ts.map +1 -0
  17. package/dist/browser/chrome.js +74 -0
  18. package/dist/browser/chrome.js.map +1 -0
  19. package/dist/browser/pw-role-snapshot.d.ts +41 -0
  20. package/dist/browser/pw-role-snapshot.d.ts.map +1 -0
  21. package/dist/browser/pw-role-snapshot.js +346 -0
  22. package/dist/browser/pw-role-snapshot.js.map +1 -0
  23. package/dist/browser/pw-session.d.ts +145 -0
  24. package/dist/browser/pw-session.d.ts.map +1 -0
  25. package/dist/browser/pw-session.js +468 -0
  26. package/dist/browser/pw-session.js.map +1 -0
  27. package/dist/browser/pw-tools-activity.d.ts +27 -0
  28. package/dist/browser/pw-tools-activity.d.ts.map +1 -0
  29. package/dist/browser/pw-tools-activity.js +52 -0
  30. package/dist/browser/pw-tools-activity.js.map +1 -0
  31. package/dist/browser/pw-tools-downloads.d.ts +40 -0
  32. package/dist/browser/pw-tools-downloads.d.ts.map +1 -0
  33. package/dist/browser/pw-tools-downloads.js +191 -0
  34. package/dist/browser/pw-tools-downloads.js.map +1 -0
  35. package/dist/browser/pw-tools-interactions.d.ts +122 -0
  36. package/dist/browser/pw-tools-interactions.d.ts.map +1 -0
  37. package/dist/browser/pw-tools-interactions.js +434 -0
  38. package/dist/browser/pw-tools-interactions.js.map +1 -0
  39. package/dist/browser/pw-tools-responses.d.ts +19 -0
  40. package/dist/browser/pw-tools-responses.d.ts.map +1 -0
  41. package/dist/browser/pw-tools-responses.js +98 -0
  42. package/dist/browser/pw-tools-responses.js.map +1 -0
  43. package/dist/browser/pw-tools-shared.d.ts +12 -0
  44. package/dist/browser/pw-tools-shared.d.ts.map +1 -0
  45. package/dist/browser/pw-tools-shared.js +55 -0
  46. package/dist/browser/pw-tools-shared.js.map +1 -0
  47. package/dist/browser/pw-tools-snapshot.d.ts +70 -0
  48. package/dist/browser/pw-tools-snapshot.d.ts.map +1 -0
  49. package/dist/browser/pw-tools-snapshot.js +151 -0
  50. package/dist/browser/pw-tools-snapshot.js.map +1 -0
  51. package/dist/browser/pw-tools-state.d.ts +52 -0
  52. package/dist/browser/pw-tools-state.d.ts.map +1 -0
  53. package/dist/browser/pw-tools-state.js +159 -0
  54. package/dist/browser/pw-tools-state.js.map +1 -0
  55. package/dist/browser/pw-tools-storage.d.ts +53 -0
  56. package/dist/browser/pw-tools-storage.d.ts.map +1 -0
  57. package/dist/browser/pw-tools-storage.js +81 -0
  58. package/dist/browser/pw-tools-storage.js.map +1 -0
  59. package/dist/browser/pw-tools-trace.d.ts +18 -0
  60. package/dist/browser/pw-tools-trace.d.ts.map +1 -0
  61. package/dist/browser/pw-tools-trace.js +31 -0
  62. package/dist/browser/pw-tools-trace.js.map +1 -0
  63. package/dist/browser/tab-groups.d.ts +94 -0
  64. package/dist/browser/tab-groups.d.ts.map +1 -0
  65. package/dist/browser/tab-groups.js +303 -0
  66. package/dist/browser/tab-groups.js.map +1 -0
  67. package/dist/browser/target-id.d.ts +20 -0
  68. package/dist/browser/target-id.d.ts.map +1 -0
  69. package/dist/browser/target-id.js +29 -0
  70. package/dist/browser/target-id.js.map +1 -0
  71. package/dist/cli.d.ts +6 -0
  72. package/dist/cli.d.ts.map +1 -0
  73. package/dist/cli.js +35 -0
  74. package/dist/cli.js.map +1 -0
  75. package/dist/config.d.ts +32 -0
  76. package/dist/config.d.ts.map +1 -0
  77. package/dist/config.js +7 -0
  78. package/dist/config.js.map +1 -0
  79. package/dist/daemon/chrome-daemon.d.ts +7 -0
  80. package/dist/daemon/chrome-daemon.d.ts.map +1 -0
  81. package/dist/daemon/chrome-daemon.js +264 -0
  82. package/dist/daemon/chrome-daemon.js.map +1 -0
  83. package/dist/daemon/cli.d.ts +6 -0
  84. package/dist/daemon/cli.d.ts.map +1 -0
  85. package/dist/daemon/cli.js +110 -0
  86. package/dist/daemon/cli.js.map +1 -0
  87. package/dist/daemon/manager.d.ts +22 -0
  88. package/dist/daemon/manager.d.ts.map +1 -0
  89. package/dist/daemon/manager.js +89 -0
  90. package/dist/daemon/manager.js.map +1 -0
  91. package/dist/index.d.ts +9 -0
  92. package/dist/index.d.ts.map +1 -0
  93. package/dist/index.js +9 -0
  94. package/dist/index.js.map +1 -0
  95. package/dist/mcp/server.d.ts +41 -0
  96. package/dist/mcp/server.d.ts.map +1 -0
  97. package/dist/mcp/server.js +122 -0
  98. package/dist/mcp/server.js.map +1 -0
  99. package/dist/mcp/tools/actions.d.ts +6 -0
  100. package/dist/mcp/tools/actions.d.ts.map +1 -0
  101. package/dist/mcp/tools/actions.js +214 -0
  102. package/dist/mcp/tools/actions.js.map +1 -0
  103. package/dist/mcp/tools/navigate.d.ts +6 -0
  104. package/dist/mcp/tools/navigate.d.ts.map +1 -0
  105. package/dist/mcp/tools/navigate.js +31 -0
  106. package/dist/mcp/tools/navigate.js.map +1 -0
  107. package/dist/mcp/tools/snapshot.d.ts +6 -0
  108. package/dist/mcp/tools/snapshot.d.ts.map +1 -0
  109. package/dist/mcp/tools/snapshot.js +26 -0
  110. package/dist/mcp/tools/snapshot.js.map +1 -0
  111. package/dist/mcp/tools/tab-group.d.ts +9 -0
  112. package/dist/mcp/tools/tab-group.d.ts.map +1 -0
  113. package/dist/mcp/tools/tab-group.js +173 -0
  114. package/dist/mcp/tools/tab-group.js.map +1 -0
  115. package/dist/mcp/tools/tabs.d.ts +6 -0
  116. package/dist/mcp/tools/tabs.d.ts.map +1 -0
  117. package/dist/mcp/tools/tabs.js +209 -0
  118. package/dist/mcp/tools/tabs.js.map +1 -0
  119. package/dist/utils/command-format.d.ts +6 -0
  120. package/dist/utils/command-format.d.ts.map +1 -0
  121. package/dist/utils/command-format.js +8 -0
  122. package/dist/utils/command-format.js.map +1 -0
  123. package/dist/utils/errors.d.ts +6 -0
  124. package/dist/utils/errors.d.ts.map +1 -0
  125. package/dist/utils/errors.js +22 -0
  126. package/dist/utils/errors.js.map +1 -0
  127. package/dist/utils/extension-installer.d.ts +16 -0
  128. package/dist/utils/extension-installer.d.ts.map +1 -0
  129. package/dist/utils/extension-installer.js +134 -0
  130. package/dist/utils/extension-installer.js.map +1 -0
  131. package/package.json +75 -0
@@ -0,0 +1,346 @@
1
+ /**
2
+ * Extracted from OpenClaw (https://github.com/openclaw/openclaw)
3
+ * Original: src/browser/pw-role-snapshot.ts
4
+ * License: MIT
5
+ */
6
+ const INTERACTIVE_ROLES = new Set([
7
+ "button",
8
+ "link",
9
+ "textbox",
10
+ "checkbox",
11
+ "radio",
12
+ "combobox",
13
+ "listbox",
14
+ "menuitem",
15
+ "menuitemcheckbox",
16
+ "menuitemradio",
17
+ "option",
18
+ "searchbox",
19
+ "slider",
20
+ "spinbutton",
21
+ "switch",
22
+ "tab",
23
+ "treeitem",
24
+ ]);
25
+ const CONTENT_ROLES = new Set([
26
+ "heading",
27
+ "cell",
28
+ "gridcell",
29
+ "columnheader",
30
+ "rowheader",
31
+ "listitem",
32
+ "article",
33
+ "region",
34
+ "main",
35
+ "navigation",
36
+ ]);
37
+ const STRUCTURAL_ROLES = new Set([
38
+ "generic",
39
+ "group",
40
+ "list",
41
+ "table",
42
+ "row",
43
+ "rowgroup",
44
+ "grid",
45
+ "treegrid",
46
+ "menu",
47
+ "menubar",
48
+ "toolbar",
49
+ "tablist",
50
+ "tree",
51
+ "directory",
52
+ "document",
53
+ "application",
54
+ "presentation",
55
+ "none",
56
+ ]);
57
+ export function getRoleSnapshotStats(snapshot, refs) {
58
+ const interactive = Object.values(refs).filter((r) => INTERACTIVE_ROLES.has(r.role)).length;
59
+ return {
60
+ lines: snapshot.split("\n").length,
61
+ chars: snapshot.length,
62
+ refs: Object.keys(refs).length,
63
+ interactive,
64
+ };
65
+ }
66
+ function getIndentLevel(line) {
67
+ const match = line.match(/^(\s*)/);
68
+ return match ? Math.floor(match[1].length / 2) : 0;
69
+ }
70
+ function createRoleNameTracker() {
71
+ const counts = new Map();
72
+ const refsByKey = new Map();
73
+ return {
74
+ counts,
75
+ refsByKey,
76
+ getKey(role, name) {
77
+ return `${role}:${name ?? ""}`;
78
+ },
79
+ getNextIndex(role, name) {
80
+ const key = this.getKey(role, name);
81
+ const current = counts.get(key) ?? 0;
82
+ counts.set(key, current + 1);
83
+ return current;
84
+ },
85
+ trackRef(role, name, ref) {
86
+ const key = this.getKey(role, name);
87
+ const list = refsByKey.get(key) ?? [];
88
+ list.push(ref);
89
+ refsByKey.set(key, list);
90
+ },
91
+ getDuplicateKeys() {
92
+ const out = new Set();
93
+ for (const [key, refs] of refsByKey) {
94
+ if (refs.length > 1) {
95
+ out.add(key);
96
+ }
97
+ }
98
+ return out;
99
+ },
100
+ };
101
+ }
102
+ function removeNthFromNonDuplicates(refs, tracker) {
103
+ const duplicates = tracker.getDuplicateKeys();
104
+ for (const [ref, data] of Object.entries(refs)) {
105
+ const key = tracker.getKey(data.role, data.name);
106
+ if (!duplicates.has(key)) {
107
+ delete refs[ref]?.nth;
108
+ }
109
+ }
110
+ }
111
+ function compactTree(tree) {
112
+ const lines = tree.split("\n");
113
+ const result = [];
114
+ for (let i = 0; i < lines.length; i += 1) {
115
+ const line = lines[i];
116
+ if (line.includes("[ref=")) {
117
+ result.push(line);
118
+ continue;
119
+ }
120
+ if (line.includes(":") && !line.trimEnd().endsWith(":")) {
121
+ result.push(line);
122
+ continue;
123
+ }
124
+ const currentIndent = getIndentLevel(line);
125
+ let hasRelevantChildren = false;
126
+ for (let j = i + 1; j < lines.length; j += 1) {
127
+ const childIndent = getIndentLevel(lines[j]);
128
+ if (childIndent <= currentIndent) {
129
+ break;
130
+ }
131
+ if (lines[j]?.includes("[ref=")) {
132
+ hasRelevantChildren = true;
133
+ break;
134
+ }
135
+ }
136
+ if (hasRelevantChildren) {
137
+ result.push(line);
138
+ }
139
+ }
140
+ return result.join("\n");
141
+ }
142
+ function processLine(line, refs, options, tracker, nextRef) {
143
+ const depth = getIndentLevel(line);
144
+ if (options.maxDepth !== undefined && depth > options.maxDepth) {
145
+ return null;
146
+ }
147
+ const match = line.match(/^(\s*-\s*)(\w+)(?:\s+"([^"]*)")?(.*)$/);
148
+ if (!match) {
149
+ return options.interactive ? null : line;
150
+ }
151
+ const [, prefix, roleRaw, name, suffix] = match;
152
+ if (roleRaw.startsWith("/")) {
153
+ return options.interactive ? null : line;
154
+ }
155
+ const role = roleRaw.toLowerCase();
156
+ const isInteractive = INTERACTIVE_ROLES.has(role);
157
+ const isContent = CONTENT_ROLES.has(role);
158
+ const isStructural = STRUCTURAL_ROLES.has(role);
159
+ if (options.interactive && !isInteractive) {
160
+ return null;
161
+ }
162
+ if (options.compact && isStructural && !name) {
163
+ return null;
164
+ }
165
+ const shouldHaveRef = isInteractive || (isContent && name);
166
+ if (!shouldHaveRef) {
167
+ return line;
168
+ }
169
+ const ref = nextRef();
170
+ const nth = tracker.getNextIndex(role, name);
171
+ tracker.trackRef(role, name, ref);
172
+ refs[ref] = {
173
+ role,
174
+ name,
175
+ nth,
176
+ };
177
+ let enhanced = `${prefix}${roleRaw}`;
178
+ if (name) {
179
+ enhanced += ` "${name}"`;
180
+ }
181
+ enhanced += ` [ref=${ref}]`;
182
+ if (nth > 0) {
183
+ enhanced += ` [nth=${nth}]`;
184
+ }
185
+ if (suffix) {
186
+ enhanced += suffix;
187
+ }
188
+ return enhanced;
189
+ }
190
+ export function parseRoleRef(raw) {
191
+ const trimmed = raw.trim();
192
+ if (!trimmed) {
193
+ return null;
194
+ }
195
+ const normalized = trimmed.startsWith("@")
196
+ ? trimmed.slice(1)
197
+ : trimmed.startsWith("ref=")
198
+ ? trimmed.slice(4)
199
+ : trimmed;
200
+ return /^e\d+$/.test(normalized) ? normalized : null;
201
+ }
202
+ export function buildRoleSnapshotFromAriaSnapshot(ariaSnapshot, options = {}) {
203
+ const lines = ariaSnapshot.split("\n");
204
+ const refs = {};
205
+ const tracker = createRoleNameTracker();
206
+ let counter = 0;
207
+ const nextRef = () => {
208
+ counter += 1;
209
+ return `e${counter}`;
210
+ };
211
+ if (options.interactive) {
212
+ const result = [];
213
+ for (const line of lines) {
214
+ const depth = getIndentLevel(line);
215
+ if (options.maxDepth !== undefined && depth > options.maxDepth) {
216
+ continue;
217
+ }
218
+ const match = line.match(/^(\s*-\s*)(\w+)(?:\s+"([^"]*)")?(.*)$/);
219
+ if (!match) {
220
+ continue;
221
+ }
222
+ const [, , roleRaw, name, suffix] = match;
223
+ if (roleRaw.startsWith("/")) {
224
+ continue;
225
+ }
226
+ const role = roleRaw.toLowerCase();
227
+ if (!INTERACTIVE_ROLES.has(role)) {
228
+ continue;
229
+ }
230
+ const ref = nextRef();
231
+ const nth = tracker.getNextIndex(role, name);
232
+ tracker.trackRef(role, name, ref);
233
+ refs[ref] = {
234
+ role,
235
+ name,
236
+ nth,
237
+ };
238
+ let enhanced = `- ${roleRaw}`;
239
+ if (name) {
240
+ enhanced += ` "${name}"`;
241
+ }
242
+ enhanced += ` [ref=${ref}]`;
243
+ if (nth > 0) {
244
+ enhanced += ` [nth=${nth}]`;
245
+ }
246
+ if (suffix.includes("[")) {
247
+ enhanced += suffix;
248
+ }
249
+ result.push(enhanced);
250
+ }
251
+ removeNthFromNonDuplicates(refs, tracker);
252
+ return {
253
+ snapshot: result.join("\n") || "(no interactive elements)",
254
+ refs,
255
+ };
256
+ }
257
+ const result = [];
258
+ for (const line of lines) {
259
+ const processed = processLine(line, refs, options, tracker, nextRef);
260
+ if (processed !== null) {
261
+ result.push(processed);
262
+ }
263
+ }
264
+ removeNthFromNonDuplicates(refs, tracker);
265
+ const tree = result.join("\n") || "(empty)";
266
+ return {
267
+ snapshot: options.compact ? compactTree(tree) : tree,
268
+ refs,
269
+ };
270
+ }
271
+ function parseAiSnapshotRef(suffix) {
272
+ const match = suffix.match(/\[ref=(e\d+)\]/i);
273
+ return match ? match[1] : null;
274
+ }
275
+ /**
276
+ * Build a role snapshot from Playwright's AI snapshot output while preserving Playwright's own
277
+ * aria-ref ids (e.g. ref=e13). This makes the refs self-resolving across calls.
278
+ */
279
+ export function buildRoleSnapshotFromAiSnapshot(aiSnapshot, options = {}) {
280
+ const lines = String(aiSnapshot ?? "").split("\n");
281
+ const refs = {};
282
+ if (options.interactive) {
283
+ const out = [];
284
+ for (const line of lines) {
285
+ const depth = getIndentLevel(line);
286
+ if (options.maxDepth !== undefined && depth > options.maxDepth) {
287
+ continue;
288
+ }
289
+ const match = line.match(/^(\s*-\s*)(\w+)(?:\s+"([^"]*)")?(.*)$/);
290
+ if (!match) {
291
+ continue;
292
+ }
293
+ const [, , roleRaw, name, suffix] = match;
294
+ if (roleRaw.startsWith("/")) {
295
+ continue;
296
+ }
297
+ const role = roleRaw.toLowerCase();
298
+ if (!INTERACTIVE_ROLES.has(role)) {
299
+ continue;
300
+ }
301
+ const ref = parseAiSnapshotRef(suffix);
302
+ if (!ref) {
303
+ continue;
304
+ }
305
+ refs[ref] = { role, ...(name ? { name } : {}) };
306
+ out.push(`- ${roleRaw}${name ? ` "${name}"` : ""}${suffix}`);
307
+ }
308
+ return {
309
+ snapshot: out.join("\n") || "(no interactive elements)",
310
+ refs,
311
+ };
312
+ }
313
+ const out = [];
314
+ for (const line of lines) {
315
+ const depth = getIndentLevel(line);
316
+ if (options.maxDepth !== undefined && depth > options.maxDepth) {
317
+ continue;
318
+ }
319
+ const match = line.match(/^(\s*-\s*)(\w+)(?:\s+"([^"]*)")?(.*)$/);
320
+ if (!match) {
321
+ out.push(line);
322
+ continue;
323
+ }
324
+ const [, , roleRaw, name, suffix] = match;
325
+ if (roleRaw.startsWith("/")) {
326
+ out.push(line);
327
+ continue;
328
+ }
329
+ const role = roleRaw.toLowerCase();
330
+ const isStructural = STRUCTURAL_ROLES.has(role);
331
+ if (options.compact && isStructural && !name) {
332
+ continue;
333
+ }
334
+ const ref = parseAiSnapshotRef(suffix);
335
+ if (ref) {
336
+ refs[ref] = { role, ...(name ? { name } : {}) };
337
+ }
338
+ out.push(line);
339
+ }
340
+ const tree = out.join("\n") || "(empty)";
341
+ return {
342
+ snapshot: options.compact ? compactTree(tree) : tree,
343
+ refs,
344
+ };
345
+ }
346
+ //# sourceMappingURL=pw-role-snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pw-role-snapshot.js","sourceRoot":"","sources":["../../src/browser/pw-role-snapshot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Extracted from OpenClaw (https://github.com/openclaw/openclaw)
3
+ * Original: src/browser/pw-session.ts
4
+ * License: MIT
5
+ *
6
+ * Modified for ultimate-playwright-mcp:
7
+ * - Updated import paths to use our simplified utilities
8
+ * - Removed logging dependencies
9
+ */
10
+ import type { BrowserContext, Page, Request } from "playwright-core";
11
+ export type BrowserConsoleMessage = {
12
+ type: string;
13
+ text: string;
14
+ timestamp: string;
15
+ location?: {
16
+ url?: string;
17
+ lineNumber?: number;
18
+ columnNumber?: number;
19
+ };
20
+ };
21
+ export type BrowserPageError = {
22
+ message: string;
23
+ name?: string;
24
+ stack?: string;
25
+ timestamp: string;
26
+ };
27
+ export type BrowserNetworkRequest = {
28
+ id: string;
29
+ timestamp: string;
30
+ method: string;
31
+ url: string;
32
+ resourceType?: string;
33
+ status?: number;
34
+ ok?: boolean;
35
+ failureText?: string;
36
+ };
37
+ type SnapshotForAIResult = {
38
+ full: string;
39
+ incremental?: string;
40
+ };
41
+ type SnapshotForAIOptions = {
42
+ timeout?: number;
43
+ track?: string;
44
+ };
45
+ export type WithSnapshotForAI = {
46
+ _snapshotForAI?: (options?: SnapshotForAIOptions) => Promise<SnapshotForAIResult>;
47
+ };
48
+ type PageState = {
49
+ console: BrowserConsoleMessage[];
50
+ errors: BrowserPageError[];
51
+ requests: BrowserNetworkRequest[];
52
+ requestIds: WeakMap<Request, string>;
53
+ nextRequestId: number;
54
+ armIdUpload: number;
55
+ armIdDialog: number;
56
+ armIdDownload: number;
57
+ /**
58
+ * Role-based refs from the last role snapshot (e.g. e1/e2).
59
+ * Mode "role" refs are generated from ariaSnapshot and resolved via getByRole.
60
+ * Mode "aria" refs are Playwright aria-ref ids and resolved via `aria-ref=...`.
61
+ */
62
+ roleRefs?: Record<string, {
63
+ role: string;
64
+ name?: string;
65
+ nth?: number;
66
+ }>;
67
+ roleRefsMode?: "role" | "aria";
68
+ roleRefsFrameSelector?: string;
69
+ };
70
+ type RoleRefs = NonNullable<PageState["roleRefs"]>;
71
+ type ContextState = {
72
+ traceActive: boolean;
73
+ };
74
+ export declare function rememberRoleRefsForTarget(opts: {
75
+ cdpUrl: string;
76
+ targetId: string;
77
+ refs: RoleRefs;
78
+ frameSelector?: string;
79
+ mode?: NonNullable<PageState["roleRefsMode"]>;
80
+ }): void;
81
+ export declare function storeRoleRefsForTarget(opts: {
82
+ page: Page;
83
+ cdpUrl: string;
84
+ targetId?: string;
85
+ refs: RoleRefs;
86
+ frameSelector?: string;
87
+ mode: NonNullable<PageState["roleRefsMode"]>;
88
+ }): void;
89
+ export declare function restoreRoleRefsForTarget(opts: {
90
+ cdpUrl: string;
91
+ targetId?: string;
92
+ page: Page;
93
+ }): void;
94
+ export declare function ensurePageState(page: Page): PageState;
95
+ export declare function ensureContextState(context: BrowserContext): ContextState;
96
+ export declare function getPageForTargetId(opts: {
97
+ cdpUrl: string;
98
+ targetId?: string;
99
+ }): Promise<Page>;
100
+ export declare function refLocator(page: Page, ref: string): import("playwright-core").Locator;
101
+ export declare function closePlaywrightBrowserConnection(): Promise<void>;
102
+ /**
103
+ * List all pages/tabs from the persistent Playwright connection.
104
+ * Used for remote profiles where HTTP-based /json/list is ephemeral.
105
+ */
106
+ export declare function listPagesViaPlaywright(opts: {
107
+ cdpUrl: string;
108
+ }): Promise<Array<{
109
+ targetId: string;
110
+ title: string;
111
+ url: string;
112
+ type: string;
113
+ }>>;
114
+ /**
115
+ * Create a new page/tab using the persistent Playwright connection.
116
+ * Used for remote profiles where HTTP-based /json/new is ephemeral.
117
+ * Returns the new page's targetId and metadata.
118
+ */
119
+ export declare function createPageViaPlaywright(opts: {
120
+ cdpUrl: string;
121
+ url: string;
122
+ }): Promise<{
123
+ targetId: string;
124
+ title: string;
125
+ url: string;
126
+ type: string;
127
+ }>;
128
+ /**
129
+ * Close a page/tab by targetId using the persistent Playwright connection.
130
+ * Used for remote profiles where HTTP-based /json/close is ephemeral.
131
+ */
132
+ export declare function closePageByTargetIdViaPlaywright(opts: {
133
+ cdpUrl: string;
134
+ targetId: string;
135
+ }): Promise<void>;
136
+ /**
137
+ * Focus a page/tab by targetId using the persistent Playwright connection.
138
+ * Used for remote profiles where HTTP-based /json/activate can be ephemeral.
139
+ */
140
+ export declare function focusPageByTargetIdViaPlaywright(opts: {
141
+ cdpUrl: string;
142
+ targetId: string;
143
+ }): Promise<void>;
144
+ export {};
145
+ //# sourceMappingURL=pw-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pw-session.d.ts","sourceRoot":"","sources":["../../src/browser/pw-session.ts"],"names":[],"mappings":"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"}