@browserbasehq/orca 3.2.0-preview.4 → 3.2.1-preview.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/lib/inference.d.ts +3 -1
  3. package/dist/cjs/lib/inference.js +3 -3
  4. package/dist/cjs/lib/inference.js.map +1 -1
  5. package/dist/cjs/lib/prompt.d.ts +1 -1
  6. package/dist/cjs/lib/prompt.js +24 -18
  7. package/dist/cjs/lib/prompt.js.map +1 -1
  8. package/dist/cjs/lib/v3/agent/AgentClient.d.ts +8 -0
  9. package/dist/cjs/lib/v3/agent/AgentClient.js +13 -0
  10. package/dist/cjs/lib/v3/agent/AgentClient.js.map +1 -1
  11. package/dist/cjs/lib/v3/agent/AgentProvider.js +1 -0
  12. package/dist/cjs/lib/v3/agent/AgentProvider.js.map +1 -1
  13. package/dist/cjs/lib/v3/agent/AnthropicCUAClient.d.ts +3 -1
  14. package/dist/cjs/lib/v3/agent/AnthropicCUAClient.js +61 -9
  15. package/dist/cjs/lib/v3/agent/AnthropicCUAClient.js.map +1 -1
  16. package/dist/cjs/lib/v3/agent/GoogleCUAClient.js +1 -0
  17. package/dist/cjs/lib/v3/agent/GoogleCUAClient.js.map +1 -1
  18. package/dist/cjs/lib/v3/agent/MicrosoftCUAClient.js +16 -0
  19. package/dist/cjs/lib/v3/agent/MicrosoftCUAClient.js.map +1 -1
  20. package/dist/cjs/lib/v3/agent/OpenAICUAClient.d.ts +12 -6
  21. package/dist/cjs/lib/v3/agent/OpenAICUAClient.js +164 -49
  22. package/dist/cjs/lib/v3/agent/OpenAICUAClient.js.map +1 -1
  23. package/dist/cjs/lib/v3/agent/prompts/agentSystemPrompt.d.ts +2 -2
  24. package/dist/cjs/lib/v3/agent/prompts/agentSystemPrompt.js +10 -11
  25. package/dist/cjs/lib/v3/agent/prompts/agentSystemPrompt.js.map +1 -1
  26. package/dist/cjs/lib/v3/agent/tools/fillform.d.ts +0 -1
  27. package/dist/cjs/lib/v3/agent/tools/fillform.js +7 -10
  28. package/dist/cjs/lib/v3/agent/tools/fillform.js.map +1 -1
  29. package/dist/cjs/lib/v3/agent/tools/index.js +1 -1
  30. package/dist/cjs/lib/v3/agent/tools/index.js.map +1 -1
  31. package/dist/cjs/lib/v3/agent/tools/keys.d.ts +2 -1
  32. package/dist/cjs/lib/v3/agent/tools/keys.js +57 -49
  33. package/dist/cjs/lib/v3/agent/tools/keys.js.map +1 -1
  34. package/dist/cjs/lib/v3/agent/utils/captchaSolver.d.ts +76 -0
  35. package/dist/cjs/lib/v3/agent/utils/captchaSolver.js +175 -0
  36. package/dist/cjs/lib/v3/agent/utils/captchaSolver.js.map +1 -0
  37. package/dist/cjs/lib/v3/agent/utils/coordinateNormalization.js +3 -5
  38. package/dist/cjs/lib/v3/agent/utils/coordinateNormalization.js.map +1 -1
  39. package/dist/cjs/lib/v3/agent/utils/variables.d.ts +5 -0
  40. package/dist/cjs/lib/v3/agent/utils/variables.js +9 -0
  41. package/dist/cjs/lib/v3/agent/utils/variables.js.map +1 -1
  42. package/dist/cjs/lib/v3/api.d.ts +5 -3
  43. package/dist/cjs/lib/v3/api.js +5 -15
  44. package/dist/cjs/lib/v3/api.js.map +1 -1
  45. package/dist/cjs/lib/v3/cache/AgentCache.js +5 -3
  46. package/dist/cjs/lib/v3/cache/AgentCache.js.map +1 -1
  47. package/dist/cjs/lib/v3/flowlogger/EventStore.js +1 -1
  48. package/dist/cjs/lib/v3/flowlogger/EventStore.js.map +1 -1
  49. package/dist/cjs/lib/v3/handlers/observeHandler.js +2 -1
  50. package/dist/cjs/lib/v3/handlers/observeHandler.js.map +1 -1
  51. package/dist/cjs/lib/v3/handlers/v3AgentHandler.d.ts +2 -1
  52. package/dist/cjs/lib/v3/handlers/v3AgentHandler.js +110 -46
  53. package/dist/cjs/lib/v3/handlers/v3AgentHandler.js.map +1 -1
  54. package/dist/cjs/lib/v3/handlers/v3CuaAgentHandler.d.ts +5 -0
  55. package/dist/cjs/lib/v3/handlers/v3CuaAgentHandler.js +131 -16
  56. package/dist/cjs/lib/v3/handlers/v3CuaAgentHandler.js.map +1 -1
  57. package/dist/cjs/lib/v3/index.d.ts +1 -1
  58. package/dist/cjs/lib/v3/llm/LLMProvider.d.ts +5 -2
  59. package/dist/cjs/lib/v3/llm/LLMProvider.js +14 -6
  60. package/dist/cjs/lib/v3/llm/LLMProvider.js.map +1 -1
  61. package/dist/cjs/lib/v3/llm/OpenAIClient.js +1 -0
  62. package/dist/cjs/lib/v3/llm/OpenAIClient.js.map +1 -1
  63. package/dist/cjs/lib/v3/llm/aisdk.d.ts +3 -1
  64. package/dist/cjs/lib/v3/llm/aisdk.js +67 -17
  65. package/dist/cjs/lib/v3/llm/aisdk.js.map +1 -1
  66. package/dist/cjs/lib/v3/types/private/cache.d.ts +0 -1
  67. package/dist/cjs/lib/v3/types/private/cache.js.map +1 -1
  68. package/dist/cjs/lib/v3/types/private/handlers.d.ts +1 -0
  69. package/dist/cjs/lib/v3/types/private/handlers.js.map +1 -1
  70. package/dist/cjs/lib/v3/types/public/agent.d.ts +8 -3
  71. package/dist/cjs/lib/v3/types/public/agent.js +1 -0
  72. package/dist/cjs/lib/v3/types/public/agent.js.map +1 -1
  73. package/dist/cjs/lib/v3/types/public/api.d.ts +54 -7
  74. package/dist/cjs/lib/v3/types/public/api.js +47 -16
  75. package/dist/cjs/lib/v3/types/public/api.js.map +1 -1
  76. package/dist/cjs/lib/v3/types/public/methods.d.ts +1 -0
  77. package/dist/cjs/lib/v3/types/public/methods.js.map +1 -1
  78. package/dist/cjs/lib/v3/types/public/model.d.ts +32 -2
  79. package/dist/cjs/lib/v3/types/public/model.js.map +1 -1
  80. package/dist/cjs/lib/v3/types/public/variables.d.ts +7 -0
  81. package/dist/cjs/lib/v3/types/public/variables.js +22 -0
  82. package/dist/cjs/lib/v3/types/public/variables.js.map +1 -0
  83. package/dist/cjs/lib/v3/understudy/context.js +11 -3
  84. package/dist/cjs/lib/v3/understudy/context.js.map +1 -1
  85. package/dist/cjs/lib/v3/understudy/page.js +1 -1
  86. package/dist/cjs/lib/v3/understudy/page.js.map +1 -1
  87. package/dist/cjs/lib/v3/v3.d.ts +23 -2
  88. package/dist/cjs/lib/v3/v3.js +111 -13
  89. package/dist/cjs/lib/v3/v3.js.map +1 -1
  90. package/dist/cjs/lib/version.d.ts +1 -1
  91. package/dist/cjs/lib/version.js +1 -1
  92. package/dist/cjs/lib/version.js.map +1 -1
  93. package/dist/cjs/tests/integration/agent-captcha-autosolve.spec.d.ts +1 -0
  94. package/dist/cjs/tests/integration/agent-captcha-autosolve.spec.js +56 -0
  95. package/dist/cjs/tests/integration/agent-captcha-autosolve.spec.js.map +1 -0
  96. package/dist/cjs/tests/integration/agent-hybrid-mode.spec.js +6 -6
  97. package/dist/cjs/tests/integration/agent-hybrid-mode.spec.js.map +1 -1
  98. package/dist/cjs/tests/integration/chrome-newtab-page-tracking.spec.d.ts +1 -0
  99. package/dist/cjs/tests/integration/chrome-newtab-page-tracking.spec.js +56 -0
  100. package/dist/cjs/tests/integration/chrome-newtab-page-tracking.spec.js.map +1 -0
  101. package/dist/cjs/tests/integration/timeouts.spec.js +1 -1
  102. package/dist/cjs/tests/integration/timeouts.spec.js.map +1 -1
  103. package/dist/cjs/tests/unit/agent-captcha-hooks.test.d.ts +1 -0
  104. package/dist/cjs/tests/unit/agent-captcha-hooks.test.js +341 -0
  105. package/dist/cjs/tests/unit/agent-captcha-hooks.test.js.map +1 -0
  106. package/dist/cjs/tests/unit/agent-execution-model.test.js +25 -3
  107. package/dist/cjs/tests/unit/agent-execution-model.test.js.map +1 -1
  108. package/dist/cjs/tests/unit/agent-metrics.test.d.ts +1 -0
  109. package/dist/cjs/tests/unit/agent-metrics.test.js +112 -0
  110. package/dist/cjs/tests/unit/agent-metrics.test.js.map +1 -0
  111. package/dist/cjs/tests/unit/agent-system-prompt-variables.test.d.ts +1 -0
  112. package/dist/cjs/tests/unit/agent-system-prompt-variables.test.js +23 -0
  113. package/dist/cjs/tests/unit/agent-system-prompt-variables.test.js.map +1 -0
  114. package/dist/cjs/tests/unit/aisdk-clients.test.d.ts +1 -0
  115. package/dist/cjs/tests/unit/aisdk-clients.test.js +90 -0
  116. package/dist/cjs/tests/unit/aisdk-clients.test.js.map +1 -0
  117. package/dist/cjs/tests/unit/anthropic-cua-adaptive-thinking.test.d.ts +1 -0
  118. package/dist/cjs/tests/unit/anthropic-cua-adaptive-thinking.test.js +250 -0
  119. package/dist/cjs/tests/unit/anthropic-cua-adaptive-thinking.test.js.map +1 -0
  120. package/dist/cjs/tests/unit/api-client-observe-variables.test.d.ts +1 -0
  121. package/dist/cjs/tests/unit/api-client-observe-variables.test.js +86 -0
  122. package/dist/cjs/tests/unit/api-client-observe-variables.test.js.map +1 -0
  123. package/dist/cjs/tests/unit/api-optional-model-api-key.test.d.ts +1 -0
  124. package/dist/cjs/tests/unit/api-optional-model-api-key.test.js +95 -0
  125. package/dist/cjs/tests/unit/api-optional-model-api-key.test.js.map +1 -0
  126. package/dist/cjs/tests/unit/api-variables-schema.test.d.ts +1 -0
  127. package/dist/cjs/tests/unit/api-variables-schema.test.js +37 -0
  128. package/dist/cjs/tests/unit/api-variables-schema.test.js.map +1 -0
  129. package/dist/cjs/tests/unit/browserbase-session-accessors.test.js +40 -0
  130. package/dist/cjs/tests/unit/browserbase-session-accessors.test.js.map +1 -1
  131. package/dist/cjs/tests/unit/captcha-solver.test.d.ts +1 -0
  132. package/dist/cjs/tests/unit/captcha-solver.test.js +154 -0
  133. package/dist/cjs/tests/unit/captcha-solver.test.js.map +1 -0
  134. package/dist/cjs/tests/unit/flowlogger-eventstore.test.js +1 -1
  135. package/dist/cjs/tests/unit/flowlogger-eventstore.test.js.map +1 -1
  136. package/dist/cjs/tests/unit/llm-middleware.test.d.ts +1 -0
  137. package/dist/cjs/tests/unit/llm-middleware.test.js +495 -0
  138. package/dist/cjs/tests/unit/llm-middleware.test.js.map +1 -0
  139. package/dist/cjs/tests/unit/microsoft-cua-client.test.d.ts +1 -0
  140. package/dist/cjs/tests/unit/microsoft-cua-client.test.js +86 -0
  141. package/dist/cjs/tests/unit/microsoft-cua-client.test.js.map +1 -0
  142. package/dist/cjs/tests/unit/openai-cua-client.test.d.ts +1 -0
  143. package/dist/cjs/tests/unit/openai-cua-client.test.js +71 -0
  144. package/dist/cjs/tests/unit/openai-cua-client.test.js.map +1 -0
  145. package/dist/cjs/tests/unit/prompt-observe-variables.test.d.ts +1 -0
  146. package/dist/cjs/tests/unit/prompt-observe-variables.test.js +19 -0
  147. package/dist/cjs/tests/unit/prompt-observe-variables.test.js.map +1 -0
  148. package/dist/cjs/tests/unit/public-api/llm-and-agents.test.js +1 -0
  149. package/dist/cjs/tests/unit/public-api/llm-and-agents.test.js.map +1 -1
  150. package/dist/cjs/tests/unit/public-api/public-types.test.js.map +1 -1
  151. package/dist/cjs/tests/unit/timeout-handlers.test.js +50 -0
  152. package/dist/cjs/tests/unit/timeout-handlers.test.js.map +1 -1
  153. package/dist/esm/lib/inference.d.ts +3 -1
  154. package/dist/esm/lib/inference.js +3 -3
  155. package/dist/esm/lib/inference.js.map +1 -1
  156. package/dist/esm/lib/prompt.d.ts +1 -1
  157. package/dist/esm/lib/prompt.js +24 -18
  158. package/dist/esm/lib/prompt.js.map +1 -1
  159. package/dist/esm/lib/v3/agent/AgentClient.d.ts +8 -0
  160. package/dist/esm/lib/v3/agent/AgentClient.js +13 -0
  161. package/dist/esm/lib/v3/agent/AgentClient.js.map +1 -1
  162. package/dist/esm/lib/v3/agent/AgentProvider.js +1 -0
  163. package/dist/esm/lib/v3/agent/AgentProvider.js.map +1 -1
  164. package/dist/esm/lib/v3/agent/AnthropicCUAClient.d.ts +3 -1
  165. package/dist/esm/lib/v3/agent/AnthropicCUAClient.js +61 -9
  166. package/dist/esm/lib/v3/agent/AnthropicCUAClient.js.map +1 -1
  167. package/dist/esm/lib/v3/agent/GoogleCUAClient.js +1 -0
  168. package/dist/esm/lib/v3/agent/GoogleCUAClient.js.map +1 -1
  169. package/dist/esm/lib/v3/agent/MicrosoftCUAClient.js +16 -0
  170. package/dist/esm/lib/v3/agent/MicrosoftCUAClient.js.map +1 -1
  171. package/dist/esm/lib/v3/agent/OpenAICUAClient.d.ts +12 -6
  172. package/dist/esm/lib/v3/agent/OpenAICUAClient.js +164 -49
  173. package/dist/esm/lib/v3/agent/OpenAICUAClient.js.map +1 -1
  174. package/dist/esm/lib/v3/agent/prompts/agentSystemPrompt.d.ts +2 -2
  175. package/dist/esm/lib/v3/agent/prompts/agentSystemPrompt.js +10 -11
  176. package/dist/esm/lib/v3/agent/prompts/agentSystemPrompt.js.map +1 -1
  177. package/dist/esm/lib/v3/agent/tools/fillform.d.ts +0 -1
  178. package/dist/esm/lib/v3/agent/tools/fillform.js +7 -10
  179. package/dist/esm/lib/v3/agent/tools/fillform.js.map +1 -1
  180. package/dist/esm/lib/v3/agent/tools/index.js +1 -1
  181. package/dist/esm/lib/v3/agent/tools/index.js.map +1 -1
  182. package/dist/esm/lib/v3/agent/tools/keys.d.ts +2 -1
  183. package/dist/esm/lib/v3/agent/tools/keys.js +57 -49
  184. package/dist/esm/lib/v3/agent/tools/keys.js.map +1 -1
  185. package/dist/esm/lib/v3/agent/utils/captchaSolver.d.ts +76 -0
  186. package/dist/esm/lib/v3/agent/utils/captchaSolver.js +171 -0
  187. package/dist/esm/lib/v3/agent/utils/captchaSolver.js.map +1 -0
  188. package/dist/esm/lib/v3/agent/utils/coordinateNormalization.js +3 -5
  189. package/dist/esm/lib/v3/agent/utils/coordinateNormalization.js.map +1 -1
  190. package/dist/esm/lib/v3/agent/utils/variables.d.ts +5 -0
  191. package/dist/esm/lib/v3/agent/utils/variables.js +8 -0
  192. package/dist/esm/lib/v3/agent/utils/variables.js.map +1 -1
  193. package/dist/esm/lib/v3/api.d.ts +5 -3
  194. package/dist/esm/lib/v3/api.js +5 -15
  195. package/dist/esm/lib/v3/api.js.map +1 -1
  196. package/dist/esm/lib/v3/cache/AgentCache.js +5 -3
  197. package/dist/esm/lib/v3/cache/AgentCache.js.map +1 -1
  198. package/dist/esm/lib/v3/flowlogger/EventStore.js +1 -1
  199. package/dist/esm/lib/v3/flowlogger/EventStore.js.map +1 -1
  200. package/dist/esm/lib/v3/handlers/observeHandler.js +2 -1
  201. package/dist/esm/lib/v3/handlers/observeHandler.js.map +1 -1
  202. package/dist/esm/lib/v3/handlers/v3AgentHandler.d.ts +2 -1
  203. package/dist/esm/lib/v3/handlers/v3AgentHandler.js +110 -46
  204. package/dist/esm/lib/v3/handlers/v3AgentHandler.js.map +1 -1
  205. package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.d.ts +5 -0
  206. package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.js +131 -16
  207. package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.js.map +1 -1
  208. package/dist/esm/lib/v3/index.d.ts +1 -1
  209. package/dist/esm/lib/v3/llm/LLMProvider.d.ts +5 -2
  210. package/dist/esm/lib/v3/llm/LLMProvider.js +15 -7
  211. package/dist/esm/lib/v3/llm/LLMProvider.js.map +1 -1
  212. package/dist/esm/lib/v3/llm/OpenAIClient.js +1 -0
  213. package/dist/esm/lib/v3/llm/OpenAIClient.js.map +1 -1
  214. package/dist/esm/lib/v3/llm/aisdk.d.ts +3 -1
  215. package/dist/esm/lib/v3/llm/aisdk.js +67 -17
  216. package/dist/esm/lib/v3/llm/aisdk.js.map +1 -1
  217. package/dist/esm/lib/v3/types/private/cache.d.ts +0 -1
  218. package/dist/esm/lib/v3/types/private/cache.js.map +1 -1
  219. package/dist/esm/lib/v3/types/private/handlers.d.ts +1 -0
  220. package/dist/esm/lib/v3/types/private/handlers.js.map +1 -1
  221. package/dist/esm/lib/v3/types/public/agent.d.ts +8 -3
  222. package/dist/esm/lib/v3/types/public/agent.js +1 -0
  223. package/dist/esm/lib/v3/types/public/agent.js.map +1 -1
  224. package/dist/esm/lib/v3/types/public/api.d.ts +54 -7
  225. package/dist/esm/lib/v3/types/public/api.js +42 -14
  226. package/dist/esm/lib/v3/types/public/api.js.map +1 -1
  227. package/dist/esm/lib/v3/types/public/methods.d.ts +1 -0
  228. package/dist/esm/lib/v3/types/public/methods.js.map +1 -1
  229. package/dist/esm/lib/v3/types/public/model.d.ts +32 -2
  230. package/dist/esm/lib/v3/types/public/model.js.map +1 -1
  231. package/dist/esm/lib/v3/types/public/variables.d.ts +7 -0
  232. package/dist/esm/lib/v3/types/public/variables.js +19 -0
  233. package/dist/esm/lib/v3/types/public/variables.js.map +1 -0
  234. package/dist/esm/lib/v3/understudy/context.js +11 -3
  235. package/dist/esm/lib/v3/understudy/context.js.map +1 -1
  236. package/dist/esm/lib/v3/understudy/page.js +1 -1
  237. package/dist/esm/lib/v3/understudy/page.js.map +1 -1
  238. package/dist/esm/lib/v3/v3.d.ts +23 -2
  239. package/dist/esm/lib/v3/v3.js +111 -14
  240. package/dist/esm/lib/v3/v3.js.map +1 -1
  241. package/dist/esm/lib/version.d.ts +1 -1
  242. package/dist/esm/lib/version.js +1 -1
  243. package/dist/esm/lib/version.js.map +1 -1
  244. package/dist/esm/tests/integration/agent-captcha-autosolve.spec.d.ts +1 -0
  245. package/dist/esm/tests/integration/agent-captcha-autosolve.spec.js +54 -0
  246. package/dist/esm/tests/integration/agent-captcha-autosolve.spec.js.map +1 -0
  247. package/dist/esm/tests/integration/agent-hybrid-mode.spec.js +6 -6
  248. package/dist/esm/tests/integration/agent-hybrid-mode.spec.js.map +1 -1
  249. package/dist/esm/tests/integration/chrome-newtab-page-tracking.spec.d.ts +1 -0
  250. package/dist/esm/tests/integration/chrome-newtab-page-tracking.spec.js +54 -0
  251. package/dist/esm/tests/integration/chrome-newtab-page-tracking.spec.js.map +1 -0
  252. package/dist/esm/tests/integration/timeouts.spec.js +1 -1
  253. package/dist/esm/tests/integration/timeouts.spec.js.map +1 -1
  254. package/dist/esm/tests/unit/agent-captcha-hooks.test.d.ts +1 -0
  255. package/dist/esm/tests/unit/agent-captcha-hooks.test.js +339 -0
  256. package/dist/esm/tests/unit/agent-captcha-hooks.test.js.map +1 -0
  257. package/dist/esm/tests/unit/agent-execution-model.test.js +25 -3
  258. package/dist/esm/tests/unit/agent-execution-model.test.js.map +1 -1
  259. package/dist/esm/tests/unit/agent-metrics.test.d.ts +1 -0
  260. package/dist/esm/tests/unit/agent-metrics.test.js +110 -0
  261. package/dist/esm/tests/unit/agent-metrics.test.js.map +1 -0
  262. package/dist/esm/tests/unit/agent-system-prompt-variables.test.d.ts +1 -0
  263. package/dist/esm/tests/unit/agent-system-prompt-variables.test.js +21 -0
  264. package/dist/esm/tests/unit/agent-system-prompt-variables.test.js.map +1 -0
  265. package/dist/esm/tests/unit/aisdk-clients.test.d.ts +1 -0
  266. package/dist/esm/tests/unit/aisdk-clients.test.js +88 -0
  267. package/dist/esm/tests/unit/aisdk-clients.test.js.map +1 -0
  268. package/dist/esm/tests/unit/anthropic-cua-adaptive-thinking.test.d.ts +1 -0
  269. package/dist/esm/tests/unit/anthropic-cua-adaptive-thinking.test.js +245 -0
  270. package/dist/esm/tests/unit/anthropic-cua-adaptive-thinking.test.js.map +1 -0
  271. package/dist/esm/tests/unit/api-client-observe-variables.test.d.ts +1 -0
  272. package/dist/esm/tests/unit/api-client-observe-variables.test.js +84 -0
  273. package/dist/esm/tests/unit/api-client-observe-variables.test.js.map +1 -0
  274. package/dist/esm/tests/unit/api-optional-model-api-key.test.d.ts +1 -0
  275. package/dist/esm/tests/unit/api-optional-model-api-key.test.js +93 -0
  276. package/dist/esm/tests/unit/api-optional-model-api-key.test.js.map +1 -0
  277. package/dist/esm/tests/unit/api-variables-schema.test.d.ts +1 -0
  278. package/dist/esm/tests/unit/api-variables-schema.test.js +35 -0
  279. package/dist/esm/tests/unit/api-variables-schema.test.js.map +1 -0
  280. package/dist/esm/tests/unit/browserbase-session-accessors.test.js +40 -0
  281. package/dist/esm/tests/unit/browserbase-session-accessors.test.js.map +1 -1
  282. package/dist/esm/tests/unit/captcha-solver.test.d.ts +1 -0
  283. package/dist/esm/tests/unit/captcha-solver.test.js +152 -0
  284. package/dist/esm/tests/unit/captcha-solver.test.js.map +1 -0
  285. package/dist/esm/tests/unit/flowlogger-eventstore.test.js +1 -1
  286. package/dist/esm/tests/unit/flowlogger-eventstore.test.js.map +1 -1
  287. package/dist/esm/tests/unit/llm-middleware.test.d.ts +1 -0
  288. package/dist/esm/tests/unit/llm-middleware.test.js +460 -0
  289. package/dist/esm/tests/unit/llm-middleware.test.js.map +1 -0
  290. package/dist/esm/tests/unit/microsoft-cua-client.test.d.ts +1 -0
  291. package/dist/esm/tests/unit/microsoft-cua-client.test.js +84 -0
  292. package/dist/esm/tests/unit/microsoft-cua-client.test.js.map +1 -0
  293. package/dist/esm/tests/unit/openai-cua-client.test.d.ts +1 -0
  294. package/dist/esm/tests/unit/openai-cua-client.test.js +69 -0
  295. package/dist/esm/tests/unit/openai-cua-client.test.js.map +1 -0
  296. package/dist/esm/tests/unit/prompt-observe-variables.test.d.ts +1 -0
  297. package/dist/esm/tests/unit/prompt-observe-variables.test.js +17 -0
  298. package/dist/esm/tests/unit/prompt-observe-variables.test.js.map +1 -0
  299. package/dist/esm/tests/unit/public-api/llm-and-agents.test.js +1 -0
  300. package/dist/esm/tests/unit/public-api/llm-and-agents.test.js.map +1 -1
  301. package/dist/esm/tests/unit/public-api/public-types.test.js.map +1 -1
  302. package/dist/esm/tests/unit/timeout-handlers.test.js +50 -0
  303. package/dist/esm/tests/unit/timeout-handlers.test.js.map +1 -1
  304. package/package.json +5 -9
  305. package/dist/cjs/lib/v3/dom/build/rerender-index.js +0 -1
  306. package/dist/cjs/lib/v3/dom/build/v3-index.js +0 -1
  307. package/dist/esm/lib/v3/dom/build/rerender-index.js +0 -1
  308. package/dist/esm/lib/v3/dom/build/v3-index.js +0 -1
@@ -9,6 +9,7 @@
9
9
  * All TypeScript types are inferred from the Zod4 *Schemas using z.infer<>
10
10
  */
11
11
  import { z } from "zod/v4";
12
+ export { VariablePrimitiveSchema, VariableValueSchema, VariablesSchema, } from "./variables.js";
12
13
  /** Browser launch options for local browsers */
13
14
  export declare const LocalBrowserLaunchOptionsSchema: z.ZodObject<{
14
15
  args: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -52,6 +53,7 @@ export declare const ModelConfigObjectSchema: z.ZodObject<{
52
53
  modelName: z.ZodString;
53
54
  apiKey: z.ZodOptional<z.ZodString>;
54
55
  baseURL: z.ZodOptional<z.ZodString>;
56
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
55
57
  }, z.core.$strip>;
56
58
  /** Model configuration */
57
59
  export declare const ModelConfigSchema: z.ZodObject<{
@@ -65,6 +67,7 @@ export declare const ModelConfigSchema: z.ZodObject<{
65
67
  modelName: z.ZodString;
66
68
  apiKey: z.ZodOptional<z.ZodString>;
67
69
  baseURL: z.ZodOptional<z.ZodString>;
70
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
68
71
  }, z.core.$strip>;
69
72
  /** Action object returned by observe and used by act */
70
73
  export declare const ActionSchema: z.ZodObject<{
@@ -181,6 +184,8 @@ export declare const BrowserbaseContextSchema: z.ZodObject<{
181
184
  export declare const BrowserbaseBrowserSettingsSchema: z.ZodObject<{
182
185
  advancedStealth: z.ZodOptional<z.ZodBoolean>;
183
186
  blockAds: z.ZodOptional<z.ZodBoolean>;
187
+ captchaImageSelector: z.ZodOptional<z.ZodString>;
188
+ captchaInputSelector: z.ZodOptional<z.ZodString>;
184
189
  context: z.ZodOptional<z.ZodObject<{
185
190
  id: z.ZodString;
186
191
  persist: z.ZodOptional<z.ZodBoolean>;
@@ -217,8 +222,16 @@ export declare const BrowserbaseBrowserSettingsSchema: z.ZodObject<{
217
222
  }, z.core.$strip>>;
218
223
  }, z.core.$strip>>;
219
224
  logSession: z.ZodOptional<z.ZodBoolean>;
225
+ os: z.ZodOptional<z.ZodEnum<{
226
+ mobile: "mobile";
227
+ linux: "linux";
228
+ windows: "windows";
229
+ mac: "mac";
230
+ tablet: "tablet";
231
+ }>>;
220
232
  recordSession: z.ZodOptional<z.ZodBoolean>;
221
233
  solveCaptchas: z.ZodOptional<z.ZodBoolean>;
234
+ verified: z.ZodOptional<z.ZodBoolean>;
222
235
  viewport: z.ZodOptional<z.ZodObject<{
223
236
  width: z.ZodOptional<z.ZodNumber>;
224
237
  height: z.ZodOptional<z.ZodNumber>;
@@ -277,6 +290,8 @@ export declare const BrowserbaseSessionCreateParamsSchema: z.ZodObject<{
277
290
  browserSettings: z.ZodOptional<z.ZodObject<{
278
291
  advancedStealth: z.ZodOptional<z.ZodBoolean>;
279
292
  blockAds: z.ZodOptional<z.ZodBoolean>;
293
+ captchaImageSelector: z.ZodOptional<z.ZodString>;
294
+ captchaInputSelector: z.ZodOptional<z.ZodString>;
280
295
  context: z.ZodOptional<z.ZodObject<{
281
296
  id: z.ZodString;
282
297
  persist: z.ZodOptional<z.ZodBoolean>;
@@ -313,8 +328,16 @@ export declare const BrowserbaseSessionCreateParamsSchema: z.ZodObject<{
313
328
  }, z.core.$strip>>;
314
329
  }, z.core.$strip>>;
315
330
  logSession: z.ZodOptional<z.ZodBoolean>;
331
+ os: z.ZodOptional<z.ZodEnum<{
332
+ mobile: "mobile";
333
+ linux: "linux";
334
+ windows: "windows";
335
+ mac: "mac";
336
+ tablet: "tablet";
337
+ }>>;
316
338
  recordSession: z.ZodOptional<z.ZodBoolean>;
317
339
  solveCaptchas: z.ZodOptional<z.ZodBoolean>;
340
+ verified: z.ZodOptional<z.ZodBoolean>;
318
341
  viewport: z.ZodOptional<z.ZodObject<{
319
342
  width: z.ZodOptional<z.ZodNumber>;
320
343
  height: z.ZodOptional<z.ZodNumber>;
@@ -356,6 +379,8 @@ export declare const SessionStartRequestSchema: z.ZodObject<{
356
379
  browserSettings: z.ZodOptional<z.ZodObject<{
357
380
  advancedStealth: z.ZodOptional<z.ZodBoolean>;
358
381
  blockAds: z.ZodOptional<z.ZodBoolean>;
382
+ captchaImageSelector: z.ZodOptional<z.ZodString>;
383
+ captchaInputSelector: z.ZodOptional<z.ZodString>;
359
384
  context: z.ZodOptional<z.ZodObject<{
360
385
  id: z.ZodString;
361
386
  persist: z.ZodOptional<z.ZodBoolean>;
@@ -392,8 +417,16 @@ export declare const SessionStartRequestSchema: z.ZodObject<{
392
417
  }, z.core.$strip>>;
393
418
  }, z.core.$strip>>;
394
419
  logSession: z.ZodOptional<z.ZodBoolean>;
420
+ os: z.ZodOptional<z.ZodEnum<{
421
+ mobile: "mobile";
422
+ linux: "linux";
423
+ windows: "windows";
424
+ mac: "mac";
425
+ tablet: "tablet";
426
+ }>>;
395
427
  recordSession: z.ZodOptional<z.ZodBoolean>;
396
428
  solveCaptchas: z.ZodOptional<z.ZodBoolean>;
429
+ verified: z.ZodOptional<z.ZodBoolean>;
397
430
  viewport: z.ZodOptional<z.ZodObject<{
398
431
  width: z.ZodOptional<z.ZodNumber>;
399
432
  height: z.ZodOptional<z.ZodNumber>;
@@ -500,8 +533,9 @@ export declare const ActOptionsSchema: z.ZodOptional<z.ZodObject<{
500
533
  modelName: z.ZodString;
501
534
  apiKey: z.ZodOptional<z.ZodString>;
502
535
  baseURL: z.ZodOptional<z.ZodString>;
536
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
503
537
  }, z.core.$strip>, z.ZodString]>>;
504
- variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
538
+ variables: z.ZodOptional<z.ZodType<import("./agent.js").Variables, unknown, z.core.$ZodTypeInternals<import("./agent.js").Variables, unknown>>>;
505
539
  timeout: z.ZodOptional<z.ZodNumber>;
506
540
  }, z.core.$strip>>;
507
541
  export declare const ActRequestSchema: z.ZodObject<{
@@ -524,8 +558,9 @@ export declare const ActRequestSchema: z.ZodObject<{
524
558
  modelName: z.ZodString;
525
559
  apiKey: z.ZodOptional<z.ZodString>;
526
560
  baseURL: z.ZodOptional<z.ZodString>;
561
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
527
562
  }, z.core.$strip>, z.ZodString]>>;
528
- variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
563
+ variables: z.ZodOptional<z.ZodType<import("./agent.js").Variables, unknown, z.core.$ZodTypeInternals<import("./agent.js").Variables, unknown>>>;
529
564
  timeout: z.ZodOptional<z.ZodNumber>;
530
565
  }, z.core.$strip>>;
531
566
  frameId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -589,6 +624,7 @@ export declare const ExtractOptionsSchema: z.ZodOptional<z.ZodObject<{
589
624
  modelName: z.ZodString;
590
625
  apiKey: z.ZodOptional<z.ZodString>;
591
626
  baseURL: z.ZodOptional<z.ZodString>;
627
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
592
628
  }, z.core.$strip>, z.ZodString]>>;
593
629
  timeout: z.ZodOptional<z.ZodNumber>;
594
630
  selector: z.ZodOptional<z.ZodString>;
@@ -608,6 +644,7 @@ export declare const ExtractRequestSchema: z.ZodObject<{
608
644
  modelName: z.ZodString;
609
645
  apiKey: z.ZodOptional<z.ZodString>;
610
646
  baseURL: z.ZodOptional<z.ZodString>;
647
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
611
648
  }, z.core.$strip>, z.ZodString]>>;
612
649
  timeout: z.ZodOptional<z.ZodNumber>;
613
650
  selector: z.ZodOptional<z.ZodString>;
@@ -638,7 +675,9 @@ export declare const ObserveOptionsSchema: z.ZodOptional<z.ZodObject<{
638
675
  modelName: z.ZodString;
639
676
  apiKey: z.ZodOptional<z.ZodString>;
640
677
  baseURL: z.ZodOptional<z.ZodString>;
678
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
641
679
  }, z.core.$strip>, z.ZodString]>>;
680
+ variables: z.ZodOptional<z.ZodType<import("./agent.js").Variables, unknown, z.core.$ZodTypeInternals<import("./agent.js").Variables, unknown>>>;
642
681
  timeout: z.ZodOptional<z.ZodNumber>;
643
682
  selector: z.ZodOptional<z.ZodString>;
644
683
  }, z.core.$strip>>;
@@ -656,7 +695,9 @@ export declare const ObserveRequestSchema: z.ZodObject<{
656
695
  modelName: z.ZodString;
657
696
  apiKey: z.ZodOptional<z.ZodString>;
658
697
  baseURL: z.ZodOptional<z.ZodString>;
698
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
659
699
  }, z.core.$strip>, z.ZodString]>>;
700
+ variables: z.ZodOptional<z.ZodType<import("./agent.js").Variables, unknown, z.core.$ZodTypeInternals<import("./agent.js").Variables, unknown>>>;
660
701
  timeout: z.ZodOptional<z.ZodNumber>;
661
702
  selector: z.ZodOptional<z.ZodString>;
662
703
  }, z.core.$strip>>;
@@ -705,6 +746,7 @@ export declare const AgentConfigSchema: z.ZodObject<{
705
746
  modelName: z.ZodString;
706
747
  apiKey: z.ZodOptional<z.ZodString>;
707
748
  baseURL: z.ZodOptional<z.ZodString>;
749
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
708
750
  }, z.core.$strip>, z.ZodString]>>;
709
751
  systemPrompt: z.ZodOptional<z.ZodString>;
710
752
  cua: z.ZodOptional<z.ZodBoolean>;
@@ -724,6 +766,7 @@ export declare const AgentConfigSchema: z.ZodObject<{
724
766
  modelName: z.ZodString;
725
767
  apiKey: z.ZodOptional<z.ZodString>;
726
768
  baseURL: z.ZodOptional<z.ZodString>;
769
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
727
770
  }, z.core.$strip>, z.ZodString]>>;
728
771
  }, z.core.$strip>;
729
772
  /** Action taken by the agent during execution */
@@ -777,6 +820,8 @@ export declare const AgentExecuteOptionsSchema: z.ZodObject<{
777
820
  instruction: z.ZodString;
778
821
  maxSteps: z.ZodOptional<z.ZodNumber>;
779
822
  highlightCursor: z.ZodOptional<z.ZodBoolean>;
823
+ useSearch: z.ZodOptional<z.ZodBoolean>;
824
+ toolTimeout: z.ZodOptional<z.ZodNumber>;
780
825
  }, z.core.$strip>;
781
826
  export declare const AgentExecuteRequestSchema: z.ZodObject<{
782
827
  agentConfig: z.ZodObject<{
@@ -798,6 +843,7 @@ export declare const AgentExecuteRequestSchema: z.ZodObject<{
798
843
  modelName: z.ZodString;
799
844
  apiKey: z.ZodOptional<z.ZodString>;
800
845
  baseURL: z.ZodOptional<z.ZodString>;
846
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
801
847
  }, z.core.$strip>, z.ZodString]>>;
802
848
  systemPrompt: z.ZodOptional<z.ZodString>;
803
849
  cua: z.ZodOptional<z.ZodBoolean>;
@@ -817,12 +863,15 @@ export declare const AgentExecuteRequestSchema: z.ZodObject<{
817
863
  modelName: z.ZodString;
818
864
  apiKey: z.ZodOptional<z.ZodString>;
819
865
  baseURL: z.ZodOptional<z.ZodString>;
866
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
820
867
  }, z.core.$strip>, z.ZodString]>>;
821
868
  }, z.core.$strip>;
822
869
  executeOptions: z.ZodObject<{
823
870
  instruction: z.ZodString;
824
871
  maxSteps: z.ZodOptional<z.ZodNumber>;
825
872
  highlightCursor: z.ZodOptional<z.ZodBoolean>;
873
+ useSearch: z.ZodOptional<z.ZodBoolean>;
874
+ toolTimeout: z.ZodOptional<z.ZodNumber>;
826
875
  }, z.core.$strip>;
827
876
  frameId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
828
877
  streamResponse: z.ZodOptional<z.ZodBoolean>;
@@ -1042,11 +1091,9 @@ export declare const StreamEventLogDataSchema: z.ZodObject<{
1042
1091
  /**
1043
1092
  * SSE stream event sent during streaming responses.
1044
1093
  *
1045
- * IMPORTANT: Key ordering matters for Stainless SDK generation.
1046
- * The `data` field MUST be serialized first, with `status` as the first key within it.
1047
- * This allows Stainless to use `data_starts_with: '{"data":{"status":"finished"'` for event handling.
1048
- *
1049
- * Expected serialization order: {"data":{"status":...},"type":...,"id":...}
1094
+ * The SSE wire format includes an `event:` line that mirrors the stream status
1095
+ * (`starting`, `connected`, `running`, `finished`, or `error`) followed by a
1096
+ * JSON `data:` line containing the typed payload below.
1050
1097
  */
1051
1098
  export declare const StreamEventSchema: z.ZodObject<{
1052
1099
  data: z.ZodUnion<readonly [z.ZodObject<{
@@ -9,6 +9,8 @@
9
9
  * All TypeScript types are inferred from the Zod4 *Schemas using z.infer<>
10
10
  */
11
11
  import { z } from "zod/v4";
12
+ import { VariablesSchema } from "./variables.js";
13
+ export { VariablePrimitiveSchema, VariableValueSchema, VariablesSchema, } from "./variables.js";
12
14
  // =============================================================================
13
15
  // Shared Components
14
16
  // =============================================================================
@@ -57,7 +59,7 @@ export const ModelConfigObjectSchema = z
57
59
  }),
58
60
  modelName: z.string().meta({
59
61
  description: "Model name string with provider prefix (e.g., 'openai/gpt-5-nano')",
60
- example: "openai/gpt-5-nano",
62
+ example: "openai/gpt-5.4-mini",
61
63
  }),
62
64
  apiKey: z.string().optional().meta({
63
65
  description: "API key for the model provider",
@@ -67,6 +69,9 @@ export const ModelConfigObjectSchema = z
67
69
  description: "Base URL for the model provider",
68
70
  example: "https://api.openai.com/v1",
69
71
  }),
72
+ headers: z.record(z.string(), z.string()).optional().meta({
73
+ description: "Custom headers sent with every request to the model provider",
74
+ }),
70
75
  })
71
76
  .meta({ id: "ModelConfigObject" });
72
77
  /** Model configuration */
@@ -206,12 +211,16 @@ export const BrowserbaseBrowserSettingsSchema = z
206
211
  .object({
207
212
  advancedStealth: z.boolean().optional(),
208
213
  blockAds: z.boolean().optional(),
214
+ captchaImageSelector: z.string().optional(),
215
+ captchaInputSelector: z.string().optional(),
209
216
  context: BrowserbaseContextSchema.optional(),
210
217
  extensionId: z.string().optional(),
211
218
  fingerprint: BrowserbaseFingerprintSchema.optional(),
212
219
  logSession: z.boolean().optional(),
220
+ os: z.enum(["windows", "mac", "linux", "mobile", "tablet"]).optional(),
213
221
  recordSession: z.boolean().optional(),
214
222
  solveCaptchas: z.boolean().optional(),
223
+ verified: z.boolean().optional(),
215
224
  viewport: BrowserbaseViewportSchema.optional(),
216
225
  })
217
226
  .meta({ id: "BrowserbaseBrowserSettings" });
@@ -272,7 +281,7 @@ export const SessionStartRequestSchema = z
272
281
  .object({
273
282
  modelName: z.string().meta({
274
283
  description: "Model name to use for AI operations",
275
- example: "openai/gpt-4o",
284
+ example: "openai/gpt-5.4-mini",
276
285
  }),
277
286
  domSettleTimeoutMs: z.number().optional().meta({
278
287
  description: "Timeout in ms to wait for DOM to settle",
@@ -360,12 +369,15 @@ export const ActOptionsSchema = z
360
369
  model: z.union([ModelConfigSchema, z.string()]).optional().meta({
361
370
  description: "Model configuration object or model name string (e.g., 'openai/gpt-5-nano')",
362
371
  }),
363
- variables: z
364
- .record(z.string(), z.string())
365
- .optional()
366
- .meta({
367
- description: "Variables to substitute in the action instruction",
368
- example: { username: "john_doe" },
372
+ variables: VariablesSchema.optional().meta({
373
+ description: "Variables to substitute in the action instruction. Accepts flat primitives or { value, description? } objects.",
374
+ example: {
375
+ username: "john_doe",
376
+ password: {
377
+ value: "secret123",
378
+ description: "The login password",
379
+ },
380
+ },
369
381
  }),
370
382
  timeout: z.number().optional().meta({
371
383
  description: "Timeout in ms for the action",
@@ -479,6 +491,16 @@ export const ObserveOptionsSchema = z
479
491
  model: z.union([ModelConfigSchema, z.string()]).optional().meta({
480
492
  description: "Model configuration object or model name string (e.g., 'openai/gpt-5-nano')",
481
493
  }),
494
+ variables: VariablesSchema.optional().meta({
495
+ description: "Variables whose names are exposed to the model so observe() returns %variableName% placeholders in suggested action arguments instead of literal values. Accepts flat primitives or { value, description? } objects.",
496
+ example: {
497
+ username: {
498
+ value: "john@example.com",
499
+ description: "The login email",
500
+ },
501
+ rememberMe: true,
502
+ },
503
+ }),
482
504
  timeout: z.number().optional().meta({
483
505
  description: "Timeout in ms for the observation",
484
506
  example: 30000,
@@ -621,6 +643,14 @@ export const AgentExecuteOptionsSchema = z
621
643
  description: "Whether to visually highlight the cursor during execution",
622
644
  example: true,
623
645
  }),
646
+ useSearch: z.boolean().optional().meta({
647
+ description: "Whether to enable the web search tool powered by Browserbase Search API",
648
+ example: true,
649
+ }),
650
+ toolTimeout: z.number().optional().meta({
651
+ description: "Timeout in milliseconds for each agent tool call",
652
+ example: 30000,
653
+ }),
624
654
  })
625
655
  .meta({ id: "AgentExecuteOptions" });
626
656
  export const AgentExecuteRequestSchema = z
@@ -790,11 +820,9 @@ export const StreamEventLogDataSchema = z
790
820
  /**
791
821
  * SSE stream event sent during streaming responses.
792
822
  *
793
- * IMPORTANT: Key ordering matters for Stainless SDK generation.
794
- * The `data` field MUST be serialized first, with `status` as the first key within it.
795
- * This allows Stainless to use `data_starts_with: '{"data":{"status":"finished"'` for event handling.
796
- *
797
- * Expected serialization order: {"data":{"status":...},"type":...,"id":...}
823
+ * The SSE wire format includes an `event:` line that mirrors the stream status
824
+ * (`starting`, `connected`, `running`, `finished`, or `error`) followed by a
825
+ * JSON `data:` line containing the typed payload below.
798
826
  */
799
827
  export const StreamEventSchema = z
800
828
  .object({
@@ -807,7 +835,7 @@ export const StreamEventSchema = z
807
835
  })
808
836
  .meta({
809
837
  id: "StreamEvent",
810
- description: "Server-Sent Event emitted during streaming responses. Events are sent as `data: <JSON>\\n\\n`. Key order: data (with status first), type, id.",
838
+ description: "Server-Sent Event emitted during streaming responses. Events are sent as `event: <status>\\ndata: <JSON>\\n\\n`, where the JSON payload has the shape `{ data, type, id }`.",
811
839
  });
812
840
  // =============================================================================
813
841
  // OpenAPI Components