@browserbasehq/orca 3.4.0-preview.0 → 3.5.0-preview.0

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 (829) hide show
  1. package/dist/cjs/lib/inference.d.ts +2 -1
  2. package/dist/cjs/lib/inference.js +10 -3
  3. package/dist/cjs/lib/inference.js.map +1 -1
  4. package/dist/cjs/lib/prompt.d.ts +2 -2
  5. package/dist/cjs/lib/prompt.js +19 -4
  6. package/dist/cjs/lib/prompt.js.map +1 -1
  7. package/dist/cjs/lib/v3/agent/AgentProvider.d.ts +1 -1
  8. package/dist/cjs/lib/v3/agent/AgentProvider.js.map +1 -1
  9. package/dist/cjs/lib/v3/agent/AnthropicCUAClient.js +10 -0
  10. package/dist/cjs/lib/v3/agent/AnthropicCUAClient.js.map +1 -1
  11. package/dist/cjs/lib/v3/handlers/extractHandler.js +19 -2
  12. package/dist/cjs/lib/v3/handlers/extractHandler.js.map +1 -1
  13. package/dist/cjs/lib/v3/handlers/observeHandler.js +2 -1
  14. package/dist/cjs/lib/v3/handlers/observeHandler.js.map +1 -1
  15. package/dist/cjs/lib/v3/handlers/v3CuaAgentHandler.js +1 -0
  16. package/dist/cjs/lib/v3/handlers/v3CuaAgentHandler.js.map +1 -1
  17. package/dist/cjs/lib/v3/index.d.ts +1 -0
  18. package/dist/cjs/lib/v3/index.js.map +1 -1
  19. package/dist/cjs/lib/v3/launch/local.d.ts +2 -7
  20. package/dist/cjs/lib/v3/launch/local.js +47 -7
  21. package/dist/cjs/lib/v3/launch/local.js.map +1 -1
  22. package/dist/cjs/lib/v3/llm/aisdk.js +5 -0
  23. package/dist/cjs/lib/v3/llm/aisdk.js.map +1 -1
  24. package/dist/cjs/lib/v3/types/private/handlers.d.ts +2 -0
  25. package/dist/cjs/lib/v3/types/private/handlers.js.map +1 -1
  26. package/dist/cjs/lib/v3/types/private/snapshot.d.ts +2 -0
  27. package/dist/cjs/lib/v3/types/private/snapshot.js.map +1 -1
  28. package/dist/cjs/lib/v3/types/public/agent.d.ts +1 -1
  29. package/dist/cjs/lib/v3/types/public/agent.js.map +1 -1
  30. package/dist/cjs/lib/v3/types/public/api.d.ts +287 -0
  31. package/dist/cjs/lib/v3/types/public/api.js +61 -3
  32. package/dist/cjs/lib/v3/types/public/api.js.map +1 -1
  33. package/dist/cjs/lib/v3/types/public/methods.d.ts +2 -0
  34. package/dist/cjs/lib/v3/types/public/methods.js.map +1 -1
  35. package/dist/cjs/lib/v3/types/public/model.d.ts +11 -7
  36. package/dist/cjs/lib/v3/types/public/model.js.map +1 -1
  37. package/dist/cjs/lib/v3/understudy/a11y/snapshot/a11yTree.js +25 -0
  38. package/dist/cjs/lib/v3/understudy/a11y/snapshot/a11yTree.js.map +1 -1
  39. package/dist/cjs/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js +10 -1
  40. package/dist/cjs/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js.map +1 -1
  41. package/dist/cjs/lib/v3/v3.js +7 -47
  42. package/dist/cjs/lib/v3/v3.js.map +1 -1
  43. package/dist/cjs/lib/v3Evaluator.d.ts +20 -12
  44. package/dist/cjs/lib/v3Evaluator.js +41 -199
  45. package/dist/cjs/lib/v3Evaluator.js.map +1 -1
  46. package/dist/cjs/lib/v3LegacyEvaluator.d.ts +20 -0
  47. package/dist/cjs/lib/v3LegacyEvaluator.js +215 -0
  48. package/dist/cjs/lib/v3LegacyEvaluator.js.map +1 -0
  49. package/dist/cjs/lib/version.d.ts +1 -1
  50. package/dist/cjs/lib/version.js +1 -1
  51. package/dist/cjs/lib/version.js.map +1 -1
  52. package/dist/esm/lib/inference.d.ts +2 -1
  53. package/dist/esm/lib/inference.js +10 -3
  54. package/dist/esm/lib/inference.js.map +1 -1
  55. package/dist/esm/lib/prompt.d.ts +2 -2
  56. package/dist/esm/lib/prompt.js +19 -4
  57. package/dist/esm/lib/prompt.js.map +1 -1
  58. package/dist/esm/lib/v3/agent/AgentProvider.d.ts +1 -1
  59. package/dist/esm/lib/v3/agent/AgentProvider.js.map +1 -1
  60. package/dist/esm/lib/v3/agent/AnthropicCUAClient.js +10 -0
  61. package/dist/esm/lib/v3/agent/AnthropicCUAClient.js.map +1 -1
  62. package/dist/esm/lib/v3/handlers/extractHandler.js +19 -2
  63. package/dist/esm/lib/v3/handlers/extractHandler.js.map +1 -1
  64. package/dist/esm/lib/v3/handlers/observeHandler.js +2 -1
  65. package/dist/esm/lib/v3/handlers/observeHandler.js.map +1 -1
  66. package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.js +1 -0
  67. package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.js.map +1 -1
  68. package/dist/esm/lib/v3/index.d.ts +1 -0
  69. package/dist/esm/lib/v3/index.js.map +1 -1
  70. package/dist/esm/lib/v3/launch/local.d.ts +2 -7
  71. package/dist/esm/lib/v3/launch/local.js +48 -8
  72. package/dist/esm/lib/v3/launch/local.js.map +1 -1
  73. package/dist/esm/lib/v3/llm/aisdk.js +5 -0
  74. package/dist/esm/lib/v3/llm/aisdk.js.map +1 -1
  75. package/dist/esm/lib/v3/types/private/handlers.d.ts +2 -0
  76. package/dist/esm/lib/v3/types/private/handlers.js.map +1 -1
  77. package/dist/esm/lib/v3/types/private/snapshot.d.ts +2 -0
  78. package/dist/esm/lib/v3/types/private/snapshot.js.map +1 -1
  79. package/dist/esm/lib/v3/types/public/agent.d.ts +1 -1
  80. package/dist/esm/lib/v3/types/public/agent.js.map +1 -1
  81. package/dist/esm/lib/v3/types/public/api.d.ts +287 -0
  82. package/dist/esm/lib/v3/types/public/api.js +59 -1
  83. package/dist/esm/lib/v3/types/public/api.js.map +1 -1
  84. package/dist/esm/lib/v3/types/public/methods.d.ts +2 -0
  85. package/dist/esm/lib/v3/types/public/methods.js.map +1 -1
  86. package/dist/esm/lib/v3/types/public/model.d.ts +11 -7
  87. package/dist/esm/lib/v3/types/public/model.js.map +1 -1
  88. package/dist/esm/lib/v3/understudy/a11y/snapshot/a11yTree.js +25 -0
  89. package/dist/esm/lib/v3/understudy/a11y/snapshot/a11yTree.js.map +1 -1
  90. package/dist/esm/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js +10 -1
  91. package/dist/esm/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js.map +1 -1
  92. package/dist/esm/lib/v3/v3.js +7 -47
  93. package/dist/esm/lib/v3/v3.js.map +1 -1
  94. package/dist/esm/lib/v3Evaluator.d.ts +20 -12
  95. package/dist/esm/lib/v3Evaluator.js +41 -199
  96. package/dist/esm/lib/v3Evaluator.js.map +1 -1
  97. package/dist/esm/lib/v3LegacyEvaluator.d.ts +20 -0
  98. package/dist/esm/lib/v3LegacyEvaluator.js +211 -0
  99. package/dist/esm/lib/v3LegacyEvaluator.js.map +1 -0
  100. package/dist/esm/lib/version.d.ts +1 -1
  101. package/dist/esm/lib/version.js +1 -1
  102. package/dist/esm/lib/version.js.map +1 -1
  103. package/package.json +30 -18
  104. package/dist/cjs/tests/cache-variables.test.d.ts +0 -1
  105. package/dist/cjs/tests/cache-variables.test.js +0 -221
  106. package/dist/cjs/tests/cache-variables.test.js.map +0 -1
  107. package/dist/cjs/tests/integration/agent-abort-signal.spec.d.ts +0 -1
  108. package/dist/cjs/tests/integration/agent-abort-signal.spec.js +0 -123
  109. package/dist/cjs/tests/integration/agent-abort-signal.spec.js.map +0 -1
  110. package/dist/cjs/tests/integration/agent-cache-self-heal.spec.d.ts +0 -1
  111. package/dist/cjs/tests/integration/agent-cache-self-heal.spec.js +0 -83
  112. package/dist/cjs/tests/integration/agent-cache-self-heal.spec.js.map +0 -1
  113. package/dist/cjs/tests/integration/agent-callbacks.spec.d.ts +0 -1
  114. package/dist/cjs/tests/integration/agent-callbacks.spec.js +0 -385
  115. package/dist/cjs/tests/integration/agent-callbacks.spec.js.map +0 -1
  116. package/dist/cjs/tests/integration/agent-experimental-validation.spec.d.ts +0 -1
  117. package/dist/cjs/tests/integration/agent-experimental-validation.spec.js +0 -362
  118. package/dist/cjs/tests/integration/agent-experimental-validation.spec.js.map +0 -1
  119. package/dist/cjs/tests/integration/agent-hybrid-mode.spec.d.ts +0 -1
  120. package/dist/cjs/tests/integration/agent-hybrid-mode.spec.js +0 -262
  121. package/dist/cjs/tests/integration/agent-hybrid-mode.spec.js.map +0 -1
  122. package/dist/cjs/tests/integration/agent-message-continuation.spec.d.ts +0 -1
  123. package/dist/cjs/tests/integration/agent-message-continuation.spec.js +0 -112
  124. package/dist/cjs/tests/integration/agent-message-continuation.spec.js.map +0 -1
  125. package/dist/cjs/tests/integration/agent-streaming.spec.d.ts +0 -1
  126. package/dist/cjs/tests/integration/agent-streaming.spec.js +0 -140
  127. package/dist/cjs/tests/integration/agent-streaming.spec.js.map +0 -1
  128. package/dist/cjs/tests/integration/cdp-close-api-region.spec.d.ts +0 -1
  129. package/dist/cjs/tests/integration/cdp-close-api-region.spec.js +0 -41
  130. package/dist/cjs/tests/integration/cdp-close-api-region.spec.js.map +0 -1
  131. package/dist/cjs/tests/integration/cdp-connection-close.spec.d.ts +0 -1
  132. package/dist/cjs/tests/integration/cdp-connection-close.spec.js +0 -76
  133. package/dist/cjs/tests/integration/cdp-connection-close.spec.js.map +0 -1
  134. package/dist/cjs/tests/integration/cdp-session-detached.spec.d.ts +0 -1
  135. package/dist/cjs/tests/integration/cdp-session-detached.spec.js +0 -45
  136. package/dist/cjs/tests/integration/cdp-session-detached.spec.js.map +0 -1
  137. package/dist/cjs/tests/integration/chrome-newtab-page-tracking.spec.d.ts +0 -1
  138. package/dist/cjs/tests/integration/chrome-newtab-page-tracking.spec.js +0 -56
  139. package/dist/cjs/tests/integration/chrome-newtab-page-tracking.spec.js.map +0 -1
  140. package/dist/cjs/tests/integration/click-count.spec.d.ts +0 -1
  141. package/dist/cjs/tests/integration/click-count.spec.js +0 -163
  142. package/dist/cjs/tests/integration/click-count.spec.js.map +0 -1
  143. package/dist/cjs/tests/integration/connect-to-existing-browser.spec.d.ts +0 -1
  144. package/dist/cjs/tests/integration/connect-to-existing-browser.spec.js +0 -99
  145. package/dist/cjs/tests/integration/connect-to-existing-browser.spec.js.map +0 -1
  146. package/dist/cjs/tests/integration/context-addInitScript.spec.d.ts +0 -1
  147. package/dist/cjs/tests/integration/context-addInitScript.spec.js +0 -285
  148. package/dist/cjs/tests/integration/context-addInitScript.spec.js.map +0 -1
  149. package/dist/cjs/tests/integration/context-extra-http-headers.spec.d.ts +0 -1
  150. package/dist/cjs/tests/integration/context-extra-http-headers.spec.js +0 -49
  151. package/dist/cjs/tests/integration/context-extra-http-headers.spec.js.map +0 -1
  152. package/dist/cjs/tests/integration/cookies.spec.d.ts +0 -1
  153. package/dist/cjs/tests/integration/cookies.spec.js +0 -187
  154. package/dist/cjs/tests/integration/cookies.spec.js.map +0 -1
  155. package/dist/cjs/tests/integration/default-page-tracking.spec.d.ts +0 -1
  156. package/dist/cjs/tests/integration/default-page-tracking.spec.js +0 -52
  157. package/dist/cjs/tests/integration/default-page-tracking.spec.js.map +0 -1
  158. package/dist/cjs/tests/integration/downloads.spec.d.ts +0 -1
  159. package/dist/cjs/tests/integration/downloads.spec.js +0 -52
  160. package/dist/cjs/tests/integration/downloads.spec.js.map +0 -1
  161. package/dist/cjs/tests/integration/flowLogger.spec.d.ts +0 -1
  162. package/dist/cjs/tests/integration/flowLogger.spec.js +0 -718
  163. package/dist/cjs/tests/integration/flowLogger.spec.js.map +0 -1
  164. package/dist/cjs/tests/integration/frame-get-location-and-click.spec.d.ts +0 -1
  165. package/dist/cjs/tests/integration/frame-get-location-and-click.spec.js +0 -57
  166. package/dist/cjs/tests/integration/frame-get-location-and-click.spec.js.map +0 -1
  167. package/dist/cjs/tests/integration/iframe-ctx-addInitScript-race.spec.d.ts +0 -1
  168. package/dist/cjs/tests/integration/iframe-ctx-addInitScript-race.spec.js +0 -219
  169. package/dist/cjs/tests/integration/iframe-ctx-addInitScript-race.spec.js.map +0 -1
  170. package/dist/cjs/tests/integration/iframe-ctx-addInitScript.spec.d.ts +0 -1
  171. package/dist/cjs/tests/integration/iframe-ctx-addInitScript.spec.js +0 -474
  172. package/dist/cjs/tests/integration/iframe-ctx-addInitScript.spec.js.map +0 -1
  173. package/dist/cjs/tests/integration/keep-alive.child.d.ts +0 -1
  174. package/dist/cjs/tests/integration/keep-alive.child.js +0 -85
  175. package/dist/cjs/tests/integration/keep-alive.child.js.map +0 -1
  176. package/dist/cjs/tests/integration/keep-alive.spec.d.ts +0 -22
  177. package/dist/cjs/tests/integration/keep-alive.spec.js +0 -490
  178. package/dist/cjs/tests/integration/keep-alive.spec.js.map +0 -1
  179. package/dist/cjs/tests/integration/keyboard.spec.d.ts +0 -1
  180. package/dist/cjs/tests/integration/keyboard.spec.js +0 -259
  181. package/dist/cjs/tests/integration/keyboard.spec.js.map +0 -1
  182. package/dist/cjs/tests/integration/locator-backend-node-id.spec.d.ts +0 -1
  183. package/dist/cjs/tests/integration/locator-backend-node-id.spec.js +0 -150
  184. package/dist/cjs/tests/integration/locator-backend-node-id.spec.js.map +0 -1
  185. package/dist/cjs/tests/integration/locator-content-methods.spec.d.ts +0 -1
  186. package/dist/cjs/tests/integration/locator-content-methods.spec.js +0 -180
  187. package/dist/cjs/tests/integration/locator-content-methods.spec.js.map +0 -1
  188. package/dist/cjs/tests/integration/locator-count-iframe.spec.d.ts +0 -1
  189. package/dist/cjs/tests/integration/locator-count-iframe.spec.js +0 -129
  190. package/dist/cjs/tests/integration/locator-count-iframe.spec.js.map +0 -1
  191. package/dist/cjs/tests/integration/locator-count.spec.d.ts +0 -1
  192. package/dist/cjs/tests/integration/locator-count.spec.js +0 -68
  193. package/dist/cjs/tests/integration/locator-count.spec.js.map +0 -1
  194. package/dist/cjs/tests/integration/locator-fill.spec.d.ts +0 -1
  195. package/dist/cjs/tests/integration/locator-fill.spec.js +0 -117
  196. package/dist/cjs/tests/integration/locator-fill.spec.js.map +0 -1
  197. package/dist/cjs/tests/integration/locator-input-methods.spec.d.ts +0 -1
  198. package/dist/cjs/tests/integration/locator-input-methods.spec.js +0 -127
  199. package/dist/cjs/tests/integration/locator-input-methods.spec.js.map +0 -1
  200. package/dist/cjs/tests/integration/locator-nth.spec.d.ts +0 -1
  201. package/dist/cjs/tests/integration/locator-nth.spec.js +0 -175
  202. package/dist/cjs/tests/integration/locator-nth.spec.js.map +0 -1
  203. package/dist/cjs/tests/integration/locator-select-option.spec.d.ts +0 -1
  204. package/dist/cjs/tests/integration/locator-select-option.spec.js +0 -216
  205. package/dist/cjs/tests/integration/locator-select-option.spec.js.map +0 -1
  206. package/dist/cjs/tests/integration/logger-initialization.spec.d.ts +0 -1
  207. package/dist/cjs/tests/integration/logger-initialization.spec.js +0 -597
  208. package/dist/cjs/tests/integration/logger-initialization.spec.js.map +0 -1
  209. package/dist/cjs/tests/integration/multi-instance-logger.spec.d.ts +0 -1
  210. package/dist/cjs/tests/integration/multi-instance-logger.spec.js +0 -293
  211. package/dist/cjs/tests/integration/multi-instance-logger.spec.js.map +0 -1
  212. package/dist/cjs/tests/integration/nested-div.spec.d.ts +0 -1
  213. package/dist/cjs/tests/integration/nested-div.spec.js +0 -22
  214. package/dist/cjs/tests/integration/nested-div.spec.js.map +0 -1
  215. package/dist/cjs/tests/integration/observe-element-id-format.spec.d.ts +0 -1
  216. package/dist/cjs/tests/integration/observe-element-id-format.spec.js +0 -130
  217. package/dist/cjs/tests/integration/observe-element-id-format.spec.js.map +0 -1
  218. package/dist/cjs/tests/integration/page-addInitScript.spec.d.ts +0 -1
  219. package/dist/cjs/tests/integration/page-addInitScript.spec.js +0 -94
  220. package/dist/cjs/tests/integration/page-addInitScript.spec.js.map +0 -1
  221. package/dist/cjs/tests/integration/page-console.spec.d.ts +0 -1
  222. package/dist/cjs/tests/integration/page-console.spec.js +0 -47
  223. package/dist/cjs/tests/integration/page-console.spec.js.map +0 -1
  224. package/dist/cjs/tests/integration/page-drag-and-drop.spec.d.ts +0 -1
  225. package/dist/cjs/tests/integration/page-drag-and-drop.spec.js +0 -437
  226. package/dist/cjs/tests/integration/page-drag-and-drop.spec.js.map +0 -1
  227. package/dist/cjs/tests/integration/page-extra-http-headers.spec.d.ts +0 -1
  228. package/dist/cjs/tests/integration/page-extra-http-headers.spec.js +0 -85
  229. package/dist/cjs/tests/integration/page-extra-http-headers.spec.js.map +0 -1
  230. package/dist/cjs/tests/integration/page-goto-response.spec.d.ts +0 -1
  231. package/dist/cjs/tests/integration/page-goto-response.spec.js +0 -34
  232. package/dist/cjs/tests/integration/page-goto-response.spec.js.map +0 -1
  233. package/dist/cjs/tests/integration/page-hover.spec.d.ts +0 -1
  234. package/dist/cjs/tests/integration/page-hover.spec.js +0 -165
  235. package/dist/cjs/tests/integration/page-hover.spec.js.map +0 -1
  236. package/dist/cjs/tests/integration/page-screenshot.spec.d.ts +0 -1
  237. package/dist/cjs/tests/integration/page-screenshot.spec.js +0 -292
  238. package/dist/cjs/tests/integration/page-screenshot.spec.js.map +0 -1
  239. package/dist/cjs/tests/integration/page-scroll.spec.d.ts +0 -1
  240. package/dist/cjs/tests/integration/page-scroll.spec.js +0 -183
  241. package/dist/cjs/tests/integration/page-scroll.spec.js.map +0 -1
  242. package/dist/cjs/tests/integration/page-send-cdp.spec.d.ts +0 -1
  243. package/dist/cjs/tests/integration/page-send-cdp.spec.js +0 -47
  244. package/dist/cjs/tests/integration/page-send-cdp.spec.js.map +0 -1
  245. package/dist/cjs/tests/integration/perform-understudy-method.spec.d.ts +0 -1
  246. package/dist/cjs/tests/integration/perform-understudy-method.spec.js +0 -63
  247. package/dist/cjs/tests/integration/perform-understudy-method.spec.js.map +0 -1
  248. package/dist/cjs/tests/integration/setinputfiles.spec.d.ts +0 -1
  249. package/dist/cjs/tests/integration/setinputfiles.spec.js +0 -133
  250. package/dist/cjs/tests/integration/setinputfiles.spec.js.map +0 -1
  251. package/dist/cjs/tests/integration/shadow-iframe-oopif.spec.d.ts +0 -1
  252. package/dist/cjs/tests/integration/shadow-iframe-oopif.spec.js +0 -161
  253. package/dist/cjs/tests/integration/shadow-iframe-oopif.spec.js.map +0 -1
  254. package/dist/cjs/tests/integration/shadow-iframe-spif.spec.d.ts +0 -1
  255. package/dist/cjs/tests/integration/shadow-iframe-spif.spec.js +0 -160
  256. package/dist/cjs/tests/integration/shadow-iframe-spif.spec.js.map +0 -1
  257. package/dist/cjs/tests/integration/testUtils.d.ts +0 -40
  258. package/dist/cjs/tests/integration/testUtils.js +0 -188
  259. package/dist/cjs/tests/integration/testUtils.js.map +0 -1
  260. package/dist/cjs/tests/integration/text-selector-innermost.spec.d.ts +0 -1
  261. package/dist/cjs/tests/integration/text-selector-innermost.spec.js +0 -105
  262. package/dist/cjs/tests/integration/text-selector-innermost.spec.js.map +0 -1
  263. package/dist/cjs/tests/integration/timeouts.spec.d.ts +0 -1
  264. package/dist/cjs/tests/integration/timeouts.spec.js +0 -309
  265. package/dist/cjs/tests/integration/timeouts.spec.js.map +0 -1
  266. package/dist/cjs/tests/integration/user-data-dir.spec.d.ts +0 -1
  267. package/dist/cjs/tests/integration/user-data-dir.spec.js +0 -77
  268. package/dist/cjs/tests/integration/user-data-dir.spec.js.map +0 -1
  269. package/dist/cjs/tests/integration/v3.config.d.ts +0 -4
  270. package/dist/cjs/tests/integration/v3.config.js +0 -11
  271. package/dist/cjs/tests/integration/v3.config.js.map +0 -1
  272. package/dist/cjs/tests/integration/v3.dynamic.config.d.ts +0 -4
  273. package/dist/cjs/tests/integration/v3.dynamic.config.js +0 -48
  274. package/dist/cjs/tests/integration/v3.dynamic.config.js.map +0 -1
  275. package/dist/cjs/tests/integration/v3.playwright.config.d.ts +0 -2
  276. package/dist/cjs/tests/integration/v3.playwright.config.js +0 -48
  277. package/dist/cjs/tests/integration/v3.playwright.config.js.map +0 -1
  278. package/dist/cjs/tests/integration/wait-for-selector.spec.d.ts +0 -1
  279. package/dist/cjs/tests/integration/wait-for-selector.spec.js +0 -683
  280. package/dist/cjs/tests/integration/wait-for-selector.spec.js.map +0 -1
  281. package/dist/cjs/tests/integration/wait-for-timeout.spec.d.ts +0 -1
  282. package/dist/cjs/tests/integration/wait-for-timeout.spec.js +0 -118
  283. package/dist/cjs/tests/integration/wait-for-timeout.spec.js.map +0 -1
  284. package/dist/cjs/tests/integration/xpath-for-location-deep.spec.d.ts +0 -1
  285. package/dist/cjs/tests/integration/xpath-for-location-deep.spec.js +0 -87
  286. package/dist/cjs/tests/integration/xpath-for-location-deep.spec.js.map +0 -1
  287. package/dist/cjs/tests/unit/agent-captcha-hooks.test.d.ts +0 -1
  288. package/dist/cjs/tests/unit/agent-captcha-hooks.test.js +0 -341
  289. package/dist/cjs/tests/unit/agent-captcha-hooks.test.js.map +0 -1
  290. package/dist/cjs/tests/unit/agent-execution-model.test.d.ts +0 -1
  291. package/dist/cjs/tests/unit/agent-execution-model.test.js +0 -150
  292. package/dist/cjs/tests/unit/agent-execution-model.test.js.map +0 -1
  293. package/dist/cjs/tests/unit/agent-metrics.test.d.ts +0 -1
  294. package/dist/cjs/tests/unit/agent-metrics.test.js +0 -112
  295. package/dist/cjs/tests/unit/agent-metrics.test.js.map +0 -1
  296. package/dist/cjs/tests/unit/agent-mode-routing.test.d.ts +0 -1
  297. package/dist/cjs/tests/unit/agent-mode-routing.test.js +0 -88
  298. package/dist/cjs/tests/unit/agent-mode-routing.test.js.map +0 -1
  299. package/dist/cjs/tests/unit/agent-system-prompt-variables.test.d.ts +0 -1
  300. package/dist/cjs/tests/unit/agent-system-prompt-variables.test.js +0 -23
  301. package/dist/cjs/tests/unit/agent-system-prompt-variables.test.js.map +0 -1
  302. package/dist/cjs/tests/unit/agent-temperature.test.d.ts +0 -1
  303. package/dist/cjs/tests/unit/agent-temperature.test.js +0 -191
  304. package/dist/cjs/tests/unit/agent-temperature.test.js.map +0 -1
  305. package/dist/cjs/tests/unit/agent-variables-validation.test.d.ts +0 -1
  306. package/dist/cjs/tests/unit/agent-variables-validation.test.js +0 -43
  307. package/dist/cjs/tests/unit/agent-variables-validation.test.js.map +0 -1
  308. package/dist/cjs/tests/unit/aisdk-clients.test.d.ts +0 -1
  309. package/dist/cjs/tests/unit/aisdk-clients.test.js +0 -86
  310. package/dist/cjs/tests/unit/aisdk-clients.test.js.map +0 -1
  311. package/dist/cjs/tests/unit/anthropic-cua-adaptive-thinking.test.d.ts +0 -1
  312. package/dist/cjs/tests/unit/anthropic-cua-adaptive-thinking.test.js +0 -250
  313. package/dist/cjs/tests/unit/anthropic-cua-adaptive-thinking.test.js.map +0 -1
  314. package/dist/cjs/tests/unit/api-client-observe-variables.test.d.ts +0 -1
  315. package/dist/cjs/tests/unit/api-client-observe-variables.test.js +0 -133
  316. package/dist/cjs/tests/unit/api-client-observe-variables.test.js.map +0 -1
  317. package/dist/cjs/tests/unit/api-multiregion.test.d.ts +0 -1
  318. package/dist/cjs/tests/unit/api-multiregion.test.js +0 -58
  319. package/dist/cjs/tests/unit/api-multiregion.test.js.map +0 -1
  320. package/dist/cjs/tests/unit/api-optional-model-api-key.test.d.ts +0 -1
  321. package/dist/cjs/tests/unit/api-optional-model-api-key.test.js +0 -155
  322. package/dist/cjs/tests/unit/api-optional-model-api-key.test.js.map +0 -1
  323. package/dist/cjs/tests/unit/api-variables-schema.test.d.ts +0 -1
  324. package/dist/cjs/tests/unit/api-variables-schema.test.js +0 -62
  325. package/dist/cjs/tests/unit/api-variables-schema.test.js.map +0 -1
  326. package/dist/cjs/tests/unit/browserbase-session-accessors.test.d.ts +0 -1
  327. package/dist/cjs/tests/unit/browserbase-session-accessors.test.js +0 -142
  328. package/dist/cjs/tests/unit/browserbase-session-accessors.test.js.map +0 -1
  329. package/dist/cjs/tests/unit/cache-llm-resolution.test.d.ts +0 -1
  330. package/dist/cjs/tests/unit/cache-llm-resolution.test.js +0 -186
  331. package/dist/cjs/tests/unit/cache-llm-resolution.test.js.map +0 -1
  332. package/dist/cjs/tests/unit/captcha-solver.test.d.ts +0 -1
  333. package/dist/cjs/tests/unit/captcha-solver.test.js +0 -154
  334. package/dist/cjs/tests/unit/captcha-solver.test.js.map +0 -1
  335. package/dist/cjs/tests/unit/cdp-connection-close.test.d.ts +0 -1
  336. package/dist/cjs/tests/unit/cdp-connection-close.test.js +0 -74
  337. package/dist/cjs/tests/unit/cdp-connection-close.test.js.map +0 -1
  338. package/dist/cjs/tests/unit/context-extra-http-headers.test.d.ts +0 -1
  339. package/dist/cjs/tests/unit/context-extra-http-headers.test.js +0 -58
  340. package/dist/cjs/tests/unit/context-extra-http-headers.test.js.map +0 -1
  341. package/dist/cjs/tests/unit/cookies.test.d.ts +0 -1
  342. package/dist/cjs/tests/unit/cookies.test.js +0 -944
  343. package/dist/cjs/tests/unit/cookies.test.js.map +0 -1
  344. package/dist/cjs/tests/unit/flowlogger-capturing-cdp.test.d.ts +0 -1
  345. package/dist/cjs/tests/unit/flowlogger-capturing-cdp.test.js +0 -95
  346. package/dist/cjs/tests/unit/flowlogger-capturing-cdp.test.js.map +0 -1
  347. package/dist/cjs/tests/unit/flowlogger-capturing-llm.test.d.ts +0 -1
  348. package/dist/cjs/tests/unit/flowlogger-capturing-llm.test.js +0 -43
  349. package/dist/cjs/tests/unit/flowlogger-capturing-llm.test.js.map +0 -1
  350. package/dist/cjs/tests/unit/flowlogger-eventstore.test.d.ts +0 -1
  351. package/dist/cjs/tests/unit/flowlogger-eventstore.test.js +0 -250
  352. package/dist/cjs/tests/unit/flowlogger-eventstore.test.js.map +0 -1
  353. package/dist/cjs/tests/unit/frame-registry-oopif-adoption.test.d.ts +0 -1
  354. package/dist/cjs/tests/unit/frame-registry-oopif-adoption.test.js +0 -60
  355. package/dist/cjs/tests/unit/frame-registry-oopif-adoption.test.js.map +0 -1
  356. package/dist/cjs/tests/unit/helpers/mockCDPSession.d.ts +0 -19
  357. package/dist/cjs/tests/unit/helpers/mockCDPSession.js +0 -29
  358. package/dist/cjs/tests/unit/helpers/mockCDPSession.js.map +0 -1
  359. package/dist/cjs/tests/unit/inference-temperature.test.d.ts +0 -1
  360. package/dist/cjs/tests/unit/inference-temperature.test.js +0 -65
  361. package/dist/cjs/tests/unit/inference-temperature.test.js.map +0 -1
  362. package/dist/cjs/tests/unit/llm-middleware.test.d.ts +0 -1
  363. package/dist/cjs/tests/unit/llm-middleware.test.js +0 -495
  364. package/dist/cjs/tests/unit/llm-middleware.test.js.map +0 -1
  365. package/dist/cjs/tests/unit/llm-provider.test.d.ts +0 -1
  366. package/dist/cjs/tests/unit/llm-provider.test.js +0 -64
  367. package/dist/cjs/tests/unit/llm-provider.test.js.map +0 -1
  368. package/dist/cjs/tests/unit/microsoft-cua-client.test.d.ts +0 -1
  369. package/dist/cjs/tests/unit/microsoft-cua-client.test.js +0 -86
  370. package/dist/cjs/tests/unit/microsoft-cua-client.test.js.map +0 -1
  371. package/dist/cjs/tests/unit/model-deprecation.test.d.ts +0 -1
  372. package/dist/cjs/tests/unit/model-deprecation.test.js +0 -142
  373. package/dist/cjs/tests/unit/model-deprecation.test.js.map +0 -1
  374. package/dist/cjs/tests/unit/model-utils.test.d.ts +0 -1
  375. package/dist/cjs/tests/unit/model-utils.test.js +0 -42
  376. package/dist/cjs/tests/unit/model-utils.test.js.map +0 -1
  377. package/dist/cjs/tests/unit/openai-compatible-temperature.test.d.ts +0 -1
  378. package/dist/cjs/tests/unit/openai-compatible-temperature.test.js +0 -84
  379. package/dist/cjs/tests/unit/openai-compatible-temperature.test.js.map +0 -1
  380. package/dist/cjs/tests/unit/openai-cua-client.test.d.ts +0 -1
  381. package/dist/cjs/tests/unit/openai-cua-client.test.js +0 -71
  382. package/dist/cjs/tests/unit/openai-cua-client.test.js.map +0 -1
  383. package/dist/cjs/tests/unit/page-extra-http-headers.test.d.ts +0 -1
  384. package/dist/cjs/tests/unit/page-extra-http-headers.test.js +0 -92
  385. package/dist/cjs/tests/unit/page-extra-http-headers.test.js.map +0 -1
  386. package/dist/cjs/tests/unit/page-snapshot.test.d.ts +0 -1
  387. package/dist/cjs/tests/unit/page-snapshot.test.js +0 -75
  388. package/dist/cjs/tests/unit/page-snapshot.test.js.map +0 -1
  389. package/dist/cjs/tests/unit/prompt-observe-variables.test.d.ts +0 -1
  390. package/dist/cjs/tests/unit/prompt-observe-variables.test.js +0 -25
  391. package/dist/cjs/tests/unit/prompt-observe-variables.test.js.map +0 -1
  392. package/dist/cjs/tests/unit/public-api/export-surface.test.d.ts +0 -1
  393. package/dist/cjs/tests/unit/public-api/export-surface.test.js +0 -107
  394. package/dist/cjs/tests/unit/public-api/export-surface.test.js.map +0 -1
  395. package/dist/cjs/tests/unit/public-api/llm-and-agents.test.d.ts +0 -1
  396. package/dist/cjs/tests/unit/public-api/llm-and-agents.test.js +0 -179
  397. package/dist/cjs/tests/unit/public-api/llm-and-agents.test.js.map +0 -1
  398. package/dist/cjs/tests/unit/public-api/public-error-types.test.d.ts +0 -62
  399. package/dist/cjs/tests/unit/public-api/public-error-types.test.js +0 -110
  400. package/dist/cjs/tests/unit/public-api/public-error-types.test.js.map +0 -1
  401. package/dist/cjs/tests/unit/public-api/public-types.test.d.ts +0 -1
  402. package/dist/cjs/tests/unit/public-api/public-types.test.js +0 -99
  403. package/dist/cjs/tests/unit/public-api/public-types.test.js.map +0 -1
  404. package/dist/cjs/tests/unit/public-api/runtime-utils.test.d.ts +0 -1
  405. package/dist/cjs/tests/unit/public-api/runtime-utils.test.js +0 -60
  406. package/dist/cjs/tests/unit/public-api/runtime-utils.test.js.map +0 -1
  407. package/dist/cjs/tests/unit/public-api/schema-utils.test.d.ts +0 -1
  408. package/dist/cjs/tests/unit/public-api/schema-utils.test.js +0 -95
  409. package/dist/cjs/tests/unit/public-api/schema-utils.test.js.map +0 -1
  410. package/dist/cjs/tests/unit/public-api/timeout-error-types.test.d.ts +0 -1
  411. package/dist/cjs/tests/unit/public-api/timeout-error-types.test.js +0 -121
  412. package/dist/cjs/tests/unit/public-api/timeout-error-types.test.js.map +0 -1
  413. package/dist/cjs/tests/unit/public-api/tool-type-export.test.d.ts +0 -1
  414. package/dist/cjs/tests/unit/public-api/tool-type-export.test.js +0 -65
  415. package/dist/cjs/tests/unit/public-api/tool-type-export.test.js.map +0 -1
  416. package/dist/cjs/tests/unit/public-api/v3-core.test.d.ts +0 -1
  417. package/dist/cjs/tests/unit/public-api/v3-core.test.js +0 -108
  418. package/dist/cjs/tests/unit/public-api/v3-core.test.js.map +0 -1
  419. package/dist/cjs/tests/unit/safety-confirmation.test.d.ts +0 -1
  420. package/dist/cjs/tests/unit/safety-confirmation.test.js +0 -110
  421. package/dist/cjs/tests/unit/safety-confirmation.test.js.map +0 -1
  422. package/dist/cjs/tests/unit/snapshot-a11y-resolvers.test.d.ts +0 -1
  423. package/dist/cjs/tests/unit/snapshot-a11y-resolvers.test.js +0 -431
  424. package/dist/cjs/tests/unit/snapshot-a11y-resolvers.test.js.map +0 -1
  425. package/dist/cjs/tests/unit/snapshot-a11y-tree-utils.test.d.ts +0 -1
  426. package/dist/cjs/tests/unit/snapshot-a11y-tree-utils.test.js +0 -306
  427. package/dist/cjs/tests/unit/snapshot-a11y-tree-utils.test.js.map +0 -1
  428. package/dist/cjs/tests/unit/snapshot-capture-orchestration.test.d.ts +0 -1
  429. package/dist/cjs/tests/unit/snapshot-capture-orchestration.test.js +0 -504
  430. package/dist/cjs/tests/unit/snapshot-capture-orchestration.test.js.map +0 -1
  431. package/dist/cjs/tests/unit/snapshot-cbor.test.d.ts +0 -1
  432. package/dist/cjs/tests/unit/snapshot-cbor.test.js +0 -204
  433. package/dist/cjs/tests/unit/snapshot-cbor.test.js.map +0 -1
  434. package/dist/cjs/tests/unit/snapshot-dom-session-builders.test.d.ts +0 -1
  435. package/dist/cjs/tests/unit/snapshot-dom-session-builders.test.js +0 -220
  436. package/dist/cjs/tests/unit/snapshot-dom-session-builders.test.js.map +0 -1
  437. package/dist/cjs/tests/unit/snapshot-dom-tree-utils.test.d.ts +0 -1
  438. package/dist/cjs/tests/unit/snapshot-dom-tree-utils.test.js +0 -107
  439. package/dist/cjs/tests/unit/snapshot-dom-tree-utils.test.js.map +0 -1
  440. package/dist/cjs/tests/unit/snapshot-focus-selectors-utils.test.d.ts +0 -1
  441. package/dist/cjs/tests/unit/snapshot-focus-selectors-utils.test.js +0 -89
  442. package/dist/cjs/tests/unit/snapshot-focus-selectors-utils.test.js.map +0 -1
  443. package/dist/cjs/tests/unit/snapshot-frame-merge.test.d.ts +0 -1
  444. package/dist/cjs/tests/unit/snapshot-frame-merge.test.js +0 -335
  445. package/dist/cjs/tests/unit/snapshot-frame-merge.test.js.map +0 -1
  446. package/dist/cjs/tests/unit/snapshot-tree-format-utils.test.d.ts +0 -1
  447. package/dist/cjs/tests/unit/snapshot-tree-format-utils.test.js +0 -84
  448. package/dist/cjs/tests/unit/snapshot-tree-format-utils.test.js.map +0 -1
  449. package/dist/cjs/tests/unit/snapshot-xpath-utils.test.d.ts +0 -1
  450. package/dist/cjs/tests/unit/snapshot-xpath-utils.test.js +0 -74
  451. package/dist/cjs/tests/unit/snapshot-xpath-utils.test.js.map +0 -1
  452. package/dist/cjs/tests/unit/timeout-handlers.test.d.ts +0 -1
  453. package/dist/cjs/tests/unit/timeout-handlers.test.js +0 -897
  454. package/dist/cjs/tests/unit/timeout-handlers.test.js.map +0 -1
  455. package/dist/cjs/tests/unit/understudy-command-exception.test.d.ts +0 -1
  456. package/dist/cjs/tests/unit/understudy-command-exception.test.js +0 -57
  457. package/dist/cjs/tests/unit/understudy-command-exception.test.js.map +0 -1
  458. package/dist/cjs/tests/unit/xpath-parser.test.d.ts +0 -1
  459. package/dist/cjs/tests/unit/xpath-parser.test.js +0 -311
  460. package/dist/cjs/tests/unit/xpath-parser.test.js.map +0 -1
  461. package/dist/cjs/tests/unit/xpath-resolver.test.d.ts +0 -1
  462. package/dist/cjs/tests/unit/xpath-resolver.test.js +0 -80
  463. package/dist/cjs/tests/unit/xpath-resolver.test.js.map +0 -1
  464. package/dist/cjs/tests/unit/zod-enum-compatibility.test.d.ts +0 -1
  465. package/dist/cjs/tests/unit/zod-enum-compatibility.test.js +0 -149
  466. package/dist/cjs/tests/unit/zod-enum-compatibility.test.js.map +0 -1
  467. package/dist/esm/tests/cache-variables.test.d.ts +0 -1
  468. package/dist/esm/tests/cache-variables.test.js +0 -219
  469. package/dist/esm/tests/cache-variables.test.js.map +0 -1
  470. package/dist/esm/tests/integration/agent-abort-signal.spec.d.ts +0 -1
  471. package/dist/esm/tests/integration/agent-abort-signal.spec.js +0 -121
  472. package/dist/esm/tests/integration/agent-abort-signal.spec.js.map +0 -1
  473. package/dist/esm/tests/integration/agent-cache-self-heal.spec.d.ts +0 -1
  474. package/dist/esm/tests/integration/agent-cache-self-heal.spec.js +0 -78
  475. package/dist/esm/tests/integration/agent-cache-self-heal.spec.js.map +0 -1
  476. package/dist/esm/tests/integration/agent-callbacks.spec.d.ts +0 -1
  477. package/dist/esm/tests/integration/agent-callbacks.spec.js +0 -383
  478. package/dist/esm/tests/integration/agent-callbacks.spec.js.map +0 -1
  479. package/dist/esm/tests/integration/agent-experimental-validation.spec.d.ts +0 -1
  480. package/dist/esm/tests/integration/agent-experimental-validation.spec.js +0 -360
  481. package/dist/esm/tests/integration/agent-experimental-validation.spec.js.map +0 -1
  482. package/dist/esm/tests/integration/agent-hybrid-mode.spec.d.ts +0 -1
  483. package/dist/esm/tests/integration/agent-hybrid-mode.spec.js +0 -260
  484. package/dist/esm/tests/integration/agent-hybrid-mode.spec.js.map +0 -1
  485. package/dist/esm/tests/integration/agent-message-continuation.spec.d.ts +0 -1
  486. package/dist/esm/tests/integration/agent-message-continuation.spec.js +0 -110
  487. package/dist/esm/tests/integration/agent-message-continuation.spec.js.map +0 -1
  488. package/dist/esm/tests/integration/agent-streaming.spec.d.ts +0 -1
  489. package/dist/esm/tests/integration/agent-streaming.spec.js +0 -138
  490. package/dist/esm/tests/integration/agent-streaming.spec.js.map +0 -1
  491. package/dist/esm/tests/integration/cdp-close-api-region.spec.d.ts +0 -1
  492. package/dist/esm/tests/integration/cdp-close-api-region.spec.js +0 -39
  493. package/dist/esm/tests/integration/cdp-close-api-region.spec.js.map +0 -1
  494. package/dist/esm/tests/integration/cdp-connection-close.spec.d.ts +0 -1
  495. package/dist/esm/tests/integration/cdp-connection-close.spec.js +0 -74
  496. package/dist/esm/tests/integration/cdp-connection-close.spec.js.map +0 -1
  497. package/dist/esm/tests/integration/cdp-session-detached.spec.d.ts +0 -1
  498. package/dist/esm/tests/integration/cdp-session-detached.spec.js +0 -43
  499. package/dist/esm/tests/integration/cdp-session-detached.spec.js.map +0 -1
  500. package/dist/esm/tests/integration/chrome-newtab-page-tracking.spec.d.ts +0 -1
  501. package/dist/esm/tests/integration/chrome-newtab-page-tracking.spec.js +0 -54
  502. package/dist/esm/tests/integration/chrome-newtab-page-tracking.spec.js.map +0 -1
  503. package/dist/esm/tests/integration/click-count.spec.d.ts +0 -1
  504. package/dist/esm/tests/integration/click-count.spec.js +0 -161
  505. package/dist/esm/tests/integration/click-count.spec.js.map +0 -1
  506. package/dist/esm/tests/integration/connect-to-existing-browser.spec.d.ts +0 -1
  507. package/dist/esm/tests/integration/connect-to-existing-browser.spec.js +0 -97
  508. package/dist/esm/tests/integration/connect-to-existing-browser.spec.js.map +0 -1
  509. package/dist/esm/tests/integration/context-addInitScript.spec.d.ts +0 -1
  510. package/dist/esm/tests/integration/context-addInitScript.spec.js +0 -283
  511. package/dist/esm/tests/integration/context-addInitScript.spec.js.map +0 -1
  512. package/dist/esm/tests/integration/context-extra-http-headers.spec.d.ts +0 -1
  513. package/dist/esm/tests/integration/context-extra-http-headers.spec.js +0 -47
  514. package/dist/esm/tests/integration/context-extra-http-headers.spec.js.map +0 -1
  515. package/dist/esm/tests/integration/cookies.spec.d.ts +0 -1
  516. package/dist/esm/tests/integration/cookies.spec.js +0 -185
  517. package/dist/esm/tests/integration/cookies.spec.js.map +0 -1
  518. package/dist/esm/tests/integration/default-page-tracking.spec.d.ts +0 -1
  519. package/dist/esm/tests/integration/default-page-tracking.spec.js +0 -50
  520. package/dist/esm/tests/integration/default-page-tracking.spec.js.map +0 -1
  521. package/dist/esm/tests/integration/downloads.spec.d.ts +0 -1
  522. package/dist/esm/tests/integration/downloads.spec.js +0 -47
  523. package/dist/esm/tests/integration/downloads.spec.js.map +0 -1
  524. package/dist/esm/tests/integration/flowLogger.spec.d.ts +0 -1
  525. package/dist/esm/tests/integration/flowLogger.spec.js +0 -716
  526. package/dist/esm/tests/integration/flowLogger.spec.js.map +0 -1
  527. package/dist/esm/tests/integration/frame-get-location-and-click.spec.d.ts +0 -1
  528. package/dist/esm/tests/integration/frame-get-location-and-click.spec.js +0 -55
  529. package/dist/esm/tests/integration/frame-get-location-and-click.spec.js.map +0 -1
  530. package/dist/esm/tests/integration/iframe-ctx-addInitScript-race.spec.d.ts +0 -1
  531. package/dist/esm/tests/integration/iframe-ctx-addInitScript-race.spec.js +0 -217
  532. package/dist/esm/tests/integration/iframe-ctx-addInitScript-race.spec.js.map +0 -1
  533. package/dist/esm/tests/integration/iframe-ctx-addInitScript.spec.d.ts +0 -1
  534. package/dist/esm/tests/integration/iframe-ctx-addInitScript.spec.js +0 -472
  535. package/dist/esm/tests/integration/iframe-ctx-addInitScript.spec.js.map +0 -1
  536. package/dist/esm/tests/integration/keep-alive.child.d.ts +0 -1
  537. package/dist/esm/tests/integration/keep-alive.child.js +0 -83
  538. package/dist/esm/tests/integration/keep-alive.child.js.map +0 -1
  539. package/dist/esm/tests/integration/keep-alive.spec.d.ts +0 -22
  540. package/dist/esm/tests/integration/keep-alive.spec.js +0 -482
  541. package/dist/esm/tests/integration/keep-alive.spec.js.map +0 -1
  542. package/dist/esm/tests/integration/keyboard.spec.d.ts +0 -1
  543. package/dist/esm/tests/integration/keyboard.spec.js +0 -257
  544. package/dist/esm/tests/integration/keyboard.spec.js.map +0 -1
  545. package/dist/esm/tests/integration/locator-backend-node-id.spec.d.ts +0 -1
  546. package/dist/esm/tests/integration/locator-backend-node-id.spec.js +0 -148
  547. package/dist/esm/tests/integration/locator-backend-node-id.spec.js.map +0 -1
  548. package/dist/esm/tests/integration/locator-content-methods.spec.d.ts +0 -1
  549. package/dist/esm/tests/integration/locator-content-methods.spec.js +0 -178
  550. package/dist/esm/tests/integration/locator-content-methods.spec.js.map +0 -1
  551. package/dist/esm/tests/integration/locator-count-iframe.spec.d.ts +0 -1
  552. package/dist/esm/tests/integration/locator-count-iframe.spec.js +0 -127
  553. package/dist/esm/tests/integration/locator-count-iframe.spec.js.map +0 -1
  554. package/dist/esm/tests/integration/locator-count.spec.d.ts +0 -1
  555. package/dist/esm/tests/integration/locator-count.spec.js +0 -66
  556. package/dist/esm/tests/integration/locator-count.spec.js.map +0 -1
  557. package/dist/esm/tests/integration/locator-fill.spec.d.ts +0 -1
  558. package/dist/esm/tests/integration/locator-fill.spec.js +0 -115
  559. package/dist/esm/tests/integration/locator-fill.spec.js.map +0 -1
  560. package/dist/esm/tests/integration/locator-input-methods.spec.d.ts +0 -1
  561. package/dist/esm/tests/integration/locator-input-methods.spec.js +0 -125
  562. package/dist/esm/tests/integration/locator-input-methods.spec.js.map +0 -1
  563. package/dist/esm/tests/integration/locator-nth.spec.d.ts +0 -1
  564. package/dist/esm/tests/integration/locator-nth.spec.js +0 -173
  565. package/dist/esm/tests/integration/locator-nth.spec.js.map +0 -1
  566. package/dist/esm/tests/integration/locator-select-option.spec.d.ts +0 -1
  567. package/dist/esm/tests/integration/locator-select-option.spec.js +0 -214
  568. package/dist/esm/tests/integration/locator-select-option.spec.js.map +0 -1
  569. package/dist/esm/tests/integration/logger-initialization.spec.d.ts +0 -1
  570. package/dist/esm/tests/integration/logger-initialization.spec.js +0 -595
  571. package/dist/esm/tests/integration/logger-initialization.spec.js.map +0 -1
  572. package/dist/esm/tests/integration/multi-instance-logger.spec.d.ts +0 -1
  573. package/dist/esm/tests/integration/multi-instance-logger.spec.js +0 -291
  574. package/dist/esm/tests/integration/multi-instance-logger.spec.js.map +0 -1
  575. package/dist/esm/tests/integration/nested-div.spec.d.ts +0 -1
  576. package/dist/esm/tests/integration/nested-div.spec.js +0 -20
  577. package/dist/esm/tests/integration/nested-div.spec.js.map +0 -1
  578. package/dist/esm/tests/integration/observe-element-id-format.spec.d.ts +0 -1
  579. package/dist/esm/tests/integration/observe-element-id-format.spec.js +0 -128
  580. package/dist/esm/tests/integration/observe-element-id-format.spec.js.map +0 -1
  581. package/dist/esm/tests/integration/page-addInitScript.spec.d.ts +0 -1
  582. package/dist/esm/tests/integration/page-addInitScript.spec.js +0 -92
  583. package/dist/esm/tests/integration/page-addInitScript.spec.js.map +0 -1
  584. package/dist/esm/tests/integration/page-console.spec.d.ts +0 -1
  585. package/dist/esm/tests/integration/page-console.spec.js +0 -45
  586. package/dist/esm/tests/integration/page-console.spec.js.map +0 -1
  587. package/dist/esm/tests/integration/page-drag-and-drop.spec.d.ts +0 -1
  588. package/dist/esm/tests/integration/page-drag-and-drop.spec.js +0 -435
  589. package/dist/esm/tests/integration/page-drag-and-drop.spec.js.map +0 -1
  590. package/dist/esm/tests/integration/page-extra-http-headers.spec.d.ts +0 -1
  591. package/dist/esm/tests/integration/page-extra-http-headers.spec.js +0 -83
  592. package/dist/esm/tests/integration/page-extra-http-headers.spec.js.map +0 -1
  593. package/dist/esm/tests/integration/page-goto-response.spec.d.ts +0 -1
  594. package/dist/esm/tests/integration/page-goto-response.spec.js +0 -32
  595. package/dist/esm/tests/integration/page-goto-response.spec.js.map +0 -1
  596. package/dist/esm/tests/integration/page-hover.spec.d.ts +0 -1
  597. package/dist/esm/tests/integration/page-hover.spec.js +0 -163
  598. package/dist/esm/tests/integration/page-hover.spec.js.map +0 -1
  599. package/dist/esm/tests/integration/page-screenshot.spec.d.ts +0 -1
  600. package/dist/esm/tests/integration/page-screenshot.spec.js +0 -257
  601. package/dist/esm/tests/integration/page-screenshot.spec.js.map +0 -1
  602. package/dist/esm/tests/integration/page-scroll.spec.d.ts +0 -1
  603. package/dist/esm/tests/integration/page-scroll.spec.js +0 -181
  604. package/dist/esm/tests/integration/page-scroll.spec.js.map +0 -1
  605. package/dist/esm/tests/integration/page-send-cdp.spec.d.ts +0 -1
  606. package/dist/esm/tests/integration/page-send-cdp.spec.js +0 -45
  607. package/dist/esm/tests/integration/page-send-cdp.spec.js.map +0 -1
  608. package/dist/esm/tests/integration/perform-understudy-method.spec.d.ts +0 -1
  609. package/dist/esm/tests/integration/perform-understudy-method.spec.js +0 -61
  610. package/dist/esm/tests/integration/perform-understudy-method.spec.js.map +0 -1
  611. package/dist/esm/tests/integration/setinputfiles.spec.d.ts +0 -1
  612. package/dist/esm/tests/integration/setinputfiles.spec.js +0 -128
  613. package/dist/esm/tests/integration/setinputfiles.spec.js.map +0 -1
  614. package/dist/esm/tests/integration/shadow-iframe-oopif.spec.d.ts +0 -1
  615. package/dist/esm/tests/integration/shadow-iframe-oopif.spec.js +0 -156
  616. package/dist/esm/tests/integration/shadow-iframe-oopif.spec.js.map +0 -1
  617. package/dist/esm/tests/integration/shadow-iframe-spif.spec.d.ts +0 -1
  618. package/dist/esm/tests/integration/shadow-iframe-spif.spec.js +0 -155
  619. package/dist/esm/tests/integration/shadow-iframe-spif.spec.js.map +0 -1
  620. package/dist/esm/tests/integration/testUtils.d.ts +0 -40
  621. package/dist/esm/tests/integration/testUtils.js +0 -178
  622. package/dist/esm/tests/integration/testUtils.js.map +0 -1
  623. package/dist/esm/tests/integration/text-selector-innermost.spec.d.ts +0 -1
  624. package/dist/esm/tests/integration/text-selector-innermost.spec.js +0 -103
  625. package/dist/esm/tests/integration/text-selector-innermost.spec.js.map +0 -1
  626. package/dist/esm/tests/integration/timeouts.spec.d.ts +0 -1
  627. package/dist/esm/tests/integration/timeouts.spec.js +0 -307
  628. package/dist/esm/tests/integration/timeouts.spec.js.map +0 -1
  629. package/dist/esm/tests/integration/user-data-dir.spec.d.ts +0 -1
  630. package/dist/esm/tests/integration/user-data-dir.spec.js +0 -42
  631. package/dist/esm/tests/integration/user-data-dir.spec.js.map +0 -1
  632. package/dist/esm/tests/integration/v3.config.d.ts +0 -4
  633. package/dist/esm/tests/integration/v3.config.js +0 -7
  634. package/dist/esm/tests/integration/v3.config.js.map +0 -1
  635. package/dist/esm/tests/integration/v3.dynamic.config.d.ts +0 -4
  636. package/dist/esm/tests/integration/v3.dynamic.config.js +0 -44
  637. package/dist/esm/tests/integration/v3.dynamic.config.js.map +0 -1
  638. package/dist/esm/tests/integration/v3.playwright.config.d.ts +0 -2
  639. package/dist/esm/tests/integration/v3.playwright.config.js +0 -46
  640. package/dist/esm/tests/integration/v3.playwright.config.js.map +0 -1
  641. package/dist/esm/tests/integration/wait-for-selector.spec.d.ts +0 -1
  642. package/dist/esm/tests/integration/wait-for-selector.spec.js +0 -681
  643. package/dist/esm/tests/integration/wait-for-selector.spec.js.map +0 -1
  644. package/dist/esm/tests/integration/wait-for-timeout.spec.d.ts +0 -1
  645. package/dist/esm/tests/integration/wait-for-timeout.spec.js +0 -116
  646. package/dist/esm/tests/integration/wait-for-timeout.spec.js.map +0 -1
  647. package/dist/esm/tests/integration/xpath-for-location-deep.spec.d.ts +0 -1
  648. package/dist/esm/tests/integration/xpath-for-location-deep.spec.js +0 -85
  649. package/dist/esm/tests/integration/xpath-for-location-deep.spec.js.map +0 -1
  650. package/dist/esm/tests/unit/agent-captcha-hooks.test.d.ts +0 -1
  651. package/dist/esm/tests/unit/agent-captcha-hooks.test.js +0 -339
  652. package/dist/esm/tests/unit/agent-captcha-hooks.test.js.map +0 -1
  653. package/dist/esm/tests/unit/agent-execution-model.test.d.ts +0 -1
  654. package/dist/esm/tests/unit/agent-execution-model.test.js +0 -148
  655. package/dist/esm/tests/unit/agent-execution-model.test.js.map +0 -1
  656. package/dist/esm/tests/unit/agent-metrics.test.d.ts +0 -1
  657. package/dist/esm/tests/unit/agent-metrics.test.js +0 -110
  658. package/dist/esm/tests/unit/agent-metrics.test.js.map +0 -1
  659. package/dist/esm/tests/unit/agent-mode-routing.test.d.ts +0 -1
  660. package/dist/esm/tests/unit/agent-mode-routing.test.js +0 -86
  661. package/dist/esm/tests/unit/agent-mode-routing.test.js.map +0 -1
  662. package/dist/esm/tests/unit/agent-system-prompt-variables.test.d.ts +0 -1
  663. package/dist/esm/tests/unit/agent-system-prompt-variables.test.js +0 -21
  664. package/dist/esm/tests/unit/agent-system-prompt-variables.test.js.map +0 -1
  665. package/dist/esm/tests/unit/agent-temperature.test.d.ts +0 -1
  666. package/dist/esm/tests/unit/agent-temperature.test.js +0 -189
  667. package/dist/esm/tests/unit/agent-temperature.test.js.map +0 -1
  668. package/dist/esm/tests/unit/agent-variables-validation.test.d.ts +0 -1
  669. package/dist/esm/tests/unit/agent-variables-validation.test.js +0 -41
  670. package/dist/esm/tests/unit/agent-variables-validation.test.js.map +0 -1
  671. package/dist/esm/tests/unit/aisdk-clients.test.d.ts +0 -1
  672. package/dist/esm/tests/unit/aisdk-clients.test.js +0 -84
  673. package/dist/esm/tests/unit/aisdk-clients.test.js.map +0 -1
  674. package/dist/esm/tests/unit/anthropic-cua-adaptive-thinking.test.d.ts +0 -1
  675. package/dist/esm/tests/unit/anthropic-cua-adaptive-thinking.test.js +0 -245
  676. package/dist/esm/tests/unit/anthropic-cua-adaptive-thinking.test.js.map +0 -1
  677. package/dist/esm/tests/unit/api-client-observe-variables.test.d.ts +0 -1
  678. package/dist/esm/tests/unit/api-client-observe-variables.test.js +0 -131
  679. package/dist/esm/tests/unit/api-client-observe-variables.test.js.map +0 -1
  680. package/dist/esm/tests/unit/api-multiregion.test.d.ts +0 -1
  681. package/dist/esm/tests/unit/api-multiregion.test.js +0 -56
  682. package/dist/esm/tests/unit/api-multiregion.test.js.map +0 -1
  683. package/dist/esm/tests/unit/api-optional-model-api-key.test.d.ts +0 -1
  684. package/dist/esm/tests/unit/api-optional-model-api-key.test.js +0 -153
  685. package/dist/esm/tests/unit/api-optional-model-api-key.test.js.map +0 -1
  686. package/dist/esm/tests/unit/api-variables-schema.test.d.ts +0 -1
  687. package/dist/esm/tests/unit/api-variables-schema.test.js +0 -60
  688. package/dist/esm/tests/unit/api-variables-schema.test.js.map +0 -1
  689. package/dist/esm/tests/unit/browserbase-session-accessors.test.d.ts +0 -1
  690. package/dist/esm/tests/unit/browserbase-session-accessors.test.js +0 -140
  691. package/dist/esm/tests/unit/browserbase-session-accessors.test.js.map +0 -1
  692. package/dist/esm/tests/unit/cache-llm-resolution.test.d.ts +0 -1
  693. package/dist/esm/tests/unit/cache-llm-resolution.test.js +0 -184
  694. package/dist/esm/tests/unit/cache-llm-resolution.test.js.map +0 -1
  695. package/dist/esm/tests/unit/captcha-solver.test.d.ts +0 -1
  696. package/dist/esm/tests/unit/captcha-solver.test.js +0 -152
  697. package/dist/esm/tests/unit/captcha-solver.test.js.map +0 -1
  698. package/dist/esm/tests/unit/cdp-connection-close.test.d.ts +0 -1
  699. package/dist/esm/tests/unit/cdp-connection-close.test.js +0 -72
  700. package/dist/esm/tests/unit/cdp-connection-close.test.js.map +0 -1
  701. package/dist/esm/tests/unit/context-extra-http-headers.test.d.ts +0 -1
  702. package/dist/esm/tests/unit/context-extra-http-headers.test.js +0 -56
  703. package/dist/esm/tests/unit/context-extra-http-headers.test.js.map +0 -1
  704. package/dist/esm/tests/unit/cookies.test.d.ts +0 -1
  705. package/dist/esm/tests/unit/cookies.test.js +0 -909
  706. package/dist/esm/tests/unit/cookies.test.js.map +0 -1
  707. package/dist/esm/tests/unit/flowlogger-capturing-cdp.test.d.ts +0 -1
  708. package/dist/esm/tests/unit/flowlogger-capturing-cdp.test.js +0 -93
  709. package/dist/esm/tests/unit/flowlogger-capturing-cdp.test.js.map +0 -1
  710. package/dist/esm/tests/unit/flowlogger-capturing-llm.test.d.ts +0 -1
  711. package/dist/esm/tests/unit/flowlogger-capturing-llm.test.js +0 -41
  712. package/dist/esm/tests/unit/flowlogger-capturing-llm.test.js.map +0 -1
  713. package/dist/esm/tests/unit/flowlogger-eventstore.test.d.ts +0 -1
  714. package/dist/esm/tests/unit/flowlogger-eventstore.test.js +0 -248
  715. package/dist/esm/tests/unit/flowlogger-eventstore.test.js.map +0 -1
  716. package/dist/esm/tests/unit/frame-registry-oopif-adoption.test.d.ts +0 -1
  717. package/dist/esm/tests/unit/frame-registry-oopif-adoption.test.js +0 -58
  718. package/dist/esm/tests/unit/frame-registry-oopif-adoption.test.js.map +0 -1
  719. package/dist/esm/tests/unit/helpers/mockCDPSession.d.ts +0 -19
  720. package/dist/esm/tests/unit/helpers/mockCDPSession.js +0 -25
  721. package/dist/esm/tests/unit/helpers/mockCDPSession.js.map +0 -1
  722. package/dist/esm/tests/unit/inference-temperature.test.d.ts +0 -1
  723. package/dist/esm/tests/unit/inference-temperature.test.js +0 -63
  724. package/dist/esm/tests/unit/inference-temperature.test.js.map +0 -1
  725. package/dist/esm/tests/unit/llm-middleware.test.d.ts +0 -1
  726. package/dist/esm/tests/unit/llm-middleware.test.js +0 -460
  727. package/dist/esm/tests/unit/llm-middleware.test.js.map +0 -1
  728. package/dist/esm/tests/unit/llm-provider.test.d.ts +0 -1
  729. package/dist/esm/tests/unit/llm-provider.test.js +0 -62
  730. package/dist/esm/tests/unit/llm-provider.test.js.map +0 -1
  731. package/dist/esm/tests/unit/microsoft-cua-client.test.d.ts +0 -1
  732. package/dist/esm/tests/unit/microsoft-cua-client.test.js +0 -84
  733. package/dist/esm/tests/unit/microsoft-cua-client.test.js.map +0 -1
  734. package/dist/esm/tests/unit/model-deprecation.test.d.ts +0 -1
  735. package/dist/esm/tests/unit/model-deprecation.test.js +0 -140
  736. package/dist/esm/tests/unit/model-deprecation.test.js.map +0 -1
  737. package/dist/esm/tests/unit/model-utils.test.d.ts +0 -1
  738. package/dist/esm/tests/unit/model-utils.test.js +0 -40
  739. package/dist/esm/tests/unit/model-utils.test.js.map +0 -1
  740. package/dist/esm/tests/unit/openai-compatible-temperature.test.d.ts +0 -1
  741. package/dist/esm/tests/unit/openai-compatible-temperature.test.js +0 -82
  742. package/dist/esm/tests/unit/openai-compatible-temperature.test.js.map +0 -1
  743. package/dist/esm/tests/unit/openai-cua-client.test.d.ts +0 -1
  744. package/dist/esm/tests/unit/openai-cua-client.test.js +0 -69
  745. package/dist/esm/tests/unit/openai-cua-client.test.js.map +0 -1
  746. package/dist/esm/tests/unit/page-extra-http-headers.test.d.ts +0 -1
  747. package/dist/esm/tests/unit/page-extra-http-headers.test.js +0 -90
  748. package/dist/esm/tests/unit/page-extra-http-headers.test.js.map +0 -1
  749. package/dist/esm/tests/unit/page-snapshot.test.d.ts +0 -1
  750. package/dist/esm/tests/unit/page-snapshot.test.js +0 -40
  751. package/dist/esm/tests/unit/page-snapshot.test.js.map +0 -1
  752. package/dist/esm/tests/unit/prompt-observe-variables.test.d.ts +0 -1
  753. package/dist/esm/tests/unit/prompt-observe-variables.test.js +0 -23
  754. package/dist/esm/tests/unit/prompt-observe-variables.test.js.map +0 -1
  755. package/dist/esm/tests/unit/public-api/export-surface.test.d.ts +0 -1
  756. package/dist/esm/tests/unit/public-api/export-surface.test.js +0 -72
  757. package/dist/esm/tests/unit/public-api/export-surface.test.js.map +0 -1
  758. package/dist/esm/tests/unit/public-api/llm-and-agents.test.d.ts +0 -1
  759. package/dist/esm/tests/unit/public-api/llm-and-agents.test.js +0 -144
  760. package/dist/esm/tests/unit/public-api/llm-and-agents.test.js.map +0 -1
  761. package/dist/esm/tests/unit/public-api/public-error-types.test.d.ts +0 -62
  762. package/dist/esm/tests/unit/public-api/public-error-types.test.js +0 -74
  763. package/dist/esm/tests/unit/public-api/public-error-types.test.js.map +0 -1
  764. package/dist/esm/tests/unit/public-api/public-types.test.d.ts +0 -1
  765. package/dist/esm/tests/unit/public-api/public-types.test.js +0 -97
  766. package/dist/esm/tests/unit/public-api/public-types.test.js.map +0 -1
  767. package/dist/esm/tests/unit/public-api/runtime-utils.test.d.ts +0 -1
  768. package/dist/esm/tests/unit/public-api/runtime-utils.test.js +0 -25
  769. package/dist/esm/tests/unit/public-api/runtime-utils.test.js.map +0 -1
  770. package/dist/esm/tests/unit/public-api/schema-utils.test.d.ts +0 -1
  771. package/dist/esm/tests/unit/public-api/schema-utils.test.js +0 -60
  772. package/dist/esm/tests/unit/public-api/schema-utils.test.js.map +0 -1
  773. package/dist/esm/tests/unit/public-api/timeout-error-types.test.d.ts +0 -1
  774. package/dist/esm/tests/unit/public-api/timeout-error-types.test.js +0 -86
  775. package/dist/esm/tests/unit/public-api/timeout-error-types.test.js.map +0 -1
  776. package/dist/esm/tests/unit/public-api/tool-type-export.test.d.ts +0 -1
  777. package/dist/esm/tests/unit/public-api/tool-type-export.test.js +0 -30
  778. package/dist/esm/tests/unit/public-api/tool-type-export.test.js.map +0 -1
  779. package/dist/esm/tests/unit/public-api/v3-core.test.d.ts +0 -1
  780. package/dist/esm/tests/unit/public-api/v3-core.test.js +0 -73
  781. package/dist/esm/tests/unit/public-api/v3-core.test.js.map +0 -1
  782. package/dist/esm/tests/unit/safety-confirmation.test.d.ts +0 -1
  783. package/dist/esm/tests/unit/safety-confirmation.test.js +0 -108
  784. package/dist/esm/tests/unit/safety-confirmation.test.js.map +0 -1
  785. package/dist/esm/tests/unit/snapshot-a11y-resolvers.test.d.ts +0 -1
  786. package/dist/esm/tests/unit/snapshot-a11y-resolvers.test.js +0 -396
  787. package/dist/esm/tests/unit/snapshot-a11y-resolvers.test.js.map +0 -1
  788. package/dist/esm/tests/unit/snapshot-a11y-tree-utils.test.d.ts +0 -1
  789. package/dist/esm/tests/unit/snapshot-a11y-tree-utils.test.js +0 -304
  790. package/dist/esm/tests/unit/snapshot-a11y-tree-utils.test.js.map +0 -1
  791. package/dist/esm/tests/unit/snapshot-capture-orchestration.test.d.ts +0 -1
  792. package/dist/esm/tests/unit/snapshot-capture-orchestration.test.js +0 -469
  793. package/dist/esm/tests/unit/snapshot-capture-orchestration.test.js.map +0 -1
  794. package/dist/esm/tests/unit/snapshot-cbor.test.d.ts +0 -1
  795. package/dist/esm/tests/unit/snapshot-cbor.test.js +0 -202
  796. package/dist/esm/tests/unit/snapshot-cbor.test.js.map +0 -1
  797. package/dist/esm/tests/unit/snapshot-dom-session-builders.test.d.ts +0 -1
  798. package/dist/esm/tests/unit/snapshot-dom-session-builders.test.js +0 -218
  799. package/dist/esm/tests/unit/snapshot-dom-session-builders.test.js.map +0 -1
  800. package/dist/esm/tests/unit/snapshot-dom-tree-utils.test.d.ts +0 -1
  801. package/dist/esm/tests/unit/snapshot-dom-tree-utils.test.js +0 -105
  802. package/dist/esm/tests/unit/snapshot-dom-tree-utils.test.js.map +0 -1
  803. package/dist/esm/tests/unit/snapshot-focus-selectors-utils.test.d.ts +0 -1
  804. package/dist/esm/tests/unit/snapshot-focus-selectors-utils.test.js +0 -87
  805. package/dist/esm/tests/unit/snapshot-focus-selectors-utils.test.js.map +0 -1
  806. package/dist/esm/tests/unit/snapshot-frame-merge.test.d.ts +0 -1
  807. package/dist/esm/tests/unit/snapshot-frame-merge.test.js +0 -333
  808. package/dist/esm/tests/unit/snapshot-frame-merge.test.js.map +0 -1
  809. package/dist/esm/tests/unit/snapshot-tree-format-utils.test.d.ts +0 -1
  810. package/dist/esm/tests/unit/snapshot-tree-format-utils.test.js +0 -82
  811. package/dist/esm/tests/unit/snapshot-tree-format-utils.test.js.map +0 -1
  812. package/dist/esm/tests/unit/snapshot-xpath-utils.test.d.ts +0 -1
  813. package/dist/esm/tests/unit/snapshot-xpath-utils.test.js +0 -72
  814. package/dist/esm/tests/unit/snapshot-xpath-utils.test.js.map +0 -1
  815. package/dist/esm/tests/unit/timeout-handlers.test.d.ts +0 -1
  816. package/dist/esm/tests/unit/timeout-handlers.test.js +0 -862
  817. package/dist/esm/tests/unit/timeout-handlers.test.js.map +0 -1
  818. package/dist/esm/tests/unit/understudy-command-exception.test.d.ts +0 -1
  819. package/dist/esm/tests/unit/understudy-command-exception.test.js +0 -55
  820. package/dist/esm/tests/unit/understudy-command-exception.test.js.map +0 -1
  821. package/dist/esm/tests/unit/xpath-parser.test.d.ts +0 -1
  822. package/dist/esm/tests/unit/xpath-parser.test.js +0 -309
  823. package/dist/esm/tests/unit/xpath-parser.test.js.map +0 -1
  824. package/dist/esm/tests/unit/xpath-resolver.test.d.ts +0 -1
  825. package/dist/esm/tests/unit/xpath-resolver.test.js +0 -78
  826. package/dist/esm/tests/unit/xpath-resolver.test.js.map +0 -1
  827. package/dist/esm/tests/unit/zod-enum-compatibility.test.d.ts +0 -1
  828. package/dist/esm/tests/unit/zod-enum-compatibility.test.js +0 -114
  829. package/dist/esm/tests/unit/zod-enum-compatibility.test.js.map +0 -1
@@ -1,63 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const test_1 = require("@playwright/test");
4
- const v3_js_1 = require("../../lib/v3/v3.js");
5
- const v3_dynamic_config_js_1 = require("./v3.dynamic.config.js");
6
- const actHandlerUtils_js_1 = require("../../lib/v3/handlers/handlerUtils/actHandlerUtils.js");
7
- const testUtils_js_1 = require("./testUtils.js");
8
- test_1.test.describe("tests performUnderstudyMethod", () => {
9
- let v3;
10
- test_1.test.beforeEach(async () => {
11
- v3 = new v3_js_1.V3(v3_dynamic_config_js_1.v3DynamicTestConfig);
12
- await v3.init();
13
- });
14
- test_1.test.afterEach(async () => {
15
- await (0, testUtils_js_1.closeV3)(v3);
16
- });
17
- (0, test_1.test)("tests that clicking works", async () => {
18
- const page = v3.context.pages()[0];
19
- await page.goto("https://browserbase.github.io/stagehand-eval-sites/sites/no-js-click/");
20
- await (0, actHandlerUtils_js_1.performUnderstudyMethod)(page, page.mainFrame(), "click", "/html/body/button", [], 30000);
21
- const isVisible = await page.locator("#success-msg").isVisible();
22
- (0, test_1.expect)(isVisible).toBe(true);
23
- });
24
- (0, test_1.test)("fill sets input value", async () => {
25
- const page = v3.context.pages()[0];
26
- await page.goto("https://browserbase.github.io/stagehand-eval-sites/sites/login/");
27
- await (0, actHandlerUtils_js_1.performUnderstudyMethod)(page, page.mainFrame(), "fill", "/html/body/main/form/div[1]/input", ["Alice"], 30000);
28
- const textContent = await page
29
- .locator("/html/body/main/form/div[1]/input")
30
- .inputValue();
31
- (0, test_1.expect)(textContent).toBe("Alice");
32
- });
33
- (0, test_1.test)("tests that key presses work", async () => {
34
- const page = v3.context.pages()[0];
35
- await page.goto("https://browserbase.github.io/stagehand-eval-sites/sites/key-press/");
36
- await (0, actHandlerUtils_js_1.performUnderstudyMethod)(page, page.mainFrame(), "press", "xpath=/html", ["Enter"], 30000);
37
- const textContent = await page
38
- .locator("/html/body/div/div/h1")
39
- .textContent();
40
- (0, test_1.expect)(textContent).toContain("Enter");
41
- });
42
- (0, test_1.test)("tests select option from a dropdown", async () => {
43
- const page = v3.context.pages()[0];
44
- await page.goto("https://browserbase.github.io/stagehand-eval-sites/sites/nested-dropdown/");
45
- await (0, actHandlerUtils_js_1.performUnderstudyMethod)(page, page.mainFrame(), "selectOptionFromDropdown", "xpath=//*[@id='licenseType']", ["Smog Check Technician"], 30000);
46
- const inputValue = await page
47
- .locator("#licenseType >> option:checked")
48
- .textContent();
49
- (0, test_1.expect)(inputValue).toBe("Smog Check Technician");
50
- });
51
- (0, test_1.test)("tests drag & drop works (start xpath & end xpath)", async () => {
52
- const page = v3.context.pages()[0];
53
- await page.goto("https://browserbase.github.io/stagehand-eval-sites/sites/drag-drop/");
54
- await (0, actHandlerUtils_js_1.performUnderstudyMethod)(page, page.mainFrame(), "dragAndDrop", "xpath=/html/body/div/section[1]/div[1]/div[1]", // start xpath
55
- ["/html/body/div/section[2]/div/div[1]"], // end xpath
56
- 30000);
57
- const droppedContent = await page
58
- .locator("/html/body/div/section[2]/div/div[1]/div")
59
- .textContent();
60
- (0, test_1.expect)(droppedContent).toBe("TEXT: Hello from text");
61
- });
62
- });
63
- //# sourceMappingURL=perform-understudy-method.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"perform-understudy-method.spec.js","sourceRoot":"","sources":["../../../../tests/integration/perform-understudy-method.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, test } from \"@playwright/test\";\nimport { V3 } from \"../../lib/v3/v3.js\";\nimport { v3DynamicTestConfig } from \"./v3.dynamic.config.js\";\nimport { performUnderstudyMethod } from \"../../lib/v3/handlers/handlerUtils/actHandlerUtils.js\";\nimport { closeV3 } from \"./testUtils.js\";\n\ntest.describe(\"tests performUnderstudyMethod\", () => {\n let v3: V3;\n\n test.beforeEach(async () => {\n v3 = new V3(v3DynamicTestConfig);\n await v3.init();\n });\n\n test.afterEach(async () => {\n await closeV3(v3);\n });\n\n test(\"tests that clicking works\", async () => {\n const page = v3.context.pages()[0];\n await page.goto(\n \"https://browserbase.github.io/stagehand-eval-sites/sites/no-js-click/\",\n );\n\n await performUnderstudyMethod(\n page,\n page.mainFrame(),\n \"click\",\n \"/html/body/button\",\n [],\n 30000,\n );\n\n const isVisible = await page.locator(\"#success-msg\").isVisible();\n expect(isVisible).toBe(true);\n });\n\n test(\"fill sets input value\", async () => {\n const page = v3.context.pages()[0];\n await page.goto(\n \"https://browserbase.github.io/stagehand-eval-sites/sites/login/\",\n );\n\n await performUnderstudyMethod(\n page,\n page.mainFrame(),\n \"fill\",\n \"/html/body/main/form/div[1]/input\",\n [\"Alice\"],\n 30000,\n );\n\n const textContent = await page\n .locator(\"/html/body/main/form/div[1]/input\")\n .inputValue();\n expect(textContent).toBe(\"Alice\");\n });\n\n test(\"tests that key presses work\", async () => {\n const page = v3.context.pages()[0];\n await page.goto(\n \"https://browserbase.github.io/stagehand-eval-sites/sites/key-press/\",\n );\n\n await performUnderstudyMethod(\n page,\n page.mainFrame(),\n \"press\",\n \"xpath=/html\",\n [\"Enter\"],\n 30000,\n );\n\n const textContent = await page\n .locator(\"/html/body/div/div/h1\")\n .textContent();\n expect(textContent).toContain(\"Enter\");\n });\n\n test(\"tests select option from a dropdown\", async () => {\n const page = v3.context.pages()[0];\n await page.goto(\n \"https://browserbase.github.io/stagehand-eval-sites/sites/nested-dropdown/\",\n );\n\n await performUnderstudyMethod(\n page,\n page.mainFrame(),\n \"selectOptionFromDropdown\",\n \"xpath=//*[@id='licenseType']\",\n [\"Smog Check Technician\"],\n 30000,\n );\n\n const inputValue = await page\n .locator(\"#licenseType >> option:checked\")\n .textContent();\n expect(inputValue).toBe(\"Smog Check Technician\");\n });\n\n test(\"tests drag & drop works (start xpath & end xpath)\", async () => {\n const page = v3.context.pages()[0];\n await page.goto(\n \"https://browserbase.github.io/stagehand-eval-sites/sites/drag-drop/\",\n );\n\n await performUnderstudyMethod(\n page,\n page.mainFrame(),\n \"dragAndDrop\",\n \"xpath=/html/body/div/section[1]/div[1]/div[1]\", // start xpath\n [\"/html/body/div/section[2]/div/div[1]\"], // end xpath\n 30000,\n );\n\n const droppedContent = await page\n .locator(\"/html/body/div/section[2]/div/div[1]/div\")\n .textContent();\n expect(droppedContent).toBe(\"TEXT: Hello from text\");\n });\n});\n"]}
@@ -1 +0,0 @@
1
- export {};
@@ -1,133 +0,0 @@
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
- const test_1 = require("@playwright/test");
7
- const buffer_1 = require("buffer");
8
- const fs_1 = require("fs");
9
- const path_1 = __importDefault(require("path"));
10
- const crypto_1 = __importDefault(require("crypto"));
11
- const v3_js_1 = require("../../lib/v3/v3.js");
12
- const v3_config_js_1 = require("./v3.config.js");
13
- const FILE_UPLOAD_IFRAME_URL = "https://browserbase.github.io/stagehand-eval-sites/sites/file-uploads-iframe/";
14
- const FILE_UPLOAD_V2_URL = "https://browserbase.github.io/stagehand-eval-sites/sites/file-uploads-2/";
15
- const RESUME_INPUT = "#resumeUpload";
16
- const RESUME_SUCCESS = "#resumeSuccess";
17
- const IMAGES_INPUT = "#imagesUpload";
18
- const IMAGES_SUCCESS = "#imagesSuccess";
19
- const AUDIO_INPUT = "#audioUpload";
20
- const AUDIO_SUCCESS = "#audioSuccess";
21
- const IFRAME_UPLOAD_INPUT = "/html/body/div/iframe/html/body/div/div[1]/input";
22
- const IFRAME_SUCCESS = "body > div > iframe >> html > body > div > div:nth-of-type(2)";
23
- test_1.test.describe("tests setInputFiles()", () => {
24
- let v3;
25
- const fixtures = [];
26
- test_1.test.beforeEach(async () => {
27
- v3 = new v3_js_1.V3(v3_config_js_1.v3TestConfig);
28
- await v3.init();
29
- });
30
- test_1.test.afterEach(async () => {
31
- await v3?.close?.().catch(() => { });
32
- await Promise.all(fixtures.splice(0).map((file) => fs_1.promises.unlink(file).catch(() => { })));
33
- });
34
- const createFixture = async (namePrefix, contents, ext = ".txt") => {
35
- const normalizedExt = ext.startsWith(".") ? ext : `.${ext}`;
36
- const filename = `${namePrefix}-${crypto_1.default.randomBytes(4).toString("hex")}${normalizedExt}`;
37
- const filePath = path_1.default.resolve(process.cwd(), filename);
38
- await fs_1.promises.writeFile(filePath, contents, "utf-8");
39
- fixtures.push(filePath);
40
- return filePath;
41
- };
42
- const expectUploadSuccess = async (page, successSelector, expectedText) => {
43
- await test_1.expect
44
- .poll(() => page.evaluate((selector) => {
45
- const el = document.querySelector(selector);
46
- if (!el)
47
- return "";
48
- const display = window.getComputedStyle(el).display;
49
- if (display === "none")
50
- return "";
51
- return el.textContent ?? "";
52
- }, successSelector), { message: `wait for success message at ${successSelector}` })
53
- .toContain(expectedText);
54
- };
55
- const getInputFileCount = async (page, inputSelector) => {
56
- return await page.evaluate((selector) => {
57
- const el = document.querySelector(selector);
58
- if (!(el instanceof HTMLInputElement))
59
- return 0;
60
- return el.files?.length ?? 0;
61
- }, inputSelector);
62
- };
63
- const expectFileCount = async (page, inputSelector, expected) => {
64
- await test_1.expect
65
- .poll(() => getInputFileCount(page, inputSelector), {
66
- message: `wait for file count on ${inputSelector}`,
67
- })
68
- .toBe(expected);
69
- };
70
- (0, test_1.test)("deepLocator uploads and validates within iframe", async () => {
71
- const page = v3.context.pages()[0];
72
- await page.goto(FILE_UPLOAD_IFRAME_URL);
73
- const fixture = await createFixture("iframe-upload", "<p>iframe upload</p>", ".txt");
74
- await page
75
- .deepLocator(IFRAME_UPLOAD_INPUT)
76
- .setInputFiles(path_1.default.relative(process.cwd(), fixture));
77
- const successLocator = page.deepLocator(IFRAME_SUCCESS);
78
- await test_1.expect
79
- .poll(async () => (await successLocator.textContent()) ?? "", {
80
- message: "wait for iframe upload success",
81
- })
82
- .toContain("file uploaded successfully");
83
- });
84
- (0, test_1.test)("locator uploads resume via relative path string", async () => {
85
- const page = v3.context.pages()[0];
86
- await page.goto(FILE_UPLOAD_V2_URL);
87
- const fixture = await createFixture("resume", "<p>resume</p>", ".pdf");
88
- await page
89
- .locator(RESUME_INPUT)
90
- .setInputFiles(path_1.default.relative(process.cwd(), fixture));
91
- await expectUploadSuccess(page, RESUME_SUCCESS, "Resume uploaded!");
92
- await expectFileCount(page, RESUME_INPUT, 1);
93
- });
94
- (0, test_1.test)("locator uploads multiple images via absolute paths", async () => {
95
- const page = v3.context.pages()[0];
96
- await page.goto(FILE_UPLOAD_V2_URL);
97
- const first = await createFixture("image-a", "<p>A</p>", ".png");
98
- const second = await createFixture("image-b", "<p>B</p>", ".jpeg");
99
- await page.locator(IMAGES_INPUT).setInputFiles([first, second]);
100
- await expectUploadSuccess(page, IMAGES_SUCCESS, "Images uploaded!");
101
- await expectFileCount(page, IMAGES_INPUT, 2);
102
- });
103
- (0, test_1.test)("locator uploads audio via payload object", async () => {
104
- const page = v3.context.pages()[0];
105
- await page.goto(FILE_UPLOAD_V2_URL);
106
- await page.locator(AUDIO_INPUT).setInputFiles({
107
- name: "voice-sample.mp3",
108
- mimeType: "audio/mpeg",
109
- buffer: buffer_1.Buffer.from("fake audio bytes", "utf-8"),
110
- });
111
- await expectUploadSuccess(page, AUDIO_SUCCESS, "Audio file uploaded!");
112
- await expectFileCount(page, AUDIO_INPUT, 1);
113
- });
114
- (0, test_1.test)("locator uploads multiple payload objects to images input", async () => {
115
- const page = v3.context.pages()[0];
116
- await page.goto(FILE_UPLOAD_V2_URL);
117
- await page.locator(IMAGES_INPUT).setInputFiles([
118
- {
119
- name: "payload-a.png",
120
- mimeType: "image/png",
121
- buffer: buffer_1.Buffer.from("payload-a", "utf-8"),
122
- },
123
- {
124
- name: "payload-b.png",
125
- mimeType: "image/png",
126
- buffer: buffer_1.Buffer.from("payload-b", "utf-8"),
127
- },
128
- ]);
129
- await expectUploadSuccess(page, IMAGES_SUCCESS, "Images uploaded!");
130
- await expectFileCount(page, IMAGES_INPUT, 2);
131
- });
132
- });
133
- //# sourceMappingURL=setinputfiles.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setinputfiles.spec.js","sourceRoot":"","sources":["../../../../tests/integration/setinputfiles.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { expect, test } from \"@playwright/test\";\nimport { Buffer } from \"buffer\";\nimport { promises as fs } from \"fs\";\nimport path from \"path\";\nimport crypto from \"crypto\";\nimport type { Page as V3Page } from \"../../lib/v3/understudy/page.js\";\nimport { V3 } from \"../../lib/v3/v3.js\";\nimport { v3TestConfig } from \"./v3.config.js\";\n\nconst FILE_UPLOAD_IFRAME_URL =\n \"https://browserbase.github.io/stagehand-eval-sites/sites/file-uploads-iframe/\";\nconst FILE_UPLOAD_V2_URL =\n \"https://browserbase.github.io/stagehand-eval-sites/sites/file-uploads-2/\";\n\nconst RESUME_INPUT = \"#resumeUpload\";\nconst RESUME_SUCCESS = \"#resumeSuccess\";\nconst IMAGES_INPUT = \"#imagesUpload\";\nconst IMAGES_SUCCESS = \"#imagesSuccess\";\nconst AUDIO_INPUT = \"#audioUpload\";\nconst AUDIO_SUCCESS = \"#audioSuccess\";\nconst IFRAME_UPLOAD_INPUT = \"/html/body/div/iframe/html/body/div/div[1]/input\";\nconst IFRAME_SUCCESS =\n \"body > div > iframe >> html > body > div > div:nth-of-type(2)\";\n\ntest.describe(\"tests setInputFiles()\", () => {\n let v3: V3;\n const fixtures: string[] = [];\n\n test.beforeEach(async () => {\n v3 = new V3(v3TestConfig);\n await v3.init();\n });\n\n test.afterEach(async () => {\n await v3?.close?.().catch(() => {});\n await Promise.all(\n fixtures.splice(0).map((file) => fs.unlink(file).catch(() => {})),\n );\n });\n\n const createFixture = async (\n namePrefix: string,\n contents: string,\n ext = \".txt\",\n ): Promise<string> => {\n const normalizedExt = ext.startsWith(\".\") ? ext : `.${ext}`;\n const filename = `${namePrefix}-${crypto.randomBytes(4).toString(\"hex\")}${normalizedExt}`;\n const filePath = path.resolve(process.cwd(), filename);\n await fs.writeFile(filePath, contents, \"utf-8\");\n fixtures.push(filePath);\n return filePath;\n };\n\n const expectUploadSuccess = async (\n page: V3Page,\n successSelector: string,\n expectedText: string,\n ) => {\n await expect\n .poll(\n () =>\n page.evaluate((selector) => {\n const el = document.querySelector(selector);\n if (!el) return \"\";\n const display = window.getComputedStyle(el).display;\n if (display === \"none\") return \"\";\n return el.textContent ?? \"\";\n }, successSelector),\n { message: `wait for success message at ${successSelector}` },\n )\n .toContain(expectedText);\n };\n\n const getInputFileCount = async (page: V3Page, inputSelector: string) => {\n return await page.evaluate((selector) => {\n const el = document.querySelector(selector);\n if (!(el instanceof HTMLInputElement)) return 0;\n return el.files?.length ?? 0;\n }, inputSelector);\n };\n\n const expectFileCount = async (\n page: V3Page,\n inputSelector: string,\n expected: number,\n ) => {\n await expect\n .poll(() => getInputFileCount(page, inputSelector), {\n message: `wait for file count on ${inputSelector}`,\n })\n .toBe(expected);\n };\n\n test(\"deepLocator uploads and validates within iframe\", async () => {\n const page = v3.context.pages()[0];\n await page.goto(FILE_UPLOAD_IFRAME_URL);\n const fixture = await createFixture(\n \"iframe-upload\",\n \"<p>iframe upload</p>\",\n \".txt\",\n );\n await page\n .deepLocator(IFRAME_UPLOAD_INPUT)\n .setInputFiles(path.relative(process.cwd(), fixture));\n\n const successLocator = page.deepLocator(IFRAME_SUCCESS);\n await expect\n .poll(async () => (await successLocator.textContent()) ?? \"\", {\n message: \"wait for iframe upload success\",\n })\n .toContain(\"file uploaded successfully\");\n });\n\n test(\"locator uploads resume via relative path string\", async () => {\n const page = v3.context.pages()[0];\n await page.goto(FILE_UPLOAD_V2_URL);\n const fixture = await createFixture(\"resume\", \"<p>resume</p>\", \".pdf\");\n await page\n .locator(RESUME_INPUT)\n .setInputFiles(path.relative(process.cwd(), fixture));\n await expectUploadSuccess(page, RESUME_SUCCESS, \"Resume uploaded!\");\n await expectFileCount(page, RESUME_INPUT, 1);\n });\n\n test(\"locator uploads multiple images via absolute paths\", async () => {\n const page = v3.context.pages()[0];\n await page.goto(FILE_UPLOAD_V2_URL);\n const first = await createFixture(\"image-a\", \"<p>A</p>\", \".png\");\n const second = await createFixture(\"image-b\", \"<p>B</p>\", \".jpeg\");\n await page.locator(IMAGES_INPUT).setInputFiles([first, second]);\n await expectUploadSuccess(page, IMAGES_SUCCESS, \"Images uploaded!\");\n await expectFileCount(page, IMAGES_INPUT, 2);\n });\n\n test(\"locator uploads audio via payload object\", async () => {\n const page = v3.context.pages()[0];\n await page.goto(FILE_UPLOAD_V2_URL);\n await page.locator(AUDIO_INPUT).setInputFiles({\n name: \"voice-sample.mp3\",\n mimeType: \"audio/mpeg\",\n buffer: Buffer.from(\"fake audio bytes\", \"utf-8\"),\n });\n await expectUploadSuccess(page, AUDIO_SUCCESS, \"Audio file uploaded!\");\n await expectFileCount(page, AUDIO_INPUT, 1);\n });\n\n test(\"locator uploads multiple payload objects to images input\", async () => {\n const page = v3.context.pages()[0];\n await page.goto(FILE_UPLOAD_V2_URL);\n await page.locator(IMAGES_INPUT).setInputFiles([\n {\n name: \"payload-a.png\",\n mimeType: \"image/png\",\n buffer: Buffer.from(\"payload-a\", \"utf-8\"),\n },\n {\n name: \"payload-b.png\",\n mimeType: \"image/png\",\n buffer: Buffer.from(\"payload-b\", \"utf-8\"),\n },\n ]);\n await expectUploadSuccess(page, IMAGES_SUCCESS, \"Images uploaded!\");\n await expectFileCount(page, IMAGES_INPUT, 2);\n });\n});\n"]}
@@ -1,161 +0,0 @@
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
- const test_1 = require("@playwright/test");
7
- const v3_js_1 = require("../../lib/v3/v3.js");
8
- const puppeteer_core_1 = __importDefault(require("puppeteer-core"));
9
- const playwright_core_1 = require("playwright-core");
10
- const patchright_core_1 = require("patchright-core");
11
- const v3_dynamic_config_js_1 = require("./v3.dynamic.config.js");
12
- const testUtils_js_1 = require("./testUtils.js");
13
- async function runCase(v3, c, framework) {
14
- let cleanup = null;
15
- // Acquire the correct page for the requested framework
16
- let page;
17
- switch (framework) {
18
- case "v3": {
19
- const v3Page = v3.context.pages()[0];
20
- await v3Page.goto(c.url, { waitUntil: "networkidle" });
21
- page = v3Page;
22
- break;
23
- }
24
- case "puppeteer": {
25
- const browser = await puppeteer_core_1.default.connect({
26
- browserWSEndpoint: v3.connectURL(),
27
- defaultViewport: null,
28
- });
29
- const pages = await browser.pages();
30
- const puppeteerPage = pages[0];
31
- await puppeteerPage.goto(c.url, { waitUntil: "networkidle0" });
32
- page = puppeteerPage;
33
- cleanup = async () => {
34
- try {
35
- await browser.close();
36
- }
37
- catch {
38
- //
39
- }
40
- };
41
- break;
42
- }
43
- case "playwright": {
44
- const pwBrowser = await playwright_core_1.chromium.connectOverCDP(v3.connectURL());
45
- const pwContext = pwBrowser.contexts()[0];
46
- const pwPage = pwContext.pages()[0];
47
- await pwPage.goto(c.url, { waitUntil: "networkidle" });
48
- page = pwPage;
49
- cleanup = async () => {
50
- try {
51
- await pwBrowser.close();
52
- }
53
- catch {
54
- // ignore
55
- }
56
- };
57
- break;
58
- }
59
- case "patchright": {
60
- const prBrowser = await patchright_core_1.chromium.connectOverCDP(v3.connectURL());
61
- const prContext = prBrowser.contexts()[0];
62
- const prPage = prContext.pages()[0];
63
- await prPage.goto(c.url, { waitUntil: "networkidle" });
64
- page = prPage;
65
- cleanup = async () => {
66
- try {
67
- await prBrowser.close();
68
- }
69
- catch {
70
- // ignore
71
- }
72
- };
73
- break;
74
- }
75
- }
76
- try {
77
- if (!page)
78
- throw new Error("Missing page for selected framework");
79
- await v3.act(c.action, { page });
80
- // Post-action extraction; verify expected text appears
81
- const extraction = await v3.extract({ page });
82
- const text = extraction.pageText ?? "";
83
- for (const s of c.expectedSubstrings) {
84
- (0, test_1.expect)(text.includes(s), `expected pageText to include substring: ${s}`).toBeTruthy();
85
- }
86
- }
87
- finally {
88
- await cleanup?.();
89
- }
90
- }
91
- const cases = [
92
- {
93
- title: "Closed shadow root inside OOPIF",
94
- url: "https://browserbase.github.io/stagehand-eval-sites/sites/closed-shadow-root-in-oopif/",
95
- action: {
96
- selector: "xpath=/html/body/main/section/iframe/html/body/shadow-demo//div/button",
97
- method: "click",
98
- arguments: [""],
99
- description: "click button inside closed shadow root in OOPIF",
100
- },
101
- expectedSubstrings: ["button successfully clicked"],
102
- },
103
- {
104
- title: "Open shadow root inside OOPIF",
105
- url: "https://browserbase.github.io/stagehand-eval-sites/sites/open-shadow-root-in-oopif/",
106
- action: {
107
- selector: "xpath=/html/body/main/section/iframe/html/body/shadow-demo//div/button",
108
- method: "click",
109
- arguments: [""],
110
- description: "",
111
- },
112
- expectedSubstrings: ["button successfully clicked"],
113
- },
114
- {
115
- title: "OOPIF inside open shadow root",
116
- url: "https://browserbase.github.io/stagehand-eval-sites/sites/oopif-in-open-shadow-dom/",
117
- action: {
118
- selector: "xpath=/html/body/shadow-host//section/iframe/html/body/main/section[1]/form/div/div[1]/input",
119
- method: "fill",
120
- arguments: ["nunya"],
121
- description: "",
122
- },
123
- expectedSubstrings: ["nunya"],
124
- },
125
- {
126
- title: "OOPIF inside closed shadow root",
127
- url: "https://browserbase.github.io/stagehand-eval-sites/sites/oopif-in-closed-shadow-dom/",
128
- action: {
129
- selector: "xpath=/html/body/shadow-host//section/iframe/html/body/main/section[1]/form/div/div[1]/input",
130
- method: "fill",
131
- arguments: ["nunya"],
132
- description: "fill input inside OOPIF",
133
- },
134
- expectedSubstrings: ["nunya"],
135
- },
136
- ];
137
- test_1.test.describe
138
- .parallel("Stagehand v3: shadow <-> iframe OOPIF scenarios", () => {
139
- let v3;
140
- test_1.test.beforeEach(async () => {
141
- v3 = new v3_js_1.V3(v3_dynamic_config_js_1.v3DynamicTestConfig);
142
- await v3.init();
143
- });
144
- test_1.test.afterEach(async () => {
145
- await (0, testUtils_js_1.closeV3)(v3);
146
- });
147
- const frameworks = [
148
- "v3",
149
- "playwright",
150
- "puppeteer",
151
- "patchright",
152
- ];
153
- for (const fw of frameworks) {
154
- for (const c of cases) {
155
- (0, test_1.test)(`[${fw}] ${c.title}`, async () => {
156
- await runCase(v3, c, fw);
157
- });
158
- }
159
- }
160
- });
161
- //# sourceMappingURL=shadow-iframe-oopif.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shadow-iframe-oopif.spec.js","sourceRoot":"","sources":["../../../../tests/integration/shadow-iframe-oopif.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { test, expect } from \"@playwright/test\";\nimport { V3 } from \"../../lib/v3/v3.js\";\nimport puppeteer from \"puppeteer-core\";\nimport { chromium as playwrightChromium } from \"playwright-core\";\nimport { chromium as patchrightChromium } from \"patchright-core\";\nimport { Action } from \"../../lib/v3/types/public/methods.js\";\nimport { AnyPage } from \"../../lib/v3/types/public/page.js\";\nimport { v3DynamicTestConfig } from \"./v3.dynamic.config.js\";\nimport { closeV3 } from \"./testUtils.js\";\n\n/**\n * IMPORTANT:\n * - We create a single V3 instance/test to avoid cross-test state. Increase parallelism later if needed.\n * - We assert an *effect* when feasible (e.g. input value). For pure clicks we assert no thrown error.\n */\n\ntype Case = {\n title: string;\n url: string;\n action: Action;\n expectedSubstrings: string[]; // check v3.extract().pageText contains these\n};\n\ntype Framework = \"v3\" | \"puppeteer\" | \"playwright\" | \"patchright\";\n\nasync function runCase(v3: V3, c: Case, framework: Framework): Promise<void> {\n let cleanup: (() => Promise<void> | void) | null = null;\n\n // Acquire the correct page for the requested framework\n let page: AnyPage | undefined;\n switch (framework) {\n case \"v3\": {\n const v3Page = v3.context.pages()[0];\n await v3Page.goto(c.url, { waitUntil: \"networkidle\" });\n page = v3Page;\n break;\n }\n case \"puppeteer\": {\n const browser = await puppeteer.connect({\n browserWSEndpoint: v3.connectURL(),\n defaultViewport: null,\n });\n const pages = await browser.pages();\n const puppeteerPage = pages[0];\n await puppeteerPage.goto(c.url, { waitUntil: \"networkidle0\" });\n page = puppeteerPage;\n cleanup = async () => {\n try {\n await browser.close();\n } catch {\n //\n }\n };\n break;\n }\n case \"playwright\": {\n const pwBrowser = await playwrightChromium.connectOverCDP(\n v3.connectURL(),\n );\n const pwContext = pwBrowser.contexts()[0];\n const pwPage = pwContext.pages()[0];\n await pwPage.goto(c.url, { waitUntil: \"networkidle\" as never });\n page = pwPage as unknown as AnyPage;\n cleanup = async () => {\n try {\n await pwBrowser.close();\n } catch {\n // ignore\n }\n };\n break;\n }\n case \"patchright\": {\n const prBrowser = await patchrightChromium.connectOverCDP(\n v3.connectURL(),\n );\n const prContext = prBrowser.contexts()[0];\n const prPage = prContext.pages()[0];\n await prPage.goto(c.url, { waitUntil: \"networkidle\" as never });\n page = prPage as unknown as AnyPage;\n cleanup = async () => {\n try {\n await prBrowser.close();\n } catch {\n // ignore\n }\n };\n break;\n }\n }\n\n try {\n if (!page) throw new Error(\"Missing page for selected framework\");\n await v3.act(c.action, { page });\n // Post-action extraction; verify expected text appears\n const extraction = await v3.extract({ page });\n const text = extraction.pageText ?? \"\";\n for (const s of c.expectedSubstrings) {\n expect(\n text.includes(s),\n `expected pageText to include substring: ${s}`,\n ).toBeTruthy();\n }\n } finally {\n await cleanup?.();\n }\n}\n\nconst cases: Case[] = [\n {\n title: \"Closed shadow root inside OOPIF\",\n url: \"https://browserbase.github.io/stagehand-eval-sites/sites/closed-shadow-root-in-oopif/\",\n action: {\n selector:\n \"xpath=/html/body/main/section/iframe/html/body/shadow-demo//div/button\",\n method: \"click\",\n arguments: [\"\"],\n description: \"click button inside closed shadow root in OOPIF\",\n },\n expectedSubstrings: [\"button successfully clicked\"],\n },\n {\n title: \"Open shadow root inside OOPIF\",\n url: \"https://browserbase.github.io/stagehand-eval-sites/sites/open-shadow-root-in-oopif/\",\n action: {\n selector:\n \"xpath=/html/body/main/section/iframe/html/body/shadow-demo//div/button\",\n method: \"click\",\n arguments: [\"\"],\n description: \"\",\n },\n expectedSubstrings: [\"button successfully clicked\"],\n },\n {\n title: \"OOPIF inside open shadow root\",\n url: \"https://browserbase.github.io/stagehand-eval-sites/sites/oopif-in-open-shadow-dom/\",\n action: {\n selector:\n \"xpath=/html/body/shadow-host//section/iframe/html/body/main/section[1]/form/div/div[1]/input\",\n method: \"fill\",\n arguments: [\"nunya\"],\n description: \"\",\n },\n expectedSubstrings: [\"nunya\"],\n },\n {\n title: \"OOPIF inside closed shadow root\",\n url: \"https://browserbase.github.io/stagehand-eval-sites/sites/oopif-in-closed-shadow-dom/\",\n action: {\n selector:\n \"xpath=/html/body/shadow-host//section/iframe/html/body/main/section[1]/form/div/div[1]/input\",\n method: \"fill\",\n arguments: [\"nunya\"],\n description: \"fill input inside OOPIF\",\n },\n expectedSubstrings: [\"nunya\"],\n },\n];\n\ntest.describe\n .parallel(\"Stagehand v3: shadow <-> iframe OOPIF scenarios\", () => {\n let v3: V3;\n\n test.beforeEach(async () => {\n v3 = new V3(v3DynamicTestConfig);\n await v3.init();\n });\n\n test.afterEach(async () => {\n await closeV3(v3);\n });\n\n const frameworks: Framework[] = [\n \"v3\",\n \"playwright\",\n \"puppeteer\",\n \"patchright\",\n ];\n for (const fw of frameworks) {\n for (const c of cases) {\n test(`[${fw}] ${c.title}`, async () => {\n await runCase(v3, c, fw);\n });\n }\n }\n});\n"]}
@@ -1,160 +0,0 @@
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
- const test_1 = require("@playwright/test");
7
- const v3_js_1 = require("../../lib/v3/v3.js");
8
- const puppeteer_core_1 = __importDefault(require("puppeteer-core"));
9
- const playwright_core_1 = require("playwright-core");
10
- const patchright_core_1 = require("patchright-core");
11
- const v3_dynamic_config_js_1 = require("./v3.dynamic.config.js");
12
- const testUtils_js_1 = require("./testUtils.js");
13
- async function runCase(v3, c, framework) {
14
- let cleanup = null;
15
- // Acquire the correct page for the requested framework
16
- let page;
17
- switch (framework) {
18
- case "v3": {
19
- const v3Page = v3.context.pages()[0];
20
- await v3Page.goto(c.url, { waitUntil: "networkidle" });
21
- page = v3Page;
22
- break;
23
- }
24
- case "puppeteer": {
25
- const browser = await puppeteer_core_1.default.connect({
26
- browserWSEndpoint: v3.connectURL(),
27
- defaultViewport: null,
28
- });
29
- const pages = await browser.pages();
30
- const puppeteerPage = pages[0];
31
- await puppeteerPage.goto(c.url, { waitUntil: "networkidle0" });
32
- page = puppeteerPage;
33
- cleanup = async () => {
34
- try {
35
- await browser.close();
36
- }
37
- catch {
38
- //
39
- }
40
- };
41
- break;
42
- }
43
- case "playwright": {
44
- const pwBrowser = await playwright_core_1.chromium.connectOverCDP(v3.connectURL());
45
- const pwContext = pwBrowser.contexts()[0];
46
- const pwPage = pwContext.pages()[0];
47
- await pwPage.goto(c.url, { waitUntil: "networkidle" });
48
- page = pwPage;
49
- cleanup = async () => {
50
- try {
51
- await pwBrowser.close();
52
- }
53
- catch {
54
- // ignore
55
- }
56
- };
57
- break;
58
- }
59
- case "patchright": {
60
- const prBrowser = await patchright_core_1.chromium.connectOverCDP(v3.connectURL());
61
- const prContext = prBrowser.contexts()[0];
62
- const prPage = prContext.pages()[0];
63
- await prPage.goto(c.url, { waitUntil: "networkidle" });
64
- page = prPage;
65
- cleanup = async () => {
66
- try {
67
- await prBrowser.close();
68
- }
69
- catch {
70
- // ignore
71
- }
72
- };
73
- break;
74
- }
75
- }
76
- try {
77
- if (!page)
78
- throw new Error("Missing page for selected framework");
79
- await v3.act(c.action, { page });
80
- // Post-action extraction; verify expected text appears
81
- const extraction = await v3.extract({ page });
82
- const text = extraction.pageText ?? "";
83
- for (const s of c.expectedSubstrings) {
84
- (0, test_1.expect)(text.includes(s), `expected pageText to include substring: ${s}`).toBeTruthy();
85
- }
86
- }
87
- finally {
88
- await cleanup?.();
89
- }
90
- }
91
- const cases = [
92
- {
93
- title: "Open shadow root inside SPIF",
94
- url: "https://browserbase.github.io/stagehand-eval-sites/sites/open-shadow-root-in-spif/",
95
- action: {
96
- selector: "xpath=/html/body/main/section/iframe/html/body/shadow-demo//div/button",
97
- method: "click",
98
- arguments: [""],
99
- description: "",
100
- },
101
- expectedSubstrings: ["button successfully clicked"],
102
- },
103
- {
104
- title: "Closed shadow root inside SPIF",
105
- url: "https://browserbase.github.io/stagehand-eval-sites/sites/closed-shadow-dom-in-spif/",
106
- action: {
107
- selector: "xpath=/html/body/div/iframe/html/body/shadow-demo//div/button",
108
- method: "click",
109
- arguments: [""],
110
- description: "",
111
- },
112
- expectedSubstrings: ["button successfully clicked"],
113
- },
114
- {
115
- title: "SPIF inside closed shadow root",
116
- url: "https://browserbase.github.io/stagehand-eval-sites/sites/spif-in-closed-shadow-dom/",
117
- action: {
118
- selector: "xpath=/html/body/shadow-host//div/iframe/html/body/button",
119
- method: "click",
120
- arguments: [""],
121
- description: "",
122
- },
123
- expectedSubstrings: ["button successfully clicked"],
124
- },
125
- {
126
- title: "SPIF inside open shadow root",
127
- url: "https://browserbase.github.io/stagehand-eval-sites/sites/spif-in-open-shadow-dom/",
128
- action: {
129
- selector: "xpath=/html/body/shadow-host//div/iframe/html/body/button",
130
- method: "click",
131
- arguments: [""],
132
- description: "click button inside SPIF under open shadow",
133
- },
134
- expectedSubstrings: ["button successfully clicked"],
135
- },
136
- ];
137
- test_1.test.describe.parallel("Stagehand v3: shadow <-> iframe SPIF scenarios", () => {
138
- let v3;
139
- test_1.test.beforeEach(async () => {
140
- v3 = new v3_js_1.V3(v3_dynamic_config_js_1.v3DynamicTestConfig);
141
- await v3.init();
142
- });
143
- test_1.test.afterEach(async () => {
144
- await (0, testUtils_js_1.closeV3)(v3);
145
- });
146
- const frameworks = [
147
- "v3",
148
- "playwright",
149
- "puppeteer",
150
- "patchright",
151
- ];
152
- for (const fw of frameworks) {
153
- for (const c of cases) {
154
- (0, test_1.test)(`[${fw}] ${c.title}`, async () => {
155
- await runCase(v3, c, fw);
156
- });
157
- }
158
- }
159
- });
160
- //# sourceMappingURL=shadow-iframe-spif.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shadow-iframe-spif.spec.js","sourceRoot":"","sources":["../../../../tests/integration/shadow-iframe-spif.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { test, expect } from \"@playwright/test\";\nimport { V3 } from \"../../lib/v3/v3.js\";\nimport puppeteer from \"puppeteer-core\";\nimport { chromium as playwrightChromium } from \"playwright-core\";\nimport { chromium as patchrightChromium } from \"patchright-core\";\nimport { Action } from \"../../lib/v3/types/public/methods.js\";\nimport { AnyPage } from \"../../lib/v3/types/public/page.js\";\nimport { v3DynamicTestConfig } from \"./v3.dynamic.config.js\";\nimport { closeV3 } from \"./testUtils.js\";\n\n/**\n * IMPORTANT:\n * - We create a single V3 instance/test to avoid cross-test state. Increase parallelism later if needed.\n * - We assert an *effect* when feasible (e.g. input value). For pure clicks we assert no thrown error.\n */\n\ntype Case = {\n title: string;\n url: string;\n action: Action;\n expectedSubstrings: string[]; // check v3.extract().pageText contains these\n};\n\ntype Framework = \"v3\" | \"puppeteer\" | \"playwright\" | \"patchright\";\n\nasync function runCase(v3: V3, c: Case, framework: Framework): Promise<void> {\n let cleanup: (() => Promise<void> | void) | null = null;\n\n // Acquire the correct page for the requested framework\n let page: AnyPage | undefined;\n switch (framework) {\n case \"v3\": {\n const v3Page = v3.context.pages()[0];\n await v3Page.goto(c.url, { waitUntil: \"networkidle\" });\n page = v3Page;\n break;\n }\n case \"puppeteer\": {\n const browser = await puppeteer.connect({\n browserWSEndpoint: v3.connectURL(),\n defaultViewport: null,\n });\n const pages = await browser.pages();\n const puppeteerPage = pages[0];\n await puppeteerPage.goto(c.url, { waitUntil: \"networkidle0\" });\n page = puppeteerPage;\n cleanup = async () => {\n try {\n await browser.close();\n } catch {\n //\n }\n };\n break;\n }\n case \"playwright\": {\n const pwBrowser = await playwrightChromium.connectOverCDP(\n v3.connectURL(),\n );\n const pwContext = pwBrowser.contexts()[0];\n const pwPage = pwContext.pages()[0];\n await pwPage.goto(c.url, { waitUntil: \"networkidle\" as never });\n page = pwPage as unknown as AnyPage;\n cleanup = async () => {\n try {\n await pwBrowser.close();\n } catch {\n // ignore\n }\n };\n break;\n }\n case \"patchright\": {\n const prBrowser = await patchrightChromium.connectOverCDP(\n v3.connectURL(),\n );\n const prContext = prBrowser.contexts()[0];\n const prPage = prContext.pages()[0];\n await prPage.goto(c.url, { waitUntil: \"networkidle\" as never });\n page = prPage as unknown as AnyPage;\n cleanup = async () => {\n try {\n await prBrowser.close();\n } catch {\n // ignore\n }\n };\n break;\n }\n }\n\n try {\n if (!page) throw new Error(\"Missing page for selected framework\");\n await v3.act(c.action, { page });\n // Post-action extraction; verify expected text appears\n const extraction = await v3.extract({ page });\n const text = extraction.pageText ?? \"\";\n for (const s of c.expectedSubstrings) {\n expect(\n text.includes(s),\n `expected pageText to include substring: ${s}`,\n ).toBeTruthy();\n }\n } finally {\n await cleanup?.();\n }\n}\n\nconst cases: Case[] = [\n {\n title: \"Open shadow root inside SPIF\",\n url: \"https://browserbase.github.io/stagehand-eval-sites/sites/open-shadow-root-in-spif/\",\n action: {\n selector:\n \"xpath=/html/body/main/section/iframe/html/body/shadow-demo//div/button\",\n method: \"click\",\n arguments: [\"\"],\n description: \"\",\n },\n expectedSubstrings: [\"button successfully clicked\"],\n },\n {\n title: \"Closed shadow root inside SPIF\",\n url: \"https://browserbase.github.io/stagehand-eval-sites/sites/closed-shadow-dom-in-spif/\",\n action: {\n selector: \"xpath=/html/body/div/iframe/html/body/shadow-demo//div/button\",\n method: \"click\",\n arguments: [\"\"],\n description: \"\",\n },\n expectedSubstrings: [\"button successfully clicked\"],\n },\n {\n title: \"SPIF inside closed shadow root\",\n url: \"https://browserbase.github.io/stagehand-eval-sites/sites/spif-in-closed-shadow-dom/\",\n action: {\n selector: \"xpath=/html/body/shadow-host//div/iframe/html/body/button\",\n method: \"click\",\n arguments: [\"\"],\n description: \"\",\n },\n expectedSubstrings: [\"button successfully clicked\"],\n },\n {\n title: \"SPIF inside open shadow root\",\n url: \"https://browserbase.github.io/stagehand-eval-sites/sites/spif-in-open-shadow-dom/\",\n action: {\n selector: \"xpath=/html/body/shadow-host//div/iframe/html/body/button\",\n method: \"click\",\n arguments: [\"\"],\n description: \"click button inside SPIF under open shadow\",\n },\n expectedSubstrings: [\"button successfully clicked\"],\n },\n];\n\ntest.describe.parallel(\"Stagehand v3: shadow <-> iframe SPIF scenarios\", () => {\n let v3: V3;\n\n test.beforeEach(async () => {\n v3 = new V3(v3DynamicTestConfig);\n await v3.init();\n });\n\n test.afterEach(async () => {\n await closeV3(v3);\n });\n\n const frameworks: Framework[] = [\n \"v3\",\n \"playwright\",\n \"puppeteer\",\n \"patchright\",\n ];\n for (const fw of frameworks) {\n for (const c of cases) {\n test(`[${fw}] ${c.title}`, async () => {\n await runCase(v3, c, fw);\n });\n }\n }\n});\n"]}