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,229 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ToolTipper = void 0;
4
- const Logger_1 = require("../utils/Logger");
5
- const main_1 = require("../main");
6
- class ToolTipper {
7
- constructor(defaultDurationMillis) {
8
- this.defaultDurationMillis = defaultDurationMillis;
9
- this.currentMousePosition = { x: 0, y: 0 };
10
- this.isMouseVisible = false;
11
- }
12
- /**
13
- * Show the given tooltip text visually adjacent to the given element for the given duration.
14
- * Moves the virtual mouse to the element with a smooth animation.
15
- * Blocks execution for the duration.
16
- */
17
- async blipToolTip(page, element, toolTip, durationMillis = this.defaultDurationMillis) {
18
- if (!toolTip.trim() || !durationMillis || durationMillis <= 0) {
19
- return;
20
- }
21
- try {
22
- // Get element position for mouse movement
23
- const boundingBox = await element.boundingBox();
24
- if (!boundingBox) {
25
- Logger_1.appLogger.error('Failed to get element bounding box');
26
- return;
27
- }
28
- // Calculate target position (center of the element)
29
- const targetX = boundingBox.x + boundingBox.width / 2;
30
- const targetY = boundingBox.y + boundingBox.height / 2;
31
- // Start mouse movement and tooltip display in parallel
32
- const mouseMovementPromise = this.moveVirtualMouse(page, targetX, targetY, durationMillis / 2);
33
- // Display the tooltip for the element
34
- await this.displayToolTipForElement(element, toolTip);
35
- // Create a promise for the tooltip duration
36
- const tooltipDurationPromise = page.waitForTimeout(durationMillis);
37
- // Wait for both mouse movement and tooltip duration to complete
38
- await Promise.all([mouseMovementPromise, tooltipDurationPromise]);
39
- // Remove only the tooltip after the duration (keep the mouse)
40
- await element.evaluate((_, [toolTipContainerId]) => {
41
- const container = document.getElementById(toolTipContainerId);
42
- if (container) {
43
- const shadow = container.shadowRoot;
44
- if (shadow) {
45
- // Remove only tooltip elements but keep the mouse
46
- const tooltips = Array.from(shadow.querySelectorAll('.tooltip'));
47
- tooltips.forEach((tooltip) => tooltip.remove());
48
- }
49
- }
50
- }, [ToolTipper.TOOL_TIP_CONTAINER_ID]);
51
- }
52
- catch (e) {
53
- if (main_1.PlaywrightUtils.isPageClosedError(e)) {
54
- throw e;
55
- }
56
- else {
57
- Logger_1.appLogger.error('Failed to display tooltip at element', e);
58
- }
59
- }
60
- }
61
- /**
62
- * Moves the virtual mouse to the target position with a smooth animation.
63
- */
64
- async moveVirtualMouse(page, targetX, targetY, durationMillis) {
65
- await page.evaluate(([containerId, mouseId, startX, startY, endX, endY, duration]) => {
66
- return new Promise((resolve) => {
67
- // 1) Find or create the container
68
- let container = document.getElementById(containerId);
69
- if (!container) {
70
- container = document.createElement('div');
71
- container.id = containerId;
72
- container.style.position = 'absolute';
73
- container.style.top = '0';
74
- container.style.left = '0';
75
- container.style.width = '100%';
76
- container.style.height = '100%';
77
- container.style.pointerEvents = 'none';
78
- document.body.appendChild(container);
79
- const shadowRoot = container.attachShadow({ mode: 'open' });
80
- // Insert style
81
- const styleEl = document.createElement('style');
82
- styleEl.textContent = `
83
- :host { all: initial; }
84
- .tooltip {
85
- z-index: 2147483647;
86
- background-color: black;
87
- color: white;
88
- padding: 8px;
89
- border-radius: 5px;
90
- font-size: 12px;
91
- font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif;
92
- display: block;
93
- max-width: 300px;
94
- white-space: pre-wrap;
95
- box-shadow: 2px 2px 10px rgba(0,0,0,0.2);
96
- position: absolute;
97
- }
98
- .virtual-mouse {
99
- width: 20px;
100
- height: 20px;
101
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='M0,0 L12,10 L7,11 L10,18 L8,19 L5,12 L0,16 Z' fill='%23ffffff' stroke='%23000000' stroke-width='1'/%3E%3C/svg%3E");
102
- background-repeat: no-repeat;
103
- background-size: contain;
104
- position: absolute;
105
- z-index: 2147483646;
106
- transition-property: left, top;
107
- transition-timing-function: ease-in-out;
108
- filter: drop-shadow(1px 1px 1px rgba(0,0,0,0.5));
109
- }
110
- `;
111
- shadowRoot.appendChild(styleEl);
112
- }
113
- const shadow = container.shadowRoot;
114
- if (!shadow) {
115
- resolve();
116
- return;
117
- }
118
- // Find or create mouse
119
- let mouse = shadow.getElementById(mouseId);
120
- if (!mouse) {
121
- mouse = document.createElement('div');
122
- mouse.id = mouseId;
123
- mouse.className = 'virtual-mouse';
124
- // Initial position if first time
125
- mouse.style.left = `${startX}px`;
126
- mouse.style.top = `${startY}px`;
127
- mouse.style.transitionDuration = '0s'; // No animation initially
128
- shadow.appendChild(mouse);
129
- // Force reflow to ensure initial position is applied before animation
130
- void mouse.offsetWidth;
131
- }
132
- // Animate the mouse
133
- mouse.style.transitionDuration = `${duration}ms`;
134
- mouse.style.left = `${endX - 10}px`; // Offset by half the cursor size
135
- mouse.style.top = `${endY - 5}px`; // Offset to position pointer tip at target
136
- // Resolve when transition completes or timeout as fallback
137
- const transitionEndHandler = () => {
138
- mouse?.removeEventListener('transitionend', transitionEndHandler);
139
- resolve();
140
- };
141
- mouse.addEventListener('transitionend', transitionEndHandler);
142
- // Fallback in case transitionend doesn't fire
143
- setTimeout(resolve, duration + 50);
144
- });
145
- }, [
146
- ToolTipper.TOOL_TIP_CONTAINER_ID,
147
- ToolTipper.VIRTUAL_MOUSE_ID,
148
- this.currentMousePosition.x,
149
- this.currentMousePosition.y,
150
- targetX,
151
- targetY,
152
- durationMillis,
153
- ]);
154
- // Update current mouse position
155
- this.currentMousePosition = { x: targetX, y: targetY };
156
- this.isMouseVisible = true;
157
- }
158
- /**
159
- * Creates a tooltip adjacent to the element, inside a shadow root to avoid CSS collisions.
160
- */
161
- async displayToolTipForElement(element, toolTip) {
162
- await element.evaluate((targetElement, [toolTipContainerId, toolTip]) => {
163
- // 1) Find container (should already exist from moveVirtualMouse)
164
- const container = document.getElementById(toolTipContainerId);
165
- if (!container || !container.shadowRoot) {
166
- return;
167
- }
168
- const shadow = container.shadowRoot;
169
- // 2) Insert tooltip
170
- const tooltipElement = document.createElement('div');
171
- tooltipElement.className = 'tooltip';
172
- tooltipElement.textContent = toolTip;
173
- // Temporarily place off-screen to measure size
174
- tooltipElement.style.left = '-9999px';
175
- tooltipElement.style.top = '-9999px';
176
- shadow.appendChild(tooltipElement);
177
- // 3) Compute final position
178
- const rect = targetElement.getBoundingClientRect();
179
- let x = rect.left + window.scrollX;
180
- let y = rect.bottom + window.scrollY + 10;
181
- tooltipElement.style.left = `${x}px`;
182
- tooltipElement.style.top = `${y}px`;
183
- // Adjust if it goes off-screen to the right
184
- const tipRect = tooltipElement.getBoundingClientRect();
185
- const overflowRight = tipRect.right - window.innerWidth;
186
- if (overflowRight > 0) {
187
- tooltipElement.style.left = `${x - overflowRight - 10}px`;
188
- }
189
- // Adjust if it goes off-screen to the left
190
- if (tipRect.left < 0) {
191
- tooltipElement.style.left = `${window.scrollX + 10}px`;
192
- }
193
- }, [ToolTipper.TOOL_TIP_CONTAINER_ID, toolTip]);
194
- }
195
- /**
196
- * Hide the virtual mouse.
197
- */
198
- async hideVirtualMouse(page) {
199
- if (!this.isMouseVisible) {
200
- return;
201
- }
202
- await page.evaluate(([containerId, mouseId]) => {
203
- const container = document.getElementById(containerId);
204
- if (container && container.shadowRoot) {
205
- const mouse = container.shadowRoot.getElementById(mouseId);
206
- if (mouse) {
207
- mouse.remove();
208
- }
209
- }
210
- }, [ToolTipper.TOOL_TIP_CONTAINER_ID, ToolTipper.VIRTUAL_MOUSE_ID]);
211
- this.isMouseVisible = false;
212
- }
213
- /**
214
- * Clean up all tooltips and the virtual mouse.
215
- */
216
- async cleanUp(page) {
217
- await page.evaluate(([containerId]) => {
218
- const container = document.getElementById(containerId);
219
- if (container) {
220
- container.remove();
221
- }
222
- }, [ToolTipper.TOOL_TIP_CONTAINER_ID]);
223
- this.isMouseVisible = false;
224
- }
225
- }
226
- exports.ToolTipper = ToolTipper;
227
- ToolTipper.TOOL_TIP_CONTAINER_ID = 'tool-tip-shadow-container';
228
- ToolTipper.VIRTUAL_MOUSE_ID = 'virtual-mouse';
229
- //# sourceMappingURL=ToolTipper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToolTipper.js","sourceRoot":"","sources":["../../../src/managers/ToolTipper.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- /**
2
- * This type is expected to match the data returned by the Playwright `BrowserContext.storageState()` method.
3
- */
4
- export type BrowserStorageState = {
5
- readonly cookies: Array<{
6
- readonly name: string;
7
- readonly value: string;
8
- readonly domain: string;
9
- readonly path: string;
10
- /**
11
- * Unix time in seconds.
12
- */
13
- readonly expires: number;
14
- readonly httpOnly: boolean;
15
- readonly secure: boolean;
16
- readonly sameSite: 'Strict' | 'Lax' | 'None';
17
- }>;
18
- readonly origins: Array<{
19
- readonly origin: string;
20
- readonly localStorage: Array<{
21
- readonly name: string;
22
- readonly value: string;
23
- }>;
24
- }>;
25
- };
26
- //# sourceMappingURL=BrowserState.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BrowserState.d.ts","sourceRoot":"","sources":["../../../src/models/BrowserState.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;QACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAEtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAEvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAExB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAEtB;;WAEG;QACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAEzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAE3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QAEzB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;KAC9C,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAExB,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC;YAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YAEtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;SACxB,CAAC,CAAC;KACJ,CAAC,CAAC;CACJ,CAAC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=BrowserState.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BrowserState.js","sourceRoot":"","sources":["../../../src/models/BrowserState.ts"],"names":[],"mappings":""}
@@ -1,7 +0,0 @@
1
- /**
2
- * This is supplied as context when doing string interpolation via the TemplateInterpolator.
3
- */
4
- export type ResolverContext = {
5
- donobu: Record<string, unknown>;
6
- };
7
- //# sourceMappingURL=ResolverContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ResolverContext.d.ts","sourceRoot":"","sources":["../../../src/models/ResolverContext.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAAC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=ResolverContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ResolverContext.js","sourceRoot":"","sources":["../../../src/models/ResolverContext.ts"],"names":[],"mappings":""}
@@ -1,36 +0,0 @@
1
- /**
2
- * This type defines the structure of the data source used when interpolating
3
- * templates in the context of tool calls.
4
- *
5
- * Note that unlike the ToolCall type, the data here is itself interpolated
6
- * from historical tool calls. For example, a ToolCall 'parameters' field
7
- * might look like...
8
- * {
9
- * "foo": "Hello {{$.calls[0].name}}",
10
- * }
11
- * ...if it was referencing the data from a past tool call. However, the
12
- * data here is the result of that interpolation, so it would look like...
13
- * {
14
- * "foo": "Hello foo",
15
- * }
16
- */
17
- export type ToolTemplateDataSource = {
18
- /**
19
- * The historical tool calls for the current Donobu flow.
20
- */
21
- calls: {
22
- /**
23
- * The name of the tool that was called.
24
- */
25
- name: string;
26
- /**
27
- * The arguments that were passed to the tool.
28
- */
29
- args: any;
30
- /**
31
- * The result of the tool call.
32
- */
33
- result: string;
34
- }[];
35
- };
36
- //# sourceMappingURL=ToolTemplateDataSource.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToolTemplateDataSource.d.ts","sourceRoot":"","sources":["../../../src/models/ToolTemplateDataSource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC;;OAEG;IACH,KAAK,EAAE;QACL;;WAEG;QACH,IAAI,EAAE,MAAM,CAAC;QACb;;WAEG;QACH,IAAI,EAAE,GAAG,CAAC;QACV;;WAEG;QACH,MAAM,EAAE,MAAM,CAAC;KAChB,EAAE,CAAC;CACL,CAAC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=ToolTemplateDataSource.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToolTemplateDataSource.js","sourceRoot":"","sources":["../../../src/models/ToolTemplateDataSource.ts"],"names":[],"mappings":""}
@@ -1,78 +0,0 @@
1
- import { TestFixture } from '@playwright/test';
2
- import type { Page } from '@playwright/test';
3
- import { FlowMetadata } from './models/FlowMetadata';
4
- import { BrowserStorageState } from './models/BrowserStorageState';
5
- import { BrowserStateReference } from './models/BrowserStateFlowReference';
6
- import { ToolCallResult } from './models/ToolCallResult';
7
- import { AnalyzePageTextToolCoreParameters } from './tools/AnalyzePageTextTool';
8
- import { AssertToolCoreParameters } from './tools/AssertTool';
9
- import { GptClient } from './clients/GptClient';
10
- import { SelectorBasedChooseSelectOptionToolParameters } from './tools/ChooseSelectOptionTool';
11
- import { SelectorBasedInputRandomizedEmailAddressToolParameters } from './tools/InputRandomizedEmailAddressTool';
12
- import { SelectorBasedInputTextToolParameters } from './tools/InputTextTool';
13
- import { SelectorBasedPressKeyToolParameters } from './tools/PressKeyTool';
14
- import { ScrollPageToolCoreParameters } from './tools/ScrollPageTool';
15
- import { SelectorBasedHoverOverElementToolParameters } from './tools/HoverOverElementTool';
16
- import { SelectorBasedClickToolParameters } from './tools/ClickTool';
17
- import { LanguageModel } from 'ai';
18
- import { AssertPageTextToolCoreParameters } from './tools/AssertPageTextTool';
19
- import { DonobuStack } from './managers/DonobuStack';
20
- /**
21
- * Extends the Page object with additional test-related methods.
22
- */
23
- interface DonobuExtendedPage extends Page {
24
- run(toolName: string, toolParams?: any): Promise<ToolCallResult>;
25
- analyzePageText(params: AnalyzePageTextToolCoreParameters): Promise<ToolCallResult>;
26
- assertPageText(params: AssertPageTextToolCoreParameters): Promise<ToolCallResult>;
27
- chooseSelectOption(params: SelectorBasedChooseSelectOptionToolParameters): Promise<ToolCallResult>;
28
- clickElement(params: SelectorBasedClickToolParameters): Promise<ToolCallResult>;
29
- createCookieReport(): Promise<ToolCallResult>;
30
- detectBrokenLinks(): Promise<ToolCallResult>;
31
- hoverOverElement(params: SelectorBasedHoverOverElementToolParameters): Promise<ToolCallResult>;
32
- inputRandomizedEmailAddress(params: SelectorBasedInputRandomizedEmailAddressToolParameters): Promise<ToolCallResult>;
33
- inputText(params: SelectorBasedInputTextToolParameters): Promise<ToolCallResult>;
34
- pressKey(params: SelectorBasedPressKeyToolParameters): Promise<ToolCallResult>;
35
- runAccessibilityTest(): Promise<ToolCallResult>;
36
- scroll(params: ScrollPageToolCoreParameters): Promise<ToolCallResult>;
37
- visuallyAssert(params: AssertToolCoreParameters): Promise<ToolCallResult>;
38
- _donobuFlowMetadata: FlowMetadata;
39
- }
40
- export declare function getOrCreateDonobuStack(): Promise<DonobuStack>;
41
- export declare function getBrowserStorageState(flowIdOrName: BrowserStateReference): Promise<BrowserStorageState>;
42
- export declare function getBrowserStorageStateFixture(flowIdOrName: BrowserStateReference): TestFixture<BrowserStorageState, any>;
43
- export declare function anthropicClient(modelName: string, apiKey?: string): Promise<GptClient>;
44
- export declare function anthropicClientFixture(modelName: string, apiKey?: string): TestFixture<GptClient, any>;
45
- export declare function anthropicAwsBedrockClient(modelName: string, region: string, accessKeyId?: string, secretAccessKey?: string): Promise<GptClient>;
46
- export declare function anthropicAwsBedrockClientFixture(modelName: string, region: string, accessKeyId?: string, secretAccessKey?: string): TestFixture<GptClient, any>;
47
- export declare function googleGeminiClient(modelName: string, apiKey?: string): Promise<GptClient>;
48
- export declare function googleGeminiClientFixture(modelName: string, apiKey?: string): TestFixture<GptClient, any>;
49
- export declare function openAiClient(modelName: string, apiKey?: string): Promise<GptClient>;
50
- export declare function openAiClientFixture(modelName: string, apiKey?: string): TestFixture<GptClient, any>;
51
- export declare function vercelAiClientFixture(model: LanguageModel): TestFixture<GptClient, any>;
52
- /**
53
- * This fixture resolves a GPT client based on environment variables.
54
- * Supplying different environment variables will result in different GPT
55
- * clients being created. Here is a mapping of client type to environment
56
- * variables for how to create the various types of clients...
57
- *
58
- * Anthropic GPT client requires:
59
- * - ANTHROPIC_API_KEY
60
- *
61
- * Google GPT client requires:
62
- * - GOOGLE_GENERATIVE_AI_API_KEY
63
- *
64
- * OpenAI GPT client requires:
65
- * - OPENAI_API_KEY
66
- *
67
- * If the modelName is not specified, it will be defaulted according to the
68
- * DEFAULT_GPT_MODEL_FOR_PLATFORM mapping.
69
- */
70
- export declare function gptClient(modelName?: string): Promise<GptClient>;
71
- export declare function gptClientFixture(modelName?: string): TestFixture<GptClient, any>;
72
- export * from 'playwright/test';
73
- export declare const test: import("@playwright/test").TestType<import("@playwright/test").PlaywrightTestArgs & import("@playwright/test").PlaywrightTestOptions & {
74
- storageState?: BrowserStorageState | Promise<BrowserStorageState>;
75
- gptClient?: GptClient;
76
- page: DonobuExtendedPage;
77
- }, import("@playwright/test").PlaywrightWorkerArgs & import("@playwright/test").PlaywrightWorkerOptions>;
78
- //# sourceMappingURL=test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/test.ts"],"names":[],"mappings":"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"}