[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-letta-browser-use":3,"mdc-u1wgx3-key":41,"related-repo-letta-browser-use":5389,"related-org-letta-browser-use":5476},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":36,"sourceUrl":39,"mdContent":40},"browser-use","automate browser navigation and interaction","Control a real browser to navigate pages, click, type, fill forms, inspect rendered UI, take screenshots, or record video. Load only when the user asks to open or automate a browser, interact with or test rendered page UI, scrape a site that needs browser execution, or capture a browser screenshot or video. Do not load for backend logs, traces, API or stream events, source-code inspection, or plain HTTP or web research that does not require a browser.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"letta","Letta","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fletta.png","letta-ai",[13,17,20],{"name":14,"slug":15,"type":16},"Automation","automation","tag",{"name":18,"slug":19,"type":16},"Testing","testing",{"name":21,"slug":22,"type":16},"Browser Automation","browser-automation",2831,"https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code","2026-08-31T09:19:30.902952",null,329,[29,30,31,32,33,8,34,35],"agent-memory","ai","claude","codex","continual-learning","memgpt","stateful-agents",{"repoUrl":24,"stars":23,"forks":27,"topics":37,"description":38},[29,30,31,32,33,8,34,35],"Stateful agents that are like people, with memory, identity, and the ability to learn and adapt","https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Ftree\u002FHEAD\u002Fsrc\u002Fskills\u002Fbuiltin\u002Fbrowser-use","---\nname: browser-use\ndescription: Control a real browser to navigate pages, click, type, fill forms, inspect rendered UI, take screenshots, or record video. Load only when the user asks to open or automate a browser, interact with or test rendered page UI, scrape a site that needs browser execution, or capture a browser screenshot or video. Do not load for backend logs, traces, API or stream events, source-code inspection, or plain HTTP or web research that does not require a browser.\n---\n\n# Browser Use with CDP\n\nDrive the browser through its native Chrome DevTools Protocol over the\nremote-debugging WebSocket. This works with zero dependencies: launch the\nbrowser with `--remote-debugging-port`, then talk JSON over `fetch` and the\nbuilt-in `WebSocket` global (available in Bun and Node ≥ 22 — no `ws` package).\n\nIf the project already has Playwright or Puppeteer installed, using it is\nusually simpler — reach for raw CDP when no automation library is available,\nwhen protocol-level control is needed, or when recording a deterministic\nvisual demo.\n\nProtocol reference: https:\u002F\u002Fchromedevtools.github.io\u002Fdevtools-protocol\u002F.\nThe running browser's exact schema is at `http:\u002F\u002F127.0.0.1:\u003Cport>\u002Fjson\u002Fprotocol`;\ntip-of-tree docs can differ from the installed version.\n\n## Managed cloud sandbox default: visible browser\n\nWhen running in a cloud sandbox, default every browser task to the visible\nmanaged desktop, even when the user did not explicitly ask to watch. Most\nbrowser tasks exist because plain HTTP is not enough; a headless browser is\nmore likely to trigger bot protection and gives the user no way to observe or\ntake over. This matters especially for clicking or typing, forms, sign-in,\ncheckout\u002Fpayment, CAPTCHAs or bot protection, and user handoff.\n\nFor the first managed-sandbox browser window, use the skill's launcher instead\nof assembling Chrome, DISPLAY, or Xvfb commands yourself:\n\n```bash\n\u002Froot\u002F.letta\u002Fcloud-skills\u002Fbrowser-use\u002Fscripts\u002Fopen-visible-browser.sh 'https:\u002F\u002Fexample.com'\n```\n\nIt starts the managed desktop and launches Chrome through the persistent Cua\nDriver with its required root flag. Then load `computer-use` for visible\ninteraction. If protocol-level control is necessary, use Cua Driver's explicit\n`browser_prepare` flow after binding the exact visible window; do not pass\nremote-debugging flags through `launch_app`. The launcher exits zero only\nafter Cua Driver reports an on-screen browser window. If it exits nonzero, stop\nand report the launch failure instead of claiming the browser opened.\n\nWhen the user asks to review, watch, or take over, leave that browser window\nopen after the task. Do not kill or close it before replying.\n\n1. Run `start-letta-desktop` and use its exit status as the result. Warnings\n   from optional services do not mean startup failed when the command exits 0.\n   If it exits nonzero, stop and report that the managed desktop is\n   unavailable. Never create another Xvfb, VNC server, or private display: the\n   Computer viewer only shows the managed desktop.\n2. Load `computer-use`, inspect the managed desktop, and use Cua Driver to\n   operate an existing Chrome window or launch Chrome there. When launching,\n   round-trip Chrome's `launch_path` from `cua-driver call list_apps '{}'\n   instead of rebuilding it; the managed launch path carries required flags.\n   For forms, sign-in, checkout, CAPTCHA, and bot-protected pages, keep using\n   Cua Driver so the interaction remains visible and available for user\n   takeover.\n3. Use CDP only when protocol-level inspection or deterministic automation is\n   needed. Bind the exact visible browser window with Cua Driver, then use its\n   explicit `browser_prepare` flow. Do not pass remote-debugging flags\n   through `launch_app`. Include `--no-sandbox` when running Chrome as\n   root. Do not add `--headless` or override `DISPLAY`.\n4. Use headless mode only for work the user explicitly wants in the background\n   and that cannot require interaction or handoff, such as read-only scraping,\n   CI, or screenshot\u002FPDF generation.\n5. Verify the result through the managed desktop window (Cua Driver window\n   state or screenshot), not only through DOM output or a screenshot from a\n   separate process.\n\nA headless page does not satisfy a request to open or reopen a site in the\nuser-visible browser.\n\n## Workflow\n\n1. Find a Chromium-based browser (below). If none exists, see \"No Chrome installed\".\n2. In a managed cloud sandbox, follow the visible-browser default above.\n   Otherwise, launch with a dedicated profile and remote debugging. Never\n   attach to the user's normal profile unless explicitly asked.\n3. Discover targets via `\u002Fjson\u002Flist`; pick the `\"page\"` target by URL or title.\n4. Connect to its `webSocketDebuggerUrl` and enable only the domains you need\n   (usually `Page`, `Runtime`, `DOM`, `Input`; add `Network`, `Log` when debugging).\n5. Inspect before acting: find elements by accessible name, label, text, role,\n   stable ID, or placeholder — not generated classes or child indexes.\n6. Act through `Input.*` for user-like interactions; use `Runtime.evaluate` for\n   inspection, coordinate math, and setup with no meaningful user interaction.\n7. Wait on observable state, never fixed sleeps alone.\n8. Verify the result (DOM state, URL, screenshot, console\u002Fnetwork events).\n9. Clean up temporary background work: stop screencasts and close the\n   WebSocket. Kill a browser you launched only when the user did not ask to\n   review, watch, or take over the visible window.\n\n## Finding the browser\n\nAny Chromium-based browser supports CDP (Chrome, Chromium, Edge, Brave). Probe\nin order:\n\n```bash\n# macOS\nfor c in \"\u002FApplications\u002FGoogle Chrome.app\u002FContents\u002FMacOS\u002FGoogle Chrome\" \\\n         \"\u002FApplications\u002FChromium.app\u002FContents\u002FMacOS\u002FChromium\" \\\n         \"\u002FApplications\u002FMicrosoft Edge.app\u002FContents\u002FMacOS\u002FMicrosoft Edge\" \\\n         \"\u002FApplications\u002FBrave Browser.app\u002FContents\u002FMacOS\u002FBrave Browser\"; do\n  [ -x \"$c\" ] && { echo \"$c\"; break; }\ndone\n\n# Linux\nfor c in google-chrome google-chrome-stable chromium chromium-browser microsoft-edge brave-browser; do\n  command -v \"$c\" && break\ndone\n```\n\nOn Windows, check `%ProgramFiles%\\Google\\Chrome\\Application\\chrome.exe`,\n`%ProgramFiles(x86)%\\...`, `%LocalAppData%\\Google\\Chrome\\Application\\chrome.exe`,\nand the same patterns for `Microsoft\\Edge`.\n\n### No Chrome installed\n\nAny browser found by the probe above works identically — use it. If truly no\nChromium-based browser exists, do not install or download one automatically.\nTell the user that browser use requires Chrome or another Chromium-based\nbrowser and recommend either:\n\n1. Install Chrome on the current computer, then retry the browser task.\n2. Teleport the conversation back to its Cloud sandbox, where the managed\n   browser is already installed.\n\nWait for the user to choose. Do not silently replace the browser task with\nplain HTTP or claim browser automation succeeded.\n\n## Launching\n\nOutside a managed cloud sandbox, use a disposable profile and a fixed port.\nChrome refuses to run as root without `--no-sandbox`, so add that flag when\n`id -u` is 0:\n\n```bash\nchrome_args=( \\\n  --remote-debugging-port=9222 \\\n  --user-data-dir=\u002Ftmp\u002Fcdp-profile \\\n  --window-size=1440,900 \\\n  --force-device-scale-factor=1 \\\n  --no-first-run \\\n  --no-default-browser-check \\\n)\n[ \"$(id -u)\" -eq 0 ] && chrome_args+=(--no-sandbox)\n\"$CHROME\" \"${chrome_args[@]}\" https:\u002F\u002Fexample.com\n```\n\nOutside a managed cloud sandbox, add `--headless=new` only for explicitly\ninvisible work or when no display exists. In a managed cloud sandbox, follow\nthe visible-browser rule above and never replace its managed display with a\nprivate one.\nWith `--remote-debugging-port=0`, read the chosen port from\n`\u003Cuser-data-dir>\u002FDevToolsActivePort`. Launch in the background and poll\n`http:\u002F\u002F127.0.0.1:9222\u002Fjson\u002Fversion` until it responds.\n\nHTTP endpoints: `\u002Fjson\u002Fversion` (browser metadata + browser-level WebSocket URL),\n`\u002Fjson\u002Flist` (targets), `PUT \u002Fjson\u002Fnew?\u003Curl>` (open tab),\n`\u002Fjson\u002Factivate\u002F\u003Cid>`, `\u002Fjson\u002Fclose\u002F\u003Cid>`, `\u002Fjson\u002Fprotocol` (schema).\n\nAttach to the **page** target for `Page`\u002F`DOM`\u002F`Runtime`\u002F`Input` work; use the\n**browser** target only for browser-wide commands (target control, downloads,\nbrowser contexts).\n\n## Minimal CDP client\n\nCDP messages are JSON with monotonically increasing request ids. Run with `bun`:\n\n```ts\nconst targets = await (await fetch(\"http:\u002F\u002F127.0.0.1:9222\u002Fjson\u002Flist\")).json();\nconst target = targets.find((t: any) => t.type === \"page\");\nif (!target) throw new Error(\"No page target\");\n\nconst ws = new WebSocket(target.webSocketDebuggerUrl);\nawait new Promise((resolve, reject) => {\n  ws.onopen = resolve;\n  ws.onerror = reject;\n});\n\nlet nextId = 0;\nconst pending = new Map();\nws.onmessage = (event) => {\n  const msg = JSON.parse(String(event.data));\n  if (!msg.id) return handleEvent(msg); \u002F\u002F Page.loadEventFired, Log.entryAdded, ...\n  const p = pending.get(msg.id);\n  if (!p) return;\n  pending.delete(msg.id);\n  msg.error ? p.reject(new Error(JSON.stringify(msg.error))) : p.resolve(msg.result);\n};\nws.onclose = () => {\n  for (const p of pending.values()) p.reject(new Error(\"socket closed\"));\n  pending.clear();\n};\n\nfunction send(method: string, params: object = {}): Promise\u003Cany> {\n  return new Promise((resolve, reject) => {\n    const id = ++nextId;\n    pending.set(id, { resolve, reject });\n    ws.send(JSON.stringify({ id, method, params }));\n  });\n}\n\nawait send(\"Page.enable\");\nawait send(\"Runtime.enable\");\n```\n\nNavigations destroy execution contexts and can invalidate in-flight\n`Runtime.evaluate` calls; retry after observing the new document.\n\n## Inspecting the page\n\nStart with a concise UI inventory:\n\n```ts\nconst result = await send(\"Runtime.evaluate\", {\n  expression: `JSON.stringify({\n    buttons: [...document.querySelectorAll('button')].map((el) => ({\n      text: el.innerText.trim(), aria: el.getAttribute('aria-label'), title: el.title\n    })).filter((x) => x.text || x.aria || x.title),\n    inputs: [...document.querySelectorAll('input, textarea, [contenteditable=true]')].map((el) => ({\n      tag: el.tagName, type: el.type, placeholder: el.placeholder,\n      aria: el.getAttribute('aria-label'), value: el.value\n    }))\n  })`,\n  returnByValue: true,\n});\n```\n\nUse `awaitPromise: true` for async expressions and `userGesture: true` when the\npage requires user activation. Treat `exceptionDetails` in the result as an\nerror even though the CDP command itself succeeded.\n\n`document.querySelector` does not cross shadow boundaries — traverse open\nshadow roots explicitly; for closed shadow roots or remote-object work use the\n`DOM` domain (`DOM.getDocument`, `DOM.querySelector`, `DOM.getBoxModel`).\n\n## Clicking and typing\n\nCompute coordinates in CSS pixels immediately before acting, then send native\ninput events:\n\n```ts\nasync function point(expr: string) {\n  const r = await send(\"Runtime.evaluate\", {\n    expression: `(() => {\n      const el = ${expr};\n      if (!el) return null;\n      el.scrollIntoView({ block: 'center', inline: 'center' });\n      const b = el.getBoundingClientRect();\n      return { x: b.left + b.width \u002F 2, y: b.top + b.height \u002F 2 };\n    })()`,\n    returnByValue: true,\n  });\n  if (!r.result.value) throw new Error(`Element not found: ${expr}`);\n  return r.result.value;\n}\n\nasync function click(expr: string) {\n  const { x, y } = await point(expr);\n  await send(\"Input.dispatchMouseEvent\", { type: \"mouseMoved\", x, y });\n  await send(\"Input.dispatchMouseEvent\", { type: \"mousePressed\", x, y, button: \"left\", buttons: 1, clickCount: 1 });\n  await send(\"Input.dispatchMouseEvent\", { type: \"mouseReleased\", x, y, button: \"left\", buttons: 0, clickCount: 1 });\n}\n```\n\nFocus an editable element (click it), then insert text:\n\n```ts\nawait click(`document.querySelector('input[aria-label=\"Search\"]')`);\nawait send(\"Input.insertText\", { text: \"search terms\" });\n```\n\nUse `Input.insertText` for text and Unicode; use paired `Input.dispatchKeyEvent`\n(`keyDown` + `keyUp` with `key`, `code`, `windowsVirtualKeyCode`) for Enter,\nEscape, arrows, Tab, and shortcuts. Modifier bits: Alt=1, Ctrl=2, Meta=4, Shift=8.\n\nNative `\u003Cselect>` and framework-controlled inputs may need the prototype setter\nplus bubbling events:\n\n```ts\nconst setter = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, \"value\").set;\nsetter.call(input, \"new value\");\ninput.dispatchEvent(new Event(\"input\", { bubbles: true }));\ninput.dispatchEvent(new Event(\"change\", { bubbles: true }));\n```\n\nPrefer real `Input.*` events for the behavior being demonstrated or tested;\ndirect DOM mutation is fine for deterministic setup and inspection.\n\n## Waiting reliably\n\nA returned command does not mean the action completed. Poll the state that\nproves completion:\n\n```ts\nasync function waitFor(expr: string, timeoutMs = 30_000) {\n  const start = Date.now();\n  while (Date.now() - start \u003C timeoutMs) {\n    const r = await send(\"Runtime.evaluate\", { expression: `Boolean(${expr})`, returnByValue: true });\n    if (r.result.value) return;\n    await new Promise((res) => setTimeout(res, 250));\n  }\n  throw new Error(`Timed out waiting for ${expr}`);\n}\n\nawait waitFor(`document.body.innerText.includes('Saved')`);\n```\n\nFor navigation, wait on `Page.loadEventFired` or a lifecycle `networkIdle`\nevent — but SPA route changes may emit neither, so prefer the UI condition\nthat actually matters.\n\n## Screenshots, PDF, and video\n\n```ts\nconst shot = await send(\"Page.captureScreenshot\", { format: \"png\" });\nawait Bun.write(\"screenshot.png\", Buffer.from(shot.data, \"base64\"));\n```\n\n`captureBeyondViewport: true` for full-page; `Page.getLayoutMetrics` + `clip`\nfor exact regions; `Page.printToPDF` for PDFs. For video recording with\n`Page.startScreencast` and demo-polish tips, read\n[references\u002Frecording.md](references\u002Frecording.md).\n\n## Debugging failures\n\nEnable `Network` and `Log`, then watch `Network.requestWillBeSent`,\n`Network.responseReceived`, `Network.loadingFailed`, `Runtime.consoleAPICalled`,\n`Runtime.exceptionThrown`, and `Log.entryAdded`. Fetch bodies with\n`Network.getResponseBody`. Never log authorization headers, cookies, API keys,\npasswords, or response bodies containing secrets — scrub before returning\noutput to context.\n\nCommon failure modes:\n\n- **ECONNREFUSED on the port**: browser exited, wrong port, or debugging not\n  enabled — check `\u002Fjson\u002Fversion` first.\n- **No matching target**: inspect `\u002Fjson\u002Flist`; match by URL\u002Ftitle, don't take\n  the first page blindly.\n- **Execution context destroyed**: the page navigated; wait for the new\n  document and re-evaluate.\n- **Click misses an existing element**: scroll into view and recalculate the\n  box immediately before dispatching.\n- **Typed text doesn't stick in a controlled input**: focus + `Input.insertText`,\n  or the prototype-setter pattern above.\n- **Opening DevTools disconnects automation**: embedded DevTools can detach\n  other clients — don't open DevTools during a run.\n- **Page commands fail on the browser endpoint**: attach to the page target.\n\n## Safety\n\nBrowser automation acts with the user's browser authority.\n\n- Use a disposable profile by default.\n- Do not submit purchases, publish content, send messages, delete data, or\n  accept consequential dialogs without explicit authorization.\n- Do not extract saved passwords, tokens, cookies, or unrelated browsing data.\n- Stay within the requested origin and workflow.\n- Keep the remote-debugging listener on loopback (`127.0.0.1`) unless the user\n  explicitly needs remote access and has authentication in place.\n",{"data":42,"body":43},{"name":4,"description":6},{"type":44,"children":45},"root",[46,55,94,99,122,129,134,139,179,208,213,304,309,315,448,454,459,789,824,831,836,849,854,860,880,1122,1159,1209,1255,1261,1274,2784,2796,2802,2807,2994,3023,3063,3069,3074,3909,3914,4027,4083,4096,4385,4397,4403,4408,4900,4921,4927,5111,5159,5165,5236,5241,5336,5342,5347,5383],{"type":47,"tag":48,"props":49,"children":51},"element","h1",{"id":50},"browser-use-with-cdp",[52],{"type":53,"value":54},"text","Browser Use with CDP",{"type":47,"tag":56,"props":57,"children":58},"p",{},[59,61,68,70,76,78,84,86,92],{"type":53,"value":60},"Drive the browser through its native Chrome DevTools Protocol over the\nremote-debugging WebSocket. This works with zero dependencies: launch the\nbrowser with ",{"type":47,"tag":62,"props":63,"children":65},"code",{"className":64},[],[66],{"type":53,"value":67},"--remote-debugging-port",{"type":53,"value":69},", then talk JSON over ",{"type":47,"tag":62,"props":71,"children":73},{"className":72},[],[74],{"type":53,"value":75},"fetch",{"type":53,"value":77}," and the\nbuilt-in ",{"type":47,"tag":62,"props":79,"children":81},{"className":80},[],[82],{"type":53,"value":83},"WebSocket",{"type":53,"value":85}," global (available in Bun and Node ≥ 22 — no ",{"type":47,"tag":62,"props":87,"children":89},{"className":88},[],[90],{"type":53,"value":91},"ws",{"type":53,"value":93}," package).",{"type":47,"tag":56,"props":95,"children":96},{},[97],{"type":53,"value":98},"If the project already has Playwright or Puppeteer installed, using it is\nusually simpler — reach for raw CDP when no automation library is available,\nwhen protocol-level control is needed, or when recording a deterministic\nvisual demo.",{"type":47,"tag":56,"props":100,"children":101},{},[102,104,112,114,120],{"type":53,"value":103},"Protocol reference: ",{"type":47,"tag":105,"props":106,"children":110},"a",{"href":107,"rel":108},"https:\u002F\u002Fchromedevtools.github.io\u002Fdevtools-protocol\u002F",[109],"nofollow",[111],{"type":53,"value":107},{"type":53,"value":113},".\nThe running browser's exact schema is at ",{"type":47,"tag":62,"props":115,"children":117},{"className":116},[],[118],{"type":53,"value":119},"http:\u002F\u002F127.0.0.1:\u003Cport>\u002Fjson\u002Fprotocol",{"type":53,"value":121},";\ntip-of-tree docs can differ from the installed version.",{"type":47,"tag":123,"props":124,"children":126},"h2",{"id":125},"managed-cloud-sandbox-default-visible-browser",[127],{"type":53,"value":128},"Managed cloud sandbox default: visible browser",{"type":47,"tag":56,"props":130,"children":131},{},[132],{"type":53,"value":133},"When running in a cloud sandbox, default every browser task to the visible\nmanaged desktop, even when the user did not explicitly ask to watch. Most\nbrowser tasks exist because plain HTTP is not enough; a headless browser is\nmore likely to trigger bot protection and gives the user no way to observe or\ntake over. This matters especially for clicking or typing, forms, sign-in,\ncheckout\u002Fpayment, CAPTCHAs or bot protection, and user handoff.",{"type":47,"tag":56,"props":135,"children":136},{},[137],{"type":53,"value":138},"For the first managed-sandbox browser window, use the skill's launcher instead\nof assembling Chrome, DISPLAY, or Xvfb commands yourself:",{"type":47,"tag":140,"props":141,"children":146},"pre",{"className":142,"code":143,"language":144,"meta":145,"style":145},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002Froot\u002F.letta\u002Fcloud-skills\u002Fbrowser-use\u002Fscripts\u002Fopen-visible-browser.sh 'https:\u002F\u002Fexample.com'\n","bash","",[147],{"type":47,"tag":62,"props":148,"children":149},{"__ignoreMap":145},[150],{"type":47,"tag":151,"props":152,"children":155},"span",{"class":153,"line":154},"line",1,[156,162,168,174],{"type":47,"tag":151,"props":157,"children":159},{"style":158},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[160],{"type":53,"value":161},"\u002Froot\u002F.letta\u002Fcloud-skills\u002Fbrowser-use\u002Fscripts\u002Fopen-visible-browser.sh",{"type":47,"tag":151,"props":163,"children":165},{"style":164},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[166],{"type":53,"value":167}," '",{"type":47,"tag":151,"props":169,"children":171},{"style":170},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[172],{"type":53,"value":173},"https:\u002F\u002Fexample.com",{"type":47,"tag":151,"props":175,"children":176},{"style":164},[177],{"type":53,"value":178},"'\n",{"type":47,"tag":56,"props":180,"children":181},{},[182,184,190,192,198,200,206],{"type":53,"value":183},"It starts the managed desktop and launches Chrome through the persistent Cua\nDriver with its required root flag. Then load ",{"type":47,"tag":62,"props":185,"children":187},{"className":186},[],[188],{"type":53,"value":189},"computer-use",{"type":53,"value":191}," for visible\ninteraction. If protocol-level control is necessary, use Cua Driver's explicit\n",{"type":47,"tag":62,"props":193,"children":195},{"className":194},[],[196],{"type":53,"value":197},"browser_prepare",{"type":53,"value":199}," flow after binding the exact visible window; do not pass\nremote-debugging flags through ",{"type":47,"tag":62,"props":201,"children":203},{"className":202},[],[204],{"type":53,"value":205},"launch_app",{"type":53,"value":207},". The launcher exits zero only\nafter Cua Driver reports an on-screen browser window. If it exits nonzero, stop\nand report the launch failure instead of claiming the browser opened.",{"type":47,"tag":56,"props":209,"children":210},{},[211],{"type":53,"value":212},"When the user asks to review, watch, or take over, leave that browser window\nopen after the task. Do not kill or close it before replying.",{"type":47,"tag":214,"props":215,"children":216},"ol",{},[217,231,251,294,299],{"type":47,"tag":218,"props":219,"children":220},"li",{},[221,223,229],{"type":53,"value":222},"Run ",{"type":47,"tag":62,"props":224,"children":226},{"className":225},[],[227],{"type":53,"value":228},"start-letta-desktop",{"type":53,"value":230}," and use its exit status as the result. Warnings\nfrom optional services do not mean startup failed when the command exits 0.\nIf it exits nonzero, stop and report that the managed desktop is\nunavailable. Never create another Xvfb, VNC server, or private display: the\nComputer viewer only shows the managed desktop.",{"type":47,"tag":218,"props":232,"children":233},{},[234,236,241,243,249],{"type":53,"value":235},"Load ",{"type":47,"tag":62,"props":237,"children":239},{"className":238},[],[240],{"type":53,"value":189},{"type":53,"value":242},", inspect the managed desktop, and use Cua Driver to\noperate an existing Chrome window or launch Chrome there. When launching,\nround-trip Chrome's ",{"type":47,"tag":62,"props":244,"children":246},{"className":245},[],[247],{"type":53,"value":248},"launch_path",{"type":53,"value":250}," from `cua-driver call list_apps '{}'\ninstead of rebuilding it; the managed launch path carries required flags.\nFor forms, sign-in, checkout, CAPTCHA, and bot-protected pages, keep using\nCua Driver so the interaction remains visible and available for user\ntakeover.",{"type":47,"tag":218,"props":252,"children":253},{},[254,256,261,263,268,270,276,278,284,286,292],{"type":53,"value":255},"Use CDP only when protocol-level inspection or deterministic automation is\nneeded. Bind the exact visible browser window with Cua Driver, then use its\nexplicit ",{"type":47,"tag":62,"props":257,"children":259},{"className":258},[],[260],{"type":53,"value":197},{"type":53,"value":262}," flow. Do not pass remote-debugging flags\nthrough ",{"type":47,"tag":62,"props":264,"children":266},{"className":265},[],[267],{"type":53,"value":205},{"type":53,"value":269},". Include ",{"type":47,"tag":62,"props":271,"children":273},{"className":272},[],[274],{"type":53,"value":275},"--no-sandbox",{"type":53,"value":277}," when running Chrome as\nroot. Do not add ",{"type":47,"tag":62,"props":279,"children":281},{"className":280},[],[282],{"type":53,"value":283},"--headless",{"type":53,"value":285}," or override ",{"type":47,"tag":62,"props":287,"children":289},{"className":288},[],[290],{"type":53,"value":291},"DISPLAY",{"type":53,"value":293},".",{"type":47,"tag":218,"props":295,"children":296},{},[297],{"type":53,"value":298},"Use headless mode only for work the user explicitly wants in the background\nand that cannot require interaction or handoff, such as read-only scraping,\nCI, or screenshot\u002FPDF generation.",{"type":47,"tag":218,"props":300,"children":301},{},[302],{"type":53,"value":303},"Verify the result through the managed desktop window (Cua Driver window\nstate or screenshot), not only through DOM output or a screenshot from a\nseparate process.",{"type":47,"tag":56,"props":305,"children":306},{},[307],{"type":53,"value":308},"A headless page does not satisfy a request to open or reopen a site in the\nuser-visible browser.",{"type":47,"tag":123,"props":310,"children":312},{"id":311},"workflow",[313],{"type":53,"value":314},"Workflow",{"type":47,"tag":214,"props":316,"children":317},{},[318,323,328,349,407,412,433,438,443],{"type":47,"tag":218,"props":319,"children":320},{},[321],{"type":53,"value":322},"Find a Chromium-based browser (below). If none exists, see \"No Chrome installed\".",{"type":47,"tag":218,"props":324,"children":325},{},[326],{"type":53,"value":327},"In a managed cloud sandbox, follow the visible-browser default above.\nOtherwise, launch with a dedicated profile and remote debugging. Never\nattach to the user's normal profile unless explicitly asked.",{"type":47,"tag":218,"props":329,"children":330},{},[331,333,339,341,347],{"type":53,"value":332},"Discover targets via ",{"type":47,"tag":62,"props":334,"children":336},{"className":335},[],[337],{"type":53,"value":338},"\u002Fjson\u002Flist",{"type":53,"value":340},"; pick the ",{"type":47,"tag":62,"props":342,"children":344},{"className":343},[],[345],{"type":53,"value":346},"\"page\"",{"type":53,"value":348}," target by URL or title.",{"type":47,"tag":218,"props":350,"children":351},{},[352,354,360,362,368,370,376,377,383,384,390,392,398,399,405],{"type":53,"value":353},"Connect to its ",{"type":47,"tag":62,"props":355,"children":357},{"className":356},[],[358],{"type":53,"value":359},"webSocketDebuggerUrl",{"type":53,"value":361}," and enable only the domains you need\n(usually ",{"type":47,"tag":62,"props":363,"children":365},{"className":364},[],[366],{"type":53,"value":367},"Page",{"type":53,"value":369},", ",{"type":47,"tag":62,"props":371,"children":373},{"className":372},[],[374],{"type":53,"value":375},"Runtime",{"type":53,"value":369},{"type":47,"tag":62,"props":378,"children":380},{"className":379},[],[381],{"type":53,"value":382},"DOM",{"type":53,"value":369},{"type":47,"tag":62,"props":385,"children":387},{"className":386},[],[388],{"type":53,"value":389},"Input",{"type":53,"value":391},"; add ",{"type":47,"tag":62,"props":393,"children":395},{"className":394},[],[396],{"type":53,"value":397},"Network",{"type":53,"value":369},{"type":47,"tag":62,"props":400,"children":402},{"className":401},[],[403],{"type":53,"value":404},"Log",{"type":53,"value":406}," when debugging).",{"type":47,"tag":218,"props":408,"children":409},{},[410],{"type":53,"value":411},"Inspect before acting: find elements by accessible name, label, text, role,\nstable ID, or placeholder — not generated classes or child indexes.",{"type":47,"tag":218,"props":413,"children":414},{},[415,417,423,425,431],{"type":53,"value":416},"Act through ",{"type":47,"tag":62,"props":418,"children":420},{"className":419},[],[421],{"type":53,"value":422},"Input.*",{"type":53,"value":424}," for user-like interactions; use ",{"type":47,"tag":62,"props":426,"children":428},{"className":427},[],[429],{"type":53,"value":430},"Runtime.evaluate",{"type":53,"value":432}," for\ninspection, coordinate math, and setup with no meaningful user interaction.",{"type":47,"tag":218,"props":434,"children":435},{},[436],{"type":53,"value":437},"Wait on observable state, never fixed sleeps alone.",{"type":47,"tag":218,"props":439,"children":440},{},[441],{"type":53,"value":442},"Verify the result (DOM state, URL, screenshot, console\u002Fnetwork events).",{"type":47,"tag":218,"props":444,"children":445},{},[446],{"type":53,"value":447},"Clean up temporary background work: stop screencasts and close the\nWebSocket. Kill a browser you launched only when the user did not ask to\nreview, watch, or take over the visible window.",{"type":47,"tag":123,"props":449,"children":451},{"id":450},"finding-the-browser",[452],{"type":53,"value":453},"Finding the browser",{"type":47,"tag":56,"props":455,"children":456},{},[457],{"type":53,"value":458},"Any Chromium-based browser supports CDP (Chrome, Chromium, Edge, Brave). Probe\nin order:",{"type":47,"tag":140,"props":460,"children":462},{"className":142,"code":461,"language":144,"meta":145,"style":145},"# macOS\nfor c in \"\u002FApplications\u002FGoogle Chrome.app\u002FContents\u002FMacOS\u002FGoogle Chrome\" \\\n         \"\u002FApplications\u002FChromium.app\u002FContents\u002FMacOS\u002FChromium\" \\\n         \"\u002FApplications\u002FMicrosoft Edge.app\u002FContents\u002FMacOS\u002FMicrosoft Edge\" \\\n         \"\u002FApplications\u002FBrave Browser.app\u002FContents\u002FMacOS\u002FBrave Browser\"; do\n  [ -x \"$c\" ] && { echo \"$c\"; break; }\ndone\n\n# Linux\nfor c in google-chrome google-chrome-stable chromium chromium-browser microsoft-edge brave-browser; do\n  command -v \"$c\" && break\ndone\n",[463],{"type":47,"tag":62,"props":464,"children":465},{"__ignoreMap":145},[466,475,516,538,559,586,664,673,683,692,746,781],{"type":47,"tag":151,"props":467,"children":468},{"class":153,"line":154},[469],{"type":47,"tag":151,"props":470,"children":472},{"style":471},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[473],{"type":53,"value":474},"# macOS\n",{"type":47,"tag":151,"props":476,"children":478},{"class":153,"line":477},2,[479,485,491,496,501,506,511],{"type":47,"tag":151,"props":480,"children":482},{"style":481},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[483],{"type":53,"value":484},"for",{"type":47,"tag":151,"props":486,"children":488},{"style":487},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[489],{"type":53,"value":490}," c ",{"type":47,"tag":151,"props":492,"children":493},{"style":481},[494],{"type":53,"value":495},"in",{"type":47,"tag":151,"props":497,"children":498},{"style":164},[499],{"type":53,"value":500}," \"",{"type":47,"tag":151,"props":502,"children":503},{"style":170},[504],{"type":53,"value":505},"\u002FApplications\u002FGoogle Chrome.app\u002FContents\u002FMacOS\u002FGoogle Chrome",{"type":47,"tag":151,"props":507,"children":508},{"style":164},[509],{"type":53,"value":510},"\"",{"type":47,"tag":151,"props":512,"children":513},{"style":487},[514],{"type":53,"value":515}," \\\n",{"type":47,"tag":151,"props":517,"children":519},{"class":153,"line":518},3,[520,525,530,534],{"type":47,"tag":151,"props":521,"children":522},{"style":164},[523],{"type":53,"value":524},"         \"",{"type":47,"tag":151,"props":526,"children":527},{"style":170},[528],{"type":53,"value":529},"\u002FApplications\u002FChromium.app\u002FContents\u002FMacOS\u002FChromium",{"type":47,"tag":151,"props":531,"children":532},{"style":164},[533],{"type":53,"value":510},{"type":47,"tag":151,"props":535,"children":536},{"style":487},[537],{"type":53,"value":515},{"type":47,"tag":151,"props":539,"children":541},{"class":153,"line":540},4,[542,546,551,555],{"type":47,"tag":151,"props":543,"children":544},{"style":164},[545],{"type":53,"value":524},{"type":47,"tag":151,"props":547,"children":548},{"style":170},[549],{"type":53,"value":550},"\u002FApplications\u002FMicrosoft Edge.app\u002FContents\u002FMacOS\u002FMicrosoft Edge",{"type":47,"tag":151,"props":552,"children":553},{"style":164},[554],{"type":53,"value":510},{"type":47,"tag":151,"props":556,"children":557},{"style":487},[558],{"type":53,"value":515},{"type":47,"tag":151,"props":560,"children":562},{"class":153,"line":561},5,[563,567,572,576,581],{"type":47,"tag":151,"props":564,"children":565},{"style":164},[566],{"type":53,"value":524},{"type":47,"tag":151,"props":568,"children":569},{"style":170},[570],{"type":53,"value":571},"\u002FApplications\u002FBrave Browser.app\u002FContents\u002FMacOS\u002FBrave Browser",{"type":47,"tag":151,"props":573,"children":574},{"style":164},[575],{"type":53,"value":510},{"type":47,"tag":151,"props":577,"children":578},{"style":164},[579],{"type":53,"value":580},";",{"type":47,"tag":151,"props":582,"children":583},{"style":481},[584],{"type":53,"value":585}," do\n",{"type":47,"tag":151,"props":587,"children":589},{"class":153,"line":588},6,[590,595,600,604,609,613,618,623,628,634,638,642,646,650,655,659],{"type":47,"tag":151,"props":591,"children":592},{"style":164},[593],{"type":53,"value":594},"  [",{"type":47,"tag":151,"props":596,"children":597},{"style":164},[598],{"type":53,"value":599}," -x",{"type":47,"tag":151,"props":601,"children":602},{"style":164},[603],{"type":53,"value":500},{"type":47,"tag":151,"props":605,"children":606},{"style":487},[607],{"type":53,"value":608},"$c",{"type":47,"tag":151,"props":610,"children":611},{"style":164},[612],{"type":53,"value":510},{"type":47,"tag":151,"props":614,"children":615},{"style":164},[616],{"type":53,"value":617}," ]",{"type":47,"tag":151,"props":619,"children":620},{"style":164},[621],{"type":53,"value":622}," &&",{"type":47,"tag":151,"props":624,"children":625},{"style":164},[626],{"type":53,"value":627}," {",{"type":47,"tag":151,"props":629,"children":631},{"style":630},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[632],{"type":53,"value":633}," echo",{"type":47,"tag":151,"props":635,"children":636},{"style":164},[637],{"type":53,"value":500},{"type":47,"tag":151,"props":639,"children":640},{"style":487},[641],{"type":53,"value":608},{"type":47,"tag":151,"props":643,"children":644},{"style":164},[645],{"type":53,"value":510},{"type":47,"tag":151,"props":647,"children":648},{"style":164},[649],{"type":53,"value":580},{"type":47,"tag":151,"props":651,"children":652},{"style":481},[653],{"type":53,"value":654}," break",{"type":47,"tag":151,"props":656,"children":657},{"style":164},[658],{"type":53,"value":580},{"type":47,"tag":151,"props":660,"children":661},{"style":164},[662],{"type":53,"value":663}," }\n",{"type":47,"tag":151,"props":665,"children":667},{"class":153,"line":666},7,[668],{"type":47,"tag":151,"props":669,"children":670},{"style":481},[671],{"type":53,"value":672},"done\n",{"type":47,"tag":151,"props":674,"children":676},{"class":153,"line":675},8,[677],{"type":47,"tag":151,"props":678,"children":680},{"emptyLinePlaceholder":679},true,[681],{"type":53,"value":682},"\n",{"type":47,"tag":151,"props":684,"children":686},{"class":153,"line":685},9,[687],{"type":47,"tag":151,"props":688,"children":689},{"style":471},[690],{"type":53,"value":691},"# Linux\n",{"type":47,"tag":151,"props":693,"children":695},{"class":153,"line":694},10,[696,700,704,708,713,718,723,728,733,738,742],{"type":47,"tag":151,"props":697,"children":698},{"style":481},[699],{"type":53,"value":484},{"type":47,"tag":151,"props":701,"children":702},{"style":487},[703],{"type":53,"value":490},{"type":47,"tag":151,"props":705,"children":706},{"style":481},[707],{"type":53,"value":495},{"type":47,"tag":151,"props":709,"children":710},{"style":170},[711],{"type":53,"value":712}," google-chrome",{"type":47,"tag":151,"props":714,"children":715},{"style":170},[716],{"type":53,"value":717}," google-chrome-stable",{"type":47,"tag":151,"props":719,"children":720},{"style":170},[721],{"type":53,"value":722}," chromium",{"type":47,"tag":151,"props":724,"children":725},{"style":170},[726],{"type":53,"value":727}," chromium-browser",{"type":47,"tag":151,"props":729,"children":730},{"style":170},[731],{"type":53,"value":732}," microsoft-edge",{"type":47,"tag":151,"props":734,"children":735},{"style":170},[736],{"type":53,"value":737}," brave-browser",{"type":47,"tag":151,"props":739,"children":740},{"style":164},[741],{"type":53,"value":580},{"type":47,"tag":151,"props":743,"children":744},{"style":481},[745],{"type":53,"value":585},{"type":47,"tag":151,"props":747,"children":749},{"class":153,"line":748},11,[750,755,760,764,768,772,776],{"type":47,"tag":151,"props":751,"children":752},{"style":630},[753],{"type":53,"value":754},"  command",{"type":47,"tag":151,"props":756,"children":757},{"style":170},[758],{"type":53,"value":759}," -v",{"type":47,"tag":151,"props":761,"children":762},{"style":164},[763],{"type":53,"value":500},{"type":47,"tag":151,"props":765,"children":766},{"style":487},[767],{"type":53,"value":608},{"type":47,"tag":151,"props":769,"children":770},{"style":164},[771],{"type":53,"value":510},{"type":47,"tag":151,"props":773,"children":774},{"style":164},[775],{"type":53,"value":622},{"type":47,"tag":151,"props":777,"children":778},{"style":481},[779],{"type":53,"value":780}," break\n",{"type":47,"tag":151,"props":782,"children":784},{"class":153,"line":783},12,[785],{"type":47,"tag":151,"props":786,"children":787},{"style":481},[788],{"type":53,"value":672},{"type":47,"tag":56,"props":790,"children":791},{},[792,794,800,802,808,809,815,817,823],{"type":53,"value":793},"On Windows, check ",{"type":47,"tag":62,"props":795,"children":797},{"className":796},[],[798],{"type":53,"value":799},"%ProgramFiles%\\Google\\Chrome\\Application\\chrome.exe",{"type":53,"value":801},",\n",{"type":47,"tag":62,"props":803,"children":805},{"className":804},[],[806],{"type":53,"value":807},"%ProgramFiles(x86)%\\...",{"type":53,"value":369},{"type":47,"tag":62,"props":810,"children":812},{"className":811},[],[813],{"type":53,"value":814},"%LocalAppData%\\Google\\Chrome\\Application\\chrome.exe",{"type":53,"value":816},",\nand the same patterns for ",{"type":47,"tag":62,"props":818,"children":820},{"className":819},[],[821],{"type":53,"value":822},"Microsoft\\Edge",{"type":53,"value":293},{"type":47,"tag":825,"props":826,"children":828},"h3",{"id":827},"no-chrome-installed",[829],{"type":53,"value":830},"No Chrome installed",{"type":47,"tag":56,"props":832,"children":833},{},[834],{"type":53,"value":835},"Any browser found by the probe above works identically — use it. If truly no\nChromium-based browser exists, do not install or download one automatically.\nTell the user that browser use requires Chrome or another Chromium-based\nbrowser and recommend either:",{"type":47,"tag":214,"props":837,"children":838},{},[839,844],{"type":47,"tag":218,"props":840,"children":841},{},[842],{"type":53,"value":843},"Install Chrome on the current computer, then retry the browser task.",{"type":47,"tag":218,"props":845,"children":846},{},[847],{"type":53,"value":848},"Teleport the conversation back to its Cloud sandbox, where the managed\nbrowser is already installed.",{"type":47,"tag":56,"props":850,"children":851},{},[852],{"type":53,"value":853},"Wait for the user to choose. Do not silently replace the browser task with\nplain HTTP or claim browser automation succeeded.",{"type":47,"tag":123,"props":855,"children":857},{"id":856},"launching",[858],{"type":53,"value":859},"Launching",{"type":47,"tag":56,"props":861,"children":862},{},[863,865,870,872,878],{"type":53,"value":864},"Outside a managed cloud sandbox, use a disposable profile and a fixed port.\nChrome refuses to run as root without ",{"type":47,"tag":62,"props":866,"children":868},{"className":867},[],[869],{"type":53,"value":275},{"type":53,"value":871},", so add that flag when\n",{"type":47,"tag":62,"props":873,"children":875},{"className":874},[],[876],{"type":53,"value":877},"id -u",{"type":53,"value":879}," is 0:",{"type":47,"tag":140,"props":881,"children":883},{"className":142,"code":882,"language":144,"meta":145,"style":145},"chrome_args=( \\\n  --remote-debugging-port=9222 \\\n  --user-data-dir=\u002Ftmp\u002Fcdp-profile \\\n  --window-size=1440,900 \\\n  --force-device-scale-factor=1 \\\n  --no-first-run \\\n  --no-default-browser-check \\\n)\n[ \"$(id -u)\" -eq 0 ] && chrome_args+=(--no-sandbox)\n\"$CHROME\" \"${chrome_args[@]}\" https:\u002F\u002Fexample.com\n",[884],{"type":47,"tag":62,"props":885,"children":886},{"__ignoreMap":145},[887,904,928,949,970,991,1003,1015,1023,1087],{"type":47,"tag":151,"props":888,"children":889},{"class":153,"line":154},[890,895,900],{"type":47,"tag":151,"props":891,"children":892},{"style":487},[893],{"type":53,"value":894},"chrome_args",{"type":47,"tag":151,"props":896,"children":897},{"style":164},[898],{"type":53,"value":899},"=(",{"type":47,"tag":151,"props":901,"children":902},{"style":487},[903],{"type":53,"value":515},{"type":47,"tag":151,"props":905,"children":906},{"class":153,"line":477},[907,913,918,924],{"type":47,"tag":151,"props":908,"children":910},{"style":909},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[911],{"type":53,"value":912},"  --remote-debugging-port",{"type":47,"tag":151,"props":914,"children":915},{"style":164},[916],{"type":53,"value":917},"=",{"type":47,"tag":151,"props":919,"children":921},{"style":920},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[922],{"type":53,"value":923},"9222",{"type":47,"tag":151,"props":925,"children":926},{"style":487},[927],{"type":53,"value":515},{"type":47,"tag":151,"props":929,"children":930},{"class":153,"line":518},[931,936,940,945],{"type":47,"tag":151,"props":932,"children":933},{"style":909},[934],{"type":53,"value":935},"  --user-data-dir",{"type":47,"tag":151,"props":937,"children":938},{"style":164},[939],{"type":53,"value":917},{"type":47,"tag":151,"props":941,"children":942},{"style":170},[943],{"type":53,"value":944},"\u002Ftmp\u002Fcdp-profile",{"type":47,"tag":151,"props":946,"children":947},{"style":487},[948],{"type":53,"value":515},{"type":47,"tag":151,"props":950,"children":951},{"class":153,"line":540},[952,957,961,966],{"type":47,"tag":151,"props":953,"children":954},{"style":909},[955],{"type":53,"value":956},"  --window-size",{"type":47,"tag":151,"props":958,"children":959},{"style":164},[960],{"type":53,"value":917},{"type":47,"tag":151,"props":962,"children":963},{"style":170},[964],{"type":53,"value":965},"1440,900",{"type":47,"tag":151,"props":967,"children":968},{"style":487},[969],{"type":53,"value":515},{"type":47,"tag":151,"props":971,"children":972},{"class":153,"line":561},[973,978,982,987],{"type":47,"tag":151,"props":974,"children":975},{"style":909},[976],{"type":53,"value":977},"  --force-device-scale-factor",{"type":47,"tag":151,"props":979,"children":980},{"style":164},[981],{"type":53,"value":917},{"type":47,"tag":151,"props":983,"children":984},{"style":920},[985],{"type":53,"value":986},"1",{"type":47,"tag":151,"props":988,"children":989},{"style":487},[990],{"type":53,"value":515},{"type":47,"tag":151,"props":992,"children":993},{"class":153,"line":588},[994,999],{"type":47,"tag":151,"props":995,"children":996},{"style":170},[997],{"type":53,"value":998},"  --no-first-run",{"type":47,"tag":151,"props":1000,"children":1001},{"style":487},[1002],{"type":53,"value":515},{"type":47,"tag":151,"props":1004,"children":1005},{"class":153,"line":666},[1006,1011],{"type":47,"tag":151,"props":1007,"children":1008},{"style":170},[1009],{"type":53,"value":1010},"  --no-default-browser-check",{"type":47,"tag":151,"props":1012,"children":1013},{"style":487},[1014],{"type":53,"value":515},{"type":47,"tag":151,"props":1016,"children":1017},{"class":153,"line":675},[1018],{"type":47,"tag":151,"props":1019,"children":1020},{"style":164},[1021],{"type":53,"value":1022},")\n",{"type":47,"tag":151,"props":1024,"children":1025},{"class":153,"line":685},[1026,1031,1036,1041,1046,1051,1056,1061,1065,1069,1074,1079,1083],{"type":47,"tag":151,"props":1027,"children":1028},{"style":164},[1029],{"type":53,"value":1030},"[",{"type":47,"tag":151,"props":1032,"children":1033},{"style":164},[1034],{"type":53,"value":1035}," \"$(",{"type":47,"tag":151,"props":1037,"children":1038},{"style":158},[1039],{"type":53,"value":1040},"id",{"type":47,"tag":151,"props":1042,"children":1043},{"style":170},[1044],{"type":53,"value":1045}," -u",{"type":47,"tag":151,"props":1047,"children":1048},{"style":164},[1049],{"type":53,"value":1050},")\"",{"type":47,"tag":151,"props":1052,"children":1053},{"style":164},[1054],{"type":53,"value":1055}," -eq",{"type":47,"tag":151,"props":1057,"children":1058},{"style":920},[1059],{"type":53,"value":1060}," 0",{"type":47,"tag":151,"props":1062,"children":1063},{"style":164},[1064],{"type":53,"value":617},{"type":47,"tag":151,"props":1066,"children":1067},{"style":164},[1068],{"type":53,"value":622},{"type":47,"tag":151,"props":1070,"children":1071},{"style":487},[1072],{"type":53,"value":1073}," chrome_args",{"type":47,"tag":151,"props":1075,"children":1076},{"style":164},[1077],{"type":53,"value":1078},"+=(",{"type":47,"tag":151,"props":1080,"children":1081},{"style":170},[1082],{"type":53,"value":275},{"type":47,"tag":151,"props":1084,"children":1085},{"style":164},[1086],{"type":53,"value":1022},{"type":47,"tag":151,"props":1088,"children":1089},{"class":153,"line":694},[1090,1094,1099,1103,1108,1112,1117],{"type":47,"tag":151,"props":1091,"children":1092},{"style":158},[1093],{"type":53,"value":510},{"type":47,"tag":151,"props":1095,"children":1096},{"style":487},[1097],{"type":53,"value":1098},"$CHROME",{"type":47,"tag":151,"props":1100,"children":1101},{"style":158},[1102],{"type":53,"value":510},{"type":47,"tag":151,"props":1104,"children":1105},{"style":164},[1106],{"type":53,"value":1107}," \"${",{"type":47,"tag":151,"props":1109,"children":1110},{"style":487},[1111],{"type":53,"value":894},{"type":47,"tag":151,"props":1113,"children":1114},{"style":164},[1115],{"type":53,"value":1116},"[@]}\"",{"type":47,"tag":151,"props":1118,"children":1119},{"style":170},[1120],{"type":53,"value":1121}," https:\u002F\u002Fexample.com\n",{"type":47,"tag":56,"props":1123,"children":1124},{},[1125,1127,1133,1135,1141,1143,1149,1151,1157],{"type":53,"value":1126},"Outside a managed cloud sandbox, add ",{"type":47,"tag":62,"props":1128,"children":1130},{"className":1129},[],[1131],{"type":53,"value":1132},"--headless=new",{"type":53,"value":1134}," only for explicitly\ninvisible work or when no display exists. In a managed cloud sandbox, follow\nthe visible-browser rule above and never replace its managed display with a\nprivate one.\nWith ",{"type":47,"tag":62,"props":1136,"children":1138},{"className":1137},[],[1139],{"type":53,"value":1140},"--remote-debugging-port=0",{"type":53,"value":1142},", read the chosen port from\n",{"type":47,"tag":62,"props":1144,"children":1146},{"className":1145},[],[1147],{"type":53,"value":1148},"\u003Cuser-data-dir>\u002FDevToolsActivePort",{"type":53,"value":1150},". Launch in the background and poll\n",{"type":47,"tag":62,"props":1152,"children":1154},{"className":1153},[],[1155],{"type":53,"value":1156},"http:\u002F\u002F127.0.0.1:9222\u002Fjson\u002Fversion",{"type":53,"value":1158}," until it responds.",{"type":47,"tag":56,"props":1160,"children":1161},{},[1162,1164,1170,1172,1177,1179,1185,1187,1193,1194,1200,1201,1207],{"type":53,"value":1163},"HTTP endpoints: ",{"type":47,"tag":62,"props":1165,"children":1167},{"className":1166},[],[1168],{"type":53,"value":1169},"\u002Fjson\u002Fversion",{"type":53,"value":1171}," (browser metadata + browser-level WebSocket URL),\n",{"type":47,"tag":62,"props":1173,"children":1175},{"className":1174},[],[1176],{"type":53,"value":338},{"type":53,"value":1178}," (targets), ",{"type":47,"tag":62,"props":1180,"children":1182},{"className":1181},[],[1183],{"type":53,"value":1184},"PUT \u002Fjson\u002Fnew?\u003Curl>",{"type":53,"value":1186}," (open tab),\n",{"type":47,"tag":62,"props":1188,"children":1190},{"className":1189},[],[1191],{"type":53,"value":1192},"\u002Fjson\u002Factivate\u002F\u003Cid>",{"type":53,"value":369},{"type":47,"tag":62,"props":1195,"children":1197},{"className":1196},[],[1198],{"type":53,"value":1199},"\u002Fjson\u002Fclose\u002F\u003Cid>",{"type":53,"value":369},{"type":47,"tag":62,"props":1202,"children":1204},{"className":1203},[],[1205],{"type":53,"value":1206},"\u002Fjson\u002Fprotocol",{"type":53,"value":1208}," (schema).",{"type":47,"tag":56,"props":1210,"children":1211},{},[1212,1214,1220,1222,1227,1229,1234,1235,1240,1241,1246,1248,1253],{"type":53,"value":1213},"Attach to the ",{"type":47,"tag":1215,"props":1216,"children":1217},"strong",{},[1218],{"type":53,"value":1219},"page",{"type":53,"value":1221}," target for ",{"type":47,"tag":62,"props":1223,"children":1225},{"className":1224},[],[1226],{"type":53,"value":367},{"type":53,"value":1228},"\u002F",{"type":47,"tag":62,"props":1230,"children":1232},{"className":1231},[],[1233],{"type":53,"value":382},{"type":53,"value":1228},{"type":47,"tag":62,"props":1236,"children":1238},{"className":1237},[],[1239],{"type":53,"value":375},{"type":53,"value":1228},{"type":47,"tag":62,"props":1242,"children":1244},{"className":1243},[],[1245],{"type":53,"value":389},{"type":53,"value":1247}," work; use the\n",{"type":47,"tag":1215,"props":1249,"children":1250},{},[1251],{"type":53,"value":1252},"browser",{"type":53,"value":1254}," target only for browser-wide commands (target control, downloads,\nbrowser contexts).",{"type":47,"tag":123,"props":1256,"children":1258},{"id":1257},"minimal-cdp-client",[1259],{"type":53,"value":1260},"Minimal CDP client",{"type":47,"tag":56,"props":1262,"children":1263},{},[1264,1266,1272],{"type":53,"value":1265},"CDP messages are JSON with monotonically increasing request ids. Run with ",{"type":47,"tag":62,"props":1267,"children":1269},{"className":1268},[],[1270],{"type":53,"value":1271},"bun",{"type":53,"value":1273},":",{"type":47,"tag":140,"props":1275,"children":1279},{"className":1276,"code":1277,"language":1278,"meta":145,"style":145},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const targets = await (await fetch(\"http:\u002F\u002F127.0.0.1:9222\u002Fjson\u002Flist\")).json();\nconst target = targets.find((t: any) => t.type === \"page\");\nif (!target) throw new Error(\"No page target\");\n\nconst ws = new WebSocket(target.webSocketDebuggerUrl);\nawait new Promise((resolve, reject) => {\n  ws.onopen = resolve;\n  ws.onerror = reject;\n});\n\nlet nextId = 0;\nconst pending = new Map();\nws.onmessage = (event) => {\n  const msg = JSON.parse(String(event.data));\n  if (!msg.id) return handleEvent(msg); \u002F\u002F Page.loadEventFired, Log.entryAdded, ...\n  const p = pending.get(msg.id);\n  if (!p) return;\n  pending.delete(msg.id);\n  msg.error ? p.reject(new Error(JSON.stringify(msg.error))) : p.resolve(msg.result);\n};\nws.onclose = () => {\n  for (const p of pending.values()) p.reject(new Error(\"socket closed\"));\n  pending.clear();\n};\n\nfunction send(method: string, params: object = {}): Promise\u003Cany> {\n  return new Promise((resolve, reject) => {\n    const id = ++nextId;\n    pending.set(id, { resolve, reject });\n    ws.send(JSON.stringify({ id, method, params }));\n  });\n}\n\nawait send(\"Page.enable\");\nawait send(\"Runtime.enable\");\n","ts",[1280],{"type":47,"tag":62,"props":1281,"children":1282},{"__ignoreMap":145},[1283,1362,1464,1526,1533,1576,1628,1659,1687,1703,1710,1735,1768,1810,1877,1943,1998,2030,2072,2201,2210,2244,2337,2362,2370,2378,2460,2509,2541,2600,2676,2693,2702,2710,2747],{"type":47,"tag":151,"props":1284,"children":1285},{"class":153,"line":154},[1286,1291,1296,1300,1305,1310,1315,1320,1325,1329,1334,1338,1343,1347,1352,1357],{"type":47,"tag":151,"props":1287,"children":1288},{"style":909},[1289],{"type":53,"value":1290},"const",{"type":47,"tag":151,"props":1292,"children":1293},{"style":487},[1294],{"type":53,"value":1295}," targets ",{"type":47,"tag":151,"props":1297,"children":1298},{"style":164},[1299],{"type":53,"value":917},{"type":47,"tag":151,"props":1301,"children":1302},{"style":481},[1303],{"type":53,"value":1304}," await",{"type":47,"tag":151,"props":1306,"children":1307},{"style":487},[1308],{"type":53,"value":1309}," (",{"type":47,"tag":151,"props":1311,"children":1312},{"style":481},[1313],{"type":53,"value":1314},"await",{"type":47,"tag":151,"props":1316,"children":1317},{"style":630},[1318],{"type":53,"value":1319}," fetch",{"type":47,"tag":151,"props":1321,"children":1322},{"style":487},[1323],{"type":53,"value":1324},"(",{"type":47,"tag":151,"props":1326,"children":1327},{"style":164},[1328],{"type":53,"value":510},{"type":47,"tag":151,"props":1330,"children":1331},{"style":170},[1332],{"type":53,"value":1333},"http:\u002F\u002F127.0.0.1:9222\u002Fjson\u002Flist",{"type":47,"tag":151,"props":1335,"children":1336},{"style":164},[1337],{"type":53,"value":510},{"type":47,"tag":151,"props":1339,"children":1340},{"style":487},[1341],{"type":53,"value":1342},"))",{"type":47,"tag":151,"props":1344,"children":1345},{"style":164},[1346],{"type":53,"value":293},{"type":47,"tag":151,"props":1348,"children":1349},{"style":630},[1350],{"type":53,"value":1351},"json",{"type":47,"tag":151,"props":1353,"children":1354},{"style":487},[1355],{"type":53,"value":1356},"()",{"type":47,"tag":151,"props":1358,"children":1359},{"style":164},[1360],{"type":53,"value":1361},";\n",{"type":47,"tag":151,"props":1363,"children":1364},{"class":153,"line":477},[1365,1369,1374,1378,1383,1387,1392,1396,1400,1406,1410,1415,1420,1425,1430,1434,1439,1444,1448,1452,1456,1460],{"type":47,"tag":151,"props":1366,"children":1367},{"style":909},[1368],{"type":53,"value":1290},{"type":47,"tag":151,"props":1370,"children":1371},{"style":487},[1372],{"type":53,"value":1373}," target ",{"type":47,"tag":151,"props":1375,"children":1376},{"style":164},[1377],{"type":53,"value":917},{"type":47,"tag":151,"props":1379,"children":1380},{"style":487},[1381],{"type":53,"value":1382}," targets",{"type":47,"tag":151,"props":1384,"children":1385},{"style":164},[1386],{"type":53,"value":293},{"type":47,"tag":151,"props":1388,"children":1389},{"style":630},[1390],{"type":53,"value":1391},"find",{"type":47,"tag":151,"props":1393,"children":1394},{"style":487},[1395],{"type":53,"value":1324},{"type":47,"tag":151,"props":1397,"children":1398},{"style":164},[1399],{"type":53,"value":1324},{"type":47,"tag":151,"props":1401,"children":1403},{"style":1402},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[1404],{"type":53,"value":1405},"t",{"type":47,"tag":151,"props":1407,"children":1408},{"style":164},[1409],{"type":53,"value":1273},{"type":47,"tag":151,"props":1411,"children":1412},{"style":158},[1413],{"type":53,"value":1414}," any",{"type":47,"tag":151,"props":1416,"children":1417},{"style":164},[1418],{"type":53,"value":1419},")",{"type":47,"tag":151,"props":1421,"children":1422},{"style":909},[1423],{"type":53,"value":1424}," =>",{"type":47,"tag":151,"props":1426,"children":1427},{"style":487},[1428],{"type":53,"value":1429}," t",{"type":47,"tag":151,"props":1431,"children":1432},{"style":164},[1433],{"type":53,"value":293},{"type":47,"tag":151,"props":1435,"children":1436},{"style":487},[1437],{"type":53,"value":1438},"type ",{"type":47,"tag":151,"props":1440,"children":1441},{"style":164},[1442],{"type":53,"value":1443},"===",{"type":47,"tag":151,"props":1445,"children":1446},{"style":164},[1447],{"type":53,"value":500},{"type":47,"tag":151,"props":1449,"children":1450},{"style":170},[1451],{"type":53,"value":1219},{"type":47,"tag":151,"props":1453,"children":1454},{"style":164},[1455],{"type":53,"value":510},{"type":47,"tag":151,"props":1457,"children":1458},{"style":487},[1459],{"type":53,"value":1419},{"type":47,"tag":151,"props":1461,"children":1462},{"style":164},[1463],{"type":53,"value":1361},{"type":47,"tag":151,"props":1465,"children":1466},{"class":153,"line":518},[1467,1472,1476,1481,1486,1491,1496,1501,1505,1509,1514,1518,1522],{"type":47,"tag":151,"props":1468,"children":1469},{"style":481},[1470],{"type":53,"value":1471},"if",{"type":47,"tag":151,"props":1473,"children":1474},{"style":487},[1475],{"type":53,"value":1309},{"type":47,"tag":151,"props":1477,"children":1478},{"style":164},[1479],{"type":53,"value":1480},"!",{"type":47,"tag":151,"props":1482,"children":1483},{"style":487},[1484],{"type":53,"value":1485},"target) ",{"type":47,"tag":151,"props":1487,"children":1488},{"style":481},[1489],{"type":53,"value":1490},"throw",{"type":47,"tag":151,"props":1492,"children":1493},{"style":164},[1494],{"type":53,"value":1495}," new",{"type":47,"tag":151,"props":1497,"children":1498},{"style":630},[1499],{"type":53,"value":1500}," Error",{"type":47,"tag":151,"props":1502,"children":1503},{"style":487},[1504],{"type":53,"value":1324},{"type":47,"tag":151,"props":1506,"children":1507},{"style":164},[1508],{"type":53,"value":510},{"type":47,"tag":151,"props":1510,"children":1511},{"style":170},[1512],{"type":53,"value":1513},"No page target",{"type":47,"tag":151,"props":1515,"children":1516},{"style":164},[1517],{"type":53,"value":510},{"type":47,"tag":151,"props":1519,"children":1520},{"style":487},[1521],{"type":53,"value":1419},{"type":47,"tag":151,"props":1523,"children":1524},{"style":164},[1525],{"type":53,"value":1361},{"type":47,"tag":151,"props":1527,"children":1528},{"class":153,"line":540},[1529],{"type":47,"tag":151,"props":1530,"children":1531},{"emptyLinePlaceholder":679},[1532],{"type":53,"value":682},{"type":47,"tag":151,"props":1534,"children":1535},{"class":153,"line":561},[1536,1540,1545,1549,1553,1558,1563,1567,1572],{"type":47,"tag":151,"props":1537,"children":1538},{"style":909},[1539],{"type":53,"value":1290},{"type":47,"tag":151,"props":1541,"children":1542},{"style":487},[1543],{"type":53,"value":1544}," ws ",{"type":47,"tag":151,"props":1546,"children":1547},{"style":164},[1548],{"type":53,"value":917},{"type":47,"tag":151,"props":1550,"children":1551},{"style":164},[1552],{"type":53,"value":1495},{"type":47,"tag":151,"props":1554,"children":1555},{"style":630},[1556],{"type":53,"value":1557}," WebSocket",{"type":47,"tag":151,"props":1559,"children":1560},{"style":487},[1561],{"type":53,"value":1562},"(target",{"type":47,"tag":151,"props":1564,"children":1565},{"style":164},[1566],{"type":53,"value":293},{"type":47,"tag":151,"props":1568,"children":1569},{"style":487},[1570],{"type":53,"value":1571},"webSocketDebuggerUrl)",{"type":47,"tag":151,"props":1573,"children":1574},{"style":164},[1575],{"type":53,"value":1361},{"type":47,"tag":151,"props":1577,"children":1578},{"class":153,"line":588},[1579,1583,1587,1592,1596,1600,1605,1610,1615,1619,1623],{"type":47,"tag":151,"props":1580,"children":1581},{"style":481},[1582],{"type":53,"value":1314},{"type":47,"tag":151,"props":1584,"children":1585},{"style":164},[1586],{"type":53,"value":1495},{"type":47,"tag":151,"props":1588,"children":1589},{"style":158},[1590],{"type":53,"value":1591}," Promise",{"type":47,"tag":151,"props":1593,"children":1594},{"style":487},[1595],{"type":53,"value":1324},{"type":47,"tag":151,"props":1597,"children":1598},{"style":164},[1599],{"type":53,"value":1324},{"type":47,"tag":151,"props":1601,"children":1602},{"style":1402},[1603],{"type":53,"value":1604},"resolve",{"type":47,"tag":151,"props":1606,"children":1607},{"style":164},[1608],{"type":53,"value":1609},",",{"type":47,"tag":151,"props":1611,"children":1612},{"style":1402},[1613],{"type":53,"value":1614}," reject",{"type":47,"tag":151,"props":1616,"children":1617},{"style":164},[1618],{"type":53,"value":1419},{"type":47,"tag":151,"props":1620,"children":1621},{"style":909},[1622],{"type":53,"value":1424},{"type":47,"tag":151,"props":1624,"children":1625},{"style":164},[1626],{"type":53,"value":1627}," {\n",{"type":47,"tag":151,"props":1629,"children":1630},{"class":153,"line":666},[1631,1636,1640,1645,1650,1655],{"type":47,"tag":151,"props":1632,"children":1633},{"style":487},[1634],{"type":53,"value":1635},"  ws",{"type":47,"tag":151,"props":1637,"children":1638},{"style":164},[1639],{"type":53,"value":293},{"type":47,"tag":151,"props":1641,"children":1642},{"style":487},[1643],{"type":53,"value":1644},"onopen",{"type":47,"tag":151,"props":1646,"children":1647},{"style":164},[1648],{"type":53,"value":1649}," =",{"type":47,"tag":151,"props":1651,"children":1652},{"style":487},[1653],{"type":53,"value":1654}," resolve",{"type":47,"tag":151,"props":1656,"children":1657},{"style":164},[1658],{"type":53,"value":1361},{"type":47,"tag":151,"props":1660,"children":1661},{"class":153,"line":675},[1662,1666,1670,1675,1679,1683],{"type":47,"tag":151,"props":1663,"children":1664},{"style":487},[1665],{"type":53,"value":1635},{"type":47,"tag":151,"props":1667,"children":1668},{"style":164},[1669],{"type":53,"value":293},{"type":47,"tag":151,"props":1671,"children":1672},{"style":487},[1673],{"type":53,"value":1674},"onerror",{"type":47,"tag":151,"props":1676,"children":1677},{"style":164},[1678],{"type":53,"value":1649},{"type":47,"tag":151,"props":1680,"children":1681},{"style":487},[1682],{"type":53,"value":1614},{"type":47,"tag":151,"props":1684,"children":1685},{"style":164},[1686],{"type":53,"value":1361},{"type":47,"tag":151,"props":1688,"children":1689},{"class":153,"line":685},[1690,1695,1699],{"type":47,"tag":151,"props":1691,"children":1692},{"style":164},[1693],{"type":53,"value":1694},"}",{"type":47,"tag":151,"props":1696,"children":1697},{"style":487},[1698],{"type":53,"value":1419},{"type":47,"tag":151,"props":1700,"children":1701},{"style":164},[1702],{"type":53,"value":1361},{"type":47,"tag":151,"props":1704,"children":1705},{"class":153,"line":694},[1706],{"type":47,"tag":151,"props":1707,"children":1708},{"emptyLinePlaceholder":679},[1709],{"type":53,"value":682},{"type":47,"tag":151,"props":1711,"children":1712},{"class":153,"line":748},[1713,1718,1723,1727,1731],{"type":47,"tag":151,"props":1714,"children":1715},{"style":909},[1716],{"type":53,"value":1717},"let",{"type":47,"tag":151,"props":1719,"children":1720},{"style":487},[1721],{"type":53,"value":1722}," nextId ",{"type":47,"tag":151,"props":1724,"children":1725},{"style":164},[1726],{"type":53,"value":917},{"type":47,"tag":151,"props":1728,"children":1729},{"style":920},[1730],{"type":53,"value":1060},{"type":47,"tag":151,"props":1732,"children":1733},{"style":164},[1734],{"type":53,"value":1361},{"type":47,"tag":151,"props":1736,"children":1737},{"class":153,"line":783},[1738,1742,1747,1751,1755,1760,1764],{"type":47,"tag":151,"props":1739,"children":1740},{"style":909},[1741],{"type":53,"value":1290},{"type":47,"tag":151,"props":1743,"children":1744},{"style":487},[1745],{"type":53,"value":1746}," pending ",{"type":47,"tag":151,"props":1748,"children":1749},{"style":164},[1750],{"type":53,"value":917},{"type":47,"tag":151,"props":1752,"children":1753},{"style":164},[1754],{"type":53,"value":1495},{"type":47,"tag":151,"props":1756,"children":1757},{"style":630},[1758],{"type":53,"value":1759}," Map",{"type":47,"tag":151,"props":1761,"children":1762},{"style":487},[1763],{"type":53,"value":1356},{"type":47,"tag":151,"props":1765,"children":1766},{"style":164},[1767],{"type":53,"value":1361},{"type":47,"tag":151,"props":1769,"children":1771},{"class":153,"line":1770},13,[1772,1776,1780,1785,1789,1793,1798,1802,1806],{"type":47,"tag":151,"props":1773,"children":1774},{"style":487},[1775],{"type":53,"value":91},{"type":47,"tag":151,"props":1777,"children":1778},{"style":164},[1779],{"type":53,"value":293},{"type":47,"tag":151,"props":1781,"children":1782},{"style":630},[1783],{"type":53,"value":1784},"onmessage",{"type":47,"tag":151,"props":1786,"children":1787},{"style":164},[1788],{"type":53,"value":1649},{"type":47,"tag":151,"props":1790,"children":1791},{"style":164},[1792],{"type":53,"value":1309},{"type":47,"tag":151,"props":1794,"children":1795},{"style":1402},[1796],{"type":53,"value":1797},"event",{"type":47,"tag":151,"props":1799,"children":1800},{"style":164},[1801],{"type":53,"value":1419},{"type":47,"tag":151,"props":1803,"children":1804},{"style":909},[1805],{"type":53,"value":1424},{"type":47,"tag":151,"props":1807,"children":1808},{"style":164},[1809],{"type":53,"value":1627},{"type":47,"tag":151,"props":1811,"children":1813},{"class":153,"line":1812},14,[1814,1819,1824,1828,1833,1837,1842,1847,1852,1856,1860,1864,1869,1873],{"type":47,"tag":151,"props":1815,"children":1816},{"style":909},[1817],{"type":53,"value":1818},"  const",{"type":47,"tag":151,"props":1820,"children":1821},{"style":487},[1822],{"type":53,"value":1823}," msg",{"type":47,"tag":151,"props":1825,"children":1826},{"style":164},[1827],{"type":53,"value":1649},{"type":47,"tag":151,"props":1829,"children":1830},{"style":487},[1831],{"type":53,"value":1832}," JSON",{"type":47,"tag":151,"props":1834,"children":1835},{"style":164},[1836],{"type":53,"value":293},{"type":47,"tag":151,"props":1838,"children":1839},{"style":630},[1840],{"type":53,"value":1841},"parse",{"type":47,"tag":151,"props":1843,"children":1845},{"style":1844},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[1846],{"type":53,"value":1324},{"type":47,"tag":151,"props":1848,"children":1849},{"style":630},[1850],{"type":53,"value":1851},"String",{"type":47,"tag":151,"props":1853,"children":1854},{"style":1844},[1855],{"type":53,"value":1324},{"type":47,"tag":151,"props":1857,"children":1858},{"style":487},[1859],{"type":53,"value":1797},{"type":47,"tag":151,"props":1861,"children":1862},{"style":164},[1863],{"type":53,"value":293},{"type":47,"tag":151,"props":1865,"children":1866},{"style":487},[1867],{"type":53,"value":1868},"data",{"type":47,"tag":151,"props":1870,"children":1871},{"style":1844},[1872],{"type":53,"value":1342},{"type":47,"tag":151,"props":1874,"children":1875},{"style":164},[1876],{"type":53,"value":1361},{"type":47,"tag":151,"props":1878,"children":1880},{"class":153,"line":1879},15,[1881,1886,1890,1894,1899,1903,1907,1912,1917,1922,1926,1930,1934,1938],{"type":47,"tag":151,"props":1882,"children":1883},{"style":481},[1884],{"type":53,"value":1885},"  if",{"type":47,"tag":151,"props":1887,"children":1888},{"style":1844},[1889],{"type":53,"value":1309},{"type":47,"tag":151,"props":1891,"children":1892},{"style":164},[1893],{"type":53,"value":1480},{"type":47,"tag":151,"props":1895,"children":1896},{"style":487},[1897],{"type":53,"value":1898},"msg",{"type":47,"tag":151,"props":1900,"children":1901},{"style":164},[1902],{"type":53,"value":293},{"type":47,"tag":151,"props":1904,"children":1905},{"style":487},[1906],{"type":53,"value":1040},{"type":47,"tag":151,"props":1908,"children":1909},{"style":1844},[1910],{"type":53,"value":1911},") ",{"type":47,"tag":151,"props":1913,"children":1914},{"style":481},[1915],{"type":53,"value":1916},"return",{"type":47,"tag":151,"props":1918,"children":1919},{"style":630},[1920],{"type":53,"value":1921}," handleEvent",{"type":47,"tag":151,"props":1923,"children":1924},{"style":1844},[1925],{"type":53,"value":1324},{"type":47,"tag":151,"props":1927,"children":1928},{"style":487},[1929],{"type":53,"value":1898},{"type":47,"tag":151,"props":1931,"children":1932},{"style":1844},[1933],{"type":53,"value":1419},{"type":47,"tag":151,"props":1935,"children":1936},{"style":164},[1937],{"type":53,"value":580},{"type":47,"tag":151,"props":1939,"children":1940},{"style":471},[1941],{"type":53,"value":1942}," \u002F\u002F Page.loadEventFired, Log.entryAdded, ...\n",{"type":47,"tag":151,"props":1944,"children":1946},{"class":153,"line":1945},16,[1947,1951,1956,1960,1965,1969,1974,1978,1982,1986,1990,1994],{"type":47,"tag":151,"props":1948,"children":1949},{"style":909},[1950],{"type":53,"value":1818},{"type":47,"tag":151,"props":1952,"children":1953},{"style":487},[1954],{"type":53,"value":1955}," p",{"type":47,"tag":151,"props":1957,"children":1958},{"style":164},[1959],{"type":53,"value":1649},{"type":47,"tag":151,"props":1961,"children":1962},{"style":487},[1963],{"type":53,"value":1964}," pending",{"type":47,"tag":151,"props":1966,"children":1967},{"style":164},[1968],{"type":53,"value":293},{"type":47,"tag":151,"props":1970,"children":1971},{"style":630},[1972],{"type":53,"value":1973},"get",{"type":47,"tag":151,"props":1975,"children":1976},{"style":1844},[1977],{"type":53,"value":1324},{"type":47,"tag":151,"props":1979,"children":1980},{"style":487},[1981],{"type":53,"value":1898},{"type":47,"tag":151,"props":1983,"children":1984},{"style":164},[1985],{"type":53,"value":293},{"type":47,"tag":151,"props":1987,"children":1988},{"style":487},[1989],{"type":53,"value":1040},{"type":47,"tag":151,"props":1991,"children":1992},{"style":1844},[1993],{"type":53,"value":1419},{"type":47,"tag":151,"props":1995,"children":1996},{"style":164},[1997],{"type":53,"value":1361},{"type":47,"tag":151,"props":1999,"children":2001},{"class":153,"line":2000},17,[2002,2006,2010,2014,2018,2022,2026],{"type":47,"tag":151,"props":2003,"children":2004},{"style":481},[2005],{"type":53,"value":1885},{"type":47,"tag":151,"props":2007,"children":2008},{"style":1844},[2009],{"type":53,"value":1309},{"type":47,"tag":151,"props":2011,"children":2012},{"style":164},[2013],{"type":53,"value":1480},{"type":47,"tag":151,"props":2015,"children":2016},{"style":487},[2017],{"type":53,"value":56},{"type":47,"tag":151,"props":2019,"children":2020},{"style":1844},[2021],{"type":53,"value":1911},{"type":47,"tag":151,"props":2023,"children":2024},{"style":481},[2025],{"type":53,"value":1916},{"type":47,"tag":151,"props":2027,"children":2028},{"style":164},[2029],{"type":53,"value":1361},{"type":47,"tag":151,"props":2031,"children":2033},{"class":153,"line":2032},18,[2034,2039,2043,2048,2052,2056,2060,2064,2068],{"type":47,"tag":151,"props":2035,"children":2036},{"style":487},[2037],{"type":53,"value":2038},"  pending",{"type":47,"tag":151,"props":2040,"children":2041},{"style":164},[2042],{"type":53,"value":293},{"type":47,"tag":151,"props":2044,"children":2045},{"style":630},[2046],{"type":53,"value":2047},"delete",{"type":47,"tag":151,"props":2049,"children":2050},{"style":1844},[2051],{"type":53,"value":1324},{"type":47,"tag":151,"props":2053,"children":2054},{"style":487},[2055],{"type":53,"value":1898},{"type":47,"tag":151,"props":2057,"children":2058},{"style":164},[2059],{"type":53,"value":293},{"type":47,"tag":151,"props":2061,"children":2062},{"style":487},[2063],{"type":53,"value":1040},{"type":47,"tag":151,"props":2065,"children":2066},{"style":1844},[2067],{"type":53,"value":1419},{"type":47,"tag":151,"props":2069,"children":2070},{"style":164},[2071],{"type":53,"value":1361},{"type":47,"tag":151,"props":2073,"children":2075},{"class":153,"line":2074},19,[2076,2081,2085,2090,2095,2099,2103,2108,2112,2117,2121,2125,2130,2134,2139,2143,2147,2151,2155,2160,2164,2168,2172,2176,2180,2184,2188,2193,2197],{"type":47,"tag":151,"props":2077,"children":2078},{"style":487},[2079],{"type":53,"value":2080},"  msg",{"type":47,"tag":151,"props":2082,"children":2083},{"style":164},[2084],{"type":53,"value":293},{"type":47,"tag":151,"props":2086,"children":2087},{"style":487},[2088],{"type":53,"value":2089},"error",{"type":47,"tag":151,"props":2091,"children":2092},{"style":164},[2093],{"type":53,"value":2094}," ?",{"type":47,"tag":151,"props":2096,"children":2097},{"style":487},[2098],{"type":53,"value":1955},{"type":47,"tag":151,"props":2100,"children":2101},{"style":164},[2102],{"type":53,"value":293},{"type":47,"tag":151,"props":2104,"children":2105},{"style":630},[2106],{"type":53,"value":2107},"reject",{"type":47,"tag":151,"props":2109,"children":2110},{"style":1844},[2111],{"type":53,"value":1324},{"type":47,"tag":151,"props":2113,"children":2114},{"style":164},[2115],{"type":53,"value":2116},"new",{"type":47,"tag":151,"props":2118,"children":2119},{"style":630},[2120],{"type":53,"value":1500},{"type":47,"tag":151,"props":2122,"children":2123},{"style":1844},[2124],{"type":53,"value":1324},{"type":47,"tag":151,"props":2126,"children":2127},{"style":487},[2128],{"type":53,"value":2129},"JSON",{"type":47,"tag":151,"props":2131,"children":2132},{"style":164},[2133],{"type":53,"value":293},{"type":47,"tag":151,"props":2135,"children":2136},{"style":630},[2137],{"type":53,"value":2138},"stringify",{"type":47,"tag":151,"props":2140,"children":2141},{"style":1844},[2142],{"type":53,"value":1324},{"type":47,"tag":151,"props":2144,"children":2145},{"style":487},[2146],{"type":53,"value":1898},{"type":47,"tag":151,"props":2148,"children":2149},{"style":164},[2150],{"type":53,"value":293},{"type":47,"tag":151,"props":2152,"children":2153},{"style":487},[2154],{"type":53,"value":2089},{"type":47,"tag":151,"props":2156,"children":2157},{"style":1844},[2158],{"type":53,"value":2159},"))) ",{"type":47,"tag":151,"props":2161,"children":2162},{"style":164},[2163],{"type":53,"value":1273},{"type":47,"tag":151,"props":2165,"children":2166},{"style":487},[2167],{"type":53,"value":1955},{"type":47,"tag":151,"props":2169,"children":2170},{"style":164},[2171],{"type":53,"value":293},{"type":47,"tag":151,"props":2173,"children":2174},{"style":630},[2175],{"type":53,"value":1604},{"type":47,"tag":151,"props":2177,"children":2178},{"style":1844},[2179],{"type":53,"value":1324},{"type":47,"tag":151,"props":2181,"children":2182},{"style":487},[2183],{"type":53,"value":1898},{"type":47,"tag":151,"props":2185,"children":2186},{"style":164},[2187],{"type":53,"value":293},{"type":47,"tag":151,"props":2189,"children":2190},{"style":487},[2191],{"type":53,"value":2192},"result",{"type":47,"tag":151,"props":2194,"children":2195},{"style":1844},[2196],{"type":53,"value":1419},{"type":47,"tag":151,"props":2198,"children":2199},{"style":164},[2200],{"type":53,"value":1361},{"type":47,"tag":151,"props":2202,"children":2204},{"class":153,"line":2203},20,[2205],{"type":47,"tag":151,"props":2206,"children":2207},{"style":164},[2208],{"type":53,"value":2209},"};\n",{"type":47,"tag":151,"props":2211,"children":2213},{"class":153,"line":2212},21,[2214,2218,2222,2227,2231,2236,2240],{"type":47,"tag":151,"props":2215,"children":2216},{"style":487},[2217],{"type":53,"value":91},{"type":47,"tag":151,"props":2219,"children":2220},{"style":164},[2221],{"type":53,"value":293},{"type":47,"tag":151,"props":2223,"children":2224},{"style":630},[2225],{"type":53,"value":2226},"onclose",{"type":47,"tag":151,"props":2228,"children":2229},{"style":164},[2230],{"type":53,"value":1649},{"type":47,"tag":151,"props":2232,"children":2233},{"style":164},[2234],{"type":53,"value":2235}," ()",{"type":47,"tag":151,"props":2237,"children":2238},{"style":909},[2239],{"type":53,"value":1424},{"type":47,"tag":151,"props":2241,"children":2242},{"style":164},[2243],{"type":53,"value":1627},{"type":47,"tag":151,"props":2245,"children":2247},{"class":153,"line":2246},22,[2248,2253,2257,2261,2265,2270,2274,2278,2283,2288,2292,2296,2300,2304,2308,2312,2316,2320,2325,2329,2333],{"type":47,"tag":151,"props":2249,"children":2250},{"style":481},[2251],{"type":53,"value":2252},"  for",{"type":47,"tag":151,"props":2254,"children":2255},{"style":1844},[2256],{"type":53,"value":1309},{"type":47,"tag":151,"props":2258,"children":2259},{"style":909},[2260],{"type":53,"value":1290},{"type":47,"tag":151,"props":2262,"children":2263},{"style":487},[2264],{"type":53,"value":1955},{"type":47,"tag":151,"props":2266,"children":2267},{"style":164},[2268],{"type":53,"value":2269}," of",{"type":47,"tag":151,"props":2271,"children":2272},{"style":487},[2273],{"type":53,"value":1964},{"type":47,"tag":151,"props":2275,"children":2276},{"style":164},[2277],{"type":53,"value":293},{"type":47,"tag":151,"props":2279,"children":2280},{"style":630},[2281],{"type":53,"value":2282},"values",{"type":47,"tag":151,"props":2284,"children":2285},{"style":1844},[2286],{"type":53,"value":2287},"()) ",{"type":47,"tag":151,"props":2289,"children":2290},{"style":487},[2291],{"type":53,"value":56},{"type":47,"tag":151,"props":2293,"children":2294},{"style":164},[2295],{"type":53,"value":293},{"type":47,"tag":151,"props":2297,"children":2298},{"style":630},[2299],{"type":53,"value":2107},{"type":47,"tag":151,"props":2301,"children":2302},{"style":1844},[2303],{"type":53,"value":1324},{"type":47,"tag":151,"props":2305,"children":2306},{"style":164},[2307],{"type":53,"value":2116},{"type":47,"tag":151,"props":2309,"children":2310},{"style":630},[2311],{"type":53,"value":1500},{"type":47,"tag":151,"props":2313,"children":2314},{"style":1844},[2315],{"type":53,"value":1324},{"type":47,"tag":151,"props":2317,"children":2318},{"style":164},[2319],{"type":53,"value":510},{"type":47,"tag":151,"props":2321,"children":2322},{"style":170},[2323],{"type":53,"value":2324},"socket closed",{"type":47,"tag":151,"props":2326,"children":2327},{"style":164},[2328],{"type":53,"value":510},{"type":47,"tag":151,"props":2330,"children":2331},{"style":1844},[2332],{"type":53,"value":1342},{"type":47,"tag":151,"props":2334,"children":2335},{"style":164},[2336],{"type":53,"value":1361},{"type":47,"tag":151,"props":2338,"children":2340},{"class":153,"line":2339},23,[2341,2345,2349,2354,2358],{"type":47,"tag":151,"props":2342,"children":2343},{"style":487},[2344],{"type":53,"value":2038},{"type":47,"tag":151,"props":2346,"children":2347},{"style":164},[2348],{"type":53,"value":293},{"type":47,"tag":151,"props":2350,"children":2351},{"style":630},[2352],{"type":53,"value":2353},"clear",{"type":47,"tag":151,"props":2355,"children":2356},{"style":1844},[2357],{"type":53,"value":1356},{"type":47,"tag":151,"props":2359,"children":2360},{"style":164},[2361],{"type":53,"value":1361},{"type":47,"tag":151,"props":2363,"children":2365},{"class":153,"line":2364},24,[2366],{"type":47,"tag":151,"props":2367,"children":2368},{"style":164},[2369],{"type":53,"value":2209},{"type":47,"tag":151,"props":2371,"children":2373},{"class":153,"line":2372},25,[2374],{"type":47,"tag":151,"props":2375,"children":2376},{"emptyLinePlaceholder":679},[2377],{"type":53,"value":682},{"type":47,"tag":151,"props":2379,"children":2381},{"class":153,"line":2380},26,[2382,2387,2392,2396,2401,2405,2410,2414,2419,2423,2428,2432,2437,2441,2446,2451,2456],{"type":47,"tag":151,"props":2383,"children":2384},{"style":909},[2385],{"type":53,"value":2386},"function",{"type":47,"tag":151,"props":2388,"children":2389},{"style":630},[2390],{"type":53,"value":2391}," send",{"type":47,"tag":151,"props":2393,"children":2394},{"style":164},[2395],{"type":53,"value":1324},{"type":47,"tag":151,"props":2397,"children":2398},{"style":1402},[2399],{"type":53,"value":2400},"method",{"type":47,"tag":151,"props":2402,"children":2403},{"style":164},[2404],{"type":53,"value":1273},{"type":47,"tag":151,"props":2406,"children":2407},{"style":158},[2408],{"type":53,"value":2409}," string",{"type":47,"tag":151,"props":2411,"children":2412},{"style":164},[2413],{"type":53,"value":1609},{"type":47,"tag":151,"props":2415,"children":2416},{"style":1402},[2417],{"type":53,"value":2418}," params",{"type":47,"tag":151,"props":2420,"children":2421},{"style":164},[2422],{"type":53,"value":1273},{"type":47,"tag":151,"props":2424,"children":2425},{"style":158},[2426],{"type":53,"value":2427}," object",{"type":47,"tag":151,"props":2429,"children":2430},{"style":164},[2431],{"type":53,"value":1649},{"type":47,"tag":151,"props":2433,"children":2434},{"style":164},[2435],{"type":53,"value":2436}," {}):",{"type":47,"tag":151,"props":2438,"children":2439},{"style":158},[2440],{"type":53,"value":1591},{"type":47,"tag":151,"props":2442,"children":2443},{"style":164},[2444],{"type":53,"value":2445},"\u003C",{"type":47,"tag":151,"props":2447,"children":2448},{"style":158},[2449],{"type":53,"value":2450},"any",{"type":47,"tag":151,"props":2452,"children":2453},{"style":164},[2454],{"type":53,"value":2455},">",{"type":47,"tag":151,"props":2457,"children":2458},{"style":164},[2459],{"type":53,"value":1627},{"type":47,"tag":151,"props":2461,"children":2463},{"class":153,"line":2462},27,[2464,2469,2473,2477,2481,2485,2489,2493,2497,2501,2505],{"type":47,"tag":151,"props":2465,"children":2466},{"style":481},[2467],{"type":53,"value":2468},"  return",{"type":47,"tag":151,"props":2470,"children":2471},{"style":164},[2472],{"type":53,"value":1495},{"type":47,"tag":151,"props":2474,"children":2475},{"style":158},[2476],{"type":53,"value":1591},{"type":47,"tag":151,"props":2478,"children":2479},{"style":1844},[2480],{"type":53,"value":1324},{"type":47,"tag":151,"props":2482,"children":2483},{"style":164},[2484],{"type":53,"value":1324},{"type":47,"tag":151,"props":2486,"children":2487},{"style":1402},[2488],{"type":53,"value":1604},{"type":47,"tag":151,"props":2490,"children":2491},{"style":164},[2492],{"type":53,"value":1609},{"type":47,"tag":151,"props":2494,"children":2495},{"style":1402},[2496],{"type":53,"value":1614},{"type":47,"tag":151,"props":2498,"children":2499},{"style":164},[2500],{"type":53,"value":1419},{"type":47,"tag":151,"props":2502,"children":2503},{"style":909},[2504],{"type":53,"value":1424},{"type":47,"tag":151,"props":2506,"children":2507},{"style":164},[2508],{"type":53,"value":1627},{"type":47,"tag":151,"props":2510,"children":2512},{"class":153,"line":2511},28,[2513,2518,2523,2527,2532,2537],{"type":47,"tag":151,"props":2514,"children":2515},{"style":909},[2516],{"type":53,"value":2517},"    const",{"type":47,"tag":151,"props":2519,"children":2520},{"style":487},[2521],{"type":53,"value":2522}," id",{"type":47,"tag":151,"props":2524,"children":2525},{"style":164},[2526],{"type":53,"value":1649},{"type":47,"tag":151,"props":2528,"children":2529},{"style":164},[2530],{"type":53,"value":2531}," ++",{"type":47,"tag":151,"props":2533,"children":2534},{"style":487},[2535],{"type":53,"value":2536},"nextId",{"type":47,"tag":151,"props":2538,"children":2539},{"style":164},[2540],{"type":53,"value":1361},{"type":47,"tag":151,"props":2542,"children":2544},{"class":153,"line":2543},29,[2545,2550,2554,2559,2563,2567,2571,2575,2579,2583,2587,2592,2596],{"type":47,"tag":151,"props":2546,"children":2547},{"style":487},[2548],{"type":53,"value":2549},"    pending",{"type":47,"tag":151,"props":2551,"children":2552},{"style":164},[2553],{"type":53,"value":293},{"type":47,"tag":151,"props":2555,"children":2556},{"style":630},[2557],{"type":53,"value":2558},"set",{"type":47,"tag":151,"props":2560,"children":2561},{"style":1844},[2562],{"type":53,"value":1324},{"type":47,"tag":151,"props":2564,"children":2565},{"style":487},[2566],{"type":53,"value":1040},{"type":47,"tag":151,"props":2568,"children":2569},{"style":164},[2570],{"type":53,"value":1609},{"type":47,"tag":151,"props":2572,"children":2573},{"style":164},[2574],{"type":53,"value":627},{"type":47,"tag":151,"props":2576,"children":2577},{"style":487},[2578],{"type":53,"value":1654},{"type":47,"tag":151,"props":2580,"children":2581},{"style":164},[2582],{"type":53,"value":1609},{"type":47,"tag":151,"props":2584,"children":2585},{"style":487},[2586],{"type":53,"value":1614},{"type":47,"tag":151,"props":2588,"children":2589},{"style":164},[2590],{"type":53,"value":2591}," }",{"type":47,"tag":151,"props":2593,"children":2594},{"style":1844},[2595],{"type":53,"value":1419},{"type":47,"tag":151,"props":2597,"children":2598},{"style":164},[2599],{"type":53,"value":1361},{"type":47,"tag":151,"props":2601,"children":2603},{"class":153,"line":2602},30,[2604,2609,2613,2618,2622,2626,2630,2634,2638,2643,2647,2651,2656,2660,2664,2668,2672],{"type":47,"tag":151,"props":2605,"children":2606},{"style":487},[2607],{"type":53,"value":2608},"    ws",{"type":47,"tag":151,"props":2610,"children":2611},{"style":164},[2612],{"type":53,"value":293},{"type":47,"tag":151,"props":2614,"children":2615},{"style":630},[2616],{"type":53,"value":2617},"send",{"type":47,"tag":151,"props":2619,"children":2620},{"style":1844},[2621],{"type":53,"value":1324},{"type":47,"tag":151,"props":2623,"children":2624},{"style":487},[2625],{"type":53,"value":2129},{"type":47,"tag":151,"props":2627,"children":2628},{"style":164},[2629],{"type":53,"value":293},{"type":47,"tag":151,"props":2631,"children":2632},{"style":630},[2633],{"type":53,"value":2138},{"type":47,"tag":151,"props":2635,"children":2636},{"style":1844},[2637],{"type":53,"value":1324},{"type":47,"tag":151,"props":2639,"children":2640},{"style":164},[2641],{"type":53,"value":2642},"{",{"type":47,"tag":151,"props":2644,"children":2645},{"style":487},[2646],{"type":53,"value":2522},{"type":47,"tag":151,"props":2648,"children":2649},{"style":164},[2650],{"type":53,"value":1609},{"type":47,"tag":151,"props":2652,"children":2653},{"style":487},[2654],{"type":53,"value":2655}," method",{"type":47,"tag":151,"props":2657,"children":2658},{"style":164},[2659],{"type":53,"value":1609},{"type":47,"tag":151,"props":2661,"children":2662},{"style":487},[2663],{"type":53,"value":2418},{"type":47,"tag":151,"props":2665,"children":2666},{"style":164},[2667],{"type":53,"value":2591},{"type":47,"tag":151,"props":2669,"children":2670},{"style":1844},[2671],{"type":53,"value":1342},{"type":47,"tag":151,"props":2673,"children":2674},{"style":164},[2675],{"type":53,"value":1361},{"type":47,"tag":151,"props":2677,"children":2679},{"class":153,"line":2678},31,[2680,2685,2689],{"type":47,"tag":151,"props":2681,"children":2682},{"style":164},[2683],{"type":53,"value":2684},"  }",{"type":47,"tag":151,"props":2686,"children":2687},{"style":1844},[2688],{"type":53,"value":1419},{"type":47,"tag":151,"props":2690,"children":2691},{"style":164},[2692],{"type":53,"value":1361},{"type":47,"tag":151,"props":2694,"children":2696},{"class":153,"line":2695},32,[2697],{"type":47,"tag":151,"props":2698,"children":2699},{"style":164},[2700],{"type":53,"value":2701},"}\n",{"type":47,"tag":151,"props":2703,"children":2705},{"class":153,"line":2704},33,[2706],{"type":47,"tag":151,"props":2707,"children":2708},{"emptyLinePlaceholder":679},[2709],{"type":53,"value":682},{"type":47,"tag":151,"props":2711,"children":2713},{"class":153,"line":2712},34,[2714,2718,2722,2726,2730,2735,2739,2743],{"type":47,"tag":151,"props":2715,"children":2716},{"style":481},[2717],{"type":53,"value":1314},{"type":47,"tag":151,"props":2719,"children":2720},{"style":630},[2721],{"type":53,"value":2391},{"type":47,"tag":151,"props":2723,"children":2724},{"style":487},[2725],{"type":53,"value":1324},{"type":47,"tag":151,"props":2727,"children":2728},{"style":164},[2729],{"type":53,"value":510},{"type":47,"tag":151,"props":2731,"children":2732},{"style":170},[2733],{"type":53,"value":2734},"Page.enable",{"type":47,"tag":151,"props":2736,"children":2737},{"style":164},[2738],{"type":53,"value":510},{"type":47,"tag":151,"props":2740,"children":2741},{"style":487},[2742],{"type":53,"value":1419},{"type":47,"tag":151,"props":2744,"children":2745},{"style":164},[2746],{"type":53,"value":1361},{"type":47,"tag":151,"props":2748,"children":2750},{"class":153,"line":2749},35,[2751,2755,2759,2763,2767,2772,2776,2780],{"type":47,"tag":151,"props":2752,"children":2753},{"style":481},[2754],{"type":53,"value":1314},{"type":47,"tag":151,"props":2756,"children":2757},{"style":630},[2758],{"type":53,"value":2391},{"type":47,"tag":151,"props":2760,"children":2761},{"style":487},[2762],{"type":53,"value":1324},{"type":47,"tag":151,"props":2764,"children":2765},{"style":164},[2766],{"type":53,"value":510},{"type":47,"tag":151,"props":2768,"children":2769},{"style":170},[2770],{"type":53,"value":2771},"Runtime.enable",{"type":47,"tag":151,"props":2773,"children":2774},{"style":164},[2775],{"type":53,"value":510},{"type":47,"tag":151,"props":2777,"children":2778},{"style":487},[2779],{"type":53,"value":1419},{"type":47,"tag":151,"props":2781,"children":2782},{"style":164},[2783],{"type":53,"value":1361},{"type":47,"tag":56,"props":2785,"children":2786},{},[2787,2789,2794],{"type":53,"value":2788},"Navigations destroy execution contexts and can invalidate in-flight\n",{"type":47,"tag":62,"props":2790,"children":2792},{"className":2791},[],[2793],{"type":53,"value":430},{"type":53,"value":2795}," calls; retry after observing the new document.",{"type":47,"tag":123,"props":2797,"children":2799},{"id":2798},"inspecting-the-page",[2800],{"type":53,"value":2801},"Inspecting the page",{"type":47,"tag":56,"props":2803,"children":2804},{},[2805],{"type":53,"value":2806},"Start with a concise UI inventory:",{"type":47,"tag":140,"props":2808,"children":2810},{"className":1276,"code":2809,"language":1278,"meta":145,"style":145},"const result = await send(\"Runtime.evaluate\", {\n  expression: `JSON.stringify({\n    buttons: [...document.querySelectorAll('button')].map((el) => ({\n      text: el.innerText.trim(), aria: el.getAttribute('aria-label'), title: el.title\n    })).filter((x) => x.text || x.aria || x.title),\n    inputs: [...document.querySelectorAll('input, textarea, [contenteditable=true]')].map((el) => ({\n      tag: el.tagName, type: el.type, placeholder: el.placeholder,\n      aria: el.getAttribute('aria-label'), value: el.value\n    }))\n  })`,\n  returnByValue: true,\n});\n",[2811],{"type":47,"tag":62,"props":2812,"children":2813},{"__ignoreMap":145},[2814,2862,2884,2892,2900,2908,2916,2924,2932,2940,2957,2979],{"type":47,"tag":151,"props":2815,"children":2816},{"class":153,"line":154},[2817,2821,2826,2830,2834,2838,2842,2846,2850,2854,2858],{"type":47,"tag":151,"props":2818,"children":2819},{"style":909},[2820],{"type":53,"value":1290},{"type":47,"tag":151,"props":2822,"children":2823},{"style":487},[2824],{"type":53,"value":2825}," result ",{"type":47,"tag":151,"props":2827,"children":2828},{"style":164},[2829],{"type":53,"value":917},{"type":47,"tag":151,"props":2831,"children":2832},{"style":481},[2833],{"type":53,"value":1304},{"type":47,"tag":151,"props":2835,"children":2836},{"style":630},[2837],{"type":53,"value":2391},{"type":47,"tag":151,"props":2839,"children":2840},{"style":487},[2841],{"type":53,"value":1324},{"type":47,"tag":151,"props":2843,"children":2844},{"style":164},[2845],{"type":53,"value":510},{"type":47,"tag":151,"props":2847,"children":2848},{"style":170},[2849],{"type":53,"value":430},{"type":47,"tag":151,"props":2851,"children":2852},{"style":164},[2853],{"type":53,"value":510},{"type":47,"tag":151,"props":2855,"children":2856},{"style":164},[2857],{"type":53,"value":1609},{"type":47,"tag":151,"props":2859,"children":2860},{"style":164},[2861],{"type":53,"value":1627},{"type":47,"tag":151,"props":2863,"children":2864},{"class":153,"line":477},[2865,2870,2874,2879],{"type":47,"tag":151,"props":2866,"children":2867},{"style":1844},[2868],{"type":53,"value":2869},"  expression",{"type":47,"tag":151,"props":2871,"children":2872},{"style":164},[2873],{"type":53,"value":1273},{"type":47,"tag":151,"props":2875,"children":2876},{"style":164},[2877],{"type":53,"value":2878}," `",{"type":47,"tag":151,"props":2880,"children":2881},{"style":170},[2882],{"type":53,"value":2883},"JSON.stringify({\n",{"type":47,"tag":151,"props":2885,"children":2886},{"class":153,"line":518},[2887],{"type":47,"tag":151,"props":2888,"children":2889},{"style":170},[2890],{"type":53,"value":2891},"    buttons: [...document.querySelectorAll('button')].map((el) => ({\n",{"type":47,"tag":151,"props":2893,"children":2894},{"class":153,"line":540},[2895],{"type":47,"tag":151,"props":2896,"children":2897},{"style":170},[2898],{"type":53,"value":2899},"      text: el.innerText.trim(), aria: el.getAttribute('aria-label'), title: el.title\n",{"type":47,"tag":151,"props":2901,"children":2902},{"class":153,"line":561},[2903],{"type":47,"tag":151,"props":2904,"children":2905},{"style":170},[2906],{"type":53,"value":2907},"    })).filter((x) => x.text || x.aria || x.title),\n",{"type":47,"tag":151,"props":2909,"children":2910},{"class":153,"line":588},[2911],{"type":47,"tag":151,"props":2912,"children":2913},{"style":170},[2914],{"type":53,"value":2915},"    inputs: [...document.querySelectorAll('input, textarea, [contenteditable=true]')].map((el) => ({\n",{"type":47,"tag":151,"props":2917,"children":2918},{"class":153,"line":666},[2919],{"type":47,"tag":151,"props":2920,"children":2921},{"style":170},[2922],{"type":53,"value":2923},"      tag: el.tagName, type: el.type, placeholder: el.placeholder,\n",{"type":47,"tag":151,"props":2925,"children":2926},{"class":153,"line":675},[2927],{"type":47,"tag":151,"props":2928,"children":2929},{"style":170},[2930],{"type":53,"value":2931},"      aria: el.getAttribute('aria-label'), value: el.value\n",{"type":47,"tag":151,"props":2933,"children":2934},{"class":153,"line":685},[2935],{"type":47,"tag":151,"props":2936,"children":2937},{"style":170},[2938],{"type":53,"value":2939},"    }))\n",{"type":47,"tag":151,"props":2941,"children":2942},{"class":153,"line":694},[2943,2948,2953],{"type":47,"tag":151,"props":2944,"children":2945},{"style":170},[2946],{"type":53,"value":2947},"  })",{"type":47,"tag":151,"props":2949,"children":2950},{"style":164},[2951],{"type":53,"value":2952},"`",{"type":47,"tag":151,"props":2954,"children":2955},{"style":164},[2956],{"type":53,"value":801},{"type":47,"tag":151,"props":2958,"children":2959},{"class":153,"line":748},[2960,2965,2969,2975],{"type":47,"tag":151,"props":2961,"children":2962},{"style":1844},[2963],{"type":53,"value":2964},"  returnByValue",{"type":47,"tag":151,"props":2966,"children":2967},{"style":164},[2968],{"type":53,"value":1273},{"type":47,"tag":151,"props":2970,"children":2972},{"style":2971},"--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC",[2973],{"type":53,"value":2974}," true",{"type":47,"tag":151,"props":2976,"children":2977},{"style":164},[2978],{"type":53,"value":801},{"type":47,"tag":151,"props":2980,"children":2981},{"class":153,"line":783},[2982,2986,2990],{"type":47,"tag":151,"props":2983,"children":2984},{"style":164},[2985],{"type":53,"value":1694},{"type":47,"tag":151,"props":2987,"children":2988},{"style":487},[2989],{"type":53,"value":1419},{"type":47,"tag":151,"props":2991,"children":2992},{"style":164},[2993],{"type":53,"value":1361},{"type":47,"tag":56,"props":2995,"children":2996},{},[2997,2999,3005,3007,3013,3015,3021],{"type":53,"value":2998},"Use ",{"type":47,"tag":62,"props":3000,"children":3002},{"className":3001},[],[3003],{"type":53,"value":3004},"awaitPromise: true",{"type":53,"value":3006}," for async expressions and ",{"type":47,"tag":62,"props":3008,"children":3010},{"className":3009},[],[3011],{"type":53,"value":3012},"userGesture: true",{"type":53,"value":3014}," when the\npage requires user activation. Treat ",{"type":47,"tag":62,"props":3016,"children":3018},{"className":3017},[],[3019],{"type":53,"value":3020},"exceptionDetails",{"type":53,"value":3022}," in the result as an\nerror even though the CDP command itself succeeded.",{"type":47,"tag":56,"props":3024,"children":3025},{},[3026,3032,3034,3039,3041,3047,3048,3054,3055,3061],{"type":47,"tag":62,"props":3027,"children":3029},{"className":3028},[],[3030],{"type":53,"value":3031},"document.querySelector",{"type":53,"value":3033}," does not cross shadow boundaries — traverse open\nshadow roots explicitly; for closed shadow roots or remote-object work use the\n",{"type":47,"tag":62,"props":3035,"children":3037},{"className":3036},[],[3038],{"type":53,"value":382},{"type":53,"value":3040}," domain (",{"type":47,"tag":62,"props":3042,"children":3044},{"className":3043},[],[3045],{"type":53,"value":3046},"DOM.getDocument",{"type":53,"value":369},{"type":47,"tag":62,"props":3049,"children":3051},{"className":3050},[],[3052],{"type":53,"value":3053},"DOM.querySelector",{"type":53,"value":369},{"type":47,"tag":62,"props":3056,"children":3058},{"className":3057},[],[3059],{"type":53,"value":3060},"DOM.getBoxModel",{"type":53,"value":3062},").",{"type":47,"tag":123,"props":3064,"children":3066},{"id":3065},"clicking-and-typing",[3067],{"type":53,"value":3068},"Clicking and typing",{"type":47,"tag":56,"props":3070,"children":3071},{},[3072],{"type":53,"value":3073},"Compute coordinates in CSS pixels immediately before acting, then send native\ninput events:",{"type":47,"tag":140,"props":3075,"children":3077},{"className":1276,"code":3076,"language":1278,"meta":145,"style":145},"async function point(expr: string) {\n  const r = await send(\"Runtime.evaluate\", {\n    expression: `(() => {\n      const el = ${expr};\n      if (!el) return null;\n      el.scrollIntoView({ block: 'center', inline: 'center' });\n      const b = el.getBoundingClientRect();\n      return { x: b.left + b.width \u002F 2, y: b.top + b.height \u002F 2 };\n    })()`,\n    returnByValue: true,\n  });\n  if (!r.result.value) throw new Error(`Element not found: ${expr}`);\n  return r.result.value;\n}\n\nasync function click(expr: string) {\n  const { x, y } = await point(expr);\n  await send(\"Input.dispatchMouseEvent\", { type: \"mouseMoved\", x, y });\n  await send(\"Input.dispatchMouseEvent\", { type: \"mousePressed\", x, y, button: \"left\", buttons: 1, clickCount: 1 });\n  await send(\"Input.dispatchMouseEvent\", { type: \"mouseReleased\", x, y, button: \"left\", buttons: 0, clickCount: 1 });\n}\n",[3078],{"type":47,"tag":62,"props":3079,"children":3080},{"__ignoreMap":145},[3081,3124,3172,3193,3218,3226,3234,3242,3250,3266,3286,3301,3388,3419,3426,3433,3473,3530,3617,3762,3902],{"type":47,"tag":151,"props":3082,"children":3083},{"class":153,"line":154},[3084,3089,3094,3099,3103,3108,3112,3116,3120],{"type":47,"tag":151,"props":3085,"children":3086},{"style":909},[3087],{"type":53,"value":3088},"async",{"type":47,"tag":151,"props":3090,"children":3091},{"style":909},[3092],{"type":53,"value":3093}," function",{"type":47,"tag":151,"props":3095,"children":3096},{"style":630},[3097],{"type":53,"value":3098}," point",{"type":47,"tag":151,"props":3100,"children":3101},{"style":164},[3102],{"type":53,"value":1324},{"type":47,"tag":151,"props":3104,"children":3105},{"style":1402},[3106],{"type":53,"value":3107},"expr",{"type":47,"tag":151,"props":3109,"children":3110},{"style":164},[3111],{"type":53,"value":1273},{"type":47,"tag":151,"props":3113,"children":3114},{"style":158},[3115],{"type":53,"value":2409},{"type":47,"tag":151,"props":3117,"children":3118},{"style":164},[3119],{"type":53,"value":1419},{"type":47,"tag":151,"props":3121,"children":3122},{"style":164},[3123],{"type":53,"value":1627},{"type":47,"tag":151,"props":3125,"children":3126},{"class":153,"line":477},[3127,3131,3136,3140,3144,3148,3152,3156,3160,3164,3168],{"type":47,"tag":151,"props":3128,"children":3129},{"style":909},[3130],{"type":53,"value":1818},{"type":47,"tag":151,"props":3132,"children":3133},{"style":487},[3134],{"type":53,"value":3135}," r",{"type":47,"tag":151,"props":3137,"children":3138},{"style":164},[3139],{"type":53,"value":1649},{"type":47,"tag":151,"props":3141,"children":3142},{"style":481},[3143],{"type":53,"value":1304},{"type":47,"tag":151,"props":3145,"children":3146},{"style":630},[3147],{"type":53,"value":2391},{"type":47,"tag":151,"props":3149,"children":3150},{"style":1844},[3151],{"type":53,"value":1324},{"type":47,"tag":151,"props":3153,"children":3154},{"style":164},[3155],{"type":53,"value":510},{"type":47,"tag":151,"props":3157,"children":3158},{"style":170},[3159],{"type":53,"value":430},{"type":47,"tag":151,"props":3161,"children":3162},{"style":164},[3163],{"type":53,"value":510},{"type":47,"tag":151,"props":3165,"children":3166},{"style":164},[3167],{"type":53,"value":1609},{"type":47,"tag":151,"props":3169,"children":3170},{"style":164},[3171],{"type":53,"value":1627},{"type":47,"tag":151,"props":3173,"children":3174},{"class":153,"line":518},[3175,3180,3184,3188],{"type":47,"tag":151,"props":3176,"children":3177},{"style":1844},[3178],{"type":53,"value":3179},"    expression",{"type":47,"tag":151,"props":3181,"children":3182},{"style":164},[3183],{"type":53,"value":1273},{"type":47,"tag":151,"props":3185,"children":3186},{"style":164},[3187],{"type":53,"value":2878},{"type":47,"tag":151,"props":3189,"children":3190},{"style":170},[3191],{"type":53,"value":3192},"(() => {\n",{"type":47,"tag":151,"props":3194,"children":3195},{"class":153,"line":540},[3196,3201,3206,3210,3214],{"type":47,"tag":151,"props":3197,"children":3198},{"style":170},[3199],{"type":53,"value":3200},"      const el = ",{"type":47,"tag":151,"props":3202,"children":3203},{"style":164},[3204],{"type":53,"value":3205},"${",{"type":47,"tag":151,"props":3207,"children":3208},{"style":487},[3209],{"type":53,"value":3107},{"type":47,"tag":151,"props":3211,"children":3212},{"style":164},[3213],{"type":53,"value":1694},{"type":47,"tag":151,"props":3215,"children":3216},{"style":170},[3217],{"type":53,"value":1361},{"type":47,"tag":151,"props":3219,"children":3220},{"class":153,"line":561},[3221],{"type":47,"tag":151,"props":3222,"children":3223},{"style":170},[3224],{"type":53,"value":3225},"      if (!el) return null;\n",{"type":47,"tag":151,"props":3227,"children":3228},{"class":153,"line":588},[3229],{"type":47,"tag":151,"props":3230,"children":3231},{"style":170},[3232],{"type":53,"value":3233},"      el.scrollIntoView({ block: 'center', inline: 'center' });\n",{"type":47,"tag":151,"props":3235,"children":3236},{"class":153,"line":666},[3237],{"type":47,"tag":151,"props":3238,"children":3239},{"style":170},[3240],{"type":53,"value":3241},"      const b = el.getBoundingClientRect();\n",{"type":47,"tag":151,"props":3243,"children":3244},{"class":153,"line":675},[3245],{"type":47,"tag":151,"props":3246,"children":3247},{"style":170},[3248],{"type":53,"value":3249},"      return { x: b.left + b.width \u002F 2, y: b.top + b.height \u002F 2 };\n",{"type":47,"tag":151,"props":3251,"children":3252},{"class":153,"line":685},[3253,3258,3262],{"type":47,"tag":151,"props":3254,"children":3255},{"style":170},[3256],{"type":53,"value":3257},"    })()",{"type":47,"tag":151,"props":3259,"children":3260},{"style":164},[3261],{"type":53,"value":2952},{"type":47,"tag":151,"props":3263,"children":3264},{"style":164},[3265],{"type":53,"value":801},{"type":47,"tag":151,"props":3267,"children":3268},{"class":153,"line":694},[3269,3274,3278,3282],{"type":47,"tag":151,"props":3270,"children":3271},{"style":1844},[3272],{"type":53,"value":3273},"    returnByValue",{"type":47,"tag":151,"props":3275,"children":3276},{"style":164},[3277],{"type":53,"value":1273},{"type":47,"tag":151,"props":3279,"children":3280},{"style":2971},[3281],{"type":53,"value":2974},{"type":47,"tag":151,"props":3283,"children":3284},{"style":164},[3285],{"type":53,"value":801},{"type":47,"tag":151,"props":3287,"children":3288},{"class":153,"line":748},[3289,3293,3297],{"type":47,"tag":151,"props":3290,"children":3291},{"style":164},[3292],{"type":53,"value":2684},{"type":47,"tag":151,"props":3294,"children":3295},{"style":1844},[3296],{"type":53,"value":1419},{"type":47,"tag":151,"props":3298,"children":3299},{"style":164},[3300],{"type":53,"value":1361},{"type":47,"tag":151,"props":3302,"children":3303},{"class":153,"line":783},[3304,3308,3312,3316,3321,3325,3329,3333,3338,3342,3346,3350,3354,3358,3362,3367,3371,3375,3380,3384],{"type":47,"tag":151,"props":3305,"children":3306},{"style":481},[3307],{"type":53,"value":1885},{"type":47,"tag":151,"props":3309,"children":3310},{"style":1844},[3311],{"type":53,"value":1309},{"type":47,"tag":151,"props":3313,"children":3314},{"style":164},[3315],{"type":53,"value":1480},{"type":47,"tag":151,"props":3317,"children":3318},{"style":487},[3319],{"type":53,"value":3320},"r",{"type":47,"tag":151,"props":3322,"children":3323},{"style":164},[3324],{"type":53,"value":293},{"type":47,"tag":151,"props":3326,"children":3327},{"style":487},[3328],{"type":53,"value":2192},{"type":47,"tag":151,"props":3330,"children":3331},{"style":164},[3332],{"type":53,"value":293},{"type":47,"tag":151,"props":3334,"children":3335},{"style":487},[3336],{"type":53,"value":3337},"value",{"type":47,"tag":151,"props":3339,"children":3340},{"style":1844},[3341],{"type":53,"value":1911},{"type":47,"tag":151,"props":3343,"children":3344},{"style":481},[3345],{"type":53,"value":1490},{"type":47,"tag":151,"props":3347,"children":3348},{"style":164},[3349],{"type":53,"value":1495},{"type":47,"tag":151,"props":3351,"children":3352},{"style":630},[3353],{"type":53,"value":1500},{"type":47,"tag":151,"props":3355,"children":3356},{"style":1844},[3357],{"type":53,"value":1324},{"type":47,"tag":151,"props":3359,"children":3360},{"style":164},[3361],{"type":53,"value":2952},{"type":47,"tag":151,"props":3363,"children":3364},{"style":170},[3365],{"type":53,"value":3366},"Element not found: ",{"type":47,"tag":151,"props":3368,"children":3369},{"style":164},[3370],{"type":53,"value":3205},{"type":47,"tag":151,"props":3372,"children":3373},{"style":487},[3374],{"type":53,"value":3107},{"type":47,"tag":151,"props":3376,"children":3377},{"style":164},[3378],{"type":53,"value":3379},"}`",{"type":47,"tag":151,"props":3381,"children":3382},{"style":1844},[3383],{"type":53,"value":1419},{"type":47,"tag":151,"props":3385,"children":3386},{"style":164},[3387],{"type":53,"value":1361},{"type":47,"tag":151,"props":3389,"children":3390},{"class":153,"line":1770},[3391,3395,3399,3403,3407,3411,3415],{"type":47,"tag":151,"props":3392,"children":3393},{"style":481},[3394],{"type":53,"value":2468},{"type":47,"tag":151,"props":3396,"children":3397},{"style":487},[3398],{"type":53,"value":3135},{"type":47,"tag":151,"props":3400,"children":3401},{"style":164},[3402],{"type":53,"value":293},{"type":47,"tag":151,"props":3404,"children":3405},{"style":487},[3406],{"type":53,"value":2192},{"type":47,"tag":151,"props":3408,"children":3409},{"style":164},[3410],{"type":53,"value":293},{"type":47,"tag":151,"props":3412,"children":3413},{"style":487},[3414],{"type":53,"value":3337},{"type":47,"tag":151,"props":3416,"children":3417},{"style":164},[3418],{"type":53,"value":1361},{"type":47,"tag":151,"props":3420,"children":3421},{"class":153,"line":1812},[3422],{"type":47,"tag":151,"props":3423,"children":3424},{"style":164},[3425],{"type":53,"value":2701},{"type":47,"tag":151,"props":3427,"children":3428},{"class":153,"line":1879},[3429],{"type":47,"tag":151,"props":3430,"children":3431},{"emptyLinePlaceholder":679},[3432],{"type":53,"value":682},{"type":47,"tag":151,"props":3434,"children":3435},{"class":153,"line":1945},[3436,3440,3444,3449,3453,3457,3461,3465,3469],{"type":47,"tag":151,"props":3437,"children":3438},{"style":909},[3439],{"type":53,"value":3088},{"type":47,"tag":151,"props":3441,"children":3442},{"style":909},[3443],{"type":53,"value":3093},{"type":47,"tag":151,"props":3445,"children":3446},{"style":630},[3447],{"type":53,"value":3448}," click",{"type":47,"tag":151,"props":3450,"children":3451},{"style":164},[3452],{"type":53,"value":1324},{"type":47,"tag":151,"props":3454,"children":3455},{"style":1402},[3456],{"type":53,"value":3107},{"type":47,"tag":151,"props":3458,"children":3459},{"style":164},[3460],{"type":53,"value":1273},{"type":47,"tag":151,"props":3462,"children":3463},{"style":158},[3464],{"type":53,"value":2409},{"type":47,"tag":151,"props":3466,"children":3467},{"style":164},[3468],{"type":53,"value":1419},{"type":47,"tag":151,"props":3470,"children":3471},{"style":164},[3472],{"type":53,"value":1627},{"type":47,"tag":151,"props":3474,"children":3475},{"class":153,"line":2000},[3476,3480,3484,3489,3493,3498,3502,3506,3510,3514,3518,3522,3526],{"type":47,"tag":151,"props":3477,"children":3478},{"style":909},[3479],{"type":53,"value":1818},{"type":47,"tag":151,"props":3481,"children":3482},{"style":164},[3483],{"type":53,"value":627},{"type":47,"tag":151,"props":3485,"children":3486},{"style":487},[3487],{"type":53,"value":3488}," x",{"type":47,"tag":151,"props":3490,"children":3491},{"style":164},[3492],{"type":53,"value":1609},{"type":47,"tag":151,"props":3494,"children":3495},{"style":487},[3496],{"type":53,"value":3497}," y",{"type":47,"tag":151,"props":3499,"children":3500},{"style":164},[3501],{"type":53,"value":2591},{"type":47,"tag":151,"props":3503,"children":3504},{"style":164},[3505],{"type":53,"value":1649},{"type":47,"tag":151,"props":3507,"children":3508},{"style":481},[3509],{"type":53,"value":1304},{"type":47,"tag":151,"props":3511,"children":3512},{"style":630},[3513],{"type":53,"value":3098},{"type":47,"tag":151,"props":3515,"children":3516},{"style":1844},[3517],{"type":53,"value":1324},{"type":47,"tag":151,"props":3519,"children":3520},{"style":487},[3521],{"type":53,"value":3107},{"type":47,"tag":151,"props":3523,"children":3524},{"style":1844},[3525],{"type":53,"value":1419},{"type":47,"tag":151,"props":3527,"children":3528},{"style":164},[3529],{"type":53,"value":1361},{"type":47,"tag":151,"props":3531,"children":3532},{"class":153,"line":2032},[3533,3538,3542,3546,3550,3555,3559,3563,3567,3572,3576,3580,3585,3589,3593,3597,3601,3605,3609,3613],{"type":47,"tag":151,"props":3534,"children":3535},{"style":481},[3536],{"type":53,"value":3537},"  await",{"type":47,"tag":151,"props":3539,"children":3540},{"style":630},[3541],{"type":53,"value":2391},{"type":47,"tag":151,"props":3543,"children":3544},{"style":1844},[3545],{"type":53,"value":1324},{"type":47,"tag":151,"props":3547,"children":3548},{"style":164},[3549],{"type":53,"value":510},{"type":47,"tag":151,"props":3551,"children":3552},{"style":170},[3553],{"type":53,"value":3554},"Input.dispatchMouseEvent",{"type":47,"tag":151,"props":3556,"children":3557},{"style":164},[3558],{"type":53,"value":510},{"type":47,"tag":151,"props":3560,"children":3561},{"style":164},[3562],{"type":53,"value":1609},{"type":47,"tag":151,"props":3564,"children":3565},{"style":164},[3566],{"type":53,"value":627},{"type":47,"tag":151,"props":3568,"children":3569},{"style":1844},[3570],{"type":53,"value":3571}," type",{"type":47,"tag":151,"props":3573,"children":3574},{"style":164},[3575],{"type":53,"value":1273},{"type":47,"tag":151,"props":3577,"children":3578},{"style":164},[3579],{"type":53,"value":500},{"type":47,"tag":151,"props":3581,"children":3582},{"style":170},[3583],{"type":53,"value":3584},"mouseMoved",{"type":47,"tag":151,"props":3586,"children":3587},{"style":164},[3588],{"type":53,"value":510},{"type":47,"tag":151,"props":3590,"children":3591},{"style":164},[3592],{"type":53,"value":1609},{"type":47,"tag":151,"props":3594,"children":3595},{"style":487},[3596],{"type":53,"value":3488},{"type":47,"tag":151,"props":3598,"children":3599},{"style":164},[3600],{"type":53,"value":1609},{"type":47,"tag":151,"props":3602,"children":3603},{"style":487},[3604],{"type":53,"value":3497},{"type":47,"tag":151,"props":3606,"children":3607},{"style":164},[3608],{"type":53,"value":2591},{"type":47,"tag":151,"props":3610,"children":3611},{"style":1844},[3612],{"type":53,"value":1419},{"type":47,"tag":151,"props":3614,"children":3615},{"style":164},[3616],{"type":53,"value":1361},{"type":47,"tag":151,"props":3618,"children":3619},{"class":153,"line":2074},[3620,3624,3628,3632,3636,3640,3644,3648,3652,3656,3660,3664,3669,3673,3677,3681,3685,3689,3693,3698,3702,3706,3711,3715,3719,3724,3728,3733,3737,3742,3746,3750,3754,3758],{"type":47,"tag":151,"props":3621,"children":3622},{"style":481},[3623],{"type":53,"value":3537},{"type":47,"tag":151,"props":3625,"children":3626},{"style":630},[3627],{"type":53,"value":2391},{"type":47,"tag":151,"props":3629,"children":3630},{"style":1844},[3631],{"type":53,"value":1324},{"type":47,"tag":151,"props":3633,"children":3634},{"style":164},[3635],{"type":53,"value":510},{"type":47,"tag":151,"props":3637,"children":3638},{"style":170},[3639],{"type":53,"value":3554},{"type":47,"tag":151,"props":3641,"children":3642},{"style":164},[3643],{"type":53,"value":510},{"type":47,"tag":151,"props":3645,"children":3646},{"style":164},[3647],{"type":53,"value":1609},{"type":47,"tag":151,"props":3649,"children":3650},{"style":164},[3651],{"type":53,"value":627},{"type":47,"tag":151,"props":3653,"children":3654},{"style":1844},[3655],{"type":53,"value":3571},{"type":47,"tag":151,"props":3657,"children":3658},{"style":164},[3659],{"type":53,"value":1273},{"type":47,"tag":151,"props":3661,"children":3662},{"style":164},[3663],{"type":53,"value":500},{"type":47,"tag":151,"props":3665,"children":3666},{"style":170},[3667],{"type":53,"value":3668},"mousePressed",{"type":47,"tag":151,"props":3670,"children":3671},{"style":164},[3672],{"type":53,"value":510},{"type":47,"tag":151,"props":3674,"children":3675},{"style":164},[3676],{"type":53,"value":1609},{"type":47,"tag":151,"props":3678,"children":3679},{"style":487},[3680],{"type":53,"value":3488},{"type":47,"tag":151,"props":3682,"children":3683},{"style":164},[3684],{"type":53,"value":1609},{"type":47,"tag":151,"props":3686,"children":3687},{"style":487},[3688],{"type":53,"value":3497},{"type":47,"tag":151,"props":3690,"children":3691},{"style":164},[3692],{"type":53,"value":1609},{"type":47,"tag":151,"props":3694,"children":3695},{"style":1844},[3696],{"type":53,"value":3697}," button",{"type":47,"tag":151,"props":3699,"children":3700},{"style":164},[3701],{"type":53,"value":1273},{"type":47,"tag":151,"props":3703,"children":3704},{"style":164},[3705],{"type":53,"value":500},{"type":47,"tag":151,"props":3707,"children":3708},{"style":170},[3709],{"type":53,"value":3710},"left",{"type":47,"tag":151,"props":3712,"children":3713},{"style":164},[3714],{"type":53,"value":510},{"type":47,"tag":151,"props":3716,"children":3717},{"style":164},[3718],{"type":53,"value":1609},{"type":47,"tag":151,"props":3720,"children":3721},{"style":1844},[3722],{"type":53,"value":3723}," buttons",{"type":47,"tag":151,"props":3725,"children":3726},{"style":164},[3727],{"type":53,"value":1273},{"type":47,"tag":151,"props":3729,"children":3730},{"style":920},[3731],{"type":53,"value":3732}," 1",{"type":47,"tag":151,"props":3734,"children":3735},{"style":164},[3736],{"type":53,"value":1609},{"type":47,"tag":151,"props":3738,"children":3739},{"style":1844},[3740],{"type":53,"value":3741}," clickCount",{"type":47,"tag":151,"props":3743,"children":3744},{"style":164},[3745],{"type":53,"value":1273},{"type":47,"tag":151,"props":3747,"children":3748},{"style":920},[3749],{"type":53,"value":3732},{"type":47,"tag":151,"props":3751,"children":3752},{"style":164},[3753],{"type":53,"value":2591},{"type":47,"tag":151,"props":3755,"children":3756},{"style":1844},[3757],{"type":53,"value":1419},{"type":47,"tag":151,"props":3759,"children":3760},{"style":164},[3761],{"type":53,"value":1361},{"type":47,"tag":151,"props":3763,"children":3764},{"class":153,"line":2203},[3765,3769,3773,3777,3781,3785,3789,3793,3797,3801,3805,3809,3814,3818,3822,3826,3830,3834,3838,3842,3846,3850,3854,3858,3862,3866,3870,3874,3878,3882,3886,3890,3894,3898],{"type":47,"tag":151,"props":3766,"children":3767},{"style":481},[3768],{"type":53,"value":3537},{"type":47,"tag":151,"props":3770,"children":3771},{"style":630},[3772],{"type":53,"value":2391},{"type":47,"tag":151,"props":3774,"children":3775},{"style":1844},[3776],{"type":53,"value":1324},{"type":47,"tag":151,"props":3778,"children":3779},{"style":164},[3780],{"type":53,"value":510},{"type":47,"tag":151,"props":3782,"children":3783},{"style":170},[3784],{"type":53,"value":3554},{"type":47,"tag":151,"props":3786,"children":3787},{"style":164},[3788],{"type":53,"value":510},{"type":47,"tag":151,"props":3790,"children":3791},{"style":164},[3792],{"type":53,"value":1609},{"type":47,"tag":151,"props":3794,"children":3795},{"style":164},[3796],{"type":53,"value":627},{"type":47,"tag":151,"props":3798,"children":3799},{"style":1844},[3800],{"type":53,"value":3571},{"type":47,"tag":151,"props":3802,"children":3803},{"style":164},[3804],{"type":53,"value":1273},{"type":47,"tag":151,"props":3806,"children":3807},{"style":164},[3808],{"type":53,"value":500},{"type":47,"tag":151,"props":3810,"children":3811},{"style":170},[3812],{"type":53,"value":3813},"mouseReleased",{"type":47,"tag":151,"props":3815,"children":3816},{"style":164},[3817],{"type":53,"value":510},{"type":47,"tag":151,"props":3819,"children":3820},{"style":164},[3821],{"type":53,"value":1609},{"type":47,"tag":151,"props":3823,"children":3824},{"style":487},[3825],{"type":53,"value":3488},{"type":47,"tag":151,"props":3827,"children":3828},{"style":164},[3829],{"type":53,"value":1609},{"type":47,"tag":151,"props":3831,"children":3832},{"style":487},[3833],{"type":53,"value":3497},{"type":47,"tag":151,"props":3835,"children":3836},{"style":164},[3837],{"type":53,"value":1609},{"type":47,"tag":151,"props":3839,"children":3840},{"style":1844},[3841],{"type":53,"value":3697},{"type":47,"tag":151,"props":3843,"children":3844},{"style":164},[3845],{"type":53,"value":1273},{"type":47,"tag":151,"props":3847,"children":3848},{"style":164},[3849],{"type":53,"value":500},{"type":47,"tag":151,"props":3851,"children":3852},{"style":170},[3853],{"type":53,"value":3710},{"type":47,"tag":151,"props":3855,"children":3856},{"style":164},[3857],{"type":53,"value":510},{"type":47,"tag":151,"props":3859,"children":3860},{"style":164},[3861],{"type":53,"value":1609},{"type":47,"tag":151,"props":3863,"children":3864},{"style":1844},[3865],{"type":53,"value":3723},{"type":47,"tag":151,"props":3867,"children":3868},{"style":164},[3869],{"type":53,"value":1273},{"type":47,"tag":151,"props":3871,"children":3872},{"style":920},[3873],{"type":53,"value":1060},{"type":47,"tag":151,"props":3875,"children":3876},{"style":164},[3877],{"type":53,"value":1609},{"type":47,"tag":151,"props":3879,"children":3880},{"style":1844},[3881],{"type":53,"value":3741},{"type":47,"tag":151,"props":3883,"children":3884},{"style":164},[3885],{"type":53,"value":1273},{"type":47,"tag":151,"props":3887,"children":3888},{"style":920},[3889],{"type":53,"value":3732},{"type":47,"tag":151,"props":3891,"children":3892},{"style":164},[3893],{"type":53,"value":2591},{"type":47,"tag":151,"props":3895,"children":3896},{"style":1844},[3897],{"type":53,"value":1419},{"type":47,"tag":151,"props":3899,"children":3900},{"style":164},[3901],{"type":53,"value":1361},{"type":47,"tag":151,"props":3903,"children":3904},{"class":153,"line":2212},[3905],{"type":47,"tag":151,"props":3906,"children":3907},{"style":164},[3908],{"type":53,"value":2701},{"type":47,"tag":56,"props":3910,"children":3911},{},[3912],{"type":53,"value":3913},"Focus an editable element (click it), then insert text:",{"type":47,"tag":140,"props":3915,"children":3917},{"className":1276,"code":3916,"language":1278,"meta":145,"style":145},"await click(`document.querySelector('input[aria-label=\"Search\"]')`);\nawait send(\"Input.insertText\", { text: \"search terms\" });\n",[3918],{"type":47,"tag":62,"props":3919,"children":3920},{"__ignoreMap":145},[3921,3957],{"type":47,"tag":151,"props":3922,"children":3923},{"class":153,"line":154},[3924,3928,3932,3936,3940,3945,3949,3953],{"type":47,"tag":151,"props":3925,"children":3926},{"style":481},[3927],{"type":53,"value":1314},{"type":47,"tag":151,"props":3929,"children":3930},{"style":630},[3931],{"type":53,"value":3448},{"type":47,"tag":151,"props":3933,"children":3934},{"style":487},[3935],{"type":53,"value":1324},{"type":47,"tag":151,"props":3937,"children":3938},{"style":164},[3939],{"type":53,"value":2952},{"type":47,"tag":151,"props":3941,"children":3942},{"style":170},[3943],{"type":53,"value":3944},"document.querySelector('input[aria-label=\"Search\"]')",{"type":47,"tag":151,"props":3946,"children":3947},{"style":164},[3948],{"type":53,"value":2952},{"type":47,"tag":151,"props":3950,"children":3951},{"style":487},[3952],{"type":53,"value":1419},{"type":47,"tag":151,"props":3954,"children":3955},{"style":164},[3956],{"type":53,"value":1361},{"type":47,"tag":151,"props":3958,"children":3959},{"class":153,"line":477},[3960,3964,3968,3972,3976,3981,3985,3989,3993,3998,4002,4006,4011,4015,4019,4023],{"type":47,"tag":151,"props":3961,"children":3962},{"style":481},[3963],{"type":53,"value":1314},{"type":47,"tag":151,"props":3965,"children":3966},{"style":630},[3967],{"type":53,"value":2391},{"type":47,"tag":151,"props":3969,"children":3970},{"style":487},[3971],{"type":53,"value":1324},{"type":47,"tag":151,"props":3973,"children":3974},{"style":164},[3975],{"type":53,"value":510},{"type":47,"tag":151,"props":3977,"children":3978},{"style":170},[3979],{"type":53,"value":3980},"Input.insertText",{"type":47,"tag":151,"props":3982,"children":3983},{"style":164},[3984],{"type":53,"value":510},{"type":47,"tag":151,"props":3986,"children":3987},{"style":164},[3988],{"type":53,"value":1609},{"type":47,"tag":151,"props":3990,"children":3991},{"style":164},[3992],{"type":53,"value":627},{"type":47,"tag":151,"props":3994,"children":3995},{"style":1844},[3996],{"type":53,"value":3997}," text",{"type":47,"tag":151,"props":3999,"children":4000},{"style":164},[4001],{"type":53,"value":1273},{"type":47,"tag":151,"props":4003,"children":4004},{"style":164},[4005],{"type":53,"value":500},{"type":47,"tag":151,"props":4007,"children":4008},{"style":170},[4009],{"type":53,"value":4010},"search terms",{"type":47,"tag":151,"props":4012,"children":4013},{"style":164},[4014],{"type":53,"value":510},{"type":47,"tag":151,"props":4016,"children":4017},{"style":164},[4018],{"type":53,"value":2591},{"type":47,"tag":151,"props":4020,"children":4021},{"style":487},[4022],{"type":53,"value":1419},{"type":47,"tag":151,"props":4024,"children":4025},{"style":164},[4026],{"type":53,"value":1361},{"type":47,"tag":56,"props":4028,"children":4029},{},[4030,4031,4036,4038,4044,4046,4052,4054,4060,4062,4068,4069,4074,4075,4081],{"type":53,"value":2998},{"type":47,"tag":62,"props":4032,"children":4034},{"className":4033},[],[4035],{"type":53,"value":3980},{"type":53,"value":4037}," for text and Unicode; use paired ",{"type":47,"tag":62,"props":4039,"children":4041},{"className":4040},[],[4042],{"type":53,"value":4043},"Input.dispatchKeyEvent",{"type":53,"value":4045},"\n(",{"type":47,"tag":62,"props":4047,"children":4049},{"className":4048},[],[4050],{"type":53,"value":4051},"keyDown",{"type":53,"value":4053}," + ",{"type":47,"tag":62,"props":4055,"children":4057},{"className":4056},[],[4058],{"type":53,"value":4059},"keyUp",{"type":53,"value":4061}," with ",{"type":47,"tag":62,"props":4063,"children":4065},{"className":4064},[],[4066],{"type":53,"value":4067},"key",{"type":53,"value":369},{"type":47,"tag":62,"props":4070,"children":4072},{"className":4071},[],[4073],{"type":53,"value":62},{"type":53,"value":369},{"type":47,"tag":62,"props":4076,"children":4078},{"className":4077},[],[4079],{"type":53,"value":4080},"windowsVirtualKeyCode",{"type":53,"value":4082},") for Enter,\nEscape, arrows, Tab, and shortcuts. Modifier bits: Alt=1, Ctrl=2, Meta=4, Shift=8.",{"type":47,"tag":56,"props":4084,"children":4085},{},[4086,4088,4094],{"type":53,"value":4087},"Native ",{"type":47,"tag":62,"props":4089,"children":4091},{"className":4090},[],[4092],{"type":53,"value":4093},"\u003Cselect>",{"type":53,"value":4095}," and framework-controlled inputs may need the prototype setter\nplus bubbling events:",{"type":47,"tag":140,"props":4097,"children":4099},{"className":1276,"code":4098,"language":1278,"meta":145,"style":145},"const setter = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, \"value\").set;\nsetter.call(input, \"new value\");\ninput.dispatchEvent(new Event(\"input\", { bubbles: true }));\ninput.dispatchEvent(new Event(\"change\", { bubbles: true }));\n",[4100],{"type":47,"tag":62,"props":4101,"children":4102},{"__ignoreMap":145},[4103,4183,4230,4309],{"type":47,"tag":151,"props":4104,"children":4105},{"class":153,"line":154},[4106,4110,4115,4119,4124,4128,4133,4137,4142,4146,4151,4155,4159,4163,4167,4171,4175,4179],{"type":47,"tag":151,"props":4107,"children":4108},{"style":909},[4109],{"type":53,"value":1290},{"type":47,"tag":151,"props":4111,"children":4112},{"style":487},[4113],{"type":53,"value":4114}," setter ",{"type":47,"tag":151,"props":4116,"children":4117},{"style":164},[4118],{"type":53,"value":917},{"type":47,"tag":151,"props":4120,"children":4121},{"style":487},[4122],{"type":53,"value":4123}," Object",{"type":47,"tag":151,"props":4125,"children":4126},{"style":164},[4127],{"type":53,"value":293},{"type":47,"tag":151,"props":4129,"children":4130},{"style":630},[4131],{"type":53,"value":4132},"getOwnPropertyDescriptor",{"type":47,"tag":151,"props":4134,"children":4135},{"style":487},[4136],{"type":53,"value":1324},{"type":47,"tag":151,"props":4138,"children":4139},{"style":158},[4140],{"type":53,"value":4141},"HTMLInputElement",{"type":47,"tag":151,"props":4143,"children":4144},{"style":164},[4145],{"type":53,"value":293},{"type":47,"tag":151,"props":4147,"children":4148},{"style":487},[4149],{"type":53,"value":4150},"prototype",{"type":47,"tag":151,"props":4152,"children":4153},{"style":164},[4154],{"type":53,"value":1609},{"type":47,"tag":151,"props":4156,"children":4157},{"style":164},[4158],{"type":53,"value":500},{"type":47,"tag":151,"props":4160,"children":4161},{"style":170},[4162],{"type":53,"value":3337},{"type":47,"tag":151,"props":4164,"children":4165},{"style":164},[4166],{"type":53,"value":510},{"type":47,"tag":151,"props":4168,"children":4169},{"style":487},[4170],{"type":53,"value":1419},{"type":47,"tag":151,"props":4172,"children":4173},{"style":164},[4174],{"type":53,"value":293},{"type":47,"tag":151,"props":4176,"children":4177},{"style":487},[4178],{"type":53,"value":2558},{"type":47,"tag":151,"props":4180,"children":4181},{"style":164},[4182],{"type":53,"value":1361},{"type":47,"tag":151,"props":4184,"children":4185},{"class":153,"line":477},[4186,4191,4195,4200,4205,4209,4213,4218,4222,4226],{"type":47,"tag":151,"props":4187,"children":4188},{"style":487},[4189],{"type":53,"value":4190},"setter",{"type":47,"tag":151,"props":4192,"children":4193},{"style":164},[4194],{"type":53,"value":293},{"type":47,"tag":151,"props":4196,"children":4197},{"style":630},[4198],{"type":53,"value":4199},"call",{"type":47,"tag":151,"props":4201,"children":4202},{"style":487},[4203],{"type":53,"value":4204},"(input",{"type":47,"tag":151,"props":4206,"children":4207},{"style":164},[4208],{"type":53,"value":1609},{"type":47,"tag":151,"props":4210,"children":4211},{"style":164},[4212],{"type":53,"value":500},{"type":47,"tag":151,"props":4214,"children":4215},{"style":170},[4216],{"type":53,"value":4217},"new value",{"type":47,"tag":151,"props":4219,"children":4220},{"style":164},[4221],{"type":53,"value":510},{"type":47,"tag":151,"props":4223,"children":4224},{"style":487},[4225],{"type":53,"value":1419},{"type":47,"tag":151,"props":4227,"children":4228},{"style":164},[4229],{"type":53,"value":1361},{"type":47,"tag":151,"props":4231,"children":4232},{"class":153,"line":518},[4233,4238,4242,4247,4251,4255,4260,4264,4268,4272,4276,4280,4284,4289,4293,4297,4301,4305],{"type":47,"tag":151,"props":4234,"children":4235},{"style":487},[4236],{"type":53,"value":4237},"input",{"type":47,"tag":151,"props":4239,"children":4240},{"style":164},[4241],{"type":53,"value":293},{"type":47,"tag":151,"props":4243,"children":4244},{"style":630},[4245],{"type":53,"value":4246},"dispatchEvent",{"type":47,"tag":151,"props":4248,"children":4249},{"style":487},[4250],{"type":53,"value":1324},{"type":47,"tag":151,"props":4252,"children":4253},{"style":164},[4254],{"type":53,"value":2116},{"type":47,"tag":151,"props":4256,"children":4257},{"style":630},[4258],{"type":53,"value":4259}," Event",{"type":47,"tag":151,"props":4261,"children":4262},{"style":487},[4263],{"type":53,"value":1324},{"type":47,"tag":151,"props":4265,"children":4266},{"style":164},[4267],{"type":53,"value":510},{"type":47,"tag":151,"props":4269,"children":4270},{"style":170},[4271],{"type":53,"value":4237},{"type":47,"tag":151,"props":4273,"children":4274},{"style":164},[4275],{"type":53,"value":510},{"type":47,"tag":151,"props":4277,"children":4278},{"style":164},[4279],{"type":53,"value":1609},{"type":47,"tag":151,"props":4281,"children":4282},{"style":164},[4283],{"type":53,"value":627},{"type":47,"tag":151,"props":4285,"children":4286},{"style":1844},[4287],{"type":53,"value":4288}," bubbles",{"type":47,"tag":151,"props":4290,"children":4291},{"style":164},[4292],{"type":53,"value":1273},{"type":47,"tag":151,"props":4294,"children":4295},{"style":2971},[4296],{"type":53,"value":2974},{"type":47,"tag":151,"props":4298,"children":4299},{"style":164},[4300],{"type":53,"value":2591},{"type":47,"tag":151,"props":4302,"children":4303},{"style":487},[4304],{"type":53,"value":1342},{"type":47,"tag":151,"props":4306,"children":4307},{"style":164},[4308],{"type":53,"value":1361},{"type":47,"tag":151,"props":4310,"children":4311},{"class":153,"line":540},[4312,4316,4320,4324,4328,4332,4336,4340,4344,4349,4353,4357,4361,4365,4369,4373,4377,4381],{"type":47,"tag":151,"props":4313,"children":4314},{"style":487},[4315],{"type":53,"value":4237},{"type":47,"tag":151,"props":4317,"children":4318},{"style":164},[4319],{"type":53,"value":293},{"type":47,"tag":151,"props":4321,"children":4322},{"style":630},[4323],{"type":53,"value":4246},{"type":47,"tag":151,"props":4325,"children":4326},{"style":487},[4327],{"type":53,"value":1324},{"type":47,"tag":151,"props":4329,"children":4330},{"style":164},[4331],{"type":53,"value":2116},{"type":47,"tag":151,"props":4333,"children":4334},{"style":630},[4335],{"type":53,"value":4259},{"type":47,"tag":151,"props":4337,"children":4338},{"style":487},[4339],{"type":53,"value":1324},{"type":47,"tag":151,"props":4341,"children":4342},{"style":164},[4343],{"type":53,"value":510},{"type":47,"tag":151,"props":4345,"children":4346},{"style":170},[4347],{"type":53,"value":4348},"change",{"type":47,"tag":151,"props":4350,"children":4351},{"style":164},[4352],{"type":53,"value":510},{"type":47,"tag":151,"props":4354,"children":4355},{"style":164},[4356],{"type":53,"value":1609},{"type":47,"tag":151,"props":4358,"children":4359},{"style":164},[4360],{"type":53,"value":627},{"type":47,"tag":151,"props":4362,"children":4363},{"style":1844},[4364],{"type":53,"value":4288},{"type":47,"tag":151,"props":4366,"children":4367},{"style":164},[4368],{"type":53,"value":1273},{"type":47,"tag":151,"props":4370,"children":4371},{"style":2971},[4372],{"type":53,"value":2974},{"type":47,"tag":151,"props":4374,"children":4375},{"style":164},[4376],{"type":53,"value":2591},{"type":47,"tag":151,"props":4378,"children":4379},{"style":487},[4380],{"type":53,"value":1342},{"type":47,"tag":151,"props":4382,"children":4383},{"style":164},[4384],{"type":53,"value":1361},{"type":47,"tag":56,"props":4386,"children":4387},{},[4388,4390,4395],{"type":53,"value":4389},"Prefer real ",{"type":47,"tag":62,"props":4391,"children":4393},{"className":4392},[],[4394],{"type":53,"value":422},{"type":53,"value":4396}," events for the behavior being demonstrated or tested;\ndirect DOM mutation is fine for deterministic setup and inspection.",{"type":47,"tag":123,"props":4398,"children":4400},{"id":4399},"waiting-reliably",[4401],{"type":53,"value":4402},"Waiting reliably",{"type":47,"tag":56,"props":4404,"children":4405},{},[4406],{"type":53,"value":4407},"A returned command does not mean the action completed. Poll the state that\nproves completion:",{"type":47,"tag":140,"props":4409,"children":4411},{"className":1276,"code":4410,"language":1278,"meta":145,"style":145},"async function waitFor(expr: string, timeoutMs = 30_000) {\n  const start = Date.now();\n  while (Date.now() - start \u003C timeoutMs) {\n    const r = await send(\"Runtime.evaluate\", { expression: `Boolean(${expr})`, returnByValue: true });\n    if (r.result.value) return;\n    await new Promise((res) => setTimeout(res, 250));\n  }\n  throw new Error(`Timed out waiting for ${expr}`);\n}\n\nawait waitFor(`document.body.innerText.includes('Saved')`);\n",[4412],{"type":47,"tag":62,"props":4413,"children":4414},{"__ignoreMap":145},[4415,4473,4511,4568,4682,4726,4793,4801,4850,4857,4864],{"type":47,"tag":151,"props":4416,"children":4417},{"class":153,"line":154},[4418,4422,4426,4431,4435,4439,4443,4447,4451,4456,4460,4465,4469],{"type":47,"tag":151,"props":4419,"children":4420},{"style":909},[4421],{"type":53,"value":3088},{"type":47,"tag":151,"props":4423,"children":4424},{"style":909},[4425],{"type":53,"value":3093},{"type":47,"tag":151,"props":4427,"children":4428},{"style":630},[4429],{"type":53,"value":4430}," waitFor",{"type":47,"tag":151,"props":4432,"children":4433},{"style":164},[4434],{"type":53,"value":1324},{"type":47,"tag":151,"props":4436,"children":4437},{"style":1402},[4438],{"type":53,"value":3107},{"type":47,"tag":151,"props":4440,"children":4441},{"style":164},[4442],{"type":53,"value":1273},{"type":47,"tag":151,"props":4444,"children":4445},{"style":158},[4446],{"type":53,"value":2409},{"type":47,"tag":151,"props":4448,"children":4449},{"style":164},[4450],{"type":53,"value":1609},{"type":47,"tag":151,"props":4452,"children":4453},{"style":1402},[4454],{"type":53,"value":4455}," timeoutMs",{"type":47,"tag":151,"props":4457,"children":4458},{"style":164},[4459],{"type":53,"value":1649},{"type":47,"tag":151,"props":4461,"children":4462},{"style":920},[4463],{"type":53,"value":4464}," 30_000",{"type":47,"tag":151,"props":4466,"children":4467},{"style":164},[4468],{"type":53,"value":1419},{"type":47,"tag":151,"props":4470,"children":4471},{"style":164},[4472],{"type":53,"value":1627},{"type":47,"tag":151,"props":4474,"children":4475},{"class":153,"line":477},[4476,4480,4485,4489,4494,4498,4503,4507],{"type":47,"tag":151,"props":4477,"children":4478},{"style":909},[4479],{"type":53,"value":1818},{"type":47,"tag":151,"props":4481,"children":4482},{"style":487},[4483],{"type":53,"value":4484}," start",{"type":47,"tag":151,"props":4486,"children":4487},{"style":164},[4488],{"type":53,"value":1649},{"type":47,"tag":151,"props":4490,"children":4491},{"style":487},[4492],{"type":53,"value":4493}," Date",{"type":47,"tag":151,"props":4495,"children":4496},{"style":164},[4497],{"type":53,"value":293},{"type":47,"tag":151,"props":4499,"children":4500},{"style":630},[4501],{"type":53,"value":4502},"now",{"type":47,"tag":151,"props":4504,"children":4505},{"style":1844},[4506],{"type":53,"value":1356},{"type":47,"tag":151,"props":4508,"children":4509},{"style":164},[4510],{"type":53,"value":1361},{"type":47,"tag":151,"props":4512,"children":4513},{"class":153,"line":518},[4514,4519,4523,4528,4532,4536,4541,4546,4550,4555,4559,4563],{"type":47,"tag":151,"props":4515,"children":4516},{"style":481},[4517],{"type":53,"value":4518},"  while",{"type":47,"tag":151,"props":4520,"children":4521},{"style":1844},[4522],{"type":53,"value":1309},{"type":47,"tag":151,"props":4524,"children":4525},{"style":487},[4526],{"type":53,"value":4527},"Date",{"type":47,"tag":151,"props":4529,"children":4530},{"style":164},[4531],{"type":53,"value":293},{"type":47,"tag":151,"props":4533,"children":4534},{"style":630},[4535],{"type":53,"value":4502},{"type":47,"tag":151,"props":4537,"children":4538},{"style":1844},[4539],{"type":53,"value":4540},"() ",{"type":47,"tag":151,"props":4542,"children":4543},{"style":164},[4544],{"type":53,"value":4545},"-",{"type":47,"tag":151,"props":4547,"children":4548},{"style":487},[4549],{"type":53,"value":4484},{"type":47,"tag":151,"props":4551,"children":4552},{"style":164},[4553],{"type":53,"value":4554}," \u003C",{"type":47,"tag":151,"props":4556,"children":4557},{"style":487},[4558],{"type":53,"value":4455},{"type":47,"tag":151,"props":4560,"children":4561},{"style":1844},[4562],{"type":53,"value":1911},{"type":47,"tag":151,"props":4564,"children":4565},{"style":164},[4566],{"type":53,"value":4567},"{\n",{"type":47,"tag":151,"props":4569,"children":4570},{"class":153,"line":540},[4571,4575,4579,4583,4587,4591,4595,4599,4603,4607,4611,4615,4620,4624,4628,4633,4637,4641,4645,4649,4653,4657,4662,4666,4670,4674,4678],{"type":47,"tag":151,"props":4572,"children":4573},{"style":909},[4574],{"type":53,"value":2517},{"type":47,"tag":151,"props":4576,"children":4577},{"style":487},[4578],{"type":53,"value":3135},{"type":47,"tag":151,"props":4580,"children":4581},{"style":164},[4582],{"type":53,"value":1649},{"type":47,"tag":151,"props":4584,"children":4585},{"style":481},[4586],{"type":53,"value":1304},{"type":47,"tag":151,"props":4588,"children":4589},{"style":630},[4590],{"type":53,"value":2391},{"type":47,"tag":151,"props":4592,"children":4593},{"style":1844},[4594],{"type":53,"value":1324},{"type":47,"tag":151,"props":4596,"children":4597},{"style":164},[4598],{"type":53,"value":510},{"type":47,"tag":151,"props":4600,"children":4601},{"style":170},[4602],{"type":53,"value":430},{"type":47,"tag":151,"props":4604,"children":4605},{"style":164},[4606],{"type":53,"value":510},{"type":47,"tag":151,"props":4608,"children":4609},{"style":164},[4610],{"type":53,"value":1609},{"type":47,"tag":151,"props":4612,"children":4613},{"style":164},[4614],{"type":53,"value":627},{"type":47,"tag":151,"props":4616,"children":4617},{"style":1844},[4618],{"type":53,"value":4619}," expression",{"type":47,"tag":151,"props":4621,"children":4622},{"style":164},[4623],{"type":53,"value":1273},{"type":47,"tag":151,"props":4625,"children":4626},{"style":164},[4627],{"type":53,"value":2878},{"type":47,"tag":151,"props":4629,"children":4630},{"style":170},[4631],{"type":53,"value":4632},"Boolean(",{"type":47,"tag":151,"props":4634,"children":4635},{"style":164},[4636],{"type":53,"value":3205},{"type":47,"tag":151,"props":4638,"children":4639},{"style":487},[4640],{"type":53,"value":3107},{"type":47,"tag":151,"props":4642,"children":4643},{"style":164},[4644],{"type":53,"value":1694},{"type":47,"tag":151,"props":4646,"children":4647},{"style":170},[4648],{"type":53,"value":1419},{"type":47,"tag":151,"props":4650,"children":4651},{"style":164},[4652],{"type":53,"value":2952},{"type":47,"tag":151,"props":4654,"children":4655},{"style":164},[4656],{"type":53,"value":1609},{"type":47,"tag":151,"props":4658,"children":4659},{"style":1844},[4660],{"type":53,"value":4661}," returnByValue",{"type":47,"tag":151,"props":4663,"children":4664},{"style":164},[4665],{"type":53,"value":1273},{"type":47,"tag":151,"props":4667,"children":4668},{"style":2971},[4669],{"type":53,"value":2974},{"type":47,"tag":151,"props":4671,"children":4672},{"style":164},[4673],{"type":53,"value":2591},{"type":47,"tag":151,"props":4675,"children":4676},{"style":1844},[4677],{"type":53,"value":1419},{"type":47,"tag":151,"props":4679,"children":4680},{"style":164},[4681],{"type":53,"value":1361},{"type":47,"tag":151,"props":4683,"children":4684},{"class":153,"line":561},[4685,4690,4694,4698,4702,4706,4710,4714,4718,4722],{"type":47,"tag":151,"props":4686,"children":4687},{"style":481},[4688],{"type":53,"value":4689},"    if",{"type":47,"tag":151,"props":4691,"children":4692},{"style":1844},[4693],{"type":53,"value":1309},{"type":47,"tag":151,"props":4695,"children":4696},{"style":487},[4697],{"type":53,"value":3320},{"type":47,"tag":151,"props":4699,"children":4700},{"style":164},[4701],{"type":53,"value":293},{"type":47,"tag":151,"props":4703,"children":4704},{"style":487},[4705],{"type":53,"value":2192},{"type":47,"tag":151,"props":4707,"children":4708},{"style":164},[4709],{"type":53,"value":293},{"type":47,"tag":151,"props":4711,"children":4712},{"style":487},[4713],{"type":53,"value":3337},{"type":47,"tag":151,"props":4715,"children":4716},{"style":1844},[4717],{"type":53,"value":1911},{"type":47,"tag":151,"props":4719,"children":4720},{"style":481},[4721],{"type":53,"value":1916},{"type":47,"tag":151,"props":4723,"children":4724},{"style":164},[4725],{"type":53,"value":1361},{"type":47,"tag":151,"props":4727,"children":4728},{"class":153,"line":588},[4729,4734,4738,4742,4746,4750,4755,4759,4763,4768,4772,4776,4780,4785,4789],{"type":47,"tag":151,"props":4730,"children":4731},{"style":481},[4732],{"type":53,"value":4733},"    await",{"type":47,"tag":151,"props":4735,"children":4736},{"style":164},[4737],{"type":53,"value":1495},{"type":47,"tag":151,"props":4739,"children":4740},{"style":158},[4741],{"type":53,"value":1591},{"type":47,"tag":151,"props":4743,"children":4744},{"style":1844},[4745],{"type":53,"value":1324},{"type":47,"tag":151,"props":4747,"children":4748},{"style":164},[4749],{"type":53,"value":1324},{"type":47,"tag":151,"props":4751,"children":4752},{"style":1402},[4753],{"type":53,"value":4754},"res",{"type":47,"tag":151,"props":4756,"children":4757},{"style":164},[4758],{"type":53,"value":1419},{"type":47,"tag":151,"props":4760,"children":4761},{"style":909},[4762],{"type":53,"value":1424},{"type":47,"tag":151,"props":4764,"children":4765},{"style":630},[4766],{"type":53,"value":4767}," setTimeout",{"type":47,"tag":151,"props":4769,"children":4770},{"style":1844},[4771],{"type":53,"value":1324},{"type":47,"tag":151,"props":4773,"children":4774},{"style":487},[4775],{"type":53,"value":4754},{"type":47,"tag":151,"props":4777,"children":4778},{"style":164},[4779],{"type":53,"value":1609},{"type":47,"tag":151,"props":4781,"children":4782},{"style":920},[4783],{"type":53,"value":4784}," 250",{"type":47,"tag":151,"props":4786,"children":4787},{"style":1844},[4788],{"type":53,"value":1342},{"type":47,"tag":151,"props":4790,"children":4791},{"style":164},[4792],{"type":53,"value":1361},{"type":47,"tag":151,"props":4794,"children":4795},{"class":153,"line":666},[4796],{"type":47,"tag":151,"props":4797,"children":4798},{"style":164},[4799],{"type":53,"value":4800},"  }\n",{"type":47,"tag":151,"props":4802,"children":4803},{"class":153,"line":675},[4804,4809,4813,4817,4821,4825,4830,4834,4838,4842,4846],{"type":47,"tag":151,"props":4805,"children":4806},{"style":481},[4807],{"type":53,"value":4808},"  throw",{"type":47,"tag":151,"props":4810,"children":4811},{"style":164},[4812],{"type":53,"value":1495},{"type":47,"tag":151,"props":4814,"children":4815},{"style":630},[4816],{"type":53,"value":1500},{"type":47,"tag":151,"props":4818,"children":4819},{"style":1844},[4820],{"type":53,"value":1324},{"type":47,"tag":151,"props":4822,"children":4823},{"style":164},[4824],{"type":53,"value":2952},{"type":47,"tag":151,"props":4826,"children":4827},{"style":170},[4828],{"type":53,"value":4829},"Timed out waiting for ",{"type":47,"tag":151,"props":4831,"children":4832},{"style":164},[4833],{"type":53,"value":3205},{"type":47,"tag":151,"props":4835,"children":4836},{"style":487},[4837],{"type":53,"value":3107},{"type":47,"tag":151,"props":4839,"children":4840},{"style":164},[4841],{"type":53,"value":3379},{"type":47,"tag":151,"props":4843,"children":4844},{"style":1844},[4845],{"type":53,"value":1419},{"type":47,"tag":151,"props":4847,"children":4848},{"style":164},[4849],{"type":53,"value":1361},{"type":47,"tag":151,"props":4851,"children":4852},{"class":153,"line":685},[4853],{"type":47,"tag":151,"props":4854,"children":4855},{"style":164},[4856],{"type":53,"value":2701},{"type":47,"tag":151,"props":4858,"children":4859},{"class":153,"line":694},[4860],{"type":47,"tag":151,"props":4861,"children":4862},{"emptyLinePlaceholder":679},[4863],{"type":53,"value":682},{"type":47,"tag":151,"props":4865,"children":4866},{"class":153,"line":748},[4867,4871,4875,4879,4883,4888,4892,4896],{"type":47,"tag":151,"props":4868,"children":4869},{"style":481},[4870],{"type":53,"value":1314},{"type":47,"tag":151,"props":4872,"children":4873},{"style":630},[4874],{"type":53,"value":4430},{"type":47,"tag":151,"props":4876,"children":4877},{"style":487},[4878],{"type":53,"value":1324},{"type":47,"tag":151,"props":4880,"children":4881},{"style":164},[4882],{"type":53,"value":2952},{"type":47,"tag":151,"props":4884,"children":4885},{"style":170},[4886],{"type":53,"value":4887},"document.body.innerText.includes('Saved')",{"type":47,"tag":151,"props":4889,"children":4890},{"style":164},[4891],{"type":53,"value":2952},{"type":47,"tag":151,"props":4893,"children":4894},{"style":487},[4895],{"type":53,"value":1419},{"type":47,"tag":151,"props":4897,"children":4898},{"style":164},[4899],{"type":53,"value":1361},{"type":47,"tag":56,"props":4901,"children":4902},{},[4903,4905,4911,4913,4919],{"type":53,"value":4904},"For navigation, wait on ",{"type":47,"tag":62,"props":4906,"children":4908},{"className":4907},[],[4909],{"type":53,"value":4910},"Page.loadEventFired",{"type":53,"value":4912}," or a lifecycle ",{"type":47,"tag":62,"props":4914,"children":4916},{"className":4915},[],[4917],{"type":53,"value":4918},"networkIdle",{"type":53,"value":4920},"\nevent — but SPA route changes may emit neither, so prefer the UI condition\nthat actually matters.",{"type":47,"tag":123,"props":4922,"children":4924},{"id":4923},"screenshots-pdf-and-video",[4925],{"type":53,"value":4926},"Screenshots, PDF, and video",{"type":47,"tag":140,"props":4928,"children":4930},{"className":1276,"code":4929,"language":1278,"meta":145,"style":145},"const shot = await send(\"Page.captureScreenshot\", { format: \"png\" });\nawait Bun.write(\"screenshot.png\", Buffer.from(shot.data, \"base64\"));\n",[4931],{"type":47,"tag":62,"props":4932,"children":4933},{"__ignoreMap":145},[4934,5017],{"type":47,"tag":151,"props":4935,"children":4936},{"class":153,"line":154},[4937,4941,4946,4950,4954,4958,4962,4966,4971,4975,4979,4983,4988,4992,4996,5001,5005,5009,5013],{"type":47,"tag":151,"props":4938,"children":4939},{"style":909},[4940],{"type":53,"value":1290},{"type":47,"tag":151,"props":4942,"children":4943},{"style":487},[4944],{"type":53,"value":4945}," shot ",{"type":47,"tag":151,"props":4947,"children":4948},{"style":164},[4949],{"type":53,"value":917},{"type":47,"tag":151,"props":4951,"children":4952},{"style":481},[4953],{"type":53,"value":1304},{"type":47,"tag":151,"props":4955,"children":4956},{"style":630},[4957],{"type":53,"value":2391},{"type":47,"tag":151,"props":4959,"children":4960},{"style":487},[4961],{"type":53,"value":1324},{"type":47,"tag":151,"props":4963,"children":4964},{"style":164},[4965],{"type":53,"value":510},{"type":47,"tag":151,"props":4967,"children":4968},{"style":170},[4969],{"type":53,"value":4970},"Page.captureScreenshot",{"type":47,"tag":151,"props":4972,"children":4973},{"style":164},[4974],{"type":53,"value":510},{"type":47,"tag":151,"props":4976,"children":4977},{"style":164},[4978],{"type":53,"value":1609},{"type":47,"tag":151,"props":4980,"children":4981},{"style":164},[4982],{"type":53,"value":627},{"type":47,"tag":151,"props":4984,"children":4985},{"style":1844},[4986],{"type":53,"value":4987}," format",{"type":47,"tag":151,"props":4989,"children":4990},{"style":164},[4991],{"type":53,"value":1273},{"type":47,"tag":151,"props":4993,"children":4994},{"style":164},[4995],{"type":53,"value":500},{"type":47,"tag":151,"props":4997,"children":4998},{"style":170},[4999],{"type":53,"value":5000},"png",{"type":47,"tag":151,"props":5002,"children":5003},{"style":164},[5004],{"type":53,"value":510},{"type":47,"tag":151,"props":5006,"children":5007},{"style":164},[5008],{"type":53,"value":2591},{"type":47,"tag":151,"props":5010,"children":5011},{"style":487},[5012],{"type":53,"value":1419},{"type":47,"tag":151,"props":5014,"children":5015},{"style":164},[5016],{"type":53,"value":1361},{"type":47,"tag":151,"props":5018,"children":5019},{"class":153,"line":477},[5020,5024,5029,5033,5038,5042,5046,5051,5055,5059,5064,5068,5073,5078,5082,5086,5090,5094,5099,5103,5107],{"type":47,"tag":151,"props":5021,"children":5022},{"style":481},[5023],{"type":53,"value":1314},{"type":47,"tag":151,"props":5025,"children":5026},{"style":487},[5027],{"type":53,"value":5028}," Bun",{"type":47,"tag":151,"props":5030,"children":5031},{"style":164},[5032],{"type":53,"value":293},{"type":47,"tag":151,"props":5034,"children":5035},{"style":630},[5036],{"type":53,"value":5037},"write",{"type":47,"tag":151,"props":5039,"children":5040},{"style":487},[5041],{"type":53,"value":1324},{"type":47,"tag":151,"props":5043,"children":5044},{"style":164},[5045],{"type":53,"value":510},{"type":47,"tag":151,"props":5047,"children":5048},{"style":170},[5049],{"type":53,"value":5050},"screenshot.png",{"type":47,"tag":151,"props":5052,"children":5053},{"style":164},[5054],{"type":53,"value":510},{"type":47,"tag":151,"props":5056,"children":5057},{"style":164},[5058],{"type":53,"value":1609},{"type":47,"tag":151,"props":5060,"children":5061},{"style":487},[5062],{"type":53,"value":5063}," Buffer",{"type":47,"tag":151,"props":5065,"children":5066},{"style":164},[5067],{"type":53,"value":293},{"type":47,"tag":151,"props":5069,"children":5070},{"style":630},[5071],{"type":53,"value":5072},"from",{"type":47,"tag":151,"props":5074,"children":5075},{"style":487},[5076],{"type":53,"value":5077},"(shot",{"type":47,"tag":151,"props":5079,"children":5080},{"style":164},[5081],{"type":53,"value":293},{"type":47,"tag":151,"props":5083,"children":5084},{"style":487},[5085],{"type":53,"value":1868},{"type":47,"tag":151,"props":5087,"children":5088},{"style":164},[5089],{"type":53,"value":1609},{"type":47,"tag":151,"props":5091,"children":5092},{"style":164},[5093],{"type":53,"value":500},{"type":47,"tag":151,"props":5095,"children":5096},{"style":170},[5097],{"type":53,"value":5098},"base64",{"type":47,"tag":151,"props":5100,"children":5101},{"style":164},[5102],{"type":53,"value":510},{"type":47,"tag":151,"props":5104,"children":5105},{"style":487},[5106],{"type":53,"value":1342},{"type":47,"tag":151,"props":5108,"children":5109},{"style":164},[5110],{"type":53,"value":1361},{"type":47,"tag":56,"props":5112,"children":5113},{},[5114,5120,5122,5128,5129,5135,5137,5143,5145,5151,5153,5158],{"type":47,"tag":62,"props":5115,"children":5117},{"className":5116},[],[5118],{"type":53,"value":5119},"captureBeyondViewport: true",{"type":53,"value":5121}," for full-page; ",{"type":47,"tag":62,"props":5123,"children":5125},{"className":5124},[],[5126],{"type":53,"value":5127},"Page.getLayoutMetrics",{"type":53,"value":4053},{"type":47,"tag":62,"props":5130,"children":5132},{"className":5131},[],[5133],{"type":53,"value":5134},"clip",{"type":53,"value":5136},"\nfor exact regions; ",{"type":47,"tag":62,"props":5138,"children":5140},{"className":5139},[],[5141],{"type":53,"value":5142},"Page.printToPDF",{"type":53,"value":5144}," for PDFs. For video recording with\n",{"type":47,"tag":62,"props":5146,"children":5148},{"className":5147},[],[5149],{"type":53,"value":5150},"Page.startScreencast",{"type":53,"value":5152}," and demo-polish tips, read\n",{"type":47,"tag":105,"props":5154,"children":5156},{"href":5155},"references\u002Frecording.md",[5157],{"type":53,"value":5155},{"type":53,"value":293},{"type":47,"tag":123,"props":5160,"children":5162},{"id":5161},"debugging-failures",[5163],{"type":53,"value":5164},"Debugging failures",{"type":47,"tag":56,"props":5166,"children":5167},{},[5168,5170,5175,5177,5182,5184,5190,5191,5197,5198,5204,5205,5211,5212,5218,5220,5226,5228,5234],{"type":53,"value":5169},"Enable ",{"type":47,"tag":62,"props":5171,"children":5173},{"className":5172},[],[5174],{"type":53,"value":397},{"type":53,"value":5176}," and ",{"type":47,"tag":62,"props":5178,"children":5180},{"className":5179},[],[5181],{"type":53,"value":404},{"type":53,"value":5183},", then watch ",{"type":47,"tag":62,"props":5185,"children":5187},{"className":5186},[],[5188],{"type":53,"value":5189},"Network.requestWillBeSent",{"type":53,"value":801},{"type":47,"tag":62,"props":5192,"children":5194},{"className":5193},[],[5195],{"type":53,"value":5196},"Network.responseReceived",{"type":53,"value":369},{"type":47,"tag":62,"props":5199,"children":5201},{"className":5200},[],[5202],{"type":53,"value":5203},"Network.loadingFailed",{"type":53,"value":369},{"type":47,"tag":62,"props":5206,"children":5208},{"className":5207},[],[5209],{"type":53,"value":5210},"Runtime.consoleAPICalled",{"type":53,"value":801},{"type":47,"tag":62,"props":5213,"children":5215},{"className":5214},[],[5216],{"type":53,"value":5217},"Runtime.exceptionThrown",{"type":53,"value":5219},", and ",{"type":47,"tag":62,"props":5221,"children":5223},{"className":5222},[],[5224],{"type":53,"value":5225},"Log.entryAdded",{"type":53,"value":5227},". Fetch bodies with\n",{"type":47,"tag":62,"props":5229,"children":5231},{"className":5230},[],[5232],{"type":53,"value":5233},"Network.getResponseBody",{"type":53,"value":5235},". Never log authorization headers, cookies, API keys,\npasswords, or response bodies containing secrets — scrub before returning\noutput to context.",{"type":47,"tag":56,"props":5237,"children":5238},{},[5239],{"type":53,"value":5240},"Common failure modes:",{"type":47,"tag":5242,"props":5243,"children":5244},"ul",{},[5245,5262,5279,5289,5299,5316,5326],{"type":47,"tag":218,"props":5246,"children":5247},{},[5248,5253,5255,5260],{"type":47,"tag":1215,"props":5249,"children":5250},{},[5251],{"type":53,"value":5252},"ECONNREFUSED on the port",{"type":53,"value":5254},": browser exited, wrong port, or debugging not\nenabled — check ",{"type":47,"tag":62,"props":5256,"children":5258},{"className":5257},[],[5259],{"type":53,"value":1169},{"type":53,"value":5261}," first.",{"type":47,"tag":218,"props":5263,"children":5264},{},[5265,5270,5272,5277],{"type":47,"tag":1215,"props":5266,"children":5267},{},[5268],{"type":53,"value":5269},"No matching target",{"type":53,"value":5271},": inspect ",{"type":47,"tag":62,"props":5273,"children":5275},{"className":5274},[],[5276],{"type":53,"value":338},{"type":53,"value":5278},"; match by URL\u002Ftitle, don't take\nthe first page blindly.",{"type":47,"tag":218,"props":5280,"children":5281},{},[5282,5287],{"type":47,"tag":1215,"props":5283,"children":5284},{},[5285],{"type":53,"value":5286},"Execution context destroyed",{"type":53,"value":5288},": the page navigated; wait for the new\ndocument and re-evaluate.",{"type":47,"tag":218,"props":5290,"children":5291},{},[5292,5297],{"type":47,"tag":1215,"props":5293,"children":5294},{},[5295],{"type":53,"value":5296},"Click misses an existing element",{"type":53,"value":5298},": scroll into view and recalculate the\nbox immediately before dispatching.",{"type":47,"tag":218,"props":5300,"children":5301},{},[5302,5307,5309,5314],{"type":47,"tag":1215,"props":5303,"children":5304},{},[5305],{"type":53,"value":5306},"Typed text doesn't stick in a controlled input",{"type":53,"value":5308},": focus + ",{"type":47,"tag":62,"props":5310,"children":5312},{"className":5311},[],[5313],{"type":53,"value":3980},{"type":53,"value":5315},",\nor the prototype-setter pattern above.",{"type":47,"tag":218,"props":5317,"children":5318},{},[5319,5324],{"type":47,"tag":1215,"props":5320,"children":5321},{},[5322],{"type":53,"value":5323},"Opening DevTools disconnects automation",{"type":53,"value":5325},": embedded DevTools can detach\nother clients — don't open DevTools during a run.",{"type":47,"tag":218,"props":5327,"children":5328},{},[5329,5334],{"type":47,"tag":1215,"props":5330,"children":5331},{},[5332],{"type":53,"value":5333},"Page commands fail on the browser endpoint",{"type":53,"value":5335},": attach to the page target.",{"type":47,"tag":123,"props":5337,"children":5339},{"id":5338},"safety",[5340],{"type":53,"value":5341},"Safety",{"type":47,"tag":56,"props":5343,"children":5344},{},[5345],{"type":53,"value":5346},"Browser automation acts with the user's browser authority.",{"type":47,"tag":5242,"props":5348,"children":5349},{},[5350,5355,5360,5365,5370],{"type":47,"tag":218,"props":5351,"children":5352},{},[5353],{"type":53,"value":5354},"Use a disposable profile by default.",{"type":47,"tag":218,"props":5356,"children":5357},{},[5358],{"type":53,"value":5359},"Do not submit purchases, publish content, send messages, delete data, or\naccept consequential dialogs without explicit authorization.",{"type":47,"tag":218,"props":5361,"children":5362},{},[5363],{"type":53,"value":5364},"Do not extract saved passwords, tokens, cookies, or unrelated browsing data.",{"type":47,"tag":218,"props":5366,"children":5367},{},[5368],{"type":53,"value":5369},"Stay within the requested origin and workflow.",{"type":47,"tag":218,"props":5371,"children":5372},{},[5373,5375,5381],{"type":53,"value":5374},"Keep the remote-debugging listener on loopback (",{"type":47,"tag":62,"props":5376,"children":5378},{"className":5377},[],[5379],{"type":53,"value":5380},"127.0.0.1",{"type":53,"value":5382},") unless the user\nexplicitly needs remote access and has authentication in place.",{"type":47,"tag":5384,"props":5385,"children":5386},"style",{},[5387],{"type":53,"value":5388},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":5390,"total":2339},[5391,5405,5411,5426,5438,5450,5464],{"slug":5392,"name":5392,"fn":5393,"description":5394,"org":5395,"tags":5396,"stars":23,"repoUrl":24,"updatedAt":5404},"acquiring-skills","discover and install agent skills","Discover and install skills from Hermes, ClawHub, GitHub, and other registries. Load this skill whenever a user asks for a capability you don't already have — image generation, social media, email, calendar, finance, DevOps, search, browser automation, etc.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[5397,5400,5401],{"name":5398,"slug":5399,"type":16},"Agents","agents",{"name":14,"slug":15,"type":16},{"name":5402,"slug":5403,"type":16},"GitHub","github","2026-07-13T06:22:58.45767",{"slug":4,"name":4,"fn":5,"description":6,"org":5406,"tags":5407,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[5408,5409,5410],{"name":14,"slug":15,"type":16},{"name":21,"slug":22,"type":16},{"name":18,"slug":19,"type":16},{"slug":5412,"name":5413,"fn":5414,"description":5415,"org":5416,"tags":5417,"stars":23,"repoUrl":24,"updatedAt":5425},"context-doctor","Context Doctor","repair system prompt and memory degradation","Identify and repair degradation in system prompt, external memory, and skills preventing you from following instructions or remembering information as well as you should.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[5418,5419,5422],{"name":5398,"slug":5399,"type":16},{"name":5420,"slug":5421,"type":16},"AI Context","ai-context",{"name":5423,"slug":5424,"type":16},"Debugging","debugging","2026-07-13T06:22:50.151002",{"slug":5427,"name":5427,"fn":5428,"description":5429,"org":5430,"tags":5431,"stars":23,"repoUrl":24,"updatedAt":5437},"converting-mcps-to-skills","connect MCP servers to create skills","Connect to MCP (Model Context Protocol) servers and create skills for repeated use. Load when a user wants to use an MCP server, connect to external tools via MCP, or when they mention MCP, model context protocol, or specific MCP servers.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[5432,5433,5434],{"name":5398,"slug":5399,"type":16},{"name":14,"slug":15,"type":16},{"name":5435,"slug":5436,"type":16},"MCP","mcp","2026-07-13T06:23:37.646079",{"slug":5439,"name":5439,"fn":5440,"description":5441,"org":5442,"tags":5443,"stars":23,"repoUrl":24,"updatedAt":5449},"creating-mods","create and edit Letta Code mods","Creates and edits trusted local Letta Code mods, including tools, slash commands, local-only model providers, lifecycle\u002Fturn events, scoped conversation helpers, panels, and capability-gated behavior. Use when asked to make a mod, add an agent-callable tool, add a slash command, add a local provider\u002Fmodel adapter, transform turns, react to app events, or add lightweight mod UI outside the dedicated \u002Fstatusline flow.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[5444,5445,5446],{"name":5398,"slug":5399,"type":16},{"name":14,"slug":15,"type":16},{"name":5447,"slug":5448,"type":16},"Coding","coding","2026-07-23T05:42:38.133565",{"slug":5451,"name":5451,"fn":5452,"description":5453,"org":5454,"tags":5455,"stars":23,"repoUrl":24,"updatedAt":5463},"creating-skills","create and update agent skills","Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Letta Code's capabilities with specialized knowledge, workflows, or tool integrations.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[5456,5457,5460],{"name":5398,"slug":5399,"type":16},{"name":5458,"slug":5459,"type":16},"Documentation","documentation",{"name":5461,"slug":5462,"type":16},"Plugin Development","plugin-development","2026-07-13T06:22:56.998659",{"slug":5465,"name":5465,"fn":5466,"description":5467,"org":5468,"tags":5469,"stars":23,"repoUrl":24,"updatedAt":5475},"customizing-commands","create and manage Letta slash commands","Creates, edits, and enables Letta Code mod-provided slash commands. Use when the user asks to add a custom \u002Fcommand, slash command, command shortcut, scoped conversation-backed command, or command-driven panel behavior.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[5470,5471,5472],{"name":5398,"slug":5399,"type":16},{"name":14,"slug":15,"type":16},{"name":5473,"slug":5474,"type":16},"CLI","cli","2026-08-21T03:33:04.239247",{"items":5477,"total":5582},[5478,5484,5490,5496,5502,5508,5514,5520,5531,5543,5559,5570],{"slug":5392,"name":5392,"fn":5393,"description":5394,"org":5479,"tags":5480,"stars":23,"repoUrl":24,"updatedAt":5404},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[5481,5482,5483],{"name":5398,"slug":5399,"type":16},{"name":14,"slug":15,"type":16},{"name":5402,"slug":5403,"type":16},{"slug":4,"name":4,"fn":5,"description":6,"org":5485,"tags":5486,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[5487,5488,5489],{"name":14,"slug":15,"type":16},{"name":21,"slug":22,"type":16},{"name":18,"slug":19,"type":16},{"slug":5412,"name":5413,"fn":5414,"description":5415,"org":5491,"tags":5492,"stars":23,"repoUrl":24,"updatedAt":5425},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[5493,5494,5495],{"name":5398,"slug":5399,"type":16},{"name":5420,"slug":5421,"type":16},{"name":5423,"slug":5424,"type":16},{"slug":5427,"name":5427,"fn":5428,"description":5429,"org":5497,"tags":5498,"stars":23,"repoUrl":24,"updatedAt":5437},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[5499,5500,5501],{"name":5398,"slug":5399,"type":16},{"name":14,"slug":15,"type":16},{"name":5435,"slug":5436,"type":16},{"slug":5439,"name":5439,"fn":5440,"description":5441,"org":5503,"tags":5504,"stars":23,"repoUrl":24,"updatedAt":5449},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[5505,5506,5507],{"name":5398,"slug":5399,"type":16},{"name":14,"slug":15,"type":16},{"name":5447,"slug":5448,"type":16},{"slug":5451,"name":5451,"fn":5452,"description":5453,"org":5509,"tags":5510,"stars":23,"repoUrl":24,"updatedAt":5463},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[5511,5512,5513],{"name":5398,"slug":5399,"type":16},{"name":5458,"slug":5459,"type":16},{"name":5461,"slug":5462,"type":16},{"slug":5465,"name":5465,"fn":5466,"description":5467,"org":5515,"tags":5516,"stars":23,"repoUrl":24,"updatedAt":5475},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[5517,5518,5519],{"name":5398,"slug":5399,"type":16},{"name":14,"slug":15,"type":16},{"name":5473,"slug":5474,"type":16},{"slug":5521,"name":5521,"fn":5522,"description":5523,"org":5524,"tags":5525,"stars":23,"repoUrl":24,"updatedAt":5530},"customizing-statusline","customize Letta Code statusline mods","Creates, edits, and migrates Letta Code statusline mods. Use when handling the \u002Fstatusline command or continuing work started by \u002Fstatusline.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[5526,5527],{"name":5473,"slug":5474,"type":16},{"name":5528,"slug":5529,"type":16},"Engineering","engineering","2026-07-13T06:23:27.465985",{"slug":5532,"name":5532,"fn":5533,"description":5534,"org":5535,"tags":5536,"stars":23,"repoUrl":24,"updatedAt":5542},"dispatching-coding-agents","dispatch stateless coding agents","Dispatch stateless coding agents (Claude Code or Codex) via Bash. Use when you're stuck, need a second opinion, or need parallel research on a hard problem. They have no memory — you must provide all context.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[5537,5538,5539],{"name":5398,"slug":5399,"type":16},{"name":5447,"slug":5448,"type":16},{"name":5540,"slug":5541,"type":16},"Multi-Agent","multi-agent","2026-07-26T05:46:56.388845",{"slug":5544,"name":5544,"fn":5545,"description":5546,"org":5547,"tags":5548,"stars":23,"repoUrl":24,"updatedAt":5558},"editing-letta-code-desktop-preferences","edit Letta Code Desktop preferences","Edits Letta Code Desktop (LCD) preferences by safely reading and updating ~\u002F.letta\u002Fdesktop_preferences.json. Use only when the user asks to change current Desktop\u002FLCD settings such as theme, default working directory, remote access preference, or remote environment name via the preferences JSON.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[5549,5552,5555],{"name":5550,"slug":5551,"type":16},"Configuration","configuration",{"name":5553,"slug":5554,"type":16},"Desktop","desktop",{"name":5556,"slug":5557,"type":16},"Themes","themes","2026-08-27T13:07:27.258249",{"slug":5560,"name":5560,"fn":5561,"description":5562,"org":5563,"tags":5564,"stars":23,"repoUrl":24,"updatedAt":5569},"finding-agents","locate and manage agents on server","Find other agents on the same server. Use when the user asks about other agents, wants to migrate memory from another agent, or needs to find an agent by name or tags.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[5565,5566],{"name":5398,"slug":5399,"type":16},{"name":5567,"slug":5568,"type":16},"Management","management","2026-08-27T13:07:30.0821",{"slug":5571,"name":5571,"fn":5572,"description":5573,"org":5574,"tags":5575,"stars":23,"repoUrl":24,"updatedAt":5581},"generating-mod-envs","generate Letta mod learning environments","Generates and reviews mod learning env JSON files for Letta Code local mods. Use when asked to teach, learn, or optimize a mod behavior; create, draft, validate, improve, or explain envs for `\u002Fmods learn --env`; or design evaluation scenarios, memory fixtures, requiredResultMarkers, requiredTraceMarkers, negative controls, and candidate diversity hints.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[5576,5577,5580],{"name":5398,"slug":5399,"type":16},{"name":5578,"slug":5579,"type":16},"AI Infrastructure","ai-infrastructure",{"name":5550,"slug":5551,"type":16},"2026-07-13T06:23:08.838181",73]