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
@@ -0,0 +1,282 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ControlPanel = void 0;
7
+ const Logger_1 = require("../utils/Logger");
8
+ const PageClosedException_1 = require("../exceptions/PageClosedException");
9
+ const PlaywrightUtils_1 = require("../utils/PlaywrightUtils");
10
+ const MiscUtils_1 = require("../utils/MiscUtils");
11
+ const path_1 = __importDefault(require("path"));
12
+ /**
13
+ * Manages the integration and interaction with the Donobu control panel in web pages.
14
+ * Note that if the `isControlPanelEnabled` flow metadata state is false, all
15
+ * operations are no-ops.
16
+ *
17
+ * The control panel provides a user interface for interacting with automated flows in the browser,
18
+ * allowing users to pause, resume, and stop flows. The panel includes visual indicators of the
19
+ * current flow state and can be dragged around the page.
20
+ *
21
+ * Key features:
22
+ * - Reading and processing user interactions from the control panel
23
+ * - Showing/hiding the control panel
24
+ * - Updating the control panel state and headline text
25
+ * - Maintaining consistency across multiple pages in the same browser context
26
+ *
27
+ * @example
28
+ * // Check for user requests from the control panel
29
+ * const nextState = await controlPanel.popControlPanelNextDesiredState(browserContext);
30
+ * if (nextState === 'PAUSED') {
31
+ * // Handle pause request
32
+ * }
33
+ *
34
+ * // Update the control panel with current flow state
35
+ * await controlPanel.update(browserContext, "Executing action...");
36
+ */
37
+ class ControlPanel {
38
+ constructor(flowMetadata) {
39
+ this.flowMetadata = flowMetadata;
40
+ }
41
+ /**
42
+ * Reads and clears the next desired state from the control panel UI.
43
+ *
44
+ * This method checks if the user has requested a state change (pause, resume, or end)
45
+ * via the control panel interface. When called, it retrieves any pending state change
46
+ * request and clears the request from the UI to prevent duplicate processing.
47
+ *
48
+ * Note that the control panel does not have unlimited control over the flow -
49
+ * it is restricted to signaling intents to pause, resume, or end a flow.
50
+ *
51
+ * @param page - The Playwright Page object where the control panel exists
52
+ * @returns The requested state (as a State enum value) or null if no state change was requested
53
+ * @throws {PageClosedException} If the page has been closed while attempting to read the state
54
+ *
55
+ * @example
56
+ * const nextState = await controlPanel.popNextDesiredState(page);
57
+ * if (nextState === 'PAUSED') {
58
+ * // Handle the pause request
59
+ * flowMetadata.state = State.PAUSED;
60
+ * }
61
+ */
62
+ async popNextDesiredState(page) {
63
+ if (!this.flowMetadata.isControlPanelEnabled) {
64
+ return null;
65
+ }
66
+ await this.ensureControlPanelIsSetup(page.context());
67
+ try {
68
+ const desiredNextState = await page.evaluate(() => {
69
+ const tmpState = window.__donobu.nextState;
70
+ window.__donobu.nextState = null;
71
+ return tmpState;
72
+ });
73
+ if (desiredNextState) {
74
+ return desiredNextState;
75
+ }
76
+ }
77
+ catch (error) {
78
+ if (PlaywrightUtils_1.PlaywrightUtils.isPageClosedError(error)) {
79
+ throw new PageClosedException_1.PageClosedException();
80
+ }
81
+ else {
82
+ throw error;
83
+ }
84
+ }
85
+ return null;
86
+ }
87
+ /**
88
+ * Hides the control panel on all pages in the browser context.
89
+ *
90
+ * Sets the control panel's display style to 'none', making it invisible and
91
+ * preventing it from intercepting mouse events. This is useful when taking
92
+ * screenshots or when the control panel might interfere with user interactions.
93
+ *
94
+ * This method operates on all pages in the same browser context, ensuring
95
+ * consistent behavior if multiple tabs/windows are open.
96
+ *
97
+ * @param browserContext - The browser context to update pages on
98
+ * @returns A Promise that resolves when the operation is complete
99
+ */
100
+ async hide(browserContext) {
101
+ if (!this.flowMetadata.isControlPanelEnabled) {
102
+ return;
103
+ }
104
+ for (const page of browserContext.pages()) {
105
+ try {
106
+ await page.evaluate((panelId) => {
107
+ const element = document.querySelector(`#${panelId}`);
108
+ if (element) {
109
+ element.style.display = 'none';
110
+ }
111
+ }, ControlPanel.DONOBU_CONTROL_PANEL_ELEMENT_ID);
112
+ }
113
+ catch (error) {
114
+ if (PlaywrightUtils_1.PlaywrightUtils.isPageClosedError(error)) {
115
+ // Pass; this can happen normally.
116
+ }
117
+ else {
118
+ Logger_1.appLogger.error(`Unexpected exception while attempting to show control panel`, error);
119
+ }
120
+ }
121
+ }
122
+ }
123
+ /**
124
+ * Shows the control panel on all pages in the browser context.
125
+ *
126
+ * Resets the control panel's display property to make it visible again.
127
+ * This method will only show the control panel if it is enabled in the
128
+ * flow metadata.
129
+ *
130
+ * Like other control panel methods, this operates on all pages in the
131
+ * same browser context for consistency.
132
+ *
133
+ * @param browserContext - The browser context to update pages on
134
+ * @returns A Promise that resolves when the operation is complete
135
+ */
136
+ async show(browserContext) {
137
+ if (!this.flowMetadata.isControlPanelEnabled) {
138
+ return;
139
+ }
140
+ await this.ensureControlPanelIsSetup(browserContext);
141
+ for (const page of browserContext.pages()) {
142
+ try {
143
+ await page.evaluate((panelId) => {
144
+ const element = document.querySelector(`#${panelId}`);
145
+ if (element) {
146
+ element.style.display = 'block';
147
+ }
148
+ }, ControlPanel.DONOBU_CONTROL_PANEL_ELEMENT_ID);
149
+ }
150
+ catch (error) {
151
+ if (PlaywrightUtils_1.PlaywrightUtils.isPageClosedError(error)) {
152
+ // Pass; this can happen normally.
153
+ }
154
+ else {
155
+ Logger_1.appLogger.error(`Unexpected exception while attempting to show control panel`, error);
156
+ }
157
+ }
158
+ }
159
+ }
160
+ /**
161
+ * Updates the control panel state and optionally its headline text.
162
+ *
163
+ * This method updates the control panel on all pages in the browser context with
164
+ * the current flow state.
165
+ *
166
+ * If a headline string is provided, it also updates the title text displayed
167
+ * in the control panel. If the headline string is not provided, a default message
168
+ * appropriate for the current flow state is displayed.
169
+ *
170
+ * This method helps keep the UI in sync with the actual flow state and provides
171
+ * visual feedback to the user about the current operation.
172
+ *
173
+ * @param browserContext - The browser context to update pages on
174
+ * @param headline - Optional text to display in the panel headline
175
+ * @returns A Promise that resolves when the update operation is complete
176
+ *
177
+ * @example
178
+ * // Update all control panels with the current state and a custom message
179
+ * await controlPanel.update(
180
+ * browserContext,
181
+ * flowMetadata,
182
+ * "Entering login credentials..."
183
+ * );
184
+ */
185
+ async update(browserContext, headline) {
186
+ if (!this.flowMetadata.isControlPanelEnabled) {
187
+ return;
188
+ }
189
+ await this.ensureControlPanelIsSetup(browserContext);
190
+ if (!headline) {
191
+ headline = this.getDefaultControlPanelMessage();
192
+ }
193
+ const controlPanelQuerySelector = `#${ControlPanel.DONOBU_CONTROL_PANEL_ELEMENT_ID}`;
194
+ const controlPanelHeadlineQuerySelector = `#${ControlPanel.DONOBU_CONTROL_PANEL_HEADLINE_ELEMENT_ID}`;
195
+ for (const page of browserContext.pages()) {
196
+ try {
197
+ const controlPanel = page.locator(controlPanelQuerySelector).first();
198
+ if ((await controlPanel.count()) === 1) {
199
+ await controlPanel.evaluate((element, state) => {
200
+ element.donobuFlowState = state;
201
+ }, this.flowMetadata.state.toString());
202
+ if (headline) {
203
+ const controlPanelHeadline = page
204
+ .locator(controlPanelHeadlineQuerySelector)
205
+ .first();
206
+ if ((await controlPanelHeadline.count()) === 1) {
207
+ const escapedMessage = headline.replace(/[\\"']/g, '\\$&');
208
+ await controlPanelHeadline.evaluate((element, message) => {
209
+ element.textContent = message;
210
+ }, escapedMessage);
211
+ }
212
+ }
213
+ }
214
+ }
215
+ catch (error) {
216
+ if (PlaywrightUtils_1.PlaywrightUtils.isPageClosedError(error)) {
217
+ // Pass; this can happen normally.
218
+ }
219
+ else {
220
+ Logger_1.appLogger.error(`Unexpected exception while attempting to update control panel`, error);
221
+ }
222
+ }
223
+ }
224
+ }
225
+ getDefaultControlPanelMessage() {
226
+ // If the strings here are updated, you should also update the corresponding
227
+ // strings in 'control-panel.js', otherwise, you will get flickering in the
228
+ // control panel.
229
+ switch (this.flowMetadata.state) {
230
+ case 'UNSTARTED':
231
+ return 'Unstarted';
232
+ case 'INITIALIZING':
233
+ return 'Initializing';
234
+ case 'QUERYING_LLM_FOR_NEXT_ACTION':
235
+ return 'Thinking...';
236
+ case 'WAITING_ON_USER_FOR_NEXT_ACTION':
237
+ return 'Waiting on user...';
238
+ case 'PAUSED':
239
+ return 'Paused';
240
+ case 'RESUMING':
241
+ return 'Resuming';
242
+ default:
243
+ return '';
244
+ }
245
+ }
246
+ isHeadless() {
247
+ return this.flowMetadata.browser.using.type === 'device' &&
248
+ this.flowMetadata.browser.using.headless
249
+ ? true
250
+ : false;
251
+ }
252
+ async ensureControlPanelIsSetup(browserContext) {
253
+ if (this.isHeadless()) {
254
+ return;
255
+ }
256
+ for (const page of browserContext.pages()) {
257
+ try {
258
+ await page.evaluate(ControlPanel.INIT_SCRIPT);
259
+ }
260
+ catch (error) {
261
+ if (!PlaywrightUtils_1.PlaywrightUtils.isPageClosedError(error)) {
262
+ Logger_1.appLogger.error(`Error when evaluating ControlPanel.INIT_SCRIPT on page: ${page.url()})`, error);
263
+ }
264
+ }
265
+ }
266
+ }
267
+ }
268
+ exports.ControlPanel = ControlPanel;
269
+ ControlPanel.INIT_SCRIPT = MiscUtils_1.MiscUtils.getResourceFileAsString(path_1.default.join('control-panel.js'));
270
+ /**
271
+ * The HTML element ID for the control panel container.
272
+ *
273
+ * WARNING: If this ID is changed, you must also update the corresponding ID in
274
+ * {@link ControlPanel.INIT_SCRIPT}.
275
+ */
276
+ ControlPanel.DONOBU_CONTROL_PANEL_ELEMENT_ID = 'donobu-control-panel';
277
+ /**
278
+ * The HTML element ID for the headline text element in the control panel.
279
+ * This element displays the current state or action message.
280
+ */
281
+ ControlPanel.DONOBU_CONTROL_PANEL_HEADLINE_ELEMENT_ID = 'donobu-control-panel-title-text';
282
+ //# sourceMappingURL=ControlPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ControlPanel.js","sourceRoot":"","sources":["../../../src/managers/ControlPanel.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,8 @@ import { FocusedPage } from '../models/FocusedPage';
11
11
  import { DonobuFlowsManager } from './DonobuFlowsManager';
12
12
  import { BrowserFramework } from '../models/BrowserFramework';
13
13
  import { JSONSchema7 } from 'json-schema';
14
+ import { PageInspector } from './PageInspector';
15
+ import { ControlPanel } from './ControlPanel';
14
16
  /**
15
17
  * Return an object conforming to the given JSON-schema. The object will be
16
18
  * generated considering the given page and tool call history.
@@ -34,6 +36,8 @@ export declare class DonobuFlow {
34
36
  readonly metadata: FlowMetadata;
35
37
  private static readonly MAIN_MESSAGE_ELEMENT_LIST_MARKER;
36
38
  static readonly MAX_IMAGE_BYTES_FOR_LLM: number;
39
+ readonly pageInspector: PageInspector;
40
+ readonly controlPanel: ControlPanel;
37
41
  constructor(flowsManager: DonobuFlowsManager, browserFramework: BrowserFramework, persistence: FlowsPersistence, gptClient: GptClient | null, toolManager: ToolManager, interactionVisualizer: InteractionVisualizer, proposedToolCalls: ProposedToolCall<any>[], invokedToolCalls: ToolCall[], gptMessages: GptMessage[], focusedPage: FocusedPage, metadata: FlowMetadata);
38
42
  run(): Promise<void>;
39
43
  /**
@@ -64,7 +68,6 @@ export declare class DonobuFlow {
64
68
  private static invokeFlowFinishedCallback;
65
69
  private onDialog;
66
70
  private maybeUpdateControlPanel;
67
- private getControlPanelMessage;
68
71
  /**
69
72
  * Transitions the flow to its next state. After this method completes, the
70
73
  * `this.metadata.state` will have been updated and the
@@ -72,7 +75,6 @@ export declare class DonobuFlow {
72
75
  */
73
76
  private transitionState;
74
77
  private maybeForceEnableControlPanel;
75
- private isHeadless;
76
78
  private setupInitScriptsAndBindings;
77
79
  /**
78
80
  * Returns an object formatted according to the following priority:
@@ -113,15 +115,6 @@ export declare class DonobuFlow {
113
115
  */
114
116
  private queryGptWithRetry;
115
117
  private updateTokenCounts;
116
- /**
117
- * Takes a screenshot of the webpage as if it were scrolled down by one viewport.
118
- * If the page cannot be scrolled down (already at the bottom), returns undefined.
119
- * After taking the screenshot, it reverts to the original scroll position.
120
- *
121
- * @param page The Playwright Page to take a screenshot of
122
- * @returns An image buffer of the scrolled down view, or undefined if scrolling isn't possible
123
- */
124
- private getScrolledDownScreenShot;
125
118
  private static createSystemMessageForOverallObjective;
126
119
  private static createMainUserMessage;
127
120
  /**
@@ -129,6 +122,5 @@ export declare class DonobuFlow {
129
122
  * from old messages.
130
123
  */
131
124
  private static createOptimizedHistoryForGptCall;
132
- private setupDonobuControlPanel;
133
125
  }
134
126
  //# sourceMappingURL=DonobuFlow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DonobuFlow.d.ts","sourceRoot":"","sources":["../../../src/managers/DonobuFlow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DonobuFlow.d.ts","sourceRoot":"","sources":["../../../src/managers/DonobuFlow.ts"],"names":[],"mappings":"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"}