donobu 2.15.1 → 2.16.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 (294) hide show
  1. package/dist/assets/control-panel.js +30 -3
  2. package/dist/assets/generated/parameter-schemas.json +33 -33
  3. package/dist/assets/generated/version +1 -1
  4. package/dist/assets/interactive-elements-tracker.js +351 -0
  5. package/dist/assets/page-interactions-tracker.js +39 -20
  6. package/dist/assets/smart-selector-generator.js +38 -15
  7. package/dist/bindings/FocusPage.d.ts +6 -1
  8. package/dist/bindings/FocusPage.d.ts.map +1 -1
  9. package/dist/bindings/FocusPage.js +2 -8
  10. package/dist/bindings/FocusPage.js.map +1 -1
  11. package/dist/bindings/PageInteractionTracker.d.ts +9 -2
  12. package/dist/bindings/PageInteractionTracker.d.ts.map +1 -1
  13. package/dist/bindings/PageInteractionTracker.js +27 -3
  14. package/dist/bindings/PageInteractionTracker.js.map +1 -1
  15. package/dist/bindings/ProposeToolCall.d.ts +20 -0
  16. package/dist/bindings/ProposeToolCall.d.ts.map +1 -0
  17. package/dist/bindings/ProposeToolCall.js +29 -0
  18. package/dist/bindings/ProposeToolCall.js.map +1 -0
  19. package/dist/bindings/ToggleDonobuAnnotations.d.ts +5 -2
  20. package/dist/bindings/ToggleDonobuAnnotations.d.ts.map +1 -1
  21. package/dist/bindings/ToggleDonobuAnnotations.js +12 -6
  22. package/dist/bindings/ToggleDonobuAnnotations.js.map +1 -1
  23. package/dist/esm/assets/control-panel.js +30 -3
  24. package/dist/esm/assets/generated/parameter-schemas.json +33 -33
  25. package/dist/esm/assets/generated/version +1 -1
  26. package/dist/esm/assets/interactive-elements-tracker.js +351 -0
  27. package/dist/esm/assets/page-interactions-tracker.js +39 -20
  28. package/dist/esm/assets/smart-selector-generator.js +38 -15
  29. package/dist/esm/bindings/FocusPage.d.ts +6 -1
  30. package/dist/esm/bindings/FocusPage.d.ts.map +1 -1
  31. package/dist/esm/bindings/FocusPage.js +2 -8
  32. package/dist/esm/bindings/FocusPage.js.map +1 -1
  33. package/dist/esm/bindings/PageInteractionTracker.d.ts +9 -2
  34. package/dist/esm/bindings/PageInteractionTracker.d.ts.map +1 -1
  35. package/dist/esm/bindings/PageInteractionTracker.js +27 -3
  36. package/dist/esm/bindings/PageInteractionTracker.js.map +1 -1
  37. package/dist/esm/bindings/ProposeToolCall.d.ts +20 -0
  38. package/dist/esm/bindings/ProposeToolCall.d.ts.map +1 -0
  39. package/dist/esm/bindings/ProposeToolCall.js +29 -0
  40. package/dist/esm/bindings/ProposeToolCall.js.map +1 -0
  41. package/dist/esm/bindings/ToggleDonobuAnnotations.d.ts +5 -2
  42. package/dist/esm/bindings/ToggleDonobuAnnotations.d.ts.map +1 -1
  43. package/dist/esm/bindings/ToggleDonobuAnnotations.js +12 -6
  44. package/dist/esm/bindings/ToggleDonobuAnnotations.js.map +1 -1
  45. package/dist/esm/managers/CodeGenerator.d.ts.map +1 -1
  46. package/dist/esm/managers/CodeGenerator.js +2 -1
  47. package/dist/esm/managers/CodeGenerator.js.map +1 -1
  48. package/dist/esm/managers/ControlPanel.d.ts +124 -0
  49. package/dist/esm/managers/ControlPanel.d.ts.map +1 -0
  50. package/dist/esm/managers/ControlPanel.js +282 -0
  51. package/dist/esm/managers/ControlPanel.js.map +1 -0
  52. package/dist/esm/managers/DonobuFlow.d.ts +4 -12
  53. package/dist/esm/managers/DonobuFlow.d.ts.map +1 -1
  54. package/dist/esm/managers/DonobuFlow.js +35 -140
  55. package/dist/esm/managers/DonobuFlow.js.map +1 -1
  56. package/dist/esm/managers/InteractionVisualizer.d.ts +9 -15
  57. package/dist/esm/managers/InteractionVisualizer.d.ts.map +1 -1
  58. package/dist/esm/managers/InteractionVisualizer.js +44 -44
  59. package/dist/esm/managers/InteractionVisualizer.js.map +1 -1
  60. package/dist/esm/managers/PageInspector.d.ts +242 -0
  61. package/dist/esm/managers/PageInspector.d.ts.map +1 -0
  62. package/dist/esm/managers/PageInspector.js +783 -0
  63. package/dist/esm/managers/PageInspector.js.map +1 -0
  64. package/dist/esm/managers/ToolManager.d.ts.map +1 -1
  65. package/dist/esm/managers/ToolManager.js +3 -5
  66. package/dist/esm/managers/ToolManager.js.map +1 -1
  67. package/dist/esm/models/InteractableElement.d.ts +2 -2
  68. package/dist/esm/models/ToolCallContext.d.ts +6 -2
  69. package/dist/esm/models/ToolCallContext.d.ts.map +1 -1
  70. package/dist/esm/playwrightTestExtensions.d.ts +5 -0
  71. package/dist/esm/playwrightTestExtensions.d.ts.map +1 -1
  72. package/dist/esm/playwrightTestExtensions.js +52 -13
  73. package/dist/esm/playwrightTestExtensions.js.map +1 -1
  74. package/dist/esm/tools/AnalyzePageTextTool.js +1 -1
  75. package/dist/esm/tools/AnalyzePageTextTool.js.map +1 -1
  76. package/dist/esm/tools/AssertPageTextTool.js +1 -1
  77. package/dist/esm/tools/AssertPageTextTool.js.map +1 -1
  78. package/dist/esm/tools/AssertTool.d.ts.map +1 -1
  79. package/dist/esm/tools/AssertTool.js +4 -4
  80. package/dist/esm/tools/AssertTool.js.map +1 -1
  81. package/dist/esm/tools/ChangeWebBrowserTabTool.d.ts.map +1 -1
  82. package/dist/esm/tools/ChangeWebBrowserTabTool.js +8 -7
  83. package/dist/esm/tools/ChangeWebBrowserTabTool.js.map +1 -1
  84. package/dist/esm/tools/ClickTool.js +1 -1
  85. package/dist/esm/tools/ClickTool.js.map +1 -1
  86. package/dist/esm/tools/CreateBrowserCookieReportTool.js +1 -1
  87. package/dist/esm/tools/CreateBrowserCookieReportTool.js.map +1 -1
  88. package/dist/esm/tools/CustomToolRunnerTool.d.ts.map +1 -1
  89. package/dist/esm/tools/CustomToolRunnerTool.js +1 -1
  90. package/dist/esm/tools/CustomToolRunnerTool.js.map +1 -1
  91. package/dist/esm/tools/DetectBrokenLinksTool.js +1 -1
  92. package/dist/esm/tools/DetectBrokenLinksTool.js.map +1 -1
  93. package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.js +1 -1
  94. package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.js.map +1 -1
  95. package/dist/esm/tools/ExtractPaymentProviderKeyTool.js +1 -1
  96. package/dist/esm/tools/ExtractPaymentProviderKeyTool.js.map +1 -1
  97. package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.js +1 -1
  98. package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.js.map +1 -1
  99. package/dist/esm/tools/GoForwardOrBackTool.js +1 -1
  100. package/dist/esm/tools/GoForwardOrBackTool.js.map +1 -1
  101. package/dist/esm/tools/GoToGoogleMapsStreetViewTool.js +1 -1
  102. package/dist/esm/tools/GoToGoogleMapsStreetViewTool.js.map +1 -1
  103. package/dist/esm/tools/GoToWebpageTool.js +1 -1
  104. package/dist/esm/tools/GoToWebpageTool.js.map +1 -1
  105. package/dist/esm/tools/HoverOverElementTool.d.ts.map +1 -1
  106. package/dist/esm/tools/HoverOverElementTool.js +1 -1
  107. package/dist/esm/tools/HoverOverElementTool.js.map +1 -1
  108. package/dist/esm/tools/NavigateWithinStreetView.js +1 -1
  109. package/dist/esm/tools/NavigateWithinStreetView.js.map +1 -1
  110. package/dist/esm/tools/PressKeyTool.js +1 -1
  111. package/dist/esm/tools/PressKeyTool.js.map +1 -1
  112. package/dist/esm/tools/ReloadPageTool.js +1 -1
  113. package/dist/esm/tools/ReloadPageTool.js.map +1 -1
  114. package/dist/esm/tools/ReplayableInteraction.d.ts +16 -1
  115. package/dist/esm/tools/ReplayableInteraction.d.ts.map +1 -1
  116. package/dist/esm/tools/ReplayableInteraction.js +169 -16
  117. package/dist/esm/tools/ReplayableInteraction.js.map +1 -1
  118. package/dist/esm/tools/RunAccessibilityTestTool.d.ts +8 -0
  119. package/dist/esm/tools/RunAccessibilityTestTool.d.ts.map +1 -1
  120. package/dist/esm/tools/RunAccessibilityTestTool.js +15 -2
  121. package/dist/esm/tools/RunAccessibilityTestTool.js.map +1 -1
  122. package/dist/esm/tools/RunInlineJavaScriptCodeTool.d.ts.map +1 -1
  123. package/dist/esm/tools/RunInlineJavaScriptCodeTool.js +1 -1
  124. package/dist/esm/tools/RunInlineJavaScriptCodeTool.js.map +1 -1
  125. package/dist/esm/tools/SaveWebpageAsPdfTool.js +1 -1
  126. package/dist/esm/tools/SaveWebpageAsPdfTool.js.map +1 -1
  127. package/dist/esm/tools/ScrollPageTool.d.ts +1 -1
  128. package/dist/esm/tools/ScrollPageTool.d.ts.map +1 -1
  129. package/dist/esm/tools/ScrollPageTool.js +47 -4
  130. package/dist/esm/tools/ScrollPageTool.js.map +1 -1
  131. package/dist/esm/tools/WaitTool.js +1 -1
  132. package/dist/esm/tools/WaitTool.js.map +1 -1
  133. package/dist/esm/utils/MiscUtils.d.ts +2 -2
  134. package/dist/esm/utils/MiscUtils.js +2 -2
  135. package/dist/esm/utils/PlaywrightUtils.d.ts +26 -127
  136. package/dist/esm/utils/PlaywrightUtils.d.ts.map +1 -1
  137. package/dist/esm/utils/PlaywrightUtils.js +133 -935
  138. package/dist/esm/utils/PlaywrightUtils.js.map +1 -1
  139. package/dist/managers/CodeGenerator.d.ts.map +1 -1
  140. package/dist/managers/CodeGenerator.js +2 -1
  141. package/dist/managers/CodeGenerator.js.map +1 -1
  142. package/dist/managers/ControlPanel.d.ts +124 -0
  143. package/dist/managers/ControlPanel.d.ts.map +1 -0
  144. package/dist/managers/ControlPanel.js +282 -0
  145. package/dist/managers/ControlPanel.js.map +1 -0
  146. package/dist/managers/DonobuFlow.d.ts +4 -12
  147. package/dist/managers/DonobuFlow.d.ts.map +1 -1
  148. package/dist/managers/DonobuFlow.js +35 -140
  149. package/dist/managers/DonobuFlow.js.map +1 -1
  150. package/dist/managers/InteractionVisualizer.d.ts +9 -15
  151. package/dist/managers/InteractionVisualizer.d.ts.map +1 -1
  152. package/dist/managers/InteractionVisualizer.js +44 -44
  153. package/dist/managers/InteractionVisualizer.js.map +1 -1
  154. package/dist/managers/PageInspector.d.ts +242 -0
  155. package/dist/managers/PageInspector.d.ts.map +1 -0
  156. package/dist/managers/PageInspector.js +783 -0
  157. package/dist/managers/PageInspector.js.map +1 -0
  158. package/dist/managers/ToolManager.d.ts.map +1 -1
  159. package/dist/managers/ToolManager.js +3 -5
  160. package/dist/managers/ToolManager.js.map +1 -1
  161. package/dist/models/InteractableElement.d.ts +2 -2
  162. package/dist/models/ToolCallContext.d.ts +6 -2
  163. package/dist/models/ToolCallContext.d.ts.map +1 -1
  164. package/dist/playwrightTestExtensions.d.ts +5 -0
  165. package/dist/playwrightTestExtensions.d.ts.map +1 -1
  166. package/dist/playwrightTestExtensions.js +52 -13
  167. package/dist/playwrightTestExtensions.js.map +1 -1
  168. package/dist/tools/AnalyzePageTextTool.js +1 -1
  169. package/dist/tools/AnalyzePageTextTool.js.map +1 -1
  170. package/dist/tools/AssertPageTextTool.js +1 -1
  171. package/dist/tools/AssertPageTextTool.js.map +1 -1
  172. package/dist/tools/AssertTool.d.ts.map +1 -1
  173. package/dist/tools/AssertTool.js +4 -4
  174. package/dist/tools/AssertTool.js.map +1 -1
  175. package/dist/tools/ChangeWebBrowserTabTool.d.ts.map +1 -1
  176. package/dist/tools/ChangeWebBrowserTabTool.js +8 -7
  177. package/dist/tools/ChangeWebBrowserTabTool.js.map +1 -1
  178. package/dist/tools/ClickTool.js +1 -1
  179. package/dist/tools/ClickTool.js.map +1 -1
  180. package/dist/tools/CreateBrowserCookieReportTool.js +1 -1
  181. package/dist/tools/CreateBrowserCookieReportTool.js.map +1 -1
  182. package/dist/tools/CustomToolRunnerTool.d.ts.map +1 -1
  183. package/dist/tools/CustomToolRunnerTool.js +1 -1
  184. package/dist/tools/CustomToolRunnerTool.js.map +1 -1
  185. package/dist/tools/DetectBrokenLinksTool.js +1 -1
  186. package/dist/tools/DetectBrokenLinksTool.js.map +1 -1
  187. package/dist/tools/ExtractGoogleStreetviewEntityDataTool.js +1 -1
  188. package/dist/tools/ExtractGoogleStreetviewEntityDataTool.js.map +1 -1
  189. package/dist/tools/ExtractPaymentProviderKeyTool.js +1 -1
  190. package/dist/tools/ExtractPaymentProviderKeyTool.js.map +1 -1
  191. package/dist/tools/ExtractPublicFacebookEntityDataTool.js +1 -1
  192. package/dist/tools/ExtractPublicFacebookEntityDataTool.js.map +1 -1
  193. package/dist/tools/GoForwardOrBackTool.js +1 -1
  194. package/dist/tools/GoForwardOrBackTool.js.map +1 -1
  195. package/dist/tools/GoToGoogleMapsStreetViewTool.js +1 -1
  196. package/dist/tools/GoToGoogleMapsStreetViewTool.js.map +1 -1
  197. package/dist/tools/GoToWebpageTool.js +1 -1
  198. package/dist/tools/GoToWebpageTool.js.map +1 -1
  199. package/dist/tools/HoverOverElementTool.d.ts.map +1 -1
  200. package/dist/tools/HoverOverElementTool.js +1 -1
  201. package/dist/tools/HoverOverElementTool.js.map +1 -1
  202. package/dist/tools/NavigateWithinStreetView.js +1 -1
  203. package/dist/tools/NavigateWithinStreetView.js.map +1 -1
  204. package/dist/tools/PressKeyTool.js +1 -1
  205. package/dist/tools/PressKeyTool.js.map +1 -1
  206. package/dist/tools/ReloadPageTool.js +1 -1
  207. package/dist/tools/ReloadPageTool.js.map +1 -1
  208. package/dist/tools/ReplayableInteraction.d.ts +16 -1
  209. package/dist/tools/ReplayableInteraction.d.ts.map +1 -1
  210. package/dist/tools/ReplayableInteraction.js +169 -16
  211. package/dist/tools/ReplayableInteraction.js.map +1 -1
  212. package/dist/tools/RunAccessibilityTestTool.d.ts +8 -0
  213. package/dist/tools/RunAccessibilityTestTool.d.ts.map +1 -1
  214. package/dist/tools/RunAccessibilityTestTool.js +15 -2
  215. package/dist/tools/RunAccessibilityTestTool.js.map +1 -1
  216. package/dist/tools/RunInlineJavaScriptCodeTool.d.ts.map +1 -1
  217. package/dist/tools/RunInlineJavaScriptCodeTool.js +1 -1
  218. package/dist/tools/RunInlineJavaScriptCodeTool.js.map +1 -1
  219. package/dist/tools/SaveWebpageAsPdfTool.js +1 -1
  220. package/dist/tools/SaveWebpageAsPdfTool.js.map +1 -1
  221. package/dist/tools/ScrollPageTool.d.ts +1 -1
  222. package/dist/tools/ScrollPageTool.d.ts.map +1 -1
  223. package/dist/tools/ScrollPageTool.js +47 -4
  224. package/dist/tools/ScrollPageTool.js.map +1 -1
  225. package/dist/tools/WaitTool.js +1 -1
  226. package/dist/tools/WaitTool.js.map +1 -1
  227. package/dist/utils/MiscUtils.d.ts +2 -2
  228. package/dist/utils/MiscUtils.js +2 -2
  229. package/dist/utils/PlaywrightUtils.d.ts +26 -127
  230. package/dist/utils/PlaywrightUtils.d.ts.map +1 -1
  231. package/dist/utils/PlaywrightUtils.js +133 -935
  232. package/dist/utils/PlaywrightUtils.js.map +1 -1
  233. package/package.json +1 -1
  234. package/dist/assets/clickable-elements-tracker.js +0 -63
  235. package/dist/assets/zaru-eyes.html +0 -141
  236. package/dist/esm/assets/clickable-elements-tracker.js +0 -63
  237. package/dist/esm/assets/zaru-eyes.html +0 -141
  238. package/dist/esm/managers/TemplateInterpolator.d.ts +0 -19
  239. package/dist/esm/managers/TemplateInterpolator.d.ts.map +0 -1
  240. package/dist/esm/managers/TemplateInterpolator.js +0 -86
  241. package/dist/esm/managers/TemplateInterpolator.js.map +0 -1
  242. package/dist/esm/managers/ToolTipper.d.ts +0 -32
  243. package/dist/esm/managers/ToolTipper.d.ts.map +0 -1
  244. package/dist/esm/managers/ToolTipper.js +0 -229
  245. package/dist/esm/managers/ToolTipper.js.map +0 -1
  246. package/dist/esm/models/BrowserState.d.ts +0 -26
  247. package/dist/esm/models/BrowserState.d.ts.map +0 -1
  248. package/dist/esm/models/BrowserState.js +0 -3
  249. package/dist/esm/models/BrowserState.js.map +0 -1
  250. package/dist/esm/models/ResolverContext.d.ts +0 -7
  251. package/dist/esm/models/ResolverContext.d.ts.map +0 -1
  252. package/dist/esm/models/ResolverContext.js +0 -3
  253. package/dist/esm/models/ResolverContext.js.map +0 -1
  254. package/dist/esm/models/ToolTemplateDataSource.d.ts +0 -36
  255. package/dist/esm/models/ToolTemplateDataSource.d.ts.map +0 -1
  256. package/dist/esm/models/ToolTemplateDataSource.js +0 -3
  257. package/dist/esm/models/ToolTemplateDataSource.js.map +0 -1
  258. package/dist/esm/test.d.ts +0 -78
  259. package/dist/esm/test.d.ts.map +0 -1
  260. package/dist/esm/test.js +0 -423
  261. package/dist/esm/test.js.map +0 -1
  262. package/dist/esm/utils/TemplateInterpolator.d.ts +0 -29
  263. package/dist/esm/utils/TemplateInterpolator.d.ts.map +0 -1
  264. package/dist/esm/utils/TemplateInterpolator.js +0 -206
  265. package/dist/esm/utils/TemplateInterpolator.js.map +0 -1
  266. package/dist/managers/TemplateInterpolator.d.ts +0 -19
  267. package/dist/managers/TemplateInterpolator.d.ts.map +0 -1
  268. package/dist/managers/TemplateInterpolator.js +0 -86
  269. package/dist/managers/TemplateInterpolator.js.map +0 -1
  270. package/dist/managers/ToolTipper.d.ts +0 -32
  271. package/dist/managers/ToolTipper.d.ts.map +0 -1
  272. package/dist/managers/ToolTipper.js +0 -229
  273. package/dist/managers/ToolTipper.js.map +0 -1
  274. package/dist/models/BrowserState.d.ts +0 -26
  275. package/dist/models/BrowserState.d.ts.map +0 -1
  276. package/dist/models/BrowserState.js +0 -3
  277. package/dist/models/BrowserState.js.map +0 -1
  278. package/dist/models/ResolverContext.d.ts +0 -7
  279. package/dist/models/ResolverContext.d.ts.map +0 -1
  280. package/dist/models/ResolverContext.js +0 -3
  281. package/dist/models/ResolverContext.js.map +0 -1
  282. package/dist/models/ToolTemplateDataSource.d.ts +0 -36
  283. package/dist/models/ToolTemplateDataSource.d.ts.map +0 -1
  284. package/dist/models/ToolTemplateDataSource.js +0 -3
  285. package/dist/models/ToolTemplateDataSource.js.map +0 -1
  286. package/dist/test.d.ts +0 -78
  287. package/dist/test.d.ts.map +0 -1
  288. package/dist/test.js +0 -423
  289. package/dist/test.js.map +0 -1
  290. package/dist/tsconfig.esm.tsbuildinfo +0 -1
  291. package/dist/utils/TemplateInterpolator.d.ts +0 -29
  292. package/dist/utils/TemplateInterpolator.d.ts.map +0 -1
  293. package/dist/utils/TemplateInterpolator.js +0 -211
  294. package/dist/utils/TemplateInterpolator.js.map +0 -1
@@ -1,29 +1,24 @@
1
- import { BrowserContext, ElementHandle, Locator, Page } from 'playwright';
2
- import { FlowMetadata, State } from '../models/FlowMetadata';
3
- import { InteractableElement } from '../models/InteractableElement';
4
- declare global {
5
- interface Window {
6
- donobuNextState: string | null;
7
- donobuGetClickableElements: () => Element[];
8
- donobuFocusPage: () => boolean;
9
- donobuGenerateSmartSelectors: (element: Element) => string[];
10
- }
11
- }
1
+ import { BrowserContext, Page } from 'playwright';
12
2
  /**
13
3
  * Miscellaneous utility functions for working with the Playwright SDK. If you are looking to
14
4
  * instantiate a Playwright instance, see PlaywrightSetup instead.
15
5
  */
16
6
  export declare class PlaywrightUtils {
17
- private static readonly ACCESSIBILITY_TEST_INIT_SCRIPT;
18
- private static readonly CLICKABLE_ELEMENTS_TRACKER_INIT_SCRIPT;
7
+ /**
8
+ * A JavaScript code snippet intended to run as an initialization
9
+ * script for `DonobuFlow` flows. This script helps flows handle/track
10
+ * prompts/confirmations. This is done specially since these browser actions
11
+ * pause the Javascript main thread and also cause issues with running various
12
+ * Playwright actions. See `DonobuFlow.onDialog(Dialog)` for details.
13
+ */
19
14
  private static readonly DIALOG_PROMPT_TRACKER_INIT_SCRIPT;
20
- private static readonly SMART_SELECTOR_GENERATOR_INIT_SCRIPT;
21
- private static readonly PAGE_INTERACTIONS_TRACKER_INIT_SCRIPT;
22
- private static readonly DONOBU_CONTROL_PANEL_INIT_SCRIPT;
23
- private static readonly DONOBU_CONTROL_PANEL_ELEMENT_ID;
24
- private static readonly DONOBU_CONTROL_PANEL_HEADLINE_ELEMENT_ID;
25
- static readonly DONOBU_INTERACTABLE_ATTRIBUTE = "data-donobu-interactable";
26
- static readonly DONOBU_ANNOTATION_ATTRIBUTE = "data-donobu-annotation";
15
+ /**
16
+ * Returns a JavaScript code snippet intended to run as an initialization
17
+ * script for `DonobuFlow` flows. This enables the {@link ReplayableInteraction}
18
+ * and {@link PageInteractionTracker.INIT_SCRIPT} to generate
19
+ * smart selectors.
20
+ */
21
+ static readonly SMART_SELECTOR_GENERATOR_INIT_SCRIPT: string;
27
22
  /**
28
23
  * Attempts to take a screenshot of the given page, returning the raw byte
29
24
  * array.
@@ -41,42 +36,9 @@ export declare class PlaywrightUtils {
41
36
  * first in the list, and weaker selectors that match multiple elements are
42
37
  * last.
43
38
  */
44
- static generateSelectors(element: Locator): Promise<string[]>;
45
- /**
46
- * Returns a JavaScript code snippet intended to run as an initialization
47
- * script for `DonobuFlow` flows. This script helps other scripts to know
48
- * which elements have mouse-click related event listeners attached to them
49
- * via inspecting the {@code window.donobuGetClickableElements} element array.
50
- */
51
- static clickableElementsTrackerInitScript(): string;
52
- /**
53
- * Returns a JavaScript code snippet intended to run as an initialization
54
- * script for `DonobuFlow` flows. This script helps flows handle/track
55
- * prompts/confirmations. This is done specially since these browser actions
56
- * pause the Javascript main thread and also cause issues with running various
57
- * Playwright actions. See `DonobuFlow.onDialog(Dialog)` for details.
58
- */
59
- static dialogPromptTrackerInitScript(): string;
60
- /**
61
- * Returns a JavaScript code snippet intended to run as an initialization
62
- * script for `DonobuFlow` flows. This is an in-page version of the
63
- * `SelectorGenerator` class so that smart selectors can be generated in
64
- * the web client. This is done so the
65
- * {@link PlaywrightUtils.pageInteractionsTrackerInitScript()} can generate
66
- * smart selectors on the fly and pass them to the `PageInteractionTracker`
67
- * so the page interactions can be converted to synthetic `ToolCallResult`s.
68
- */
69
- static smartSelectorGeneratorInitScript(): string;
70
- /**
71
- * This script is used by the `RunAccessibilityTestTool` to test the
72
- * accessibility of a webpage. This script is injected on page load, rather
73
- * than when running the `RunAccessibilityTestTool` because we need to bypass
74
- * webpage Content Security Policy (CSP); this is done by injecting the
75
- * script via `BrowserContext#addInitScript`.
76
- */
77
- static accessibilityTestInitScript(): string;
78
- static pageInteractionsTrackerInitScript(): string;
79
- static donobuControlPanelInitScript(): string;
39
+ static generateSelectors(element: {
40
+ evaluate: (pageFunction: any) => Promise<any>;
41
+ }): Promise<string[]>;
80
42
  /**
81
43
  * Sets up the given browser context so that it can be minimally used by the
82
44
  * rest of Donobu. This involves registering virtual routes for serving up
@@ -84,72 +46,6 @@ export declare class PlaywrightUtils {
84
46
  * scripts.
85
47
  */
86
48
  static setupBasicBrowserContext(browserContext: BrowserContext): Promise<void>;
87
- /**
88
- * Returns the given locator or its label, if it has one and is associated with a labelable element.
89
- * Labelable elements include: button, input (except hidden), meter, output, progress, select, and textarea.
90
- */
91
- static getLocatorOrItsLabel(element: Locator): Promise<Locator>;
92
- /**
93
- * Reads and clears the desired next state as directed by the in-flow control
94
- * panel. Note that the control panel does not have carte blanche control, as
95
- * we only support the control panel signaling an intent to pause and resume a
96
- * flow.
97
- */
98
- static popControlPanelNextDesiredState(page: Page): Promise<State | null>;
99
- /**
100
- * Hides the control panel by setting its display to 'none'. This ensures the
101
- * panel is not visible and does not intercept mouse events.
102
- */
103
- static hideControlPanel(focusedPage: Page, flowMetadata: FlowMetadata): Promise<void>;
104
- /**
105
- * Shows the control panel by resetting its display property. Assumes the
106
- * original display was 'block'.
107
- */
108
- static showControlPanel(focusedPage: Page, flowMetadata: FlowMetadata): Promise<void>;
109
- /**
110
- * Updates all control panels in the given browser context. If the provided
111
- * headline is non-null, the headline in the control panel will be updated.
112
- */
113
- static updateControlPanel(focusedPage: Page, flowMetadata: FlowMetadata, headline: string | null): Promise<void>;
114
- /**
115
- * Returns all elements that have the
116
- * {@link PlaywrightUtils.DONOBU_INTERACTABLE_ATTRIBUTE} HTML attribute.
117
- **/
118
- static getAttributedInteractableElements(page: Page): Promise<InteractableElement[]>;
119
- /**
120
- * Assigns a globally unique {@link PlaywrightUtils.DONOBU_INTERACTABLE_ATTRIBUTE}
121
- * attribute value to each visible, interactable, element in the given page.
122
- * Any pre-existing {@link PlaywrightUtils.DONOBU_INTERACTABLE_ATTRIBUTE}
123
- * attributes will be removed.
124
- */
125
- static attributeInteractableElements(page: Page): Promise<void>;
126
- /**
127
- * Annotate all elements in the given page that have a
128
- * {@link PlaywrightUtils.DONOBU_INTERACTABLE_ATTRIBUTE} HTML attribute.
129
- *
130
- * The annotations are placed in a shadow root to avoid site-specific CSS,
131
- * each having a {@link PlaywrightUtils.DONOBU_ANNOTATION_ATTRIBUTE} attribute.
132
- */
133
- static annotateInteractableElements(page: Page): Promise<void>;
134
- /**
135
- * Removes all annotations with a {@link PlaywrightUtils.DONOBU_ANNOTATION_ATTRIBUTE}
136
- * HTML attribute in the given page, including any containers in shadow DOM.
137
- */
138
- static removeDonobuAnnotations(page: Page): Promise<void>;
139
- /**
140
- * Removes the {@link PlaywrightUtils.DONOBU_INTERACTABLE_ATTRIBUTE} HTML
141
- * attribute for all elements in the given page. This attribute is normally
142
- * added by the {@link PlaywrightUtils.attributeInteractableElements(Page)}
143
- * function.
144
- */
145
- static deattributeVisibleInteractableElements(page: Page): Promise<void>;
146
- static parseUnambiguousSelector(elementHandle: ElementHandle): Promise<string>;
147
- /**
148
- * Converts an HTML attribute to a JavaScript attribute. For example,
149
- * "data-foo-bar" is turned into "fooBar". Notice the dropping of the "data-"
150
- * prefix, and the conversion from kebab-case to camelCase.
151
- */
152
- static convertToJsAttribute(htmlAttribute: string): string;
153
49
  /**
154
50
  * Returned true IFF the given error is a Playwright error regarding page closing,
155
51
  * of if the given error is an instance of {@link PageClosedException}.
@@ -163,12 +59,15 @@ export declare class PlaywrightUtils {
163
59
  * it is logged and ignored. If page is null, this function has no effect.
164
60
  */
165
61
  static waitForPageStability(page: Page | null): Promise<void>;
166
- private static frameFilter;
167
62
  /**
168
- * This function is injected into the page (or frame) context. It finds
169
- * "interactable" elements, checks visibility, and sets a unique attribute.
170
- * It returns the updated offset after labeling.
63
+ * Takes a screenshot of the webpage as if it were scrolled down by one viewport.
64
+ * If the page cannot be scrolled as a whole, tries to find and scroll individual
65
+ * scrollable elements on the page. After taking the screenshot, it reverts to
66
+ * the original scroll position.
67
+ *
68
+ * @param page The Playwright Page to take a screenshot of
69
+ * @returns An image buffer of the scrolled down view, or undefined if scrolling isn't possible
171
70
  */
172
- private static attributeElementsInContext;
71
+ static getScrolledDownScreenShot(page: Page): Promise<Buffer | undefined>;
173
72
  }
174
73
  //# sourceMappingURL=PlaywrightUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlaywrightUtils.d.ts","sourceRoot":"","sources":["../../src/utils/PlaywrightUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlaywrightUtils.d.ts","sourceRoot":"","sources":["../../src/utils/PlaywrightUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAUlD;;;GAGG;AACH,qBAAa,eAAe;IAC1B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iCAAiC,CACkB;IAE3E;;;;;OAKG;IACH,gBAAuB,oCAAoC,SACmB;IAE9E;;;;;;;;OAQG;WACiB,cAAc,CAChC,IAAI,EAAE,IAAI,EACV,IAAI,GAAE,KAAK,GAAG,MAAe,GAC5B,OAAO,CAAC,MAAM,CAAC;IAgBlB;;;;;;OAMG;WACiB,iBAAiB,CAAC,OAAO,EAAE;QAC7C,QAAQ,EAAE,CAAC,YAAY,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;KAC/C,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAMrB;;;;;OAKG;WACiB,wBAAwB,CAC1C,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,IAAI,CAAC;IAWhB;;;OAGG;WACW,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;WAkBhC,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;WAI7C,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDnE;;;;OAIG;WACiB,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB1E;;;;;;;;OAQG;WACiB,yBAAyB,CAC3C,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CA4I/B"}