donobu 2.3.0 → 2.4.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 (317) hide show
  1. package/README.md +14 -0
  2. package/dist/apis/SpecialFlowsApi.d.ts +7 -1
  3. package/dist/apis/SpecialFlowsApi.js +41 -29
  4. package/dist/apis/SpecialFlowsApi.js.map +1 -1
  5. package/dist/apis/ToolsApi.d.ts +1 -1
  6. package/dist/apis/ToolsApi.js +1 -1
  7. package/dist/apis/ToolsApi.js.map +1 -1
  8. package/dist/assets/control-panel.js +3 -3
  9. package/dist/assets/generated/parameter-schemas.json +4 -4
  10. package/dist/assets/generated/version +1 -1
  11. package/dist/clients/AnthropicAwsBedrockGptClient.js +1 -1
  12. package/dist/clients/AnthropicAwsBedrockGptClient.js.map +1 -1
  13. package/dist/clients/AnthropicGptClient.js +1 -1
  14. package/dist/clients/AnthropicGptClient.js.map +1 -1
  15. package/dist/clients/GoogleGptClient.js +3 -3
  16. package/dist/clients/GoogleGptClient.js.map +1 -1
  17. package/dist/clients/GptClient.d.ts +1 -1
  18. package/dist/clients/OpenAiGptClient.js +1 -1
  19. package/dist/clients/OpenAiGptClient.js.map +1 -1
  20. package/dist/clients/VercelAiGptClient.js +1 -1
  21. package/dist/clients/VercelAiGptClient.js.map +1 -1
  22. package/dist/esm/apis/SpecialFlowsApi.d.ts +7 -1
  23. package/dist/esm/apis/SpecialFlowsApi.js +41 -29
  24. package/dist/esm/apis/SpecialFlowsApi.js.map +1 -1
  25. package/dist/esm/apis/ToolsApi.d.ts +1 -1
  26. package/dist/esm/apis/ToolsApi.js +1 -1
  27. package/dist/esm/apis/ToolsApi.js.map +1 -1
  28. package/dist/esm/assets/control-panel.js +3 -3
  29. package/dist/esm/assets/generated/parameter-schemas.json +4 -4
  30. package/dist/esm/assets/generated/version +1 -1
  31. package/dist/esm/clients/AnthropicAwsBedrockGptClient.js +1 -1
  32. package/dist/esm/clients/AnthropicAwsBedrockGptClient.js.map +1 -1
  33. package/dist/esm/clients/AnthropicGptClient.js +1 -1
  34. package/dist/esm/clients/AnthropicGptClient.js.map +1 -1
  35. package/dist/esm/clients/GoogleGptClient.js +3 -3
  36. package/dist/esm/clients/GoogleGptClient.js.map +1 -1
  37. package/dist/esm/clients/GptClient.d.ts +1 -1
  38. package/dist/esm/clients/OpenAiGptClient.js +1 -1
  39. package/dist/esm/clients/OpenAiGptClient.js.map +1 -1
  40. package/dist/esm/clients/VercelAiGptClient.js +1 -1
  41. package/dist/esm/clients/VercelAiGptClient.js.map +1 -1
  42. package/dist/esm/main.d.ts +6 -6
  43. package/dist/esm/main.js +50 -39
  44. package/dist/esm/main.js.map +1 -1
  45. package/dist/esm/managers/AdminApiController.js +12 -25
  46. package/dist/esm/managers/AdminApiController.js.map +1 -1
  47. package/dist/esm/managers/CodeGenerator.d.ts +8 -0
  48. package/dist/esm/managers/CodeGenerator.js +25 -9
  49. package/dist/esm/managers/CodeGenerator.js.map +1 -1
  50. package/dist/esm/managers/DonobuFlow.js +4 -2
  51. package/dist/esm/managers/DonobuFlow.js.map +1 -1
  52. package/dist/esm/managers/DonobuFlowsManager.js +16 -7
  53. package/dist/esm/managers/DonobuFlowsManager.js.map +1 -1
  54. package/dist/esm/managers/DonobuMcpServer.d.ts +24 -0
  55. package/dist/esm/managers/DonobuMcpServer.js +146 -0
  56. package/dist/esm/managers/DonobuMcpServer.js.map +1 -0
  57. package/dist/esm/managers/DonobuStack.d.ts +19 -0
  58. package/dist/esm/managers/DonobuStack.js +29 -0
  59. package/dist/esm/managers/DonobuStack.js.map +1 -0
  60. package/dist/esm/managers/ToolManager.d.ts +1 -2
  61. package/dist/esm/managers/ToolManager.js +14 -14
  62. package/dist/esm/managers/ToolManager.js.map +1 -1
  63. package/dist/esm/models/BrowserFramework.d.ts +8 -15
  64. package/dist/esm/models/BrowserFramework.js +74 -96
  65. package/dist/esm/models/BrowserFramework.js.map +1 -1
  66. package/dist/esm/models/CustomTool.d.ts +1 -1
  67. package/dist/esm/persistence/DonobuSqliteDb.js +3 -2
  68. package/dist/esm/persistence/DonobuSqliteDb.js.map +1 -1
  69. package/dist/esm/test.d.ts +2 -15
  70. package/dist/esm/test.js +37 -54
  71. package/dist/esm/test.js.map +1 -1
  72. package/dist/esm/tools/CustomToolRunnerTool.js +5 -5
  73. package/dist/esm/tools/CustomToolRunnerTool.js.map +1 -1
  74. package/dist/esm/tools/GoToGoogleMapsStreetViewTool.js +9 -11
  75. package/dist/esm/tools/GoToGoogleMapsStreetViewTool.js.map +1 -1
  76. package/dist/esm/tools/Tool.d.ts +2 -2
  77. package/dist/esm/tools/Tool.js +4 -4
  78. package/dist/esm/tools/Tool.js.map +1 -1
  79. package/dist/esm/utils/PlaywrightUtils.js +0 -2
  80. package/dist/esm/utils/PlaywrightUtils.js.map +1 -1
  81. package/dist/main.d.ts +6 -6
  82. package/dist/main.js +50 -39
  83. package/dist/main.js.map +1 -1
  84. package/dist/managers/AdminApiController.js +12 -25
  85. package/dist/managers/AdminApiController.js.map +1 -1
  86. package/dist/managers/CodeGenerator.d.ts +8 -0
  87. package/dist/managers/CodeGenerator.js +25 -9
  88. package/dist/managers/CodeGenerator.js.map +1 -1
  89. package/dist/managers/DonobuFlow.js +4 -2
  90. package/dist/managers/DonobuFlow.js.map +1 -1
  91. package/dist/managers/DonobuFlowsManager.js +16 -7
  92. package/dist/managers/DonobuFlowsManager.js.map +1 -1
  93. package/dist/managers/DonobuMcpServer.d.ts +24 -0
  94. package/dist/managers/DonobuMcpServer.js +146 -0
  95. package/dist/managers/DonobuMcpServer.js.map +1 -0
  96. package/dist/managers/DonobuStack.d.ts +19 -0
  97. package/dist/managers/DonobuStack.js +29 -0
  98. package/dist/managers/DonobuStack.js.map +1 -0
  99. package/dist/managers/ToolManager.d.ts +1 -2
  100. package/dist/managers/ToolManager.js +14 -14
  101. package/dist/managers/ToolManager.js.map +1 -1
  102. package/dist/models/BrowserFramework.d.ts +8 -15
  103. package/dist/models/BrowserFramework.js +74 -96
  104. package/dist/models/BrowserFramework.js.map +1 -1
  105. package/dist/models/CustomTool.d.ts +1 -1
  106. package/dist/persistence/DonobuSqliteDb.js +3 -2
  107. package/dist/persistence/DonobuSqliteDb.js.map +1 -1
  108. package/dist/test.d.ts +2 -15
  109. package/dist/test.js +37 -54
  110. package/dist/test.js.map +1 -1
  111. package/dist/tools/CustomToolRunnerTool.js +5 -5
  112. package/dist/tools/CustomToolRunnerTool.js.map +1 -1
  113. package/dist/tools/GoToGoogleMapsStreetViewTool.js +9 -11
  114. package/dist/tools/GoToGoogleMapsStreetViewTool.js.map +1 -1
  115. package/dist/tools/Tool.d.ts +2 -2
  116. package/dist/tools/Tool.js +4 -4
  117. package/dist/tools/Tool.js.map +1 -1
  118. package/dist/utils/PlaywrightUtils.js +0 -2
  119. package/dist/utils/PlaywrightUtils.js.map +1 -1
  120. package/package.json +1 -1
  121. package/dist/apis/GptResourcesApi.d.ts +0 -20
  122. package/dist/apis/GptResourcesApi.js +0 -53
  123. package/dist/apis/GptResourcesApi.js.map +0 -1
  124. package/dist/apis/KeysApi.d.ts +0 -25
  125. package/dist/apis/KeysApi.js +0 -64
  126. package/dist/apis/KeysApi.js.map +0 -1
  127. package/dist/assets/Donobu.entitlements.plist +0 -28
  128. package/dist/clients/GoogleGptClient2.d.ts +0 -18
  129. package/dist/clients/GoogleGptClient2.js +0 -237
  130. package/dist/clients/GoogleGptClient2.js.map +0 -1
  131. package/dist/donobu.fixtures.d.ts +0 -57
  132. package/dist/donobu.fixtures.js +0 -167
  133. package/dist/donobu.fixtures.js.map +0 -1
  134. package/dist/esm/apis/GptResourcesApi.d.ts +0 -20
  135. package/dist/esm/apis/GptResourcesApi.js +0 -53
  136. package/dist/esm/apis/GptResourcesApi.js.map +0 -1
  137. package/dist/esm/apis/KeysApi.d.ts +0 -25
  138. package/dist/esm/apis/KeysApi.js +0 -64
  139. package/dist/esm/apis/KeysApi.js.map +0 -1
  140. package/dist/esm/assets/Donobu.entitlements.plist +0 -28
  141. package/dist/esm/donobu.fixtures.d.ts +0 -57
  142. package/dist/esm/donobu.fixtures.js +0 -167
  143. package/dist/esm/donobu.fixtures.js.map +0 -1
  144. package/dist/esm/exceptions/GptResourceNotFoundException.d.ts +0 -8
  145. package/dist/esm/exceptions/GptResourceNotFoundException.js +0 -16
  146. package/dist/esm/exceptions/GptResourceNotFoundException.js.map +0 -1
  147. package/dist/esm/managers/FlowsPersistence.d.ts +0 -79
  148. package/dist/esm/managers/FlowsPersistence.js +0 -3
  149. package/dist/esm/managers/FlowsPersistence.js.map +0 -1
  150. package/dist/esm/managers/FlowsPersistenceAwsS3.d.ts +0 -48
  151. package/dist/esm/managers/FlowsPersistenceAwsS3.js +0 -284
  152. package/dist/esm/managers/FlowsPersistenceAwsS3.js.map +0 -1
  153. package/dist/esm/managers/FlowsPersistenceFactory.d.ts +0 -9
  154. package/dist/esm/managers/FlowsPersistenceFactory.js +0 -3
  155. package/dist/esm/managers/FlowsPersistenceFactory.js.map +0 -1
  156. package/dist/esm/managers/FlowsPersistenceFactoryImpl.d.ts +0 -57
  157. package/dist/esm/managers/FlowsPersistenceFactoryImpl.js +0 -119
  158. package/dist/esm/managers/FlowsPersistenceFactoryImpl.js.map +0 -1
  159. package/dist/esm/managers/FlowsPersistenceFactoryPreset.d.ts +0 -12
  160. package/dist/esm/managers/FlowsPersistenceFactoryPreset.js +0 -25
  161. package/dist/esm/managers/FlowsPersistenceFactoryPreset.js.map +0 -1
  162. package/dist/esm/managers/FlowsPersistenceFilesystem.d.ts +0 -33
  163. package/dist/esm/managers/FlowsPersistenceFilesystem.js +0 -180
  164. package/dist/esm/managers/FlowsPersistenceFilesystem.js.map +0 -1
  165. package/dist/esm/managers/FlowsPersistenceGoogleCloudStorage.d.ts +0 -40
  166. package/dist/esm/managers/FlowsPersistenceGoogleCloudStorage.js +0 -209
  167. package/dist/esm/managers/FlowsPersistenceGoogleCloudStorage.js.map +0 -1
  168. package/dist/esm/managers/FlowsPersistenceSupabase.d.ts +0 -33
  169. package/dist/esm/managers/FlowsPersistenceSupabase.js +0 -152
  170. package/dist/esm/managers/FlowsPersistenceSupabase.js.map +0 -1
  171. package/dist/esm/managers/FlowsPersistenceVolatile.d.ts +0 -30
  172. package/dist/esm/managers/FlowsPersistenceVolatile.js +0 -103
  173. package/dist/esm/managers/FlowsPersistenceVolatile.js.map +0 -1
  174. package/dist/esm/managers/GptPlatformApiKeysManager.d.ts +0 -36
  175. package/dist/esm/managers/GptPlatformApiKeysManager.js +0 -3
  176. package/dist/esm/managers/GptPlatformApiKeysManager.js.map +0 -1
  177. package/dist/esm/managers/GptPlatformApiKeysManagerFilesystem.d.ts +0 -29
  178. package/dist/esm/managers/GptPlatformApiKeysManagerFilesystem.js +0 -136
  179. package/dist/esm/managers/GptPlatformApiKeysManagerFilesystem.js.map +0 -1
  180. package/dist/esm/managers/GptPlatformApiKeysManagerVolatile.d.ts +0 -35
  181. package/dist/esm/managers/GptPlatformApiKeysManagerVolatile.js +0 -51
  182. package/dist/esm/managers/GptPlatformApiKeysManagerVolatile.js.map +0 -1
  183. package/dist/esm/managers/GptResourcesManager.d.ts +0 -39
  184. package/dist/esm/managers/GptResourcesManager.js +0 -130
  185. package/dist/esm/managers/GptResourcesManager.js.map +0 -1
  186. package/dist/esm/managers/SelectorGenerator.d.ts +0 -8
  187. package/dist/esm/managers/SelectorGenerator.js +0 -15
  188. package/dist/esm/managers/SelectorGenerator.js.map +0 -1
  189. package/dist/esm/models/ElementSelectorForReplay.d.ts +0 -14
  190. package/dist/esm/models/ElementSelectorForReplay.js +0 -3
  191. package/dist/esm/models/ElementSelectorForReplay.js.map +0 -1
  192. package/dist/esm/models/GptResource.d.ts +0 -33
  193. package/dist/esm/models/GptResource.js +0 -3
  194. package/dist/esm/models/GptResource.js.map +0 -1
  195. package/dist/esm/persistence/AgentsPersistenceFilesystem.d.ts +0 -15
  196. package/dist/esm/persistence/AgentsPersistenceFilesystem.js +0 -48
  197. package/dist/esm/persistence/AgentsPersistenceFilesystem.js.map +0 -1
  198. package/dist/esm/persistence/GptConfigsPersistenceFilesystem.d.ts +0 -16
  199. package/dist/esm/persistence/GptConfigsPersistenceFilesystem.js +0 -54
  200. package/dist/esm/persistence/GptConfigsPersistenceFilesystem.js.map +0 -1
  201. package/dist/esm/persistence/GptResourcesPersistence.d.ts +0 -11
  202. package/dist/esm/persistence/GptResourcesPersistence.js +0 -3
  203. package/dist/esm/persistence/GptResourcesPersistence.js.map +0 -1
  204. package/dist/esm/persistence/GptResourcesPersistenceFilesystem.d.ts +0 -20
  205. package/dist/esm/persistence/GptResourcesPersistenceFilesystem.js +0 -79
  206. package/dist/esm/persistence/GptResourcesPersistenceFilesystem.js.map +0 -1
  207. package/dist/esm/persistence/GptResourcesPersistenceVolatile.d.ts +0 -14
  208. package/dist/esm/persistence/GptResourcesPersistenceVolatile.js +0 -32
  209. package/dist/esm/persistence/GptResourcesPersistenceVolatile.js.map +0 -1
  210. package/dist/esm/testfixtures.d.ts +0 -66
  211. package/dist/esm/testfixtures.js +0 -288
  212. package/dist/esm/testfixtures.js.map +0 -1
  213. package/dist/esm/tools/AssertTextVisibility.d.ts +0 -19
  214. package/dist/esm/tools/AssertTextVisibility.js +0 -32
  215. package/dist/esm/tools/AssertTextVisibility.js.map +0 -1
  216. package/dist/esm/tools/ClickButtonTool.d.ts +0 -14
  217. package/dist/esm/tools/ClickButtonTool.js +0 -36
  218. package/dist/esm/tools/ClickButtonTool.js.map +0 -1
  219. package/dist/esm/tools/NavigateToWebpageTool.d.ts +0 -20
  220. package/dist/esm/tools/NavigateToWebpageTool.js +0 -40
  221. package/dist/esm/tools/NavigateToWebpageTool.js.map +0 -1
  222. package/dist/esm/utils/DirectoryUtils.d.ts +0 -11
  223. package/dist/esm/utils/DirectoryUtils.js +0 -37
  224. package/dist/esm/utils/DirectoryUtils.js.map +0 -1
  225. package/dist/exceptions/GptResourceNotFoundException.d.ts +0 -8
  226. package/dist/exceptions/GptResourceNotFoundException.js +0 -16
  227. package/dist/exceptions/GptResourceNotFoundException.js.map +0 -1
  228. package/dist/managers/FlowsPersistence.d.ts +0 -79
  229. package/dist/managers/FlowsPersistence.js +0 -3
  230. package/dist/managers/FlowsPersistence.js.map +0 -1
  231. package/dist/managers/FlowsPersistenceAwsS3.d.ts +0 -48
  232. package/dist/managers/FlowsPersistenceAwsS3.js +0 -284
  233. package/dist/managers/FlowsPersistenceAwsS3.js.map +0 -1
  234. package/dist/managers/FlowsPersistenceFactory.d.ts +0 -9
  235. package/dist/managers/FlowsPersistenceFactory.js +0 -3
  236. package/dist/managers/FlowsPersistenceFactory.js.map +0 -1
  237. package/dist/managers/FlowsPersistenceFactoryImpl.d.ts +0 -57
  238. package/dist/managers/FlowsPersistenceFactoryImpl.js +0 -119
  239. package/dist/managers/FlowsPersistenceFactoryImpl.js.map +0 -1
  240. package/dist/managers/FlowsPersistenceFactoryPreset.d.ts +0 -12
  241. package/dist/managers/FlowsPersistenceFactoryPreset.js +0 -25
  242. package/dist/managers/FlowsPersistenceFactoryPreset.js.map +0 -1
  243. package/dist/managers/FlowsPersistenceFilesystem.d.ts +0 -33
  244. package/dist/managers/FlowsPersistenceFilesystem.js +0 -180
  245. package/dist/managers/FlowsPersistenceFilesystem.js.map +0 -1
  246. package/dist/managers/FlowsPersistenceGoogleCloudStorage.d.ts +0 -40
  247. package/dist/managers/FlowsPersistenceGoogleCloudStorage.js +0 -209
  248. package/dist/managers/FlowsPersistenceGoogleCloudStorage.js.map +0 -1
  249. package/dist/managers/FlowsPersistenceSupabase.d.ts +0 -33
  250. package/dist/managers/FlowsPersistenceSupabase.js +0 -152
  251. package/dist/managers/FlowsPersistenceSupabase.js.map +0 -1
  252. package/dist/managers/FlowsPersistenceVolatile.d.ts +0 -30
  253. package/dist/managers/FlowsPersistenceVolatile.js +0 -103
  254. package/dist/managers/FlowsPersistenceVolatile.js.map +0 -1
  255. package/dist/managers/GptPlatformApiKeysManager.d.ts +0 -36
  256. package/dist/managers/GptPlatformApiKeysManager.js +0 -3
  257. package/dist/managers/GptPlatformApiKeysManager.js.map +0 -1
  258. package/dist/managers/GptPlatformApiKeysManagerFilesystem.d.ts +0 -29
  259. package/dist/managers/GptPlatformApiKeysManagerFilesystem.js +0 -136
  260. package/dist/managers/GptPlatformApiKeysManagerFilesystem.js.map +0 -1
  261. package/dist/managers/GptPlatformApiKeysManagerVolatile.d.ts +0 -35
  262. package/dist/managers/GptPlatformApiKeysManagerVolatile.js +0 -51
  263. package/dist/managers/GptPlatformApiKeysManagerVolatile.js.map +0 -1
  264. package/dist/managers/GptResourcesManager.d.ts +0 -44
  265. package/dist/managers/GptResourcesManager.js +0 -180
  266. package/dist/managers/GptResourcesManager.js.map +0 -1
  267. package/dist/managers/SelectorGenerator.d.ts +0 -8
  268. package/dist/managers/SelectorGenerator.js +0 -15
  269. package/dist/managers/SelectorGenerator.js.map +0 -1
  270. package/dist/models/BaseToolParam.d.ts +0 -9
  271. package/dist/models/BaseToolParam.js +0 -3
  272. package/dist/models/BaseToolParam.js.map +0 -1
  273. package/dist/models/BaseToolParameters.d.ts +0 -9
  274. package/dist/models/BaseToolParameters.js +0 -3
  275. package/dist/models/BaseToolParameters.js.map +0 -1
  276. package/dist/models/DonobuAnnotated.d.ts +0 -23
  277. package/dist/models/DonobuAnnotated.js +0 -12
  278. package/dist/models/DonobuAnnotated.js.map +0 -1
  279. package/dist/models/ElementSelectorForReplay.d.ts +0 -14
  280. package/dist/models/ElementSelectorForReplay.js +0 -3
  281. package/dist/models/ElementSelectorForReplay.js.map +0 -1
  282. package/dist/models/GptResource.d.ts +0 -33
  283. package/dist/models/GptResource.js +0 -3
  284. package/dist/models/GptResource.js.map +0 -1
  285. package/dist/persistence/AgentsPersistenceFilesystem.d.ts +0 -15
  286. package/dist/persistence/AgentsPersistenceFilesystem.js +0 -48
  287. package/dist/persistence/AgentsPersistenceFilesystem.js.map +0 -1
  288. package/dist/persistence/GptConfigsPersistenceFilesystem.d.ts +0 -16
  289. package/dist/persistence/GptConfigsPersistenceFilesystem.js +0 -54
  290. package/dist/persistence/GptConfigsPersistenceFilesystem.js.map +0 -1
  291. package/dist/persistence/GptResourcesPersistence.d.ts +0 -11
  292. package/dist/persistence/GptResourcesPersistence.js +0 -3
  293. package/dist/persistence/GptResourcesPersistence.js.map +0 -1
  294. package/dist/persistence/GptResourcesPersistenceFilesystem.d.ts +0 -20
  295. package/dist/persistence/GptResourcesPersistenceFilesystem.js +0 -79
  296. package/dist/persistence/GptResourcesPersistenceFilesystem.js.map +0 -1
  297. package/dist/persistence/GptResourcesPersistenceVolatile.d.ts +0 -14
  298. package/dist/persistence/GptResourcesPersistenceVolatile.js +0 -32
  299. package/dist/persistence/GptResourcesPersistenceVolatile.js.map +0 -1
  300. package/dist/testfixtures.d.ts +0 -66
  301. package/dist/testfixtures.js +0 -288
  302. package/dist/testfixtures.js.map +0 -1
  303. package/dist/tools/AssertTextVisibility.d.ts +0 -19
  304. package/dist/tools/AssertTextVisibility.js +0 -32
  305. package/dist/tools/AssertTextVisibility.js.map +0 -1
  306. package/dist/tools/ClickButtonTool.d.ts +0 -14
  307. package/dist/tools/ClickButtonTool.js +0 -36
  308. package/dist/tools/ClickButtonTool.js.map +0 -1
  309. package/dist/tools/NavigateToWebpage.d.ts +0 -19
  310. package/dist/tools/NavigateToWebpage.js +0 -25
  311. package/dist/tools/NavigateToWebpage.js.map +0 -1
  312. package/dist/tools/NavigateToWebpageTool.d.ts +0 -20
  313. package/dist/tools/NavigateToWebpageTool.js +0 -40
  314. package/dist/tools/NavigateToWebpageTool.js.map +0 -1
  315. package/dist/utils/DirectoryUtils.d.ts +0 -11
  316. package/dist/utils/DirectoryUtils.js +0 -37
  317. package/dist/utils/DirectoryUtils.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"KeysApi.js","sourceRoot":"","sources":["../../../src/apis/KeysApi.ts"],"names":[],"mappings":";;;AACA,yDAAkD;AAElD,yFAAsF;AAEtF,MAAa,OAAO;IAEC;IADnB,YACmB,yBAAoD;QAApD,8BAAyB,GAAzB,yBAAyB,CAA2B;IACpE,CAAC;IAEJ;;OAEG;IACI,KAAK,CAAC,SAAS,CAAC,GAAY,EAAE,GAAa;QAChD,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,uBAAQ,CAAC,YAAqC,CAAC,CAAC;QAEjE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,uDAA0B,CAClC,sBAAsB,EACtB,YAAY,CACb,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,UAAU,CAAC,IAAa,EAAE,GAAa;QAClD,MAAM,iBAAiB,GACrB,MAAM,IAAI,CAAC,yBAAyB,CAAC,uBAAuB,EAAE,CAAC;QACjE,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAE7C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,uBAAQ,CAAC,EAAE,CAAC;YAC/C,QAAQ,CAAC,QAAQ,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5D,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,GAAY,EAAE,GAAa;QAChD,MAAM,IAAI,GAAG,GAAG,CAAC,IAEhB,CAAC;QACF,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,uBAAQ,CAAC,YAAqC,CAAC,CAAC;QAEjE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,uDAA0B,CAClC,sBAAsB,EACtB,YAAY,CACb,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAChE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,GAAY,EAAE,GAAa;QACnD,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,uBAAQ,CAAC,YAAqC,CAAC,CAAC;QAEjE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,uDAA0B,CAClC,sBAAsB,EACtB,YAAY,CACb,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACzD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;CACF;AA/ED,0BA+EC"}
@@ -1,28 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
- <plist version="1.0">
4
- <dict>
5
- <!-- Allow Just-In-Time (JIT) compilation (important for Java) -->
6
- <key>com.apple.security.cs.allow-jit</key>
7
- <true/>
8
-
9
- <!-- Allow running unsigned executable memory (important for Java's dynamic nature) -->
10
- <key>com.apple.security.cs.allow-unsigned-executable-memory</key>
11
- <true/>
12
-
13
- <!-- Disable library validation, allows the app to load unsigned libraries -->
14
- <key>com.apple.security.cs.disable-library-validation</key>
15
- <true/>
16
-
17
- <!-- Allow access to the network -->
18
- <key>com.apple.security.network.client</key>
19
- <true/>
20
-
21
- <key>com.apple.security.network.server</key>
22
- <true/>
23
-
24
- <!-- Allow the app to access files within the user-selected directories -->
25
- <key>com.apple.security.files.user-selected.read-write</key>
26
- <true/>
27
- </dict>
28
- </plist>
@@ -1,57 +0,0 @@
1
- import type { Page } from '@playwright/test';
2
- import { DonobuFlowsManager } from './managers/DonobuFlowsManager';
3
- import { FlowsPersistenceFactory } from './managers/FlowsPersistenceFactory';
4
- import { ToolManager } from './managers/ToolManager';
5
- import { GptPlatformApiKeysManagerFilesystem } from './managers/GptPlatformApiKeysManagerFilesystem';
6
- import { FlowMetadata, Platform } from './models/FlowMetadata';
7
- import { BrowserStorageState } from './models/BrowserState';
8
- import { FlowsPersistence } from './managers/FlowsPersistence';
9
- import { DonobuDeploymentEnvironment } from './models/DonobuDeploymentEnvironment';
10
- import { BrowserStateFlowReference } from './models/BrowserStateFlowReference';
11
- import { ToolCallResult } from './models/ToolCallResult';
12
- import { AnalyzePageTextToolCoreParameters } from './tools/AnalyzePageTextTool';
13
- import { AssertToolCoreParameters } from './tools/AssertTool';
14
- import { GptClient } from './clients/GptClient';
15
- import { SelectorBasedClickButtonToolParameters } from './tools/ChooseSelectOptionTool';
16
- import { InputRandomizedEmailAddressToolCoreParameters } from './tools/InputRandomizedEmailAddressTool';
17
- import { SelectorBasedInputTextToolParameters } from './tools/InputTextTool';
18
- import { SelectorBasedPressKeyToolParameters } from './tools/PressKeyTool';
19
- import { ScrollPageToolCoreParameters } from './tools/ScrollPageTool';
20
- import { SelectorBasedHoverOverElementToolParameters } from './tools/HoverOverElementTool';
21
- /**
22
- * Extends the Page object with additional test-related methods.
23
- */
24
- interface DonobuExtendedPage extends Page {
25
- run(toolName: string, toolParams?: any): Promise<ToolCallResult>;
26
- analyzePageText(params: AnalyzePageTextToolCoreParameters): Promise<ToolCallResult>;
27
- chooseSelectOption(params: SelectorBasedClickButtonToolParameters): Promise<ToolCallResult>;
28
- clickElement(params: SelectorBasedClickButtonToolParameters): Promise<ToolCallResult>;
29
- createCookieReport(): Promise<ToolCallResult>;
30
- detectBrokenLinks(): Promise<ToolCallResult>;
31
- hoverOverElement(params: SelectorBasedHoverOverElementToolParameters): Promise<ToolCallResult>;
32
- inputRandomizedEmailAddress(params: InputRandomizedEmailAddressToolCoreParameters): Promise<ToolCallResult>;
33
- inputText(params: SelectorBasedInputTextToolParameters): Promise<ToolCallResult>;
34
- pressKey(params: SelectorBasedPressKeyToolParameters): Promise<ToolCallResult>;
35
- runAccessibilityTest(): Promise<ToolCallResult>;
36
- scroll(params: ScrollPageToolCoreParameters): Promise<ToolCallResult>;
37
- visuallyAssert(params: AssertToolCoreParameters): Promise<ToolCallResult>;
38
- _donobu: DonobuParams;
39
- _donobuFlowMetadata: FlowMetadata;
40
- _gptClient: GptClient | null;
41
- }
42
- type DonobuParams = {
43
- workingDir: string;
44
- donobuVersion: string;
45
- deploymentEnvironment: DonobuDeploymentEnvironment;
46
- gptPlatformApiKeysManager: GptPlatformApiKeysManagerFilesystem;
47
- enabledGptPlatforms: Platform[];
48
- flowsPersistenceFactory: FlowsPersistenceFactory;
49
- toolManager: ToolManager;
50
- flowsManager: DonobuFlowsManager;
51
- persistenceLayer: FlowsPersistence;
52
- };
53
- export declare function getBrowserStorageState(flowIdOrName: BrowserStateFlowReference): Promise<BrowserStorageState>;
54
- export declare const test: import("@playwright/test").TestType<import("@playwright/test").PlaywrightTestArgs & import("@playwright/test").PlaywrightTestOptions & {
55
- page: DonobuExtendedPage;
56
- }, import("@playwright/test").PlaywrightWorkerArgs & import("@playwright/test").PlaywrightWorkerOptions>;
57
- export {};
@@ -1,167 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.test = void 0;
4
- exports.getBrowserStorageState = getBrowserStorageState;
5
- //
6
- // TODO:
7
- // - Add bindings (i.e. FocusPage) to the page object. This one may be impossible.
8
- //
9
- const test_1 = require("@playwright/test");
10
- const DonobuFlowsManager_1 = require("./managers/DonobuFlowsManager");
11
- const FlowsPersistenceFactoryImpl_1 = require("./managers/FlowsPersistenceFactoryImpl");
12
- const RequestContextHolder_1 = require("./managers/RequestContextHolder");
13
- const DirectoryUtils_1 = require("./utils/DirectoryUtils");
14
- const ToolManager_1 = require("./managers/ToolManager");
15
- const GptPlatformApiKeysManagerFilesystem_1 = require("./managers/GptPlatformApiKeysManagerFilesystem");
16
- const ToolTipper_1 = require("./managers/ToolTipper");
17
- const FlowMetadata_1 = require("./models/FlowMetadata");
18
- const PlaywrightUtils_1 = require("./utils/PlaywrightUtils");
19
- const MiscUtils_1 = require("./utils/MiscUtils");
20
- const DonobuDeploymentEnvironment_1 = require("./models/DonobuDeploymentEnvironment");
21
- async function setupDonobu() {
22
- const workingDir = (0, DirectoryUtils_1.baseWorkingDirectory)();
23
- const donobuVersion = MiscUtils_1.MiscUtils.DONOBU_VERSION;
24
- const deploymentEnvironment = DonobuDeploymentEnvironment_1.DonobuDeploymentEnvironment.LOCAL;
25
- const gptPlatformApiKeysManager = await GptPlatformApiKeysManagerFilesystem_1.GptPlatformApiKeysManagerFilesystem.create(workingDir);
26
- const enabledGptPlatforms = await gptPlatformApiKeysManager.getGptPlatformsWithKeys();
27
- const flowsPersistenceFactory = FlowsPersistenceFactoryImpl_1.FlowsPersistenceFactoryImpl.fromEnvironment(DonobuDeploymentEnvironment_1.DonobuDeploymentEnvironment.LOCAL, workingDir, new RequestContextHolder_1.RequestContextHolder());
28
- const toolManager = new ToolManager_1.ToolManager(ToolManager_1.ToolManager.ALL_TOOLS);
29
- const flowsManager = new DonobuFlowsManager_1.DonobuFlowsManager(deploymentEnvironment, gptPlatformApiKeysManager, flowsPersistenceFactory, toolManager.tools);
30
- const persistenceLayer = await flowsPersistenceFactory.createPersistenceLayer();
31
- return {
32
- workingDir,
33
- donobuVersion,
34
- deploymentEnvironment,
35
- gptPlatformApiKeysManager,
36
- enabledGptPlatforms,
37
- flowsPersistenceFactory,
38
- toolManager,
39
- flowsManager,
40
- persistenceLayer,
41
- };
42
- }
43
- async function getBrowserStorageState(flowIdOrName) {
44
- return (await setupDonobu()).flowsManager.getBrowserStorageState(flowIdOrName);
45
- }
46
- exports.test = test_1.test.extend({
47
- // Override the default page fixture
48
- page: async ({ page }, use) => {
49
- // Patch the page with "run", but do it lazily
50
- const donobu = await setupDonobu();
51
- await page
52
- .context()
53
- .addInitScript(PlaywrightUtils_1.PlaywrightUtils.accessibilityTestInitScript());
54
- let isInitialized = false;
55
- async function maybeInitDonobu() {
56
- if (isInitialized) {
57
- return;
58
- }
59
- const donobuTestFlowMetadata = {
60
- id: crypto.randomUUID(),
61
- name: null,
62
- createdWithDonobuVersion: donobu.donobuVersion,
63
- initialBrowserState: null,
64
- persistBrowserState: null,
65
- gptPlatform: donobu.enabledGptPlatforms[0] ?? null,
66
- gptModel: null,
67
- customTools: null,
68
- defaultToolTipDurationMilliseconds: 0,
69
- runMode: FlowMetadata_1.RunMode.DETERMINISTIC,
70
- isControlPanelEnabled: false,
71
- deviceName: null,
72
- remoteBrowserInstanceUrl: null,
73
- callbackUrl: null,
74
- headless: true,
75
- targetWebsite: 'https://example.com',
76
- overallObjective: null,
77
- allowedTools: [],
78
- resultJsonSchema: null,
79
- result: null,
80
- inputTokensUsed: 0,
81
- completionTokensUsed: 0,
82
- iterations: 0,
83
- maxIterations: 0,
84
- startedAt: new Date().toISOString(),
85
- completedAt: null,
86
- state: FlowMetadata_1.State.RUNNING_ACTION,
87
- nextState: null,
88
- };
89
- const gptClient = await donobu.flowsManager.createGptClient(donobuTestFlowMetadata.gptPlatform?.toString() ?? null, donobuTestFlowMetadata.gptModel);
90
- await donobu.persistenceLayer.saveMetadata(donobuTestFlowMetadata);
91
- page._donobu = donobu;
92
- page._donobuFlowMetadata = donobuTestFlowMetadata;
93
- page._gptClient = gptClient;
94
- isInitialized = true;
95
- }
96
- page.run = async (toolName, toolParams) => {
97
- await maybeInitDonobu();
98
- const clonedParams = toolParams
99
- ? JSON.parse(JSON.stringify(toolParams))
100
- : {};
101
- clonedParams.rationale ||= '';
102
- const toolCallContext = {
103
- flowsManager: page._donobu.flowsManager,
104
- persistence: page._donobu.persistenceLayer,
105
- gptClient: page._gptClient,
106
- toolTipper: new ToolTipper_1.ToolTipper(0),
107
- proposedToolCalls: [],
108
- invokedToolCalls: [],
109
- page: page,
110
- metadata: page._donobuFlowMetadata,
111
- toolCallId: clonedParams.toolCallId ?? (0, MiscUtils_1.createAdHocToolCallId)(),
112
- };
113
- const proposedToolCall = {
114
- name: toolName,
115
- parameters: clonedParams,
116
- toolCallId: null,
117
- };
118
- return page._donobu.toolManager
119
- .invokeTool(toolCallContext, proposedToolCall, false)
120
- .then(async (result) => {
121
- await page._donobu.persistenceLayer.saveMetadata(page._donobuFlowMetadata);
122
- await page._donobu.persistenceLayer.saveToolCall(page._donobuFlowMetadata.id, result);
123
- return result;
124
- })
125
- .then((result) => result.outcome);
126
- };
127
- page.analyzePageText = async (params) => {
128
- return page.run('analyzePageText', params);
129
- };
130
- page.chooseSelectOption = async (params) => {
131
- return page.run('chooseSelectOption', params);
132
- };
133
- page.clickElement = async (params) => {
134
- return page.run('clickButton', params);
135
- };
136
- page.createCookieReport = async () => {
137
- return page.run('createCookieReport');
138
- };
139
- page.detectBrokenLinks = async () => {
140
- return page.run('detectBrokenLinks');
141
- };
142
- page.hoverOverElement = async (params) => {
143
- return page.run('hover', params);
144
- };
145
- page.inputRandomizedEmailAddress = async (params) => {
146
- return page.run('inputRandomizedEmailAddress', params);
147
- };
148
- page.inputText = async (params) => {
149
- return page.run('inputText', params);
150
- };
151
- page.pressKey = async (params) => {
152
- return page.run('pressKey', params);
153
- };
154
- page.runAccessibilityTest = async () => {
155
- return page.run('runAccessibilityTest');
156
- };
157
- page.scroll = async (params) => {
158
- return page.run('scrollPage', params);
159
- };
160
- page.visuallyAssert = async (params) => {
161
- return page.run('assert', params);
162
- };
163
- // Let Playwright continue and give tests the patched page
164
- await use(page);
165
- },
166
- });
167
- //# sourceMappingURL=donobu.fixtures.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"donobu.fixtures.js","sourceRoot":"","sources":["../../src/donobu.fixtures.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import { DonobuException } from './DonobuException';
2
- /**
3
- * Thrown when attempting resolve a GPT resource that does not exist.
4
- */
5
- export declare class GptResourceNotFoundException extends DonobuException {
6
- readonly gptResourceName: string | undefined | null;
7
- constructor(gptResourceName: string | undefined | null);
8
- }
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GptResourceNotFoundException = void 0;
4
- const DonobuException_1 = require("./DonobuException");
5
- /**
6
- * Thrown when attempting resolve a GPT resource that does not exist.
7
- */
8
- class GptResourceNotFoundException extends DonobuException_1.DonobuException {
9
- gptResourceName;
10
- constructor(gptResourceName) {
11
- super(`The GPT resource '${gptResourceName}' was not found!'`, undefined, 404);
12
- this.gptResourceName = gptResourceName;
13
- }
14
- }
15
- exports.GptResourceNotFoundException = GptResourceNotFoundException;
16
- //# sourceMappingURL=GptResourceNotFoundException.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GptResourceNotFoundException.js","sourceRoot":"","sources":["../../../src/exceptions/GptResourceNotFoundException.ts"],"names":[],"mappings":";;;AAAA,uDAAoD;AAEpD;;GAEG;AACH,MAAa,4BAA6B,SAAQ,iCAAe;IACnC;IAA5B,YAA4B,eAA0C;QACpE,KAAK,CACH,qBAAqB,eAAe,mBAAmB,EACvD,SAAS,EACT,GAAG,CACJ,CAAC;QALwB,oBAAe,GAAf,eAAe,CAA2B;IAMtE,CAAC;CACF;AARD,oEAQC"}
@@ -1,79 +0,0 @@
1
- import { BrowserStorageState } from '../models/BrowserState';
2
- import { FlowMetadata } from '../models/FlowMetadata';
3
- import { ToolCall } from '../models/ToolCall';
4
- import { VideoSegment } from '../models/VideoSegment';
5
- /**
6
- * Interface for persisting data relating to DonobuFlow runs.
7
- */
8
- export interface FlowsPersistence {
9
- /**
10
- * Save the given FlowMetadata for the associated flow.
11
- */
12
- saveMetadata(flowMetadata: FlowMetadata): Promise<void>;
13
- /**
14
- * Load metadata for a specific flow.
15
- * @throws FlowNotFoundException if the flow is not found
16
- */
17
- getMetadataByFlowId(flowId: string): Promise<FlowMetadata>;
18
- /**
19
- * Load metadata by a given flow name.
20
- */
21
- getMetadataByFlowName(flowName: string): Promise<FlowMetadata>;
22
- /**
23
- * Save a PNG screenshot for a specific flow.
24
- * @returns The identifier for the saved screenshot
25
- */
26
- savePngScreenShot(flowId: string, bytes: Buffer): Promise<string>;
27
- /**
28
- * Save a tool call for a specific flow.
29
- */
30
- saveToolCall(flowId: string, toolCall: ToolCall): Promise<void>;
31
- /**
32
- * Load all tool calls for a specific flow.
33
- * @throws FlowNotFoundException if the flow is not found
34
- */
35
- getToolCalls(flowId: string): Promise<ToolCall[]>;
36
- /**
37
- * Load all flows.
38
- */
39
- getFlows(): Promise<FlowMetadata[]>;
40
- /**
41
- * Set video data for a specific flow.
42
- */
43
- setVideo(flowId: string, bytes: Buffer): Promise<void>;
44
- /**
45
- * Get a video segment for a specific flow.
46
- * @throws FlowNotFoundException if the flow is not found
47
- */
48
- getVideoSegment(flowId: string, startOffset: number, length: number): Promise<VideoSegment | null>;
49
- /**
50
- * Get a file associated with a specific flow.
51
- *
52
- * @throws FlowNotFoundException if the flow is not found.
53
- */
54
- getFlowFile(flowId: string, fileId: string): Promise<Buffer | null>;
55
- /**
56
- * Set a file for a specific flow.
57
- */
58
- setFlowFile(flowId: string, fileId: string, fileBytes: Buffer): Promise<void>;
59
- /**
60
- * Sets the given browser state for a specific flow.
61
- *
62
- * WARNING: This will NOT override the runtime browser state for a flow that
63
- * is currently running. This is only for persisting the browser state for a
64
- * flow that has completed so that it can be used by other flows in the
65
- * future.
66
- */
67
- setBrowserState(flowId: string, browserState: BrowserStorageState): Promise<void>;
68
- /**
69
- * Get the browser state for a specific flow. Note that not all flows will
70
- * have an associated persisted browser state.
71
- *
72
- * @throws FlowNotFoundException if the flow is not found.
73
- */
74
- getBrowserState(flowId: string): Promise<BrowserStorageState | null>;
75
- /**
76
- * Delete a specific flow and all associated data.
77
- */
78
- deleteFlow(flowId: string): Promise<void>;
79
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=FlowsPersistence.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FlowsPersistence.js","sourceRoot":"","sources":["../../../src/managers/FlowsPersistence.ts"],"names":[],"mappings":""}
@@ -1,48 +0,0 @@
1
- import { FlowsPersistence } from './FlowsPersistence';
2
- import { FlowMetadata } from '../models/FlowMetadata';
3
- import { ToolCall } from '../models/ToolCall';
4
- import { VideoSegment } from '../models/VideoSegment';
5
- import { BrowserStorageState } from '../models/BrowserState';
6
- /**
7
- * A persistence implementation that uses AWS S3.
8
- * Ensure AWS credentials are properly configured in your environment,
9
- * or provide them directly in the constructor.
10
- */
11
- export declare class FlowsPersistenceAwsS3 implements FlowsPersistence {
12
- private static readonly METADATA_FILENAME;
13
- private static readonly BROWSER_STATE_FILENAME;
14
- private static readonly SCREENSHOT_FILENAME_SUFFIX;
15
- private static readonly TOOL_CALL_FILENAME_SUFFIX;
16
- private static readonly VIDEO_FILENAME;
17
- private readonly s3Client;
18
- private readonly bucketName;
19
- /**
20
- * Creates a new instance of the AWS S3 persistence layer.
21
- *
22
- * @param bucketName The name of the S3 bucket to use for storage
23
- * @param region AWS region (defaults to 'us-east-1')
24
- * @param credentials Optional AWS credentials (if not provided, will use environment variables)
25
- */
26
- constructor(bucketName: string, region: string, credentials?: {
27
- accessKeyId: string;
28
- secretAccessKey: string;
29
- });
30
- /**
31
- * Utility method to stream S3 object data to a Buffer
32
- */
33
- private streamToBuffer;
34
- saveMetadata(flowMetadata: FlowMetadata): Promise<void>;
35
- getMetadataByFlowId(flowId: string): Promise<FlowMetadata>;
36
- getMetadataByFlowName(flowName: string): Promise<FlowMetadata>;
37
- savePngScreenShot(flowId: string, bytes: Buffer): Promise<string>;
38
- saveToolCall(flowId: string, toolCall: ToolCall): Promise<void>;
39
- getToolCalls(flowId: string): Promise<ToolCall[]>;
40
- getFlows(): Promise<FlowMetadata[]>;
41
- setVideo(flowId: string, bytes: Buffer): Promise<void>;
42
- getVideoSegment(flowId: string, startOffset: number, length: number): Promise<VideoSegment | null>;
43
- getFlowFile(flowId: string, fileId: string): Promise<Buffer | null>;
44
- setFlowFile(flowId: string, fileId: string, fileBytes: Buffer): Promise<void>;
45
- setBrowserState(flowId: string, browserState: BrowserStorageState): Promise<void>;
46
- getBrowserState(flowId: string): Promise<BrowserStorageState | null>;
47
- deleteFlow(flowId: string): Promise<void>;
48
- }