e2e-pilot 0.0.69

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 (152) hide show
  1. package/bin.js +3 -0
  2. package/dist/aria-snapshot.d.ts +95 -0
  3. package/dist/aria-snapshot.d.ts.map +1 -0
  4. package/dist/aria-snapshot.js +490 -0
  5. package/dist/aria-snapshot.js.map +1 -0
  6. package/dist/bippy.js +971 -0
  7. package/dist/cdp-relay.d.ts +16 -0
  8. package/dist/cdp-relay.d.ts.map +1 -0
  9. package/dist/cdp-relay.js +715 -0
  10. package/dist/cdp-relay.js.map +1 -0
  11. package/dist/cdp-session.d.ts +42 -0
  12. package/dist/cdp-session.d.ts.map +1 -0
  13. package/dist/cdp-session.js +154 -0
  14. package/dist/cdp-session.js.map +1 -0
  15. package/dist/cdp-types.d.ts +63 -0
  16. package/dist/cdp-types.d.ts.map +1 -0
  17. package/dist/cdp-types.js +91 -0
  18. package/dist/cdp-types.js.map +1 -0
  19. package/dist/cli.d.ts +3 -0
  20. package/dist/cli.d.ts.map +1 -0
  21. package/dist/cli.js +213 -0
  22. package/dist/cli.js.map +1 -0
  23. package/dist/create-logger.d.ts +9 -0
  24. package/dist/create-logger.d.ts.map +1 -0
  25. package/dist/create-logger.js +25 -0
  26. package/dist/create-logger.js.map +1 -0
  27. package/dist/debugger-api.md +458 -0
  28. package/dist/debugger-examples-types.d.ts +24 -0
  29. package/dist/debugger-examples-types.d.ts.map +1 -0
  30. package/dist/debugger-examples-types.js +2 -0
  31. package/dist/debugger-examples-types.js.map +1 -0
  32. package/dist/debugger-examples.d.ts +6 -0
  33. package/dist/debugger-examples.d.ts.map +1 -0
  34. package/dist/debugger-examples.js +53 -0
  35. package/dist/debugger-examples.js.map +1 -0
  36. package/dist/debugger.d.ts +381 -0
  37. package/dist/debugger.d.ts.map +1 -0
  38. package/dist/debugger.js +633 -0
  39. package/dist/debugger.js.map +1 -0
  40. package/dist/editor-api.md +364 -0
  41. package/dist/editor-examples.d.ts +11 -0
  42. package/dist/editor-examples.d.ts.map +1 -0
  43. package/dist/editor-examples.js +124 -0
  44. package/dist/editor-examples.js.map +1 -0
  45. package/dist/editor.d.ts +203 -0
  46. package/dist/editor.d.ts.map +1 -0
  47. package/dist/editor.js +336 -0
  48. package/dist/editor.js.map +1 -0
  49. package/dist/execute.d.ts +50 -0
  50. package/dist/execute.d.ts.map +1 -0
  51. package/dist/execute.js +576 -0
  52. package/dist/execute.js.map +1 -0
  53. package/dist/index.d.ts +11 -0
  54. package/dist/index.d.ts.map +1 -0
  55. package/dist/index.js +7 -0
  56. package/dist/index.js.map +1 -0
  57. package/dist/mcp-client.d.ts +20 -0
  58. package/dist/mcp-client.d.ts.map +1 -0
  59. package/dist/mcp-client.js +56 -0
  60. package/dist/mcp-client.js.map +1 -0
  61. package/dist/mcp.d.ts +5 -0
  62. package/dist/mcp.d.ts.map +1 -0
  63. package/dist/mcp.js +720 -0
  64. package/dist/mcp.js.map +1 -0
  65. package/dist/mcp.test.d.ts +10 -0
  66. package/dist/mcp.test.d.ts.map +1 -0
  67. package/dist/mcp.test.js +2999 -0
  68. package/dist/mcp.test.js.map +1 -0
  69. package/dist/network-capture.d.ts +23 -0
  70. package/dist/network-capture.d.ts.map +1 -0
  71. package/dist/network-capture.js +98 -0
  72. package/dist/network-capture.js.map +1 -0
  73. package/dist/protocol.d.ts +54 -0
  74. package/dist/protocol.d.ts.map +1 -0
  75. package/dist/protocol.js +2 -0
  76. package/dist/protocol.js.map +1 -0
  77. package/dist/react-source.d.ts +13 -0
  78. package/dist/react-source.d.ts.map +1 -0
  79. package/dist/react-source.js +68 -0
  80. package/dist/react-source.js.map +1 -0
  81. package/dist/scoped-fs.d.ts +94 -0
  82. package/dist/scoped-fs.d.ts.map +1 -0
  83. package/dist/scoped-fs.js +356 -0
  84. package/dist/scoped-fs.js.map +1 -0
  85. package/dist/selector-generator.js +8126 -0
  86. package/dist/start-relay-server.d.ts +6 -0
  87. package/dist/start-relay-server.d.ts.map +1 -0
  88. package/dist/start-relay-server.js +33 -0
  89. package/dist/start-relay-server.js.map +1 -0
  90. package/dist/styles-api.md +117 -0
  91. package/dist/styles-examples.d.ts +8 -0
  92. package/dist/styles-examples.d.ts.map +1 -0
  93. package/dist/styles-examples.js +64 -0
  94. package/dist/styles-examples.js.map +1 -0
  95. package/dist/styles.d.ts +27 -0
  96. package/dist/styles.d.ts.map +1 -0
  97. package/dist/styles.js +234 -0
  98. package/dist/styles.js.map +1 -0
  99. package/dist/trace-utils.d.ts +14 -0
  100. package/dist/trace-utils.d.ts.map +1 -0
  101. package/dist/trace-utils.js +21 -0
  102. package/dist/trace-utils.js.map +1 -0
  103. package/dist/utils.d.ts +20 -0
  104. package/dist/utils.d.ts.map +1 -0
  105. package/dist/utils.js +75 -0
  106. package/dist/utils.js.map +1 -0
  107. package/dist/wait-for-page-load.d.ts +16 -0
  108. package/dist/wait-for-page-load.d.ts.map +1 -0
  109. package/dist/wait-for-page-load.js +127 -0
  110. package/dist/wait-for-page-load.js.map +1 -0
  111. package/package.json +67 -0
  112. package/src/aria-snapshot.ts +610 -0
  113. package/src/assets/aria-labels-github-snapshot.txt +605 -0
  114. package/src/assets/aria-labels-github.png +0 -0
  115. package/src/assets/aria-labels-google-snapshot.txt +49 -0
  116. package/src/assets/aria-labels-google.png +0 -0
  117. package/src/assets/aria-labels-hacker-news-snapshot.txt +1023 -0
  118. package/src/assets/aria-labels-hacker-news.png +0 -0
  119. package/src/cdp-relay.ts +925 -0
  120. package/src/cdp-session.ts +203 -0
  121. package/src/cdp-timing.md +128 -0
  122. package/src/cdp-types.ts +155 -0
  123. package/src/cli.ts +250 -0
  124. package/src/create-logger.ts +36 -0
  125. package/src/debugger-examples-types.ts +13 -0
  126. package/src/debugger-examples.ts +66 -0
  127. package/src/debugger.md +453 -0
  128. package/src/debugger.ts +713 -0
  129. package/src/editor-examples.ts +148 -0
  130. package/src/editor.ts +390 -0
  131. package/src/execute.ts +763 -0
  132. package/src/index.ts +10 -0
  133. package/src/mcp-client.ts +78 -0
  134. package/src/mcp.test.ts +3596 -0
  135. package/src/mcp.ts +876 -0
  136. package/src/network-capture.ts +140 -0
  137. package/src/prompt.bak.md +323 -0
  138. package/src/prompt.md +7 -0
  139. package/src/protocol.ts +63 -0
  140. package/src/react-source.ts +94 -0
  141. package/src/resource.md +436 -0
  142. package/src/scoped-fs.ts +411 -0
  143. package/src/snapshots/hacker-news-focused-accessibility.md +202 -0
  144. package/src/snapshots/hacker-news-initial-accessibility.md +11 -0
  145. package/src/snapshots/hacker-news-tabbed-accessibility.md +202 -0
  146. package/src/snapshots/shadcn-ui-accessibility.md +11 -0
  147. package/src/start-relay-server.ts +43 -0
  148. package/src/styles-examples.ts +77 -0
  149. package/src/styles.ts +345 -0
  150. package/src/trace-utils.ts +43 -0
  151. package/src/utils.ts +91 -0
  152. package/src/wait-for-page-load.ts +174 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export type Logger = {
2
+ log(...args: unknown[]): Promise<void>;
3
+ error(...args: unknown[]): Promise<void>;
4
+ logFilePath: string;
5
+ };
6
+ export declare function createFileLogger({ logFilePath }?: {
7
+ logFilePath?: string;
8
+ }): Logger;
9
+ //# sourceMappingURL=create-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-logger.d.ts","sourceRoot":"","sources":["../src/create-logger.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,MAAM,GAAG;IACnB,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtC,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,wBAAgB,gBAAgB,CAAC,EAAE,WAAW,EAAE,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,CAuBvF"}
@@ -0,0 +1,25 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import util from 'node:util';
4
+ import stripAnsi from 'strip-ansi';
5
+ import { LOG_FILE_PATH } from './utils.js';
6
+ export function createFileLogger({ logFilePath } = {}) {
7
+ const resolvedLogFilePath = logFilePath || LOG_FILE_PATH;
8
+ const logDir = path.dirname(resolvedLogFilePath);
9
+ if (!fs.existsSync(logDir)) {
10
+ fs.mkdirSync(logDir, { recursive: true });
11
+ }
12
+ fs.writeFileSync(resolvedLogFilePath, '');
13
+ let queue = Promise.resolve();
14
+ const log = (...args) => {
15
+ const message = args.map(arg => typeof arg === 'string' ? arg : util.inspect(arg, { depth: null, colors: false })).join(' ');
16
+ queue = queue.then(() => fs.promises.appendFile(resolvedLogFilePath, stripAnsi(message) + '\n'));
17
+ return queue;
18
+ };
19
+ return {
20
+ log,
21
+ error: log,
22
+ logFilePath: resolvedLogFilePath,
23
+ };
24
+ }
25
+ //# sourceMappingURL=create-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-logger.js","sourceRoot":"","sources":["../src/create-logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAQ1C,MAAM,UAAU,gBAAgB,CAAC,EAAE,WAAW,KAA+B,EAAE;IAC7E,MAAM,mBAAmB,GAAG,WAAW,IAAI,aAAa,CAAA;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAChD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3C,CAAC;IACD,EAAE,CAAC,aAAa,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAA;IAEzC,IAAI,KAAK,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAA;IAE5C,MAAM,GAAG,GAAG,CAAC,GAAG,IAAe,EAAiB,EAAE;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAC7B,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAClF,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACX,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;QAChG,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IAED,OAAO;QACL,GAAG;QACH,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,mBAAmB;KACjC,CAAA;AACH,CAAC"}
@@ -0,0 +1,458 @@
1
+ # Debugger API Reference
2
+
3
+ ## Types
4
+
5
+ ```ts
6
+ import type { ICDPSession } from './cdp-session.js';
7
+ export interface BreakpointInfo {
8
+ id: string;
9
+ file: string;
10
+ line: number;
11
+ }
12
+ export interface LocationInfo {
13
+ url: string;
14
+ lineNumber: number;
15
+ columnNumber: number;
16
+ callstack: Array<{
17
+ functionName: string;
18
+ url: string;
19
+ lineNumber: number;
20
+ columnNumber: number;
21
+ }>;
22
+ sourceContext: string;
23
+ }
24
+ export interface EvaluateResult {
25
+ value: unknown;
26
+ }
27
+ export interface ScriptInfo {
28
+ scriptId: string;
29
+ url: string;
30
+ }
31
+ /**
32
+ * A class for debugging JavaScript code via Chrome DevTools Protocol.
33
+ * Works with both Node.js (--inspect) and browser debugging.
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * const cdp = await getCDPSessionForPage({ page, wsUrl })
38
+ * const dbg = new Debugger({ cdp })
39
+ *
40
+ * await dbg.setBreakpoint({ file: 'https://example.com/app.js', line: 42 })
41
+ * // trigger the code path, then:
42
+ * const location = await dbg.getLocation()
43
+ * const vars = await dbg.inspectLocalVariables()
44
+ * await dbg.resume()
45
+ * ```
46
+ */
47
+ export declare class Debugger {
48
+ private cdp;
49
+ private debuggerEnabled;
50
+ private paused;
51
+ private currentCallFrames;
52
+ private breakpoints;
53
+ private scripts;
54
+ private xhrBreakpoints;
55
+ private blackboxPatterns;
56
+ /**
57
+ * Creates a new Debugger instance.
58
+ *
59
+ * @param options - Configuration options
60
+ * @param options.cdp - A CDPSession instance for sending CDP commands (works with both
61
+ * our CDPSession and Playwright's CDPSession)
62
+ *
63
+ * @example
64
+ * ```ts
65
+ * const cdp = await getCDPSessionForPage({ page, wsUrl })
66
+ * const dbg = new Debugger({ cdp })
67
+ * ```
68
+ */
69
+ constructor({ cdp }: {
70
+ cdp: ICDPSession;
71
+ });
72
+ private setupEventListeners;
73
+ /**
74
+ * Enables the debugger and runtime domains. Called automatically by other methods.
75
+ * Also resumes execution if the target was started with --inspect-brk.
76
+ *
77
+ * @example
78
+ * ```ts
79
+ * await dbg.enable()
80
+ * ```
81
+ */
82
+ enable(): Promise<void>;
83
+ /**
84
+ * Sets a breakpoint at a specified URL and line number.
85
+ * Use the URL from listScripts() to find available scripts.
86
+ *
87
+ * @param options - Breakpoint options
88
+ * @param options.file - Script URL (e.g. https://example.com/app.js)
89
+ * @param options.line - Line number (1-based)
90
+ * @param options.condition - Optional JS expression; only pause when it evaluates to true
91
+ * @returns The breakpoint ID for later removal
92
+ *
93
+ * @example
94
+ * ```ts
95
+ * const id = await dbg.setBreakpoint({ file: 'https://example.com/app.js', line: 42 })
96
+ * // later:
97
+ * await dbg.deleteBreakpoint({ breakpointId: id })
98
+ *
99
+ * // Conditional breakpoint - only pause when userId is 123
100
+ * await dbg.setBreakpoint({
101
+ * file: 'https://example.com/app.js',
102
+ * line: 42,
103
+ * condition: 'userId === 123'
104
+ * })
105
+ * ```
106
+ */
107
+ setBreakpoint({ file, line, condition }: {
108
+ file: string;
109
+ line: number;
110
+ condition?: string;
111
+ }): Promise<string>;
112
+ /**
113
+ * Removes a breakpoint by its ID.
114
+ *
115
+ * @param options - Options
116
+ * @param options.breakpointId - The breakpoint ID returned by setBreakpoint
117
+ *
118
+ * @example
119
+ * ```ts
120
+ * await dbg.deleteBreakpoint({ breakpointId: 'bp-123' })
121
+ * ```
122
+ */
123
+ deleteBreakpoint({ breakpointId }: {
124
+ breakpointId: string;
125
+ }): Promise<void>;
126
+ /**
127
+ * Returns a list of all active breakpoints set by this debugger instance.
128
+ *
129
+ * @returns Array of breakpoint info objects
130
+ *
131
+ * @example
132
+ * ```ts
133
+ * const breakpoints = dbg.listBreakpoints()
134
+ * // [{ id: 'bp-123', file: 'https://example.com/index.js', line: 42 }]
135
+ * ```
136
+ */
137
+ listBreakpoints(): BreakpointInfo[];
138
+ /**
139
+ * Inspects local variables in the current call frame.
140
+ * Must be paused at a breakpoint. String values over 1000 chars are truncated.
141
+ * Use evaluate() for full control over reading specific values.
142
+ *
143
+ * @returns Record of variable names to values
144
+ * @throws Error if not paused or no active call frames
145
+ *
146
+ * @example
147
+ * ```ts
148
+ * const vars = await dbg.inspectLocalVariables()
149
+ * // { myVar: 'hello', count: 42 }
150
+ * ```
151
+ */
152
+ inspectLocalVariables(): Promise<Record<string, unknown>>;
153
+ /**
154
+ * Returns global lexical scope variable names.
155
+ *
156
+ * @returns Array of global variable names
157
+ *
158
+ * @example
159
+ * ```ts
160
+ * const globals = await dbg.inspectGlobalVariables()
161
+ * // ['myGlobal', 'CONFIG']
162
+ * ```
163
+ */
164
+ inspectGlobalVariables(): Promise<string[]>;
165
+ /**
166
+ * Evaluates a JavaScript expression and returns the result.
167
+ * When paused at a breakpoint, evaluates in the current stack frame scope,
168
+ * allowing access to local variables. Otherwise evaluates in global scope.
169
+ * Values are not truncated, use this for full control over reading specific variables.
170
+ *
171
+ * @param options - Options
172
+ * @param options.expression - JavaScript expression to evaluate
173
+ * @returns The result value
174
+ *
175
+ * @example
176
+ * ```ts
177
+ * // When paused, can access local variables:
178
+ * const result = await dbg.evaluate({ expression: 'localVar + 1' })
179
+ *
180
+ * // Read a large string that would be truncated in inspectLocalVariables:
181
+ * const full = await dbg.evaluate({ expression: 'largeStringVar' })
182
+ * ```
183
+ */
184
+ evaluate({ expression }: {
185
+ expression: string;
186
+ }): Promise<EvaluateResult>;
187
+ /**
188
+ * Gets the current execution location when paused at a breakpoint.
189
+ * Includes the call stack and surrounding source code for context.
190
+ *
191
+ * @returns Location info with URL, line number, call stack, and source context
192
+ * @throws Error if debugger is not paused
193
+ *
194
+ * @example
195
+ * ```ts
196
+ * const location = await dbg.getLocation()
197
+ * console.log(location.url) // 'https://example.com/src/index.js'
198
+ * console.log(location.lineNumber) // 42
199
+ * console.log(location.callstack) // [{ functionName: 'handleRequest', ... }]
200
+ * console.log(location.sourceContext)
201
+ * // ' 40: function handleRequest(req) {
202
+ * // 41: const data = req.body
203
+ * // > 42: processData(data)
204
+ * // 43: }'
205
+ * ```
206
+ */
207
+ getLocation(): Promise<LocationInfo>;
208
+ /**
209
+ * Steps over to the next line of code, not entering function calls.
210
+ *
211
+ * @throws Error if debugger is not paused
212
+ *
213
+ * @example
214
+ * ```ts
215
+ * await dbg.stepOver()
216
+ * const newLocation = await dbg.getLocation()
217
+ * ```
218
+ */
219
+ stepOver(): Promise<void>;
220
+ /**
221
+ * Steps into a function call on the current line.
222
+ *
223
+ * @throws Error if debugger is not paused
224
+ *
225
+ * @example
226
+ * ```ts
227
+ * await dbg.stepInto()
228
+ * const location = await dbg.getLocation()
229
+ * // now inside the called function
230
+ * ```
231
+ */
232
+ stepInto(): Promise<void>;
233
+ /**
234
+ * Steps out of the current function, returning to the caller.
235
+ *
236
+ * @throws Error if debugger is not paused
237
+ *
238
+ * @example
239
+ * ```ts
240
+ * await dbg.stepOut()
241
+ * const location = await dbg.getLocation()
242
+ * // back in the calling function
243
+ * ```
244
+ */
245
+ stepOut(): Promise<void>;
246
+ /**
247
+ * Resumes code execution until the next breakpoint or completion.
248
+ *
249
+ * @throws Error if debugger is not paused
250
+ *
251
+ * @example
252
+ * ```ts
253
+ * await dbg.resume()
254
+ * // execution continues
255
+ * ```
256
+ */
257
+ resume(): Promise<void>;
258
+ /**
259
+ * Returns whether the debugger is currently paused at a breakpoint.
260
+ *
261
+ * @returns true if paused, false otherwise
262
+ *
263
+ * @example
264
+ * ```ts
265
+ * if (dbg.isPaused()) {
266
+ * const vars = await dbg.inspectLocalVariables()
267
+ * }
268
+ * ```
269
+ */
270
+ isPaused(): boolean;
271
+ /**
272
+ * Configures the debugger to pause on exceptions.
273
+ *
274
+ * @param options - Options
275
+ * @param options.state - When to pause: 'none' (never), 'uncaught' (only uncaught), or 'all' (all exceptions)
276
+ *
277
+ * @example
278
+ * ```ts
279
+ * // Pause only on uncaught exceptions
280
+ * await dbg.setPauseOnExceptions({ state: 'uncaught' })
281
+ *
282
+ * // Pause on all exceptions (caught and uncaught)
283
+ * await dbg.setPauseOnExceptions({ state: 'all' })
284
+ *
285
+ * // Disable pausing on exceptions
286
+ * await dbg.setPauseOnExceptions({ state: 'none' })
287
+ * ```
288
+ */
289
+ setPauseOnExceptions({ state }: {
290
+ state: 'none' | 'uncaught' | 'all';
291
+ }): Promise<void>;
292
+ /**
293
+ * Lists available scripts where breakpoints can be set.
294
+ * Automatically enables the debugger if not already enabled.
295
+ *
296
+ * @param options - Options
297
+ * @param options.search - Optional string to filter scripts by URL (case-insensitive)
298
+ * @returns Array of up to 20 matching scripts with scriptId and url
299
+ *
300
+ * @example
301
+ * ```ts
302
+ * // List all scripts
303
+ * const scripts = await dbg.listScripts()
304
+ * // [{ scriptId: '1', url: 'https://example.com/app.js' }, ...]
305
+ *
306
+ * // Search for specific files
307
+ * const handlers = await dbg.listScripts({ search: 'handler' })
308
+ * // [{ scriptId: '5', url: 'https://example.com/handlers.js' }]
309
+ * ```
310
+ */
311
+ listScripts({ search }?: {
312
+ search?: string;
313
+ }): Promise<ScriptInfo[]>;
314
+ setXHRBreakpoint({ url }: {
315
+ url: string;
316
+ }): Promise<void>;
317
+ removeXHRBreakpoint({ url }: {
318
+ url: string;
319
+ }): Promise<void>;
320
+ listXHRBreakpoints(): string[];
321
+ /**
322
+ * Sets regex patterns for scripts to blackbox (skip when stepping).
323
+ * Blackboxed scripts are hidden from the call stack and stepped over automatically.
324
+ * Useful for ignoring framework/library code during debugging.
325
+ *
326
+ * @param options - Options
327
+ * @param options.patterns - Array of regex patterns to match script URLs
328
+ *
329
+ * @example
330
+ * ```ts
331
+ * // Skip all node_modules
332
+ * await dbg.setBlackboxPatterns({ patterns: ['node_modules'] })
333
+ *
334
+ * // Skip React and other frameworks
335
+ * await dbg.setBlackboxPatterns({
336
+ * patterns: [
337
+ * 'node_modules/react',
338
+ * 'node_modules/react-dom',
339
+ * 'node_modules/next',
340
+ * 'webpack://',
341
+ * ]
342
+ * })
343
+ *
344
+ * // Skip all third-party scripts
345
+ * await dbg.setBlackboxPatterns({ patterns: ['^https://cdn\\.'] })
346
+ *
347
+ * // Clear all blackbox patterns
348
+ * await dbg.setBlackboxPatterns({ patterns: [] })
349
+ * ```
350
+ */
351
+ setBlackboxPatterns({ patterns }: {
352
+ patterns: string[];
353
+ }): Promise<void>;
354
+ /**
355
+ * Adds a single regex pattern to the blackbox list.
356
+ *
357
+ * @param options - Options
358
+ * @param options.pattern - Regex pattern to match script URLs
359
+ *
360
+ * @example
361
+ * ```ts
362
+ * await dbg.addBlackboxPattern({ pattern: 'node_modules/lodash' })
363
+ * await dbg.addBlackboxPattern({ pattern: 'node_modules/axios' })
364
+ * ```
365
+ */
366
+ addBlackboxPattern({ pattern }: {
367
+ pattern: string;
368
+ }): Promise<void>;
369
+ /**
370
+ * Removes a pattern from the blackbox list.
371
+ *
372
+ * @param options - Options
373
+ * @param options.pattern - The exact pattern string to remove
374
+ */
375
+ removeBlackboxPattern({ pattern }: {
376
+ pattern: string;
377
+ }): Promise<void>;
378
+ /**
379
+ * Returns the current list of blackbox patterns.
380
+ */
381
+ listBlackboxPatterns(): string[];
382
+ private truncateValue;
383
+ private formatPropertyValue;
384
+ private processRemoteObject;
385
+ }
386
+ ```
387
+
388
+ ## Examples
389
+
390
+ ```ts
391
+ import { page, getCDPSession, createDebugger, console } from './debugger-examples-types.js'
392
+
393
+ // Example: List available scripts and set a breakpoint
394
+ async function listScriptsAndSetBreakpoint() {
395
+ const cdp = await getCDPSession({ page })
396
+ const dbg = createDebugger({ cdp })
397
+ await dbg.enable()
398
+
399
+ const scripts = await dbg.listScripts({ search: 'app' })
400
+ console.log(scripts)
401
+
402
+ if (scripts.length > 0) {
403
+ const bpId = await dbg.setBreakpoint({ file: scripts[0].url, line: 100 })
404
+ console.log('Breakpoint set:', bpId)
405
+ }
406
+ }
407
+
408
+ // Example: Inspect state when paused at a breakpoint
409
+ async function inspectWhenPaused() {
410
+ const cdp = await getCDPSession({ page })
411
+ const dbg = createDebugger({ cdp })
412
+ await dbg.enable()
413
+
414
+ if (dbg.isPaused()) {
415
+ const loc = await dbg.getLocation()
416
+ console.log('Paused at:', loc.url, 'line', loc.lineNumber)
417
+ console.log('Source:', loc.sourceContext)
418
+
419
+ const vars = await dbg.inspectLocalVariables()
420
+ console.log('Variables:', vars)
421
+
422
+ const result = await dbg.evaluate({ expression: 'myVar.length' })
423
+ console.log('myVar.length =', result.value)
424
+
425
+ await dbg.stepOver()
426
+ }
427
+ }
428
+
429
+ // Example: Step through code
430
+ async function stepThroughCode() {
431
+ const cdp = await getCDPSession({ page })
432
+ const dbg = createDebugger({ cdp })
433
+ await dbg.enable()
434
+
435
+ await dbg.setBreakpoint({ file: 'https://example.com/app.js', line: 42 })
436
+
437
+ if (dbg.isPaused()) {
438
+ await dbg.stepOver()
439
+ await dbg.stepInto()
440
+ await dbg.stepOut()
441
+ await dbg.resume()
442
+ }
443
+ }
444
+
445
+ // Example: Cleanup all breakpoints
446
+ async function cleanupBreakpoints() {
447
+ const cdp = await getCDPSession({ page })
448
+ const dbg = createDebugger({ cdp })
449
+
450
+ const breakpoints = dbg.listBreakpoints()
451
+ for (const bp of breakpoints) {
452
+ await dbg.deleteBreakpoint({ breakpointId: bp.id })
453
+ }
454
+ }
455
+
456
+ export { listScriptsAndSetBreakpoint, inspectWhenPaused, stepThroughCode, cleanupBreakpoints }
457
+
458
+ ```
@@ -0,0 +1,24 @@
1
+ import type { Page, Locator } from 'playwright-core';
2
+ import type { CDPSession } from './cdp-session.js';
3
+ import type { Debugger } from './debugger.js';
4
+ import type { Editor } from './editor.js';
5
+ import type { StylesResult } from './styles.js';
6
+ export declare const page: Page;
7
+ export declare const getCDPSession: (options: {
8
+ page: Page;
9
+ }) => Promise<CDPSession>;
10
+ export declare const createDebugger: (options: {
11
+ cdp: CDPSession;
12
+ }) => Debugger;
13
+ export declare const createEditor: (options: {
14
+ cdp: CDPSession;
15
+ }) => Editor;
16
+ export declare const getStylesForLocator: (options: {
17
+ locator: Locator;
18
+ includeUserAgentStyles?: boolean;
19
+ }) => Promise<StylesResult>;
20
+ export declare const formatStylesAsText: (styles: StylesResult) => string;
21
+ export declare const console: {
22
+ log: (...args: unknown[]) => void;
23
+ };
24
+ //# sourceMappingURL=debugger-examples-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugger-examples-types.d.ts","sourceRoot":"","sources":["../src/debugger-examples-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,IAAI,CAAA;AAC/B,MAAM,CAAC,OAAO,CAAC,MAAM,aAAa,EAAE,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;AACpF,MAAM,CAAC,OAAO,CAAC,MAAM,cAAc,EAAE,CAAC,OAAO,EAAE;IAAE,GAAG,EAAE,UAAU,CAAA;CAAE,KAAK,QAAQ,CAAA;AAC/E,MAAM,CAAC,OAAO,CAAC,MAAM,YAAY,EAAE,CAAC,OAAO,EAAE;IAAE,GAAG,EAAE,UAAU,CAAA;CAAE,KAAK,MAAM,CAAA;AAC3E,MAAM,CAAC,OAAO,CAAC,MAAM,mBAAmB,EAAE,CAAC,OAAO,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAE,KAAK,OAAO,CAAC,YAAY,CAAC,CAAA;AACpI,MAAM,CAAC,OAAO,CAAC,MAAM,kBAAkB,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,MAAM,CAAA;AACzE,MAAM,CAAC,OAAO,CAAC,MAAM,OAAO,EAAE;IAAE,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CAAE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=debugger-examples-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugger-examples-types.js","sourceRoot":"","sources":["../src/debugger-examples-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ declare function listScriptsAndSetBreakpoint(): Promise<void>;
2
+ declare function inspectWhenPaused(): Promise<void>;
3
+ declare function stepThroughCode(): Promise<void>;
4
+ declare function cleanupBreakpoints(): Promise<void>;
5
+ export { listScriptsAndSetBreakpoint, inspectWhenPaused, stepThroughCode, cleanupBreakpoints };
6
+ //# sourceMappingURL=debugger-examples.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugger-examples.d.ts","sourceRoot":"","sources":["../src/debugger-examples.ts"],"names":[],"mappings":"AAGA,iBAAe,2BAA2B,kBAYzC;AAGD,iBAAe,iBAAiB,kBAkB/B;AAGD,iBAAe,eAAe,kBAa7B;AAGD,iBAAe,kBAAkB,kBAQhC;AAED,OAAO,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAA"}
@@ -0,0 +1,53 @@
1
+ import { page, getCDPSession, createDebugger, console } from './debugger-examples-types.js';
2
+ // Example: List available scripts and set a breakpoint
3
+ async function listScriptsAndSetBreakpoint() {
4
+ const cdp = await getCDPSession({ page });
5
+ const dbg = createDebugger({ cdp });
6
+ await dbg.enable();
7
+ const scripts = await dbg.listScripts({ search: 'app' });
8
+ console.log(scripts);
9
+ if (scripts.length > 0) {
10
+ const bpId = await dbg.setBreakpoint({ file: scripts[0].url, line: 100 });
11
+ console.log('Breakpoint set:', bpId);
12
+ }
13
+ }
14
+ // Example: Inspect state when paused at a breakpoint
15
+ async function inspectWhenPaused() {
16
+ const cdp = await getCDPSession({ page });
17
+ const dbg = createDebugger({ cdp });
18
+ await dbg.enable();
19
+ if (dbg.isPaused()) {
20
+ const loc = await dbg.getLocation();
21
+ console.log('Paused at:', loc.url, 'line', loc.lineNumber);
22
+ console.log('Source:', loc.sourceContext);
23
+ const vars = await dbg.inspectLocalVariables();
24
+ console.log('Variables:', vars);
25
+ const result = await dbg.evaluate({ expression: 'myVar.length' });
26
+ console.log('myVar.length =', result.value);
27
+ await dbg.stepOver();
28
+ }
29
+ }
30
+ // Example: Step through code
31
+ async function stepThroughCode() {
32
+ const cdp = await getCDPSession({ page });
33
+ const dbg = createDebugger({ cdp });
34
+ await dbg.enable();
35
+ await dbg.setBreakpoint({ file: 'https://example.com/app.js', line: 42 });
36
+ if (dbg.isPaused()) {
37
+ await dbg.stepOver();
38
+ await dbg.stepInto();
39
+ await dbg.stepOut();
40
+ await dbg.resume();
41
+ }
42
+ }
43
+ // Example: Cleanup all breakpoints
44
+ async function cleanupBreakpoints() {
45
+ const cdp = await getCDPSession({ page });
46
+ const dbg = createDebugger({ cdp });
47
+ const breakpoints = dbg.listBreakpoints();
48
+ for (const bp of breakpoints) {
49
+ await dbg.deleteBreakpoint({ breakpointId: bp.id });
50
+ }
51
+ }
52
+ export { listScriptsAndSetBreakpoint, inspectWhenPaused, stepThroughCode, cleanupBreakpoints };
53
+ //# sourceMappingURL=debugger-examples.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugger-examples.js","sourceRoot":"","sources":["../src/debugger-examples.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAE3F,uDAAuD;AACvD,KAAK,UAAU,2BAA2B;IACxC,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IACzC,MAAM,GAAG,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IACnC,MAAM,GAAG,CAAC,MAAM,EAAE,CAAA;IAElB,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IACxD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAEpB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;QACzE,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAA;IACtC,CAAC;AACH,CAAC;AAED,qDAAqD;AACrD,KAAK,UAAU,iBAAiB;IAC9B,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IACzC,MAAM,GAAG,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IACnC,MAAM,GAAG,CAAC,MAAM,EAAE,CAAA;IAElB,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAA;QACnC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QAC1D,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,aAAa,CAAC,CAAA;QAEzC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,qBAAqB,EAAE,CAAA;QAC9C,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;QAE/B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAA;QACjE,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QAE3C,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAA;IACtB,CAAC;AACH,CAAC;AAED,6BAA6B;AAC7B,KAAK,UAAU,eAAe;IAC5B,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IACzC,MAAM,GAAG,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IACnC,MAAM,GAAG,CAAC,MAAM,EAAE,CAAA;IAElB,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IAEzE,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;QACnB,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAA;QACpB,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAA;QACpB,MAAM,GAAG,CAAC,OAAO,EAAE,CAAA;QACnB,MAAM,GAAG,CAAC,MAAM,EAAE,CAAA;IACpB,CAAC;AACH,CAAC;AAED,mCAAmC;AACnC,KAAK,UAAU,kBAAkB;IAC/B,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IACzC,MAAM,GAAG,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IAEnC,MAAM,WAAW,GAAG,GAAG,CAAC,eAAe,EAAE,CAAA;IACzC,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;QAC7B,MAAM,GAAG,CAAC,gBAAgB,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;IACrD,CAAC;AACH,CAAC;AAED,OAAO,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAA"}