@farazirfan/costar-server-executor 1.7.31 → 1.7.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/dist/agent/agent.js +2 -2
  2. package/dist/agent/pi-embedded-runner/run.js +1 -1
  3. package/dist/agent/pi-embedded-runner/run.js.map +1 -1
  4. package/dist/api/chat.d.ts.map +1 -1
  5. package/dist/api/chat.js +13 -0
  6. package/dist/api/chat.js.map +1 -1
  7. package/dist/browser/cdp-helpers.d.ts +13 -0
  8. package/dist/browser/cdp-helpers.d.ts.map +1 -0
  9. package/dist/browser/cdp-helpers.js +179 -0
  10. package/dist/browser/cdp-helpers.js.map +1 -0
  11. package/dist/browser/cdp.d.ts.map +1 -1
  12. package/dist/browser/cdp.helpers.d.ts +5 -2
  13. package/dist/browser/cdp.helpers.d.ts.map +1 -1
  14. package/dist/browser/cdp.helpers.js +70 -34
  15. package/dist/browser/cdp.helpers.js.map +1 -1
  16. package/dist/browser/cdp.js +30 -15
  17. package/dist/browser/cdp.js.map +1 -1
  18. package/dist/browser/chrome-executables.d.ts +13 -0
  19. package/dist/browser/chrome-executables.d.ts.map +1 -0
  20. package/dist/browser/chrome-executables.js +559 -0
  21. package/dist/browser/chrome-executables.js.map +1 -0
  22. package/dist/browser/chrome-profile-decoration.d.ts +11 -0
  23. package/dist/browser/chrome-profile-decoration.d.ts.map +1 -0
  24. package/dist/browser/chrome-profile-decoration.js +148 -0
  25. package/dist/browser/chrome-profile-decoration.js.map +1 -0
  26. package/dist/browser/chrome.d.ts +4 -4
  27. package/dist/browser/chrome.d.ts.map +1 -1
  28. package/dist/browser/chrome.executables.d.ts.map +1 -1
  29. package/dist/browser/chrome.executables.js +98 -49
  30. package/dist/browser/chrome.executables.js.map +1 -1
  31. package/dist/browser/chrome.js +72 -28
  32. package/dist/browser/chrome.js.map +1 -1
  33. package/dist/browser/chrome.profile-decoration.d.ts +1 -1
  34. package/dist/browser/chrome.profile-decoration.d.ts.map +1 -1
  35. package/dist/browser/chrome.profile-decoration.js +11 -8
  36. package/dist/browser/chrome.profile-decoration.js.map +1 -1
  37. package/dist/browser/config.d.ts +10 -13
  38. package/dist/browser/config.d.ts.map +1 -1
  39. package/dist/browser/config.js +3 -178
  40. package/dist/browser/config.js.map +1 -1
  41. package/dist/browser/constants.d.ts +3 -3
  42. package/dist/browser/constants.d.ts.map +1 -1
  43. package/dist/browser/constants.js +3 -3
  44. package/dist/browser/constants.js.map +1 -1
  45. package/dist/browser/index.d.ts +19 -0
  46. package/dist/browser/index.d.ts.map +1 -0
  47. package/dist/browser/index.js +29 -0
  48. package/dist/browser/index.js.map +1 -0
  49. package/dist/browser/pw-ai-module.d.ts.map +1 -1
  50. package/dist/browser/pw-ai-module.js +29 -6
  51. package/dist/browser/pw-ai-module.js.map +1 -1
  52. package/dist/browser/pw-ai-state.d.ts +3 -0
  53. package/dist/browser/pw-ai-state.d.ts.map +1 -0
  54. package/dist/browser/pw-ai-state.js +8 -0
  55. package/dist/browser/pw-ai-state.js.map +1 -0
  56. package/dist/browser/pw-ai.d.ts +1 -1
  57. package/dist/browser/pw-ai.d.ts.map +1 -1
  58. package/dist/browser/pw-ai.js +3 -1
  59. package/dist/browser/pw-ai.js.map +1 -1
  60. package/dist/browser/pw-role-snapshot.d.ts.map +1 -1
  61. package/dist/browser/pw-role-snapshot.js +77 -42
  62. package/dist/browser/pw-role-snapshot.js.map +1 -1
  63. package/dist/browser/pw-session.d.ts +33 -1
  64. package/dist/browser/pw-session.d.ts.map +1 -1
  65. package/dist/browser/pw-session.js +257 -48
  66. package/dist/browser/pw-session.js.map +1 -1
  67. package/dist/browser/pw-tools-core.activity.d.ts.map +1 -1
  68. package/dist/browser/pw-tools-core.activity.js +4 -2
  69. package/dist/browser/pw-tools-core.activity.js.map +1 -1
  70. package/dist/browser/pw-tools-core.downloads.d.ts.map +1 -1
  71. package/dist/browser/pw-tools-core.downloads.js +74 -42
  72. package/dist/browser/pw-tools-core.downloads.js.map +1 -1
  73. package/dist/browser/pw-tools-core.interactions.d.ts +8 -1
  74. package/dist/browser/pw-tools-core.interactions.d.ts.map +1 -1
  75. package/dist/browser/pw-tools-core.interactions.js +139 -34
  76. package/dist/browser/pw-tools-core.interactions.js.map +1 -1
  77. package/dist/browser/pw-tools-core.responses.d.ts.map +1 -1
  78. package/dist/browser/pw-tools-core.responses.js +19 -10
  79. package/dist/browser/pw-tools-core.responses.js.map +1 -1
  80. package/dist/browser/pw-tools-core.shared.d.ts.map +1 -1
  81. package/dist/browser/pw-tools-core.shared.js +2 -1
  82. package/dist/browser/pw-tools-core.shared.js.map +1 -1
  83. package/dist/browser/pw-tools-core.snapshot.d.ts.map +1 -1
  84. package/dist/browser/pw-tools-core.snapshot.js +2 -1
  85. package/dist/browser/pw-tools-core.snapshot.js.map +1 -1
  86. package/dist/browser/pw-tools-core.state.d.ts.map +1 -1
  87. package/dist/browser/pw-tools-core.state.js +13 -7
  88. package/dist/browser/pw-tools-core.state.js.map +1 -1
  89. package/dist/browser/pw-tools-core.storage.d.ts.map +1 -1
  90. package/dist/browser/pw-tools-core.storage.js +6 -3
  91. package/dist/browser/pw-tools-core.storage.js.map +1 -1
  92. package/dist/browser/target-id.d.ts.map +1 -1
  93. package/dist/browser/target-id.js +8 -4
  94. package/dist/browser/target-id.js.map +1 -1
  95. package/dist/sandbox/browser-container.d.ts +22 -0
  96. package/dist/sandbox/browser-container.d.ts.map +1 -0
  97. package/dist/sandbox/browser-container.js +141 -0
  98. package/dist/sandbox/browser-container.js.map +1 -0
  99. package/dist/sandbox/constants.d.ts +19 -0
  100. package/dist/sandbox/constants.d.ts.map +1 -0
  101. package/dist/sandbox/constants.js +19 -0
  102. package/dist/sandbox/constants.js.map +1 -0
  103. package/dist/sandbox/index.d.ts +8 -0
  104. package/dist/sandbox/index.d.ts.map +1 -0
  105. package/dist/sandbox/index.js +7 -0
  106. package/dist/sandbox/index.js.map +1 -0
  107. package/dist/sandbox/types.d.ts +32 -0
  108. package/dist/sandbox/types.d.ts.map +1 -0
  109. package/dist/sandbox/types.js +5 -0
  110. package/dist/sandbox/types.js.map +1 -0
  111. package/dist/tools/browser.d.ts +5 -3
  112. package/dist/tools/browser.d.ts.map +1 -1
  113. package/dist/tools/browser.js +361 -1360
  114. package/dist/tools/browser.js.map +1 -1
  115. package/dist/web-server.d.ts.map +1 -1
  116. package/dist/web-server.js +10 -0
  117. package/dist/web-server.js.map +1 -1
  118. package/package.json +3 -1
  119. package/public/index.html +147 -0
  120. package/scripts/postinstall.js +81 -1
  121. package/scripts/sandbox-browser-entrypoint.sh +67 -0
  122. package/scripts/sandbox-browser-setup.sh +7 -0
@@ -1,7 +1,7 @@
1
- export const DEFAULT_OPENCLAW_BROWSER_ENABLED = true;
1
+ export const DEFAULT_COSTAR_BROWSER_ENABLED = true;
2
2
  export const DEFAULT_BROWSER_EVALUATE_ENABLED = true;
3
- export const DEFAULT_OPENCLAW_BROWSER_COLOR = "#FF4500";
4
- export const DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME = "openclaw";
3
+ export const DEFAULT_COSTAR_BROWSER_COLOR = "#FF4500";
4
+ export const DEFAULT_COSTAR_BROWSER_PROFILE_NAME = "openclaw";
5
5
  export const DEFAULT_BROWSER_DEFAULT_PROFILE_NAME = "chrome";
6
6
  export const DEFAULT_AI_SNAPSHOT_MAX_CHARS = 80_000;
7
7
  export const DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS = 10_000;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/browser/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gCAAgC,GAAG,IAAI,CAAC;AACrD,MAAM,CAAC,MAAM,gCAAgC,GAAG,IAAI,CAAC;AACrD,MAAM,CAAC,MAAM,8BAA8B,GAAG,SAAS,CAAC;AACxD,MAAM,CAAC,MAAM,qCAAqC,GAAG,UAAU,CAAC;AAChE,MAAM,CAAC,MAAM,oCAAoC,GAAG,QAAQ,CAAC;AAC7D,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC;AACpD,MAAM,CAAC,MAAM,uCAAuC,GAAG,MAAM,CAAC;AAC9D,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/browser/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,CAAC;AACnD,MAAM,CAAC,MAAM,gCAAgC,GAAG,IAAI,CAAC;AACrD,MAAM,CAAC,MAAM,4BAA4B,GAAG,SAAS,CAAC;AACtD,MAAM,CAAC,MAAM,mCAAmC,GAAG,UAAU,CAAC;AAC9D,MAAM,CAAC,MAAM,oCAAoC,GAAG,QAAQ,CAAC;AAC7D,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC;AACpD,MAAM,CAAC,MAAM,uCAAuC,GAAG,MAAM,CAAC;AAC9D,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * CoStar Browser Automation Module
3
+ *
4
+ * Verbatim copy of OpenClaw's browser automation core (pw-* files),
5
+ * with minimal inlined external deps for self-containment.
6
+ */
7
+ export { buildRoleSnapshotFromAriaSnapshot, buildRoleSnapshotFromAiSnapshot, getRoleSnapshotStats, parseRoleRef, type RoleRef, type RoleRefMap, type RoleSnapshotOptions, type RoleSnapshotStats, } from "./pw-role-snapshot.js";
8
+ export { ensurePageState, ensureContextState, getPageForTargetId, storeRoleRefsForTarget, restoreRoleRefsForTarget, refLocator, closePlaywrightBrowserConnection, registerBrowserConnection, rememberRoleRefsForTarget, listPagesViaPlaywright, createPageViaPlaywright, closePageByTargetIdViaPlaywright, focusPageByTargetIdViaPlaywright, forceDisconnectPlaywrightForTarget, type WithSnapshotForAI, type BrowserConsoleMessage, type BrowserPageError, type BrowserNetworkRequest, } from "./pw-session.js";
9
+ export { getPwAiModule, type PwAiModule } from "./pw-ai-module.js";
10
+ export * from "./pw-tools-core.js";
11
+ export { requireRef, normalizeTimeoutMs, toAIFriendlyError, } from "./pw-tools-core.shared.js";
12
+ export { launchCostarChrome, stopCostarChrome, resolveCostarUserDataDir, isChromeReachable, isChromeCdpReady, getChromeWebSocketUrl, type RunningChrome, } from "./chrome.js";
13
+ export type { ResolvedBrowserConfig, ResolvedBrowserProfile, BrowserProfileConfig, } from "./config.js";
14
+ export { resolveBrowserExecutableForPlatform, findChromeExecutableMac, findChromeExecutableLinux, findChromeExecutableWindows, type BrowserExecutable, } from "./chrome.executables.js";
15
+ export { normalizeCdpWsUrl, captureScreenshot, captureScreenshotPng, createTargetViaCdp, evaluateJavaScript, } from "./cdp.js";
16
+ export { isLoopbackHost, getHeadersWithAuth, appendCdpPath, fetchJson, fetchOk, withCdpSocket, } from "./cdp.helpers.js";
17
+ export * from "./constants.js";
18
+ export * from "./target-id.js";
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,iCAAiC,EACjC,+BAA+B,EAC/B,oBAAoB,EACpB,YAAY,EACZ,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,GACvB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,UAAU,EACV,gCAAgC,EAChC,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,gCAAgC,EAChC,gCAAgC,EAChC,kCAAkC,EAClC,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,GAC3B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGnE,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,aAAa,GACnB,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,mCAAmC,EACnC,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,KAAK,iBAAiB,GACvB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,OAAO,EACP,aAAa,GACd,MAAM,kBAAkB,CAAC;AAG1B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * CoStar Browser Automation Module
3
+ *
4
+ * Verbatim copy of OpenClaw's browser automation core (pw-* files),
5
+ * with minimal inlined external deps for self-containment.
6
+ */
7
+ // ─── Pure snapshot parsing (zero deps) ───────────────────────────────
8
+ export { buildRoleSnapshotFromAriaSnapshot, buildRoleSnapshotFromAiSnapshot, getRoleSnapshotStats, parseRoleRef, } from "./pw-role-snapshot.js";
9
+ // ─── Session state management ────────────────────────────────────────
10
+ export { ensurePageState, ensureContextState, getPageForTargetId, storeRoleRefsForTarget, restoreRoleRefsForTarget, refLocator, closePlaywrightBrowserConnection, registerBrowserConnection, rememberRoleRefsForTarget, listPagesViaPlaywright, createPageViaPlaywright, closePageByTargetIdViaPlaywright, focusPageByTargetIdViaPlaywright, forceDisconnectPlaywrightForTarget, } from "./pw-session.js";
11
+ // ─── pw-ai (Playwright _snapshotForAI support) ──────────────────────
12
+ export { getPwAiModule } from "./pw-ai-module.js";
13
+ // ─── All tools-core (barrel re-export) ──────────────────────────────
14
+ export * from "./pw-tools-core.js";
15
+ // ─── Shared utilities ────────────────────────────────────────────────
16
+ export { requireRef, normalizeTimeoutMs, toAIFriendlyError, } from "./pw-tools-core.shared.js";
17
+ // ─── Process isolation (Chrome child process + CDP) ──────────────────
18
+ export { launchCostarChrome, stopCostarChrome, resolveCostarUserDataDir, isChromeReachable, isChromeCdpReady, getChromeWebSocketUrl, } from "./chrome.js";
19
+ // ─── Chrome executable detection ─────────────────────────────────────
20
+ export { resolveBrowserExecutableForPlatform, findChromeExecutableMac, findChromeExecutableLinux, findChromeExecutableWindows, } from "./chrome.executables.js";
21
+ // ─── CDP protocol utilities ──────────────────────────────────────────
22
+ export { normalizeCdpWsUrl, captureScreenshot, captureScreenshotPng, createTargetViaCdp, evaluateJavaScript, } from "./cdp.js";
23
+ // ─── CDP helpers ─────────────────────────────────────────────────────
24
+ export { isLoopbackHost, getHeadersWithAuth, appendCdpPath, fetchJson, fetchOk, withCdpSocket, } from "./cdp.helpers.js";
25
+ // ─── Constants ───────────────────────────────────────────────────────
26
+ export * from "./constants.js";
27
+ // ─── Target ID ───────────────────────────────────────────────────────
28
+ export * from "./target-id.js";
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,wEAAwE;AACxE,OAAO,EACL,iCAAiC,EACjC,+BAA+B,EAC/B,oBAAoB,EACpB,YAAY,GAKb,MAAM,uBAAuB,CAAC;AAE/B,wEAAwE;AACxE,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,UAAU,EACV,gCAAgC,EAChC,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,gCAAgC,EAChC,gCAAgC,EAChC,kCAAkC,GAKnC,MAAM,iBAAiB,CAAC;AAEzB,uEAAuE;AACvE,OAAO,EAAE,aAAa,EAAmB,MAAM,mBAAmB,CAAC;AAEnE,uEAAuE;AACvE,cAAc,oBAAoB,CAAC;AAEnC,wEAAwE;AACxE,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAEnC,wEAAwE;AACxE,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,GAEtB,MAAM,aAAa,CAAC;AASrB,wEAAwE;AACxE,OAAO,EACL,mCAAmC,EACnC,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,GAE5B,MAAM,yBAAyB,CAAC;AAEjC,wEAAwE;AACxE,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAElB,wEAAwE;AACxE,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,OAAO,EACP,aAAa,GACd,MAAM,kBAAkB,CAAC;AAE1B,wEAAwE;AACxE,cAAc,gBAAgB,CAAC;AAE/B,wEAAwE;AACxE,cAAc,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pw-ai-module.d.ts","sourceRoot":"","sources":["../../src/browser/pw-ai-module.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAAG,cAAc,YAAY,CAAC,CAAC;AAErD,KAAK,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC;AA4BtC,wBAAsB,aAAa,CAAC,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,YAAY,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAQ9F"}
1
+ {"version":3,"file":"pw-ai-module.d.ts","sourceRoot":"","sources":["../../src/browser/pw-ai-module.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,UAAU,GAAG,cAAc,YAAY,CAAC,CAAC;AAErD,KAAK,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC;AAkCtC,wBAAsB,aAAa,CAAC,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,YAAY,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAY9F"}
@@ -1,10 +1,29 @@
1
- import { extractErrorCode, formatErrorMessage } from "../infra/errors.js";
1
+ // Inlined from OpenClaw infra/errors.js
2
+ function extractErrorCode(err) {
3
+ if (!err || typeof err !== "object")
4
+ return undefined;
5
+ const code = err.code;
6
+ return typeof code === "string" ? code : typeof code === "number" ? String(code) : undefined;
7
+ }
8
+ function formatErrorMessage(err) {
9
+ if (err instanceof Error)
10
+ return err.message || err.name || "Error";
11
+ if (typeof err === "string")
12
+ return err;
13
+ try {
14
+ return JSON.stringify(err);
15
+ }
16
+ catch {
17
+ return String(err);
18
+ }
19
+ }
2
20
  let pwAiModuleSoft = null;
3
21
  let pwAiModuleStrict = null;
4
22
  function isModuleNotFoundError(err) {
5
23
  const code = extractErrorCode(err);
6
- if (code === "ERR_MODULE_NOT_FOUND")
24
+ if (code === "ERR_MODULE_NOT_FOUND") {
7
25
  return true;
26
+ }
8
27
  const msg = formatErrorMessage(err);
9
28
  return (msg.includes("Cannot find module") ||
10
29
  msg.includes("Cannot find package") ||
@@ -17,22 +36,26 @@ async function loadPwAiModule(mode) {
17
36
  return await import("./pw-ai.js");
18
37
  }
19
38
  catch (err) {
20
- if (mode === "soft")
39
+ if (mode === "soft") {
21
40
  return null;
22
- if (isModuleNotFoundError(err))
41
+ }
42
+ if (isModuleNotFoundError(err)) {
23
43
  return null;
44
+ }
24
45
  throw err;
25
46
  }
26
47
  }
27
48
  export async function getPwAiModule(opts) {
28
49
  const mode = opts?.mode ?? "soft";
29
50
  if (mode === "soft") {
30
- if (!pwAiModuleSoft)
51
+ if (!pwAiModuleSoft) {
31
52
  pwAiModuleSoft = loadPwAiModule("soft");
53
+ }
32
54
  return await pwAiModuleSoft;
33
55
  }
34
- if (!pwAiModuleStrict)
56
+ if (!pwAiModuleStrict) {
35
57
  pwAiModuleStrict = loadPwAiModule("strict");
58
+ }
36
59
  return await pwAiModuleStrict;
37
60
  }
38
61
  //# sourceMappingURL=pw-ai-module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pw-ai-module.js","sourceRoot":"","sources":["../../src/browser/pw-ai-module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAM1E,IAAI,cAAc,GAAsC,IAAI,CAAC;AAC7D,IAAI,gBAAgB,GAAsC,IAAI,CAAC;AAE/D,SAAS,qBAAqB,CAAC,GAAY;IACzC,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,IAAI,KAAK,sBAAsB;QAAE,OAAO,IAAI,CAAC;IACjD,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACpC,OAAO,CACL,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAClC,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACnC,GAAG,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACxC,GAAG,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QACnD,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CACnC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,IAAkB;IAC9C,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,IAAI,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QACjC,IAAI,qBAAqB,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5C,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAA8B;IAChE,MAAM,IAAI,GAAiB,IAAI,EAAE,IAAI,IAAI,MAAM,CAAC;IAChD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,cAAc;YAAE,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7D,OAAO,MAAM,cAAc,CAAC;IAC9B,CAAC;IACD,IAAI,CAAC,gBAAgB;QAAE,gBAAgB,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IACnE,OAAO,MAAM,gBAAgB,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"pw-ai-module.js","sourceRoot":"","sources":["../../src/browser/pw-ai-module.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,SAAS,gBAAgB,CAAC,GAAY;IACpC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACtD,MAAM,IAAI,GAAI,GAA0B,CAAC,IAAI,CAAC;IAC9C,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/F,CAAC;AACD,SAAS,kBAAkB,CAAC,GAAY;IACtC,IAAI,GAAG,YAAY,KAAK;QAAE,OAAO,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC;IACpE,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC;AACnE,CAAC;AAMD,IAAI,cAAc,GAAsC,IAAI,CAAC;AAC7D,IAAI,gBAAgB,GAAsC,IAAI,CAAC;AAE/D,SAAS,qBAAqB,CAAC,GAAY;IACzC,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,IAAI,KAAK,sBAAsB,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACpC,OAAO,CACL,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAClC,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACnC,GAAG,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACxC,GAAG,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QACnD,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CACnC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,IAAkB;IAC9C,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAA8B;IAChE,MAAM,IAAI,GAAiB,IAAI,EAAE,IAAI,IAAI,MAAM,CAAC;IAChD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,MAAM,cAAc,CAAC;IAC9B,CAAC;IACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,gBAAgB,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,MAAM,gBAAgB,CAAC;AAChC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function markPwAiLoaded(): void;
2
+ export declare function isPwAiLoaded(): boolean;
3
+ //# sourceMappingURL=pw-ai-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pw-ai-state.d.ts","sourceRoot":"","sources":["../../src/browser/pw-ai-state.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAED,wBAAgB,YAAY,IAAI,OAAO,CAEtC"}
@@ -0,0 +1,8 @@
1
+ let pwAiLoaded = false;
2
+ export function markPwAiLoaded() {
3
+ pwAiLoaded = true;
4
+ }
5
+ export function isPwAiLoaded() {
6
+ return pwAiLoaded;
7
+ }
8
+ //# sourceMappingURL=pw-ai-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pw-ai-state.js","sourceRoot":"","sources":["../../src/browser/pw-ai-state.ts"],"names":[],"mappings":"AAAA,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,MAAM,UAAU,cAAc;IAC5B,UAAU,GAAG,IAAI,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -1,3 +1,3 @@
1
- export { type BrowserConsoleMessage, closePageByTargetIdViaPlaywright, closePlaywrightBrowserConnection, createPageViaPlaywright, ensurePageState, focusPageByTargetIdViaPlaywright, getPageForTargetId, listPagesViaPlaywright, refLocator, type WithSnapshotForAI, } from "./pw-session.js";
1
+ export { type BrowserConsoleMessage, closePageByTargetIdViaPlaywright, closePlaywrightBrowserConnection, createPageViaPlaywright, ensurePageState, forceDisconnectPlaywrightForTarget, focusPageByTargetIdViaPlaywright, getPageForTargetId, listPagesViaPlaywright, refLocator, type WithSnapshotForAI, } from "./pw-session.js";
2
2
  export { armDialogViaPlaywright, armFileUploadViaPlaywright, clickViaPlaywright, closePageViaPlaywright, cookiesClearViaPlaywright, cookiesGetViaPlaywright, cookiesSetViaPlaywright, downloadViaPlaywright, dragViaPlaywright, emulateMediaViaPlaywright, evaluateViaPlaywright, fillFormViaPlaywright, getConsoleMessagesViaPlaywright, getNetworkRequestsViaPlaywright, getPageErrorsViaPlaywright, highlightViaPlaywright, hoverViaPlaywright, navigateViaPlaywright, pdfViaPlaywright, pressKeyViaPlaywright, resizeViewportViaPlaywright, responseBodyViaPlaywright, scrollIntoViewViaPlaywright, selectOptionViaPlaywright, setDeviceViaPlaywright, setExtraHTTPHeadersViaPlaywright, setGeolocationViaPlaywright, setHttpCredentialsViaPlaywright, setInputFilesViaPlaywright, setLocaleViaPlaywright, setOfflineViaPlaywright, setTimezoneViaPlaywright, snapshotAiViaPlaywright, snapshotAriaViaPlaywright, snapshotRoleViaPlaywright, screenshotWithLabelsViaPlaywright, storageClearViaPlaywright, storageGetViaPlaywright, storageSetViaPlaywright, takeScreenshotViaPlaywright, traceStartViaPlaywright, traceStopViaPlaywright, typeViaPlaywright, waitForDownloadViaPlaywright, waitForViaPlaywright, } from "./pw-tools-core.js";
3
3
  //# sourceMappingURL=pw-ai.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pw-ai.d.ts","sourceRoot":"","sources":["../../src/browser/pw-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,qBAAqB,EAC1B,gCAAgC,EAChC,gCAAgC,EAChC,uBAAuB,EACvB,eAAe,EACf,gCAAgC,EAChC,kBAAkB,EAClB,sBAAsB,EACtB,UAAU,EACV,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,+BAA+B,EAC/B,+BAA+B,EAC/B,0BAA0B,EAC1B,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,sBAAsB,EACtB,gCAAgC,EAChC,2BAA2B,EAC3B,+BAA+B,EAC/B,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,iCAAiC,EACjC,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"pw-ai.d.ts","sourceRoot":"","sources":["../../src/browser/pw-ai.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,qBAAqB,EAC1B,gCAAgC,EAChC,gCAAgC,EAChC,uBAAuB,EACvB,eAAe,EACf,kCAAkC,EAClC,gCAAgC,EAChC,kBAAkB,EAClB,sBAAsB,EACtB,UAAU,EACV,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,+BAA+B,EAC/B,+BAA+B,EAC/B,0BAA0B,EAC1B,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,sBAAsB,EACtB,gCAAgC,EAChC,2BAA2B,EAC3B,+BAA+B,EAC/B,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,iCAAiC,EACjC,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,oBAAoB,CAAC"}
@@ -1,3 +1,5 @@
1
- export { closePageByTargetIdViaPlaywright, closePlaywrightBrowserConnection, createPageViaPlaywright, ensurePageState, focusPageByTargetIdViaPlaywright, getPageForTargetId, listPagesViaPlaywright, refLocator, } from "./pw-session.js";
1
+ import { markPwAiLoaded } from "./pw-ai-state.js";
2
+ markPwAiLoaded();
3
+ export { closePageByTargetIdViaPlaywright, closePlaywrightBrowserConnection, createPageViaPlaywright, ensurePageState, forceDisconnectPlaywrightForTarget, focusPageByTargetIdViaPlaywright, getPageForTargetId, listPagesViaPlaywright, refLocator, } from "./pw-session.js";
2
4
  export { armDialogViaPlaywright, armFileUploadViaPlaywright, clickViaPlaywright, closePageViaPlaywright, cookiesClearViaPlaywright, cookiesGetViaPlaywright, cookiesSetViaPlaywright, downloadViaPlaywright, dragViaPlaywright, emulateMediaViaPlaywright, evaluateViaPlaywright, fillFormViaPlaywright, getConsoleMessagesViaPlaywright, getNetworkRequestsViaPlaywright, getPageErrorsViaPlaywright, highlightViaPlaywright, hoverViaPlaywright, navigateViaPlaywright, pdfViaPlaywright, pressKeyViaPlaywright, resizeViewportViaPlaywright, responseBodyViaPlaywright, scrollIntoViewViaPlaywright, selectOptionViaPlaywright, setDeviceViaPlaywright, setExtraHTTPHeadersViaPlaywright, setGeolocationViaPlaywright, setHttpCredentialsViaPlaywright, setInputFilesViaPlaywright, setLocaleViaPlaywright, setOfflineViaPlaywright, setTimezoneViaPlaywright, snapshotAiViaPlaywright, snapshotAriaViaPlaywright, snapshotRoleViaPlaywright, screenshotWithLabelsViaPlaywright, storageClearViaPlaywright, storageGetViaPlaywright, storageSetViaPlaywright, takeScreenshotViaPlaywright, traceStartViaPlaywright, traceStopViaPlaywright, typeViaPlaywright, waitForDownloadViaPlaywright, waitForViaPlaywright, } from "./pw-tools-core.js";
3
5
  //# sourceMappingURL=pw-ai.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pw-ai.js","sourceRoot":"","sources":["../../src/browser/pw-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gCAAgC,EAChC,gCAAgC,EAChC,uBAAuB,EACvB,eAAe,EACf,gCAAgC,EAChC,kBAAkB,EAClB,sBAAsB,EACtB,UAAU,GAEX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,+BAA+B,EAC/B,+BAA+B,EAC/B,0BAA0B,EAC1B,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,sBAAsB,EACtB,gCAAgC,EAChC,2BAA2B,EAC3B,+BAA+B,EAC/B,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,iCAAiC,EACjC,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"pw-ai.js","sourceRoot":"","sources":["../../src/browser/pw-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,cAAc,EAAE,CAAC;AAEjB,OAAO,EAEL,gCAAgC,EAChC,gCAAgC,EAChC,uBAAuB,EACvB,eAAe,EACf,kCAAkC,EAClC,gCAAgC,EAChC,kBAAkB,EAClB,sBAAsB,EACtB,UAAU,GAEX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,+BAA+B,EAC/B,+BAA+B,EAC/B,0BAA0B,EAC1B,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,sBAAsB,EACtB,gCAAgC,EAChC,2BAA2B,EAC3B,+BAA+B,EAC/B,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,iCAAiC,EACjC,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pw-role-snapshot.d.ts","sourceRoot":"","sources":["../../src/browser/pw-role-snapshot.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,wEAAwE;IACxE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAwDF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,iBAAiB,CAQ1F;AAkID,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASvD;AAED,wBAAgB,iCAAiC,CAC/C,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,mBAAwB,GAChC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CA+DxC;AAOD;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,mBAAwB,GAChC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CA0DxC"}
1
+ {"version":3,"file":"pw-role-snapshot.d.ts","sourceRoot":"","sources":["../../src/browser/pw-role-snapshot.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,wEAAwE;IACxE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAwDF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,iBAAiB,CAQ1F;AAqLD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWvD;AAED,wBAAgB,iCAAiC,CAC/C,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,mBAAwB,GAChC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAqExC;AAOD;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,mBAAwB,GAChC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAkExC"}
@@ -62,6 +62,27 @@ function getIndentLevel(line) {
62
62
  const match = line.match(/^(\s*)/);
63
63
  return match ? Math.floor(match[1].length / 2) : 0;
64
64
  }
65
+ function matchInteractiveSnapshotLine(line, options) {
66
+ const depth = getIndentLevel(line);
67
+ if (options.maxDepth !== undefined && depth > options.maxDepth) {
68
+ return null;
69
+ }
70
+ const match = line.match(/^(\s*-\s*)(\w+)(?:\s+"([^"]*)")?(.*)$/);
71
+ if (!match) {
72
+ return null;
73
+ }
74
+ const [, , roleRaw, name, suffix] = match;
75
+ if (roleRaw.startsWith("/")) {
76
+ return null;
77
+ }
78
+ const role = roleRaw.toLowerCase();
79
+ return {
80
+ roleRaw,
81
+ role,
82
+ ...(name ? { name } : {}),
83
+ suffix,
84
+ };
85
+ }
65
86
  function createRoleNameTracker() {
66
87
  const counts = new Map();
67
88
  const refsByKey = new Map();
@@ -86,8 +107,9 @@ function createRoleNameTracker() {
86
107
  getDuplicateKeys() {
87
108
  const out = new Set();
88
109
  for (const [key, refs] of refsByKey) {
89
- if (refs.length > 1)
110
+ if (refs.length > 1) {
90
111
  out.add(key);
112
+ }
91
113
  }
92
114
  return out;
93
115
  },
@@ -97,8 +119,9 @@ function removeNthFromNonDuplicates(refs, tracker) {
97
119
  const duplicates = tracker.getDuplicateKeys();
98
120
  for (const [ref, data] of Object.entries(refs)) {
99
121
  const key = tracker.getKey(data.role, data.name);
100
- if (!duplicates.has(key))
122
+ if (!duplicates.has(key)) {
101
123
  delete refs[ref]?.nth;
124
+ }
102
125
  }
103
126
  }
104
127
  function compactTree(tree) {
@@ -118,39 +141,47 @@ function compactTree(tree) {
118
141
  let hasRelevantChildren = false;
119
142
  for (let j = i + 1; j < lines.length; j += 1) {
120
143
  const childIndent = getIndentLevel(lines[j]);
121
- if (childIndent <= currentIndent)
144
+ if (childIndent <= currentIndent) {
122
145
  break;
146
+ }
123
147
  if (lines[j]?.includes("[ref=")) {
124
148
  hasRelevantChildren = true;
125
149
  break;
126
150
  }
127
151
  }
128
- if (hasRelevantChildren)
152
+ if (hasRelevantChildren) {
129
153
  result.push(line);
154
+ }
130
155
  }
131
156
  return result.join("\n");
132
157
  }
133
158
  function processLine(line, refs, options, tracker, nextRef) {
134
159
  const depth = getIndentLevel(line);
135
- if (options.maxDepth !== undefined && depth > options.maxDepth)
160
+ if (options.maxDepth !== undefined && depth > options.maxDepth) {
136
161
  return null;
162
+ }
137
163
  const match = line.match(/^(\s*-\s*)(\w+)(?:\s+"([^"]*)")?(.*)$/);
138
- if (!match)
164
+ if (!match) {
139
165
  return options.interactive ? null : line;
166
+ }
140
167
  const [, prefix, roleRaw, name, suffix] = match;
141
- if (roleRaw.startsWith("/"))
168
+ if (roleRaw.startsWith("/")) {
142
169
  return options.interactive ? null : line;
170
+ }
143
171
  const role = roleRaw.toLowerCase();
144
172
  const isInteractive = INTERACTIVE_ROLES.has(role);
145
173
  const isContent = CONTENT_ROLES.has(role);
146
174
  const isStructural = STRUCTURAL_ROLES.has(role);
147
- if (options.interactive && !isInteractive)
175
+ if (options.interactive && !isInteractive) {
148
176
  return null;
149
- if (options.compact && isStructural && !name)
177
+ }
178
+ if (options.compact && isStructural && !name) {
150
179
  return null;
180
+ }
151
181
  const shouldHaveRef = isInteractive || (isContent && name);
152
- if (!shouldHaveRef)
182
+ if (!shouldHaveRef) {
153
183
  return line;
184
+ }
154
185
  const ref = nextRef();
155
186
  const nth = tracker.getNextIndex(role, name);
156
187
  tracker.trackRef(role, name, ref);
@@ -160,19 +191,23 @@ function processLine(line, refs, options, tracker, nextRef) {
160
191
  nth,
161
192
  };
162
193
  let enhanced = `${prefix}${roleRaw}`;
163
- if (name)
194
+ if (name) {
164
195
  enhanced += ` "${name}"`;
196
+ }
165
197
  enhanced += ` [ref=${ref}]`;
166
- if (nth > 0)
198
+ if (nth > 0) {
167
199
  enhanced += ` [nth=${nth}]`;
168
- if (suffix)
200
+ }
201
+ if (suffix) {
169
202
  enhanced += suffix;
203
+ }
170
204
  return enhanced;
171
205
  }
172
206
  export function parseRoleRef(raw) {
173
207
  const trimmed = raw.trim();
174
- if (!trimmed)
208
+ if (!trimmed) {
175
209
  return null;
210
+ }
176
211
  const normalized = trimmed.startsWith("@")
177
212
  ? trimmed.slice(1)
178
213
  : trimmed.startsWith("ref=")
@@ -192,18 +227,14 @@ export function buildRoleSnapshotFromAriaSnapshot(ariaSnapshot, options = {}) {
192
227
  if (options.interactive) {
193
228
  const result = [];
194
229
  for (const line of lines) {
195
- const depth = getIndentLevel(line);
196
- if (options.maxDepth !== undefined && depth > options.maxDepth)
197
- continue;
198
- const match = line.match(/^(\s*-\s*)(\w+)(?:\s+"([^"]*)")?(.*)$/);
199
- if (!match)
230
+ const parsed = matchInteractiveSnapshotLine(line, options);
231
+ if (!parsed) {
200
232
  continue;
201
- const [, , roleRaw, name, suffix] = match;
202
- if (roleRaw.startsWith("/"))
203
- continue;
204
- const role = roleRaw.toLowerCase();
205
- if (!INTERACTIVE_ROLES.has(role))
233
+ }
234
+ const { roleRaw, role, name, suffix } = parsed;
235
+ if (!INTERACTIVE_ROLES.has(role)) {
206
236
  continue;
237
+ }
207
238
  const ref = nextRef();
208
239
  const nth = tracker.getNextIndex(role, name);
209
240
  tracker.trackRef(role, name, ref);
@@ -213,13 +244,16 @@ export function buildRoleSnapshotFromAriaSnapshot(ariaSnapshot, options = {}) {
213
244
  nth,
214
245
  };
215
246
  let enhanced = `- ${roleRaw}`;
216
- if (name)
247
+ if (name) {
217
248
  enhanced += ` "${name}"`;
249
+ }
218
250
  enhanced += ` [ref=${ref}]`;
219
- if (nth > 0)
251
+ if (nth > 0) {
220
252
  enhanced += ` [nth=${nth}]`;
221
- if (suffix.includes("["))
253
+ }
254
+ if (suffix.includes("[")) {
222
255
  enhanced += suffix;
256
+ }
223
257
  result.push(enhanced);
224
258
  }
225
259
  removeNthFromNonDuplicates(refs, tracker);
@@ -231,8 +265,9 @@ export function buildRoleSnapshotFromAriaSnapshot(ariaSnapshot, options = {}) {
231
265
  const result = [];
232
266
  for (const line of lines) {
233
267
  const processed = processLine(line, refs, options, tracker, nextRef);
234
- if (processed !== null)
268
+ if (processed !== null) {
235
269
  result.push(processed);
270
+ }
236
271
  }
237
272
  removeNthFromNonDuplicates(refs, tracker);
238
273
  const tree = result.join("\n") || "(empty)";
@@ -255,21 +290,18 @@ export function buildRoleSnapshotFromAiSnapshot(aiSnapshot, options = {}) {
255
290
  if (options.interactive) {
256
291
  const out = [];
257
292
  for (const line of lines) {
258
- const depth = getIndentLevel(line);
259
- if (options.maxDepth !== undefined && depth > options.maxDepth)
260
- continue;
261
- const match = line.match(/^(\s*-\s*)(\w+)(?:\s+"([^"]*)")?(.*)$/);
262
- if (!match)
293
+ const parsed = matchInteractiveSnapshotLine(line, options);
294
+ if (!parsed) {
263
295
  continue;
264
- const [, , roleRaw, name, suffix] = match;
265
- if (roleRaw.startsWith("/"))
266
- continue;
267
- const role = roleRaw.toLowerCase();
268
- if (!INTERACTIVE_ROLES.has(role))
296
+ }
297
+ const { roleRaw, role, name, suffix } = parsed;
298
+ if (!INTERACTIVE_ROLES.has(role)) {
269
299
  continue;
300
+ }
270
301
  const ref = parseAiSnapshotRef(suffix);
271
- if (!ref)
302
+ if (!ref) {
272
303
  continue;
304
+ }
273
305
  refs[ref] = { role, ...(name ? { name } : {}) };
274
306
  out.push(`- ${roleRaw}${name ? ` "${name}"` : ""}${suffix}`);
275
307
  }
@@ -281,8 +313,9 @@ export function buildRoleSnapshotFromAiSnapshot(aiSnapshot, options = {}) {
281
313
  const out = [];
282
314
  for (const line of lines) {
283
315
  const depth = getIndentLevel(line);
284
- if (options.maxDepth !== undefined && depth > options.maxDepth)
316
+ if (options.maxDepth !== undefined && depth > options.maxDepth) {
285
317
  continue;
318
+ }
286
319
  const match = line.match(/^(\s*-\s*)(\w+)(?:\s+"([^"]*)")?(.*)$/);
287
320
  if (!match) {
288
321
  out.push(line);
@@ -295,11 +328,13 @@ export function buildRoleSnapshotFromAiSnapshot(aiSnapshot, options = {}) {
295
328
  }
296
329
  const role = roleRaw.toLowerCase();
297
330
  const isStructural = STRUCTURAL_ROLES.has(role);
298
- if (options.compact && isStructural && !name)
331
+ if (options.compact && isStructural && !name) {
299
332
  continue;
333
+ }
300
334
  const ref = parseAiSnapshotRef(suffix);
301
- if (ref)
335
+ if (ref) {
302
336
  refs[ref] = { role, ...(name ? { name } : {}) };
337
+ }
303
338
  out.push(line);
304
339
  }
305
340
  const tree = out.join("\n") || "(empty)";
@@ -1 +1 @@
1
- {"version":3,"file":"pw-role-snapshot.js","sourceRoot":"","sources":["../../src/browser/pw-role-snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pw-role-snapshot.js","sourceRoot":"","sources":["../../src/browser/pw-role-snapshot.ts"],"names":[],"mappings":"AAyBA,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,QAAQ;IACR,MAAM;IACN,SAAS;IACT,UAAU;IACV,OAAO;IACP,UAAU;IACV,SAAS;IACT,UAAU;IACV,kBAAkB;IAClB,eAAe;IACf,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,KAAK;IACL,UAAU;CACX,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,SAAS;IACT,MAAM;IACN,UAAU;IACV,cAAc;IACd,WAAW;IACX,UAAU;IACV,SAAS;IACT,QAAQ;IACR,MAAM;IACN,YAAY;CACb,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,SAAS;IACT,OAAO;IACP,MAAM;IACN,OAAO;IACP,KAAK;IACL,UAAU;IACV,MAAM;IACN,UAAU;IACV,MAAM;IACN,SAAS;IACT,SAAS;IACT,SAAS;IACT,MAAM;IACN,WAAW;IACX,UAAU;IACV,aAAa;IACb,cAAc;IACd,MAAM;CACP,CAAC,CAAC;AAEH,MAAM,UAAU,oBAAoB,CAAC,QAAgB,EAAE,IAAgB;IACrE,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5F,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;QAClC,KAAK,EAAE,QAAQ,CAAC,MAAM;QACtB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;QAC9B,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,4BAA4B,CACnC,IAAY,EACZ,OAA4B;IAE5B,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAClE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,CAAC,EAAE,AAAD,EAAG,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;IAC1C,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO;QACL,OAAO;QACP,IAAI;QACJ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,MAAM;KACP,CAAC;AACJ,CAAC;AAWD,SAAS,qBAAqB;IAC5B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC9C,OAAO;QACL,MAAM;QACN,SAAS;QACT,MAAM,CAAC,IAAY,EAAE,IAAa;YAChC,OAAO,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;QACjC,CAAC;QACD,YAAY,CAAC,IAAY,EAAE,IAAa;YACtC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;YAC7B,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,QAAQ,CAAC,IAAY,EAAE,IAAwB,EAAE,GAAW;YAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACpC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,gBAAgB;YACd,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;YAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;gBACpC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACf,CAAC;YACH,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAgB,EAAE,OAAwB;IAC5E,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;QACxB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QAED,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,WAAW,IAAI,aAAa,EAAE,CAAC;gBACjC,MAAM;YACR,CAAC;YACD,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,mBAAmB,GAAG,IAAI,CAAC;gBAC3B,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,WAAW,CAClB,IAAY,EACZ,IAAgB,EAChB,OAA4B,EAC5B,OAAwB,EACxB,OAAqB;IAErB,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAClE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;IAChD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACnC,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAEhD,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,IAAI,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,aAAa,GAAG,aAAa,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,GAAG,CAAC,GAAG;QACV,IAAI;QACJ,IAAI;QACJ,GAAG;KACJ,CAAC;IAEF,IAAI,QAAQ,GAAG,GAAG,MAAM,GAAG,OAAO,EAAE,CAAC;IACrC,IAAI,IAAI,EAAE,CAAC;QACT,QAAQ,IAAI,KAAK,IAAI,GAAG,CAAC;IAC3B,CAAC;IACD,QAAQ,IAAI,SAAS,GAAG,GAAG,CAAC;IAC5B,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACZ,QAAQ,IAAI,SAAS,GAAG,GAAG,CAAC;IAC9B,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACX,QAAQ,IAAI,MAAM,CAAC;IACrB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QACxC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;YAC1B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,OAAO,CAAC;IACd,OAAO,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,YAAoB,EACpB,UAA+B,EAAE;IAEjC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,IAAI,GAAe,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;IAExC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,OAAO,IAAI,CAAC,CAAC;QACb,OAAO,IAAI,OAAO,EAAE,CAAC;IACvB,CAAC,CAAC;IAEF,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,SAAS;YACX,CAAC;YACD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;YAC/C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,SAAS;YACX,CAAC;YAED,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAClC,IAAI,CAAC,GAAG,CAAC,GAAG;gBACV,IAAI;gBACJ,IAAI;gBACJ,GAAG;aACJ,CAAC;YAEF,IAAI,QAAQ,GAAG,KAAK,OAAO,EAAE,CAAC;YAC9B,IAAI,IAAI,EAAE,CAAC;gBACT,QAAQ,IAAI,KAAK,IAAI,GAAG,CAAC;YAC3B,CAAC;YACD,QAAQ,IAAI,SAAS,GAAG,GAAG,CAAC;YAC5B,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBACZ,QAAQ,IAAI,SAAS,GAAG,GAAG,CAAC;YAC9B,CAAC;YACD,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,QAAQ,IAAI,MAAM,CAAC;YACrB,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxB,CAAC;QAED,0BAA0B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE1C,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,2BAA2B;YAC1D,IAAI;SACL,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACrE,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,0BAA0B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE1C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;IAC5C,OAAO;QACL,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QACpD,IAAI;KACL,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC9C,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,+BAA+B,CAC7C,UAAkB,EAClB,UAA+B,EAAE;IAEjC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,IAAI,GAAe,EAAE,CAAC;IAE5B,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,SAAS;YACX,CAAC;YACD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;YAC/C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,SAAS;YACX,CAAC;YACD,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,SAAS;YACX,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAChD,GAAG,CAAC,IAAI,CAAC,KAAK,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,2BAA2B;YACvD,IAAI;SACL,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC/D,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,SAAS;QACX,CAAC;QACD,MAAM,CAAC,EAAE,AAAD,EAAG,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;QAC1C,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEhD,IAAI,OAAO,CAAC,OAAO,IAAI,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC;YAC7C,SAAS;QACX,CAAC;QAED,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAClD,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;IACzC,OAAO;QACL,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QACpD,IAAI;KACL,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { BrowserContext, Page, Request } from "playwright-core";
1
+ import type { Browser, BrowserContext, Page, Request } from "playwright-core";
2
2
  export type BrowserConsoleMessage = {
3
3
  type: string;
4
4
  text: string;
@@ -62,6 +62,13 @@ type RoleRefs = NonNullable<PageState["roleRefs"]>;
62
62
  type ContextState = {
63
63
  traceActive: boolean;
64
64
  };
65
+ /**
66
+ * CoStar extension: inject an already-connected Browser into the pw-session cache.
67
+ * This lets browser.ts (which manages its own Playwright connection) share that
68
+ * connection with all pw-tools-core functions that call getPageForTargetId(cdpUrl).
69
+ * After calling this, any function receiving cdpUrl will reuse the injected browser.
70
+ */
71
+ export declare function registerBrowserConnection(browser: Browser, cdpUrl: string): void;
65
72
  export declare function rememberRoleRefsForTarget(opts: {
66
73
  cdpUrl: string;
67
74
  targetId: string;
@@ -90,6 +97,31 @@ export declare function getPageForTargetId(opts: {
90
97
  }): Promise<Page>;
91
98
  export declare function refLocator(page: Page, ref: string): import("playwright-core").Locator;
92
99
  export declare function closePlaywrightBrowserConnection(): Promise<void>;
100
+ /**
101
+ * Best-effort cancellation for stuck page operations.
102
+ *
103
+ * Playwright serializes CDP commands per page; a long-running or stuck operation (notably evaluate)
104
+ * can block all subsequent commands. We cannot safely "cancel" an individual command, and we do
105
+ * not want to close the actual Chromium tab. Instead, we disconnect Playwright's CDP connection
106
+ * so in-flight commands fail fast and the next request reconnects transparently.
107
+ *
108
+ * IMPORTANT: We CANNOT call Connection.close() because Playwright shares a single Connection
109
+ * across all objects (BrowserType, Browser, etc.). Closing it corrupts the entire Playwright
110
+ * instance, preventing reconnection.
111
+ *
112
+ * Instead we:
113
+ * 1. Null out `cached` so the next call triggers a fresh connectOverCDP
114
+ * 2. Fire-and-forget browser.close() — it may hang but won't block us
115
+ * 3. The next connectBrowser() creates a completely new CDP WebSocket connection
116
+ *
117
+ * The old browser.close() eventually resolves when the in-browser evaluate timeout fires,
118
+ * or the old connection gets GC'd. Either way, it doesn't affect the fresh connection.
119
+ */
120
+ export declare function forceDisconnectPlaywrightForTarget(opts: {
121
+ cdpUrl: string;
122
+ targetId?: string;
123
+ reason?: string;
124
+ }): Promise<void>;
93
125
  /**
94
126
  * List all pages/tabs from the persistent Playwright connection.
95
127
  * Used for remote profiles where HTTP-based /json/list is ephemeral.
@@ -1 +1 @@
1
- {"version":3,"file":"pw-session.d.ts","sourceRoot":"","sources":["../../src/browser/pw-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pw-session.d.ts","sourceRoot":"","sources":["../../src/browser/pw-session.ts"],"names":[],"mappings":"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"}