@browserbasehq/orca 3.0.9-alpha-4 → 3.1.0-headers

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 (1556) hide show
  1. package/dist/cjs/cli.js +3 -0
  2. package/dist/cjs/index.d.ts +2 -0
  3. package/dist/cjs/index.js +2 -0
  4. package/dist/cjs/lib/inference.d.ts +65 -0
  5. package/dist/cjs/lib/inference.js +335 -0
  6. package/dist/cjs/lib/inference.js.map +1 -0
  7. package/dist/cjs/lib/inferenceLogUtils.d.ts +12 -0
  8. package/dist/cjs/lib/inferenceLogUtils.js +99 -0
  9. package/dist/cjs/lib/inferenceLogUtils.js.map +1 -0
  10. package/dist/cjs/lib/logger.d.ts +69 -0
  11. package/dist/cjs/lib/logger.js +331 -0
  12. package/dist/cjs/lib/logger.js.map +1 -0
  13. package/dist/cjs/lib/modelUtils.d.ts +15 -0
  14. package/dist/cjs/lib/modelUtils.js +53 -0
  15. package/dist/cjs/lib/modelUtils.js.map +1 -0
  16. package/dist/cjs/lib/prompt.d.ts +15 -0
  17. package/dist/cjs/lib/prompt.js +245 -0
  18. package/dist/cjs/lib/prompt.js.map +1 -0
  19. package/dist/cjs/lib/utils.d.ts +68 -0
  20. package/dist/cjs/lib/utils.js +670 -0
  21. package/dist/cjs/lib/utils.js.map +1 -0
  22. package/dist/cjs/lib/v3/agent/AgentClient.d.ts +19 -0
  23. package/dist/cjs/lib/v3/agent/AgentClient.js +21 -0
  24. package/dist/cjs/lib/v3/agent/AgentClient.js.map +1 -0
  25. package/dist/cjs/lib/v3/agent/AgentProvider.d.ts +20 -0
  26. package/dist/cjs/lib/v3/agent/AgentProvider.js +81 -0
  27. package/dist/cjs/lib/v3/agent/AgentProvider.js.map +1 -0
  28. package/dist/cjs/lib/v3/agent/AnthropicCUAClient.d.ts +57 -0
  29. package/dist/cjs/lib/v3/agent/AnthropicCUAClient.js +844 -0
  30. package/dist/cjs/lib/v3/agent/AnthropicCUAClient.js.map +1 -0
  31. package/dist/cjs/lib/v3/agent/GoogleCUAClient.d.ts +74 -0
  32. package/dist/cjs/lib/v3/agent/GoogleCUAClient.js +803 -0
  33. package/dist/cjs/lib/v3/agent/GoogleCUAClient.js.map +1 -0
  34. package/dist/cjs/lib/v3/agent/MicrosoftCUAClient.d.ts +71 -0
  35. package/dist/cjs/lib/v3/agent/MicrosoftCUAClient.js +777 -0
  36. package/dist/cjs/lib/v3/agent/MicrosoftCUAClient.js.map +1 -0
  37. package/dist/cjs/lib/v3/agent/OpenAICUAClient.d.ts +69 -0
  38. package/dist/cjs/lib/v3/agent/OpenAICUAClient.js +622 -0
  39. package/dist/cjs/lib/v3/agent/OpenAICUAClient.js.map +1 -0
  40. package/dist/cjs/lib/v3/agent/prompts/agentSystemPrompt.d.ts +14 -0
  41. package/dist/cjs/lib/v3/agent/prompts/agentSystemPrompt.js +212 -0
  42. package/dist/cjs/lib/v3/agent/prompts/agentSystemPrompt.js.map +1 -0
  43. package/dist/cjs/lib/v3/agent/tools/act.d.ts +13 -0
  44. package/dist/cjs/lib/v3/agent/tools/act.js +75 -0
  45. package/dist/cjs/lib/v3/agent/tools/act.js.map +1 -0
  46. package/dist/cjs/lib/v3/agent/tools/ariaTree.d.ts +12 -0
  47. package/dist/cjs/lib/v3/agent/tools/ariaTree.js +73 -0
  48. package/dist/cjs/lib/v3/agent/tools/ariaTree.js.map +1 -0
  49. package/dist/cjs/lib/v3/agent/tools/click.d.ts +6 -0
  50. package/dist/cjs/lib/v3/agent/tools/click.js +100 -0
  51. package/dist/cjs/lib/v3/agent/tools/click.js.map +1 -0
  52. package/dist/cjs/lib/v3/agent/tools/clickAndHold.d.ts +14 -0
  53. package/dist/cjs/lib/v3/agent/tools/clickAndHold.js +72 -0
  54. package/dist/cjs/lib/v3/agent/tools/clickAndHold.js.map +1 -0
  55. package/dist/cjs/lib/v3/agent/tools/dragAndDrop.d.ts +7 -0
  56. package/dist/cjs/lib/v3/agent/tools/dragAndDrop.js +101 -0
  57. package/dist/cjs/lib/v3/agent/tools/dragAndDrop.js.map +1 -0
  58. package/dist/cjs/lib/v3/agent/tools/extract.d.ts +21 -0
  59. package/dist/cjs/lib/v3/agent/tools/extract.js +110 -0
  60. package/dist/cjs/lib/v3/agent/tools/extract.js.map +1 -0
  61. package/dist/cjs/lib/v3/agent/tools/fillFormVision.d.ts +12 -0
  62. package/dist/cjs/lib/v3/agent/tools/fillFormVision.js +158 -0
  63. package/dist/cjs/lib/v3/agent/tools/fillFormVision.js.map +1 -0
  64. package/dist/cjs/lib/v3/agent/tools/fillform.d.ts +19 -0
  65. package/dist/cjs/lib/v3/agent/tools/fillform.js +90 -0
  66. package/dist/cjs/lib/v3/agent/tools/fillform.js.map +1 -0
  67. package/dist/cjs/lib/v3/agent/tools/goto.d.ts +12 -0
  68. package/dist/cjs/lib/v3/agent/tools/goto.js +35 -0
  69. package/dist/cjs/lib/v3/agent/tools/goto.js.map +1 -0
  70. package/dist/cjs/lib/v3/agent/tools/index.d.ts +102 -0
  71. package/dist/cjs/lib/v3/agent/tools/index.js +78 -0
  72. package/dist/cjs/lib/v3/agent/tools/index.js.map +1 -0
  73. package/dist/cjs/lib/v3/agent/tools/keys.d.ts +24 -0
  74. package/dist/cjs/lib/v3/agent/tools/keys.js +64 -0
  75. package/dist/cjs/lib/v3/agent/tools/keys.js.map +1 -0
  76. package/dist/cjs/lib/v3/agent/tools/navback.d.ts +6 -0
  77. package/dist/cjs/lib/v3/agent/tools/navback.js +27 -0
  78. package/dist/cjs/lib/v3/agent/tools/navback.js.map +1 -0
  79. package/dist/cjs/lib/v3/agent/tools/screenshot.d.ts +14 -0
  80. package/dist/cjs/lib/v3/agent/tools/screenshot.js +47 -0
  81. package/dist/cjs/lib/v3/agent/tools/screenshot.js.map +1 -0
  82. package/dist/cjs/lib/v3/agent/tools/scroll.d.ts +19 -0
  83. package/dist/cjs/lib/v3/agent/tools/scroll.js +159 -0
  84. package/dist/cjs/lib/v3/agent/tools/scroll.js.map +1 -0
  85. package/dist/cjs/lib/v3/agent/tools/search.d.ts +15 -0
  86. package/dist/cjs/lib/v3/agent/tools/search.js +77 -0
  87. package/dist/cjs/lib/v3/agent/tools/search.js.map +1 -0
  88. package/dist/cjs/lib/v3/agent/tools/think.d.ts +6 -0
  89. package/dist/cjs/lib/v3/agent/tools/think.js +28 -0
  90. package/dist/cjs/lib/v3/agent/tools/think.js.map +1 -0
  91. package/dist/cjs/lib/v3/agent/tools/type.d.ts +7 -0
  92. package/dist/cjs/lib/v3/agent/tools/type.js +111 -0
  93. package/dist/cjs/lib/v3/agent/tools/type.js.map +1 -0
  94. package/dist/cjs/lib/v3/agent/tools/wait.d.ts +5 -0
  95. package/dist/cjs/lib/v3/agent/tools/wait.js +63 -0
  96. package/dist/cjs/lib/v3/agent/tools/wait.js.map +1 -0
  97. package/dist/cjs/lib/v3/agent/utils/actionMapping.d.ts +3 -0
  98. package/dist/cjs/lib/v3/agent/utils/actionMapping.js +103 -0
  99. package/dist/cjs/lib/v3/agent/utils/actionMapping.js.map +1 -0
  100. package/dist/cjs/lib/v3/agent/utils/coordinateNormalization.d.ts +13 -0
  101. package/dist/cjs/lib/v3/agent/utils/coordinateNormalization.js +33 -0
  102. package/dist/cjs/lib/v3/agent/utils/coordinateNormalization.js.map +1 -0
  103. package/dist/cjs/lib/v3/agent/utils/cuaKeyMapping.d.ts +10 -0
  104. package/dist/cjs/lib/v3/agent/utils/cuaKeyMapping.js +65 -0
  105. package/dist/cjs/lib/v3/agent/utils/cuaKeyMapping.js.map +1 -0
  106. package/dist/cjs/lib/v3/agent/utils/googleCustomToolHandler.d.ts +25 -0
  107. package/dist/cjs/lib/v3/agent/utils/googleCustomToolHandler.js +150 -0
  108. package/dist/cjs/lib/v3/agent/utils/googleCustomToolHandler.js.map +1 -0
  109. package/dist/cjs/lib/v3/agent/utils/handleDoneToolCall.d.ts +22 -0
  110. package/dist/cjs/lib/v3/agent/utils/handleDoneToolCall.js +108 -0
  111. package/dist/cjs/lib/v3/agent/utils/handleDoneToolCall.js.map +1 -0
  112. package/dist/cjs/lib/v3/agent/utils/imageCompression.d.ts +53 -0
  113. package/dist/cjs/lib/v3/agent/utils/imageCompression.js +212 -0
  114. package/dist/cjs/lib/v3/agent/utils/imageCompression.js.map +1 -0
  115. package/dist/cjs/lib/v3/agent/utils/messageProcessing.d.ts +12 -0
  116. package/dist/cjs/lib/v3/agent/utils/messageProcessing.js +167 -0
  117. package/dist/cjs/lib/v3/agent/utils/messageProcessing.js.map +1 -0
  118. package/dist/cjs/lib/v3/agent/utils/screenshotHandler.d.ts +10 -0
  119. package/dist/cjs/lib/v3/agent/utils/screenshotHandler.js +29 -0
  120. package/dist/cjs/lib/v3/agent/utils/screenshotHandler.js.map +1 -0
  121. package/dist/cjs/lib/v3/agent/utils/validateExperimentalFeatures.d.ts +26 -0
  122. package/dist/cjs/lib/v3/agent/utils/validateExperimentalFeatures.js +90 -0
  123. package/dist/cjs/lib/v3/agent/utils/validateExperimentalFeatures.js.map +1 -0
  124. package/dist/cjs/lib/v3/agent/utils/variables.d.ts +21 -0
  125. package/dist/cjs/lib/v3/agent/utils/variables.js +54 -0
  126. package/dist/cjs/lib/v3/agent/utils/variables.js.map +1 -0
  127. package/dist/cjs/lib/v3/agent/utils/xpath.d.ts +11 -0
  128. package/dist/cjs/lib/v3/agent/utils/xpath.js +22 -0
  129. package/dist/cjs/lib/v3/agent/utils/xpath.js.map +1 -0
  130. package/dist/cjs/lib/v3/api.d.ts +119 -0
  131. package/dist/cjs/lib/v3/api.js +589 -0
  132. package/dist/cjs/lib/v3/api.js.map +1 -0
  133. package/dist/cjs/lib/v3/cache/ActCache.d.ts +22 -0
  134. package/dist/cjs/lib/v3/cache/ActCache.js +280 -0
  135. package/dist/cjs/lib/v3/cache/ActCache.js.map +1 -0
  136. package/dist/cjs/lib/v3/cache/AgentCache.d.ts +110 -0
  137. package/dist/cjs/lib/v3/cache/AgentCache.js +651 -0
  138. package/dist/cjs/lib/v3/cache/AgentCache.js.map +1 -0
  139. package/dist/cjs/lib/v3/cache/CacheStorage.d.ts +17 -0
  140. package/dist/cjs/lib/v3/cache/CacheStorage.js +105 -0
  141. package/dist/cjs/lib/v3/cache/CacheStorage.js.map +1 -0
  142. package/dist/cjs/lib/v3/cache/serverAgentCache.d.ts +7 -0
  143. package/dist/cjs/lib/v3/cache/serverAgentCache.js +52 -0
  144. package/dist/cjs/lib/v3/cache/serverAgentCache.js.map +1 -0
  145. package/dist/cjs/lib/v3/cache/utils.d.ts +15 -0
  146. package/dist/cjs/lib/v3/cache/utils.js +44 -0
  147. package/dist/cjs/lib/v3/cache/utils.js.map +1 -0
  148. package/dist/cjs/lib/v3/cli.d.ts +2 -0
  149. package/dist/cjs/lib/v3/cli.js +15 -0
  150. package/dist/cjs/lib/v3/cli.js.map +1 -0
  151. package/dist/cjs/lib/v3/dom/a11yScripts/index.d.ts +11 -0
  152. package/dist/cjs/lib/v3/dom/a11yScripts/index.js +124 -0
  153. package/dist/cjs/lib/v3/dom/a11yScripts/index.js.map +1 -0
  154. package/dist/cjs/lib/v3/dom/build/a11yScripts.generated.d.ts +16 -0
  155. package/dist/cjs/lib/v3/dom/build/a11yScripts.generated.js +23 -0
  156. package/dist/cjs/lib/v3/dom/build/a11yScripts.generated.js.map +1 -0
  157. package/dist/cjs/lib/v3/dom/build/locatorScripts.generated.d.ts +52 -0
  158. package/dist/cjs/lib/v3/dom/build/locatorScripts.generated.js +59 -0
  159. package/dist/cjs/lib/v3/dom/build/locatorScripts.generated.js.map +1 -0
  160. package/dist/cjs/lib/v3/dom/build/reRenderScriptContent.d.ts +1 -0
  161. package/dist/cjs/lib/v3/dom/build/reRenderScriptContent.js +5 -0
  162. package/dist/cjs/lib/v3/dom/build/reRenderScriptContent.js.map +1 -0
  163. package/dist/cjs/lib/v3/dom/build/rerender-index.js +1 -0
  164. package/dist/cjs/lib/v3/dom/build/screenshotScripts.generated.d.ts +4 -0
  165. package/dist/cjs/lib/v3/dom/build/screenshotScripts.generated.js +11 -0
  166. package/dist/cjs/lib/v3/dom/build/screenshotScripts.generated.js.map +1 -0
  167. package/dist/cjs/lib/v3/dom/build/scriptV3Content.d.ts +1 -0
  168. package/dist/cjs/lib/v3/dom/build/scriptV3Content.js +5 -0
  169. package/dist/cjs/lib/v3/dom/build/scriptV3Content.js.map +1 -0
  170. package/dist/cjs/lib/v3/dom/build/v3-index.js +1 -0
  171. package/dist/cjs/lib/v3/dom/index.d.ts +1 -0
  172. package/dist/cjs/lib/v3/dom/index.js +18 -0
  173. package/dist/cjs/lib/v3/dom/index.js.map +1 -0
  174. package/dist/cjs/lib/v3/dom/locatorScripts/counts.d.ts +15 -0
  175. package/dist/cjs/lib/v3/dom/locatorScripts/counts.js +278 -0
  176. package/dist/cjs/lib/v3/dom/locatorScripts/counts.js.map +1 -0
  177. package/dist/cjs/lib/v3/dom/locatorScripts/index.d.ts +4 -0
  178. package/dist/cjs/lib/v3/dom/locatorScripts/index.js +21 -0
  179. package/dist/cjs/lib/v3/dom/locatorScripts/index.js.map +1 -0
  180. package/dist/cjs/lib/v3/dom/locatorScripts/scripts.d.ts +37 -0
  181. package/dist/cjs/lib/v3/dom/locatorScripts/scripts.js +474 -0
  182. package/dist/cjs/lib/v3/dom/locatorScripts/scripts.js.map +1 -0
  183. package/dist/cjs/lib/v3/dom/locatorScripts/selectors.d.ts +4 -0
  184. package/dist/cjs/lib/v3/dom/locatorScripts/selectors.js +289 -0
  185. package/dist/cjs/lib/v3/dom/locatorScripts/selectors.js.map +1 -0
  186. package/dist/cjs/lib/v3/dom/locatorScripts/waitForSelector.d.ts +19 -0
  187. package/dist/cjs/lib/v3/dom/locatorScripts/waitForSelector.js +286 -0
  188. package/dist/cjs/lib/v3/dom/locatorScripts/waitForSelector.js.map +1 -0
  189. package/dist/cjs/lib/v3/dom/locatorScripts/xpathParser.d.ts +76 -0
  190. package/dist/cjs/lib/v3/dom/locatorScripts/xpathParser.js +381 -0
  191. package/dist/cjs/lib/v3/dom/locatorScripts/xpathParser.js.map +1 -0
  192. package/dist/cjs/lib/v3/dom/locatorScripts/xpathResolver.d.ts +9 -0
  193. package/dist/cjs/lib/v3/dom/locatorScripts/xpathResolver.js +202 -0
  194. package/dist/cjs/lib/v3/dom/locatorScripts/xpathResolver.js.map +1 -0
  195. package/dist/cjs/lib/v3/dom/piercer.entry.d.ts +1 -0
  196. package/dist/cjs/lib/v3/dom/piercer.entry.js +5 -0
  197. package/dist/cjs/lib/v3/dom/piercer.entry.js.map +1 -0
  198. package/dist/cjs/lib/v3/dom/piercer.runtime.d.ts +23 -0
  199. package/dist/cjs/lib/v3/dom/piercer.runtime.js +93 -0
  200. package/dist/cjs/lib/v3/dom/piercer.runtime.js.map +1 -0
  201. package/dist/cjs/lib/v3/dom/rerenderMissingShadows.entry.d.ts +1 -0
  202. package/dist/cjs/lib/v3/dom/rerenderMissingShadows.entry.js +5 -0
  203. package/dist/cjs/lib/v3/dom/rerenderMissingShadows.entry.js.map +1 -0
  204. package/dist/cjs/lib/v3/dom/rerenderMissingShadows.runtime.d.ts +1 -0
  205. package/dist/cjs/lib/v3/dom/rerenderMissingShadows.runtime.js +43 -0
  206. package/dist/cjs/lib/v3/dom/rerenderMissingShadows.runtime.js.map +1 -0
  207. package/dist/cjs/lib/v3/dom/screenshotScripts/index.d.ts +1 -0
  208. package/dist/cjs/lib/v3/dom/screenshotScripts/index.js +6 -0
  209. package/dist/cjs/lib/v3/dom/screenshotScripts/index.js.map +1 -0
  210. package/dist/cjs/lib/v3/dom/screenshotScripts/resolveMaskRect.d.ts +8 -0
  211. package/dist/cjs/lib/v3/dom/screenshotScripts/resolveMaskRect.js +85 -0
  212. package/dist/cjs/lib/v3/dom/screenshotScripts/resolveMaskRect.js.map +1 -0
  213. package/dist/cjs/lib/v3/external_clients/aisdk.d.ts +11 -0
  214. package/dist/cjs/lib/v3/external_clients/aisdk.js +107 -0
  215. package/dist/cjs/lib/v3/external_clients/aisdk.js.map +1 -0
  216. package/dist/cjs/lib/v3/external_clients/customOpenAI.d.ts +18 -0
  217. package/dist/cjs/lib/v3/external_clients/customOpenAI.js +224 -0
  218. package/dist/cjs/lib/v3/external_clients/customOpenAI.js.map +1 -0
  219. package/dist/cjs/lib/v3/flowLogger.d.ts +139 -0
  220. package/dist/cjs/lib/v3/flowLogger.js +881 -0
  221. package/dist/cjs/lib/v3/flowLogger.js.map +1 -0
  222. package/dist/cjs/lib/v3/handlers/actHandler.d.ts +22 -0
  223. package/dist/cjs/lib/v3/handlers/actHandler.js +344 -0
  224. package/dist/cjs/lib/v3/handlers/actHandler.js.map +1 -0
  225. package/dist/cjs/lib/v3/handlers/extractHandler.d.ts +31 -0
  226. package/dist/cjs/lib/v3/handlers/extractHandler.js +144 -0
  227. package/dist/cjs/lib/v3/handlers/extractHandler.js.map +1 -0
  228. package/dist/cjs/lib/v3/handlers/handlerUtils/actHandlerUtils.d.ts +21 -0
  229. package/dist/cjs/lib/v3/handlers/handlerUtils/actHandlerUtils.js +604 -0
  230. package/dist/cjs/lib/v3/handlers/handlerUtils/actHandlerUtils.js.map +1 -0
  231. package/dist/cjs/lib/v3/handlers/handlerUtils/timeoutGuard.d.ts +2 -0
  232. package/dist/cjs/lib/v3/handlers/handlerUtils/timeoutGuard.js +17 -0
  233. package/dist/cjs/lib/v3/handlers/handlerUtils/timeoutGuard.js.map +1 -0
  234. package/dist/cjs/lib/v3/handlers/observeHandler.d.ts +17 -0
  235. package/dist/cjs/lib/v3/handlers/observeHandler.js +159 -0
  236. package/dist/cjs/lib/v3/handlers/observeHandler.js.map +1 -0
  237. package/dist/cjs/lib/v3/handlers/v3AgentHandler.d.ts +32 -0
  238. package/dist/cjs/lib/v3/handlers/v3AgentHandler.js +462 -0
  239. package/dist/cjs/lib/v3/handlers/v3AgentHandler.js.map +1 -0
  240. package/dist/cjs/lib/v3/handlers/v3CuaAgentHandler.d.ts +33 -0
  241. package/dist/cjs/lib/v3/handlers/v3CuaAgentHandler.js +532 -0
  242. package/dist/cjs/lib/v3/handlers/v3CuaAgentHandler.js.map +1 -0
  243. package/dist/cjs/lib/v3/index.d.ts +161 -0
  244. package/dist/cjs/lib/v3/index.js +119 -0
  245. package/dist/cjs/lib/v3/index.js.map +1 -0
  246. package/dist/cjs/lib/v3/launch/browserbase.d.ts +7 -0
  247. package/dist/cjs/lib/v3/launch/browserbase.js +47 -0
  248. package/dist/cjs/lib/v3/launch/browserbase.js.map +1 -0
  249. package/dist/cjs/lib/v3/launch/local.d.ts +15 -0
  250. package/dist/cjs/lib/v3/launch/local.js +104 -0
  251. package/dist/cjs/lib/v3/launch/local.js.map +1 -0
  252. package/dist/cjs/lib/v3/llm/AnthropicClient.d.ts +16 -0
  253. package/dist/cjs/lib/v3/llm/AnthropicClient.js +246 -0
  254. package/dist/cjs/lib/v3/llm/AnthropicClient.js.map +1 -0
  255. package/dist/cjs/lib/v3/llm/CerebrasClient.d.ts +17 -0
  256. package/dist/cjs/lib/v3/llm/CerebrasClient.js +242 -0
  257. package/dist/cjs/lib/v3/llm/CerebrasClient.js.map +1 -0
  258. package/dist/cjs/lib/v3/llm/GoogleClient.d.ts +19 -0
  259. package/dist/cjs/lib/v3/llm/GoogleClient.js +373 -0
  260. package/dist/cjs/lib/v3/llm/GoogleClient.js.map +1 -0
  261. package/dist/cjs/lib/v3/llm/GroqClient.d.ts +17 -0
  262. package/dist/cjs/lib/v3/llm/GroqClient.js +243 -0
  263. package/dist/cjs/lib/v3/llm/GroqClient.js.map +1 -0
  264. package/dist/cjs/lib/v3/llm/LLMClient.d.ts +121 -0
  265. package/dist/cjs/lib/v3/llm/LLMClient.js +27 -0
  266. package/dist/cjs/lib/v3/llm/LLMClient.js.map +1 -0
  267. package/dist/cjs/lib/v3/llm/LLMProvider.d.ts +13 -0
  268. package/dist/cjs/lib/v3/llm/LLMProvider.js +194 -0
  269. package/dist/cjs/lib/v3/llm/LLMProvider.js.map +1 -0
  270. package/dist/cjs/lib/v3/llm/OpenAIClient.d.ts +15 -0
  271. package/dist/cjs/lib/v3/llm/OpenAIClient.js +336 -0
  272. package/dist/cjs/lib/v3/llm/OpenAIClient.js.map +1 -0
  273. package/dist/cjs/lib/v3/llm/aisdk.d.ts +15 -0
  274. package/dist/cjs/lib/v3/llm/aisdk.js +355 -0
  275. package/dist/cjs/lib/v3/llm/aisdk.js.map +1 -0
  276. package/dist/cjs/lib/v3/logger.d.ts +9 -0
  277. package/dist/cjs/lib/v3/logger.js +102 -0
  278. package/dist/cjs/lib/v3/logger.js.map +1 -0
  279. package/dist/cjs/lib/v3/mcp/connection.d.ts +13 -0
  280. package/dist/cjs/lib/v3/mcp/connection.js +56 -0
  281. package/dist/cjs/lib/v3/mcp/connection.js.map +1 -0
  282. package/dist/cjs/lib/v3/mcp/utils.d.ts +3 -0
  283. package/dist/cjs/lib/v3/mcp/utils.js +40 -0
  284. package/dist/cjs/lib/v3/mcp/utils.js.map +1 -0
  285. package/dist/cjs/lib/v3/runtimePaths.d.ts +6 -0
  286. package/dist/cjs/lib/v3/runtimePaths.js +119 -0
  287. package/dist/cjs/lib/v3/runtimePaths.js.map +1 -0
  288. package/dist/cjs/lib/v3/shutdown/cleanupLocal.d.ts +14 -0
  289. package/dist/cjs/lib/v3/shutdown/cleanupLocal.js +36 -0
  290. package/dist/cjs/lib/v3/shutdown/cleanupLocal.js.map +1 -0
  291. package/dist/cjs/lib/v3/shutdown/supervisor.d.ts +11 -0
  292. package/dist/cjs/lib/v3/shutdown/supervisor.js +193 -0
  293. package/dist/cjs/lib/v3/shutdown/supervisor.js.map +1 -0
  294. package/dist/cjs/lib/v3/shutdown/supervisorClient.d.ts +15 -0
  295. package/dist/cjs/lib/v3/shutdown/supervisorClient.js +95 -0
  296. package/dist/cjs/lib/v3/shutdown/supervisorClient.js.map +1 -0
  297. package/dist/cjs/lib/v3/timeoutConfig.d.ts +2 -0
  298. package/dist/cjs/lib/v3/timeoutConfig.js +36 -0
  299. package/dist/cjs/lib/v3/timeoutConfig.js.map +1 -0
  300. package/dist/cjs/lib/v3/types/private/agent.d.ts +6 -0
  301. package/dist/cjs/lib/v3/types/private/agent.js +3 -0
  302. package/dist/cjs/lib/v3/types/private/agent.js.map +1 -0
  303. package/dist/cjs/lib/v3/types/private/api.d.ts +11 -0
  304. package/dist/cjs/lib/v3/types/private/api.js +3 -0
  305. package/dist/cjs/lib/v3/types/private/api.js.map +1 -0
  306. package/dist/cjs/lib/v3/types/private/cache.d.ts +131 -0
  307. package/dist/cjs/lib/v3/types/private/cache.js +3 -0
  308. package/dist/cjs/lib/v3/types/private/cache.js.map +1 -0
  309. package/dist/cjs/lib/v3/types/private/evaluator.d.ts +40 -0
  310. package/dist/cjs/lib/v3/types/private/evaluator.js +3 -0
  311. package/dist/cjs/lib/v3/types/private/evaluator.js.map +1 -0
  312. package/dist/cjs/lib/v3/types/private/handlers.d.ts +39 -0
  313. package/dist/cjs/lib/v3/types/private/handlers.js +19 -0
  314. package/dist/cjs/lib/v3/types/private/handlers.js.map +1 -0
  315. package/dist/cjs/lib/v3/types/private/index.d.ts +7 -0
  316. package/dist/cjs/lib/v3/types/private/index.js +24 -0
  317. package/dist/cjs/lib/v3/types/private/index.js.map +1 -0
  318. package/dist/cjs/lib/v3/types/private/internal.d.ts +39 -0
  319. package/dist/cjs/lib/v3/types/private/internal.js +3 -0
  320. package/dist/cjs/lib/v3/types/private/internal.js.map +1 -0
  321. package/dist/cjs/lib/v3/types/private/locator.d.ts +9 -0
  322. package/dist/cjs/lib/v3/types/private/locator.js +3 -0
  323. package/dist/cjs/lib/v3/types/private/locator.js.map +1 -0
  324. package/dist/cjs/lib/v3/types/private/network.d.ts +34 -0
  325. package/dist/cjs/lib/v3/types/private/network.js +6 -0
  326. package/dist/cjs/lib/v3/types/private/network.js.map +1 -0
  327. package/dist/cjs/lib/v3/types/private/shutdown.d.ts +19 -0
  328. package/dist/cjs/lib/v3/types/private/shutdown.js +6 -0
  329. package/dist/cjs/lib/v3/types/private/shutdown.js.map +1 -0
  330. package/dist/cjs/lib/v3/types/private/shutdownErrors.d.ts +12 -0
  331. package/dist/cjs/lib/v3/types/private/shutdownErrors.js +28 -0
  332. package/dist/cjs/lib/v3/types/private/shutdownErrors.js.map +1 -0
  333. package/dist/cjs/lib/v3/types/private/snapshot.d.ts +117 -0
  334. package/dist/cjs/lib/v3/types/private/snapshot.js +3 -0
  335. package/dist/cjs/lib/v3/types/private/snapshot.js.map +1 -0
  336. package/dist/cjs/lib/v3/types/public/agent.d.ts +653 -0
  337. package/dist/cjs/lib/v3/types/public/agent.js +18 -0
  338. package/dist/cjs/lib/v3/types/public/agent.js.map +1 -0
  339. package/dist/cjs/lib/v3/types/public/api.d.ts +1236 -0
  340. package/dist/cjs/lib/v3/types/public/api.js +922 -0
  341. package/dist/cjs/lib/v3/types/public/api.js.map +1 -0
  342. package/dist/cjs/lib/v3/types/public/apiErrors.d.ts +18 -0
  343. package/dist/cjs/lib/v3/types/public/apiErrors.js +41 -0
  344. package/dist/cjs/lib/v3/types/public/apiErrors.js.map +1 -0
  345. package/dist/cjs/lib/v3/types/public/context.d.ts +32 -0
  346. package/dist/cjs/lib/v3/types/public/context.js +3 -0
  347. package/dist/cjs/lib/v3/types/public/context.js.map +1 -0
  348. package/dist/cjs/lib/v3/types/public/index.d.ts +14 -0
  349. package/dist/cjs/lib/v3/types/public/index.js +56 -0
  350. package/dist/cjs/lib/v3/types/public/index.js.map +1 -0
  351. package/dist/cjs/lib/v3/types/public/locator.d.ts +9 -0
  352. package/dist/cjs/lib/v3/types/public/locator.js +3 -0
  353. package/dist/cjs/lib/v3/types/public/locator.js.map +1 -0
  354. package/dist/cjs/lib/v3/types/public/logs.d.ts +23 -0
  355. package/dist/cjs/lib/v3/types/public/logs.js +16 -0
  356. package/dist/cjs/lib/v3/types/public/logs.js.map +1 -0
  357. package/dist/cjs/lib/v3/types/public/methods.d.ts +87 -0
  358. package/dist/cjs/lib/v3/types/public/methods.js +18 -0
  359. package/dist/cjs/lib/v3/types/public/methods.js.map +1 -0
  360. package/dist/cjs/lib/v3/types/public/metrics.d.ts +27 -0
  361. package/dist/cjs/lib/v3/types/public/metrics.js +3 -0
  362. package/dist/cjs/lib/v3/types/public/metrics.js.map +1 -0
  363. package/dist/cjs/lib/v3/types/public/model.d.ts +67 -0
  364. package/dist/cjs/lib/v3/types/public/model.js +3 -0
  365. package/dist/cjs/lib/v3/types/public/model.js.map +1 -0
  366. package/dist/cjs/lib/v3/types/public/options.d.ts +78 -0
  367. package/dist/cjs/lib/v3/types/public/options.js +7 -0
  368. package/dist/cjs/lib/v3/types/public/options.js.map +1 -0
  369. package/dist/cjs/lib/v3/types/public/page.d.ts +18 -0
  370. package/dist/cjs/lib/v3/types/public/page.js +8 -0
  371. package/dist/cjs/lib/v3/types/public/page.js.map +1 -0
  372. package/dist/cjs/lib/v3/types/public/screenshotTypes.d.ts +25 -0
  373. package/dist/cjs/lib/v3/types/public/screenshotTypes.js +3 -0
  374. package/dist/cjs/lib/v3/types/public/screenshotTypes.js.map +1 -0
  375. package/dist/cjs/lib/v3/types/public/sdkErrors.d.ts +168 -0
  376. package/dist/cjs/lib/v3/types/public/sdkErrors.js +390 -0
  377. package/dist/cjs/lib/v3/types/public/sdkErrors.js.map +1 -0
  378. package/dist/cjs/lib/v3/understudy/a11y/snapshot/a11yTree.d.ts +15 -0
  379. package/dist/cjs/lib/v3/understudy/a11y/snapshot/a11yTree.js +204 -0
  380. package/dist/cjs/lib/v3/understudy/a11y/snapshot/a11yTree.js.map +1 -0
  381. package/dist/cjs/lib/v3/understudy/a11y/snapshot/activeElement.d.ts +8 -0
  382. package/dist/cjs/lib/v3/understudy/a11y/snapshot/activeElement.js +124 -0
  383. package/dist/cjs/lib/v3/understudy/a11y/snapshot/activeElement.js.map +1 -0
  384. package/dist/cjs/lib/v3/understudy/a11y/snapshot/capture.d.ts +77 -0
  385. package/dist/cjs/lib/v3/understudy/a11y/snapshot/capture.js +345 -0
  386. package/dist/cjs/lib/v3/understudy/a11y/snapshot/capture.js.map +1 -0
  387. package/dist/cjs/lib/v3/understudy/a11y/snapshot/coordinateResolver.d.ts +7 -0
  388. package/dist/cjs/lib/v3/understudy/a11y/snapshot/coordinateResolver.js +132 -0
  389. package/dist/cjs/lib/v3/understudy/a11y/snapshot/coordinateResolver.js.map +1 -0
  390. package/dist/cjs/lib/v3/understudy/a11y/snapshot/domTree.d.ts +46 -0
  391. package/dist/cjs/lib/v3/understudy/a11y/snapshot/domTree.js +285 -0
  392. package/dist/cjs/lib/v3/understudy/a11y/snapshot/domTree.js.map +1 -0
  393. package/dist/cjs/lib/v3/understudy/a11y/snapshot/focusSelectors.d.ts +25 -0
  394. package/dist/cjs/lib/v3/understudy/a11y/snapshot/focusSelectors.js +226 -0
  395. package/dist/cjs/lib/v3/understudy/a11y/snapshot/focusSelectors.js.map +1 -0
  396. package/dist/cjs/lib/v3/understudy/a11y/snapshot/index.d.ts +4 -0
  397. package/dist/cjs/lib/v3/understudy/a11y/snapshot/index.js +12 -0
  398. package/dist/cjs/lib/v3/understudy/a11y/snapshot/index.js.map +1 -0
  399. package/dist/cjs/lib/v3/understudy/a11y/snapshot/sessions.d.ts +16 -0
  400. package/dist/cjs/lib/v3/understudy/a11y/snapshot/sessions.js +26 -0
  401. package/dist/cjs/lib/v3/understudy/a11y/snapshot/sessions.js.map +1 -0
  402. package/dist/cjs/lib/v3/understudy/a11y/snapshot/treeFormatUtils.d.ts +28 -0
  403. package/dist/cjs/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js +143 -0
  404. package/dist/cjs/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js.map +1 -0
  405. package/dist/cjs/lib/v3/understudy/a11y/snapshot/xpathUtils.d.ts +26 -0
  406. package/dist/cjs/lib/v3/understudy/a11y/snapshot/xpathUtils.js +110 -0
  407. package/dist/cjs/lib/v3/understudy/a11y/snapshot/xpathUtils.js.map +1 -0
  408. package/dist/cjs/lib/v3/understudy/a11yInvocation.d.ts +8 -0
  409. package/dist/cjs/lib/v3/understudy/a11yInvocation.js +15 -0
  410. package/dist/cjs/lib/v3/understudy/a11yInvocation.js.map +1 -0
  411. package/dist/cjs/lib/v3/understudy/cdp.d.ts +74 -0
  412. package/dist/cjs/lib/v3/understudy/cdp.js +317 -0
  413. package/dist/cjs/lib/v3/understudy/cdp.js.map +1 -0
  414. package/dist/cjs/lib/v3/understudy/consoleMessage.d.ts +22 -0
  415. package/dist/cjs/lib/v3/understudy/consoleMessage.js +70 -0
  416. package/dist/cjs/lib/v3/understudy/consoleMessage.js.map +1 -0
  417. package/dist/cjs/lib/v3/understudy/context.d.ts +166 -0
  418. package/dist/cjs/lib/v3/understudy/context.js +960 -0
  419. package/dist/cjs/lib/v3/understudy/context.js.map +1 -0
  420. package/dist/cjs/lib/v3/understudy/cookies.d.ts +32 -0
  421. package/dist/cjs/lib/v3/understudy/cookies.js +142 -0
  422. package/dist/cjs/lib/v3/understudy/cookies.js.map +1 -0
  423. package/dist/cjs/lib/v3/understudy/deepLocator.d.ts +87 -0
  424. package/dist/cjs/lib/v3/understudy/deepLocator.js +204 -0
  425. package/dist/cjs/lib/v3/understudy/deepLocator.js.map +1 -0
  426. package/dist/cjs/lib/v3/understudy/executionContextRegistry.d.ts +15 -0
  427. package/dist/cjs/lib/v3/understudy/executionContextRegistry.js +87 -0
  428. package/dist/cjs/lib/v3/understudy/executionContextRegistry.js.map +1 -0
  429. package/dist/cjs/lib/v3/understudy/fileUploadUtils.d.ts +13 -0
  430. package/dist/cjs/lib/v3/understudy/fileUploadUtils.js +88 -0
  431. package/dist/cjs/lib/v3/understudy/fileUploadUtils.js.map +1 -0
  432. package/dist/cjs/lib/v3/understudy/frame.d.ts +69 -0
  433. package/dist/cjs/lib/v3/understudy/frame.js +232 -0
  434. package/dist/cjs/lib/v3/understudy/frame.js.map +1 -0
  435. package/dist/cjs/lib/v3/understudy/frameLocator.d.ts +50 -0
  436. package/dist/cjs/lib/v3/understudy/frameLocator.js +260 -0
  437. package/dist/cjs/lib/v3/understudy/frameLocator.js.map +1 -0
  438. package/dist/cjs/lib/v3/understudy/frameRegistry.d.ts +101 -0
  439. package/dist/cjs/lib/v3/understudy/frameRegistry.js +302 -0
  440. package/dist/cjs/lib/v3/understudy/frameRegistry.js.map +1 -0
  441. package/dist/cjs/lib/v3/understudy/initScripts.d.ts +2 -0
  442. package/dist/cjs/lib/v3/understudy/initScripts.js +36 -0
  443. package/dist/cjs/lib/v3/understudy/initScripts.js.map +1 -0
  444. package/dist/cjs/lib/v3/understudy/lifecycleWatcher.d.ts +64 -0
  445. package/dist/cjs/lib/v3/understudy/lifecycleWatcher.js +249 -0
  446. package/dist/cjs/lib/v3/understudy/lifecycleWatcher.js.map +1 -0
  447. package/dist/cjs/lib/v3/understudy/locator.d.ts +194 -0
  448. package/dist/cjs/lib/v3/understudy/locator.js +790 -0
  449. package/dist/cjs/lib/v3/understudy/locator.js.map +1 -0
  450. package/dist/cjs/lib/v3/understudy/locatorInvocation.d.ts +8 -0
  451. package/dist/cjs/lib/v3/understudy/locatorInvocation.js +15 -0
  452. package/dist/cjs/lib/v3/understudy/locatorInvocation.js.map +1 -0
  453. package/dist/cjs/lib/v3/understudy/navigationResponseTracker.d.ts +84 -0
  454. package/dist/cjs/lib/v3/understudy/navigationResponseTracker.js +228 -0
  455. package/dist/cjs/lib/v3/understudy/navigationResponseTracker.js.map +1 -0
  456. package/dist/cjs/lib/v3/understudy/networkManager.d.ts +53 -0
  457. package/dist/cjs/lib/v3/understudy/networkManager.js +310 -0
  458. package/dist/cjs/lib/v3/understudy/networkManager.js.map +1 -0
  459. package/dist/cjs/lib/v3/understudy/page.d.ts +367 -0
  460. package/dist/cjs/lib/v3/understudy/page.js +1998 -0
  461. package/dist/cjs/lib/v3/understudy/page.js.map +1 -0
  462. package/dist/cjs/lib/v3/understudy/piercer.d.ts +4 -0
  463. package/dist/cjs/lib/v3/understudy/piercer.js +65 -0
  464. package/dist/cjs/lib/v3/understudy/piercer.js.map +1 -0
  465. package/dist/cjs/lib/v3/understudy/response.d.ts +137 -0
  466. package/dist/cjs/lib/v3/understudy/response.js +335 -0
  467. package/dist/cjs/lib/v3/understudy/response.js.map +1 -0
  468. package/dist/cjs/lib/v3/understudy/screenshotUtils.d.ts +15 -0
  469. package/dist/cjs/lib/v3/understudy/screenshotUtils.js +345 -0
  470. package/dist/cjs/lib/v3/understudy/screenshotUtils.js.map +1 -0
  471. package/dist/cjs/lib/v3/understudy/selectorResolver.d.ts +38 -0
  472. package/dist/cjs/lib/v3/understudy/selectorResolver.js +300 -0
  473. package/dist/cjs/lib/v3/understudy/selectorResolver.js.map +1 -0
  474. package/dist/cjs/lib/v3/v3.d.ts +191 -0
  475. package/dist/cjs/lib/v3/v3.js +1631 -0
  476. package/dist/cjs/lib/v3/v3.js.map +1 -0
  477. package/dist/cjs/lib/v3/zodCompat.d.ts +12 -0
  478. package/dist/cjs/lib/v3/zodCompat.js +26 -0
  479. package/dist/cjs/lib/v3/zodCompat.js.map +1 -0
  480. package/dist/cjs/lib/v3Evaluator.d.ts +19 -0
  481. package/dist/cjs/lib/v3Evaluator.js +214 -0
  482. package/dist/cjs/lib/v3Evaluator.js.map +1 -0
  483. package/dist/cjs/lib/version.d.ts +5 -0
  484. package/dist/cjs/lib/version.js +9 -0
  485. package/dist/cjs/lib/version.js.map +1 -0
  486. package/dist/cjs/package.json +3 -0
  487. package/dist/cjs/tests/cache-variables.test.d.ts +1 -0
  488. package/dist/cjs/tests/cache-variables.test.js +221 -0
  489. package/dist/cjs/tests/cache-variables.test.js.map +1 -0
  490. package/dist/cjs/tests/integration/agent-abort-signal.spec.d.ts +1 -0
  491. package/dist/cjs/tests/integration/agent-abort-signal.spec.js +123 -0
  492. package/dist/cjs/tests/integration/agent-abort-signal.spec.js.map +1 -0
  493. package/dist/cjs/tests/integration/agent-cache-self-heal.spec.d.ts +1 -0
  494. package/dist/cjs/tests/integration/agent-cache-self-heal.spec.js +83 -0
  495. package/dist/cjs/tests/integration/agent-cache-self-heal.spec.js.map +1 -0
  496. package/dist/cjs/tests/integration/agent-callbacks.spec.d.ts +1 -0
  497. package/dist/cjs/tests/integration/agent-callbacks.spec.js +385 -0
  498. package/dist/cjs/tests/integration/agent-callbacks.spec.js.map +1 -0
  499. package/dist/cjs/tests/integration/agent-experimental-validation.spec.d.ts +1 -0
  500. package/dist/cjs/tests/integration/agent-experimental-validation.spec.js +362 -0
  501. package/dist/cjs/tests/integration/agent-experimental-validation.spec.js.map +1 -0
  502. package/dist/cjs/tests/integration/agent-hybrid-mode.spec.d.ts +1 -0
  503. package/dist/cjs/tests/integration/agent-hybrid-mode.spec.js +262 -0
  504. package/dist/cjs/tests/integration/agent-hybrid-mode.spec.js.map +1 -0
  505. package/dist/cjs/tests/integration/agent-message-continuation.spec.d.ts +1 -0
  506. package/dist/cjs/tests/integration/agent-message-continuation.spec.js +112 -0
  507. package/dist/cjs/tests/integration/agent-message-continuation.spec.js.map +1 -0
  508. package/dist/cjs/tests/integration/agent-streaming.spec.d.ts +1 -0
  509. package/dist/cjs/tests/integration/agent-streaming.spec.js +140 -0
  510. package/dist/cjs/tests/integration/agent-streaming.spec.js.map +1 -0
  511. package/dist/cjs/tests/integration/cdp-close-api-region.spec.d.ts +1 -0
  512. package/dist/cjs/tests/integration/cdp-close-api-region.spec.js +41 -0
  513. package/dist/cjs/tests/integration/cdp-close-api-region.spec.js.map +1 -0
  514. package/dist/cjs/tests/integration/cdp-connection-close.spec.d.ts +1 -0
  515. package/dist/cjs/tests/integration/cdp-connection-close.spec.js +76 -0
  516. package/dist/cjs/tests/integration/cdp-connection-close.spec.js.map +1 -0
  517. package/dist/cjs/tests/integration/cdp-session-detached.spec.d.ts +1 -0
  518. package/dist/cjs/tests/integration/cdp-session-detached.spec.js +45 -0
  519. package/dist/cjs/tests/integration/cdp-session-detached.spec.js.map +1 -0
  520. package/dist/cjs/tests/integration/click-count.spec.d.ts +1 -0
  521. package/dist/cjs/tests/integration/click-count.spec.js +163 -0
  522. package/dist/cjs/tests/integration/click-count.spec.js.map +1 -0
  523. package/dist/cjs/tests/integration/connect-to-existing-browser.spec.d.ts +1 -0
  524. package/dist/cjs/tests/integration/connect-to-existing-browser.spec.js +99 -0
  525. package/dist/cjs/tests/integration/connect-to-existing-browser.spec.js.map +1 -0
  526. package/dist/cjs/tests/integration/context-addInitScript.spec.d.ts +1 -0
  527. package/dist/cjs/tests/integration/context-addInitScript.spec.js +285 -0
  528. package/dist/cjs/tests/integration/context-addInitScript.spec.js.map +1 -0
  529. package/dist/cjs/tests/integration/context-extra-http-headers.spec.d.ts +1 -0
  530. package/dist/cjs/tests/integration/context-extra-http-headers.spec.js +49 -0
  531. package/dist/cjs/tests/integration/context-extra-http-headers.spec.js.map +1 -0
  532. package/dist/cjs/tests/integration/cookies.spec.d.ts +1 -0
  533. package/dist/cjs/tests/integration/cookies.spec.js +187 -0
  534. package/dist/cjs/tests/integration/cookies.spec.js.map +1 -0
  535. package/dist/cjs/tests/integration/default-page-tracking.spec.d.ts +1 -0
  536. package/dist/cjs/tests/integration/default-page-tracking.spec.js +52 -0
  537. package/dist/cjs/tests/integration/default-page-tracking.spec.js.map +1 -0
  538. package/dist/cjs/tests/integration/downloads.spec.d.ts +1 -0
  539. package/dist/cjs/tests/integration/downloads.spec.js +52 -0
  540. package/dist/cjs/tests/integration/downloads.spec.js.map +1 -0
  541. package/dist/cjs/tests/integration/frame-get-location-and-click.spec.d.ts +1 -0
  542. package/dist/cjs/tests/integration/frame-get-location-and-click.spec.js +57 -0
  543. package/dist/cjs/tests/integration/frame-get-location-and-click.spec.js.map +1 -0
  544. package/dist/cjs/tests/integration/iframe-ctx-addInitScript-race.spec.d.ts +1 -0
  545. package/dist/cjs/tests/integration/iframe-ctx-addInitScript-race.spec.js +219 -0
  546. package/dist/cjs/tests/integration/iframe-ctx-addInitScript-race.spec.js.map +1 -0
  547. package/dist/cjs/tests/integration/iframe-ctx-addInitScript.spec.d.ts +1 -0
  548. package/dist/cjs/tests/integration/iframe-ctx-addInitScript.spec.js +474 -0
  549. package/dist/cjs/tests/integration/iframe-ctx-addInitScript.spec.js.map +1 -0
  550. package/dist/cjs/tests/integration/keep-alive.child.d.ts +1 -0
  551. package/dist/cjs/tests/integration/keep-alive.child.js +85 -0
  552. package/dist/cjs/tests/integration/keep-alive.child.js.map +1 -0
  553. package/dist/cjs/tests/integration/keep-alive.spec.d.ts +22 -0
  554. package/dist/cjs/tests/integration/keep-alive.spec.js +490 -0
  555. package/dist/cjs/tests/integration/keep-alive.spec.js.map +1 -0
  556. package/dist/cjs/tests/integration/keyboard.spec.d.ts +1 -0
  557. package/dist/cjs/tests/integration/keyboard.spec.js +259 -0
  558. package/dist/cjs/tests/integration/keyboard.spec.js.map +1 -0
  559. package/dist/cjs/tests/integration/locator-backend-node-id.spec.d.ts +1 -0
  560. package/dist/cjs/tests/integration/locator-backend-node-id.spec.js +150 -0
  561. package/dist/cjs/tests/integration/locator-backend-node-id.spec.js.map +1 -0
  562. package/dist/cjs/tests/integration/locator-content-methods.spec.d.ts +1 -0
  563. package/dist/cjs/tests/integration/locator-content-methods.spec.js +180 -0
  564. package/dist/cjs/tests/integration/locator-content-methods.spec.js.map +1 -0
  565. package/dist/cjs/tests/integration/locator-count-iframe.spec.d.ts +1 -0
  566. package/dist/cjs/tests/integration/locator-count-iframe.spec.js +129 -0
  567. package/dist/cjs/tests/integration/locator-count-iframe.spec.js.map +1 -0
  568. package/dist/cjs/tests/integration/locator-count.spec.d.ts +1 -0
  569. package/dist/cjs/tests/integration/locator-count.spec.js +68 -0
  570. package/dist/cjs/tests/integration/locator-count.spec.js.map +1 -0
  571. package/dist/cjs/tests/integration/locator-fill.spec.d.ts +1 -0
  572. package/dist/cjs/tests/integration/locator-fill.spec.js +117 -0
  573. package/dist/cjs/tests/integration/locator-fill.spec.js.map +1 -0
  574. package/dist/cjs/tests/integration/locator-input-methods.spec.d.ts +1 -0
  575. package/dist/cjs/tests/integration/locator-input-methods.spec.js +127 -0
  576. package/dist/cjs/tests/integration/locator-input-methods.spec.js.map +1 -0
  577. package/dist/cjs/tests/integration/locator-nth.spec.d.ts +1 -0
  578. package/dist/cjs/tests/integration/locator-nth.spec.js +175 -0
  579. package/dist/cjs/tests/integration/locator-nth.spec.js.map +1 -0
  580. package/dist/cjs/tests/integration/locator-select-option.spec.d.ts +1 -0
  581. package/dist/cjs/tests/integration/locator-select-option.spec.js +216 -0
  582. package/dist/cjs/tests/integration/locator-select-option.spec.js.map +1 -0
  583. package/dist/cjs/tests/integration/logger-initialization.spec.d.ts +1 -0
  584. package/dist/cjs/tests/integration/logger-initialization.spec.js +597 -0
  585. package/dist/cjs/tests/integration/logger-initialization.spec.js.map +1 -0
  586. package/dist/cjs/tests/integration/multi-instance-logger.spec.d.ts +1 -0
  587. package/dist/cjs/tests/integration/multi-instance-logger.spec.js +293 -0
  588. package/dist/cjs/tests/integration/multi-instance-logger.spec.js.map +1 -0
  589. package/dist/cjs/tests/integration/nested-div.spec.d.ts +1 -0
  590. package/dist/cjs/tests/integration/nested-div.spec.js +22 -0
  591. package/dist/cjs/tests/integration/nested-div.spec.js.map +1 -0
  592. package/dist/cjs/tests/integration/page-addInitScript.spec.d.ts +1 -0
  593. package/dist/cjs/tests/integration/page-addInitScript.spec.js +94 -0
  594. package/dist/cjs/tests/integration/page-addInitScript.spec.js.map +1 -0
  595. package/dist/cjs/tests/integration/page-console.spec.d.ts +1 -0
  596. package/dist/cjs/tests/integration/page-console.spec.js +47 -0
  597. package/dist/cjs/tests/integration/page-console.spec.js.map +1 -0
  598. package/dist/cjs/tests/integration/page-drag-and-drop.spec.d.ts +1 -0
  599. package/dist/cjs/tests/integration/page-drag-and-drop.spec.js +437 -0
  600. package/dist/cjs/tests/integration/page-drag-and-drop.spec.js.map +1 -0
  601. package/dist/cjs/tests/integration/page-extra-http-headers.spec.d.ts +1 -0
  602. package/dist/cjs/tests/integration/page-extra-http-headers.spec.js +85 -0
  603. package/dist/cjs/tests/integration/page-extra-http-headers.spec.js.map +1 -0
  604. package/dist/cjs/tests/integration/page-goto-response.spec.d.ts +1 -0
  605. package/dist/cjs/tests/integration/page-goto-response.spec.js +34 -0
  606. package/dist/cjs/tests/integration/page-goto-response.spec.js.map +1 -0
  607. package/dist/cjs/tests/integration/page-hover.spec.d.ts +1 -0
  608. package/dist/cjs/tests/integration/page-hover.spec.js +165 -0
  609. package/dist/cjs/tests/integration/page-hover.spec.js.map +1 -0
  610. package/dist/cjs/tests/integration/page-screenshot.spec.d.ts +1 -0
  611. package/dist/cjs/tests/integration/page-screenshot.spec.js +292 -0
  612. package/dist/cjs/tests/integration/page-screenshot.spec.js.map +1 -0
  613. package/dist/cjs/tests/integration/page-scroll.spec.d.ts +1 -0
  614. package/dist/cjs/tests/integration/page-scroll.spec.js +183 -0
  615. package/dist/cjs/tests/integration/page-scroll.spec.js.map +1 -0
  616. package/dist/cjs/tests/integration/page-send-cdp.spec.d.ts +1 -0
  617. package/dist/cjs/tests/integration/page-send-cdp.spec.js +47 -0
  618. package/dist/cjs/tests/integration/page-send-cdp.spec.js.map +1 -0
  619. package/dist/cjs/tests/integration/perform-understudy-method.spec.d.ts +1 -0
  620. package/dist/cjs/tests/integration/perform-understudy-method.spec.js +63 -0
  621. package/dist/cjs/tests/integration/perform-understudy-method.spec.js.map +1 -0
  622. package/dist/cjs/tests/integration/setinputfiles.spec.d.ts +1 -0
  623. package/dist/cjs/tests/integration/setinputfiles.spec.js +133 -0
  624. package/dist/cjs/tests/integration/setinputfiles.spec.js.map +1 -0
  625. package/dist/cjs/tests/integration/shadow-iframe-oopif.spec.d.ts +1 -0
  626. package/dist/cjs/tests/integration/shadow-iframe-oopif.spec.js +161 -0
  627. package/dist/cjs/tests/integration/shadow-iframe-oopif.spec.js.map +1 -0
  628. package/dist/cjs/tests/integration/shadow-iframe-spif.spec.d.ts +1 -0
  629. package/dist/cjs/tests/integration/shadow-iframe-spif.spec.js +160 -0
  630. package/dist/cjs/tests/integration/shadow-iframe-spif.spec.js.map +1 -0
  631. package/dist/cjs/tests/integration/testUtils.d.ts +7 -0
  632. package/dist/cjs/tests/integration/testUtils.js +44 -0
  633. package/dist/cjs/tests/integration/testUtils.js.map +1 -0
  634. package/dist/cjs/tests/integration/text-selector-innermost.spec.d.ts +1 -0
  635. package/dist/cjs/tests/integration/text-selector-innermost.spec.js +105 -0
  636. package/dist/cjs/tests/integration/text-selector-innermost.spec.js.map +1 -0
  637. package/dist/cjs/tests/integration/timeouts.spec.d.ts +1 -0
  638. package/dist/cjs/tests/integration/timeouts.spec.js +197 -0
  639. package/dist/cjs/tests/integration/timeouts.spec.js.map +1 -0
  640. package/dist/cjs/tests/integration/user-data-dir.spec.d.ts +1 -0
  641. package/dist/cjs/tests/integration/user-data-dir.spec.js +77 -0
  642. package/dist/cjs/tests/integration/user-data-dir.spec.js.map +1 -0
  643. package/dist/cjs/tests/integration/v3.config.d.ts +4 -0
  644. package/dist/cjs/tests/integration/v3.config.js +11 -0
  645. package/dist/cjs/tests/integration/v3.config.js.map +1 -0
  646. package/dist/cjs/tests/integration/v3.dynamic.config.d.ts +4 -0
  647. package/dist/cjs/tests/integration/v3.dynamic.config.js +48 -0
  648. package/dist/cjs/tests/integration/v3.dynamic.config.js.map +1 -0
  649. package/dist/cjs/tests/integration/v3.playwright.config.d.ts +2 -0
  650. package/dist/cjs/tests/integration/v3.playwright.config.js +48 -0
  651. package/dist/cjs/tests/integration/v3.playwright.config.js.map +1 -0
  652. package/dist/cjs/tests/integration/wait-for-selector.spec.d.ts +1 -0
  653. package/dist/cjs/tests/integration/wait-for-selector.spec.js +683 -0
  654. package/dist/cjs/tests/integration/wait-for-selector.spec.js.map +1 -0
  655. package/dist/cjs/tests/integration/wait-for-timeout.spec.d.ts +1 -0
  656. package/dist/cjs/tests/integration/wait-for-timeout.spec.js +118 -0
  657. package/dist/cjs/tests/integration/wait-for-timeout.spec.js.map +1 -0
  658. package/dist/cjs/tests/integration/xpath-for-location-deep.spec.d.ts +1 -0
  659. package/dist/cjs/tests/integration/xpath-for-location-deep.spec.js +87 -0
  660. package/dist/cjs/tests/integration/xpath-for-location-deep.spec.js.map +1 -0
  661. package/dist/cjs/tests/unit/agent-execution-model.test.d.ts +1 -0
  662. package/dist/cjs/tests/unit/agent-execution-model.test.js +128 -0
  663. package/dist/cjs/tests/unit/agent-execution-model.test.js.map +1 -0
  664. package/dist/cjs/tests/unit/api-multiregion.test.d.ts +1 -0
  665. package/dist/cjs/tests/unit/api-multiregion.test.js +58 -0
  666. package/dist/cjs/tests/unit/api-multiregion.test.js.map +1 -0
  667. package/dist/cjs/tests/unit/browserbase-session-accessors.test.d.ts +1 -0
  668. package/dist/cjs/tests/unit/browserbase-session-accessors.test.js +102 -0
  669. package/dist/cjs/tests/unit/browserbase-session-accessors.test.js.map +1 -0
  670. package/dist/cjs/tests/unit/cache-llm-resolution.test.d.ts +1 -0
  671. package/dist/cjs/tests/unit/cache-llm-resolution.test.js +186 -0
  672. package/dist/cjs/tests/unit/cache-llm-resolution.test.js.map +1 -0
  673. package/dist/cjs/tests/unit/cdp-connection-close.test.d.ts +1 -0
  674. package/dist/cjs/tests/unit/cdp-connection-close.test.js +74 -0
  675. package/dist/cjs/tests/unit/cdp-connection-close.test.js.map +1 -0
  676. package/dist/cjs/tests/unit/context-extra-http-headers.test.d.ts +1 -0
  677. package/dist/cjs/tests/unit/context-extra-http-headers.test.js +58 -0
  678. package/dist/cjs/tests/unit/context-extra-http-headers.test.js.map +1 -0
  679. package/dist/cjs/tests/unit/cookies.test.d.ts +1 -0
  680. package/dist/cjs/tests/unit/cookies.test.js +944 -0
  681. package/dist/cjs/tests/unit/cookies.test.js.map +1 -0
  682. package/dist/cjs/tests/unit/helpers/mockCDPSession.d.ts +19 -0
  683. package/dist/cjs/tests/unit/helpers/mockCDPSession.js +29 -0
  684. package/dist/cjs/tests/unit/helpers/mockCDPSession.js.map +1 -0
  685. package/dist/cjs/tests/unit/llm-provider.test.d.ts +1 -0
  686. package/dist/cjs/tests/unit/llm-provider.test.js +64 -0
  687. package/dist/cjs/tests/unit/llm-provider.test.js.map +1 -0
  688. package/dist/cjs/tests/unit/model-deprecation.test.d.ts +1 -0
  689. package/dist/cjs/tests/unit/model-deprecation.test.js +142 -0
  690. package/dist/cjs/tests/unit/model-deprecation.test.js.map +1 -0
  691. package/dist/cjs/tests/unit/model-utils.test.d.ts +1 -0
  692. package/dist/cjs/tests/unit/model-utils.test.js +42 -0
  693. package/dist/cjs/tests/unit/model-utils.test.js.map +1 -0
  694. package/dist/cjs/tests/unit/page-extra-http-headers.test.d.ts +1 -0
  695. package/dist/cjs/tests/unit/page-extra-http-headers.test.js +92 -0
  696. package/dist/cjs/tests/unit/page-extra-http-headers.test.js.map +1 -0
  697. package/dist/cjs/tests/unit/page-snapshot.test.d.ts +1 -0
  698. package/dist/cjs/tests/unit/page-snapshot.test.js +75 -0
  699. package/dist/cjs/tests/unit/page-snapshot.test.js.map +1 -0
  700. package/dist/cjs/tests/unit/public-api/export-surface.test.d.ts +1 -0
  701. package/dist/cjs/tests/unit/public-api/export-surface.test.js +107 -0
  702. package/dist/cjs/tests/unit/public-api/export-surface.test.js.map +1 -0
  703. package/dist/cjs/tests/unit/public-api/llm-and-agents.test.d.ts +1 -0
  704. package/dist/cjs/tests/unit/public-api/llm-and-agents.test.js +175 -0
  705. package/dist/cjs/tests/unit/public-api/llm-and-agents.test.js.map +1 -0
  706. package/dist/cjs/tests/unit/public-api/public-error-types.test.d.ts +62 -0
  707. package/dist/cjs/tests/unit/public-api/public-error-types.test.js +110 -0
  708. package/dist/cjs/tests/unit/public-api/public-error-types.test.js.map +1 -0
  709. package/dist/cjs/tests/unit/public-api/public-types.test.d.ts +1 -0
  710. package/dist/cjs/tests/unit/public-api/public-types.test.js +99 -0
  711. package/dist/cjs/tests/unit/public-api/public-types.test.js.map +1 -0
  712. package/dist/cjs/tests/unit/public-api/runtime-utils.test.d.ts +1 -0
  713. package/dist/cjs/tests/unit/public-api/runtime-utils.test.js +60 -0
  714. package/dist/cjs/tests/unit/public-api/runtime-utils.test.js.map +1 -0
  715. package/dist/cjs/tests/unit/public-api/schema-utils.test.d.ts +1 -0
  716. package/dist/cjs/tests/unit/public-api/schema-utils.test.js +95 -0
  717. package/dist/cjs/tests/unit/public-api/schema-utils.test.js.map +1 -0
  718. package/dist/cjs/tests/unit/public-api/timeout-error-types.test.d.ts +1 -0
  719. package/dist/cjs/tests/unit/public-api/timeout-error-types.test.js +121 -0
  720. package/dist/cjs/tests/unit/public-api/timeout-error-types.test.js.map +1 -0
  721. package/dist/cjs/tests/unit/public-api/tool-type-export.test.d.ts +1 -0
  722. package/dist/cjs/tests/unit/public-api/tool-type-export.test.js +65 -0
  723. package/dist/cjs/tests/unit/public-api/tool-type-export.test.js.map +1 -0
  724. package/dist/cjs/tests/unit/public-api/v3-core.test.d.ts +1 -0
  725. package/dist/cjs/tests/unit/public-api/v3-core.test.js +108 -0
  726. package/dist/cjs/tests/unit/public-api/v3-core.test.js.map +1 -0
  727. package/dist/cjs/tests/unit/rerender-missing-shadows.test.d.ts +1 -0
  728. package/dist/cjs/tests/unit/rerender-missing-shadows.test.js +209 -0
  729. package/dist/cjs/tests/unit/rerender-missing-shadows.test.js.map +1 -0
  730. package/dist/cjs/tests/unit/safety-confirmation.test.d.ts +1 -0
  731. package/dist/cjs/tests/unit/safety-confirmation.test.js +110 -0
  732. package/dist/cjs/tests/unit/safety-confirmation.test.js.map +1 -0
  733. package/dist/cjs/tests/unit/snapshot-a11y-resolvers.test.d.ts +1 -0
  734. package/dist/cjs/tests/unit/snapshot-a11y-resolvers.test.js +330 -0
  735. package/dist/cjs/tests/unit/snapshot-a11y-resolvers.test.js.map +1 -0
  736. package/dist/cjs/tests/unit/snapshot-a11y-tree-utils.test.d.ts +1 -0
  737. package/dist/cjs/tests/unit/snapshot-a11y-tree-utils.test.js +286 -0
  738. package/dist/cjs/tests/unit/snapshot-a11y-tree-utils.test.js.map +1 -0
  739. package/dist/cjs/tests/unit/snapshot-capture-orchestration.test.d.ts +1 -0
  740. package/dist/cjs/tests/unit/snapshot-capture-orchestration.test.js +394 -0
  741. package/dist/cjs/tests/unit/snapshot-capture-orchestration.test.js.map +1 -0
  742. package/dist/cjs/tests/unit/snapshot-cbor.test.d.ts +1 -0
  743. package/dist/cjs/tests/unit/snapshot-cbor.test.js +204 -0
  744. package/dist/cjs/tests/unit/snapshot-cbor.test.js.map +1 -0
  745. package/dist/cjs/tests/unit/snapshot-dom-session-builders.test.d.ts +1 -0
  746. package/dist/cjs/tests/unit/snapshot-dom-session-builders.test.js +220 -0
  747. package/dist/cjs/tests/unit/snapshot-dom-session-builders.test.js.map +1 -0
  748. package/dist/cjs/tests/unit/snapshot-dom-tree-utils.test.d.ts +1 -0
  749. package/dist/cjs/tests/unit/snapshot-dom-tree-utils.test.js +107 -0
  750. package/dist/cjs/tests/unit/snapshot-dom-tree-utils.test.js.map +1 -0
  751. package/dist/cjs/tests/unit/snapshot-focus-selectors-utils.test.d.ts +1 -0
  752. package/dist/cjs/tests/unit/snapshot-focus-selectors-utils.test.js +89 -0
  753. package/dist/cjs/tests/unit/snapshot-focus-selectors-utils.test.js.map +1 -0
  754. package/dist/cjs/tests/unit/snapshot-frame-merge.test.d.ts +1 -0
  755. package/dist/cjs/tests/unit/snapshot-frame-merge.test.js +335 -0
  756. package/dist/cjs/tests/unit/snapshot-frame-merge.test.js.map +1 -0
  757. package/dist/cjs/tests/unit/snapshot-tree-format-utils.test.d.ts +1 -0
  758. package/dist/cjs/tests/unit/snapshot-tree-format-utils.test.js +84 -0
  759. package/dist/cjs/tests/unit/snapshot-tree-format-utils.test.js.map +1 -0
  760. package/dist/cjs/tests/unit/snapshot-xpath-utils.test.d.ts +1 -0
  761. package/dist/cjs/tests/unit/snapshot-xpath-utils.test.js +74 -0
  762. package/dist/cjs/tests/unit/snapshot-xpath-utils.test.js.map +1 -0
  763. package/dist/cjs/tests/unit/timeout-handlers.test.d.ts +1 -0
  764. package/dist/cjs/tests/unit/timeout-handlers.test.js +847 -0
  765. package/dist/cjs/tests/unit/timeout-handlers.test.js.map +1 -0
  766. package/dist/cjs/tests/unit/understudy-command-exception.test.d.ts +1 -0
  767. package/dist/cjs/tests/unit/understudy-command-exception.test.js +57 -0
  768. package/dist/cjs/tests/unit/understudy-command-exception.test.js.map +1 -0
  769. package/dist/cjs/tests/unit/xpath-parser.test.d.ts +1 -0
  770. package/dist/cjs/tests/unit/xpath-parser.test.js +311 -0
  771. package/dist/cjs/tests/unit/xpath-parser.test.js.map +1 -0
  772. package/dist/cjs/tests/unit/xpath-resolver.test.d.ts +1 -0
  773. package/dist/cjs/tests/unit/xpath-resolver.test.js +80 -0
  774. package/dist/cjs/tests/unit/xpath-resolver.test.js.map +1 -0
  775. package/dist/cjs/tests/unit/zod-enum-compatibility.test.d.ts +1 -0
  776. package/dist/cjs/tests/unit/zod-enum-compatibility.test.js +149 -0
  777. package/dist/cjs/tests/unit/zod-enum-compatibility.test.js.map +1 -0
  778. package/dist/esm/index.d.ts +2 -0
  779. package/dist/esm/index.js +2 -0
  780. package/dist/esm/lib/inference.d.ts +65 -0
  781. package/dist/esm/lib/inference.js +330 -0
  782. package/dist/esm/lib/inference.js.map +1 -0
  783. package/dist/esm/lib/inferenceLogUtils.d.ts +12 -0
  784. package/dist/esm/lib/inferenceLogUtils.js +92 -0
  785. package/dist/esm/lib/inferenceLogUtils.js.map +1 -0
  786. package/dist/esm/lib/logger.d.ts +69 -0
  787. package/dist/esm/lib/logger.js +323 -0
  788. package/dist/esm/lib/logger.js.map +1 -0
  789. package/dist/esm/lib/modelUtils.d.ts +15 -0
  790. package/dist/esm/lib/modelUtils.js +48 -0
  791. package/dist/esm/lib/modelUtils.js.map +1 -0
  792. package/dist/esm/lib/prompt.d.ts +15 -0
  793. package/dist/esm/lib/prompt.js +230 -0
  794. package/dist/esm/lib/prompt.js.map +1 -0
  795. package/dist/esm/lib/utils.d.ts +68 -0
  796. package/dist/esm/lib/utils.js +654 -0
  797. package/dist/esm/lib/utils.js.map +1 -0
  798. package/dist/esm/lib/v3/agent/AgentClient.d.ts +19 -0
  799. package/dist/esm/lib/v3/agent/AgentClient.js +17 -0
  800. package/dist/esm/lib/v3/agent/AgentClient.js.map +1 -0
  801. package/dist/esm/lib/v3/agent/AgentProvider.d.ts +20 -0
  802. package/dist/esm/lib/v3/agent/AgentProvider.js +77 -0
  803. package/dist/esm/lib/v3/agent/AgentProvider.js.map +1 -0
  804. package/dist/esm/lib/v3/agent/AnthropicCUAClient.d.ts +57 -0
  805. package/dist/esm/lib/v3/agent/AnthropicCUAClient.js +837 -0
  806. package/dist/esm/lib/v3/agent/AnthropicCUAClient.js.map +1 -0
  807. package/dist/esm/lib/v3/agent/GoogleCUAClient.d.ts +74 -0
  808. package/dist/esm/lib/v3/agent/GoogleCUAClient.js +799 -0
  809. package/dist/esm/lib/v3/agent/GoogleCUAClient.js.map +1 -0
  810. package/dist/esm/lib/v3/agent/MicrosoftCUAClient.d.ts +71 -0
  811. package/dist/esm/lib/v3/agent/MicrosoftCUAClient.js +770 -0
  812. package/dist/esm/lib/v3/agent/MicrosoftCUAClient.js.map +1 -0
  813. package/dist/esm/lib/v3/agent/OpenAICUAClient.d.ts +69 -0
  814. package/dist/esm/lib/v3/agent/OpenAICUAClient.js +615 -0
  815. package/dist/esm/lib/v3/agent/OpenAICUAClient.js.map +1 -0
  816. package/dist/esm/lib/v3/agent/prompts/agentSystemPrompt.d.ts +14 -0
  817. package/dist/esm/lib/v3/agent/prompts/agentSystemPrompt.js +209 -0
  818. package/dist/esm/lib/v3/agent/prompts/agentSystemPrompt.js.map +1 -0
  819. package/dist/esm/lib/v3/agent/tools/act.d.ts +13 -0
  820. package/dist/esm/lib/v3/agent/tools/act.js +71 -0
  821. package/dist/esm/lib/v3/agent/tools/act.js.map +1 -0
  822. package/dist/esm/lib/v3/agent/tools/ariaTree.d.ts +12 -0
  823. package/dist/esm/lib/v3/agent/tools/ariaTree.js +69 -0
  824. package/dist/esm/lib/v3/agent/tools/ariaTree.js.map +1 -0
  825. package/dist/esm/lib/v3/agent/tools/click.d.ts +6 -0
  826. package/dist/esm/lib/v3/agent/tools/click.js +96 -0
  827. package/dist/esm/lib/v3/agent/tools/click.js.map +1 -0
  828. package/dist/esm/lib/v3/agent/tools/clickAndHold.d.ts +14 -0
  829. package/dist/esm/lib/v3/agent/tools/clickAndHold.js +68 -0
  830. package/dist/esm/lib/v3/agent/tools/clickAndHold.js.map +1 -0
  831. package/dist/esm/lib/v3/agent/tools/dragAndDrop.d.ts +7 -0
  832. package/dist/esm/lib/v3/agent/tools/dragAndDrop.js +97 -0
  833. package/dist/esm/lib/v3/agent/tools/dragAndDrop.js.map +1 -0
  834. package/dist/esm/lib/v3/agent/tools/extract.d.ts +21 -0
  835. package/dist/esm/lib/v3/agent/tools/extract.js +106 -0
  836. package/dist/esm/lib/v3/agent/tools/extract.js.map +1 -0
  837. package/dist/esm/lib/v3/agent/tools/fillFormVision.d.ts +12 -0
  838. package/dist/esm/lib/v3/agent/tools/fillFormVision.js +154 -0
  839. package/dist/esm/lib/v3/agent/tools/fillFormVision.js.map +1 -0
  840. package/dist/esm/lib/v3/agent/tools/fillform.d.ts +19 -0
  841. package/dist/esm/lib/v3/agent/tools/fillform.js +86 -0
  842. package/dist/esm/lib/v3/agent/tools/fillform.js.map +1 -0
  843. package/dist/esm/lib/v3/agent/tools/goto.d.ts +12 -0
  844. package/dist/esm/lib/v3/agent/tools/goto.js +31 -0
  845. package/dist/esm/lib/v3/agent/tools/goto.js.map +1 -0
  846. package/dist/esm/lib/v3/agent/tools/index.d.ts +102 -0
  847. package/dist/esm/lib/v3/agent/tools/index.js +75 -0
  848. package/dist/esm/lib/v3/agent/tools/index.js.map +1 -0
  849. package/dist/esm/lib/v3/agent/tools/keys.d.ts +24 -0
  850. package/dist/esm/lib/v3/agent/tools/keys.js +60 -0
  851. package/dist/esm/lib/v3/agent/tools/keys.js.map +1 -0
  852. package/dist/esm/lib/v3/agent/tools/navback.d.ts +6 -0
  853. package/dist/esm/lib/v3/agent/tools/navback.js +23 -0
  854. package/dist/esm/lib/v3/agent/tools/navback.js.map +1 -0
  855. package/dist/esm/lib/v3/agent/tools/screenshot.d.ts +14 -0
  856. package/dist/esm/lib/v3/agent/tools/screenshot.js +43 -0
  857. package/dist/esm/lib/v3/agent/tools/screenshot.js.map +1 -0
  858. package/dist/esm/lib/v3/agent/tools/scroll.d.ts +19 -0
  859. package/dist/esm/lib/v3/agent/tools/scroll.js +154 -0
  860. package/dist/esm/lib/v3/agent/tools/scroll.js.map +1 -0
  861. package/dist/esm/lib/v3/agent/tools/search.d.ts +15 -0
  862. package/dist/esm/lib/v3/agent/tools/search.js +73 -0
  863. package/dist/esm/lib/v3/agent/tools/search.js.map +1 -0
  864. package/dist/esm/lib/v3/agent/tools/think.d.ts +6 -0
  865. package/dist/esm/lib/v3/agent/tools/think.js +24 -0
  866. package/dist/esm/lib/v3/agent/tools/think.js.map +1 -0
  867. package/dist/esm/lib/v3/agent/tools/type.d.ts +7 -0
  868. package/dist/esm/lib/v3/agent/tools/type.js +107 -0
  869. package/dist/esm/lib/v3/agent/tools/type.js.map +1 -0
  870. package/dist/esm/lib/v3/agent/tools/wait.d.ts +5 -0
  871. package/dist/esm/lib/v3/agent/tools/wait.js +59 -0
  872. package/dist/esm/lib/v3/agent/tools/wait.js.map +1 -0
  873. package/dist/esm/lib/v3/agent/utils/actionMapping.d.ts +3 -0
  874. package/dist/esm/lib/v3/agent/utils/actionMapping.js +100 -0
  875. package/dist/esm/lib/v3/agent/utils/actionMapping.js.map +1 -0
  876. package/dist/esm/lib/v3/agent/utils/coordinateNormalization.d.ts +13 -0
  877. package/dist/esm/lib/v3/agent/utils/coordinateNormalization.js +28 -0
  878. package/dist/esm/lib/v3/agent/utils/coordinateNormalization.js.map +1 -0
  879. package/dist/esm/lib/v3/agent/utils/cuaKeyMapping.d.ts +10 -0
  880. package/dist/esm/lib/v3/agent/utils/cuaKeyMapping.js +62 -0
  881. package/dist/esm/lib/v3/agent/utils/cuaKeyMapping.js.map +1 -0
  882. package/dist/esm/lib/v3/agent/utils/googleCustomToolHandler.d.ts +25 -0
  883. package/dist/esm/lib/v3/agent/utils/googleCustomToolHandler.js +145 -0
  884. package/dist/esm/lib/v3/agent/utils/googleCustomToolHandler.js.map +1 -0
  885. package/dist/esm/lib/v3/agent/utils/handleDoneToolCall.d.ts +22 -0
  886. package/dist/esm/lib/v3/agent/utils/handleDoneToolCall.js +105 -0
  887. package/dist/esm/lib/v3/agent/utils/handleDoneToolCall.js.map +1 -0
  888. package/dist/esm/lib/v3/agent/utils/imageCompression.d.ts +53 -0
  889. package/dist/esm/lib/v3/agent/utils/imageCompression.js +204 -0
  890. package/dist/esm/lib/v3/agent/utils/imageCompression.js.map +1 -0
  891. package/dist/esm/lib/v3/agent/utils/messageProcessing.d.ts +12 -0
  892. package/dist/esm/lib/v3/agent/utils/messageProcessing.js +164 -0
  893. package/dist/esm/lib/v3/agent/utils/messageProcessing.js.map +1 -0
  894. package/dist/esm/lib/v3/agent/utils/screenshotHandler.d.ts +10 -0
  895. package/dist/esm/lib/v3/agent/utils/screenshotHandler.js +26 -0
  896. package/dist/esm/lib/v3/agent/utils/screenshotHandler.js.map +1 -0
  897. package/dist/esm/lib/v3/agent/utils/validateExperimentalFeatures.d.ts +26 -0
  898. package/dist/esm/lib/v3/agent/utils/validateExperimentalFeatures.js +87 -0
  899. package/dist/esm/lib/v3/agent/utils/validateExperimentalFeatures.js.map +1 -0
  900. package/dist/esm/lib/v3/agent/utils/variables.d.ts +21 -0
  901. package/dist/esm/lib/v3/agent/utils/variables.js +48 -0
  902. package/dist/esm/lib/v3/agent/utils/variables.js.map +1 -0
  903. package/dist/esm/lib/v3/agent/utils/xpath.d.ts +11 -0
  904. package/dist/esm/lib/v3/agent/utils/xpath.js +19 -0
  905. package/dist/esm/lib/v3/agent/utils/xpath.js.map +1 -0
  906. package/dist/esm/lib/v3/api.d.ts +119 -0
  907. package/dist/esm/lib/v3/api.js +581 -0
  908. package/dist/esm/lib/v3/api.js.map +1 -0
  909. package/dist/esm/lib/v3/cache/ActCache.d.ts +22 -0
  910. package/dist/esm/lib/v3/cache/ActCache.js +276 -0
  911. package/dist/esm/lib/v3/cache/ActCache.js.map +1 -0
  912. package/dist/esm/lib/v3/cache/AgentCache.d.ts +110 -0
  913. package/dist/esm/lib/v3/cache/AgentCache.js +647 -0
  914. package/dist/esm/lib/v3/cache/AgentCache.js.map +1 -0
  915. package/dist/esm/lib/v3/cache/CacheStorage.d.ts +17 -0
  916. package/dist/esm/lib/v3/cache/CacheStorage.js +98 -0
  917. package/dist/esm/lib/v3/cache/CacheStorage.js.map +1 -0
  918. package/dist/esm/lib/v3/cache/serverAgentCache.d.ts +7 -0
  919. package/dist/esm/lib/v3/cache/serverAgentCache.js +49 -0
  920. package/dist/esm/lib/v3/cache/serverAgentCache.js.map +1 -0
  921. package/dist/esm/lib/v3/cache/utils.d.ts +15 -0
  922. package/dist/esm/lib/v3/cache/utils.js +39 -0
  923. package/dist/esm/lib/v3/cache/utils.js.map +1 -0
  924. package/dist/esm/lib/v3/cli.d.ts +2 -0
  925. package/dist/esm/lib/v3/cli.js +10 -0
  926. package/dist/esm/lib/v3/cli.js.map +1 -0
  927. package/dist/esm/lib/v3/dom/a11yScripts/index.d.ts +11 -0
  928. package/dist/esm/lib/v3/dom/a11yScripts/index.js +117 -0
  929. package/dist/esm/lib/v3/dom/a11yScripts/index.js.map +1 -0
  930. package/dist/esm/lib/v3/dom/build/a11yScripts.generated.d.ts +16 -0
  931. package/dist/esm/lib/v3/dom/build/a11yScripts.generated.js +20 -0
  932. package/dist/esm/lib/v3/dom/build/a11yScripts.generated.js.map +1 -0
  933. package/dist/esm/lib/v3/dom/build/locatorScripts.generated.d.ts +52 -0
  934. package/dist/esm/lib/v3/dom/build/locatorScripts.generated.js +56 -0
  935. package/dist/esm/lib/v3/dom/build/locatorScripts.generated.js.map +1 -0
  936. package/dist/esm/lib/v3/dom/build/reRenderScriptContent.d.ts +1 -0
  937. package/dist/esm/lib/v3/dom/build/reRenderScriptContent.js +2 -0
  938. package/dist/esm/lib/v3/dom/build/reRenderScriptContent.js.map +1 -0
  939. package/dist/esm/lib/v3/dom/build/rerender-index.js +1 -0
  940. package/dist/esm/lib/v3/dom/build/screenshotScripts.generated.d.ts +4 -0
  941. package/dist/esm/lib/v3/dom/build/screenshotScripts.generated.js +8 -0
  942. package/dist/esm/lib/v3/dom/build/screenshotScripts.generated.js.map +1 -0
  943. package/dist/esm/lib/v3/dom/build/scriptV3Content.d.ts +1 -0
  944. package/dist/esm/lib/v3/dom/build/scriptV3Content.js +2 -0
  945. package/dist/esm/lib/v3/dom/build/scriptV3Content.js.map +1 -0
  946. package/dist/esm/lib/v3/dom/build/v3-index.js +1 -0
  947. package/dist/esm/lib/v3/dom/index.d.ts +1 -0
  948. package/dist/esm/lib/v3/dom/index.js +2 -0
  949. package/dist/esm/lib/v3/dom/index.js.map +1 -0
  950. package/dist/esm/lib/v3/dom/locatorScripts/counts.d.ts +15 -0
  951. package/dist/esm/lib/v3/dom/locatorScripts/counts.js +272 -0
  952. package/dist/esm/lib/v3/dom/locatorScripts/counts.js.map +1 -0
  953. package/dist/esm/lib/v3/dom/locatorScripts/index.d.ts +4 -0
  954. package/dist/esm/lib/v3/dom/locatorScripts/index.js +5 -0
  955. package/dist/esm/lib/v3/dom/locatorScripts/index.js.map +1 -0
  956. package/dist/esm/lib/v3/dom/locatorScripts/scripts.d.ts +37 -0
  957. package/dist/esm/lib/v3/dom/locatorScripts/scripts.js +458 -0
  958. package/dist/esm/lib/v3/dom/locatorScripts/scripts.js.map +1 -0
  959. package/dist/esm/lib/v3/dom/locatorScripts/selectors.d.ts +4 -0
  960. package/dist/esm/lib/v3/dom/locatorScripts/selectors.js +283 -0
  961. package/dist/esm/lib/v3/dom/locatorScripts/selectors.js.map +1 -0
  962. package/dist/esm/lib/v3/dom/locatorScripts/waitForSelector.d.ts +19 -0
  963. package/dist/esm/lib/v3/dom/locatorScripts/waitForSelector.js +283 -0
  964. package/dist/esm/lib/v3/dom/locatorScripts/waitForSelector.js.map +1 -0
  965. package/dist/esm/lib/v3/dom/locatorScripts/xpathParser.d.ts +76 -0
  966. package/dist/esm/lib/v3/dom/locatorScripts/xpathParser.js +376 -0
  967. package/dist/esm/lib/v3/dom/locatorScripts/xpathParser.js.map +1 -0
  968. package/dist/esm/lib/v3/dom/locatorScripts/xpathResolver.d.ts +9 -0
  969. package/dist/esm/lib/v3/dom/locatorScripts/xpathResolver.js +196 -0
  970. package/dist/esm/lib/v3/dom/locatorScripts/xpathResolver.js.map +1 -0
  971. package/dist/esm/lib/v3/dom/piercer.entry.d.ts +1 -0
  972. package/dist/esm/lib/v3/dom/piercer.entry.js +3 -0
  973. package/dist/esm/lib/v3/dom/piercer.entry.js.map +1 -0
  974. package/dist/esm/lib/v3/dom/piercer.runtime.d.ts +23 -0
  975. package/dist/esm/lib/v3/dom/piercer.runtime.js +90 -0
  976. package/dist/esm/lib/v3/dom/piercer.runtime.js.map +1 -0
  977. package/dist/esm/lib/v3/dom/rerenderMissingShadows.entry.d.ts +1 -0
  978. package/dist/esm/lib/v3/dom/rerenderMissingShadows.entry.js +3 -0
  979. package/dist/esm/lib/v3/dom/rerenderMissingShadows.entry.js.map +1 -0
  980. package/dist/esm/lib/v3/dom/rerenderMissingShadows.runtime.d.ts +1 -0
  981. package/dist/esm/lib/v3/dom/rerenderMissingShadows.runtime.js +40 -0
  982. package/dist/esm/lib/v3/dom/rerenderMissingShadows.runtime.js.map +1 -0
  983. package/dist/esm/lib/v3/dom/screenshotScripts/index.d.ts +1 -0
  984. package/dist/esm/lib/v3/dom/screenshotScripts/index.js +2 -0
  985. package/dist/esm/lib/v3/dom/screenshotScripts/index.js.map +1 -0
  986. package/dist/esm/lib/v3/dom/screenshotScripts/resolveMaskRect.d.ts +8 -0
  987. package/dist/esm/lib/v3/dom/screenshotScripts/resolveMaskRect.js +82 -0
  988. package/dist/esm/lib/v3/dom/screenshotScripts/resolveMaskRect.js.map +1 -0
  989. package/dist/esm/lib/v3/external_clients/aisdk.d.ts +11 -0
  990. package/dist/esm/lib/v3/external_clients/aisdk.js +103 -0
  991. package/dist/esm/lib/v3/external_clients/aisdk.js.map +1 -0
  992. package/dist/esm/lib/v3/external_clients/customOpenAI.d.ts +18 -0
  993. package/dist/esm/lib/v3/external_clients/customOpenAI.js +220 -0
  994. package/dist/esm/lib/v3/external_clients/customOpenAI.js.map +1 -0
  995. package/dist/esm/lib/v3/flowLogger.d.ts +139 -0
  996. package/dist/esm/lib/v3/flowLogger.js +868 -0
  997. package/dist/esm/lib/v3/flowLogger.js.map +1 -0
  998. package/dist/esm/lib/v3/handlers/actHandler.d.ts +22 -0
  999. package/dist/esm/lib/v3/handlers/actHandler.js +340 -0
  1000. package/dist/esm/lib/v3/handlers/actHandler.js.map +1 -0
  1001. package/dist/esm/lib/v3/handlers/extractHandler.d.ts +31 -0
  1002. package/dist/esm/lib/v3/handlers/extractHandler.js +139 -0
  1003. package/dist/esm/lib/v3/handlers/extractHandler.js.map +1 -0
  1004. package/dist/esm/lib/v3/handlers/handlerUtils/actHandlerUtils.d.ts +21 -0
  1005. package/dist/esm/lib/v3/handlers/handlerUtils/actHandlerUtils.js +598 -0
  1006. package/dist/esm/lib/v3/handlers/handlerUtils/actHandlerUtils.js.map +1 -0
  1007. package/dist/esm/lib/v3/handlers/handlerUtils/timeoutGuard.d.ts +2 -0
  1008. package/dist/esm/lib/v3/handlers/handlerUtils/timeoutGuard.js +14 -0
  1009. package/dist/esm/lib/v3/handlers/handlerUtils/timeoutGuard.js.map +1 -0
  1010. package/dist/esm/lib/v3/handlers/observeHandler.d.ts +17 -0
  1011. package/dist/esm/lib/v3/handlers/observeHandler.js +155 -0
  1012. package/dist/esm/lib/v3/handlers/observeHandler.js.map +1 -0
  1013. package/dist/esm/lib/v3/handlers/v3AgentHandler.d.ts +32 -0
  1014. package/dist/esm/lib/v3/handlers/v3AgentHandler.js +458 -0
  1015. package/dist/esm/lib/v3/handlers/v3AgentHandler.js.map +1 -0
  1016. package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.d.ts +33 -0
  1017. package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.js +528 -0
  1018. package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.js.map +1 -0
  1019. package/dist/esm/lib/v3/index.d.ts +161 -0
  1020. package/dist/esm/lib/v3/index.js +55 -0
  1021. package/dist/esm/lib/v3/index.js.map +1 -0
  1022. package/dist/esm/lib/v3/launch/browserbase.d.ts +7 -0
  1023. package/dist/esm/lib/v3/launch/browserbase.js +41 -0
  1024. package/dist/esm/lib/v3/launch/browserbase.js.map +1 -0
  1025. package/dist/esm/lib/v3/launch/local.d.ts +15 -0
  1026. package/dist/esm/lib/v3/launch/local.js +98 -0
  1027. package/dist/esm/lib/v3/launch/local.js.map +1 -0
  1028. package/dist/esm/lib/v3/llm/AnthropicClient.d.ts +16 -0
  1029. package/dist/esm/lib/v3/llm/AnthropicClient.js +239 -0
  1030. package/dist/esm/lib/v3/llm/AnthropicClient.js.map +1 -0
  1031. package/dist/esm/lib/v3/llm/CerebrasClient.d.ts +17 -0
  1032. package/dist/esm/lib/v3/llm/CerebrasClient.js +235 -0
  1033. package/dist/esm/lib/v3/llm/CerebrasClient.js.map +1 -0
  1034. package/dist/esm/lib/v3/llm/GoogleClient.d.ts +19 -0
  1035. package/dist/esm/lib/v3/llm/GoogleClient.js +369 -0
  1036. package/dist/esm/lib/v3/llm/GoogleClient.js.map +1 -0
  1037. package/dist/esm/lib/v3/llm/GroqClient.d.ts +17 -0
  1038. package/dist/esm/lib/v3/llm/GroqClient.js +236 -0
  1039. package/dist/esm/lib/v3/llm/GroqClient.js.map +1 -0
  1040. package/dist/esm/lib/v3/llm/LLMClient.d.ts +121 -0
  1041. package/dist/esm/lib/v3/llm/LLMClient.js +23 -0
  1042. package/dist/esm/lib/v3/llm/LLMClient.js.map +1 -0
  1043. package/dist/esm/lib/v3/llm/LLMProvider.d.ts +13 -0
  1044. package/dist/esm/lib/v3/llm/LLMProvider.js +189 -0
  1045. package/dist/esm/lib/v3/llm/LLMProvider.js.map +1 -0
  1046. package/dist/esm/lib/v3/llm/OpenAIClient.d.ts +15 -0
  1047. package/dist/esm/lib/v3/llm/OpenAIClient.js +329 -0
  1048. package/dist/esm/lib/v3/llm/OpenAIClient.js.map +1 -0
  1049. package/dist/esm/lib/v3/llm/aisdk.d.ts +15 -0
  1050. package/dist/esm/lib/v3/llm/aisdk.js +351 -0
  1051. package/dist/esm/lib/v3/llm/aisdk.js.map +1 -0
  1052. package/dist/esm/lib/v3/logger.d.ts +9 -0
  1053. package/dist/esm/lib/v3/logger.js +96 -0
  1054. package/dist/esm/lib/v3/logger.js.map +1 -0
  1055. package/dist/esm/lib/v3/mcp/connection.d.ts +13 -0
  1056. package/dist/esm/lib/v3/mcp/connection.js +52 -0
  1057. package/dist/esm/lib/v3/mcp/connection.js.map +1 -0
  1058. package/dist/esm/lib/v3/mcp/utils.d.ts +3 -0
  1059. package/dist/esm/lib/v3/mcp/utils.js +36 -0
  1060. package/dist/esm/lib/v3/mcp/utils.js.map +1 -0
  1061. package/dist/esm/lib/v3/runtimePaths.d.ts +6 -0
  1062. package/dist/esm/lib/v3/runtimePaths.js +107 -0
  1063. package/dist/esm/lib/v3/runtimePaths.js.map +1 -0
  1064. package/dist/esm/lib/v3/shutdown/cleanupLocal.d.ts +14 -0
  1065. package/dist/esm/lib/v3/shutdown/cleanupLocal.js +30 -0
  1066. package/dist/esm/lib/v3/shutdown/cleanupLocal.js.map +1 -0
  1067. package/dist/esm/lib/v3/shutdown/supervisor.d.ts +11 -0
  1068. package/dist/esm/lib/v3/shutdown/supervisor.js +185 -0
  1069. package/dist/esm/lib/v3/shutdown/supervisor.js.map +1 -0
  1070. package/dist/esm/lib/v3/shutdown/supervisorClient.d.ts +15 -0
  1071. package/dist/esm/lib/v3/shutdown/supervisorClient.js +89 -0
  1072. package/dist/esm/lib/v3/shutdown/supervisorClient.js.map +1 -0
  1073. package/dist/esm/lib/v3/timeoutConfig.d.ts +2 -0
  1074. package/dist/esm/lib/v3/timeoutConfig.js +32 -0
  1075. package/dist/esm/lib/v3/timeoutConfig.js.map +1 -0
  1076. package/dist/esm/lib/v3/types/private/agent.d.ts +6 -0
  1077. package/dist/esm/lib/v3/types/private/agent.js +2 -0
  1078. package/dist/esm/lib/v3/types/private/agent.js.map +1 -0
  1079. package/dist/esm/lib/v3/types/private/api.d.ts +11 -0
  1080. package/dist/esm/lib/v3/types/private/api.js +2 -0
  1081. package/dist/esm/lib/v3/types/private/api.js.map +1 -0
  1082. package/dist/esm/lib/v3/types/private/cache.d.ts +131 -0
  1083. package/dist/esm/lib/v3/types/private/cache.js +2 -0
  1084. package/dist/esm/lib/v3/types/private/cache.js.map +1 -0
  1085. package/dist/esm/lib/v3/types/private/evaluator.d.ts +40 -0
  1086. package/dist/esm/lib/v3/types/private/evaluator.js +2 -0
  1087. package/dist/esm/lib/v3/types/private/evaluator.js.map +1 -0
  1088. package/dist/esm/lib/v3/types/private/handlers.d.ts +39 -0
  1089. package/dist/esm/lib/v3/types/private/handlers.js +16 -0
  1090. package/dist/esm/lib/v3/types/private/handlers.js.map +1 -0
  1091. package/dist/esm/lib/v3/types/private/index.d.ts +7 -0
  1092. package/dist/esm/lib/v3/types/private/index.js +8 -0
  1093. package/dist/esm/lib/v3/types/private/index.js.map +1 -0
  1094. package/dist/esm/lib/v3/types/private/internal.d.ts +39 -0
  1095. package/dist/esm/lib/v3/types/private/internal.js +2 -0
  1096. package/dist/esm/lib/v3/types/private/internal.js.map +1 -0
  1097. package/dist/esm/lib/v3/types/private/locator.d.ts +9 -0
  1098. package/dist/esm/lib/v3/types/private/locator.js +2 -0
  1099. package/dist/esm/lib/v3/types/private/locator.js.map +1 -0
  1100. package/dist/esm/lib/v3/types/private/network.d.ts +34 -0
  1101. package/dist/esm/lib/v3/types/private/network.js +3 -0
  1102. package/dist/esm/lib/v3/types/private/network.js.map +1 -0
  1103. package/dist/esm/lib/v3/types/private/shutdown.d.ts +19 -0
  1104. package/dist/esm/lib/v3/types/private/shutdown.js +5 -0
  1105. package/dist/esm/lib/v3/types/private/shutdown.js.map +1 -0
  1106. package/dist/esm/lib/v3/types/private/shutdownErrors.d.ts +12 -0
  1107. package/dist/esm/lib/v3/types/private/shutdownErrors.js +22 -0
  1108. package/dist/esm/lib/v3/types/private/shutdownErrors.js.map +1 -0
  1109. package/dist/esm/lib/v3/types/private/snapshot.d.ts +117 -0
  1110. package/dist/esm/lib/v3/types/private/snapshot.js +2 -0
  1111. package/dist/esm/lib/v3/types/private/snapshot.js.map +1 -0
  1112. package/dist/esm/lib/v3/types/public/agent.d.ts +653 -0
  1113. package/dist/esm/lib/v3/types/public/agent.js +15 -0
  1114. package/dist/esm/lib/v3/types/public/agent.js.map +1 -0
  1115. package/dist/esm/lib/v3/types/public/api.d.ts +1236 -0
  1116. package/dist/esm/lib/v3/types/public/api.js +918 -0
  1117. package/dist/esm/lib/v3/types/public/api.js.map +1 -0
  1118. package/dist/esm/lib/v3/types/public/apiErrors.d.ts +18 -0
  1119. package/dist/esm/lib/v3/types/public/apiErrors.js +32 -0
  1120. package/dist/esm/lib/v3/types/public/apiErrors.js.map +1 -0
  1121. package/dist/esm/lib/v3/types/public/context.d.ts +32 -0
  1122. package/dist/esm/lib/v3/types/public/context.js +2 -0
  1123. package/dist/esm/lib/v3/types/public/context.js.map +1 -0
  1124. package/dist/esm/lib/v3/types/public/index.d.ts +14 -0
  1125. package/dist/esm/lib/v3/types/public/index.js +15 -0
  1126. package/dist/esm/lib/v3/types/public/index.js.map +1 -0
  1127. package/dist/esm/lib/v3/types/public/locator.d.ts +9 -0
  1128. package/dist/esm/lib/v3/types/public/locator.js +2 -0
  1129. package/dist/esm/lib/v3/types/public/locator.js.map +1 -0
  1130. package/dist/esm/lib/v3/types/public/logs.d.ts +23 -0
  1131. package/dist/esm/lib/v3/types/public/logs.js +13 -0
  1132. package/dist/esm/lib/v3/types/public/logs.js.map +1 -0
  1133. package/dist/esm/lib/v3/types/public/methods.d.ts +87 -0
  1134. package/dist/esm/lib/v3/types/public/methods.js +15 -0
  1135. package/dist/esm/lib/v3/types/public/methods.js.map +1 -0
  1136. package/dist/esm/lib/v3/types/public/metrics.d.ts +27 -0
  1137. package/dist/esm/lib/v3/types/public/metrics.js +2 -0
  1138. package/dist/esm/lib/v3/types/public/metrics.js.map +1 -0
  1139. package/dist/esm/lib/v3/types/public/model.d.ts +67 -0
  1140. package/dist/esm/lib/v3/types/public/model.js +2 -0
  1141. package/dist/esm/lib/v3/types/public/model.js.map +1 -0
  1142. package/dist/esm/lib/v3/types/public/options.d.ts +78 -0
  1143. package/dist/esm/lib/v3/types/public/options.js +4 -0
  1144. package/dist/esm/lib/v3/types/public/options.js.map +1 -0
  1145. package/dist/esm/lib/v3/types/public/page.d.ts +18 -0
  1146. package/dist/esm/lib/v3/types/public/page.js +3 -0
  1147. package/dist/esm/lib/v3/types/public/page.js.map +1 -0
  1148. package/dist/esm/lib/v3/types/public/screenshotTypes.d.ts +25 -0
  1149. package/dist/esm/lib/v3/types/public/screenshotTypes.js +2 -0
  1150. package/dist/esm/lib/v3/types/public/screenshotTypes.js.map +1 -0
  1151. package/dist/esm/lib/v3/types/public/sdkErrors.d.ts +168 -0
  1152. package/dist/esm/lib/v3/types/public/sdkErrors.js +333 -0
  1153. package/dist/esm/lib/v3/types/public/sdkErrors.js.map +1 -0
  1154. package/dist/esm/lib/v3/understudy/a11y/snapshot/a11yTree.d.ts +15 -0
  1155. package/dist/esm/lib/v3/understudy/a11y/snapshot/a11yTree.js +196 -0
  1156. package/dist/esm/lib/v3/understudy/a11y/snapshot/a11yTree.js.map +1 -0
  1157. package/dist/esm/lib/v3/understudy/a11y/snapshot/activeElement.d.ts +8 -0
  1158. package/dist/esm/lib/v3/understudy/a11y/snapshot/activeElement.js +121 -0
  1159. package/dist/esm/lib/v3/understudy/a11y/snapshot/activeElement.js.map +1 -0
  1160. package/dist/esm/lib/v3/understudy/a11y/snapshot/capture.d.ts +77 -0
  1161. package/dist/esm/lib/v3/understudy/a11y/snapshot/capture.js +336 -0
  1162. package/dist/esm/lib/v3/understudy/a11y/snapshot/capture.js.map +1 -0
  1163. package/dist/esm/lib/v3/understudy/a11y/snapshot/coordinateResolver.d.ts +7 -0
  1164. package/dist/esm/lib/v3/understudy/a11y/snapshot/coordinateResolver.js +129 -0
  1165. package/dist/esm/lib/v3/understudy/a11y/snapshot/coordinateResolver.js.map +1 -0
  1166. package/dist/esm/lib/v3/understudy/a11y/snapshot/domTree.d.ts +46 -0
  1167. package/dist/esm/lib/v3/understudy/a11y/snapshot/domTree.js +274 -0
  1168. package/dist/esm/lib/v3/understudy/a11y/snapshot/domTree.js.map +1 -0
  1169. package/dist/esm/lib/v3/understudy/a11y/snapshot/focusSelectors.d.ts +25 -0
  1170. package/dist/esm/lib/v3/understudy/a11y/snapshot/focusSelectors.js +216 -0
  1171. package/dist/esm/lib/v3/understudy/a11y/snapshot/focusSelectors.js.map +1 -0
  1172. package/dist/esm/lib/v3/understudy/a11y/snapshot/index.d.ts +4 -0
  1173. package/dist/esm/lib/v3/understudy/a11y/snapshot/index.js +5 -0
  1174. package/dist/esm/lib/v3/understudy/a11y/snapshot/index.js.map +1 -0
  1175. package/dist/esm/lib/v3/understudy/a11y/snapshot/sessions.d.ts +16 -0
  1176. package/dist/esm/lib/v3/understudy/a11y/snapshot/sessions.js +22 -0
  1177. package/dist/esm/lib/v3/understudy/a11y/snapshot/sessions.js.map +1 -0
  1178. package/dist/esm/lib/v3/understudy/a11y/snapshot/treeFormatUtils.d.ts +28 -0
  1179. package/dist/esm/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js +135 -0
  1180. package/dist/esm/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js.map +1 -0
  1181. package/dist/esm/lib/v3/understudy/a11y/snapshot/xpathUtils.d.ts +26 -0
  1182. package/dist/esm/lib/v3/understudy/a11y/snapshot/xpathUtils.js +102 -0
  1183. package/dist/esm/lib/v3/understudy/a11y/snapshot/xpathUtils.js.map +1 -0
  1184. package/dist/esm/lib/v3/understudy/a11yInvocation.d.ts +8 -0
  1185. package/dist/esm/lib/v3/understudy/a11yInvocation.js +12 -0
  1186. package/dist/esm/lib/v3/understudy/a11yInvocation.js.map +1 -0
  1187. package/dist/esm/lib/v3/understudy/cdp.d.ts +74 -0
  1188. package/dist/esm/lib/v3/understudy/cdp.js +309 -0
  1189. package/dist/esm/lib/v3/understudy/cdp.js.map +1 -0
  1190. package/dist/esm/lib/v3/understudy/consoleMessage.d.ts +22 -0
  1191. package/dist/esm/lib/v3/understudy/consoleMessage.js +66 -0
  1192. package/dist/esm/lib/v3/understudy/consoleMessage.js.map +1 -0
  1193. package/dist/esm/lib/v3/understudy/context.d.ts +166 -0
  1194. package/dist/esm/lib/v3/understudy/context.js +956 -0
  1195. package/dist/esm/lib/v3/understudy/context.js.map +1 -0
  1196. package/dist/esm/lib/v3/understudy/cookies.d.ts +32 -0
  1197. package/dist/esm/lib/v3/understudy/cookies.js +136 -0
  1198. package/dist/esm/lib/v3/understudy/cookies.js.map +1 -0
  1199. package/dist/esm/lib/v3/understudy/deepLocator.d.ts +87 -0
  1200. package/dist/esm/lib/v3/understudy/deepLocator.js +196 -0
  1201. package/dist/esm/lib/v3/understudy/deepLocator.js.map +1 -0
  1202. package/dist/esm/lib/v3/understudy/executionContextRegistry.d.ts +15 -0
  1203. package/dist/esm/lib/v3/understudy/executionContextRegistry.js +83 -0
  1204. package/dist/esm/lib/v3/understudy/executionContextRegistry.js.map +1 -0
  1205. package/dist/esm/lib/v3/understudy/fileUploadUtils.d.ts +13 -0
  1206. package/dist/esm/lib/v3/understudy/fileUploadUtils.js +81 -0
  1207. package/dist/esm/lib/v3/understudy/fileUploadUtils.js.map +1 -0
  1208. package/dist/esm/lib/v3/understudy/frame.d.ts +69 -0
  1209. package/dist/esm/lib/v3/understudy/frame.js +228 -0
  1210. package/dist/esm/lib/v3/understudy/frame.js.map +1 -0
  1211. package/dist/esm/lib/v3/understudy/frameLocator.d.ts +50 -0
  1212. package/dist/esm/lib/v3/understudy/frameLocator.js +255 -0
  1213. package/dist/esm/lib/v3/understudy/frameLocator.js.map +1 -0
  1214. package/dist/esm/lib/v3/understudy/frameRegistry.d.ts +101 -0
  1215. package/dist/esm/lib/v3/understudy/frameRegistry.js +298 -0
  1216. package/dist/esm/lib/v3/understudy/frameRegistry.js.map +1 -0
  1217. package/dist/esm/lib/v3/understudy/initScripts.d.ts +2 -0
  1218. package/dist/esm/lib/v3/understudy/initScripts.js +33 -0
  1219. package/dist/esm/lib/v3/understudy/initScripts.js.map +1 -0
  1220. package/dist/esm/lib/v3/understudy/lifecycleWatcher.d.ts +64 -0
  1221. package/dist/esm/lib/v3/understudy/lifecycleWatcher.js +245 -0
  1222. package/dist/esm/lib/v3/understudy/lifecycleWatcher.js.map +1 -0
  1223. package/dist/esm/lib/v3/understudy/locator.d.ts +194 -0
  1224. package/dist/esm/lib/v3/understudy/locator.js +753 -0
  1225. package/dist/esm/lib/v3/understudy/locator.js.map +1 -0
  1226. package/dist/esm/lib/v3/understudy/locatorInvocation.d.ts +8 -0
  1227. package/dist/esm/lib/v3/understudy/locatorInvocation.js +12 -0
  1228. package/dist/esm/lib/v3/understudy/locatorInvocation.js.map +1 -0
  1229. package/dist/esm/lib/v3/understudy/navigationResponseTracker.d.ts +84 -0
  1230. package/dist/esm/lib/v3/understudy/navigationResponseTracker.js +224 -0
  1231. package/dist/esm/lib/v3/understudy/navigationResponseTracker.js.map +1 -0
  1232. package/dist/esm/lib/v3/understudy/networkManager.d.ts +53 -0
  1233. package/dist/esm/lib/v3/understudy/networkManager.js +306 -0
  1234. package/dist/esm/lib/v3/understudy/networkManager.js.map +1 -0
  1235. package/dist/esm/lib/v3/understudy/page.d.ts +367 -0
  1236. package/dist/esm/lib/v3/understudy/page.js +1995 -0
  1237. package/dist/esm/lib/v3/understudy/page.js.map +1 -0
  1238. package/dist/esm/lib/v3/understudy/piercer.d.ts +4 -0
  1239. package/dist/esm/lib/v3/understudy/piercer.js +61 -0
  1240. package/dist/esm/lib/v3/understudy/piercer.js.map +1 -0
  1241. package/dist/esm/lib/v3/understudy/response.d.ts +137 -0
  1242. package/dist/esm/lib/v3/understudy/response.js +330 -0
  1243. package/dist/esm/lib/v3/understudy/response.js.map +1 -0
  1244. package/dist/esm/lib/v3/understudy/screenshotUtils.d.ts +15 -0
  1245. package/dist/esm/lib/v3/understudy/screenshotUtils.js +334 -0
  1246. package/dist/esm/lib/v3/understudy/screenshotUtils.js.map +1 -0
  1247. package/dist/esm/lib/v3/understudy/selectorResolver.d.ts +38 -0
  1248. package/dist/esm/lib/v3/understudy/selectorResolver.js +296 -0
  1249. package/dist/esm/lib/v3/understudy/selectorResolver.js.map +1 -0
  1250. package/dist/esm/lib/v3/v3.d.ts +191 -0
  1251. package/dist/esm/lib/v3/v3.js +1592 -0
  1252. package/dist/esm/lib/v3/v3.js.map +1 -0
  1253. package/dist/esm/lib/v3/zodCompat.d.ts +12 -0
  1254. package/dist/esm/lib/v3/zodCompat.js +17 -0
  1255. package/dist/esm/lib/v3/zodCompat.js.map +1 -0
  1256. package/dist/esm/lib/v3Evaluator.d.ts +19 -0
  1257. package/dist/esm/lib/v3Evaluator.js +210 -0
  1258. package/dist/esm/lib/v3Evaluator.js.map +1 -0
  1259. package/dist/esm/lib/version.d.ts +5 -0
  1260. package/dist/esm/lib/version.js +6 -0
  1261. package/dist/esm/lib/version.js.map +1 -0
  1262. package/dist/esm/package.json +3 -0
  1263. package/dist/esm/tests/cache-variables.test.d.ts +1 -0
  1264. package/dist/esm/tests/cache-variables.test.js +219 -0
  1265. package/dist/esm/tests/cache-variables.test.js.map +1 -0
  1266. package/dist/esm/tests/integration/agent-abort-signal.spec.d.ts +1 -0
  1267. package/dist/esm/tests/integration/agent-abort-signal.spec.js +121 -0
  1268. package/dist/esm/tests/integration/agent-abort-signal.spec.js.map +1 -0
  1269. package/dist/esm/tests/integration/agent-cache-self-heal.spec.d.ts +1 -0
  1270. package/dist/esm/tests/integration/agent-cache-self-heal.spec.js +78 -0
  1271. package/dist/esm/tests/integration/agent-cache-self-heal.spec.js.map +1 -0
  1272. package/dist/esm/tests/integration/agent-callbacks.spec.d.ts +1 -0
  1273. package/dist/esm/tests/integration/agent-callbacks.spec.js +383 -0
  1274. package/dist/esm/tests/integration/agent-callbacks.spec.js.map +1 -0
  1275. package/dist/esm/tests/integration/agent-experimental-validation.spec.d.ts +1 -0
  1276. package/dist/esm/tests/integration/agent-experimental-validation.spec.js +360 -0
  1277. package/dist/esm/tests/integration/agent-experimental-validation.spec.js.map +1 -0
  1278. package/dist/esm/tests/integration/agent-hybrid-mode.spec.d.ts +1 -0
  1279. package/dist/esm/tests/integration/agent-hybrid-mode.spec.js +260 -0
  1280. package/dist/esm/tests/integration/agent-hybrid-mode.spec.js.map +1 -0
  1281. package/dist/esm/tests/integration/agent-message-continuation.spec.d.ts +1 -0
  1282. package/dist/esm/tests/integration/agent-message-continuation.spec.js +110 -0
  1283. package/dist/esm/tests/integration/agent-message-continuation.spec.js.map +1 -0
  1284. package/dist/esm/tests/integration/agent-streaming.spec.d.ts +1 -0
  1285. package/dist/esm/tests/integration/agent-streaming.spec.js +138 -0
  1286. package/dist/esm/tests/integration/agent-streaming.spec.js.map +1 -0
  1287. package/dist/esm/tests/integration/cdp-close-api-region.spec.d.ts +1 -0
  1288. package/dist/esm/tests/integration/cdp-close-api-region.spec.js +39 -0
  1289. package/dist/esm/tests/integration/cdp-close-api-region.spec.js.map +1 -0
  1290. package/dist/esm/tests/integration/cdp-connection-close.spec.d.ts +1 -0
  1291. package/dist/esm/tests/integration/cdp-connection-close.spec.js +74 -0
  1292. package/dist/esm/tests/integration/cdp-connection-close.spec.js.map +1 -0
  1293. package/dist/esm/tests/integration/cdp-session-detached.spec.d.ts +1 -0
  1294. package/dist/esm/tests/integration/cdp-session-detached.spec.js +43 -0
  1295. package/dist/esm/tests/integration/cdp-session-detached.spec.js.map +1 -0
  1296. package/dist/esm/tests/integration/click-count.spec.d.ts +1 -0
  1297. package/dist/esm/tests/integration/click-count.spec.js +161 -0
  1298. package/dist/esm/tests/integration/click-count.spec.js.map +1 -0
  1299. package/dist/esm/tests/integration/connect-to-existing-browser.spec.d.ts +1 -0
  1300. package/dist/esm/tests/integration/connect-to-existing-browser.spec.js +97 -0
  1301. package/dist/esm/tests/integration/connect-to-existing-browser.spec.js.map +1 -0
  1302. package/dist/esm/tests/integration/context-addInitScript.spec.d.ts +1 -0
  1303. package/dist/esm/tests/integration/context-addInitScript.spec.js +283 -0
  1304. package/dist/esm/tests/integration/context-addInitScript.spec.js.map +1 -0
  1305. package/dist/esm/tests/integration/context-extra-http-headers.spec.d.ts +1 -0
  1306. package/dist/esm/tests/integration/context-extra-http-headers.spec.js +47 -0
  1307. package/dist/esm/tests/integration/context-extra-http-headers.spec.js.map +1 -0
  1308. package/dist/esm/tests/integration/cookies.spec.d.ts +1 -0
  1309. package/dist/esm/tests/integration/cookies.spec.js +185 -0
  1310. package/dist/esm/tests/integration/cookies.spec.js.map +1 -0
  1311. package/dist/esm/tests/integration/default-page-tracking.spec.d.ts +1 -0
  1312. package/dist/esm/tests/integration/default-page-tracking.spec.js +50 -0
  1313. package/dist/esm/tests/integration/default-page-tracking.spec.js.map +1 -0
  1314. package/dist/esm/tests/integration/downloads.spec.d.ts +1 -0
  1315. package/dist/esm/tests/integration/downloads.spec.js +47 -0
  1316. package/dist/esm/tests/integration/downloads.spec.js.map +1 -0
  1317. package/dist/esm/tests/integration/frame-get-location-and-click.spec.d.ts +1 -0
  1318. package/dist/esm/tests/integration/frame-get-location-and-click.spec.js +55 -0
  1319. package/dist/esm/tests/integration/frame-get-location-and-click.spec.js.map +1 -0
  1320. package/dist/esm/tests/integration/iframe-ctx-addInitScript-race.spec.d.ts +1 -0
  1321. package/dist/esm/tests/integration/iframe-ctx-addInitScript-race.spec.js +217 -0
  1322. package/dist/esm/tests/integration/iframe-ctx-addInitScript-race.spec.js.map +1 -0
  1323. package/dist/esm/tests/integration/iframe-ctx-addInitScript.spec.d.ts +1 -0
  1324. package/dist/esm/tests/integration/iframe-ctx-addInitScript.spec.js +472 -0
  1325. package/dist/esm/tests/integration/iframe-ctx-addInitScript.spec.js.map +1 -0
  1326. package/dist/esm/tests/integration/keep-alive.child.d.ts +1 -0
  1327. package/dist/esm/tests/integration/keep-alive.child.js +83 -0
  1328. package/dist/esm/tests/integration/keep-alive.child.js.map +1 -0
  1329. package/dist/esm/tests/integration/keep-alive.spec.d.ts +22 -0
  1330. package/dist/esm/tests/integration/keep-alive.spec.js +482 -0
  1331. package/dist/esm/tests/integration/keep-alive.spec.js.map +1 -0
  1332. package/dist/esm/tests/integration/keyboard.spec.d.ts +1 -0
  1333. package/dist/esm/tests/integration/keyboard.spec.js +257 -0
  1334. package/dist/esm/tests/integration/keyboard.spec.js.map +1 -0
  1335. package/dist/esm/tests/integration/locator-backend-node-id.spec.d.ts +1 -0
  1336. package/dist/esm/tests/integration/locator-backend-node-id.spec.js +148 -0
  1337. package/dist/esm/tests/integration/locator-backend-node-id.spec.js.map +1 -0
  1338. package/dist/esm/tests/integration/locator-content-methods.spec.d.ts +1 -0
  1339. package/dist/esm/tests/integration/locator-content-methods.spec.js +178 -0
  1340. package/dist/esm/tests/integration/locator-content-methods.spec.js.map +1 -0
  1341. package/dist/esm/tests/integration/locator-count-iframe.spec.d.ts +1 -0
  1342. package/dist/esm/tests/integration/locator-count-iframe.spec.js +127 -0
  1343. package/dist/esm/tests/integration/locator-count-iframe.spec.js.map +1 -0
  1344. package/dist/esm/tests/integration/locator-count.spec.d.ts +1 -0
  1345. package/dist/esm/tests/integration/locator-count.spec.js +66 -0
  1346. package/dist/esm/tests/integration/locator-count.spec.js.map +1 -0
  1347. package/dist/esm/tests/integration/locator-fill.spec.d.ts +1 -0
  1348. package/dist/esm/tests/integration/locator-fill.spec.js +115 -0
  1349. package/dist/esm/tests/integration/locator-fill.spec.js.map +1 -0
  1350. package/dist/esm/tests/integration/locator-input-methods.spec.d.ts +1 -0
  1351. package/dist/esm/tests/integration/locator-input-methods.spec.js +125 -0
  1352. package/dist/esm/tests/integration/locator-input-methods.spec.js.map +1 -0
  1353. package/dist/esm/tests/integration/locator-nth.spec.d.ts +1 -0
  1354. package/dist/esm/tests/integration/locator-nth.spec.js +173 -0
  1355. package/dist/esm/tests/integration/locator-nth.spec.js.map +1 -0
  1356. package/dist/esm/tests/integration/locator-select-option.spec.d.ts +1 -0
  1357. package/dist/esm/tests/integration/locator-select-option.spec.js +214 -0
  1358. package/dist/esm/tests/integration/locator-select-option.spec.js.map +1 -0
  1359. package/dist/esm/tests/integration/logger-initialization.spec.d.ts +1 -0
  1360. package/dist/esm/tests/integration/logger-initialization.spec.js +595 -0
  1361. package/dist/esm/tests/integration/logger-initialization.spec.js.map +1 -0
  1362. package/dist/esm/tests/integration/multi-instance-logger.spec.d.ts +1 -0
  1363. package/dist/esm/tests/integration/multi-instance-logger.spec.js +291 -0
  1364. package/dist/esm/tests/integration/multi-instance-logger.spec.js.map +1 -0
  1365. package/dist/esm/tests/integration/nested-div.spec.d.ts +1 -0
  1366. package/dist/esm/tests/integration/nested-div.spec.js +20 -0
  1367. package/dist/esm/tests/integration/nested-div.spec.js.map +1 -0
  1368. package/dist/esm/tests/integration/page-addInitScript.spec.d.ts +1 -0
  1369. package/dist/esm/tests/integration/page-addInitScript.spec.js +92 -0
  1370. package/dist/esm/tests/integration/page-addInitScript.spec.js.map +1 -0
  1371. package/dist/esm/tests/integration/page-console.spec.d.ts +1 -0
  1372. package/dist/esm/tests/integration/page-console.spec.js +45 -0
  1373. package/dist/esm/tests/integration/page-console.spec.js.map +1 -0
  1374. package/dist/esm/tests/integration/page-drag-and-drop.spec.d.ts +1 -0
  1375. package/dist/esm/tests/integration/page-drag-and-drop.spec.js +435 -0
  1376. package/dist/esm/tests/integration/page-drag-and-drop.spec.js.map +1 -0
  1377. package/dist/esm/tests/integration/page-extra-http-headers.spec.d.ts +1 -0
  1378. package/dist/esm/tests/integration/page-extra-http-headers.spec.js +83 -0
  1379. package/dist/esm/tests/integration/page-extra-http-headers.spec.js.map +1 -0
  1380. package/dist/esm/tests/integration/page-goto-response.spec.d.ts +1 -0
  1381. package/dist/esm/tests/integration/page-goto-response.spec.js +32 -0
  1382. package/dist/esm/tests/integration/page-goto-response.spec.js.map +1 -0
  1383. package/dist/esm/tests/integration/page-hover.spec.d.ts +1 -0
  1384. package/dist/esm/tests/integration/page-hover.spec.js +163 -0
  1385. package/dist/esm/tests/integration/page-hover.spec.js.map +1 -0
  1386. package/dist/esm/tests/integration/page-screenshot.spec.d.ts +1 -0
  1387. package/dist/esm/tests/integration/page-screenshot.spec.js +257 -0
  1388. package/dist/esm/tests/integration/page-screenshot.spec.js.map +1 -0
  1389. package/dist/esm/tests/integration/page-scroll.spec.d.ts +1 -0
  1390. package/dist/esm/tests/integration/page-scroll.spec.js +181 -0
  1391. package/dist/esm/tests/integration/page-scroll.spec.js.map +1 -0
  1392. package/dist/esm/tests/integration/page-send-cdp.spec.d.ts +1 -0
  1393. package/dist/esm/tests/integration/page-send-cdp.spec.js +45 -0
  1394. package/dist/esm/tests/integration/page-send-cdp.spec.js.map +1 -0
  1395. package/dist/esm/tests/integration/perform-understudy-method.spec.d.ts +1 -0
  1396. package/dist/esm/tests/integration/perform-understudy-method.spec.js +61 -0
  1397. package/dist/esm/tests/integration/perform-understudy-method.spec.js.map +1 -0
  1398. package/dist/esm/tests/integration/setinputfiles.spec.d.ts +1 -0
  1399. package/dist/esm/tests/integration/setinputfiles.spec.js +128 -0
  1400. package/dist/esm/tests/integration/setinputfiles.spec.js.map +1 -0
  1401. package/dist/esm/tests/integration/shadow-iframe-oopif.spec.d.ts +1 -0
  1402. package/dist/esm/tests/integration/shadow-iframe-oopif.spec.js +156 -0
  1403. package/dist/esm/tests/integration/shadow-iframe-oopif.spec.js.map +1 -0
  1404. package/dist/esm/tests/integration/shadow-iframe-spif.spec.d.ts +1 -0
  1405. package/dist/esm/tests/integration/shadow-iframe-spif.spec.js +155 -0
  1406. package/dist/esm/tests/integration/shadow-iframe-spif.spec.js.map +1 -0
  1407. package/dist/esm/tests/integration/testUtils.d.ts +7 -0
  1408. package/dist/esm/tests/integration/testUtils.js +40 -0
  1409. package/dist/esm/tests/integration/testUtils.js.map +1 -0
  1410. package/dist/esm/tests/integration/text-selector-innermost.spec.d.ts +1 -0
  1411. package/dist/esm/tests/integration/text-selector-innermost.spec.js +103 -0
  1412. package/dist/esm/tests/integration/text-selector-innermost.spec.js.map +1 -0
  1413. package/dist/esm/tests/integration/timeouts.spec.d.ts +1 -0
  1414. package/dist/esm/tests/integration/timeouts.spec.js +195 -0
  1415. package/dist/esm/tests/integration/timeouts.spec.js.map +1 -0
  1416. package/dist/esm/tests/integration/user-data-dir.spec.d.ts +1 -0
  1417. package/dist/esm/tests/integration/user-data-dir.spec.js +42 -0
  1418. package/dist/esm/tests/integration/user-data-dir.spec.js.map +1 -0
  1419. package/dist/esm/tests/integration/v3.config.d.ts +4 -0
  1420. package/dist/esm/tests/integration/v3.config.js +7 -0
  1421. package/dist/esm/tests/integration/v3.config.js.map +1 -0
  1422. package/dist/esm/tests/integration/v3.dynamic.config.d.ts +4 -0
  1423. package/dist/esm/tests/integration/v3.dynamic.config.js +44 -0
  1424. package/dist/esm/tests/integration/v3.dynamic.config.js.map +1 -0
  1425. package/dist/esm/tests/integration/v3.playwright.config.d.ts +2 -0
  1426. package/dist/esm/tests/integration/v3.playwright.config.js +46 -0
  1427. package/dist/esm/tests/integration/v3.playwright.config.js.map +1 -0
  1428. package/dist/esm/tests/integration/wait-for-selector.spec.d.ts +1 -0
  1429. package/dist/esm/tests/integration/wait-for-selector.spec.js +681 -0
  1430. package/dist/esm/tests/integration/wait-for-selector.spec.js.map +1 -0
  1431. package/dist/esm/tests/integration/wait-for-timeout.spec.d.ts +1 -0
  1432. package/dist/esm/tests/integration/wait-for-timeout.spec.js +116 -0
  1433. package/dist/esm/tests/integration/wait-for-timeout.spec.js.map +1 -0
  1434. package/dist/esm/tests/integration/xpath-for-location-deep.spec.d.ts +1 -0
  1435. package/dist/esm/tests/integration/xpath-for-location-deep.spec.js +85 -0
  1436. package/dist/esm/tests/integration/xpath-for-location-deep.spec.js.map +1 -0
  1437. package/dist/esm/tests/unit/agent-execution-model.test.d.ts +1 -0
  1438. package/dist/esm/tests/unit/agent-execution-model.test.js +126 -0
  1439. package/dist/esm/tests/unit/agent-execution-model.test.js.map +1 -0
  1440. package/dist/esm/tests/unit/api-multiregion.test.d.ts +1 -0
  1441. package/dist/esm/tests/unit/api-multiregion.test.js +56 -0
  1442. package/dist/esm/tests/unit/api-multiregion.test.js.map +1 -0
  1443. package/dist/esm/tests/unit/browserbase-session-accessors.test.d.ts +1 -0
  1444. package/dist/esm/tests/unit/browserbase-session-accessors.test.js +100 -0
  1445. package/dist/esm/tests/unit/browserbase-session-accessors.test.js.map +1 -0
  1446. package/dist/esm/tests/unit/cache-llm-resolution.test.d.ts +1 -0
  1447. package/dist/esm/tests/unit/cache-llm-resolution.test.js +184 -0
  1448. package/dist/esm/tests/unit/cache-llm-resolution.test.js.map +1 -0
  1449. package/dist/esm/tests/unit/cdp-connection-close.test.d.ts +1 -0
  1450. package/dist/esm/tests/unit/cdp-connection-close.test.js +72 -0
  1451. package/dist/esm/tests/unit/cdp-connection-close.test.js.map +1 -0
  1452. package/dist/esm/tests/unit/context-extra-http-headers.test.d.ts +1 -0
  1453. package/dist/esm/tests/unit/context-extra-http-headers.test.js +56 -0
  1454. package/dist/esm/tests/unit/context-extra-http-headers.test.js.map +1 -0
  1455. package/dist/esm/tests/unit/cookies.test.d.ts +1 -0
  1456. package/dist/esm/tests/unit/cookies.test.js +909 -0
  1457. package/dist/esm/tests/unit/cookies.test.js.map +1 -0
  1458. package/dist/esm/tests/unit/helpers/mockCDPSession.d.ts +19 -0
  1459. package/dist/esm/tests/unit/helpers/mockCDPSession.js +25 -0
  1460. package/dist/esm/tests/unit/helpers/mockCDPSession.js.map +1 -0
  1461. package/dist/esm/tests/unit/llm-provider.test.d.ts +1 -0
  1462. package/dist/esm/tests/unit/llm-provider.test.js +62 -0
  1463. package/dist/esm/tests/unit/llm-provider.test.js.map +1 -0
  1464. package/dist/esm/tests/unit/model-deprecation.test.d.ts +1 -0
  1465. package/dist/esm/tests/unit/model-deprecation.test.js +140 -0
  1466. package/dist/esm/tests/unit/model-deprecation.test.js.map +1 -0
  1467. package/dist/esm/tests/unit/model-utils.test.d.ts +1 -0
  1468. package/dist/esm/tests/unit/model-utils.test.js +40 -0
  1469. package/dist/esm/tests/unit/model-utils.test.js.map +1 -0
  1470. package/dist/esm/tests/unit/page-extra-http-headers.test.d.ts +1 -0
  1471. package/dist/esm/tests/unit/page-extra-http-headers.test.js +90 -0
  1472. package/dist/esm/tests/unit/page-extra-http-headers.test.js.map +1 -0
  1473. package/dist/esm/tests/unit/page-snapshot.test.d.ts +1 -0
  1474. package/dist/esm/tests/unit/page-snapshot.test.js +40 -0
  1475. package/dist/esm/tests/unit/page-snapshot.test.js.map +1 -0
  1476. package/dist/esm/tests/unit/public-api/export-surface.test.d.ts +1 -0
  1477. package/dist/esm/tests/unit/public-api/export-surface.test.js +72 -0
  1478. package/dist/esm/tests/unit/public-api/export-surface.test.js.map +1 -0
  1479. package/dist/esm/tests/unit/public-api/llm-and-agents.test.d.ts +1 -0
  1480. package/dist/esm/tests/unit/public-api/llm-and-agents.test.js +140 -0
  1481. package/dist/esm/tests/unit/public-api/llm-and-agents.test.js.map +1 -0
  1482. package/dist/esm/tests/unit/public-api/public-error-types.test.d.ts +62 -0
  1483. package/dist/esm/tests/unit/public-api/public-error-types.test.js +74 -0
  1484. package/dist/esm/tests/unit/public-api/public-error-types.test.js.map +1 -0
  1485. package/dist/esm/tests/unit/public-api/public-types.test.d.ts +1 -0
  1486. package/dist/esm/tests/unit/public-api/public-types.test.js +97 -0
  1487. package/dist/esm/tests/unit/public-api/public-types.test.js.map +1 -0
  1488. package/dist/esm/tests/unit/public-api/runtime-utils.test.d.ts +1 -0
  1489. package/dist/esm/tests/unit/public-api/runtime-utils.test.js +25 -0
  1490. package/dist/esm/tests/unit/public-api/runtime-utils.test.js.map +1 -0
  1491. package/dist/esm/tests/unit/public-api/schema-utils.test.d.ts +1 -0
  1492. package/dist/esm/tests/unit/public-api/schema-utils.test.js +60 -0
  1493. package/dist/esm/tests/unit/public-api/schema-utils.test.js.map +1 -0
  1494. package/dist/esm/tests/unit/public-api/timeout-error-types.test.d.ts +1 -0
  1495. package/dist/esm/tests/unit/public-api/timeout-error-types.test.js +86 -0
  1496. package/dist/esm/tests/unit/public-api/timeout-error-types.test.js.map +1 -0
  1497. package/dist/esm/tests/unit/public-api/tool-type-export.test.d.ts +1 -0
  1498. package/dist/esm/tests/unit/public-api/tool-type-export.test.js +30 -0
  1499. package/dist/esm/tests/unit/public-api/tool-type-export.test.js.map +1 -0
  1500. package/dist/esm/tests/unit/public-api/v3-core.test.d.ts +1 -0
  1501. package/dist/esm/tests/unit/public-api/v3-core.test.js +73 -0
  1502. package/dist/esm/tests/unit/public-api/v3-core.test.js.map +1 -0
  1503. package/dist/esm/tests/unit/rerender-missing-shadows.test.d.ts +1 -0
  1504. package/dist/esm/tests/unit/rerender-missing-shadows.test.js +207 -0
  1505. package/dist/esm/tests/unit/rerender-missing-shadows.test.js.map +1 -0
  1506. package/dist/esm/tests/unit/safety-confirmation.test.d.ts +1 -0
  1507. package/dist/esm/tests/unit/safety-confirmation.test.js +108 -0
  1508. package/dist/esm/tests/unit/safety-confirmation.test.js.map +1 -0
  1509. package/dist/esm/tests/unit/snapshot-a11y-resolvers.test.d.ts +1 -0
  1510. package/dist/esm/tests/unit/snapshot-a11y-resolvers.test.js +295 -0
  1511. package/dist/esm/tests/unit/snapshot-a11y-resolvers.test.js.map +1 -0
  1512. package/dist/esm/tests/unit/snapshot-a11y-tree-utils.test.d.ts +1 -0
  1513. package/dist/esm/tests/unit/snapshot-a11y-tree-utils.test.js +284 -0
  1514. package/dist/esm/tests/unit/snapshot-a11y-tree-utils.test.js.map +1 -0
  1515. package/dist/esm/tests/unit/snapshot-capture-orchestration.test.d.ts +1 -0
  1516. package/dist/esm/tests/unit/snapshot-capture-orchestration.test.js +359 -0
  1517. package/dist/esm/tests/unit/snapshot-capture-orchestration.test.js.map +1 -0
  1518. package/dist/esm/tests/unit/snapshot-cbor.test.d.ts +1 -0
  1519. package/dist/esm/tests/unit/snapshot-cbor.test.js +202 -0
  1520. package/dist/esm/tests/unit/snapshot-cbor.test.js.map +1 -0
  1521. package/dist/esm/tests/unit/snapshot-dom-session-builders.test.d.ts +1 -0
  1522. package/dist/esm/tests/unit/snapshot-dom-session-builders.test.js +218 -0
  1523. package/dist/esm/tests/unit/snapshot-dom-session-builders.test.js.map +1 -0
  1524. package/dist/esm/tests/unit/snapshot-dom-tree-utils.test.d.ts +1 -0
  1525. package/dist/esm/tests/unit/snapshot-dom-tree-utils.test.js +105 -0
  1526. package/dist/esm/tests/unit/snapshot-dom-tree-utils.test.js.map +1 -0
  1527. package/dist/esm/tests/unit/snapshot-focus-selectors-utils.test.d.ts +1 -0
  1528. package/dist/esm/tests/unit/snapshot-focus-selectors-utils.test.js +87 -0
  1529. package/dist/esm/tests/unit/snapshot-focus-selectors-utils.test.js.map +1 -0
  1530. package/dist/esm/tests/unit/snapshot-frame-merge.test.d.ts +1 -0
  1531. package/dist/esm/tests/unit/snapshot-frame-merge.test.js +333 -0
  1532. package/dist/esm/tests/unit/snapshot-frame-merge.test.js.map +1 -0
  1533. package/dist/esm/tests/unit/snapshot-tree-format-utils.test.d.ts +1 -0
  1534. package/dist/esm/tests/unit/snapshot-tree-format-utils.test.js +82 -0
  1535. package/dist/esm/tests/unit/snapshot-tree-format-utils.test.js.map +1 -0
  1536. package/dist/esm/tests/unit/snapshot-xpath-utils.test.d.ts +1 -0
  1537. package/dist/esm/tests/unit/snapshot-xpath-utils.test.js +72 -0
  1538. package/dist/esm/tests/unit/snapshot-xpath-utils.test.js.map +1 -0
  1539. package/dist/esm/tests/unit/timeout-handlers.test.d.ts +1 -0
  1540. package/dist/esm/tests/unit/timeout-handlers.test.js +812 -0
  1541. package/dist/esm/tests/unit/timeout-handlers.test.js.map +1 -0
  1542. package/dist/esm/tests/unit/understudy-command-exception.test.d.ts +1 -0
  1543. package/dist/esm/tests/unit/understudy-command-exception.test.js +55 -0
  1544. package/dist/esm/tests/unit/understudy-command-exception.test.js.map +1 -0
  1545. package/dist/esm/tests/unit/xpath-parser.test.d.ts +1 -0
  1546. package/dist/esm/tests/unit/xpath-parser.test.js +309 -0
  1547. package/dist/esm/tests/unit/xpath-parser.test.js.map +1 -0
  1548. package/dist/esm/tests/unit/xpath-resolver.test.d.ts +1 -0
  1549. package/dist/esm/tests/unit/xpath-resolver.test.js +78 -0
  1550. package/dist/esm/tests/unit/xpath-resolver.test.js.map +1 -0
  1551. package/dist/esm/tests/unit/zod-enum-compatibility.test.d.ts +1 -0
  1552. package/dist/esm/tests/unit/zod-enum-compatibility.test.js +114 -0
  1553. package/dist/esm/tests/unit/zod-enum-compatibility.test.js.map +1 -0
  1554. package/package.json +54 -28
  1555. package/dist/index.d.ts +0 -4363
  1556. package/dist/index.js +0 -76530
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../lib/v3/understudy/context.ts"],"names":[],"mappings":"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","sourcesContent":["// lib/v3/understudy/context.ts\nimport type { Protocol } from \"devtools-protocol\";\nimport { v3Logger } from \"../logger.js\";\nimport { CdpConnection, CDPSessionLike } from \"./cdp.js\";\nimport { Page } from \"./page.js\";\nimport { installV3PiercerIntoSession } from \"./piercer.js\";\nimport { v3ScriptContent } from \"../dom/build/scriptV3Content.js\";\nimport { executionContexts } from \"./executionContextRegistry.js\";\nimport type { StagehandAPIClient } from \"../api.js\";\nimport { LocalBrowserLaunchOptions } from \"../types/public/index.js\";\nimport { InitScriptSource } from \"../types/private/index.js\";\nimport { normalizeInitScriptSource } from \"./initScripts.js\";\nimport {\n TimeoutError,\n CookieSetError,\n PageNotFoundError,\n StagehandSetExtraHTTPHeadersError,\n} from \"../types/public/sdkErrors.js\";\nimport { getEnvTimeoutMs, withTimeout } from \"../timeoutConfig.js\";\nimport {\n filterCookies,\n normalizeCookieParams,\n cookieMatchesFilter,\n toCdpCookieParam,\n} from \"./cookies.js\";\nimport {\n Cookie,\n ClearCookieOptions,\n CookieParam,\n} from \"../types/public/context.js\";\n\ntype TargetId = string;\ntype SessionId = string;\n\ntype TargetType = \"page\" | \"iframe\" | string;\n\n/**\n * Returns true when the target's URL points to a document with a real,\n * pierceable HTML DOM. We allowlist the small set of schemes that carry\n * web content rather than trying to blacklist every internal browser scheme\n * (chrome://, chrome-extension://, devtools://, brave://, edge://, …).\n */\nfunction hasInjectableDOM(url: string | undefined): boolean {\n if (!url || url === \"\") return true;\n if (\n url === \"about:blank\" ||\n url === \"about:srcdoc\" ||\n url.startsWith(\"about:blank#\")\n )\n return true;\n if (url.startsWith(\"http://\") || url.startsWith(\"https://\")) return true;\n if (\n url.startsWith(\"data:\") ||\n url.startsWith(\"blob:\") ||\n url.startsWith(\"file://\") ||\n url.startsWith(\"filesystem:\")\n )\n return true;\n return false;\n}\n\nfunction isNonWebTarget(info: Protocol.Target.TargetInfo): boolean {\n return (\n (info.type !== \"page\" && info.type !== \"iframe\") ||\n !hasInjectableDOM(info.url)\n );\n}\n\nfunction isTopLevelPage(info: Protocol.Target.TargetInfo): boolean {\n const ti = info as unknown as { subtype?: string };\n return info.type === \"page\" && ti.subtype !== \"iframe\";\n}\n\nconst DEFAULT_FIRST_TOP_LEVEL_PAGE_TIMEOUT_MS = 5000;\nconst CI_FIRST_TOP_LEVEL_PAGE_TIMEOUT_MS = 30000;\nconst FIRST_TOP_LEVEL_PAGE_TIMEOUT_ENV =\n \"STAGEHAND_FIRST_TOP_LEVEL_PAGE_TIMEOUT_MS\";\nconst WAIT_FOR_FIRST_TOP_LEVEL_PAGE_OPERATION =\n \"waitForFirstTopLevelPage (no top-level Page)\";\n\nfunction getFirstTopLevelPageTimeoutMs(): number {\n return (\n getEnvTimeoutMs(FIRST_TOP_LEVEL_PAGE_TIMEOUT_ENV) ??\n (process.env.CI\n ? CI_FIRST_TOP_LEVEL_PAGE_TIMEOUT_MS\n : DEFAULT_FIRST_TOP_LEVEL_PAGE_TIMEOUT_MS)\n );\n}\n\n/**\n * V3Context\n *\n * Owns the root CDP connection and wires Target/Page events into Page.\n * Maintains one Page per top-level target, adopts OOPIF child sessions into the owner Page,\n * and tracks target→page and (root) frame→target mappings for lookups.\n *\n * IMPORTANT: FrameId → session ownership is managed inside Page (via its FrameRegistry).\n * Context never “guesses” owners; it simply forwards events (with the emitting session)\n * so Page can record the correct owner at event time.\n */\nexport class V3Context {\n private constructor(\n readonly conn: CdpConnection,\n private readonly env: \"LOCAL\" | \"BROWSERBASE\" = \"LOCAL\",\n private readonly apiClient: StagehandAPIClient | null = null,\n private readonly localBrowserLaunchOptions: LocalBrowserLaunchOptions | null = null,\n ) {}\n\n private readonly _piercerInstalled = new Set<string>();\n // Timestamp for most recent popup/open signal\n private _lastPopupSignalAt = 0;\n private readonly _targetSessionListeners = new Set<SessionId>();\n\n private readonly _sessionInit = new Set<SessionId>();\n private pagesByTarget = new Map<TargetId, Page>();\n private mainFrameToTarget = new Map<string, TargetId>();\n private sessionOwnerPage = new Map<SessionId, Page>();\n private frameOwnerPage = new Map<string, Page>();\n private pendingOopifByMainFrame = new Map<string, SessionId>();\n private createdAtByTarget = new Map<TargetId, number>();\n private typeByTarget = new Map<TargetId, TargetType>();\n private _pageOrder: TargetId[] = [];\n private pendingCreatedTargetUrl = new Map<TargetId, string>();\n private readonly initScripts: string[] = [];\n private extraHttpHeaders: Record<string, string> | null = null;\n\n private installTargetSessionListeners(session: CDPSessionLike): void {\n const sessionId = session.id;\n if (!sessionId) return;\n if (this._targetSessionListeners.has(sessionId)) return;\n this._targetSessionListeners.add(sessionId);\n\n session.on<Protocol.Target.AttachedToTargetEvent>(\n \"Target.attachedToTarget\",\n (evt) => {\n void this.onAttachedToTarget(evt.targetInfo, evt.sessionId);\n },\n );\n session.on<Protocol.Target.DetachedFromTargetEvent>(\n \"Target.detachedFromTarget\",\n (evt) => {\n this.onDetachedFromTarget(evt.sessionId, evt.targetId ?? null);\n },\n );\n session.on<Protocol.Target.TargetDestroyedEvent>(\n \"Target.targetDestroyed\",\n (evt) => {\n this.cleanupByTarget(evt.targetId);\n },\n );\n }\n\n /**\n * Create a Context for a given CDP websocket URL and bootstrap target wiring.\n */\n static async create(\n wsUrl: string,\n opts?: {\n env?: \"LOCAL\" | \"BROWSERBASE\";\n apiClient?: StagehandAPIClient | null;\n localBrowserLaunchOptions?: LocalBrowserLaunchOptions | null;\n cdpHeaders?: Record<string, string>;\n },\n ): Promise<V3Context> {\n const connectTask = async () => {\n const conn = await CdpConnection.connect(wsUrl, {\n headers: opts?.cdpHeaders,\n });\n const ctx = new V3Context(\n conn,\n opts?.env ?? \"LOCAL\",\n opts?.apiClient ?? null,\n opts?.localBrowserLaunchOptions ?? null,\n );\n await ctx.bootstrap();\n await ctx.ensureFirstTopLevelPage(getFirstTopLevelPageTimeoutMs());\n return ctx;\n };\n\n const cdpTimeoutMs =\n opts?.env === \"BROWSERBASE\"\n ? getEnvTimeoutMs(\"BROWSERBASE_CDP_CONNECT_MAX_MS\")\n : undefined;\n\n if (cdpTimeoutMs) {\n let timedOut = false;\n const connectPromise = connectTask();\n const guarded = withTimeout(\n connectPromise,\n cdpTimeoutMs,\n \"Browserbase CDP connect\",\n ).catch((err) => {\n timedOut = true;\n throw err;\n });\n connectPromise\n .then((ctx) => {\n if (timedOut) void ctx.close();\n })\n .catch(() => {});\n return await guarded;\n }\n\n return await connectTask();\n }\n\n private hasTopLevelPage(): boolean {\n for (const [targetId, targetType] of this.typeByTarget) {\n if (targetType === \"page\" && this.pagesByTarget.has(targetId)) {\n return true;\n }\n }\n return false;\n }\n\n private async ensureFirstTopLevelPage(timeoutMs: number): Promise<void> {\n if (this.hasTopLevelPage()) return;\n\n try {\n await this.waitForFirstTopLevelPage(timeoutMs);\n return;\n } catch (err) {\n if (!(err instanceof TimeoutError)) {\n throw err;\n }\n v3Logger({\n category: \"ctx\",\n message:\n \"No open browser pages found after connect; creating an initial about:blank page\",\n level: 1,\n });\n }\n\n await this.newPage(\"about:blank\");\n }\n\n /**\n * Wait until at least one top-level Page has been created and registered.\n * We poll internal maps that bootstrap/onAttachedToTarget populate.\n */\n private async waitForFirstTopLevelPage(timeoutMs: number): Promise<void> {\n const deadline = Date.now() + timeoutMs;\n while (Date.now() < deadline) {\n // A top-level Page is present if typeByTarget has an entry \"page\"\n // and pagesByTarget has the corresponding Page object.\n for (const [tid, ttype] of this.typeByTarget) {\n if (ttype === \"page\") {\n const p = this.pagesByTarget.get(tid);\n if (p) return;\n }\n }\n await new Promise((r) => setTimeout(r, 25));\n }\n throw new TimeoutError(WAIT_FOR_FIRST_TOP_LEVEL_PAGE_OPERATION, timeoutMs);\n }\n\n private async waitForInitialTopLevelTargets(\n targetIds: TargetId[],\n timeoutMs = 3000,\n ): Promise<void> {\n if (!targetIds.length) return;\n const pending = new Set(targetIds);\n const deadline = Date.now() + timeoutMs;\n while (pending.size && Date.now() < deadline) {\n for (const tid of Array.from(pending)) {\n if (this.pagesByTarget.has(tid)) {\n pending.delete(tid);\n }\n }\n if (!pending.size) return;\n await new Promise((r) => setTimeout(r, 25));\n }\n if (pending.size) {\n v3Logger({\n category: \"ctx\",\n message: \"Timed out waiting for existing top-level targets to attach\",\n level: 2,\n auxiliary: {\n remainingTargets: {\n value: JSON.stringify(Array.from(pending)),\n type: \"object\",\n },\n },\n });\n }\n }\n\n private async ensurePiercer(session: CDPSessionLike): Promise<boolean> {\n const id = session.id ?? \"\";\n if (this._piercerInstalled.has(id)) return true;\n\n const installed = await installV3PiercerIntoSession(session);\n if (installed) {\n this._piercerInstalled.add(id);\n }\n return installed;\n }\n\n /** Mark a page target as the most-recent one (active). */\n private _pushActive(tid: TargetId): void {\n // remove prior entry if any\n const i = this._pageOrder.indexOf(tid);\n if (i !== -1) this._pageOrder.splice(i, 1);\n this._pageOrder.push(tid);\n }\n\n /** Remove a page target from the recency list (used on close). */\n private _removeFromOrder(tid: TargetId): void {\n const i = this._pageOrder.indexOf(tid);\n if (i !== -1) this._pageOrder.splice(i, 1);\n }\n\n /** Return the current active Page (most-recent page that still exists). */\n public activePage(): Page | undefined {\n // prune any stale ids from the tail\n for (let i = this._pageOrder.length - 1; i >= 0; i--) {\n const tid = this._pageOrder[i]!;\n const p = this.pagesByTarget.get(tid);\n if (p) return p;\n // stale — remove and continue\n this._pageOrder.splice(i, 1);\n }\n // fallback: pick the newest by createdAt if order is empty\n let newestTid: TargetId | undefined;\n let newestTs = -1;\n for (const [tid] of this.pagesByTarget) {\n const ts = this.createdAtByTarget.get(tid) ?? 0;\n if (ts > newestTs) {\n newestTs = ts;\n newestTid = tid;\n }\n }\n return newestTid ? this.pagesByTarget.get(newestTid) : undefined;\n }\n\n /** Explicitly mark a known Page as the most-recent active page (and focus it). */\n public setActivePage(page: Page): void {\n let targetId = page.targetId();\n if (this.pagesByTarget.get(targetId) !== page) {\n const lookup = this.findTargetIdByPage(page);\n if (!lookup) {\n v3Logger({\n category: \"ctx\",\n message: \"setActivePage called with unknown Page\",\n level: 2,\n auxiliary: {\n targetId: { value: String(targetId), type: \"string\" },\n },\n });\n return;\n }\n targetId = lookup;\n }\n\n this._pushActive(targetId);\n\n // Bring the tab to the foreground in headful Chrome (best effort).\n void this.conn.send(\"Target.activateTarget\", { targetId }).catch(() => {});\n }\n\n public async addInitScript<Arg>(\n script: InitScriptSource<Arg>,\n arg?: Arg,\n ): Promise<void> {\n const source = await normalizeInitScriptSource(script, arg);\n if (this.initScripts.includes(source)) return;\n this.initScripts.push(source);\n const pages = this.pages();\n await Promise.all(pages.map((page) => page.registerInitScript(source)));\n }\n\n public async setExtraHTTPHeaders(\n headers: Record<string, string>,\n ): Promise<void> {\n const nextHeaders = { ...headers };\n this.extraHttpHeaders = nextHeaders;\n\n const sessions: CDPSessionLike[] = [];\n for (const sessionId of this._sessionInit) {\n const session = this.conn.getSession(sessionId);\n if (session) sessions.push(session);\n }\n\n if (!sessions.length) return;\n\n const results = await Promise.allSettled(\n sessions.map(async (session) => {\n await session.send(\"Network.enable\");\n await session.send(\"Network.setExtraHTTPHeaders\", {\n headers: nextHeaders,\n });\n }),\n );\n\n const failures = results\n .map((result, index) => ({ result, session: sessions[index] }))\n .filter(\n (\n entry,\n ): entry is {\n result: PromiseRejectedResult;\n session: CDPSessionLike;\n } => entry.result.status === \"rejected\",\n )\n .map((entry) => {\n const reason = entry.result.reason as Error;\n const sid = entry.session.id ?? \"unknown\";\n const message = reason?.message ?? String(reason);\n return `session=${sid} error=${message}`;\n });\n\n if (failures.length) {\n throw new StagehandSetExtraHTTPHeadersError(failures);\n }\n }\n\n /**\n * Return top-level `Page`s (oldest → newest). OOPIF targets are not included.\n */\n pages(): Page[] {\n const rows: Array<{ tid: TargetId; page: Page; created: number }> = [];\n for (const [tid, page] of this.pagesByTarget) {\n if (this.typeByTarget.get(tid) === \"page\") {\n rows.push({ tid, page, created: this.createdAtByTarget.get(tid) ?? 0 });\n }\n }\n rows.sort((a, b) => a.created - b.created);\n return rows.map((r) => r.page);\n }\n\n private async applyInitScriptsToPage(\n page: Page,\n opts?: { seedOnly?: boolean },\n ): Promise<void> {\n if (opts?.seedOnly) {\n for (const source of this.initScripts) {\n page.seedInitScript(source);\n }\n return;\n }\n for (const source of this.initScripts) {\n await page.registerInitScript(source);\n }\n }\n\n /**\n * Resolve an owning `Page` by the **top-level main frame id**.\n * Note: child (OOPIF) roots are intentionally not present in this mapping.\n */\n resolvePageByMainFrameId(frameId: string): Page | undefined {\n const targetId = this.mainFrameToTarget.get(frameId);\n return targetId ? this.pagesByTarget.get(targetId) : undefined;\n }\n\n /**\n * Serialize the full frame tree for a given top-level main frame id.\n */\n async getFullFrameTreeByMainFrameId(\n rootMainFrameId: string,\n ): Promise<Protocol.Page.FrameTree> {\n const owner = this.resolvePageByMainFrameId(rootMainFrameId);\n if (!owner) throw new PageNotFoundError(`mainFrameId=${rootMainFrameId}`);\n return owner.asProtocolFrameTree(rootMainFrameId);\n }\n\n /**\n * Create a new top-level page (tab) with the given URL and return its Page object.\n * Waits until the target is attached and registered.\n */\n public async newPage(url = \"about:blank\"): Promise<Page> {\n const targetUrl = String(url ?? \"about:blank\");\n const { targetId } = await this.conn.send<{ targetId: string }>(\n \"Target.createTarget\",\n // Create at about:blank so init scripts can install before first real navigation.\n { url: \"about:blank\" },\n );\n this.pendingCreatedTargetUrl.set(targetId, \"about:blank\");\n // Best-effort bring-to-front\n await this.conn.send(\"Target.activateTarget\", { targetId }).catch(() => {});\n\n const deadline = Date.now() + 5000;\n while (Date.now() < deadline) {\n const page = this.pagesByTarget.get(targetId);\n if (page) {\n // we created at about:blank; navigate only after attach so init scripts run\n // on the first real document. Fire-and-forget so newPage() resolves on attach.\n if (targetUrl !== \"about:blank\") {\n // Seed requested URL into the page cache before navigation events arrive.\n page.seedCurrentUrl(targetUrl);\n void page\n .sendCDP(\"Page.navigate\", { url: targetUrl })\n .catch(() => {});\n }\n return page;\n }\n await new Promise((r) => setTimeout(r, 25));\n }\n throw new TimeoutError(`newPage: target not attached (${targetId})`, 5000);\n }\n\n /**\n * Close CDP and clear all mappings. Best-effort cleanup.\n */\n async close(): Promise<void> {\n await this.conn.close();\n this.pagesByTarget.clear();\n this.mainFrameToTarget.clear();\n this.sessionOwnerPage.clear();\n this.frameOwnerPage.clear();\n this.pendingOopifByMainFrame.clear();\n this.createdAtByTarget.clear();\n this.typeByTarget.clear();\n this.pendingCreatedTargetUrl.clear();\n }\n\n /**\n * Bootstrap target lifecycle:\n * - Attach to existing targets.\n * - Handle auto-attach events.\n * - Clean up on detach/destroy.\n */\n private async bootstrap(): Promise<void> {\n // Live attach via auto-attach (normal path)\n this.conn.on<Protocol.Target.AttachedToTargetEvent>(\n \"Target.attachedToTarget\",\n async (evt) => {\n await this.onAttachedToTarget(evt.targetInfo, evt.sessionId);\n },\n );\n\n // Live detach (clean up session from owner page & frame graph)\n this.conn.on<Protocol.Target.DetachedFromTargetEvent>(\n \"Target.detachedFromTarget\",\n (evt) => {\n this.onDetachedFromTarget(evt.sessionId, evt.targetId ?? null);\n },\n );\n\n // Destroyed targets (fallback cleanup by targetId)\n this.conn.on<Protocol.Target.TargetDestroyedEvent>(\n \"Target.targetDestroyed\",\n (evt) => {\n this.cleanupByTarget(evt.targetId);\n },\n );\n\n this.conn.on<Protocol.Target.TargetCreatedEvent>(\n \"Target.targetCreated\",\n async (evt) => {\n const info = evt.targetInfo;\n // Note popups to help activePage settle\n const ti = info;\n if (info.type === \"page\" && (ti?.openerId || ti?.openerFrameId)) {\n this._notePopupSignal();\n }\n },\n );\n\n // Only enable auto-attach after listeners are ready so replayed targets are captured.\n await this.conn.enableAutoAttach();\n\n const targets = await this.conn.getTargets();\n for (const t of targets) {\n if (t.attached) continue; // auto-attach already handled this target\n try {\n await this.conn.attachToTarget(t.targetId);\n } catch {\n // ignore attach race\n }\n }\n\n const topLevelTargetIds = targets\n .filter((t) => isTopLevelPage(t))\n .map((t) => t.targetId);\n await this.waitForInitialTopLevelTargets(topLevelTargetIds);\n }\n\n /**\n * Handle a newly attached target (top-level or potential OOPIF):\n * - Enable Page domain and lifecycle events.\n * - If top-level → create Page, wire listeners, resume.\n * - Else → probe child root frame id via `Page.getFrameTree` and adopt immediately\n * if the parent is known; otherwise stage until parent `frameAttached`.\n * - Resume the target only after listeners are wired.\n */\n private async onAttachedToTarget(\n info: Protocol.Target.TargetInfo,\n sessionId: SessionId,\n ): Promise<void> {\n // Skip non-web targets (workers, chrome extensions, background pages, etc.).\n // They still need to be resumed so we don't leave them paused by\n // waitForDebuggerOnStart, but injecting the piercer into these targets\n // can throw or corrupt their internal state (e.g. Chrome's PDF viewer).\n if (isNonWebTarget(info)) {\n const session = this.conn.getSession(sessionId);\n if (session) {\n await session.send(\"Runtime.runIfWaitingForDebugger\").catch(() => {});\n }\n return;\n }\n\n const session = this.conn.getSession(sessionId);\n if (!session) return;\n\n // Init guard\n if (this._sessionInit.has(sessionId)) return;\n this._sessionInit.add(sessionId);\n\n this.installTargetSessionListeners(session);\n\n // Register for Runtime events before enabling it so we don't miss initial contexts.\n executionContexts.attachSession(session);\n\n // Ensure we only resume once even if multiple code paths hit finally.\n let resumed = false;\n const resume = async (): Promise<void> => {\n if (resumed) return;\n resumed = true;\n // waitForDebuggerOnStart pauses new targets; resume once we've done\n // any \"must happen before first document\" work.\n await session.send(\"Runtime.runIfWaitingForDebugger\").catch(() => {});\n };\n\n // Attach lifecycle (per target session):\n // 1) while paused, enable domains + child auto-attach and register init scripts;\n // 2) resume target execution;\n // 3) build/adopt Page ownership and frame bridges.\n // Some CDP backends defer *.enable() responses until after resume, so we\n // cannot await those responses before resuming. Instead we:\n // - wait for transport-level dispatch of required pre-resume commands;\n // - then dispatch resume;\n // - then await responses.\n const queuePreResume = (\n method: string,\n params?: object,\n match?: (sentParams?: object) => boolean,\n ) => {\n const dispatched = this.conn\n .waitForSessionDispatch(sessionId, method, match)\n .then(() => true)\n .catch(() => false);\n const response = session\n .send(method, params)\n .then(() => true)\n .catch(() => false);\n return { dispatched, response };\n };\n const initScriptOps: Array<{\n dispatched: Promise<boolean>;\n response: Promise<boolean>;\n }> = [];\n // Pre-resume ordering matters:\n // - enable domains;\n // - enable child auto-attach with waitForDebuggerOnStart;\n // - register init scripts.\n // Commands are sent in-order on the same session before resume.\n const corePreResumeOps = [\n queuePreResume(\"Page.enable\"),\n queuePreResume(\"Runtime.enable\"),\n queuePreResume(\"Target.setAutoAttach\", {\n autoAttach: true,\n waitForDebuggerOnStart: true,\n flatten: true,\n }),\n ];\n const headerPreResumeOps: Array<{\n dispatched: Promise<boolean>;\n response: Promise<boolean>;\n }> = [];\n if (this.extraHttpHeaders) {\n const headers = { ...this.extraHttpHeaders };\n headerPreResumeOps.push(queuePreResume(\"Network.enable\"));\n headerPreResumeOps.push(\n queuePreResume(\"Network.setExtraHTTPHeaders\", { headers }),\n );\n }\n // Send init scripts only after auto-attach has been queued.\n if (this.initScripts.length) {\n for (const source of this.initScripts) {\n initScriptOps.push(\n queuePreResume(\n \"Page.addScriptToEvaluateOnNewDocument\",\n {\n source,\n runImmediately: true,\n },\n (sentParams) =>\n (sentParams as { source?: string } | undefined)?.source ===\n source,\n ),\n );\n }\n }\n const piercerPreloadOp = queuePreResume(\n \"Page.addScriptToEvaluateOnNewDocument\",\n {\n source: v3ScriptContent,\n runImmediately: true,\n },\n (sentParams) =>\n (sentParams as { source?: string } | undefined)?.source ===\n v3ScriptContent,\n );\n const preResumeDispatched = (\n await Promise.all([\n ...corePreResumeOps.map((op) => op.dispatched),\n ...headerPreResumeOps.map((op) => op.dispatched),\n ...initScriptOps.map((op) => op.dispatched),\n piercerPreloadOp.dispatched,\n ])\n ).every(Boolean);\n // Dispatch resume only after pre-resume setup has actually been sent.\n const resumeOp = queuePreResume(\"Runtime.runIfWaitingForDebugger\");\n const [resumedDispatched, resumedOk] = await Promise.all([\n resumeOp.dispatched,\n resumeOp.response,\n ]);\n const [\n coreResults,\n headerResults,\n initScriptResults,\n piercerPreRegistered,\n ] = await Promise.all([\n Promise.all(corePreResumeOps.map((op) => op.response)),\n Promise.all(headerPreResumeOps.map((op) => op.response)),\n Promise.all(initScriptOps.map((op) => op.response)),\n piercerPreloadOp.response,\n ]);\n // Header propagation is independent of init-script determinism but still\n // part of pre-resume attach setup; awaited above for ordering/lifecycle.\n void headerResults;\n if (!preResumeDispatched || !resumedDispatched || !resumedOk) {\n // Short-lived child targets can detach before resume is acknowledged.\n // Keep this noisy only for top-level pages where missing attach is fatal.\n if (isTopLevelPage(info)) {\n v3Logger({\n category: \"ctx\",\n message: \"Failed target pre-resume setup ordering\",\n level: 2,\n auxiliary: {\n targetId: { value: String(info.targetId), type: \"string\" },\n targetType: { value: String(info.type), type: \"string\" },\n preResumeDispatched: {\n value: String(preResumeDispatched),\n type: \"string\",\n },\n resumedDispatched: {\n value: String(resumedDispatched),\n type: \"string\",\n },\n resumedOk: { value: String(resumedOk), type: \"string\" },\n },\n });\n }\n return;\n }\n resumed = true;\n const scriptsInstalled =\n coreResults.every(Boolean) && initScriptResults.every(Boolean);\n\n try {\n // Best-effort lifecycle events; do not block top-level page registration\n // on this optional signal stream.\n void session\n .send(\"Page.setLifecycleEventsEnabled\", { enabled: true })\n .catch(() => {});\n\n // Top-level handling\n if (isTopLevelPage(info)) {\n let page: Page | null = null;\n let createError: unknown;\n // Deterministic contract: never drop a newly attached top-level target\n // because an arbitrary local timeout fired. We wait for Page.create and\n // let it finish regardless of CDP call latency.\n try {\n page = await Page.create(\n this.conn,\n session,\n info.targetId,\n this.apiClient,\n this.localBrowserLaunchOptions,\n this.env === \"BROWSERBASE\",\n );\n } catch (error) {\n createError = error;\n }\n if (!page) {\n v3Logger({\n category: \"ctx\",\n message: \"Failed to create top-level Page\",\n level: 2,\n auxiliary: {\n targetId: { value: String(info.targetId), type: \"string\" },\n targetType: { value: String(info.type), type: \"string\" },\n targetUrl: { value: String(info.url ?? \"\"), type: \"string\" },\n error: {\n value: String(\n createError instanceof Error\n ? createError.message\n : createError,\n ),\n type: \"string\",\n },\n },\n });\n return;\n }\n this.wireSessionToOwnerPage(sessionId, page);\n this.pagesByTarget.set(info.targetId, page);\n this.mainFrameToTarget.set(page.mainFrameId(), info.targetId);\n this.sessionOwnerPage.set(sessionId, page);\n this.frameOwnerPage.set(page.mainFrameId(), page);\n this.typeByTarget.set(info.targetId, \"page\");\n if (!this.createdAtByTarget.has(info.targetId)) {\n this.createdAtByTarget.set(info.targetId, Date.now());\n }\n const pendingSeedUrl = this.pendingCreatedTargetUrl.get(info.targetId);\n this.pendingCreatedTargetUrl.delete(info.targetId);\n page.seedCurrentUrl(pendingSeedUrl ?? info.url ?? \"\");\n this._pushActive(info.targetId);\n this.installFrameEventBridges(sessionId, page);\n if (piercerPreRegistered) {\n this._piercerInstalled.add(sessionId);\n }\n // If we already installed scripts at the session level, only seed the\n // Page's registry to avoid double-installing DOMContentLoaded handlers.\n await this.applyInitScriptsToPage(page, {\n seedOnly: scriptsInstalled,\n });\n if (!piercerPreRegistered) {\n void this.ensurePiercer(session).catch(() => {});\n }\n\n return;\n }\n\n const piercerReady = await this.ensurePiercer(session).catch(() => false);\n if (!piercerReady) return;\n\n // Child (iframe / OOPIF)\n try {\n const { frameTree } =\n await session.send<Protocol.Page.GetFrameTreeResponse>(\n \"Page.getFrameTree\",\n );\n const childMainId = frameTree.frame.id;\n\n // Try to find owner Page now (it may already have the node in its tree)\n let owner = this.frameOwnerPage.get(childMainId);\n if (!owner) {\n for (const p of this.pagesByTarget.values()) {\n const tree = p.asProtocolFrameTree(p.mainFrameId());\n const has = (function find(n: Protocol.Page.FrameTree): boolean {\n if (n.frame.id === childMainId) return true;\n for (const c of n.childFrames ?? []) if (find(c)) return true;\n return false;\n })(tree);\n if (has) {\n owner = p;\n break;\n }\n }\n }\n\n if (owner) {\n owner.adoptOopifSession(session, childMainId);\n this.sessionOwnerPage.set(sessionId, owner);\n this.installFrameEventBridges(sessionId, owner);\n // Prime the execution-context registry so later lookups succeed even if\n // the frame navigates before we issue a command.\n void executionContexts\n .waitForMainWorld(session, childMainId)\n .catch(() => {});\n } else {\n this.pendingOopifByMainFrame.set(childMainId, sessionId);\n }\n } catch {\n // page.getFrameTree failed. Most likely was an ad iframe\n // that opened & closed before we could attach. ignore\n }\n } finally {\n await resume();\n }\n }\n\n /**\n * Detach handler:\n * - Remove child session ownership and prune its subtree.\n * - If a top-level target, cleanup its `Page` and mappings.\n * - Drop any staged child for this session.\n */\n private onDetachedFromTarget(\n sessionId: SessionId,\n targetId: string | null,\n ): void {\n const owner = this.sessionOwnerPage.get(sessionId);\n if (owner) {\n owner.detachOopifSession(sessionId);\n this.sessionOwnerPage.delete(sessionId);\n }\n\n if (targetId && this.pagesByTarget.has(targetId)) {\n this.cleanupByTarget(targetId);\n }\n\n for (const [fid, sid] of Array.from(\n this.pendingOopifByMainFrame.entries(),\n )) {\n if (sid === sessionId) this.pendingOopifByMainFrame.delete(fid);\n }\n\n this._targetSessionListeners.delete(sessionId);\n this._sessionInit.delete(sessionId);\n this._piercerInstalled.delete(sessionId);\n }\n\n /**\n * Cleanup a top-level Page by target id, removing its root and staged children.\n */\n private cleanupByTarget(targetId: TargetId): void {\n const page = this.pagesByTarget.get(targetId);\n if (!page) return;\n\n const mainId = page.mainFrameId();\n this.mainFrameToTarget.delete(mainId);\n this.frameOwnerPage.delete(mainId);\n\n for (const [sid, p] of Array.from(this.sessionOwnerPage.entries())) {\n if (p === page) this.sessionOwnerPage.delete(sid);\n }\n\n for (const [fid] of Array.from(this.pendingOopifByMainFrame.entries())) {\n const owner = this.frameOwnerPage.get(fid);\n if (!owner || owner === page) this.pendingOopifByMainFrame.delete(fid);\n }\n\n this._removeFromOrder(targetId);\n this.pagesByTarget.delete(targetId);\n this.createdAtByTarget.delete(targetId);\n this.typeByTarget.delete(targetId);\n this.pendingCreatedTargetUrl.delete(targetId);\n }\n\n /**\n * Wire Page-domain frame events for a session into the owning Page & mappings.\n * We forward the *emitting session* with every event so Page can stamp ownership precisely.\n */\n private installFrameEventBridges(sessionId: SessionId, owner: Page): void {\n const session = this.conn.getSession(sessionId);\n if (!session) return;\n\n session.on<Protocol.Page.FrameAttachedEvent>(\n \"Page.frameAttached\",\n (evt) => {\n const { frameId, parentFrameId } = evt;\n\n owner.onFrameAttached(frameId, parentFrameId ?? null, session);\n\n // If we were waiting for this id (OOPIF child), adopt now.\n const pendingChildSessionId = this.pendingOopifByMainFrame.get(frameId);\n if (pendingChildSessionId) {\n const child = this.conn.getSession(pendingChildSessionId);\n if (child) {\n owner.adoptOopifSession(child, frameId);\n this.sessionOwnerPage.set(child.id, owner);\n // Wire bridges for the child so its Page events keep flowing.\n this.installFrameEventBridges(pendingChildSessionId, owner);\n }\n this.pendingOopifByMainFrame.delete(frameId);\n }\n\n // Track Page ownership for quick reverse lookups (debug helpers).\n this.frameOwnerPage.set(frameId, owner);\n\n // Root handoff: keep mainFrameToTarget aligned for the page\n if (!parentFrameId) {\n const newRoot = owner.mainFrameId();\n const topTargetId = this.findTargetIdByPage(owner);\n if (topTargetId) {\n this.mainFrameToTarget.set(newRoot, topTargetId);\n }\n this.frameOwnerPage.set(newRoot, owner);\n }\n },\n );\n\n session.on<Protocol.Page.FrameDetachedEvent>(\n \"Page.frameDetached\",\n (evt) => {\n owner.onFrameDetached(evt.frameId, evt.reason ?? \"remove\");\n if (evt.reason !== \"swap\") {\n this.frameOwnerPage.delete(evt.frameId);\n }\n },\n );\n\n session.on<Protocol.Page.FrameNavigatedEvent>(\n \"Page.frameNavigated\",\n (evt) => {\n owner.onFrameNavigated(evt.frame, session);\n },\n );\n\n session.on<Protocol.Page.NavigatedWithinDocumentEvent>(\n \"Page.navigatedWithinDocument\",\n (evt) => {\n owner.onNavigatedWithinDocument(evt.frameId, evt.url, session);\n },\n );\n\n // Observe window.open to anticipate default page changes\n session.on<Protocol.Page.WindowOpenEvent>(\"Page.windowOpen\", () => {\n this._notePopupSignal();\n });\n }\n\n /**\n * Register that a session belongs to a Page (used by event routing).\n */\n private wireSessionToOwnerPage(sessionId: SessionId, owner: Page): void {\n this.sessionOwnerPage.set(sessionId, owner);\n }\n\n /**\n * Utility: reverse-lookup the top-level target id that owns a given Page.\n */\n private findTargetIdByPage(page: Page): TargetId | undefined {\n for (const [tid, p] of this.pagesByTarget) {\n if (p === page) return tid;\n }\n return undefined;\n }\n\n private _notePopupSignal(): void {\n this._lastPopupSignalAt = Date.now();\n }\n\n /**\n * Await the current active page, waiting briefly if a popup/open was just triggered.\n * Normal path returns immediately; popup path waits up to timeoutMs for the new page.\n */\n async awaitActivePage(timeoutMs?: number): Promise<Page> {\n const defaultTimeout = this.env === \"BROWSERBASE\" ? 4000 : 2000;\n timeoutMs = timeoutMs ?? defaultTimeout;\n // If a popup was just triggered, Chrome (especially on Browserbase)\n // may briefly pause new targets at document start (\"waiting for debugger\").\n const recentWindowMs = this.env === \"BROWSERBASE\" ? 1000 : 300;\n const now = Date.now();\n const hasRecentPopup = now - this._lastPopupSignalAt <= recentWindowMs;\n\n const immediate = this.activePage();\n if (!hasRecentPopup && immediate) return immediate;\n\n const deadline = now + timeoutMs;\n while (Date.now() < deadline) {\n // Prefer most-recent by createdAt\n let newestTid: TargetId | undefined;\n let newestTs = -1;\n for (const [tid] of this.pagesByTarget) {\n const ts = this.createdAtByTarget.get(tid) ?? 0;\n if (ts > newestTs) {\n newestTs = ts;\n newestTid = tid;\n }\n }\n if (newestTid) {\n const p = this.pagesByTarget.get(newestTid);\n if (p && newestTs >= this._lastPopupSignalAt) return p;\n }\n await new Promise((r) => setTimeout(r, 25));\n }\n if (immediate) return immediate;\n throw new PageNotFoundError(\"awaitActivePage: no page available\");\n }\n\n /**\n * Get all browser cookies, optionally filtered by URL(s).\n *\n * When `urls` is omitted or empty every cookie in the browser context is\n * returned. When one or more URLs are supplied only cookies whose\n * domain/path/secure attributes match are included.\n */\n async cookies(urls?: string | string[]): Promise<Cookie[]> {\n const urlList = !urls ? [] : typeof urls === \"string\" ? [urls] : urls;\n\n const { cookies } = await this.conn.send<{\n cookies: Protocol.Network.Cookie[];\n }>(\"Storage.getCookies\");\n\n const mapped: Cookie[] = cookies.map((c) => ({\n name: c.name,\n value: c.value,\n domain: c.domain,\n path: c.path,\n expires: c.expires,\n httpOnly: c.httpOnly,\n secure: c.secure,\n sameSite: (c.sameSite as Cookie[\"sameSite\"]) ?? \"Lax\",\n }));\n\n return filterCookies(mapped, urlList);\n }\n\n /**\n * Add one or more cookies to the browser context.\n *\n * Each cookie must specify either a `url` (from which domain/path/secure are\n * derived) or an explicit `domain` + `path` pair.\n *\n * We surface CDP errors if the browser rejects a cookie.\n */\n async addCookies(cookies: CookieParam[]): Promise<void> {\n const normalized = normalizeCookieParams(cookies);\n if (!normalized.length) return;\n\n const cdpCookies = normalized.map(toCdpCookieParam);\n\n try {\n await this.conn.send(\"Storage.setCookies\", { cookies: cdpCookies });\n } catch (err) {\n const detail = err instanceof Error ? err.message : String(err);\n const names = normalized.map((c) => `\"${c.name}\"`).join(\", \");\n throw new CookieSetError(\n `Failed to set cookies [${names}] — ` +\n `the browser rejected the batch. Check that the domain, path, and secure/sameSite values are valid.` +\n (detail ? ` (CDP error: ${detail})` : \"\"),\n );\n }\n }\n\n /**\n * Clear cookies from the browser context.\n *\n * - Called with no arguments: clears **all** cookies atomically via\n * `Storage.clearCookies`.\n * - Called with filter options: fetches all cookies, clears everything,\n * then re-adds only the cookies that do NOT match the filter via\n * `Storage.setCookies`. This is necessary on the browser endpoint because\n * the Storage domain does not support targeted deletes.\n */\n async clearCookies(options?: ClearCookieOptions): Promise<void> {\n const hasFilter =\n options?.name !== undefined ||\n options?.domain !== undefined ||\n options?.path !== undefined;\n\n if (!hasFilter) {\n // Atomic single-call wipe — no race condition, no O(N) roundtrips.\n await this.conn.send(\"Storage.clearCookies\");\n return;\n }\n\n const current = await this.cookies();\n const toKeep = current.filter((c) => !cookieMatchesFilter(c, options!));\n\n if (toKeep.length === current.length) return;\n\n // Storage domain doesn't support targeted deletes on the browser endpoint.\n // Clear everything, then re-add only the cookies we're keeping.\n await this.conn.send(\"Storage.clearCookies\");\n if (toKeep.length) {\n try {\n await this.conn.send(\"Storage.setCookies\", {\n cookies: toKeep.map(toCdpCookieParam),\n });\n } catch (err) {\n const detail = err instanceof Error ? err.message : String(err);\n const names = toKeep.map((c) => `\"${c.name}\"`).join(\", \");\n throw new CookieSetError(\n `clearCookies: cookies were cleared but failed to re-add the ${toKeep.length} ` +\n `non-matching cookie(s) [${names}]. The browser cookie jar is now empty. ` +\n (detail ? `(CDP error: ${detail})` : \"\"),\n );\n }\n }\n }\n}\n"]}
@@ -0,0 +1,32 @@
1
+ import { Cookie, CookieParam, ClearCookieOptions } from "../types/public/context.js";
2
+ /**
3
+ * helpers for browser cookie management.
4
+ *
5
+ * Mirrors Playwright's cookie API surface, adapted for direct CDP usage
6
+ * against a single default browser context.
7
+ */
8
+ /**
9
+ * Filter cookies by URL matching (domain, path, secure).
10
+ * If `urls` is empty every cookie passes.
11
+ */
12
+ export declare function filterCookies(cookies: Cookie[], urls: string[]): Cookie[];
13
+ /**
14
+ * Validate and normalise `CookieParam` values before sending to CDP.
15
+ *
16
+ * - Ensures every cookie has either `url` or `domain`+`path`.
17
+ * - When `url` is provided, derives `domain`, `path`, and `secure` from it.
18
+ * - Validates that `sameSite: "None"` is paired with `secure: true`
19
+ * (browsers silently reject this — we throw early with a clear message).
20
+ */
21
+ export declare function normalizeCookieParams(cookies: CookieParam[]): CookieParam[];
22
+ /**
23
+ * Map a Cookie or CookieParam to the shape CDP's Storage.setCookies expects.
24
+ * Session cookies (expires === -1) omit the expires field so CDP treats them
25
+ * as session-scoped.
26
+ */
27
+ export declare function toCdpCookieParam(c: Cookie | CookieParam): Record<string, unknown>;
28
+ /**
29
+ * Returns true if a cookie matches all supplied filter criteria.
30
+ * Undefined filters are treated as "match anything".
31
+ */
32
+ export declare function cookieMatchesFilter(cookie: Cookie, options: ClearCookieOptions): boolean;
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.filterCookies = filterCookies;
4
+ exports.normalizeCookieParams = normalizeCookieParams;
5
+ exports.toCdpCookieParam = toCdpCookieParam;
6
+ exports.cookieMatchesFilter = cookieMatchesFilter;
7
+ const sdkErrors_js_1 = require("../types/public/sdkErrors.js");
8
+ /**
9
+ * helpers for browser cookie management.
10
+ *
11
+ * Mirrors Playwright's cookie API surface, adapted for direct CDP usage
12
+ * against a single default browser context.
13
+ */
14
+ /**
15
+ * Filter cookies by URL matching (domain, path, secure).
16
+ * If `urls` is empty every cookie passes.
17
+ */
18
+ function filterCookies(cookies, urls) {
19
+ if (!urls.length)
20
+ return cookies;
21
+ const parsed = urls.map((u) => {
22
+ try {
23
+ return new URL(u);
24
+ }
25
+ catch {
26
+ throw new sdkErrors_js_1.CookieValidationError(`Invalid URL passed to cookies(): "${u}"`);
27
+ }
28
+ });
29
+ return cookies.filter((c) => {
30
+ for (const url of parsed) {
31
+ let domain = c.domain;
32
+ if (!domain.startsWith("."))
33
+ domain = "." + domain;
34
+ if (!("." + url.hostname).endsWith(domain))
35
+ continue;
36
+ // Path must match on a "/" boundary: cookie path "/foo" should match
37
+ // "/foo" and "/foo/bar" but NOT "/foobar".
38
+ const p = url.pathname;
39
+ if (!p.startsWith(c.path) ||
40
+ (c.path.length < p.length &&
41
+ !c.path.endsWith("/") &&
42
+ p[c.path.length] !== "/"))
43
+ continue;
44
+ const isLoopback = url.hostname === "localhost" ||
45
+ url.hostname === "127.0.0.1" ||
46
+ url.hostname === "[::1]";
47
+ if (url.protocol !== "https:" && !isLoopback && c.secure)
48
+ continue;
49
+ return true;
50
+ }
51
+ return false;
52
+ });
53
+ }
54
+ /**
55
+ * Validate and normalise `CookieParam` values before sending to CDP.
56
+ *
57
+ * - Ensures every cookie has either `url` or `domain`+`path`.
58
+ * - When `url` is provided, derives `domain`, `path`, and `secure` from it.
59
+ * - Validates that `sameSite: "None"` is paired with `secure: true`
60
+ * (browsers silently reject this — we throw early with a clear message).
61
+ */
62
+ function normalizeCookieParams(cookies) {
63
+ return cookies.map((c) => {
64
+ if (!c.url && !(c.domain && c.path)) {
65
+ throw new sdkErrors_js_1.CookieValidationError(`Cookie "${c.name}" must have a url or a domain/path pair`);
66
+ }
67
+ if (c.url && c.domain) {
68
+ throw new sdkErrors_js_1.CookieValidationError(`Cookie "${c.name}" should have either url or domain, not both`);
69
+ }
70
+ if (c.url && c.path) {
71
+ throw new sdkErrors_js_1.CookieValidationError(`Cookie "${c.name}" should have either url or path, not both`);
72
+ }
73
+ if (c.expires !== undefined && c.expires < 0 && c.expires !== -1) {
74
+ throw new sdkErrors_js_1.CookieValidationError(`Cookie "${c.name}" has an invalid expires value; use -1 for session cookies or a positive unix timestamp`);
75
+ }
76
+ const copy = { ...c };
77
+ if (copy.url) {
78
+ if (copy.url === "about:blank") {
79
+ throw new sdkErrors_js_1.CookieValidationError(`Blank page cannot have cookie "${c.name}"`);
80
+ }
81
+ if (copy.url.startsWith("data:")) {
82
+ throw new sdkErrors_js_1.CookieValidationError(`Data URL page cannot have cookie "${c.name}"`);
83
+ }
84
+ let url;
85
+ try {
86
+ url = new URL(copy.url);
87
+ }
88
+ catch {
89
+ throw new sdkErrors_js_1.CookieValidationError(`Cookie "${c.name}" has an invalid url: "${copy.url}"`);
90
+ }
91
+ copy.domain = url.hostname;
92
+ copy.path = url.pathname.substring(0, url.pathname.lastIndexOf("/") + 1);
93
+ copy.secure = url.protocol === "https:";
94
+ delete copy.url;
95
+ }
96
+ // Browsers silently reject SameSite=None cookies that aren't Secure.
97
+ // Catch this early with a clear error instead of a silent CDP failure.
98
+ // Use !copy.secure to catch both explicit false AND undefined (omitted),
99
+ // since CDP defaults secure to false when omitted.
100
+ if (copy.sameSite === "None" && !copy.secure) {
101
+ throw new sdkErrors_js_1.CookieValidationError(`Cookie "${c.name}" has sameSite: "None" without secure: true. ` +
102
+ `Browsers require secure: true when sameSite is "None".`);
103
+ }
104
+ return copy;
105
+ });
106
+ }
107
+ /**
108
+ * Map a Cookie or CookieParam to the shape CDP's Storage.setCookies expects.
109
+ * Session cookies (expires === -1) omit the expires field so CDP treats them
110
+ * as session-scoped.
111
+ */
112
+ function toCdpCookieParam(c) {
113
+ return {
114
+ name: c.name,
115
+ value: c.value,
116
+ domain: c.domain,
117
+ path: c.path,
118
+ expires: c.expires === -1 ? undefined : c.expires,
119
+ httpOnly: c.httpOnly,
120
+ secure: c.secure,
121
+ sameSite: c.sameSite,
122
+ };
123
+ }
124
+ /**
125
+ * Returns true if a cookie matches all supplied filter criteria.
126
+ * Undefined filters are treated as "match anything".
127
+ */
128
+ function cookieMatchesFilter(cookie, options) {
129
+ const check = (prop, value) => {
130
+ if (value === undefined)
131
+ return true;
132
+ if (value instanceof RegExp) {
133
+ value.lastIndex = 0;
134
+ return value.test(cookie[prop]);
135
+ }
136
+ return cookie[prop] === value;
137
+ };
138
+ return (check("name", options.name) &&
139
+ check("domain", options.domain) &&
140
+ check("path", options.path));
141
+ }
142
+ //# sourceMappingURL=cookies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookies.js","sourceRoot":"","sources":["../../../../../lib/v3/understudy/cookies.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Cookie,\n CookieParam,\n ClearCookieOptions,\n} from \"../types/public/context.js\";\nimport { CookieValidationError } from \"../types/public/sdkErrors.js\";\n\n/**\n * helpers for browser cookie management.\n *\n * Mirrors Playwright's cookie API surface, adapted for direct CDP usage\n * against a single default browser context.\n */\n\n/**\n * Filter cookies by URL matching (domain, path, secure).\n * If `urls` is empty every cookie passes.\n */\nexport function filterCookies(cookies: Cookie[], urls: string[]): Cookie[] {\n if (!urls.length) return cookies;\n const parsed = urls.map((u) => {\n try {\n return new URL(u);\n } catch {\n throw new CookieValidationError(\n `Invalid URL passed to cookies(): \"${u}\"`,\n );\n }\n });\n return cookies.filter((c) => {\n for (const url of parsed) {\n let domain = c.domain;\n if (!domain.startsWith(\".\")) domain = \".\" + domain;\n if (!(\".\" + url.hostname).endsWith(domain)) continue;\n // Path must match on a \"/\" boundary: cookie path \"/foo\" should match\n // \"/foo\" and \"/foo/bar\" but NOT \"/foobar\".\n const p = url.pathname;\n if (\n !p.startsWith(c.path) ||\n (c.path.length < p.length &&\n !c.path.endsWith(\"/\") &&\n p[c.path.length] !== \"/\")\n )\n continue;\n const isLoopback =\n url.hostname === \"localhost\" ||\n url.hostname === \"127.0.0.1\" ||\n url.hostname === \"[::1]\";\n if (url.protocol !== \"https:\" && !isLoopback && c.secure) continue;\n return true;\n }\n return false;\n });\n}\n\n/**\n * Validate and normalise `CookieParam` values before sending to CDP.\n *\n * - Ensures every cookie has either `url` or `domain`+`path`.\n * - When `url` is provided, derives `domain`, `path`, and `secure` from it.\n * - Validates that `sameSite: \"None\"` is paired with `secure: true`\n * (browsers silently reject this — we throw early with a clear message).\n */\nexport function normalizeCookieParams(cookies: CookieParam[]): CookieParam[] {\n return cookies.map((c) => {\n if (!c.url && !(c.domain && c.path)) {\n throw new CookieValidationError(\n `Cookie \"${c.name}\" must have a url or a domain/path pair`,\n );\n }\n if (c.url && c.domain) {\n throw new CookieValidationError(\n `Cookie \"${c.name}\" should have either url or domain, not both`,\n );\n }\n if (c.url && c.path) {\n throw new CookieValidationError(\n `Cookie \"${c.name}\" should have either url or path, not both`,\n );\n }\n if (c.expires !== undefined && c.expires < 0 && c.expires !== -1) {\n throw new CookieValidationError(\n `Cookie \"${c.name}\" has an invalid expires value; use -1 for session cookies or a positive unix timestamp`,\n );\n }\n\n const copy = { ...c };\n if (copy.url) {\n if (copy.url === \"about:blank\") {\n throw new CookieValidationError(\n `Blank page cannot have cookie \"${c.name}\"`,\n );\n }\n if (copy.url.startsWith(\"data:\")) {\n throw new CookieValidationError(\n `Data URL page cannot have cookie \"${c.name}\"`,\n );\n }\n let url: URL;\n try {\n url = new URL(copy.url);\n } catch {\n throw new CookieValidationError(\n `Cookie \"${c.name}\" has an invalid url: \"${copy.url}\"`,\n );\n }\n copy.domain = url.hostname;\n copy.path = url.pathname.substring(0, url.pathname.lastIndexOf(\"/\") + 1);\n copy.secure = url.protocol === \"https:\";\n delete copy.url;\n }\n\n // Browsers silently reject SameSite=None cookies that aren't Secure.\n // Catch this early with a clear error instead of a silent CDP failure.\n // Use !copy.secure to catch both explicit false AND undefined (omitted),\n // since CDP defaults secure to false when omitted.\n if (copy.sameSite === \"None\" && !copy.secure) {\n throw new CookieValidationError(\n `Cookie \"${c.name}\" has sameSite: \"None\" without secure: true. ` +\n `Browsers require secure: true when sameSite is \"None\".`,\n );\n }\n\n return copy;\n });\n}\n\n/**\n * Map a Cookie or CookieParam to the shape CDP's Storage.setCookies expects.\n * Session cookies (expires === -1) omit the expires field so CDP treats them\n * as session-scoped.\n */\nexport function toCdpCookieParam(\n c: Cookie | CookieParam,\n): Record<string, unknown> {\n return {\n name: c.name,\n value: c.value,\n domain: c.domain,\n path: c.path,\n expires: c.expires === -1 ? undefined : c.expires,\n httpOnly: c.httpOnly,\n secure: c.secure,\n sameSite: c.sameSite,\n };\n}\n\n/**\n * Returns true if a cookie matches all supplied filter criteria.\n * Undefined filters are treated as \"match anything\".\n */\nexport function cookieMatchesFilter(\n cookie: Cookie,\n options: ClearCookieOptions,\n): boolean {\n const check = (\n prop: \"name\" | \"domain\" | \"path\",\n value: string | RegExp | undefined,\n ): boolean => {\n if (value === undefined) return true;\n if (value instanceof RegExp) {\n value.lastIndex = 0;\n return value.test(cookie[prop]);\n }\n return cookie[prop] === value;\n };\n return (\n check(\"name\", options.name) &&\n check(\"domain\", options.domain) &&\n check(\"path\", options.path)\n );\n}\n"]}
@@ -0,0 +1,87 @@
1
+ import { Locator } from "./locator.js";
2
+ import type { Frame } from "./frame.js";
3
+ import type { Page } from "./page.js";
4
+ export type ResolvedLocatorTarget = {
5
+ frame: Frame;
6
+ selector: string;
7
+ };
8
+ /** Build a Locator scoped to the correct frame for a deep XPath crossing iframes. */
9
+ export declare function deepLocatorThroughIframes(page: Page, root: Frame, xpathOrSelector: string): Promise<Locator>;
10
+ /**
11
+ * Unified resolver that supports '>>' hop notation, deep XPath across iframes,
12
+ * and plain single-frame selectors. Keeps hop logic in one shared place.
13
+ */
14
+ export declare function resolveLocatorTarget(page: Page, root: Frame, selectorRaw: string): Promise<ResolvedLocatorTarget>;
15
+ export declare function resolveLocatorWithHops(page: Page, root: Frame, selectorRaw: string): Promise<Locator>;
16
+ /**
17
+ * DeepLocatorDelegate: a lightweight wrapper that looks like a Locator and
18
+ * resolves to the correct frame/element on each call using hop/deep-XPath logic.
19
+ *
20
+ * Returned by `page.deepLocator()` for ergonomic, await-free chaining:
21
+ * page.deepLocator('iframe#ifrA >> #btn').click()
22
+ */
23
+ export declare class DeepLocatorDelegate {
24
+ private readonly page;
25
+ private readonly root;
26
+ private readonly selector;
27
+ private readonly nthIndex;
28
+ constructor(page: Page, root: Frame, selector: string, nthIndex?: number);
29
+ private real;
30
+ click(options?: {
31
+ button?: "left" | "right" | "middle";
32
+ clickCount?: number;
33
+ }): Promise<void>;
34
+ count(): Promise<number>;
35
+ hover(): Promise<void>;
36
+ fill(value: string): Promise<void>;
37
+ type(text: string, options?: {
38
+ delay?: number;
39
+ }): Promise<void>;
40
+ selectOption(values: string | string[]): Promise<string[]>;
41
+ scrollTo(percent: number | string): Promise<void>;
42
+ isVisible(): Promise<boolean>;
43
+ isChecked(): Promise<boolean>;
44
+ inputValue(): Promise<string>;
45
+ textContent(): Promise<string>;
46
+ innerHtml(): Promise<string>;
47
+ innerText(): Promise<string>;
48
+ centroid(): Promise<{
49
+ x: number;
50
+ y: number;
51
+ }>;
52
+ backendNodeId(): Promise<number>;
53
+ highlight(options?: {
54
+ durationMs?: number;
55
+ borderColor?: {
56
+ r: number;
57
+ g: number;
58
+ b: number;
59
+ a?: number;
60
+ };
61
+ contentColor?: {
62
+ r: number;
63
+ g: number;
64
+ b: number;
65
+ a?: number;
66
+ };
67
+ }): Promise<void>;
68
+ sendClickEvent(options?: {
69
+ bubbles?: boolean;
70
+ cancelable?: boolean;
71
+ composed?: boolean;
72
+ detail?: number;
73
+ }): Promise<void>;
74
+ setInputFiles(files: string | string[] | {
75
+ name: string;
76
+ mimeType: string;
77
+ buffer: ArrayBuffer | Uint8Array | Buffer | string;
78
+ } | Array<{
79
+ name: string;
80
+ mimeType: string;
81
+ buffer: ArrayBuffer | Uint8Array | Buffer | string;
82
+ }>): Promise<void>;
83
+ first(): DeepLocatorDelegate;
84
+ nth(index: number): DeepLocatorDelegate;
85
+ }
86
+ /** Factory to create a deep locator delegate from a Page + root frame. */
87
+ export declare function deepLocatorFromPage(page: Page, root: Frame, selector: string): DeepLocatorDelegate;