@browserbasehq/orca 3.0.9-alpha-3 → 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 +58 -30
  1555. package/dist/index.d.ts +0 -4321
  1556. package/dist/index.js +0 -69585
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keep-alive.child.js","sourceRoot":"","sources":["../../../../tests/integration/keep-alive.child.ts"],"names":[],"mappings":"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","sourcesContent":["import { V3 } from \"../../lib/v3/v3.js\";\n\nasync function main(): Promise<void> {\n const encoded = process.argv.find((arg) => arg.startsWith(\"cfg:\"));\n if (!encoded) {\n throw new Error(\"Missing child config payload.\");\n }\n const raw = Buffer.from(encoded.slice(4), \"base64\").toString(\"utf8\");\n const cfg = JSON.parse(raw) as {\n env: \"LOCAL\" | \"BROWSERBASE\";\n keepAlive: boolean;\n disableAPI: boolean;\n scenario: string;\n apiKey?: string;\n projectId?: string;\n debug?: boolean;\n viewMs?: number;\n };\n const {\n env,\n keepAlive,\n disableAPI,\n scenario,\n apiKey,\n projectId,\n debug = false,\n viewMs = 0,\n } = cfg;\n\n const log = (message: string): void => {\n if (debug) {\n console.log(message);\n }\n };\n\n if (env !== \"LOCAL\" && env !== \"BROWSERBASE\") {\n throw new Error(\"KEEP_ALIVE_ENV must be LOCAL or BROWSERBASE\");\n }\n if (!scenario) {\n throw new Error(\"KEEP_ALIVE_SCENARIO is required\");\n }\n\n log(\n `[keep-alive-child] env=${env} keepAlive=${keepAlive} disableAPI=${disableAPI} ` +\n `scenario=${scenario} apiKey=${apiKey ? \"set\" : \"missing\"} ` +\n `projectId=${projectId ? \"set\" : \"missing\"}`,\n );\n\n const showBrowser = viewMs > 0;\n const v3 = new V3({\n env,\n keepAlive,\n disableAPI,\n apiKey,\n projectId,\n browserbaseSessionCreateParams: undefined,\n localBrowserLaunchOptions:\n env === \"LOCAL\"\n ? {\n executablePath: process.env.CHROME_PATH,\n args: process.env.CI ? [\"--no-sandbox\"] : undefined,\n headless: !showBrowser,\n viewport: { width: 1288, height: 711 },\n }\n : undefined,\n verbose: debug ? 2 : 0,\n disablePino: true,\n logger: debug ? (line) => console.log(line) : undefined,\n });\n\n await v3.init();\n\n const info = {\n connectURL: v3.connectURL(),\n sessionId: v3.browserbaseSessionId ?? null,\n };\n await new Promise<void>((resolve, reject) => {\n process.stdout.write(`__KEEPALIVE__${JSON.stringify(info)}\\n`, (error) => {\n if (error) {\n reject(error);\n return;\n }\n resolve();\n });\n });\n\n if (env === \"LOCAL\" && viewMs > 0) {\n await new Promise((r) => setTimeout(r, viewMs));\n }\n\n if (scenario === \"close\") {\n await v3.close().catch(() => {});\n process.exit(0);\n }\n\n if (scenario === \"sigterm\") {\n return;\n }\n\n if (scenario === \"sigint\") {\n return;\n }\n\n if (scenario === \"unhandled\") {\n setTimeout(() => {\n void Promise.reject(new Error(\"keepAlive unhandled rejection\"));\n }, 0);\n return;\n }\n\n throw new Error(`Unknown scenario: ${scenario}`);\n}\n\nmain().catch((err) => {\n console.error(err);\n process.exit(1);\n});\n"]}
@@ -0,0 +1,22 @@
1
+ export type EnvKind = "LOCAL" | "BROWSERBASE";
2
+ export type ScenarioKind = "unhandled" | "close" | "sigterm" | "sigint";
3
+ export type KeepAliveCase = {
4
+ title: string;
5
+ env: EnvKind;
6
+ envLabel: string;
7
+ keepAlive: boolean;
8
+ disableAPI: boolean;
9
+ kind: ScenarioKind;
10
+ requiresBrowserbase: boolean;
11
+ };
12
+ export declare function getKeepAliveEnvConfig(): {
13
+ testEnv: EnvKind;
14
+ apiKey?: string;
15
+ projectId?: string;
16
+ hasBrowserbaseCreds: boolean;
17
+ };
18
+ export declare function buildKeepAliveCases(testEnv: EnvKind): KeepAliveCase[];
19
+ export declare function runKeepAliveCase(testCase: KeepAliveCase, envConfig: {
20
+ apiKey?: string;
21
+ projectId?: string;
22
+ }): Promise<void>;
@@ -0,0 +1,482 @@
1
+ import { test } from "@playwright/test";
2
+ import { spawn } from "node:child_process";
3
+ import fs from "node:fs";
4
+ import Browserbase from "@browserbasehq/sdk";
5
+ import WebSocket from "ws";
6
+ import { v3DynamicTestConfig } from "./v3.dynamic.config.js";
7
+ import { getPackageRootDir } from "../../lib/v3/runtimePaths.js";
8
+ const coreDir = getPackageRootDir();
9
+ const resolveChildRunner = () => {
10
+ const distJsPath = `${coreDir}/dist/esm/tests/integration/keep-alive.child.js`;
11
+ if (fs.existsSync(distJsPath)) {
12
+ return { command: process.execPath, args: [distJsPath] };
13
+ }
14
+ return null;
15
+ };
16
+ const childRunner = resolveChildRunner();
17
+ const DEBUG = process.env.KEEP_ALIVE_DEBUG === "1";
18
+ const VIEW_MS = Number(process.env.KEEP_ALIVE_VIEW_MS ?? "0");
19
+ const LOCAL_TIMEOUT_MS = Number(process.env.KEEP_ALIVE_LOCAL_TIMEOUT_MS ?? "8000");
20
+ const BB_TIMEOUT_MS = Number(process.env.KEEP_ALIVE_BB_TIMEOUT_MS ?? "30000");
21
+ const STAY_OPEN_MS = Number(process.env.KEEP_ALIVE_STAY_OPEN_MS ?? "6000");
22
+ const ACTION_EXIT_TIMEOUT_MS = Number(process.env.KEEP_ALIVE_ACTION_EXIT_TIMEOUT_MS ?? "3000");
23
+ const LOCAL_INFO_TIMEOUT_MS = Number(process.env.KEEP_ALIVE_LOCAL_INFO_TIMEOUT_MS ?? "15000");
24
+ const BB_INFO_TIMEOUT_MS = Number(process.env.KEEP_ALIVE_BB_INFO_TIMEOUT_MS ??
25
+ (process.env.CI ? "45000" : "30000"));
26
+ const getInfoTimeoutMs = (env) => env === "BROWSERBASE" ? BB_INFO_TIMEOUT_MS : LOCAL_INFO_TIMEOUT_MS;
27
+ function debugLog(message) {
28
+ if (DEBUG) {
29
+ console.log(message);
30
+ }
31
+ }
32
+ function parseChildInfo(line) {
33
+ const prefix = "__KEEPALIVE__";
34
+ if (!line.startsWith(prefix))
35
+ return null;
36
+ try {
37
+ return JSON.parse(line.slice(prefix.length));
38
+ }
39
+ catch {
40
+ return null;
41
+ }
42
+ }
43
+ async function runScenario(config) {
44
+ const payload = {
45
+ env: config.env,
46
+ keepAlive: config.keepAlive,
47
+ disableAPI: config.disableAPI,
48
+ scenario: config.kind,
49
+ apiKey: config.apiKey,
50
+ projectId: config.projectId,
51
+ debug: config.debug,
52
+ viewMs: config.viewMs,
53
+ };
54
+ const encoded = `cfg:${Buffer.from(JSON.stringify(payload)).toString("base64")}`;
55
+ if (!childRunner) {
56
+ throw new Error("keep-alive child script not found at dist/esm/tests/integration/keep-alive.child.js");
57
+ }
58
+ const child = spawn(childRunner.command, [...childRunner.args, encoded], {
59
+ cwd: coreDir,
60
+ env: { ...process.env },
61
+ stdio: ["ignore", "pipe", "pipe"],
62
+ });
63
+ const logs = { stdout: [], stderr: [] };
64
+ let buffer = "";
65
+ let stderr = "";
66
+ let resolved = false;
67
+ const infoTimeoutMs = getInfoTimeoutMs(config.env);
68
+ const infoPromise = new Promise((resolve, reject) => {
69
+ const timeout = setTimeout(() => {
70
+ child.kill("SIGKILL");
71
+ const stdoutDetails = logs.stdout.length > 0
72
+ ? `\nChild stdout:\n${logs.stdout.join("\n")}`
73
+ : "";
74
+ const details = stderr.trim();
75
+ const suffix = details
76
+ ? `\nChild stderr:\n${details}`
77
+ : "\nChild did not emit keepAlive info.";
78
+ reject(new Error(`Child timed out waiting for info after ${infoTimeoutMs}ms (env=${config.env}, keepAlive=${config.keepAlive}, disableAPI=${config.disableAPI}, scenario=${config.kind}).${suffix}${stdoutDetails}`));
79
+ }, infoTimeoutMs);
80
+ child.stdout.on("data", (chunk) => {
81
+ buffer += chunk.toString();
82
+ let idx = buffer.indexOf("\n");
83
+ while (idx !== -1) {
84
+ const line = buffer.slice(0, idx).trim();
85
+ buffer = buffer.slice(idx + 1);
86
+ const parsed = parseChildInfo(line);
87
+ if (parsed && !resolved) {
88
+ resolved = true;
89
+ clearTimeout(timeout);
90
+ resolve(parsed);
91
+ }
92
+ else if (line.length > 0) {
93
+ logs.stdout.push(line);
94
+ debugLog(`[keep-alive-child] ${line}`);
95
+ }
96
+ idx = buffer.indexOf("\n");
97
+ }
98
+ });
99
+ child.on("exit", (code, signal) => {
100
+ if (resolved)
101
+ return;
102
+ clearTimeout(timeout);
103
+ const stdoutDetails = logs.stdout.length > 0
104
+ ? `\nChild stdout:\n${logs.stdout.join("\n")}`
105
+ : "";
106
+ const details = stderr.trim();
107
+ const suffix = details
108
+ ? `\nChild stderr:\n${details}`
109
+ : "\nChild exited without emitting keepAlive info.";
110
+ reject(new Error(`Child exited (code=${code ?? "null"}, signal=${signal ?? "null"}) before emitting keepAlive info (env=${config.env}, keepAlive=${config.keepAlive}, disableAPI=${config.disableAPI}, scenario=${config.kind}).${suffix}${stdoutDetails}`));
111
+ });
112
+ child.on("error", (error) => {
113
+ if (resolved)
114
+ return;
115
+ clearTimeout(timeout);
116
+ reject(error);
117
+ });
118
+ });
119
+ child.stderr.on("data", (chunk) => {
120
+ const text = chunk.toString();
121
+ stderr += text;
122
+ const trimmed = text.trim();
123
+ if (trimmed.length > 0) {
124
+ logs.stderr.push(trimmed);
125
+ debugLog(`[keep-alive-child] ${trimmed}`);
126
+ }
127
+ });
128
+ const info = await infoPromise;
129
+ return { info, child, logs };
130
+ }
131
+ async function stopChild(child) {
132
+ if (child.exitCode !== null)
133
+ return;
134
+ try {
135
+ child.kill("SIGKILL");
136
+ }
137
+ catch {
138
+ return;
139
+ }
140
+ await new Promise((resolve) => {
141
+ const timer = setTimeout(() => resolve(), 2000);
142
+ child.once("exit", () => {
143
+ clearTimeout(timer);
144
+ resolve();
145
+ });
146
+ });
147
+ }
148
+ async function waitForChildExit(child, timeoutMs) {
149
+ if (child.exitCode !== null)
150
+ return;
151
+ await new Promise((resolve) => {
152
+ const timer = setTimeout(() => resolve(), timeoutMs);
153
+ child.once("exit", () => {
154
+ clearTimeout(timer);
155
+ resolve();
156
+ });
157
+ });
158
+ }
159
+ async function checkLocalAlive(connectURL) {
160
+ let port;
161
+ try {
162
+ port = new URL(connectURL).port;
163
+ }
164
+ catch {
165
+ return { alive: false, status: "INVALID_URL" };
166
+ }
167
+ if (!port)
168
+ return { alive: false, status: "MISSING_PORT" };
169
+ const controller = new AbortController();
170
+ const timer = setTimeout(() => controller.abort(), 1500);
171
+ try {
172
+ const resp = await fetch(`http://127.0.0.1:${port}/json/version`, {
173
+ signal: controller.signal,
174
+ });
175
+ if (!resp.ok) {
176
+ return { alive: false, status: `HTTP_${resp.status}` };
177
+ }
178
+ const json = (await resp.json());
179
+ const ws = json?.webSocketDebuggerUrl;
180
+ if (!ws) {
181
+ return { alive: false, status: "MISSING_WS" };
182
+ }
183
+ if (ws !== connectURL) {
184
+ return { alive: false, status: "WS_MISMATCH" };
185
+ }
186
+ return { alive: true, status: "MATCH" };
187
+ }
188
+ catch {
189
+ return { alive: false, status: "FETCH_ERROR" };
190
+ }
191
+ finally {
192
+ clearTimeout(timer);
193
+ }
194
+ }
195
+ async function closeLocalBrowser(connectURL) {
196
+ await new Promise((resolve) => {
197
+ const ws = new WebSocket(connectURL);
198
+ const timer = setTimeout(() => {
199
+ ws.terminate();
200
+ resolve();
201
+ }, 2000);
202
+ ws.on("open", () => {
203
+ ws.send(JSON.stringify({ id: 1, method: "Browser.close" }));
204
+ });
205
+ ws.on("error", () => {
206
+ clearTimeout(timer);
207
+ resolve();
208
+ });
209
+ ws.on("close", () => {
210
+ clearTimeout(timer);
211
+ resolve();
212
+ });
213
+ });
214
+ }
215
+ async function checkBrowserbaseAlive(sessionId, apiKey) {
216
+ if (!apiKey)
217
+ return { alive: false, status: "NO_API_KEY" };
218
+ const bb = new Browserbase({ apiKey });
219
+ try {
220
+ const snapshot = (await bb.sessions.retrieve(sessionId));
221
+ if (DEBUG) {
222
+ const status = snapshot?.status ?? "<missing>";
223
+ debugLog(`[keep-alive] session ${sessionId} status=${status}`);
224
+ }
225
+ const status = snapshot?.status;
226
+ return { alive: status === "RUNNING", status };
227
+ }
228
+ catch (error) {
229
+ debugLog(`[keep-alive] session ${sessionId} retrieve failed: ${String(error)}`);
230
+ return { alive: false, status: "RETRIEVE_FAILED" };
231
+ }
232
+ }
233
+ async function endBrowserbaseSession(sessionId, apiKey, projectId) {
234
+ if (!apiKey || !projectId)
235
+ return;
236
+ const bb = new Browserbase({ apiKey });
237
+ try {
238
+ await bb.sessions.update(sessionId, {
239
+ status: "REQUEST_RELEASE",
240
+ projectId,
241
+ });
242
+ }
243
+ catch {
244
+ // best-effort cleanup
245
+ }
246
+ }
247
+ async function assertStaysOpen(check, durationMs, intervalMs = 500) {
248
+ const start = Date.now();
249
+ const deadline = start + durationMs;
250
+ let lastStatus;
251
+ while (Date.now() < deadline) {
252
+ const result = await check();
253
+ lastStatus = result.status ?? lastStatus;
254
+ if (!result.alive) {
255
+ const elapsed = Date.now() - start;
256
+ const status = lastStatus ? ` (last status ${lastStatus})` : "";
257
+ throw new Error(`Browser closed after ${elapsed}ms (expected ${durationMs}ms)${status}.`);
258
+ }
259
+ await new Promise((r) => setTimeout(r, intervalMs));
260
+ }
261
+ return { durationMs: Date.now() - start, lastStatus };
262
+ }
263
+ async function waitForClosed(check, timeoutMs, intervalMs = 500) {
264
+ const start = Date.now();
265
+ let lastStatus;
266
+ while (Date.now() - start < timeoutMs) {
267
+ const result = await check();
268
+ lastStatus = result.status ?? lastStatus;
269
+ if (!result.alive) {
270
+ return { durationMs: Date.now() - start, lastStatus };
271
+ }
272
+ await new Promise((r) => setTimeout(r, intervalMs));
273
+ }
274
+ const status = lastStatus ? ` (last status ${lastStatus})` : "";
275
+ throw new Error(`Browser still alive after ${timeoutMs}ms${status}.`);
276
+ }
277
+ async function assertBrowserState(env, info, shouldStayOpen, apiKey, projectId) {
278
+ const expected = shouldStayOpen ? "open" : "closed";
279
+ if (env === "LOCAL") {
280
+ if (shouldStayOpen) {
281
+ const result = await assertStaysOpen(() => checkLocalAlive(info.connectURL), STAY_OPEN_MS);
282
+ const outcome = {
283
+ expected,
284
+ actual: "open",
285
+ durationMs: result.durationMs,
286
+ lastStatus: result.lastStatus,
287
+ };
288
+ await closeLocalBrowser(info.connectURL);
289
+ return outcome;
290
+ }
291
+ const result = await waitForClosed(() => checkLocalAlive(info.connectURL), LOCAL_TIMEOUT_MS);
292
+ return {
293
+ expected,
294
+ actual: "closed",
295
+ durationMs: result.durationMs,
296
+ lastStatus: result.lastStatus,
297
+ };
298
+ }
299
+ if (!info.sessionId) {
300
+ throw new Error("Browserbase sessionId missing");
301
+ }
302
+ if (shouldStayOpen) {
303
+ const result = await assertStaysOpen(() => checkBrowserbaseAlive(info.sessionId, apiKey), STAY_OPEN_MS, 1000);
304
+ const outcome = {
305
+ expected,
306
+ actual: "open",
307
+ durationMs: result.durationMs,
308
+ lastStatus: result.lastStatus,
309
+ };
310
+ await endBrowserbaseSession(info.sessionId, apiKey, projectId);
311
+ return outcome;
312
+ }
313
+ const result = await waitForClosed(() => checkBrowserbaseAlive(info.sessionId, apiKey), BB_TIMEOUT_MS, 1000);
314
+ return {
315
+ expected,
316
+ actual: "closed",
317
+ durationMs: result.durationMs,
318
+ lastStatus: result.lastStatus,
319
+ };
320
+ }
321
+ function dumpLogs(logs) {
322
+ if (logs.stdout.length > 0) {
323
+ console.log("[keep-alive] child stdout:");
324
+ for (const line of logs.stdout) {
325
+ console.log(` ${line}`);
326
+ }
327
+ }
328
+ if (logs.stderr.length > 0) {
329
+ console.log("[keep-alive] child stderr:");
330
+ for (const line of logs.stderr) {
331
+ console.log(` ${line}`);
332
+ }
333
+ }
334
+ }
335
+ function logCaseResult(label, envLabel, keepAlive, outcome, error) {
336
+ const prefix = `[keep-alive] ${envLabel} keepAlive=${keepAlive} ${label}`;
337
+ if (error) {
338
+ console.log(`${prefix} FAIL: ${error.message}`);
339
+ return;
340
+ }
341
+ if (!outcome) {
342
+ console.log(`${prefix} FAIL: missing outcome`);
343
+ return;
344
+ }
345
+ const status = outcome.lastStatus !== undefined
346
+ ? ` (last status ${outcome.lastStatus})`
347
+ : "";
348
+ if (outcome.actual === "open") {
349
+ console.log(`${prefix} PASS: stayed open for ${outcome.durationMs}ms${status}`);
350
+ }
351
+ else {
352
+ console.log(`${prefix} PASS: closed after ${outcome.durationMs}ms${status}`);
353
+ }
354
+ }
355
+ export function getKeepAliveEnvConfig() {
356
+ const testEnv = v3DynamicTestConfig.env;
357
+ const apiKey = testEnv === "BROWSERBASE"
358
+ ? v3DynamicTestConfig.apiKey
359
+ : undefined;
360
+ const projectId = testEnv === "BROWSERBASE"
361
+ ? v3DynamicTestConfig.projectId
362
+ : undefined;
363
+ const hasBrowserbaseCreds = Boolean(apiKey && projectId);
364
+ return { testEnv, apiKey, projectId, hasBrowserbaseCreds };
365
+ }
366
+ export function buildKeepAliveCases(testEnv) {
367
+ const scenarios = [
368
+ { kind: "unhandled", label: "unhandled rejection" },
369
+ { kind: "close", label: "stagehand.close()" },
370
+ { kind: "sigterm", label: "SIGTERM" },
371
+ { kind: "sigint", label: "SIGINT" },
372
+ ];
373
+ const environments = testEnv === "BROWSERBASE"
374
+ ? [
375
+ {
376
+ env: "BROWSERBASE",
377
+ label: "bb direct ws",
378
+ disableAPI: true,
379
+ requiresBrowserbase: true,
380
+ },
381
+ {
382
+ env: "BROWSERBASE",
383
+ label: "bb via api",
384
+ disableAPI: false,
385
+ requiresBrowserbase: true,
386
+ },
387
+ ]
388
+ : [
389
+ {
390
+ env: "LOCAL",
391
+ label: "local",
392
+ disableAPI: false,
393
+ requiresBrowserbase: false,
394
+ },
395
+ ];
396
+ const cases = [];
397
+ for (const keepAlive of [true, false]) {
398
+ for (const envConfig of environments) {
399
+ for (const scenario of scenarios) {
400
+ const expectation = keepAlive ? "expect open" : "expect closed";
401
+ cases.push({
402
+ title: `${envConfig.label} keepAlive=${keepAlive} ${scenario.label} (${expectation})`,
403
+ env: envConfig.env,
404
+ envLabel: envConfig.label,
405
+ keepAlive,
406
+ disableAPI: envConfig.disableAPI,
407
+ kind: scenario.kind,
408
+ requiresBrowserbase: envConfig.requiresBrowserbase,
409
+ });
410
+ }
411
+ }
412
+ }
413
+ return cases;
414
+ }
415
+ export async function runKeepAliveCase(testCase, envConfig) {
416
+ let info;
417
+ let child;
418
+ let logs;
419
+ try {
420
+ ({ info, child, logs } = await runScenario({
421
+ env: testCase.env,
422
+ keepAlive: testCase.keepAlive,
423
+ disableAPI: testCase.disableAPI,
424
+ kind: testCase.kind,
425
+ debug: DEBUG,
426
+ viewMs: VIEW_MS,
427
+ apiKey: envConfig.apiKey,
428
+ projectId: envConfig.projectId,
429
+ }));
430
+ }
431
+ catch (error) {
432
+ logCaseResult(testCase.title, testCase.envLabel, testCase.keepAlive, undefined, error);
433
+ throw error;
434
+ }
435
+ if (testCase.kind === "sigterm") {
436
+ child.kill("SIGTERM");
437
+ }
438
+ else if (testCase.kind === "sigint") {
439
+ child.kill("SIGINT");
440
+ }
441
+ let outcome;
442
+ let failure;
443
+ try {
444
+ if (testCase.kind === "close" ||
445
+ testCase.kind === "unhandled" ||
446
+ testCase.kind === "sigterm" ||
447
+ testCase.kind === "sigint") {
448
+ await waitForChildExit(child, ACTION_EXIT_TIMEOUT_MS);
449
+ }
450
+ outcome = await assertBrowserState(testCase.env, info, testCase.keepAlive, envConfig.apiKey, envConfig.projectId);
451
+ }
452
+ catch (error) {
453
+ failure = error;
454
+ if (logs) {
455
+ dumpLogs(logs);
456
+ }
457
+ throw error;
458
+ }
459
+ finally {
460
+ logCaseResult(testCase.title, testCase.envLabel, testCase.keepAlive, outcome, failure);
461
+ await stopChild(child);
462
+ if (testCase.env === "LOCAL" && info.connectURL) {
463
+ await closeLocalBrowser(info.connectURL);
464
+ }
465
+ if (testCase.env === "BROWSERBASE" && info.sessionId) {
466
+ await endBrowserbaseSession(info.sessionId, envConfig.apiKey, envConfig.projectId);
467
+ }
468
+ }
469
+ }
470
+ test.describe.parallel("keepAlive behavior", () => {
471
+ const { testEnv, apiKey, projectId, hasBrowserbaseCreds } = getKeepAliveEnvConfig();
472
+ const cases = buildKeepAliveCases(testEnv);
473
+ for (const testCase of cases) {
474
+ test(testCase.title, async () => {
475
+ if (testCase.requiresBrowserbase) {
476
+ test.skip(!hasBrowserbaseCreds, "Browserbase credentials required");
477
+ }
478
+ await runKeepAliveCase(testCase, { apiKey, projectId });
479
+ });
480
+ }
481
+ });
482
+ //# sourceMappingURL=keep-alive.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keep-alive.spec.js","sourceRoot":"","sources":["../../../../tests/integration/keep-alive.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { test } from \"@playwright/test\";\nimport { spawn } from \"node:child_process\";\nimport fs from \"node:fs\";\nimport Browserbase from \"@browserbasehq/sdk\";\nimport WebSocket from \"ws\";\nimport { v3DynamicTestConfig } from \"./v3.dynamic.config.js\";\nimport { getPackageRootDir } from \"../../lib/v3/runtimePaths.js\";\n\nexport type EnvKind = \"LOCAL\" | \"BROWSERBASE\";\nexport type ScenarioKind = \"unhandled\" | \"close\" | \"sigterm\" | \"sigint\";\n\nexport type KeepAliveCase = {\n title: string;\n env: EnvKind;\n envLabel: string;\n keepAlive: boolean;\n disableAPI: boolean;\n kind: ScenarioKind;\n requiresBrowserbase: boolean;\n};\n\ntype ScenarioConfig = {\n env: EnvKind;\n keepAlive: boolean;\n disableAPI: boolean;\n kind: ScenarioKind;\n debug: boolean;\n viewMs: number;\n apiKey?: string;\n projectId?: string;\n};\n\ntype ChildInfo = {\n connectURL: string;\n sessionId: string | null;\n};\n\ntype ChildLogs = {\n stdout: string[];\n stderr: string[];\n};\n\ntype CheckResult = {\n alive: boolean;\n status?: string;\n};\n\ntype Outcome = {\n expected: \"open\" | \"closed\";\n actual: \"open\" | \"closed\";\n durationMs: number;\n lastStatus?: string;\n};\n\nconst coreDir = getPackageRootDir();\n\nconst resolveChildRunner = (): { command: string; args: string[] } | null => {\n const distJsPath = `${coreDir}/dist/esm/tests/integration/keep-alive.child.js`;\n if (fs.existsSync(distJsPath)) {\n return { command: process.execPath, args: [distJsPath] };\n }\n\n return null;\n};\n\nconst childRunner = resolveChildRunner();\n\nconst DEBUG = process.env.KEEP_ALIVE_DEBUG === \"1\";\nconst VIEW_MS = Number(process.env.KEEP_ALIVE_VIEW_MS ?? \"0\");\nconst LOCAL_TIMEOUT_MS = Number(\n process.env.KEEP_ALIVE_LOCAL_TIMEOUT_MS ?? \"8000\",\n);\nconst BB_TIMEOUT_MS = Number(process.env.KEEP_ALIVE_BB_TIMEOUT_MS ?? \"30000\");\nconst STAY_OPEN_MS = Number(process.env.KEEP_ALIVE_STAY_OPEN_MS ?? \"6000\");\nconst ACTION_EXIT_TIMEOUT_MS = Number(\n process.env.KEEP_ALIVE_ACTION_EXIT_TIMEOUT_MS ?? \"3000\",\n);\nconst LOCAL_INFO_TIMEOUT_MS = Number(\n process.env.KEEP_ALIVE_LOCAL_INFO_TIMEOUT_MS ?? \"15000\",\n);\nconst BB_INFO_TIMEOUT_MS = Number(\n process.env.KEEP_ALIVE_BB_INFO_TIMEOUT_MS ??\n (process.env.CI ? \"45000\" : \"30000\"),\n);\n\nconst getInfoTimeoutMs = (env: EnvKind): number =>\n env === \"BROWSERBASE\" ? BB_INFO_TIMEOUT_MS : LOCAL_INFO_TIMEOUT_MS;\n\nfunction debugLog(message: string): void {\n if (DEBUG) {\n console.log(message);\n }\n}\n\nfunction parseChildInfo(line: string): ChildInfo | null {\n const prefix = \"__KEEPALIVE__\";\n if (!line.startsWith(prefix)) return null;\n try {\n return JSON.parse(line.slice(prefix.length)) as ChildInfo;\n } catch {\n return null;\n }\n}\n\nasync function runScenario(config: ScenarioConfig): Promise<{\n info: ChildInfo;\n child: ReturnType<typeof spawn>;\n logs: ChildLogs;\n}> {\n const payload = {\n env: config.env,\n keepAlive: config.keepAlive,\n disableAPI: config.disableAPI,\n scenario: config.kind,\n apiKey: config.apiKey,\n projectId: config.projectId,\n debug: config.debug,\n viewMs: config.viewMs,\n };\n const encoded = `cfg:${Buffer.from(JSON.stringify(payload)).toString(\"base64\")}`;\n\n if (!childRunner) {\n throw new Error(\n \"keep-alive child script not found at dist/esm/tests/integration/keep-alive.child.js\",\n );\n }\n\n const child = spawn(childRunner.command, [...childRunner.args, encoded], {\n cwd: coreDir,\n env: { ...process.env },\n stdio: [\"ignore\", \"pipe\", \"pipe\"],\n });\n\n const logs: ChildLogs = { stdout: [], stderr: [] };\n let buffer = \"\";\n let stderr = \"\";\n let resolved = false;\n const infoTimeoutMs = getInfoTimeoutMs(config.env);\n\n const infoPromise = new Promise<ChildInfo>((resolve, reject) => {\n const timeout = setTimeout(() => {\n child.kill(\"SIGKILL\");\n const stdoutDetails =\n logs.stdout.length > 0\n ? `\\nChild stdout:\\n${logs.stdout.join(\"\\n\")}`\n : \"\";\n const details = stderr.trim();\n const suffix = details\n ? `\\nChild stderr:\\n${details}`\n : \"\\nChild did not emit keepAlive info.\";\n reject(\n new Error(\n `Child timed out waiting for info after ${infoTimeoutMs}ms (env=${config.env}, keepAlive=${config.keepAlive}, disableAPI=${config.disableAPI}, scenario=${config.kind}).${suffix}${stdoutDetails}`,\n ),\n );\n }, infoTimeoutMs);\n\n child.stdout.on(\"data\", (chunk) => {\n buffer += chunk.toString();\n let idx = buffer.indexOf(\"\\n\");\n while (idx !== -1) {\n const line = buffer.slice(0, idx).trim();\n buffer = buffer.slice(idx + 1);\n const parsed = parseChildInfo(line);\n if (parsed && !resolved) {\n resolved = true;\n clearTimeout(timeout);\n resolve(parsed);\n } else if (line.length > 0) {\n logs.stdout.push(line);\n debugLog(`[keep-alive-child] ${line}`);\n }\n idx = buffer.indexOf(\"\\n\");\n }\n });\n\n child.on(\"exit\", (code, signal) => {\n if (resolved) return;\n clearTimeout(timeout);\n const stdoutDetails =\n logs.stdout.length > 0\n ? `\\nChild stdout:\\n${logs.stdout.join(\"\\n\")}`\n : \"\";\n const details = stderr.trim();\n const suffix = details\n ? `\\nChild stderr:\\n${details}`\n : \"\\nChild exited without emitting keepAlive info.\";\n reject(\n new Error(\n `Child exited (code=${code ?? \"null\"}, signal=${signal ?? \"null\"}) before emitting keepAlive info (env=${config.env}, keepAlive=${config.keepAlive}, disableAPI=${config.disableAPI}, scenario=${config.kind}).${suffix}${stdoutDetails}`,\n ),\n );\n });\n\n child.on(\"error\", (error) => {\n if (resolved) return;\n clearTimeout(timeout);\n reject(error);\n });\n });\n\n child.stderr.on(\"data\", (chunk) => {\n const text = chunk.toString();\n stderr += text;\n const trimmed = text.trim();\n if (trimmed.length > 0) {\n logs.stderr.push(trimmed);\n debugLog(`[keep-alive-child] ${trimmed}`);\n }\n });\n\n const info = await infoPromise;\n return { info, child, logs };\n}\n\nasync function stopChild(child: ReturnType<typeof spawn>): Promise<void> {\n if (child.exitCode !== null) return;\n try {\n child.kill(\"SIGKILL\");\n } catch {\n return;\n }\n await new Promise<void>((resolve) => {\n const timer = setTimeout(() => resolve(), 2000);\n child.once(\"exit\", () => {\n clearTimeout(timer);\n resolve();\n });\n });\n}\n\nasync function waitForChildExit(\n child: ReturnType<typeof spawn>,\n timeoutMs: number,\n): Promise<void> {\n if (child.exitCode !== null) return;\n await new Promise<void>((resolve) => {\n const timer = setTimeout(() => resolve(), timeoutMs);\n child.once(\"exit\", () => {\n clearTimeout(timer);\n resolve();\n });\n });\n}\n\nasync function checkLocalAlive(connectURL: string): Promise<CheckResult> {\n let port: string;\n try {\n port = new URL(connectURL).port;\n } catch {\n return { alive: false, status: \"INVALID_URL\" };\n }\n if (!port) return { alive: false, status: \"MISSING_PORT\" };\n\n const controller = new AbortController();\n const timer = setTimeout(() => controller.abort(), 1500);\n try {\n const resp = await fetch(`http://127.0.0.1:${port}/json/version`, {\n signal: controller.signal,\n });\n if (!resp.ok) {\n return { alive: false, status: `HTTP_${resp.status}` };\n }\n const json = (await resp.json()) as { webSocketDebuggerUrl?: string };\n const ws = json?.webSocketDebuggerUrl;\n if (!ws) {\n return { alive: false, status: \"MISSING_WS\" };\n }\n if (ws !== connectURL) {\n return { alive: false, status: \"WS_MISMATCH\" };\n }\n return { alive: true, status: \"MATCH\" };\n } catch {\n return { alive: false, status: \"FETCH_ERROR\" };\n } finally {\n clearTimeout(timer);\n }\n}\n\nasync function closeLocalBrowser(connectURL: string): Promise<void> {\n await new Promise<void>((resolve) => {\n const ws = new WebSocket(connectURL);\n const timer = setTimeout(() => {\n ws.terminate();\n resolve();\n }, 2000);\n ws.on(\"open\", () => {\n ws.send(JSON.stringify({ id: 1, method: \"Browser.close\" }));\n });\n ws.on(\"error\", () => {\n clearTimeout(timer);\n resolve();\n });\n ws.on(\"close\", () => {\n clearTimeout(timer);\n resolve();\n });\n });\n}\n\nasync function checkBrowserbaseAlive(\n sessionId: string,\n apiKey?: string,\n): Promise<CheckResult> {\n if (!apiKey) return { alive: false, status: \"NO_API_KEY\" };\n\n const bb = new Browserbase({ apiKey });\n try {\n const snapshot = (await bb.sessions.retrieve(sessionId)) as {\n status?: string;\n };\n if (DEBUG) {\n const status = snapshot?.status ?? \"<missing>\";\n debugLog(`[keep-alive] session ${sessionId} status=${status}`);\n }\n const status = snapshot?.status;\n return { alive: status === \"RUNNING\", status };\n } catch (error) {\n debugLog(\n `[keep-alive] session ${sessionId} retrieve failed: ${String(error)}`,\n );\n return { alive: false, status: \"RETRIEVE_FAILED\" };\n }\n}\n\nasync function endBrowserbaseSession(\n sessionId: string,\n apiKey?: string,\n projectId?: string,\n): Promise<void> {\n if (!apiKey || !projectId) return;\n const bb = new Browserbase({ apiKey });\n try {\n await bb.sessions.update(sessionId, {\n status: \"REQUEST_RELEASE\",\n projectId,\n });\n } catch {\n // best-effort cleanup\n }\n}\n\nasync function assertStaysOpen(\n check: () => Promise<CheckResult>,\n durationMs: number,\n intervalMs = 500,\n): Promise<{ durationMs: number; lastStatus?: string }> {\n const start = Date.now();\n const deadline = start + durationMs;\n let lastStatus: string | undefined;\n while (Date.now() < deadline) {\n const result = await check();\n lastStatus = result.status ?? lastStatus;\n if (!result.alive) {\n const elapsed = Date.now() - start;\n const status = lastStatus ? ` (last status ${lastStatus})` : \"\";\n throw new Error(\n `Browser closed after ${elapsed}ms (expected ${durationMs}ms)${status}.`,\n );\n }\n await new Promise((r) => setTimeout(r, intervalMs));\n }\n return { durationMs: Date.now() - start, lastStatus };\n}\n\nasync function waitForClosed(\n check: () => Promise<CheckResult>,\n timeoutMs: number,\n intervalMs = 500,\n): Promise<{ durationMs: number; lastStatus?: string }> {\n const start = Date.now();\n let lastStatus: string | undefined;\n while (Date.now() - start < timeoutMs) {\n const result = await check();\n lastStatus = result.status ?? lastStatus;\n if (!result.alive) {\n return { durationMs: Date.now() - start, lastStatus };\n }\n await new Promise((r) => setTimeout(r, intervalMs));\n }\n const status = lastStatus ? ` (last status ${lastStatus})` : \"\";\n throw new Error(`Browser still alive after ${timeoutMs}ms${status}.`);\n}\n\nasync function assertBrowserState(\n env: EnvKind,\n info: ChildInfo,\n shouldStayOpen: boolean,\n apiKey?: string,\n projectId?: string,\n): Promise<Outcome> {\n const expected: Outcome[\"expected\"] = shouldStayOpen ? \"open\" : \"closed\";\n if (env === \"LOCAL\") {\n if (shouldStayOpen) {\n const result = await assertStaysOpen(\n () => checkLocalAlive(info.connectURL),\n STAY_OPEN_MS,\n );\n const outcome: Outcome = {\n expected,\n actual: \"open\",\n durationMs: result.durationMs,\n lastStatus: result.lastStatus,\n };\n await closeLocalBrowser(info.connectURL);\n return outcome;\n }\n\n const result = await waitForClosed(\n () => checkLocalAlive(info.connectURL),\n LOCAL_TIMEOUT_MS,\n );\n return {\n expected,\n actual: \"closed\",\n durationMs: result.durationMs,\n lastStatus: result.lastStatus,\n };\n }\n\n if (!info.sessionId) {\n throw new Error(\"Browserbase sessionId missing\");\n }\n\n if (shouldStayOpen) {\n const result = await assertStaysOpen(\n () => checkBrowserbaseAlive(info.sessionId!, apiKey),\n STAY_OPEN_MS,\n 1000,\n );\n const outcome: Outcome = {\n expected,\n actual: \"open\",\n durationMs: result.durationMs,\n lastStatus: result.lastStatus,\n };\n await endBrowserbaseSession(info.sessionId, apiKey, projectId);\n return outcome;\n }\n\n const result = await waitForClosed(\n () => checkBrowserbaseAlive(info.sessionId!, apiKey),\n BB_TIMEOUT_MS,\n 1000,\n );\n return {\n expected,\n actual: \"closed\",\n durationMs: result.durationMs,\n lastStatus: result.lastStatus,\n };\n}\n\nfunction dumpLogs(logs: ChildLogs): void {\n if (logs.stdout.length > 0) {\n console.log(\"[keep-alive] child stdout:\");\n for (const line of logs.stdout) {\n console.log(` ${line}`);\n }\n }\n if (logs.stderr.length > 0) {\n console.log(\"[keep-alive] child stderr:\");\n for (const line of logs.stderr) {\n console.log(` ${line}`);\n }\n }\n}\n\nfunction logCaseResult(\n label: string,\n envLabel: string,\n keepAlive: boolean,\n outcome?: Outcome,\n error?: Error,\n): void {\n const prefix = `[keep-alive] ${envLabel} keepAlive=${keepAlive} ${label}`;\n if (error) {\n console.log(`${prefix} FAIL: ${error.message}`);\n return;\n }\n if (!outcome) {\n console.log(`${prefix} FAIL: missing outcome`);\n return;\n }\n const status =\n outcome.lastStatus !== undefined\n ? ` (last status ${outcome.lastStatus})`\n : \"\";\n if (outcome.actual === \"open\") {\n console.log(\n `${prefix} PASS: stayed open for ${outcome.durationMs}ms${status}`,\n );\n } else {\n console.log(\n `${prefix} PASS: closed after ${outcome.durationMs}ms${status}`,\n );\n }\n}\n\nexport function getKeepAliveEnvConfig(): {\n testEnv: EnvKind;\n apiKey?: string;\n projectId?: string;\n hasBrowserbaseCreds: boolean;\n} {\n const testEnv = v3DynamicTestConfig.env;\n const apiKey =\n testEnv === \"BROWSERBASE\"\n ? (v3DynamicTestConfig.apiKey as string | undefined)\n : undefined;\n const projectId =\n testEnv === \"BROWSERBASE\"\n ? (v3DynamicTestConfig.projectId as string | undefined)\n : undefined;\n const hasBrowserbaseCreds = Boolean(apiKey && projectId);\n return { testEnv, apiKey, projectId, hasBrowserbaseCreds };\n}\n\nexport function buildKeepAliveCases(testEnv: EnvKind): KeepAliveCase[] {\n const scenarios: Array<{ kind: ScenarioKind; label: string }> = [\n { kind: \"unhandled\", label: \"unhandled rejection\" },\n { kind: \"close\", label: \"stagehand.close()\" },\n { kind: \"sigterm\", label: \"SIGTERM\" },\n { kind: \"sigint\", label: \"SIGINT\" },\n ];\n\n const environments: Array<{\n env: EnvKind;\n label: string;\n disableAPI: boolean;\n requiresBrowserbase: boolean;\n }> =\n testEnv === \"BROWSERBASE\"\n ? [\n {\n env: \"BROWSERBASE\",\n label: \"bb direct ws\",\n disableAPI: true,\n requiresBrowserbase: true,\n },\n {\n env: \"BROWSERBASE\",\n label: \"bb via api\",\n disableAPI: false,\n requiresBrowserbase: true,\n },\n ]\n : [\n {\n env: \"LOCAL\",\n label: \"local\",\n disableAPI: false,\n requiresBrowserbase: false,\n },\n ];\n\n const cases: KeepAliveCase[] = [];\n for (const keepAlive of [true, false]) {\n for (const envConfig of environments) {\n for (const scenario of scenarios) {\n const expectation = keepAlive ? \"expect open\" : \"expect closed\";\n cases.push({\n title: `${envConfig.label} keepAlive=${keepAlive} ${scenario.label} (${expectation})`,\n env: envConfig.env,\n envLabel: envConfig.label,\n keepAlive,\n disableAPI: envConfig.disableAPI,\n kind: scenario.kind,\n requiresBrowserbase: envConfig.requiresBrowserbase,\n });\n }\n }\n }\n return cases;\n}\n\nexport async function runKeepAliveCase(\n testCase: KeepAliveCase,\n envConfig: {\n apiKey?: string;\n projectId?: string;\n },\n): Promise<void> {\n let info: ChildInfo | undefined;\n let child: ReturnType<typeof spawn> | undefined;\n let logs: ChildLogs | undefined;\n try {\n ({ info, child, logs } = await runScenario({\n env: testCase.env,\n keepAlive: testCase.keepAlive,\n disableAPI: testCase.disableAPI,\n kind: testCase.kind,\n debug: DEBUG,\n viewMs: VIEW_MS,\n apiKey: envConfig.apiKey,\n projectId: envConfig.projectId,\n }));\n } catch (error) {\n logCaseResult(\n testCase.title,\n testCase.envLabel,\n testCase.keepAlive,\n undefined,\n error as Error,\n );\n throw error;\n }\n\n if (testCase.kind === \"sigterm\") {\n child.kill(\"SIGTERM\");\n } else if (testCase.kind === \"sigint\") {\n child.kill(\"SIGINT\");\n }\n\n let outcome: Outcome | undefined;\n let failure: Error | undefined;\n try {\n if (\n testCase.kind === \"close\" ||\n testCase.kind === \"unhandled\" ||\n testCase.kind === \"sigterm\" ||\n testCase.kind === \"sigint\"\n ) {\n await waitForChildExit(child, ACTION_EXIT_TIMEOUT_MS);\n }\n outcome = await assertBrowserState(\n testCase.env,\n info,\n testCase.keepAlive,\n envConfig.apiKey,\n envConfig.projectId,\n );\n } catch (error) {\n failure = error as Error;\n if (logs) {\n dumpLogs(logs);\n }\n throw error;\n } finally {\n logCaseResult(\n testCase.title,\n testCase.envLabel,\n testCase.keepAlive,\n outcome,\n failure,\n );\n await stopChild(child);\n if (testCase.env === \"LOCAL\" && info.connectURL) {\n await closeLocalBrowser(info.connectURL);\n }\n if (testCase.env === \"BROWSERBASE\" && info.sessionId) {\n await endBrowserbaseSession(\n info.sessionId,\n envConfig.apiKey,\n envConfig.projectId,\n );\n }\n }\n}\n\ntest.describe.parallel(\"keepAlive behavior\", () => {\n const { testEnv, apiKey, projectId, hasBrowserbaseCreds } =\n getKeepAliveEnvConfig();\n const cases = buildKeepAliveCases(testEnv);\n\n for (const testCase of cases) {\n test(testCase.title, async () => {\n if (testCase.requiresBrowserbase) {\n test.skip(!hasBrowserbaseCreds, \"Browserbase credentials required\");\n }\n\n await runKeepAliveCase(testCase, { apiKey, projectId });\n });\n }\n});\n"]}
@@ -0,0 +1 @@
1
+ export {};