donobu 2.18.4 → 2.19.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 (215) hide show
  1. package/dist/apis/FlowsApi.d.ts +4 -0
  2. package/dist/apis/FlowsApi.d.ts.map +1 -1
  3. package/dist/apis/FlowsApi.js +15 -1
  4. package/dist/apis/FlowsApi.js.map +1 -1
  5. package/dist/apis/SpecialFlowsApi.d.ts.map +1 -1
  6. package/dist/apis/SpecialFlowsApi.js +11 -9
  7. package/dist/apis/SpecialFlowsApi.js.map +1 -1
  8. package/dist/assets/control-panel.js +7 -1
  9. package/dist/assets/generated/parameter-schemas.json +44 -0
  10. package/dist/assets/generated/version +1 -1
  11. package/dist/assets/page-interactions-tracker.js +27 -30
  12. package/dist/bindings/PageInteractionTracker.d.ts.map +1 -1
  13. package/dist/bindings/PageInteractionTracker.js +1 -1
  14. package/dist/bindings/PageInteractionTracker.js.map +1 -1
  15. package/dist/esm/apis/FlowsApi.d.ts +4 -0
  16. package/dist/esm/apis/FlowsApi.d.ts.map +1 -1
  17. package/dist/esm/apis/FlowsApi.js +15 -1
  18. package/dist/esm/apis/FlowsApi.js.map +1 -1
  19. package/dist/esm/apis/SpecialFlowsApi.d.ts.map +1 -1
  20. package/dist/esm/apis/SpecialFlowsApi.js +11 -9
  21. package/dist/esm/apis/SpecialFlowsApi.js.map +1 -1
  22. package/dist/esm/assets/control-panel.js +7 -1
  23. package/dist/esm/assets/generated/parameter-schemas.json +44 -0
  24. package/dist/esm/assets/generated/version +1 -1
  25. package/dist/esm/assets/page-interactions-tracker.js +27 -30
  26. package/dist/esm/bindings/PageInteractionTracker.d.ts.map +1 -1
  27. package/dist/esm/bindings/PageInteractionTracker.js +1 -1
  28. package/dist/esm/bindings/PageInteractionTracker.js.map +1 -1
  29. package/dist/esm/lib/testExtension.d.ts.map +1 -1
  30. package/dist/esm/lib/testExtension.js +20 -19
  31. package/dist/esm/lib/testExtension.js.map +1 -1
  32. package/dist/esm/managers/AdminApiController.d.ts.map +1 -1
  33. package/dist/esm/managers/AdminApiController.js +1 -0
  34. package/dist/esm/managers/AdminApiController.js.map +1 -1
  35. package/dist/esm/managers/CodeGenerator.d.ts +47 -1
  36. package/dist/esm/managers/CodeGenerator.d.ts.map +1 -1
  37. package/dist/esm/managers/CodeGenerator.js +211 -19
  38. package/dist/esm/managers/CodeGenerator.js.map +1 -1
  39. package/dist/esm/managers/ControlPanel.d.ts.map +1 -1
  40. package/dist/esm/managers/ControlPanel.js +7 -5
  41. package/dist/esm/managers/ControlPanel.js.map +1 -1
  42. package/dist/esm/managers/DonobuFlow.d.ts +3 -4
  43. package/dist/esm/managers/DonobuFlow.d.ts.map +1 -1
  44. package/dist/esm/managers/DonobuFlow.js +57 -44
  45. package/dist/esm/managers/DonobuFlow.js.map +1 -1
  46. package/dist/esm/managers/DonobuFlowsManager.d.ts +58 -34
  47. package/dist/esm/managers/DonobuFlowsManager.d.ts.map +1 -1
  48. package/dist/esm/managers/DonobuFlowsManager.js +217 -64
  49. package/dist/esm/managers/DonobuFlowsManager.js.map +1 -1
  50. package/dist/esm/managers/FlowDependencyAnalyzer.d.ts +40 -0
  51. package/dist/esm/managers/FlowDependencyAnalyzer.d.ts.map +1 -0
  52. package/dist/esm/managers/FlowDependencyAnalyzer.js +236 -0
  53. package/dist/esm/managers/FlowDependencyAnalyzer.js.map +1 -0
  54. package/dist/esm/managers/ProjectStructureGenerator.d.ts +62 -0
  55. package/dist/esm/managers/ProjectStructureGenerator.d.ts.map +1 -0
  56. package/dist/esm/managers/ProjectStructureGenerator.js +234 -0
  57. package/dist/esm/managers/ProjectStructureGenerator.js.map +1 -0
  58. package/dist/esm/managers/ToolManager.d.ts.map +1 -1
  59. package/dist/esm/managers/ToolManager.js +4 -2
  60. package/dist/esm/managers/ToolManager.js.map +1 -1
  61. package/dist/esm/models/FlowMetadata.d.ts +52 -0
  62. package/dist/esm/models/FlowMetadata.d.ts.map +1 -1
  63. package/dist/esm/persistence/flows/FlowsPersistence.d.ts +11 -9
  64. package/dist/esm/persistence/flows/FlowsPersistence.d.ts.map +1 -1
  65. package/dist/esm/persistence/flows/FlowsPersistenceAwsS3.d.ts +4 -5
  66. package/dist/esm/persistence/flows/FlowsPersistenceAwsS3.d.ts.map +1 -1
  67. package/dist/esm/persistence/flows/FlowsPersistenceAwsS3.js +76 -77
  68. package/dist/esm/persistence/flows/FlowsPersistenceAwsS3.js.map +1 -1
  69. package/dist/esm/persistence/flows/FlowsPersistenceFactoryImpl.js +2 -2
  70. package/dist/esm/persistence/flows/FlowsPersistenceFactoryImpl.js.map +1 -1
  71. package/dist/esm/persistence/flows/FlowsPersistenceFilesystem.d.ts +7 -7
  72. package/dist/esm/persistence/flows/FlowsPersistenceFilesystem.d.ts.map +1 -1
  73. package/dist/esm/persistence/flows/FlowsPersistenceFilesystem.js +51 -60
  74. package/dist/esm/persistence/flows/FlowsPersistenceFilesystem.js.map +1 -1
  75. package/dist/esm/persistence/flows/FlowsPersistenceGoogleCloudStorage.d.ts +4 -5
  76. package/dist/esm/persistence/flows/FlowsPersistenceGoogleCloudStorage.d.ts.map +1 -1
  77. package/dist/esm/persistence/flows/FlowsPersistenceGoogleCloudStorage.js +40 -41
  78. package/dist/esm/persistence/flows/FlowsPersistenceGoogleCloudStorage.js.map +1 -1
  79. package/dist/esm/persistence/flows/FlowsPersistenceSqlite.d.ts +4 -4
  80. package/dist/esm/persistence/flows/FlowsPersistenceSqlite.d.ts.map +1 -1
  81. package/dist/esm/persistence/flows/FlowsPersistenceSqlite.js +40 -40
  82. package/dist/esm/persistence/flows/FlowsPersistenceSqlite.js.map +1 -1
  83. package/dist/esm/persistence/flows/FlowsPersistenceSupabase.d.ts +4 -5
  84. package/dist/esm/persistence/flows/FlowsPersistenceSupabase.d.ts.map +1 -1
  85. package/dist/esm/persistence/flows/FlowsPersistenceSupabase.js +37 -37
  86. package/dist/esm/persistence/flows/FlowsPersistenceSupabase.js.map +1 -1
  87. package/dist/esm/persistence/flows/FlowsPersistenceVolatile.d.ts +7 -7
  88. package/dist/esm/persistence/flows/FlowsPersistenceVolatile.d.ts.map +1 -1
  89. package/dist/esm/persistence/flows/FlowsPersistenceVolatile.js +35 -33
  90. package/dist/esm/persistence/flows/FlowsPersistenceVolatile.js.map +1 -1
  91. package/dist/esm/tools/AssertPageTool.d.ts +34 -0
  92. package/dist/esm/tools/AssertPageTool.d.ts.map +1 -0
  93. package/dist/esm/tools/AssertPageTool.js +156 -0
  94. package/dist/esm/tools/AssertPageTool.js.map +1 -0
  95. package/dist/esm/tools/AssertTool.js +1 -1
  96. package/dist/esm/tools/AssertTool.js.map +1 -1
  97. package/dist/esm/tools/ClickTool.d.ts.map +1 -1
  98. package/dist/esm/tools/ClickTool.js +3 -0
  99. package/dist/esm/tools/ClickTool.js.map +1 -1
  100. package/dist/esm/tools/DetectBrokenLinksTool.js +1 -1
  101. package/dist/esm/tools/DetectBrokenLinksTool.js.map +1 -1
  102. package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.js +1 -1
  103. package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.js.map +1 -1
  104. package/dist/esm/tools/ExtractPaymentProviderKeyTool.d.ts +47 -1
  105. package/dist/esm/tools/ExtractPaymentProviderKeyTool.d.ts.map +1 -1
  106. package/dist/esm/tools/ExtractPaymentProviderKeyTool.js +160 -25
  107. package/dist/esm/tools/ExtractPaymentProviderKeyTool.js.map +1 -1
  108. package/dist/esm/tools/SolveMfaChallenge.d.ts.map +1 -1
  109. package/dist/esm/tools/SolveMfaChallenge.js.map +1 -1
  110. package/dist/esm/utils/BrowserUtils.d.ts +52 -0
  111. package/dist/esm/utils/BrowserUtils.d.ts.map +1 -0
  112. package/dist/esm/utils/BrowserUtils.js +340 -0
  113. package/dist/esm/utils/BrowserUtils.js.map +1 -0
  114. package/dist/esm/utils/PlaywrightUtils.d.ts +15 -11
  115. package/dist/esm/utils/PlaywrightUtils.d.ts.map +1 -1
  116. package/dist/esm/utils/PlaywrightUtils.js +110 -122
  117. package/dist/esm/utils/PlaywrightUtils.js.map +1 -1
  118. package/dist/lib/autoTest.d.ts +2 -0
  119. package/dist/lib/autoTest.d.ts.map +1 -0
  120. package/dist/lib/autoTest.js +17 -0
  121. package/dist/lib/autoTest.js.map +1 -0
  122. package/dist/lib/testExtension.d.ts.map +1 -1
  123. package/dist/lib/testExtension.js +20 -19
  124. package/dist/lib/testExtension.js.map +1 -1
  125. package/dist/managers/AdminApiController.d.ts.map +1 -1
  126. package/dist/managers/AdminApiController.js +1 -0
  127. package/dist/managers/AdminApiController.js.map +1 -1
  128. package/dist/managers/CodeGenerator.d.ts +47 -1
  129. package/dist/managers/CodeGenerator.d.ts.map +1 -1
  130. package/dist/managers/CodeGenerator.js +211 -19
  131. package/dist/managers/CodeGenerator.js.map +1 -1
  132. package/dist/managers/ControlPanel.d.ts.map +1 -1
  133. package/dist/managers/ControlPanel.js +7 -5
  134. package/dist/managers/ControlPanel.js.map +1 -1
  135. package/dist/managers/DonobuFlow.d.ts +3 -4
  136. package/dist/managers/DonobuFlow.d.ts.map +1 -1
  137. package/dist/managers/DonobuFlow.js +57 -44
  138. package/dist/managers/DonobuFlow.js.map +1 -1
  139. package/dist/managers/DonobuFlowsManager.d.ts +58 -34
  140. package/dist/managers/DonobuFlowsManager.d.ts.map +1 -1
  141. package/dist/managers/DonobuFlowsManager.js +217 -64
  142. package/dist/managers/DonobuFlowsManager.js.map +1 -1
  143. package/dist/managers/FlowDependencyAnalyzer.d.ts +40 -0
  144. package/dist/managers/FlowDependencyAnalyzer.d.ts.map +1 -0
  145. package/dist/managers/FlowDependencyAnalyzer.js +236 -0
  146. package/dist/managers/FlowDependencyAnalyzer.js.map +1 -0
  147. package/dist/managers/ProjectStructureGenerator.d.ts +62 -0
  148. package/dist/managers/ProjectStructureGenerator.d.ts.map +1 -0
  149. package/dist/managers/ProjectStructureGenerator.js +234 -0
  150. package/dist/managers/ProjectStructureGenerator.js.map +1 -0
  151. package/dist/managers/ToolManager.d.ts.map +1 -1
  152. package/dist/managers/ToolManager.js +4 -2
  153. package/dist/managers/ToolManager.js.map +1 -1
  154. package/dist/models/BrowserFramework.d.ts +2 -12
  155. package/dist/models/BrowserFramework.d.ts.map +1 -1
  156. package/dist/models/BrowserFramework.js +91 -66
  157. package/dist/models/BrowserFramework.js.map +1 -1
  158. package/dist/models/FlowMetadata.d.ts +52 -0
  159. package/dist/models/FlowMetadata.d.ts.map +1 -1
  160. package/dist/persistence/flows/FlowsPersistence.d.ts +11 -9
  161. package/dist/persistence/flows/FlowsPersistence.d.ts.map +1 -1
  162. package/dist/persistence/flows/FlowsPersistenceAwsS3.d.ts +4 -5
  163. package/dist/persistence/flows/FlowsPersistenceAwsS3.d.ts.map +1 -1
  164. package/dist/persistence/flows/FlowsPersistenceAwsS3.js +76 -77
  165. package/dist/persistence/flows/FlowsPersistenceAwsS3.js.map +1 -1
  166. package/dist/persistence/flows/FlowsPersistenceFactoryImpl.js +2 -2
  167. package/dist/persistence/flows/FlowsPersistenceFactoryImpl.js.map +1 -1
  168. package/dist/persistence/flows/FlowsPersistenceFilesystem.d.ts +7 -7
  169. package/dist/persistence/flows/FlowsPersistenceFilesystem.d.ts.map +1 -1
  170. package/dist/persistence/flows/FlowsPersistenceFilesystem.js +51 -60
  171. package/dist/persistence/flows/FlowsPersistenceFilesystem.js.map +1 -1
  172. package/dist/persistence/flows/FlowsPersistenceGoogleCloudStorage.d.ts +4 -5
  173. package/dist/persistence/flows/FlowsPersistenceGoogleCloudStorage.d.ts.map +1 -1
  174. package/dist/persistence/flows/FlowsPersistenceGoogleCloudStorage.js +40 -41
  175. package/dist/persistence/flows/FlowsPersistenceGoogleCloudStorage.js.map +1 -1
  176. package/dist/persistence/flows/FlowsPersistenceSqlite.d.ts +4 -4
  177. package/dist/persistence/flows/FlowsPersistenceSqlite.d.ts.map +1 -1
  178. package/dist/persistence/flows/FlowsPersistenceSqlite.js +40 -40
  179. package/dist/persistence/flows/FlowsPersistenceSqlite.js.map +1 -1
  180. package/dist/persistence/flows/FlowsPersistenceSupabase.d.ts +4 -5
  181. package/dist/persistence/flows/FlowsPersistenceSupabase.d.ts.map +1 -1
  182. package/dist/persistence/flows/FlowsPersistenceSupabase.js +37 -37
  183. package/dist/persistence/flows/FlowsPersistenceSupabase.js.map +1 -1
  184. package/dist/persistence/flows/FlowsPersistenceVolatile.d.ts +7 -7
  185. package/dist/persistence/flows/FlowsPersistenceVolatile.d.ts.map +1 -1
  186. package/dist/persistence/flows/FlowsPersistenceVolatile.js +35 -33
  187. package/dist/persistence/flows/FlowsPersistenceVolatile.js.map +1 -1
  188. package/dist/tools/AssertPageTool.d.ts +34 -0
  189. package/dist/tools/AssertPageTool.d.ts.map +1 -0
  190. package/dist/tools/AssertPageTool.js +156 -0
  191. package/dist/tools/AssertPageTool.js.map +1 -0
  192. package/dist/tools/AssertTool.js +1 -1
  193. package/dist/tools/AssertTool.js.map +1 -1
  194. package/dist/tools/ClickTool.d.ts.map +1 -1
  195. package/dist/tools/ClickTool.js +3 -0
  196. package/dist/tools/ClickTool.js.map +1 -1
  197. package/dist/tools/DetectBrokenLinksTool.js +1 -1
  198. package/dist/tools/DetectBrokenLinksTool.js.map +1 -1
  199. package/dist/tools/ExtractGoogleStreetviewEntityDataTool.js +1 -1
  200. package/dist/tools/ExtractGoogleStreetviewEntityDataTool.js.map +1 -1
  201. package/dist/tools/ExtractPaymentProviderKeyTool.d.ts +47 -1
  202. package/dist/tools/ExtractPaymentProviderKeyTool.d.ts.map +1 -1
  203. package/dist/tools/ExtractPaymentProviderKeyTool.js +160 -25
  204. package/dist/tools/ExtractPaymentProviderKeyTool.js.map +1 -1
  205. package/dist/tools/SolveMfaChallenge.d.ts.map +1 -1
  206. package/dist/tools/SolveMfaChallenge.js.map +1 -1
  207. package/dist/utils/BrowserUtils.d.ts +52 -0
  208. package/dist/utils/BrowserUtils.d.ts.map +1 -0
  209. package/dist/utils/BrowserUtils.js +340 -0
  210. package/dist/utils/BrowserUtils.js.map +1 -0
  211. package/dist/utils/PlaywrightUtils.d.ts +15 -11
  212. package/dist/utils/PlaywrightUtils.d.ts.map +1 -1
  213. package/dist/utils/PlaywrightUtils.js +110 -122
  214. package/dist/utils/PlaywrightUtils.js.map +1 -1
  215. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserFramework.d.ts","sourceRoot":"","sources":["../../src/models/BrowserFramework.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,cAAc,EAGf,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAA0B,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIxE,qBAAa,gBAAgB;aAIT,aAAa,EAAE,aAAa;aAC5B,OAAO,EAAE,OAAO;aAChB,cAAc,EAAE,cAAc;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IANnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAEjE,OAAO;IAOP;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA2CnC;;;;;;;OAOG;WACW,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC;WAY3C,MAAM,CACxB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,mBAAmB,GACjC,OAAO,CAAC,gBAAgB,CAAC;IA6D5B;;;;;OAKG;WACiB,sBAAsB,CACxC,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,mBAAmB,CAAC;IA6E/B;;;OAGG;mBACkB,gBAAgB;IA2BrC;;;OAGG;mBACkB,SAAS;IAiF9B;;;;;;;OAOG;mBACkB,cAAc;IA2BnC;;;;OAIG;mBACkB,2BAA2B;mBAkC3B,oCAAoC;CA0C1D"}
1
+ {"version":3,"file":"BrowserFramework.d.ts","sourceRoot":"","sources":["../../src/models/BrowserFramework.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EAGf,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAA0B,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIxE,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IACjE;;;;;;;OAOG;WACW,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC;WAY3C,MAAM,CACxB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,mBAAmB,GACjC,OAAO,CAAC,cAAc,CAAC;IAiH1B;;;;;OAKG;WACiB,sBAAsB,CACxC,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,mBAAmB,CAAC;IA6E/B;;;OAGG;mBACkB,gBAAgB;IAiCrC;;;OAGG;mBACkB,SAAS;IAiF9B;;;;;;;OAOG;mBACkB,cAAc;IA2BnC;;;;OAIG;mBACkB,2BAA2B;mBAkC3B,oCAAoC;CA0C1D"}
@@ -11,53 +11,6 @@ const path_1 = __importDefault(require("path"));
11
11
  const envVars_1 = require("../envVars");
12
12
  const Logger_1 = require("../utils/Logger");
13
13
  class BrowserFramework {
14
- constructor(browserConfig, browser, browserContext, browserBaseData) {
15
- this.browserConfig = browserConfig;
16
- this.browser = browser;
17
- this.browserContext = browserContext;
18
- this.browserBaseData = browserBaseData;
19
- }
20
- /**
21
- * Closes the browser and browser context. If the browser is a BrowserBase
22
- * instance, it will also release the session.
23
- */
24
- async close() {
25
- try {
26
- await this.browserContext.close();
27
- }
28
- catch (_error) {
29
- // Ignore, the browser context may have already been closed and that is fine.
30
- }
31
- try {
32
- await this.browser.close();
33
- }
34
- catch (_error) {
35
- // Ignore, the browser may have already been closed and that is fine.
36
- }
37
- if (this.browserConfig.using.type === 'browserBase' &&
38
- this.browserBaseData) {
39
- const body = {
40
- projectId: this.browserBaseData.projectId,
41
- status: 'REQUEST_RELEASE',
42
- };
43
- const password = process.env[envVars_1.ENV_VAR_NAMES.BROWSERBASE_API_KEY] ?? '';
44
- const options = {
45
- method: 'POST',
46
- headers: {
47
- 'X-BB-API-Key': password,
48
- 'Content-Type': 'application/json',
49
- },
50
- body: JSON.stringify(body),
51
- };
52
- try {
53
- await fetch(`https://api.browserbase.com/v1/sessions/${this.browserBaseData.id}`, options);
54
- }
55
- catch (error) {
56
- // Ignore, BrowserBase sessions expire automatically anyway.
57
- Logger_1.appLogger.warn('Failed to release BrowserBase session', error);
58
- }
59
- }
60
- }
61
14
  /**
62
15
  * Loads all the pre-canned browser device configurations from the local
63
16
  * filesystem.
@@ -75,30 +28,96 @@ class BrowserFramework {
75
28
  }
76
29
  static async create(browserConfig, outputDir, storageState) {
77
30
  const type = browserConfig.using.type;
78
- let browserFramework;
31
+ let browser;
32
+ let browserContext;
33
+ let close;
79
34
  switch (type) {
80
35
  case 'device': {
81
- const { browser, browserContext } = await BrowserFramework.forDevice(browserConfig.using.deviceName ??
82
- BrowserFramework.DEFAULT_DEVICE_NAME, browserConfig.using.headless ?? false, outputDir, storageState);
83
- browserFramework = new BrowserFramework(browserConfig, browser, browserContext);
36
+ ({ browser, browserContext } = await BrowserFramework.forDevice(browserConfig.using.deviceName ??
37
+ BrowserFramework.DEFAULT_DEVICE_NAME, browserConfig.using.headless ?? false, outputDir, storageState));
38
+ close = async (_options) => {
39
+ try {
40
+ await browserContext.close();
41
+ }
42
+ catch (_error) {
43
+ // Ignore, the browser context may have already been closed and that is fine.
44
+ }
45
+ try {
46
+ await browser.close();
47
+ }
48
+ catch (_error) {
49
+ // Ignore, the browser may have already been closed and that is fine.
50
+ }
51
+ };
84
52
  break;
85
53
  }
86
54
  case 'remoteInstance': {
87
- const { browser, browserContext } = await BrowserFramework.forRemoteBrowser(browserConfig.using.url, outputDir, storageState);
88
- browserFramework = new BrowserFramework(browserConfig, browser, browserContext);
55
+ ({ browser, browserContext } = await BrowserFramework.forRemoteBrowser(browserConfig.using.url, outputDir, storageState));
56
+ close = async (_options) => {
57
+ try {
58
+ await browserContext.close();
59
+ }
60
+ catch (_error) {
61
+ // Ignore, the browser context may have already been closed and that is fine.
62
+ }
63
+ try {
64
+ await browser.close();
65
+ }
66
+ catch (_error) {
67
+ // Ignore, the browser may have already been closed and that is fine.
68
+ }
69
+ };
89
70
  break;
90
71
  }
91
72
  case 'browserBase': {
92
- const { browser, browserContext, browserBaseData } = await BrowserFramework.forBrowserBase(browserConfig.using.sessionArgs, outputDir, storageState);
93
- browserFramework = new BrowserFramework(browserConfig, browser, browserContext, browserBaseData);
73
+ let browserBaseData;
74
+ ({ browser, browserContext, browserBaseData } =
75
+ await BrowserFramework.forBrowserBase(browserConfig.using.sessionArgs, outputDir, storageState));
76
+ close = async (_options) => {
77
+ try {
78
+ await browserContext.close();
79
+ }
80
+ catch (_error) {
81
+ // Ignore, the browser context may have already been closed and that is fine.
82
+ }
83
+ try {
84
+ await browser.close();
85
+ }
86
+ catch (_error) {
87
+ // Ignore, the browser may have already been closed and that is fine.
88
+ }
89
+ const body = {
90
+ projectId: browserBaseData.projectId,
91
+ status: 'REQUEST_RELEASE',
92
+ };
93
+ const password = process.env[envVars_1.ENV_VAR_NAMES.BROWSERBASE_API_KEY] ?? '';
94
+ const options = {
95
+ method: 'POST',
96
+ headers: {
97
+ 'X-BB-API-Key': password,
98
+ 'Content-Type': 'application/json',
99
+ },
100
+ body: JSON.stringify(body),
101
+ };
102
+ try {
103
+ await fetch(`https://api.browserbase.com/v1/sessions/${browserBaseData.id}`, options);
104
+ }
105
+ catch (error) {
106
+ // Ignore, BrowserBase sessions expire automatically anyway.
107
+ Logger_1.appLogger.warn('Failed to release BrowserBase session', error);
108
+ }
109
+ };
94
110
  break;
95
111
  }
96
112
  default: {
97
113
  throw new InvalidParamValueException_1.InvalidParamValueException('type', type);
98
114
  }
99
115
  }
100
- await BrowserFramework.attachSessionStorageToBrowserContext(browserFramework.browserContext, storageState);
101
- return browserFramework;
116
+ await BrowserFramework.attachSessionStorageToBrowserContext(browserContext, storageState);
117
+ return {
118
+ ...browserContext,
119
+ close: close,
120
+ };
102
121
  }
103
122
  /**
104
123
  * Gets the browser storage state including cookies, localStorage, and sessionStorage.
@@ -174,16 +193,22 @@ class BrowserFramework {
174
193
  static async forRemoteBrowser(remoteBrowserInstanceUrl, outputDir, storageState) {
175
194
  try {
176
195
  const browser = await playwright_1.chromium.connectOverCDP(remoteBrowserInstanceUrl);
177
- const contextOptions = {
178
- recordVideo: { dir: outputDir },
179
- };
180
- if (storageState) {
181
- contextOptions.storageState = storageState;
196
+ try {
197
+ const contextOptions = {
198
+ recordVideo: { dir: outputDir },
199
+ };
200
+ if (storageState) {
201
+ contextOptions.storageState = storageState;
202
+ }
203
+ return {
204
+ browser: browser,
205
+ browserContext: await browser.newContext(contextOptions),
206
+ };
207
+ }
208
+ catch (error) {
209
+ browser.close();
210
+ throw error;
182
211
  }
183
- return {
184
- browser: browser,
185
- browserContext: await browser.newContext(contextOptions),
186
- };
187
212
  }
188
213
  catch (_) {
189
214
  throw new InvalidParamValueException_1.InvalidParamValueException('remoteBrowserInstanceUrl', remoteBrowserInstanceUrl);
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserFramework.js","sourceRoot":"","sources":["../../src/models/BrowserFramework.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrowserFramework.js","sourceRoot":"","sources":["../../src/models/BrowserFramework.ts"],"names":[],"mappings":"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"}
@@ -103,13 +103,65 @@ export type RunMode =
103
103
  */
104
104
  | 'DETERMINISTIC';
105
105
  export declare const RunModes: RunMode[];
106
+ /**
107
+ * Query parameters for filtering and paginating flow metadata results.
108
+ */
106
109
  export type FlowsQuery = {
110
+ /**
111
+ * Filter flows by exact name match.
112
+ *
113
+ * When specified, only flows with this exact name will be returned.
114
+ * This uses indexed lookups in most persistence implementations for efficient querying.
115
+ *
116
+ * @example "user-onboarding-flow"
117
+ */
107
118
  name?: string;
119
+ /**
120
+ * Filter flows that started after this timestamp (inclusive).
121
+ *
122
+ * Unix epoch timestamp in milliseconds. Flows with `startedAt` greater than
123
+ * or equal to this value will be included in results.
124
+ *
125
+ * @example Date.now() - (24 * 60 * 60 * 1000) // Flows from last 24 hours
126
+ */
108
127
  startedAfter?: number;
128
+ /**
129
+ * Filter flows that started before this timestamp (inclusive).
130
+ *
131
+ * Unix epoch timestamp in milliseconds. Flows with `startedAt` less than
132
+ * or equal to this value will be included in results.
133
+ *
134
+ * @example new Date('2024-01-01').getTime() // Flows before 2024
135
+ */
109
136
  startedBefore?: number;
137
+ /**
138
+ * Filter flows by run mode.
139
+ */
110
140
  runMode?: RunMode;
141
+ /**
142
+ * Filter flows by current state.
143
+ */
111
144
  state?: State;
145
+ /**
146
+ * Maximum number of flows to return per page.
147
+ *
148
+ * Valid range is 1-100. Values outside this range will be clamped.
149
+ * Results are ordered by `startedAt` in descending order (newest first).
150
+ *
151
+ * @minimum 1
152
+ * @maximum 100
153
+ */
112
154
  limit?: number;
155
+ /**
156
+ * Pagination token for retrieving subsequent pages of results.
157
+ *
158
+ * This token is returned in the `nextPageToken` field of `PaginatedResult`
159
+ * and should be passed as-is to retrieve the next page. The format and
160
+ * content of this token is implementation-specific and should not be parsed
161
+ * or modified by client code.
162
+ *
163
+ * @example "eyJvZmZzZXQiOjIwfQ=="
164
+ */
113
165
  pageToken?: string;
114
166
  };
115
167
  //# sourceMappingURL=FlowMetadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FlowMetadata.d.ts","sourceRoot":"","sources":["../../src/models/FlowMetadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FlowMetadata.d.ts","sourceRoot":"","sources":["../../src/models/FlowMetadata.ts"],"names":[],"mappings":"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"}
@@ -11,17 +11,23 @@ export interface FlowsPersistence {
11
11
  * Set the given FlowMetadata for the associated flow. It can be looked up by
12
12
  * its {@link FlowMetadata.id}.
13
13
  */
14
- setMetadata(flowMetadata: FlowMetadata): Promise<void>;
14
+ setFlowMetadata(flowMetadata: FlowMetadata): Promise<void>;
15
15
  /**
16
- * Load metadata for a specific flow.
16
+ * Load metadata for a specific flow by its ID.
17
17
  * @throws FlowNotFoundException if the flow is not found
18
18
  */
19
- getMetadataByFlowId(flowId: string): Promise<FlowMetadata>;
19
+ getFlowMetadataById(flowId: string): Promise<FlowMetadata>;
20
20
  /**
21
- * Load metadata by a given flow name.
21
+ * Load metadata by a given flow name. If there are multiple flows with
22
+ * the same name, the one with the latest `startedAt` timestamp will be
23
+ * returned.
22
24
  * @throws FlowNotFoundException if the flow is not found
23
25
  */
24
- getMetadataByFlowName(flowName: string): Promise<FlowMetadata>;
26
+ getFlowMetadataByName(flowName: string): Promise<FlowMetadata>;
27
+ /**
28
+ * Get flows' metadata matching a given query.
29
+ */
30
+ getFlowsMetadata(query: FlowsQuery): Promise<PaginatedResult<FlowMetadata>>;
25
31
  /**
26
32
  * Save a screenshot for a specific flow. Supports PNG and JPEG images.
27
33
  * @returns The identifier for the saved screenshot
@@ -40,10 +46,6 @@ export interface FlowsPersistence {
40
46
  * @throws FlowNotFoundException if the flow is not found
41
47
  */
42
48
  getToolCalls(flowId: string): Promise<ToolCall[]>;
43
- /**
44
- * Get flows matching a given query.
45
- */
46
- getFlows(query: FlowsQuery): Promise<PaginatedResult<FlowMetadata>>;
47
49
  /**
48
50
  * Set video data for a specific flow.
49
51
  */
@@ -1 +1 @@
1
- {"version":3,"file":"FlowsPersistence.d.ts","sourceRoot":"","sources":["../../../src/persistence/flows/FlowsPersistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,WAAW,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvD;;;OAGG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAE3D;;;OAGG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAE/D;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/D;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE5E;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhE;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAElD;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;IAEpE;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvD;;;OAGG;IACH,eAAe,CACb,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAEhC;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEpE;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9E;;;;;;;OAOG;IACH,eAAe,CACb,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,mBAAmB,GAChC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;OAKG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IAErE;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C"}
1
+ {"version":3,"file":"FlowsPersistence.d.ts","sourceRoot":"","sources":["../../../src/persistence/flows/FlowsPersistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3D;;;OAGG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAE3D;;;;;OAKG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAE/D;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;IAE5E;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/D;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE5E;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhE;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAElD;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvD;;;OAGG;IACH,eAAe,CACb,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAEhC;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEpE;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9E;;;;;;;OAOG;IACH,eAAe,CACb,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,mBAAmB,GAChC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;OAKG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IAErE;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C"}
@@ -10,7 +10,6 @@ import { PaginatedResult } from '../../models/PaginatedResult';
10
10
  * or provide them directly in the constructor.
11
11
  */
12
12
  export declare class FlowsPersistenceAwsS3 implements FlowsPersistence {
13
- private static readonly ENVIRONMENT_DATA_PREFIX;
14
13
  private static readonly NAME_INDEX_PREFIX;
15
14
  private static readonly RUN_MODE_INDEX_PREFIX;
16
15
  private static readonly STATE_INDEX_PREFIX;
@@ -32,14 +31,14 @@ export declare class FlowsPersistenceAwsS3 implements FlowsPersistence {
32
31
  accessKeyId: string;
33
32
  secretAccessKey: string;
34
33
  });
35
- setMetadata(flowMetadata: FlowMetadata): Promise<void>;
36
- getMetadataByFlowId(flowId: string): Promise<FlowMetadata>;
37
- getMetadataByFlowName(flowName: string): Promise<FlowMetadata>;
34
+ setFlowMetadata(flowMetadata: FlowMetadata): Promise<void>;
35
+ getFlowMetadataById(flowId: string): Promise<FlowMetadata>;
36
+ getFlowMetadataByName(flowName: string): Promise<FlowMetadata>;
37
+ getFlowsMetadata(query: FlowsQuery): Promise<PaginatedResult<FlowMetadata>>;
38
38
  saveScreenShot(flowId: string, bytes: Buffer): Promise<string>;
39
39
  getScreenShot(flowId: string, screenShotId: string): Promise<Buffer | null>;
40
40
  saveToolCall(flowId: string, toolCall: ToolCall): Promise<void>;
41
41
  getToolCalls(flowId: string): Promise<ToolCall[]>;
42
- getFlows(query: FlowsQuery): Promise<PaginatedResult<FlowMetadata>>;
43
42
  setVideo(flowId: string, bytes: Buffer): Promise<void>;
44
43
  getVideoSegment(flowId: string, startOffset: number, length: number): Promise<VideoSegment | null>;
45
44
  getFlowFile(flowId: string, fileId: string): Promise<Buffer | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"FlowsPersistenceAwsS3.d.ts","sourceRoot":"","sources":["../../../src/persistence/flows/FlowsPersistenceAwsS3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FlowsPersistenceAwsS3.d.ts","sourceRoot":"","sources":["../../../src/persistence/flows/FlowsPersistenceAwsS3.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ class FlowsPersistenceAwsS3 {
26
26
  credentials,
27
27
  });
28
28
  }
29
- async setMetadata(flowMetadata) {
29
+ async setFlowMetadata(flowMetadata) {
30
30
  const objectKey = `${flowMetadata.id}/${FlowsPersistenceAwsS3.METADATA_FILENAME}`;
31
31
  // Save the main metadata file.
32
32
  await this.s3Client.send(new client_s3_1.PutObjectCommand({
@@ -46,7 +46,7 @@ class FlowsPersistenceAwsS3 {
46
46
  // Update combined runMode+state index
47
47
  await this.updateRunModeStateIndex(flowMetadata.id, flowMetadata.runMode, flowMetadata.state);
48
48
  }
49
- async getMetadataByFlowId(flowId) {
49
+ async getFlowMetadataById(flowId) {
50
50
  const objectKey = `${flowId}/${FlowsPersistenceAwsS3.METADATA_FILENAME}`;
51
51
  const response = await this.s3Client.send(new client_s3_1.GetObjectCommand({
52
52
  Bucket: this.bucketName,
@@ -58,7 +58,7 @@ class FlowsPersistenceAwsS3 {
58
58
  const data = await this.streamToBuffer(response.Body);
59
59
  return JSON.parse(data.toString('utf-8'));
60
60
  }
61
- async getMetadataByFlowName(flowName) {
61
+ async getFlowMetadataByName(flowName) {
62
62
  if (!flowName) {
63
63
  throw FlowNotFoundException_1.FlowNotFoundException.forName('null');
64
64
  }
@@ -75,77 +75,9 @@ class FlowsPersistenceAwsS3 {
75
75
  const data = await this.streamToBuffer(response.Body);
76
76
  const flowId = data.toString('utf-8');
77
77
  // Get the flow metadata using the ID
78
- return await this.getMetadataByFlowId(flowId);
78
+ return await this.getFlowMetadataById(flowId);
79
79
  }
80
- async saveScreenShot(flowId, bytes) {
81
- const imageType = MiscUtils_1.MiscUtils.detectImageType(bytes);
82
- const mimeType = `image/${imageType}`;
83
- const filename = `${new Date().toISOString()}.screenshot.${imageType}`;
84
- const objectKey = `${flowId}/${filename}`;
85
- await this.s3Client.send(new client_s3_1.PutObjectCommand({
86
- Bucket: this.bucketName,
87
- Key: objectKey,
88
- Body: bytes,
89
- ContentType: mimeType,
90
- }));
91
- return filename;
92
- }
93
- async getScreenShot(flowId, screenShotId) {
94
- const objectKey = `${flowId}/${screenShotId}`;
95
- try {
96
- const response = await this.s3Client.send(new client_s3_1.GetObjectCommand({
97
- Bucket: this.bucketName,
98
- Key: objectKey,
99
- }));
100
- if (!response.Body || !response.ContentType?.startsWith('image')) {
101
- return null;
102
- }
103
- return await this.streamToBuffer(response.Body);
104
- }
105
- catch (_error) {
106
- return null;
107
- }
108
- }
109
- async saveToolCall(flowId, toolCall) {
110
- const filename = `${toolCall.startedAt}${FlowsPersistenceAwsS3.TOOL_CALL_FILENAME_SUFFIX}`;
111
- const objectKey = `${flowId}/${filename}`;
112
- await this.s3Client.send(new client_s3_1.PutObjectCommand({
113
- Bucket: this.bucketName,
114
- Key: objectKey,
115
- Body: JSON.stringify(toolCall, null, 2),
116
- ContentType: 'application/json',
117
- }));
118
- }
119
- async getToolCalls(flowId) {
120
- const prefix = `${flowId}/`;
121
- const response = await this.s3Client.send(new client_s3_1.ListObjectsV2Command({
122
- Bucket: this.bucketName,
123
- Prefix: prefix,
124
- }));
125
- if (!response.Contents || response.Contents.length === 0) {
126
- throw FlowNotFoundException_1.FlowNotFoundException.forId(flowId);
127
- }
128
- const toolCallFiles = response.Contents.filter((item) => item.Key &&
129
- item.Key.endsWith(FlowsPersistenceAwsS3.TOOL_CALL_FILENAME_SUFFIX));
130
- if (toolCallFiles.length === 0) {
131
- return [];
132
- }
133
- const toolCalls = await Promise.all(toolCallFiles.map(async (file) => {
134
- const response = await this.s3Client.send(new client_s3_1.GetObjectCommand({
135
- Bucket: this.bucketName,
136
- Key: file.Key,
137
- }));
138
- if (!response.Body) {
139
- return null;
140
- }
141
- const data = await this.streamToBuffer(response.Body);
142
- return JSON.parse(data.toString('utf-8'));
143
- }));
144
- return toolCalls
145
- .filter((toolCall) => toolCall !== null)
146
- .sort((a, b) => (a.startedAt || 0) - (b.startedAt || 0));
147
- }
148
- async getFlows(query) {
80
+ async getFlowsMetadata(query) {
149
81
  const { limit = 20, pageToken, name, runMode, state, startedAfter, startedBefore, } = query || {};
150
82
  const validLimit = Math.min(Math.max(1, limit), 100);
151
83
  // Determine which index to use based on query params
@@ -154,7 +86,7 @@ class FlowsPersistenceAwsS3 {
154
86
  if (name) {
155
87
  // If querying by name, directly fetch that specific flow
156
88
  try {
157
- const flow = await this.getMetadataByFlowName(name);
89
+ const flow = await this.getFlowMetadataByName(name);
158
90
  // Apply other filters
159
91
  let includeFlow = true;
160
92
  if (runMode && flow.runMode !== runMode) {
@@ -232,7 +164,7 @@ class FlowsPersistenceAwsS3 {
232
164
  const flows = [];
233
165
  for (const flowId of flowIds) {
234
166
  try {
235
- const flowMetadata = await this.getMetadataByFlowId(flowId);
167
+ const flowMetadata = await this.getFlowMetadataById(flowId);
236
168
  // Apply remaining filters
237
169
  let includeFlow = true;
238
170
  // Apply date range filters
@@ -269,6 +201,74 @@ class FlowsPersistenceAwsS3 {
269
201
  nextPageToken: hasMore ? response.NextContinuationToken : undefined,
270
202
  };
271
203
  }
204
+ async saveScreenShot(flowId, bytes) {
205
+ const imageType = MiscUtils_1.MiscUtils.detectImageType(bytes);
206
+ const mimeType = `image/${imageType}`;
207
+ const filename = `${new Date().toISOString()}.screenshot.${imageType}`;
208
+ const objectKey = `${flowId}/${filename}`;
209
+ await this.s3Client.send(new client_s3_1.PutObjectCommand({
210
+ Bucket: this.bucketName,
211
+ Key: objectKey,
212
+ Body: bytes,
213
+ ContentType: mimeType,
214
+ }));
215
+ return filename;
216
+ }
217
+ async getScreenShot(flowId, screenShotId) {
218
+ const objectKey = `${flowId}/${screenShotId}`;
219
+ try {
220
+ const response = await this.s3Client.send(new client_s3_1.GetObjectCommand({
221
+ Bucket: this.bucketName,
222
+ Key: objectKey,
223
+ }));
224
+ if (!response.Body || !response.ContentType?.startsWith('image')) {
225
+ return null;
226
+ }
227
+ return await this.streamToBuffer(response.Body);
228
+ }
229
+ catch (_error) {
230
+ return null;
231
+ }
232
+ }
233
+ async saveToolCall(flowId, toolCall) {
234
+ const filename = `${toolCall.startedAt}${FlowsPersistenceAwsS3.TOOL_CALL_FILENAME_SUFFIX}`;
235
+ const objectKey = `${flowId}/${filename}`;
236
+ await this.s3Client.send(new client_s3_1.PutObjectCommand({
237
+ Bucket: this.bucketName,
238
+ Key: objectKey,
239
+ Body: JSON.stringify(toolCall, null, 2),
240
+ ContentType: 'application/json',
241
+ }));
242
+ }
243
+ async getToolCalls(flowId) {
244
+ const prefix = `${flowId}/`;
245
+ const response = await this.s3Client.send(new client_s3_1.ListObjectsV2Command({
246
+ Bucket: this.bucketName,
247
+ Prefix: prefix,
248
+ }));
249
+ if (!response.Contents || response.Contents.length === 0) {
250
+ throw FlowNotFoundException_1.FlowNotFoundException.forId(flowId);
251
+ }
252
+ const toolCallFiles = response.Contents.filter((item) => item.Key &&
253
+ item.Key.endsWith(FlowsPersistenceAwsS3.TOOL_CALL_FILENAME_SUFFIX));
254
+ if (toolCallFiles.length === 0) {
255
+ return [];
256
+ }
257
+ const toolCalls = await Promise.all(toolCallFiles.map(async (file) => {
258
+ const response = await this.s3Client.send(new client_s3_1.GetObjectCommand({
259
+ Bucket: this.bucketName,
260
+ Key: file.Key,
261
+ }));
262
+ if (!response.Body) {
263
+ return null;
264
+ }
265
+ const data = await this.streamToBuffer(response.Body);
266
+ return JSON.parse(data.toString('utf-8'));
267
+ }));
268
+ return toolCalls
269
+ .filter((toolCall) => toolCall !== null)
270
+ .sort((a, b) => (a.startedAt || 0) - (b.startedAt || 0));
271
+ }
272
272
  async setVideo(flowId, bytes) {
273
273
  const objectKey = `${flowId}/${FlowsPersistenceAwsS3.VIDEO_FILENAME}`;
274
274
  await this.s3Client.send(new client_s3_1.PutObjectCommand({
@@ -347,7 +347,7 @@ class FlowsPersistenceAwsS3 {
347
347
  }
348
348
  async deleteFlow(flowId) {
349
349
  // Get flow metadata to find its name.
350
- const metadata = await this.getMetadataByFlowId(flowId);
350
+ const metadata = await this.getFlowMetadataById(flowId);
351
351
  // Delete the name index entry if name exists.
352
352
  if (metadata.name) {
353
353
  const indexKey = `${FlowsPersistenceAwsS3.NAME_INDEX_PREFIX}${encodeURIComponent(metadata.name)}`;
@@ -436,7 +436,6 @@ class FlowsPersistenceAwsS3 {
436
436
  }
437
437
  }
438
438
  exports.FlowsPersistenceAwsS3 = FlowsPersistenceAwsS3;
439
- FlowsPersistenceAwsS3.ENVIRONMENT_DATA_PREFIX = 'environment/';
440
439
  FlowsPersistenceAwsS3.NAME_INDEX_PREFIX = '_name-index/';
441
440
  FlowsPersistenceAwsS3.RUN_MODE_INDEX_PREFIX = '_run-mode-index/';
442
441
  FlowsPersistenceAwsS3.STATE_INDEX_PREFIX = '_state-index/';