donobu 2.15.0 → 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 (402) hide show
  1. package/dist/apis/FlowsFilesApi.d.ts.map +1 -1
  2. package/dist/apis/FlowsFilesApi.js +5 -2
  3. package/dist/apis/FlowsFilesApi.js.map +1 -1
  4. package/dist/assets/control-panel.js +30 -3
  5. package/dist/assets/generated/parameter-schemas.json +118 -17
  6. package/dist/assets/generated/version +1 -1
  7. package/dist/assets/interactive-elements-tracker.js +351 -0
  8. package/dist/assets/page-interactions-tracker.js +39 -20
  9. package/dist/assets/smart-selector-generator.js +38 -15
  10. package/dist/bindings/FocusPage.d.ts +6 -1
  11. package/dist/bindings/FocusPage.d.ts.map +1 -1
  12. package/dist/bindings/FocusPage.js +2 -8
  13. package/dist/bindings/FocusPage.js.map +1 -1
  14. package/dist/bindings/PageInteractionTracker.d.ts +9 -2
  15. package/dist/bindings/PageInteractionTracker.d.ts.map +1 -1
  16. package/dist/bindings/PageInteractionTracker.js +29 -5
  17. package/dist/bindings/PageInteractionTracker.js.map +1 -1
  18. package/dist/bindings/ProposeToolCall.d.ts +20 -0
  19. package/dist/bindings/ProposeToolCall.d.ts.map +1 -0
  20. package/dist/bindings/ProposeToolCall.js +29 -0
  21. package/dist/bindings/ProposeToolCall.js.map +1 -0
  22. package/dist/bindings/ToggleDonobuAnnotations.d.ts +5 -2
  23. package/dist/bindings/ToggleDonobuAnnotations.d.ts.map +1 -1
  24. package/dist/bindings/ToggleDonobuAnnotations.js +12 -6
  25. package/dist/bindings/ToggleDonobuAnnotations.js.map +1 -1
  26. package/dist/clients/AnthropicAwsBedrockGptClient.d.ts +1 -20
  27. package/dist/clients/AnthropicAwsBedrockGptClient.d.ts.map +1 -1
  28. package/dist/clients/AnthropicAwsBedrockGptClient.js +12 -329
  29. package/dist/clients/AnthropicAwsBedrockGptClient.js.map +1 -1
  30. package/dist/clients/AnthropicGptClient.d.ts +0 -8
  31. package/dist/clients/AnthropicGptClient.d.ts.map +1 -1
  32. package/dist/clients/AnthropicGptClient.js +8 -22
  33. package/dist/clients/AnthropicGptClient.js.map +1 -1
  34. package/dist/clients/GoogleGptClient.d.ts +4 -20
  35. package/dist/clients/GoogleGptClient.d.ts.map +1 -1
  36. package/dist/clients/GoogleGptClient.js +23 -299
  37. package/dist/clients/GoogleGptClient.js.map +1 -1
  38. package/dist/clients/OpenAiGptClient.d.ts +0 -6
  39. package/dist/clients/OpenAiGptClient.d.ts.map +1 -1
  40. package/dist/clients/OpenAiGptClient.js +4 -8
  41. package/dist/clients/OpenAiGptClient.js.map +1 -1
  42. package/dist/clients/VercelAiGptClient.d.ts +3 -1
  43. package/dist/clients/VercelAiGptClient.d.ts.map +1 -1
  44. package/dist/clients/VercelAiGptClient.js +18 -14
  45. package/dist/clients/VercelAiGptClient.js.map +1 -1
  46. package/dist/esm/apis/FlowsFilesApi.d.ts.map +1 -1
  47. package/dist/esm/apis/FlowsFilesApi.js +5 -2
  48. package/dist/esm/apis/FlowsFilesApi.js.map +1 -1
  49. package/dist/esm/assets/control-panel.js +30 -3
  50. package/dist/esm/assets/generated/parameter-schemas.json +118 -17
  51. package/dist/esm/assets/generated/version +1 -1
  52. package/dist/esm/assets/interactive-elements-tracker.js +351 -0
  53. package/dist/esm/assets/page-interactions-tracker.js +39 -20
  54. package/dist/esm/assets/smart-selector-generator.js +38 -15
  55. package/dist/esm/bindings/FocusPage.d.ts +6 -1
  56. package/dist/esm/bindings/FocusPage.d.ts.map +1 -1
  57. package/dist/esm/bindings/FocusPage.js +2 -8
  58. package/dist/esm/bindings/FocusPage.js.map +1 -1
  59. package/dist/esm/bindings/PageInteractionTracker.d.ts +9 -2
  60. package/dist/esm/bindings/PageInteractionTracker.d.ts.map +1 -1
  61. package/dist/esm/bindings/PageInteractionTracker.js +29 -5
  62. package/dist/esm/bindings/PageInteractionTracker.js.map +1 -1
  63. package/dist/esm/bindings/ProposeToolCall.d.ts +20 -0
  64. package/dist/esm/bindings/ProposeToolCall.d.ts.map +1 -0
  65. package/dist/esm/bindings/ProposeToolCall.js +29 -0
  66. package/dist/esm/bindings/ProposeToolCall.js.map +1 -0
  67. package/dist/esm/bindings/ToggleDonobuAnnotations.d.ts +5 -2
  68. package/dist/esm/bindings/ToggleDonobuAnnotations.d.ts.map +1 -1
  69. package/dist/esm/bindings/ToggleDonobuAnnotations.js +12 -6
  70. package/dist/esm/bindings/ToggleDonobuAnnotations.js.map +1 -1
  71. package/dist/esm/clients/AnthropicAwsBedrockGptClient.d.ts +1 -20
  72. package/dist/esm/clients/AnthropicAwsBedrockGptClient.d.ts.map +1 -1
  73. package/dist/esm/clients/AnthropicAwsBedrockGptClient.js +12 -329
  74. package/dist/esm/clients/AnthropicAwsBedrockGptClient.js.map +1 -1
  75. package/dist/esm/clients/AnthropicGptClient.d.ts +0 -8
  76. package/dist/esm/clients/AnthropicGptClient.d.ts.map +1 -1
  77. package/dist/esm/clients/AnthropicGptClient.js +8 -22
  78. package/dist/esm/clients/AnthropicGptClient.js.map +1 -1
  79. package/dist/esm/clients/GoogleGptClient.d.ts +4 -20
  80. package/dist/esm/clients/GoogleGptClient.d.ts.map +1 -1
  81. package/dist/esm/clients/GoogleGptClient.js +23 -299
  82. package/dist/esm/clients/GoogleGptClient.js.map +1 -1
  83. package/dist/esm/clients/OpenAiGptClient.d.ts +0 -6
  84. package/dist/esm/clients/OpenAiGptClient.d.ts.map +1 -1
  85. package/dist/esm/clients/OpenAiGptClient.js +4 -8
  86. package/dist/esm/clients/OpenAiGptClient.js.map +1 -1
  87. package/dist/esm/clients/VercelAiGptClient.d.ts +3 -1
  88. package/dist/esm/clients/VercelAiGptClient.d.ts.map +1 -1
  89. package/dist/esm/clients/VercelAiGptClient.js +18 -14
  90. package/dist/esm/clients/VercelAiGptClient.js.map +1 -1
  91. package/dist/esm/managers/CodeGenerator.d.ts.map +1 -1
  92. package/dist/esm/managers/CodeGenerator.js +2 -1
  93. package/dist/esm/managers/CodeGenerator.js.map +1 -1
  94. package/dist/esm/managers/ControlPanel.d.ts +124 -0
  95. package/dist/esm/managers/ControlPanel.d.ts.map +1 -0
  96. package/dist/esm/managers/ControlPanel.js +282 -0
  97. package/dist/esm/managers/ControlPanel.js.map +1 -0
  98. package/dist/esm/managers/DonobuFlow.d.ts +9 -13
  99. package/dist/esm/managers/DonobuFlow.d.ts.map +1 -1
  100. package/dist/esm/managers/DonobuFlow.js +123 -172
  101. package/dist/esm/managers/DonobuFlow.js.map +1 -1
  102. package/dist/esm/managers/InteractionVisualizer.d.ts +9 -15
  103. package/dist/esm/managers/InteractionVisualizer.d.ts.map +1 -1
  104. package/dist/esm/managers/InteractionVisualizer.js +44 -44
  105. package/dist/esm/managers/InteractionVisualizer.js.map +1 -1
  106. package/dist/esm/managers/PageInspector.d.ts +242 -0
  107. package/dist/esm/managers/PageInspector.d.ts.map +1 -0
  108. package/dist/esm/managers/PageInspector.js +783 -0
  109. package/dist/esm/managers/PageInspector.js.map +1 -0
  110. package/dist/esm/managers/ToolManager.d.ts.map +1 -1
  111. package/dist/esm/managers/ToolManager.js +4 -6
  112. package/dist/esm/managers/ToolManager.js.map +1 -1
  113. package/dist/esm/models/GptMessage.d.ts +3 -3
  114. package/dist/esm/models/GptMessage.d.ts.map +1 -1
  115. package/dist/esm/models/InteractableElement.d.ts +2 -2
  116. package/dist/esm/models/ToolCallContext.d.ts +6 -2
  117. package/dist/esm/models/ToolCallContext.d.ts.map +1 -1
  118. package/dist/esm/persistence/FlowsPersistence.d.ts +4 -4
  119. package/dist/esm/persistence/FlowsPersistence.d.ts.map +1 -1
  120. package/dist/esm/persistence/FlowsPersistenceAwsS3.d.ts +2 -3
  121. package/dist/esm/persistence/FlowsPersistenceAwsS3.d.ts.map +1 -1
  122. package/dist/esm/persistence/FlowsPersistenceAwsS3.js +8 -6
  123. package/dist/esm/persistence/FlowsPersistenceAwsS3.js.map +1 -1
  124. package/dist/esm/persistence/FlowsPersistenceFilesystem.d.ts +2 -3
  125. package/dist/esm/persistence/FlowsPersistenceFilesystem.d.ts.map +1 -1
  126. package/dist/esm/persistence/FlowsPersistenceFilesystem.js +5 -4
  127. package/dist/esm/persistence/FlowsPersistenceFilesystem.js.map +1 -1
  128. package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.d.ts +2 -3
  129. package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.d.ts.map +1 -1
  130. package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.js +7 -5
  131. package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.js.map +1 -1
  132. package/dist/esm/persistence/FlowsPersistenceSqlite.d.ts +2 -3
  133. package/dist/esm/persistence/FlowsPersistenceSqlite.d.ts.map +1 -1
  134. package/dist/esm/persistence/FlowsPersistenceSqlite.js +8 -6
  135. package/dist/esm/persistence/FlowsPersistenceSqlite.js.map +1 -1
  136. package/dist/esm/persistence/FlowsPersistenceSupabase.d.ts +2 -2
  137. package/dist/esm/persistence/FlowsPersistenceSupabase.d.ts.map +1 -1
  138. package/dist/esm/persistence/FlowsPersistenceSupabase.js +5 -3
  139. package/dist/esm/persistence/FlowsPersistenceSupabase.js.map +1 -1
  140. package/dist/esm/persistence/FlowsPersistenceVolatile.d.ts +2 -2
  141. package/dist/esm/persistence/FlowsPersistenceVolatile.d.ts.map +1 -1
  142. package/dist/esm/persistence/FlowsPersistenceVolatile.js +5 -3
  143. package/dist/esm/persistence/FlowsPersistenceVolatile.js.map +1 -1
  144. package/dist/esm/playwrightTestExtensions.d.ts +5 -0
  145. package/dist/esm/playwrightTestExtensions.d.ts.map +1 -1
  146. package/dist/esm/playwrightTestExtensions.js +56 -17
  147. package/dist/esm/playwrightTestExtensions.js.map +1 -1
  148. package/dist/esm/tools/AnalyzePageTextTool.js +1 -1
  149. package/dist/esm/tools/AnalyzePageTextTool.js.map +1 -1
  150. package/dist/esm/tools/AssertPageTextTool.js +1 -1
  151. package/dist/esm/tools/AssertPageTextTool.js.map +1 -1
  152. package/dist/esm/tools/AssertTool.d.ts.map +1 -1
  153. package/dist/esm/tools/AssertTool.js +5 -5
  154. package/dist/esm/tools/AssertTool.js.map +1 -1
  155. package/dist/esm/tools/ChangeWebBrowserTabTool.d.ts.map +1 -1
  156. package/dist/esm/tools/ChangeWebBrowserTabTool.js +8 -7
  157. package/dist/esm/tools/ChangeWebBrowserTabTool.js.map +1 -1
  158. package/dist/esm/tools/ClickTool.js +1 -1
  159. package/dist/esm/tools/ClickTool.js.map +1 -1
  160. package/dist/esm/tools/CreateBrowserCookieReportTool.js +1 -1
  161. package/dist/esm/tools/CreateBrowserCookieReportTool.js.map +1 -1
  162. package/dist/esm/tools/CustomToolRunnerTool.d.ts.map +1 -1
  163. package/dist/esm/tools/CustomToolRunnerTool.js +1 -1
  164. package/dist/esm/tools/CustomToolRunnerTool.js.map +1 -1
  165. package/dist/esm/tools/DetectBrokenLinksTool.d.ts.map +1 -1
  166. package/dist/esm/tools/DetectBrokenLinksTool.js +5 -3
  167. package/dist/esm/tools/DetectBrokenLinksTool.js.map +1 -1
  168. package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.js +4 -4
  169. package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.js.map +1 -1
  170. package/dist/esm/tools/ExtractPaymentProviderKeyTool.js +1 -1
  171. package/dist/esm/tools/ExtractPaymentProviderKeyTool.js.map +1 -1
  172. package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.js +1 -1
  173. package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.js.map +1 -1
  174. package/dist/esm/tools/GoForwardOrBackTool.js +1 -1
  175. package/dist/esm/tools/GoForwardOrBackTool.js.map +1 -1
  176. package/dist/esm/tools/GoToGoogleMapsStreetViewTool.js +1 -1
  177. package/dist/esm/tools/GoToGoogleMapsStreetViewTool.js.map +1 -1
  178. package/dist/esm/tools/GoToWebpageTool.js +1 -1
  179. package/dist/esm/tools/GoToWebpageTool.js.map +1 -1
  180. package/dist/esm/tools/HoverOverElementTool.d.ts.map +1 -1
  181. package/dist/esm/tools/HoverOverElementTool.js +1 -1
  182. package/dist/esm/tools/HoverOverElementTool.js.map +1 -1
  183. package/dist/esm/tools/NavigateWithinStreetView.js +1 -1
  184. package/dist/esm/tools/NavigateWithinStreetView.js.map +1 -1
  185. package/dist/esm/tools/PressKeyTool.js +1 -1
  186. package/dist/esm/tools/PressKeyTool.js.map +1 -1
  187. package/dist/esm/tools/ReloadPageTool.js +1 -1
  188. package/dist/esm/tools/ReloadPageTool.js.map +1 -1
  189. package/dist/esm/tools/ReplayableInteraction.d.ts +16 -1
  190. package/dist/esm/tools/ReplayableInteraction.d.ts.map +1 -1
  191. package/dist/esm/tools/ReplayableInteraction.js +169 -16
  192. package/dist/esm/tools/ReplayableInteraction.js.map +1 -1
  193. package/dist/esm/tools/RunAccessibilityTestTool.d.ts +8 -0
  194. package/dist/esm/tools/RunAccessibilityTestTool.d.ts.map +1 -1
  195. package/dist/esm/tools/RunAccessibilityTestTool.js +15 -2
  196. package/dist/esm/tools/RunAccessibilityTestTool.js.map +1 -1
  197. package/dist/esm/tools/RunInlineJavaScriptCodeTool.d.ts.map +1 -1
  198. package/dist/esm/tools/RunInlineJavaScriptCodeTool.js +1 -1
  199. package/dist/esm/tools/RunInlineJavaScriptCodeTool.js.map +1 -1
  200. package/dist/esm/tools/SaveWebpageAsPdfTool.js +1 -1
  201. package/dist/esm/tools/SaveWebpageAsPdfTool.js.map +1 -1
  202. package/dist/esm/tools/ScrollPageTool.d.ts +1 -1
  203. package/dist/esm/tools/ScrollPageTool.d.ts.map +1 -1
  204. package/dist/esm/tools/ScrollPageTool.js +47 -4
  205. package/dist/esm/tools/ScrollPageTool.js.map +1 -1
  206. package/dist/esm/tools/WaitTool.js +1 -1
  207. package/dist/esm/tools/WaitTool.js.map +1 -1
  208. package/dist/esm/utils/MiscUtils.d.ts +10 -13
  209. package/dist/esm/utils/MiscUtils.d.ts.map +1 -1
  210. package/dist/esm/utils/MiscUtils.js +92 -56
  211. package/dist/esm/utils/MiscUtils.js.map +1 -1
  212. package/dist/esm/utils/PlaywrightUtils.d.ts +32 -130
  213. package/dist/esm/utils/PlaywrightUtils.d.ts.map +1 -1
  214. package/dist/esm/utils/PlaywrightUtils.js +140 -938
  215. package/dist/esm/utils/PlaywrightUtils.js.map +1 -1
  216. package/dist/managers/CodeGenerator.d.ts.map +1 -1
  217. package/dist/managers/CodeGenerator.js +2 -1
  218. package/dist/managers/CodeGenerator.js.map +1 -1
  219. package/dist/managers/ControlPanel.d.ts +124 -0
  220. package/dist/managers/ControlPanel.d.ts.map +1 -0
  221. package/dist/managers/ControlPanel.js +282 -0
  222. package/dist/managers/ControlPanel.js.map +1 -0
  223. package/dist/managers/DonobuFlow.d.ts +9 -13
  224. package/dist/managers/DonobuFlow.d.ts.map +1 -1
  225. package/dist/managers/DonobuFlow.js +123 -172
  226. package/dist/managers/DonobuFlow.js.map +1 -1
  227. package/dist/managers/InteractionVisualizer.d.ts +9 -15
  228. package/dist/managers/InteractionVisualizer.d.ts.map +1 -1
  229. package/dist/managers/InteractionVisualizer.js +44 -44
  230. package/dist/managers/InteractionVisualizer.js.map +1 -1
  231. package/dist/managers/PageInspector.d.ts +242 -0
  232. package/dist/managers/PageInspector.d.ts.map +1 -0
  233. package/dist/managers/PageInspector.js +783 -0
  234. package/dist/managers/PageInspector.js.map +1 -0
  235. package/dist/managers/ToolManager.d.ts.map +1 -1
  236. package/dist/managers/ToolManager.js +4 -6
  237. package/dist/managers/ToolManager.js.map +1 -1
  238. package/dist/models/GptMessage.d.ts +3 -3
  239. package/dist/models/GptMessage.d.ts.map +1 -1
  240. package/dist/models/InteractableElement.d.ts +2 -2
  241. package/dist/models/ToolCallContext.d.ts +6 -2
  242. package/dist/models/ToolCallContext.d.ts.map +1 -1
  243. package/dist/persistence/FlowsPersistence.d.ts +4 -4
  244. package/dist/persistence/FlowsPersistence.d.ts.map +1 -1
  245. package/dist/persistence/FlowsPersistenceAwsS3.d.ts +2 -3
  246. package/dist/persistence/FlowsPersistenceAwsS3.d.ts.map +1 -1
  247. package/dist/persistence/FlowsPersistenceAwsS3.js +8 -6
  248. package/dist/persistence/FlowsPersistenceAwsS3.js.map +1 -1
  249. package/dist/persistence/FlowsPersistenceFilesystem.d.ts +2 -3
  250. package/dist/persistence/FlowsPersistenceFilesystem.d.ts.map +1 -1
  251. package/dist/persistence/FlowsPersistenceFilesystem.js +5 -4
  252. package/dist/persistence/FlowsPersistenceFilesystem.js.map +1 -1
  253. package/dist/persistence/FlowsPersistenceGoogleCloudStorage.d.ts +2 -3
  254. package/dist/persistence/FlowsPersistenceGoogleCloudStorage.d.ts.map +1 -1
  255. package/dist/persistence/FlowsPersistenceGoogleCloudStorage.js +7 -5
  256. package/dist/persistence/FlowsPersistenceGoogleCloudStorage.js.map +1 -1
  257. package/dist/persistence/FlowsPersistenceSqlite.d.ts +2 -3
  258. package/dist/persistence/FlowsPersistenceSqlite.d.ts.map +1 -1
  259. package/dist/persistence/FlowsPersistenceSqlite.js +8 -6
  260. package/dist/persistence/FlowsPersistenceSqlite.js.map +1 -1
  261. package/dist/persistence/FlowsPersistenceSupabase.d.ts +2 -2
  262. package/dist/persistence/FlowsPersistenceSupabase.d.ts.map +1 -1
  263. package/dist/persistence/FlowsPersistenceSupabase.js +5 -3
  264. package/dist/persistence/FlowsPersistenceSupabase.js.map +1 -1
  265. package/dist/persistence/FlowsPersistenceVolatile.d.ts +2 -2
  266. package/dist/persistence/FlowsPersistenceVolatile.d.ts.map +1 -1
  267. package/dist/persistence/FlowsPersistenceVolatile.js +5 -3
  268. package/dist/persistence/FlowsPersistenceVolatile.js.map +1 -1
  269. package/dist/playwrightTestExtensions.d.ts +5 -0
  270. package/dist/playwrightTestExtensions.d.ts.map +1 -1
  271. package/dist/playwrightTestExtensions.js +56 -17
  272. package/dist/playwrightTestExtensions.js.map +1 -1
  273. package/dist/tools/AnalyzePageTextTool.js +1 -1
  274. package/dist/tools/AnalyzePageTextTool.js.map +1 -1
  275. package/dist/tools/AssertPageTextTool.js +1 -1
  276. package/dist/tools/AssertPageTextTool.js.map +1 -1
  277. package/dist/tools/AssertTool.d.ts.map +1 -1
  278. package/dist/tools/AssertTool.js +5 -5
  279. package/dist/tools/AssertTool.js.map +1 -1
  280. package/dist/tools/ChangeWebBrowserTabTool.d.ts.map +1 -1
  281. package/dist/tools/ChangeWebBrowserTabTool.js +8 -7
  282. package/dist/tools/ChangeWebBrowserTabTool.js.map +1 -1
  283. package/dist/tools/ClickTool.js +1 -1
  284. package/dist/tools/ClickTool.js.map +1 -1
  285. package/dist/tools/CreateBrowserCookieReportTool.js +1 -1
  286. package/dist/tools/CreateBrowserCookieReportTool.js.map +1 -1
  287. package/dist/tools/CustomToolRunnerTool.d.ts.map +1 -1
  288. package/dist/tools/CustomToolRunnerTool.js +1 -1
  289. package/dist/tools/CustomToolRunnerTool.js.map +1 -1
  290. package/dist/tools/DetectBrokenLinksTool.d.ts.map +1 -1
  291. package/dist/tools/DetectBrokenLinksTool.js +5 -3
  292. package/dist/tools/DetectBrokenLinksTool.js.map +1 -1
  293. package/dist/tools/ExtractGoogleStreetviewEntityDataTool.js +4 -4
  294. package/dist/tools/ExtractGoogleStreetviewEntityDataTool.js.map +1 -1
  295. package/dist/tools/ExtractPaymentProviderKeyTool.js +1 -1
  296. package/dist/tools/ExtractPaymentProviderKeyTool.js.map +1 -1
  297. package/dist/tools/ExtractPublicFacebookEntityDataTool.js +1 -1
  298. package/dist/tools/ExtractPublicFacebookEntityDataTool.js.map +1 -1
  299. package/dist/tools/GoForwardOrBackTool.js +1 -1
  300. package/dist/tools/GoForwardOrBackTool.js.map +1 -1
  301. package/dist/tools/GoToGoogleMapsStreetViewTool.js +1 -1
  302. package/dist/tools/GoToGoogleMapsStreetViewTool.js.map +1 -1
  303. package/dist/tools/GoToWebpageTool.js +1 -1
  304. package/dist/tools/GoToWebpageTool.js.map +1 -1
  305. package/dist/tools/HoverOverElementTool.d.ts.map +1 -1
  306. package/dist/tools/HoverOverElementTool.js +1 -1
  307. package/dist/tools/HoverOverElementTool.js.map +1 -1
  308. package/dist/tools/NavigateWithinStreetView.js +1 -1
  309. package/dist/tools/NavigateWithinStreetView.js.map +1 -1
  310. package/dist/tools/PressKeyTool.js +1 -1
  311. package/dist/tools/PressKeyTool.js.map +1 -1
  312. package/dist/tools/ReloadPageTool.js +1 -1
  313. package/dist/tools/ReloadPageTool.js.map +1 -1
  314. package/dist/tools/ReplayableInteraction.d.ts +16 -1
  315. package/dist/tools/ReplayableInteraction.d.ts.map +1 -1
  316. package/dist/tools/ReplayableInteraction.js +169 -16
  317. package/dist/tools/ReplayableInteraction.js.map +1 -1
  318. package/dist/tools/RunAccessibilityTestTool.d.ts +8 -0
  319. package/dist/tools/RunAccessibilityTestTool.d.ts.map +1 -1
  320. package/dist/tools/RunAccessibilityTestTool.js +15 -2
  321. package/dist/tools/RunAccessibilityTestTool.js.map +1 -1
  322. package/dist/tools/RunInlineJavaScriptCodeTool.d.ts.map +1 -1
  323. package/dist/tools/RunInlineJavaScriptCodeTool.js +1 -1
  324. package/dist/tools/RunInlineJavaScriptCodeTool.js.map +1 -1
  325. package/dist/tools/SaveWebpageAsPdfTool.js +1 -1
  326. package/dist/tools/SaveWebpageAsPdfTool.js.map +1 -1
  327. package/dist/tools/ScrollPageTool.d.ts +1 -1
  328. package/dist/tools/ScrollPageTool.d.ts.map +1 -1
  329. package/dist/tools/ScrollPageTool.js +47 -4
  330. package/dist/tools/ScrollPageTool.js.map +1 -1
  331. package/dist/tools/WaitTool.js +1 -1
  332. package/dist/tools/WaitTool.js.map +1 -1
  333. package/dist/utils/MiscUtils.d.ts +10 -13
  334. package/dist/utils/MiscUtils.d.ts.map +1 -1
  335. package/dist/utils/MiscUtils.js +92 -56
  336. package/dist/utils/MiscUtils.js.map +1 -1
  337. package/dist/utils/PlaywrightUtils.d.ts +32 -130
  338. package/dist/utils/PlaywrightUtils.d.ts.map +1 -1
  339. package/dist/utils/PlaywrightUtils.js +140 -938
  340. package/dist/utils/PlaywrightUtils.js.map +1 -1
  341. package/package.json +4 -2
  342. package/dist/assets/clickable-elements-tracker.js +0 -63
  343. package/dist/assets/zaru-eyes.html +0 -141
  344. package/dist/esm/assets/clickable-elements-tracker.js +0 -63
  345. package/dist/esm/assets/zaru-eyes.html +0 -141
  346. package/dist/esm/managers/TemplateInterpolator.d.ts +0 -19
  347. package/dist/esm/managers/TemplateInterpolator.d.ts.map +0 -1
  348. package/dist/esm/managers/TemplateInterpolator.js +0 -86
  349. package/dist/esm/managers/TemplateInterpolator.js.map +0 -1
  350. package/dist/esm/managers/ToolTipper.d.ts +0 -32
  351. package/dist/esm/managers/ToolTipper.d.ts.map +0 -1
  352. package/dist/esm/managers/ToolTipper.js +0 -229
  353. package/dist/esm/managers/ToolTipper.js.map +0 -1
  354. package/dist/esm/models/BrowserState.d.ts +0 -26
  355. package/dist/esm/models/BrowserState.d.ts.map +0 -1
  356. package/dist/esm/models/BrowserState.js +0 -3
  357. package/dist/esm/models/BrowserState.js.map +0 -1
  358. package/dist/esm/models/ResolverContext.d.ts +0 -7
  359. package/dist/esm/models/ResolverContext.d.ts.map +0 -1
  360. package/dist/esm/models/ResolverContext.js +0 -3
  361. package/dist/esm/models/ResolverContext.js.map +0 -1
  362. package/dist/esm/models/ToolTemplateDataSource.d.ts +0 -36
  363. package/dist/esm/models/ToolTemplateDataSource.d.ts.map +0 -1
  364. package/dist/esm/models/ToolTemplateDataSource.js +0 -3
  365. package/dist/esm/models/ToolTemplateDataSource.js.map +0 -1
  366. package/dist/esm/test.d.ts +0 -78
  367. package/dist/esm/test.d.ts.map +0 -1
  368. package/dist/esm/test.js +0 -423
  369. package/dist/esm/test.js.map +0 -1
  370. package/dist/esm/utils/TemplateInterpolator.d.ts +0 -29
  371. package/dist/esm/utils/TemplateInterpolator.d.ts.map +0 -1
  372. package/dist/esm/utils/TemplateInterpolator.js +0 -206
  373. package/dist/esm/utils/TemplateInterpolator.js.map +0 -1
  374. package/dist/managers/TemplateInterpolator.d.ts +0 -19
  375. package/dist/managers/TemplateInterpolator.d.ts.map +0 -1
  376. package/dist/managers/TemplateInterpolator.js +0 -86
  377. package/dist/managers/TemplateInterpolator.js.map +0 -1
  378. package/dist/managers/ToolTipper.d.ts +0 -32
  379. package/dist/managers/ToolTipper.d.ts.map +0 -1
  380. package/dist/managers/ToolTipper.js +0 -229
  381. package/dist/managers/ToolTipper.js.map +0 -1
  382. package/dist/models/BrowserState.d.ts +0 -26
  383. package/dist/models/BrowserState.d.ts.map +0 -1
  384. package/dist/models/BrowserState.js +0 -3
  385. package/dist/models/BrowserState.js.map +0 -1
  386. package/dist/models/ResolverContext.d.ts +0 -7
  387. package/dist/models/ResolverContext.d.ts.map +0 -1
  388. package/dist/models/ResolverContext.js +0 -3
  389. package/dist/models/ResolverContext.js.map +0 -1
  390. package/dist/models/ToolTemplateDataSource.d.ts +0 -36
  391. package/dist/models/ToolTemplateDataSource.d.ts.map +0 -1
  392. package/dist/models/ToolTemplateDataSource.js +0 -3
  393. package/dist/models/ToolTemplateDataSource.js.map +0 -1
  394. package/dist/test.d.ts +0 -78
  395. package/dist/test.d.ts.map +0 -1
  396. package/dist/test.js +0 -423
  397. package/dist/test.js.map +0 -1
  398. package/dist/tsconfig.esm.tsbuildinfo +0 -1
  399. package/dist/utils/TemplateInterpolator.d.ts +0 -29
  400. package/dist/utils/TemplateInterpolator.d.ts.map +0 -1
  401. package/dist/utils/TemplateInterpolator.js +0 -211
  402. package/dist/utils/TemplateInterpolator.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollPageTool.js","sourceRoot":"","sources":["../../../src/tools/ScrollPageTool.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAE9B,6DAA0D;AAa1D,MAAa,cAAe,SAAQ,WAGnC;IAGC;QACE,KAAK,CACH,cAAc,CAAC,IAAI,EACnB;wEACkE,EAClE,8BAA8B,EAC9B,6BAA6B,CAC9B,CAAC;IACJ,CAAC;IAEe,KAAK,CAAC,IAAI,CACxB,OAAwB,EACxB,UAAwC;QAExC,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CACtB,MAAM,EACN,UAAU,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CACxD,CAAC;QACF,OAAO,+BAAc,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;IAEe,KAAK,CAAC,WAAW,CAC/B,OAAwB,EACxB,UAAuC;QAEvC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC;;AAhCH,wCAiCC;AA7BwB,mBAAI,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"ScrollPageTool.js","sourceRoot":"","sources":["../../../src/tools/ScrollPageTool.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ class WaitTool extends Tool_1.Tool {
8
8
  super(WaitTool.NAME, 'Wait the given number of seconds.', 'WaitToolCoreParameters', 'WaitToolGptParameters');
9
9
  }
10
10
  async call(context, parameters) {
11
- await context.page.waitForTimeout(parameters.seconds * 1000);
11
+ await context.page.current.waitForTimeout(parameters.seconds * 1000);
12
12
  return ToolCallResult_1.ToolCallResult.successful();
13
13
  }
14
14
  async callFromGpt(context, parameters) {
@@ -1 +1 @@
1
- {"version":3,"file":"WaitTool.js","sourceRoot":"","sources":["../../../src/tools/WaitTool.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAE9B,6DAA0D;AAa1D,MAAa,QAAS,SAAQ,WAG7B;IAGC;QACE,KAAK,CACH,QAAQ,CAAC,IAAI,EACb,mCAAmC,EACnC,wBAAwB,EACxB,uBAAuB,CACxB,CAAC;IACJ,CAAC;IAEe,KAAK,CAAC,IAAI,CACxB,OAAwB,EACxB,UAAkC;QAElC,MAAM,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QAC7D,OAAO,+BAAc,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;IAEe,KAAK,CAAC,WAAW,CAC/B,OAAwB,EACxB,UAAiC;QAEjC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC;;AA5BH,4BA6BC;AAzBwB,aAAI,GAAG,MAAM,CAAC"}
1
+ {"version":3,"file":"WaitTool.js","sourceRoot":"","sources":["../../../src/tools/WaitTool.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAE9B,6DAA0D;AAa1D,MAAa,QAAS,SAAQ,WAG7B;IAGC;QACE,KAAK,CACH,QAAQ,CAAC,IAAI,EACb,mCAAmC,EACnC,wBAAwB,EACxB,uBAAuB,CACxB,CAAC;IACJ,CAAC;IAEe,KAAK,CAAC,IAAI,CACxB,OAAwB,EACxB,UAAkC;QAElC,MAAM,OAAO,CAAC,IAAI,CAAC,OAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QACtE,OAAO,+BAAc,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;IAEe,KAAK,CAAC,WAAW,CAC/B,OAAwB,EACxB,UAAiC;QAEjC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC;;AA5BH,4BA6BC;AAzBwB,aAAI,GAAG,MAAM,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { GptMessage } from '../models/GptMessage';
1
2
  export declare class MiscUtils {
2
3
  private constructor();
3
4
  static readonly DONOBU_VERSION: string;
@@ -14,6 +15,7 @@ export declare class MiscUtils {
14
15
  * If the BASE_WORKING_DIR environment variable is set, its value is returned.
15
16
  */
16
17
  static baseWorkingDirectory(): string;
18
+ static detectImageType(buffer: Uint8Array): 'png' | 'jpeg';
17
19
  /**
18
20
  * Updates token counts in flow metadata based on GPT response
19
21
  */
@@ -33,23 +35,14 @@ export declare class MiscUtils {
33
35
  */
34
36
  static getResourceFileAsBytes(fileName: string): Buffer;
35
37
  /**
36
- * Reduces the resolution of a PNG image by half.
38
+ * Resizes a PNG or JPEG image until its file size is below a specified maximum size.
37
39
  *
38
- * @param inputImageBytes - The input PNG image as a Buffer.
39
- * @returns A Promise that resolves to the resized PNG image as a Buffer.
40
- * @throws Error if image processing fails
41
- */
42
- static resizePngByHalf(inputImageBytes: Buffer): Promise<Buffer>;
43
- /**
44
- * Resizes a PNG image until its file size is below a specified maximum size.
45
- *
46
- * @param inputImageBytes - The input PNG image as a Buffer.
40
+ * @param inputImageBytes - The input image as a Buffer.
47
41
  * @param maxSizeInBytes - The maximum allowed file size in bytes.
48
- * @param minDimension - Minimum dimension (width or height) to prevent excessive resizing, default is 50px.
49
- * @returns A Promise that resolves to the resized PNG image as a Buffer.
42
+ * @returns A Promise that resolves to the resized image as a Buffer.
50
43
  * @throws Error if the image cannot be resized to meet the size requirements or if processing fails.
51
44
  */
52
- static resizePngToMaxFileSize(inputImageBytes: Buffer, maxSizeInBytes: number): Promise<Buffer>;
45
+ static resizeImageToMaxFileSize(input: Buffer, maxSizeInBytes: number): Promise<Buffer>;
53
46
  /**
54
47
  * Returns a duration (in milliseconds) that represents a statistically
55
48
  * plausible human mouse-click press duration.
@@ -69,5 +62,9 @@ export declare class MiscUtils {
69
62
  * @returns A string representing a unique tool call ID.
70
63
  */
71
64
  static createAdHocToolCallId(): string;
65
+ /**
66
+ * Merges adjacent user messages (some LLMs like Gemini's or Anthropic's require this).
67
+ */
68
+ static mergeAdjacentUserMessages(messages: GptMessage[]): GptMessage[];
72
69
  }
73
70
  //# sourceMappingURL=MiscUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MiscUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/MiscUtils.ts"],"names":[],"mappings":"AAOA,qBAAa,SAAS;IACpB,OAAO;IAEP,gBAAuB,cAAc,SAEnC;IAEF;;;;;;;;;;;OAWG;WACW,oBAAoB,IAAI,MAAM;IAkC5C;;OAEG;WACW,iBAAiB,CAC7B,WAAW,EAAE;QACX,gBAAgB,EAAE,MAAM,CAAC;QACzB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,EACD,YAAY,EAAE;QACZ,eAAe,EAAE,MAAM,CAAC;QACxB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,GACA,IAAI;IAKP;;OAEG;WACW,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAK/D;;OAEG;WACW,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAS9D;;;;;;OAMG;WACiB,eAAe,CACjC,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC;IASlB;;;;;;;;OAQG;WACiB,sBAAsB,CACxC,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC;IAqDlB;;;OAGG;WACW,kCAAkC,IAAI,MAAM;IAkB1D;;;OAGG;WACW,qCAAqC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAoDxE;;;;;;;OAOG;WACW,qBAAqB,IAAI,MAAM;CAG9C"}
1
+ {"version":3,"file":"MiscUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/MiscUtils.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAe,MAAM,sBAAsB,CAAC;AAE/D,qBAAa,SAAS;IACpB,OAAO;IAEP,gBAAuB,cAAc,SAEnC;IAEF;;;;;;;;;;;OAWG;WACW,oBAAoB,IAAI,MAAM;WAkC9B,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,GAAG,MAAM;IA8BjE;;OAEG;WACW,iBAAiB,CAC7B,WAAW,EAAE;QACX,gBAAgB,EAAE,MAAM,CAAC;QACzB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,EACD,YAAY,EAAE;QACZ,eAAe,EAAE,MAAM,CAAC;QACxB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,GACA,IAAI;IAKP;;OAEG;WACW,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAK/D;;OAEG;WACW,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAS9D;;;;;;;OAOG;WACiB,wBAAwB,CAC1C,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC;IAyDlB;;;OAGG;WACW,kCAAkC,IAAI,MAAM;IAkB1D;;;OAGG;WACW,qCAAqC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAoDxE;;;;;;;OAOG;WACW,qBAAqB,IAAI,MAAM;IAI7C;;OAEG;WACW,yBAAyB,CACrC,QAAQ,EAAE,UAAU,EAAE,GACrB,UAAU,EAAE;CA2BhB"}
@@ -42,6 +42,29 @@ class MiscUtils {
42
42
  return (0, path_1.join)((0, os_1.homedir)(), `.${appName}`);
43
43
  }
44
44
  }
45
+ static detectImageType(buffer) {
46
+ // Check for PNG signature (89 50 4E 47 0D 0A 1A 0A)
47
+ if (buffer.length >= 8 &&
48
+ buffer[0] === 0x89 &&
49
+ buffer[1] === 0x50 &&
50
+ buffer[2] === 0x4e &&
51
+ buffer[3] === 0x47 &&
52
+ buffer[4] === 0x0d &&
53
+ buffer[5] === 0x0a &&
54
+ buffer[6] === 0x1a &&
55
+ buffer[7] === 0x0a) {
56
+ return 'png';
57
+ }
58
+ // Check for JPEG signature (FF D8 FF)
59
+ if (buffer.length >= 3 &&
60
+ buffer[0] === 0xff &&
61
+ buffer[1] === 0xd8 &&
62
+ buffer[2] === 0xff) {
63
+ return 'jpeg';
64
+ }
65
+ // Default to PNG if unknown (or throw an error if preferred)
66
+ return 'png';
67
+ }
45
68
  /**
46
69
  * Updates token counts in flow metadata based on GPT response
47
70
  */
@@ -68,73 +91,59 @@ class MiscUtils {
68
91
  return (0, fs_1.readFileSync)(assetPath);
69
92
  }
70
93
  /**
71
- * Reduces the resolution of a PNG image by half.
94
+ * Resizes a PNG or JPEG image until its file size is below a specified maximum size.
72
95
  *
73
- * @param inputImageBytes - The input PNG image as a Buffer.
74
- * @returns A Promise that resolves to the resized PNG image as a Buffer.
75
- * @throws Error if image processing fails
76
- */
77
- static async resizePngByHalf(inputImageBytes) {
78
- const image = await jimp_1.Jimp.read(inputImageBytes);
79
- image.resize({
80
- w: Math.floor(image.bitmap.width / 2),
81
- h: Math.floor(image.bitmap.height / 2),
82
- });
83
- return image.getBuffer('image/png');
84
- }
85
- /**
86
- * Resizes a PNG image until its file size is below a specified maximum size.
87
- *
88
- * @param inputImageBytes - The input PNG image as a Buffer.
96
+ * @param inputImageBytes - The input image as a Buffer.
89
97
  * @param maxSizeInBytes - The maximum allowed file size in bytes.
90
- * @param minDimension - Minimum dimension (width or height) to prevent excessive resizing, default is 50px.
91
- * @returns A Promise that resolves to the resized PNG image as a Buffer.
98
+ * @returns A Promise that resolves to the resized image as a Buffer.
92
99
  * @throws Error if the image cannot be resized to meet the size requirements or if processing fails.
93
100
  */
94
- static async resizePngToMaxFileSize(inputImageBytes, maxSizeInBytes) {
95
- // Validate input
96
- if (maxSizeInBytes <= 0) {
97
- throw new Error('Maximum file size must be positive');
101
+ static async resizeImageToMaxFileSize(input, maxSizeInBytes) {
102
+ if (input.byteLength <= maxSizeInBytes) {
103
+ return input;
98
104
  }
99
- // If input is already smaller than max size, return it as is
100
- if (inputImageBytes.length <= maxSizeInBytes) {
101
- return inputImageBytes;
105
+ else if (maxSizeInBytes <= 0) {
106
+ throw Error(`maxSizeInBytes (${maxSizeInBytes}) must be positive`);
102
107
  }
103
- // Load the image
104
- const image = await jimp_1.Jimp.read(inputImageBytes);
105
- let currentBuffer = await image.getBuffer('image/png');
106
- let currentSize = currentBuffer.length;
107
- // Initial width and height
108
- let width = image.bitmap.width;
109
- let height = image.bitmap.height;
110
- // Initialize scaling factor (start with 90% of original size)
111
- let scaleFactor = 0.9;
112
- // Keep resizing until we're under the max size or hit minimum dimensions
113
- while (currentSize > maxSizeInBytes) {
114
- // Calculate new dimensions
115
- const newWidth = Math.floor(width * scaleFactor);
116
- const newHeight = Math.floor(height * scaleFactor);
117
- image.resize({ w: newWidth, h: newHeight });
118
- currentBuffer = await image.getBuffer('image/png');
119
- currentSize = currentBuffer.length;
120
- // Adjust scaling factor based on how close we are to target
121
- if (currentSize > maxSizeInBytes * 1.5) {
122
- // Still way too big, scale down faster
123
- scaleFactor = 0.7;
108
+ const kind = MiscUtils.detectImageType(input); // 'png' | 'jpeg'
109
+ const mime = kind === 'png' ? 'image/png' : 'image/jpeg'; // keep format
110
+ const base = await jimp_1.Jimp.read(input);
111
+ const { width: w0, height: h0 } = base.bitmap;
112
+ /** Encode a clone at the given linear scale factor */
113
+ const encode = async (scale) => {
114
+ const img = base.clone().resize({
115
+ w: Math.max(1, Math.round(w0 * scale)),
116
+ h: Math.max(1, Math.round(h0 * scale)),
117
+ });
118
+ if (mime === 'image/png') {
119
+ const buf = await img.getBuffer(mime, { compressionLevel: 9 });
120
+ return { buf, len: buf.byteLength };
121
+ }
122
+ else {
123
+ // JPEG: control size further with "quality" encoder option (30–95).
124
+ const buf = await img.getBuffer(mime, {
125
+ quality: Math.max(30, Math.round(95 * scale)),
126
+ });
127
+ return { buf, len: buf.byteLength };
124
128
  }
125
- else if (currentSize > maxSizeInBytes * 1.2) {
126
- // Getting closer, scale down moderately
127
- scaleFactor = 0.8;
129
+ };
130
+ // --- binary-search on scale factor (≤8 iterations covers 1 % precision) ---
131
+ let lo = 0; // infeasible
132
+ let hi = 1; // original size
133
+ let best = null;
134
+ for (let i = 0; i < 8; ++i) {
135
+ const mid = (lo + hi) / 2;
136
+ const { buf, len } = await encode(mid);
137
+ if (len <= maxSizeInBytes) {
138
+ return buf;
128
139
  }
129
140
  else {
130
- // Close to target, fine-tune
131
- scaleFactor = 0.9;
141
+ hi = mid; // too big shrink more
132
142
  }
133
- // Update dimensions for next iteration
134
- width = image.bitmap.width;
135
- height = image.bitmap.height;
136
143
  }
137
- return currentBuffer;
144
+ if (best)
145
+ return best;
146
+ throw new Error(`Cannot shrink image below ${maxSizeInBytes} bytes (limit too tight)`);
138
147
  }
139
148
  /**
140
149
  * Returns a duration (in milliseconds) that represents a statistically
@@ -214,6 +223,33 @@ class MiscUtils {
214
223
  static createAdHocToolCallId() {
215
224
  return `adhoc_${(0, uuid_1.v4)().replace(/-/g, '')}`;
216
225
  }
226
+ /**
227
+ * Merges adjacent user messages (some LLMs like Gemini's or Anthropic's require this).
228
+ */
229
+ static mergeAdjacentUserMessages(messages) {
230
+ let updatedMessages = [];
231
+ for (let i = 0; i < messages.length; ++i) {
232
+ if (i === messages.length - 1) {
233
+ updatedMessages.push(messages[i]);
234
+ break;
235
+ }
236
+ const message = messages[i];
237
+ const adjacentMessage = messages[i + 1];
238
+ if (message.type === 'user' && adjacentMessage.type === 'user') {
239
+ const mergedMessage = {
240
+ type: 'user',
241
+ items: [...message.items, ...adjacentMessage.items],
242
+ };
243
+ updatedMessages.push(mergedMessage);
244
+ // Skip the next message.
245
+ ++i;
246
+ }
247
+ else {
248
+ updatedMessages.push(messages[i]);
249
+ }
250
+ }
251
+ return updatedMessages;
252
+ }
217
253
  }
218
254
  exports.MiscUtils = MiscUtils;
219
255
  MiscUtils.DONOBU_VERSION = MiscUtils.getResourceFileAsString((0, path_1.join)('generated', 'version'));
@@ -1 +1 @@
1
- {"version":3,"file":"MiscUtils.js","sourceRoot":"","sources":["../../../src/utils/MiscUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MiscUtils.js","sourceRoot":"","sources":["../../../src/utils/MiscUtils.ts"],"names":[],"mappings":"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"}
@@ -1,36 +1,34 @@
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";
27
15
  /**
28
- * Attempts to take a screenshot of the given page in PNG format, returning
29
- * the raw byte array. If the operation fails, an empty array is returned.
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;
22
+ /**
23
+ * Attempts to take a screenshot of the given page, returning the raw byte
24
+ * array.
25
+ *
26
+ * If the operation fails, an empty array is returned.
27
+ *
30
28
  * Note that if the Donobu control panel is present in the page, it will be
31
29
  * excluded from the screenshot.
32
30
  */
33
- static takePngScreenshot(page: Page): Promise<Buffer>;
31
+ static takeScreenshot(page: Page, type?: 'png' | 'jpeg'): Promise<Buffer>;
34
32
  /**
35
33
  * Generate valid selectors for the given element. The generated selectors are
36
34
  * in a priority order based on their ability to identify the given element.
@@ -38,42 +36,9 @@ export declare class PlaywrightUtils {
38
36
  * first in the list, and weaker selectors that match multiple elements are
39
37
  * last.
40
38
  */
41
- static generateSelectors(element: Locator): Promise<string[]>;
42
- /**
43
- * Returns a JavaScript code snippet intended to run as an initialization
44
- * script for `DonobuFlow` flows. This script helps other scripts to know
45
- * which elements have mouse-click related event listeners attached to them
46
- * via inspecting the {@code window.donobuGetClickableElements} element array.
47
- */
48
- static clickableElementsTrackerInitScript(): string;
49
- /**
50
- * Returns a JavaScript code snippet intended to run as an initialization
51
- * script for `DonobuFlow` flows. This script helps flows handle/track
52
- * prompts/confirmations. This is done specially since these browser actions
53
- * pause the Javascript main thread and also cause issues with running various
54
- * Playwright actions. See `DonobuFlow.onDialog(Dialog)` for details.
55
- */
56
- static dialogPromptTrackerInitScript(): string;
57
- /**
58
- * Returns a JavaScript code snippet intended to run as an initialization
59
- * script for `DonobuFlow` flows. This is an in-page version of the
60
- * `SelectorGenerator` class so that smart selectors can be generated in
61
- * the web client. This is done so the
62
- * {@link PlaywrightUtils.pageInteractionsTrackerInitScript()} can generate
63
- * smart selectors on the fly and pass them to the `PageInteractionTracker`
64
- * so the page interactions can be converted to synthetic `ToolCallResult`s.
65
- */
66
- static smartSelectorGeneratorInitScript(): string;
67
- /**
68
- * This script is used by the `RunAccessibilityTestTool` to test the
69
- * accessibility of a webpage. This script is injected on page load, rather
70
- * than when running the `RunAccessibilityTestTool` because we need to bypass
71
- * webpage Content Security Policy (CSP); this is done by injecting the
72
- * script via `BrowserContext#addInitScript`.
73
- */
74
- static accessibilityTestInitScript(): string;
75
- static pageInteractionsTrackerInitScript(): string;
76
- static donobuControlPanelInitScript(): string;
39
+ static generateSelectors(element: {
40
+ evaluate: (pageFunction: any) => Promise<any>;
41
+ }): Promise<string[]>;
77
42
  /**
78
43
  * Sets up the given browser context so that it can be minimally used by the
79
44
  * rest of Donobu. This involves registering virtual routes for serving up
@@ -81,72 +46,6 @@ export declare class PlaywrightUtils {
81
46
  * scripts.
82
47
  */
83
48
  static setupBasicBrowserContext(browserContext: BrowserContext): Promise<void>;
84
- /**
85
- * Returns the given locator or its label, if it has one and is associated with a labelable element.
86
- * Labelable elements include: button, input (except hidden), meter, output, progress, select, and textarea.
87
- */
88
- static getLocatorOrItsLabel(element: Locator): Promise<Locator>;
89
- /**
90
- * Reads and clears the desired next state as directed by the in-flow control
91
- * panel. Note that the control panel does not have carte blanche control, as
92
- * we only support the control panel signaling an intent to pause and resume a
93
- * flow.
94
- */
95
- static popControlPanelNextDesiredState(page: Page): Promise<State | null>;
96
- /**
97
- * Hides the control panel by setting its display to 'none'. This ensures the
98
- * panel is not visible and does not intercept mouse events.
99
- */
100
- static hideControlPanel(focusedPage: Page, flowMetadata: FlowMetadata): Promise<void>;
101
- /**
102
- * Shows the control panel by resetting its display property. Assumes the
103
- * original display was 'block'.
104
- */
105
- static showControlPanel(focusedPage: Page, flowMetadata: FlowMetadata): Promise<void>;
106
- /**
107
- * Updates all control panels in the given browser context. If the provided
108
- * headline is non-null, the headline in the control panel will be updated.
109
- */
110
- static updateControlPanel(focusedPage: Page, flowMetadata: FlowMetadata, headline: string | null): Promise<void>;
111
- /**
112
- * Returns all elements that have the
113
- * {@link PlaywrightUtils.DONOBU_INTERACTABLE_ATTRIBUTE} HTML attribute.
114
- **/
115
- static getAttributedInteractableElements(page: Page): Promise<InteractableElement[]>;
116
- /**
117
- * Assigns a globally unique {@link PlaywrightUtils.DONOBU_INTERACTABLE_ATTRIBUTE}
118
- * attribute value to each visible, interactable, element in the given page.
119
- * Any pre-existing {@link PlaywrightUtils.DONOBU_INTERACTABLE_ATTRIBUTE}
120
- * attributes will be removed.
121
- */
122
- static attributeInteractableElements(page: Page): Promise<void>;
123
- /**
124
- * Annotate all elements in the given page that have a
125
- * {@link PlaywrightUtils.DONOBU_INTERACTABLE_ATTRIBUTE} HTML attribute.
126
- *
127
- * The annotations are placed in a shadow root to avoid site-specific CSS,
128
- * each having a {@link PlaywrightUtils.DONOBU_ANNOTATION_ATTRIBUTE} attribute.
129
- */
130
- static annotateInteractableElements(page: Page): Promise<void>;
131
- /**
132
- * Removes all annotations with a {@link PlaywrightUtils.DONOBU_ANNOTATION_ATTRIBUTE}
133
- * HTML attribute in the given page, including any containers in shadow DOM.
134
- */
135
- static removeDonobuAnnotations(page: Page): Promise<void>;
136
- /**
137
- * Removes the {@link PlaywrightUtils.DONOBU_INTERACTABLE_ATTRIBUTE} HTML
138
- * attribute for all elements in the given page. This attribute is normally
139
- * added by the {@link PlaywrightUtils.attributeInteractableElements(Page)}
140
- * function.
141
- */
142
- static deattributeVisibleInteractableElements(page: Page): Promise<void>;
143
- static parseUnambiguousSelector(elementHandle: ElementHandle): Promise<string>;
144
- /**
145
- * Converts an HTML attribute to a JavaScript attribute. For example,
146
- * "data-foo-bar" is turned into "fooBar". Notice the dropping of the "data-"
147
- * prefix, and the conversion from kebab-case to camelCase.
148
- */
149
- static convertToJsAttribute(htmlAttribute: string): string;
150
49
  /**
151
50
  * Returned true IFF the given error is a Playwright error regarding page closing,
152
51
  * of if the given error is an instance of {@link PageClosedException}.
@@ -160,12 +59,15 @@ export declare class PlaywrightUtils {
160
59
  * it is logged and ignored. If page is null, this function has no effect.
161
60
  */
162
61
  static waitForPageStability(page: Page | null): Promise<void>;
163
- private static frameFilter;
164
62
  /**
165
- * This function is injected into the page (or frame) context. It finds
166
- * "interactable" elements, checks visibility, and sets a unique attribute.
167
- * 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
168
70
  */
169
- private static attributeElementsInContext;
71
+ static getScrolledDownScreenShot(page: Page): Promise<Buffer | undefined>;
170
72
  }
171
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"}