@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,1631 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
19
+ var useValue = arguments.length > 2;
20
+ for (var i = 0; i < initializers.length; i++) {
21
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
22
+ }
23
+ return useValue ? value : void 0;
24
+ };
25
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
26
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
27
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
28
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
29
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
30
+ var _, done = false;
31
+ for (var i = decorators.length - 1; i >= 0; i--) {
32
+ var context = {};
33
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
34
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
35
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
36
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
37
+ if (kind === "accessor") {
38
+ if (result === void 0) continue;
39
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
40
+ if (_ = accept(result.get)) descriptor.get = _;
41
+ if (_ = accept(result.set)) descriptor.set = _;
42
+ if (_ = accept(result.init)) initializers.unshift(_);
43
+ }
44
+ else if (_ = accept(result)) {
45
+ if (kind === "field") initializers.unshift(_);
46
+ else descriptor[key] = _;
47
+ }
48
+ }
49
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
50
+ done = true;
51
+ };
52
+ var __importStar = (this && this.__importStar) || (function () {
53
+ var ownKeys = function(o) {
54
+ ownKeys = Object.getOwnPropertyNames || function (o) {
55
+ var ar = [];
56
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
57
+ return ar;
58
+ };
59
+ return ownKeys(o);
60
+ };
61
+ return function (mod) {
62
+ if (mod && mod.__esModule) return mod;
63
+ var result = {};
64
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
65
+ __setModuleDefault(result, mod);
66
+ return result;
67
+ };
68
+ })();
69
+ var __importDefault = (this && this.__importDefault) || function (mod) {
70
+ return (mod && mod.__esModule) ? mod : { "default": mod };
71
+ };
72
+ Object.defineProperty(exports, "__esModule", { value: true });
73
+ exports.V3 = void 0;
74
+ const events_1 = require("events");
75
+ const fs_1 = __importDefault(require("fs"));
76
+ const os_1 = __importDefault(require("os"));
77
+ const path_1 = __importDefault(require("path"));
78
+ const process_1 = __importDefault(require("process"));
79
+ const uuid_1 = require("uuid");
80
+ const zodCompat_js_1 = require("./zodCompat.js");
81
+ const utils_js_1 = require("../utils.js");
82
+ const modelUtils_js_1 = require("../modelUtils.js");
83
+ const logger_js_1 = require("../logger.js");
84
+ const ActCache_js_1 = require("./cache/ActCache.js");
85
+ const AgentCache_js_1 = require("./cache/AgentCache.js");
86
+ const CacheStorage_js_1 = require("./cache/CacheStorage.js");
87
+ const actHandler_js_1 = require("./handlers/actHandler.js");
88
+ const extractHandler_js_1 = require("./handlers/extractHandler.js");
89
+ const observeHandler_js_1 = require("./handlers/observeHandler.js");
90
+ const v3AgentHandler_js_1 = require("./handlers/v3AgentHandler.js");
91
+ const v3CuaAgentHandler_js_1 = require("./handlers/v3CuaAgentHandler.js");
92
+ const browserbase_js_1 = require("./launch/browserbase.js");
93
+ const local_js_1 = require("./launch/local.js");
94
+ const LLMProvider_js_1 = require("./llm/LLMProvider.js");
95
+ const logger_js_2 = require("./logger.js");
96
+ const cleanupLocal_js_1 = require("./shutdown/cleanupLocal.js");
97
+ const supervisorClient_js_1 = require("./shutdown/supervisorClient.js");
98
+ const utils_js_2 = require("./mcp/utils.js");
99
+ const index_js_1 = require("./types/public/index.js");
100
+ const context_js_1 = require("./understudy/context.js");
101
+ const modelUtils_js_2 = require("../modelUtils.js");
102
+ const api_js_1 = require("./api.js");
103
+ const validateExperimentalFeatures_js_1 = require("./agent/utils/validateExperimentalFeatures.js");
104
+ const variables_js_1 = require("./agent/utils/variables.js");
105
+ const flowLogger_js_1 = require("./flowLogger.js");
106
+ const timeoutGuard_js_1 = require("./handlers/handlerUtils/timeoutGuard.js");
107
+ const sdkErrors_js_1 = require("./types/public/sdkErrors.js");
108
+ const DEFAULT_MODEL_NAME = "openai/gpt-4.1-mini";
109
+ const DEFAULT_VIEWPORT = { width: 1288, height: 711 };
110
+ const DEFAULT_AGENT_TOOL_TIMEOUT_MS = 45000;
111
+ function resolveModelConfiguration(model) {
112
+ if (!model) {
113
+ return { modelName: DEFAULT_MODEL_NAME };
114
+ }
115
+ if (typeof model === "string") {
116
+ return { modelName: model };
117
+ }
118
+ if (model && typeof model === "object") {
119
+ const { modelName, ...clientOptions } = model;
120
+ if (!modelName) {
121
+ throw new index_js_1.StagehandInvalidArgumentError("model.modelName is required when providing client options.");
122
+ }
123
+ return {
124
+ modelName,
125
+ clientOptions: clientOptions,
126
+ };
127
+ }
128
+ return { modelName: DEFAULT_MODEL_NAME };
129
+ }
130
+ /**
131
+ * V3
132
+ *
133
+ * Purpose:
134
+ * A high-level orchestrator for Stagehand V3. Abstracts away whether the browser
135
+ * runs **locally via Chrome** or remotely on **Browserbase**, and exposes simple
136
+ * entrypoints (`act`, `extract`, `observe`) that delegate to the corresponding
137
+ * handler classes.
138
+ *
139
+ * Responsibilities:
140
+ * - Bootstraps Chrome or Browserbase, ensures a working CDP WebSocket, and builds a `V3Context`.
141
+ * - Manages lifecycle: init, context access, cleanup.
142
+ * - Bridges external page objects (Playwright/Puppeteer) into internal frameIds for handlers.
143
+ * - Provides a stable API surface for downstream code regardless of runtime environment.
144
+ */
145
+ let V3 = (() => {
146
+ let _instanceExtraInitializers = [];
147
+ let _act_decorators;
148
+ let _extract_decorators;
149
+ let _observe_decorators;
150
+ return class V3 {
151
+ static {
152
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
153
+ _act_decorators = [(0, flowLogger_js_1.logStagehandStep)("Stagehand.act", "ACT")];
154
+ _extract_decorators = [(0, flowLogger_js_1.logStagehandStep)("Stagehand.extract", "EXTRACT")];
155
+ _observe_decorators = [(0, flowLogger_js_1.logStagehandStep)("Stagehand.observe", "OBSERVE")];
156
+ __esDecorate(this, null, _act_decorators, { kind: "method", name: "act", static: false, private: false, access: { has: obj => "act" in obj, get: obj => obj.act }, metadata: _metadata }, null, _instanceExtraInitializers);
157
+ __esDecorate(this, null, _extract_decorators, { kind: "method", name: "extract", static: false, private: false, access: { has: obj => "extract" in obj, get: obj => obj.extract }, metadata: _metadata }, null, _instanceExtraInitializers);
158
+ __esDecorate(this, null, _observe_decorators, { kind: "method", name: "observe", static: false, private: false, access: { has: obj => "observe" in obj, get: obj => obj.observe }, metadata: _metadata }, null, _instanceExtraInitializers);
159
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
160
+ }
161
+ opts = __runInitializers(this, _instanceExtraInitializers);
162
+ state = { kind: "UNINITIALIZED" };
163
+ actHandler = null;
164
+ extractHandler = null;
165
+ observeHandler = null;
166
+ ctx = null;
167
+ llmClient;
168
+ /**
169
+ * Event bus for internal communication.
170
+ * Emits events like 'screenshot' when screenshots are captured during agent execution.
171
+ */
172
+ bus = new events_1.EventEmitter();
173
+ modelName;
174
+ modelClientOptions;
175
+ llmProvider;
176
+ overrideLlmClients = new Map();
177
+ domSettleTimeoutMs;
178
+ _isClosing = false;
179
+ browserbaseSessionId;
180
+ browserbaseSessionUrl;
181
+ browserbaseDebugUrl;
182
+ get browserbaseSessionID() {
183
+ return this.browserbaseSessionId;
184
+ }
185
+ get browserbaseSessionURL() {
186
+ return this.browserbaseSessionUrl;
187
+ }
188
+ get browserbaseDebugURL() {
189
+ return this.browserbaseDebugUrl;
190
+ }
191
+ /**
192
+ * Returns true if the browser is running on Browserbase.
193
+ */
194
+ get isBrowserbase() {
195
+ return this.state.kind === "BROWSERBASE";
196
+ }
197
+ /**
198
+ * Returns true if advancedStealth is enabled in Browserbase settings.
199
+ */
200
+ get isAdvancedStealth() {
201
+ return (this.opts.browserbaseSessionCreateParams?.browserSettings
202
+ ?.advancedStealth === true);
203
+ }
204
+ /**
205
+ * Returns the configured viewport dimensions from launch options.
206
+ * Falls back to default 1288x711 if not configured.
207
+ */
208
+ get configuredViewport() {
209
+ const defaultWidth = 1288;
210
+ const defaultHeight = 711;
211
+ if (this.opts.env === "BROWSERBASE") {
212
+ const vp = this.opts.browserbaseSessionCreateParams?.browserSettings?.viewport;
213
+ return {
214
+ width: vp?.width ?? defaultWidth,
215
+ height: vp?.height ?? defaultHeight,
216
+ };
217
+ }
218
+ // LOCAL env
219
+ const vp = this.opts.localBrowserLaunchOptions?.viewport;
220
+ return {
221
+ width: vp?.width ?? defaultWidth,
222
+ height: vp?.height ?? defaultHeight,
223
+ };
224
+ }
225
+ _onCdpClosed = (why) => {
226
+ if (this.state.kind === "BROWSERBASE") {
227
+ void this._logBrowserbaseSessionStatus();
228
+ }
229
+ // Single place to react to the transport closing
230
+ this._immediateShutdown(`CDP transport closed: ${why}`).catch(() => { });
231
+ };
232
+ experimental = false;
233
+ logInferenceToFile = false;
234
+ disableAPI = false;
235
+ externalLogger;
236
+ verbose = 1;
237
+ stagehandLogger;
238
+ _history = [];
239
+ instanceId;
240
+ static _processGuardsInstalled = false;
241
+ static _instances = new Set();
242
+ cacheStorage;
243
+ actCache;
244
+ agentCache;
245
+ apiClient = null;
246
+ keepAlive;
247
+ shutdownSupervisor = null;
248
+ stagehandMetrics = {
249
+ actPromptTokens: 0,
250
+ actCompletionTokens: 0,
251
+ actReasoningTokens: 0,
252
+ actCachedInputTokens: 0,
253
+ actInferenceTimeMs: 0,
254
+ extractPromptTokens: 0,
255
+ extractCompletionTokens: 0,
256
+ extractReasoningTokens: 0,
257
+ extractCachedInputTokens: 0,
258
+ extractInferenceTimeMs: 0,
259
+ observePromptTokens: 0,
260
+ observeCompletionTokens: 0,
261
+ observeReasoningTokens: 0,
262
+ observeCachedInputTokens: 0,
263
+ observeInferenceTimeMs: 0,
264
+ agentPromptTokens: 0,
265
+ agentCompletionTokens: 0,
266
+ agentReasoningTokens: 0,
267
+ agentCachedInputTokens: 0,
268
+ agentInferenceTimeMs: 0,
269
+ totalPromptTokens: 0,
270
+ totalCompletionTokens: 0,
271
+ totalReasoningTokens: 0,
272
+ totalCachedInputTokens: 0,
273
+ totalInferenceTimeMs: 0,
274
+ };
275
+ constructor(opts) {
276
+ this.externalLogger = opts.logger;
277
+ this.verbose = opts.verbose ?? 1;
278
+ this.instanceId = (0, uuid_1.v7)();
279
+ this.keepAlive =
280
+ opts.keepAlive ?? opts.browserbaseSessionCreateParams?.keepAlive;
281
+ // Create per-instance StagehandLogger (handles usePino, verbose, externalLogger)
282
+ // This gives each V3 instance independent logger configuration
283
+ // while still sharing the underlying Pino worker thread via StagehandLogger.sharedPinoLogger
284
+ const loggerOptions = {
285
+ pretty: true,
286
+ level: "info", // Most permissive - filtering happens at instance level
287
+ };
288
+ if (opts.disablePino !== undefined) {
289
+ loggerOptions.usePino = !opts.disablePino;
290
+ }
291
+ this.stagehandLogger = new logger_js_1.StagehandLogger(loggerOptions, opts.logger);
292
+ this.stagehandLogger.setVerbosity(this.verbose);
293
+ // Also bind to AsyncLocalStorage for v3Logger() calls from handlers
294
+ // This maintains backward compatibility with code that uses v3Logger() directly
295
+ try {
296
+ if (this.externalLogger) {
297
+ // Use external logger directly when provided
298
+ (0, logger_js_2.bindInstanceLogger)(this.instanceId, this.externalLogger);
299
+ }
300
+ else {
301
+ // Fall back to stagehandLogger when no external logger
302
+ (0, logger_js_2.bindInstanceLogger)(this.instanceId, (line) => {
303
+ this.stagehandLogger.log(line);
304
+ });
305
+ }
306
+ }
307
+ catch {
308
+ // ignore
309
+ }
310
+ const { modelName, clientOptions } = resolveModelConfiguration(opts.model);
311
+ this.modelName = modelName;
312
+ this.experimental = opts.experimental ?? false;
313
+ this.logInferenceToFile = opts.logInferenceToFile ?? false;
314
+ this.llmProvider = new LLMProvider_js_1.LLMProvider(this.logger);
315
+ this.domSettleTimeoutMs = opts.domSettleTimeout;
316
+ this.disableAPI = opts.disableAPI ?? false;
317
+ const baseClientOptions = clientOptions
318
+ ? { ...clientOptions }
319
+ : {};
320
+ if (opts.llmClient) {
321
+ this.llmClient = opts.llmClient;
322
+ this.modelClientOptions = baseClientOptions;
323
+ this.disableAPI = true;
324
+ }
325
+ else {
326
+ // Ensure API key is set
327
+ let apiKey = baseClientOptions.apiKey;
328
+ if (!apiKey) {
329
+ try {
330
+ apiKey = (0, utils_js_1.loadApiKeyFromEnv)(this.modelName.split("/")[0], // "openai", "anthropic", etc
331
+ this.logger);
332
+ }
333
+ catch (error) {
334
+ this.logger({
335
+ category: "init",
336
+ message: `Error loading API key for model ${this.modelName}: ${error}. Continuing without LLM client.`,
337
+ level: 0,
338
+ });
339
+ throw error;
340
+ }
341
+ }
342
+ this.modelClientOptions = {
343
+ ...baseClientOptions,
344
+ apiKey,
345
+ };
346
+ // Get the default client for this model
347
+ this.llmClient = this.llmProvider.getClient(this.modelName, this.modelClientOptions, { experimental: this.experimental, disableAPI: this.disableAPI });
348
+ }
349
+ this.cacheStorage = CacheStorage_js_1.CacheStorage.create(opts.cacheDir, this.logger, {
350
+ label: "cache directory",
351
+ });
352
+ this.actCache = new ActCache_js_1.ActCache({
353
+ storage: this.cacheStorage,
354
+ logger: this.logger,
355
+ getActHandler: () => this.actHandler,
356
+ getDefaultLlmClient: () => this.resolveLlmClient(),
357
+ domSettleTimeoutMs: this.domSettleTimeoutMs,
358
+ });
359
+ this.agentCache = new AgentCache_js_1.AgentCache({
360
+ storage: this.cacheStorage,
361
+ logger: this.logger,
362
+ getActHandler: () => this.actHandler,
363
+ getContext: () => this.ctx,
364
+ getDefaultLlmClient: () => this.resolveLlmClient(),
365
+ getBaseModelName: () => this.modelName,
366
+ getSystemPrompt: () => opts.systemPrompt,
367
+ domSettleTimeoutMs: this.domSettleTimeoutMs,
368
+ act: this.act.bind(this),
369
+ });
370
+ this.opts = opts;
371
+ // Initialize session file logger
372
+ flowLogger_js_1.SessionFileLogger.init(this.instanceId, opts);
373
+ // Track instance for global process guard handling
374
+ V3._instances.add(this);
375
+ }
376
+ /**
377
+ * Async property for metrics so callers can `await v3.metrics`.
378
+ * When using API mode, fetches metrics from the API. Otherwise returns local metrics.
379
+ */
380
+ get metrics() {
381
+ if (this.apiClient) {
382
+ // Fetch metrics from the API
383
+ return this.apiClient.getReplayMetrics().catch((error) => {
384
+ this.logger({
385
+ category: "metrics",
386
+ message: `Failed to fetch metrics from API: ${error}`,
387
+ level: 0,
388
+ });
389
+ // Fall back to local metrics on error
390
+ return this.stagehandMetrics;
391
+ });
392
+ }
393
+ // Return local metrics wrapped in a Promise for consistency
394
+ return Promise.resolve(this.stagehandMetrics);
395
+ }
396
+ resolveLlmClient(model) {
397
+ if (!model) {
398
+ return this.llmClient;
399
+ }
400
+ let modelName;
401
+ let clientOptions;
402
+ if (typeof model === "string") {
403
+ modelName = model;
404
+ }
405
+ else {
406
+ const { modelName: overrideModelName, ...rest } = model;
407
+ modelName = overrideModelName;
408
+ clientOptions = rest;
409
+ }
410
+ if (modelName === this.modelName &&
411
+ (!clientOptions || Object.keys(clientOptions).length === 0)) {
412
+ return this.llmClient;
413
+ }
414
+ const overrideProvider = String(modelName).split("/")[0];
415
+ const baseProvider = String(this.modelName).split("/")[0];
416
+ const mergedOptions = {
417
+ ...(overrideProvider === baseProvider ? this.modelClientOptions : {}),
418
+ ...(clientOptions ?? {}),
419
+ };
420
+ const providerKey = overrideProvider;
421
+ if (!mergedOptions.apiKey) {
422
+ const apiKey = (0, utils_js_1.loadApiKeyFromEnv)(providerKey, this.logger);
423
+ if (apiKey) {
424
+ mergedOptions.apiKey = apiKey;
425
+ }
426
+ }
427
+ const cacheKey = JSON.stringify({
428
+ modelName,
429
+ clientOptions: mergedOptions,
430
+ });
431
+ const cached = this.overrideLlmClients.get(cacheKey);
432
+ if (cached) {
433
+ return cached;
434
+ }
435
+ const client = this.llmProvider.getClient(modelName, mergedOptions, { experimental: this.experimental, disableAPI: this.disableAPI });
436
+ this.overrideLlmClients.set(cacheKey, client);
437
+ return client;
438
+ }
439
+ beginAgentReplayRecording() {
440
+ this.agentCache.beginRecording();
441
+ }
442
+ endAgentReplayRecording() {
443
+ return this.agentCache.endRecording();
444
+ }
445
+ discardAgentReplayRecording() {
446
+ this.agentCache.discardRecording();
447
+ }
448
+ isAgentReplayRecording() {
449
+ return this.agentCache.isRecording();
450
+ }
451
+ isAgentReplayActive() {
452
+ return this.agentCache.isReplayActive();
453
+ }
454
+ recordAgentReplayStep(step) {
455
+ this.agentCache.recordStep(step);
456
+ }
457
+ /**
458
+ * Async property for history so callers can `await v3.history`.
459
+ * Returns a frozen copy to avoid external mutation.
460
+ */
461
+ get history() {
462
+ return Promise.resolve(Object.freeze([...this._history]));
463
+ }
464
+ addToHistory(method, parameters, result) {
465
+ this._history.push({
466
+ method,
467
+ parameters,
468
+ result: result ?? null,
469
+ timestamp: new Date().toISOString(),
470
+ });
471
+ }
472
+ updateMetrics(functionName, promptTokens, completionTokens, reasoningTokens, cachedInputTokens, inferenceTimeMs) {
473
+ switch (functionName) {
474
+ case index_js_1.V3FunctionName.ACT:
475
+ this.stagehandMetrics.actPromptTokens += promptTokens;
476
+ this.stagehandMetrics.actCompletionTokens += completionTokens;
477
+ this.stagehandMetrics.actReasoningTokens += reasoningTokens;
478
+ this.stagehandMetrics.actCachedInputTokens += cachedInputTokens;
479
+ this.stagehandMetrics.actInferenceTimeMs += inferenceTimeMs;
480
+ break;
481
+ case index_js_1.V3FunctionName.EXTRACT:
482
+ this.stagehandMetrics.extractPromptTokens += promptTokens;
483
+ this.stagehandMetrics.extractCompletionTokens += completionTokens;
484
+ this.stagehandMetrics.extractReasoningTokens += reasoningTokens;
485
+ this.stagehandMetrics.extractCachedInputTokens += cachedInputTokens;
486
+ this.stagehandMetrics.extractInferenceTimeMs += inferenceTimeMs;
487
+ break;
488
+ case index_js_1.V3FunctionName.OBSERVE:
489
+ this.stagehandMetrics.observePromptTokens += promptTokens;
490
+ this.stagehandMetrics.observeCompletionTokens += completionTokens;
491
+ this.stagehandMetrics.observeReasoningTokens += reasoningTokens;
492
+ this.stagehandMetrics.observeCachedInputTokens += cachedInputTokens;
493
+ this.stagehandMetrics.observeInferenceTimeMs += inferenceTimeMs;
494
+ break;
495
+ case index_js_1.V3FunctionName.AGENT:
496
+ this.stagehandMetrics.agentPromptTokens += promptTokens;
497
+ this.stagehandMetrics.agentCompletionTokens += completionTokens;
498
+ this.stagehandMetrics.agentReasoningTokens += reasoningTokens;
499
+ this.stagehandMetrics.agentCachedInputTokens += cachedInputTokens;
500
+ this.stagehandMetrics.agentInferenceTimeMs += inferenceTimeMs;
501
+ break;
502
+ }
503
+ this.updateTotalMetrics(promptTokens, completionTokens, reasoningTokens, cachedInputTokens, inferenceTimeMs);
504
+ }
505
+ updateTotalMetrics(promptTokens, completionTokens, reasoningTokens, cachedInputTokens, inferenceTimeMs) {
506
+ this.stagehandMetrics.totalPromptTokens += promptTokens;
507
+ this.stagehandMetrics.totalCompletionTokens += completionTokens;
508
+ this.stagehandMetrics.totalReasoningTokens += reasoningTokens;
509
+ this.stagehandMetrics.totalCachedInputTokens += cachedInputTokens;
510
+ this.stagehandMetrics.totalInferenceTimeMs += inferenceTimeMs;
511
+ }
512
+ async _immediateShutdown(reason) {
513
+ try {
514
+ this.logger({
515
+ category: "v3",
516
+ message: `initiating shutdown → ${reason}`,
517
+ level: 0,
518
+ });
519
+ }
520
+ catch {
521
+ //
522
+ }
523
+ try {
524
+ this.logger({
525
+ category: "v3",
526
+ message: `closing resources → ${reason}`,
527
+ level: 0,
528
+ });
529
+ await this.close({ force: true });
530
+ }
531
+ catch {
532
+ // swallow — already shutting down
533
+ }
534
+ }
535
+ /** Spawn a crash-only supervisor that cleans up when this process dies. */
536
+ startShutdownSupervisor(config) {
537
+ if (this.shutdownSupervisor)
538
+ return this.shutdownSupervisor;
539
+ this.shutdownSupervisor = (0, supervisorClient_js_1.startShutdownSupervisor)(config, {
540
+ onError: (error, context) => {
541
+ try {
542
+ this.logger({
543
+ category: "v3",
544
+ message: "Shutdown supervisor unavailable; crash cleanup disabled. " +
545
+ "If this process exits unexpectedly, local Chrome or Browserbase " +
546
+ "sessions may remain running even with keepAlive=false.",
547
+ level: 0,
548
+ auxiliary: {
549
+ context: { value: context, type: "string" },
550
+ error: { value: error.message, type: "string" },
551
+ },
552
+ });
553
+ }
554
+ catch {
555
+ // ignore logging failures
556
+ }
557
+ },
558
+ });
559
+ return this.shutdownSupervisor;
560
+ }
561
+ /** Stop the supervisor during a normal shutdown. */
562
+ stopShutdownSupervisor() {
563
+ if (!this.shutdownSupervisor)
564
+ return;
565
+ try {
566
+ this.shutdownSupervisor.stop();
567
+ }
568
+ catch {
569
+ // best-effort
570
+ }
571
+ this.shutdownSupervisor = null;
572
+ }
573
+ /**
574
+ * Entrypoint: initializes handlers, launches Chrome or Browserbase,
575
+ * and sets up a CDP context.
576
+ */
577
+ async init() {
578
+ try {
579
+ return await (0, logger_js_2.withInstanceLogContext)(this.instanceId, async () => {
580
+ this.actHandler = new actHandler_js_1.ActHandler(this.llmClient, this.modelName, this.modelClientOptions, (model) => this.resolveLlmClient(model), this.opts.systemPrompt ?? "", this.logInferenceToFile, this.opts.selfHeal ?? true, (functionName, promptTokens, completionTokens, reasoningTokens, cachedInputTokens, inferenceTimeMs) => this.updateMetrics(functionName, promptTokens, completionTokens, reasoningTokens, cachedInputTokens, inferenceTimeMs), this.domSettleTimeoutMs);
581
+ this.extractHandler = new extractHandler_js_1.ExtractHandler(this.llmClient, this.modelName, this.modelClientOptions, (model) => this.resolveLlmClient(model), this.opts.systemPrompt ?? "", this.logInferenceToFile, this.experimental, (functionName, promptTokens, completionTokens, reasoningTokens, cachedInputTokens, inferenceTimeMs) => this.updateMetrics(functionName, promptTokens, completionTokens, reasoningTokens, cachedInputTokens, inferenceTimeMs));
582
+ this.observeHandler = new observeHandler_js_1.ObserveHandler(this.llmClient, this.modelName, this.modelClientOptions, (model) => this.resolveLlmClient(model), this.opts.systemPrompt ?? "", this.logInferenceToFile, this.experimental, (functionName, promptTokens, completionTokens, reasoningTokens, cachedInputTokens, inferenceTimeMs) => this.updateMetrics(functionName, promptTokens, completionTokens, reasoningTokens, cachedInputTokens, inferenceTimeMs));
583
+ if (this.opts.env === "LOCAL") {
584
+ // chrome-launcher conditionally adds --headless when the environment variable
585
+ // HEADLESS is set, without parsing its value.
586
+ // if it is not equal to true, then we delete it from the process
587
+ const envHeadless = process_1.default.env.HEADLESS;
588
+ if (envHeadless !== undefined) {
589
+ const normalized = envHeadless.trim().toLowerCase();
590
+ if (normalized !== "true") {
591
+ delete process_1.default.env.HEADLESS;
592
+ }
593
+ }
594
+ const lbo = this.opts.localBrowserLaunchOptions ?? {};
595
+ if (lbo.cdpHeaders && !lbo.cdpUrl) {
596
+ this.logger({
597
+ category: "init",
598
+ message: "`cdpHeaders` was provided but `cdpUrl` is not set — cdpHeaders will be ignored. Set `cdpUrl` to connect to an existing browser via CDP.",
599
+ level: 2,
600
+ });
601
+ }
602
+ // If a CDP URL is provided, attach instead of launching.
603
+ if (lbo.cdpUrl) {
604
+ this.logger({
605
+ category: "init",
606
+ message: "Connecting to local browser",
607
+ level: 1,
608
+ });
609
+ this.ctx = await context_js_1.V3Context.create(lbo.cdpUrl, {
610
+ env: "LOCAL",
611
+ cdpHeaders: lbo.cdpHeaders,
612
+ });
613
+ const logCtx = flowLogger_js_1.SessionFileLogger.getContext();
614
+ this.ctx.conn.cdpLogger = (info) => flowLogger_js_1.SessionFileLogger.logCdpCallEvent(info, logCtx);
615
+ this.ctx.conn.cdpEventLogger = (info) => flowLogger_js_1.SessionFileLogger.logCdpMessageEvent(info, logCtx);
616
+ this.ctx.conn.onTransportClosed(this._onCdpClosed);
617
+ this.state = {
618
+ kind: "LOCAL",
619
+ // no LaunchedChrome when attaching externally; create a stub kill
620
+ chrome: {
621
+ kill: async () => { },
622
+ },
623
+ ws: lbo.cdpUrl,
624
+ };
625
+ this.resetBrowserbaseSessionMetadata();
626
+ // Post-connect settings (downloads and viewport) if provided
627
+ await this._applyPostConnectLocalOptions(lbo);
628
+ return;
629
+ }
630
+ this.logger({
631
+ category: "init",
632
+ message: "Launching local browser",
633
+ level: 1,
634
+ });
635
+ // Determine or create user data dir
636
+ let userDataDir = lbo.userDataDir;
637
+ let createdTemp = false;
638
+ if (!userDataDir) {
639
+ const base = path_1.default.join(os_1.default.tmpdir(), "stagehand-v3");
640
+ fs_1.default.mkdirSync(base, { recursive: true });
641
+ userDataDir = fs_1.default.mkdtempSync(path_1.default.join(base, "profile-"));
642
+ createdTemp = true;
643
+ }
644
+ // Build chrome flags
645
+ const defaults = [
646
+ "--remote-allow-origins=*",
647
+ "--no-first-run",
648
+ "--no-default-browser-check",
649
+ "--disable-dev-shm-usage",
650
+ "--site-per-process",
651
+ ];
652
+ let chromeFlags;
653
+ const ignore = lbo.ignoreDefaultArgs;
654
+ if (ignore === true) {
655
+ // drop defaults
656
+ chromeFlags = [];
657
+ }
658
+ else if (Array.isArray(ignore)) {
659
+ chromeFlags = defaults.filter((f) => !ignore.some((ex) => f.includes(ex)));
660
+ }
661
+ else {
662
+ chromeFlags = [...defaults];
663
+ }
664
+ // headless handled by launchLocalChrome
665
+ if (lbo.devtools)
666
+ chromeFlags.push("--auto-open-devtools-for-tabs");
667
+ if (lbo.locale)
668
+ chromeFlags.push(`--lang=${lbo.locale}`);
669
+ if (!lbo.viewport) {
670
+ lbo.viewport = DEFAULT_VIEWPORT;
671
+ }
672
+ if (lbo.viewport?.width && lbo.viewport?.height) {
673
+ chromeFlags.push(`--window-size=${lbo.viewport.width},${lbo.viewport.height + 87}`);
674
+ }
675
+ if (typeof lbo.deviceScaleFactor === "number") {
676
+ chromeFlags.push(`--force-device-scale-factor=${Math.max(0.1, lbo.deviceScaleFactor)}`);
677
+ }
678
+ if (lbo.hasTouch)
679
+ chromeFlags.push("--touch-events=enabled");
680
+ if (lbo.ignoreHTTPSErrors)
681
+ chromeFlags.push("--ignore-certificate-errors");
682
+ if (lbo.proxy?.server)
683
+ chromeFlags.push(`--proxy-server=${lbo.proxy.server}`);
684
+ if (lbo.proxy?.bypass)
685
+ chromeFlags.push(`--proxy-bypass-list=${lbo.proxy.bypass}`);
686
+ // add user-supplied args last
687
+ if (Array.isArray(lbo.args))
688
+ chromeFlags.push(...lbo.args);
689
+ const keepAlive = this.keepAlive === true;
690
+ const { ws, chrome } = await (0, local_js_1.launchLocalChrome)({
691
+ chromePath: lbo.executablePath,
692
+ chromeFlags,
693
+ port: lbo.port,
694
+ headless: lbo.headless,
695
+ userDataDir,
696
+ connectTimeoutMs: lbo.connectTimeoutMs,
697
+ handleSIGINT: !keepAlive,
698
+ });
699
+ if (keepAlive) {
700
+ try {
701
+ chrome.process?.unref?.();
702
+ }
703
+ catch {
704
+ // best-effort: avoid keeping the event loop alive
705
+ }
706
+ }
707
+ this.ctx = await context_js_1.V3Context.create(ws, {
708
+ env: "LOCAL",
709
+ localBrowserLaunchOptions: lbo,
710
+ });
711
+ const logCtx = flowLogger_js_1.SessionFileLogger.getContext();
712
+ this.ctx.conn.cdpLogger = (info) => flowLogger_js_1.SessionFileLogger.logCdpCallEvent(info, logCtx);
713
+ this.ctx.conn.cdpEventLogger = (info) => flowLogger_js_1.SessionFileLogger.logCdpMessageEvent(info, logCtx);
714
+ this.ctx.conn.onTransportClosed(this._onCdpClosed);
715
+ this.state = {
716
+ kind: "LOCAL",
717
+ chrome,
718
+ ws,
719
+ userDataDir,
720
+ createdTempProfile: createdTemp,
721
+ preserveUserDataDir: !!lbo.preserveUserDataDir,
722
+ };
723
+ this.resetBrowserbaseSessionMetadata();
724
+ const chromePid = chrome.process?.pid ?? chrome.pid;
725
+ if (!keepAlive && chromePid) {
726
+ this.startShutdownSupervisor({
727
+ kind: "LOCAL",
728
+ pid: chromePid,
729
+ userDataDir,
730
+ createdTempProfile: createdTemp,
731
+ preserveUserDataDir: !!lbo.preserveUserDataDir,
732
+ });
733
+ }
734
+ // Post-connect settings (downloads and viewport) if provided
735
+ await this._applyPostConnectLocalOptions(lbo);
736
+ return;
737
+ }
738
+ if (this.opts.env === "BROWSERBASE") {
739
+ const { apiKey, projectId } = this.requireBrowserbaseCreds();
740
+ this.logger({
741
+ category: "init",
742
+ message: "Starting browserbase session",
743
+ level: 1,
744
+ });
745
+ const baseSessionParams = this.opts.browserbaseSessionCreateParams ?? {};
746
+ const resolvedKeepAlive = this.keepAlive;
747
+ const keepAlive = this.keepAlive === true;
748
+ const effectiveSessionParams = resolvedKeepAlive !== undefined
749
+ ? { ...baseSessionParams, keepAlive: resolvedKeepAlive }
750
+ : baseSessionParams;
751
+ if (!this.disableAPI && !this.experimental) {
752
+ this.apiClient = new api_js_1.StagehandAPIClient({
753
+ apiKey,
754
+ projectId,
755
+ logger: this.logger,
756
+ serverCache: this.opts.serverCache,
757
+ });
758
+ const { projectId: overrideProjectId, browserSettings, userMetadata, ...restSessionParams } = effectiveSessionParams;
759
+ const resolvedProjectId = overrideProjectId ?? projectId;
760
+ const createSessionPayload = {
761
+ ...(resolvedProjectId ? { projectId: resolvedProjectId } : {}),
762
+ ...restSessionParams,
763
+ browserSettings: {
764
+ ...(browserSettings ?? {}),
765
+ viewport: browserSettings?.viewport ?? {
766
+ width: 1288,
767
+ height: 711,
768
+ },
769
+ },
770
+ userMetadata: {
771
+ ...(userMetadata ?? {}),
772
+ stagehand: "true",
773
+ },
774
+ };
775
+ const { sessionId, available } = await this.apiClient.init({
776
+ modelName: this.modelName,
777
+ modelApiKey: this.modelClientOptions.apiKey,
778
+ domSettleTimeoutMs: this.domSettleTimeoutMs,
779
+ verbose: this.verbose,
780
+ systemPrompt: this.opts.systemPrompt,
781
+ selfHeal: this.opts.selfHeal,
782
+ browserbaseSessionCreateParams: createSessionPayload,
783
+ browserbaseSessionID: this.opts.browserbaseSessionID,
784
+ });
785
+ if (!available) {
786
+ this.apiClient = null;
787
+ }
788
+ this.opts.browserbaseSessionID = sessionId;
789
+ }
790
+ const { ws, sessionId, bb } = await (0, browserbase_js_1.createBrowserbaseSession)(apiKey, projectId, effectiveSessionParams, this.opts.browserbaseSessionID);
791
+ this.ctx = await context_js_1.V3Context.create(ws, {
792
+ env: "BROWSERBASE",
793
+ apiClient: this.apiClient,
794
+ });
795
+ const logCtx = flowLogger_js_1.SessionFileLogger.getContext();
796
+ this.ctx.conn.cdpLogger = (info) => flowLogger_js_1.SessionFileLogger.logCdpCallEvent(info, logCtx);
797
+ this.ctx.conn.cdpEventLogger = (info) => flowLogger_js_1.SessionFileLogger.logCdpMessageEvent(info, logCtx);
798
+ this.ctx.conn.onTransportClosed(this._onCdpClosed);
799
+ this.state = { kind: "BROWSERBASE", sessionId, ws, bb };
800
+ this.browserbaseSessionId = sessionId;
801
+ if (!keepAlive && !this.disableAPI) {
802
+ this.startShutdownSupervisor({
803
+ kind: "STAGEHAND_API",
804
+ sessionId,
805
+ apiKey,
806
+ projectId,
807
+ });
808
+ }
809
+ await this._ensureBrowserbaseDownloadsEnabled();
810
+ const resumed = !!this.opts.browserbaseSessionID;
811
+ let debugUrl;
812
+ try {
813
+ const dbg = (await bb.sessions.debug(sessionId));
814
+ debugUrl = dbg?.debuggerUrl;
815
+ }
816
+ catch {
817
+ // Ignore debug fetch failures; continue with sessionUrl only
818
+ }
819
+ const sessionUrl = `https://www.browserbase.com/sessions/${sessionId}`;
820
+ this.browserbaseSessionUrl = sessionUrl;
821
+ this.browserbaseDebugUrl = debugUrl;
822
+ try {
823
+ this.logger({
824
+ category: "init",
825
+ message: resumed
826
+ ? this.apiClient
827
+ ? "Browserbase session started"
828
+ : "Browserbase session resumed"
829
+ : "Browserbase session started",
830
+ level: 1,
831
+ auxiliary: {
832
+ sessionUrl: { value: sessionUrl, type: "string" },
833
+ ...(debugUrl && {
834
+ debugUrl: { value: debugUrl, type: "string" },
835
+ }),
836
+ sessionId: { value: sessionId, type: "string" },
837
+ },
838
+ });
839
+ }
840
+ catch {
841
+ // best-effort logging — ignore failures
842
+ }
843
+ return;
844
+ }
845
+ const neverEnv = this.opts.env;
846
+ throw new index_js_1.StagehandInitError(`Unsupported env: ${neverEnv}`);
847
+ });
848
+ }
849
+ catch (error) {
850
+ // Cleanup instanceLoggers map on init failure to prevent memory leak
851
+ if (this.externalLogger) {
852
+ try {
853
+ (0, logger_js_2.unbindInstanceLogger)(this.instanceId);
854
+ }
855
+ catch {
856
+ // ignore cleanup errors
857
+ }
858
+ }
859
+ throw error;
860
+ }
861
+ }
862
+ /** Apply post-connect local browser options that require CDP. */
863
+ async _applyPostConnectLocalOptions(lbo) {
864
+ try {
865
+ // Downloads behavior
866
+ if (lbo.downloadsPath || lbo.acceptDownloads !== undefined) {
867
+ const behavior = lbo.acceptDownloads === false ? "deny" : "allow";
868
+ await this.ctx?.conn
869
+ .send("Browser.setDownloadBehavior", {
870
+ behavior,
871
+ downloadPath: lbo.downloadsPath,
872
+ eventsEnabled: true,
873
+ })
874
+ .catch(() => { });
875
+ }
876
+ }
877
+ catch {
878
+ // best-effort only
879
+ }
880
+ }
881
+ async _ensureBrowserbaseDownloadsEnabled() {
882
+ const conn = this.ctx?.conn;
883
+ if (!conn)
884
+ return;
885
+ try {
886
+ await conn.send("Browser.setDownloadBehavior", {
887
+ behavior: "allow",
888
+ downloadPath: "downloads",
889
+ eventsEnabled: true,
890
+ });
891
+ }
892
+ catch {
893
+ // best-effort only
894
+ }
895
+ }
896
+ resetBrowserbaseSessionMetadata() {
897
+ this.browserbaseSessionId = undefined;
898
+ this.browserbaseSessionUrl = undefined;
899
+ this.browserbaseDebugUrl = undefined;
900
+ }
901
+ async act(input, options) {
902
+ return await (0, logger_js_2.withInstanceLogContext)(this.instanceId, async () => {
903
+ if (!this.actHandler)
904
+ throw new index_js_1.StagehandNotInitializedError("act()");
905
+ let actResult;
906
+ if (isObserveResult(input)) {
907
+ // Resolve page: use provided page if any, otherwise default active page
908
+ const v3Page = await this.resolvePage(options?.page);
909
+ // Use selector as provided to support XPath, CSS, and other engines
910
+ const selector = input.selector;
911
+ if (this.apiClient) {
912
+ actResult = await this.apiClient.act({
913
+ input,
914
+ options,
915
+ frameId: v3Page.mainFrameId(),
916
+ });
917
+ }
918
+ else {
919
+ const ensureTimeRemaining = (0, timeoutGuard_js_1.createTimeoutGuard)(options?.timeout, (ms) => new sdkErrors_js_1.ActTimeoutError(ms));
920
+ actResult = await this.actHandler.takeDeterministicAction({ ...input, selector }, v3Page, this.domSettleTimeoutMs, this.resolveLlmClient(options?.model), ensureTimeRemaining, options?.variables);
921
+ }
922
+ // history: record ObserveResult-based act call
923
+ this.addToHistory("act", {
924
+ observeResult: input,
925
+ }, actResult);
926
+ return actResult;
927
+ }
928
+ // instruction path
929
+ if (typeof input !== "string" || !input.trim()) {
930
+ throw new index_js_1.StagehandInvalidArgumentError("act(): instruction string is required unless passing an Action");
931
+ }
932
+ // Resolve page from options or default
933
+ const page = await this.resolvePage(options?.page);
934
+ const actCacheLlmClient = options?.model
935
+ ? this.resolveLlmClient(options.model)
936
+ : undefined;
937
+ let actCacheContext = null;
938
+ const canUseCache = typeof input === "string" &&
939
+ !this.isAgentReplayRecording() &&
940
+ this.actCache.enabled;
941
+ if (canUseCache) {
942
+ actCacheContext = await this.actCache.prepareContext(input, page, (0, variables_js_1.flattenVariables)(options?.variables));
943
+ if (actCacheContext) {
944
+ const cachedResult = await this.actCache.tryReplay(actCacheContext, page, options?.timeout, actCacheLlmClient);
945
+ if (cachedResult) {
946
+ this.addToHistory("act", {
947
+ instruction: input,
948
+ variables: options?.variables,
949
+ timeout: options?.timeout,
950
+ cacheHit: true,
951
+ }, cachedResult);
952
+ return cachedResult;
953
+ }
954
+ }
955
+ }
956
+ const handlerParams = {
957
+ instruction: input,
958
+ page,
959
+ variables: options?.variables,
960
+ timeout: options?.timeout,
961
+ model: options?.model,
962
+ };
963
+ if (this.apiClient) {
964
+ const frameId = page.mainFrameId();
965
+ actResult = await this.apiClient.act({ input, options, frameId });
966
+ }
967
+ else {
968
+ actResult = await this.actHandler.act(handlerParams);
969
+ }
970
+ // history: record instruction-based act call (omit page object)
971
+ this.addToHistory("act", {
972
+ instruction: input,
973
+ variables: options?.variables,
974
+ timeout: options?.timeout,
975
+ }, actResult);
976
+ if (actCacheContext &&
977
+ actResult.success &&
978
+ Array.isArray(actResult.actions) &&
979
+ actResult.actions.length > 0) {
980
+ await this.actCache.store(actCacheContext, actResult);
981
+ }
982
+ return actResult;
983
+ });
984
+ }
985
+ async extract(a, b, c) {
986
+ return await (0, logger_js_2.withInstanceLogContext)(this.instanceId, async () => {
987
+ if (!this.extractHandler) {
988
+ throw new index_js_1.StagehandNotInitializedError("extract()");
989
+ }
990
+ // Normalize args
991
+ let instruction;
992
+ let schema;
993
+ let options;
994
+ if (typeof a === "string") {
995
+ instruction = a;
996
+ const isZodSchema = (val) => !!val &&
997
+ typeof val === "object" &&
998
+ "parse" in val &&
999
+ "safeParse" in val;
1000
+ if (isZodSchema(b)) {
1001
+ schema = b;
1002
+ options = c;
1003
+ }
1004
+ else {
1005
+ options = b;
1006
+ }
1007
+ }
1008
+ else {
1009
+ // a is options or undefined
1010
+ options = a || undefined;
1011
+ }
1012
+ if (!instruction && schema) {
1013
+ throw new index_js_1.StagehandInvalidArgumentError("extract(): schema provided without instruction");
1014
+ }
1015
+ // If instruction without schema → defaultExtractSchema
1016
+ const effectiveSchema = instruction && !schema ? index_js_1.defaultExtractSchema : schema;
1017
+ // Resolve page from options or use active page
1018
+ const page = await this.resolvePage(options?.page);
1019
+ const handlerParams = {
1020
+ instruction,
1021
+ schema: effectiveSchema,
1022
+ model: options?.model,
1023
+ timeout: options?.timeout,
1024
+ selector: options?.selector,
1025
+ page,
1026
+ };
1027
+ let result;
1028
+ if (this.apiClient) {
1029
+ const frameId = page.mainFrameId();
1030
+ result = await this.apiClient.extract({
1031
+ instruction: handlerParams.instruction,
1032
+ schema: handlerParams.schema,
1033
+ options,
1034
+ frameId,
1035
+ });
1036
+ }
1037
+ else {
1038
+ result =
1039
+ await this.extractHandler.extract(handlerParams);
1040
+ }
1041
+ const historySchemaDescriptor = effectiveSchema
1042
+ ? (0, zodCompat_js_1.toJsonSchema)(effectiveSchema)
1043
+ : undefined;
1044
+ this.addToHistory("extract", {
1045
+ instruction,
1046
+ selector: options?.selector,
1047
+ timeout: options?.timeout,
1048
+ schema: historySchemaDescriptor,
1049
+ }, result);
1050
+ return result;
1051
+ });
1052
+ }
1053
+ async observe(a, b) {
1054
+ return await (0, logger_js_2.withInstanceLogContext)(this.instanceId, async () => {
1055
+ if (!this.observeHandler) {
1056
+ throw new index_js_1.StagehandNotInitializedError("observe()");
1057
+ }
1058
+ // Normalize args
1059
+ let instruction;
1060
+ let options;
1061
+ if (typeof a === "string") {
1062
+ instruction = a;
1063
+ options = b;
1064
+ }
1065
+ else {
1066
+ options = a;
1067
+ }
1068
+ // Resolve to our internal Page type
1069
+ const page = await this.resolvePage(options?.page);
1070
+ const handlerParams = {
1071
+ instruction,
1072
+ model: options?.model,
1073
+ timeout: options?.timeout,
1074
+ selector: options?.selector,
1075
+ page: page,
1076
+ };
1077
+ let results;
1078
+ if (this.apiClient) {
1079
+ const frameId = page.mainFrameId();
1080
+ results = await this.apiClient.observe({
1081
+ instruction,
1082
+ options,
1083
+ frameId,
1084
+ });
1085
+ }
1086
+ else {
1087
+ results = await this.observeHandler.observe(handlerParams);
1088
+ }
1089
+ // history: record observe call (omit page object)
1090
+ this.addToHistory("observe", {
1091
+ instruction,
1092
+ timeout: options?.timeout,
1093
+ }, results);
1094
+ return results;
1095
+ });
1096
+ }
1097
+ /** Return the browser-level CDP WebSocket endpoint. */
1098
+ connectURL() {
1099
+ if (this.state.kind === "UNINITIALIZED") {
1100
+ throw new index_js_1.StagehandNotInitializedError("connectURL()");
1101
+ }
1102
+ return this.state.ws;
1103
+ }
1104
+ /** Expose the current CDP-backed context. */
1105
+ get context() {
1106
+ return this.ctx;
1107
+ }
1108
+ /** Best-effort cleanup of context and launched resources. */
1109
+ async close(opts) {
1110
+ // If we're already closing and this isn't a forced close, no-op.
1111
+ if (this._isClosing && !opts?.force)
1112
+ return;
1113
+ this._isClosing = true;
1114
+ const keepAlive = this.keepAlive === true;
1115
+ // Unhook CDP transport close handler BEFORE ending the API session.
1116
+ // apiClient.end() can cause the hosted API to terminate the Browserbase
1117
+ // session, which closes the CDP WebSocket. If the handler is still
1118
+ // registered, _onCdpClosed fires and re-enters close() with force=true,
1119
+ // causing a double-close cascade.
1120
+ try {
1121
+ if (this.ctx?.conn && this._onCdpClosed) {
1122
+ this.ctx.conn.offTransportClosed?.(this._onCdpClosed);
1123
+ }
1124
+ }
1125
+ catch {
1126
+ // ignore
1127
+ }
1128
+ // End Browserbase session via API when keepAlive is not enabled
1129
+ if (!keepAlive && this.apiClient) {
1130
+ try {
1131
+ await this.apiClient.end();
1132
+ }
1133
+ catch {
1134
+ // best-effort cleanup
1135
+ }
1136
+ }
1137
+ try {
1138
+ // Close session file logger
1139
+ try {
1140
+ await flowLogger_js_1.SessionFileLogger.close();
1141
+ }
1142
+ catch {
1143
+ // ignore
1144
+ }
1145
+ // Close CDP context
1146
+ try {
1147
+ await this.ctx?.close();
1148
+ }
1149
+ catch {
1150
+ // ignore
1151
+ }
1152
+ // Kill local Chrome and clean up temp profile when keepAlive is not enabled
1153
+ if (!keepAlive && this.state.kind === "LOCAL") {
1154
+ const localState = this.state;
1155
+ await (0, cleanupLocal_js_1.cleanupLocalBrowser)({
1156
+ killChrome: () => localState.chrome.kill(),
1157
+ userDataDir: localState.userDataDir,
1158
+ createdTempProfile: localState.createdTempProfile,
1159
+ preserveUserDataDir: localState.preserveUserDataDir,
1160
+ });
1161
+ }
1162
+ }
1163
+ finally {
1164
+ this.stopShutdownSupervisor();
1165
+ // Reset internal state
1166
+ this.state = { kind: "UNINITIALIZED" };
1167
+ this.ctx = null;
1168
+ this._isClosing = false;
1169
+ this.resetBrowserbaseSessionMetadata();
1170
+ try {
1171
+ (0, logger_js_2.unbindInstanceLogger)(this.instanceId);
1172
+ }
1173
+ catch {
1174
+ // ignore
1175
+ }
1176
+ try {
1177
+ this.bus.removeAllListeners();
1178
+ }
1179
+ catch {
1180
+ // ignore
1181
+ }
1182
+ this._history = [];
1183
+ this.actHandler = null;
1184
+ this.extractHandler = null;
1185
+ this.observeHandler = null;
1186
+ V3._instances.delete(this);
1187
+ }
1188
+ }
1189
+ /** Guard: ensure Browserbase credentials exist in options. */
1190
+ requireBrowserbaseCreds() {
1191
+ let { apiKey, projectId } = this.opts;
1192
+ // Fall back to environment variables if not explicitly provided
1193
+ if (!apiKey)
1194
+ apiKey = process_1.default.env.BROWSERBASE_API_KEY ?? process_1.default.env.BB_API_KEY;
1195
+ if (!projectId)
1196
+ projectId =
1197
+ process_1.default.env.BROWSERBASE_PROJECT_ID ?? process_1.default.env.BB_PROJECT_ID;
1198
+ if (!apiKey) {
1199
+ throw new index_js_1.MissingEnvironmentVariableError("BROWSERBASE_API_KEY", "Browserbase");
1200
+ }
1201
+ // Cache resolved values back into opts for consistency
1202
+ this.opts.apiKey = apiKey;
1203
+ if (projectId)
1204
+ this.opts.projectId = projectId;
1205
+ // Informational log
1206
+ this.logger({
1207
+ category: "init",
1208
+ message: "Using Browserbase credentials",
1209
+ level: 1,
1210
+ });
1211
+ return { apiKey, projectId };
1212
+ }
1213
+ get logger() {
1214
+ // Delegate to per-instance StagehandLogger
1215
+ // StagehandLogger handles: verbosity filtering, usePino selection, external logger routing
1216
+ // This provides per-instance configuration while maintaining shared Pino optimization
1217
+ return (logLine) => {
1218
+ const line = { ...logLine, level: logLine.level ?? 1 };
1219
+ this.stagehandLogger.log(line);
1220
+ };
1221
+ }
1222
+ /**
1223
+ * Normalize a Playwright/Puppeteer page object into its top frame id,
1224
+ * so handlers can resolve it to a `Page` within our V3Context.
1225
+ */
1226
+ async resolveTopFrameId(page) {
1227
+ if (this.isPlaywrightPage(page)) {
1228
+ const cdp = await page.context().newCDPSession(page);
1229
+ const { frameTree } = await cdp.send("Page.getFrameTree");
1230
+ return frameTree.frame.id;
1231
+ }
1232
+ if (this.isPatchrightPage(page)) {
1233
+ const cdp = await page.context().newCDPSession(page);
1234
+ const { frameTree } = await cdp.send("Page.getFrameTree");
1235
+ return frameTree.frame.id;
1236
+ }
1237
+ if (this.isPuppeteerPage(page)) {
1238
+ const cdp = await page.createCDPSession();
1239
+ const { frameTree } = await cdp.send("Page.getFrameTree");
1240
+ this.logger({
1241
+ category: "v3",
1242
+ message: "Puppeteer frame id",
1243
+ level: 2,
1244
+ auxiliary: { frameId: { value: frameTree.frame.id, type: "string" } },
1245
+ });
1246
+ return frameTree.frame.id;
1247
+ }
1248
+ throw new index_js_1.StagehandInvalidArgumentError("Unsupported page object passed to V3.act()");
1249
+ }
1250
+ isPlaywrightPage(p) {
1251
+ return (typeof p === "object" &&
1252
+ p !== null &&
1253
+ typeof p.context === "function");
1254
+ }
1255
+ isPatchrightPage(p) {
1256
+ return (typeof p === "object" &&
1257
+ p !== null &&
1258
+ typeof p.context === "function");
1259
+ }
1260
+ isPuppeteerPage(p) {
1261
+ return (typeof p === "object" &&
1262
+ p !== null &&
1263
+ typeof p.target === "function");
1264
+ }
1265
+ /** Resolve an external page reference or fall back to the active V3 page. */
1266
+ async resolvePage(page) {
1267
+ if (page) {
1268
+ return await this.normalizeToV3Page(page);
1269
+ }
1270
+ const ctx = this.ctx;
1271
+ if (!ctx) {
1272
+ throw new index_js_1.StagehandNotInitializedError("resolvePage()");
1273
+ }
1274
+ return await ctx.awaitActivePage();
1275
+ }
1276
+ async normalizeToV3Page(input) {
1277
+ if (input instanceof (await Promise.resolve().then(() => __importStar(require("./understudy/page.js")))).Page) {
1278
+ return input;
1279
+ }
1280
+ if (this.isPlaywrightPage(input)) {
1281
+ const frameId = await this.resolveTopFrameId(input);
1282
+ const page = this.ctx.resolvePageByMainFrameId(frameId);
1283
+ if (!page)
1284
+ throw new index_js_1.StagehandInitError("Failed to resolve V3 Page from Playwright page.");
1285
+ return page;
1286
+ }
1287
+ if (this.isPatchrightPage(input)) {
1288
+ const frameId = await this.resolveTopFrameId(input);
1289
+ const page = this.ctx.resolvePageByMainFrameId(frameId);
1290
+ if (!page)
1291
+ throw new index_js_1.StagehandInitError("Failed to resolve V3 Page from Patchright page.");
1292
+ return page;
1293
+ }
1294
+ if (this.isPuppeteerPage(input)) {
1295
+ const frameId = await this.resolveTopFrameId(input);
1296
+ const page = this.ctx.resolvePageByMainFrameId(frameId);
1297
+ if (!page)
1298
+ throw new index_js_1.StagehandInitError("Failed to resolve V3 Page from Puppeteer page.");
1299
+ return page;
1300
+ }
1301
+ throw new index_js_1.StagehandInvalidArgumentError("Unsupported page object.");
1302
+ }
1303
+ async _logBrowserbaseSessionStatus() {
1304
+ if (this.state.kind !== "BROWSERBASE") {
1305
+ return;
1306
+ }
1307
+ try {
1308
+ const snapshot = (await this.state.bb.sessions.retrieve(this.state.sessionId));
1309
+ if (!snapshot?.status)
1310
+ return;
1311
+ const sessionId = snapshot.id ?? this.state.sessionId;
1312
+ const message = snapshot.status === "TIMED_OUT"
1313
+ ? `Browserbase session timed out (sessionId: ${sessionId})`
1314
+ : `Browserbase session status: ${snapshot.status}`;
1315
+ this.logger({
1316
+ category: "v3",
1317
+ message,
1318
+ level: 0,
1319
+ });
1320
+ }
1321
+ catch {
1322
+ // Ignore failures; nothing to log
1323
+ }
1324
+ }
1325
+ /**
1326
+ * Prepares shared context for agent execution (both execute and stream).
1327
+ * Extracts duplicated setup logic into a single helper.
1328
+ */
1329
+ async prepareAgentExecution(options, instructionOrOptions, agentConfigSignature) {
1330
+ // Note: experimental validation is done at the call site before this method
1331
+ // Warn if mode is not explicitly set (defaults to "dom")
1332
+ if (options?.mode === undefined) {
1333
+ this.logger({
1334
+ category: "agent",
1335
+ message: "Using agent in default DOM mode (legacy). Agent will default to 'hybrid' on an upcoming release for improved performance.\n → https://docs.stagehand.dev/v3/basics/agent\n",
1336
+ level: 0,
1337
+ });
1338
+ }
1339
+ const tools = options?.integrations
1340
+ ? await (0, utils_js_2.resolveTools)(options.integrations, options.tools)
1341
+ : (options?.tools ?? {});
1342
+ const agentLlmClient = options?.model
1343
+ ? this.resolveLlmClient(options.model)
1344
+ : this.llmClient;
1345
+ const resolvedExecutionModel = options?.executionModel ?? options?.model;
1346
+ const handler = new v3AgentHandler_js_1.V3AgentHandler(this, this.logger, agentLlmClient, resolvedExecutionModel, options?.systemPrompt, tools, options?.mode);
1347
+ const resolvedOptions = typeof instructionOrOptions === "string"
1348
+ ? {
1349
+ instruction: instructionOrOptions,
1350
+ toolTimeout: DEFAULT_AGENT_TOOL_TIMEOUT_MS,
1351
+ }
1352
+ : {
1353
+ ...instructionOrOptions,
1354
+ toolTimeout: instructionOrOptions.toolTimeout ?? DEFAULT_AGENT_TOOL_TIMEOUT_MS,
1355
+ };
1356
+ const callbacksWithSafety = resolvedOptions.callbacks;
1357
+ if (callbacksWithSafety?.onSafetyConfirmation) {
1358
+ throw new index_js_1.StagehandInvalidArgumentError('onSafetyConfirmation callback is only supported when using mode: "cua" agents.');
1359
+ }
1360
+ if (resolvedOptions.page) {
1361
+ const normalizedPage = await this.normalizeToV3Page(resolvedOptions.page);
1362
+ this.ctx.setActivePage(normalizedPage);
1363
+ }
1364
+ const instruction = resolvedOptions.instruction.trim();
1365
+ const sanitizedOptions = this.agentCache.sanitizeExecuteOptions(resolvedOptions);
1366
+ const cacheVariables = (0, variables_js_1.flattenVariables)(resolvedOptions.variables);
1367
+ const cacheContext = this.agentCache.shouldAttemptCache(instruction)
1368
+ ? await this.agentCache.prepareContext({
1369
+ instruction,
1370
+ options: sanitizedOptions,
1371
+ configSignature: agentConfigSignature,
1372
+ page: await this.ctx.awaitActivePage(),
1373
+ variables: cacheVariables,
1374
+ })
1375
+ : null;
1376
+ return {
1377
+ handler,
1378
+ resolvedOptions,
1379
+ instruction,
1380
+ cacheContext,
1381
+ llmClient: agentLlmClient,
1382
+ };
1383
+ }
1384
+ agent(options) {
1385
+ // Determine if CUA mode is enabled (via mode: "cua" or deprecated cua: true)
1386
+ const isCuaMode = options?.mode !== undefined
1387
+ ? options.mode === "cua"
1388
+ : options?.cua === true;
1389
+ // Emit deprecation warning for cua: true
1390
+ if (options?.cua === true) {
1391
+ this.logger({
1392
+ category: "agent",
1393
+ message: '[DEPRECATED] The "cua: true" option is deprecated. Use "mode: \'cua\'" instead. This option will be removed in a future version.',
1394
+ level: 0,
1395
+ });
1396
+ console.warn('[Stagehand] DEPRECATED: The "cua: true" option is deprecated. Use "mode: \'cua\'" instead.');
1397
+ }
1398
+ this.logger({
1399
+ category: "agent",
1400
+ message: "Creating v3 agent instance",
1401
+ level: 1,
1402
+ auxiliary: {
1403
+ cua: { value: isCuaMode ? "true" : "false", type: "boolean" },
1404
+ mode: { value: options?.mode ?? "dom", type: "string" },
1405
+ model: {
1406
+ value: (0, modelUtils_js_1.extractModelName)(options?.model) ?? this.llmClient.modelName,
1407
+ type: "string",
1408
+ },
1409
+ systemPrompt: { value: options?.systemPrompt ?? "", type: "string" },
1410
+ tools: { value: JSON.stringify(options?.tools ?? {}), type: "object" },
1411
+ ...(options?.integrations && {
1412
+ integrations: {
1413
+ value: JSON.stringify(options.integrations),
1414
+ type: "object",
1415
+ },
1416
+ }),
1417
+ },
1418
+ });
1419
+ // If CUA mode is enabled (via mode: "cua" or deprecated cua: true), use the computer-use agent path
1420
+ if (isCuaMode) {
1421
+ // Validate agent config at creation time (includes CUA+streaming conflict check)
1422
+ (0, validateExperimentalFeatures_js_1.validateExperimentalFeatures)({
1423
+ isExperimental: this.experimental,
1424
+ agentConfig: options,
1425
+ });
1426
+ const modelToUse = options?.model || {
1427
+ modelName: this.modelName,
1428
+ ...this.modelClientOptions,
1429
+ };
1430
+ const { modelName, isCua, clientOptions } = (0, modelUtils_js_2.resolveModel)(modelToUse);
1431
+ if (!isCua) {
1432
+ throw new index_js_1.CuaModelRequiredError(index_js_1.AVAILABLE_CUA_MODELS);
1433
+ }
1434
+ const agentConfigSignature = this.agentCache.buildConfigSignature(options);
1435
+ return {
1436
+ execute: async (instructionOrOptions) => (0, logger_js_2.withInstanceLogContext)(this.instanceId, async () => {
1437
+ (0, validateExperimentalFeatures_js_1.validateExperimentalFeatures)({
1438
+ isExperimental: this.experimental,
1439
+ agentConfig: options,
1440
+ executeOptions: typeof instructionOrOptions === "object"
1441
+ ? instructionOrOptions
1442
+ : null,
1443
+ });
1444
+ flowLogger_js_1.SessionFileLogger.logAgentTaskStarted({
1445
+ invocation: "Agent.execute",
1446
+ args: [instructionOrOptions],
1447
+ });
1448
+ const tools = options?.integrations
1449
+ ? await (0, utils_js_2.resolveTools)(options.integrations, options.tools)
1450
+ : (options?.tools ?? {});
1451
+ const handler = new v3CuaAgentHandler_js_1.V3CuaAgentHandler(this, this.logger, {
1452
+ modelName,
1453
+ clientOptions,
1454
+ userProvidedInstructions: options.systemPrompt ??
1455
+ `You are a helpful assistant that can use a web browser.\nDo not ask follow up questions, the user will trust your judgement.`,
1456
+ }, tools);
1457
+ const resolvedOptions = typeof instructionOrOptions === "string"
1458
+ ? {
1459
+ instruction: instructionOrOptions,
1460
+ toolTimeout: DEFAULT_AGENT_TOOL_TIMEOUT_MS,
1461
+ }
1462
+ : {
1463
+ ...instructionOrOptions,
1464
+ toolTimeout: instructionOrOptions.toolTimeout ??
1465
+ DEFAULT_AGENT_TOOL_TIMEOUT_MS,
1466
+ };
1467
+ if (resolvedOptions.page) {
1468
+ const normalizedPage = await this.normalizeToV3Page(resolvedOptions.page);
1469
+ this.ctx.setActivePage(normalizedPage);
1470
+ }
1471
+ const instruction = resolvedOptions.instruction.trim();
1472
+ const sanitizedOptions = this.agentCache.sanitizeExecuteOptions(resolvedOptions);
1473
+ const cacheVariables = (0, variables_js_1.flattenVariables)(resolvedOptions.variables);
1474
+ let cacheContext = null;
1475
+ if (this.agentCache.shouldAttemptCache(instruction)) {
1476
+ const startPage = await this.ctx.awaitActivePage();
1477
+ cacheContext = await this.agentCache.prepareContext({
1478
+ instruction,
1479
+ options: sanitizedOptions,
1480
+ configSignature: agentConfigSignature,
1481
+ page: startPage,
1482
+ variables: cacheVariables,
1483
+ });
1484
+ if (cacheContext) {
1485
+ const replayed = await this.agentCache.tryReplay(cacheContext);
1486
+ if (replayed) {
1487
+ flowLogger_js_1.SessionFileLogger.logAgentTaskCompleted({ cacheHit: true });
1488
+ return replayed;
1489
+ }
1490
+ }
1491
+ }
1492
+ let agentSteps = [];
1493
+ const shouldRecordLocally = !!cacheContext && (!this.apiClient || this.experimental);
1494
+ if (shouldRecordLocally) {
1495
+ this.beginAgentReplayRecording();
1496
+ }
1497
+ let result;
1498
+ try {
1499
+ if (this.apiClient && !this.experimental) {
1500
+ const page = await this.ctx.awaitActivePage();
1501
+ result = await this.apiClient.agentExecute(options, resolvedOptions, page.mainFrameId(), !!cacheContext);
1502
+ if (cacheContext) {
1503
+ const transferredEntry = this.apiClient.consumeLatestAgentCacheEntry();
1504
+ await this.agentCache.storeTransferredEntry(transferredEntry);
1505
+ }
1506
+ }
1507
+ else {
1508
+ result = await handler.execute(instructionOrOptions);
1509
+ }
1510
+ if (shouldRecordLocally) {
1511
+ agentSteps = this.endAgentReplayRecording();
1512
+ }
1513
+ if (shouldRecordLocally &&
1514
+ cacheContext &&
1515
+ result.success &&
1516
+ agentSteps.length > 0) {
1517
+ await this.agentCache.store(cacheContext, agentSteps, result);
1518
+ }
1519
+ return result;
1520
+ }
1521
+ catch (err) {
1522
+ if (shouldRecordLocally)
1523
+ this.discardAgentReplayRecording();
1524
+ throw err;
1525
+ }
1526
+ finally {
1527
+ if (shouldRecordLocally) {
1528
+ this.discardAgentReplayRecording();
1529
+ }
1530
+ flowLogger_js_1.SessionFileLogger.logAgentTaskCompleted();
1531
+ }
1532
+ }),
1533
+ };
1534
+ }
1535
+ // Default: AISDK tools-based agent
1536
+ const agentConfigSignature = this.agentCache.buildConfigSignature(options);
1537
+ const isStreaming = options?.stream ?? false;
1538
+ return {
1539
+ execute: async (instructionOrOptions) => (0, logger_js_2.withInstanceLogContext)(this.instanceId, async () => {
1540
+ (0, validateExperimentalFeatures_js_1.validateExperimentalFeatures)({
1541
+ isExperimental: this.experimental,
1542
+ agentConfig: options,
1543
+ executeOptions: typeof instructionOrOptions === "object"
1544
+ ? instructionOrOptions
1545
+ : null,
1546
+ isStreaming,
1547
+ });
1548
+ flowLogger_js_1.SessionFileLogger.logAgentTaskStarted({
1549
+ invocation: "Agent.execute",
1550
+ args: [instructionOrOptions],
1551
+ });
1552
+ // Streaming mode
1553
+ if (isStreaming) {
1554
+ const { handler, resolvedOptions, cacheContext, llmClient } = await this.prepareAgentExecution(options, instructionOrOptions, agentConfigSignature);
1555
+ if (cacheContext) {
1556
+ const replayed = await this.agentCache.tryReplayAsStream(cacheContext, llmClient);
1557
+ if (replayed) {
1558
+ flowLogger_js_1.SessionFileLogger.logAgentTaskCompleted({ cacheHit: true });
1559
+ return replayed;
1560
+ }
1561
+ }
1562
+ const streamResult = await handler.stream(resolvedOptions);
1563
+ if (cacheContext) {
1564
+ const wrappedStream = this.agentCache.wrapStreamForCaching(cacheContext, streamResult, () => this.beginAgentReplayRecording(), () => this.endAgentReplayRecording(), () => this.discardAgentReplayRecording());
1565
+ // Log completion when stream is returned (stream completes asynchronously)
1566
+ flowLogger_js_1.SessionFileLogger.logAgentTaskCompleted();
1567
+ return wrappedStream;
1568
+ }
1569
+ // Log completion when stream is returned (stream completes asynchronously)
1570
+ flowLogger_js_1.SessionFileLogger.logAgentTaskCompleted();
1571
+ return streamResult;
1572
+ }
1573
+ // Non-streaming mode (default)
1574
+ const { handler, resolvedOptions, cacheContext, llmClient } = await this.prepareAgentExecution(options, instructionOrOptions, agentConfigSignature);
1575
+ if (cacheContext) {
1576
+ const replayed = await this.agentCache.tryReplay(cacheContext, llmClient);
1577
+ if (replayed) {
1578
+ flowLogger_js_1.SessionFileLogger.logAgentTaskCompleted({ cacheHit: true });
1579
+ return replayed;
1580
+ }
1581
+ }
1582
+ let agentSteps = [];
1583
+ const shouldRecordLocally = !!cacheContext && (!this.apiClient || this.experimental);
1584
+ if (shouldRecordLocally) {
1585
+ this.beginAgentReplayRecording();
1586
+ }
1587
+ let result;
1588
+ try {
1589
+ if (this.apiClient && !this.experimental) {
1590
+ const page = await this.ctx.awaitActivePage();
1591
+ result = await this.apiClient.agentExecute(options ?? {}, resolvedOptions, page.mainFrameId(), !!cacheContext);
1592
+ if (cacheContext) {
1593
+ const transferredEntry = this.apiClient.consumeLatestAgentCacheEntry();
1594
+ await this.agentCache.storeTransferredEntry(transferredEntry);
1595
+ }
1596
+ }
1597
+ else {
1598
+ result = await handler.execute(resolvedOptions);
1599
+ }
1600
+ if (shouldRecordLocally) {
1601
+ agentSteps = this.endAgentReplayRecording();
1602
+ }
1603
+ if (shouldRecordLocally &&
1604
+ cacheContext &&
1605
+ result.success &&
1606
+ agentSteps.length > 0) {
1607
+ await this.agentCache.store(cacheContext, agentSteps, result);
1608
+ }
1609
+ return result;
1610
+ }
1611
+ catch (err) {
1612
+ if (shouldRecordLocally)
1613
+ this.discardAgentReplayRecording();
1614
+ throw err;
1615
+ }
1616
+ finally {
1617
+ if (shouldRecordLocally) {
1618
+ this.discardAgentReplayRecording();
1619
+ }
1620
+ flowLogger_js_1.SessionFileLogger.logAgentTaskCompleted();
1621
+ }
1622
+ }),
1623
+ };
1624
+ }
1625
+ };
1626
+ })();
1627
+ exports.V3 = V3;
1628
+ function isObserveResult(v) {
1629
+ return (!!v && typeof v === "object" && "selector" in v);
1630
+ }
1631
+ //# sourceMappingURL=v3.js.map