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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1556) hide show
  1. package/dist/cjs/cli.js +3 -0
  2. package/dist/cjs/index.d.ts +2 -0
  3. package/dist/cjs/index.js +2 -0
  4. package/dist/cjs/lib/inference.d.ts +65 -0
  5. package/dist/cjs/lib/inference.js +335 -0
  6. package/dist/cjs/lib/inference.js.map +1 -0
  7. package/dist/cjs/lib/inferenceLogUtils.d.ts +12 -0
  8. package/dist/cjs/lib/inferenceLogUtils.js +99 -0
  9. package/dist/cjs/lib/inferenceLogUtils.js.map +1 -0
  10. package/dist/cjs/lib/logger.d.ts +69 -0
  11. package/dist/cjs/lib/logger.js +331 -0
  12. package/dist/cjs/lib/logger.js.map +1 -0
  13. package/dist/cjs/lib/modelUtils.d.ts +15 -0
  14. package/dist/cjs/lib/modelUtils.js +53 -0
  15. package/dist/cjs/lib/modelUtils.js.map +1 -0
  16. package/dist/cjs/lib/prompt.d.ts +15 -0
  17. package/dist/cjs/lib/prompt.js +245 -0
  18. package/dist/cjs/lib/prompt.js.map +1 -0
  19. package/dist/cjs/lib/utils.d.ts +68 -0
  20. package/dist/cjs/lib/utils.js +670 -0
  21. package/dist/cjs/lib/utils.js.map +1 -0
  22. package/dist/cjs/lib/v3/agent/AgentClient.d.ts +19 -0
  23. package/dist/cjs/lib/v3/agent/AgentClient.js +21 -0
  24. package/dist/cjs/lib/v3/agent/AgentClient.js.map +1 -0
  25. package/dist/cjs/lib/v3/agent/AgentProvider.d.ts +20 -0
  26. package/dist/cjs/lib/v3/agent/AgentProvider.js +81 -0
  27. package/dist/cjs/lib/v3/agent/AgentProvider.js.map +1 -0
  28. package/dist/cjs/lib/v3/agent/AnthropicCUAClient.d.ts +57 -0
  29. package/dist/cjs/lib/v3/agent/AnthropicCUAClient.js +844 -0
  30. package/dist/cjs/lib/v3/agent/AnthropicCUAClient.js.map +1 -0
  31. package/dist/cjs/lib/v3/agent/GoogleCUAClient.d.ts +74 -0
  32. package/dist/cjs/lib/v3/agent/GoogleCUAClient.js +803 -0
  33. package/dist/cjs/lib/v3/agent/GoogleCUAClient.js.map +1 -0
  34. package/dist/cjs/lib/v3/agent/MicrosoftCUAClient.d.ts +71 -0
  35. package/dist/cjs/lib/v3/agent/MicrosoftCUAClient.js +777 -0
  36. package/dist/cjs/lib/v3/agent/MicrosoftCUAClient.js.map +1 -0
  37. package/dist/cjs/lib/v3/agent/OpenAICUAClient.d.ts +69 -0
  38. package/dist/cjs/lib/v3/agent/OpenAICUAClient.js +622 -0
  39. package/dist/cjs/lib/v3/agent/OpenAICUAClient.js.map +1 -0
  40. package/dist/cjs/lib/v3/agent/prompts/agentSystemPrompt.d.ts +14 -0
  41. package/dist/cjs/lib/v3/agent/prompts/agentSystemPrompt.js +212 -0
  42. package/dist/cjs/lib/v3/agent/prompts/agentSystemPrompt.js.map +1 -0
  43. package/dist/cjs/lib/v3/agent/tools/act.d.ts +13 -0
  44. package/dist/cjs/lib/v3/agent/tools/act.js +75 -0
  45. package/dist/cjs/lib/v3/agent/tools/act.js.map +1 -0
  46. package/dist/cjs/lib/v3/agent/tools/ariaTree.d.ts +12 -0
  47. package/dist/cjs/lib/v3/agent/tools/ariaTree.js +73 -0
  48. package/dist/cjs/lib/v3/agent/tools/ariaTree.js.map +1 -0
  49. package/dist/cjs/lib/v3/agent/tools/click.d.ts +6 -0
  50. package/dist/cjs/lib/v3/agent/tools/click.js +100 -0
  51. package/dist/cjs/lib/v3/agent/tools/click.js.map +1 -0
  52. package/dist/cjs/lib/v3/agent/tools/clickAndHold.d.ts +14 -0
  53. package/dist/cjs/lib/v3/agent/tools/clickAndHold.js +72 -0
  54. package/dist/cjs/lib/v3/agent/tools/clickAndHold.js.map +1 -0
  55. package/dist/cjs/lib/v3/agent/tools/dragAndDrop.d.ts +7 -0
  56. package/dist/cjs/lib/v3/agent/tools/dragAndDrop.js +101 -0
  57. package/dist/cjs/lib/v3/agent/tools/dragAndDrop.js.map +1 -0
  58. package/dist/cjs/lib/v3/agent/tools/extract.d.ts +21 -0
  59. package/dist/cjs/lib/v3/agent/tools/extract.js +110 -0
  60. package/dist/cjs/lib/v3/agent/tools/extract.js.map +1 -0
  61. package/dist/cjs/lib/v3/agent/tools/fillFormVision.d.ts +12 -0
  62. package/dist/cjs/lib/v3/agent/tools/fillFormVision.js +158 -0
  63. package/dist/cjs/lib/v3/agent/tools/fillFormVision.js.map +1 -0
  64. package/dist/cjs/lib/v3/agent/tools/fillform.d.ts +19 -0
  65. package/dist/cjs/lib/v3/agent/tools/fillform.js +90 -0
  66. package/dist/cjs/lib/v3/agent/tools/fillform.js.map +1 -0
  67. package/dist/cjs/lib/v3/agent/tools/goto.d.ts +12 -0
  68. package/dist/cjs/lib/v3/agent/tools/goto.js +35 -0
  69. package/dist/cjs/lib/v3/agent/tools/goto.js.map +1 -0
  70. package/dist/cjs/lib/v3/agent/tools/index.d.ts +102 -0
  71. package/dist/cjs/lib/v3/agent/tools/index.js +78 -0
  72. package/dist/cjs/lib/v3/agent/tools/index.js.map +1 -0
  73. package/dist/cjs/lib/v3/agent/tools/keys.d.ts +24 -0
  74. package/dist/cjs/lib/v3/agent/tools/keys.js +64 -0
  75. package/dist/cjs/lib/v3/agent/tools/keys.js.map +1 -0
  76. package/dist/cjs/lib/v3/agent/tools/navback.d.ts +6 -0
  77. package/dist/cjs/lib/v3/agent/tools/navback.js +27 -0
  78. package/dist/cjs/lib/v3/agent/tools/navback.js.map +1 -0
  79. package/dist/cjs/lib/v3/agent/tools/screenshot.d.ts +14 -0
  80. package/dist/cjs/lib/v3/agent/tools/screenshot.js +47 -0
  81. package/dist/cjs/lib/v3/agent/tools/screenshot.js.map +1 -0
  82. package/dist/cjs/lib/v3/agent/tools/scroll.d.ts +19 -0
  83. package/dist/cjs/lib/v3/agent/tools/scroll.js +159 -0
  84. package/dist/cjs/lib/v3/agent/tools/scroll.js.map +1 -0
  85. package/dist/cjs/lib/v3/agent/tools/search.d.ts +15 -0
  86. package/dist/cjs/lib/v3/agent/tools/search.js +77 -0
  87. package/dist/cjs/lib/v3/agent/tools/search.js.map +1 -0
  88. package/dist/cjs/lib/v3/agent/tools/think.d.ts +6 -0
  89. package/dist/cjs/lib/v3/agent/tools/think.js +28 -0
  90. package/dist/cjs/lib/v3/agent/tools/think.js.map +1 -0
  91. package/dist/cjs/lib/v3/agent/tools/type.d.ts +7 -0
  92. package/dist/cjs/lib/v3/agent/tools/type.js +111 -0
  93. package/dist/cjs/lib/v3/agent/tools/type.js.map +1 -0
  94. package/dist/cjs/lib/v3/agent/tools/wait.d.ts +5 -0
  95. package/dist/cjs/lib/v3/agent/tools/wait.js +63 -0
  96. package/dist/cjs/lib/v3/agent/tools/wait.js.map +1 -0
  97. package/dist/cjs/lib/v3/agent/utils/actionMapping.d.ts +3 -0
  98. package/dist/cjs/lib/v3/agent/utils/actionMapping.js +103 -0
  99. package/dist/cjs/lib/v3/agent/utils/actionMapping.js.map +1 -0
  100. package/dist/cjs/lib/v3/agent/utils/coordinateNormalization.d.ts +13 -0
  101. package/dist/cjs/lib/v3/agent/utils/coordinateNormalization.js +33 -0
  102. package/dist/cjs/lib/v3/agent/utils/coordinateNormalization.js.map +1 -0
  103. package/dist/cjs/lib/v3/agent/utils/cuaKeyMapping.d.ts +10 -0
  104. package/dist/cjs/lib/v3/agent/utils/cuaKeyMapping.js +65 -0
  105. package/dist/cjs/lib/v3/agent/utils/cuaKeyMapping.js.map +1 -0
  106. package/dist/cjs/lib/v3/agent/utils/googleCustomToolHandler.d.ts +25 -0
  107. package/dist/cjs/lib/v3/agent/utils/googleCustomToolHandler.js +150 -0
  108. package/dist/cjs/lib/v3/agent/utils/googleCustomToolHandler.js.map +1 -0
  109. package/dist/cjs/lib/v3/agent/utils/handleDoneToolCall.d.ts +22 -0
  110. package/dist/cjs/lib/v3/agent/utils/handleDoneToolCall.js +108 -0
  111. package/dist/cjs/lib/v3/agent/utils/handleDoneToolCall.js.map +1 -0
  112. package/dist/cjs/lib/v3/agent/utils/imageCompression.d.ts +53 -0
  113. package/dist/cjs/lib/v3/agent/utils/imageCompression.js +212 -0
  114. package/dist/cjs/lib/v3/agent/utils/imageCompression.js.map +1 -0
  115. package/dist/cjs/lib/v3/agent/utils/messageProcessing.d.ts +12 -0
  116. package/dist/cjs/lib/v3/agent/utils/messageProcessing.js +167 -0
  117. package/dist/cjs/lib/v3/agent/utils/messageProcessing.js.map +1 -0
  118. package/dist/cjs/lib/v3/agent/utils/screenshotHandler.d.ts +10 -0
  119. package/dist/cjs/lib/v3/agent/utils/screenshotHandler.js +29 -0
  120. package/dist/cjs/lib/v3/agent/utils/screenshotHandler.js.map +1 -0
  121. package/dist/cjs/lib/v3/agent/utils/validateExperimentalFeatures.d.ts +26 -0
  122. package/dist/cjs/lib/v3/agent/utils/validateExperimentalFeatures.js +90 -0
  123. package/dist/cjs/lib/v3/agent/utils/validateExperimentalFeatures.js.map +1 -0
  124. package/dist/cjs/lib/v3/agent/utils/variables.d.ts +21 -0
  125. package/dist/cjs/lib/v3/agent/utils/variables.js +54 -0
  126. package/dist/cjs/lib/v3/agent/utils/variables.js.map +1 -0
  127. package/dist/cjs/lib/v3/agent/utils/xpath.d.ts +11 -0
  128. package/dist/cjs/lib/v3/agent/utils/xpath.js +22 -0
  129. package/dist/cjs/lib/v3/agent/utils/xpath.js.map +1 -0
  130. package/dist/cjs/lib/v3/api.d.ts +119 -0
  131. package/dist/cjs/lib/v3/api.js +589 -0
  132. package/dist/cjs/lib/v3/api.js.map +1 -0
  133. package/dist/cjs/lib/v3/cache/ActCache.d.ts +22 -0
  134. package/dist/cjs/lib/v3/cache/ActCache.js +280 -0
  135. package/dist/cjs/lib/v3/cache/ActCache.js.map +1 -0
  136. package/dist/cjs/lib/v3/cache/AgentCache.d.ts +110 -0
  137. package/dist/cjs/lib/v3/cache/AgentCache.js +651 -0
  138. package/dist/cjs/lib/v3/cache/AgentCache.js.map +1 -0
  139. package/dist/cjs/lib/v3/cache/CacheStorage.d.ts +17 -0
  140. package/dist/cjs/lib/v3/cache/CacheStorage.js +105 -0
  141. package/dist/cjs/lib/v3/cache/CacheStorage.js.map +1 -0
  142. package/dist/cjs/lib/v3/cache/serverAgentCache.d.ts +7 -0
  143. package/dist/cjs/lib/v3/cache/serverAgentCache.js +52 -0
  144. package/dist/cjs/lib/v3/cache/serverAgentCache.js.map +1 -0
  145. package/dist/cjs/lib/v3/cache/utils.d.ts +15 -0
  146. package/dist/cjs/lib/v3/cache/utils.js +44 -0
  147. package/dist/cjs/lib/v3/cache/utils.js.map +1 -0
  148. package/dist/cjs/lib/v3/cli.d.ts +2 -0
  149. package/dist/cjs/lib/v3/cli.js +15 -0
  150. package/dist/cjs/lib/v3/cli.js.map +1 -0
  151. package/dist/cjs/lib/v3/dom/a11yScripts/index.d.ts +11 -0
  152. package/dist/cjs/lib/v3/dom/a11yScripts/index.js +124 -0
  153. package/dist/cjs/lib/v3/dom/a11yScripts/index.js.map +1 -0
  154. package/dist/cjs/lib/v3/dom/build/a11yScripts.generated.d.ts +16 -0
  155. package/dist/cjs/lib/v3/dom/build/a11yScripts.generated.js +23 -0
  156. package/dist/cjs/lib/v3/dom/build/a11yScripts.generated.js.map +1 -0
  157. package/dist/cjs/lib/v3/dom/build/locatorScripts.generated.d.ts +52 -0
  158. package/dist/cjs/lib/v3/dom/build/locatorScripts.generated.js +59 -0
  159. package/dist/cjs/lib/v3/dom/build/locatorScripts.generated.js.map +1 -0
  160. package/dist/cjs/lib/v3/dom/build/reRenderScriptContent.d.ts +1 -0
  161. package/dist/cjs/lib/v3/dom/build/reRenderScriptContent.js +5 -0
  162. package/dist/cjs/lib/v3/dom/build/reRenderScriptContent.js.map +1 -0
  163. package/dist/cjs/lib/v3/dom/build/rerender-index.js +1 -0
  164. package/dist/cjs/lib/v3/dom/build/screenshotScripts.generated.d.ts +4 -0
  165. package/dist/cjs/lib/v3/dom/build/screenshotScripts.generated.js +11 -0
  166. package/dist/cjs/lib/v3/dom/build/screenshotScripts.generated.js.map +1 -0
  167. package/dist/cjs/lib/v3/dom/build/scriptV3Content.d.ts +1 -0
  168. package/dist/cjs/lib/v3/dom/build/scriptV3Content.js +5 -0
  169. package/dist/cjs/lib/v3/dom/build/scriptV3Content.js.map +1 -0
  170. package/dist/cjs/lib/v3/dom/build/v3-index.js +1 -0
  171. package/dist/cjs/lib/v3/dom/index.d.ts +1 -0
  172. package/dist/cjs/lib/v3/dom/index.js +18 -0
  173. package/dist/cjs/lib/v3/dom/index.js.map +1 -0
  174. package/dist/cjs/lib/v3/dom/locatorScripts/counts.d.ts +15 -0
  175. package/dist/cjs/lib/v3/dom/locatorScripts/counts.js +278 -0
  176. package/dist/cjs/lib/v3/dom/locatorScripts/counts.js.map +1 -0
  177. package/dist/cjs/lib/v3/dom/locatorScripts/index.d.ts +4 -0
  178. package/dist/cjs/lib/v3/dom/locatorScripts/index.js +21 -0
  179. package/dist/cjs/lib/v3/dom/locatorScripts/index.js.map +1 -0
  180. package/dist/cjs/lib/v3/dom/locatorScripts/scripts.d.ts +37 -0
  181. package/dist/cjs/lib/v3/dom/locatorScripts/scripts.js +474 -0
  182. package/dist/cjs/lib/v3/dom/locatorScripts/scripts.js.map +1 -0
  183. package/dist/cjs/lib/v3/dom/locatorScripts/selectors.d.ts +4 -0
  184. package/dist/cjs/lib/v3/dom/locatorScripts/selectors.js +289 -0
  185. package/dist/cjs/lib/v3/dom/locatorScripts/selectors.js.map +1 -0
  186. package/dist/cjs/lib/v3/dom/locatorScripts/waitForSelector.d.ts +19 -0
  187. package/dist/cjs/lib/v3/dom/locatorScripts/waitForSelector.js +286 -0
  188. package/dist/cjs/lib/v3/dom/locatorScripts/waitForSelector.js.map +1 -0
  189. package/dist/cjs/lib/v3/dom/locatorScripts/xpathParser.d.ts +76 -0
  190. package/dist/cjs/lib/v3/dom/locatorScripts/xpathParser.js +381 -0
  191. package/dist/cjs/lib/v3/dom/locatorScripts/xpathParser.js.map +1 -0
  192. package/dist/cjs/lib/v3/dom/locatorScripts/xpathResolver.d.ts +9 -0
  193. package/dist/cjs/lib/v3/dom/locatorScripts/xpathResolver.js +202 -0
  194. package/dist/cjs/lib/v3/dom/locatorScripts/xpathResolver.js.map +1 -0
  195. package/dist/cjs/lib/v3/dom/piercer.entry.d.ts +1 -0
  196. package/dist/cjs/lib/v3/dom/piercer.entry.js +5 -0
  197. package/dist/cjs/lib/v3/dom/piercer.entry.js.map +1 -0
  198. package/dist/cjs/lib/v3/dom/piercer.runtime.d.ts +23 -0
  199. package/dist/cjs/lib/v3/dom/piercer.runtime.js +93 -0
  200. package/dist/cjs/lib/v3/dom/piercer.runtime.js.map +1 -0
  201. package/dist/cjs/lib/v3/dom/rerenderMissingShadows.entry.d.ts +1 -0
  202. package/dist/cjs/lib/v3/dom/rerenderMissingShadows.entry.js +5 -0
  203. package/dist/cjs/lib/v3/dom/rerenderMissingShadows.entry.js.map +1 -0
  204. package/dist/cjs/lib/v3/dom/rerenderMissingShadows.runtime.d.ts +1 -0
  205. package/dist/cjs/lib/v3/dom/rerenderMissingShadows.runtime.js +43 -0
  206. package/dist/cjs/lib/v3/dom/rerenderMissingShadows.runtime.js.map +1 -0
  207. package/dist/cjs/lib/v3/dom/screenshotScripts/index.d.ts +1 -0
  208. package/dist/cjs/lib/v3/dom/screenshotScripts/index.js +6 -0
  209. package/dist/cjs/lib/v3/dom/screenshotScripts/index.js.map +1 -0
  210. package/dist/cjs/lib/v3/dom/screenshotScripts/resolveMaskRect.d.ts +8 -0
  211. package/dist/cjs/lib/v3/dom/screenshotScripts/resolveMaskRect.js +85 -0
  212. package/dist/cjs/lib/v3/dom/screenshotScripts/resolveMaskRect.js.map +1 -0
  213. package/dist/cjs/lib/v3/external_clients/aisdk.d.ts +11 -0
  214. package/dist/cjs/lib/v3/external_clients/aisdk.js +107 -0
  215. package/dist/cjs/lib/v3/external_clients/aisdk.js.map +1 -0
  216. package/dist/cjs/lib/v3/external_clients/customOpenAI.d.ts +18 -0
  217. package/dist/cjs/lib/v3/external_clients/customOpenAI.js +224 -0
  218. package/dist/cjs/lib/v3/external_clients/customOpenAI.js.map +1 -0
  219. package/dist/cjs/lib/v3/flowLogger.d.ts +139 -0
  220. package/dist/cjs/lib/v3/flowLogger.js +881 -0
  221. package/dist/cjs/lib/v3/flowLogger.js.map +1 -0
  222. package/dist/cjs/lib/v3/handlers/actHandler.d.ts +22 -0
  223. package/dist/cjs/lib/v3/handlers/actHandler.js +344 -0
  224. package/dist/cjs/lib/v3/handlers/actHandler.js.map +1 -0
  225. package/dist/cjs/lib/v3/handlers/extractHandler.d.ts +31 -0
  226. package/dist/cjs/lib/v3/handlers/extractHandler.js +144 -0
  227. package/dist/cjs/lib/v3/handlers/extractHandler.js.map +1 -0
  228. package/dist/cjs/lib/v3/handlers/handlerUtils/actHandlerUtils.d.ts +21 -0
  229. package/dist/cjs/lib/v3/handlers/handlerUtils/actHandlerUtils.js +604 -0
  230. package/dist/cjs/lib/v3/handlers/handlerUtils/actHandlerUtils.js.map +1 -0
  231. package/dist/cjs/lib/v3/handlers/handlerUtils/timeoutGuard.d.ts +2 -0
  232. package/dist/cjs/lib/v3/handlers/handlerUtils/timeoutGuard.js +17 -0
  233. package/dist/cjs/lib/v3/handlers/handlerUtils/timeoutGuard.js.map +1 -0
  234. package/dist/cjs/lib/v3/handlers/observeHandler.d.ts +17 -0
  235. package/dist/cjs/lib/v3/handlers/observeHandler.js +159 -0
  236. package/dist/cjs/lib/v3/handlers/observeHandler.js.map +1 -0
  237. package/dist/cjs/lib/v3/handlers/v3AgentHandler.d.ts +32 -0
  238. package/dist/cjs/lib/v3/handlers/v3AgentHandler.js +462 -0
  239. package/dist/cjs/lib/v3/handlers/v3AgentHandler.js.map +1 -0
  240. package/dist/cjs/lib/v3/handlers/v3CuaAgentHandler.d.ts +33 -0
  241. package/dist/cjs/lib/v3/handlers/v3CuaAgentHandler.js +532 -0
  242. package/dist/cjs/lib/v3/handlers/v3CuaAgentHandler.js.map +1 -0
  243. package/dist/cjs/lib/v3/index.d.ts +161 -0
  244. package/dist/cjs/lib/v3/index.js +119 -0
  245. package/dist/cjs/lib/v3/index.js.map +1 -0
  246. package/dist/cjs/lib/v3/launch/browserbase.d.ts +7 -0
  247. package/dist/cjs/lib/v3/launch/browserbase.js +47 -0
  248. package/dist/cjs/lib/v3/launch/browserbase.js.map +1 -0
  249. package/dist/cjs/lib/v3/launch/local.d.ts +15 -0
  250. package/dist/cjs/lib/v3/launch/local.js +104 -0
  251. package/dist/cjs/lib/v3/launch/local.js.map +1 -0
  252. package/dist/cjs/lib/v3/llm/AnthropicClient.d.ts +16 -0
  253. package/dist/cjs/lib/v3/llm/AnthropicClient.js +246 -0
  254. package/dist/cjs/lib/v3/llm/AnthropicClient.js.map +1 -0
  255. package/dist/cjs/lib/v3/llm/CerebrasClient.d.ts +17 -0
  256. package/dist/cjs/lib/v3/llm/CerebrasClient.js +242 -0
  257. package/dist/cjs/lib/v3/llm/CerebrasClient.js.map +1 -0
  258. package/dist/cjs/lib/v3/llm/GoogleClient.d.ts +19 -0
  259. package/dist/cjs/lib/v3/llm/GoogleClient.js +373 -0
  260. package/dist/cjs/lib/v3/llm/GoogleClient.js.map +1 -0
  261. package/dist/cjs/lib/v3/llm/GroqClient.d.ts +17 -0
  262. package/dist/cjs/lib/v3/llm/GroqClient.js +243 -0
  263. package/dist/cjs/lib/v3/llm/GroqClient.js.map +1 -0
  264. package/dist/cjs/lib/v3/llm/LLMClient.d.ts +121 -0
  265. package/dist/cjs/lib/v3/llm/LLMClient.js +27 -0
  266. package/dist/cjs/lib/v3/llm/LLMClient.js.map +1 -0
  267. package/dist/cjs/lib/v3/llm/LLMProvider.d.ts +13 -0
  268. package/dist/cjs/lib/v3/llm/LLMProvider.js +194 -0
  269. package/dist/cjs/lib/v3/llm/LLMProvider.js.map +1 -0
  270. package/dist/cjs/lib/v3/llm/OpenAIClient.d.ts +15 -0
  271. package/dist/cjs/lib/v3/llm/OpenAIClient.js +336 -0
  272. package/dist/cjs/lib/v3/llm/OpenAIClient.js.map +1 -0
  273. package/dist/cjs/lib/v3/llm/aisdk.d.ts +15 -0
  274. package/dist/cjs/lib/v3/llm/aisdk.js +355 -0
  275. package/dist/cjs/lib/v3/llm/aisdk.js.map +1 -0
  276. package/dist/cjs/lib/v3/logger.d.ts +9 -0
  277. package/dist/cjs/lib/v3/logger.js +102 -0
  278. package/dist/cjs/lib/v3/logger.js.map +1 -0
  279. package/dist/cjs/lib/v3/mcp/connection.d.ts +13 -0
  280. package/dist/cjs/lib/v3/mcp/connection.js +56 -0
  281. package/dist/cjs/lib/v3/mcp/connection.js.map +1 -0
  282. package/dist/cjs/lib/v3/mcp/utils.d.ts +3 -0
  283. package/dist/cjs/lib/v3/mcp/utils.js +40 -0
  284. package/dist/cjs/lib/v3/mcp/utils.js.map +1 -0
  285. package/dist/cjs/lib/v3/runtimePaths.d.ts +6 -0
  286. package/dist/cjs/lib/v3/runtimePaths.js +119 -0
  287. package/dist/cjs/lib/v3/runtimePaths.js.map +1 -0
  288. package/dist/cjs/lib/v3/shutdown/cleanupLocal.d.ts +14 -0
  289. package/dist/cjs/lib/v3/shutdown/cleanupLocal.js +36 -0
  290. package/dist/cjs/lib/v3/shutdown/cleanupLocal.js.map +1 -0
  291. package/dist/cjs/lib/v3/shutdown/supervisor.d.ts +11 -0
  292. package/dist/cjs/lib/v3/shutdown/supervisor.js +193 -0
  293. package/dist/cjs/lib/v3/shutdown/supervisor.js.map +1 -0
  294. package/dist/cjs/lib/v3/shutdown/supervisorClient.d.ts +15 -0
  295. package/dist/cjs/lib/v3/shutdown/supervisorClient.js +95 -0
  296. package/dist/cjs/lib/v3/shutdown/supervisorClient.js.map +1 -0
  297. package/dist/cjs/lib/v3/timeoutConfig.d.ts +2 -0
  298. package/dist/cjs/lib/v3/timeoutConfig.js +36 -0
  299. package/dist/cjs/lib/v3/timeoutConfig.js.map +1 -0
  300. package/dist/cjs/lib/v3/types/private/agent.d.ts +6 -0
  301. package/dist/cjs/lib/v3/types/private/agent.js +3 -0
  302. package/dist/cjs/lib/v3/types/private/agent.js.map +1 -0
  303. package/dist/cjs/lib/v3/types/private/api.d.ts +11 -0
  304. package/dist/cjs/lib/v3/types/private/api.js +3 -0
  305. package/dist/cjs/lib/v3/types/private/api.js.map +1 -0
  306. package/dist/cjs/lib/v3/types/private/cache.d.ts +131 -0
  307. package/dist/cjs/lib/v3/types/private/cache.js +3 -0
  308. package/dist/cjs/lib/v3/types/private/cache.js.map +1 -0
  309. package/dist/cjs/lib/v3/types/private/evaluator.d.ts +40 -0
  310. package/dist/cjs/lib/v3/types/private/evaluator.js +3 -0
  311. package/dist/cjs/lib/v3/types/private/evaluator.js.map +1 -0
  312. package/dist/cjs/lib/v3/types/private/handlers.d.ts +39 -0
  313. package/dist/cjs/lib/v3/types/private/handlers.js +19 -0
  314. package/dist/cjs/lib/v3/types/private/handlers.js.map +1 -0
  315. package/dist/cjs/lib/v3/types/private/index.d.ts +7 -0
  316. package/dist/cjs/lib/v3/types/private/index.js +24 -0
  317. package/dist/cjs/lib/v3/types/private/index.js.map +1 -0
  318. package/dist/cjs/lib/v3/types/private/internal.d.ts +39 -0
  319. package/dist/cjs/lib/v3/types/private/internal.js +3 -0
  320. package/dist/cjs/lib/v3/types/private/internal.js.map +1 -0
  321. package/dist/cjs/lib/v3/types/private/locator.d.ts +9 -0
  322. package/dist/cjs/lib/v3/types/private/locator.js +3 -0
  323. package/dist/cjs/lib/v3/types/private/locator.js.map +1 -0
  324. package/dist/cjs/lib/v3/types/private/network.d.ts +34 -0
  325. package/dist/cjs/lib/v3/types/private/network.js +6 -0
  326. package/dist/cjs/lib/v3/types/private/network.js.map +1 -0
  327. package/dist/cjs/lib/v3/types/private/shutdown.d.ts +19 -0
  328. package/dist/cjs/lib/v3/types/private/shutdown.js +6 -0
  329. package/dist/cjs/lib/v3/types/private/shutdown.js.map +1 -0
  330. package/dist/cjs/lib/v3/types/private/shutdownErrors.d.ts +12 -0
  331. package/dist/cjs/lib/v3/types/private/shutdownErrors.js +28 -0
  332. package/dist/cjs/lib/v3/types/private/shutdownErrors.js.map +1 -0
  333. package/dist/cjs/lib/v3/types/private/snapshot.d.ts +117 -0
  334. package/dist/cjs/lib/v3/types/private/snapshot.js +3 -0
  335. package/dist/cjs/lib/v3/types/private/snapshot.js.map +1 -0
  336. package/dist/cjs/lib/v3/types/public/agent.d.ts +653 -0
  337. package/dist/cjs/lib/v3/types/public/agent.js +18 -0
  338. package/dist/cjs/lib/v3/types/public/agent.js.map +1 -0
  339. package/dist/cjs/lib/v3/types/public/api.d.ts +1236 -0
  340. package/dist/cjs/lib/v3/types/public/api.js +922 -0
  341. package/dist/cjs/lib/v3/types/public/api.js.map +1 -0
  342. package/dist/cjs/lib/v3/types/public/apiErrors.d.ts +18 -0
  343. package/dist/cjs/lib/v3/types/public/apiErrors.js +41 -0
  344. package/dist/cjs/lib/v3/types/public/apiErrors.js.map +1 -0
  345. package/dist/cjs/lib/v3/types/public/context.d.ts +32 -0
  346. package/dist/cjs/lib/v3/types/public/context.js +3 -0
  347. package/dist/cjs/lib/v3/types/public/context.js.map +1 -0
  348. package/dist/cjs/lib/v3/types/public/index.d.ts +14 -0
  349. package/dist/cjs/lib/v3/types/public/index.js +56 -0
  350. package/dist/cjs/lib/v3/types/public/index.js.map +1 -0
  351. package/dist/cjs/lib/v3/types/public/locator.d.ts +9 -0
  352. package/dist/cjs/lib/v3/types/public/locator.js +3 -0
  353. package/dist/cjs/lib/v3/types/public/locator.js.map +1 -0
  354. package/dist/cjs/lib/v3/types/public/logs.d.ts +23 -0
  355. package/dist/cjs/lib/v3/types/public/logs.js +16 -0
  356. package/dist/cjs/lib/v3/types/public/logs.js.map +1 -0
  357. package/dist/cjs/lib/v3/types/public/methods.d.ts +87 -0
  358. package/dist/cjs/lib/v3/types/public/methods.js +18 -0
  359. package/dist/cjs/lib/v3/types/public/methods.js.map +1 -0
  360. package/dist/cjs/lib/v3/types/public/metrics.d.ts +27 -0
  361. package/dist/cjs/lib/v3/types/public/metrics.js +3 -0
  362. package/dist/cjs/lib/v3/types/public/metrics.js.map +1 -0
  363. package/dist/cjs/lib/v3/types/public/model.d.ts +67 -0
  364. package/dist/cjs/lib/v3/types/public/model.js +3 -0
  365. package/dist/cjs/lib/v3/types/public/model.js.map +1 -0
  366. package/dist/cjs/lib/v3/types/public/options.d.ts +78 -0
  367. package/dist/cjs/lib/v3/types/public/options.js +7 -0
  368. package/dist/cjs/lib/v3/types/public/options.js.map +1 -0
  369. package/dist/cjs/lib/v3/types/public/page.d.ts +18 -0
  370. package/dist/cjs/lib/v3/types/public/page.js +8 -0
  371. package/dist/cjs/lib/v3/types/public/page.js.map +1 -0
  372. package/dist/cjs/lib/v3/types/public/screenshotTypes.d.ts +25 -0
  373. package/dist/cjs/lib/v3/types/public/screenshotTypes.js +3 -0
  374. package/dist/cjs/lib/v3/types/public/screenshotTypes.js.map +1 -0
  375. package/dist/cjs/lib/v3/types/public/sdkErrors.d.ts +168 -0
  376. package/dist/cjs/lib/v3/types/public/sdkErrors.js +390 -0
  377. package/dist/cjs/lib/v3/types/public/sdkErrors.js.map +1 -0
  378. package/dist/cjs/lib/v3/understudy/a11y/snapshot/a11yTree.d.ts +15 -0
  379. package/dist/cjs/lib/v3/understudy/a11y/snapshot/a11yTree.js +204 -0
  380. package/dist/cjs/lib/v3/understudy/a11y/snapshot/a11yTree.js.map +1 -0
  381. package/dist/cjs/lib/v3/understudy/a11y/snapshot/activeElement.d.ts +8 -0
  382. package/dist/cjs/lib/v3/understudy/a11y/snapshot/activeElement.js +124 -0
  383. package/dist/cjs/lib/v3/understudy/a11y/snapshot/activeElement.js.map +1 -0
  384. package/dist/cjs/lib/v3/understudy/a11y/snapshot/capture.d.ts +77 -0
  385. package/dist/cjs/lib/v3/understudy/a11y/snapshot/capture.js +345 -0
  386. package/dist/cjs/lib/v3/understudy/a11y/snapshot/capture.js.map +1 -0
  387. package/dist/cjs/lib/v3/understudy/a11y/snapshot/coordinateResolver.d.ts +7 -0
  388. package/dist/cjs/lib/v3/understudy/a11y/snapshot/coordinateResolver.js +132 -0
  389. package/dist/cjs/lib/v3/understudy/a11y/snapshot/coordinateResolver.js.map +1 -0
  390. package/dist/cjs/lib/v3/understudy/a11y/snapshot/domTree.d.ts +46 -0
  391. package/dist/cjs/lib/v3/understudy/a11y/snapshot/domTree.js +285 -0
  392. package/dist/cjs/lib/v3/understudy/a11y/snapshot/domTree.js.map +1 -0
  393. package/dist/cjs/lib/v3/understudy/a11y/snapshot/focusSelectors.d.ts +25 -0
  394. package/dist/cjs/lib/v3/understudy/a11y/snapshot/focusSelectors.js +226 -0
  395. package/dist/cjs/lib/v3/understudy/a11y/snapshot/focusSelectors.js.map +1 -0
  396. package/dist/cjs/lib/v3/understudy/a11y/snapshot/index.d.ts +4 -0
  397. package/dist/cjs/lib/v3/understudy/a11y/snapshot/index.js +12 -0
  398. package/dist/cjs/lib/v3/understudy/a11y/snapshot/index.js.map +1 -0
  399. package/dist/cjs/lib/v3/understudy/a11y/snapshot/sessions.d.ts +16 -0
  400. package/dist/cjs/lib/v3/understudy/a11y/snapshot/sessions.js +26 -0
  401. package/dist/cjs/lib/v3/understudy/a11y/snapshot/sessions.js.map +1 -0
  402. package/dist/cjs/lib/v3/understudy/a11y/snapshot/treeFormatUtils.d.ts +28 -0
  403. package/dist/cjs/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js +143 -0
  404. package/dist/cjs/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js.map +1 -0
  405. package/dist/cjs/lib/v3/understudy/a11y/snapshot/xpathUtils.d.ts +26 -0
  406. package/dist/cjs/lib/v3/understudy/a11y/snapshot/xpathUtils.js +110 -0
  407. package/dist/cjs/lib/v3/understudy/a11y/snapshot/xpathUtils.js.map +1 -0
  408. package/dist/cjs/lib/v3/understudy/a11yInvocation.d.ts +8 -0
  409. package/dist/cjs/lib/v3/understudy/a11yInvocation.js +15 -0
  410. package/dist/cjs/lib/v3/understudy/a11yInvocation.js.map +1 -0
  411. package/dist/cjs/lib/v3/understudy/cdp.d.ts +74 -0
  412. package/dist/cjs/lib/v3/understudy/cdp.js +317 -0
  413. package/dist/cjs/lib/v3/understudy/cdp.js.map +1 -0
  414. package/dist/cjs/lib/v3/understudy/consoleMessage.d.ts +22 -0
  415. package/dist/cjs/lib/v3/understudy/consoleMessage.js +70 -0
  416. package/dist/cjs/lib/v3/understudy/consoleMessage.js.map +1 -0
  417. package/dist/cjs/lib/v3/understudy/context.d.ts +166 -0
  418. package/dist/cjs/lib/v3/understudy/context.js +960 -0
  419. package/dist/cjs/lib/v3/understudy/context.js.map +1 -0
  420. package/dist/cjs/lib/v3/understudy/cookies.d.ts +32 -0
  421. package/dist/cjs/lib/v3/understudy/cookies.js +142 -0
  422. package/dist/cjs/lib/v3/understudy/cookies.js.map +1 -0
  423. package/dist/cjs/lib/v3/understudy/deepLocator.d.ts +87 -0
  424. package/dist/cjs/lib/v3/understudy/deepLocator.js +204 -0
  425. package/dist/cjs/lib/v3/understudy/deepLocator.js.map +1 -0
  426. package/dist/cjs/lib/v3/understudy/executionContextRegistry.d.ts +15 -0
  427. package/dist/cjs/lib/v3/understudy/executionContextRegistry.js +87 -0
  428. package/dist/cjs/lib/v3/understudy/executionContextRegistry.js.map +1 -0
  429. package/dist/cjs/lib/v3/understudy/fileUploadUtils.d.ts +13 -0
  430. package/dist/cjs/lib/v3/understudy/fileUploadUtils.js +88 -0
  431. package/dist/cjs/lib/v3/understudy/fileUploadUtils.js.map +1 -0
  432. package/dist/cjs/lib/v3/understudy/frame.d.ts +69 -0
  433. package/dist/cjs/lib/v3/understudy/frame.js +232 -0
  434. package/dist/cjs/lib/v3/understudy/frame.js.map +1 -0
  435. package/dist/cjs/lib/v3/understudy/frameLocator.d.ts +50 -0
  436. package/dist/cjs/lib/v3/understudy/frameLocator.js +260 -0
  437. package/dist/cjs/lib/v3/understudy/frameLocator.js.map +1 -0
  438. package/dist/cjs/lib/v3/understudy/frameRegistry.d.ts +101 -0
  439. package/dist/cjs/lib/v3/understudy/frameRegistry.js +302 -0
  440. package/dist/cjs/lib/v3/understudy/frameRegistry.js.map +1 -0
  441. package/dist/cjs/lib/v3/understudy/initScripts.d.ts +2 -0
  442. package/dist/cjs/lib/v3/understudy/initScripts.js +36 -0
  443. package/dist/cjs/lib/v3/understudy/initScripts.js.map +1 -0
  444. package/dist/cjs/lib/v3/understudy/lifecycleWatcher.d.ts +64 -0
  445. package/dist/cjs/lib/v3/understudy/lifecycleWatcher.js +249 -0
  446. package/dist/cjs/lib/v3/understudy/lifecycleWatcher.js.map +1 -0
  447. package/dist/cjs/lib/v3/understudy/locator.d.ts +194 -0
  448. package/dist/cjs/lib/v3/understudy/locator.js +790 -0
  449. package/dist/cjs/lib/v3/understudy/locator.js.map +1 -0
  450. package/dist/cjs/lib/v3/understudy/locatorInvocation.d.ts +8 -0
  451. package/dist/cjs/lib/v3/understudy/locatorInvocation.js +15 -0
  452. package/dist/cjs/lib/v3/understudy/locatorInvocation.js.map +1 -0
  453. package/dist/cjs/lib/v3/understudy/navigationResponseTracker.d.ts +84 -0
  454. package/dist/cjs/lib/v3/understudy/navigationResponseTracker.js +228 -0
  455. package/dist/cjs/lib/v3/understudy/navigationResponseTracker.js.map +1 -0
  456. package/dist/cjs/lib/v3/understudy/networkManager.d.ts +53 -0
  457. package/dist/cjs/lib/v3/understudy/networkManager.js +310 -0
  458. package/dist/cjs/lib/v3/understudy/networkManager.js.map +1 -0
  459. package/dist/cjs/lib/v3/understudy/page.d.ts +367 -0
  460. package/dist/cjs/lib/v3/understudy/page.js +1998 -0
  461. package/dist/cjs/lib/v3/understudy/page.js.map +1 -0
  462. package/dist/cjs/lib/v3/understudy/piercer.d.ts +4 -0
  463. package/dist/cjs/lib/v3/understudy/piercer.js +65 -0
  464. package/dist/cjs/lib/v3/understudy/piercer.js.map +1 -0
  465. package/dist/cjs/lib/v3/understudy/response.d.ts +137 -0
  466. package/dist/cjs/lib/v3/understudy/response.js +335 -0
  467. package/dist/cjs/lib/v3/understudy/response.js.map +1 -0
  468. package/dist/cjs/lib/v3/understudy/screenshotUtils.d.ts +15 -0
  469. package/dist/cjs/lib/v3/understudy/screenshotUtils.js +345 -0
  470. package/dist/cjs/lib/v3/understudy/screenshotUtils.js.map +1 -0
  471. package/dist/cjs/lib/v3/understudy/selectorResolver.d.ts +38 -0
  472. package/dist/cjs/lib/v3/understudy/selectorResolver.js +300 -0
  473. package/dist/cjs/lib/v3/understudy/selectorResolver.js.map +1 -0
  474. package/dist/cjs/lib/v3/v3.d.ts +191 -0
  475. package/dist/cjs/lib/v3/v3.js +1631 -0
  476. package/dist/cjs/lib/v3/v3.js.map +1 -0
  477. package/dist/cjs/lib/v3/zodCompat.d.ts +12 -0
  478. package/dist/cjs/lib/v3/zodCompat.js +26 -0
  479. package/dist/cjs/lib/v3/zodCompat.js.map +1 -0
  480. package/dist/cjs/lib/v3Evaluator.d.ts +19 -0
  481. package/dist/cjs/lib/v3Evaluator.js +214 -0
  482. package/dist/cjs/lib/v3Evaluator.js.map +1 -0
  483. package/dist/cjs/lib/version.d.ts +5 -0
  484. package/dist/cjs/lib/version.js +9 -0
  485. package/dist/cjs/lib/version.js.map +1 -0
  486. package/dist/cjs/package.json +3 -0
  487. package/dist/cjs/tests/cache-variables.test.d.ts +1 -0
  488. package/dist/cjs/tests/cache-variables.test.js +221 -0
  489. package/dist/cjs/tests/cache-variables.test.js.map +1 -0
  490. package/dist/cjs/tests/integration/agent-abort-signal.spec.d.ts +1 -0
  491. package/dist/cjs/tests/integration/agent-abort-signal.spec.js +123 -0
  492. package/dist/cjs/tests/integration/agent-abort-signal.spec.js.map +1 -0
  493. package/dist/cjs/tests/integration/agent-cache-self-heal.spec.d.ts +1 -0
  494. package/dist/cjs/tests/integration/agent-cache-self-heal.spec.js +83 -0
  495. package/dist/cjs/tests/integration/agent-cache-self-heal.spec.js.map +1 -0
  496. package/dist/cjs/tests/integration/agent-callbacks.spec.d.ts +1 -0
  497. package/dist/cjs/tests/integration/agent-callbacks.spec.js +385 -0
  498. package/dist/cjs/tests/integration/agent-callbacks.spec.js.map +1 -0
  499. package/dist/cjs/tests/integration/agent-experimental-validation.spec.d.ts +1 -0
  500. package/dist/cjs/tests/integration/agent-experimental-validation.spec.js +362 -0
  501. package/dist/cjs/tests/integration/agent-experimental-validation.spec.js.map +1 -0
  502. package/dist/cjs/tests/integration/agent-hybrid-mode.spec.d.ts +1 -0
  503. package/dist/cjs/tests/integration/agent-hybrid-mode.spec.js +262 -0
  504. package/dist/cjs/tests/integration/agent-hybrid-mode.spec.js.map +1 -0
  505. package/dist/cjs/tests/integration/agent-message-continuation.spec.d.ts +1 -0
  506. package/dist/cjs/tests/integration/agent-message-continuation.spec.js +112 -0
  507. package/dist/cjs/tests/integration/agent-message-continuation.spec.js.map +1 -0
  508. package/dist/cjs/tests/integration/agent-streaming.spec.d.ts +1 -0
  509. package/dist/cjs/tests/integration/agent-streaming.spec.js +140 -0
  510. package/dist/cjs/tests/integration/agent-streaming.spec.js.map +1 -0
  511. package/dist/cjs/tests/integration/cdp-close-api-region.spec.d.ts +1 -0
  512. package/dist/cjs/tests/integration/cdp-close-api-region.spec.js +41 -0
  513. package/dist/cjs/tests/integration/cdp-close-api-region.spec.js.map +1 -0
  514. package/dist/cjs/tests/integration/cdp-connection-close.spec.d.ts +1 -0
  515. package/dist/cjs/tests/integration/cdp-connection-close.spec.js +76 -0
  516. package/dist/cjs/tests/integration/cdp-connection-close.spec.js.map +1 -0
  517. package/dist/cjs/tests/integration/cdp-session-detached.spec.d.ts +1 -0
  518. package/dist/cjs/tests/integration/cdp-session-detached.spec.js +45 -0
  519. package/dist/cjs/tests/integration/cdp-session-detached.spec.js.map +1 -0
  520. package/dist/cjs/tests/integration/click-count.spec.d.ts +1 -0
  521. package/dist/cjs/tests/integration/click-count.spec.js +163 -0
  522. package/dist/cjs/tests/integration/click-count.spec.js.map +1 -0
  523. package/dist/cjs/tests/integration/connect-to-existing-browser.spec.d.ts +1 -0
  524. package/dist/cjs/tests/integration/connect-to-existing-browser.spec.js +99 -0
  525. package/dist/cjs/tests/integration/connect-to-existing-browser.spec.js.map +1 -0
  526. package/dist/cjs/tests/integration/context-addInitScript.spec.d.ts +1 -0
  527. package/dist/cjs/tests/integration/context-addInitScript.spec.js +285 -0
  528. package/dist/cjs/tests/integration/context-addInitScript.spec.js.map +1 -0
  529. package/dist/cjs/tests/integration/context-extra-http-headers.spec.d.ts +1 -0
  530. package/dist/cjs/tests/integration/context-extra-http-headers.spec.js +49 -0
  531. package/dist/cjs/tests/integration/context-extra-http-headers.spec.js.map +1 -0
  532. package/dist/cjs/tests/integration/cookies.spec.d.ts +1 -0
  533. package/dist/cjs/tests/integration/cookies.spec.js +187 -0
  534. package/dist/cjs/tests/integration/cookies.spec.js.map +1 -0
  535. package/dist/cjs/tests/integration/default-page-tracking.spec.d.ts +1 -0
  536. package/dist/cjs/tests/integration/default-page-tracking.spec.js +52 -0
  537. package/dist/cjs/tests/integration/default-page-tracking.spec.js.map +1 -0
  538. package/dist/cjs/tests/integration/downloads.spec.d.ts +1 -0
  539. package/dist/cjs/tests/integration/downloads.spec.js +52 -0
  540. package/dist/cjs/tests/integration/downloads.spec.js.map +1 -0
  541. package/dist/cjs/tests/integration/frame-get-location-and-click.spec.d.ts +1 -0
  542. package/dist/cjs/tests/integration/frame-get-location-and-click.spec.js +57 -0
  543. package/dist/cjs/tests/integration/frame-get-location-and-click.spec.js.map +1 -0
  544. package/dist/cjs/tests/integration/iframe-ctx-addInitScript-race.spec.d.ts +1 -0
  545. package/dist/cjs/tests/integration/iframe-ctx-addInitScript-race.spec.js +219 -0
  546. package/dist/cjs/tests/integration/iframe-ctx-addInitScript-race.spec.js.map +1 -0
  547. package/dist/cjs/tests/integration/iframe-ctx-addInitScript.spec.d.ts +1 -0
  548. package/dist/cjs/tests/integration/iframe-ctx-addInitScript.spec.js +474 -0
  549. package/dist/cjs/tests/integration/iframe-ctx-addInitScript.spec.js.map +1 -0
  550. package/dist/cjs/tests/integration/keep-alive.child.d.ts +1 -0
  551. package/dist/cjs/tests/integration/keep-alive.child.js +85 -0
  552. package/dist/cjs/tests/integration/keep-alive.child.js.map +1 -0
  553. package/dist/cjs/tests/integration/keep-alive.spec.d.ts +22 -0
  554. package/dist/cjs/tests/integration/keep-alive.spec.js +490 -0
  555. package/dist/cjs/tests/integration/keep-alive.spec.js.map +1 -0
  556. package/dist/cjs/tests/integration/keyboard.spec.d.ts +1 -0
  557. package/dist/cjs/tests/integration/keyboard.spec.js +259 -0
  558. package/dist/cjs/tests/integration/keyboard.spec.js.map +1 -0
  559. package/dist/cjs/tests/integration/locator-backend-node-id.spec.d.ts +1 -0
  560. package/dist/cjs/tests/integration/locator-backend-node-id.spec.js +150 -0
  561. package/dist/cjs/tests/integration/locator-backend-node-id.spec.js.map +1 -0
  562. package/dist/cjs/tests/integration/locator-content-methods.spec.d.ts +1 -0
  563. package/dist/cjs/tests/integration/locator-content-methods.spec.js +180 -0
  564. package/dist/cjs/tests/integration/locator-content-methods.spec.js.map +1 -0
  565. package/dist/cjs/tests/integration/locator-count-iframe.spec.d.ts +1 -0
  566. package/dist/cjs/tests/integration/locator-count-iframe.spec.js +129 -0
  567. package/dist/cjs/tests/integration/locator-count-iframe.spec.js.map +1 -0
  568. package/dist/cjs/tests/integration/locator-count.spec.d.ts +1 -0
  569. package/dist/cjs/tests/integration/locator-count.spec.js +68 -0
  570. package/dist/cjs/tests/integration/locator-count.spec.js.map +1 -0
  571. package/dist/cjs/tests/integration/locator-fill.spec.d.ts +1 -0
  572. package/dist/cjs/tests/integration/locator-fill.spec.js +117 -0
  573. package/dist/cjs/tests/integration/locator-fill.spec.js.map +1 -0
  574. package/dist/cjs/tests/integration/locator-input-methods.spec.d.ts +1 -0
  575. package/dist/cjs/tests/integration/locator-input-methods.spec.js +127 -0
  576. package/dist/cjs/tests/integration/locator-input-methods.spec.js.map +1 -0
  577. package/dist/cjs/tests/integration/locator-nth.spec.d.ts +1 -0
  578. package/dist/cjs/tests/integration/locator-nth.spec.js +175 -0
  579. package/dist/cjs/tests/integration/locator-nth.spec.js.map +1 -0
  580. package/dist/cjs/tests/integration/locator-select-option.spec.d.ts +1 -0
  581. package/dist/cjs/tests/integration/locator-select-option.spec.js +216 -0
  582. package/dist/cjs/tests/integration/locator-select-option.spec.js.map +1 -0
  583. package/dist/cjs/tests/integration/logger-initialization.spec.d.ts +1 -0
  584. package/dist/cjs/tests/integration/logger-initialization.spec.js +597 -0
  585. package/dist/cjs/tests/integration/logger-initialization.spec.js.map +1 -0
  586. package/dist/cjs/tests/integration/multi-instance-logger.spec.d.ts +1 -0
  587. package/dist/cjs/tests/integration/multi-instance-logger.spec.js +293 -0
  588. package/dist/cjs/tests/integration/multi-instance-logger.spec.js.map +1 -0
  589. package/dist/cjs/tests/integration/nested-div.spec.d.ts +1 -0
  590. package/dist/cjs/tests/integration/nested-div.spec.js +22 -0
  591. package/dist/cjs/tests/integration/nested-div.spec.js.map +1 -0
  592. package/dist/cjs/tests/integration/page-addInitScript.spec.d.ts +1 -0
  593. package/dist/cjs/tests/integration/page-addInitScript.spec.js +94 -0
  594. package/dist/cjs/tests/integration/page-addInitScript.spec.js.map +1 -0
  595. package/dist/cjs/tests/integration/page-console.spec.d.ts +1 -0
  596. package/dist/cjs/tests/integration/page-console.spec.js +47 -0
  597. package/dist/cjs/tests/integration/page-console.spec.js.map +1 -0
  598. package/dist/cjs/tests/integration/page-drag-and-drop.spec.d.ts +1 -0
  599. package/dist/cjs/tests/integration/page-drag-and-drop.spec.js +437 -0
  600. package/dist/cjs/tests/integration/page-drag-and-drop.spec.js.map +1 -0
  601. package/dist/cjs/tests/integration/page-extra-http-headers.spec.d.ts +1 -0
  602. package/dist/cjs/tests/integration/page-extra-http-headers.spec.js +85 -0
  603. package/dist/cjs/tests/integration/page-extra-http-headers.spec.js.map +1 -0
  604. package/dist/cjs/tests/integration/page-goto-response.spec.d.ts +1 -0
  605. package/dist/cjs/tests/integration/page-goto-response.spec.js +34 -0
  606. package/dist/cjs/tests/integration/page-goto-response.spec.js.map +1 -0
  607. package/dist/cjs/tests/integration/page-hover.spec.d.ts +1 -0
  608. package/dist/cjs/tests/integration/page-hover.spec.js +165 -0
  609. package/dist/cjs/tests/integration/page-hover.spec.js.map +1 -0
  610. package/dist/cjs/tests/integration/page-screenshot.spec.d.ts +1 -0
  611. package/dist/cjs/tests/integration/page-screenshot.spec.js +292 -0
  612. package/dist/cjs/tests/integration/page-screenshot.spec.js.map +1 -0
  613. package/dist/cjs/tests/integration/page-scroll.spec.d.ts +1 -0
  614. package/dist/cjs/tests/integration/page-scroll.spec.js +183 -0
  615. package/dist/cjs/tests/integration/page-scroll.spec.js.map +1 -0
  616. package/dist/cjs/tests/integration/page-send-cdp.spec.d.ts +1 -0
  617. package/dist/cjs/tests/integration/page-send-cdp.spec.js +47 -0
  618. package/dist/cjs/tests/integration/page-send-cdp.spec.js.map +1 -0
  619. package/dist/cjs/tests/integration/perform-understudy-method.spec.d.ts +1 -0
  620. package/dist/cjs/tests/integration/perform-understudy-method.spec.js +63 -0
  621. package/dist/cjs/tests/integration/perform-understudy-method.spec.js.map +1 -0
  622. package/dist/cjs/tests/integration/setinputfiles.spec.d.ts +1 -0
  623. package/dist/cjs/tests/integration/setinputfiles.spec.js +133 -0
  624. package/dist/cjs/tests/integration/setinputfiles.spec.js.map +1 -0
  625. package/dist/cjs/tests/integration/shadow-iframe-oopif.spec.d.ts +1 -0
  626. package/dist/cjs/tests/integration/shadow-iframe-oopif.spec.js +161 -0
  627. package/dist/cjs/tests/integration/shadow-iframe-oopif.spec.js.map +1 -0
  628. package/dist/cjs/tests/integration/shadow-iframe-spif.spec.d.ts +1 -0
  629. package/dist/cjs/tests/integration/shadow-iframe-spif.spec.js +160 -0
  630. package/dist/cjs/tests/integration/shadow-iframe-spif.spec.js.map +1 -0
  631. package/dist/cjs/tests/integration/testUtils.d.ts +7 -0
  632. package/dist/cjs/tests/integration/testUtils.js +44 -0
  633. package/dist/cjs/tests/integration/testUtils.js.map +1 -0
  634. package/dist/cjs/tests/integration/text-selector-innermost.spec.d.ts +1 -0
  635. package/dist/cjs/tests/integration/text-selector-innermost.spec.js +105 -0
  636. package/dist/cjs/tests/integration/text-selector-innermost.spec.js.map +1 -0
  637. package/dist/cjs/tests/integration/timeouts.spec.d.ts +1 -0
  638. package/dist/cjs/tests/integration/timeouts.spec.js +197 -0
  639. package/dist/cjs/tests/integration/timeouts.spec.js.map +1 -0
  640. package/dist/cjs/tests/integration/user-data-dir.spec.d.ts +1 -0
  641. package/dist/cjs/tests/integration/user-data-dir.spec.js +77 -0
  642. package/dist/cjs/tests/integration/user-data-dir.spec.js.map +1 -0
  643. package/dist/cjs/tests/integration/v3.config.d.ts +4 -0
  644. package/dist/cjs/tests/integration/v3.config.js +11 -0
  645. package/dist/cjs/tests/integration/v3.config.js.map +1 -0
  646. package/dist/cjs/tests/integration/v3.dynamic.config.d.ts +4 -0
  647. package/dist/cjs/tests/integration/v3.dynamic.config.js +48 -0
  648. package/dist/cjs/tests/integration/v3.dynamic.config.js.map +1 -0
  649. package/dist/cjs/tests/integration/v3.playwright.config.d.ts +2 -0
  650. package/dist/cjs/tests/integration/v3.playwright.config.js +48 -0
  651. package/dist/cjs/tests/integration/v3.playwright.config.js.map +1 -0
  652. package/dist/cjs/tests/integration/wait-for-selector.spec.d.ts +1 -0
  653. package/dist/cjs/tests/integration/wait-for-selector.spec.js +683 -0
  654. package/dist/cjs/tests/integration/wait-for-selector.spec.js.map +1 -0
  655. package/dist/cjs/tests/integration/wait-for-timeout.spec.d.ts +1 -0
  656. package/dist/cjs/tests/integration/wait-for-timeout.spec.js +118 -0
  657. package/dist/cjs/tests/integration/wait-for-timeout.spec.js.map +1 -0
  658. package/dist/cjs/tests/integration/xpath-for-location-deep.spec.d.ts +1 -0
  659. package/dist/cjs/tests/integration/xpath-for-location-deep.spec.js +87 -0
  660. package/dist/cjs/tests/integration/xpath-for-location-deep.spec.js.map +1 -0
  661. package/dist/cjs/tests/unit/agent-execution-model.test.d.ts +1 -0
  662. package/dist/cjs/tests/unit/agent-execution-model.test.js +128 -0
  663. package/dist/cjs/tests/unit/agent-execution-model.test.js.map +1 -0
  664. package/dist/cjs/tests/unit/api-multiregion.test.d.ts +1 -0
  665. package/dist/cjs/tests/unit/api-multiregion.test.js +58 -0
  666. package/dist/cjs/tests/unit/api-multiregion.test.js.map +1 -0
  667. package/dist/cjs/tests/unit/browserbase-session-accessors.test.d.ts +1 -0
  668. package/dist/cjs/tests/unit/browserbase-session-accessors.test.js +102 -0
  669. package/dist/cjs/tests/unit/browserbase-session-accessors.test.js.map +1 -0
  670. package/dist/cjs/tests/unit/cache-llm-resolution.test.d.ts +1 -0
  671. package/dist/cjs/tests/unit/cache-llm-resolution.test.js +186 -0
  672. package/dist/cjs/tests/unit/cache-llm-resolution.test.js.map +1 -0
  673. package/dist/cjs/tests/unit/cdp-connection-close.test.d.ts +1 -0
  674. package/dist/cjs/tests/unit/cdp-connection-close.test.js +74 -0
  675. package/dist/cjs/tests/unit/cdp-connection-close.test.js.map +1 -0
  676. package/dist/cjs/tests/unit/context-extra-http-headers.test.d.ts +1 -0
  677. package/dist/cjs/tests/unit/context-extra-http-headers.test.js +58 -0
  678. package/dist/cjs/tests/unit/context-extra-http-headers.test.js.map +1 -0
  679. package/dist/cjs/tests/unit/cookies.test.d.ts +1 -0
  680. package/dist/cjs/tests/unit/cookies.test.js +944 -0
  681. package/dist/cjs/tests/unit/cookies.test.js.map +1 -0
  682. package/dist/cjs/tests/unit/helpers/mockCDPSession.d.ts +19 -0
  683. package/dist/cjs/tests/unit/helpers/mockCDPSession.js +29 -0
  684. package/dist/cjs/tests/unit/helpers/mockCDPSession.js.map +1 -0
  685. package/dist/cjs/tests/unit/llm-provider.test.d.ts +1 -0
  686. package/dist/cjs/tests/unit/llm-provider.test.js +64 -0
  687. package/dist/cjs/tests/unit/llm-provider.test.js.map +1 -0
  688. package/dist/cjs/tests/unit/model-deprecation.test.d.ts +1 -0
  689. package/dist/cjs/tests/unit/model-deprecation.test.js +142 -0
  690. package/dist/cjs/tests/unit/model-deprecation.test.js.map +1 -0
  691. package/dist/cjs/tests/unit/model-utils.test.d.ts +1 -0
  692. package/dist/cjs/tests/unit/model-utils.test.js +42 -0
  693. package/dist/cjs/tests/unit/model-utils.test.js.map +1 -0
  694. package/dist/cjs/tests/unit/page-extra-http-headers.test.d.ts +1 -0
  695. package/dist/cjs/tests/unit/page-extra-http-headers.test.js +92 -0
  696. package/dist/cjs/tests/unit/page-extra-http-headers.test.js.map +1 -0
  697. package/dist/cjs/tests/unit/page-snapshot.test.d.ts +1 -0
  698. package/dist/cjs/tests/unit/page-snapshot.test.js +75 -0
  699. package/dist/cjs/tests/unit/page-snapshot.test.js.map +1 -0
  700. package/dist/cjs/tests/unit/public-api/export-surface.test.d.ts +1 -0
  701. package/dist/cjs/tests/unit/public-api/export-surface.test.js +107 -0
  702. package/dist/cjs/tests/unit/public-api/export-surface.test.js.map +1 -0
  703. package/dist/cjs/tests/unit/public-api/llm-and-agents.test.d.ts +1 -0
  704. package/dist/cjs/tests/unit/public-api/llm-and-agents.test.js +175 -0
  705. package/dist/cjs/tests/unit/public-api/llm-and-agents.test.js.map +1 -0
  706. package/dist/cjs/tests/unit/public-api/public-error-types.test.d.ts +62 -0
  707. package/dist/cjs/tests/unit/public-api/public-error-types.test.js +110 -0
  708. package/dist/cjs/tests/unit/public-api/public-error-types.test.js.map +1 -0
  709. package/dist/cjs/tests/unit/public-api/public-types.test.d.ts +1 -0
  710. package/dist/cjs/tests/unit/public-api/public-types.test.js +99 -0
  711. package/dist/cjs/tests/unit/public-api/public-types.test.js.map +1 -0
  712. package/dist/cjs/tests/unit/public-api/runtime-utils.test.d.ts +1 -0
  713. package/dist/cjs/tests/unit/public-api/runtime-utils.test.js +60 -0
  714. package/dist/cjs/tests/unit/public-api/runtime-utils.test.js.map +1 -0
  715. package/dist/cjs/tests/unit/public-api/schema-utils.test.d.ts +1 -0
  716. package/dist/cjs/tests/unit/public-api/schema-utils.test.js +95 -0
  717. package/dist/cjs/tests/unit/public-api/schema-utils.test.js.map +1 -0
  718. package/dist/cjs/tests/unit/public-api/timeout-error-types.test.d.ts +1 -0
  719. package/dist/cjs/tests/unit/public-api/timeout-error-types.test.js +121 -0
  720. package/dist/cjs/tests/unit/public-api/timeout-error-types.test.js.map +1 -0
  721. package/dist/cjs/tests/unit/public-api/tool-type-export.test.d.ts +1 -0
  722. package/dist/cjs/tests/unit/public-api/tool-type-export.test.js +65 -0
  723. package/dist/cjs/tests/unit/public-api/tool-type-export.test.js.map +1 -0
  724. package/dist/cjs/tests/unit/public-api/v3-core.test.d.ts +1 -0
  725. package/dist/cjs/tests/unit/public-api/v3-core.test.js +108 -0
  726. package/dist/cjs/tests/unit/public-api/v3-core.test.js.map +1 -0
  727. package/dist/cjs/tests/unit/rerender-missing-shadows.test.d.ts +1 -0
  728. package/dist/cjs/tests/unit/rerender-missing-shadows.test.js +209 -0
  729. package/dist/cjs/tests/unit/rerender-missing-shadows.test.js.map +1 -0
  730. package/dist/cjs/tests/unit/safety-confirmation.test.d.ts +1 -0
  731. package/dist/cjs/tests/unit/safety-confirmation.test.js +110 -0
  732. package/dist/cjs/tests/unit/safety-confirmation.test.js.map +1 -0
  733. package/dist/cjs/tests/unit/snapshot-a11y-resolvers.test.d.ts +1 -0
  734. package/dist/cjs/tests/unit/snapshot-a11y-resolvers.test.js +330 -0
  735. package/dist/cjs/tests/unit/snapshot-a11y-resolvers.test.js.map +1 -0
  736. package/dist/cjs/tests/unit/snapshot-a11y-tree-utils.test.d.ts +1 -0
  737. package/dist/cjs/tests/unit/snapshot-a11y-tree-utils.test.js +286 -0
  738. package/dist/cjs/tests/unit/snapshot-a11y-tree-utils.test.js.map +1 -0
  739. package/dist/cjs/tests/unit/snapshot-capture-orchestration.test.d.ts +1 -0
  740. package/dist/cjs/tests/unit/snapshot-capture-orchestration.test.js +394 -0
  741. package/dist/cjs/tests/unit/snapshot-capture-orchestration.test.js.map +1 -0
  742. package/dist/cjs/tests/unit/snapshot-cbor.test.d.ts +1 -0
  743. package/dist/cjs/tests/unit/snapshot-cbor.test.js +204 -0
  744. package/dist/cjs/tests/unit/snapshot-cbor.test.js.map +1 -0
  745. package/dist/cjs/tests/unit/snapshot-dom-session-builders.test.d.ts +1 -0
  746. package/dist/cjs/tests/unit/snapshot-dom-session-builders.test.js +220 -0
  747. package/dist/cjs/tests/unit/snapshot-dom-session-builders.test.js.map +1 -0
  748. package/dist/cjs/tests/unit/snapshot-dom-tree-utils.test.d.ts +1 -0
  749. package/dist/cjs/tests/unit/snapshot-dom-tree-utils.test.js +107 -0
  750. package/dist/cjs/tests/unit/snapshot-dom-tree-utils.test.js.map +1 -0
  751. package/dist/cjs/tests/unit/snapshot-focus-selectors-utils.test.d.ts +1 -0
  752. package/dist/cjs/tests/unit/snapshot-focus-selectors-utils.test.js +89 -0
  753. package/dist/cjs/tests/unit/snapshot-focus-selectors-utils.test.js.map +1 -0
  754. package/dist/cjs/tests/unit/snapshot-frame-merge.test.d.ts +1 -0
  755. package/dist/cjs/tests/unit/snapshot-frame-merge.test.js +335 -0
  756. package/dist/cjs/tests/unit/snapshot-frame-merge.test.js.map +1 -0
  757. package/dist/cjs/tests/unit/snapshot-tree-format-utils.test.d.ts +1 -0
  758. package/dist/cjs/tests/unit/snapshot-tree-format-utils.test.js +84 -0
  759. package/dist/cjs/tests/unit/snapshot-tree-format-utils.test.js.map +1 -0
  760. package/dist/cjs/tests/unit/snapshot-xpath-utils.test.d.ts +1 -0
  761. package/dist/cjs/tests/unit/snapshot-xpath-utils.test.js +74 -0
  762. package/dist/cjs/tests/unit/snapshot-xpath-utils.test.js.map +1 -0
  763. package/dist/cjs/tests/unit/timeout-handlers.test.d.ts +1 -0
  764. package/dist/cjs/tests/unit/timeout-handlers.test.js +847 -0
  765. package/dist/cjs/tests/unit/timeout-handlers.test.js.map +1 -0
  766. package/dist/cjs/tests/unit/understudy-command-exception.test.d.ts +1 -0
  767. package/dist/cjs/tests/unit/understudy-command-exception.test.js +57 -0
  768. package/dist/cjs/tests/unit/understudy-command-exception.test.js.map +1 -0
  769. package/dist/cjs/tests/unit/xpath-parser.test.d.ts +1 -0
  770. package/dist/cjs/tests/unit/xpath-parser.test.js +311 -0
  771. package/dist/cjs/tests/unit/xpath-parser.test.js.map +1 -0
  772. package/dist/cjs/tests/unit/xpath-resolver.test.d.ts +1 -0
  773. package/dist/cjs/tests/unit/xpath-resolver.test.js +80 -0
  774. package/dist/cjs/tests/unit/xpath-resolver.test.js.map +1 -0
  775. package/dist/cjs/tests/unit/zod-enum-compatibility.test.d.ts +1 -0
  776. package/dist/cjs/tests/unit/zod-enum-compatibility.test.js +149 -0
  777. package/dist/cjs/tests/unit/zod-enum-compatibility.test.js.map +1 -0
  778. package/dist/esm/index.d.ts +2 -0
  779. package/dist/esm/index.js +2 -0
  780. package/dist/esm/lib/inference.d.ts +65 -0
  781. package/dist/esm/lib/inference.js +330 -0
  782. package/dist/esm/lib/inference.js.map +1 -0
  783. package/dist/esm/lib/inferenceLogUtils.d.ts +12 -0
  784. package/dist/esm/lib/inferenceLogUtils.js +92 -0
  785. package/dist/esm/lib/inferenceLogUtils.js.map +1 -0
  786. package/dist/esm/lib/logger.d.ts +69 -0
  787. package/dist/esm/lib/logger.js +323 -0
  788. package/dist/esm/lib/logger.js.map +1 -0
  789. package/dist/esm/lib/modelUtils.d.ts +15 -0
  790. package/dist/esm/lib/modelUtils.js +48 -0
  791. package/dist/esm/lib/modelUtils.js.map +1 -0
  792. package/dist/esm/lib/prompt.d.ts +15 -0
  793. package/dist/esm/lib/prompt.js +230 -0
  794. package/dist/esm/lib/prompt.js.map +1 -0
  795. package/dist/esm/lib/utils.d.ts +68 -0
  796. package/dist/esm/lib/utils.js +654 -0
  797. package/dist/esm/lib/utils.js.map +1 -0
  798. package/dist/esm/lib/v3/agent/AgentClient.d.ts +19 -0
  799. package/dist/esm/lib/v3/agent/AgentClient.js +17 -0
  800. package/dist/esm/lib/v3/agent/AgentClient.js.map +1 -0
  801. package/dist/esm/lib/v3/agent/AgentProvider.d.ts +20 -0
  802. package/dist/esm/lib/v3/agent/AgentProvider.js +77 -0
  803. package/dist/esm/lib/v3/agent/AgentProvider.js.map +1 -0
  804. package/dist/esm/lib/v3/agent/AnthropicCUAClient.d.ts +57 -0
  805. package/dist/esm/lib/v3/agent/AnthropicCUAClient.js +837 -0
  806. package/dist/esm/lib/v3/agent/AnthropicCUAClient.js.map +1 -0
  807. package/dist/esm/lib/v3/agent/GoogleCUAClient.d.ts +74 -0
  808. package/dist/esm/lib/v3/agent/GoogleCUAClient.js +799 -0
  809. package/dist/esm/lib/v3/agent/GoogleCUAClient.js.map +1 -0
  810. package/dist/esm/lib/v3/agent/MicrosoftCUAClient.d.ts +71 -0
  811. package/dist/esm/lib/v3/agent/MicrosoftCUAClient.js +770 -0
  812. package/dist/esm/lib/v3/agent/MicrosoftCUAClient.js.map +1 -0
  813. package/dist/esm/lib/v3/agent/OpenAICUAClient.d.ts +69 -0
  814. package/dist/esm/lib/v3/agent/OpenAICUAClient.js +615 -0
  815. package/dist/esm/lib/v3/agent/OpenAICUAClient.js.map +1 -0
  816. package/dist/esm/lib/v3/agent/prompts/agentSystemPrompt.d.ts +14 -0
  817. package/dist/esm/lib/v3/agent/prompts/agentSystemPrompt.js +209 -0
  818. package/dist/esm/lib/v3/agent/prompts/agentSystemPrompt.js.map +1 -0
  819. package/dist/esm/lib/v3/agent/tools/act.d.ts +13 -0
  820. package/dist/esm/lib/v3/agent/tools/act.js +71 -0
  821. package/dist/esm/lib/v3/agent/tools/act.js.map +1 -0
  822. package/dist/esm/lib/v3/agent/tools/ariaTree.d.ts +12 -0
  823. package/dist/esm/lib/v3/agent/tools/ariaTree.js +69 -0
  824. package/dist/esm/lib/v3/agent/tools/ariaTree.js.map +1 -0
  825. package/dist/esm/lib/v3/agent/tools/click.d.ts +6 -0
  826. package/dist/esm/lib/v3/agent/tools/click.js +96 -0
  827. package/dist/esm/lib/v3/agent/tools/click.js.map +1 -0
  828. package/dist/esm/lib/v3/agent/tools/clickAndHold.d.ts +14 -0
  829. package/dist/esm/lib/v3/agent/tools/clickAndHold.js +68 -0
  830. package/dist/esm/lib/v3/agent/tools/clickAndHold.js.map +1 -0
  831. package/dist/esm/lib/v3/agent/tools/dragAndDrop.d.ts +7 -0
  832. package/dist/esm/lib/v3/agent/tools/dragAndDrop.js +97 -0
  833. package/dist/esm/lib/v3/agent/tools/dragAndDrop.js.map +1 -0
  834. package/dist/esm/lib/v3/agent/tools/extract.d.ts +21 -0
  835. package/dist/esm/lib/v3/agent/tools/extract.js +106 -0
  836. package/dist/esm/lib/v3/agent/tools/extract.js.map +1 -0
  837. package/dist/esm/lib/v3/agent/tools/fillFormVision.d.ts +12 -0
  838. package/dist/esm/lib/v3/agent/tools/fillFormVision.js +154 -0
  839. package/dist/esm/lib/v3/agent/tools/fillFormVision.js.map +1 -0
  840. package/dist/esm/lib/v3/agent/tools/fillform.d.ts +19 -0
  841. package/dist/esm/lib/v3/agent/tools/fillform.js +86 -0
  842. package/dist/esm/lib/v3/agent/tools/fillform.js.map +1 -0
  843. package/dist/esm/lib/v3/agent/tools/goto.d.ts +12 -0
  844. package/dist/esm/lib/v3/agent/tools/goto.js +31 -0
  845. package/dist/esm/lib/v3/agent/tools/goto.js.map +1 -0
  846. package/dist/esm/lib/v3/agent/tools/index.d.ts +102 -0
  847. package/dist/esm/lib/v3/agent/tools/index.js +75 -0
  848. package/dist/esm/lib/v3/agent/tools/index.js.map +1 -0
  849. package/dist/esm/lib/v3/agent/tools/keys.d.ts +24 -0
  850. package/dist/esm/lib/v3/agent/tools/keys.js +60 -0
  851. package/dist/esm/lib/v3/agent/tools/keys.js.map +1 -0
  852. package/dist/esm/lib/v3/agent/tools/navback.d.ts +6 -0
  853. package/dist/esm/lib/v3/agent/tools/navback.js +23 -0
  854. package/dist/esm/lib/v3/agent/tools/navback.js.map +1 -0
  855. package/dist/esm/lib/v3/agent/tools/screenshot.d.ts +14 -0
  856. package/dist/esm/lib/v3/agent/tools/screenshot.js +43 -0
  857. package/dist/esm/lib/v3/agent/tools/screenshot.js.map +1 -0
  858. package/dist/esm/lib/v3/agent/tools/scroll.d.ts +19 -0
  859. package/dist/esm/lib/v3/agent/tools/scroll.js +154 -0
  860. package/dist/esm/lib/v3/agent/tools/scroll.js.map +1 -0
  861. package/dist/esm/lib/v3/agent/tools/search.d.ts +15 -0
  862. package/dist/esm/lib/v3/agent/tools/search.js +73 -0
  863. package/dist/esm/lib/v3/agent/tools/search.js.map +1 -0
  864. package/dist/esm/lib/v3/agent/tools/think.d.ts +6 -0
  865. package/dist/esm/lib/v3/agent/tools/think.js +24 -0
  866. package/dist/esm/lib/v3/agent/tools/think.js.map +1 -0
  867. package/dist/esm/lib/v3/agent/tools/type.d.ts +7 -0
  868. package/dist/esm/lib/v3/agent/tools/type.js +107 -0
  869. package/dist/esm/lib/v3/agent/tools/type.js.map +1 -0
  870. package/dist/esm/lib/v3/agent/tools/wait.d.ts +5 -0
  871. package/dist/esm/lib/v3/agent/tools/wait.js +59 -0
  872. package/dist/esm/lib/v3/agent/tools/wait.js.map +1 -0
  873. package/dist/esm/lib/v3/agent/utils/actionMapping.d.ts +3 -0
  874. package/dist/esm/lib/v3/agent/utils/actionMapping.js +100 -0
  875. package/dist/esm/lib/v3/agent/utils/actionMapping.js.map +1 -0
  876. package/dist/esm/lib/v3/agent/utils/coordinateNormalization.d.ts +13 -0
  877. package/dist/esm/lib/v3/agent/utils/coordinateNormalization.js +28 -0
  878. package/dist/esm/lib/v3/agent/utils/coordinateNormalization.js.map +1 -0
  879. package/dist/esm/lib/v3/agent/utils/cuaKeyMapping.d.ts +10 -0
  880. package/dist/esm/lib/v3/agent/utils/cuaKeyMapping.js +62 -0
  881. package/dist/esm/lib/v3/agent/utils/cuaKeyMapping.js.map +1 -0
  882. package/dist/esm/lib/v3/agent/utils/googleCustomToolHandler.d.ts +25 -0
  883. package/dist/esm/lib/v3/agent/utils/googleCustomToolHandler.js +145 -0
  884. package/dist/esm/lib/v3/agent/utils/googleCustomToolHandler.js.map +1 -0
  885. package/dist/esm/lib/v3/agent/utils/handleDoneToolCall.d.ts +22 -0
  886. package/dist/esm/lib/v3/agent/utils/handleDoneToolCall.js +105 -0
  887. package/dist/esm/lib/v3/agent/utils/handleDoneToolCall.js.map +1 -0
  888. package/dist/esm/lib/v3/agent/utils/imageCompression.d.ts +53 -0
  889. package/dist/esm/lib/v3/agent/utils/imageCompression.js +204 -0
  890. package/dist/esm/lib/v3/agent/utils/imageCompression.js.map +1 -0
  891. package/dist/esm/lib/v3/agent/utils/messageProcessing.d.ts +12 -0
  892. package/dist/esm/lib/v3/agent/utils/messageProcessing.js +164 -0
  893. package/dist/esm/lib/v3/agent/utils/messageProcessing.js.map +1 -0
  894. package/dist/esm/lib/v3/agent/utils/screenshotHandler.d.ts +10 -0
  895. package/dist/esm/lib/v3/agent/utils/screenshotHandler.js +26 -0
  896. package/dist/esm/lib/v3/agent/utils/screenshotHandler.js.map +1 -0
  897. package/dist/esm/lib/v3/agent/utils/validateExperimentalFeatures.d.ts +26 -0
  898. package/dist/esm/lib/v3/agent/utils/validateExperimentalFeatures.js +87 -0
  899. package/dist/esm/lib/v3/agent/utils/validateExperimentalFeatures.js.map +1 -0
  900. package/dist/esm/lib/v3/agent/utils/variables.d.ts +21 -0
  901. package/dist/esm/lib/v3/agent/utils/variables.js +48 -0
  902. package/dist/esm/lib/v3/agent/utils/variables.js.map +1 -0
  903. package/dist/esm/lib/v3/agent/utils/xpath.d.ts +11 -0
  904. package/dist/esm/lib/v3/agent/utils/xpath.js +19 -0
  905. package/dist/esm/lib/v3/agent/utils/xpath.js.map +1 -0
  906. package/dist/esm/lib/v3/api.d.ts +119 -0
  907. package/dist/esm/lib/v3/api.js +581 -0
  908. package/dist/esm/lib/v3/api.js.map +1 -0
  909. package/dist/esm/lib/v3/cache/ActCache.d.ts +22 -0
  910. package/dist/esm/lib/v3/cache/ActCache.js +276 -0
  911. package/dist/esm/lib/v3/cache/ActCache.js.map +1 -0
  912. package/dist/esm/lib/v3/cache/AgentCache.d.ts +110 -0
  913. package/dist/esm/lib/v3/cache/AgentCache.js +647 -0
  914. package/dist/esm/lib/v3/cache/AgentCache.js.map +1 -0
  915. package/dist/esm/lib/v3/cache/CacheStorage.d.ts +17 -0
  916. package/dist/esm/lib/v3/cache/CacheStorage.js +98 -0
  917. package/dist/esm/lib/v3/cache/CacheStorage.js.map +1 -0
  918. package/dist/esm/lib/v3/cache/serverAgentCache.d.ts +7 -0
  919. package/dist/esm/lib/v3/cache/serverAgentCache.js +49 -0
  920. package/dist/esm/lib/v3/cache/serverAgentCache.js.map +1 -0
  921. package/dist/esm/lib/v3/cache/utils.d.ts +15 -0
  922. package/dist/esm/lib/v3/cache/utils.js +39 -0
  923. package/dist/esm/lib/v3/cache/utils.js.map +1 -0
  924. package/dist/esm/lib/v3/cli.d.ts +2 -0
  925. package/dist/esm/lib/v3/cli.js +10 -0
  926. package/dist/esm/lib/v3/cli.js.map +1 -0
  927. package/dist/esm/lib/v3/dom/a11yScripts/index.d.ts +11 -0
  928. package/dist/esm/lib/v3/dom/a11yScripts/index.js +117 -0
  929. package/dist/esm/lib/v3/dom/a11yScripts/index.js.map +1 -0
  930. package/dist/esm/lib/v3/dom/build/a11yScripts.generated.d.ts +16 -0
  931. package/dist/esm/lib/v3/dom/build/a11yScripts.generated.js +20 -0
  932. package/dist/esm/lib/v3/dom/build/a11yScripts.generated.js.map +1 -0
  933. package/dist/esm/lib/v3/dom/build/locatorScripts.generated.d.ts +52 -0
  934. package/dist/esm/lib/v3/dom/build/locatorScripts.generated.js +56 -0
  935. package/dist/esm/lib/v3/dom/build/locatorScripts.generated.js.map +1 -0
  936. package/dist/esm/lib/v3/dom/build/reRenderScriptContent.d.ts +1 -0
  937. package/dist/esm/lib/v3/dom/build/reRenderScriptContent.js +2 -0
  938. package/dist/esm/lib/v3/dom/build/reRenderScriptContent.js.map +1 -0
  939. package/dist/esm/lib/v3/dom/build/rerender-index.js +1 -0
  940. package/dist/esm/lib/v3/dom/build/screenshotScripts.generated.d.ts +4 -0
  941. package/dist/esm/lib/v3/dom/build/screenshotScripts.generated.js +8 -0
  942. package/dist/esm/lib/v3/dom/build/screenshotScripts.generated.js.map +1 -0
  943. package/dist/esm/lib/v3/dom/build/scriptV3Content.d.ts +1 -0
  944. package/dist/esm/lib/v3/dom/build/scriptV3Content.js +2 -0
  945. package/dist/esm/lib/v3/dom/build/scriptV3Content.js.map +1 -0
  946. package/dist/esm/lib/v3/dom/build/v3-index.js +1 -0
  947. package/dist/esm/lib/v3/dom/index.d.ts +1 -0
  948. package/dist/esm/lib/v3/dom/index.js +2 -0
  949. package/dist/esm/lib/v3/dom/index.js.map +1 -0
  950. package/dist/esm/lib/v3/dom/locatorScripts/counts.d.ts +15 -0
  951. package/dist/esm/lib/v3/dom/locatorScripts/counts.js +272 -0
  952. package/dist/esm/lib/v3/dom/locatorScripts/counts.js.map +1 -0
  953. package/dist/esm/lib/v3/dom/locatorScripts/index.d.ts +4 -0
  954. package/dist/esm/lib/v3/dom/locatorScripts/index.js +5 -0
  955. package/dist/esm/lib/v3/dom/locatorScripts/index.js.map +1 -0
  956. package/dist/esm/lib/v3/dom/locatorScripts/scripts.d.ts +37 -0
  957. package/dist/esm/lib/v3/dom/locatorScripts/scripts.js +458 -0
  958. package/dist/esm/lib/v3/dom/locatorScripts/scripts.js.map +1 -0
  959. package/dist/esm/lib/v3/dom/locatorScripts/selectors.d.ts +4 -0
  960. package/dist/esm/lib/v3/dom/locatorScripts/selectors.js +283 -0
  961. package/dist/esm/lib/v3/dom/locatorScripts/selectors.js.map +1 -0
  962. package/dist/esm/lib/v3/dom/locatorScripts/waitForSelector.d.ts +19 -0
  963. package/dist/esm/lib/v3/dom/locatorScripts/waitForSelector.js +283 -0
  964. package/dist/esm/lib/v3/dom/locatorScripts/waitForSelector.js.map +1 -0
  965. package/dist/esm/lib/v3/dom/locatorScripts/xpathParser.d.ts +76 -0
  966. package/dist/esm/lib/v3/dom/locatorScripts/xpathParser.js +376 -0
  967. package/dist/esm/lib/v3/dom/locatorScripts/xpathParser.js.map +1 -0
  968. package/dist/esm/lib/v3/dom/locatorScripts/xpathResolver.d.ts +9 -0
  969. package/dist/esm/lib/v3/dom/locatorScripts/xpathResolver.js +196 -0
  970. package/dist/esm/lib/v3/dom/locatorScripts/xpathResolver.js.map +1 -0
  971. package/dist/esm/lib/v3/dom/piercer.entry.d.ts +1 -0
  972. package/dist/esm/lib/v3/dom/piercer.entry.js +3 -0
  973. package/dist/esm/lib/v3/dom/piercer.entry.js.map +1 -0
  974. package/dist/esm/lib/v3/dom/piercer.runtime.d.ts +23 -0
  975. package/dist/esm/lib/v3/dom/piercer.runtime.js +90 -0
  976. package/dist/esm/lib/v3/dom/piercer.runtime.js.map +1 -0
  977. package/dist/esm/lib/v3/dom/rerenderMissingShadows.entry.d.ts +1 -0
  978. package/dist/esm/lib/v3/dom/rerenderMissingShadows.entry.js +3 -0
  979. package/dist/esm/lib/v3/dom/rerenderMissingShadows.entry.js.map +1 -0
  980. package/dist/esm/lib/v3/dom/rerenderMissingShadows.runtime.d.ts +1 -0
  981. package/dist/esm/lib/v3/dom/rerenderMissingShadows.runtime.js +40 -0
  982. package/dist/esm/lib/v3/dom/rerenderMissingShadows.runtime.js.map +1 -0
  983. package/dist/esm/lib/v3/dom/screenshotScripts/index.d.ts +1 -0
  984. package/dist/esm/lib/v3/dom/screenshotScripts/index.js +2 -0
  985. package/dist/esm/lib/v3/dom/screenshotScripts/index.js.map +1 -0
  986. package/dist/esm/lib/v3/dom/screenshotScripts/resolveMaskRect.d.ts +8 -0
  987. package/dist/esm/lib/v3/dom/screenshotScripts/resolveMaskRect.js +82 -0
  988. package/dist/esm/lib/v3/dom/screenshotScripts/resolveMaskRect.js.map +1 -0
  989. package/dist/esm/lib/v3/external_clients/aisdk.d.ts +11 -0
  990. package/dist/esm/lib/v3/external_clients/aisdk.js +103 -0
  991. package/dist/esm/lib/v3/external_clients/aisdk.js.map +1 -0
  992. package/dist/esm/lib/v3/external_clients/customOpenAI.d.ts +18 -0
  993. package/dist/esm/lib/v3/external_clients/customOpenAI.js +220 -0
  994. package/dist/esm/lib/v3/external_clients/customOpenAI.js.map +1 -0
  995. package/dist/esm/lib/v3/flowLogger.d.ts +139 -0
  996. package/dist/esm/lib/v3/flowLogger.js +868 -0
  997. package/dist/esm/lib/v3/flowLogger.js.map +1 -0
  998. package/dist/esm/lib/v3/handlers/actHandler.d.ts +22 -0
  999. package/dist/esm/lib/v3/handlers/actHandler.js +340 -0
  1000. package/dist/esm/lib/v3/handlers/actHandler.js.map +1 -0
  1001. package/dist/esm/lib/v3/handlers/extractHandler.d.ts +31 -0
  1002. package/dist/esm/lib/v3/handlers/extractHandler.js +139 -0
  1003. package/dist/esm/lib/v3/handlers/extractHandler.js.map +1 -0
  1004. package/dist/esm/lib/v3/handlers/handlerUtils/actHandlerUtils.d.ts +21 -0
  1005. package/dist/esm/lib/v3/handlers/handlerUtils/actHandlerUtils.js +598 -0
  1006. package/dist/esm/lib/v3/handlers/handlerUtils/actHandlerUtils.js.map +1 -0
  1007. package/dist/esm/lib/v3/handlers/handlerUtils/timeoutGuard.d.ts +2 -0
  1008. package/dist/esm/lib/v3/handlers/handlerUtils/timeoutGuard.js +14 -0
  1009. package/dist/esm/lib/v3/handlers/handlerUtils/timeoutGuard.js.map +1 -0
  1010. package/dist/esm/lib/v3/handlers/observeHandler.d.ts +17 -0
  1011. package/dist/esm/lib/v3/handlers/observeHandler.js +155 -0
  1012. package/dist/esm/lib/v3/handlers/observeHandler.js.map +1 -0
  1013. package/dist/esm/lib/v3/handlers/v3AgentHandler.d.ts +32 -0
  1014. package/dist/esm/lib/v3/handlers/v3AgentHandler.js +458 -0
  1015. package/dist/esm/lib/v3/handlers/v3AgentHandler.js.map +1 -0
  1016. package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.d.ts +33 -0
  1017. package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.js +528 -0
  1018. package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.js.map +1 -0
  1019. package/dist/esm/lib/v3/index.d.ts +161 -0
  1020. package/dist/esm/lib/v3/index.js +55 -0
  1021. package/dist/esm/lib/v3/index.js.map +1 -0
  1022. package/dist/esm/lib/v3/launch/browserbase.d.ts +7 -0
  1023. package/dist/esm/lib/v3/launch/browserbase.js +41 -0
  1024. package/dist/esm/lib/v3/launch/browserbase.js.map +1 -0
  1025. package/dist/esm/lib/v3/launch/local.d.ts +15 -0
  1026. package/dist/esm/lib/v3/launch/local.js +98 -0
  1027. package/dist/esm/lib/v3/launch/local.js.map +1 -0
  1028. package/dist/esm/lib/v3/llm/AnthropicClient.d.ts +16 -0
  1029. package/dist/esm/lib/v3/llm/AnthropicClient.js +239 -0
  1030. package/dist/esm/lib/v3/llm/AnthropicClient.js.map +1 -0
  1031. package/dist/esm/lib/v3/llm/CerebrasClient.d.ts +17 -0
  1032. package/dist/esm/lib/v3/llm/CerebrasClient.js +235 -0
  1033. package/dist/esm/lib/v3/llm/CerebrasClient.js.map +1 -0
  1034. package/dist/esm/lib/v3/llm/GoogleClient.d.ts +19 -0
  1035. package/dist/esm/lib/v3/llm/GoogleClient.js +369 -0
  1036. package/dist/esm/lib/v3/llm/GoogleClient.js.map +1 -0
  1037. package/dist/esm/lib/v3/llm/GroqClient.d.ts +17 -0
  1038. package/dist/esm/lib/v3/llm/GroqClient.js +236 -0
  1039. package/dist/esm/lib/v3/llm/GroqClient.js.map +1 -0
  1040. package/dist/esm/lib/v3/llm/LLMClient.d.ts +121 -0
  1041. package/dist/esm/lib/v3/llm/LLMClient.js +23 -0
  1042. package/dist/esm/lib/v3/llm/LLMClient.js.map +1 -0
  1043. package/dist/esm/lib/v3/llm/LLMProvider.d.ts +13 -0
  1044. package/dist/esm/lib/v3/llm/LLMProvider.js +189 -0
  1045. package/dist/esm/lib/v3/llm/LLMProvider.js.map +1 -0
  1046. package/dist/esm/lib/v3/llm/OpenAIClient.d.ts +15 -0
  1047. package/dist/esm/lib/v3/llm/OpenAIClient.js +329 -0
  1048. package/dist/esm/lib/v3/llm/OpenAIClient.js.map +1 -0
  1049. package/dist/esm/lib/v3/llm/aisdk.d.ts +15 -0
  1050. package/dist/esm/lib/v3/llm/aisdk.js +351 -0
  1051. package/dist/esm/lib/v3/llm/aisdk.js.map +1 -0
  1052. package/dist/esm/lib/v3/logger.d.ts +9 -0
  1053. package/dist/esm/lib/v3/logger.js +96 -0
  1054. package/dist/esm/lib/v3/logger.js.map +1 -0
  1055. package/dist/esm/lib/v3/mcp/connection.d.ts +13 -0
  1056. package/dist/esm/lib/v3/mcp/connection.js +52 -0
  1057. package/dist/esm/lib/v3/mcp/connection.js.map +1 -0
  1058. package/dist/esm/lib/v3/mcp/utils.d.ts +3 -0
  1059. package/dist/esm/lib/v3/mcp/utils.js +36 -0
  1060. package/dist/esm/lib/v3/mcp/utils.js.map +1 -0
  1061. package/dist/esm/lib/v3/runtimePaths.d.ts +6 -0
  1062. package/dist/esm/lib/v3/runtimePaths.js +107 -0
  1063. package/dist/esm/lib/v3/runtimePaths.js.map +1 -0
  1064. package/dist/esm/lib/v3/shutdown/cleanupLocal.d.ts +14 -0
  1065. package/dist/esm/lib/v3/shutdown/cleanupLocal.js +30 -0
  1066. package/dist/esm/lib/v3/shutdown/cleanupLocal.js.map +1 -0
  1067. package/dist/esm/lib/v3/shutdown/supervisor.d.ts +11 -0
  1068. package/dist/esm/lib/v3/shutdown/supervisor.js +185 -0
  1069. package/dist/esm/lib/v3/shutdown/supervisor.js.map +1 -0
  1070. package/dist/esm/lib/v3/shutdown/supervisorClient.d.ts +15 -0
  1071. package/dist/esm/lib/v3/shutdown/supervisorClient.js +89 -0
  1072. package/dist/esm/lib/v3/shutdown/supervisorClient.js.map +1 -0
  1073. package/dist/esm/lib/v3/timeoutConfig.d.ts +2 -0
  1074. package/dist/esm/lib/v3/timeoutConfig.js +32 -0
  1075. package/dist/esm/lib/v3/timeoutConfig.js.map +1 -0
  1076. package/dist/esm/lib/v3/types/private/agent.d.ts +6 -0
  1077. package/dist/esm/lib/v3/types/private/agent.js +2 -0
  1078. package/dist/esm/lib/v3/types/private/agent.js.map +1 -0
  1079. package/dist/esm/lib/v3/types/private/api.d.ts +11 -0
  1080. package/dist/esm/lib/v3/types/private/api.js +2 -0
  1081. package/dist/esm/lib/v3/types/private/api.js.map +1 -0
  1082. package/dist/esm/lib/v3/types/private/cache.d.ts +131 -0
  1083. package/dist/esm/lib/v3/types/private/cache.js +2 -0
  1084. package/dist/esm/lib/v3/types/private/cache.js.map +1 -0
  1085. package/dist/esm/lib/v3/types/private/evaluator.d.ts +40 -0
  1086. package/dist/esm/lib/v3/types/private/evaluator.js +2 -0
  1087. package/dist/esm/lib/v3/types/private/evaluator.js.map +1 -0
  1088. package/dist/esm/lib/v3/types/private/handlers.d.ts +39 -0
  1089. package/dist/esm/lib/v3/types/private/handlers.js +16 -0
  1090. package/dist/esm/lib/v3/types/private/handlers.js.map +1 -0
  1091. package/dist/esm/lib/v3/types/private/index.d.ts +7 -0
  1092. package/dist/esm/lib/v3/types/private/index.js +8 -0
  1093. package/dist/esm/lib/v3/types/private/index.js.map +1 -0
  1094. package/dist/esm/lib/v3/types/private/internal.d.ts +39 -0
  1095. package/dist/esm/lib/v3/types/private/internal.js +2 -0
  1096. package/dist/esm/lib/v3/types/private/internal.js.map +1 -0
  1097. package/dist/esm/lib/v3/types/private/locator.d.ts +9 -0
  1098. package/dist/esm/lib/v3/types/private/locator.js +2 -0
  1099. package/dist/esm/lib/v3/types/private/locator.js.map +1 -0
  1100. package/dist/esm/lib/v3/types/private/network.d.ts +34 -0
  1101. package/dist/esm/lib/v3/types/private/network.js +3 -0
  1102. package/dist/esm/lib/v3/types/private/network.js.map +1 -0
  1103. package/dist/esm/lib/v3/types/private/shutdown.d.ts +19 -0
  1104. package/dist/esm/lib/v3/types/private/shutdown.js +5 -0
  1105. package/dist/esm/lib/v3/types/private/shutdown.js.map +1 -0
  1106. package/dist/esm/lib/v3/types/private/shutdownErrors.d.ts +12 -0
  1107. package/dist/esm/lib/v3/types/private/shutdownErrors.js +22 -0
  1108. package/dist/esm/lib/v3/types/private/shutdownErrors.js.map +1 -0
  1109. package/dist/esm/lib/v3/types/private/snapshot.d.ts +117 -0
  1110. package/dist/esm/lib/v3/types/private/snapshot.js +2 -0
  1111. package/dist/esm/lib/v3/types/private/snapshot.js.map +1 -0
  1112. package/dist/esm/lib/v3/types/public/agent.d.ts +653 -0
  1113. package/dist/esm/lib/v3/types/public/agent.js +15 -0
  1114. package/dist/esm/lib/v3/types/public/agent.js.map +1 -0
  1115. package/dist/esm/lib/v3/types/public/api.d.ts +1236 -0
  1116. package/dist/esm/lib/v3/types/public/api.js +918 -0
  1117. package/dist/esm/lib/v3/types/public/api.js.map +1 -0
  1118. package/dist/esm/lib/v3/types/public/apiErrors.d.ts +18 -0
  1119. package/dist/esm/lib/v3/types/public/apiErrors.js +32 -0
  1120. package/dist/esm/lib/v3/types/public/apiErrors.js.map +1 -0
  1121. package/dist/esm/lib/v3/types/public/context.d.ts +32 -0
  1122. package/dist/esm/lib/v3/types/public/context.js +2 -0
  1123. package/dist/esm/lib/v3/types/public/context.js.map +1 -0
  1124. package/dist/esm/lib/v3/types/public/index.d.ts +14 -0
  1125. package/dist/esm/lib/v3/types/public/index.js +15 -0
  1126. package/dist/esm/lib/v3/types/public/index.js.map +1 -0
  1127. package/dist/esm/lib/v3/types/public/locator.d.ts +9 -0
  1128. package/dist/esm/lib/v3/types/public/locator.js +2 -0
  1129. package/dist/esm/lib/v3/types/public/locator.js.map +1 -0
  1130. package/dist/esm/lib/v3/types/public/logs.d.ts +23 -0
  1131. package/dist/esm/lib/v3/types/public/logs.js +13 -0
  1132. package/dist/esm/lib/v3/types/public/logs.js.map +1 -0
  1133. package/dist/esm/lib/v3/types/public/methods.d.ts +87 -0
  1134. package/dist/esm/lib/v3/types/public/methods.js +15 -0
  1135. package/dist/esm/lib/v3/types/public/methods.js.map +1 -0
  1136. package/dist/esm/lib/v3/types/public/metrics.d.ts +27 -0
  1137. package/dist/esm/lib/v3/types/public/metrics.js +2 -0
  1138. package/dist/esm/lib/v3/types/public/metrics.js.map +1 -0
  1139. package/dist/esm/lib/v3/types/public/model.d.ts +67 -0
  1140. package/dist/esm/lib/v3/types/public/model.js +2 -0
  1141. package/dist/esm/lib/v3/types/public/model.js.map +1 -0
  1142. package/dist/esm/lib/v3/types/public/options.d.ts +78 -0
  1143. package/dist/esm/lib/v3/types/public/options.js +4 -0
  1144. package/dist/esm/lib/v3/types/public/options.js.map +1 -0
  1145. package/dist/esm/lib/v3/types/public/page.d.ts +18 -0
  1146. package/dist/esm/lib/v3/types/public/page.js +3 -0
  1147. package/dist/esm/lib/v3/types/public/page.js.map +1 -0
  1148. package/dist/esm/lib/v3/types/public/screenshotTypes.d.ts +25 -0
  1149. package/dist/esm/lib/v3/types/public/screenshotTypes.js +2 -0
  1150. package/dist/esm/lib/v3/types/public/screenshotTypes.js.map +1 -0
  1151. package/dist/esm/lib/v3/types/public/sdkErrors.d.ts +168 -0
  1152. package/dist/esm/lib/v3/types/public/sdkErrors.js +333 -0
  1153. package/dist/esm/lib/v3/types/public/sdkErrors.js.map +1 -0
  1154. package/dist/esm/lib/v3/understudy/a11y/snapshot/a11yTree.d.ts +15 -0
  1155. package/dist/esm/lib/v3/understudy/a11y/snapshot/a11yTree.js +196 -0
  1156. package/dist/esm/lib/v3/understudy/a11y/snapshot/a11yTree.js.map +1 -0
  1157. package/dist/esm/lib/v3/understudy/a11y/snapshot/activeElement.d.ts +8 -0
  1158. package/dist/esm/lib/v3/understudy/a11y/snapshot/activeElement.js +121 -0
  1159. package/dist/esm/lib/v3/understudy/a11y/snapshot/activeElement.js.map +1 -0
  1160. package/dist/esm/lib/v3/understudy/a11y/snapshot/capture.d.ts +77 -0
  1161. package/dist/esm/lib/v3/understudy/a11y/snapshot/capture.js +336 -0
  1162. package/dist/esm/lib/v3/understudy/a11y/snapshot/capture.js.map +1 -0
  1163. package/dist/esm/lib/v3/understudy/a11y/snapshot/coordinateResolver.d.ts +7 -0
  1164. package/dist/esm/lib/v3/understudy/a11y/snapshot/coordinateResolver.js +129 -0
  1165. package/dist/esm/lib/v3/understudy/a11y/snapshot/coordinateResolver.js.map +1 -0
  1166. package/dist/esm/lib/v3/understudy/a11y/snapshot/domTree.d.ts +46 -0
  1167. package/dist/esm/lib/v3/understudy/a11y/snapshot/domTree.js +274 -0
  1168. package/dist/esm/lib/v3/understudy/a11y/snapshot/domTree.js.map +1 -0
  1169. package/dist/esm/lib/v3/understudy/a11y/snapshot/focusSelectors.d.ts +25 -0
  1170. package/dist/esm/lib/v3/understudy/a11y/snapshot/focusSelectors.js +216 -0
  1171. package/dist/esm/lib/v3/understudy/a11y/snapshot/focusSelectors.js.map +1 -0
  1172. package/dist/esm/lib/v3/understudy/a11y/snapshot/index.d.ts +4 -0
  1173. package/dist/esm/lib/v3/understudy/a11y/snapshot/index.js +5 -0
  1174. package/dist/esm/lib/v3/understudy/a11y/snapshot/index.js.map +1 -0
  1175. package/dist/esm/lib/v3/understudy/a11y/snapshot/sessions.d.ts +16 -0
  1176. package/dist/esm/lib/v3/understudy/a11y/snapshot/sessions.js +22 -0
  1177. package/dist/esm/lib/v3/understudy/a11y/snapshot/sessions.js.map +1 -0
  1178. package/dist/esm/lib/v3/understudy/a11y/snapshot/treeFormatUtils.d.ts +28 -0
  1179. package/dist/esm/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js +135 -0
  1180. package/dist/esm/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js.map +1 -0
  1181. package/dist/esm/lib/v3/understudy/a11y/snapshot/xpathUtils.d.ts +26 -0
  1182. package/dist/esm/lib/v3/understudy/a11y/snapshot/xpathUtils.js +102 -0
  1183. package/dist/esm/lib/v3/understudy/a11y/snapshot/xpathUtils.js.map +1 -0
  1184. package/dist/esm/lib/v3/understudy/a11yInvocation.d.ts +8 -0
  1185. package/dist/esm/lib/v3/understudy/a11yInvocation.js +12 -0
  1186. package/dist/esm/lib/v3/understudy/a11yInvocation.js.map +1 -0
  1187. package/dist/esm/lib/v3/understudy/cdp.d.ts +74 -0
  1188. package/dist/esm/lib/v3/understudy/cdp.js +309 -0
  1189. package/dist/esm/lib/v3/understudy/cdp.js.map +1 -0
  1190. package/dist/esm/lib/v3/understudy/consoleMessage.d.ts +22 -0
  1191. package/dist/esm/lib/v3/understudy/consoleMessage.js +66 -0
  1192. package/dist/esm/lib/v3/understudy/consoleMessage.js.map +1 -0
  1193. package/dist/esm/lib/v3/understudy/context.d.ts +166 -0
  1194. package/dist/esm/lib/v3/understudy/context.js +956 -0
  1195. package/dist/esm/lib/v3/understudy/context.js.map +1 -0
  1196. package/dist/esm/lib/v3/understudy/cookies.d.ts +32 -0
  1197. package/dist/esm/lib/v3/understudy/cookies.js +136 -0
  1198. package/dist/esm/lib/v3/understudy/cookies.js.map +1 -0
  1199. package/dist/esm/lib/v3/understudy/deepLocator.d.ts +87 -0
  1200. package/dist/esm/lib/v3/understudy/deepLocator.js +196 -0
  1201. package/dist/esm/lib/v3/understudy/deepLocator.js.map +1 -0
  1202. package/dist/esm/lib/v3/understudy/executionContextRegistry.d.ts +15 -0
  1203. package/dist/esm/lib/v3/understudy/executionContextRegistry.js +83 -0
  1204. package/dist/esm/lib/v3/understudy/executionContextRegistry.js.map +1 -0
  1205. package/dist/esm/lib/v3/understudy/fileUploadUtils.d.ts +13 -0
  1206. package/dist/esm/lib/v3/understudy/fileUploadUtils.js +81 -0
  1207. package/dist/esm/lib/v3/understudy/fileUploadUtils.js.map +1 -0
  1208. package/dist/esm/lib/v3/understudy/frame.d.ts +69 -0
  1209. package/dist/esm/lib/v3/understudy/frame.js +228 -0
  1210. package/dist/esm/lib/v3/understudy/frame.js.map +1 -0
  1211. package/dist/esm/lib/v3/understudy/frameLocator.d.ts +50 -0
  1212. package/dist/esm/lib/v3/understudy/frameLocator.js +255 -0
  1213. package/dist/esm/lib/v3/understudy/frameLocator.js.map +1 -0
  1214. package/dist/esm/lib/v3/understudy/frameRegistry.d.ts +101 -0
  1215. package/dist/esm/lib/v3/understudy/frameRegistry.js +298 -0
  1216. package/dist/esm/lib/v3/understudy/frameRegistry.js.map +1 -0
  1217. package/dist/esm/lib/v3/understudy/initScripts.d.ts +2 -0
  1218. package/dist/esm/lib/v3/understudy/initScripts.js +33 -0
  1219. package/dist/esm/lib/v3/understudy/initScripts.js.map +1 -0
  1220. package/dist/esm/lib/v3/understudy/lifecycleWatcher.d.ts +64 -0
  1221. package/dist/esm/lib/v3/understudy/lifecycleWatcher.js +245 -0
  1222. package/dist/esm/lib/v3/understudy/lifecycleWatcher.js.map +1 -0
  1223. package/dist/esm/lib/v3/understudy/locator.d.ts +194 -0
  1224. package/dist/esm/lib/v3/understudy/locator.js +753 -0
  1225. package/dist/esm/lib/v3/understudy/locator.js.map +1 -0
  1226. package/dist/esm/lib/v3/understudy/locatorInvocation.d.ts +8 -0
  1227. package/dist/esm/lib/v3/understudy/locatorInvocation.js +12 -0
  1228. package/dist/esm/lib/v3/understudy/locatorInvocation.js.map +1 -0
  1229. package/dist/esm/lib/v3/understudy/navigationResponseTracker.d.ts +84 -0
  1230. package/dist/esm/lib/v3/understudy/navigationResponseTracker.js +224 -0
  1231. package/dist/esm/lib/v3/understudy/navigationResponseTracker.js.map +1 -0
  1232. package/dist/esm/lib/v3/understudy/networkManager.d.ts +53 -0
  1233. package/dist/esm/lib/v3/understudy/networkManager.js +306 -0
  1234. package/dist/esm/lib/v3/understudy/networkManager.js.map +1 -0
  1235. package/dist/esm/lib/v3/understudy/page.d.ts +367 -0
  1236. package/dist/esm/lib/v3/understudy/page.js +1995 -0
  1237. package/dist/esm/lib/v3/understudy/page.js.map +1 -0
  1238. package/dist/esm/lib/v3/understudy/piercer.d.ts +4 -0
  1239. package/dist/esm/lib/v3/understudy/piercer.js +61 -0
  1240. package/dist/esm/lib/v3/understudy/piercer.js.map +1 -0
  1241. package/dist/esm/lib/v3/understudy/response.d.ts +137 -0
  1242. package/dist/esm/lib/v3/understudy/response.js +330 -0
  1243. package/dist/esm/lib/v3/understudy/response.js.map +1 -0
  1244. package/dist/esm/lib/v3/understudy/screenshotUtils.d.ts +15 -0
  1245. package/dist/esm/lib/v3/understudy/screenshotUtils.js +334 -0
  1246. package/dist/esm/lib/v3/understudy/screenshotUtils.js.map +1 -0
  1247. package/dist/esm/lib/v3/understudy/selectorResolver.d.ts +38 -0
  1248. package/dist/esm/lib/v3/understudy/selectorResolver.js +296 -0
  1249. package/dist/esm/lib/v3/understudy/selectorResolver.js.map +1 -0
  1250. package/dist/esm/lib/v3/v3.d.ts +191 -0
  1251. package/dist/esm/lib/v3/v3.js +1592 -0
  1252. package/dist/esm/lib/v3/v3.js.map +1 -0
  1253. package/dist/esm/lib/v3/zodCompat.d.ts +12 -0
  1254. package/dist/esm/lib/v3/zodCompat.js +17 -0
  1255. package/dist/esm/lib/v3/zodCompat.js.map +1 -0
  1256. package/dist/esm/lib/v3Evaluator.d.ts +19 -0
  1257. package/dist/esm/lib/v3Evaluator.js +210 -0
  1258. package/dist/esm/lib/v3Evaluator.js.map +1 -0
  1259. package/dist/esm/lib/version.d.ts +5 -0
  1260. package/dist/esm/lib/version.js +6 -0
  1261. package/dist/esm/lib/version.js.map +1 -0
  1262. package/dist/esm/package.json +3 -0
  1263. package/dist/esm/tests/cache-variables.test.d.ts +1 -0
  1264. package/dist/esm/tests/cache-variables.test.js +219 -0
  1265. package/dist/esm/tests/cache-variables.test.js.map +1 -0
  1266. package/dist/esm/tests/integration/agent-abort-signal.spec.d.ts +1 -0
  1267. package/dist/esm/tests/integration/agent-abort-signal.spec.js +121 -0
  1268. package/dist/esm/tests/integration/agent-abort-signal.spec.js.map +1 -0
  1269. package/dist/esm/tests/integration/agent-cache-self-heal.spec.d.ts +1 -0
  1270. package/dist/esm/tests/integration/agent-cache-self-heal.spec.js +78 -0
  1271. package/dist/esm/tests/integration/agent-cache-self-heal.spec.js.map +1 -0
  1272. package/dist/esm/tests/integration/agent-callbacks.spec.d.ts +1 -0
  1273. package/dist/esm/tests/integration/agent-callbacks.spec.js +383 -0
  1274. package/dist/esm/tests/integration/agent-callbacks.spec.js.map +1 -0
  1275. package/dist/esm/tests/integration/agent-experimental-validation.spec.d.ts +1 -0
  1276. package/dist/esm/tests/integration/agent-experimental-validation.spec.js +360 -0
  1277. package/dist/esm/tests/integration/agent-experimental-validation.spec.js.map +1 -0
  1278. package/dist/esm/tests/integration/agent-hybrid-mode.spec.d.ts +1 -0
  1279. package/dist/esm/tests/integration/agent-hybrid-mode.spec.js +260 -0
  1280. package/dist/esm/tests/integration/agent-hybrid-mode.spec.js.map +1 -0
  1281. package/dist/esm/tests/integration/agent-message-continuation.spec.d.ts +1 -0
  1282. package/dist/esm/tests/integration/agent-message-continuation.spec.js +110 -0
  1283. package/dist/esm/tests/integration/agent-message-continuation.spec.js.map +1 -0
  1284. package/dist/esm/tests/integration/agent-streaming.spec.d.ts +1 -0
  1285. package/dist/esm/tests/integration/agent-streaming.spec.js +138 -0
  1286. package/dist/esm/tests/integration/agent-streaming.spec.js.map +1 -0
  1287. package/dist/esm/tests/integration/cdp-close-api-region.spec.d.ts +1 -0
  1288. package/dist/esm/tests/integration/cdp-close-api-region.spec.js +39 -0
  1289. package/dist/esm/tests/integration/cdp-close-api-region.spec.js.map +1 -0
  1290. package/dist/esm/tests/integration/cdp-connection-close.spec.d.ts +1 -0
  1291. package/dist/esm/tests/integration/cdp-connection-close.spec.js +74 -0
  1292. package/dist/esm/tests/integration/cdp-connection-close.spec.js.map +1 -0
  1293. package/dist/esm/tests/integration/cdp-session-detached.spec.d.ts +1 -0
  1294. package/dist/esm/tests/integration/cdp-session-detached.spec.js +43 -0
  1295. package/dist/esm/tests/integration/cdp-session-detached.spec.js.map +1 -0
  1296. package/dist/esm/tests/integration/click-count.spec.d.ts +1 -0
  1297. package/dist/esm/tests/integration/click-count.spec.js +161 -0
  1298. package/dist/esm/tests/integration/click-count.spec.js.map +1 -0
  1299. package/dist/esm/tests/integration/connect-to-existing-browser.spec.d.ts +1 -0
  1300. package/dist/esm/tests/integration/connect-to-existing-browser.spec.js +97 -0
  1301. package/dist/esm/tests/integration/connect-to-existing-browser.spec.js.map +1 -0
  1302. package/dist/esm/tests/integration/context-addInitScript.spec.d.ts +1 -0
  1303. package/dist/esm/tests/integration/context-addInitScript.spec.js +283 -0
  1304. package/dist/esm/tests/integration/context-addInitScript.spec.js.map +1 -0
  1305. package/dist/esm/tests/integration/context-extra-http-headers.spec.d.ts +1 -0
  1306. package/dist/esm/tests/integration/context-extra-http-headers.spec.js +47 -0
  1307. package/dist/esm/tests/integration/context-extra-http-headers.spec.js.map +1 -0
  1308. package/dist/esm/tests/integration/cookies.spec.d.ts +1 -0
  1309. package/dist/esm/tests/integration/cookies.spec.js +185 -0
  1310. package/dist/esm/tests/integration/cookies.spec.js.map +1 -0
  1311. package/dist/esm/tests/integration/default-page-tracking.spec.d.ts +1 -0
  1312. package/dist/esm/tests/integration/default-page-tracking.spec.js +50 -0
  1313. package/dist/esm/tests/integration/default-page-tracking.spec.js.map +1 -0
  1314. package/dist/esm/tests/integration/downloads.spec.d.ts +1 -0
  1315. package/dist/esm/tests/integration/downloads.spec.js +47 -0
  1316. package/dist/esm/tests/integration/downloads.spec.js.map +1 -0
  1317. package/dist/esm/tests/integration/frame-get-location-and-click.spec.d.ts +1 -0
  1318. package/dist/esm/tests/integration/frame-get-location-and-click.spec.js +55 -0
  1319. package/dist/esm/tests/integration/frame-get-location-and-click.spec.js.map +1 -0
  1320. package/dist/esm/tests/integration/iframe-ctx-addInitScript-race.spec.d.ts +1 -0
  1321. package/dist/esm/tests/integration/iframe-ctx-addInitScript-race.spec.js +217 -0
  1322. package/dist/esm/tests/integration/iframe-ctx-addInitScript-race.spec.js.map +1 -0
  1323. package/dist/esm/tests/integration/iframe-ctx-addInitScript.spec.d.ts +1 -0
  1324. package/dist/esm/tests/integration/iframe-ctx-addInitScript.spec.js +472 -0
  1325. package/dist/esm/tests/integration/iframe-ctx-addInitScript.spec.js.map +1 -0
  1326. package/dist/esm/tests/integration/keep-alive.child.d.ts +1 -0
  1327. package/dist/esm/tests/integration/keep-alive.child.js +83 -0
  1328. package/dist/esm/tests/integration/keep-alive.child.js.map +1 -0
  1329. package/dist/esm/tests/integration/keep-alive.spec.d.ts +22 -0
  1330. package/dist/esm/tests/integration/keep-alive.spec.js +482 -0
  1331. package/dist/esm/tests/integration/keep-alive.spec.js.map +1 -0
  1332. package/dist/esm/tests/integration/keyboard.spec.d.ts +1 -0
  1333. package/dist/esm/tests/integration/keyboard.spec.js +257 -0
  1334. package/dist/esm/tests/integration/keyboard.spec.js.map +1 -0
  1335. package/dist/esm/tests/integration/locator-backend-node-id.spec.d.ts +1 -0
  1336. package/dist/esm/tests/integration/locator-backend-node-id.spec.js +148 -0
  1337. package/dist/esm/tests/integration/locator-backend-node-id.spec.js.map +1 -0
  1338. package/dist/esm/tests/integration/locator-content-methods.spec.d.ts +1 -0
  1339. package/dist/esm/tests/integration/locator-content-methods.spec.js +178 -0
  1340. package/dist/esm/tests/integration/locator-content-methods.spec.js.map +1 -0
  1341. package/dist/esm/tests/integration/locator-count-iframe.spec.d.ts +1 -0
  1342. package/dist/esm/tests/integration/locator-count-iframe.spec.js +127 -0
  1343. package/dist/esm/tests/integration/locator-count-iframe.spec.js.map +1 -0
  1344. package/dist/esm/tests/integration/locator-count.spec.d.ts +1 -0
  1345. package/dist/esm/tests/integration/locator-count.spec.js +66 -0
  1346. package/dist/esm/tests/integration/locator-count.spec.js.map +1 -0
  1347. package/dist/esm/tests/integration/locator-fill.spec.d.ts +1 -0
  1348. package/dist/esm/tests/integration/locator-fill.spec.js +115 -0
  1349. package/dist/esm/tests/integration/locator-fill.spec.js.map +1 -0
  1350. package/dist/esm/tests/integration/locator-input-methods.spec.d.ts +1 -0
  1351. package/dist/esm/tests/integration/locator-input-methods.spec.js +125 -0
  1352. package/dist/esm/tests/integration/locator-input-methods.spec.js.map +1 -0
  1353. package/dist/esm/tests/integration/locator-nth.spec.d.ts +1 -0
  1354. package/dist/esm/tests/integration/locator-nth.spec.js +173 -0
  1355. package/dist/esm/tests/integration/locator-nth.spec.js.map +1 -0
  1356. package/dist/esm/tests/integration/locator-select-option.spec.d.ts +1 -0
  1357. package/dist/esm/tests/integration/locator-select-option.spec.js +214 -0
  1358. package/dist/esm/tests/integration/locator-select-option.spec.js.map +1 -0
  1359. package/dist/esm/tests/integration/logger-initialization.spec.d.ts +1 -0
  1360. package/dist/esm/tests/integration/logger-initialization.spec.js +595 -0
  1361. package/dist/esm/tests/integration/logger-initialization.spec.js.map +1 -0
  1362. package/dist/esm/tests/integration/multi-instance-logger.spec.d.ts +1 -0
  1363. package/dist/esm/tests/integration/multi-instance-logger.spec.js +291 -0
  1364. package/dist/esm/tests/integration/multi-instance-logger.spec.js.map +1 -0
  1365. package/dist/esm/tests/integration/nested-div.spec.d.ts +1 -0
  1366. package/dist/esm/tests/integration/nested-div.spec.js +20 -0
  1367. package/dist/esm/tests/integration/nested-div.spec.js.map +1 -0
  1368. package/dist/esm/tests/integration/page-addInitScript.spec.d.ts +1 -0
  1369. package/dist/esm/tests/integration/page-addInitScript.spec.js +92 -0
  1370. package/dist/esm/tests/integration/page-addInitScript.spec.js.map +1 -0
  1371. package/dist/esm/tests/integration/page-console.spec.d.ts +1 -0
  1372. package/dist/esm/tests/integration/page-console.spec.js +45 -0
  1373. package/dist/esm/tests/integration/page-console.spec.js.map +1 -0
  1374. package/dist/esm/tests/integration/page-drag-and-drop.spec.d.ts +1 -0
  1375. package/dist/esm/tests/integration/page-drag-and-drop.spec.js +435 -0
  1376. package/dist/esm/tests/integration/page-drag-and-drop.spec.js.map +1 -0
  1377. package/dist/esm/tests/integration/page-extra-http-headers.spec.d.ts +1 -0
  1378. package/dist/esm/tests/integration/page-extra-http-headers.spec.js +83 -0
  1379. package/dist/esm/tests/integration/page-extra-http-headers.spec.js.map +1 -0
  1380. package/dist/esm/tests/integration/page-goto-response.spec.d.ts +1 -0
  1381. package/dist/esm/tests/integration/page-goto-response.spec.js +32 -0
  1382. package/dist/esm/tests/integration/page-goto-response.spec.js.map +1 -0
  1383. package/dist/esm/tests/integration/page-hover.spec.d.ts +1 -0
  1384. package/dist/esm/tests/integration/page-hover.spec.js +163 -0
  1385. package/dist/esm/tests/integration/page-hover.spec.js.map +1 -0
  1386. package/dist/esm/tests/integration/page-screenshot.spec.d.ts +1 -0
  1387. package/dist/esm/tests/integration/page-screenshot.spec.js +257 -0
  1388. package/dist/esm/tests/integration/page-screenshot.spec.js.map +1 -0
  1389. package/dist/esm/tests/integration/page-scroll.spec.d.ts +1 -0
  1390. package/dist/esm/tests/integration/page-scroll.spec.js +181 -0
  1391. package/dist/esm/tests/integration/page-scroll.spec.js.map +1 -0
  1392. package/dist/esm/tests/integration/page-send-cdp.spec.d.ts +1 -0
  1393. package/dist/esm/tests/integration/page-send-cdp.spec.js +45 -0
  1394. package/dist/esm/tests/integration/page-send-cdp.spec.js.map +1 -0
  1395. package/dist/esm/tests/integration/perform-understudy-method.spec.d.ts +1 -0
  1396. package/dist/esm/tests/integration/perform-understudy-method.spec.js +61 -0
  1397. package/dist/esm/tests/integration/perform-understudy-method.spec.js.map +1 -0
  1398. package/dist/esm/tests/integration/setinputfiles.spec.d.ts +1 -0
  1399. package/dist/esm/tests/integration/setinputfiles.spec.js +128 -0
  1400. package/dist/esm/tests/integration/setinputfiles.spec.js.map +1 -0
  1401. package/dist/esm/tests/integration/shadow-iframe-oopif.spec.d.ts +1 -0
  1402. package/dist/esm/tests/integration/shadow-iframe-oopif.spec.js +156 -0
  1403. package/dist/esm/tests/integration/shadow-iframe-oopif.spec.js.map +1 -0
  1404. package/dist/esm/tests/integration/shadow-iframe-spif.spec.d.ts +1 -0
  1405. package/dist/esm/tests/integration/shadow-iframe-spif.spec.js +155 -0
  1406. package/dist/esm/tests/integration/shadow-iframe-spif.spec.js.map +1 -0
  1407. package/dist/esm/tests/integration/testUtils.d.ts +7 -0
  1408. package/dist/esm/tests/integration/testUtils.js +40 -0
  1409. package/dist/esm/tests/integration/testUtils.js.map +1 -0
  1410. package/dist/esm/tests/integration/text-selector-innermost.spec.d.ts +1 -0
  1411. package/dist/esm/tests/integration/text-selector-innermost.spec.js +103 -0
  1412. package/dist/esm/tests/integration/text-selector-innermost.spec.js.map +1 -0
  1413. package/dist/esm/tests/integration/timeouts.spec.d.ts +1 -0
  1414. package/dist/esm/tests/integration/timeouts.spec.js +195 -0
  1415. package/dist/esm/tests/integration/timeouts.spec.js.map +1 -0
  1416. package/dist/esm/tests/integration/user-data-dir.spec.d.ts +1 -0
  1417. package/dist/esm/tests/integration/user-data-dir.spec.js +42 -0
  1418. package/dist/esm/tests/integration/user-data-dir.spec.js.map +1 -0
  1419. package/dist/esm/tests/integration/v3.config.d.ts +4 -0
  1420. package/dist/esm/tests/integration/v3.config.js +7 -0
  1421. package/dist/esm/tests/integration/v3.config.js.map +1 -0
  1422. package/dist/esm/tests/integration/v3.dynamic.config.d.ts +4 -0
  1423. package/dist/esm/tests/integration/v3.dynamic.config.js +44 -0
  1424. package/dist/esm/tests/integration/v3.dynamic.config.js.map +1 -0
  1425. package/dist/esm/tests/integration/v3.playwright.config.d.ts +2 -0
  1426. package/dist/esm/tests/integration/v3.playwright.config.js +46 -0
  1427. package/dist/esm/tests/integration/v3.playwright.config.js.map +1 -0
  1428. package/dist/esm/tests/integration/wait-for-selector.spec.d.ts +1 -0
  1429. package/dist/esm/tests/integration/wait-for-selector.spec.js +681 -0
  1430. package/dist/esm/tests/integration/wait-for-selector.spec.js.map +1 -0
  1431. package/dist/esm/tests/integration/wait-for-timeout.spec.d.ts +1 -0
  1432. package/dist/esm/tests/integration/wait-for-timeout.spec.js +116 -0
  1433. package/dist/esm/tests/integration/wait-for-timeout.spec.js.map +1 -0
  1434. package/dist/esm/tests/integration/xpath-for-location-deep.spec.d.ts +1 -0
  1435. package/dist/esm/tests/integration/xpath-for-location-deep.spec.js +85 -0
  1436. package/dist/esm/tests/integration/xpath-for-location-deep.spec.js.map +1 -0
  1437. package/dist/esm/tests/unit/agent-execution-model.test.d.ts +1 -0
  1438. package/dist/esm/tests/unit/agent-execution-model.test.js +126 -0
  1439. package/dist/esm/tests/unit/agent-execution-model.test.js.map +1 -0
  1440. package/dist/esm/tests/unit/api-multiregion.test.d.ts +1 -0
  1441. package/dist/esm/tests/unit/api-multiregion.test.js +56 -0
  1442. package/dist/esm/tests/unit/api-multiregion.test.js.map +1 -0
  1443. package/dist/esm/tests/unit/browserbase-session-accessors.test.d.ts +1 -0
  1444. package/dist/esm/tests/unit/browserbase-session-accessors.test.js +100 -0
  1445. package/dist/esm/tests/unit/browserbase-session-accessors.test.js.map +1 -0
  1446. package/dist/esm/tests/unit/cache-llm-resolution.test.d.ts +1 -0
  1447. package/dist/esm/tests/unit/cache-llm-resolution.test.js +184 -0
  1448. package/dist/esm/tests/unit/cache-llm-resolution.test.js.map +1 -0
  1449. package/dist/esm/tests/unit/cdp-connection-close.test.d.ts +1 -0
  1450. package/dist/esm/tests/unit/cdp-connection-close.test.js +72 -0
  1451. package/dist/esm/tests/unit/cdp-connection-close.test.js.map +1 -0
  1452. package/dist/esm/tests/unit/context-extra-http-headers.test.d.ts +1 -0
  1453. package/dist/esm/tests/unit/context-extra-http-headers.test.js +56 -0
  1454. package/dist/esm/tests/unit/context-extra-http-headers.test.js.map +1 -0
  1455. package/dist/esm/tests/unit/cookies.test.d.ts +1 -0
  1456. package/dist/esm/tests/unit/cookies.test.js +909 -0
  1457. package/dist/esm/tests/unit/cookies.test.js.map +1 -0
  1458. package/dist/esm/tests/unit/helpers/mockCDPSession.d.ts +19 -0
  1459. package/dist/esm/tests/unit/helpers/mockCDPSession.js +25 -0
  1460. package/dist/esm/tests/unit/helpers/mockCDPSession.js.map +1 -0
  1461. package/dist/esm/tests/unit/llm-provider.test.d.ts +1 -0
  1462. package/dist/esm/tests/unit/llm-provider.test.js +62 -0
  1463. package/dist/esm/tests/unit/llm-provider.test.js.map +1 -0
  1464. package/dist/esm/tests/unit/model-deprecation.test.d.ts +1 -0
  1465. package/dist/esm/tests/unit/model-deprecation.test.js +140 -0
  1466. package/dist/esm/tests/unit/model-deprecation.test.js.map +1 -0
  1467. package/dist/esm/tests/unit/model-utils.test.d.ts +1 -0
  1468. package/dist/esm/tests/unit/model-utils.test.js +40 -0
  1469. package/dist/esm/tests/unit/model-utils.test.js.map +1 -0
  1470. package/dist/esm/tests/unit/page-extra-http-headers.test.d.ts +1 -0
  1471. package/dist/esm/tests/unit/page-extra-http-headers.test.js +90 -0
  1472. package/dist/esm/tests/unit/page-extra-http-headers.test.js.map +1 -0
  1473. package/dist/esm/tests/unit/page-snapshot.test.d.ts +1 -0
  1474. package/dist/esm/tests/unit/page-snapshot.test.js +40 -0
  1475. package/dist/esm/tests/unit/page-snapshot.test.js.map +1 -0
  1476. package/dist/esm/tests/unit/public-api/export-surface.test.d.ts +1 -0
  1477. package/dist/esm/tests/unit/public-api/export-surface.test.js +72 -0
  1478. package/dist/esm/tests/unit/public-api/export-surface.test.js.map +1 -0
  1479. package/dist/esm/tests/unit/public-api/llm-and-agents.test.d.ts +1 -0
  1480. package/dist/esm/tests/unit/public-api/llm-and-agents.test.js +140 -0
  1481. package/dist/esm/tests/unit/public-api/llm-and-agents.test.js.map +1 -0
  1482. package/dist/esm/tests/unit/public-api/public-error-types.test.d.ts +62 -0
  1483. package/dist/esm/tests/unit/public-api/public-error-types.test.js +74 -0
  1484. package/dist/esm/tests/unit/public-api/public-error-types.test.js.map +1 -0
  1485. package/dist/esm/tests/unit/public-api/public-types.test.d.ts +1 -0
  1486. package/dist/esm/tests/unit/public-api/public-types.test.js +97 -0
  1487. package/dist/esm/tests/unit/public-api/public-types.test.js.map +1 -0
  1488. package/dist/esm/tests/unit/public-api/runtime-utils.test.d.ts +1 -0
  1489. package/dist/esm/tests/unit/public-api/runtime-utils.test.js +25 -0
  1490. package/dist/esm/tests/unit/public-api/runtime-utils.test.js.map +1 -0
  1491. package/dist/esm/tests/unit/public-api/schema-utils.test.d.ts +1 -0
  1492. package/dist/esm/tests/unit/public-api/schema-utils.test.js +60 -0
  1493. package/dist/esm/tests/unit/public-api/schema-utils.test.js.map +1 -0
  1494. package/dist/esm/tests/unit/public-api/timeout-error-types.test.d.ts +1 -0
  1495. package/dist/esm/tests/unit/public-api/timeout-error-types.test.js +86 -0
  1496. package/dist/esm/tests/unit/public-api/timeout-error-types.test.js.map +1 -0
  1497. package/dist/esm/tests/unit/public-api/tool-type-export.test.d.ts +1 -0
  1498. package/dist/esm/tests/unit/public-api/tool-type-export.test.js +30 -0
  1499. package/dist/esm/tests/unit/public-api/tool-type-export.test.js.map +1 -0
  1500. package/dist/esm/tests/unit/public-api/v3-core.test.d.ts +1 -0
  1501. package/dist/esm/tests/unit/public-api/v3-core.test.js +73 -0
  1502. package/dist/esm/tests/unit/public-api/v3-core.test.js.map +1 -0
  1503. package/dist/esm/tests/unit/rerender-missing-shadows.test.d.ts +1 -0
  1504. package/dist/esm/tests/unit/rerender-missing-shadows.test.js +207 -0
  1505. package/dist/esm/tests/unit/rerender-missing-shadows.test.js.map +1 -0
  1506. package/dist/esm/tests/unit/safety-confirmation.test.d.ts +1 -0
  1507. package/dist/esm/tests/unit/safety-confirmation.test.js +108 -0
  1508. package/dist/esm/tests/unit/safety-confirmation.test.js.map +1 -0
  1509. package/dist/esm/tests/unit/snapshot-a11y-resolvers.test.d.ts +1 -0
  1510. package/dist/esm/tests/unit/snapshot-a11y-resolvers.test.js +295 -0
  1511. package/dist/esm/tests/unit/snapshot-a11y-resolvers.test.js.map +1 -0
  1512. package/dist/esm/tests/unit/snapshot-a11y-tree-utils.test.d.ts +1 -0
  1513. package/dist/esm/tests/unit/snapshot-a11y-tree-utils.test.js +284 -0
  1514. package/dist/esm/tests/unit/snapshot-a11y-tree-utils.test.js.map +1 -0
  1515. package/dist/esm/tests/unit/snapshot-capture-orchestration.test.d.ts +1 -0
  1516. package/dist/esm/tests/unit/snapshot-capture-orchestration.test.js +359 -0
  1517. package/dist/esm/tests/unit/snapshot-capture-orchestration.test.js.map +1 -0
  1518. package/dist/esm/tests/unit/snapshot-cbor.test.d.ts +1 -0
  1519. package/dist/esm/tests/unit/snapshot-cbor.test.js +202 -0
  1520. package/dist/esm/tests/unit/snapshot-cbor.test.js.map +1 -0
  1521. package/dist/esm/tests/unit/snapshot-dom-session-builders.test.d.ts +1 -0
  1522. package/dist/esm/tests/unit/snapshot-dom-session-builders.test.js +218 -0
  1523. package/dist/esm/tests/unit/snapshot-dom-session-builders.test.js.map +1 -0
  1524. package/dist/esm/tests/unit/snapshot-dom-tree-utils.test.d.ts +1 -0
  1525. package/dist/esm/tests/unit/snapshot-dom-tree-utils.test.js +105 -0
  1526. package/dist/esm/tests/unit/snapshot-dom-tree-utils.test.js.map +1 -0
  1527. package/dist/esm/tests/unit/snapshot-focus-selectors-utils.test.d.ts +1 -0
  1528. package/dist/esm/tests/unit/snapshot-focus-selectors-utils.test.js +87 -0
  1529. package/dist/esm/tests/unit/snapshot-focus-selectors-utils.test.js.map +1 -0
  1530. package/dist/esm/tests/unit/snapshot-frame-merge.test.d.ts +1 -0
  1531. package/dist/esm/tests/unit/snapshot-frame-merge.test.js +333 -0
  1532. package/dist/esm/tests/unit/snapshot-frame-merge.test.js.map +1 -0
  1533. package/dist/esm/tests/unit/snapshot-tree-format-utils.test.d.ts +1 -0
  1534. package/dist/esm/tests/unit/snapshot-tree-format-utils.test.js +82 -0
  1535. package/dist/esm/tests/unit/snapshot-tree-format-utils.test.js.map +1 -0
  1536. package/dist/esm/tests/unit/snapshot-xpath-utils.test.d.ts +1 -0
  1537. package/dist/esm/tests/unit/snapshot-xpath-utils.test.js +72 -0
  1538. package/dist/esm/tests/unit/snapshot-xpath-utils.test.js.map +1 -0
  1539. package/dist/esm/tests/unit/timeout-handlers.test.d.ts +1 -0
  1540. package/dist/esm/tests/unit/timeout-handlers.test.js +812 -0
  1541. package/dist/esm/tests/unit/timeout-handlers.test.js.map +1 -0
  1542. package/dist/esm/tests/unit/understudy-command-exception.test.d.ts +1 -0
  1543. package/dist/esm/tests/unit/understudy-command-exception.test.js +55 -0
  1544. package/dist/esm/tests/unit/understudy-command-exception.test.js.map +1 -0
  1545. package/dist/esm/tests/unit/xpath-parser.test.d.ts +1 -0
  1546. package/dist/esm/tests/unit/xpath-parser.test.js +309 -0
  1547. package/dist/esm/tests/unit/xpath-parser.test.js.map +1 -0
  1548. package/dist/esm/tests/unit/xpath-resolver.test.d.ts +1 -0
  1549. package/dist/esm/tests/unit/xpath-resolver.test.js +78 -0
  1550. package/dist/esm/tests/unit/xpath-resolver.test.js.map +1 -0
  1551. package/dist/esm/tests/unit/zod-enum-compatibility.test.d.ts +1 -0
  1552. package/dist/esm/tests/unit/zod-enum-compatibility.test.js +114 -0
  1553. package/dist/esm/tests/unit/zod-enum-compatibility.test.js.map +1 -0
  1554. package/package.json +58 -30
  1555. package/dist/index.d.ts +0 -4321
  1556. package/dist/index.js +0 -69585
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v3.js","sourceRoot":"","sources":["../../../../lib/v3/v3.ts"],"names":[],"mappings":"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","sourcesContent":["import { EventEmitter } from \"events\";\nimport fs from \"fs\";\nimport os from \"os\";\nimport path from \"path\";\nimport process from \"process\";\nimport { v7 as uuidv7 } from \"uuid\";\nimport { z } from \"zod\";\nimport {\n InferStagehandSchema,\n StagehandZodSchema,\n toJsonSchema,\n} from \"./zodCompat.js\";\nimport { loadApiKeyFromEnv } from \"../utils.js\";\nimport { extractModelName } from \"../modelUtils.js\";\nimport { StagehandLogger, LoggerOptions } from \"../logger.js\";\nimport { ActCache } from \"./cache/ActCache.js\";\nimport { AgentCache } from \"./cache/AgentCache.js\";\nimport { CacheStorage } from \"./cache/CacheStorage.js\";\nimport { ActHandler } from \"./handlers/actHandler.js\";\nimport { ExtractHandler } from \"./handlers/extractHandler.js\";\nimport { ObserveHandler } from \"./handlers/observeHandler.js\";\nimport { V3AgentHandler } from \"./handlers/v3AgentHandler.js\";\nimport { V3CuaAgentHandler } from \"./handlers/v3CuaAgentHandler.js\";\nimport { createBrowserbaseSession } from \"./launch/browserbase.js\";\nimport { launchLocalChrome } from \"./launch/local.js\";\nimport { LLMClient } from \"./llm/LLMClient.js\";\nimport { LLMProvider } from \"./llm/LLMProvider.js\";\nimport {\n bindInstanceLogger,\n unbindInstanceLogger,\n withInstanceLogContext,\n} from \"./logger.js\";\nimport { cleanupLocalBrowser } from \"./shutdown/cleanupLocal.js\";\nimport { startShutdownSupervisor } from \"./shutdown/supervisorClient.js\";\nimport { resolveTools } from \"./mcp/utils.js\";\nimport {\n ActHandlerParams,\n ExtractHandlerParams,\n ObserveHandlerParams,\n AgentReplayStep,\n InitState,\n AgentCacheContext,\n} from \"./types/private/index.js\";\nimport type {\n ShutdownSupervisorConfig,\n ShutdownSupervisorHandle,\n} from \"./types/private/shutdown.js\";\nimport {\n AgentConfig,\n AgentExecuteCallbacks,\n AgentExecuteOptions,\n AgentStreamExecuteOptions,\n AgentResult,\n AVAILABLE_CUA_MODELS,\n LogLine,\n StagehandMetrics,\n Action,\n ActOptions,\n ActResult,\n defaultExtractSchema,\n ExtractOptions,\n HistoryEntry,\n ObserveOptions,\n pageTextSchema,\n V3FunctionName,\n AvailableModel,\n ClientOptions,\n ModelConfiguration,\n LocalBrowserLaunchOptions,\n V3Options,\n AnyPage,\n PatchrightPage,\n PlaywrightPage,\n PuppeteerPage,\n CuaModelRequiredError,\n StagehandInvalidArgumentError,\n StagehandNotInitializedError,\n MissingEnvironmentVariableError,\n StagehandInitError,\n AgentStreamResult,\n} from \"./types/public/index.js\";\nimport { V3Context } from \"./understudy/context.js\";\nimport { Page } from \"./understudy/page.js\";\nimport { resolveModel } from \"../modelUtils.js\";\nimport { StagehandAPIClient } from \"./api.js\";\nimport { validateExperimentalFeatures } from \"./agent/utils/validateExperimentalFeatures.js\";\nimport { flattenVariables } from \"./agent/utils/variables.js\";\nimport { SessionFileLogger, logStagehandStep } from \"./flowLogger.js\";\nimport { createTimeoutGuard } from \"./handlers/handlerUtils/timeoutGuard.js\";\nimport { ActTimeoutError } from \"./types/public/sdkErrors.js\";\n\nconst DEFAULT_MODEL_NAME = \"openai/gpt-4.1-mini\";\nconst DEFAULT_VIEWPORT = { width: 1288, height: 711 };\nconst DEFAULT_AGENT_TOOL_TIMEOUT_MS = 45000;\n\ntype ResolvedModelConfiguration = {\n modelName: AvailableModel;\n clientOptions?: ClientOptions;\n};\n\nfunction resolveModelConfiguration(\n model?: V3Options[\"model\"],\n): ResolvedModelConfiguration {\n if (!model) {\n return { modelName: DEFAULT_MODEL_NAME };\n }\n\n if (typeof model === \"string\") {\n return { modelName: model as AvailableModel };\n }\n\n if (model && typeof model === \"object\") {\n const { modelName, ...clientOptions } = model;\n if (!modelName) {\n throw new StagehandInvalidArgumentError(\n \"model.modelName is required when providing client options.\",\n );\n }\n return {\n modelName,\n clientOptions: clientOptions as ClientOptions,\n };\n }\n\n return { modelName: DEFAULT_MODEL_NAME };\n}\n\n/**\n * V3\n *\n * Purpose:\n * A high-level orchestrator for Stagehand V3. Abstracts away whether the browser\n * runs **locally via Chrome** or remotely on **Browserbase**, and exposes simple\n * entrypoints (`act`, `extract`, `observe`) that delegate to the corresponding\n * handler classes.\n *\n * Responsibilities:\n * - Bootstraps Chrome or Browserbase, ensures a working CDP WebSocket, and builds a `V3Context`.\n * - Manages lifecycle: init, context access, cleanup.\n * - Bridges external page objects (Playwright/Puppeteer) into internal frameIds for handlers.\n * - Provides a stable API surface for downstream code regardless of runtime environment.\n */\nexport class V3 {\n private readonly opts: V3Options;\n private state: InitState = { kind: \"UNINITIALIZED\" };\n private actHandler: ActHandler | null = null;\n private extractHandler: ExtractHandler | null = null;\n private observeHandler: ObserveHandler | null = null;\n private ctx: V3Context | null = null;\n public llmClient!: LLMClient;\n\n /**\n * Event bus for internal communication.\n * Emits events like 'screenshot' when screenshots are captured during agent execution.\n */\n public readonly bus: EventEmitter = new EventEmitter();\n private modelName: AvailableModel;\n private modelClientOptions: ClientOptions;\n private llmProvider: LLMProvider;\n private overrideLlmClients: Map<string, LLMClient> = new Map();\n private readonly domSettleTimeoutMs?: number;\n private _isClosing = false;\n public browserbaseSessionId?: string;\n private browserbaseSessionUrl?: string;\n private browserbaseDebugUrl?: string;\n public get browserbaseSessionID(): string | undefined {\n return this.browserbaseSessionId;\n }\n public get browserbaseSessionURL(): string | undefined {\n return this.browserbaseSessionUrl;\n }\n public get browserbaseDebugURL(): string | undefined {\n return this.browserbaseDebugUrl;\n }\n /**\n * Returns true if the browser is running on Browserbase.\n */\n public get isBrowserbase(): boolean {\n return this.state.kind === \"BROWSERBASE\";\n }\n\n /**\n * Returns true if advancedStealth is enabled in Browserbase settings.\n */\n public get isAdvancedStealth(): boolean {\n return (\n this.opts.browserbaseSessionCreateParams?.browserSettings\n ?.advancedStealth === true\n );\n }\n\n /**\n * Returns the configured viewport dimensions from launch options.\n * Falls back to default 1288x711 if not configured.\n */\n public get configuredViewport(): { width: number; height: number } {\n const defaultWidth = 1288;\n const defaultHeight = 711;\n\n if (this.opts.env === \"BROWSERBASE\") {\n const vp =\n this.opts.browserbaseSessionCreateParams?.browserSettings?.viewport;\n return {\n width: vp?.width ?? defaultWidth,\n height: vp?.height ?? defaultHeight,\n };\n }\n\n // LOCAL env\n const vp = this.opts.localBrowserLaunchOptions?.viewport;\n return {\n width: vp?.width ?? defaultWidth,\n height: vp?.height ?? defaultHeight,\n };\n }\n\n private _onCdpClosed = (why: string) => {\n if (this.state.kind === \"BROWSERBASE\") {\n void this._logBrowserbaseSessionStatus();\n }\n\n // Single place to react to the transport closing\n this._immediateShutdown(`CDP transport closed: ${why}`).catch(() => {});\n };\n public readonly experimental: boolean = false;\n public readonly logInferenceToFile: boolean = false;\n public readonly disableAPI: boolean = false;\n private externalLogger?: (logLine: LogLine) => void;\n public verbose: 0 | 1 | 2 = 1;\n private stagehandLogger: StagehandLogger;\n private _history: Array<HistoryEntry> = [];\n private readonly instanceId: string;\n private static _processGuardsInstalled = false;\n private static _instances: Set<V3> = new Set();\n private cacheStorage: CacheStorage;\n private actCache: ActCache;\n private agentCache: AgentCache;\n private apiClient: StagehandAPIClient | null = null;\n private keepAlive?: boolean;\n private shutdownSupervisor: ShutdownSupervisorHandle | null = null;\n\n public stagehandMetrics: StagehandMetrics = {\n actPromptTokens: 0,\n actCompletionTokens: 0,\n actReasoningTokens: 0,\n actCachedInputTokens: 0,\n actInferenceTimeMs: 0,\n extractPromptTokens: 0,\n extractCompletionTokens: 0,\n extractReasoningTokens: 0,\n extractCachedInputTokens: 0,\n extractInferenceTimeMs: 0,\n observePromptTokens: 0,\n observeCompletionTokens: 0,\n observeReasoningTokens: 0,\n observeCachedInputTokens: 0,\n observeInferenceTimeMs: 0,\n agentPromptTokens: 0,\n agentCompletionTokens: 0,\n agentReasoningTokens: 0,\n agentCachedInputTokens: 0,\n agentInferenceTimeMs: 0,\n totalPromptTokens: 0,\n totalCompletionTokens: 0,\n totalReasoningTokens: 0,\n totalCachedInputTokens: 0,\n totalInferenceTimeMs: 0,\n };\n\n constructor(opts: V3Options) {\n this.externalLogger = opts.logger;\n this.verbose = opts.verbose ?? 1;\n this.instanceId = uuidv7();\n this.keepAlive =\n opts.keepAlive ?? opts.browserbaseSessionCreateParams?.keepAlive;\n\n // Create per-instance StagehandLogger (handles usePino, verbose, externalLogger)\n // This gives each V3 instance independent logger configuration\n // while still sharing the underlying Pino worker thread via StagehandLogger.sharedPinoLogger\n const loggerOptions: LoggerOptions = {\n pretty: true,\n level: \"info\", // Most permissive - filtering happens at instance level\n };\n\n if (opts.disablePino !== undefined) {\n loggerOptions.usePino = !opts.disablePino;\n }\n\n this.stagehandLogger = new StagehandLogger(loggerOptions, opts.logger);\n this.stagehandLogger.setVerbosity(this.verbose);\n\n // Also bind to AsyncLocalStorage for v3Logger() calls from handlers\n // This maintains backward compatibility with code that uses v3Logger() directly\n try {\n if (this.externalLogger) {\n // Use external logger directly when provided\n bindInstanceLogger(this.instanceId, this.externalLogger);\n } else {\n // Fall back to stagehandLogger when no external logger\n bindInstanceLogger(this.instanceId, (line) => {\n this.stagehandLogger.log(line);\n });\n }\n } catch {\n // ignore\n }\n const { modelName, clientOptions } = resolveModelConfiguration(opts.model);\n this.modelName = modelName;\n this.experimental = opts.experimental ?? false;\n this.logInferenceToFile = opts.logInferenceToFile ?? false;\n this.llmProvider = new LLMProvider(this.logger);\n this.domSettleTimeoutMs = opts.domSettleTimeout;\n this.disableAPI = opts.disableAPI ?? false;\n\n const baseClientOptions: ClientOptions = clientOptions\n ? ({ ...clientOptions } as ClientOptions)\n : ({} as ClientOptions);\n if (opts.llmClient) {\n this.llmClient = opts.llmClient;\n this.modelClientOptions = baseClientOptions;\n this.disableAPI = true;\n } else {\n // Ensure API key is set\n let apiKey = (baseClientOptions as { apiKey?: string }).apiKey;\n if (!apiKey) {\n try {\n apiKey = loadApiKeyFromEnv(\n this.modelName.split(\"/\")[0], // \"openai\", \"anthropic\", etc\n this.logger,\n );\n } catch (error) {\n this.logger({\n category: \"init\",\n message: `Error loading API key for model ${this.modelName}: ${error}. Continuing without LLM client.`,\n level: 0,\n });\n throw error;\n }\n }\n this.modelClientOptions = {\n ...baseClientOptions,\n apiKey,\n } as ClientOptions;\n\n // Get the default client for this model\n this.llmClient = this.llmProvider.getClient(\n this.modelName,\n this.modelClientOptions,\n { experimental: this.experimental, disableAPI: this.disableAPI },\n );\n }\n\n this.cacheStorage = CacheStorage.create(opts.cacheDir, this.logger, {\n label: \"cache directory\",\n });\n this.actCache = new ActCache({\n storage: this.cacheStorage,\n logger: this.logger,\n getActHandler: () => this.actHandler,\n getDefaultLlmClient: () => this.resolveLlmClient(),\n domSettleTimeoutMs: this.domSettleTimeoutMs,\n });\n this.agentCache = new AgentCache({\n storage: this.cacheStorage,\n logger: this.logger,\n getActHandler: () => this.actHandler,\n getContext: () => this.ctx,\n getDefaultLlmClient: () => this.resolveLlmClient(),\n getBaseModelName: () => this.modelName,\n getSystemPrompt: () => opts.systemPrompt,\n domSettleTimeoutMs: this.domSettleTimeoutMs,\n act: this.act.bind(this),\n });\n\n this.opts = opts;\n\n // Initialize session file logger\n SessionFileLogger.init(this.instanceId, opts);\n\n // Track instance for global process guard handling\n V3._instances.add(this);\n }\n\n /**\n * Async property for metrics so callers can `await v3.metrics`.\n * When using API mode, fetches metrics from the API. Otherwise returns local metrics.\n */\n public get metrics(): Promise<StagehandMetrics> {\n if (this.apiClient) {\n // Fetch metrics from the API\n return this.apiClient.getReplayMetrics().catch((error) => {\n this.logger({\n category: \"metrics\",\n message: `Failed to fetch metrics from API: ${error}`,\n level: 0,\n });\n // Fall back to local metrics on error\n return this.stagehandMetrics;\n });\n }\n // Return local metrics wrapped in a Promise for consistency\n return Promise.resolve(this.stagehandMetrics);\n }\n\n private resolveLlmClient(model?: ModelConfiguration): LLMClient {\n if (!model) {\n return this.llmClient;\n }\n\n let modelName: AvailableModel | string;\n let clientOptions: ClientOptions | undefined;\n\n if (typeof model === \"string\") {\n modelName = model;\n } else {\n const { modelName: overrideModelName, ...rest } = model;\n modelName = overrideModelName;\n clientOptions = rest as ClientOptions;\n }\n\n if (\n modelName === this.modelName &&\n (!clientOptions || Object.keys(clientOptions).length === 0)\n ) {\n return this.llmClient;\n }\n\n const overrideProvider = String(modelName).split(\"/\")[0];\n const baseProvider = String(this.modelName).split(\"/\")[0];\n\n const mergedOptions = {\n ...(overrideProvider === baseProvider ? this.modelClientOptions : {}),\n ...(clientOptions ?? {}),\n } as ClientOptions;\n\n const providerKey = overrideProvider;\n if (!(mergedOptions as { apiKey?: string }).apiKey) {\n const apiKey = loadApiKeyFromEnv(providerKey, this.logger);\n if (apiKey) {\n (mergedOptions as { apiKey?: string }).apiKey = apiKey;\n }\n }\n\n const cacheKey = JSON.stringify({\n modelName,\n clientOptions: mergedOptions,\n });\n\n const cached = this.overrideLlmClients.get(cacheKey);\n if (cached) {\n return cached;\n }\n\n const client = this.llmProvider.getClient(\n modelName as AvailableModel,\n mergedOptions,\n { experimental: this.experimental, disableAPI: this.disableAPI },\n );\n\n this.overrideLlmClients.set(cacheKey, client);\n return client;\n }\n\n private beginAgentReplayRecording(): void {\n this.agentCache.beginRecording();\n }\n\n private endAgentReplayRecording(): AgentReplayStep[] {\n return this.agentCache.endRecording();\n }\n\n private discardAgentReplayRecording(): void {\n this.agentCache.discardRecording();\n }\n\n private isAgentReplayRecording(): boolean {\n return this.agentCache.isRecording();\n }\n\n public isAgentReplayActive(): boolean {\n return this.agentCache.isReplayActive();\n }\n\n public recordAgentReplayStep(step: AgentReplayStep): void {\n this.agentCache.recordStep(step);\n }\n\n /**\n * Async property for history so callers can `await v3.history`.\n * Returns a frozen copy to avoid external mutation.\n */\n public get history(): Promise<ReadonlyArray<HistoryEntry>> {\n return Promise.resolve(Object.freeze([...this._history]));\n }\n\n public addToHistory(\n method: HistoryEntry[\"method\"],\n parameters: unknown,\n result?: unknown,\n ): void {\n this._history.push({\n method,\n parameters,\n result: result ?? null,\n timestamp: new Date().toISOString(),\n });\n }\n\n public updateMetrics(\n functionName: V3FunctionName,\n promptTokens: number,\n completionTokens: number,\n reasoningTokens: number,\n cachedInputTokens: number,\n inferenceTimeMs: number,\n ): void {\n switch (functionName) {\n case V3FunctionName.ACT:\n this.stagehandMetrics.actPromptTokens += promptTokens;\n this.stagehandMetrics.actCompletionTokens += completionTokens;\n this.stagehandMetrics.actReasoningTokens += reasoningTokens;\n this.stagehandMetrics.actCachedInputTokens += cachedInputTokens;\n this.stagehandMetrics.actInferenceTimeMs += inferenceTimeMs;\n break;\n\n case V3FunctionName.EXTRACT:\n this.stagehandMetrics.extractPromptTokens += promptTokens;\n this.stagehandMetrics.extractCompletionTokens += completionTokens;\n this.stagehandMetrics.extractReasoningTokens += reasoningTokens;\n this.stagehandMetrics.extractCachedInputTokens += cachedInputTokens;\n this.stagehandMetrics.extractInferenceTimeMs += inferenceTimeMs;\n break;\n\n case V3FunctionName.OBSERVE:\n this.stagehandMetrics.observePromptTokens += promptTokens;\n this.stagehandMetrics.observeCompletionTokens += completionTokens;\n this.stagehandMetrics.observeReasoningTokens += reasoningTokens;\n this.stagehandMetrics.observeCachedInputTokens += cachedInputTokens;\n this.stagehandMetrics.observeInferenceTimeMs += inferenceTimeMs;\n break;\n\n case V3FunctionName.AGENT:\n this.stagehandMetrics.agentPromptTokens += promptTokens;\n this.stagehandMetrics.agentCompletionTokens += completionTokens;\n this.stagehandMetrics.agentReasoningTokens += reasoningTokens;\n this.stagehandMetrics.agentCachedInputTokens += cachedInputTokens;\n this.stagehandMetrics.agentInferenceTimeMs += inferenceTimeMs;\n break;\n }\n this.updateTotalMetrics(\n promptTokens,\n completionTokens,\n reasoningTokens,\n cachedInputTokens,\n inferenceTimeMs,\n );\n }\n\n private updateTotalMetrics(\n promptTokens: number,\n completionTokens: number,\n reasoningTokens: number,\n cachedInputTokens: number,\n inferenceTimeMs: number,\n ): void {\n this.stagehandMetrics.totalPromptTokens += promptTokens;\n this.stagehandMetrics.totalCompletionTokens += completionTokens;\n this.stagehandMetrics.totalReasoningTokens += reasoningTokens;\n this.stagehandMetrics.totalCachedInputTokens += cachedInputTokens;\n this.stagehandMetrics.totalInferenceTimeMs += inferenceTimeMs;\n }\n\n private async _immediateShutdown(reason: string): Promise<void> {\n try {\n this.logger({\n category: \"v3\",\n message: `initiating shutdown → ${reason}`,\n level: 0,\n });\n } catch {\n //\n }\n\n try {\n this.logger({\n category: \"v3\",\n message: `closing resources → ${reason}`,\n level: 0,\n });\n await this.close({ force: true });\n } catch {\n // swallow — already shutting down\n }\n }\n\n /** Spawn a crash-only supervisor that cleans up when this process dies. */\n private startShutdownSupervisor(\n config: ShutdownSupervisorConfig,\n ): ShutdownSupervisorHandle | null {\n if (this.shutdownSupervisor) return this.shutdownSupervisor;\n this.shutdownSupervisor = startShutdownSupervisor(config, {\n onError: (error, context) => {\n try {\n this.logger({\n category: \"v3\",\n message:\n \"Shutdown supervisor unavailable; crash cleanup disabled. \" +\n \"If this process exits unexpectedly, local Chrome or Browserbase \" +\n \"sessions may remain running even with keepAlive=false.\",\n level: 0,\n auxiliary: {\n context: { value: context, type: \"string\" },\n error: { value: error.message, type: \"string\" },\n },\n });\n } catch {\n // ignore logging failures\n }\n },\n });\n return this.shutdownSupervisor;\n }\n\n /** Stop the supervisor during a normal shutdown. */\n private stopShutdownSupervisor(): void {\n if (!this.shutdownSupervisor) return;\n try {\n this.shutdownSupervisor.stop();\n } catch {\n // best-effort\n }\n this.shutdownSupervisor = null;\n }\n\n /**\n * Entrypoint: initializes handlers, launches Chrome or Browserbase,\n * and sets up a CDP context.\n */\n async init(): Promise<void> {\n try {\n return await withInstanceLogContext(this.instanceId, async () => {\n this.actHandler = new ActHandler(\n this.llmClient,\n this.modelName,\n this.modelClientOptions,\n (model) => this.resolveLlmClient(model),\n this.opts.systemPrompt ?? \"\",\n this.logInferenceToFile,\n this.opts.selfHeal ?? true,\n (\n functionName,\n promptTokens,\n completionTokens,\n reasoningTokens,\n cachedInputTokens,\n inferenceTimeMs,\n ) =>\n this.updateMetrics(\n functionName,\n promptTokens,\n completionTokens,\n reasoningTokens,\n cachedInputTokens,\n inferenceTimeMs,\n ),\n this.domSettleTimeoutMs,\n );\n this.extractHandler = new ExtractHandler(\n this.llmClient,\n this.modelName,\n this.modelClientOptions,\n (model) => this.resolveLlmClient(model),\n this.opts.systemPrompt ?? \"\",\n this.logInferenceToFile,\n this.experimental,\n (\n functionName,\n promptTokens,\n completionTokens,\n reasoningTokens,\n cachedInputTokens,\n inferenceTimeMs,\n ) =>\n this.updateMetrics(\n functionName,\n promptTokens,\n completionTokens,\n reasoningTokens,\n cachedInputTokens,\n inferenceTimeMs,\n ),\n );\n this.observeHandler = new ObserveHandler(\n this.llmClient,\n this.modelName,\n this.modelClientOptions,\n (model) => this.resolveLlmClient(model),\n this.opts.systemPrompt ?? \"\",\n this.logInferenceToFile,\n this.experimental,\n (\n functionName,\n promptTokens,\n completionTokens,\n reasoningTokens,\n cachedInputTokens,\n inferenceTimeMs,\n ) =>\n this.updateMetrics(\n functionName,\n promptTokens,\n completionTokens,\n reasoningTokens,\n cachedInputTokens,\n inferenceTimeMs,\n ),\n );\n if (this.opts.env === \"LOCAL\") {\n // chrome-launcher conditionally adds --headless when the environment variable\n // HEADLESS is set, without parsing its value.\n // if it is not equal to true, then we delete it from the process\n const envHeadless = process.env.HEADLESS;\n if (envHeadless !== undefined) {\n const normalized = envHeadless.trim().toLowerCase();\n if (normalized !== \"true\") {\n delete process.env.HEADLESS;\n }\n }\n const lbo: LocalBrowserLaunchOptions =\n this.opts.localBrowserLaunchOptions ?? {};\n\n if (lbo.cdpHeaders && !lbo.cdpUrl) {\n this.logger({\n category: \"init\",\n message:\n \"`cdpHeaders` was provided but `cdpUrl` is not set — cdpHeaders will be ignored. Set `cdpUrl` to connect to an existing browser via CDP.\",\n level: 2,\n });\n }\n\n // If a CDP URL is provided, attach instead of launching.\n if (lbo.cdpUrl) {\n this.logger({\n category: \"init\",\n message: \"Connecting to local browser\",\n level: 1,\n });\n this.ctx = await V3Context.create(lbo.cdpUrl, {\n env: \"LOCAL\",\n cdpHeaders: lbo.cdpHeaders,\n });\n const logCtx = SessionFileLogger.getContext();\n this.ctx.conn.cdpLogger = (info) =>\n SessionFileLogger.logCdpCallEvent(info, logCtx);\n this.ctx.conn.cdpEventLogger = (info) =>\n SessionFileLogger.logCdpMessageEvent(info, logCtx);\n this.ctx.conn.onTransportClosed(this._onCdpClosed);\n this.state = {\n kind: \"LOCAL\",\n // no LaunchedChrome when attaching externally; create a stub kill\n chrome: {\n kill: async () => {},\n } as unknown as import(\"chrome-launcher\").LaunchedChrome,\n ws: lbo.cdpUrl,\n };\n this.resetBrowserbaseSessionMetadata();\n // Post-connect settings (downloads and viewport) if provided\n await this._applyPostConnectLocalOptions(lbo);\n return;\n }\n this.logger({\n category: \"init\",\n message: \"Launching local browser\",\n level: 1,\n });\n\n // Determine or create user data dir\n let userDataDir = lbo.userDataDir;\n let createdTemp = false;\n if (!userDataDir) {\n const base = path.join(os.tmpdir(), \"stagehand-v3\");\n fs.mkdirSync(base, { recursive: true });\n userDataDir = fs.mkdtempSync(path.join(base, \"profile-\"));\n createdTemp = true;\n }\n\n // Build chrome flags\n const defaults = [\n \"--remote-allow-origins=*\",\n \"--no-first-run\",\n \"--no-default-browser-check\",\n \"--disable-dev-shm-usage\",\n \"--site-per-process\",\n ];\n let chromeFlags: string[];\n const ignore = lbo.ignoreDefaultArgs;\n if (ignore === true) {\n // drop defaults\n chromeFlags = [];\n } else if (Array.isArray(ignore)) {\n chromeFlags = defaults.filter(\n (f) => !ignore.some((ex) => f.includes(ex)),\n );\n } else {\n chromeFlags = [...defaults];\n }\n\n // headless handled by launchLocalChrome\n if (lbo.devtools) chromeFlags.push(\"--auto-open-devtools-for-tabs\");\n if (lbo.locale) chromeFlags.push(`--lang=${lbo.locale}`);\n if (!lbo.viewport) {\n lbo.viewport = DEFAULT_VIEWPORT;\n }\n if (lbo.viewport?.width && lbo.viewport?.height) {\n chromeFlags.push(\n `--window-size=${lbo.viewport.width},${lbo.viewport.height + 87}`, // Added pixels to the window to account for the address bar\n );\n }\n if (typeof lbo.deviceScaleFactor === \"number\") {\n chromeFlags.push(\n `--force-device-scale-factor=${Math.max(0.1, lbo.deviceScaleFactor)}`,\n );\n }\n if (lbo.hasTouch) chromeFlags.push(\"--touch-events=enabled\");\n if (lbo.ignoreHTTPSErrors)\n chromeFlags.push(\"--ignore-certificate-errors\");\n if (lbo.proxy?.server)\n chromeFlags.push(`--proxy-server=${lbo.proxy.server}`);\n if (lbo.proxy?.bypass)\n chromeFlags.push(`--proxy-bypass-list=${lbo.proxy.bypass}`);\n\n // add user-supplied args last\n if (Array.isArray(lbo.args)) chromeFlags.push(...lbo.args);\n\n const keepAlive = this.keepAlive === true;\n const { ws, chrome } = await launchLocalChrome({\n chromePath: lbo.executablePath,\n chromeFlags,\n port: lbo.port,\n headless: lbo.headless,\n userDataDir,\n connectTimeoutMs: lbo.connectTimeoutMs,\n handleSIGINT: !keepAlive,\n });\n if (keepAlive) {\n try {\n chrome.process?.unref?.();\n } catch {\n // best-effort: avoid keeping the event loop alive\n }\n }\n this.ctx = await V3Context.create(ws, {\n env: \"LOCAL\",\n localBrowserLaunchOptions: lbo,\n });\n const logCtx = SessionFileLogger.getContext();\n this.ctx.conn.cdpLogger = (info) =>\n SessionFileLogger.logCdpCallEvent(info, logCtx);\n this.ctx.conn.cdpEventLogger = (info) =>\n SessionFileLogger.logCdpMessageEvent(info, logCtx);\n this.ctx.conn.onTransportClosed(this._onCdpClosed);\n this.state = {\n kind: \"LOCAL\",\n chrome,\n ws,\n userDataDir,\n createdTempProfile: createdTemp,\n preserveUserDataDir: !!lbo.preserveUserDataDir,\n };\n this.resetBrowserbaseSessionMetadata();\n const chromePid = chrome.process?.pid ?? chrome.pid;\n if (!keepAlive && chromePid) {\n this.startShutdownSupervisor({\n kind: \"LOCAL\",\n pid: chromePid,\n userDataDir,\n createdTempProfile: createdTemp,\n preserveUserDataDir: !!lbo.preserveUserDataDir,\n });\n }\n\n // Post-connect settings (downloads and viewport) if provided\n await this._applyPostConnectLocalOptions(lbo);\n return;\n }\n\n if (this.opts.env === \"BROWSERBASE\") {\n const { apiKey, projectId } = this.requireBrowserbaseCreds();\n this.logger({\n category: \"init\",\n message: \"Starting browserbase session\",\n level: 1,\n });\n const baseSessionParams =\n this.opts.browserbaseSessionCreateParams ?? {};\n const resolvedKeepAlive = this.keepAlive;\n const keepAlive = this.keepAlive === true;\n const effectiveSessionParams =\n resolvedKeepAlive !== undefined\n ? { ...baseSessionParams, keepAlive: resolvedKeepAlive }\n : baseSessionParams;\n if (!this.disableAPI && !this.experimental) {\n this.apiClient = new StagehandAPIClient({\n apiKey,\n projectId,\n logger: this.logger,\n serverCache: this.opts.serverCache,\n });\n const {\n projectId: overrideProjectId,\n browserSettings,\n userMetadata,\n ...restSessionParams\n } = effectiveSessionParams;\n const resolvedProjectId = overrideProjectId ?? projectId;\n const createSessionPayload = {\n ...(resolvedProjectId ? { projectId: resolvedProjectId } : {}),\n ...restSessionParams,\n browserSettings: {\n ...(browserSettings ?? {}),\n viewport: browserSettings?.viewport ?? {\n width: 1288,\n height: 711,\n },\n },\n userMetadata: {\n ...(userMetadata ?? {}),\n stagehand: \"true\",\n },\n };\n const { sessionId, available } = await this.apiClient.init({\n modelName: this.modelName,\n modelApiKey: this.modelClientOptions.apiKey,\n domSettleTimeoutMs: this.domSettleTimeoutMs,\n verbose: this.verbose,\n systemPrompt: this.opts.systemPrompt,\n selfHeal: this.opts.selfHeal,\n browserbaseSessionCreateParams: createSessionPayload,\n browserbaseSessionID: this.opts.browserbaseSessionID,\n });\n if (!available) {\n this.apiClient = null;\n }\n this.opts.browserbaseSessionID = sessionId;\n }\n const { ws, sessionId, bb } = await createBrowserbaseSession(\n apiKey,\n projectId,\n effectiveSessionParams,\n this.opts.browserbaseSessionID,\n );\n this.ctx = await V3Context.create(ws, {\n env: \"BROWSERBASE\",\n apiClient: this.apiClient,\n });\n const logCtx = SessionFileLogger.getContext();\n this.ctx.conn.cdpLogger = (info) =>\n SessionFileLogger.logCdpCallEvent(info, logCtx);\n this.ctx.conn.cdpEventLogger = (info) =>\n SessionFileLogger.logCdpMessageEvent(info, logCtx);\n this.ctx.conn.onTransportClosed(this._onCdpClosed);\n this.state = { kind: \"BROWSERBASE\", sessionId, ws, bb };\n this.browserbaseSessionId = sessionId;\n if (!keepAlive && !this.disableAPI) {\n this.startShutdownSupervisor({\n kind: \"STAGEHAND_API\",\n sessionId,\n apiKey,\n projectId,\n });\n }\n\n await this._ensureBrowserbaseDownloadsEnabled();\n\n const resumed = !!this.opts.browserbaseSessionID;\n let debugUrl: string | undefined;\n try {\n const dbg = (await bb.sessions.debug(sessionId)) as unknown as {\n debuggerUrl?: string;\n };\n debugUrl = dbg?.debuggerUrl;\n } catch {\n // Ignore debug fetch failures; continue with sessionUrl only\n }\n const sessionUrl = `https://www.browserbase.com/sessions/${sessionId}`;\n this.browserbaseSessionUrl = sessionUrl;\n this.browserbaseDebugUrl = debugUrl;\n\n try {\n this.logger({\n category: \"init\",\n message: resumed\n ? this.apiClient\n ? \"Browserbase session started\"\n : \"Browserbase session resumed\"\n : \"Browserbase session started\",\n level: 1,\n auxiliary: {\n sessionUrl: { value: sessionUrl, type: \"string\" },\n ...(debugUrl && {\n debugUrl: { value: debugUrl, type: \"string\" },\n }),\n sessionId: { value: sessionId, type: \"string\" },\n },\n });\n } catch {\n // best-effort logging — ignore failures\n }\n return;\n }\n\n const neverEnv: never = this.opts.env;\n throw new StagehandInitError(`Unsupported env: ${neverEnv}`);\n });\n } catch (error) {\n // Cleanup instanceLoggers map on init failure to prevent memory leak\n if (this.externalLogger) {\n try {\n unbindInstanceLogger(this.instanceId);\n } catch {\n // ignore cleanup errors\n }\n }\n throw error;\n }\n }\n\n /** Apply post-connect local browser options that require CDP. */\n private async _applyPostConnectLocalOptions(\n lbo: LocalBrowserLaunchOptions,\n ): Promise<void> {\n try {\n // Downloads behavior\n if (lbo.downloadsPath || lbo.acceptDownloads !== undefined) {\n const behavior = lbo.acceptDownloads === false ? \"deny\" : \"allow\";\n await this.ctx?.conn\n .send(\"Browser.setDownloadBehavior\", {\n behavior,\n downloadPath: lbo.downloadsPath,\n eventsEnabled: true,\n })\n .catch(() => {});\n }\n } catch {\n // best-effort only\n }\n }\n\n private async _ensureBrowserbaseDownloadsEnabled(): Promise<void> {\n const conn = this.ctx?.conn;\n if (!conn) return;\n try {\n await conn.send(\"Browser.setDownloadBehavior\", {\n behavior: \"allow\",\n downloadPath: \"downloads\",\n eventsEnabled: true,\n });\n } catch {\n // best-effort only\n }\n }\n\n private resetBrowserbaseSessionMetadata(): void {\n this.browserbaseSessionId = undefined;\n this.browserbaseSessionUrl = undefined;\n this.browserbaseDebugUrl = undefined;\n }\n\n /**\n * Run an \"act\" instruction through the ActHandler.\n *\n * New API:\n * - act(instruction: string, options?: ActOptions)\n * - act(action: Action, options?: ActOptions)\n */\n async act(instruction: string, options?: ActOptions): Promise<ActResult>;\n async act(action: Action, options?: ActOptions): Promise<ActResult>;\n\n @logStagehandStep(\"Stagehand.act\", \"ACT\")\n async act(input: string | Action, options?: ActOptions): Promise<ActResult> {\n return await withInstanceLogContext(this.instanceId, async () => {\n if (!this.actHandler) throw new StagehandNotInitializedError(\"act()\");\n\n let actResult: ActResult;\n\n if (isObserveResult(input)) {\n // Resolve page: use provided page if any, otherwise default active page\n const v3Page = await this.resolvePage(options?.page);\n\n // Use selector as provided to support XPath, CSS, and other engines\n const selector = input.selector;\n if (this.apiClient) {\n actResult = await this.apiClient.act({\n input,\n options,\n frameId: v3Page.mainFrameId(),\n });\n } else {\n const ensureTimeRemaining = createTimeoutGuard(\n options?.timeout,\n (ms) => new ActTimeoutError(ms),\n );\n actResult = await this.actHandler.takeDeterministicAction(\n { ...input, selector },\n v3Page,\n this.domSettleTimeoutMs,\n this.resolveLlmClient(options?.model),\n ensureTimeRemaining,\n options?.variables,\n );\n }\n\n // history: record ObserveResult-based act call\n this.addToHistory(\n \"act\",\n {\n observeResult: input,\n },\n actResult,\n );\n return actResult;\n }\n // instruction path\n if (typeof input !== \"string\" || !input.trim()) {\n throw new StagehandInvalidArgumentError(\n \"act(): instruction string is required unless passing an Action\",\n );\n }\n\n // Resolve page from options or default\n const page = await this.resolvePage(options?.page);\n const actCacheLlmClient = options?.model\n ? this.resolveLlmClient(options.model)\n : undefined;\n\n let actCacheContext: Awaited<\n ReturnType<typeof this.actCache.prepareContext>\n > | null = null;\n const canUseCache =\n typeof input === \"string\" &&\n !this.isAgentReplayRecording() &&\n this.actCache.enabled;\n if (canUseCache) {\n actCacheContext = await this.actCache.prepareContext(\n input,\n page,\n flattenVariables(options?.variables),\n );\n if (actCacheContext) {\n const cachedResult = await this.actCache.tryReplay(\n actCacheContext,\n page,\n options?.timeout,\n actCacheLlmClient,\n );\n if (cachedResult) {\n this.addToHistory(\n \"act\",\n {\n instruction: input,\n variables: options?.variables,\n timeout: options?.timeout,\n cacheHit: true,\n },\n cachedResult,\n );\n return cachedResult;\n }\n }\n }\n\n const handlerParams: ActHandlerParams = {\n instruction: input,\n page,\n variables: options?.variables,\n timeout: options?.timeout,\n model: options?.model,\n };\n if (this.apiClient) {\n const frameId = page.mainFrameId();\n actResult = await this.apiClient.act({ input, options, frameId });\n } else {\n actResult = await this.actHandler.act(handlerParams);\n }\n // history: record instruction-based act call (omit page object)\n this.addToHistory(\n \"act\",\n {\n instruction: input,\n variables: options?.variables,\n timeout: options?.timeout,\n },\n actResult,\n );\n\n if (\n actCacheContext &&\n actResult.success &&\n Array.isArray(actResult.actions) &&\n actResult.actions.length > 0\n ) {\n await this.actCache.store(actCacheContext, actResult);\n }\n return actResult;\n });\n }\n\n /**\n * Run an \"extract\" instruction through the ExtractHandler.\n *\n * Accepted forms:\n * - extract() → pageText\n * - extract(options) → pageText\n * - extract(instruction) → defaultExtractSchema\n * - extract(instruction, schema) → schema-inferred\n * - extract(instruction, schema, options)\n */\n\n async extract(): Promise<z.infer<typeof pageTextSchema>>;\n async extract(\n options: ExtractOptions,\n ): Promise<z.infer<typeof pageTextSchema>>;\n async extract(\n instruction: string,\n options?: ExtractOptions,\n ): Promise<z.infer<typeof defaultExtractSchema>>;\n async extract<T extends StagehandZodSchema>(\n instruction: string,\n schema: T,\n options?: ExtractOptions,\n ): Promise<InferStagehandSchema<T>>;\n\n @logStagehandStep(\"Stagehand.extract\", \"EXTRACT\")\n async extract(\n a?: string | ExtractOptions,\n b?: StagehandZodSchema | ExtractOptions,\n c?: ExtractOptions,\n ): Promise<unknown> {\n return await withInstanceLogContext(this.instanceId, async () => {\n if (!this.extractHandler) {\n throw new StagehandNotInitializedError(\"extract()\");\n }\n\n // Normalize args\n let instruction: string | undefined;\n let schema: StagehandZodSchema | undefined;\n let options: ExtractOptions | undefined;\n\n if (typeof a === \"string\") {\n instruction = a;\n const isZodSchema = (val: unknown): val is StagehandZodSchema =>\n !!val &&\n typeof val === \"object\" &&\n \"parse\" in val &&\n \"safeParse\" in val;\n if (isZodSchema(b)) {\n schema = b as StagehandZodSchema;\n options = c as ExtractOptions | undefined;\n } else {\n options = b as ExtractOptions | undefined;\n }\n } else {\n // a is options or undefined\n options = (a as ExtractOptions) || undefined;\n }\n\n if (!instruction && schema) {\n throw new StagehandInvalidArgumentError(\n \"extract(): schema provided without instruction\",\n );\n }\n\n // If instruction without schema → defaultExtractSchema\n const effectiveSchema =\n instruction && !schema ? defaultExtractSchema : schema;\n\n // Resolve page from options or use active page\n const page = await this.resolvePage(options?.page);\n\n const handlerParams: ExtractHandlerParams<StagehandZodSchema> = {\n instruction,\n schema: effectiveSchema as StagehandZodSchema | undefined,\n model: options?.model,\n timeout: options?.timeout,\n selector: options?.selector,\n page,\n };\n let result: z.infer<typeof effectiveSchema> | { pageText: string };\n if (this.apiClient) {\n const frameId = page.mainFrameId();\n result = await this.apiClient.extract({\n instruction: handlerParams.instruction,\n schema: handlerParams.schema,\n options,\n frameId,\n });\n } else {\n result =\n await this.extractHandler.extract<StagehandZodSchema>(handlerParams);\n }\n const historySchemaDescriptor = effectiveSchema\n ? toJsonSchema(effectiveSchema)\n : undefined;\n this.addToHistory(\n \"extract\",\n {\n instruction,\n selector: options?.selector,\n timeout: options?.timeout,\n schema: historySchemaDescriptor,\n },\n result,\n );\n return result;\n });\n }\n\n /**\n * Run an \"observe\" instruction through the ObserveHandler.\n */\n async observe(): Promise<Action[]>;\n async observe(options: ObserveOptions): Promise<Action[]>;\n async observe(\n instruction: string,\n options?: ObserveOptions,\n ): Promise<Action[]>;\n @logStagehandStep(\"Stagehand.observe\", \"OBSERVE\")\n async observe(\n a?: string | ObserveOptions,\n b?: ObserveOptions,\n ): Promise<Action[]> {\n return await withInstanceLogContext(this.instanceId, async () => {\n if (!this.observeHandler) {\n throw new StagehandNotInitializedError(\"observe()\");\n }\n\n // Normalize args\n let instruction: string | undefined;\n let options: ObserveOptions | undefined;\n if (typeof a === \"string\") {\n instruction = a;\n options = b;\n } else {\n options = a as ObserveOptions | undefined;\n }\n\n // Resolve to our internal Page type\n const page = await this.resolvePage(options?.page);\n\n const handlerParams: ObserveHandlerParams = {\n instruction,\n model: options?.model,\n timeout: options?.timeout,\n selector: options?.selector,\n page: page!,\n };\n\n let results: Action[];\n if (this.apiClient) {\n const frameId = page.mainFrameId();\n results = await this.apiClient.observe({\n instruction,\n options,\n frameId,\n });\n } else {\n results = await this.observeHandler.observe(handlerParams);\n }\n\n // history: record observe call (omit page object)\n this.addToHistory(\n \"observe\",\n {\n instruction,\n timeout: options?.timeout,\n },\n results,\n );\n return results;\n });\n }\n\n /** Return the browser-level CDP WebSocket endpoint. */\n connectURL(): string {\n if (this.state.kind === \"UNINITIALIZED\") {\n throw new StagehandNotInitializedError(\"connectURL()\");\n }\n return this.state.ws;\n }\n\n /** Expose the current CDP-backed context. */\n public get context(): V3Context {\n return this.ctx;\n }\n\n /** Best-effort cleanup of context and launched resources. */\n async close(opts?: { force?: boolean }): Promise<void> {\n // If we're already closing and this isn't a forced close, no-op.\n if (this._isClosing && !opts?.force) return;\n this._isClosing = true;\n\n const keepAlive = this.keepAlive === true;\n\n // Unhook CDP transport close handler BEFORE ending the API session.\n // apiClient.end() can cause the hosted API to terminate the Browserbase\n // session, which closes the CDP WebSocket. If the handler is still\n // registered, _onCdpClosed fires and re-enters close() with force=true,\n // causing a double-close cascade.\n try {\n if (this.ctx?.conn && this._onCdpClosed) {\n this.ctx.conn.offTransportClosed?.(this._onCdpClosed);\n }\n } catch {\n // ignore\n }\n\n // End Browserbase session via API when keepAlive is not enabled\n if (!keepAlive && this.apiClient) {\n try {\n await this.apiClient.end();\n } catch {\n // best-effort cleanup\n }\n }\n\n try {\n // Close session file logger\n try {\n await SessionFileLogger.close();\n } catch {\n // ignore\n }\n\n // Close CDP context\n try {\n await this.ctx?.close();\n } catch {\n // ignore\n }\n\n // Kill local Chrome and clean up temp profile when keepAlive is not enabled\n if (!keepAlive && this.state.kind === \"LOCAL\") {\n const localState = this.state;\n await cleanupLocalBrowser({\n killChrome: () => localState.chrome.kill(),\n userDataDir: localState.userDataDir,\n createdTempProfile: localState.createdTempProfile,\n preserveUserDataDir: localState.preserveUserDataDir,\n });\n }\n } finally {\n this.stopShutdownSupervisor();\n\n // Reset internal state\n this.state = { kind: \"UNINITIALIZED\" };\n this.ctx = null;\n this._isClosing = false;\n this.resetBrowserbaseSessionMetadata();\n try {\n unbindInstanceLogger(this.instanceId);\n } catch {\n // ignore\n }\n try {\n this.bus.removeAllListeners();\n } catch {\n // ignore\n }\n this._history = [];\n this.actHandler = null;\n this.extractHandler = null;\n this.observeHandler = null;\n V3._instances.delete(this);\n }\n }\n\n /** Guard: ensure Browserbase credentials exist in options. */\n private requireBrowserbaseCreds(): {\n apiKey: string;\n projectId?: string;\n } {\n let { apiKey, projectId } = this.opts;\n\n // Fall back to environment variables if not explicitly provided\n if (!apiKey)\n apiKey = process.env.BROWSERBASE_API_KEY ?? process.env.BB_API_KEY;\n if (!projectId)\n projectId =\n process.env.BROWSERBASE_PROJECT_ID ?? process.env.BB_PROJECT_ID;\n\n if (!apiKey) {\n throw new MissingEnvironmentVariableError(\n \"BROWSERBASE_API_KEY\",\n \"Browserbase\",\n );\n }\n\n // Cache resolved values back into opts for consistency\n this.opts.apiKey = apiKey;\n if (projectId) this.opts.projectId = projectId;\n\n // Informational log\n this.logger({\n category: \"init\",\n message: \"Using Browserbase credentials\",\n level: 1,\n });\n\n return { apiKey, projectId };\n }\n\n public get logger(): (logLine: LogLine) => void {\n // Delegate to per-instance StagehandLogger\n // StagehandLogger handles: verbosity filtering, usePino selection, external logger routing\n // This provides per-instance configuration while maintaining shared Pino optimization\n return (logLine: LogLine) => {\n const line = { ...logLine, level: logLine.level ?? 1 };\n this.stagehandLogger.log(line);\n };\n }\n\n /**\n * Normalize a Playwright/Puppeteer page object into its top frame id,\n * so handlers can resolve it to a `Page` within our V3Context.\n */\n private async resolveTopFrameId(\n page: PlaywrightPage | PuppeteerPage | PatchrightPage,\n ): Promise<string> {\n if (this.isPlaywrightPage(page)) {\n const cdp = await page.context().newCDPSession(page);\n const { frameTree } = await cdp.send(\"Page.getFrameTree\");\n return frameTree.frame.id;\n }\n\n if (this.isPatchrightPage(page)) {\n const cdp = await page.context().newCDPSession(page);\n const { frameTree } = await cdp.send(\"Page.getFrameTree\");\n return frameTree.frame.id;\n }\n\n if (this.isPuppeteerPage(page)) {\n const cdp = await page.createCDPSession();\n const { frameTree } = await cdp.send(\"Page.getFrameTree\");\n this.logger({\n category: \"v3\",\n message: \"Puppeteer frame id\",\n level: 2,\n auxiliary: { frameId: { value: frameTree.frame.id, type: \"string\" } },\n });\n return frameTree.frame.id;\n }\n\n throw new StagehandInvalidArgumentError(\n \"Unsupported page object passed to V3.act()\",\n );\n }\n\n private isPlaywrightPage(p: unknown): p is PlaywrightPage {\n return (\n typeof p === \"object\" &&\n p !== null &&\n typeof (p as PlaywrightPage).context === \"function\"\n );\n }\n\n private isPatchrightPage(p: unknown): p is PatchrightPage {\n return (\n typeof p === \"object\" &&\n p !== null &&\n typeof (p as PatchrightPage).context === \"function\"\n );\n }\n\n private isPuppeteerPage(p: unknown): p is PuppeteerPage {\n return (\n typeof p === \"object\" &&\n p !== null &&\n typeof (p as PuppeteerPage).target === \"function\"\n );\n }\n\n /** Resolve an external page reference or fall back to the active V3 page. */\n private async resolvePage(page?: AnyPage): Promise<Page> {\n if (page) {\n return await this.normalizeToV3Page(page);\n }\n const ctx = this.ctx;\n if (!ctx) {\n throw new StagehandNotInitializedError(\"resolvePage()\");\n }\n return await ctx.awaitActivePage();\n }\n\n private async normalizeToV3Page(input: AnyPage): Promise<Page> {\n if (input instanceof (await import(\"./understudy/page.js\")).Page) {\n return input as Page;\n }\n if (this.isPlaywrightPage(input)) {\n const frameId = await this.resolveTopFrameId(input);\n const page = this.ctx!.resolvePageByMainFrameId(frameId);\n if (!page)\n throw new StagehandInitError(\n \"Failed to resolve V3 Page from Playwright page.\",\n );\n return page;\n }\n if (this.isPatchrightPage(input)) {\n const frameId = await this.resolveTopFrameId(input);\n const page = this.ctx!.resolvePageByMainFrameId(frameId);\n if (!page)\n throw new StagehandInitError(\n \"Failed to resolve V3 Page from Patchright page.\",\n );\n return page;\n }\n if (this.isPuppeteerPage(input)) {\n const frameId = await this.resolveTopFrameId(input);\n const page = this.ctx!.resolvePageByMainFrameId(frameId);\n if (!page)\n throw new StagehandInitError(\n \"Failed to resolve V3 Page from Puppeteer page.\",\n );\n return page;\n }\n throw new StagehandInvalidArgumentError(\"Unsupported page object.\");\n }\n\n private async _logBrowserbaseSessionStatus(): Promise<void> {\n if (this.state.kind !== \"BROWSERBASE\") {\n return;\n }\n\n try {\n const snapshot = (await this.state.bb.sessions.retrieve(\n this.state.sessionId,\n )) as { id?: string; status?: string };\n if (!snapshot?.status) return;\n\n const sessionId = snapshot.id ?? this.state.sessionId;\n const message =\n snapshot.status === \"TIMED_OUT\"\n ? `Browserbase session timed out (sessionId: ${sessionId})`\n : `Browserbase session status: ${snapshot.status}`;\n\n this.logger({\n category: \"v3\",\n message,\n level: 0,\n });\n } catch {\n // Ignore failures; nothing to log\n }\n }\n\n /**\n * Prepares shared context for agent execution (both execute and stream).\n * Extracts duplicated setup logic into a single helper.\n */\n private async prepareAgentExecution(\n options: AgentConfig | undefined,\n instructionOrOptions:\n | string\n | AgentExecuteOptions\n | AgentStreamExecuteOptions,\n agentConfigSignature: string,\n ): Promise<{\n handler: V3AgentHandler;\n resolvedOptions: AgentExecuteOptions | AgentStreamExecuteOptions;\n instruction: string;\n cacheContext: AgentCacheContext | null;\n llmClient: LLMClient;\n }> {\n // Note: experimental validation is done at the call site before this method\n // Warn if mode is not explicitly set (defaults to \"dom\")\n if (options?.mode === undefined) {\n this.logger({\n category: \"agent\",\n message:\n \"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\",\n level: 0,\n });\n }\n\n const tools = options?.integrations\n ? await resolveTools(options.integrations, options.tools)\n : (options?.tools ?? {});\n\n const agentLlmClient = options?.model\n ? this.resolveLlmClient(options.model)\n : this.llmClient;\n\n const resolvedExecutionModel = options?.executionModel ?? options?.model;\n\n const handler = new V3AgentHandler(\n this,\n this.logger,\n agentLlmClient,\n resolvedExecutionModel,\n options?.systemPrompt,\n tools,\n options?.mode,\n );\n\n const resolvedOptions: AgentExecuteOptions | AgentStreamExecuteOptions =\n typeof instructionOrOptions === \"string\"\n ? {\n instruction: instructionOrOptions,\n toolTimeout: DEFAULT_AGENT_TOOL_TIMEOUT_MS,\n }\n : {\n ...instructionOrOptions,\n toolTimeout:\n instructionOrOptions.toolTimeout ?? DEFAULT_AGENT_TOOL_TIMEOUT_MS,\n };\n\n const callbacksWithSafety = resolvedOptions.callbacks as\n | AgentExecuteCallbacks\n | undefined;\n if (callbacksWithSafety?.onSafetyConfirmation) {\n throw new StagehandInvalidArgumentError(\n 'onSafetyConfirmation callback is only supported when using mode: \"cua\" agents.',\n );\n }\n\n if (resolvedOptions.page) {\n const normalizedPage = await this.normalizeToV3Page(resolvedOptions.page);\n this.ctx!.setActivePage(normalizedPage);\n }\n\n const instruction = resolvedOptions.instruction.trim();\n const sanitizedOptions =\n this.agentCache.sanitizeExecuteOptions(resolvedOptions);\n\n const cacheVariables = flattenVariables(resolvedOptions.variables);\n\n const cacheContext = this.agentCache.shouldAttemptCache(instruction)\n ? await this.agentCache.prepareContext({\n instruction,\n options: sanitizedOptions,\n configSignature: agentConfigSignature,\n page: await this.ctx!.awaitActivePage(),\n variables: cacheVariables,\n })\n : null;\n\n return {\n handler,\n resolvedOptions,\n instruction,\n cacheContext,\n llmClient: agentLlmClient,\n };\n }\n\n /**\n * Create a v3 agent instance (AISDK tool-based) with execute().\n * Mirrors the v2 Stagehand.agent() tool mode (no CUA provider here).\n *\n * @overload When stream: true, returns a streaming agent where execute() returns AgentStreamResult\n * @overload When stream is false/undefined, returns a non-streaming agent where execute() returns AgentResult\n */\n agent(options: AgentConfig & { stream: true }): {\n execute: (\n instructionOrOptions: string | AgentStreamExecuteOptions,\n ) => Promise<AgentStreamResult>;\n };\n agent(options?: AgentConfig & { stream?: false }): {\n execute: (\n instructionOrOptions: string | AgentExecuteOptions,\n ) => Promise<AgentResult>;\n };\n agent(options?: AgentConfig): {\n execute: (\n instructionOrOptions:\n | string\n | AgentExecuteOptions\n | AgentStreamExecuteOptions,\n ) => Promise<AgentResult | AgentStreamResult>;\n } {\n // Determine if CUA mode is enabled (via mode: \"cua\" or deprecated cua: true)\n const isCuaMode =\n options?.mode !== undefined\n ? options.mode === \"cua\"\n : options?.cua === true;\n\n // Emit deprecation warning for cua: true\n if (options?.cua === true) {\n this.logger({\n category: \"agent\",\n message:\n '[DEPRECATED] The \"cua: true\" option is deprecated. Use \"mode: \\'cua\\'\" instead. This option will be removed in a future version.',\n level: 0,\n });\n console.warn(\n '[Stagehand] DEPRECATED: The \"cua: true\" option is deprecated. Use \"mode: \\'cua\\'\" instead.',\n );\n }\n\n this.logger({\n category: \"agent\",\n message: \"Creating v3 agent instance\",\n level: 1,\n auxiliary: {\n cua: { value: isCuaMode ? \"true\" : \"false\", type: \"boolean\" },\n mode: { value: options?.mode ?? \"dom\", type: \"string\" },\n model: {\n value: extractModelName(options?.model) ?? this.llmClient.modelName,\n type: \"string\",\n },\n systemPrompt: { value: options?.systemPrompt ?? \"\", type: \"string\" },\n tools: { value: JSON.stringify(options?.tools ?? {}), type: \"object\" },\n ...(options?.integrations && {\n integrations: {\n value: JSON.stringify(options.integrations),\n type: \"object\",\n },\n }),\n },\n });\n\n // If CUA mode is enabled (via mode: \"cua\" or deprecated cua: true), use the computer-use agent path\n if (isCuaMode) {\n // Validate agent config at creation time (includes CUA+streaming conflict check)\n validateExperimentalFeatures({\n isExperimental: this.experimental,\n agentConfig: options,\n });\n\n const modelToUse = options?.model || {\n modelName: this.modelName,\n ...this.modelClientOptions,\n };\n\n const { modelName, isCua, clientOptions } = resolveModel(modelToUse);\n\n if (!isCua) {\n throw new CuaModelRequiredError(AVAILABLE_CUA_MODELS);\n }\n\n const agentConfigSignature =\n this.agentCache.buildConfigSignature(options);\n return {\n execute: async (instructionOrOptions: string | AgentExecuteOptions) =>\n withInstanceLogContext(this.instanceId, async () => {\n validateExperimentalFeatures({\n isExperimental: this.experimental,\n agentConfig: options,\n executeOptions:\n typeof instructionOrOptions === \"object\"\n ? instructionOrOptions\n : null,\n });\n\n SessionFileLogger.logAgentTaskStarted({\n invocation: \"Agent.execute\",\n args: [instructionOrOptions],\n });\n const tools = options?.integrations\n ? await resolveTools(options.integrations, options.tools)\n : (options?.tools ?? {});\n\n const handler = new V3CuaAgentHandler(\n this,\n this.logger,\n {\n modelName,\n clientOptions,\n userProvidedInstructions:\n options.systemPrompt ??\n `You are a helpful assistant that can use a web browser.\\nDo not ask follow up questions, the user will trust your judgement.`,\n },\n tools,\n );\n\n const resolvedOptions: AgentExecuteOptions =\n typeof instructionOrOptions === \"string\"\n ? {\n instruction: instructionOrOptions,\n toolTimeout: DEFAULT_AGENT_TOOL_TIMEOUT_MS,\n }\n : {\n ...instructionOrOptions,\n toolTimeout:\n instructionOrOptions.toolTimeout ??\n DEFAULT_AGENT_TOOL_TIMEOUT_MS,\n };\n if (resolvedOptions.page) {\n const normalizedPage = await this.normalizeToV3Page(\n resolvedOptions.page,\n );\n this.ctx!.setActivePage(normalizedPage);\n }\n const instruction = resolvedOptions.instruction.trim();\n const sanitizedOptions =\n this.agentCache.sanitizeExecuteOptions(resolvedOptions);\n\n const cacheVariables = flattenVariables(resolvedOptions.variables);\n\n let cacheContext: AgentCacheContext | null = null;\n if (this.agentCache.shouldAttemptCache(instruction)) {\n const startPage = await this.ctx!.awaitActivePage();\n cacheContext = await this.agentCache.prepareContext({\n instruction,\n options: sanitizedOptions,\n configSignature: agentConfigSignature,\n page: startPage,\n variables: cacheVariables,\n });\n if (cacheContext) {\n const replayed = await this.agentCache.tryReplay(cacheContext);\n if (replayed) {\n SessionFileLogger.logAgentTaskCompleted({ cacheHit: true });\n return replayed;\n }\n }\n }\n\n let agentSteps: AgentReplayStep[] = [];\n const shouldRecordLocally =\n !!cacheContext && (!this.apiClient || this.experimental);\n if (shouldRecordLocally) {\n this.beginAgentReplayRecording();\n }\n\n let result: AgentResult;\n try {\n if (this.apiClient && !this.experimental) {\n const page = await this.ctx!.awaitActivePage();\n result = await this.apiClient.agentExecute(\n options,\n resolvedOptions,\n page.mainFrameId(),\n !!cacheContext,\n );\n if (cacheContext) {\n const transferredEntry =\n this.apiClient.consumeLatestAgentCacheEntry();\n await this.agentCache.storeTransferredEntry(transferredEntry);\n }\n } else {\n result = await handler.execute(instructionOrOptions);\n }\n if (shouldRecordLocally) {\n agentSteps = this.endAgentReplayRecording();\n }\n\n if (\n shouldRecordLocally &&\n cacheContext &&\n result.success &&\n agentSteps.length > 0\n ) {\n await this.agentCache.store(cacheContext, agentSteps, result);\n }\n\n return result;\n } catch (err) {\n if (shouldRecordLocally) this.discardAgentReplayRecording();\n throw err;\n } finally {\n if (shouldRecordLocally) {\n this.discardAgentReplayRecording();\n }\n SessionFileLogger.logAgentTaskCompleted();\n }\n }),\n };\n }\n\n // Default: AISDK tools-based agent\n const agentConfigSignature = this.agentCache.buildConfigSignature(options);\n const isStreaming = options?.stream ?? false;\n\n return {\n execute: async (\n instructionOrOptions:\n | string\n | AgentExecuteOptions\n | AgentStreamExecuteOptions,\n ): Promise<AgentResult | AgentStreamResult> =>\n withInstanceLogContext(this.instanceId, async () => {\n validateExperimentalFeatures({\n isExperimental: this.experimental,\n agentConfig: options,\n executeOptions:\n typeof instructionOrOptions === \"object\"\n ? instructionOrOptions\n : null,\n isStreaming,\n });\n SessionFileLogger.logAgentTaskStarted({\n invocation: \"Agent.execute\",\n args: [instructionOrOptions],\n });\n\n // Streaming mode\n if (isStreaming) {\n const { handler, resolvedOptions, cacheContext, llmClient } =\n await this.prepareAgentExecution(\n options,\n instructionOrOptions,\n agentConfigSignature,\n );\n\n if (cacheContext) {\n const replayed = await this.agentCache.tryReplayAsStream(\n cacheContext,\n llmClient,\n );\n if (replayed) {\n SessionFileLogger.logAgentTaskCompleted({ cacheHit: true });\n return replayed;\n }\n }\n\n const streamResult = await handler.stream(\n resolvedOptions as AgentStreamExecuteOptions,\n );\n\n if (cacheContext) {\n const wrappedStream = this.agentCache.wrapStreamForCaching(\n cacheContext,\n streamResult,\n () => this.beginAgentReplayRecording(),\n () => this.endAgentReplayRecording(),\n () => this.discardAgentReplayRecording(),\n );\n // Log completion when stream is returned (stream completes asynchronously)\n SessionFileLogger.logAgentTaskCompleted();\n return wrappedStream;\n }\n\n // Log completion when stream is returned (stream completes asynchronously)\n SessionFileLogger.logAgentTaskCompleted();\n return streamResult;\n }\n\n // Non-streaming mode (default)\n const { handler, resolvedOptions, cacheContext, llmClient } =\n await this.prepareAgentExecution(\n options,\n instructionOrOptions,\n agentConfigSignature,\n );\n\n if (cacheContext) {\n const replayed = await this.agentCache.tryReplay(\n cacheContext,\n llmClient,\n );\n if (replayed) {\n SessionFileLogger.logAgentTaskCompleted({ cacheHit: true });\n return replayed;\n }\n }\n\n let agentSteps: AgentReplayStep[] = [];\n const shouldRecordLocally =\n !!cacheContext && (!this.apiClient || this.experimental);\n if (shouldRecordLocally) {\n this.beginAgentReplayRecording();\n }\n let result: AgentResult;\n\n try {\n if (this.apiClient && !this.experimental) {\n const page = await this.ctx!.awaitActivePage();\n result = await this.apiClient.agentExecute(\n options ?? {},\n resolvedOptions as AgentExecuteOptions,\n page.mainFrameId(),\n !!cacheContext,\n );\n if (cacheContext) {\n const transferredEntry =\n this.apiClient.consumeLatestAgentCacheEntry();\n await this.agentCache.storeTransferredEntry(transferredEntry);\n }\n } else {\n result = await handler.execute(\n resolvedOptions as AgentExecuteOptions,\n );\n }\n if (shouldRecordLocally) {\n agentSteps = this.endAgentReplayRecording();\n }\n\n if (\n shouldRecordLocally &&\n cacheContext &&\n result.success &&\n agentSteps.length > 0\n ) {\n await this.agentCache.store(cacheContext, agentSteps, result);\n }\n\n return result;\n } catch (err) {\n if (shouldRecordLocally) this.discardAgentReplayRecording();\n throw err;\n } finally {\n if (shouldRecordLocally) {\n this.discardAgentReplayRecording();\n }\n SessionFileLogger.logAgentTaskCompleted();\n }\n }),\n };\n }\n}\n\nfunction isObserveResult(v: unknown): v is Action {\n return (\n !!v && typeof v === \"object\" && \"selector\" in (v as Record<string, unknown>)\n );\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import { z } from "zod";
2
+ import type { ZodObject as Zod4Object, ZodRawShape as Zod4RawShape, ZodTypeAny as Zod4TypeAny } from "zod";
3
+ import type * as z3 from "zod/v3";
4
+ export type StagehandZodSchema = Zod4TypeAny | z3.ZodTypeAny;
5
+ export type StagehandZodObject = Zod4Object<Zod4RawShape> | z3.ZodObject<z3.ZodRawShape>;
6
+ export type InferStagehandSchema<T extends StagehandZodSchema> = T extends z3.ZodTypeAny ? z3.infer<T> : T extends Zod4TypeAny ? z.infer<T> : never;
7
+ export declare const isZod4Schema: (schema: StagehandZodSchema) => schema is Zod4TypeAny & {
8
+ _zod: unknown;
9
+ };
10
+ export declare const isZod3Schema: (schema: StagehandZodSchema) => schema is z3.ZodTypeAny;
11
+ export type JsonSchemaDocument = Record<string, unknown>;
12
+ export declare function toJsonSchema(schema: StagehandZodSchema): JsonSchemaDocument;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.isZod3Schema = exports.isZod4Schema = void 0;
7
+ exports.toJsonSchema = toJsonSchema;
8
+ const zod_1 = require("zod");
9
+ const zod_to_json_schema_1 = __importDefault(require("zod-to-json-schema"));
10
+ const isZod4Schema = (schema) => typeof schema._zod !== "undefined";
11
+ exports.isZod4Schema = isZod4Schema;
12
+ const isZod3Schema = (schema) => !(0, exports.isZod4Schema)(schema);
13
+ exports.isZod3Schema = isZod3Schema;
14
+ function toJsonSchema(schema) {
15
+ if (!(0, exports.isZod4Schema)(schema)) {
16
+ return (0, zod_to_json_schema_1.default)(schema);
17
+ }
18
+ // For v4 schemas, use built-in z.toJSONSchema() method
19
+ const zodWithJsonSchema = zod_1.z;
20
+ if (zodWithJsonSchema.toJSONSchema) {
21
+ return zodWithJsonSchema.toJSONSchema(schema);
22
+ }
23
+ // This should never happen with Zod v4.1+
24
+ throw new Error("Zod v4 toJSONSchema method not found");
25
+ }
26
+ //# sourceMappingURL=zodCompat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zodCompat.js","sourceRoot":"","sources":["../../../../lib/v3/zodCompat.ts"],"names":[],"mappings":";;;;;;AAgCA,oCAgBC;AAhDD,6BAAwB;AAMxB,4EAAiD;AAe1C,MAAM,YAAY,GAAG,CAC1B,MAA0B,EACiB,EAAE,CAC7C,OAAQ,MAA6B,CAAC,IAAI,KAAK,WAAW,CAAC;AAHhD,QAAA,YAAY,gBAGoC;AAEtD,MAAM,YAAY,GAAG,CAC1B,MAA0B,EACD,EAAE,CAAC,CAAC,IAAA,oBAAY,EAAC,MAAM,CAAC,CAAC;AAFvC,QAAA,YAAY,gBAE2B;AAIpD,SAAgB,YAAY,CAAC,MAA0B;IACrD,IAAI,CAAC,IAAA,oBAAY,EAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAA,4BAAe,EAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,uDAAuD;IACvD,MAAM,iBAAiB,GAAG,OAEzB,CAAC;IAEF,IAAI,iBAAiB,CAAC,YAAY,EAAE,CAAC;QACnC,OAAO,iBAAiB,CAAC,YAAY,CAAC,MAAqB,CAAC,CAAC;IAC/D,CAAC;IAED,0CAA0C;IAC1C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;AAC1D,CAAC","sourcesContent":["import { z } from \"zod\";\nimport type {\n ZodObject as Zod4Object,\n ZodRawShape as Zod4RawShape,\n ZodTypeAny as Zod4TypeAny,\n} from \"zod\";\nimport zodToJsonSchema from \"zod-to-json-schema\";\nimport type * as z3 from \"zod/v3\";\nexport type StagehandZodSchema = Zod4TypeAny | z3.ZodTypeAny;\n\nexport type StagehandZodObject =\n | Zod4Object<Zod4RawShape>\n | z3.ZodObject<z3.ZodRawShape>;\n\nexport type InferStagehandSchema<T extends StagehandZodSchema> =\n T extends z3.ZodTypeAny\n ? z3.infer<T>\n : T extends Zod4TypeAny\n ? z.infer<T>\n : never;\n\nexport const isZod4Schema = (\n schema: StagehandZodSchema,\n): schema is Zod4TypeAny & { _zod: unknown } =>\n typeof (schema as { _zod?: unknown })._zod !== \"undefined\";\n\nexport const isZod3Schema = (\n schema: StagehandZodSchema,\n): schema is z3.ZodTypeAny => !isZod4Schema(schema);\n\nexport type JsonSchemaDocument = Record<string, unknown>;\n\nexport function toJsonSchema(schema: StagehandZodSchema): JsonSchemaDocument {\n if (!isZod4Schema(schema)) {\n return zodToJsonSchema(schema);\n }\n\n // For v4 schemas, use built-in z.toJSONSchema() method\n const zodWithJsonSchema = z as typeof z & {\n toJSONSchema?: (schema: Zod4TypeAny) => JsonSchemaDocument;\n };\n\n if (zodWithJsonSchema.toJSONSchema) {\n return zodWithJsonSchema.toJSONSchema(schema as Zod4TypeAny);\n }\n\n // This should never happen with Zod v4.1+\n throw new Error(\"Zod v4 toJSONSchema method not found\");\n}\n"]}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * V3Evaluator mirrors Evaluator but operates on a V3 instance instead of Stagehand.
3
+ * It uses the V3 page/screenshot APIs and constructs an LLM client to run
4
+ * structured evaluations (YES/NO with reasoning) on screenshots and/or text.
5
+ */
6
+ import type { AvailableModel, ClientOptions } from "./v3/types/public/model.js";
7
+ import type { EvaluateOptions, BatchAskOptions, EvaluationResult } from "./v3/types/private/evaluator.js";
8
+ import { V3 } from "./v3/v3.js";
9
+ export declare class V3Evaluator {
10
+ private v3;
11
+ private modelName;
12
+ private modelClientOptions;
13
+ private silentLogger;
14
+ constructor(v3: V3, modelName?: AvailableModel, modelClientOptions?: ClientOptions);
15
+ private getClient;
16
+ ask(options: EvaluateOptions): Promise<EvaluationResult>;
17
+ batchAsk(options: BatchAskOptions): Promise<EvaluationResult[]>;
18
+ private _evaluateWithMultipleScreenshots;
19
+ }
@@ -0,0 +1,214 @@
1
+ "use strict";
2
+ /**
3
+ * V3Evaluator mirrors Evaluator but operates on a V3 instance instead of Stagehand.
4
+ * It uses the V3 page/screenshot APIs and constructs an LLM client to run
5
+ * structured evaluations (YES/NO with reasoning) on screenshots and/or text.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.V3Evaluator = void 0;
9
+ const zod_1 = require("zod");
10
+ const LLMProvider_js_1 = require("./v3/llm/LLMProvider.js");
11
+ const sdkErrors_js_1 = require("./v3/types/public/sdkErrors.js");
12
+ const EvaluationSchema = zod_1.z.object({
13
+ evaluation: zod_1.z.enum(["YES", "NO"]),
14
+ reasoning: zod_1.z.string(),
15
+ });
16
+ const BatchEvaluationSchema = zod_1.z.array(EvaluationSchema);
17
+ class V3Evaluator {
18
+ v3;
19
+ modelName;
20
+ modelClientOptions;
21
+ silentLogger = () => { };
22
+ constructor(v3, modelName, modelClientOptions) {
23
+ this.v3 = v3;
24
+ this.modelName = modelName || "google/gemini-2.5-flash";
25
+ this.modelClientOptions = modelClientOptions || {
26
+ apiKey: process.env.GEMINI_API_KEY ||
27
+ process.env.GOOGLE_GENERATIVE_AI_API_KEY ||
28
+ "",
29
+ };
30
+ }
31
+ getClient() {
32
+ // Prefer a dedicated provider so we can override model per-evaluation
33
+ const provider = new LLMProvider_js_1.LLMProvider(this.v3.logger);
34
+ return provider.getClient(this.modelName, this.modelClientOptions);
35
+ }
36
+ async ask(options) {
37
+ const { question, answer, screenshot = true, systemPrompt, screenshotDelayMs = 250, agentReasoning, } = options;
38
+ if (!question)
39
+ throw new sdkErrors_js_1.StagehandInvalidArgumentError("Question cannot be an empty string");
40
+ if (!answer && !screenshot)
41
+ throw new sdkErrors_js_1.StagehandInvalidArgumentError("Either answer (text) or screenshot must be provided");
42
+ if (Array.isArray(screenshot)) {
43
+ return this._evaluateWithMultipleScreenshots({
44
+ question,
45
+ screenshots: screenshot,
46
+ systemPrompt,
47
+ agentReasoning,
48
+ });
49
+ }
50
+ const defaultSystemPrompt = `You are an expert evaluator that confidently returns YES or NO based on if the original goal was achieved. You have access to ${screenshot ? "a screenshot" : "the agents reasoning and actions throughout the task"} that you can use to evaluate the tasks completion. Provide detailed reasoning for your answer.\n Today's date is ${new Date().toLocaleDateString()}`;
51
+ await new Promise((r) => setTimeout(r, screenshotDelayMs));
52
+ let imageBuffer;
53
+ if (screenshot) {
54
+ const page = await this.v3.context.awaitActivePage();
55
+ imageBuffer = await page.screenshot({ fullPage: false });
56
+ }
57
+ const llmClient = this.getClient();
58
+ const response = await llmClient.createChatCompletion({
59
+ logger: this.silentLogger,
60
+ options: {
61
+ messages: [
62
+ { role: "system", content: systemPrompt || defaultSystemPrompt },
63
+ {
64
+ role: "user",
65
+ content: [
66
+ {
67
+ type: "text",
68
+ text: agentReasoning
69
+ ? `Question: ${question}\n\nAgent's reasoning and actions taken:\n${agentReasoning}`
70
+ : question,
71
+ },
72
+ ...(screenshot && imageBuffer
73
+ ? [
74
+ {
75
+ type: "image_url",
76
+ image_url: {
77
+ url: `data:image/jpeg;base64,${imageBuffer.toString("base64")}`,
78
+ },
79
+ },
80
+ ]
81
+ : []),
82
+ ...(answer
83
+ ? [{ type: "text", text: `the answer is ${answer}` }]
84
+ : []),
85
+ ],
86
+ },
87
+ ],
88
+ response_model: { name: "EvaluationResult", schema: EvaluationSchema },
89
+ },
90
+ });
91
+ try {
92
+ const result = response.data;
93
+ return { evaluation: result.evaluation, reasoning: result.reasoning };
94
+ }
95
+ catch (error) {
96
+ const errorMessage = error instanceof Error ? error.message : String(error);
97
+ return {
98
+ evaluation: "INVALID",
99
+ reasoning: `Failed to get structured response: ${errorMessage}`,
100
+ };
101
+ }
102
+ }
103
+ async batchAsk(options) {
104
+ const { questions, screenshot = true, systemPrompt = "You are an expert evaluator that returns YES or NO with a concise reasoning.", screenshotDelayMs = 250, } = options;
105
+ if (!questions?.length)
106
+ throw new sdkErrors_js_1.StagehandInvalidArgumentError("Questions array cannot be empty");
107
+ await new Promise((r) => setTimeout(r, screenshotDelayMs));
108
+ let imageBuffer;
109
+ if (screenshot) {
110
+ const page = await this.v3.context.awaitActivePage();
111
+ imageBuffer = await page.screenshot({ fullPage: false });
112
+ }
113
+ const llmClient = this.getClient();
114
+ const formatted = questions
115
+ .map((item, i) => `${i + 1}. ${item.question}${item.answer ? `\n Answer: ${item.answer}` : ""}`)
116
+ .join("\n\n");
117
+ const response = await llmClient.createChatCompletion({
118
+ logger: this.silentLogger,
119
+ options: {
120
+ messages: [
121
+ {
122
+ role: "system",
123
+ content: `${systemPrompt}\n\nYou will be given multiple questions${screenshot ? " with a screenshot" : ""}. ${questions.some((q) => q.answer) ? "Some questions include answers to evaluate." : ""} Answer each question by returning an object in the specified JSON format. Return a single JSON array containing one object for each question in the order they were asked.`,
124
+ },
125
+ {
126
+ role: "user",
127
+ content: [
128
+ { type: "text", text: formatted },
129
+ ...(screenshot && imageBuffer
130
+ ? [
131
+ {
132
+ type: "image_url",
133
+ image_url: {
134
+ url: `data:image/jpeg;base64,${imageBuffer.toString("base64")}`,
135
+ },
136
+ },
137
+ ]
138
+ : []),
139
+ ],
140
+ },
141
+ ],
142
+ response_model: {
143
+ name: "BatchEvaluationResult",
144
+ schema: BatchEvaluationSchema,
145
+ },
146
+ },
147
+ });
148
+ try {
149
+ const results = response.data;
150
+ return results.map((r) => ({
151
+ evaluation: r.evaluation,
152
+ reasoning: r.reasoning,
153
+ }));
154
+ }
155
+ catch (error) {
156
+ const errorMessage = error instanceof Error ? error.message : String(error);
157
+ return questions.map(() => ({
158
+ evaluation: "INVALID",
159
+ reasoning: `Failed to get structured response: ${errorMessage}`,
160
+ }));
161
+ }
162
+ }
163
+ async _evaluateWithMultipleScreenshots(options) {
164
+ const { question, screenshots, agentReasoning, systemPrompt = `You are an expert evaluator that confidently returns YES or NO given a question and multiple screenshots showing the progression of a task.
165
+ ${agentReasoning ? "You also have access to the agent's detailed reasoning and thought process throughout the task." : ""}
166
+ Analyze ALL screenshots to understand the complete journey. Look for evidence of task completion across all screenshots, not just the last one.
167
+ Success criteria may appear at different points in the sequence (confirmation messages, intermediate states, etc).
168
+ ${agentReasoning ? "The agent's reasoning provides crucial context about what actions were attempted, what was observed, and the decision-making process. Use this alongside the visual evidence to make a comprehensive evaluation." : ""}
169
+ Today's date is ${new Date().toLocaleDateString()}`, } = options;
170
+ if (!question)
171
+ throw new sdkErrors_js_1.StagehandInvalidArgumentError("Question cannot be an empty string");
172
+ if (!screenshots || screenshots.length === 0)
173
+ throw new sdkErrors_js_1.StagehandInvalidArgumentError("At least one screenshot must be provided");
174
+ const llmClient = this.getClient();
175
+ const imageContents = screenshots.map((s) => ({
176
+ type: "image_url",
177
+ image_url: { url: `data:image/jpeg;base64,${s.toString("base64")}` },
178
+ }));
179
+ const response = await llmClient.createChatCompletion({
180
+ logger: this.silentLogger,
181
+ options: {
182
+ messages: [
183
+ { role: "system", content: systemPrompt },
184
+ {
185
+ role: "user",
186
+ content: [
187
+ {
188
+ type: "text",
189
+ text: agentReasoning
190
+ ? `Question: ${question}\n\nAgent's reasoning and actions throughout the task:\n${agentReasoning}\n\nI'm providing ${screenshots.length} screenshots showing the progression of the task. Please analyze both the agent's reasoning and all screenshots to determine if the task was completed successfully.`
191
+ : `${question}\n\nI'm providing ${screenshots.length} screenshots showing the progression of the task. Please analyze all of them to determine if the task was completed successfully.`,
192
+ },
193
+ ...imageContents,
194
+ ],
195
+ },
196
+ ],
197
+ response_model: { name: "EvaluationResult", schema: EvaluationSchema },
198
+ },
199
+ });
200
+ try {
201
+ const result = response.data;
202
+ return { evaluation: result.evaluation, reasoning: result.reasoning };
203
+ }
204
+ catch (error) {
205
+ const errorMessage = error instanceof Error ? error.message : String(error);
206
+ return {
207
+ evaluation: "INVALID",
208
+ reasoning: `Failed to get structured response: ${errorMessage}`,
209
+ };
210
+ }
211
+ }
212
+ }
213
+ exports.V3Evaluator = V3Evaluator;
214
+ //# sourceMappingURL=v3Evaluator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v3Evaluator.js","sourceRoot":"","sources":["../../../lib/v3Evaluator.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * V3Evaluator mirrors Evaluator but operates on a V3 instance instead of Stagehand.\n * It uses the V3 page/screenshot APIs and constructs an LLM client to run\n * structured evaluations (YES/NO with reasoning) on screenshots and/or text.\n */\n\nimport { z } from \"zod\";\nimport type { AvailableModel, ClientOptions } from \"./v3/types/public/model.js\";\nimport type {\n EvaluateOptions,\n BatchAskOptions,\n EvaluationResult,\n} from \"./v3/types/private/evaluator.js\";\nimport { LLMParsedResponse } from \"./inference.js\";\nimport { LLMResponse, LLMClient } from \"./v3/llm/LLMClient.js\";\nimport { LogLine } from \"./v3/types/public/logs.js\";\nimport { V3 } from \"./v3/v3.js\";\nimport { LLMProvider } from \"./v3/llm/LLMProvider.js\";\nimport { StagehandInvalidArgumentError } from \"./v3/types/public/sdkErrors.js\";\n\nconst EvaluationSchema = z.object({\n evaluation: z.enum([\"YES\", \"NO\"]),\n reasoning: z.string(),\n});\n\nconst BatchEvaluationSchema = z.array(EvaluationSchema);\n\nexport class V3Evaluator {\n private v3: V3;\n private modelName: AvailableModel;\n private modelClientOptions: ClientOptions | { apiKey: string };\n private silentLogger: (message: LogLine) => void = () => {};\n\n constructor(\n v3: V3,\n modelName?: AvailableModel,\n modelClientOptions?: ClientOptions,\n ) {\n this.v3 = v3;\n this.modelName = modelName || (\"google/gemini-2.5-flash\" as AvailableModel);\n this.modelClientOptions = modelClientOptions || {\n apiKey:\n process.env.GEMINI_API_KEY ||\n process.env.GOOGLE_GENERATIVE_AI_API_KEY ||\n \"\",\n };\n }\n\n private getClient(): LLMClient {\n // Prefer a dedicated provider so we can override model per-evaluation\n const provider = new LLMProvider(this.v3.logger);\n return provider.getClient(this.modelName, this.modelClientOptions);\n }\n\n async ask(options: EvaluateOptions): Promise<EvaluationResult> {\n const {\n question,\n answer,\n screenshot = true,\n systemPrompt,\n screenshotDelayMs = 250,\n agentReasoning,\n } = options;\n if (!question)\n throw new StagehandInvalidArgumentError(\n \"Question cannot be an empty string\",\n );\n if (!answer && !screenshot)\n throw new StagehandInvalidArgumentError(\n \"Either answer (text) or screenshot must be provided\",\n );\n\n if (Array.isArray(screenshot)) {\n return this._evaluateWithMultipleScreenshots({\n question,\n screenshots: screenshot,\n systemPrompt,\n agentReasoning,\n });\n }\n\n const defaultSystemPrompt = `You are an expert evaluator that confidently returns YES or NO based on if the original goal was achieved. You have access to ${screenshot ? \"a screenshot\" : \"the agents reasoning and actions throughout the task\"} that you can use to evaluate the tasks completion. Provide detailed reasoning for your answer.\\n Today's date is ${new Date().toLocaleDateString()}`;\n\n await new Promise((r) => setTimeout(r, screenshotDelayMs));\n let imageBuffer: Buffer | undefined;\n if (screenshot) {\n const page = await this.v3.context.awaitActivePage();\n imageBuffer = await page.screenshot({ fullPage: false });\n }\n\n const llmClient = this.getClient();\n\n const response = await llmClient.createChatCompletion<\n LLMParsedResponse<LLMResponse>\n >({\n logger: this.silentLogger,\n options: {\n messages: [\n { role: \"system\", content: systemPrompt || defaultSystemPrompt },\n {\n role: \"user\",\n content: [\n {\n type: \"text\",\n text: agentReasoning\n ? `Question: ${question}\\n\\nAgent's reasoning and actions taken:\\n${agentReasoning}`\n : question,\n },\n ...(screenshot && imageBuffer\n ? [\n {\n type: \"image_url\" as const,\n image_url: {\n url: `data:image/jpeg;base64,${imageBuffer.toString(\"base64\")}`,\n },\n },\n ]\n : []),\n ...(answer\n ? [{ type: \"text\" as const, text: `the answer is ${answer}` }]\n : []),\n ],\n },\n ],\n response_model: { name: \"EvaluationResult\", schema: EvaluationSchema },\n },\n });\n\n try {\n const result = response.data as unknown as z.infer<\n typeof EvaluationSchema\n >;\n return { evaluation: result.evaluation, reasoning: result.reasoning };\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : String(error);\n return {\n evaluation: \"INVALID\",\n reasoning: `Failed to get structured response: ${errorMessage}`,\n } as const;\n }\n }\n\n async batchAsk(options: BatchAskOptions): Promise<EvaluationResult[]> {\n const {\n questions,\n screenshot = true,\n systemPrompt = \"You are an expert evaluator that returns YES or NO with a concise reasoning.\",\n screenshotDelayMs = 250,\n } = options;\n if (!questions?.length)\n throw new StagehandInvalidArgumentError(\n \"Questions array cannot be empty\",\n );\n\n await new Promise((r) => setTimeout(r, screenshotDelayMs));\n let imageBuffer: Buffer | undefined;\n if (screenshot) {\n const page = await this.v3.context.awaitActivePage();\n imageBuffer = await page.screenshot({ fullPage: false });\n }\n\n const llmClient = this.getClient();\n\n const formatted = questions\n .map(\n (item, i) =>\n `${i + 1}. ${item.question}${item.answer ? `\\n Answer: ${item.answer}` : \"\"}`,\n )\n .join(\"\\n\\n\");\n\n const response = await llmClient.createChatCompletion<\n LLMParsedResponse<LLMResponse>\n >({\n logger: this.silentLogger,\n options: {\n messages: [\n {\n role: \"system\",\n content: `${systemPrompt}\\n\\nYou will be given multiple questions${screenshot ? \" with a screenshot\" : \"\"}. ${questions.some((q) => q.answer) ? \"Some questions include answers to evaluate.\" : \"\"} Answer each question by returning an object in the specified JSON format. Return a single JSON array containing one object for each question in the order they were asked.`,\n },\n {\n role: \"user\",\n content: [\n { type: \"text\", text: formatted },\n ...(screenshot && imageBuffer\n ? [\n {\n type: \"image_url\" as const,\n image_url: {\n url: `data:image/jpeg;base64,${imageBuffer.toString(\"base64\")}`,\n },\n },\n ]\n : []),\n ],\n },\n ],\n response_model: {\n name: \"BatchEvaluationResult\",\n schema: BatchEvaluationSchema,\n },\n },\n });\n\n try {\n const results = response.data as unknown as z.infer<\n typeof BatchEvaluationSchema\n >;\n return results.map((r) => ({\n evaluation: r.evaluation,\n reasoning: r.reasoning,\n }));\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : String(error);\n return questions.map(() => ({\n evaluation: \"INVALID\" as const,\n reasoning: `Failed to get structured response: ${errorMessage}`,\n }));\n }\n }\n\n private async _evaluateWithMultipleScreenshots(options: {\n question: string;\n screenshots: Buffer[];\n systemPrompt?: string;\n agentReasoning?: string;\n }): Promise<EvaluationResult> {\n const {\n question,\n screenshots,\n agentReasoning,\n systemPrompt = `You are an expert evaluator that confidently returns YES or NO given a question and multiple screenshots showing the progression of a task.\n ${agentReasoning ? \"You also have access to the agent's detailed reasoning and thought process throughout the task.\" : \"\"}\n Analyze ALL screenshots to understand the complete journey. Look for evidence of task completion across all screenshots, not just the last one.\n Success criteria may appear at different points in the sequence (confirmation messages, intermediate states, etc).\n ${agentReasoning ? \"The agent's reasoning provides crucial context about what actions were attempted, what was observed, and the decision-making process. Use this alongside the visual evidence to make a comprehensive evaluation.\" : \"\"}\n Today's date is ${new Date().toLocaleDateString()}`,\n } = options;\n\n if (!question)\n throw new StagehandInvalidArgumentError(\n \"Question cannot be an empty string\",\n );\n if (!screenshots || screenshots.length === 0)\n throw new StagehandInvalidArgumentError(\n \"At least one screenshot must be provided\",\n );\n\n const llmClient = this.getClient();\n\n const imageContents = screenshots.map((s) => ({\n type: \"image_url\" as const,\n image_url: { url: `data:image/jpeg;base64,${s.toString(\"base64\")}` },\n }));\n\n const response = await llmClient.createChatCompletion<\n LLMParsedResponse<LLMResponse>\n >({\n logger: this.silentLogger,\n options: {\n messages: [\n { role: \"system\", content: systemPrompt },\n {\n role: \"user\",\n content: [\n {\n type: \"text\",\n text: agentReasoning\n ? `Question: ${question}\\n\\nAgent's reasoning and actions throughout the task:\\n${agentReasoning}\\n\\nI'm providing ${screenshots.length} screenshots showing the progression of the task. Please analyze both the agent's reasoning and all screenshots to determine if the task was completed successfully.`\n : `${question}\\n\\nI'm providing ${screenshots.length} screenshots showing the progression of the task. Please analyze all of them to determine if the task was completed successfully.`,\n },\n ...imageContents,\n ],\n },\n ],\n response_model: { name: \"EvaluationResult\", schema: EvaluationSchema },\n },\n });\n\n try {\n const result = response.data as unknown as z.infer<\n typeof EvaluationSchema\n >;\n return { evaluation: result.evaluation, reasoning: result.reasoning };\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : String(error);\n return {\n evaluation: \"INVALID\",\n reasoning: `Failed to get structured response: ${errorMessage}`,\n } as const;\n }\n }\n}\n"]}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * AUTO-GENERATED — DO NOT EDIT BY HAND
3
+ * Run `pnpm run gen-version` to refresh.
4
+ */
5
+ export declare const STAGEHAND_VERSION: "3.1.0-headers";