@browserbasehq/orca 3.0.9-alpha-4 → 3.1.0-patch.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 (655) hide show
  1. package/dist/esm/index.d.ts +3 -0
  2. package/dist/esm/index.js +3 -0
  3. package/dist/esm/lib/inference.d.ts +65 -0
  4. package/dist/esm/lib/inference.js +333 -0
  5. package/dist/esm/lib/inference.js.map +1 -0
  6. package/dist/esm/lib/inferenceLogUtils.d.ts +12 -0
  7. package/dist/esm/lib/inferenceLogUtils.js +92 -0
  8. package/dist/esm/lib/inferenceLogUtils.js.map +1 -0
  9. package/dist/esm/lib/logger.d.ts +69 -0
  10. package/dist/esm/lib/logger.js +323 -0
  11. package/dist/esm/lib/logger.js.map +1 -0
  12. package/dist/esm/lib/modelUtils.d.ts +14 -0
  13. package/dist/esm/lib/modelUtils.js +48 -0
  14. package/dist/esm/lib/modelUtils.js.map +1 -0
  15. package/dist/esm/lib/prompt.d.ts +14 -0
  16. package/dist/esm/lib/prompt.js +230 -0
  17. package/dist/esm/lib/prompt.js.map +1 -0
  18. package/dist/esm/lib/utils.d.ts +68 -0
  19. package/dist/esm/lib/utils.js +654 -0
  20. package/dist/esm/lib/utils.js.map +1 -0
  21. package/dist/esm/lib/v3/agent/AgentClient.d.ts +19 -0
  22. package/dist/esm/lib/v3/agent/AgentClient.js +17 -0
  23. package/dist/esm/lib/v3/agent/AgentClient.js.map +1 -0
  24. package/dist/esm/lib/v3/agent/AgentProvider.d.ts +20 -0
  25. package/dist/esm/lib/v3/agent/AgentProvider.js +77 -0
  26. package/dist/esm/lib/v3/agent/AgentProvider.js.map +1 -0
  27. package/dist/esm/lib/v3/agent/AnthropicCUAClient.d.ts +57 -0
  28. package/dist/esm/lib/v3/agent/AnthropicCUAClient.js +822 -0
  29. package/dist/esm/lib/v3/agent/AnthropicCUAClient.js.map +1 -0
  30. package/dist/esm/lib/v3/agent/GoogleCUAClient.d.ts +74 -0
  31. package/dist/esm/lib/v3/agent/GoogleCUAClient.js +799 -0
  32. package/dist/esm/lib/v3/agent/GoogleCUAClient.js.map +1 -0
  33. package/dist/esm/lib/v3/agent/MicrosoftCUAClient.d.ts +71 -0
  34. package/dist/esm/lib/v3/agent/MicrosoftCUAClient.js +770 -0
  35. package/dist/esm/lib/v3/agent/MicrosoftCUAClient.js.map +1 -0
  36. package/dist/esm/lib/v3/agent/OpenAICUAClient.d.ts +69 -0
  37. package/dist/esm/lib/v3/agent/OpenAICUAClient.js +615 -0
  38. package/dist/esm/lib/v3/agent/OpenAICUAClient.js.map +1 -0
  39. package/dist/esm/lib/v3/agent/prompts/agentSystemPrompt.d.ts +12 -0
  40. package/dist/esm/lib/v3/agent/prompts/agentSystemPrompt.js +186 -0
  41. package/dist/esm/lib/v3/agent/prompts/agentSystemPrompt.js.map +1 -0
  42. package/dist/esm/lib/v3/agent/tools/act.d.ts +13 -0
  43. package/dist/esm/lib/v3/agent/tools/act.js +49 -0
  44. package/dist/esm/lib/v3/agent/tools/act.js.map +1 -0
  45. package/dist/esm/lib/v3/agent/tools/ariaTree.d.ts +5 -0
  46. package/dist/esm/lib/v3/agent/tools/ariaTree.js +31 -0
  47. package/dist/esm/lib/v3/agent/tools/ariaTree.js.map +1 -0
  48. package/dist/esm/lib/v3/agent/tools/click.d.ts +6 -0
  49. package/dist/esm/lib/v3/agent/tools/click.js +104 -0
  50. package/dist/esm/lib/v3/agent/tools/click.js.map +1 -0
  51. package/dist/esm/lib/v3/agent/tools/clickAndHold.d.ts +14 -0
  52. package/dist/esm/lib/v3/agent/tools/clickAndHold.js +68 -0
  53. package/dist/esm/lib/v3/agent/tools/clickAndHold.js.map +1 -0
  54. package/dist/esm/lib/v3/agent/tools/dragAndDrop.d.ts +7 -0
  55. package/dist/esm/lib/v3/agent/tools/dragAndDrop.js +105 -0
  56. package/dist/esm/lib/v3/agent/tools/dragAndDrop.js.map +1 -0
  57. package/dist/esm/lib/v3/agent/tools/extract.d.ts +21 -0
  58. package/dist/esm/lib/v3/agent/tools/extract.js +93 -0
  59. package/dist/esm/lib/v3/agent/tools/extract.js.map +1 -0
  60. package/dist/esm/lib/v3/agent/tools/fillFormVision.d.ts +12 -0
  61. package/dist/esm/lib/v3/agent/tools/fillFormVision.js +143 -0
  62. package/dist/esm/lib/v3/agent/tools/fillFormVision.js.map +1 -0
  63. package/dist/esm/lib/v3/agent/tools/fillform.d.ts +13 -0
  64. package/dist/esm/lib/v3/agent/tools/fillform.js +56 -0
  65. package/dist/esm/lib/v3/agent/tools/fillform.js.map +1 -0
  66. package/dist/esm/lib/v3/agent/tools/goto.d.ts +12 -0
  67. package/dist/esm/lib/v3/agent/tools/goto.js +31 -0
  68. package/dist/esm/lib/v3/agent/tools/goto.js.map +1 -0
  69. package/dist/esm/lib/v3/agent/tools/index.d.ts +92 -0
  70. package/dist/esm/lib/v3/agent/tools/index.js +74 -0
  71. package/dist/esm/lib/v3/agent/tools/index.js.map +1 -0
  72. package/dist/esm/lib/v3/agent/tools/keys.d.ts +24 -0
  73. package/dist/esm/lib/v3/agent/tools/keys.js +60 -0
  74. package/dist/esm/lib/v3/agent/tools/keys.js.map +1 -0
  75. package/dist/esm/lib/v3/agent/tools/navback.d.ts +6 -0
  76. package/dist/esm/lib/v3/agent/tools/navback.js +23 -0
  77. package/dist/esm/lib/v3/agent/tools/navback.js.map +1 -0
  78. package/dist/esm/lib/v3/agent/tools/screenshot.d.ts +6 -0
  79. package/dist/esm/lib/v3/agent/tools/screenshot.js +26 -0
  80. package/dist/esm/lib/v3/agent/tools/screenshot.js.map +1 -0
  81. package/dist/esm/lib/v3/agent/tools/scroll.d.ts +19 -0
  82. package/dist/esm/lib/v3/agent/tools/scroll.js +142 -0
  83. package/dist/esm/lib/v3/agent/tools/scroll.js.map +1 -0
  84. package/dist/esm/lib/v3/agent/tools/search.d.ts +15 -0
  85. package/dist/esm/lib/v3/agent/tools/search.js +73 -0
  86. package/dist/esm/lib/v3/agent/tools/search.js.map +1 -0
  87. package/dist/esm/lib/v3/agent/tools/think.d.ts +6 -0
  88. package/dist/esm/lib/v3/agent/tools/think.js +24 -0
  89. package/dist/esm/lib/v3/agent/tools/think.js.map +1 -0
  90. package/dist/esm/lib/v3/agent/tools/type.d.ts +7 -0
  91. package/dist/esm/lib/v3/agent/tools/type.js +106 -0
  92. package/dist/esm/lib/v3/agent/tools/type.js.map +1 -0
  93. package/dist/esm/lib/v3/agent/tools/wait.d.ts +5 -0
  94. package/dist/esm/lib/v3/agent/tools/wait.js +53 -0
  95. package/dist/esm/lib/v3/agent/tools/wait.js.map +1 -0
  96. package/dist/esm/lib/v3/agent/utils/actionMapping.d.ts +3 -0
  97. package/dist/esm/lib/v3/agent/utils/actionMapping.js +100 -0
  98. package/dist/esm/lib/v3/agent/utils/actionMapping.js.map +1 -0
  99. package/dist/esm/lib/v3/agent/utils/coordinateNormalization.d.ts +13 -0
  100. package/dist/esm/lib/v3/agent/utils/coordinateNormalization.js +28 -0
  101. package/dist/esm/lib/v3/agent/utils/coordinateNormalization.js.map +1 -0
  102. package/dist/esm/lib/v3/agent/utils/cuaKeyMapping.d.ts +10 -0
  103. package/dist/esm/lib/v3/agent/utils/cuaKeyMapping.js +62 -0
  104. package/dist/esm/lib/v3/agent/utils/cuaKeyMapping.js.map +1 -0
  105. package/dist/esm/lib/v3/agent/utils/googleCustomToolHandler.d.ts +25 -0
  106. package/dist/esm/lib/v3/agent/utils/googleCustomToolHandler.js +145 -0
  107. package/dist/esm/lib/v3/agent/utils/googleCustomToolHandler.js.map +1 -0
  108. package/dist/esm/lib/v3/agent/utils/handleDoneToolCall.d.ts +22 -0
  109. package/dist/esm/lib/v3/agent/utils/handleDoneToolCall.js +101 -0
  110. package/dist/esm/lib/v3/agent/utils/handleDoneToolCall.js.map +1 -0
  111. package/dist/esm/lib/v3/agent/utils/imageCompression.d.ts +53 -0
  112. package/dist/esm/lib/v3/agent/utils/imageCompression.js +204 -0
  113. package/dist/esm/lib/v3/agent/utils/imageCompression.js.map +1 -0
  114. package/dist/esm/lib/v3/agent/utils/messageProcessing.d.ts +12 -0
  115. package/dist/esm/lib/v3/agent/utils/messageProcessing.js +164 -0
  116. package/dist/esm/lib/v3/agent/utils/messageProcessing.js.map +1 -0
  117. package/dist/esm/lib/v3/agent/utils/screenshotHandler.d.ts +10 -0
  118. package/dist/esm/lib/v3/agent/utils/screenshotHandler.js +26 -0
  119. package/dist/esm/lib/v3/agent/utils/screenshotHandler.js.map +1 -0
  120. package/dist/esm/lib/v3/agent/utils/validateExperimentalFeatures.d.ts +26 -0
  121. package/dist/esm/lib/v3/agent/utils/validateExperimentalFeatures.js +79 -0
  122. package/dist/esm/lib/v3/agent/utils/validateExperimentalFeatures.js.map +1 -0
  123. package/dist/esm/lib/v3/agent/utils/xpath.d.ts +11 -0
  124. package/dist/esm/lib/v3/agent/utils/xpath.js +19 -0
  125. package/dist/esm/lib/v3/agent/utils/xpath.js.map +1 -0
  126. package/dist/esm/lib/v3/api.d.ts +86 -0
  127. package/dist/esm/lib/v3/api.js +484 -0
  128. package/dist/esm/lib/v3/api.js.map +1 -0
  129. package/dist/esm/lib/v3/cache/ActCache.d.ts +23 -0
  130. package/dist/esm/lib/v3/cache/ActCache.js +292 -0
  131. package/dist/esm/lib/v3/cache/ActCache.js.map +1 -0
  132. package/dist/esm/lib/v3/cache/AgentCache.d.ts +109 -0
  133. package/dist/esm/lib/v3/cache/AgentCache.js +640 -0
  134. package/dist/esm/lib/v3/cache/AgentCache.js.map +1 -0
  135. package/dist/esm/lib/v3/cache/CacheStorage.d.ts +17 -0
  136. package/dist/esm/lib/v3/cache/CacheStorage.js +98 -0
  137. package/dist/esm/lib/v3/cache/CacheStorage.js.map +1 -0
  138. package/dist/esm/lib/v3/cache/serverAgentCache.d.ts +7 -0
  139. package/dist/esm/lib/v3/cache/serverAgentCache.js +49 -0
  140. package/dist/esm/lib/v3/cache/serverAgentCache.js.map +1 -0
  141. package/dist/esm/lib/v3/cache/utils.d.ts +15 -0
  142. package/dist/esm/lib/v3/cache/utils.js +39 -0
  143. package/dist/esm/lib/v3/cache/utils.js.map +1 -0
  144. package/dist/esm/lib/v3/dom/a11yScripts/index.d.ts +11 -0
  145. package/dist/esm/lib/v3/dom/a11yScripts/index.js +117 -0
  146. package/dist/esm/lib/v3/dom/a11yScripts/index.js.map +1 -0
  147. package/dist/esm/lib/v3/dom/build/a11yScripts.generated.d.ts +16 -0
  148. package/dist/esm/lib/v3/dom/build/a11yScripts.generated.js +20 -0
  149. package/dist/esm/lib/v3/dom/build/a11yScripts.generated.js.map +1 -0
  150. package/dist/esm/lib/v3/dom/build/locatorScripts.generated.d.ts +52 -0
  151. package/dist/esm/lib/v3/dom/build/locatorScripts.generated.js +56 -0
  152. package/dist/esm/lib/v3/dom/build/locatorScripts.generated.js.map +1 -0
  153. package/dist/esm/lib/v3/dom/build/reRenderScriptContent.d.ts +1 -0
  154. package/dist/esm/lib/v3/dom/build/reRenderScriptContent.js +2 -0
  155. package/dist/esm/lib/v3/dom/build/reRenderScriptContent.js.map +1 -0
  156. package/dist/esm/lib/v3/dom/build/rerender-index.js +1 -0
  157. package/dist/esm/lib/v3/dom/build/screenshotScripts.generated.d.ts +4 -0
  158. package/dist/esm/lib/v3/dom/build/screenshotScripts.generated.js +8 -0
  159. package/dist/esm/lib/v3/dom/build/screenshotScripts.generated.js.map +1 -0
  160. package/dist/esm/lib/v3/dom/build/scriptV3Content.d.ts +1 -0
  161. package/dist/esm/lib/v3/dom/build/scriptV3Content.js +2 -0
  162. package/dist/esm/lib/v3/dom/build/scriptV3Content.js.map +1 -0
  163. package/dist/esm/lib/v3/dom/build/v3-index.js +1 -0
  164. package/dist/esm/lib/v3/dom/genA11yScripts.d.ts +1 -0
  165. package/dist/esm/lib/v3/dom/genA11yScripts.js +54 -0
  166. package/dist/esm/lib/v3/dom/genA11yScripts.js.map +1 -0
  167. package/dist/esm/lib/v3/dom/genDomScripts.d.ts +1 -0
  168. package/dist/esm/lib/v3/dom/genDomScripts.js +38 -0
  169. package/dist/esm/lib/v3/dom/genDomScripts.js.map +1 -0
  170. package/dist/esm/lib/v3/dom/genLocatorScripts.d.ts +1 -0
  171. package/dist/esm/lib/v3/dom/genLocatorScripts.js +51 -0
  172. package/dist/esm/lib/v3/dom/genLocatorScripts.js.map +1 -0
  173. package/dist/esm/lib/v3/dom/genScreenshotScripts.d.ts +1 -0
  174. package/dist/esm/lib/v3/dom/genScreenshotScripts.js +37 -0
  175. package/dist/esm/lib/v3/dom/genScreenshotScripts.js.map +1 -0
  176. package/dist/esm/lib/v3/dom/index.d.ts +1 -0
  177. package/dist/esm/lib/v3/dom/index.js +2 -0
  178. package/dist/esm/lib/v3/dom/index.js.map +1 -0
  179. package/dist/esm/lib/v3/dom/locatorScripts/counts.d.ts +15 -0
  180. package/dist/esm/lib/v3/dom/locatorScripts/counts.js +272 -0
  181. package/dist/esm/lib/v3/dom/locatorScripts/counts.js.map +1 -0
  182. package/dist/esm/lib/v3/dom/locatorScripts/index.d.ts +4 -0
  183. package/dist/esm/lib/v3/dom/locatorScripts/index.js +5 -0
  184. package/dist/esm/lib/v3/dom/locatorScripts/index.js.map +1 -0
  185. package/dist/esm/lib/v3/dom/locatorScripts/scripts.d.ts +37 -0
  186. package/dist/esm/lib/v3/dom/locatorScripts/scripts.js +458 -0
  187. package/dist/esm/lib/v3/dom/locatorScripts/scripts.js.map +1 -0
  188. package/dist/esm/lib/v3/dom/locatorScripts/selectors.d.ts +4 -0
  189. package/dist/esm/lib/v3/dom/locatorScripts/selectors.js +283 -0
  190. package/dist/esm/lib/v3/dom/locatorScripts/selectors.js.map +1 -0
  191. package/dist/esm/lib/v3/dom/locatorScripts/waitForSelector.d.ts +19 -0
  192. package/dist/esm/lib/v3/dom/locatorScripts/waitForSelector.js +283 -0
  193. package/dist/esm/lib/v3/dom/locatorScripts/waitForSelector.js.map +1 -0
  194. package/dist/esm/lib/v3/dom/locatorScripts/xpathParser.d.ts +76 -0
  195. package/dist/esm/lib/v3/dom/locatorScripts/xpathParser.js +376 -0
  196. package/dist/esm/lib/v3/dom/locatorScripts/xpathParser.js.map +1 -0
  197. package/dist/esm/lib/v3/dom/locatorScripts/xpathResolver.d.ts +9 -0
  198. package/dist/esm/lib/v3/dom/locatorScripts/xpathResolver.js +196 -0
  199. package/dist/esm/lib/v3/dom/locatorScripts/xpathResolver.js.map +1 -0
  200. package/dist/esm/lib/v3/dom/piercer.entry.d.ts +1 -0
  201. package/dist/esm/lib/v3/dom/piercer.entry.js +3 -0
  202. package/dist/esm/lib/v3/dom/piercer.entry.js.map +1 -0
  203. package/dist/esm/lib/v3/dom/piercer.runtime.d.ts +23 -0
  204. package/dist/esm/lib/v3/dom/piercer.runtime.js +90 -0
  205. package/dist/esm/lib/v3/dom/piercer.runtime.js.map +1 -0
  206. package/dist/esm/lib/v3/dom/rerenderMissingShadows.entry.d.ts +1 -0
  207. package/dist/esm/lib/v3/dom/rerenderMissingShadows.entry.js +3 -0
  208. package/dist/esm/lib/v3/dom/rerenderMissingShadows.entry.js.map +1 -0
  209. package/dist/esm/lib/v3/dom/rerenderMissingShadows.runtime.d.ts +1 -0
  210. package/dist/esm/lib/v3/dom/rerenderMissingShadows.runtime.js +40 -0
  211. package/dist/esm/lib/v3/dom/rerenderMissingShadows.runtime.js.map +1 -0
  212. package/dist/esm/lib/v3/dom/screenshotScripts/index.d.ts +1 -0
  213. package/dist/esm/lib/v3/dom/screenshotScripts/index.js +2 -0
  214. package/dist/esm/lib/v3/dom/screenshotScripts/index.js.map +1 -0
  215. package/dist/esm/lib/v3/dom/screenshotScripts/resolveMaskRect.d.ts +8 -0
  216. package/dist/esm/lib/v3/dom/screenshotScripts/resolveMaskRect.js +82 -0
  217. package/dist/esm/lib/v3/dom/screenshotScripts/resolveMaskRect.js.map +1 -0
  218. package/dist/esm/lib/v3/external_clients/aisdk.d.ts +11 -0
  219. package/dist/esm/lib/v3/external_clients/aisdk.js +103 -0
  220. package/dist/esm/lib/v3/external_clients/aisdk.js.map +1 -0
  221. package/dist/esm/lib/v3/external_clients/customOpenAI.d.ts +18 -0
  222. package/dist/esm/lib/v3/external_clients/customOpenAI.js +220 -0
  223. package/dist/esm/lib/v3/external_clients/customOpenAI.js.map +1 -0
  224. package/dist/esm/lib/v3/flowLogger.d.ts +139 -0
  225. package/dist/esm/lib/v3/flowLogger.js +868 -0
  226. package/dist/esm/lib/v3/flowLogger.js.map +1 -0
  227. package/dist/esm/lib/v3/handlers/actHandler.d.ts +21 -0
  228. package/dist/esm/lib/v3/handlers/actHandler.js +340 -0
  229. package/dist/esm/lib/v3/handlers/actHandler.js.map +1 -0
  230. package/dist/esm/lib/v3/handlers/extractHandler.d.ts +31 -0
  231. package/dist/esm/lib/v3/handlers/extractHandler.js +139 -0
  232. package/dist/esm/lib/v3/handlers/extractHandler.js.map +1 -0
  233. package/dist/esm/lib/v3/handlers/handlerUtils/actHandlerUtils.d.ts +24 -0
  234. package/dist/esm/lib/v3/handlers/handlerUtils/actHandlerUtils.js +623 -0
  235. package/dist/esm/lib/v3/handlers/handlerUtils/actHandlerUtils.js.map +1 -0
  236. package/dist/esm/lib/v3/handlers/handlerUtils/timeoutGuard.d.ts +2 -0
  237. package/dist/esm/lib/v3/handlers/handlerUtils/timeoutGuard.js +14 -0
  238. package/dist/esm/lib/v3/handlers/handlerUtils/timeoutGuard.js.map +1 -0
  239. package/dist/esm/lib/v3/handlers/observeHandler.d.ts +17 -0
  240. package/dist/esm/lib/v3/handlers/observeHandler.js +156 -0
  241. package/dist/esm/lib/v3/handlers/observeHandler.js.map +1 -0
  242. package/dist/esm/lib/v3/handlers/v3AgentHandler.d.ts +32 -0
  243. package/dist/esm/lib/v3/handlers/v3AgentHandler.js +461 -0
  244. package/dist/esm/lib/v3/handlers/v3AgentHandler.js.map +1 -0
  245. package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.d.ts +33 -0
  246. package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.js +528 -0
  247. package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.js.map +1 -0
  248. package/dist/esm/lib/v3/index.d.ts +17 -0
  249. package/dist/esm/lib/v3/index.js +13 -0
  250. package/dist/esm/lib/v3/index.js.map +1 -0
  251. package/dist/esm/lib/v3/launch/browserbase.d.ts +7 -0
  252. package/dist/esm/lib/v3/launch/browserbase.js +46 -0
  253. package/dist/esm/lib/v3/launch/browserbase.js.map +1 -0
  254. package/dist/esm/lib/v3/launch/local.d.ts +15 -0
  255. package/dist/esm/lib/v3/launch/local.js +98 -0
  256. package/dist/esm/lib/v3/launch/local.js.map +1 -0
  257. package/dist/esm/lib/v3/llm/AnthropicClient.d.ts +16 -0
  258. package/dist/esm/lib/v3/llm/AnthropicClient.js +239 -0
  259. package/dist/esm/lib/v3/llm/AnthropicClient.js.map +1 -0
  260. package/dist/esm/lib/v3/llm/CerebrasClient.d.ts +17 -0
  261. package/dist/esm/lib/v3/llm/CerebrasClient.js +235 -0
  262. package/dist/esm/lib/v3/llm/CerebrasClient.js.map +1 -0
  263. package/dist/esm/lib/v3/llm/GoogleClient.d.ts +19 -0
  264. package/dist/esm/lib/v3/llm/GoogleClient.js +369 -0
  265. package/dist/esm/lib/v3/llm/GoogleClient.js.map +1 -0
  266. package/dist/esm/lib/v3/llm/GroqClient.d.ts +17 -0
  267. package/dist/esm/lib/v3/llm/GroqClient.js +236 -0
  268. package/dist/esm/lib/v3/llm/GroqClient.js.map +1 -0
  269. package/dist/esm/lib/v3/llm/LLMClient.d.ts +121 -0
  270. package/dist/esm/lib/v3/llm/LLMClient.js +23 -0
  271. package/dist/esm/lib/v3/llm/LLMClient.js.map +1 -0
  272. package/dist/esm/lib/v3/llm/LLMProvider.d.ts +13 -0
  273. package/dist/esm/lib/v3/llm/LLMProvider.js +194 -0
  274. package/dist/esm/lib/v3/llm/LLMProvider.js.map +1 -0
  275. package/dist/esm/lib/v3/llm/OpenAIClient.d.ts +15 -0
  276. package/dist/esm/lib/v3/llm/OpenAIClient.js +329 -0
  277. package/dist/esm/lib/v3/llm/OpenAIClient.js.map +1 -0
  278. package/dist/esm/lib/v3/llm/aisdk.d.ts +15 -0
  279. package/dist/esm/lib/v3/llm/aisdk.js +348 -0
  280. package/dist/esm/lib/v3/llm/aisdk.js.map +1 -0
  281. package/dist/esm/lib/v3/logger.d.ts +9 -0
  282. package/dist/esm/lib/v3/logger.js +96 -0
  283. package/dist/esm/lib/v3/logger.js.map +1 -0
  284. package/dist/esm/lib/v3/mcp/connection.d.ts +11 -0
  285. package/dist/esm/lib/v3/mcp/connection.js +49 -0
  286. package/dist/esm/lib/v3/mcp/connection.js.map +1 -0
  287. package/dist/esm/lib/v3/mcp/utils.d.ts +3 -0
  288. package/dist/esm/lib/v3/mcp/utils.js +36 -0
  289. package/dist/esm/lib/v3/mcp/utils.js.map +1 -0
  290. package/dist/esm/lib/v3/shutdown/cleanupLocal.d.ts +14 -0
  291. package/dist/esm/lib/v3/shutdown/cleanupLocal.js +30 -0
  292. package/dist/esm/lib/v3/shutdown/cleanupLocal.js.map +1 -0
  293. package/dist/esm/lib/v3/shutdown/supervisor.d.ts +9 -0
  294. package/dist/esm/lib/v3/shutdown/supervisor.js +156 -0
  295. package/dist/esm/lib/v3/shutdown/supervisor.js.map +1 -0
  296. package/dist/esm/lib/v3/shutdown/supervisorClient.d.ts +15 -0
  297. package/dist/esm/lib/v3/shutdown/supervisorClient.js +97 -0
  298. package/dist/esm/lib/v3/shutdown/supervisorClient.js.map +1 -0
  299. package/dist/esm/lib/v3/tests/agent-abort-signal.spec.js +113 -0
  300. package/dist/esm/lib/v3/tests/agent-abort-signal.spec.js.map +7 -0
  301. package/dist/esm/lib/v3/tests/agent-cache-self-heal.spec.js +80 -0
  302. package/dist/esm/lib/v3/tests/agent-cache-self-heal.spec.js.map +7 -0
  303. package/dist/esm/lib/v3/tests/agent-callbacks.spec.js +374 -0
  304. package/dist/esm/lib/v3/tests/agent-callbacks.spec.js.map +7 -0
  305. package/dist/esm/lib/v3/tests/agent-experimental-validation.spec.js +357 -0
  306. package/dist/esm/lib/v3/tests/agent-experimental-validation.spec.js.map +7 -0
  307. package/dist/esm/lib/v3/tests/agent-hybrid-mode.spec.js +247 -0
  308. package/dist/esm/lib/v3/tests/agent-hybrid-mode.spec.js.map +7 -0
  309. package/dist/esm/lib/v3/tests/agent-message-continuation.spec.js +105 -0
  310. package/dist/esm/lib/v3/tests/agent-message-continuation.spec.js.map +7 -0
  311. package/dist/esm/lib/v3/tests/agent-streaming.spec.js +126 -0
  312. package/dist/esm/lib/v3/tests/agent-streaming.spec.js.map +7 -0
  313. package/dist/esm/lib/v3/tests/cdp-session-detached.spec.js +44 -0
  314. package/dist/esm/lib/v3/tests/cdp-session-detached.spec.js.map +7 -0
  315. package/dist/esm/lib/v3/tests/click-count.spec.js +112 -0
  316. package/dist/esm/lib/v3/tests/click-count.spec.js.map +7 -0
  317. package/dist/esm/lib/v3/tests/connect-to-existing-browser.spec.js +54 -0
  318. package/dist/esm/lib/v3/tests/connect-to-existing-browser.spec.js.map +7 -0
  319. package/dist/esm/lib/v3/tests/context-addInitScript.spec.js +176 -0
  320. package/dist/esm/lib/v3/tests/context-addInitScript.spec.js.map +7 -0
  321. package/dist/esm/lib/v3/tests/default-page-tracking.spec.js +53 -0
  322. package/dist/esm/lib/v3/tests/default-page-tracking.spec.js.map +7 -0
  323. package/dist/esm/lib/v3/tests/downloads.spec.js +58 -0
  324. package/dist/esm/lib/v3/tests/downloads.spec.js.map +7 -0
  325. package/dist/esm/lib/v3/tests/envReporter.js +57 -0
  326. package/dist/esm/lib/v3/tests/envReporter.js.map +7 -0
  327. package/dist/esm/lib/v3/tests/frame-get-location-and-click.spec.js +53 -0
  328. package/dist/esm/lib/v3/tests/frame-get-location-and-click.spec.js.map +7 -0
  329. package/dist/esm/lib/v3/tests/iframe-ctx-addInitScript.spec.js +447 -0
  330. package/dist/esm/lib/v3/tests/iframe-ctx-addInitScript.spec.js.map +7 -0
  331. package/dist/esm/lib/v3/tests/keep-alive.child.js +92 -0
  332. package/dist/esm/lib/v3/tests/keep-alive.child.js.map +7 -0
  333. package/dist/esm/lib/v3/tests/keep-alive.helpers.js +532 -0
  334. package/dist/esm/lib/v3/tests/keep-alive.helpers.js.map +7 -0
  335. package/dist/esm/lib/v3/tests/keep-alive.spec.js +19 -0
  336. package/dist/esm/lib/v3/tests/keep-alive.spec.js.map +7 -0
  337. package/dist/esm/lib/v3/tests/keyboard.spec.js +296 -0
  338. package/dist/esm/lib/v3/tests/keyboard.spec.js.map +7 -0
  339. package/dist/esm/lib/v3/tests/locator-backend-node-id.spec.js +159 -0
  340. package/dist/esm/lib/v3/tests/locator-backend-node-id.spec.js.map +7 -0
  341. package/dist/esm/lib/v3/tests/locator-content-methods.spec.js +191 -0
  342. package/dist/esm/lib/v3/tests/locator-content-methods.spec.js.map +7 -0
  343. package/dist/esm/lib/v3/tests/locator-count-iframe.spec.js +108 -0
  344. package/dist/esm/lib/v3/tests/locator-count-iframe.spec.js.map +7 -0
  345. package/dist/esm/lib/v3/tests/locator-count.spec.js +71 -0
  346. package/dist/esm/lib/v3/tests/locator-count.spec.js.map +7 -0
  347. package/dist/esm/lib/v3/tests/locator-fill.spec.js +118 -0
  348. package/dist/esm/lib/v3/tests/locator-fill.spec.js.map +7 -0
  349. package/dist/esm/lib/v3/tests/locator-input-methods.spec.js +136 -0
  350. package/dist/esm/lib/v3/tests/locator-input-methods.spec.js.map +7 -0
  351. package/dist/esm/lib/v3/tests/locator-nth.spec.js +157 -0
  352. package/dist/esm/lib/v3/tests/locator-nth.spec.js.map +7 -0
  353. package/dist/esm/lib/v3/tests/locator-select-option.spec.js +242 -0
  354. package/dist/esm/lib/v3/tests/locator-select-option.spec.js.map +7 -0
  355. package/dist/esm/lib/v3/tests/logger-initialization.spec.js +552 -0
  356. package/dist/esm/lib/v3/tests/logger-initialization.spec.js.map +7 -0
  357. package/dist/esm/lib/v3/tests/multi-instance-logger.spec.js +269 -0
  358. package/dist/esm/lib/v3/tests/multi-instance-logger.spec.js.map +7 -0
  359. package/dist/esm/lib/v3/tests/nested-div.spec.js +23 -0
  360. package/dist/esm/lib/v3/tests/nested-div.spec.js.map +7 -0
  361. package/dist/esm/lib/v3/tests/page-addInitScript.spec.js +90 -0
  362. package/dist/esm/lib/v3/tests/page-addInitScript.spec.js.map +7 -0
  363. package/dist/esm/lib/v3/tests/page-console.spec.js +56 -0
  364. package/dist/esm/lib/v3/tests/page-console.spec.js.map +7 -0
  365. package/dist/esm/lib/v3/tests/page-drag-and-drop.spec.js +418 -0
  366. package/dist/esm/lib/v3/tests/page-drag-and-drop.spec.js.map +7 -0
  367. package/dist/esm/lib/v3/tests/page-goto-response.spec.js +35 -0
  368. package/dist/esm/lib/v3/tests/page-goto-response.spec.js.map +7 -0
  369. package/dist/esm/lib/v3/tests/page-hover.spec.js +167 -0
  370. package/dist/esm/lib/v3/tests/page-hover.spec.js.map +7 -0
  371. package/dist/esm/lib/v3/tests/page-screenshot.spec.js +273 -0
  372. package/dist/esm/lib/v3/tests/page-screenshot.spec.js.map +7 -0
  373. package/dist/esm/lib/v3/tests/page-scroll.spec.js +182 -0
  374. package/dist/esm/lib/v3/tests/page-scroll.spec.js.map +7 -0
  375. package/dist/esm/lib/v3/tests/page-send-cdp.spec.js +46 -0
  376. package/dist/esm/lib/v3/tests/page-send-cdp.spec.js.map +7 -0
  377. package/dist/esm/lib/v3/tests/perform-understudy-method.spec.js +98 -0
  378. package/dist/esm/lib/v3/tests/perform-understudy-method.spec.js.map +7 -0
  379. package/dist/esm/lib/v3/tests/setinputfiles.spec.js +126 -0
  380. package/dist/esm/lib/v3/tests/setinputfiles.spec.js.map +7 -0
  381. package/dist/esm/lib/v3/tests/shadow-iframe-oopif.spec.js +134 -0
  382. package/dist/esm/lib/v3/tests/shadow-iframe-oopif.spec.js.map +7 -0
  383. package/dist/esm/lib/v3/tests/shadow-iframe-spif.spec.js +134 -0
  384. package/dist/esm/lib/v3/tests/shadow-iframe-spif.spec.js.map +7 -0
  385. package/dist/esm/lib/v3/tests/testUtils.js +31 -0
  386. package/dist/esm/lib/v3/tests/testUtils.js.map +7 -0
  387. package/dist/esm/lib/v3/tests/text-selector-innermost.spec.js +100 -0
  388. package/dist/esm/lib/v3/tests/text-selector-innermost.spec.js.map +7 -0
  389. package/dist/esm/lib/v3/tests/timeouts.spec.js +32 -0
  390. package/dist/esm/lib/v3/tests/timeouts.spec.js.map +7 -0
  391. package/dist/esm/lib/v3/tests/user-data-dir.spec.js +43 -0
  392. package/dist/esm/lib/v3/tests/user-data-dir.spec.js.map +7 -0
  393. package/dist/esm/lib/v3/tests/v3.config.js +15 -0
  394. package/dist/esm/lib/v3/tests/v3.config.js.map +7 -0
  395. package/dist/esm/lib/v3/tests/v3.dynamic.config.js +43 -0
  396. package/dist/esm/lib/v3/tests/v3.dynamic.config.js.map +7 -0
  397. package/dist/esm/lib/v3/tests/v3.playwright.config.js +98 -0
  398. package/dist/esm/lib/v3/tests/v3.playwright.config.js.map +7 -0
  399. package/dist/esm/lib/v3/tests/wait-for-selector.spec.js +593 -0
  400. package/dist/esm/lib/v3/tests/wait-for-selector.spec.js.map +7 -0
  401. package/dist/esm/lib/v3/tests/wait-for-timeout.spec.js +97 -0
  402. package/dist/esm/lib/v3/tests/wait-for-timeout.spec.js.map +7 -0
  403. package/dist/esm/lib/v3/tests/xpath-for-location-deep.spec.js +77 -0
  404. package/dist/esm/lib/v3/tests/xpath-for-location-deep.spec.js.map +7 -0
  405. package/dist/esm/lib/v3/timeoutConfig.d.ts +2 -0
  406. package/dist/esm/lib/v3/timeoutConfig.js +27 -0
  407. package/dist/esm/lib/v3/timeoutConfig.js.map +1 -0
  408. package/dist/esm/lib/v3/types/private/agent.d.ts +6 -0
  409. package/dist/esm/lib/v3/types/private/agent.js +2 -0
  410. package/dist/esm/lib/v3/types/private/agent.js.map +1 -0
  411. package/dist/esm/lib/v3/types/private/api.d.ts +11 -0
  412. package/dist/esm/lib/v3/types/private/api.js +2 -0
  413. package/dist/esm/lib/v3/types/private/api.js.map +1 -0
  414. package/dist/esm/lib/v3/types/private/cache.d.ts +128 -0
  415. package/dist/esm/lib/v3/types/private/cache.js +2 -0
  416. package/dist/esm/lib/v3/types/private/cache.js.map +1 -0
  417. package/dist/esm/lib/v3/types/private/evaluator.d.ts +40 -0
  418. package/dist/esm/lib/v3/types/private/evaluator.js +2 -0
  419. package/dist/esm/lib/v3/types/private/evaluator.js.map +1 -0
  420. package/dist/esm/lib/v3/types/private/handlers.d.ts +38 -0
  421. package/dist/esm/lib/v3/types/private/handlers.js +16 -0
  422. package/dist/esm/lib/v3/types/private/handlers.js.map +1 -0
  423. package/dist/esm/lib/v3/types/private/index.d.ts +7 -0
  424. package/dist/esm/lib/v3/types/private/index.js +8 -0
  425. package/dist/esm/lib/v3/types/private/index.js.map +1 -0
  426. package/dist/esm/lib/v3/types/private/internal.d.ts +39 -0
  427. package/dist/esm/lib/v3/types/private/internal.js +2 -0
  428. package/dist/esm/lib/v3/types/private/internal.js.map +1 -0
  429. package/dist/esm/lib/v3/types/private/locator.d.ts +9 -0
  430. package/dist/esm/lib/v3/types/private/locator.js +2 -0
  431. package/dist/esm/lib/v3/types/private/locator.js.map +1 -0
  432. package/dist/esm/lib/v3/types/private/network.d.ts +34 -0
  433. package/dist/esm/lib/v3/types/private/network.js +3 -0
  434. package/dist/esm/lib/v3/types/private/network.js.map +1 -0
  435. package/dist/esm/lib/v3/types/private/shutdown.d.ts +31 -0
  436. package/dist/esm/lib/v3/types/private/shutdown.js +5 -0
  437. package/dist/esm/lib/v3/types/private/shutdown.js.map +1 -0
  438. package/dist/esm/lib/v3/types/private/shutdownErrors.d.ts +12 -0
  439. package/dist/esm/lib/v3/types/private/shutdownErrors.js +22 -0
  440. package/dist/esm/lib/v3/types/private/shutdownErrors.js.map +1 -0
  441. package/dist/esm/lib/v3/types/private/snapshot.d.ts +117 -0
  442. package/dist/esm/lib/v3/types/private/snapshot.js +2 -0
  443. package/dist/esm/lib/v3/types/private/snapshot.js.map +1 -0
  444. package/dist/esm/lib/v3/types/public/agent.d.ts +595 -0
  445. package/dist/esm/lib/v3/types/public/agent.js +15 -0
  446. package/dist/esm/lib/v3/types/public/agent.js.map +1 -0
  447. package/dist/esm/lib/v3/types/public/api.d.ts +1211 -0
  448. package/dist/esm/lib/v3/types/public/api.js +915 -0
  449. package/dist/esm/lib/v3/types/public/api.js.map +1 -0
  450. package/dist/esm/lib/v3/types/public/apiErrors.d.ts +18 -0
  451. package/dist/esm/lib/v3/types/public/apiErrors.js +32 -0
  452. package/dist/esm/lib/v3/types/public/apiErrors.js.map +1 -0
  453. package/dist/esm/lib/v3/types/public/index.d.ts +12 -0
  454. package/dist/esm/lib/v3/types/public/index.js +14 -0
  455. package/dist/esm/lib/v3/types/public/index.js.map +1 -0
  456. package/dist/esm/lib/v3/types/public/locator.d.ts +9 -0
  457. package/dist/esm/lib/v3/types/public/locator.js +2 -0
  458. package/dist/esm/lib/v3/types/public/locator.js.map +1 -0
  459. package/dist/esm/lib/v3/types/public/logs.d.ts +23 -0
  460. package/dist/esm/lib/v3/types/public/logs.js +13 -0
  461. package/dist/esm/lib/v3/types/public/logs.js.map +1 -0
  462. package/dist/esm/lib/v3/types/public/methods.d.ts +56 -0
  463. package/dist/esm/lib/v3/types/public/methods.js +15 -0
  464. package/dist/esm/lib/v3/types/public/methods.js.map +1 -0
  465. package/dist/esm/lib/v3/types/public/metrics.d.ts +27 -0
  466. package/dist/esm/lib/v3/types/public/metrics.js +2 -0
  467. package/dist/esm/lib/v3/types/public/metrics.js.map +1 -0
  468. package/dist/esm/lib/v3/types/public/model.d.ts +65 -0
  469. package/dist/esm/lib/v3/types/public/model.js +2 -0
  470. package/dist/esm/lib/v3/types/public/model.js.map +1 -0
  471. package/dist/esm/lib/v3/types/public/options.d.ts +70 -0
  472. package/dist/esm/lib/v3/types/public/options.js +4 -0
  473. package/dist/esm/lib/v3/types/public/options.js.map +1 -0
  474. package/dist/esm/lib/v3/types/public/page.d.ts +18 -0
  475. package/dist/esm/lib/v3/types/public/page.js +3 -0
  476. package/dist/esm/lib/v3/types/public/page.js.map +1 -0
  477. package/dist/esm/lib/v3/types/public/screenshotTypes.d.ts +25 -0
  478. package/dist/esm/lib/v3/types/public/screenshotTypes.js +2 -0
  479. package/dist/esm/lib/v3/types/public/screenshotTypes.js.map +1 -0
  480. package/dist/esm/lib/v3/types/public/sdkErrors.d.ts +152 -0
  481. package/dist/esm/lib/v3/types/public/sdkErrors.js +305 -0
  482. package/dist/esm/lib/v3/types/public/sdkErrors.js.map +1 -0
  483. package/dist/esm/lib/v3/understudy/a11y/snapshot/a11yTree.d.ts +15 -0
  484. package/dist/esm/lib/v3/understudy/a11y/snapshot/a11yTree.js +196 -0
  485. package/dist/esm/lib/v3/understudy/a11y/snapshot/a11yTree.js.map +1 -0
  486. package/dist/esm/lib/v3/understudy/a11y/snapshot/activeElement.d.ts +8 -0
  487. package/dist/esm/lib/v3/understudy/a11y/snapshot/activeElement.js +121 -0
  488. package/dist/esm/lib/v3/understudy/a11y/snapshot/activeElement.js.map +1 -0
  489. package/dist/esm/lib/v3/understudy/a11y/snapshot/capture.d.ts +77 -0
  490. package/dist/esm/lib/v3/understudy/a11y/snapshot/capture.js +336 -0
  491. package/dist/esm/lib/v3/understudy/a11y/snapshot/capture.js.map +1 -0
  492. package/dist/esm/lib/v3/understudy/a11y/snapshot/coordinateResolver.d.ts +7 -0
  493. package/dist/esm/lib/v3/understudy/a11y/snapshot/coordinateResolver.js +129 -0
  494. package/dist/esm/lib/v3/understudy/a11y/snapshot/coordinateResolver.js.map +1 -0
  495. package/dist/esm/lib/v3/understudy/a11y/snapshot/domTree.d.ts +46 -0
  496. package/dist/esm/lib/v3/understudy/a11y/snapshot/domTree.js +274 -0
  497. package/dist/esm/lib/v3/understudy/a11y/snapshot/domTree.js.map +1 -0
  498. package/dist/esm/lib/v3/understudy/a11y/snapshot/focusSelectors.d.ts +24 -0
  499. package/dist/esm/lib/v3/understudy/a11y/snapshot/focusSelectors.js +216 -0
  500. package/dist/esm/lib/v3/understudy/a11y/snapshot/focusSelectors.js.map +1 -0
  501. package/dist/esm/lib/v3/understudy/a11y/snapshot/index.d.ts +4 -0
  502. package/dist/esm/lib/v3/understudy/a11y/snapshot/index.js +5 -0
  503. package/dist/esm/lib/v3/understudy/a11y/snapshot/index.js.map +1 -0
  504. package/dist/esm/lib/v3/understudy/a11y/snapshot/sessions.d.ts +16 -0
  505. package/dist/esm/lib/v3/understudy/a11y/snapshot/sessions.js +22 -0
  506. package/dist/esm/lib/v3/understudy/a11y/snapshot/sessions.js.map +1 -0
  507. package/dist/esm/lib/v3/understudy/a11y/snapshot/treeFormatUtils.d.ts +28 -0
  508. package/dist/esm/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js +135 -0
  509. package/dist/esm/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js.map +1 -0
  510. package/dist/esm/lib/v3/understudy/a11y/snapshot/xpathUtils.d.ts +26 -0
  511. package/dist/esm/lib/v3/understudy/a11y/snapshot/xpathUtils.js +102 -0
  512. package/dist/esm/lib/v3/understudy/a11y/snapshot/xpathUtils.js.map +1 -0
  513. package/dist/esm/lib/v3/understudy/a11yInvocation.d.ts +8 -0
  514. package/dist/esm/lib/v3/understudy/a11yInvocation.js +12 -0
  515. package/dist/esm/lib/v3/understudy/a11yInvocation.js.map +1 -0
  516. package/dist/esm/lib/v3/understudy/cdp.d.ts +69 -0
  517. package/dist/esm/lib/v3/understudy/cdp.js +251 -0
  518. package/dist/esm/lib/v3/understudy/cdp.js.map +1 -0
  519. package/dist/esm/lib/v3/understudy/consoleMessage.d.ts +22 -0
  520. package/dist/esm/lib/v3/understudy/consoleMessage.js +66 -0
  521. package/dist/esm/lib/v3/understudy/consoleMessage.js.map +1 -0
  522. package/dist/esm/lib/v3/understudy/context.d.ts +132 -0
  523. package/dist/esm/lib/v3/understudy/context.js +687 -0
  524. package/dist/esm/lib/v3/understudy/context.js.map +1 -0
  525. package/dist/esm/lib/v3/understudy/deepLocator.d.ts +87 -0
  526. package/dist/esm/lib/v3/understudy/deepLocator.js +218 -0
  527. package/dist/esm/lib/v3/understudy/deepLocator.js.map +1 -0
  528. package/dist/esm/lib/v3/understudy/executionContextRegistry.d.ts +15 -0
  529. package/dist/esm/lib/v3/understudy/executionContextRegistry.js +83 -0
  530. package/dist/esm/lib/v3/understudy/executionContextRegistry.js.map +1 -0
  531. package/dist/esm/lib/v3/understudy/fileUploadUtils.d.ts +13 -0
  532. package/dist/esm/lib/v3/understudy/fileUploadUtils.js +81 -0
  533. package/dist/esm/lib/v3/understudy/fileUploadUtils.js.map +1 -0
  534. package/dist/esm/lib/v3/understudy/frame.d.ts +69 -0
  535. package/dist/esm/lib/v3/understudy/frame.js +211 -0
  536. package/dist/esm/lib/v3/understudy/frame.js.map +1 -0
  537. package/dist/esm/lib/v3/understudy/frameLocator.d.ts +50 -0
  538. package/dist/esm/lib/v3/understudy/frameLocator.js +255 -0
  539. package/dist/esm/lib/v3/understudy/frameLocator.js.map +1 -0
  540. package/dist/esm/lib/v3/understudy/frameRegistry.d.ts +101 -0
  541. package/dist/esm/lib/v3/understudy/frameRegistry.js +298 -0
  542. package/dist/esm/lib/v3/understudy/frameRegistry.js.map +1 -0
  543. package/dist/esm/lib/v3/understudy/initScripts.d.ts +2 -0
  544. package/dist/esm/lib/v3/understudy/initScripts.js +33 -0
  545. package/dist/esm/lib/v3/understudy/initScripts.js.map +1 -0
  546. package/dist/esm/lib/v3/understudy/lifecycleWatcher.d.ts +64 -0
  547. package/dist/esm/lib/v3/understudy/lifecycleWatcher.js +245 -0
  548. package/dist/esm/lib/v3/understudy/lifecycleWatcher.js.map +1 -0
  549. package/dist/esm/lib/v3/understudy/locator.d.ts +194 -0
  550. package/dist/esm/lib/v3/understudy/locator.js +753 -0
  551. package/dist/esm/lib/v3/understudy/locator.js.map +1 -0
  552. package/dist/esm/lib/v3/understudy/locatorInvocation.d.ts +8 -0
  553. package/dist/esm/lib/v3/understudy/locatorInvocation.js +12 -0
  554. package/dist/esm/lib/v3/understudy/locatorInvocation.js.map +1 -0
  555. package/dist/esm/lib/v3/understudy/navigationResponseTracker.d.ts +84 -0
  556. package/dist/esm/lib/v3/understudy/navigationResponseTracker.js +224 -0
  557. package/dist/esm/lib/v3/understudy/navigationResponseTracker.js.map +1 -0
  558. package/dist/esm/lib/v3/understudy/networkManager.d.ts +53 -0
  559. package/dist/esm/lib/v3/understudy/networkManager.js +306 -0
  560. package/dist/esm/lib/v3/understudy/networkManager.js.map +1 -0
  561. package/dist/esm/lib/v3/understudy/page.d.ts +354 -0
  562. package/dist/esm/lib/v3/understudy/page.js +1941 -0
  563. package/dist/esm/lib/v3/understudy/page.js.map +1 -0
  564. package/dist/esm/lib/v3/understudy/piercer.d.ts +4 -0
  565. package/dist/esm/lib/v3/understudy/piercer.js +61 -0
  566. package/dist/esm/lib/v3/understudy/piercer.js.map +1 -0
  567. package/dist/esm/lib/v3/understudy/response.d.ts +137 -0
  568. package/dist/esm/lib/v3/understudy/response.js +330 -0
  569. package/dist/esm/lib/v3/understudy/response.js.map +1 -0
  570. package/dist/esm/lib/v3/understudy/screenshotUtils.d.ts +16 -0
  571. package/dist/esm/lib/v3/understudy/screenshotUtils.js +352 -0
  572. package/dist/esm/lib/v3/understudy/screenshotUtils.js.map +1 -0
  573. package/dist/esm/lib/v3/understudy/selectorResolver.d.ts +38 -0
  574. package/dist/esm/lib/v3/understudy/selectorResolver.js +296 -0
  575. package/dist/esm/lib/v3/understudy/selectorResolver.js.map +1 -0
  576. package/dist/esm/lib/v3/v3.d.ts +191 -0
  577. package/dist/esm/lib/v3/v3.js +1572 -0
  578. package/dist/esm/lib/v3/v3.js.map +1 -0
  579. package/dist/esm/lib/v3/zodCompat.d.ts +12 -0
  580. package/dist/esm/lib/v3/zodCompat.js +17 -0
  581. package/dist/esm/lib/v3/zodCompat.js.map +1 -0
  582. package/dist/esm/lib/v3Evaluator.d.ts +19 -0
  583. package/dist/esm/lib/v3Evaluator.js +210 -0
  584. package/dist/esm/lib/v3Evaluator.js.map +1 -0
  585. package/dist/esm/lib/version.d.ts +5 -0
  586. package/dist/esm/lib/version.js +6 -0
  587. package/dist/esm/lib/version.js.map +1 -0
  588. package/dist/esm/package.json +3 -0
  589. package/dist/esm/tests/agent-execution-model.test.js +139 -0
  590. package/dist/esm/tests/agent-execution-model.test.js.map +7 -0
  591. package/dist/esm/tests/browserbase-session-accessors.test.js +101 -0
  592. package/dist/esm/tests/browserbase-session-accessors.test.js.map +7 -0
  593. package/dist/esm/tests/cache-llm-resolution.test.js +187 -0
  594. package/dist/esm/tests/cache-llm-resolution.test.js.map +7 -0
  595. package/dist/esm/tests/helpers/mockCDPSession.js +27 -0
  596. package/dist/esm/tests/helpers/mockCDPSession.js.map +7 -0
  597. package/dist/esm/tests/llm-provider.test.js +57 -0
  598. package/dist/esm/tests/llm-provider.test.js.map +7 -0
  599. package/dist/esm/tests/model-deprecation.test.js +135 -0
  600. package/dist/esm/tests/model-deprecation.test.js.map +7 -0
  601. package/dist/esm/tests/model-utils.test.js +43 -0
  602. package/dist/esm/tests/model-utils.test.js.map +7 -0
  603. package/dist/esm/tests/page-snapshot.test.js +36 -0
  604. package/dist/esm/tests/page-snapshot.test.js.map +7 -0
  605. package/dist/esm/tests/public-api/export-surface.test.js +53 -0
  606. package/dist/esm/tests/public-api/export-surface.test.js.map +7 -0
  607. package/dist/esm/tests/public-api/llm-and-agents.test.js +128 -0
  608. package/dist/esm/tests/public-api/llm-and-agents.test.js.map +7 -0
  609. package/dist/esm/tests/public-api/public-error-types.test.js +71 -0
  610. package/dist/esm/tests/public-api/public-error-types.test.js.map +7 -0
  611. package/dist/esm/tests/public-api/public-types.test.js +74 -0
  612. package/dist/esm/tests/public-api/public-types.test.js.map +7 -0
  613. package/dist/esm/tests/public-api/runtime-utils.test.js +31 -0
  614. package/dist/esm/tests/public-api/runtime-utils.test.js.map +7 -0
  615. package/dist/esm/tests/public-api/schema-utils.test.js +78 -0
  616. package/dist/esm/tests/public-api/schema-utils.test.js.map +7 -0
  617. package/dist/esm/tests/public-api/timeout-error-types.test.js +81 -0
  618. package/dist/esm/tests/public-api/timeout-error-types.test.js.map +7 -0
  619. package/dist/esm/tests/public-api/tool-type-export.test.js +25 -0
  620. package/dist/esm/tests/public-api/tool-type-export.test.js.map +7 -0
  621. package/dist/esm/tests/public-api/v3-core.test.js +82 -0
  622. package/dist/esm/tests/public-api/v3-core.test.js.map +7 -0
  623. package/dist/esm/tests/safety-confirmation.test.js +134 -0
  624. package/dist/esm/tests/safety-confirmation.test.js.map +7 -0
  625. package/dist/esm/tests/snapshot-a11y-resolvers.test.js +348 -0
  626. package/dist/esm/tests/snapshot-a11y-resolvers.test.js.map +7 -0
  627. package/dist/esm/tests/snapshot-a11y-tree-utils.test.js +300 -0
  628. package/dist/esm/tests/snapshot-a11y-tree-utils.test.js.map +7 -0
  629. package/dist/esm/tests/snapshot-capture-orchestration.test.js +381 -0
  630. package/dist/esm/tests/snapshot-capture-orchestration.test.js.map +7 -0
  631. package/dist/esm/tests/snapshot-cbor.test.js +197 -0
  632. package/dist/esm/tests/snapshot-cbor.test.js.map +7 -0
  633. package/dist/esm/tests/snapshot-dom-session-builders.test.js +251 -0
  634. package/dist/esm/tests/snapshot-dom-session-builders.test.js.map +7 -0
  635. package/dist/esm/tests/snapshot-dom-tree-utils.test.js +109 -0
  636. package/dist/esm/tests/snapshot-dom-tree-utils.test.js.map +7 -0
  637. package/dist/esm/tests/snapshot-focus-selectors-utils.test.js +49 -0
  638. package/dist/esm/tests/snapshot-focus-selectors-utils.test.js.map +7 -0
  639. package/dist/esm/tests/snapshot-frame-merge.test.js +391 -0
  640. package/dist/esm/tests/snapshot-frame-merge.test.js.map +7 -0
  641. package/dist/esm/tests/snapshot-tree-format-utils.test.js +113 -0
  642. package/dist/esm/tests/snapshot-tree-format-utils.test.js.map +7 -0
  643. package/dist/esm/tests/snapshot-xpath-utils.test.js +79 -0
  644. package/dist/esm/tests/snapshot-xpath-utils.test.js.map +7 -0
  645. package/dist/esm/tests/timeout-handlers.test.js +850 -0
  646. package/dist/esm/tests/timeout-handlers.test.js.map +7 -0
  647. package/dist/esm/tests/xpath-parser.test.js +317 -0
  648. package/dist/esm/tests/xpath-parser.test.js.map +7 -0
  649. package/dist/esm/tests/xpath-resolver.test.js +73 -0
  650. package/dist/esm/tests/xpath-resolver.test.js.map +7 -0
  651. package/dist/esm/tests/zod-enum-compatibility.test.js +97 -0
  652. package/dist/esm/tests/zod-enum-compatibility.test.js.map +7 -0
  653. package/package.json +37 -24
  654. package/dist/index.d.ts +0 -4363
  655. package/dist/index.js +0 -76530
@@ -0,0 +1,74 @@
1
+ import { describe, expectTypeOf, it } from "vitest";
2
+ describe("Stagehand public API types", () => {
3
+ describe("AnyPage", () => {
4
+ it("matches expected type shape", () => {
5
+ expectTypeOf().toEqualTypeOf();
6
+ });
7
+ });
8
+ describe("ActOptions", () => {
9
+ it("matches expected type shape", () => {
10
+ expectTypeOf().toEqualTypeOf();
11
+ });
12
+ });
13
+ describe("ActResult", () => {
14
+ it("matches expected type shape", () => {
15
+ expectTypeOf().toEqualTypeOf();
16
+ });
17
+ });
18
+ describe("ExtractOptions", () => {
19
+ it("matches expected type shape", () => {
20
+ expectTypeOf().toEqualTypeOf();
21
+ });
22
+ });
23
+ describe("ObserveOptions", () => {
24
+ it("matches expected type shape", () => {
25
+ expectTypeOf().toEqualTypeOf();
26
+ });
27
+ });
28
+ describe("Action", () => {
29
+ it("matches expected type shape", () => {
30
+ expectTypeOf().toEqualTypeOf();
31
+ });
32
+ });
33
+ describe("AgentAction", () => {
34
+ it("has type field", () => {
35
+ expectTypeOf().toEqualTypeOf();
36
+ });
37
+ });
38
+ describe("AgentExecuteOptions", () => {
39
+ it("matches expected type shape", () => {
40
+ expectTypeOf().toEqualTypeOf();
41
+ });
42
+ });
43
+ describe("AgentStreamExecuteOptions", () => {
44
+ it("matches expected type shape", () => {
45
+ expectTypeOf().toEqualTypeOf();
46
+ });
47
+ });
48
+ describe("AgentExecutionOptions", () => {
49
+ it("matches expected type shape", () => {
50
+ expectTypeOf().toEqualTypeOf();
51
+ });
52
+ });
53
+ describe("AgentResult", () => {
54
+ it("matches expected type shape", () => {
55
+ expectTypeOf().toEqualTypeOf();
56
+ });
57
+ });
58
+ describe("AgentConfig", () => {
59
+ it("matches expected type shape", () => {
60
+ expectTypeOf().toExtend();
61
+ });
62
+ });
63
+ describe("AgentToolMode", () => {
64
+ it("matches expected type shape", () => {
65
+ expectTypeOf().toEqualTypeOf();
66
+ });
67
+ });
68
+ describe("HistoryEntry", () => {
69
+ it("matches expected type shape", () => {
70
+ expectTypeOf().toEqualTypeOf();
71
+ });
72
+ });
73
+ });
74
+ //# sourceMappingURL=public-types.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../tests/public-api/public-types.test.ts"],
4
+ "sourcesContent": ["import { describe, expectTypeOf, it } from \"vitest\";\nimport * as Stagehand from \"@browserbasehq/stagehand\";\n\n// Type-level manifest of all expected exported types\n// Since these types don't exist at runtime, we currently need to manually add new publicly exported types\n// to this list ourselves - it's not automatically going to catch changes like our export-surface.test.ts does.\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\ntype ExpectedExportedTypes = {\n // Types from model.ts\n AvailableModel: Stagehand.AvailableModel;\n AvailableCuaModel: Stagehand.AvailableCuaModel;\n ModelProvider: Stagehand.ModelProvider;\n ClientOptions: Stagehand.ClientOptions;\n ModelConfiguration: Stagehand.ModelConfiguration;\n AnthropicJsonSchemaObject: Stagehand.AnthropicJsonSchemaObject;\n AISDKProvider: Stagehand.AISDKProvider;\n AISDKCustomProvider: Stagehand.AISDKCustomProvider;\n LLMTool: Stagehand.LLMTool;\n // Types from methods.ts\n ActOptions: Stagehand.ActOptions;\n ActResult: Stagehand.ActResult;\n ExtractResult: Stagehand.ExtractResult<Stagehand.StagehandZodSchema>;\n Action: Stagehand.Action;\n HistoryEntry: Stagehand.HistoryEntry;\n ExtractOptions: Stagehand.ExtractOptions;\n ObserveOptions: Stagehand.ObserveOptions;\n V3FunctionName: Stagehand.V3FunctionName;\n // Types from agent.ts\n Tool: Stagehand.Tool;\n AgentAction: Stagehand.AgentAction;\n AgentResult: Stagehand.AgentResult;\n AgentExecuteOptions: Stagehand.AgentExecuteOptions;\n AgentType: Stagehand.AgentType;\n AgentExecutionOptions: Stagehand.AgentExecutionOptions<Stagehand.AgentExecuteOptions>;\n AgentHandlerOptions: Stagehand.AgentHandlerOptions;\n ActionExecutionResult: Stagehand.ActionExecutionResult;\n ToolUseItem: Stagehand.ToolUseItem;\n AnthropicMessage: Stagehand.AnthropicMessage;\n AnthropicContentBlock: Stagehand.AnthropicContentBlock;\n AnthropicTextBlock: Stagehand.AnthropicTextBlock;\n AnthropicToolResult: Stagehand.AnthropicToolResult;\n ResponseItem: Stagehand.ResponseItem;\n ComputerCallItem: Stagehand.ComputerCallItem;\n FunctionCallItem: Stagehand.FunctionCallItem;\n ResponseInputItem: Stagehand.ResponseInputItem;\n AgentInstance: Stagehand.AgentInstance;\n AgentProviderType: Stagehand.AgentProviderType;\n AgentModelConfig: Stagehand.AgentModelConfig;\n AgentConfig: Stagehand.AgentConfig;\n AgentToolMode: Stagehand.AgentToolMode;\n AgentCallbacks: Stagehand.AgentCallbacks;\n AgentExecuteCallbacks: Stagehand.AgentExecuteCallbacks;\n AgentStreamCallbacks: Stagehand.AgentStreamCallbacks;\n AgentExecuteOptionsBase: Stagehand.AgentExecuteOptionsBase;\n AgentStreamExecuteOptions: Stagehand.AgentStreamExecuteOptions;\n ModelMessage: Stagehand.ModelMessage;\n // Types from agent/tools\n AgentTools: Stagehand.AgentTools;\n AgentToolTypesMap: Stagehand.AgentToolTypesMap;\n AgentUITools: Stagehand.AgentUITools;\n AgentToolCall: Stagehand.AgentToolCall;\n AgentToolResult: Stagehand.AgentToolResult;\n // Types from logs.ts\n LogLevel: Stagehand.LogLevel;\n LogLine: Stagehand.LogLine;\n Logger: Stagehand.Logger;\n // Types from metrics.ts\n StagehandMetrics: Stagehand.StagehandMetrics;\n // Types from options.ts\n V3Env: Stagehand.V3Env;\n LocalBrowserLaunchOptions: Stagehand.LocalBrowserLaunchOptions;\n V3Options: Stagehand.V3Options;\n // Types from page.ts\n AnyPage: Stagehand.AnyPage;\n Page: Stagehand.Page;\n PlaywrightPage: Stagehand.PlaywrightPage;\n PatchrightPage: Stagehand.PatchrightPage;\n PuppeteerPage: Stagehand.PuppeteerPage;\n ConsoleListener: Stagehand.ConsoleListener;\n LoadState: Stagehand.LoadState;\n // Types from LLMClient.ts\n ChatMessage: Stagehand.ChatMessage;\n ChatMessageContent: Stagehand.ChatMessageContent;\n ChatMessageImageContent: Stagehand.ChatMessageImageContent;\n ChatMessageTextContent: Stagehand.ChatMessageTextContent;\n ChatCompletionOptions: Stagehand.ChatCompletionOptions;\n LLMResponse: Stagehand.LLMResponse;\n CreateChatCompletionOptions: Stagehand.CreateChatCompletionOptions;\n LLMUsage: Stagehand.LLMUsage;\n LLMParsedResponse: Stagehand.LLMParsedResponse<Record<string, unknown>>;\n // Types from zodCompat.ts\n StagehandZodSchema: Stagehand.StagehandZodSchema;\n StagehandZodObject: Stagehand.StagehandZodObject;\n InferStagehandSchema: Stagehand.InferStagehandSchema<Stagehand.StagehandZodSchema>;\n JsonSchemaDocument: Stagehand.JsonSchemaDocument;\n // Types from utils.ts\n JsonSchema: Stagehand.JsonSchema;\n JsonSchemaProperty: Stagehand.JsonSchemaProperty;\n};\n\ndescribe(\"Stagehand public API types\", () => {\n describe(\"AnyPage\", () => {\n type ExpectedAnyPage =\n | Stagehand.PlaywrightPage\n | Stagehand.PuppeteerPage\n | Stagehand.PatchrightPage\n | Stagehand.Page;\n\n it(\"matches expected type shape\", () => {\n expectTypeOf<Stagehand.AnyPage>().toEqualTypeOf<ExpectedAnyPage>();\n });\n });\n\n describe(\"ActOptions\", () => {\n type ExpectedActOptions = {\n model?: Stagehand.ModelConfiguration;\n variables?: Record<string, string>;\n timeout?: number;\n page?: Stagehand.AnyPage;\n };\n\n it(\"matches expected type shape\", () => {\n expectTypeOf<Stagehand.ActOptions>().toEqualTypeOf<ExpectedActOptions>();\n });\n });\n\n describe(\"ActResult\", () => {\n type ExpectedActResult = {\n success: boolean;\n message: string;\n actionDescription: string;\n actions: Stagehand.Action[];\n };\n\n it(\"matches expected type shape\", () => {\n expectTypeOf<Stagehand.ActResult>().toEqualTypeOf<ExpectedActResult>();\n });\n });\n\n describe(\"ExtractOptions\", () => {\n type ExpectedExtractOptions = {\n model?: Stagehand.ModelConfiguration;\n timeout?: number;\n selector?: string;\n page?: Stagehand.AnyPage;\n };\n\n it(\"matches expected type shape\", () => {\n expectTypeOf<Stagehand.ExtractOptions>().toEqualTypeOf<ExpectedExtractOptions>();\n });\n });\n\n describe(\"ObserveOptions\", () => {\n type ExpectedObserveOptions = {\n model?: Stagehand.ModelConfiguration;\n timeout?: number;\n selector?: string;\n page?: Stagehand.AnyPage;\n };\n\n it(\"matches expected type shape\", () => {\n expectTypeOf<Stagehand.ObserveOptions>().toEqualTypeOf<ExpectedObserveOptions>();\n });\n });\n\n describe(\"Action\", () => {\n type ExpectedAction = {\n selector: string;\n description: string;\n method?: string;\n arguments?: string[];\n };\n\n it(\"matches expected type shape\", () => {\n expectTypeOf<Stagehand.Action>().toEqualTypeOf<ExpectedAction>();\n });\n });\n\n describe(\"AgentAction\", () => {\n // AgentAction is a separate type from Action, not an extension\n // It has additional fields like type, reasoning, taskCompleted, etc.\n it(\"has type field\", () => {\n type TestAction = { type: string } & Stagehand.AgentAction;\n expectTypeOf<TestAction[\"type\"]>().toEqualTypeOf<string>();\n });\n });\n\n describe(\"AgentExecuteOptions\", () => {\n type ExpectedAgentExecuteOptions = {\n instruction: string;\n maxSteps?: number;\n page?: Stagehand.AnyPage;\n highlightCursor?: boolean;\n messages?: Stagehand.ModelMessage[];\n signal?: AbortSignal;\n excludeTools?: string[];\n output?: Stagehand.StagehandZodObject;\n callbacks?: Stagehand.AgentExecuteCallbacks;\n };\n\n it(\"matches expected type shape\", () => {\n expectTypeOf<Stagehand.AgentExecuteOptions>().toEqualTypeOf<ExpectedAgentExecuteOptions>();\n });\n });\n\n describe(\"AgentStreamExecuteOptions\", () => {\n type ExpectedAgentStreamExecuteOptions = {\n instruction: string;\n maxSteps?: number;\n page?: Stagehand.AnyPage;\n highlightCursor?: boolean;\n messages?: Stagehand.ModelMessage[];\n signal?: AbortSignal;\n excludeTools?: string[];\n output?: Stagehand.StagehandZodObject;\n callbacks?: Stagehand.AgentStreamCallbacks;\n };\n\n it(\"matches expected type shape\", () => {\n expectTypeOf<Stagehand.AgentStreamExecuteOptions>().toEqualTypeOf<ExpectedAgentStreamExecuteOptions>();\n });\n });\n\n describe(\"AgentExecutionOptions\", () => {\n type ExpectedAgentExecutionOptions<T = Stagehand.AgentExecuteOptions> = {\n options: T;\n logger: (message: Stagehand.LogLine) => void;\n retries?: number;\n };\n\n it(\"matches expected type shape\", () => {\n expectTypeOf<\n Stagehand.AgentExecutionOptions<Stagehand.AgentExecuteOptions>\n >().toEqualTypeOf<\n ExpectedAgentExecutionOptions<Stagehand.AgentExecuteOptions>\n >();\n });\n });\n\n describe(\"AgentResult\", () => {\n type ExpectedAgentResult = {\n success: boolean;\n message: string;\n actions: Stagehand.AgentAction[];\n completed: boolean;\n metadata?: Record<string, unknown>;\n usage?: {\n input_tokens: number;\n output_tokens: number;\n reasoning_tokens?: number;\n cached_input_tokens?: number;\n inference_time_ms: number;\n };\n messages?: Stagehand.ModelMessage[];\n output?: Record<string, unknown>;\n };\n\n it(\"matches expected type shape\", () => {\n expectTypeOf<Stagehand.AgentResult>().toEqualTypeOf<ExpectedAgentResult>();\n });\n });\n\n describe(\"AgentConfig\", () => {\n type ExpectedAgentConfig = {\n systemPrompt?: string;\n integrations?: (unknown | string)[];\n tools?: unknown;\n cua?: boolean;\n model?: string | Stagehand.AgentModelConfig<string>;\n executionModel?: string | Stagehand.AgentModelConfig<string>;\n stream?: boolean;\n mode?: Stagehand.AgentToolMode;\n };\n\n it(\"matches expected type shape\", () => {\n expectTypeOf<Stagehand.AgentConfig>().toExtend<ExpectedAgentConfig>();\n });\n });\n\n describe(\"AgentToolMode\", () => {\n type ExpectedAgentToolMode = \"dom\" | \"hybrid\" | \"cua\";\n\n it(\"matches expected type shape\", () => {\n expectTypeOf<Stagehand.AgentToolMode>().toEqualTypeOf<ExpectedAgentToolMode>();\n });\n });\n\n describe(\"HistoryEntry\", () => {\n type ExpectedHistoryEntry = {\n method: \"act\" | \"extract\" | \"observe\" | \"navigate\" | \"agent\";\n parameters: unknown;\n result: unknown;\n timestamp: string;\n };\n\n it(\"matches expected type shape\", () => {\n expectTypeOf<Stagehand.HistoryEntry>().toEqualTypeOf<ExpectedHistoryEntry>();\n });\n });\n});\n"],
5
+ "mappings": "AAAA,SAAS,UAAU,cAAc,UAAU;AAqG3C,SAAS,8BAA8B,MAAM;AAC3C,WAAS,WAAW,MAAM;AAOxB,OAAG,+BAA+B,MAAM;AACtC,mBAAgC,EAAE,cAA+B;AAAA,IACnE,CAAC;AAAA,EACH,CAAC;AAED,WAAS,cAAc,MAAM;AAQ3B,OAAG,+BAA+B,MAAM;AACtC,mBAAmC,EAAE,cAAkC;AAAA,IACzE,CAAC;AAAA,EACH,CAAC;AAED,WAAS,aAAa,MAAM;AAQ1B,OAAG,+BAA+B,MAAM;AACtC,mBAAkC,EAAE,cAAiC;AAAA,IACvE,CAAC;AAAA,EACH,CAAC;AAED,WAAS,kBAAkB,MAAM;AAQ/B,OAAG,+BAA+B,MAAM;AACtC,mBAAuC,EAAE,cAAsC;AAAA,IACjF,CAAC;AAAA,EACH,CAAC;AAED,WAAS,kBAAkB,MAAM;AAQ/B,OAAG,+BAA+B,MAAM;AACtC,mBAAuC,EAAE,cAAsC;AAAA,IACjF,CAAC;AAAA,EACH,CAAC;AAED,WAAS,UAAU,MAAM;AAQvB,OAAG,+BAA+B,MAAM;AACtC,mBAA+B,EAAE,cAA8B;AAAA,IACjE,CAAC;AAAA,EACH,CAAC;AAED,WAAS,eAAe,MAAM;AAG5B,OAAG,kBAAkB,MAAM;AAEzB,mBAAiC,EAAE,cAAsB;AAAA,IAC3D,CAAC;AAAA,EACH,CAAC;AAED,WAAS,uBAAuB,MAAM;AAapC,OAAG,+BAA+B,MAAM;AACtC,mBAA4C,EAAE,cAA2C;AAAA,IAC3F,CAAC;AAAA,EACH,CAAC;AAED,WAAS,6BAA6B,MAAM;AAa1C,OAAG,+BAA+B,MAAM;AACtC,mBAAkD,EAAE,cAAiD;AAAA,IACvG,CAAC;AAAA,EACH,CAAC;AAED,WAAS,yBAAyB,MAAM;AAOtC,OAAG,+BAA+B,MAAM;AACtC,mBAEE,EAAE,cAEF;AAAA,IACJ,CAAC;AAAA,EACH,CAAC;AAED,WAAS,eAAe,MAAM;AAkB5B,OAAG,+BAA+B,MAAM;AACtC,mBAAoC,EAAE,cAAmC;AAAA,IAC3E,CAAC;AAAA,EACH,CAAC;AAED,WAAS,eAAe,MAAM;AAY5B,OAAG,+BAA+B,MAAM;AACtC,mBAAoC,EAAE,SAA8B;AAAA,IACtE,CAAC;AAAA,EACH,CAAC;AAED,WAAS,iBAAiB,MAAM;AAG9B,OAAG,+BAA+B,MAAM;AACtC,mBAAsC,EAAE,cAAqC;AAAA,IAC/E,CAAC;AAAA,EACH,CAAC;AAED,WAAS,gBAAgB,MAAM;AAQ7B,OAAG,+BAA+B,MAAM;AACtC,mBAAqC,EAAE,cAAoC;AAAA,IAC7E,CAAC;AAAA,EACH,CAAC;AACH,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,31 @@
1
+ import { describe, expectTypeOf, it } from "vitest";
2
+ import * as Stagehand from "@browserbasehq/stagehand";
3
+ describe("Runtime Utils public API types", () => {
4
+ describe("injectUrls", () => {
5
+ it("has correct parameter types", () => {
6
+ expectTypeOf(
7
+ Stagehand.injectUrls
8
+ ).parameters.branded.toEqualTypeOf();
9
+ });
10
+ });
11
+ describe("isRunningInBun", () => {
12
+ it("has correct parameter types", () => {
13
+ expectTypeOf(
14
+ Stagehand.isRunningInBun
15
+ ).parameters.branded.toEqualTypeOf();
16
+ });
17
+ });
18
+ describe("loadApiKeyFromEnv", () => {
19
+ it("has correct parameter types", () => {
20
+ expectTypeOf(
21
+ Stagehand.loadApiKeyFromEnv
22
+ ).parameters.branded.toEqualTypeOf();
23
+ });
24
+ });
25
+ describe("providerEnvVarMap", () => {
26
+ it("maps providers to environment variable names", () => {
27
+ expectTypeOf().toExtend();
28
+ });
29
+ });
30
+ });
31
+ //# sourceMappingURL=runtime-utils.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../tests/public-api/runtime-utils.test.ts"],
4
+ "sourcesContent": ["import { describe, expectTypeOf, it } from \"vitest\";\nimport * as Stagehand from \"@browserbasehq/stagehand\";\n\ndescribe(\"Runtime Utils public API types\", () => {\n describe(\"injectUrls\", () => {\n type ExpectedInjectUrlsParams = [\n unknown,\n Array<string | number>,\n Record<string, string>,\n ];\n\n it(\"has correct parameter types\", () => {\n expectTypeOf(\n Stagehand.injectUrls,\n ).parameters.branded.toEqualTypeOf<ExpectedInjectUrlsParams>();\n });\n });\n\n describe(\"isRunningInBun\", () => {\n type ExpectedIsRunningInBunParams = [];\n\n it(\"has correct parameter types\", () => {\n expectTypeOf(\n Stagehand.isRunningInBun,\n ).parameters.branded.toEqualTypeOf<ExpectedIsRunningInBunParams>();\n });\n });\n\n describe(\"loadApiKeyFromEnv\", () => {\n type ExpectedLoadApiKeyFromEnvParams = [\n string | undefined,\n (logLine: Stagehand.LogLine) => void,\n ];\n\n it(\"has correct parameter types\", () => {\n expectTypeOf(\n Stagehand.loadApiKeyFromEnv,\n ).parameters.branded.toEqualTypeOf<ExpectedLoadApiKeyFromEnvParams>();\n });\n });\n\n describe(\"providerEnvVarMap\", () => {\n type ExpectedProviderEnvVarMap = Partial<\n Record<string, string | Array<string>>\n >;\n\n it(\"maps providers to environment variable names\", () => {\n expectTypeOf<\n typeof Stagehand.providerEnvVarMap\n >().toExtend<ExpectedProviderEnvVarMap>();\n });\n });\n});\n"],
5
+ "mappings": "AAAA,SAAS,UAAU,cAAc,UAAU;AAC3C,YAAY,eAAe;AAE3B,SAAS,kCAAkC,MAAM;AAC/C,WAAS,cAAc,MAAM;AAO3B,OAAG,+BAA+B,MAAM;AACtC;AAAA,QACE,UAAU;AAAA,MACZ,EAAE,WAAW,QAAQ,cAAwC;AAAA,IAC/D,CAAC;AAAA,EACH,CAAC;AAED,WAAS,kBAAkB,MAAM;AAG/B,OAAG,+BAA+B,MAAM;AACtC;AAAA,QACE,UAAU;AAAA,MACZ,EAAE,WAAW,QAAQ,cAA4C;AAAA,IACnE,CAAC;AAAA,EACH,CAAC;AAED,WAAS,qBAAqB,MAAM;AAMlC,OAAG,+BAA+B,MAAM;AACtC;AAAA,QACE,UAAU;AAAA,MACZ,EAAE,WAAW,QAAQ,cAA+C;AAAA,IACtE,CAAC;AAAA,EACH,CAAC;AAED,WAAS,qBAAqB,MAAM;AAKlC,OAAG,gDAAgD,MAAM;AACvD,mBAEE,EAAE,SAAoC;AAAA,IAC1C,CAAC;AAAA,EACH,CAAC;AACH,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,78 @@
1
+ import { describe, expectTypeOf, it } from "vitest";
2
+ import * as Stagehand from "@browserbasehq/stagehand";
3
+ describe("Schema Utils public API types", () => {
4
+ describe("defaultExtractSchema", () => {
5
+ it("infers to the correct type", () => {
6
+ expectTypeOf().toEqualTypeOf();
7
+ });
8
+ });
9
+ describe("getZodType", () => {
10
+ it("has correct parameter types", () => {
11
+ expectTypeOf(
12
+ Stagehand.getZodType
13
+ ).parameters.branded.toEqualTypeOf();
14
+ });
15
+ });
16
+ describe("isZod3Schema", () => {
17
+ it("has correct parameter types", () => {
18
+ expectTypeOf(
19
+ Stagehand.isZod3Schema
20
+ ).parameters.branded.toEqualTypeOf();
21
+ });
22
+ });
23
+ describe("isZod4Schema", () => {
24
+ it("has correct parameter types", () => {
25
+ expectTypeOf(
26
+ Stagehand.isZod4Schema
27
+ ).parameters.branded.toEqualTypeOf();
28
+ });
29
+ });
30
+ describe("jsonSchemaToZod", () => {
31
+ it("has correct parameter types", () => {
32
+ expectTypeOf(
33
+ Stagehand.jsonSchemaToZod
34
+ ).parameters.branded.toEqualTypeOf();
35
+ });
36
+ });
37
+ describe("pageTextSchema", () => {
38
+ it("infers to the correct type", () => {
39
+ expectTypeOf().toEqualTypeOf();
40
+ });
41
+ });
42
+ describe("toGeminiSchema", () => {
43
+ it("has correct parameter types", () => {
44
+ expectTypeOf(
45
+ Stagehand.toGeminiSchema
46
+ ).parameters.branded.toEqualTypeOf();
47
+ });
48
+ });
49
+ describe("toJsonSchema", () => {
50
+ it("has correct parameter types", () => {
51
+ expectTypeOf(
52
+ Stagehand.toJsonSchema
53
+ ).parameters.branded.toEqualTypeOf();
54
+ });
55
+ });
56
+ describe("transformSchema", () => {
57
+ it("has correct parameter types", () => {
58
+ expectTypeOf(
59
+ Stagehand.transformSchema
60
+ ).parameters.branded.toEqualTypeOf();
61
+ });
62
+ });
63
+ describe("trimTrailingTextNode", () => {
64
+ it("has correct parameter types", () => {
65
+ expectTypeOf(
66
+ Stagehand.trimTrailingTextNode
67
+ ).parameters.branded.toEqualTypeOf();
68
+ });
69
+ });
70
+ describe("validateZodSchema", () => {
71
+ it("has correct parameter types", () => {
72
+ expectTypeOf(
73
+ Stagehand.validateZodSchema
74
+ ).parameters.branded.toEqualTypeOf();
75
+ });
76
+ });
77
+ });
78
+ //# sourceMappingURL=schema-utils.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../tests/public-api/schema-utils.test.ts"],
4
+ "sourcesContent": ["import { describe, expectTypeOf, it } from \"vitest\";\nimport * as Stagehand from \"@browserbasehq/stagehand\";\n\ndescribe(\"Schema Utils public API types\", () => {\n describe(\"defaultExtractSchema\", () => {\n type ExpectedInferredType = { extraction: string };\n\n it(\"infers to the correct type\", () => {\n expectTypeOf<\n Stagehand.InferStagehandSchema<typeof Stagehand.defaultExtractSchema>\n >().toEqualTypeOf<ExpectedInferredType>();\n });\n });\n\n describe(\"getZodType\", () => {\n type ExpectedGetZodTypeParams = [Stagehand.StagehandZodSchema];\n\n it(\"has correct parameter types\", () => {\n expectTypeOf(\n Stagehand.getZodType,\n ).parameters.branded.toEqualTypeOf<ExpectedGetZodTypeParams>();\n });\n });\n\n describe(\"isZod3Schema\", () => {\n type ExpectedIsZod3SchemaParams = [Stagehand.StagehandZodSchema];\n\n it(\"has correct parameter types\", () => {\n expectTypeOf(\n Stagehand.isZod3Schema,\n ).parameters.branded.toEqualTypeOf<ExpectedIsZod3SchemaParams>();\n });\n });\n\n describe(\"isZod4Schema\", () => {\n type ExpectedIsZod4SchemaParams = [Stagehand.StagehandZodSchema];\n\n it(\"has correct parameter types\", () => {\n expectTypeOf(\n Stagehand.isZod4Schema,\n ).parameters.branded.toEqualTypeOf<ExpectedIsZod4SchemaParams>();\n });\n });\n\n describe(\"jsonSchemaToZod\", () => {\n type ExpectedJsonSchemaToZodParams = [Stagehand.JsonSchema];\n\n it(\"has correct parameter types\", () => {\n expectTypeOf(\n Stagehand.jsonSchemaToZod,\n ).parameters.branded.toEqualTypeOf<ExpectedJsonSchemaToZodParams>();\n });\n });\n\n describe(\"pageTextSchema\", () => {\n type ExpectedInferredType = { pageText: string };\n\n it(\"infers to the correct type\", () => {\n expectTypeOf<\n Stagehand.InferStagehandSchema<typeof Stagehand.pageTextSchema>\n >().toEqualTypeOf<ExpectedInferredType>();\n });\n });\n\n describe(\"toGeminiSchema\", () => {\n type ExpectedToGeminiSchemaParams = [Stagehand.StagehandZodSchema];\n\n it(\"has correct parameter types\", () => {\n expectTypeOf(\n Stagehand.toGeminiSchema,\n ).parameters.branded.toEqualTypeOf<ExpectedToGeminiSchemaParams>();\n });\n });\n\n describe(\"toJsonSchema\", () => {\n type ExpectedToJsonSchemaParams = [Stagehand.StagehandZodSchema];\n\n it(\"has correct parameter types\", () => {\n expectTypeOf(\n Stagehand.toJsonSchema,\n ).parameters.branded.toEqualTypeOf<ExpectedToJsonSchemaParams>();\n });\n });\n\n describe(\"transformSchema\", () => {\n type ExpectedTransformSchemaParams = [\n Stagehand.StagehandZodSchema,\n Array<string | number>,\n ];\n\n it(\"has correct parameter types\", () => {\n expectTypeOf(\n Stagehand.transformSchema,\n ).parameters.branded.toEqualTypeOf<ExpectedTransformSchemaParams>();\n });\n });\n\n describe(\"trimTrailingTextNode\", () => {\n type ExpectedTrimTrailingTextNodeParams = [string | undefined];\n\n it(\"has correct parameter types\", () => {\n expectTypeOf(\n Stagehand.trimTrailingTextNode,\n ).parameters.branded.toEqualTypeOf<ExpectedTrimTrailingTextNodeParams>();\n });\n });\n\n describe(\"validateZodSchema\", () => {\n type ExpectedValidateZodSchemaParams = [\n Stagehand.StagehandZodSchema,\n unknown,\n ];\n\n it(\"has correct parameter types\", () => {\n expectTypeOf(\n Stagehand.validateZodSchema,\n ).parameters.branded.toEqualTypeOf<ExpectedValidateZodSchemaParams>();\n });\n });\n});\n"],
5
+ "mappings": "AAAA,SAAS,UAAU,cAAc,UAAU;AAC3C,YAAY,eAAe;AAE3B,SAAS,iCAAiC,MAAM;AAC9C,WAAS,wBAAwB,MAAM;AAGrC,OAAG,8BAA8B,MAAM;AACrC,mBAEE,EAAE,cAAoC;AAAA,IAC1C,CAAC;AAAA,EACH,CAAC;AAED,WAAS,cAAc,MAAM;AAG3B,OAAG,+BAA+B,MAAM;AACtC;AAAA,QACE,UAAU;AAAA,MACZ,EAAE,WAAW,QAAQ,cAAwC;AAAA,IAC/D,CAAC;AAAA,EACH,CAAC;AAED,WAAS,gBAAgB,MAAM;AAG7B,OAAG,+BAA+B,MAAM;AACtC;AAAA,QACE,UAAU;AAAA,MACZ,EAAE,WAAW,QAAQ,cAA0C;AAAA,IACjE,CAAC;AAAA,EACH,CAAC;AAED,WAAS,gBAAgB,MAAM;AAG7B,OAAG,+BAA+B,MAAM;AACtC;AAAA,QACE,UAAU;AAAA,MACZ,EAAE,WAAW,QAAQ,cAA0C;AAAA,IACjE,CAAC;AAAA,EACH,CAAC;AAED,WAAS,mBAAmB,MAAM;AAGhC,OAAG,+BAA+B,MAAM;AACtC;AAAA,QACE,UAAU;AAAA,MACZ,EAAE,WAAW,QAAQ,cAA6C;AAAA,IACpE,CAAC;AAAA,EACH,CAAC;AAED,WAAS,kBAAkB,MAAM;AAG/B,OAAG,8BAA8B,MAAM;AACrC,mBAEE,EAAE,cAAoC;AAAA,IAC1C,CAAC;AAAA,EACH,CAAC;AAED,WAAS,kBAAkB,MAAM;AAG/B,OAAG,+BAA+B,MAAM;AACtC;AAAA,QACE,UAAU;AAAA,MACZ,EAAE,WAAW,QAAQ,cAA4C;AAAA,IACnE,CAAC;AAAA,EACH,CAAC;AAED,WAAS,gBAAgB,MAAM;AAG7B,OAAG,+BAA+B,MAAM;AACtC;AAAA,QACE,UAAU;AAAA,MACZ,EAAE,WAAW,QAAQ,cAA0C;AAAA,IACjE,CAAC;AAAA,EACH,CAAC;AAED,WAAS,mBAAmB,MAAM;AAMhC,OAAG,+BAA+B,MAAM;AACtC;AAAA,QACE,UAAU;AAAA,MACZ,EAAE,WAAW,QAAQ,cAA6C;AAAA,IACpE,CAAC;AAAA,EACH,CAAC;AAED,WAAS,wBAAwB,MAAM;AAGrC,OAAG,+BAA+B,MAAM;AACtC;AAAA,QACE,UAAU;AAAA,MACZ,EAAE,WAAW,QAAQ,cAAkD;AAAA,IACzE,CAAC;AAAA,EACH,CAAC;AAED,WAAS,qBAAqB,MAAM;AAMlC,OAAG,+BAA+B,MAAM;AACtC;AAAA,QACE,UAAU;AAAA,MACZ,EAAE,WAAW,QAAQ,cAA+C;AAAA,IACtE,CAAC;AAAA,EACH,CAAC;AACH,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,81 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import * as Stagehand from "@browserbasehq/stagehand";
3
+ describe("Public timeout error types runtime behavior", () => {
4
+ describe("ActTimeoutError", () => {
5
+ it("is exported and extends Error", () => {
6
+ const error = new Stagehand.ActTimeoutError(1e3);
7
+ expect(error).toBeInstanceOf(Error);
8
+ expect(error).toBeInstanceOf(Stagehand.ActTimeoutError);
9
+ expect(error.name).toBe("ActTimeoutError");
10
+ });
11
+ it("contains timeout value in milliseconds in message", () => {
12
+ const error = new Stagehand.ActTimeoutError(500);
13
+ expect(error.message).toContain("500ms");
14
+ });
15
+ it("contains operation name in message", () => {
16
+ const error = new Stagehand.ActTimeoutError(100);
17
+ expect(error.message).toContain("act()");
18
+ });
19
+ it("extends TimeoutError", () => {
20
+ const error = new Stagehand.ActTimeoutError(1e3);
21
+ expect(error).toBeInstanceOf(Stagehand.TimeoutError);
22
+ });
23
+ });
24
+ describe("ExtractTimeoutError", () => {
25
+ it("is exported and extends Error", () => {
26
+ const error = new Stagehand.ExtractTimeoutError(1e3);
27
+ expect(error).toBeInstanceOf(Error);
28
+ expect(error).toBeInstanceOf(Stagehand.ExtractTimeoutError);
29
+ expect(error.name).toBe("ExtractTimeoutError");
30
+ });
31
+ it("contains timeout value in milliseconds in message", () => {
32
+ const error = new Stagehand.ExtractTimeoutError(1e3);
33
+ expect(error.message).toContain("1000ms");
34
+ });
35
+ it("contains operation name in message", () => {
36
+ const error = new Stagehand.ExtractTimeoutError(100);
37
+ expect(error.message).toContain("extract()");
38
+ });
39
+ it("extends TimeoutError", () => {
40
+ const error = new Stagehand.ExtractTimeoutError(1e3);
41
+ expect(error).toBeInstanceOf(Stagehand.TimeoutError);
42
+ });
43
+ });
44
+ describe("ObserveTimeoutError", () => {
45
+ it("is exported and extends Error", () => {
46
+ const error = new Stagehand.ObserveTimeoutError(1e3);
47
+ expect(error).toBeInstanceOf(Error);
48
+ expect(error).toBeInstanceOf(Stagehand.ObserveTimeoutError);
49
+ expect(error.name).toBe("ObserveTimeoutError");
50
+ });
51
+ it("contains timeout value in milliseconds in message", () => {
52
+ const error = new Stagehand.ObserveTimeoutError(1500);
53
+ expect(error.message).toContain("1500ms");
54
+ });
55
+ it("contains operation name in message", () => {
56
+ const error = new Stagehand.ObserveTimeoutError(100);
57
+ expect(error.message).toContain("observe()");
58
+ });
59
+ it("extends TimeoutError", () => {
60
+ const error = new Stagehand.ObserveTimeoutError(1e3);
61
+ expect(error).toBeInstanceOf(Stagehand.TimeoutError);
62
+ });
63
+ });
64
+ describe("TimeoutError (base class)", () => {
65
+ it("is exported and extends Error", () => {
66
+ const error = new Stagehand.TimeoutError("custom operation", 2e3);
67
+ expect(error).toBeInstanceOf(Error);
68
+ expect(error).toBeInstanceOf(Stagehand.TimeoutError);
69
+ });
70
+ it("contains operation name and timeout in message", () => {
71
+ const error = new Stagehand.TimeoutError("custom operation", 2e3);
72
+ expect(error.message).toContain("custom operation");
73
+ expect(error.message).toContain("2000ms");
74
+ });
75
+ it("extends StagehandError", () => {
76
+ const error = new Stagehand.TimeoutError("operation", 1e3);
77
+ expect(error).toBeInstanceOf(Stagehand.StagehandError);
78
+ });
79
+ });
80
+ });
81
+ //# sourceMappingURL=timeout-error-types.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../tests/public-api/timeout-error-types.test.ts"],
4
+ "sourcesContent": ["import { describe, expect, it } from \"vitest\";\nimport * as Stagehand from \"@browserbasehq/stagehand\";\n\n// ============================================================================\n// Public Timeout Error Types Runtime Tests\n// ============================================================================\n// These tests verify the runtime behavior of exported timeout error types,\n// complementing the type-level tests in public-error-types.test.ts\n\ndescribe(\"Public timeout error types runtime behavior\", () => {\n describe(\"ActTimeoutError\", () => {\n it(\"is exported and extends Error\", () => {\n const error = new Stagehand.ActTimeoutError(1000);\n expect(error).toBeInstanceOf(Error);\n expect(error).toBeInstanceOf(Stagehand.ActTimeoutError);\n expect(error.name).toBe(\"ActTimeoutError\");\n });\n\n it(\"contains timeout value in milliseconds in message\", () => {\n const error = new Stagehand.ActTimeoutError(500);\n expect(error.message).toContain(\"500ms\");\n });\n\n it(\"contains operation name in message\", () => {\n const error = new Stagehand.ActTimeoutError(100);\n expect(error.message).toContain(\"act()\");\n });\n\n it(\"extends TimeoutError\", () => {\n const error = new Stagehand.ActTimeoutError(1000);\n expect(error).toBeInstanceOf(Stagehand.TimeoutError);\n });\n });\n\n describe(\"ExtractTimeoutError\", () => {\n it(\"is exported and extends Error\", () => {\n const error = new Stagehand.ExtractTimeoutError(1000);\n expect(error).toBeInstanceOf(Error);\n expect(error).toBeInstanceOf(Stagehand.ExtractTimeoutError);\n expect(error.name).toBe(\"ExtractTimeoutError\");\n });\n\n it(\"contains timeout value in milliseconds in message\", () => {\n const error = new Stagehand.ExtractTimeoutError(1000);\n expect(error.message).toContain(\"1000ms\");\n });\n\n it(\"contains operation name in message\", () => {\n const error = new Stagehand.ExtractTimeoutError(100);\n expect(error.message).toContain(\"extract()\");\n });\n\n it(\"extends TimeoutError\", () => {\n const error = new Stagehand.ExtractTimeoutError(1000);\n expect(error).toBeInstanceOf(Stagehand.TimeoutError);\n });\n });\n\n describe(\"ObserveTimeoutError\", () => {\n it(\"is exported and extends Error\", () => {\n const error = new Stagehand.ObserveTimeoutError(1000);\n expect(error).toBeInstanceOf(Error);\n expect(error).toBeInstanceOf(Stagehand.ObserveTimeoutError);\n expect(error.name).toBe(\"ObserveTimeoutError\");\n });\n\n it(\"contains timeout value in milliseconds in message\", () => {\n const error = new Stagehand.ObserveTimeoutError(1500);\n expect(error.message).toContain(\"1500ms\");\n });\n\n it(\"contains operation name in message\", () => {\n const error = new Stagehand.ObserveTimeoutError(100);\n expect(error.message).toContain(\"observe()\");\n });\n\n it(\"extends TimeoutError\", () => {\n const error = new Stagehand.ObserveTimeoutError(1000);\n expect(error).toBeInstanceOf(Stagehand.TimeoutError);\n });\n });\n\n describe(\"TimeoutError (base class)\", () => {\n it(\"is exported and extends Error\", () => {\n const error = new Stagehand.TimeoutError(\"custom operation\", 2000);\n expect(error).toBeInstanceOf(Error);\n expect(error).toBeInstanceOf(Stagehand.TimeoutError);\n });\n\n it(\"contains operation name and timeout in message\", () => {\n const error = new Stagehand.TimeoutError(\"custom operation\", 2000);\n expect(error.message).toContain(\"custom operation\");\n expect(error.message).toContain(\"2000ms\");\n });\n\n it(\"extends StagehandError\", () => {\n const error = new Stagehand.TimeoutError(\"operation\", 1000);\n expect(error).toBeInstanceOf(Stagehand.StagehandError);\n });\n });\n});\n"],
5
+ "mappings": "AAAA,SAAS,UAAU,QAAQ,UAAU;AACrC,YAAY,eAAe;AAQ3B,SAAS,+CAA+C,MAAM;AAC5D,WAAS,mBAAmB,MAAM;AAChC,OAAG,iCAAiC,MAAM;AACxC,YAAM,QAAQ,IAAI,UAAU,gBAAgB,GAAI;AAChD,aAAO,KAAK,EAAE,eAAe,KAAK;AAClC,aAAO,KAAK,EAAE,eAAe,UAAU,eAAe;AACtD,aAAO,MAAM,IAAI,EAAE,KAAK,iBAAiB;AAAA,IAC3C,CAAC;AAED,OAAG,qDAAqD,MAAM;AAC5D,YAAM,QAAQ,IAAI,UAAU,gBAAgB,GAAG;AAC/C,aAAO,MAAM,OAAO,EAAE,UAAU,OAAO;AAAA,IACzC,CAAC;AAED,OAAG,sCAAsC,MAAM;AAC7C,YAAM,QAAQ,IAAI,UAAU,gBAAgB,GAAG;AAC/C,aAAO,MAAM,OAAO,EAAE,UAAU,OAAO;AAAA,IACzC,CAAC;AAED,OAAG,wBAAwB,MAAM;AAC/B,YAAM,QAAQ,IAAI,UAAU,gBAAgB,GAAI;AAChD,aAAO,KAAK,EAAE,eAAe,UAAU,YAAY;AAAA,IACrD,CAAC;AAAA,EACH,CAAC;AAED,WAAS,uBAAuB,MAAM;AACpC,OAAG,iCAAiC,MAAM;AACxC,YAAM,QAAQ,IAAI,UAAU,oBAAoB,GAAI;AACpD,aAAO,KAAK,EAAE,eAAe,KAAK;AAClC,aAAO,KAAK,EAAE,eAAe,UAAU,mBAAmB;AAC1D,aAAO,MAAM,IAAI,EAAE,KAAK,qBAAqB;AAAA,IAC/C,CAAC;AAED,OAAG,qDAAqD,MAAM;AAC5D,YAAM,QAAQ,IAAI,UAAU,oBAAoB,GAAI;AACpD,aAAO,MAAM,OAAO,EAAE,UAAU,QAAQ;AAAA,IAC1C,CAAC;AAED,OAAG,sCAAsC,MAAM;AAC7C,YAAM,QAAQ,IAAI,UAAU,oBAAoB,GAAG;AACnD,aAAO,MAAM,OAAO,EAAE,UAAU,WAAW;AAAA,IAC7C,CAAC;AAED,OAAG,wBAAwB,MAAM;AAC/B,YAAM,QAAQ,IAAI,UAAU,oBAAoB,GAAI;AACpD,aAAO,KAAK,EAAE,eAAe,UAAU,YAAY;AAAA,IACrD,CAAC;AAAA,EACH,CAAC;AAED,WAAS,uBAAuB,MAAM;AACpC,OAAG,iCAAiC,MAAM;AACxC,YAAM,QAAQ,IAAI,UAAU,oBAAoB,GAAI;AACpD,aAAO,KAAK,EAAE,eAAe,KAAK;AAClC,aAAO,KAAK,EAAE,eAAe,UAAU,mBAAmB;AAC1D,aAAO,MAAM,IAAI,EAAE,KAAK,qBAAqB;AAAA,IAC/C,CAAC;AAED,OAAG,qDAAqD,MAAM;AAC5D,YAAM,QAAQ,IAAI,UAAU,oBAAoB,IAAI;AACpD,aAAO,MAAM,OAAO,EAAE,UAAU,QAAQ;AAAA,IAC1C,CAAC;AAED,OAAG,sCAAsC,MAAM;AAC7C,YAAM,QAAQ,IAAI,UAAU,oBAAoB,GAAG;AACnD,aAAO,MAAM,OAAO,EAAE,UAAU,WAAW;AAAA,IAC7C,CAAC;AAED,OAAG,wBAAwB,MAAM;AAC/B,YAAM,QAAQ,IAAI,UAAU,oBAAoB,GAAI;AACpD,aAAO,KAAK,EAAE,eAAe,UAAU,YAAY;AAAA,IACrD,CAAC;AAAA,EACH,CAAC;AAED,WAAS,6BAA6B,MAAM;AAC1C,OAAG,iCAAiC,MAAM;AACxC,YAAM,QAAQ,IAAI,UAAU,aAAa,oBAAoB,GAAI;AACjE,aAAO,KAAK,EAAE,eAAe,KAAK;AAClC,aAAO,KAAK,EAAE,eAAe,UAAU,YAAY;AAAA,IACrD,CAAC;AAED,OAAG,kDAAkD,MAAM;AACzD,YAAM,QAAQ,IAAI,UAAU,aAAa,oBAAoB,GAAI;AACjE,aAAO,MAAM,OAAO,EAAE,UAAU,kBAAkB;AAClD,aAAO,MAAM,OAAO,EAAE,UAAU,QAAQ;AAAA,IAC1C,CAAC;AAED,OAAG,0BAA0B,MAAM;AACjC,YAAM,QAAQ,IAAI,UAAU,aAAa,aAAa,GAAI;AAC1D,aAAO,KAAK,EAAE,eAAe,UAAU,cAAc;AAAA,IACvD,CAAC;AAAA,EACH,CAAC;AACH,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,25 @@
1
+ import { describe, expectTypeOf, it, expect } from "vitest";
2
+ import * as Stagehand from "@browserbasehq/stagehand";
3
+ import { z } from "zod";
4
+ describe("Tool exports from AI SDK", () => {
5
+ it("exports Tool type that matches AI SDK Tool type", () => {
6
+ expectTypeOf().toEqualTypeOf();
7
+ });
8
+ it("exports tool function", () => {
9
+ expect(typeof Stagehand.tool).toBe("function");
10
+ });
11
+ it("tool function can be used to define custom tools", () => {
12
+ const customTool = Stagehand.tool({
13
+ description: "A test tool",
14
+ inputSchema: z.object({
15
+ input: z.string()
16
+ }),
17
+ execute: async ({ input }) => {
18
+ return { result: `Processed: ${input}` };
19
+ }
20
+ });
21
+ expect(customTool).toBeDefined();
22
+ expect(customTool.description).toBe("A test tool");
23
+ });
24
+ });
25
+ //# sourceMappingURL=tool-type-export.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../tests/public-api/tool-type-export.test.ts"],
4
+ "sourcesContent": ["import { describe, expectTypeOf, it, expect } from \"vitest\";\nimport * as Stagehand from \"@browserbasehq/stagehand\";\nimport { type Tool } from \"ai\";\nimport { z } from \"zod\";\n\n/**\n * Test to verify tool-related exports from Stagehand.\n * Users should be able to create custom tools using the exported `tool` function\n * without needing to install the ai package directly.\n */\ndescribe(\"Tool exports from AI SDK\", () => {\n it(\"exports Tool type that matches AI SDK Tool type\", () => {\n expectTypeOf<Stagehand.Tool>().toEqualTypeOf<Tool>();\n });\n\n it(\"exports tool function\", () => {\n expect(typeof Stagehand.tool).toBe(\"function\");\n });\n\n it(\"tool function can be used to define custom tools\", () => {\n const customTool = Stagehand.tool({\n description: \"A test tool\",\n inputSchema: z.object({\n input: z.string(),\n }),\n execute: async ({ input }) => {\n return { result: `Processed: ${input}` };\n },\n });\n\n expect(customTool).toBeDefined();\n expect(customTool.description).toBe(\"A test tool\");\n });\n});\n"],
5
+ "mappings": "AAAA,SAAS,UAAU,cAAc,IAAI,cAAc;AACnD,YAAY,eAAe;AAE3B,SAAS,SAAS;AAOlB,SAAS,4BAA4B,MAAM;AACzC,KAAG,mDAAmD,MAAM;AAC1D,iBAA6B,EAAE,cAAoB;AAAA,EACrD,CAAC;AAED,KAAG,yBAAyB,MAAM;AAChC,WAAO,OAAO,UAAU,IAAI,EAAE,KAAK,UAAU;AAAA,EAC/C,CAAC;AAED,KAAG,oDAAoD,MAAM;AAC3D,UAAM,aAAa,UAAU,KAAK;AAAA,MAChC,aAAa;AAAA,MACb,aAAa,EAAE,OAAO;AAAA,QACpB,OAAO,EAAE,OAAO;AAAA,MAClB,CAAC;AAAA,MACD,SAAS,OAAO,EAAE,MAAM,MAAM;AAC5B,eAAO,EAAE,QAAQ,cAAc,KAAK,GAAG;AAAA,MACzC;AAAA,IACF,CAAC;AAED,WAAO,UAAU,EAAE,YAAY;AAC/B,WAAO,WAAW,WAAW,EAAE,KAAK,aAAa;AAAA,EACnD,CAAC;AACH,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,82 @@
1
+ import { describe, expect, expectTypeOf, it } from "vitest";
2
+ import * as Stagehand from "@browserbasehq/stagehand";
3
+ describe("V3 Core public API types", () => {
4
+ describe("Stagehand", () => {
5
+ it("has correct public interface shape", () => {
6
+ expectTypeOf().toExtend();
7
+ });
8
+ it("act accepts Action as first parameter", () => {
9
+ const mockAction = {};
10
+ expectTypeOf().toBeCallableWith(
11
+ mockAction,
12
+ {}
13
+ );
14
+ });
15
+ it("extract accepts instruction and schema", () => {
16
+ const mockSchema = {};
17
+ expectTypeOf().toBeCallableWith(
18
+ "instruction",
19
+ mockSchema,
20
+ {}
21
+ );
22
+ });
23
+ it("observe accepts instruction and options", () => {
24
+ expectTypeOf().toBeCallableWith(
25
+ "instruction",
26
+ {}
27
+ );
28
+ });
29
+ it("agent execute accepts page option", () => {
30
+ const mockPage = {};
31
+ expectTypeOf().toBeCallableWith({
32
+ instruction: "test",
33
+ page: mockPage
34
+ });
35
+ });
36
+ });
37
+ describe("StagehandMetrics", () => {
38
+ it("matches the published metrics shape", () => {
39
+ expectTypeOf().toEqualTypeOf();
40
+ });
41
+ });
42
+ describe("V3", () => {
43
+ it("is exported", () => {
44
+ expect(Stagehand.V3).toBeDefined();
45
+ });
46
+ });
47
+ describe("V3Evaluator", () => {
48
+ it("is exported", () => {
49
+ expect(Stagehand.V3Evaluator).toBeDefined();
50
+ });
51
+ it("has ask method", () => {
52
+ expectTypeOf().toExtend();
53
+ });
54
+ it("has batchAsk method", () => {
55
+ expectTypeOf().toExtend();
56
+ });
57
+ });
58
+ describe("V3FunctionName", () => {
59
+ const expectedFunctionNames = [
60
+ "ACT",
61
+ "EXTRACT",
62
+ "OBSERVE",
63
+ "AGENT"
64
+ ];
65
+ it("matches the known function name literals", () => {
66
+ expectTypeOf().toExtend();
67
+ });
68
+ });
69
+ describe("connectToMCPServer", () => {
70
+ it("has correct parameter types", () => {
71
+ expectTypeOf(
72
+ Stagehand.connectToMCPServer
73
+ ).parameters.branded.toEqualTypeOf();
74
+ });
75
+ });
76
+ describe("LOG_LEVEL_NAMES", () => {
77
+ it("maps numeric levels to strings", () => {
78
+ expectTypeOf().toExtend();
79
+ });
80
+ });
81
+ });
82
+ //# sourceMappingURL=v3-core.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../tests/public-api/v3-core.test.ts"],
4
+ "sourcesContent": ["import { describe, expect, expectTypeOf, it } from \"vitest\";\nimport * as Stagehand from \"@browserbasehq/stagehand\";\n\ndescribe(\"V3 Core public API types\", () => {\n describe(\"Stagehand\", () => {\n type ExpectedShape = {\n init: () => Promise<void>;\n close: (opts?: { force?: boolean }) => Promise<void>;\n act: (\n input: string | Stagehand.Action,\n options?: Stagehand.ActOptions,\n ) => Promise<Stagehand.ActResult>;\n extract: (...args: unknown[]) => Promise<unknown>;\n observe: (...args: unknown[]) => Promise<Stagehand.Action[]>;\n agent: (config?: Stagehand.AgentConfig) => {\n execute: (\n instructionOrOptions: string | Stagehand.AgentExecuteOptions,\n ) => Promise<Stagehand.AgentResult>;\n };\n connectURL: () => string;\n context: unknown;\n metrics: Promise<Stagehand.StagehandMetrics>;\n history: Promise<ReadonlyArray<Stagehand.HistoryEntry>>;\n llmClient: Stagehand.LLMClient;\n browserbaseSessionID: string | undefined;\n browserbaseSessionURL: string | undefined;\n browserbaseDebugURL: string | undefined;\n experimental: boolean;\n logInferenceToFile: boolean;\n verbose: 0 | 1 | 2;\n logger: (logLine: Stagehand.LogLine) => void;\n isAgentReplayActive: () => boolean;\n recordAgentReplayStep: (step: unknown) => void;\n };\n\n type StagehandInstance = InstanceType<typeof Stagehand.Stagehand>;\n\n it(\"has correct public interface shape\", () => {\n expectTypeOf<StagehandInstance>().toExtend<ExpectedShape>();\n });\n\n it(\"act accepts Action as first parameter\", () => {\n const mockAction = {} as Stagehand.Action;\n expectTypeOf<StagehandInstance[\"act\"]>().toBeCallableWith(\n mockAction,\n {} as Stagehand.ActOptions,\n );\n });\n\n it(\"extract accepts instruction and schema\", () => {\n const mockSchema = {} as Stagehand.StagehandZodSchema;\n expectTypeOf<StagehandInstance[\"extract\"]>().toBeCallableWith(\n \"instruction\",\n mockSchema,\n {} as Stagehand.ExtractOptions,\n );\n });\n\n it(\"observe accepts instruction and options\", () => {\n expectTypeOf<StagehandInstance[\"observe\"]>().toBeCallableWith(\n \"instruction\",\n {} as Stagehand.ObserveOptions,\n );\n });\n\n it(\"agent execute accepts page option\", () => {\n type AgentReturn = ReturnType<StagehandInstance[\"agent\"]>;\n const mockPage = {} as Stagehand.AnyPage;\n expectTypeOf<AgentReturn[\"execute\"]>().toBeCallableWith({\n instruction: \"test\",\n page: mockPage,\n } satisfies Stagehand.AgentExecuteOptions);\n });\n });\n\n describe(\"StagehandMetrics\", () => {\n type ExpectedStagehandMetrics = {\n actPromptTokens: number;\n actCompletionTokens: number;\n actReasoningTokens: number;\n actCachedInputTokens: number;\n actInferenceTimeMs: number;\n extractPromptTokens: number;\n extractCompletionTokens: number;\n extractReasoningTokens: number;\n extractCachedInputTokens: number;\n extractInferenceTimeMs: number;\n observePromptTokens: number;\n observeCompletionTokens: number;\n observeReasoningTokens: number;\n observeCachedInputTokens: number;\n observeInferenceTimeMs: number;\n agentPromptTokens: number;\n agentCompletionTokens: number;\n agentReasoningTokens: number;\n agentCachedInputTokens: number;\n agentInferenceTimeMs: number;\n totalPromptTokens: number;\n totalCompletionTokens: number;\n totalReasoningTokens: number;\n totalCachedInputTokens: number;\n totalInferenceTimeMs: number;\n };\n\n it(\"matches the published metrics shape\", () => {\n expectTypeOf<Stagehand.StagehandMetrics>().toEqualTypeOf<ExpectedStagehandMetrics>();\n });\n });\n\n describe(\"V3\", () => {\n // V3 is the same class as Stagehand, just re-exported with a different name.\n // The public interface shape is already tested in the \"Stagehand\" test above.\n it(\"is exported\", () => {\n expect(Stagehand.V3).toBeDefined();\n });\n });\n\n describe(\"V3Evaluator\", () => {\n type V3EvaluatorInstance = InstanceType<typeof Stagehand.V3Evaluator>;\n\n it(\"is exported\", () => {\n expect(Stagehand.V3Evaluator).toBeDefined();\n });\n\n it(\"has ask method\", () => {\n expectTypeOf<V3EvaluatorInstance[\"ask\"]>().toExtend<\n (options: unknown) => Promise<unknown>\n >();\n });\n\n it(\"has batchAsk method\", () => {\n expectTypeOf<V3EvaluatorInstance[\"batchAsk\"]>().toExtend<\n (options: unknown) => Promise<unknown[]>\n >();\n });\n });\n\n describe(\"V3FunctionName\", () => {\n const expectedFunctionNames = [\n \"ACT\",\n \"EXTRACT\",\n \"OBSERVE\",\n \"AGENT\",\n ] as const;\n\n it(\"matches the known function name literals\", () => {\n expectTypeOf<Stagehand.V3FunctionName>().toExtend<\n (typeof expectedFunctionNames)[number]\n >();\n void expectedFunctionNames; // Mark as used to satisfy ESLint\n });\n });\n\n describe(\"connectToMCPServer\", () => {\n type ExpectedServerConfig =\n | string\n | URL\n | { command: string; args?: string[]; env?: Record<string, string> }\n | { serverUrl: string | URL; clientOptions?: unknown };\n\n it(\"has correct parameter types\", () => {\n expectTypeOf(\n Stagehand.connectToMCPServer,\n ).parameters.branded.toEqualTypeOf<[ExpectedServerConfig]>();\n });\n });\n\n describe(\"LOG_LEVEL_NAMES\", () => {\n type ExpectedLOG_LEVEL_NAMES = Record<Stagehand.LogLevel, string>;\n\n it(\"maps numeric levels to strings\", () => {\n expectTypeOf<\n typeof Stagehand.LOG_LEVEL_NAMES\n >().toExtend<ExpectedLOG_LEVEL_NAMES>();\n });\n });\n});\n"],
5
+ "mappings": "AAAA,SAAS,UAAU,QAAQ,cAAc,UAAU;AACnD,YAAY,eAAe;AAE3B,SAAS,4BAA4B,MAAM;AACzC,WAAS,aAAa,MAAM;AAiC1B,OAAG,sCAAsC,MAAM;AAC7C,mBAAgC,EAAE,SAAwB;AAAA,IAC5D,CAAC;AAED,OAAG,yCAAyC,MAAM;AAChD,YAAM,aAAa,CAAC;AACpB,mBAAuC,EAAE;AAAA,QACvC;AAAA,QACA,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAED,OAAG,0CAA0C,MAAM;AACjD,YAAM,aAAa,CAAC;AACpB,mBAA2C,EAAE;AAAA,QAC3C;AAAA,QACA;AAAA,QACA,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAED,OAAG,2CAA2C,MAAM;AAClD,mBAA2C,EAAE;AAAA,QAC3C;AAAA,QACA,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAED,OAAG,qCAAqC,MAAM;AAE5C,YAAM,WAAW,CAAC;AAClB,mBAAqC,EAAE,iBAAiB;AAAA,QACtD,aAAa;AAAA,QACb,MAAM;AAAA,MACR,CAAyC;AAAA,IAC3C,CAAC;AAAA,EACH,CAAC;AAED,WAAS,oBAAoB,MAAM;AA6BjC,OAAG,uCAAuC,MAAM;AAC9C,mBAAyC,EAAE,cAAwC;AAAA,IACrF,CAAC;AAAA,EACH,CAAC;AAED,WAAS,MAAM,MAAM;AAGnB,OAAG,eAAe,MAAM;AACtB,aAAO,UAAU,EAAE,EAAE,YAAY;AAAA,IACnC,CAAC;AAAA,EACH,CAAC;AAED,WAAS,eAAe,MAAM;AAG5B,OAAG,eAAe,MAAM;AACtB,aAAO,UAAU,WAAW,EAAE,YAAY;AAAA,IAC5C,CAAC;AAED,OAAG,kBAAkB,MAAM;AACzB,mBAAyC,EAAE,SAEzC;AAAA,IACJ,CAAC;AAED,OAAG,uBAAuB,MAAM;AAC9B,mBAA8C,EAAE,SAE9C;AAAA,IACJ,CAAC;AAAA,EACH,CAAC;AAED,WAAS,kBAAkB,MAAM;AAC/B,UAAM,wBAAwB;AAAA,MAC5B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,OAAG,4CAA4C,MAAM;AACnD,mBAAuC,EAAE,SAEvC;AAAA,IAEJ,CAAC;AAAA,EACH,CAAC;AAED,WAAS,sBAAsB,MAAM;AAOnC,OAAG,+BAA+B,MAAM;AACtC;AAAA,QACE,UAAU;AAAA,MACZ,EAAE,WAAW,QAAQ,cAAsC;AAAA,IAC7D,CAAC;AAAA,EACH,CAAC;AAED,WAAS,mBAAmB,MAAM;AAGhC,OAAG,kCAAkC,MAAM;AACzC,mBAEE,EAAE,SAAkC;AAAA,IACxC,CAAC;AAAA,EACH,CAAC;AACH,CAAC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,134 @@
1
+ import { describe, it, expect, vi } from "vitest";
2
+ import { OpenAICUAClient } from "../lib/v3/agent/OpenAICUAClient.js";
3
+ import { GoogleCUAClient } from "../lib/v3/agent/GoogleCUAClient.js";
4
+ const openAISafetyInvoker = OpenAICUAClient.prototype.handleSafetyConfirmation;
5
+ const googleSafetyInvoker = GoogleCUAClient.prototype.handleSafetyConfirmation;
6
+ function createOpenAIClient() {
7
+ return new OpenAICUAClient(
8
+ "openai",
9
+ "openai/computer-use-preview",
10
+ "test instructions",
11
+ { apiKey: "test" }
12
+ );
13
+ }
14
+ function createGoogleClient() {
15
+ return new GoogleCUAClient(
16
+ "google",
17
+ "google/gemini-2.5-computer-use-preview-10-2025",
18
+ "test instructions",
19
+ { apiKey: "test" }
20
+ );
21
+ }
22
+ describe("Safety Confirmation Handler", () => {
23
+ describe("OpenAI-style (pending_safety_checks)", () => {
24
+ const mockChecks = [
25
+ {
26
+ id: "check-1",
27
+ code: "malicious_instructions",
28
+ message: "Potentially harmful action detected"
29
+ }
30
+ ];
31
+ it("returns checks when handler acknowledges", async () => {
32
+ const client = createOpenAIClient();
33
+ const handler = vi.fn(async () => ({
34
+ acknowledged: true
35
+ }));
36
+ client.setSafetyConfirmationHandler(handler);
37
+ const logger = vi.fn();
38
+ const result = await openAISafetyInvoker.call(client, mockChecks, logger);
39
+ expect(handler).toHaveBeenCalledWith(mockChecks);
40
+ expect(result).toEqual(mockChecks);
41
+ });
42
+ it("returns undefined when handler rejects", async () => {
43
+ const client = createOpenAIClient();
44
+ const handler = vi.fn(async () => ({
45
+ acknowledged: false
46
+ }));
47
+ client.setSafetyConfirmationHandler(handler);
48
+ const logger = vi.fn();
49
+ const result = await openAISafetyInvoker.call(client, mockChecks, logger);
50
+ expect(handler).toHaveBeenCalledWith(mockChecks);
51
+ expect(result).toBeUndefined();
52
+ });
53
+ it("auto-acknowledges when no handler is set", async () => {
54
+ const client = createOpenAIClient();
55
+ const logger = vi.fn();
56
+ const result = await openAISafetyInvoker.call(client, mockChecks, logger);
57
+ expect(result).toEqual(mockChecks);
58
+ });
59
+ });
60
+ describe("Google-style (safety_decision)", () => {
61
+ const mockDecision = {
62
+ decision: "require_confirmation",
63
+ explanation: "Cookie consent dialog detected"
64
+ };
65
+ it("returns 'true' when handler acknowledges", async () => {
66
+ const client = createGoogleClient();
67
+ const handler = vi.fn(async () => ({
68
+ acknowledged: true
69
+ }));
70
+ client.setSafetyConfirmationHandler(handler);
71
+ const logger = vi.fn();
72
+ const result = await googleSafetyInvoker.call(
73
+ client,
74
+ mockDecision,
75
+ logger
76
+ );
77
+ expect(handler).toHaveBeenCalledWith([
78
+ {
79
+ id: "google-safety-decision",
80
+ code: "safety_decision",
81
+ message: JSON.stringify(mockDecision, null, 2)
82
+ }
83
+ ]);
84
+ expect(result).toBe("true");
85
+ });
86
+ it("returns undefined when handler rejects", async () => {
87
+ const client = createGoogleClient();
88
+ const handler = vi.fn(async () => ({
89
+ acknowledged: false
90
+ }));
91
+ client.setSafetyConfirmationHandler(handler);
92
+ const logger = vi.fn();
93
+ const result = await googleSafetyInvoker.call(
94
+ client,
95
+ mockDecision,
96
+ logger
97
+ );
98
+ expect(handler).toHaveBeenCalled();
99
+ expect(result).toBeUndefined();
100
+ });
101
+ it("auto-acknowledges when no handler is set", async () => {
102
+ const client = createGoogleClient();
103
+ const logger = vi.fn();
104
+ const result = await googleSafetyInvoker.call(
105
+ client,
106
+ mockDecision,
107
+ logger
108
+ );
109
+ expect(result).toBe("true");
110
+ });
111
+ it("handles string safety decisions", async () => {
112
+ const client = createGoogleClient();
113
+ const handler = vi.fn(async () => ({
114
+ acknowledged: true
115
+ }));
116
+ client.setSafetyConfirmationHandler(handler);
117
+ const logger = vi.fn();
118
+ const result = await googleSafetyInvoker.call(
119
+ client,
120
+ "Simple string decision",
121
+ logger
122
+ );
123
+ expect(handler).toHaveBeenCalledWith([
124
+ {
125
+ id: "google-safety-decision",
126
+ code: "safety_decision",
127
+ message: "Simple string decision"
128
+ }
129
+ ]);
130
+ expect(result).toBe("true");
131
+ });
132
+ });
133
+ });
134
+ //# sourceMappingURL=safety-confirmation.test.js.map