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,381 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.FlowsPersistenceFilesystem = void 0;
7
- const promises_1 = __importDefault(require("fs/promises"));
8
- const path_1 = __importDefault(require("path"));
9
- const FlowNotFoundException_1 = require("../exceptions/FlowNotFoundException");
10
- const Logger_1 = require("../utils/Logger");
11
- const JsonUtils_1 = require("../utils/JsonUtils");
12
- const MiscUtils_1 = require("../utils/MiscUtils");
13
- /**
14
- * A persistence implementation that uses the filesystem.
15
- */
16
- class FlowsPersistenceFilesystem {
17
- constructor(flowsDirectory, environmentDirectory) {
18
- this.flowsDirectory = flowsDirectory;
19
- this.environmentDirectory = environmentDirectory;
20
- }
21
- // Update the create method to also create the environment directory
22
- static async create(storageDirectory) {
23
- const flowsDirectory = path_1.default.join(storageDirectory, 'flows');
24
- const environmentDirectory = path_1.default.join(storageDirectory, 'environment');
25
- // Ensure directories exist
26
- await promises_1.default.mkdir(flowsDirectory, { recursive: true }).catch((err) => {
27
- Logger_1.appLogger.error('Failed to create flows directory', err);
28
- });
29
- await promises_1.default.mkdir(environmentDirectory, { recursive: true }).catch((err) => {
30
- Logger_1.appLogger.error('Failed to create environment directory', err);
31
- });
32
- return new FlowsPersistenceFilesystem(flowsDirectory, environmentDirectory);
33
- }
34
- /**
35
- * Set a piece of environment data that is available across all flows.
36
- */
37
- async setEnvironmentDatum(key, value) {
38
- if (!key) {
39
- throw new Error('Key cannot be empty');
40
- }
41
- // Create the environment directory if it doesn't exist
42
- await promises_1.default.mkdir(this.environmentDirectory, { recursive: true });
43
- // Create a file with the key as the filename (properly encoded)
44
- const filePath = path_1.default.join(this.environmentDirectory, this.encodeKey(key));
45
- await promises_1.default.writeFile(filePath, value, 'utf-8');
46
- }
47
- /**
48
- * Delete a piece of environment data by its key.
49
- * No-op if the data does not exist.
50
- */
51
- async deleteEnvironmentDatum(key) {
52
- if (!key) {
53
- return; // No-op if key is empty
54
- }
55
- const filePath = path_1.default.join(this.environmentDirectory, this.encodeKey(key));
56
- try {
57
- // Check if file exists before attempting to delete
58
- await promises_1.default.access(filePath);
59
- await promises_1.default.unlink(filePath);
60
- }
61
- catch (error) {
62
- // Ignore file not found errors
63
- if (error.code !== 'ENOENT') {
64
- Logger_1.appLogger.warn(`Failed to delete environment data for key: ${key}`, error);
65
- }
66
- }
67
- }
68
- /**
69
- * Retrieve a piece of environment data by its key.
70
- */
71
- async getEnvironmentDatum(key) {
72
- if (!key) {
73
- return undefined;
74
- }
75
- const filePath = path_1.default.join(this.environmentDirectory, this.encodeKey(key));
76
- try {
77
- const content = await promises_1.default.readFile(filePath, 'utf-8');
78
- return content;
79
- }
80
- catch (error) {
81
- // Return undefined if the file doesn't exist
82
- if (error.code === 'ENOENT') {
83
- return undefined;
84
- }
85
- // Log other errors but still return undefined
86
- Logger_1.appLogger.warn(`Failed to read environment data for key: ${key}`, error);
87
- return undefined;
88
- }
89
- }
90
- /**
91
- * Get all environment data.
92
- */
93
- async getEnvironmentData() {
94
- const result = {};
95
- try {
96
- // Create the directory if it doesn't exist
97
- await promises_1.default.mkdir(this.environmentDirectory, { recursive: true });
98
- // Get all files in the environment directory
99
- const files = await promises_1.default.readdir(this.environmentDirectory);
100
- // Process each file
101
- for (const encodedKey of files) {
102
- try {
103
- const filePath = path_1.default.join(this.environmentDirectory, encodedKey);
104
- // Skip directories and non-files
105
- const stats = await promises_1.default.stat(filePath);
106
- if (!stats.isFile()) {
107
- continue;
108
- }
109
- // Read file content and add to result
110
- const content = await promises_1.default.readFile(filePath, 'utf-8');
111
- const key = this.decodeKey(encodedKey);
112
- result[key] = content;
113
- }
114
- catch (error) {
115
- Logger_1.appLogger.warn(`Failed to read environment data file: ${encodedKey}`, error);
116
- }
117
- }
118
- }
119
- catch (error) {
120
- Logger_1.appLogger.error('Failed to read environment directory', error);
121
- }
122
- return result;
123
- }
124
- async setMetadata(flowMetadata) {
125
- const flowDir = this.getFlowDirectory(flowMetadata.id);
126
- await promises_1.default.mkdir(flowDir, { recursive: true });
127
- const filePath = path_1.default.join(flowDir, FlowsPersistenceFilesystem.METADATA_FILENAME);
128
- await promises_1.default.writeFile(filePath, JSON.stringify(flowMetadata, null, 2));
129
- }
130
- async getMetadataByFlowId(flowId) {
131
- const filePath = path_1.default.join(this.getFlowDirectory(flowId), FlowsPersistenceFilesystem.METADATA_FILENAME);
132
- try {
133
- const content = await promises_1.default.readFile(filePath, 'utf-8');
134
- const metadata = JSON.parse(content);
135
- if (typeof metadata.startedAt === 'string') {
136
- metadata.startedAt = Date.parse(metadata.startedAt) || 0;
137
- }
138
- if (typeof metadata.completedAt === 'string') {
139
- metadata.completedAt = Date.parse(metadata.completedAt) || 0;
140
- }
141
- return metadata;
142
- }
143
- catch (_e) {
144
- throw FlowNotFoundException_1.FlowNotFoundException.forId(flowId);
145
- }
146
- }
147
- /**
148
- * Get flow metadata by name using pagination for efficiency
149
- */
150
- async getMetadataByFlowName(flowName) {
151
- if (!flowName) {
152
- throw FlowNotFoundException_1.FlowNotFoundException.forName('null');
153
- }
154
- const batchSize = 100;
155
- let pageToken;
156
- do {
157
- // Get a batch of flows.
158
- const result = await this.getFlows({
159
- limit: batchSize,
160
- pageToken,
161
- });
162
- // Search in the current batch.
163
- const matchingFlow = result.items.find((flow) => flow.name === flowName);
164
- if (matchingFlow) {
165
- return matchingFlow;
166
- }
167
- // Continue to next page if available.
168
- pageToken = result.nextPageToken;
169
- } while (pageToken);
170
- // If we get here, we've searched all flows and found nothing.
171
- throw FlowNotFoundException_1.FlowNotFoundException.forName(flowName);
172
- }
173
- async saveScreenShot(flowId, bytes) {
174
- const imageType = MiscUtils_1.MiscUtils.detectImageType(bytes);
175
- const filename = `${new Date().toISOString()}.screenshot.${imageType}`;
176
- const screenShotPath = path_1.default.join(this.getFlowDirectory(flowId), filename);
177
- await promises_1.default.writeFile(screenShotPath, bytes);
178
- return filename;
179
- }
180
- async getScreenShot(flowId, screenShotId) {
181
- return this.getFlowFile(flowId, screenShotId);
182
- }
183
- async saveToolCall(flowId, toolCall) {
184
- const filePath = path_1.default.join(this.getFlowDirectory(flowId), `${toolCall.startedAt}${FlowsPersistenceFilesystem.TOOL_CALL_FILENAME_SUFFIX}`);
185
- await promises_1.default.writeFile(filePath, JSON.stringify(toolCall, null, 2));
186
- }
187
- async getToolCalls(flowId) {
188
- const flowDir = this.getFlowDirectory(flowId);
189
- try {
190
- const files = await promises_1.default.readdir(flowDir);
191
- const toolCallFiles = files.filter((file) => file.endsWith(FlowsPersistenceFilesystem.TOOL_CALL_FILENAME_SUFFIX));
192
- const toolCalls = await Promise.all(toolCallFiles.sort().map(async (file) => {
193
- const content = await promises_1.default.readFile(path_1.default.join(flowDir, file), 'utf-8');
194
- const toolCall = JSON.parse(content);
195
- if (typeof toolCall.startedAt === 'string') {
196
- toolCall.startedAt = Date.parse(toolCall.startedAt) || 0;
197
- }
198
- if (typeof toolCall.completedAt === 'string') {
199
- toolCall.completedAt = Date.parse(toolCall.completedAt) || 0;
200
- }
201
- return toolCall;
202
- }));
203
- return toolCalls.sort((a, b) => a.startedAt - b.startedAt);
204
- }
205
- catch (_e) {
206
- throw FlowNotFoundException_1.FlowNotFoundException.forId(flowId);
207
- }
208
- }
209
- /**
210
- * Get flows with pagination and filtering from filesystem storage
211
- */
212
- async getFlows(query) {
213
- const { limit = 20, pageToken, name, runMode, state, startedAfter, startedBefore, } = query || {};
214
- // Validate inputs.
215
- const validLimit = Math.min(Math.max(1, limit), 100);
216
- // Get all flow directories.
217
- const flowDirs = await this.getAllFlowDirectories();
218
- // Load metadata for all flows.
219
- const metadataPromises = flowDirs.map(async (dir) => {
220
- try {
221
- const metadataPath = path_1.default.join(dir, FlowsPersistenceFilesystem.METADATA_FILENAME);
222
- const content = await promises_1.default.readFile(metadataPath, 'utf-8');
223
- const metadata = JSON.parse(content);
224
- if (typeof metadata.startedAt === 'string') {
225
- metadata.startedAt = Date.parse(metadata.startedAt) || 0;
226
- }
227
- if (typeof metadata.completedAt === 'string') {
228
- metadata.completedAt = Date.parse(metadata.completedAt) || 0;
229
- }
230
- return metadata;
231
- }
232
- catch (error) {
233
- Logger_1.appLogger.warn(`Failed to read metadata in ${dir}`, error);
234
- return null;
235
- }
236
- });
237
- // Wait for all metadata to load.
238
- const allMetadata = (await Promise.all(metadataPromises)).filter((metadata) => metadata !== null);
239
- // Apply filters based on query parameters
240
- let filteredMetadata = allMetadata;
241
- if (name) {
242
- filteredMetadata = filteredMetadata.filter((flow) => flow.name === name);
243
- }
244
- if (runMode) {
245
- filteredMetadata = filteredMetadata.filter((flow) => flow.runMode === runMode);
246
- }
247
- if (state) {
248
- filteredMetadata = filteredMetadata.filter((flow) => flow.state === state);
249
- }
250
- // Apply startedAfter filter
251
- if (startedAfter !== undefined) {
252
- filteredMetadata = filteredMetadata.filter((flow) => (flow.startedAt || 0) >= startedAfter);
253
- }
254
- // Apply startedBefore filter
255
- if (startedBefore !== undefined) {
256
- filteredMetadata = filteredMetadata.filter((flow) => (flow.startedAt || 0) <= startedBefore);
257
- }
258
- // Sort by creation date (newest first).
259
- filteredMetadata.sort((a, b) => (b.startedAt || 0) - (a.startedAt || 0));
260
- // Parse page token to get the offset.
261
- const offset = pageToken ? parseInt(pageToken, 10) : 0;
262
- // Apply pagination.
263
- const paginatedMetadata = filteredMetadata.slice(offset, offset + validLimit);
264
- // Check if there are more results.
265
- const hasMore = offset + validLimit < filteredMetadata.length;
266
- // Calculate next page token.
267
- const nextPageToken = hasMore
268
- ? (offset + validLimit).toString()
269
- : undefined;
270
- return {
271
- items: paginatedMetadata,
272
- nextPageToken,
273
- };
274
- }
275
- async setVideo(flowId, bytes) {
276
- const videoPath = path_1.default.join(this.getFlowDirectory(flowId), FlowsPersistenceFilesystem.VIDEO_FILENAME);
277
- await promises_1.default.writeFile(videoPath, bytes);
278
- }
279
- async getVideoSegment(flowId, startOffset, length) {
280
- try {
281
- await this.getMetadataByFlowId(flowId);
282
- const videoPath = path_1.default.join(this.getFlowDirectory(flowId), FlowsPersistenceFilesystem.VIDEO_FILENAME);
283
- const stats = await promises_1.default.stat(videoPath);
284
- const totalLength = stats.size;
285
- const adjustedLength = Math.min(length, totalLength - startOffset);
286
- const buffer = Buffer.alloc(adjustedLength);
287
- const fileHandle = await promises_1.default.open(videoPath, 'r');
288
- try {
289
- await fileHandle.read(buffer, 0, adjustedLength, startOffset);
290
- return {
291
- bytes: buffer,
292
- totalLength: totalLength,
293
- startOffset: startOffset,
294
- };
295
- }
296
- finally {
297
- await fileHandle.close();
298
- }
299
- }
300
- catch {
301
- return null;
302
- }
303
- }
304
- async getFlowFile(flowId, fileId) {
305
- try {
306
- await this.getMetadataByFlowId(flowId);
307
- const filePath = path_1.default.join(this.getFlowDirectory(flowId), fileId);
308
- return await promises_1.default.readFile(filePath);
309
- }
310
- catch {
311
- return null;
312
- }
313
- }
314
- async setFlowFile(flowId, fileId, fileBytes) {
315
- const filePath = path_1.default.join(this.getFlowDirectory(flowId), fileId);
316
- await promises_1.default.writeFile(filePath, fileBytes);
317
- }
318
- async setBrowserState(flowId, browserState) {
319
- const serializedBrowserState = Buffer.from(JSON.stringify(browserState), 'utf-8');
320
- await this.setFlowFile(flowId, FlowsPersistenceFilesystem.BROWSER_STATE_FILENAME, serializedBrowserState);
321
- }
322
- async getBrowserState(flowId) {
323
- const browserStateRaw = await this.getFlowFile(flowId, FlowsPersistenceFilesystem.BROWSER_STATE_FILENAME);
324
- if (browserStateRaw) {
325
- const browserState = JsonUtils_1.JsonUtils.jsonStringToJsonObject(browserStateRaw.toString('utf-8'));
326
- if (browserState) {
327
- return browserState;
328
- }
329
- else {
330
- throw new Error(`Cannot load malformed browser state from flow ${flowId}`);
331
- }
332
- }
333
- else {
334
- return null;
335
- }
336
- }
337
- async deleteFlow(flowId) {
338
- const flowDirectory = this.getFlowDirectory(flowId);
339
- await promises_1.default.rm(flowDirectory, { recursive: true, force: true });
340
- }
341
- getFlowDirectory(flowId) {
342
- if (!flowId) {
343
- throw FlowNotFoundException_1.FlowNotFoundException.forId(flowId);
344
- }
345
- return path_1.default.join(this.flowsDirectory, flowId);
346
- }
347
- async getAllFlowDirectories() {
348
- try {
349
- const entries = await promises_1.default.readdir(this.flowsDirectory, {
350
- withFileTypes: true,
351
- });
352
- return entries
353
- .filter((entry) => entry.isDirectory())
354
- .map((entry) => path_1.default.join(this.flowsDirectory, entry.name));
355
- }
356
- catch (error) {
357
- Logger_1.appLogger.error('Failed to find flow root directory', error);
358
- throw error;
359
- }
360
- }
361
- /**
362
- * Encode a key to be used as a filename.
363
- * This ensures special characters in keys don't cause filesystem issues.
364
- */
365
- encodeKey(key) {
366
- // Base64 encode to handle any special characters
367
- return Buffer.from(key).toString('base64');
368
- }
369
- /**
370
- * Decode a filename back to the original key.
371
- */
372
- decodeKey(encodedKey) {
373
- return Buffer.from(encodedKey, 'base64').toString('utf-8');
374
- }
375
- }
376
- exports.FlowsPersistenceFilesystem = FlowsPersistenceFilesystem;
377
- FlowsPersistenceFilesystem.METADATA_FILENAME = 'metadata.json';
378
- FlowsPersistenceFilesystem.BROWSER_STATE_FILENAME = 'browserstate.json';
379
- FlowsPersistenceFilesystem.TOOL_CALL_FILENAME_SUFFIX = '.tool-call.json';
380
- FlowsPersistenceFilesystem.VIDEO_FILENAME = 'video.webm';
381
- //# sourceMappingURL=FlowsPersistenceFilesystem.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FlowsPersistenceFilesystem.js","sourceRoot":"","sources":["../../src/persistence/FlowsPersistenceFilesystem.ts"],"names":[],"mappings":"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"}
@@ -1,75 +0,0 @@
1
- import { FlowsPersistence } from './FlowsPersistence';
2
- import { FlowMetadata, FlowsQuery } from '../models/FlowMetadata';
3
- import { ToolCall } from '../models/ToolCall';
4
- import { VideoSegment } from '../models/VideoSegment';
5
- import { BrowserStorageState } from '../models/BrowserStorageState';
6
- import { PaginatedResult } from '../models/PaginatedResult';
7
- /**
8
- * A persistence implementation that uses Google Cloud Storage.
9
- *
10
- * If you are running locally, be sure to have the Google Cloud CLI installed
11
- * so that you can authenticate using `gcloud auth application-default login`
12
- * before running Donobu.
13
- *
14
- * If Donobu is being run in the Google cloud, be sure that the service account
15
- * in which it is being run has permissions to read and write the Google Cloud
16
- * Storage bucket specified as a constructor argument.
17
- */
18
- export declare class FlowsPersistenceGoogleCloudStorage implements FlowsPersistence {
19
- private readonly bucket;
20
- private static readonly ENVIRONMENT_DATA_PREFIX;
21
- private static readonly NAME_INDEX_PREFIX;
22
- private static readonly RUN_MODE_INDEX_PREFIX;
23
- private static readonly STATE_INDEX_PREFIX;
24
- private static readonly RUN_MODE_STATE_INDEX_PREFIX;
25
- private static readonly METADATA_FILENAME;
26
- private static readonly BROWSER_STATE_FILENAME;
27
- private static readonly TOOL_CALL_FILENAME_SUFFIX;
28
- private static readonly VIDEO_FILENAME;
29
- /**
30
- * Dynamically imports the Google Cloud Storage library.
31
- * This helps to delay loading the library until it's actually needed.
32
- */
33
- private static importGoogleCloudStorage;
34
- static create(bucketName: string): Promise<FlowsPersistenceGoogleCloudStorage>;
35
- private constructor();
36
- setEnvironmentDatum(key: string, value: string): Promise<void>;
37
- deleteEnvironmentDatum(key: string): Promise<void>;
38
- getEnvironmentDatum(key: string): Promise<string | undefined>;
39
- getEnvironmentData(): Promise<Record<string, string>>;
40
- setMetadata(flowMetadata: FlowMetadata): Promise<void>;
41
- getMetadataByFlowId(flowId: string): Promise<FlowMetadata>;
42
- getMetadataByFlowName(flowName: string): Promise<FlowMetadata>;
43
- saveScreenShot(flowId: string, bytes: Buffer): Promise<string>;
44
- getScreenShot(flowId: string, screenShotId: string): Promise<Buffer | null>;
45
- saveToolCall(flowId: string, toolCall: ToolCall): Promise<void>;
46
- getToolCalls(flowId: string): Promise<ToolCall[]>;
47
- getFlows(query: FlowsQuery): Promise<PaginatedResult<FlowMetadata>>;
48
- setVideo(flowId: string, bytes: Buffer): Promise<void>;
49
- getVideoSegment(flowId: string, startOffset: number, length: number): Promise<VideoSegment | null>;
50
- getFlowFile(flowId: string, fileId: string): Promise<Buffer | null>;
51
- setFlowFile(flowId: string, fileId: string, fileBytes: Buffer): Promise<void>;
52
- setBrowserState(flowId: string, browserState: BrowserStorageState): Promise<void>;
53
- getBrowserState(flowId: string): Promise<BrowserStorageState | null>;
54
- deleteFlow(flowId: string): Promise<void>;
55
- private uploadString;
56
- private uploadBytes;
57
- private downloadString;
58
- /**
59
- * Update name-to-id index.
60
- */
61
- private updateNameIndex;
62
- /**
63
- * Update runMode-to-id index.
64
- */
65
- private updateRunModeIndex;
66
- /**
67
- * Update state-to-id index.
68
- */
69
- private updateStateIndex;
70
- /**
71
- * Update combined runMode+state-to-id index.
72
- */
73
- private updateRunModeStateIndex;
74
- }
75
- //# sourceMappingURL=FlowsPersistenceGoogleCloudStorage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FlowsPersistenceGoogleCloudStorage.d.ts","sourceRoot":"","sources":["../../src/persistence/FlowsPersistenceGoogleCloudStorage.ts"],"names":[],"mappings":"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"}