donobu 2.23.0 → 2.23.2

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 (371) hide show
  1. package/dist/apis/FlowsApi.d.ts +1 -1
  2. package/dist/apis/FlowsApi.js +1 -1
  3. package/dist/apis/SpecialFlowsApi.js +5 -5
  4. package/dist/apis/SpecialFlowsApi.js.map +1 -1
  5. package/dist/assets/control-panel.js +1 -1
  6. package/dist/assets/generated/version +1 -1
  7. package/dist/assets/playwright-json-to-markdown.js +44 -16
  8. package/dist/esm/apis/FlowsApi.d.ts +1 -1
  9. package/dist/esm/apis/FlowsApi.js +1 -1
  10. package/dist/esm/apis/SpecialFlowsApi.js +5 -5
  11. package/dist/esm/apis/SpecialFlowsApi.js.map +1 -1
  12. package/dist/esm/assets/control-panel.js +1 -1
  13. package/dist/esm/assets/generated/version +1 -1
  14. package/dist/esm/assets/playwright-json-to-markdown.js +44 -16
  15. package/dist/esm/lib/testExtension.d.ts.map +1 -1
  16. package/dist/esm/lib/testExtension.js +2 -4
  17. package/dist/esm/lib/testExtension.js.map +1 -1
  18. package/dist/esm/lib/utils/SelfHealingDebugReporter.d.ts +69 -0
  19. package/dist/esm/lib/utils/SelfHealingDebugReporter.d.ts.map +1 -0
  20. package/dist/esm/lib/utils/SelfHealingDebugReporter.js +486 -0
  21. package/dist/esm/lib/utils/SelfHealingDebugReporter.js.map +1 -0
  22. package/dist/esm/lib/utils/SelfHealingTestUtils.d.ts +55 -0
  23. package/dist/esm/lib/utils/SelfHealingTestUtils.d.ts.map +1 -0
  24. package/dist/esm/lib/utils/SelfHealingTestUtils.js +335 -0
  25. package/dist/esm/lib/utils/SelfHealingTestUtils.js.map +1 -0
  26. package/dist/esm/lib/utils/VideoArtifactManager.d.ts +57 -0
  27. package/dist/esm/lib/utils/VideoArtifactManager.d.ts.map +1 -0
  28. package/dist/esm/lib/utils/VideoArtifactManager.js +343 -0
  29. package/dist/esm/lib/utils/VideoArtifactManager.js.map +1 -0
  30. package/dist/esm/lib/utils/selfHealing.js +1 -1
  31. package/dist/esm/lib/utils/selfHealing.js.map +1 -1
  32. package/dist/esm/managers/DonobuFlow.d.ts.map +1 -1
  33. package/dist/esm/managers/DonobuFlow.js +11 -12
  34. package/dist/esm/managers/DonobuFlow.js.map +1 -1
  35. package/dist/esm/managers/DonobuFlowsManager.d.ts +1 -1
  36. package/dist/esm/managers/DonobuFlowsManager.d.ts.map +1 -1
  37. package/dist/esm/managers/DonobuFlowsManager.js +11 -7
  38. package/dist/esm/managers/DonobuFlowsManager.js.map +1 -1
  39. package/dist/esm/models/CreateDonobuFlow.d.ts +5 -6
  40. package/dist/esm/models/CreateDonobuFlow.d.ts.map +1 -1
  41. package/dist/esm/models/CreateDonobuFlow.js +4 -2
  42. package/dist/esm/models/CreateDonobuFlow.js.map +1 -1
  43. package/dist/esm/models/FlowMetadata.d.ts +3 -6
  44. package/dist/esm/models/FlowMetadata.d.ts.map +1 -1
  45. package/dist/esm/models/FlowMetadata.js +3 -5
  46. package/dist/esm/models/FlowMetadata.js.map +1 -1
  47. package/dist/esm/persistence/DonobuSqliteDb.d.ts.map +1 -1
  48. package/dist/esm/persistence/DonobuSqliteDb.js +42 -0
  49. package/dist/esm/persistence/DonobuSqliteDb.js.map +1 -1
  50. package/dist/esm/tools/ReplayableInteraction.d.ts.map +1 -1
  51. package/dist/esm/tools/ReplayableInteraction.js +1 -3
  52. package/dist/esm/tools/ReplayableInteraction.js.map +1 -1
  53. package/dist/esm/tools/TriggerDonobuFlowTool.d.ts +14 -16
  54. package/dist/esm/tools/TriggerDonobuFlowTool.d.ts.map +1 -1
  55. package/dist/lib/testExtension.d.ts.map +1 -1
  56. package/dist/lib/testExtension.js +2 -4
  57. package/dist/lib/testExtension.js.map +1 -1
  58. package/dist/lib/utils/SelfHealingDebugReporter.d.ts +69 -0
  59. package/dist/lib/utils/SelfHealingDebugReporter.d.ts.map +1 -0
  60. package/dist/lib/utils/SelfHealingDebugReporter.js +486 -0
  61. package/dist/lib/utils/SelfHealingDebugReporter.js.map +1 -0
  62. package/dist/lib/utils/SelfHealingTestUtils.d.ts +55 -0
  63. package/dist/lib/utils/SelfHealingTestUtils.d.ts.map +1 -0
  64. package/dist/lib/utils/SelfHealingTestUtils.js +335 -0
  65. package/dist/lib/utils/SelfHealingTestUtils.js.map +1 -0
  66. package/dist/lib/utils/VideoArtifactManager.d.ts +57 -0
  67. package/dist/lib/utils/VideoArtifactManager.d.ts.map +1 -0
  68. package/dist/lib/utils/VideoArtifactManager.js +343 -0
  69. package/dist/lib/utils/VideoArtifactManager.js.map +1 -0
  70. package/dist/lib/utils/selfHealing.js +1 -1
  71. package/dist/lib/utils/selfHealing.js.map +1 -1
  72. package/dist/managers/DonobuFlow.d.ts.map +1 -1
  73. package/dist/managers/DonobuFlow.js +11 -12
  74. package/dist/managers/DonobuFlow.js.map +1 -1
  75. package/dist/managers/DonobuFlowsManager.d.ts +1 -1
  76. package/dist/managers/DonobuFlowsManager.d.ts.map +1 -1
  77. package/dist/managers/DonobuFlowsManager.js +11 -7
  78. package/dist/managers/DonobuFlowsManager.js.map +1 -1
  79. package/dist/models/CreateDonobuFlow.d.ts +5 -6
  80. package/dist/models/CreateDonobuFlow.d.ts.map +1 -1
  81. package/dist/models/CreateDonobuFlow.js +4 -2
  82. package/dist/models/CreateDonobuFlow.js.map +1 -1
  83. package/dist/models/FlowMetadata.d.ts +3 -6
  84. package/dist/models/FlowMetadata.d.ts.map +1 -1
  85. package/dist/models/FlowMetadata.js +3 -5
  86. package/dist/models/FlowMetadata.js.map +1 -1
  87. package/dist/persistence/DonobuSqliteDb.d.ts.map +1 -1
  88. package/dist/persistence/DonobuSqliteDb.js +42 -0
  89. package/dist/persistence/DonobuSqliteDb.js.map +1 -1
  90. package/dist/tools/ReplayableInteraction.d.ts.map +1 -1
  91. package/dist/tools/ReplayableInteraction.js +1 -3
  92. package/dist/tools/ReplayableInteraction.js.map +1 -1
  93. package/dist/tools/TriggerDonobuFlowTool.d.ts +14 -16
  94. package/dist/tools/TriggerDonobuFlowTool.d.ts.map +1 -1
  95. package/package.json +1 -1
  96. package/dist/apis/EnvironmentDataApi.d.ts +0 -26
  97. package/dist/apis/EnvironmentDataApi.d.ts.map +0 -1
  98. package/dist/apis/EnvironmentDataApi.js +0 -59
  99. package/dist/apis/EnvironmentDataApi.js.map +0 -1
  100. package/dist/assets/donobu-virtual-mouse.svg +0 -11
  101. package/dist/assets/donobu.css +0 -62
  102. package/dist/assets/generated/parameter-schemas.json +0 -2241
  103. package/dist/assets/record.umd.min.cjs +0 -10399
  104. package/dist/bindings/FocusPage.d.ts +0 -23
  105. package/dist/bindings/FocusPage.d.ts.map +0 -1
  106. package/dist/bindings/FocusPage.js +0 -20
  107. package/dist/bindings/FocusPage.js.map +0 -1
  108. package/dist/bindings/ToggleDonobuAnnotations.d.ts +0 -21
  109. package/dist/bindings/ToggleDonobuAnnotations.d.ts.map +0 -1
  110. package/dist/bindings/ToggleDonobuAnnotations.js +0 -51
  111. package/dist/bindings/ToggleDonobuAnnotations.js.map +0 -1
  112. package/dist/esm/apis/EnvironmentDataApi.d.ts +0 -26
  113. package/dist/esm/apis/EnvironmentDataApi.d.ts.map +0 -1
  114. package/dist/esm/apis/EnvironmentDataApi.js +0 -59
  115. package/dist/esm/apis/EnvironmentDataApi.js.map +0 -1
  116. package/dist/esm/assets/donobu-virtual-mouse.svg +0 -11
  117. package/dist/esm/assets/donobu.css +0 -62
  118. package/dist/esm/assets/generated/parameter-schemas.json +0 -2241
  119. package/dist/esm/assets/record.umd.min.cjs +0 -10399
  120. package/dist/esm/bindings/FocusPage.d.ts +0 -23
  121. package/dist/esm/bindings/FocusPage.d.ts.map +0 -1
  122. package/dist/esm/bindings/FocusPage.js +0 -20
  123. package/dist/esm/bindings/FocusPage.js.map +0 -1
  124. package/dist/esm/bindings/ToggleDonobuAnnotations.d.ts +0 -21
  125. package/dist/esm/bindings/ToggleDonobuAnnotations.d.ts.map +0 -1
  126. package/dist/esm/bindings/ToggleDonobuAnnotations.js +0 -51
  127. package/dist/esm/bindings/ToggleDonobuAnnotations.js.map +0 -1
  128. package/dist/esm/lib/constants.d.ts +0 -8
  129. package/dist/esm/lib/constants.d.ts.map +0 -1
  130. package/dist/esm/lib/constants.js +0 -14
  131. package/dist/esm/lib/constants.js.map +0 -1
  132. package/dist/esm/lib/fixtures/testExtension.d.ts +0 -10
  133. package/dist/esm/lib/fixtures/testExtension.d.ts.map +0 -1
  134. package/dist/esm/lib/fixtures/testExtension.js +0 -383
  135. package/dist/esm/lib/fixtures/testExtension.js.map +0 -1
  136. package/dist/esm/lib/types.d.ts +0 -106
  137. package/dist/esm/lib/types.d.ts.map +0 -1
  138. package/dist/esm/lib/types.js +0 -3
  139. package/dist/esm/lib/types.js.map +0 -1
  140. package/dist/esm/managers/EnvironmentDataManager.d.ts +0 -58
  141. package/dist/esm/managers/EnvironmentDataManager.d.ts.map +0 -1
  142. package/dist/esm/managers/EnvironmentDataManager.js +0 -134
  143. package/dist/esm/managers/EnvironmentDataManager.js.map +0 -1
  144. package/dist/esm/managers/ProjectStructureGenerator.d.ts +0 -62
  145. package/dist/esm/managers/ProjectStructureGenerator.d.ts.map +0 -1
  146. package/dist/esm/managers/ProjectStructureGenerator.js +0 -234
  147. package/dist/esm/managers/ProjectStructureGenerator.js.map +0 -1
  148. package/dist/esm/managers/TestFileUpdater.d.ts +0 -56
  149. package/dist/esm/managers/TestFileUpdater.d.ts.map +0 -1
  150. package/dist/esm/managers/TestFileUpdater.js +0 -224
  151. package/dist/esm/managers/TestFileUpdater.js.map +0 -1
  152. package/dist/esm/models/AskAiRequest.d.ts +0 -15
  153. package/dist/esm/models/AskAiRequest.d.ts.map +0 -1
  154. package/dist/esm/models/AskAiRequest.js +0 -3
  155. package/dist/esm/models/AskAiRequest.js.map +0 -1
  156. package/dist/esm/models/BaseToolGptParameters.d.ts +0 -10
  157. package/dist/esm/models/BaseToolGptParameters.d.ts.map +0 -1
  158. package/dist/esm/models/BaseToolGptParameters.js +0 -3
  159. package/dist/esm/models/BaseToolGptParameters.js.map +0 -1
  160. package/dist/esm/models/BrowserFramework.d.ts +0 -61
  161. package/dist/esm/models/BrowserFramework.d.ts.map +0 -1
  162. package/dist/esm/models/BrowserFramework.js +0 -339
  163. package/dist/esm/models/BrowserFramework.js.map +0 -1
  164. package/dist/esm/models/EnvironmentDatum.d.ts +0 -54
  165. package/dist/esm/models/EnvironmentDatum.d.ts.map +0 -1
  166. package/dist/esm/models/EnvironmentDatum.js +0 -57
  167. package/dist/esm/models/EnvironmentDatum.js.map +0 -1
  168. package/dist/esm/models/FlowsQuery.d.ts +0 -12
  169. package/dist/esm/models/FlowsQuery.d.ts.map +0 -1
  170. package/dist/esm/models/FlowsQuery.js +0 -3
  171. package/dist/esm/models/FlowsQuery.js.map +0 -1
  172. package/dist/esm/persistence/AgentsPersistence.d.ts +0 -12
  173. package/dist/esm/persistence/AgentsPersistence.d.ts.map +0 -1
  174. package/dist/esm/persistence/AgentsPersistence.js +0 -3
  175. package/dist/esm/persistence/AgentsPersistence.js.map +0 -1
  176. package/dist/esm/persistence/AgentsPersistenceSqlite.d.ts +0 -15
  177. package/dist/esm/persistence/AgentsPersistenceSqlite.d.ts.map +0 -1
  178. package/dist/esm/persistence/AgentsPersistenceSqlite.js +0 -50
  179. package/dist/esm/persistence/AgentsPersistenceSqlite.js.map +0 -1
  180. package/dist/esm/persistence/AgentsPersistenceVolatile.d.ts +0 -14
  181. package/dist/esm/persistence/AgentsPersistenceVolatile.d.ts.map +0 -1
  182. package/dist/esm/persistence/AgentsPersistenceVolatile.js +0 -26
  183. package/dist/esm/persistence/AgentsPersistenceVolatile.js.map +0 -1
  184. package/dist/esm/persistence/FlowsPersistence.d.ts +0 -104
  185. package/dist/esm/persistence/FlowsPersistence.d.ts.map +0 -1
  186. package/dist/esm/persistence/FlowsPersistence.js +0 -3
  187. package/dist/esm/persistence/FlowsPersistence.js.map +0 -1
  188. package/dist/esm/persistence/FlowsPersistenceAwsS3.d.ts +0 -75
  189. package/dist/esm/persistence/FlowsPersistenceAwsS3.d.ts.map +0 -1
  190. package/dist/esm/persistence/FlowsPersistenceAwsS3.js +0 -525
  191. package/dist/esm/persistence/FlowsPersistenceAwsS3.js.map +0 -1
  192. package/dist/esm/persistence/FlowsPersistenceFactory.d.ts +0 -10
  193. package/dist/esm/persistence/FlowsPersistenceFactory.d.ts.map +0 -1
  194. package/dist/esm/persistence/FlowsPersistenceFactory.js +0 -3
  195. package/dist/esm/persistence/FlowsPersistenceFactory.js.map +0 -1
  196. package/dist/esm/persistence/FlowsPersistenceFactoryImpl.d.ts +0 -57
  197. package/dist/esm/persistence/FlowsPersistenceFactoryImpl.d.ts.map +0 -1
  198. package/dist/esm/persistence/FlowsPersistenceFactoryImpl.js +0 -235
  199. package/dist/esm/persistence/FlowsPersistenceFactoryImpl.js.map +0 -1
  200. package/dist/esm/persistence/FlowsPersistenceFactoryPreset.d.ts +0 -13
  201. package/dist/esm/persistence/FlowsPersistenceFactoryPreset.d.ts.map +0 -1
  202. package/dist/esm/persistence/FlowsPersistenceFactoryPreset.js +0 -24
  203. package/dist/esm/persistence/FlowsPersistenceFactoryPreset.js.map +0 -1
  204. package/dist/esm/persistence/FlowsPersistenceFilesystem.d.ts +0 -69
  205. package/dist/esm/persistence/FlowsPersistenceFilesystem.d.ts.map +0 -1
  206. package/dist/esm/persistence/FlowsPersistenceFilesystem.js +0 -381
  207. package/dist/esm/persistence/FlowsPersistenceFilesystem.js.map +0 -1
  208. package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.d.ts +0 -75
  209. package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.d.ts.map +0 -1
  210. package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.js +0 -485
  211. package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.js.map +0 -1
  212. package/dist/esm/persistence/FlowsPersistenceSqlite.d.ts +0 -44
  213. package/dist/esm/persistence/FlowsPersistenceSqlite.d.ts.map +0 -1
  214. package/dist/esm/persistence/FlowsPersistenceSqlite.js +0 -264
  215. package/dist/esm/persistence/FlowsPersistenceSqlite.js.map +0 -1
  216. package/dist/esm/persistence/FlowsPersistenceSupabase.d.ts +0 -44
  217. package/dist/esm/persistence/FlowsPersistenceSupabase.d.ts.map +0 -1
  218. package/dist/esm/persistence/FlowsPersistenceSupabase.js +0 -262
  219. package/dist/esm/persistence/FlowsPersistenceSupabase.js.map +0 -1
  220. package/dist/esm/persistence/FlowsPersistenceVolatile.d.ts +0 -41
  221. package/dist/esm/persistence/FlowsPersistenceVolatile.d.ts.map +0 -1
  222. package/dist/esm/persistence/FlowsPersistenceVolatile.js +0 -171
  223. package/dist/esm/persistence/FlowsPersistenceVolatile.js.map +0 -1
  224. package/dist/esm/persistence/GptConfigsPersistence.d.ts +0 -12
  225. package/dist/esm/persistence/GptConfigsPersistence.d.ts.map +0 -1
  226. package/dist/esm/persistence/GptConfigsPersistence.js +0 -3
  227. package/dist/esm/persistence/GptConfigsPersistence.js.map +0 -1
  228. package/dist/esm/persistence/GptConfigsPersistenceSqlite.d.ts +0 -13
  229. package/dist/esm/persistence/GptConfigsPersistenceSqlite.d.ts.map +0 -1
  230. package/dist/esm/persistence/GptConfigsPersistenceSqlite.js +0 -35
  231. package/dist/esm/persistence/GptConfigsPersistenceSqlite.js.map +0 -1
  232. package/dist/esm/persistence/GptConfigsPersistenceVolatile.d.ts +0 -15
  233. package/dist/esm/persistence/GptConfigsPersistenceVolatile.d.ts.map +0 -1
  234. package/dist/esm/persistence/GptConfigsPersistenceVolatile.js +0 -31
  235. package/dist/esm/persistence/GptConfigsPersistenceVolatile.js.map +0 -1
  236. package/dist/esm/playwrightTestExtensions.d.ts +0 -155
  237. package/dist/esm/playwrightTestExtensions.d.ts.map +0 -1
  238. package/dist/esm/playwrightTestExtensions.js +0 -688
  239. package/dist/esm/playwrightTestExtensions.js.map +0 -1
  240. package/dist/esm/utils/ToolsPluginsLoader.d.ts +0 -52
  241. package/dist/esm/utils/ToolsPluginsLoader.d.ts.map +0 -1
  242. package/dist/esm/utils/ToolsPluginsLoader.js +0 -301
  243. package/dist/esm/utils/ToolsPluginsLoader.js.map +0 -1
  244. package/dist/lib/autoTest.d.ts +0 -2
  245. package/dist/lib/autoTest.d.ts.map +0 -1
  246. package/dist/lib/autoTest.js +0 -17
  247. package/dist/lib/autoTest.js.map +0 -1
  248. package/dist/lib/constants.d.ts +0 -8
  249. package/dist/lib/constants.d.ts.map +0 -1
  250. package/dist/lib/constants.js +0 -14
  251. package/dist/lib/constants.js.map +0 -1
  252. package/dist/lib/fixtures/testExtension.d.ts +0 -10
  253. package/dist/lib/fixtures/testExtension.d.ts.map +0 -1
  254. package/dist/lib/fixtures/testExtension.js +0 -383
  255. package/dist/lib/fixtures/testExtension.js.map +0 -1
  256. package/dist/lib/types.d.ts +0 -106
  257. package/dist/lib/types.d.ts.map +0 -1
  258. package/dist/lib/types.js +0 -3
  259. package/dist/lib/types.js.map +0 -1
  260. package/dist/managers/EnvironmentDataManager.d.ts +0 -58
  261. package/dist/managers/EnvironmentDataManager.d.ts.map +0 -1
  262. package/dist/managers/EnvironmentDataManager.js +0 -134
  263. package/dist/managers/EnvironmentDataManager.js.map +0 -1
  264. package/dist/managers/ProjectStructureGenerator.d.ts +0 -62
  265. package/dist/managers/ProjectStructureGenerator.d.ts.map +0 -1
  266. package/dist/managers/ProjectStructureGenerator.js +0 -234
  267. package/dist/managers/ProjectStructureGenerator.js.map +0 -1
  268. package/dist/managers/TestFileUpdater.d.ts +0 -56
  269. package/dist/managers/TestFileUpdater.d.ts.map +0 -1
  270. package/dist/managers/TestFileUpdater.js +0 -224
  271. package/dist/managers/TestFileUpdater.js.map +0 -1
  272. package/dist/models/AskAiRequest.d.ts +0 -15
  273. package/dist/models/AskAiRequest.d.ts.map +0 -1
  274. package/dist/models/AskAiRequest.js +0 -3
  275. package/dist/models/AskAiRequest.js.map +0 -1
  276. package/dist/models/BaseToolGptParameters.d.ts +0 -10
  277. package/dist/models/BaseToolGptParameters.d.ts.map +0 -1
  278. package/dist/models/BaseToolGptParameters.js +0 -3
  279. package/dist/models/BaseToolGptParameters.js.map +0 -1
  280. package/dist/models/BrowserFramework.d.ts +0 -51
  281. package/dist/models/BrowserFramework.d.ts.map +0 -1
  282. package/dist/models/BrowserFramework.js +0 -364
  283. package/dist/models/BrowserFramework.js.map +0 -1
  284. package/dist/models/EnvironmentDatum.d.ts +0 -54
  285. package/dist/models/EnvironmentDatum.d.ts.map +0 -1
  286. package/dist/models/EnvironmentDatum.js +0 -57
  287. package/dist/models/EnvironmentDatum.js.map +0 -1
  288. package/dist/models/FlowsQuery.d.ts +0 -12
  289. package/dist/models/FlowsQuery.d.ts.map +0 -1
  290. package/dist/models/FlowsQuery.js +0 -3
  291. package/dist/models/FlowsQuery.js.map +0 -1
  292. package/dist/persistence/AgentsPersistence.d.ts +0 -12
  293. package/dist/persistence/AgentsPersistence.d.ts.map +0 -1
  294. package/dist/persistence/AgentsPersistence.js +0 -3
  295. package/dist/persistence/AgentsPersistence.js.map +0 -1
  296. package/dist/persistence/AgentsPersistenceSqlite.d.ts +0 -15
  297. package/dist/persistence/AgentsPersistenceSqlite.d.ts.map +0 -1
  298. package/dist/persistence/AgentsPersistenceSqlite.js +0 -50
  299. package/dist/persistence/AgentsPersistenceSqlite.js.map +0 -1
  300. package/dist/persistence/AgentsPersistenceVolatile.d.ts +0 -14
  301. package/dist/persistence/AgentsPersistenceVolatile.d.ts.map +0 -1
  302. package/dist/persistence/AgentsPersistenceVolatile.js +0 -26
  303. package/dist/persistence/AgentsPersistenceVolatile.js.map +0 -1
  304. package/dist/persistence/FlowsPersistence.d.ts +0 -104
  305. package/dist/persistence/FlowsPersistence.d.ts.map +0 -1
  306. package/dist/persistence/FlowsPersistence.js +0 -3
  307. package/dist/persistence/FlowsPersistence.js.map +0 -1
  308. package/dist/persistence/FlowsPersistenceAwsS3.d.ts +0 -75
  309. package/dist/persistence/FlowsPersistenceAwsS3.d.ts.map +0 -1
  310. package/dist/persistence/FlowsPersistenceAwsS3.js +0 -525
  311. package/dist/persistence/FlowsPersistenceAwsS3.js.map +0 -1
  312. package/dist/persistence/FlowsPersistenceFactory.d.ts +0 -10
  313. package/dist/persistence/FlowsPersistenceFactory.d.ts.map +0 -1
  314. package/dist/persistence/FlowsPersistenceFactory.js +0 -3
  315. package/dist/persistence/FlowsPersistenceFactory.js.map +0 -1
  316. package/dist/persistence/FlowsPersistenceFactoryImpl.d.ts +0 -57
  317. package/dist/persistence/FlowsPersistenceFactoryImpl.d.ts.map +0 -1
  318. package/dist/persistence/FlowsPersistenceFactoryImpl.js +0 -235
  319. package/dist/persistence/FlowsPersistenceFactoryImpl.js.map +0 -1
  320. package/dist/persistence/FlowsPersistenceFactoryPreset.d.ts +0 -13
  321. package/dist/persistence/FlowsPersistenceFactoryPreset.d.ts.map +0 -1
  322. package/dist/persistence/FlowsPersistenceFactoryPreset.js +0 -24
  323. package/dist/persistence/FlowsPersistenceFactoryPreset.js.map +0 -1
  324. package/dist/persistence/FlowsPersistenceFilesystem.d.ts +0 -69
  325. package/dist/persistence/FlowsPersistenceFilesystem.d.ts.map +0 -1
  326. package/dist/persistence/FlowsPersistenceFilesystem.js +0 -381
  327. package/dist/persistence/FlowsPersistenceFilesystem.js.map +0 -1
  328. package/dist/persistence/FlowsPersistenceGoogleCloudStorage.d.ts +0 -75
  329. package/dist/persistence/FlowsPersistenceGoogleCloudStorage.d.ts.map +0 -1
  330. package/dist/persistence/FlowsPersistenceGoogleCloudStorage.js +0 -485
  331. package/dist/persistence/FlowsPersistenceGoogleCloudStorage.js.map +0 -1
  332. package/dist/persistence/FlowsPersistenceSqlite.d.ts +0 -44
  333. package/dist/persistence/FlowsPersistenceSqlite.d.ts.map +0 -1
  334. package/dist/persistence/FlowsPersistenceSqlite.js +0 -264
  335. package/dist/persistence/FlowsPersistenceSqlite.js.map +0 -1
  336. package/dist/persistence/FlowsPersistenceSupabase.d.ts +0 -44
  337. package/dist/persistence/FlowsPersistenceSupabase.d.ts.map +0 -1
  338. package/dist/persistence/FlowsPersistenceSupabase.js +0 -262
  339. package/dist/persistence/FlowsPersistenceSupabase.js.map +0 -1
  340. package/dist/persistence/FlowsPersistenceVolatile.d.ts +0 -41
  341. package/dist/persistence/FlowsPersistenceVolatile.d.ts.map +0 -1
  342. package/dist/persistence/FlowsPersistenceVolatile.js +0 -171
  343. package/dist/persistence/FlowsPersistenceVolatile.js.map +0 -1
  344. package/dist/persistence/GptConfigsPersistence.d.ts +0 -12
  345. package/dist/persistence/GptConfigsPersistence.d.ts.map +0 -1
  346. package/dist/persistence/GptConfigsPersistence.js +0 -3
  347. package/dist/persistence/GptConfigsPersistence.js.map +0 -1
  348. package/dist/persistence/GptConfigsPersistenceSqlite.d.ts +0 -13
  349. package/dist/persistence/GptConfigsPersistenceSqlite.d.ts.map +0 -1
  350. package/dist/persistence/GptConfigsPersistenceSqlite.js +0 -35
  351. package/dist/persistence/GptConfigsPersistenceSqlite.js.map +0 -1
  352. package/dist/persistence/GptConfigsPersistenceVolatile.d.ts +0 -15
  353. package/dist/persistence/GptConfigsPersistenceVolatile.d.ts.map +0 -1
  354. package/dist/persistence/GptConfigsPersistenceVolatile.js +0 -31
  355. package/dist/persistence/GptConfigsPersistenceVolatile.js.map +0 -1
  356. package/dist/playwrightTestExtensions.d.ts +0 -155
  357. package/dist/playwrightTestExtensions.d.ts.map +0 -1
  358. package/dist/playwrightTestExtensions.js +0 -688
  359. package/dist/playwrightTestExtensions.js.map +0 -1
  360. package/dist/tools/CreatePageObjectModel.d.ts +0 -16
  361. package/dist/tools/CreatePageObjectModel.d.ts.map +0 -1
  362. package/dist/tools/CreatePageObjectModel.js +0 -33
  363. package/dist/tools/CreatePageObjectModel.js.map +0 -1
  364. package/dist/utils/ToolsPluginsLoader.d.ts +0 -52
  365. package/dist/utils/ToolsPluginsLoader.d.ts.map +0 -1
  366. package/dist/utils/ToolsPluginsLoader.js +0 -301
  367. package/dist/utils/ToolsPluginsLoader.js.map +0 -1
  368. /package/dist/utils/{jsonSchemaUtils.d.ts → JsonSchemaUtils.d.ts} +0 -0
  369. /package/dist/utils/{jsonSchemaUtils.d.ts.map → JsonSchemaUtils.d.ts.map} +0 -0
  370. /package/dist/utils/{jsonSchemaUtils.js → JsonSchemaUtils.js} +0 -0
  371. /package/dist/utils/{jsonSchemaUtils.js.map → JsonSchemaUtils.js.map} +0 -0
@@ -1,23 +0,0 @@
1
- import { FocusedPage } from '../models/FocusedPage';
2
- import { NamedBindingCallback } from './NamedBindingCallback';
3
- import { BrowserContext, Page, Frame } from 'playwright';
4
- declare global {
5
- interface Window {
6
- [FocusPage.NAME]: () => void;
7
- }
8
- }
9
- /**
10
- * A binding that brings the page executing this callback into focus.
11
- */
12
- export declare class FocusPage implements NamedBindingCallback {
13
- private readonly focusedPage;
14
- static readonly NAME = "donobuFocusPage";
15
- constructor(focusedPage: FocusedPage);
16
- name(): string;
17
- call(source: {
18
- context: BrowserContext;
19
- page: Page;
20
- frame: Frame;
21
- }, ..._args: any[]): void;
22
- }
23
- //# sourceMappingURL=FocusPage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FocusPage.d.ts","sourceRoot":"","sources":["../../../src/bindings/FocusPage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;KAC9B;CACF;AAED;;GAEG;AACH,qBAAa,SAAU,YAAW,oBAAoB;IAGjC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAF/C,gBAAuB,IAAI,qBAAqB;gBAEZ,WAAW,EAAE,WAAW;IAErD,IAAI,IAAI,MAAM;IAId,IAAI,CACT,MAAM,EAAE;QAAE,OAAO,EAAE,cAAc,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,EAC7D,GAAG,KAAK,EAAE,GAAG,EAAE,GACd,IAAI;CAGR"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FocusPage = void 0;
4
- /**
5
- * A binding that brings the page executing this callback into focus.
6
- */
7
- class FocusPage {
8
- constructor(focusedPage) {
9
- this.focusedPage = focusedPage;
10
- }
11
- name() {
12
- return FocusPage.NAME;
13
- }
14
- call(source, ..._args) {
15
- this.focusedPage.current = source.page;
16
- }
17
- }
18
- exports.FocusPage = FocusPage;
19
- FocusPage.NAME = 'donobuFocusPage';
20
- //# sourceMappingURL=FocusPage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FocusPage.js","sourceRoot":"","sources":["../../../src/bindings/FocusPage.ts"],"names":[],"mappings":";;;AAUA;;GAEG;AACH,MAAa,SAAS;IAGpB,YAAoC,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAEzD,IAAI;QACT,OAAO,SAAS,CAAC,IAAI,CAAC;IACxB,CAAC;IAEM,IAAI,CACT,MAA6D,EAC7D,GAAG,KAAY;QAEf,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;IACzC,CAAC;;AAdH,8BAeC;AAdwB,cAAI,GAAG,iBAAiB,CAAC"}
@@ -1,21 +0,0 @@
1
- import { PageInspector } from '../managers/PageInspector';
2
- import { NamedBindingCallback } from './NamedBindingCallback';
3
- import { BrowserContext, Page, Frame } from 'playwright';
4
- /**
5
- * A binding that sets or unsets the annotations on the page executing this callback.
6
- * This is used for debugging purposes to show the interactable elements on the page
7
- * as understood by the Donobu engine.
8
- */
9
- export declare class SetDonobuAnnotations implements NamedBindingCallback {
10
- private readonly pageInspector;
11
- static readonly NAME = "__donobuSetAnnotations";
12
- static register(pageInspector: PageInspector, browserContext: BrowserContext): Promise<SetDonobuAnnotations>;
13
- constructor(pageInspector: PageInspector);
14
- name(): string;
15
- call(source: {
16
- context: BrowserContext;
17
- page: Page;
18
- frame: Frame;
19
- }, ...args: any[]): Promise<void>;
20
- }
21
- //# sourceMappingURL=ToggleDonobuAnnotations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToggleDonobuAnnotations.d.ts","sourceRoot":"","sources":["../../../src/bindings/ToggleDonobuAnnotations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGzD;;;;GAIG;AACH,qBAAa,oBAAqB,YAAW,oBAAoB;IAe5C,OAAO,CAAC,QAAQ,CAAC,aAAa;IAdjD,gBAAuB,IAAI,4BAA4B;WAEnC,QAAQ,CAC1B,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,oBAAoB,CAAC;gBASI,aAAa,EAAE,aAAa;IAEzD,IAAI,IAAI,MAAM;IAIR,IAAI,CACf,MAAM,EAAE;QAAE,OAAO,EAAE,cAAc,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,EAC7D,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,OAAO,CAAC,IAAI,CAAC;CA8BjB"}
@@ -1,51 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SetDonobuAnnotations = void 0;
4
- const JsonUtils_1 = require("../utils/JsonUtils");
5
- const zod_1 = require("zod");
6
- /**
7
- * A binding that sets or unsets the annotations on the page executing this callback.
8
- * This is used for debugging purposes to show the interactable elements on the page
9
- * as understood by the Donobu engine.
10
- */
11
- class SetDonobuAnnotations {
12
- static async register(pageInspector, browserContext) {
13
- const instance = new SetDonobuAnnotations(pageInspector);
14
- await browserContext.exposeBinding(instance.name(), instance.call.bind(instance));
15
- return instance;
16
- }
17
- constructor(pageInspector) {
18
- this.pageInspector = pageInspector;
19
- }
20
- name() {
21
- return SetDonobuAnnotations.NAME;
22
- }
23
- async call(source, ...args) {
24
- let isToggled;
25
- try {
26
- isToggled = zod_1.z.boolean().parse(args[0]);
27
- }
28
- catch (error) {
29
- await source.page.evaluate((message) => {
30
- console.error(message);
31
- }, `First argument must be a boolean value: ${error.message}`);
32
- return;
33
- }
34
- if (isToggled) {
35
- await this.pageInspector.attributeInteractableElements(source.page);
36
- await this.pageInspector.annotateInteractableElements(source.page);
37
- const elements = await this.pageInspector.getAttributedInteractableElements(source.page);
38
- const message = JSON.stringify(JsonUtils_1.JsonUtils.objectToJson(elements), null, 2);
39
- await source.page.evaluate((message) => {
40
- console.info(message);
41
- }, message);
42
- }
43
- else {
44
- await this.pageInspector.removeDonobuAnnotations(source.page);
45
- }
46
- return;
47
- }
48
- }
49
- exports.SetDonobuAnnotations = SetDonobuAnnotations;
50
- SetDonobuAnnotations.NAME = '__donobuSetAnnotations';
51
- //# sourceMappingURL=ToggleDonobuAnnotations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToggleDonobuAnnotations.js","sourceRoot":"","sources":["../../../src/bindings/ToggleDonobuAnnotations.ts"],"names":[],"mappings":";;;AACA,kDAA+C;AAG/C,6BAAkC;AAElC;;;;GAIG;AACH,MAAa,oBAAoB;IAGxB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAC1B,aAA4B,EAC5B,cAA8B;QAE9B,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC,aAAa,CAAC,CAAC;QACzD,MAAM,cAAc,CAAC,aAAa,CAChC,QAAQ,CAAC,IAAI,EAAE,EACf,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC7B,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,YAAoC,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAE7D,IAAI;QACT,OAAO,oBAAoB,CAAC,IAAI,CAAC;IACnC,CAAC;IAEM,KAAK,CAAC,IAAI,CACf,MAA6D,EAC7D,GAAG,IAAW;QAEd,IAAI,SAAkB,CAAC;QAEvB,IAAI,CAAC;YACH,SAAS,GAAG,OAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,CACxB,CAAC,OAAO,EAAE,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC,EACD,2CAA4C,KAAkB,CAAC,OAAO,EAAE,CACzE,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,aAAa,CAAC,6BAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpE,MAAM,IAAI,CAAC,aAAa,CAAC,4BAA4B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACnE,MAAM,QAAQ,GACZ,MAAM,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1E,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE;gBACrC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC,EAAE,OAAO,CAAC,CAAC;QACd,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC;QAED,OAAO;IACT,CAAC;;AArDH,oDAsDC;AArDwB,yBAAI,GAAG,wBAAwB,CAAC"}
@@ -1,8 +0,0 @@
1
- export declare const PLACEHOLDER_FLOW_URL = "https://example.com";
2
- export declare const DEFAULT_GPT_MODEL_FOR_PLATFORM: {
3
- ANTHROPIC: string;
4
- ANTHROPIC_AWS_BEDROCK: string | undefined;
5
- GOOGLE_GEMINI: string;
6
- OPENAI: string;
7
- };
8
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,wBAAwB,CAAC;AAC1D,eAAO,MAAM,8BAA8B;;;;;CAU1C,CAAC"}
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_GPT_MODEL_FOR_PLATFORM = exports.PLACEHOLDER_FLOW_URL = void 0;
4
- const envVars_1 = require("../envVars");
5
- exports.PLACEHOLDER_FLOW_URL = 'https://example.com';
6
- exports.DEFAULT_GPT_MODEL_FOR_PLATFORM = {
7
- ANTHROPIC: process.env[envVars_1.ENV_VAR_NAMES.ANTHROPIC_MODEL_NAME] ||
8
- 'claude-3-5-sonnet-latest',
9
- ANTHROPIC_AWS_BEDROCK: process.env[envVars_1.ENV_VAR_NAMES.AWS_BEDROCK_MODEL_NAME] || undefined,
10
- GOOGLE_GEMINI: process.env[envVars_1.ENV_VAR_NAMES.GOOGLE_GENERATIVE_AI_MODEL_NAME] ||
11
- 'gemini-2.0-flash',
12
- OPENAI: process.env[envVars_1.ENV_VAR_NAMES.OPENAI_API_MODEL_NAME] || 'gpt-4o',
13
- };
14
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":";;;AAAA,wCAA2C;AAE9B,QAAA,oBAAoB,GAAG,qBAAqB,CAAC;AAC7C,QAAA,8BAA8B,GAAG;IAC5C,SAAS,EACP,OAAO,CAAC,GAAG,CAAC,uBAAa,CAAC,oBAAoB,CAAC;QAC/C,0BAA0B;IAC5B,qBAAqB,EACnB,OAAO,CAAC,GAAG,CAAC,uBAAa,CAAC,sBAAsB,CAAC,IAAI,SAAS;IAChE,aAAa,EACX,OAAO,CAAC,GAAG,CAAC,uBAAa,CAAC,+BAA+B,CAAC;QAC1D,kBAAkB;IACpB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAa,CAAC,qBAAqB,CAAC,IAAI,QAAQ;CACrE,CAAC"}
@@ -1,10 +0,0 @@
1
- import { DonobuExtendedPage } from '../types';
2
- import { GptClient } from '../../clients/GptClient';
3
- import { BrowserStorageState } from '../../models/BrowserStorageState';
4
- export * from 'playwright/test';
5
- export declare const test: import("@playwright/test").TestType<import("@playwright/test").PlaywrightTestArgs & import("@playwright/test").PlaywrightTestOptions & {
6
- storageState?: BrowserStorageState | Promise<BrowserStorageState>;
7
- gptClient?: GptClient;
8
- page: DonobuExtendedPage;
9
- }, import("@playwright/test").PlaywrightWorkerArgs & import("@playwright/test").PlaywrightWorkerOptions>;
10
- //# sourceMappingURL=testExtension.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testExtension.d.ts","sourceRoot":"","sources":["../../../../src/lib/fixtures/testExtension.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAmEpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,cAAc,iBAAiB,CAAC;AAIhC,eAAO,MAAM,IAAI;mBACA,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;gBACrD,SAAS;UACf,kBAAkB;wGAqaxB,CAAC"}
@@ -1,383 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.test = void 0;
18
- const test_1 = require("@playwright/test");
19
- const uuid_1 = require("uuid");
20
- const GptClient_1 = require("../../clients/GptClient");
21
- const VercelAiGptClient_1 = require("../../clients/VercelAiGptClient");
22
- const PlaywrightUtils_1 = require("../../utils/PlaywrightUtils");
23
- const donobuTestStack_1 = require("../utils/donobuTestStack");
24
- const selfHealing_1 = require("../utils/selfHealing");
25
- const envVars_1 = require("../../envVars");
26
- const MiscUtils_1 = require("../../utils/MiscUtils");
27
- const DonobuFlowsManager_1 = require("../../managers/DonobuFlowsManager");
28
- const gptClients_1 = require("./gptClients");
29
- const GoToWebpageTool_1 = require("../../tools/GoToWebpageTool");
30
- const PageInspector_1 = require("../../managers/PageInspector");
31
- const ControlPanel_1 = require("../../managers/ControlPanel");
32
- const InteractionVisualizer_1 = require("../../managers/InteractionVisualizer");
33
- const ToolManager_1 = require("../../managers/ToolManager");
34
- const AnalyzePageTextTool_1 = require("../../tools/AnalyzePageTextTool");
35
- const AssertPageTextTool_1 = require("../../tools/AssertPageTextTool");
36
- const Logger_1 = require("../../utils/Logger");
37
- const DonobuFlow_1 = require("../../managers/DonobuFlow");
38
- const HoverOverElementTool_1 = require("../../tools/HoverOverElementTool");
39
- const InputRandomizedEmailAddressTool_1 = require("../../tools/InputRandomizedEmailAddressTool");
40
- const AssertTool_1 = require("../../tools/AssertTool");
41
- const ChangeWebBrowserTabTool_1 = require("../../tools/ChangeWebBrowserTabTool");
42
- const ChooseSelectOptionTool_1 = require("../../tools/ChooseSelectOptionTool");
43
- const ClickTool_1 = require("../../tools/ClickTool");
44
- const CreateBrowserCookieReportTool_1 = require("../../tools/CreateBrowserCookieReportTool");
45
- const InputTextTool_1 = require("../../tools/InputTextTool");
46
- const PressKeyTool_1 = require("../../tools/PressKeyTool");
47
- const RunAccessibilityTestTool_1 = require("../../tools/RunAccessibilityTestTool");
48
- const ScrollPageTool_1 = require("../../tools/ScrollPageTool");
49
- __exportStar(require("playwright/test"), exports);
50
- const PLACEHOLDER_FLOW_URL = 'https://example.com';
51
- exports.test = test_1.test.extend({
52
- // 1) Declare `gptClient` as an "option" fixture with a default of `undefined`.
53
- gptClient: [
54
- undefined, // default
55
- { option: true }, // so that test.use({ gptClient: ... }) can override
56
- ],
57
- // Override the default page fixture
58
- page: async ({ page, gptClient }, use, testInfo) => {
59
- if (!gptClient) {
60
- try {
61
- gptClient = await (0, gptClients_1.getOrCreateDefaultGptClient)();
62
- }
63
- catch (_error) {
64
- // Do nothing since we may not need a GPT client at all anyway.
65
- // If something later on requires a GPT client, it will throw an error.
66
- }
67
- }
68
- // Patch the page with "run", but do it lazily
69
- const donobu = await (0, donobuTestStack_1.getOrCreateDonobuStack)();
70
- await PlaywrightUtils_1.PlaywrightUtils.setupBasicBrowserContext(page.context());
71
- let isTestRunInitialized = false;
72
- let isTestRunFailed = false;
73
- async function maybeInitDonobu() {
74
- if (isTestRunInitialized) {
75
- return;
76
- }
77
- const overallObjective = testInfo.annotations.find((v) => {
78
- return v.type === 'objective';
79
- })?.description ?? null;
80
- // Get the implied allowed environment variables by inspecting the objective.
81
- const allowedEnvVarsByName = DonobuFlowsManager_1.DonobuFlowsManager.distillAllowedEnvVariableNames(overallObjective, null);
82
- const donobuTestFlowMetadata = {
83
- id: (0, uuid_1.v4)(),
84
- name: testInfo.title,
85
- createdWithDonobuVersion: MiscUtils_1.MiscUtils.DONOBU_VERSION,
86
- browser: {
87
- using: {
88
- type: 'device',
89
- deviceName: 'Desktop Chromium',
90
- headless: true,
91
- },
92
- },
93
- envVars: allowedEnvVarsByName,
94
- gptConfigName: null,
95
- hasGptConfigNameOverride: false,
96
- customTools: null,
97
- defaultMessageDuration: 0,
98
- runMode: 'DETERMINISTIC',
99
- isControlPanelEnabled: false,
100
- callbackUrl: null,
101
- targetWebsite: PLACEHOLDER_FLOW_URL,
102
- overallObjective: overallObjective,
103
- allowedTools: [],
104
- resultJsonSchema: null,
105
- result: null,
106
- inputTokensUsed: 0,
107
- completionTokensUsed: 0,
108
- iterations: 0,
109
- maxIterations: 0,
110
- startedAt: new Date().getTime(),
111
- completedAt: null,
112
- state: 'RUNNING_ACTION',
113
- nextState: null,
114
- };
115
- const persistenceLayer = await donobu.flowsPersistenceFactory.createPersistenceLayer();
116
- await persistenceLayer.setMetadata(donobuTestFlowMetadata);
117
- page._donobuFlowMetadata = donobuTestFlowMetadata;
118
- isTestRunInitialized = true;
119
- }
120
- const originalGoto = page.goto;
121
- // Intercept 'page.goto' so that Donobu can later re-run it as a standard
122
- // Donobu action if necessary. This can happen if you run a Playwright
123
- // test using npx, but later decide to rerun that run using the Donobu UI.
124
- page.goto = async (url, options) => {
125
- await maybeInitDonobu();
126
- const startedAt = new Date().getTime();
127
- const flowId = page._donobuFlowMetadata.id;
128
- const persistenceLayer = await donobu.flowsPersistenceFactory.createPersistenceLayer();
129
- // Update the target website to whatever the first place we are
130
- // navigating to is.
131
- if (page._donobuFlowMetadata.targetWebsite === PLACEHOLDER_FLOW_URL) {
132
- page._donobuFlowMetadata = {
133
- ...page._donobuFlowMetadata,
134
- targetWebsite: url,
135
- };
136
- await persistenceLayer.setMetadata(page._donobuFlowMetadata);
137
- }
138
- try {
139
- const resp = await originalGoto.call(page, url, options);
140
- await PlaywrightUtils_1.PlaywrightUtils.waitForPageStability(page);
141
- const pageTitle = await page.title();
142
- const postCallImage = await PlaywrightUtils_1.PlaywrightUtils.takeScreenshot(page);
143
- const postCallImageId = await persistenceLayer.saveScreenShot(flowId, postCallImage);
144
- const completedAt = new Date().getTime();
145
- await persistenceLayer.saveToolCall(flowId, {
146
- id: MiscUtils_1.MiscUtils.createAdHocToolCallId(),
147
- toolName: GoToWebpageTool_1.GoToWebpageTool.NAME,
148
- parameters: {
149
- url: url,
150
- },
151
- outcome: {
152
- isSuccessful: true,
153
- forLlm: `Successfully navigated to ${url}`,
154
- metadata: {
155
- pageTitle: pageTitle,
156
- resolvedUrl: page.url(),
157
- },
158
- },
159
- postCallImageId: postCallImageId,
160
- page: url,
161
- startedAt: startedAt,
162
- completedAt: completedAt,
163
- });
164
- return resp;
165
- }
166
- catch (error) {
167
- const postCallImage = await PlaywrightUtils_1.PlaywrightUtils.takeScreenshot(page);
168
- const postCallImageId = await persistenceLayer.saveScreenShot(flowId, postCallImage);
169
- const completedAt = new Date().getTime();
170
- await persistenceLayer.saveToolCall(flowId, {
171
- id: MiscUtils_1.MiscUtils.createAdHocToolCallId(),
172
- toolName: 'goToWebpage',
173
- parameters: {
174
- url: url,
175
- },
176
- outcome: {
177
- isSuccessful: false,
178
- forLlm: `FAILED! ${typeof error}: ${error.message}`,
179
- metadata: null,
180
- },
181
- postCallImageId: postCallImageId,
182
- page: url,
183
- startedAt: startedAt,
184
- completedAt: completedAt,
185
- });
186
- // Mark test as failed for later callback
187
- isTestRunFailed = true;
188
- throw error;
189
- }
190
- };
191
- page.run = async (toolName, toolParams, gptClientOverride) => {
192
- await maybeInitDonobu();
193
- let finalGptClient = null;
194
- if (gptClientOverride) {
195
- if (!(gptClientOverride instanceof GptClient_1.GptClient)) {
196
- finalGptClient = new VercelAiGptClient_1.VercelAiGptClient(gptClientOverride);
197
- }
198
- else {
199
- finalGptClient = gptClientOverride;
200
- }
201
- }
202
- else if (gptClient) {
203
- finalGptClient = gptClient;
204
- }
205
- const pageInspector = new PageInspector_1.PageInspector();
206
- const controlPanel = new ControlPanel_1.ControlPanel(page._donobuFlowMetadata);
207
- const persistenceLayer = await donobu.flowsPersistenceFactory.createPersistenceLayer();
208
- const clonedParams = toolParams
209
- ? JSON.parse(JSON.stringify(toolParams))
210
- : {};
211
- clonedParams.rationale || (clonedParams.rationale = '');
212
- const envData = await donobu.flowsManager.buildEnvData(page._donobuFlowMetadata.envVars ?? []);
213
- const toolCallContext = {
214
- flowsManager: donobu.flowsManager,
215
- envData: envData,
216
- pageInspector: pageInspector,
217
- controlPanel: controlPanel,
218
- persistence: persistenceLayer,
219
- gptClient: finalGptClient,
220
- interactionVisualizer: new InteractionVisualizer_1.InteractionVisualizer(0),
221
- proposedToolCalls: [],
222
- invokedToolCalls: [],
223
- page: { current: page },
224
- metadata: page._donobuFlowMetadata,
225
- toolCallId: clonedParams.toolCallId ?? MiscUtils_1.MiscUtils.createAdHocToolCallId(),
226
- };
227
- try {
228
- const result = await new ToolManager_1.ToolManager(ToolManager_1.ToolManager.ALL_TOOLS).invokeTool(toolCallContext, toolName, clonedParams, false);
229
- await persistenceLayer.setMetadata(page._donobuFlowMetadata);
230
- await persistenceLayer.saveToolCall(page._donobuFlowMetadata.id, result);
231
- // Check if tool execution was successful
232
- if (!result.outcome.isSuccessful) {
233
- throw new Error(`${toolName} execution failed: ${JSON.stringify(result, null, 2)}`);
234
- }
235
- return result.outcome;
236
- }
237
- catch (error) {
238
- // Mark test as failed if an exception occurs during tool execution
239
- isTestRunFailed = true;
240
- throw error;
241
- }
242
- };
243
- page.analyzePageText = async (params, gptClientOverride) => {
244
- return page.run(AnalyzePageTextTool_1.AnalyzePageTextTool.NAME, params, gptClientOverride);
245
- };
246
- page.assertPageText = async (params, gptClientOverride) => {
247
- return page.run(AssertPageTextTool_1.AssertPageTextTool.NAME, params, gptClientOverride);
248
- };
249
- page.changeTab = async (url) => {
250
- // The underlying tool call is mostly performative. We do it so we can
251
- // record the operation occurred, but the actual page reassignment happens
252
- // at the call site of this function.
253
- const result = await page.run(ChangeWebBrowserTabTool_1.ChangeWebBrowserTabTool.NAME, {
254
- tabUrl: url,
255
- });
256
- if (result.isSuccessful) {
257
- // We need to return a real Page object, not just the raw URL, so we
258
- // loop through the pages of the current context, knowing we will find
259
- // a match.
260
- return page
261
- .context()
262
- .pages()
263
- .find((tab) => tab.url() === url);
264
- }
265
- else {
266
- throw Error(result.forLlm);
267
- }
268
- };
269
- page.chooseSelectOption = async (params) => {
270
- return page.run(ChooseSelectOptionTool_1.ChooseSelectOptionTool.NAME, params);
271
- };
272
- page.clickElement = async (params) => {
273
- return page.run(ClickTool_1.ClickTool.NAME, params);
274
- };
275
- page.createCookieReport = async (gptClientOverride) => {
276
- return page.run(CreateBrowserCookieReportTool_1.CreateBrowserCookieReportTool.NAME, gptClientOverride);
277
- };
278
- page.extract = async (params, gptClientOverride) => {
279
- await maybeInitDonobu();
280
- let finalGptClient = null;
281
- if (gptClientOverride) {
282
- if (!(gptClientOverride instanceof GptClient_1.GptClient)) {
283
- finalGptClient = new VercelAiGptClient_1.VercelAiGptClient(gptClientOverride);
284
- }
285
- else {
286
- finalGptClient = gptClientOverride;
287
- }
288
- }
289
- else if (gptClient) {
290
- finalGptClient = gptClient;
291
- }
292
- if (!finalGptClient) {
293
- isTestRunFailed = true;
294
- throw Error('Cannot extract an object from page without a GPT client set up!');
295
- }
296
- try {
297
- const persistenceLayer = await donobu.flowsPersistenceFactory.createPersistenceLayer();
298
- const toolCallHistory = await persistenceLayer.getToolCalls(page._donobuFlowMetadata.id);
299
- const structuredOutputMessage = await (0, DonobuFlow_1.extractFromPage)(params.instruction ??
300
- 'Generate an object conforming to the given JSON-schema', params.schema, page, toolCallHistory, finalGptClient);
301
- page._donobuFlowMetadata.resultJsonSchema = params.schema;
302
- page._donobuFlowMetadata.result = structuredOutputMessage.output;
303
- await persistenceLayer.setMetadata(page._donobuFlowMetadata);
304
- return structuredOutputMessage.output;
305
- }
306
- catch (error) {
307
- isTestRunFailed = true;
308
- throw error;
309
- }
310
- };
311
- page.hoverOverElement = async (params) => {
312
- return page.run(HoverOverElementTool_1.HoverOverElementTool.NAME, params);
313
- };
314
- page.inputRandomizedEmailAddress = async (params) => {
315
- return page.run(InputRandomizedEmailAddressTool_1.InputRandomizedEmailAddressTool.NAME, params);
316
- };
317
- page.inputText = async (params) => {
318
- return page.run(InputTextTool_1.InputTextTool.NAME, params);
319
- };
320
- page.pressKey = async (params) => {
321
- return page.run(PressKeyTool_1.PressKeyTool.NAME, params);
322
- };
323
- page.runAccessibilityTest = async () => {
324
- return page.run(RunAccessibilityTestTool_1.RunAccessibilityTestTool.NAME);
325
- };
326
- page.scroll = async (params) => {
327
- return page.run(ScrollPageTool_1.ScrollPageTool.NAME, params);
328
- };
329
- page.visuallyAssert = async (params, gptClientOverride) => {
330
- return page.run(AssertTool_1.AssertTool.NAME, params, gptClientOverride);
331
- };
332
- try {
333
- // Let Playwright continue and give tests the patched page.
334
- await use(page);
335
- // Check if the test status is failed in the testInfo
336
- // This catches failures that were marked by Playwright itself
337
- if (testInfo.status === 'failed' || testInfo.status === 'timedOut') {
338
- isTestRunFailed = true;
339
- }
340
- }
341
- catch (error) {
342
- // Mark test as failed if an uncaught exception occurs during the test
343
- isTestRunFailed = true;
344
- throw error;
345
- }
346
- finally {
347
- try {
348
- const persistenceLayer = await donobu.flowsPersistenceFactory.createPersistenceLayer();
349
- if (page._donobuFlowMetadata) {
350
- // Update metadata with final status
351
- page._donobuFlowMetadata.state = isTestRunFailed
352
- ? 'FAILED'
353
- : 'SUCCESS';
354
- page._donobuFlowMetadata.completedAt = new Date().getTime();
355
- await persistenceLayer.setMetadata(page._donobuFlowMetadata);
356
- await testInfo.attach('test-flow-metadata.json', {
357
- body: JSON.stringify(page._donobuFlowMetadata, null, 2),
358
- contentType: 'application/json',
359
- });
360
- }
361
- }
362
- catch (error) {
363
- // Log but don't throw, to ensure cleanup continues.
364
- Logger_1.appLogger.error('Error during test cleanup:', error);
365
- }
366
- const isSelfHealEnabledEnvVar = process.env[envVars_1.ENV_VAR_NAMES.SELF_HEAL_TESTS_ENABLED]?.trim();
367
- if (isTestRunFailed &&
368
- (isSelfHealEnabledEnvVar === 'true' || isSelfHealEnabledEnvVar === '1')) {
369
- if (!gptClient) {
370
- Logger_1.appLogger.warn('Will not self-heal due to no GPT client being set up.');
371
- return;
372
- }
373
- try {
374
- await (0, selfHealing_1.selfHeal)(gptClient, testInfo, page._donobuFlowMetadata);
375
- }
376
- catch (selfHealError) {
377
- Logger_1.appLogger.error('Error when attempting to self heal:', selfHealError);
378
- }
379
- }
380
- }
381
- },
382
- });
383
- //# sourceMappingURL=testExtension.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testExtension.js","sourceRoot":"","sources":["../../../../src/lib/fixtures/testExtension.ts"],"names":[],"mappings":"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"}