playwriter 0.0.38 → 0.0.39

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.
@@ -37,7 +37,7 @@ export declare function getAriaSnapshot({ page }: {
37
37
  * Labels are yellow badges positioned above each element showing the aria ref (e.g., "e1", "e2").
38
38
  * Use with screenshots so agents can see which elements are interactive.
39
39
  *
40
- * Labels auto-hide after 5 seconds to prevent stale labels remaining on the page.
40
+ * Labels auto-hide after 30 seconds to prevent stale labels remaining on the page.
41
41
  * Call this function again if the page HTML changes to get fresh labels.
42
42
  *
43
43
  * By default, only shows labels for truly interactive roles (button, link, textbox, etc.)
@@ -49,7 +49,7 @@ export declare function getAriaSnapshot({ page }: {
49
49
  * await page.screenshot({ path: '/tmp/screenshot.png' })
50
50
  * // Agent sees [e5] label on "Submit" button
51
51
  * await page.locator('aria-ref=e5').click()
52
- * // Labels auto-hide after 5 seconds, or call hideAriaRefLabels() manually
52
+ * // Labels auto-hide after 30 seconds, or call hideAriaRefLabels() manually
53
53
  * ```
54
54
  */
55
55
  export declare function showAriaRefLabels({ page, interactiveOnly }: {
@@ -1 +1 @@
1
- {"version":3,"file":"aria-snapshot.d.ts","sourceRoot":"","sources":["../src/aria-snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEnE,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACzD,UAAU,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,aAAa,CAAA;KAAE,CAAC,CAAA;IACzD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAA;IAChG,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;IAC/E,sBAAsB,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;CACrF;AA8ED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAwF3F;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,IAAI,EAAE,eAAsB,EAAE,EAAE;IACxE,IAAI,EAAE,IAAI,CAAA;IACV,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,GAAG,OAAO,CAAC;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAC,CA8MD;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAc/E"}
1
+ {"version":3,"file":"aria-snapshot.d.ts","sourceRoot":"","sources":["../src/aria-snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEnE,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACzD,UAAU,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,aAAa,CAAA;KAAE,CAAC,CAAA;IACzD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAA;IAChG,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;IAC/E,sBAAsB,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;CACrF;AA8ED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAwF3F;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,IAAI,EAAE,eAAsB,EAAE,EAAE;IACxE,IAAI,EAAE,IAAI,CAAA;IACV,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,GAAG,OAAO,CAAC;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAC,CAyOD;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAc/E"}
@@ -163,7 +163,7 @@ export async function getAriaSnapshot({ page }) {
163
163
  * Labels are yellow badges positioned above each element showing the aria ref (e.g., "e1", "e2").
164
164
  * Use with screenshots so agents can see which elements are interactive.
165
165
  *
166
- * Labels auto-hide after 5 seconds to prevent stale labels remaining on the page.
166
+ * Labels auto-hide after 30 seconds to prevent stale labels remaining on the page.
167
167
  * Call this function again if the page HTML changes to get fresh labels.
168
168
  *
169
169
  * By default, only shows labels for truly interactive roles (button, link, textbox, etc.)
@@ -175,7 +175,7 @@ export async function getAriaSnapshot({ page }) {
175
175
  * await page.screenshot({ path: '/tmp/screenshot.png' })
176
176
  * // Agent sees [e5] label on "Submit" button
177
177
  * await page.locator('aria-ref=e5').click()
178
- * // Labels auto-hide after 5 seconds, or call hideAriaRefLabels() manually
178
+ * // Labels auto-hide after 30 seconds, or call hideAriaRefLabels() manually
179
179
  * ```
180
180
  */
181
181
  export async function showAriaRefLabels({ page, interactiveOnly = true }) {
@@ -195,10 +195,12 @@ export async function showAriaRefLabels({ page, interactiveOnly = true }) {
195
195
  }));
196
196
  // Single evaluate call: create container, styles, and all labels
197
197
  // ElementHandles get unwrapped to DOM elements in browser context
198
- // Using 'any' types here since this code runs in browser context
199
198
  const labelCount = await page.evaluate(
200
199
  // Using 'any' for browser types since this runs in browser context
201
- ({ refs, containerId, containerStyles, labelStyles, roleColors, defaultColors }) => {
200
+ function ({ refs, containerId, containerStyles, labelStyles, roleColors, defaultColors }) {
201
+ // Polyfill esbuild's __name helper which gets injected by vite-node but doesn't exist in browser
202
+ ;
203
+ globalThis.__name ||= (fn) => fn;
202
204
  const doc = globalThis.document;
203
205
  const win = globalThis;
204
206
  // Cancel any pending auto-hide timer from previous call
@@ -224,62 +226,76 @@ export async function showAriaRefLabels({ page, interactiveOnly = true }) {
224
226
  const LABEL_HEIGHT = 16;
225
227
  const LABEL_CHAR_WIDTH = 7; // approximate width per character
226
228
  // Parse alpha from rgb/rgba color string (getComputedStyle always returns these formats)
227
- const getColorAlpha = (color) => {
228
- if (color === 'transparent')
229
+ function getColorAlpha(color) {
230
+ if (color === 'transparent') {
229
231
  return 0;
232
+ }
230
233
  // Match rgba(r, g, b, a) or rgb(r, g, b)
231
234
  const match = color.match(/rgba?\(\s*[\d.]+\s*,\s*[\d.]+\s*,\s*[\d.]+\s*(?:,\s*([\d.]+)\s*)?\)/);
232
235
  if (match) {
233
236
  return match[1] !== undefined ? parseFloat(match[1]) : 1;
234
237
  }
235
238
  return 1; // Default to opaque for unrecognized formats
236
- };
239
+ }
237
240
  // Check if an element has an opaque background that would block elements behind it
238
- const isOpaqueElement = (el) => {
241
+ function isOpaqueElement(el) {
239
242
  const style = win.getComputedStyle(el);
240
243
  // Check element opacity
241
244
  const opacity = parseFloat(style.opacity);
242
- if (opacity < 0.1)
245
+ if (opacity < 0.1) {
243
246
  return false;
247
+ }
244
248
  // Check background-color alpha
245
249
  const bgAlpha = getColorAlpha(style.backgroundColor);
246
- if (bgAlpha > 0.1)
250
+ if (bgAlpha > 0.1) {
247
251
  return true;
252
+ }
248
253
  // Check if has background-image (usually opaque)
249
- if (style.backgroundImage !== 'none')
254
+ if (style.backgroundImage !== 'none') {
250
255
  return true;
256
+ }
251
257
  return false;
252
- };
258
+ }
253
259
  // Check if element is visible (not covered by opaque overlay)
254
- const isElementVisible = (element, rect) => {
260
+ function isElementVisible(element, rect) {
255
261
  const centerX = rect.left + rect.width / 2;
256
262
  const centerY = rect.top + rect.height / 2;
257
263
  // Get all elements at this point, from top to bottom
258
264
  const stack = doc.elementsFromPoint(centerX, centerY);
259
265
  // Find our target element in the stack
260
- const targetIndex = stack.findIndex((el) => element.contains(el) || el.contains(element));
266
+ let targetIndex = -1;
267
+ for (let i = 0; i < stack.length; i++) {
268
+ if (element.contains(stack[i]) || stack[i].contains(element)) {
269
+ targetIndex = i;
270
+ break;
271
+ }
272
+ }
261
273
  // Element not in stack at all - not visible
262
- if (targetIndex === -1)
274
+ if (targetIndex === -1) {
263
275
  return false;
276
+ }
264
277
  // Check if any opaque element is above our target
265
278
  for (let i = 0; i < targetIndex; i++) {
266
279
  const el = stack[i];
267
280
  // Skip our own overlay container
268
- if (el.id === containerId)
281
+ if (el.id === containerId) {
269
282
  continue;
283
+ }
270
284
  // Skip pointer-events: none elements (decorative overlays)
271
- if (win.getComputedStyle(el).pointerEvents === 'none')
285
+ if (win.getComputedStyle(el).pointerEvents === 'none') {
272
286
  continue;
287
+ }
273
288
  // If this element is opaque, our target is blocked
274
- if (isOpaqueElement(el))
289
+ if (isOpaqueElement(el)) {
275
290
  return false;
291
+ }
276
292
  }
277
293
  return true;
278
- };
294
+ }
279
295
  // Check if two rectangles overlap
280
- const rectsOverlap = (a, b) => {
296
+ function rectsOverlap(a, b) {
281
297
  return a.left < b.right && a.right > b.left && a.top < b.bottom && a.bottom > b.top;
282
- };
298
+ }
283
299
  // Create label for each interactive element
284
300
  let count = 0;
285
301
  for (const { ref, role, element } of refs) {
@@ -303,7 +319,13 @@ export async function showAriaRefLabels({ page, interactiveOnly = true }) {
303
319
  bottom: labelTop + LABEL_HEIGHT,
304
320
  };
305
321
  // Skip if this label would overlap with any already-placed label
306
- const overlaps = placedLabels.some((placed) => rectsOverlap(labelRect, placed));
322
+ let overlaps = false;
323
+ for (const placed of placedLabels) {
324
+ if (rectsOverlap(labelRect, placed)) {
325
+ overlaps = true;
326
+ break;
327
+ }
328
+ }
307
329
  if (overlaps) {
308
330
  continue;
309
331
  }
@@ -323,12 +345,12 @@ export async function showAriaRefLabels({ page, interactiveOnly = true }) {
323
345
  count++;
324
346
  }
325
347
  doc.documentElement.appendChild(container);
326
- // Auto-hide labels after 5 seconds to prevent stale labels
348
+ // Auto-hide labels after 30 seconds to prevent stale labels
327
349
  // Store timer ID so it can be cancelled if showAriaRefLabels is called again
328
- win[timerKey] = win.setTimeout(() => {
350
+ win[timerKey] = win.setTimeout(function () {
329
351
  doc.getElementById(containerId)?.remove();
330
352
  win[timerKey] = null;
331
- }, 5000);
353
+ }, 30000);
332
354
  return count;
333
355
  }, {
334
356
  refs: refsWithRoles.map(({ ref, role, element }) => ({ ref, role, element })),
@@ -1 +1 @@
1
- {"version":3,"file":"aria-snapshot.js","sourceRoot":"","sources":["../src/aria-snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aria-snapshot.js","sourceRoot":"","sources":["../src/aria-snapshot.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,20 @@
1
1
  {
2
2
  "name": "playwriter",
3
3
  "description": "",
4
- "version": "0.0.38",
4
+ "version": "0.0.39",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "repository": "https://github.com/remorses/playwriter",
9
+ "scripts": {
10
+ "build": "rm -rf dist *.tsbuildinfo && mkdir dist && bun scripts/build-selector-generator.ts && bun scripts/build-bippy.ts && tsc && bun scripts/build-resources.ts",
11
+ "prepublishOnly": "pnpm build",
12
+ "watch": "tsc -w",
13
+ "typecheck": "tsc --noEmit",
14
+ "mcp": "vite-node src/mcp.ts",
15
+ "test": "vitest run -u",
16
+ "test:watch": "vitest"
17
+ },
9
18
  "bin": "./bin.js",
10
19
  "files": [
11
20
  "dist",
@@ -25,9 +34,9 @@
25
34
  "@vitest/ui": "^4.0.8",
26
35
  "bippy": "^0.5.27",
27
36
  "image-size": "^2.0.2",
37
+ "mcp-extension": "workspace:*",
28
38
  "vite-node": "^5.0.0",
29
- "vitest": "^4.0.8",
30
- "mcp-extension": "0.0.65"
39
+ "vitest": "^4.0.8"
31
40
  },
32
41
  "dependencies": {
33
42
  "@hono/node-server": "^1.19.6",
@@ -46,13 +55,5 @@
46
55
  "user-agents": "^1.1.669",
47
56
  "ws": "^8.18.3",
48
57
  "zod": "^3"
49
- },
50
- "scripts": {
51
- "build": "rm -rf dist *.tsbuildinfo && mkdir dist && bun scripts/build-selector-generator.ts && bun scripts/build-bippy.ts && tsc && bun scripts/build-resources.ts",
52
- "watch": "tsc -w",
53
- "typecheck": "tsc --noEmit",
54
- "mcp": "vite-node src/mcp.ts",
55
- "test": "vitest run -u",
56
- "test:watch": "vitest"
57
58
  }
58
- }
59
+ }
@@ -197,7 +197,7 @@ export async function getAriaSnapshot({ page }: { page: Page }): Promise<AriaSna
197
197
  * Labels are yellow badges positioned above each element showing the aria ref (e.g., "e1", "e2").
198
198
  * Use with screenshots so agents can see which elements are interactive.
199
199
  *
200
- * Labels auto-hide after 5 seconds to prevent stale labels remaining on the page.
200
+ * Labels auto-hide after 30 seconds to prevent stale labels remaining on the page.
201
201
  * Call this function again if the page HTML changes to get fresh labels.
202
202
  *
203
203
  * By default, only shows labels for truly interactive roles (button, link, textbox, etc.)
@@ -209,7 +209,7 @@ export async function getAriaSnapshot({ page }: { page: Page }): Promise<AriaSna
209
209
  * await page.screenshot({ path: '/tmp/screenshot.png' })
210
210
  * // Agent sees [e5] label on "Submit" button
211
211
  * await page.locator('aria-ref=e5').click()
212
- * // Labels auto-hide after 5 seconds, or call hideAriaRefLabels() manually
212
+ * // Labels auto-hide after 30 seconds, or call hideAriaRefLabels() manually
213
213
  * ```
214
214
  */
215
215
  export async function showAriaRefLabels({ page, interactiveOnly = true }: {
@@ -238,10 +238,9 @@ export async function showAriaRefLabels({ page, interactiveOnly = true }: {
238
238
 
239
239
  // Single evaluate call: create container, styles, and all labels
240
240
  // ElementHandles get unwrapped to DOM elements in browser context
241
- // Using 'any' types here since this code runs in browser context
242
241
  const labelCount = await page.evaluate(
243
242
  // Using 'any' for browser types since this runs in browser context
244
- ({ refs, containerId, containerStyles, labelStyles, roleColors, defaultColors }: {
243
+ function ({ refs, containerId, containerStyles, labelStyles, roleColors, defaultColors }: {
245
244
  refs: Array<{
246
245
  ref: string
247
246
  role: string
@@ -252,7 +251,9 @@ export async function showAriaRefLabels({ page, interactiveOnly = true }: {
252
251
  labelStyles: string
253
252
  roleColors: Record<string, [string, string, string]>
254
253
  defaultColors: [string, string, string]
255
- }) => {
254
+ }) {
255
+ // Polyfill esbuild's __name helper which gets injected by vite-node but doesn't exist in browser
256
+ ;(globalThis as any).__name ||= (fn: any) => fn
256
257
  const doc = (globalThis as any).document
257
258
  const win = globalThis as any
258
259
 
@@ -285,8 +286,10 @@ export async function showAriaRefLabels({ page, interactiveOnly = true }: {
285
286
  const LABEL_CHAR_WIDTH = 7 // approximate width per character
286
287
 
287
288
  // Parse alpha from rgb/rgba color string (getComputedStyle always returns these formats)
288
- const getColorAlpha = (color: string): number => {
289
- if (color === 'transparent') return 0
289
+ function getColorAlpha(color: string): number {
290
+ if (color === 'transparent') {
291
+ return 0
292
+ }
290
293
  // Match rgba(r, g, b, a) or rgb(r, g, b)
291
294
  const match = color.match(/rgba?\(\s*[\d.]+\s*,\s*[\d.]+\s*,\s*[\d.]+\s*(?:,\s*([\d.]+)\s*)?\)/)
292
295
  if (match) {
@@ -296,25 +299,31 @@ export async function showAriaRefLabels({ page, interactiveOnly = true }: {
296
299
  }
297
300
 
298
301
  // Check if an element has an opaque background that would block elements behind it
299
- const isOpaqueElement = (el: any): boolean => {
302
+ function isOpaqueElement(el: any): boolean {
300
303
  const style = win.getComputedStyle(el)
301
304
 
302
305
  // Check element opacity
303
306
  const opacity = parseFloat(style.opacity)
304
- if (opacity < 0.1) return false
307
+ if (opacity < 0.1) {
308
+ return false
309
+ }
305
310
 
306
311
  // Check background-color alpha
307
312
  const bgAlpha = getColorAlpha(style.backgroundColor)
308
- if (bgAlpha > 0.1) return true
313
+ if (bgAlpha > 0.1) {
314
+ return true
315
+ }
309
316
 
310
317
  // Check if has background-image (usually opaque)
311
- if (style.backgroundImage !== 'none') return true
318
+ if (style.backgroundImage !== 'none') {
319
+ return true
320
+ }
312
321
 
313
322
  return false
314
323
  }
315
324
 
316
325
  // Check if element is visible (not covered by opaque overlay)
317
- const isElementVisible = (element: any, rect: any): boolean => {
326
+ function isElementVisible(element: any, rect: any): boolean {
318
327
  const centerX = rect.left + rect.width / 2
319
328
  const centerY = rect.top + rect.height / 2
320
329
 
@@ -322,32 +331,44 @@ export async function showAriaRefLabels({ page, interactiveOnly = true }: {
322
331
  const stack = doc.elementsFromPoint(centerX, centerY) as any[]
323
332
 
324
333
  // Find our target element in the stack
325
- const targetIndex = stack.findIndex((el: any) =>
326
- element.contains(el) || el.contains(element)
327
- )
334
+ let targetIndex = -1
335
+ for (let i = 0; i < stack.length; i++) {
336
+ if (element.contains(stack[i]) || stack[i].contains(element)) {
337
+ targetIndex = i
338
+ break
339
+ }
340
+ }
328
341
 
329
342
  // Element not in stack at all - not visible
330
- if (targetIndex === -1) return false
343
+ if (targetIndex === -1) {
344
+ return false
345
+ }
331
346
 
332
347
  // Check if any opaque element is above our target
333
348
  for (let i = 0; i < targetIndex; i++) {
334
349
  const el = stack[i]
335
350
  // Skip our own overlay container
336
- if (el.id === containerId) continue
351
+ if (el.id === containerId) {
352
+ continue
353
+ }
337
354
  // Skip pointer-events: none elements (decorative overlays)
338
- if (win.getComputedStyle(el).pointerEvents === 'none') continue
355
+ if (win.getComputedStyle(el).pointerEvents === 'none') {
356
+ continue
357
+ }
339
358
  // If this element is opaque, our target is blocked
340
- if (isOpaqueElement(el)) return false
359
+ if (isOpaqueElement(el)) {
360
+ return false
361
+ }
341
362
  }
342
363
 
343
364
  return true
344
365
  }
345
366
 
346
367
  // Check if two rectangles overlap
347
- const rectsOverlap = (
368
+ function rectsOverlap(
348
369
  a: { left: number; top: number; right: number; bottom: number },
349
370
  b: { left: number; top: number; right: number; bottom: number }
350
- ) => {
371
+ ) {
351
372
  return a.left < b.right && a.right > b.left && a.top < b.bottom && a.bottom > b.top
352
373
  }
353
374
 
@@ -378,7 +399,13 @@ export async function showAriaRefLabels({ page, interactiveOnly = true }: {
378
399
  }
379
400
 
380
401
  // Skip if this label would overlap with any already-placed label
381
- const overlaps = placedLabels.some((placed) => rectsOverlap(labelRect, placed))
402
+ let overlaps = false
403
+ for (const placed of placedLabels) {
404
+ if (rectsOverlap(labelRect, placed)) {
405
+ overlaps = true
406
+ break
407
+ }
408
+ }
382
409
  if (overlaps) {
383
410
  continue
384
411
  }
@@ -404,12 +431,12 @@ export async function showAriaRefLabels({ page, interactiveOnly = true }: {
404
431
 
405
432
  doc.documentElement.appendChild(container)
406
433
 
407
- // Auto-hide labels after 5 seconds to prevent stale labels
434
+ // Auto-hide labels after 30 seconds to prevent stale labels
408
435
  // Store timer ID so it can be cancelled if showAriaRefLabels is called again
409
- win[timerKey] = win.setTimeout(() => {
436
+ win[timerKey] = win.setTimeout(function() {
410
437
  doc.getElementById(containerId)?.remove()
411
438
  win[timerKey] = null
412
- }, 5000)
439
+ }, 30000)
413
440
 
414
441
  return count
415
442
  },
package/src/prompt.md CHANGED
@@ -206,7 +206,7 @@ const matches = await editor.grep({ regex: /console\.log/ });
206
206
  await editor.edit({ url: matches[0].url, oldString: 'DEBUG = false', newString: 'DEBUG = true' });
207
207
  ```
208
208
 
209
- **showAriaRefLabels** - overlay Vimium-style visual labels on interactive elements. Useful for taking screenshots where you can see element references. Labels auto-hide after 5 seconds. Call again if page HTML changes to get fresh labels.
209
+ **showAriaRefLabels** - overlay Vimium-style visual labels on interactive elements. Useful for taking screenshots where you can see element references. Labels auto-hide after 30 seconds. Call again if page HTML changes or scrolls to get fresh labels. Use a timeout of 10 seconds at least.
210
210
 
211
211
  ```js
212
212
  const { snapshot, labelCount } = await showAriaRefLabels({ page });
@@ -218,7 +218,7 @@ await page.locator('aria-ref=e5').click();
218
218
 
219
219
  Labels are color-coded: yellow=links, orange=buttons, coral=inputs, pink=checkboxes, peach=sliders, salmon=menus, amber=tabs.
220
220
 
221
- **hideAriaRefLabels** - manually remove labels before the 5-second auto-hide:
221
+ **hideAriaRefLabels** - manually remove labels before the 30-second auto-hide:
222
222
 
223
223
  ```js
224
224
  await hideAriaRefLabels({ page });