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

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 (841) 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/api.d.ts +6 -1
  12. package/dist/cjs/lib/v3/api.js +57 -12
  13. package/dist/cjs/lib/v3/api.js.map +1 -1
  14. package/dist/cjs/lib/v3/handlers/extractHandler.js +19 -2
  15. package/dist/cjs/lib/v3/handlers/extractHandler.js.map +1 -1
  16. package/dist/cjs/lib/v3/handlers/observeHandler.js +2 -1
  17. package/dist/cjs/lib/v3/handlers/observeHandler.js.map +1 -1
  18. package/dist/cjs/lib/v3/handlers/v3CuaAgentHandler.js +1 -0
  19. package/dist/cjs/lib/v3/handlers/v3CuaAgentHandler.js.map +1 -1
  20. package/dist/cjs/lib/v3/index.d.ts +1 -0
  21. package/dist/cjs/lib/v3/index.js.map +1 -1
  22. package/dist/cjs/lib/v3/launch/local.d.ts +2 -7
  23. package/dist/cjs/lib/v3/launch/local.js +47 -7
  24. package/dist/cjs/lib/v3/launch/local.js.map +1 -1
  25. package/dist/cjs/lib/v3/llm/LLMProvider.js +0 -5
  26. package/dist/cjs/lib/v3/llm/LLMProvider.js.map +1 -1
  27. package/dist/cjs/lib/v3/llm/aisdk.js +5 -0
  28. package/dist/cjs/lib/v3/llm/aisdk.js.map +1 -1
  29. package/dist/cjs/lib/v3/types/private/handlers.d.ts +2 -0
  30. package/dist/cjs/lib/v3/types/private/handlers.js.map +1 -1
  31. package/dist/cjs/lib/v3/types/private/snapshot.d.ts +2 -0
  32. package/dist/cjs/lib/v3/types/private/snapshot.js.map +1 -1
  33. package/dist/cjs/lib/v3/types/public/agent.d.ts +1 -1
  34. package/dist/cjs/lib/v3/types/public/agent.js.map +1 -1
  35. package/dist/cjs/lib/v3/types/public/api.d.ts +287 -0
  36. package/dist/cjs/lib/v3/types/public/api.js +61 -3
  37. package/dist/cjs/lib/v3/types/public/api.js.map +1 -1
  38. package/dist/cjs/lib/v3/types/public/methods.d.ts +2 -0
  39. package/dist/cjs/lib/v3/types/public/methods.js.map +1 -1
  40. package/dist/cjs/lib/v3/types/public/model.d.ts +11 -7
  41. package/dist/cjs/lib/v3/types/public/model.js.map +1 -1
  42. package/dist/cjs/lib/v3/understudy/a11y/snapshot/a11yTree.js +25 -0
  43. package/dist/cjs/lib/v3/understudy/a11y/snapshot/a11yTree.js.map +1 -1
  44. package/dist/cjs/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js +10 -1
  45. package/dist/cjs/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js.map +1 -1
  46. package/dist/cjs/lib/v3/v3.d.ts +1 -0
  47. package/dist/cjs/lib/v3/v3.js +21 -47
  48. package/dist/cjs/lib/v3/v3.js.map +1 -1
  49. package/dist/cjs/lib/v3Evaluator.d.ts +20 -12
  50. package/dist/cjs/lib/v3Evaluator.js +41 -199
  51. package/dist/cjs/lib/v3Evaluator.js.map +1 -1
  52. package/dist/cjs/lib/v3LegacyEvaluator.d.ts +20 -0
  53. package/dist/cjs/lib/v3LegacyEvaluator.js +215 -0
  54. package/dist/cjs/lib/v3LegacyEvaluator.js.map +1 -0
  55. package/dist/cjs/lib/version.d.ts +1 -1
  56. package/dist/cjs/lib/version.js +1 -1
  57. package/dist/cjs/lib/version.js.map +1 -1
  58. package/dist/esm/lib/inference.d.ts +2 -1
  59. package/dist/esm/lib/inference.js +10 -3
  60. package/dist/esm/lib/inference.js.map +1 -1
  61. package/dist/esm/lib/prompt.d.ts +2 -2
  62. package/dist/esm/lib/prompt.js +19 -4
  63. package/dist/esm/lib/prompt.js.map +1 -1
  64. package/dist/esm/lib/v3/agent/AgentProvider.d.ts +1 -1
  65. package/dist/esm/lib/v3/agent/AgentProvider.js.map +1 -1
  66. package/dist/esm/lib/v3/agent/AnthropicCUAClient.js +10 -0
  67. package/dist/esm/lib/v3/agent/AnthropicCUAClient.js.map +1 -1
  68. package/dist/esm/lib/v3/api.d.ts +6 -1
  69. package/dist/esm/lib/v3/api.js +57 -12
  70. package/dist/esm/lib/v3/api.js.map +1 -1
  71. package/dist/esm/lib/v3/handlers/extractHandler.js +19 -2
  72. package/dist/esm/lib/v3/handlers/extractHandler.js.map +1 -1
  73. package/dist/esm/lib/v3/handlers/observeHandler.js +2 -1
  74. package/dist/esm/lib/v3/handlers/observeHandler.js.map +1 -1
  75. package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.js +1 -0
  76. package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.js.map +1 -1
  77. package/dist/esm/lib/v3/index.d.ts +1 -0
  78. package/dist/esm/lib/v3/index.js.map +1 -1
  79. package/dist/esm/lib/v3/launch/local.d.ts +2 -7
  80. package/dist/esm/lib/v3/launch/local.js +48 -8
  81. package/dist/esm/lib/v3/launch/local.js.map +1 -1
  82. package/dist/esm/lib/v3/llm/LLMProvider.js +1 -6
  83. package/dist/esm/lib/v3/llm/LLMProvider.js.map +1 -1
  84. package/dist/esm/lib/v3/llm/aisdk.js +5 -0
  85. package/dist/esm/lib/v3/llm/aisdk.js.map +1 -1
  86. package/dist/esm/lib/v3/types/private/handlers.d.ts +2 -0
  87. package/dist/esm/lib/v3/types/private/handlers.js.map +1 -1
  88. package/dist/esm/lib/v3/types/private/snapshot.d.ts +2 -0
  89. package/dist/esm/lib/v3/types/private/snapshot.js.map +1 -1
  90. package/dist/esm/lib/v3/types/public/agent.d.ts +1 -1
  91. package/dist/esm/lib/v3/types/public/agent.js.map +1 -1
  92. package/dist/esm/lib/v3/types/public/api.d.ts +287 -0
  93. package/dist/esm/lib/v3/types/public/api.js +59 -1
  94. package/dist/esm/lib/v3/types/public/api.js.map +1 -1
  95. package/dist/esm/lib/v3/types/public/methods.d.ts +2 -0
  96. package/dist/esm/lib/v3/types/public/methods.js.map +1 -1
  97. package/dist/esm/lib/v3/types/public/model.d.ts +11 -7
  98. package/dist/esm/lib/v3/types/public/model.js.map +1 -1
  99. package/dist/esm/lib/v3/understudy/a11y/snapshot/a11yTree.js +25 -0
  100. package/dist/esm/lib/v3/understudy/a11y/snapshot/a11yTree.js.map +1 -1
  101. package/dist/esm/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js +10 -1
  102. package/dist/esm/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js.map +1 -1
  103. package/dist/esm/lib/v3/v3.d.ts +1 -0
  104. package/dist/esm/lib/v3/v3.js +21 -47
  105. package/dist/esm/lib/v3/v3.js.map +1 -1
  106. package/dist/esm/lib/v3Evaluator.d.ts +20 -12
  107. package/dist/esm/lib/v3Evaluator.js +41 -199
  108. package/dist/esm/lib/v3Evaluator.js.map +1 -1
  109. package/dist/esm/lib/v3LegacyEvaluator.d.ts +20 -0
  110. package/dist/esm/lib/v3LegacyEvaluator.js +211 -0
  111. package/dist/esm/lib/v3LegacyEvaluator.js.map +1 -0
  112. package/dist/esm/lib/version.d.ts +1 -1
  113. package/dist/esm/lib/version.js +1 -1
  114. package/dist/esm/lib/version.js.map +1 -1
  115. package/package.json +30 -18
  116. package/dist/cjs/tests/cache-variables.test.d.ts +0 -1
  117. package/dist/cjs/tests/cache-variables.test.js +0 -221
  118. package/dist/cjs/tests/cache-variables.test.js.map +0 -1
  119. package/dist/cjs/tests/integration/agent-abort-signal.spec.d.ts +0 -1
  120. package/dist/cjs/tests/integration/agent-abort-signal.spec.js +0 -123
  121. package/dist/cjs/tests/integration/agent-abort-signal.spec.js.map +0 -1
  122. package/dist/cjs/tests/integration/agent-cache-self-heal.spec.d.ts +0 -1
  123. package/dist/cjs/tests/integration/agent-cache-self-heal.spec.js +0 -83
  124. package/dist/cjs/tests/integration/agent-cache-self-heal.spec.js.map +0 -1
  125. package/dist/cjs/tests/integration/agent-callbacks.spec.d.ts +0 -1
  126. package/dist/cjs/tests/integration/agent-callbacks.spec.js +0 -385
  127. package/dist/cjs/tests/integration/agent-callbacks.spec.js.map +0 -1
  128. package/dist/cjs/tests/integration/agent-experimental-validation.spec.d.ts +0 -1
  129. package/dist/cjs/tests/integration/agent-experimental-validation.spec.js +0 -362
  130. package/dist/cjs/tests/integration/agent-experimental-validation.spec.js.map +0 -1
  131. package/dist/cjs/tests/integration/agent-hybrid-mode.spec.d.ts +0 -1
  132. package/dist/cjs/tests/integration/agent-hybrid-mode.spec.js +0 -262
  133. package/dist/cjs/tests/integration/agent-hybrid-mode.spec.js.map +0 -1
  134. package/dist/cjs/tests/integration/agent-message-continuation.spec.d.ts +0 -1
  135. package/dist/cjs/tests/integration/agent-message-continuation.spec.js +0 -112
  136. package/dist/cjs/tests/integration/agent-message-continuation.spec.js.map +0 -1
  137. package/dist/cjs/tests/integration/agent-streaming.spec.d.ts +0 -1
  138. package/dist/cjs/tests/integration/agent-streaming.spec.js +0 -140
  139. package/dist/cjs/tests/integration/agent-streaming.spec.js.map +0 -1
  140. package/dist/cjs/tests/integration/cdp-close-api-region.spec.d.ts +0 -1
  141. package/dist/cjs/tests/integration/cdp-close-api-region.spec.js +0 -41
  142. package/dist/cjs/tests/integration/cdp-close-api-region.spec.js.map +0 -1
  143. package/dist/cjs/tests/integration/cdp-connection-close.spec.d.ts +0 -1
  144. package/dist/cjs/tests/integration/cdp-connection-close.spec.js +0 -76
  145. package/dist/cjs/tests/integration/cdp-connection-close.spec.js.map +0 -1
  146. package/dist/cjs/tests/integration/cdp-session-detached.spec.d.ts +0 -1
  147. package/dist/cjs/tests/integration/cdp-session-detached.spec.js +0 -45
  148. package/dist/cjs/tests/integration/cdp-session-detached.spec.js.map +0 -1
  149. package/dist/cjs/tests/integration/chrome-newtab-page-tracking.spec.d.ts +0 -1
  150. package/dist/cjs/tests/integration/chrome-newtab-page-tracking.spec.js +0 -56
  151. package/dist/cjs/tests/integration/chrome-newtab-page-tracking.spec.js.map +0 -1
  152. package/dist/cjs/tests/integration/click-count.spec.d.ts +0 -1
  153. package/dist/cjs/tests/integration/click-count.spec.js +0 -163
  154. package/dist/cjs/tests/integration/click-count.spec.js.map +0 -1
  155. package/dist/cjs/tests/integration/connect-to-existing-browser.spec.d.ts +0 -1
  156. package/dist/cjs/tests/integration/connect-to-existing-browser.spec.js +0 -99
  157. package/dist/cjs/tests/integration/connect-to-existing-browser.spec.js.map +0 -1
  158. package/dist/cjs/tests/integration/context-addInitScript.spec.d.ts +0 -1
  159. package/dist/cjs/tests/integration/context-addInitScript.spec.js +0 -285
  160. package/dist/cjs/tests/integration/context-addInitScript.spec.js.map +0 -1
  161. package/dist/cjs/tests/integration/context-extra-http-headers.spec.d.ts +0 -1
  162. package/dist/cjs/tests/integration/context-extra-http-headers.spec.js +0 -49
  163. package/dist/cjs/tests/integration/context-extra-http-headers.spec.js.map +0 -1
  164. package/dist/cjs/tests/integration/cookies.spec.d.ts +0 -1
  165. package/dist/cjs/tests/integration/cookies.spec.js +0 -187
  166. package/dist/cjs/tests/integration/cookies.spec.js.map +0 -1
  167. package/dist/cjs/tests/integration/default-page-tracking.spec.d.ts +0 -1
  168. package/dist/cjs/tests/integration/default-page-tracking.spec.js +0 -52
  169. package/dist/cjs/tests/integration/default-page-tracking.spec.js.map +0 -1
  170. package/dist/cjs/tests/integration/downloads.spec.d.ts +0 -1
  171. package/dist/cjs/tests/integration/downloads.spec.js +0 -52
  172. package/dist/cjs/tests/integration/downloads.spec.js.map +0 -1
  173. package/dist/cjs/tests/integration/flowLogger.spec.d.ts +0 -1
  174. package/dist/cjs/tests/integration/flowLogger.spec.js +0 -718
  175. package/dist/cjs/tests/integration/flowLogger.spec.js.map +0 -1
  176. package/dist/cjs/tests/integration/frame-get-location-and-click.spec.d.ts +0 -1
  177. package/dist/cjs/tests/integration/frame-get-location-and-click.spec.js +0 -57
  178. package/dist/cjs/tests/integration/frame-get-location-and-click.spec.js.map +0 -1
  179. package/dist/cjs/tests/integration/iframe-ctx-addInitScript-race.spec.d.ts +0 -1
  180. package/dist/cjs/tests/integration/iframe-ctx-addInitScript-race.spec.js +0 -219
  181. package/dist/cjs/tests/integration/iframe-ctx-addInitScript-race.spec.js.map +0 -1
  182. package/dist/cjs/tests/integration/iframe-ctx-addInitScript.spec.d.ts +0 -1
  183. package/dist/cjs/tests/integration/iframe-ctx-addInitScript.spec.js +0 -474
  184. package/dist/cjs/tests/integration/iframe-ctx-addInitScript.spec.js.map +0 -1
  185. package/dist/cjs/tests/integration/keep-alive.child.d.ts +0 -1
  186. package/dist/cjs/tests/integration/keep-alive.child.js +0 -85
  187. package/dist/cjs/tests/integration/keep-alive.child.js.map +0 -1
  188. package/dist/cjs/tests/integration/keep-alive.spec.d.ts +0 -22
  189. package/dist/cjs/tests/integration/keep-alive.spec.js +0 -490
  190. package/dist/cjs/tests/integration/keep-alive.spec.js.map +0 -1
  191. package/dist/cjs/tests/integration/keyboard.spec.d.ts +0 -1
  192. package/dist/cjs/tests/integration/keyboard.spec.js +0 -259
  193. package/dist/cjs/tests/integration/keyboard.spec.js.map +0 -1
  194. package/dist/cjs/tests/integration/locator-backend-node-id.spec.d.ts +0 -1
  195. package/dist/cjs/tests/integration/locator-backend-node-id.spec.js +0 -150
  196. package/dist/cjs/tests/integration/locator-backend-node-id.spec.js.map +0 -1
  197. package/dist/cjs/tests/integration/locator-content-methods.spec.d.ts +0 -1
  198. package/dist/cjs/tests/integration/locator-content-methods.spec.js +0 -180
  199. package/dist/cjs/tests/integration/locator-content-methods.spec.js.map +0 -1
  200. package/dist/cjs/tests/integration/locator-count-iframe.spec.d.ts +0 -1
  201. package/dist/cjs/tests/integration/locator-count-iframe.spec.js +0 -129
  202. package/dist/cjs/tests/integration/locator-count-iframe.spec.js.map +0 -1
  203. package/dist/cjs/tests/integration/locator-count.spec.d.ts +0 -1
  204. package/dist/cjs/tests/integration/locator-count.spec.js +0 -68
  205. package/dist/cjs/tests/integration/locator-count.spec.js.map +0 -1
  206. package/dist/cjs/tests/integration/locator-fill.spec.d.ts +0 -1
  207. package/dist/cjs/tests/integration/locator-fill.spec.js +0 -117
  208. package/dist/cjs/tests/integration/locator-fill.spec.js.map +0 -1
  209. package/dist/cjs/tests/integration/locator-input-methods.spec.d.ts +0 -1
  210. package/dist/cjs/tests/integration/locator-input-methods.spec.js +0 -127
  211. package/dist/cjs/tests/integration/locator-input-methods.spec.js.map +0 -1
  212. package/dist/cjs/tests/integration/locator-nth.spec.d.ts +0 -1
  213. package/dist/cjs/tests/integration/locator-nth.spec.js +0 -175
  214. package/dist/cjs/tests/integration/locator-nth.spec.js.map +0 -1
  215. package/dist/cjs/tests/integration/locator-select-option.spec.d.ts +0 -1
  216. package/dist/cjs/tests/integration/locator-select-option.spec.js +0 -216
  217. package/dist/cjs/tests/integration/locator-select-option.spec.js.map +0 -1
  218. package/dist/cjs/tests/integration/logger-initialization.spec.d.ts +0 -1
  219. package/dist/cjs/tests/integration/logger-initialization.spec.js +0 -597
  220. package/dist/cjs/tests/integration/logger-initialization.spec.js.map +0 -1
  221. package/dist/cjs/tests/integration/multi-instance-logger.spec.d.ts +0 -1
  222. package/dist/cjs/tests/integration/multi-instance-logger.spec.js +0 -293
  223. package/dist/cjs/tests/integration/multi-instance-logger.spec.js.map +0 -1
  224. package/dist/cjs/tests/integration/nested-div.spec.d.ts +0 -1
  225. package/dist/cjs/tests/integration/nested-div.spec.js +0 -22
  226. package/dist/cjs/tests/integration/nested-div.spec.js.map +0 -1
  227. package/dist/cjs/tests/integration/observe-element-id-format.spec.d.ts +0 -1
  228. package/dist/cjs/tests/integration/observe-element-id-format.spec.js +0 -130
  229. package/dist/cjs/tests/integration/observe-element-id-format.spec.js.map +0 -1
  230. package/dist/cjs/tests/integration/page-addInitScript.spec.d.ts +0 -1
  231. package/dist/cjs/tests/integration/page-addInitScript.spec.js +0 -94
  232. package/dist/cjs/tests/integration/page-addInitScript.spec.js.map +0 -1
  233. package/dist/cjs/tests/integration/page-console.spec.d.ts +0 -1
  234. package/dist/cjs/tests/integration/page-console.spec.js +0 -47
  235. package/dist/cjs/tests/integration/page-console.spec.js.map +0 -1
  236. package/dist/cjs/tests/integration/page-drag-and-drop.spec.d.ts +0 -1
  237. package/dist/cjs/tests/integration/page-drag-and-drop.spec.js +0 -437
  238. package/dist/cjs/tests/integration/page-drag-and-drop.spec.js.map +0 -1
  239. package/dist/cjs/tests/integration/page-extra-http-headers.spec.d.ts +0 -1
  240. package/dist/cjs/tests/integration/page-extra-http-headers.spec.js +0 -85
  241. package/dist/cjs/tests/integration/page-extra-http-headers.spec.js.map +0 -1
  242. package/dist/cjs/tests/integration/page-goto-response.spec.d.ts +0 -1
  243. package/dist/cjs/tests/integration/page-goto-response.spec.js +0 -34
  244. package/dist/cjs/tests/integration/page-goto-response.spec.js.map +0 -1
  245. package/dist/cjs/tests/integration/page-hover.spec.d.ts +0 -1
  246. package/dist/cjs/tests/integration/page-hover.spec.js +0 -165
  247. package/dist/cjs/tests/integration/page-hover.spec.js.map +0 -1
  248. package/dist/cjs/tests/integration/page-screenshot.spec.d.ts +0 -1
  249. package/dist/cjs/tests/integration/page-screenshot.spec.js +0 -292
  250. package/dist/cjs/tests/integration/page-screenshot.spec.js.map +0 -1
  251. package/dist/cjs/tests/integration/page-scroll.spec.d.ts +0 -1
  252. package/dist/cjs/tests/integration/page-scroll.spec.js +0 -183
  253. package/dist/cjs/tests/integration/page-scroll.spec.js.map +0 -1
  254. package/dist/cjs/tests/integration/page-send-cdp.spec.d.ts +0 -1
  255. package/dist/cjs/tests/integration/page-send-cdp.spec.js +0 -47
  256. package/dist/cjs/tests/integration/page-send-cdp.spec.js.map +0 -1
  257. package/dist/cjs/tests/integration/perform-understudy-method.spec.d.ts +0 -1
  258. package/dist/cjs/tests/integration/perform-understudy-method.spec.js +0 -63
  259. package/dist/cjs/tests/integration/perform-understudy-method.spec.js.map +0 -1
  260. package/dist/cjs/tests/integration/setinputfiles.spec.d.ts +0 -1
  261. package/dist/cjs/tests/integration/setinputfiles.spec.js +0 -133
  262. package/dist/cjs/tests/integration/setinputfiles.spec.js.map +0 -1
  263. package/dist/cjs/tests/integration/shadow-iframe-oopif.spec.d.ts +0 -1
  264. package/dist/cjs/tests/integration/shadow-iframe-oopif.spec.js +0 -161
  265. package/dist/cjs/tests/integration/shadow-iframe-oopif.spec.js.map +0 -1
  266. package/dist/cjs/tests/integration/shadow-iframe-spif.spec.d.ts +0 -1
  267. package/dist/cjs/tests/integration/shadow-iframe-spif.spec.js +0 -160
  268. package/dist/cjs/tests/integration/shadow-iframe-spif.spec.js.map +0 -1
  269. package/dist/cjs/tests/integration/testUtils.d.ts +0 -40
  270. package/dist/cjs/tests/integration/testUtils.js +0 -188
  271. package/dist/cjs/tests/integration/testUtils.js.map +0 -1
  272. package/dist/cjs/tests/integration/text-selector-innermost.spec.d.ts +0 -1
  273. package/dist/cjs/tests/integration/text-selector-innermost.spec.js +0 -105
  274. package/dist/cjs/tests/integration/text-selector-innermost.spec.js.map +0 -1
  275. package/dist/cjs/tests/integration/timeouts.spec.d.ts +0 -1
  276. package/dist/cjs/tests/integration/timeouts.spec.js +0 -309
  277. package/dist/cjs/tests/integration/timeouts.spec.js.map +0 -1
  278. package/dist/cjs/tests/integration/user-data-dir.spec.d.ts +0 -1
  279. package/dist/cjs/tests/integration/user-data-dir.spec.js +0 -77
  280. package/dist/cjs/tests/integration/user-data-dir.spec.js.map +0 -1
  281. package/dist/cjs/tests/integration/v3.config.d.ts +0 -4
  282. package/dist/cjs/tests/integration/v3.config.js +0 -11
  283. package/dist/cjs/tests/integration/v3.config.js.map +0 -1
  284. package/dist/cjs/tests/integration/v3.dynamic.config.d.ts +0 -4
  285. package/dist/cjs/tests/integration/v3.dynamic.config.js +0 -48
  286. package/dist/cjs/tests/integration/v3.dynamic.config.js.map +0 -1
  287. package/dist/cjs/tests/integration/v3.playwright.config.d.ts +0 -2
  288. package/dist/cjs/tests/integration/v3.playwright.config.js +0 -48
  289. package/dist/cjs/tests/integration/v3.playwright.config.js.map +0 -1
  290. package/dist/cjs/tests/integration/wait-for-selector.spec.d.ts +0 -1
  291. package/dist/cjs/tests/integration/wait-for-selector.spec.js +0 -683
  292. package/dist/cjs/tests/integration/wait-for-selector.spec.js.map +0 -1
  293. package/dist/cjs/tests/integration/wait-for-timeout.spec.d.ts +0 -1
  294. package/dist/cjs/tests/integration/wait-for-timeout.spec.js +0 -118
  295. package/dist/cjs/tests/integration/wait-for-timeout.spec.js.map +0 -1
  296. package/dist/cjs/tests/integration/xpath-for-location-deep.spec.d.ts +0 -1
  297. package/dist/cjs/tests/integration/xpath-for-location-deep.spec.js +0 -87
  298. package/dist/cjs/tests/integration/xpath-for-location-deep.spec.js.map +0 -1
  299. package/dist/cjs/tests/unit/agent-captcha-hooks.test.d.ts +0 -1
  300. package/dist/cjs/tests/unit/agent-captcha-hooks.test.js +0 -341
  301. package/dist/cjs/tests/unit/agent-captcha-hooks.test.js.map +0 -1
  302. package/dist/cjs/tests/unit/agent-execution-model.test.d.ts +0 -1
  303. package/dist/cjs/tests/unit/agent-execution-model.test.js +0 -150
  304. package/dist/cjs/tests/unit/agent-execution-model.test.js.map +0 -1
  305. package/dist/cjs/tests/unit/agent-metrics.test.d.ts +0 -1
  306. package/dist/cjs/tests/unit/agent-metrics.test.js +0 -112
  307. package/dist/cjs/tests/unit/agent-metrics.test.js.map +0 -1
  308. package/dist/cjs/tests/unit/agent-mode-routing.test.d.ts +0 -1
  309. package/dist/cjs/tests/unit/agent-mode-routing.test.js +0 -88
  310. package/dist/cjs/tests/unit/agent-mode-routing.test.js.map +0 -1
  311. package/dist/cjs/tests/unit/agent-system-prompt-variables.test.d.ts +0 -1
  312. package/dist/cjs/tests/unit/agent-system-prompt-variables.test.js +0 -23
  313. package/dist/cjs/tests/unit/agent-system-prompt-variables.test.js.map +0 -1
  314. package/dist/cjs/tests/unit/agent-temperature.test.d.ts +0 -1
  315. package/dist/cjs/tests/unit/agent-temperature.test.js +0 -191
  316. package/dist/cjs/tests/unit/agent-temperature.test.js.map +0 -1
  317. package/dist/cjs/tests/unit/agent-variables-validation.test.d.ts +0 -1
  318. package/dist/cjs/tests/unit/agent-variables-validation.test.js +0 -43
  319. package/dist/cjs/tests/unit/agent-variables-validation.test.js.map +0 -1
  320. package/dist/cjs/tests/unit/aisdk-clients.test.d.ts +0 -1
  321. package/dist/cjs/tests/unit/aisdk-clients.test.js +0 -86
  322. package/dist/cjs/tests/unit/aisdk-clients.test.js.map +0 -1
  323. package/dist/cjs/tests/unit/anthropic-cua-adaptive-thinking.test.d.ts +0 -1
  324. package/dist/cjs/tests/unit/anthropic-cua-adaptive-thinking.test.js +0 -250
  325. package/dist/cjs/tests/unit/anthropic-cua-adaptive-thinking.test.js.map +0 -1
  326. package/dist/cjs/tests/unit/api-client-observe-variables.test.d.ts +0 -1
  327. package/dist/cjs/tests/unit/api-client-observe-variables.test.js +0 -133
  328. package/dist/cjs/tests/unit/api-client-observe-variables.test.js.map +0 -1
  329. package/dist/cjs/tests/unit/api-multiregion.test.d.ts +0 -1
  330. package/dist/cjs/tests/unit/api-multiregion.test.js +0 -58
  331. package/dist/cjs/tests/unit/api-multiregion.test.js.map +0 -1
  332. package/dist/cjs/tests/unit/api-optional-model-api-key.test.d.ts +0 -1
  333. package/dist/cjs/tests/unit/api-optional-model-api-key.test.js +0 -155
  334. package/dist/cjs/tests/unit/api-optional-model-api-key.test.js.map +0 -1
  335. package/dist/cjs/tests/unit/api-variables-schema.test.d.ts +0 -1
  336. package/dist/cjs/tests/unit/api-variables-schema.test.js +0 -62
  337. package/dist/cjs/tests/unit/api-variables-schema.test.js.map +0 -1
  338. package/dist/cjs/tests/unit/browserbase-session-accessors.test.d.ts +0 -1
  339. package/dist/cjs/tests/unit/browserbase-session-accessors.test.js +0 -142
  340. package/dist/cjs/tests/unit/browserbase-session-accessors.test.js.map +0 -1
  341. package/dist/cjs/tests/unit/cache-llm-resolution.test.d.ts +0 -1
  342. package/dist/cjs/tests/unit/cache-llm-resolution.test.js +0 -186
  343. package/dist/cjs/tests/unit/cache-llm-resolution.test.js.map +0 -1
  344. package/dist/cjs/tests/unit/captcha-solver.test.d.ts +0 -1
  345. package/dist/cjs/tests/unit/captcha-solver.test.js +0 -154
  346. package/dist/cjs/tests/unit/captcha-solver.test.js.map +0 -1
  347. package/dist/cjs/tests/unit/cdp-connection-close.test.d.ts +0 -1
  348. package/dist/cjs/tests/unit/cdp-connection-close.test.js +0 -74
  349. package/dist/cjs/tests/unit/cdp-connection-close.test.js.map +0 -1
  350. package/dist/cjs/tests/unit/context-extra-http-headers.test.d.ts +0 -1
  351. package/dist/cjs/tests/unit/context-extra-http-headers.test.js +0 -58
  352. package/dist/cjs/tests/unit/context-extra-http-headers.test.js.map +0 -1
  353. package/dist/cjs/tests/unit/cookies.test.d.ts +0 -1
  354. package/dist/cjs/tests/unit/cookies.test.js +0 -944
  355. package/dist/cjs/tests/unit/cookies.test.js.map +0 -1
  356. package/dist/cjs/tests/unit/flowlogger-capturing-cdp.test.d.ts +0 -1
  357. package/dist/cjs/tests/unit/flowlogger-capturing-cdp.test.js +0 -95
  358. package/dist/cjs/tests/unit/flowlogger-capturing-cdp.test.js.map +0 -1
  359. package/dist/cjs/tests/unit/flowlogger-capturing-llm.test.d.ts +0 -1
  360. package/dist/cjs/tests/unit/flowlogger-capturing-llm.test.js +0 -43
  361. package/dist/cjs/tests/unit/flowlogger-capturing-llm.test.js.map +0 -1
  362. package/dist/cjs/tests/unit/flowlogger-eventstore.test.d.ts +0 -1
  363. package/dist/cjs/tests/unit/flowlogger-eventstore.test.js +0 -250
  364. package/dist/cjs/tests/unit/flowlogger-eventstore.test.js.map +0 -1
  365. package/dist/cjs/tests/unit/frame-registry-oopif-adoption.test.d.ts +0 -1
  366. package/dist/cjs/tests/unit/frame-registry-oopif-adoption.test.js +0 -60
  367. package/dist/cjs/tests/unit/frame-registry-oopif-adoption.test.js.map +0 -1
  368. package/dist/cjs/tests/unit/helpers/mockCDPSession.d.ts +0 -19
  369. package/dist/cjs/tests/unit/helpers/mockCDPSession.js +0 -29
  370. package/dist/cjs/tests/unit/helpers/mockCDPSession.js.map +0 -1
  371. package/dist/cjs/tests/unit/inference-temperature.test.d.ts +0 -1
  372. package/dist/cjs/tests/unit/inference-temperature.test.js +0 -65
  373. package/dist/cjs/tests/unit/inference-temperature.test.js.map +0 -1
  374. package/dist/cjs/tests/unit/llm-middleware.test.d.ts +0 -1
  375. package/dist/cjs/tests/unit/llm-middleware.test.js +0 -495
  376. package/dist/cjs/tests/unit/llm-middleware.test.js.map +0 -1
  377. package/dist/cjs/tests/unit/llm-provider.test.d.ts +0 -1
  378. package/dist/cjs/tests/unit/llm-provider.test.js +0 -64
  379. package/dist/cjs/tests/unit/llm-provider.test.js.map +0 -1
  380. package/dist/cjs/tests/unit/microsoft-cua-client.test.d.ts +0 -1
  381. package/dist/cjs/tests/unit/microsoft-cua-client.test.js +0 -86
  382. package/dist/cjs/tests/unit/microsoft-cua-client.test.js.map +0 -1
  383. package/dist/cjs/tests/unit/model-deprecation.test.d.ts +0 -1
  384. package/dist/cjs/tests/unit/model-deprecation.test.js +0 -142
  385. package/dist/cjs/tests/unit/model-deprecation.test.js.map +0 -1
  386. package/dist/cjs/tests/unit/model-utils.test.d.ts +0 -1
  387. package/dist/cjs/tests/unit/model-utils.test.js +0 -42
  388. package/dist/cjs/tests/unit/model-utils.test.js.map +0 -1
  389. package/dist/cjs/tests/unit/openai-compatible-temperature.test.d.ts +0 -1
  390. package/dist/cjs/tests/unit/openai-compatible-temperature.test.js +0 -84
  391. package/dist/cjs/tests/unit/openai-compatible-temperature.test.js.map +0 -1
  392. package/dist/cjs/tests/unit/openai-cua-client.test.d.ts +0 -1
  393. package/dist/cjs/tests/unit/openai-cua-client.test.js +0 -71
  394. package/dist/cjs/tests/unit/openai-cua-client.test.js.map +0 -1
  395. package/dist/cjs/tests/unit/page-extra-http-headers.test.d.ts +0 -1
  396. package/dist/cjs/tests/unit/page-extra-http-headers.test.js +0 -92
  397. package/dist/cjs/tests/unit/page-extra-http-headers.test.js.map +0 -1
  398. package/dist/cjs/tests/unit/page-snapshot.test.d.ts +0 -1
  399. package/dist/cjs/tests/unit/page-snapshot.test.js +0 -75
  400. package/dist/cjs/tests/unit/page-snapshot.test.js.map +0 -1
  401. package/dist/cjs/tests/unit/prompt-observe-variables.test.d.ts +0 -1
  402. package/dist/cjs/tests/unit/prompt-observe-variables.test.js +0 -25
  403. package/dist/cjs/tests/unit/prompt-observe-variables.test.js.map +0 -1
  404. package/dist/cjs/tests/unit/public-api/export-surface.test.d.ts +0 -1
  405. package/dist/cjs/tests/unit/public-api/export-surface.test.js +0 -107
  406. package/dist/cjs/tests/unit/public-api/export-surface.test.js.map +0 -1
  407. package/dist/cjs/tests/unit/public-api/llm-and-agents.test.d.ts +0 -1
  408. package/dist/cjs/tests/unit/public-api/llm-and-agents.test.js +0 -179
  409. package/dist/cjs/tests/unit/public-api/llm-and-agents.test.js.map +0 -1
  410. package/dist/cjs/tests/unit/public-api/public-error-types.test.d.ts +0 -62
  411. package/dist/cjs/tests/unit/public-api/public-error-types.test.js +0 -110
  412. package/dist/cjs/tests/unit/public-api/public-error-types.test.js.map +0 -1
  413. package/dist/cjs/tests/unit/public-api/public-types.test.d.ts +0 -1
  414. package/dist/cjs/tests/unit/public-api/public-types.test.js +0 -99
  415. package/dist/cjs/tests/unit/public-api/public-types.test.js.map +0 -1
  416. package/dist/cjs/tests/unit/public-api/runtime-utils.test.d.ts +0 -1
  417. package/dist/cjs/tests/unit/public-api/runtime-utils.test.js +0 -60
  418. package/dist/cjs/tests/unit/public-api/runtime-utils.test.js.map +0 -1
  419. package/dist/cjs/tests/unit/public-api/schema-utils.test.d.ts +0 -1
  420. package/dist/cjs/tests/unit/public-api/schema-utils.test.js +0 -95
  421. package/dist/cjs/tests/unit/public-api/schema-utils.test.js.map +0 -1
  422. package/dist/cjs/tests/unit/public-api/timeout-error-types.test.d.ts +0 -1
  423. package/dist/cjs/tests/unit/public-api/timeout-error-types.test.js +0 -121
  424. package/dist/cjs/tests/unit/public-api/timeout-error-types.test.js.map +0 -1
  425. package/dist/cjs/tests/unit/public-api/tool-type-export.test.d.ts +0 -1
  426. package/dist/cjs/tests/unit/public-api/tool-type-export.test.js +0 -65
  427. package/dist/cjs/tests/unit/public-api/tool-type-export.test.js.map +0 -1
  428. package/dist/cjs/tests/unit/public-api/v3-core.test.d.ts +0 -1
  429. package/dist/cjs/tests/unit/public-api/v3-core.test.js +0 -108
  430. package/dist/cjs/tests/unit/public-api/v3-core.test.js.map +0 -1
  431. package/dist/cjs/tests/unit/safety-confirmation.test.d.ts +0 -1
  432. package/dist/cjs/tests/unit/safety-confirmation.test.js +0 -110
  433. package/dist/cjs/tests/unit/safety-confirmation.test.js.map +0 -1
  434. package/dist/cjs/tests/unit/snapshot-a11y-resolvers.test.d.ts +0 -1
  435. package/dist/cjs/tests/unit/snapshot-a11y-resolvers.test.js +0 -431
  436. package/dist/cjs/tests/unit/snapshot-a11y-resolvers.test.js.map +0 -1
  437. package/dist/cjs/tests/unit/snapshot-a11y-tree-utils.test.d.ts +0 -1
  438. package/dist/cjs/tests/unit/snapshot-a11y-tree-utils.test.js +0 -306
  439. package/dist/cjs/tests/unit/snapshot-a11y-tree-utils.test.js.map +0 -1
  440. package/dist/cjs/tests/unit/snapshot-capture-orchestration.test.d.ts +0 -1
  441. package/dist/cjs/tests/unit/snapshot-capture-orchestration.test.js +0 -504
  442. package/dist/cjs/tests/unit/snapshot-capture-orchestration.test.js.map +0 -1
  443. package/dist/cjs/tests/unit/snapshot-cbor.test.d.ts +0 -1
  444. package/dist/cjs/tests/unit/snapshot-cbor.test.js +0 -204
  445. package/dist/cjs/tests/unit/snapshot-cbor.test.js.map +0 -1
  446. package/dist/cjs/tests/unit/snapshot-dom-session-builders.test.d.ts +0 -1
  447. package/dist/cjs/tests/unit/snapshot-dom-session-builders.test.js +0 -220
  448. package/dist/cjs/tests/unit/snapshot-dom-session-builders.test.js.map +0 -1
  449. package/dist/cjs/tests/unit/snapshot-dom-tree-utils.test.d.ts +0 -1
  450. package/dist/cjs/tests/unit/snapshot-dom-tree-utils.test.js +0 -107
  451. package/dist/cjs/tests/unit/snapshot-dom-tree-utils.test.js.map +0 -1
  452. package/dist/cjs/tests/unit/snapshot-focus-selectors-utils.test.d.ts +0 -1
  453. package/dist/cjs/tests/unit/snapshot-focus-selectors-utils.test.js +0 -89
  454. package/dist/cjs/tests/unit/snapshot-focus-selectors-utils.test.js.map +0 -1
  455. package/dist/cjs/tests/unit/snapshot-frame-merge.test.d.ts +0 -1
  456. package/dist/cjs/tests/unit/snapshot-frame-merge.test.js +0 -335
  457. package/dist/cjs/tests/unit/snapshot-frame-merge.test.js.map +0 -1
  458. package/dist/cjs/tests/unit/snapshot-tree-format-utils.test.d.ts +0 -1
  459. package/dist/cjs/tests/unit/snapshot-tree-format-utils.test.js +0 -84
  460. package/dist/cjs/tests/unit/snapshot-tree-format-utils.test.js.map +0 -1
  461. package/dist/cjs/tests/unit/snapshot-xpath-utils.test.d.ts +0 -1
  462. package/dist/cjs/tests/unit/snapshot-xpath-utils.test.js +0 -74
  463. package/dist/cjs/tests/unit/snapshot-xpath-utils.test.js.map +0 -1
  464. package/dist/cjs/tests/unit/timeout-handlers.test.d.ts +0 -1
  465. package/dist/cjs/tests/unit/timeout-handlers.test.js +0 -897
  466. package/dist/cjs/tests/unit/timeout-handlers.test.js.map +0 -1
  467. package/dist/cjs/tests/unit/understudy-command-exception.test.d.ts +0 -1
  468. package/dist/cjs/tests/unit/understudy-command-exception.test.js +0 -57
  469. package/dist/cjs/tests/unit/understudy-command-exception.test.js.map +0 -1
  470. package/dist/cjs/tests/unit/xpath-parser.test.d.ts +0 -1
  471. package/dist/cjs/tests/unit/xpath-parser.test.js +0 -311
  472. package/dist/cjs/tests/unit/xpath-parser.test.js.map +0 -1
  473. package/dist/cjs/tests/unit/xpath-resolver.test.d.ts +0 -1
  474. package/dist/cjs/tests/unit/xpath-resolver.test.js +0 -80
  475. package/dist/cjs/tests/unit/xpath-resolver.test.js.map +0 -1
  476. package/dist/cjs/tests/unit/zod-enum-compatibility.test.d.ts +0 -1
  477. package/dist/cjs/tests/unit/zod-enum-compatibility.test.js +0 -149
  478. package/dist/cjs/tests/unit/zod-enum-compatibility.test.js.map +0 -1
  479. package/dist/esm/tests/cache-variables.test.d.ts +0 -1
  480. package/dist/esm/tests/cache-variables.test.js +0 -219
  481. package/dist/esm/tests/cache-variables.test.js.map +0 -1
  482. package/dist/esm/tests/integration/agent-abort-signal.spec.d.ts +0 -1
  483. package/dist/esm/tests/integration/agent-abort-signal.spec.js +0 -121
  484. package/dist/esm/tests/integration/agent-abort-signal.spec.js.map +0 -1
  485. package/dist/esm/tests/integration/agent-cache-self-heal.spec.d.ts +0 -1
  486. package/dist/esm/tests/integration/agent-cache-self-heal.spec.js +0 -78
  487. package/dist/esm/tests/integration/agent-cache-self-heal.spec.js.map +0 -1
  488. package/dist/esm/tests/integration/agent-callbacks.spec.d.ts +0 -1
  489. package/dist/esm/tests/integration/agent-callbacks.spec.js +0 -383
  490. package/dist/esm/tests/integration/agent-callbacks.spec.js.map +0 -1
  491. package/dist/esm/tests/integration/agent-experimental-validation.spec.d.ts +0 -1
  492. package/dist/esm/tests/integration/agent-experimental-validation.spec.js +0 -360
  493. package/dist/esm/tests/integration/agent-experimental-validation.spec.js.map +0 -1
  494. package/dist/esm/tests/integration/agent-hybrid-mode.spec.d.ts +0 -1
  495. package/dist/esm/tests/integration/agent-hybrid-mode.spec.js +0 -260
  496. package/dist/esm/tests/integration/agent-hybrid-mode.spec.js.map +0 -1
  497. package/dist/esm/tests/integration/agent-message-continuation.spec.d.ts +0 -1
  498. package/dist/esm/tests/integration/agent-message-continuation.spec.js +0 -110
  499. package/dist/esm/tests/integration/agent-message-continuation.spec.js.map +0 -1
  500. package/dist/esm/tests/integration/agent-streaming.spec.d.ts +0 -1
  501. package/dist/esm/tests/integration/agent-streaming.spec.js +0 -138
  502. package/dist/esm/tests/integration/agent-streaming.spec.js.map +0 -1
  503. package/dist/esm/tests/integration/cdp-close-api-region.spec.d.ts +0 -1
  504. package/dist/esm/tests/integration/cdp-close-api-region.spec.js +0 -39
  505. package/dist/esm/tests/integration/cdp-close-api-region.spec.js.map +0 -1
  506. package/dist/esm/tests/integration/cdp-connection-close.spec.d.ts +0 -1
  507. package/dist/esm/tests/integration/cdp-connection-close.spec.js +0 -74
  508. package/dist/esm/tests/integration/cdp-connection-close.spec.js.map +0 -1
  509. package/dist/esm/tests/integration/cdp-session-detached.spec.d.ts +0 -1
  510. package/dist/esm/tests/integration/cdp-session-detached.spec.js +0 -43
  511. package/dist/esm/tests/integration/cdp-session-detached.spec.js.map +0 -1
  512. package/dist/esm/tests/integration/chrome-newtab-page-tracking.spec.d.ts +0 -1
  513. package/dist/esm/tests/integration/chrome-newtab-page-tracking.spec.js +0 -54
  514. package/dist/esm/tests/integration/chrome-newtab-page-tracking.spec.js.map +0 -1
  515. package/dist/esm/tests/integration/click-count.spec.d.ts +0 -1
  516. package/dist/esm/tests/integration/click-count.spec.js +0 -161
  517. package/dist/esm/tests/integration/click-count.spec.js.map +0 -1
  518. package/dist/esm/tests/integration/connect-to-existing-browser.spec.d.ts +0 -1
  519. package/dist/esm/tests/integration/connect-to-existing-browser.spec.js +0 -97
  520. package/dist/esm/tests/integration/connect-to-existing-browser.spec.js.map +0 -1
  521. package/dist/esm/tests/integration/context-addInitScript.spec.d.ts +0 -1
  522. package/dist/esm/tests/integration/context-addInitScript.spec.js +0 -283
  523. package/dist/esm/tests/integration/context-addInitScript.spec.js.map +0 -1
  524. package/dist/esm/tests/integration/context-extra-http-headers.spec.d.ts +0 -1
  525. package/dist/esm/tests/integration/context-extra-http-headers.spec.js +0 -47
  526. package/dist/esm/tests/integration/context-extra-http-headers.spec.js.map +0 -1
  527. package/dist/esm/tests/integration/cookies.spec.d.ts +0 -1
  528. package/dist/esm/tests/integration/cookies.spec.js +0 -185
  529. package/dist/esm/tests/integration/cookies.spec.js.map +0 -1
  530. package/dist/esm/tests/integration/default-page-tracking.spec.d.ts +0 -1
  531. package/dist/esm/tests/integration/default-page-tracking.spec.js +0 -50
  532. package/dist/esm/tests/integration/default-page-tracking.spec.js.map +0 -1
  533. package/dist/esm/tests/integration/downloads.spec.d.ts +0 -1
  534. package/dist/esm/tests/integration/downloads.spec.js +0 -47
  535. package/dist/esm/tests/integration/downloads.spec.js.map +0 -1
  536. package/dist/esm/tests/integration/flowLogger.spec.d.ts +0 -1
  537. package/dist/esm/tests/integration/flowLogger.spec.js +0 -716
  538. package/dist/esm/tests/integration/flowLogger.spec.js.map +0 -1
  539. package/dist/esm/tests/integration/frame-get-location-and-click.spec.d.ts +0 -1
  540. package/dist/esm/tests/integration/frame-get-location-and-click.spec.js +0 -55
  541. package/dist/esm/tests/integration/frame-get-location-and-click.spec.js.map +0 -1
  542. package/dist/esm/tests/integration/iframe-ctx-addInitScript-race.spec.d.ts +0 -1
  543. package/dist/esm/tests/integration/iframe-ctx-addInitScript-race.spec.js +0 -217
  544. package/dist/esm/tests/integration/iframe-ctx-addInitScript-race.spec.js.map +0 -1
  545. package/dist/esm/tests/integration/iframe-ctx-addInitScript.spec.d.ts +0 -1
  546. package/dist/esm/tests/integration/iframe-ctx-addInitScript.spec.js +0 -472
  547. package/dist/esm/tests/integration/iframe-ctx-addInitScript.spec.js.map +0 -1
  548. package/dist/esm/tests/integration/keep-alive.child.d.ts +0 -1
  549. package/dist/esm/tests/integration/keep-alive.child.js +0 -83
  550. package/dist/esm/tests/integration/keep-alive.child.js.map +0 -1
  551. package/dist/esm/tests/integration/keep-alive.spec.d.ts +0 -22
  552. package/dist/esm/tests/integration/keep-alive.spec.js +0 -482
  553. package/dist/esm/tests/integration/keep-alive.spec.js.map +0 -1
  554. package/dist/esm/tests/integration/keyboard.spec.d.ts +0 -1
  555. package/dist/esm/tests/integration/keyboard.spec.js +0 -257
  556. package/dist/esm/tests/integration/keyboard.spec.js.map +0 -1
  557. package/dist/esm/tests/integration/locator-backend-node-id.spec.d.ts +0 -1
  558. package/dist/esm/tests/integration/locator-backend-node-id.spec.js +0 -148
  559. package/dist/esm/tests/integration/locator-backend-node-id.spec.js.map +0 -1
  560. package/dist/esm/tests/integration/locator-content-methods.spec.d.ts +0 -1
  561. package/dist/esm/tests/integration/locator-content-methods.spec.js +0 -178
  562. package/dist/esm/tests/integration/locator-content-methods.spec.js.map +0 -1
  563. package/dist/esm/tests/integration/locator-count-iframe.spec.d.ts +0 -1
  564. package/dist/esm/tests/integration/locator-count-iframe.spec.js +0 -127
  565. package/dist/esm/tests/integration/locator-count-iframe.spec.js.map +0 -1
  566. package/dist/esm/tests/integration/locator-count.spec.d.ts +0 -1
  567. package/dist/esm/tests/integration/locator-count.spec.js +0 -66
  568. package/dist/esm/tests/integration/locator-count.spec.js.map +0 -1
  569. package/dist/esm/tests/integration/locator-fill.spec.d.ts +0 -1
  570. package/dist/esm/tests/integration/locator-fill.spec.js +0 -115
  571. package/dist/esm/tests/integration/locator-fill.spec.js.map +0 -1
  572. package/dist/esm/tests/integration/locator-input-methods.spec.d.ts +0 -1
  573. package/dist/esm/tests/integration/locator-input-methods.spec.js +0 -125
  574. package/dist/esm/tests/integration/locator-input-methods.spec.js.map +0 -1
  575. package/dist/esm/tests/integration/locator-nth.spec.d.ts +0 -1
  576. package/dist/esm/tests/integration/locator-nth.spec.js +0 -173
  577. package/dist/esm/tests/integration/locator-nth.spec.js.map +0 -1
  578. package/dist/esm/tests/integration/locator-select-option.spec.d.ts +0 -1
  579. package/dist/esm/tests/integration/locator-select-option.spec.js +0 -214
  580. package/dist/esm/tests/integration/locator-select-option.spec.js.map +0 -1
  581. package/dist/esm/tests/integration/logger-initialization.spec.d.ts +0 -1
  582. package/dist/esm/tests/integration/logger-initialization.spec.js +0 -595
  583. package/dist/esm/tests/integration/logger-initialization.spec.js.map +0 -1
  584. package/dist/esm/tests/integration/multi-instance-logger.spec.d.ts +0 -1
  585. package/dist/esm/tests/integration/multi-instance-logger.spec.js +0 -291
  586. package/dist/esm/tests/integration/multi-instance-logger.spec.js.map +0 -1
  587. package/dist/esm/tests/integration/nested-div.spec.d.ts +0 -1
  588. package/dist/esm/tests/integration/nested-div.spec.js +0 -20
  589. package/dist/esm/tests/integration/nested-div.spec.js.map +0 -1
  590. package/dist/esm/tests/integration/observe-element-id-format.spec.d.ts +0 -1
  591. package/dist/esm/tests/integration/observe-element-id-format.spec.js +0 -128
  592. package/dist/esm/tests/integration/observe-element-id-format.spec.js.map +0 -1
  593. package/dist/esm/tests/integration/page-addInitScript.spec.d.ts +0 -1
  594. package/dist/esm/tests/integration/page-addInitScript.spec.js +0 -92
  595. package/dist/esm/tests/integration/page-addInitScript.spec.js.map +0 -1
  596. package/dist/esm/tests/integration/page-console.spec.d.ts +0 -1
  597. package/dist/esm/tests/integration/page-console.spec.js +0 -45
  598. package/dist/esm/tests/integration/page-console.spec.js.map +0 -1
  599. package/dist/esm/tests/integration/page-drag-and-drop.spec.d.ts +0 -1
  600. package/dist/esm/tests/integration/page-drag-and-drop.spec.js +0 -435
  601. package/dist/esm/tests/integration/page-drag-and-drop.spec.js.map +0 -1
  602. package/dist/esm/tests/integration/page-extra-http-headers.spec.d.ts +0 -1
  603. package/dist/esm/tests/integration/page-extra-http-headers.spec.js +0 -83
  604. package/dist/esm/tests/integration/page-extra-http-headers.spec.js.map +0 -1
  605. package/dist/esm/tests/integration/page-goto-response.spec.d.ts +0 -1
  606. package/dist/esm/tests/integration/page-goto-response.spec.js +0 -32
  607. package/dist/esm/tests/integration/page-goto-response.spec.js.map +0 -1
  608. package/dist/esm/tests/integration/page-hover.spec.d.ts +0 -1
  609. package/dist/esm/tests/integration/page-hover.spec.js +0 -163
  610. package/dist/esm/tests/integration/page-hover.spec.js.map +0 -1
  611. package/dist/esm/tests/integration/page-screenshot.spec.d.ts +0 -1
  612. package/dist/esm/tests/integration/page-screenshot.spec.js +0 -257
  613. package/dist/esm/tests/integration/page-screenshot.spec.js.map +0 -1
  614. package/dist/esm/tests/integration/page-scroll.spec.d.ts +0 -1
  615. package/dist/esm/tests/integration/page-scroll.spec.js +0 -181
  616. package/dist/esm/tests/integration/page-scroll.spec.js.map +0 -1
  617. package/dist/esm/tests/integration/page-send-cdp.spec.d.ts +0 -1
  618. package/dist/esm/tests/integration/page-send-cdp.spec.js +0 -45
  619. package/dist/esm/tests/integration/page-send-cdp.spec.js.map +0 -1
  620. package/dist/esm/tests/integration/perform-understudy-method.spec.d.ts +0 -1
  621. package/dist/esm/tests/integration/perform-understudy-method.spec.js +0 -61
  622. package/dist/esm/tests/integration/perform-understudy-method.spec.js.map +0 -1
  623. package/dist/esm/tests/integration/setinputfiles.spec.d.ts +0 -1
  624. package/dist/esm/tests/integration/setinputfiles.spec.js +0 -128
  625. package/dist/esm/tests/integration/setinputfiles.spec.js.map +0 -1
  626. package/dist/esm/tests/integration/shadow-iframe-oopif.spec.d.ts +0 -1
  627. package/dist/esm/tests/integration/shadow-iframe-oopif.spec.js +0 -156
  628. package/dist/esm/tests/integration/shadow-iframe-oopif.spec.js.map +0 -1
  629. package/dist/esm/tests/integration/shadow-iframe-spif.spec.d.ts +0 -1
  630. package/dist/esm/tests/integration/shadow-iframe-spif.spec.js +0 -155
  631. package/dist/esm/tests/integration/shadow-iframe-spif.spec.js.map +0 -1
  632. package/dist/esm/tests/integration/testUtils.d.ts +0 -40
  633. package/dist/esm/tests/integration/testUtils.js +0 -178
  634. package/dist/esm/tests/integration/testUtils.js.map +0 -1
  635. package/dist/esm/tests/integration/text-selector-innermost.spec.d.ts +0 -1
  636. package/dist/esm/tests/integration/text-selector-innermost.spec.js +0 -103
  637. package/dist/esm/tests/integration/text-selector-innermost.spec.js.map +0 -1
  638. package/dist/esm/tests/integration/timeouts.spec.d.ts +0 -1
  639. package/dist/esm/tests/integration/timeouts.spec.js +0 -307
  640. package/dist/esm/tests/integration/timeouts.spec.js.map +0 -1
  641. package/dist/esm/tests/integration/user-data-dir.spec.d.ts +0 -1
  642. package/dist/esm/tests/integration/user-data-dir.spec.js +0 -42
  643. package/dist/esm/tests/integration/user-data-dir.spec.js.map +0 -1
  644. package/dist/esm/tests/integration/v3.config.d.ts +0 -4
  645. package/dist/esm/tests/integration/v3.config.js +0 -7
  646. package/dist/esm/tests/integration/v3.config.js.map +0 -1
  647. package/dist/esm/tests/integration/v3.dynamic.config.d.ts +0 -4
  648. package/dist/esm/tests/integration/v3.dynamic.config.js +0 -44
  649. package/dist/esm/tests/integration/v3.dynamic.config.js.map +0 -1
  650. package/dist/esm/tests/integration/v3.playwright.config.d.ts +0 -2
  651. package/dist/esm/tests/integration/v3.playwright.config.js +0 -46
  652. package/dist/esm/tests/integration/v3.playwright.config.js.map +0 -1
  653. package/dist/esm/tests/integration/wait-for-selector.spec.d.ts +0 -1
  654. package/dist/esm/tests/integration/wait-for-selector.spec.js +0 -681
  655. package/dist/esm/tests/integration/wait-for-selector.spec.js.map +0 -1
  656. package/dist/esm/tests/integration/wait-for-timeout.spec.d.ts +0 -1
  657. package/dist/esm/tests/integration/wait-for-timeout.spec.js +0 -116
  658. package/dist/esm/tests/integration/wait-for-timeout.spec.js.map +0 -1
  659. package/dist/esm/tests/integration/xpath-for-location-deep.spec.d.ts +0 -1
  660. package/dist/esm/tests/integration/xpath-for-location-deep.spec.js +0 -85
  661. package/dist/esm/tests/integration/xpath-for-location-deep.spec.js.map +0 -1
  662. package/dist/esm/tests/unit/agent-captcha-hooks.test.d.ts +0 -1
  663. package/dist/esm/tests/unit/agent-captcha-hooks.test.js +0 -339
  664. package/dist/esm/tests/unit/agent-captcha-hooks.test.js.map +0 -1
  665. package/dist/esm/tests/unit/agent-execution-model.test.d.ts +0 -1
  666. package/dist/esm/tests/unit/agent-execution-model.test.js +0 -148
  667. package/dist/esm/tests/unit/agent-execution-model.test.js.map +0 -1
  668. package/dist/esm/tests/unit/agent-metrics.test.d.ts +0 -1
  669. package/dist/esm/tests/unit/agent-metrics.test.js +0 -110
  670. package/dist/esm/tests/unit/agent-metrics.test.js.map +0 -1
  671. package/dist/esm/tests/unit/agent-mode-routing.test.d.ts +0 -1
  672. package/dist/esm/tests/unit/agent-mode-routing.test.js +0 -86
  673. package/dist/esm/tests/unit/agent-mode-routing.test.js.map +0 -1
  674. package/dist/esm/tests/unit/agent-system-prompt-variables.test.d.ts +0 -1
  675. package/dist/esm/tests/unit/agent-system-prompt-variables.test.js +0 -21
  676. package/dist/esm/tests/unit/agent-system-prompt-variables.test.js.map +0 -1
  677. package/dist/esm/tests/unit/agent-temperature.test.d.ts +0 -1
  678. package/dist/esm/tests/unit/agent-temperature.test.js +0 -189
  679. package/dist/esm/tests/unit/agent-temperature.test.js.map +0 -1
  680. package/dist/esm/tests/unit/agent-variables-validation.test.d.ts +0 -1
  681. package/dist/esm/tests/unit/agent-variables-validation.test.js +0 -41
  682. package/dist/esm/tests/unit/agent-variables-validation.test.js.map +0 -1
  683. package/dist/esm/tests/unit/aisdk-clients.test.d.ts +0 -1
  684. package/dist/esm/tests/unit/aisdk-clients.test.js +0 -84
  685. package/dist/esm/tests/unit/aisdk-clients.test.js.map +0 -1
  686. package/dist/esm/tests/unit/anthropic-cua-adaptive-thinking.test.d.ts +0 -1
  687. package/dist/esm/tests/unit/anthropic-cua-adaptive-thinking.test.js +0 -245
  688. package/dist/esm/tests/unit/anthropic-cua-adaptive-thinking.test.js.map +0 -1
  689. package/dist/esm/tests/unit/api-client-observe-variables.test.d.ts +0 -1
  690. package/dist/esm/tests/unit/api-client-observe-variables.test.js +0 -131
  691. package/dist/esm/tests/unit/api-client-observe-variables.test.js.map +0 -1
  692. package/dist/esm/tests/unit/api-multiregion.test.d.ts +0 -1
  693. package/dist/esm/tests/unit/api-multiregion.test.js +0 -56
  694. package/dist/esm/tests/unit/api-multiregion.test.js.map +0 -1
  695. package/dist/esm/tests/unit/api-optional-model-api-key.test.d.ts +0 -1
  696. package/dist/esm/tests/unit/api-optional-model-api-key.test.js +0 -153
  697. package/dist/esm/tests/unit/api-optional-model-api-key.test.js.map +0 -1
  698. package/dist/esm/tests/unit/api-variables-schema.test.d.ts +0 -1
  699. package/dist/esm/tests/unit/api-variables-schema.test.js +0 -60
  700. package/dist/esm/tests/unit/api-variables-schema.test.js.map +0 -1
  701. package/dist/esm/tests/unit/browserbase-session-accessors.test.d.ts +0 -1
  702. package/dist/esm/tests/unit/browserbase-session-accessors.test.js +0 -140
  703. package/dist/esm/tests/unit/browserbase-session-accessors.test.js.map +0 -1
  704. package/dist/esm/tests/unit/cache-llm-resolution.test.d.ts +0 -1
  705. package/dist/esm/tests/unit/cache-llm-resolution.test.js +0 -184
  706. package/dist/esm/tests/unit/cache-llm-resolution.test.js.map +0 -1
  707. package/dist/esm/tests/unit/captcha-solver.test.d.ts +0 -1
  708. package/dist/esm/tests/unit/captcha-solver.test.js +0 -152
  709. package/dist/esm/tests/unit/captcha-solver.test.js.map +0 -1
  710. package/dist/esm/tests/unit/cdp-connection-close.test.d.ts +0 -1
  711. package/dist/esm/tests/unit/cdp-connection-close.test.js +0 -72
  712. package/dist/esm/tests/unit/cdp-connection-close.test.js.map +0 -1
  713. package/dist/esm/tests/unit/context-extra-http-headers.test.d.ts +0 -1
  714. package/dist/esm/tests/unit/context-extra-http-headers.test.js +0 -56
  715. package/dist/esm/tests/unit/context-extra-http-headers.test.js.map +0 -1
  716. package/dist/esm/tests/unit/cookies.test.d.ts +0 -1
  717. package/dist/esm/tests/unit/cookies.test.js +0 -909
  718. package/dist/esm/tests/unit/cookies.test.js.map +0 -1
  719. package/dist/esm/tests/unit/flowlogger-capturing-cdp.test.d.ts +0 -1
  720. package/dist/esm/tests/unit/flowlogger-capturing-cdp.test.js +0 -93
  721. package/dist/esm/tests/unit/flowlogger-capturing-cdp.test.js.map +0 -1
  722. package/dist/esm/tests/unit/flowlogger-capturing-llm.test.d.ts +0 -1
  723. package/dist/esm/tests/unit/flowlogger-capturing-llm.test.js +0 -41
  724. package/dist/esm/tests/unit/flowlogger-capturing-llm.test.js.map +0 -1
  725. package/dist/esm/tests/unit/flowlogger-eventstore.test.d.ts +0 -1
  726. package/dist/esm/tests/unit/flowlogger-eventstore.test.js +0 -248
  727. package/dist/esm/tests/unit/flowlogger-eventstore.test.js.map +0 -1
  728. package/dist/esm/tests/unit/frame-registry-oopif-adoption.test.d.ts +0 -1
  729. package/dist/esm/tests/unit/frame-registry-oopif-adoption.test.js +0 -58
  730. package/dist/esm/tests/unit/frame-registry-oopif-adoption.test.js.map +0 -1
  731. package/dist/esm/tests/unit/helpers/mockCDPSession.d.ts +0 -19
  732. package/dist/esm/tests/unit/helpers/mockCDPSession.js +0 -25
  733. package/dist/esm/tests/unit/helpers/mockCDPSession.js.map +0 -1
  734. package/dist/esm/tests/unit/inference-temperature.test.d.ts +0 -1
  735. package/dist/esm/tests/unit/inference-temperature.test.js +0 -63
  736. package/dist/esm/tests/unit/inference-temperature.test.js.map +0 -1
  737. package/dist/esm/tests/unit/llm-middleware.test.d.ts +0 -1
  738. package/dist/esm/tests/unit/llm-middleware.test.js +0 -460
  739. package/dist/esm/tests/unit/llm-middleware.test.js.map +0 -1
  740. package/dist/esm/tests/unit/llm-provider.test.d.ts +0 -1
  741. package/dist/esm/tests/unit/llm-provider.test.js +0 -62
  742. package/dist/esm/tests/unit/llm-provider.test.js.map +0 -1
  743. package/dist/esm/tests/unit/microsoft-cua-client.test.d.ts +0 -1
  744. package/dist/esm/tests/unit/microsoft-cua-client.test.js +0 -84
  745. package/dist/esm/tests/unit/microsoft-cua-client.test.js.map +0 -1
  746. package/dist/esm/tests/unit/model-deprecation.test.d.ts +0 -1
  747. package/dist/esm/tests/unit/model-deprecation.test.js +0 -140
  748. package/dist/esm/tests/unit/model-deprecation.test.js.map +0 -1
  749. package/dist/esm/tests/unit/model-utils.test.d.ts +0 -1
  750. package/dist/esm/tests/unit/model-utils.test.js +0 -40
  751. package/dist/esm/tests/unit/model-utils.test.js.map +0 -1
  752. package/dist/esm/tests/unit/openai-compatible-temperature.test.d.ts +0 -1
  753. package/dist/esm/tests/unit/openai-compatible-temperature.test.js +0 -82
  754. package/dist/esm/tests/unit/openai-compatible-temperature.test.js.map +0 -1
  755. package/dist/esm/tests/unit/openai-cua-client.test.d.ts +0 -1
  756. package/dist/esm/tests/unit/openai-cua-client.test.js +0 -69
  757. package/dist/esm/tests/unit/openai-cua-client.test.js.map +0 -1
  758. package/dist/esm/tests/unit/page-extra-http-headers.test.d.ts +0 -1
  759. package/dist/esm/tests/unit/page-extra-http-headers.test.js +0 -90
  760. package/dist/esm/tests/unit/page-extra-http-headers.test.js.map +0 -1
  761. package/dist/esm/tests/unit/page-snapshot.test.d.ts +0 -1
  762. package/dist/esm/tests/unit/page-snapshot.test.js +0 -40
  763. package/dist/esm/tests/unit/page-snapshot.test.js.map +0 -1
  764. package/dist/esm/tests/unit/prompt-observe-variables.test.d.ts +0 -1
  765. package/dist/esm/tests/unit/prompt-observe-variables.test.js +0 -23
  766. package/dist/esm/tests/unit/prompt-observe-variables.test.js.map +0 -1
  767. package/dist/esm/tests/unit/public-api/export-surface.test.d.ts +0 -1
  768. package/dist/esm/tests/unit/public-api/export-surface.test.js +0 -72
  769. package/dist/esm/tests/unit/public-api/export-surface.test.js.map +0 -1
  770. package/dist/esm/tests/unit/public-api/llm-and-agents.test.d.ts +0 -1
  771. package/dist/esm/tests/unit/public-api/llm-and-agents.test.js +0 -144
  772. package/dist/esm/tests/unit/public-api/llm-and-agents.test.js.map +0 -1
  773. package/dist/esm/tests/unit/public-api/public-error-types.test.d.ts +0 -62
  774. package/dist/esm/tests/unit/public-api/public-error-types.test.js +0 -74
  775. package/dist/esm/tests/unit/public-api/public-error-types.test.js.map +0 -1
  776. package/dist/esm/tests/unit/public-api/public-types.test.d.ts +0 -1
  777. package/dist/esm/tests/unit/public-api/public-types.test.js +0 -97
  778. package/dist/esm/tests/unit/public-api/public-types.test.js.map +0 -1
  779. package/dist/esm/tests/unit/public-api/runtime-utils.test.d.ts +0 -1
  780. package/dist/esm/tests/unit/public-api/runtime-utils.test.js +0 -25
  781. package/dist/esm/tests/unit/public-api/runtime-utils.test.js.map +0 -1
  782. package/dist/esm/tests/unit/public-api/schema-utils.test.d.ts +0 -1
  783. package/dist/esm/tests/unit/public-api/schema-utils.test.js +0 -60
  784. package/dist/esm/tests/unit/public-api/schema-utils.test.js.map +0 -1
  785. package/dist/esm/tests/unit/public-api/timeout-error-types.test.d.ts +0 -1
  786. package/dist/esm/tests/unit/public-api/timeout-error-types.test.js +0 -86
  787. package/dist/esm/tests/unit/public-api/timeout-error-types.test.js.map +0 -1
  788. package/dist/esm/tests/unit/public-api/tool-type-export.test.d.ts +0 -1
  789. package/dist/esm/tests/unit/public-api/tool-type-export.test.js +0 -30
  790. package/dist/esm/tests/unit/public-api/tool-type-export.test.js.map +0 -1
  791. package/dist/esm/tests/unit/public-api/v3-core.test.d.ts +0 -1
  792. package/dist/esm/tests/unit/public-api/v3-core.test.js +0 -73
  793. package/dist/esm/tests/unit/public-api/v3-core.test.js.map +0 -1
  794. package/dist/esm/tests/unit/safety-confirmation.test.d.ts +0 -1
  795. package/dist/esm/tests/unit/safety-confirmation.test.js +0 -108
  796. package/dist/esm/tests/unit/safety-confirmation.test.js.map +0 -1
  797. package/dist/esm/tests/unit/snapshot-a11y-resolvers.test.d.ts +0 -1
  798. package/dist/esm/tests/unit/snapshot-a11y-resolvers.test.js +0 -396
  799. package/dist/esm/tests/unit/snapshot-a11y-resolvers.test.js.map +0 -1
  800. package/dist/esm/tests/unit/snapshot-a11y-tree-utils.test.d.ts +0 -1
  801. package/dist/esm/tests/unit/snapshot-a11y-tree-utils.test.js +0 -304
  802. package/dist/esm/tests/unit/snapshot-a11y-tree-utils.test.js.map +0 -1
  803. package/dist/esm/tests/unit/snapshot-capture-orchestration.test.d.ts +0 -1
  804. package/dist/esm/tests/unit/snapshot-capture-orchestration.test.js +0 -469
  805. package/dist/esm/tests/unit/snapshot-capture-orchestration.test.js.map +0 -1
  806. package/dist/esm/tests/unit/snapshot-cbor.test.d.ts +0 -1
  807. package/dist/esm/tests/unit/snapshot-cbor.test.js +0 -202
  808. package/dist/esm/tests/unit/snapshot-cbor.test.js.map +0 -1
  809. package/dist/esm/tests/unit/snapshot-dom-session-builders.test.d.ts +0 -1
  810. package/dist/esm/tests/unit/snapshot-dom-session-builders.test.js +0 -218
  811. package/dist/esm/tests/unit/snapshot-dom-session-builders.test.js.map +0 -1
  812. package/dist/esm/tests/unit/snapshot-dom-tree-utils.test.d.ts +0 -1
  813. package/dist/esm/tests/unit/snapshot-dom-tree-utils.test.js +0 -105
  814. package/dist/esm/tests/unit/snapshot-dom-tree-utils.test.js.map +0 -1
  815. package/dist/esm/tests/unit/snapshot-focus-selectors-utils.test.d.ts +0 -1
  816. package/dist/esm/tests/unit/snapshot-focus-selectors-utils.test.js +0 -87
  817. package/dist/esm/tests/unit/snapshot-focus-selectors-utils.test.js.map +0 -1
  818. package/dist/esm/tests/unit/snapshot-frame-merge.test.d.ts +0 -1
  819. package/dist/esm/tests/unit/snapshot-frame-merge.test.js +0 -333
  820. package/dist/esm/tests/unit/snapshot-frame-merge.test.js.map +0 -1
  821. package/dist/esm/tests/unit/snapshot-tree-format-utils.test.d.ts +0 -1
  822. package/dist/esm/tests/unit/snapshot-tree-format-utils.test.js +0 -82
  823. package/dist/esm/tests/unit/snapshot-tree-format-utils.test.js.map +0 -1
  824. package/dist/esm/tests/unit/snapshot-xpath-utils.test.d.ts +0 -1
  825. package/dist/esm/tests/unit/snapshot-xpath-utils.test.js +0 -72
  826. package/dist/esm/tests/unit/snapshot-xpath-utils.test.js.map +0 -1
  827. package/dist/esm/tests/unit/timeout-handlers.test.d.ts +0 -1
  828. package/dist/esm/tests/unit/timeout-handlers.test.js +0 -862
  829. package/dist/esm/tests/unit/timeout-handlers.test.js.map +0 -1
  830. package/dist/esm/tests/unit/understudy-command-exception.test.d.ts +0 -1
  831. package/dist/esm/tests/unit/understudy-command-exception.test.js +0 -55
  832. package/dist/esm/tests/unit/understudy-command-exception.test.js.map +0 -1
  833. package/dist/esm/tests/unit/xpath-parser.test.d.ts +0 -1
  834. package/dist/esm/tests/unit/xpath-parser.test.js +0 -309
  835. package/dist/esm/tests/unit/xpath-parser.test.js.map +0 -1
  836. package/dist/esm/tests/unit/xpath-resolver.test.d.ts +0 -1
  837. package/dist/esm/tests/unit/xpath-resolver.test.js +0 -78
  838. package/dist/esm/tests/unit/xpath-resolver.test.js.map +0 -1
  839. package/dist/esm/tests/unit/zod-enum-compatibility.test.d.ts +0 -1
  840. package/dist/esm/tests/unit/zod-enum-compatibility.test.js +0 -114
  841. package/dist/esm/tests/unit/zod-enum-compatibility.test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AnthropicCUAClient.js","sourceRoot":"","sources":["../../../../../lib/v3/agent/AnthropicCUAClient.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AgentAction,\n AgentResult,\n AgentType,\n AnthropicContentBlock,\n AnthropicMessage,\n AnthropicTextBlock,\n AnthropicToolResult,\n AgentExecutionOptions,\n ToolUseItem,\n} from \"../types/public/agent.js\";\nimport { LogLine } from \"../types/public/logs.js\";\nimport { ClientOptions, ThinkingEffort } from \"../types/public/model.js\";\nimport {\n AgentScreenshotProviderError,\n StagehandClosedError,\n} from \"../types/public/sdkErrors.js\";\nimport Anthropic from \"@anthropic-ai/sdk\";\nimport { ToolSet } from \"ai\";\nimport { AgentClient } from \"./AgentClient.js\";\nimport { compressConversationImages } from \"./utils/imageCompression.js\";\nimport { toJsonSchema } from \"../zodCompat.js\";\nimport type { StagehandZodSchema } from \"../zodCompat.js\";\nimport {\n FlowLogger,\n extractLlmCuaPromptSummary,\n extractLlmCuaResponseSummary,\n} from \"../flowlogger/FlowLogger.js\";\nimport { v7 as uuidv7 } from \"uuid\";\n\nexport type ResponseInputItem = AnthropicMessage | AnthropicToolResult;\n\n/**\n * Client for Anthropic's Computer Use API\n * This implementation uses the official Anthropic Messages API for Computer Use\n */\nexport class AnthropicCUAClient extends AgentClient {\n private apiKey: string;\n private baseURL?: string;\n private client: Anthropic;\n public lastMessageId?: string;\n private currentViewport = { width: 1288, height: 711 };\n private currentUrl?: string;\n private screenshotProvider?: () => Promise<string>;\n private actionHandler?: (action: AgentAction) => Promise<void>;\n private thinkingBudget: number | null = null;\n private thinkingEffort: ThinkingEffort | null = null;\n private userTemperature: number | undefined;\n private tools?: ToolSet;\n\n constructor(\n type: AgentType,\n modelName: string,\n userProvidedInstructions?: string,\n clientOptions?: ClientOptions,\n tools?: ToolSet,\n ) {\n super(type, modelName, userProvidedInstructions);\n\n // Process client options\n this.apiKey =\n (clientOptions?.apiKey as string) || process.env.ANTHROPIC_API_KEY || \"\";\n this.baseURL = (clientOptions?.baseURL as string) || undefined;\n\n // Get thinking budget if specified (deprecated for 4.6 models)\n if (\n clientOptions?.thinkingBudget &&\n typeof clientOptions.thinkingBudget === \"number\"\n ) {\n this.thinkingBudget = clientOptions.thinkingBudget;\n }\n\n // Get thinking effort for adaptive thinking (Claude 4.6+ models)\n if (clientOptions?.thinkingEffort) {\n this.thinkingEffort = clientOptions.thinkingEffort;\n }\n\n // Track user-specified temperature so we can warn if adaptive thinking overrides it\n this.userTemperature = clientOptions?.temperature;\n\n // Store client options for reference\n this.clientOptions = {\n apiKey: this.apiKey,\n };\n\n if (this.baseURL) {\n this.clientOptions.baseURL = this.baseURL;\n }\n\n // Initialize the Anthropic client\n this.client = new Anthropic(this.clientOptions);\n\n this.tools = tools;\n }\n\n setViewport(width: number, height: number): void {\n this.currentViewport = { width, height };\n }\n\n setCurrentUrl(url: string): void {\n this.currentUrl = url;\n }\n\n setScreenshotProvider(provider: () => Promise<string>): void {\n this.screenshotProvider = provider;\n }\n\n setActionHandler(handler: (action: AgentAction) => Promise<void>): void {\n this.actionHandler = handler;\n }\n\n setTools(tools: ToolSet): void {\n this.tools = tools;\n }\n\n /**\n * Execute a task with the Anthropic CUA\n * This is the main entry point for the agent\n * @implements AgentClient.execute\n */\n async execute(executionOptions: AgentExecutionOptions): Promise<AgentResult> {\n const { options, logger } = executionOptions;\n const { instruction } = options;\n const maxSteps = options.maxSteps || 10;\n\n let currentStep = 0;\n let completed = false;\n const actions: AgentAction[] = [];\n const messageList: string[] = [];\n let finalMessage = \"\";\n\n // Start with the initial instruction\n let inputItems: ResponseInputItem[] =\n this.createInitialInputItems(instruction);\n\n logger({\n category: \"agent\",\n message: `Starting Anthropic agent execution with instruction: ${instruction}`,\n level: 1,\n });\n\n let totalInputTokens = 0;\n let totalOutputTokens = 0;\n let totalInferenceTime = 0;\n\n try {\n // Execute steps until completion or max steps reached\n while (!completed && currentStep < maxSteps) {\n await this.preStepHook?.();\n\n logger({\n category: \"agent\",\n message: `Executing step ${currentStep + 1}/${maxSteps}`,\n level: 1,\n });\n\n const result = await this.executeStep(inputItems, logger);\n totalInputTokens += result.usage.input_tokens;\n totalOutputTokens += result.usage.output_tokens;\n totalInferenceTime += result.usage.inference_time_ms;\n\n // Add actions to the list\n if (result.actions.length > 0) {\n logger({\n category: \"agent\",\n message: `Step ${currentStep + 1} performed ${result.actions.length} actions`,\n level: 2,\n });\n actions.push(...result.actions);\n }\n\n // Update completion status\n completed = result.completed;\n\n // Update the input items for the next step if we're continuing\n if (!completed) {\n inputItems = result.nextInputItems;\n }\n\n // Record any message for this step\n if (result.message) {\n messageList.push(result.message);\n finalMessage = result.message;\n }\n\n // Increment step counter\n currentStep++;\n }\n\n logger({\n category: \"agent\",\n message: `Anthropic agent execution completed: ${completed}, with ${actions.length} total actions performed`,\n level: 1,\n });\n\n // Return the final result\n return {\n success: completed,\n actions,\n message: finalMessage,\n completed,\n usage: {\n input_tokens: totalInputTokens,\n output_tokens: totalOutputTokens,\n inference_time_ms: totalInferenceTime,\n },\n };\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : String(error);\n logger({\n category: \"agent\",\n message: `Error executing agent task: ${errorMessage}`,\n level: 0,\n });\n\n return {\n success: false,\n actions,\n message: `Failed to execute task: ${errorMessage}`,\n completed: false,\n usage: {\n input_tokens: totalInputTokens,\n output_tokens: totalOutputTokens,\n inference_time_ms: totalInferenceTime,\n },\n };\n }\n }\n\n async executeStep(\n inputItems: ResponseInputItem[],\n logger: (message: LogLine) => void,\n ): Promise<{\n actions: AgentAction[];\n message: string;\n completed: boolean;\n nextInputItems: ResponseInputItem[];\n usage: {\n input_tokens: number;\n output_tokens: number;\n inference_time_ms: number;\n };\n }> {\n try {\n // Get response from the model\n const result = await this.getAction(inputItems, logger);\n const content = result.content;\n const usage = {\n input_tokens: result.usage.input_tokens,\n output_tokens: result.usage.output_tokens,\n inference_time_ms: result.usage.inference_time_ms,\n };\n\n logger({\n category: \"agent\",\n message: `Received response with ${content.length} content blocks`,\n level: 2,\n });\n\n // Extract actions from the content\n const stepActions: AgentAction[] = [];\n const toolUseItems: ToolUseItem[] = [];\n let message = \"\";\n\n // Process content blocks to find tool use items and text content\n for (const block of content) {\n logger({\n category: \"agent\",\n message: `Processing block type: ${block.type}, id: ${block.id || \"unknown\"}`,\n level: 2,\n });\n\n if (block.type === \"tool_use\") {\n // Direct handling of tool_use type\n logger({\n category: \"agent\",\n message: `Found tool_use block: ${JSON.stringify(block)}`,\n level: 2,\n });\n\n // Cast to ToolUseItem and add to list\n const toolUseItem = block as ToolUseItem;\n toolUseItems.push(toolUseItem);\n\n logger({\n category: \"agent\",\n message: `Added tool_use item: ${toolUseItem.name}, action: ${JSON.stringify(toolUseItem.input)}`,\n level: 2,\n });\n\n // Convert tool use to action and add to actions list\n const action = this.convertToolUseToAction(toolUseItem);\n if (action) {\n logger({\n category: \"agent\",\n message: `Created action from tool_use: ${toolUseItem.name}, action: ${action.type}`,\n level: 2,\n });\n stepActions.push(action);\n } else if (this.tools && toolUseItem.name in this.tools) {\n stepActions.push({\n type: \"custom_tool\",\n tool: toolUseItem.name,\n input: toolUseItem.input,\n } as AgentAction);\n }\n } else if (block.type === \"text\") {\n // Safe to cast here since we've verified it's a text block\n const textBlock = block as unknown as AnthropicTextBlock;\n message += textBlock.text + \"\\n\";\n\n logger({\n category: \"agent\",\n message: `Found text block: ${textBlock.text}`,\n level: 2,\n });\n } else {\n logger({\n category: \"agent\",\n message: `Found unknown block type: ${block.type}`,\n level: 2,\n });\n }\n }\n\n // Execute actions if an action handler is provided\n if (this.actionHandler && stepActions.length > 0) {\n for (const action of stepActions) {\n try {\n logger({\n category: \"agent\",\n message: `Executing action: ${action.type}`,\n level: 1,\n });\n await this.actionHandler(action);\n } catch (error) {\n if (error instanceof StagehandClosedError) {\n throw error;\n }\n const errorMessage =\n error instanceof Error ? error.message : String(error);\n logger({\n category: \"agent\",\n message: `Error executing action ${action.type}: ${errorMessage}`,\n level: 0,\n });\n }\n }\n }\n\n // Create the assistant response message with all content blocks\n const assistantMessage: AnthropicMessage = {\n role: \"assistant\",\n content: content as unknown as AnthropicContentBlock[],\n };\n\n // Keep track of the conversation history by preserving all previous messages\n // and adding new messages at the end\n const nextInputItems: ResponseInputItem[] = [...inputItems];\n\n // Add the assistant message with tool_use blocks to the history\n compressConversationImages(nextInputItems);\n\n nextInputItems.push(assistantMessage);\n\n // Generate tool results and add them as a user message\n if (toolUseItems.length > 0) {\n const toolResults = await this.takeAction(toolUseItems, logger);\n\n if (toolResults.length > 0) {\n // Tool results are AnthropicToolResult[] which are compatible with AnthropicContentBlock[]\n const userToolResultsMessage: AnthropicMessage = {\n role: \"user\",\n content: toolResults as unknown as AnthropicContentBlock[],\n };\n nextInputItems.push(userToolResultsMessage);\n }\n }\n\n // The step is completed only if there were no tool_use items\n const completed = toolUseItems.length === 0;\n\n logger({\n category: \"agent\",\n message: `Step processed ${toolUseItems.length} tool use items, completed: ${completed}`,\n level: 2,\n });\n\n return {\n actions: stepActions,\n message: message.trim(),\n completed,\n nextInputItems,\n usage: usage,\n };\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : String(error);\n logger({\n category: \"agent\",\n message: `Error executing step: ${errorMessage}`,\n level: 0,\n });\n\n throw error;\n }\n }\n\n private createInitialInputItems(instruction: string): AnthropicMessage[] {\n // For the initial request, we use a simple array with the user's instruction\n return [\n {\n role: \"system\",\n content: this.userProvidedInstructions,\n },\n {\n role: \"user\",\n content: instruction,\n },\n ];\n }\n\n async getAction(\n inputItems: ResponseInputItem[],\n logger?: (message: LogLine) => void,\n ): Promise<{\n content: AnthropicContentBlock[];\n id: string;\n usage: Record<string, number>;\n }> {\n try {\n // For the API request, we use the inputItems directly\n // These should already be properly formatted as a sequence of user/assistant messages\n const messages: AnthropicMessage[] = [];\n\n for (const item of inputItems) {\n if (\"role\" in item) {\n // Skip system messages as Anthropic requires system as a top-level parameter\n if (item.role !== \"system\") {\n messages.push(item);\n }\n }\n // Note: We don't need special handling for tool_result items here anymore\n // as they should already be properly wrapped in user messages\n }\n\n // Claude 4.6+ models require the newer computer_20251124 tool version\n // and support adaptive thinking instead of budget_tokens\n const modelBase = this.modelName.includes(\"/\")\n ? this.modelName.split(\"/\")[1]\n : this.modelName;\n\n // Check if this is a Claude 4.6+ model that supports adaptive thinking\n const isAdaptiveThinkingModel = [\n \"claude-opus-4-6\",\n \"claude-sonnet-4-6\",\n ].includes(modelBase);\n\n // claude-opus-4-5-20251101 uses the newer computer tool version but does\n // NOT support adaptive thinking — it still requires budget_tokens.\n const shouldUseNewToolVersion =\n isAdaptiveThinkingModel || modelBase === \"claude-opus-4-5-20251101\";\n\n // Configure thinking capability based on model version\n // - For 4.6 models: Use adaptive thinking with effort (recommended, defaults to \"medium\")\n // - For older models: Use enabled thinking with budget_tokens (deprecated)\n let thinking:\n | { type: \"adaptive\" }\n | { type: \"enabled\"; budget_tokens: number }\n | undefined;\n let outputConfig: { effort: Exclude<ThinkingEffort, \"none\"> } | undefined;\n let useAdaptiveThinking = false;\n\n if (isAdaptiveThinkingModel) {\n if (this.thinkingBudget) {\n logger?.({\n category: \"agent\",\n message: `thinkingBudget is ignored for ${this.modelName}; use thinkingEffort instead`,\n level: 2,\n });\n }\n\n if (this.thinkingEffort !== \"none\") {\n // Claude 4.6+ models use adaptive thinking with output_config.effort\n // Default to \"medium\" effort if not explicitly specified\n // See: https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking\n thinking = { type: \"adaptive\" };\n outputConfig = { effort: this.thinkingEffort || \"medium\" };\n useAdaptiveThinking = true;\n }\n } else if (this.thinkingBudget) {\n // Older models use enabled thinking with budget_tokens (deprecated for 4.6)\n thinking = { type: \"enabled\", budget_tokens: this.thinkingBudget };\n }\n\n const computerToolType = shouldUseNewToolVersion\n ? \"computer_20251124\"\n : \"computer_20250124\";\n const betaFlag = shouldUseNewToolVersion\n ? \"computer-use-2025-11-24\"\n : \"computer-use-2025-01-24\";\n\n // Create the request parameters\n const requestParams: Record<string, unknown> = {\n model: this.modelName,\n max_tokens: 4096,\n messages: messages,\n tools: [\n {\n type: computerToolType,\n name: \"computer\",\n display_width_px: this.currentViewport.width,\n display_height_px: this.currentViewport.height,\n display_number: 1,\n },\n ],\n betas: [betaFlag],\n };\n\n // Add custom tools if available\n if (this.tools && Object.keys(this.tools).length > 0) {\n const customTools = Object.entries(this.tools).map(([name, tool]) => {\n const schema = tool.inputSchema as StagehandZodSchema;\n\n // Convert Zod schema to proper JSON schema format for Anthropic\n const jsonSchema = toJsonSchema(schema) as {\n properties?: Record<string, unknown>;\n required?: string[];\n };\n\n const inputSchema = {\n type: \"object\",\n properties: jsonSchema.properties || {},\n required: jsonSchema.required || [],\n };\n\n return {\n name,\n description: tool.description,\n input_schema: inputSchema,\n };\n });\n\n requestParams.tools = [\n ...(requestParams.tools as Record<string, unknown>[]),\n ...customTools,\n ];\n }\n\n // Add system parameter if provided\n if (this.userProvidedInstructions) {\n requestParams.system = this.userProvidedInstructions;\n }\n\n // Add thinking parameter if available\n if (thinking) {\n requestParams.thinking = thinking;\n }\n\n // Add output_config for adaptive thinking (Claude 4.6+ models)\n if (outputConfig) {\n requestParams.output_config = outputConfig;\n }\n\n // Adaptive thinking requires temperature to be set to 1\n // See: https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking\n if (useAdaptiveThinking) {\n if (this.userTemperature !== undefined && this.userTemperature !== 1) {\n logger?.({\n category: \"agent\",\n message: `Adaptive thinking requires temperature=1; overriding user-specified temperature=${this.userTemperature}`,\n level: 2,\n });\n }\n requestParams.temperature = 1;\n }\n\n // Log LLM request\n const llmRequestId = uuidv7();\n FlowLogger.logLlmRequest({\n requestId: llmRequestId,\n model: this.modelName,\n prompt: extractLlmCuaPromptSummary(messages),\n });\n\n const startTime = Date.now();\n // Create the message using the Anthropic Messages API\n // @ts-expect-error - The Anthropic SDK types are stricter than what we need\n const response = await this.client.beta.messages.create(requestParams);\n const endTime = Date.now();\n const elapsedMs = endTime - startTime;\n const usage = {\n input_tokens: response.usage.input_tokens,\n output_tokens: response.usage.output_tokens,\n inference_time_ms: elapsedMs,\n };\n\n // Log LLM response\n FlowLogger.logLlmResponse({\n requestId: llmRequestId,\n model: this.modelName,\n output: extractLlmCuaResponseSummary(response.content),\n inputTokens: response.usage.input_tokens,\n outputTokens: response.usage.output_tokens,\n });\n\n // Store the message ID for future use\n this.lastMessageId = response.id;\n\n // Return the content and message ID\n return {\n // Cast the response content to our internal type\n content: response.content as unknown as AnthropicContentBlock[],\n id: response.id,\n usage,\n };\n } catch (error) {\n console.error(\"Error getting action from Anthropic:\", error);\n throw error;\n }\n }\n\n async takeAction(\n toolUseItems: ToolUseItem[],\n logger: (message: LogLine) => void,\n ): Promise<AnthropicToolResult[]> {\n const toolResults: AnthropicToolResult[] = [];\n\n logger({\n category: \"agent\",\n message: `Taking action on ${toolUseItems.length} tool use items`,\n level: 2,\n });\n\n // Process each tool use item\n for (const item of toolUseItems) {\n try {\n logger({\n category: \"agent\",\n message: `Processing tool use: ${item.name}, id: ${item.id}, action: ${JSON.stringify(item.input)}`,\n level: 2,\n });\n\n // TODO: Normalize and migrate to agentHandler\n\n // For computer tool, capture screenshot and return image\n if (item.name === \"computer\") {\n // Get action type\n const action = item.input.action as string;\n logger({\n category: \"agent\",\n message: `Computer action type: ${action}`,\n level: 2,\n });\n\n // Capture a screenshot for the response\n const screenshot = await this.captureScreenshot();\n logger({\n category: \"agent\",\n message: `Screenshot captured, length: ${screenshot.length}`,\n level: 2,\n });\n\n // Create proper image content block for Anthropic\n const imageContent = [\n {\n type: \"image\",\n source: {\n type: \"base64\",\n media_type: \"image/png\",\n data: screenshot.replace(/^data:image\\/png;base64,/, \"\"),\n },\n },\n ];\n\n // Add current URL if available\n if (this.currentUrl) {\n toolResults.push({\n type: \"tool_result\",\n tool_use_id: item.id,\n content: [\n ...imageContent,\n {\n type: \"text\",\n text: `Current URL: ${this.currentUrl}`,\n },\n ],\n });\n } else {\n toolResults.push({\n type: \"tool_result\",\n tool_use_id: item.id,\n content: imageContent,\n });\n }\n\n logger({\n category: \"agent\",\n message: `Added computer tool result for tool_use_id: ${item.id}`,\n level: 2,\n });\n } else {\n // Handle custom tools\n let toolResult = \"Tool executed successfully\";\n if (this.tools && item.name in this.tools) {\n try {\n const tool = this.tools[item.name];\n\n logger({\n category: \"agent\",\n message: `Executing tool call: ${item.name} with args: ${JSON.stringify(item.input)}`,\n level: 1,\n });\n\n const result = await tool.execute(item.input, {\n toolCallId: item.id,\n messages: [],\n });\n toolResult = JSON.stringify(result);\n\n logger({\n category: \"agent\",\n message: `Tool ${item.name} completed successfully. Result: ${toolResult}`,\n level: 1,\n });\n } catch (toolError) {\n const errorMessage =\n toolError instanceof Error\n ? toolError.message\n : String(toolError);\n toolResult = `Error executing tool: ${errorMessage}`;\n\n logger({\n category: \"agent\",\n message: `Error executing tool ${item.name}: ${errorMessage}`,\n level: 0,\n });\n }\n }\n\n toolResults.push({\n type: \"tool_result\",\n tool_use_id: item.id,\n content: [\n {\n type: \"text\",\n text: toolResult,\n },\n ],\n });\n\n logger({\n category: \"agent\",\n message: `Added custom tool result for tool ${item.name}, tool_use_id: ${item.id}`,\n level: 2,\n });\n }\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : String(error);\n\n logger({\n category: \"agent\",\n message: `Error executing tool use: ${errorMessage}`,\n level: 0,\n });\n\n try {\n // For computer tool, try to capture a screenshot even on error\n if (item.name === \"computer\") {\n const screenshot = await this.captureScreenshot();\n\n toolResults.push({\n type: \"tool_result\",\n tool_use_id: item.id,\n content: [\n {\n type: \"image\",\n source: {\n type: \"base64\",\n media_type: \"image/png\",\n data: screenshot.replace(/^data:image\\/png;base64,/, \"\"),\n },\n },\n {\n type: \"text\",\n text: `Error: ${errorMessage}`,\n },\n ],\n });\n\n logger({\n category: \"agent\",\n message: `Added error tool result with screenshot for tool_use_id: ${item.id}`,\n level: 1,\n });\n } else {\n // For other tools, return an error message as a text content block\n toolResults.push({\n type: \"tool_result\",\n tool_use_id: item.id,\n content: [\n {\n type: \"text\",\n text: `Error: ${errorMessage}`,\n },\n ],\n });\n\n logger({\n category: \"agent\",\n message: `Added error tool result for tool_use_id: ${item.id}`,\n level: 1,\n });\n }\n } catch (screenshotError) {\n // If we can't capture a screenshot, just send the error\n logger({\n category: \"agent\",\n message: `Error capturing screenshot: ${String(screenshotError)}`,\n level: 0,\n });\n\n toolResults.push({\n type: \"tool_result\",\n tool_use_id: item.id,\n content: [\n {\n type: \"text\",\n text: `Error: ${errorMessage}`,\n },\n ],\n });\n\n logger({\n category: \"agent\",\n message: `Added text error tool result for tool_use_id: ${item.id}`,\n level: 1,\n });\n }\n }\n }\n\n logger({\n category: \"agent\",\n message: `Prepared ${toolResults.length} tool results for next request`,\n level: 2,\n });\n\n return toolResults;\n }\n\n private convertToolUseToAction(item: ToolUseItem): AgentAction | null {\n try {\n const { name, input } = item;\n\n if (name === \"computer\") {\n // For computer actions, format according to the action type\n const action = input.action as string;\n\n if (!action) {\n console.warn(\"Missing action in tool use item:\", item);\n return null;\n }\n\n // Handle different action types specifically\n if (action === \"screenshot\") {\n return {\n type: \"screenshot\",\n ...input,\n };\n } else if (action === \"click\") {\n return {\n type: \"click\",\n x: input.x as number,\n y: input.y as number,\n button: (input.button as string) || \"left\",\n ...input,\n };\n } else if (action === \"type\") {\n return {\n type: \"type\",\n text: input.text as string,\n ...input,\n };\n } else if (action === \"keypress\" || action === \"key\") {\n return {\n type: \"keypress\",\n keys: [input.text as string],\n ...input,\n };\n } else if (action === \"double_click\" || action === \"doubleClick\") {\n return {\n type: \"doubleClick\",\n x:\n (input.x as number) ||\n (input.coordinate ? (input.coordinate as number[])[0] : 0),\n y:\n (input.y as number) ||\n (input.coordinate ? (input.coordinate as number[])[1] : 0),\n ...input,\n };\n } else if (action === \"scroll\") {\n // Convert Anthropic's coordinate, scroll_amount and scroll_direction into scroll_x and scroll_y\n const x =\n (input.x as number) ||\n (input.coordinate ? (input.coordinate as number[])[0] : 0);\n const y =\n (input.y as number) ||\n (input.coordinate ? (input.coordinate as number[])[1] : 0);\n\n // Calculate scroll_x and scroll_y based on scroll_amount and scroll_direction\n let scroll_x = 0;\n let scroll_y = 0;\n\n const scrollAmount = (input.scroll_amount as number) || 5;\n const scrollMultiplier = 100; // Pixels per unit of scroll_amount\n\n if (input.scroll_direction) {\n const direction = input.scroll_direction as string;\n if (direction === \"down\") {\n scroll_y = scrollAmount * scrollMultiplier;\n } else if (direction === \"up\") {\n scroll_y = -scrollAmount * scrollMultiplier;\n } else if (direction === \"right\") {\n scroll_x = scrollAmount * scrollMultiplier;\n } else if (direction === \"left\") {\n scroll_x = -scrollAmount * scrollMultiplier;\n }\n } else {\n // Use direct scroll_x and scroll_y if provided\n scroll_x = (input.scroll_x as number) || 0;\n scroll_y = (input.scroll_y as number) || 0;\n }\n\n return {\n type: \"scroll\",\n x: x,\n y: y,\n scroll_x: scroll_x,\n scroll_y: scroll_y,\n ...input,\n };\n } else if (action === \"move\") {\n // Handle Anthropic's coordinate format\n const coordinates = input.coordinate as number[] | undefined;\n const x = coordinates ? coordinates[0] : (input.x as number) || 0;\n const y = coordinates ? coordinates[1] : (input.y as number) || 0;\n\n return {\n type: \"move\",\n x: x,\n y: y,\n ...input,\n };\n } else if (action === \"drag\" || action === \"left_click_drag\") {\n // Make sure path is properly formatted\n const path =\n (input.path as { x: number; y: number }[]) ||\n (input.coordinate\n ? [\n {\n x: (input.start_coordinate as number[])[0],\n y: (input.start_coordinate as number[])[1],\n },\n {\n x: (input.coordinate as number[])[0],\n y: (input.coordinate as number[])[1],\n },\n ]\n : []);\n\n return {\n type: \"drag\",\n path: path,\n ...input,\n };\n } else if (action === \"wait\") {\n return {\n type: \"wait\",\n ...input,\n };\n } else if (action === \"left_click\") {\n // Convert left_click to regular click\n const coordinates = input.coordinate as number[] | undefined;\n const x = coordinates ? coordinates[0] : (input.x as number) || 0;\n const y = coordinates ? coordinates[1] : (input.y as number) || 0;\n\n return {\n type: \"click\",\n x: x,\n y: y,\n button: \"left\",\n ...input,\n };\n } else {\n // For other computer actions, use the action type directly\n return {\n type: action,\n ...input,\n };\n }\n } else if (name === \"str_replace_editor\" || name === \"bash\") {\n // For editor or bash tools\n return {\n type: name,\n params: input,\n };\n } else if (this.tools && name in this.tools) {\n return null;\n }\n\n console.warn(`Unknown tool name: ${name}`);\n return null;\n } catch (error) {\n console.error(\"Error converting tool use to action:\", error);\n return null;\n }\n }\n\n async captureScreenshot(options?: {\n base64Image?: string;\n currentUrl?: string;\n }): Promise<string> {\n // Use provided options if available\n if (options?.base64Image) {\n return `data:image/png;base64,${options.base64Image}`;\n }\n\n // Use the screenshot provider if available\n if (this.screenshotProvider) {\n try {\n const base64Image = await this.screenshotProvider();\n return `data:image/png;base64,${base64Image}`;\n } catch (error) {\n console.error(\"Error capturing screenshot:\", error);\n throw error;\n }\n }\n\n throw new AgentScreenshotProviderError(\n \"`screenshotProvider` has not been set. \" +\n \"Please call `setScreenshotProvider()` with a valid function that returns a base64-encoded image\",\n );\n }\n}\n"]}
1
+ {"version":3,"file":"AnthropicCUAClient.js","sourceRoot":"","sources":["../../../../../lib/v3/agent/AnthropicCUAClient.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AgentAction,\n AgentResult,\n AgentType,\n AnthropicContentBlock,\n AnthropicMessage,\n AnthropicTextBlock,\n AnthropicToolResult,\n AgentExecutionOptions,\n ToolUseItem,\n} from \"../types/public/agent.js\";\nimport { LogLine } from \"../types/public/logs.js\";\nimport { ClientOptions, ThinkingEffort } from \"../types/public/model.js\";\nimport {\n AgentScreenshotProviderError,\n StagehandClosedError,\n} from \"../types/public/sdkErrors.js\";\nimport Anthropic from \"@anthropic-ai/sdk\";\nimport { ToolSet } from \"ai\";\nimport { AgentClient } from \"./AgentClient.js\";\nimport { compressConversationImages } from \"./utils/imageCompression.js\";\nimport { toJsonSchema } from \"../zodCompat.js\";\nimport type { StagehandZodSchema } from \"../zodCompat.js\";\nimport {\n FlowLogger,\n extractLlmCuaPromptSummary,\n extractLlmCuaResponseSummary,\n} from \"../flowlogger/FlowLogger.js\";\nimport { v7 as uuidv7 } from \"uuid\";\n\nexport type ResponseInputItem = AnthropicMessage | AnthropicToolResult;\n\n/**\n * Client for Anthropic's Computer Use API\n * This implementation uses the official Anthropic Messages API for Computer Use\n */\nexport class AnthropicCUAClient extends AgentClient {\n private apiKey: string;\n private baseURL?: string;\n private client: Anthropic;\n public lastMessageId?: string;\n private currentViewport = { width: 1288, height: 711 };\n private currentUrl?: string;\n private screenshotProvider?: () => Promise<string>;\n private actionHandler?: (action: AgentAction) => Promise<void>;\n private thinkingBudget: number | null = null;\n private thinkingEffort: ThinkingEffort | null = null;\n private userTemperature: number | undefined;\n private tools?: ToolSet;\n\n constructor(\n type: AgentType,\n modelName: string,\n userProvidedInstructions?: string,\n clientOptions?: ClientOptions,\n tools?: ToolSet,\n ) {\n super(type, modelName, userProvidedInstructions);\n\n // Process client options\n this.apiKey =\n (clientOptions?.apiKey as string) || process.env.ANTHROPIC_API_KEY || \"\";\n this.baseURL = (clientOptions?.baseURL as string) || undefined;\n\n // Get thinking budget if specified (deprecated for 4.6 models)\n if (\n clientOptions?.thinkingBudget &&\n typeof clientOptions.thinkingBudget === \"number\"\n ) {\n this.thinkingBudget = clientOptions.thinkingBudget;\n }\n\n // Get thinking effort for adaptive thinking (Claude 4.6+ models)\n if (clientOptions?.thinkingEffort) {\n this.thinkingEffort = clientOptions.thinkingEffort;\n }\n\n // Track user-specified temperature so we can warn if adaptive thinking overrides it\n this.userTemperature = clientOptions?.temperature;\n\n // Store client options for reference\n this.clientOptions = {\n apiKey: this.apiKey,\n };\n\n if (this.baseURL) {\n this.clientOptions.baseURL = this.baseURL;\n }\n\n // Initialize the Anthropic client\n this.client = new Anthropic(this.clientOptions);\n\n this.tools = tools;\n }\n\n setViewport(width: number, height: number): void {\n this.currentViewport = { width, height };\n }\n\n setCurrentUrl(url: string): void {\n this.currentUrl = url;\n }\n\n setScreenshotProvider(provider: () => Promise<string>): void {\n this.screenshotProvider = provider;\n }\n\n setActionHandler(handler: (action: AgentAction) => Promise<void>): void {\n this.actionHandler = handler;\n }\n\n setTools(tools: ToolSet): void {\n this.tools = tools;\n }\n\n /**\n * Execute a task with the Anthropic CUA\n * This is the main entry point for the agent\n * @implements AgentClient.execute\n */\n async execute(executionOptions: AgentExecutionOptions): Promise<AgentResult> {\n const { options, logger } = executionOptions;\n const { instruction } = options;\n const maxSteps = options.maxSteps || 10;\n\n let currentStep = 0;\n let completed = false;\n const actions: AgentAction[] = [];\n const messageList: string[] = [];\n let finalMessage = \"\";\n\n // Start with the initial instruction\n let inputItems: ResponseInputItem[] =\n this.createInitialInputItems(instruction);\n\n logger({\n category: \"agent\",\n message: `Starting Anthropic agent execution with instruction: ${instruction}`,\n level: 1,\n });\n\n let totalInputTokens = 0;\n let totalOutputTokens = 0;\n let totalInferenceTime = 0;\n\n try {\n // Execute steps until completion or max steps reached\n while (!completed && currentStep < maxSteps) {\n await this.preStepHook?.();\n\n logger({\n category: \"agent\",\n message: `Executing step ${currentStep + 1}/${maxSteps}`,\n level: 1,\n });\n\n const result = await this.executeStep(inputItems, logger);\n totalInputTokens += result.usage.input_tokens;\n totalOutputTokens += result.usage.output_tokens;\n totalInferenceTime += result.usage.inference_time_ms;\n\n // Add actions to the list\n if (result.actions.length > 0) {\n logger({\n category: \"agent\",\n message: `Step ${currentStep + 1} performed ${result.actions.length} actions`,\n level: 2,\n });\n actions.push(...result.actions);\n }\n\n // Update completion status\n completed = result.completed;\n\n // Update the input items for the next step if we're continuing\n if (!completed) {\n inputItems = result.nextInputItems;\n }\n\n // Record any message for this step\n if (result.message) {\n messageList.push(result.message);\n finalMessage = result.message;\n }\n\n // Increment step counter\n currentStep++;\n }\n\n logger({\n category: \"agent\",\n message: `Anthropic agent execution completed: ${completed}, with ${actions.length} total actions performed`,\n level: 1,\n });\n\n // Return the final result\n return {\n success: completed,\n actions,\n message: finalMessage,\n completed,\n usage: {\n input_tokens: totalInputTokens,\n output_tokens: totalOutputTokens,\n inference_time_ms: totalInferenceTime,\n },\n };\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : String(error);\n logger({\n category: \"agent\",\n message: `Error executing agent task: ${errorMessage}`,\n level: 0,\n });\n\n return {\n success: false,\n actions,\n message: `Failed to execute task: ${errorMessage}`,\n completed: false,\n usage: {\n input_tokens: totalInputTokens,\n output_tokens: totalOutputTokens,\n inference_time_ms: totalInferenceTime,\n },\n };\n }\n }\n\n async executeStep(\n inputItems: ResponseInputItem[],\n logger: (message: LogLine) => void,\n ): Promise<{\n actions: AgentAction[];\n message: string;\n completed: boolean;\n nextInputItems: ResponseInputItem[];\n usage: {\n input_tokens: number;\n output_tokens: number;\n inference_time_ms: number;\n };\n }> {\n try {\n // Get response from the model\n const result = await this.getAction(inputItems, logger);\n const content = result.content;\n const usage = {\n input_tokens: result.usage.input_tokens,\n output_tokens: result.usage.output_tokens,\n inference_time_ms: result.usage.inference_time_ms,\n };\n\n logger({\n category: \"agent\",\n message: `Received response with ${content.length} content blocks`,\n level: 2,\n });\n\n // Extract actions from the content\n const stepActions: AgentAction[] = [];\n const toolUseItems: ToolUseItem[] = [];\n let message = \"\";\n\n // Process content blocks to find tool use items and text content\n for (const block of content) {\n logger({\n category: \"agent\",\n message: `Processing block type: ${block.type}, id: ${block.id || \"unknown\"}`,\n level: 2,\n });\n\n if (block.type === \"tool_use\") {\n // Direct handling of tool_use type\n logger({\n category: \"agent\",\n message: `Found tool_use block: ${JSON.stringify(block)}`,\n level: 2,\n });\n\n // Cast to ToolUseItem and add to list\n const toolUseItem = block as ToolUseItem;\n toolUseItems.push(toolUseItem);\n\n logger({\n category: \"agent\",\n message: `Added tool_use item: ${toolUseItem.name}, action: ${JSON.stringify(toolUseItem.input)}`,\n level: 2,\n });\n\n // Convert tool use to action and add to actions list\n const action = this.convertToolUseToAction(toolUseItem);\n if (action) {\n logger({\n category: \"agent\",\n message: `Created action from tool_use: ${toolUseItem.name}, action: ${action.type}`,\n level: 2,\n });\n stepActions.push(action);\n } else if (this.tools && toolUseItem.name in this.tools) {\n stepActions.push({\n type: \"custom_tool\",\n tool: toolUseItem.name,\n input: toolUseItem.input,\n } as AgentAction);\n }\n } else if (block.type === \"text\") {\n // Safe to cast here since we've verified it's a text block\n const textBlock = block as unknown as AnthropicTextBlock;\n message += textBlock.text + \"\\n\";\n\n logger({\n category: \"agent\",\n message: `Found text block: ${textBlock.text}`,\n level: 2,\n });\n } else {\n logger({\n category: \"agent\",\n message: `Found unknown block type: ${block.type}`,\n level: 2,\n });\n }\n }\n\n // Execute actions if an action handler is provided\n if (this.actionHandler && stepActions.length > 0) {\n for (const action of stepActions) {\n try {\n logger({\n category: \"agent\",\n message: `Executing action: ${action.type}`,\n level: 1,\n });\n await this.actionHandler(action);\n } catch (error) {\n if (error instanceof StagehandClosedError) {\n throw error;\n }\n const errorMessage =\n error instanceof Error ? error.message : String(error);\n logger({\n category: \"agent\",\n message: `Error executing action ${action.type}: ${errorMessage}`,\n level: 0,\n });\n }\n }\n }\n\n // Create the assistant response message with all content blocks\n const assistantMessage: AnthropicMessage = {\n role: \"assistant\",\n content: content as unknown as AnthropicContentBlock[],\n };\n\n // Keep track of the conversation history by preserving all previous messages\n // and adding new messages at the end\n const nextInputItems: ResponseInputItem[] = [...inputItems];\n\n // Add the assistant message with tool_use blocks to the history\n compressConversationImages(nextInputItems);\n\n nextInputItems.push(assistantMessage);\n\n // Generate tool results and add them as a user message\n if (toolUseItems.length > 0) {\n const toolResults = await this.takeAction(toolUseItems, logger);\n\n if (toolResults.length > 0) {\n // Tool results are AnthropicToolResult[] which are compatible with AnthropicContentBlock[]\n const userToolResultsMessage: AnthropicMessage = {\n role: \"user\",\n content: toolResults as unknown as AnthropicContentBlock[],\n };\n nextInputItems.push(userToolResultsMessage);\n }\n }\n\n // The step is completed only if there were no tool_use items\n const completed = toolUseItems.length === 0;\n\n logger({\n category: \"agent\",\n message: `Step processed ${toolUseItems.length} tool use items, completed: ${completed}`,\n level: 2,\n });\n\n return {\n actions: stepActions,\n message: message.trim(),\n completed,\n nextInputItems,\n usage: usage,\n };\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : String(error);\n logger({\n category: \"agent\",\n message: `Error executing step: ${errorMessage}`,\n level: 0,\n });\n\n throw error;\n }\n }\n\n private createInitialInputItems(instruction: string): AnthropicMessage[] {\n // For the initial request, we use a simple array with the user's instruction\n return [\n {\n role: \"system\",\n content: this.userProvidedInstructions,\n },\n {\n role: \"user\",\n content: instruction,\n },\n ];\n }\n\n async getAction(\n inputItems: ResponseInputItem[],\n logger?: (message: LogLine) => void,\n ): Promise<{\n content: AnthropicContentBlock[];\n id: string;\n usage: Record<string, number>;\n }> {\n try {\n // For the API request, we use the inputItems directly\n // These should already be properly formatted as a sequence of user/assistant messages\n const messages: AnthropicMessage[] = [];\n\n for (const item of inputItems) {\n if (\"role\" in item) {\n // Skip system messages as Anthropic requires system as a top-level parameter\n if (item.role !== \"system\") {\n messages.push(item);\n }\n }\n // Note: We don't need special handling for tool_result items here anymore\n // as they should already be properly wrapped in user messages\n }\n\n // Claude 4.6+ models require the newer computer_20251124 tool version\n // and support adaptive thinking instead of budget_tokens\n const modelBase = this.modelName.includes(\"/\")\n ? this.modelName.split(\"/\")[1]\n : this.modelName;\n\n // Check if this is a Claude 4.6+ model that supports adaptive thinking\n const isAdaptiveThinkingModel = [\n \"claude-opus-4-6\",\n \"claude-sonnet-4-6\",\n ].includes(modelBase);\n\n // claude-opus-4-5-20251101 uses the newer computer tool version but does\n // NOT support adaptive thinking — it still requires budget_tokens.\n const shouldUseNewToolVersion =\n isAdaptiveThinkingModel || modelBase === \"claude-opus-4-5-20251101\";\n\n // Configure thinking capability based on model version\n // - For 4.6 models: Use adaptive thinking with effort (recommended, defaults to \"medium\")\n // - For older models: Use enabled thinking with budget_tokens (deprecated)\n let thinking:\n | { type: \"adaptive\" }\n | { type: \"enabled\"; budget_tokens: number }\n | undefined;\n let outputConfig: { effort: Exclude<ThinkingEffort, \"none\"> } | undefined;\n let useAdaptiveThinking = false;\n\n if (isAdaptiveThinkingModel) {\n if (this.thinkingBudget) {\n logger?.({\n category: \"agent\",\n message: `thinkingBudget is ignored for ${this.modelName}; use thinkingEffort instead`,\n level: 2,\n });\n }\n\n if (this.thinkingEffort !== \"none\") {\n // Claude 4.6+ models use adaptive thinking with output_config.effort\n // Default to \"medium\" effort if not explicitly specified\n // See: https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking\n thinking = { type: \"adaptive\" };\n outputConfig = { effort: this.thinkingEffort || \"medium\" };\n useAdaptiveThinking = true;\n }\n } else if (this.thinkingBudget) {\n // Older models use enabled thinking with budget_tokens (deprecated for 4.6)\n thinking = { type: \"enabled\", budget_tokens: this.thinkingBudget };\n }\n\n const computerToolType = shouldUseNewToolVersion\n ? \"computer_20251124\"\n : \"computer_20250124\";\n const betaFlag = shouldUseNewToolVersion\n ? \"computer-use-2025-11-24\"\n : \"computer-use-2025-01-24\";\n\n // Create the request parameters\n const requestParams: Record<string, unknown> = {\n model: this.modelName,\n max_tokens: 4096,\n messages: messages,\n tools: [\n {\n type: computerToolType,\n name: \"computer\",\n display_width_px: this.currentViewport.width,\n display_height_px: this.currentViewport.height,\n display_number: 1,\n },\n ],\n betas: [betaFlag],\n };\n\n // Add custom tools if available\n if (this.tools && Object.keys(this.tools).length > 0) {\n const customTools = Object.entries(this.tools).map(([name, tool]) => {\n const schema = tool.inputSchema as StagehandZodSchema;\n\n // Convert Zod schema to proper JSON schema format for Anthropic\n const jsonSchema = toJsonSchema(schema) as {\n properties?: Record<string, unknown>;\n required?: string[];\n };\n\n const inputSchema = {\n type: \"object\",\n properties: jsonSchema.properties || {},\n required: jsonSchema.required || [],\n };\n\n return {\n name,\n description: tool.description,\n input_schema: inputSchema,\n };\n });\n\n requestParams.tools = [\n ...(requestParams.tools as Record<string, unknown>[]),\n ...customTools,\n ];\n }\n\n // Add system parameter if provided\n if (this.userProvidedInstructions) {\n requestParams.system = this.userProvidedInstructions;\n }\n\n // Add thinking parameter if available\n if (thinking) {\n requestParams.thinking = thinking;\n }\n\n // Add output_config for adaptive thinking (Claude 4.6+ models)\n if (outputConfig) {\n requestParams.output_config = outputConfig;\n }\n\n // Adaptive thinking requires temperature to be set to 1\n // See: https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking\n if (useAdaptiveThinking) {\n if (this.userTemperature !== undefined && this.userTemperature !== 1) {\n logger?.({\n category: \"agent\",\n message: `Adaptive thinking requires temperature=1; overriding user-specified temperature=${this.userTemperature}`,\n level: 2,\n });\n }\n requestParams.temperature = 1;\n }\n\n // Log LLM request\n const llmRequestId = uuidv7();\n FlowLogger.logLlmRequest({\n requestId: llmRequestId,\n model: this.modelName,\n prompt: extractLlmCuaPromptSummary(messages),\n });\n\n const startTime = Date.now();\n // Create the message using the Anthropic Messages API\n // @ts-expect-error - The Anthropic SDK types are stricter than what we need\n const response = await this.client.beta.messages.create(requestParams);\n const endTime = Date.now();\n const elapsedMs = endTime - startTime;\n const usage = {\n input_tokens: response.usage.input_tokens,\n output_tokens: response.usage.output_tokens,\n inference_time_ms: elapsedMs,\n };\n\n // Log LLM response\n FlowLogger.logLlmResponse({\n requestId: llmRequestId,\n model: this.modelName,\n output: extractLlmCuaResponseSummary(response.content),\n inputTokens: response.usage.input_tokens,\n outputTokens: response.usage.output_tokens,\n });\n\n // Store the message ID for future use\n this.lastMessageId = response.id;\n\n // Return the content and message ID\n return {\n // Cast the response content to our internal type\n content: response.content as unknown as AnthropicContentBlock[],\n id: response.id,\n usage,\n };\n } catch (error) {\n console.error(\"Error getting action from Anthropic:\", error);\n throw error;\n }\n }\n\n async takeAction(\n toolUseItems: ToolUseItem[],\n logger: (message: LogLine) => void,\n ): Promise<AnthropicToolResult[]> {\n const toolResults: AnthropicToolResult[] = [];\n\n logger({\n category: \"agent\",\n message: `Taking action on ${toolUseItems.length} tool use items`,\n level: 2,\n });\n\n // Process each tool use item\n for (const item of toolUseItems) {\n try {\n logger({\n category: \"agent\",\n message: `Processing tool use: ${item.name}, id: ${item.id}, action: ${JSON.stringify(item.input)}`,\n level: 2,\n });\n\n // TODO: Normalize and migrate to agentHandler\n\n // For computer tool, capture screenshot and return image\n if (item.name === \"computer\") {\n // Get action type\n const action = item.input.action as string;\n logger({\n category: \"agent\",\n message: `Computer action type: ${action}`,\n level: 2,\n });\n\n // Capture a screenshot for the response\n const screenshot = await this.captureScreenshot();\n logger({\n category: \"agent\",\n message: `Screenshot captured, length: ${screenshot.length}`,\n level: 2,\n });\n\n // Create proper image content block for Anthropic\n const imageContent = [\n {\n type: \"image\",\n source: {\n type: \"base64\",\n media_type: \"image/png\",\n data: screenshot.replace(/^data:image\\/png;base64,/, \"\"),\n },\n },\n ];\n\n // Add current URL if available\n if (this.currentUrl) {\n toolResults.push({\n type: \"tool_result\",\n tool_use_id: item.id,\n content: [\n ...imageContent,\n {\n type: \"text\",\n text: `Current URL: ${this.currentUrl}`,\n },\n ],\n });\n } else {\n toolResults.push({\n type: \"tool_result\",\n tool_use_id: item.id,\n content: imageContent,\n });\n }\n\n logger({\n category: \"agent\",\n message: `Added computer tool result for tool_use_id: ${item.id}`,\n level: 2,\n });\n } else {\n // Handle custom tools\n let toolResult = \"Tool executed successfully\";\n if (this.tools && item.name in this.tools) {\n try {\n const tool = this.tools[item.name];\n\n logger({\n category: \"agent\",\n message: `Executing tool call: ${item.name} with args: ${JSON.stringify(item.input)}`,\n level: 1,\n });\n\n const result = await tool.execute(item.input, {\n toolCallId: item.id,\n messages: [],\n });\n toolResult = JSON.stringify(result);\n\n logger({\n category: \"agent\",\n message: `Tool ${item.name} completed successfully. Result: ${toolResult}`,\n level: 1,\n });\n } catch (toolError) {\n const errorMessage =\n toolError instanceof Error\n ? toolError.message\n : String(toolError);\n toolResult = `Error executing tool: ${errorMessage}`;\n\n logger({\n category: \"agent\",\n message: `Error executing tool ${item.name}: ${errorMessage}`,\n level: 0,\n });\n }\n }\n\n toolResults.push({\n type: \"tool_result\",\n tool_use_id: item.id,\n content: [\n {\n type: \"text\",\n text: toolResult,\n },\n ],\n });\n\n logger({\n category: \"agent\",\n message: `Added custom tool result for tool ${item.name}, tool_use_id: ${item.id}`,\n level: 2,\n });\n }\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : String(error);\n\n logger({\n category: \"agent\",\n message: `Error executing tool use: ${errorMessage}`,\n level: 0,\n });\n\n try {\n // For computer tool, try to capture a screenshot even on error\n if (item.name === \"computer\") {\n const screenshot = await this.captureScreenshot();\n\n toolResults.push({\n type: \"tool_result\",\n tool_use_id: item.id,\n content: [\n {\n type: \"image\",\n source: {\n type: \"base64\",\n media_type: \"image/png\",\n data: screenshot.replace(/^data:image\\/png;base64,/, \"\"),\n },\n },\n {\n type: \"text\",\n text: `Error: ${errorMessage}`,\n },\n ],\n });\n\n logger({\n category: \"agent\",\n message: `Added error tool result with screenshot for tool_use_id: ${item.id}`,\n level: 1,\n });\n } else {\n // For other tools, return an error message as a text content block\n toolResults.push({\n type: \"tool_result\",\n tool_use_id: item.id,\n content: [\n {\n type: \"text\",\n text: `Error: ${errorMessage}`,\n },\n ],\n });\n\n logger({\n category: \"agent\",\n message: `Added error tool result for tool_use_id: ${item.id}`,\n level: 1,\n });\n }\n } catch (screenshotError) {\n // If we can't capture a screenshot, just send the error\n logger({\n category: \"agent\",\n message: `Error capturing screenshot: ${String(screenshotError)}`,\n level: 0,\n });\n\n toolResults.push({\n type: \"tool_result\",\n tool_use_id: item.id,\n content: [\n {\n type: \"text\",\n text: `Error: ${errorMessage}`,\n },\n ],\n });\n\n logger({\n category: \"agent\",\n message: `Added text error tool result for tool_use_id: ${item.id}`,\n level: 1,\n });\n }\n }\n }\n\n logger({\n category: \"agent\",\n message: `Prepared ${toolResults.length} tool results for next request`,\n level: 2,\n });\n\n return toolResults;\n }\n\n private convertToolUseToAction(item: ToolUseItem): AgentAction | null {\n try {\n const { name, input } = item;\n\n if (name === \"computer\") {\n // For computer actions, format according to the action type\n const action = input.action as string;\n\n if (!action) {\n console.warn(\"Missing action in tool use item:\", item);\n return null;\n }\n\n // Handle different action types specifically\n if (action === \"screenshot\") {\n return {\n type: \"screenshot\",\n ...input,\n };\n } else if (action === \"click\") {\n return {\n type: \"click\",\n x: input.x as number,\n y: input.y as number,\n button: (input.button as string) || \"left\",\n ...input,\n };\n } else if (action === \"type\") {\n return {\n type: \"type\",\n text: input.text as string,\n ...input,\n };\n } else if (action === \"keypress\" || action === \"key\") {\n return {\n type: \"keypress\",\n keys: [input.text as string],\n ...input,\n };\n } else if (action === \"double_click\" || action === \"doubleClick\") {\n return {\n type: \"doubleClick\",\n x:\n (input.x as number) ||\n (input.coordinate ? (input.coordinate as number[])[0] : 0),\n y:\n (input.y as number) ||\n (input.coordinate ? (input.coordinate as number[])[1] : 0),\n ...input,\n };\n } else if (action === \"triple_click\" || action === \"tripleClick\") {\n return {\n type: \"tripleClick\",\n x:\n (input.x as number) ||\n (input.coordinate ? (input.coordinate as number[])[0] : 0),\n y:\n (input.y as number) ||\n (input.coordinate ? (input.coordinate as number[])[1] : 0),\n ...input,\n };\n } else if (action === \"scroll\") {\n // Convert Anthropic's coordinate, scroll_amount and scroll_direction into scroll_x and scroll_y\n const x =\n (input.x as number) ||\n (input.coordinate ? (input.coordinate as number[])[0] : 0);\n const y =\n (input.y as number) ||\n (input.coordinate ? (input.coordinate as number[])[1] : 0);\n\n // Calculate scroll_x and scroll_y based on scroll_amount and scroll_direction\n let scroll_x = 0;\n let scroll_y = 0;\n\n const scrollAmount = (input.scroll_amount as number) || 5;\n const scrollMultiplier = 100; // Pixels per unit of scroll_amount\n\n if (input.scroll_direction) {\n const direction = input.scroll_direction as string;\n if (direction === \"down\") {\n scroll_y = scrollAmount * scrollMultiplier;\n } else if (direction === \"up\") {\n scroll_y = -scrollAmount * scrollMultiplier;\n } else if (direction === \"right\") {\n scroll_x = scrollAmount * scrollMultiplier;\n } else if (direction === \"left\") {\n scroll_x = -scrollAmount * scrollMultiplier;\n }\n } else {\n // Use direct scroll_x and scroll_y if provided\n scroll_x = (input.scroll_x as number) || 0;\n scroll_y = (input.scroll_y as number) || 0;\n }\n\n return {\n type: \"scroll\",\n x: x,\n y: y,\n scroll_x: scroll_x,\n scroll_y: scroll_y,\n ...input,\n };\n } else if (action === \"move\") {\n // Handle Anthropic's coordinate format\n const coordinates = input.coordinate as number[] | undefined;\n const x = coordinates ? coordinates[0] : (input.x as number) || 0;\n const y = coordinates ? coordinates[1] : (input.y as number) || 0;\n\n return {\n type: \"move\",\n x: x,\n y: y,\n ...input,\n };\n } else if (action === \"drag\" || action === \"left_click_drag\") {\n // Make sure path is properly formatted\n const path =\n (input.path as { x: number; y: number }[]) ||\n (input.coordinate\n ? [\n {\n x: (input.start_coordinate as number[])[0],\n y: (input.start_coordinate as number[])[1],\n },\n {\n x: (input.coordinate as number[])[0],\n y: (input.coordinate as number[])[1],\n },\n ]\n : []);\n\n return {\n type: \"drag\",\n path: path,\n ...input,\n };\n } else if (action === \"wait\") {\n return {\n type: \"wait\",\n ...input,\n };\n } else if (action === \"left_click\") {\n // Convert left_click to regular click\n const coordinates = input.coordinate as number[] | undefined;\n const x = coordinates ? coordinates[0] : (input.x as number) || 0;\n const y = coordinates ? coordinates[1] : (input.y as number) || 0;\n\n return {\n type: \"click\",\n x: x,\n y: y,\n button: \"left\",\n ...input,\n };\n } else {\n // For other computer actions, use the action type directly\n return {\n type: action,\n ...input,\n };\n }\n } else if (name === \"str_replace_editor\" || name === \"bash\") {\n // For editor or bash tools\n return {\n type: name,\n params: input,\n };\n } else if (this.tools && name in this.tools) {\n return null;\n }\n\n console.warn(`Unknown tool name: ${name}`);\n return null;\n } catch (error) {\n console.error(\"Error converting tool use to action:\", error);\n return null;\n }\n }\n\n async captureScreenshot(options?: {\n base64Image?: string;\n currentUrl?: string;\n }): Promise<string> {\n // Use provided options if available\n if (options?.base64Image) {\n return `data:image/png;base64,${options.base64Image}`;\n }\n\n // Use the screenshot provider if available\n if (this.screenshotProvider) {\n try {\n const base64Image = await this.screenshotProvider();\n return `data:image/png;base64,${base64Image}`;\n } catch (error) {\n console.error(\"Error capturing screenshot:\", error);\n throw error;\n }\n }\n\n throw new AgentScreenshotProviderError(\n \"`screenshotProvider` has not been set. \" +\n \"Please call `setScreenshotProvider()` with a valid function that returns a base64-encoded image\",\n );\n }\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import type { ActResult, AgentConfig, AgentExecuteOptions, AgentResult, ExtractResult, ObserveResult, LogLine, StagehandMetrics, BrowserbaseRegion, ActOptions, ExtractOptions, ObserveOptions, Api } from "./types/public/index.js";
2
2
  import type { SerializableResponse, AgentCacheTransferPayload } from "./types/private/index.js";
3
+ import type { ModelConfiguration } from "./types/public/model.js";
3
4
  import type { StagehandZodSchema } from "./zodCompat.js";
4
5
  /**
5
6
  * Mapping of Browserbase regions to their corresponding Stagehand API base URLs.
@@ -41,6 +42,8 @@ interface ClientSessionStartParams extends Api.SessionStartRequest {
41
42
  * Optional: when omitted, requests are sent without the x-model-api-key header
42
43
  * and the server is expected to handle model authentication on its own. */
43
44
  modelApiKey?: string;
45
+ /** Default model config for later action requests. Not sent to /sessions/start. */
46
+ defaultModelConfig?: ModelConfiguration;
44
47
  }
45
48
  /**
46
49
  * Client parameters for act() method.
@@ -79,6 +82,7 @@ export declare class StagehandAPIClient {
79
82
  private sessionId?;
80
83
  private modelApiKey?;
81
84
  private modelProvider?;
85
+ private defaultModelConfig?;
82
86
  private region?;
83
87
  private logger;
84
88
  private fetchWithCookies;
@@ -87,7 +91,7 @@ export declare class StagehandAPIClient {
87
91
  private latestAgentCacheEntry;
88
92
  private warnedStagehandBaseUrl;
89
93
  constructor({ apiKey, projectId, logger, serverCache, }: StagehandAPIConstructorParams);
90
- init({ modelName, modelApiKey, domSettleTimeoutMs, verbose, systemPrompt, selfHeal, browserbaseSessionCreateParams, browserbaseSessionID, }: ClientSessionStartParams): Promise<Api.SessionStartResult>;
94
+ init({ modelName, modelApiKey, defaultModelConfig, domSettleTimeoutMs, verbose, systemPrompt, selfHeal, browserbaseSessionCreateParams, browserbaseSessionID, }: ClientSessionStartParams): Promise<Api.SessionStartResult>;
91
95
  act({ input, options, frameId, }: ClientActParameters): Promise<ActResult>;
92
96
  extract<T extends StagehandZodSchema>({ instruction, schema: zodSchema, options, frameId, }: ClientExtractParameters): Promise<ExtractResult<T>>;
93
97
  observe({ instruction, options, frameId, }: ClientObserveParameters): Promise<ObserveResult>;
@@ -105,6 +109,7 @@ export declare class StagehandAPIClient {
105
109
  * model provider differs from the one used to init the session.
106
110
  */
107
111
  private prepareModelConfig;
112
+ private getDefaultModelConfig;
108
113
  private consumeFinishedEventData;
109
114
  private execute;
110
115
  /**
@@ -35,6 +35,7 @@ export class StagehandAPIClient {
35
35
  sessionId;
36
36
  modelApiKey;
37
37
  modelProvider;
38
+ defaultModelConfig;
38
39
  region;
39
40
  logger;
40
41
  fetchWithCookies;
@@ -50,7 +51,7 @@ export class StagehandAPIClient {
50
51
  // Create a single cookie jar instance that will persist across all requests
51
52
  this.fetchWithCookies = makeFetchCookie(fetch);
52
53
  }
53
- async init({ modelName, modelApiKey, domSettleTimeoutMs, verbose, systemPrompt, selfHeal, browserbaseSessionCreateParams, browserbaseSessionID,
54
+ async init({ modelName, modelApiKey, defaultModelConfig, domSettleTimeoutMs, verbose, systemPrompt, selfHeal, browserbaseSessionCreateParams, browserbaseSessionID,
54
55
  // browser, TODO for local browsers
55
56
  }) {
56
57
  this.modelApiKey = modelApiKey;
@@ -58,6 +59,9 @@ export class StagehandAPIClient {
58
59
  this.modelProvider = modelName?.includes("/")
59
60
  ? modelName.split("/")[0]
60
61
  : undefined;
62
+ this.defaultModelConfig = defaultModelConfig
63
+ ? this.prepareModelConfig(defaultModelConfig)
64
+ : undefined;
61
65
  // Store the region for multi-region API URL resolution
62
66
  this.region = browserbaseSessionCreateParams?.region;
63
67
  this.logger({
@@ -111,13 +115,21 @@ export class StagehandAPIClient {
111
115
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
112
116
  const { page: _, serverCache: enableCache, ...restOptions } = options;
113
117
  serverCache = enableCache;
118
+ if (restOptions.model) {
119
+ restOptions.model = this.prepareModelConfig(restOptions.model);
120
+ }
121
+ else if (this.defaultModelConfig) {
122
+ restOptions.model = this.getDefaultModelConfig();
123
+ }
114
124
  if (Object.keys(restOptions).length > 0) {
115
- if (restOptions.model) {
116
- restOptions.model = this.prepareModelConfig(restOptions.model);
117
- }
118
125
  wireOptions = restOptions;
119
126
  }
120
127
  }
128
+ else if (this.defaultModelConfig) {
129
+ wireOptions = {
130
+ model: this.getDefaultModelConfig(),
131
+ };
132
+ }
121
133
  // Build wire-format request body
122
134
  const requestBody = {
123
135
  input,
@@ -140,13 +152,21 @@ export class StagehandAPIClient {
140
152
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
141
153
  const { page: _, serverCache: enableCache, ...restOptions } = options;
142
154
  serverCache = enableCache;
155
+ if (restOptions.model) {
156
+ restOptions.model = this.prepareModelConfig(restOptions.model);
157
+ }
158
+ else if (this.defaultModelConfig) {
159
+ restOptions.model = this.getDefaultModelConfig();
160
+ }
143
161
  if (Object.keys(restOptions).length > 0) {
144
- if (restOptions.model) {
145
- restOptions.model = this.prepareModelConfig(restOptions.model);
146
- }
147
162
  wireOptions = restOptions;
148
163
  }
149
164
  }
165
+ else if (this.defaultModelConfig) {
166
+ wireOptions = {
167
+ model: this.getDefaultModelConfig(),
168
+ };
169
+ }
150
170
  // Build wire-format request body
151
171
  const requestBody = {
152
172
  instruction,
@@ -168,13 +188,21 @@ export class StagehandAPIClient {
168
188
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
169
189
  const { page: _, serverCache: enableCache, ...restOptions } = options;
170
190
  serverCache = enableCache;
191
+ if (restOptions.model) {
192
+ restOptions.model = this.prepareModelConfig(restOptions.model);
193
+ }
194
+ else if (this.defaultModelConfig) {
195
+ restOptions.model = this.getDefaultModelConfig();
196
+ }
171
197
  if (Object.keys(restOptions).length > 0) {
172
- if (restOptions.model) {
173
- restOptions.model = this.prepareModelConfig(restOptions.model);
174
- }
175
198
  wireOptions = restOptions;
176
199
  }
177
200
  }
201
+ else if (this.defaultModelConfig) {
202
+ wireOptions = {
203
+ model: this.getDefaultModelConfig(),
204
+ };
205
+ }
178
206
  // Build wire-format request body
179
207
  const requestBody = {
180
208
  instruction,
@@ -188,7 +216,19 @@ export class StagehandAPIClient {
188
216
  });
189
217
  }
190
218
  async goto(url, options, frameId) {
191
- const requestBody = { url, options, frameId };
219
+ const publicOptions = { ...(options ?? {}) };
220
+ delete publicOptions.model;
221
+ const wireOptions = {
222
+ ...publicOptions,
223
+ ...(this.defaultModelConfig
224
+ ? { model: this.getDefaultModelConfig() }
225
+ : {}),
226
+ };
227
+ const requestBody = {
228
+ url,
229
+ options: Object.keys(wireOptions).length > 0 ? wireOptions : undefined,
230
+ frameId,
231
+ };
192
232
  return this.execute({
193
233
  method: "navigate",
194
234
  args: requestBody,
@@ -218,7 +258,7 @@ export class StagehandAPIClient {
218
258
  cua: agentConfig.mode === undefined ? agentConfig.cua : undefined,
219
259
  model: agentConfig.model
220
260
  ? this.prepareModelConfig(agentConfig.model)
221
- : undefined,
261
+ : this.getDefaultModelConfig(),
222
262
  executionModel: agentConfig.executionModel
223
263
  ? this.prepareModelConfig(agentConfig.executionModel)
224
264
  : undefined,
@@ -397,6 +437,11 @@ export class StagehandAPIClient {
397
437
  }
398
438
  return model;
399
439
  }
440
+ getDefaultModelConfig() {
441
+ return this.defaultModelConfig
442
+ ? { ...this.defaultModelConfig }
443
+ : undefined;
444
+ }
400
445
  consumeFinishedEventData() {
401
446
  const data = this.lastFinishedEventData;
402
447
  this.lastFinishedEventData = null;