donobu 2.23.0 → 2.23.1
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.
- package/package.json +1 -1
- package/dist/apis/EnvironmentDataApi.d.ts +0 -26
- package/dist/apis/EnvironmentDataApi.d.ts.map +0 -1
- package/dist/apis/EnvironmentDataApi.js +0 -59
- package/dist/apis/EnvironmentDataApi.js.map +0 -1
- package/dist/assets/donobu-virtual-mouse.svg +0 -11
- package/dist/assets/donobu.css +0 -62
- package/dist/assets/generated/parameter-schemas.json +0 -2241
- package/dist/assets/record.umd.min.cjs +0 -10399
- package/dist/bindings/FocusPage.d.ts +0 -23
- package/dist/bindings/FocusPage.d.ts.map +0 -1
- package/dist/bindings/FocusPage.js +0 -20
- package/dist/bindings/FocusPage.js.map +0 -1
- package/dist/bindings/ToggleDonobuAnnotations.d.ts +0 -21
- package/dist/bindings/ToggleDonobuAnnotations.d.ts.map +0 -1
- package/dist/bindings/ToggleDonobuAnnotations.js +0 -51
- package/dist/bindings/ToggleDonobuAnnotations.js.map +0 -1
- package/dist/esm/apis/EnvironmentDataApi.d.ts +0 -26
- package/dist/esm/apis/EnvironmentDataApi.d.ts.map +0 -1
- package/dist/esm/apis/EnvironmentDataApi.js +0 -59
- package/dist/esm/apis/EnvironmentDataApi.js.map +0 -1
- package/dist/esm/assets/donobu-virtual-mouse.svg +0 -11
- package/dist/esm/assets/donobu.css +0 -62
- package/dist/esm/assets/generated/parameter-schemas.json +0 -2241
- package/dist/esm/assets/record.umd.min.cjs +0 -10399
- package/dist/esm/bindings/FocusPage.d.ts +0 -23
- package/dist/esm/bindings/FocusPage.d.ts.map +0 -1
- package/dist/esm/bindings/FocusPage.js +0 -20
- package/dist/esm/bindings/FocusPage.js.map +0 -1
- package/dist/esm/bindings/ToggleDonobuAnnotations.d.ts +0 -21
- package/dist/esm/bindings/ToggleDonobuAnnotations.d.ts.map +0 -1
- package/dist/esm/bindings/ToggleDonobuAnnotations.js +0 -51
- package/dist/esm/bindings/ToggleDonobuAnnotations.js.map +0 -1
- package/dist/esm/lib/constants.d.ts +0 -8
- package/dist/esm/lib/constants.d.ts.map +0 -1
- package/dist/esm/lib/constants.js +0 -14
- package/dist/esm/lib/constants.js.map +0 -1
- package/dist/esm/lib/fixtures/testExtension.d.ts +0 -10
- package/dist/esm/lib/fixtures/testExtension.d.ts.map +0 -1
- package/dist/esm/lib/fixtures/testExtension.js +0 -383
- package/dist/esm/lib/fixtures/testExtension.js.map +0 -1
- package/dist/esm/lib/types.d.ts +0 -106
- package/dist/esm/lib/types.d.ts.map +0 -1
- package/dist/esm/lib/types.js +0 -3
- package/dist/esm/lib/types.js.map +0 -1
- package/dist/esm/managers/EnvironmentDataManager.d.ts +0 -58
- package/dist/esm/managers/EnvironmentDataManager.d.ts.map +0 -1
- package/dist/esm/managers/EnvironmentDataManager.js +0 -134
- package/dist/esm/managers/EnvironmentDataManager.js.map +0 -1
- package/dist/esm/managers/ProjectStructureGenerator.d.ts +0 -62
- package/dist/esm/managers/ProjectStructureGenerator.d.ts.map +0 -1
- package/dist/esm/managers/ProjectStructureGenerator.js +0 -234
- package/dist/esm/managers/ProjectStructureGenerator.js.map +0 -1
- package/dist/esm/managers/TestFileUpdater.d.ts +0 -56
- package/dist/esm/managers/TestFileUpdater.d.ts.map +0 -1
- package/dist/esm/managers/TestFileUpdater.js +0 -224
- package/dist/esm/managers/TestFileUpdater.js.map +0 -1
- package/dist/esm/models/AskAiRequest.d.ts +0 -15
- package/dist/esm/models/AskAiRequest.d.ts.map +0 -1
- package/dist/esm/models/AskAiRequest.js +0 -3
- package/dist/esm/models/AskAiRequest.js.map +0 -1
- package/dist/esm/models/BaseToolGptParameters.d.ts +0 -10
- package/dist/esm/models/BaseToolGptParameters.d.ts.map +0 -1
- package/dist/esm/models/BaseToolGptParameters.js +0 -3
- package/dist/esm/models/BaseToolGptParameters.js.map +0 -1
- package/dist/esm/models/BrowserFramework.d.ts +0 -61
- package/dist/esm/models/BrowserFramework.d.ts.map +0 -1
- package/dist/esm/models/BrowserFramework.js +0 -339
- package/dist/esm/models/BrowserFramework.js.map +0 -1
- package/dist/esm/models/EnvironmentDatum.d.ts +0 -54
- package/dist/esm/models/EnvironmentDatum.d.ts.map +0 -1
- package/dist/esm/models/EnvironmentDatum.js +0 -57
- package/dist/esm/models/EnvironmentDatum.js.map +0 -1
- package/dist/esm/models/FlowsQuery.d.ts +0 -12
- package/dist/esm/models/FlowsQuery.d.ts.map +0 -1
- package/dist/esm/models/FlowsQuery.js +0 -3
- package/dist/esm/models/FlowsQuery.js.map +0 -1
- package/dist/esm/persistence/AgentsPersistence.d.ts +0 -12
- package/dist/esm/persistence/AgentsPersistence.d.ts.map +0 -1
- package/dist/esm/persistence/AgentsPersistence.js +0 -3
- package/dist/esm/persistence/AgentsPersistence.js.map +0 -1
- package/dist/esm/persistence/AgentsPersistenceSqlite.d.ts +0 -15
- package/dist/esm/persistence/AgentsPersistenceSqlite.d.ts.map +0 -1
- package/dist/esm/persistence/AgentsPersistenceSqlite.js +0 -50
- package/dist/esm/persistence/AgentsPersistenceSqlite.js.map +0 -1
- package/dist/esm/persistence/AgentsPersistenceVolatile.d.ts +0 -14
- package/dist/esm/persistence/AgentsPersistenceVolatile.d.ts.map +0 -1
- package/dist/esm/persistence/AgentsPersistenceVolatile.js +0 -26
- package/dist/esm/persistence/AgentsPersistenceVolatile.js.map +0 -1
- package/dist/esm/persistence/FlowsPersistence.d.ts +0 -104
- package/dist/esm/persistence/FlowsPersistence.d.ts.map +0 -1
- package/dist/esm/persistence/FlowsPersistence.js +0 -3
- package/dist/esm/persistence/FlowsPersistence.js.map +0 -1
- package/dist/esm/persistence/FlowsPersistenceAwsS3.d.ts +0 -75
- package/dist/esm/persistence/FlowsPersistenceAwsS3.d.ts.map +0 -1
- package/dist/esm/persistence/FlowsPersistenceAwsS3.js +0 -525
- package/dist/esm/persistence/FlowsPersistenceAwsS3.js.map +0 -1
- package/dist/esm/persistence/FlowsPersistenceFactory.d.ts +0 -10
- package/dist/esm/persistence/FlowsPersistenceFactory.d.ts.map +0 -1
- package/dist/esm/persistence/FlowsPersistenceFactory.js +0 -3
- package/dist/esm/persistence/FlowsPersistenceFactory.js.map +0 -1
- package/dist/esm/persistence/FlowsPersistenceFactoryImpl.d.ts +0 -57
- package/dist/esm/persistence/FlowsPersistenceFactoryImpl.d.ts.map +0 -1
- package/dist/esm/persistence/FlowsPersistenceFactoryImpl.js +0 -235
- package/dist/esm/persistence/FlowsPersistenceFactoryImpl.js.map +0 -1
- package/dist/esm/persistence/FlowsPersistenceFactoryPreset.d.ts +0 -13
- package/dist/esm/persistence/FlowsPersistenceFactoryPreset.d.ts.map +0 -1
- package/dist/esm/persistence/FlowsPersistenceFactoryPreset.js +0 -24
- package/dist/esm/persistence/FlowsPersistenceFactoryPreset.js.map +0 -1
- package/dist/esm/persistence/FlowsPersistenceFilesystem.d.ts +0 -69
- package/dist/esm/persistence/FlowsPersistenceFilesystem.d.ts.map +0 -1
- package/dist/esm/persistence/FlowsPersistenceFilesystem.js +0 -381
- package/dist/esm/persistence/FlowsPersistenceFilesystem.js.map +0 -1
- package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.d.ts +0 -75
- package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.d.ts.map +0 -1
- package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.js +0 -485
- package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.js.map +0 -1
- package/dist/esm/persistence/FlowsPersistenceSqlite.d.ts +0 -44
- package/dist/esm/persistence/FlowsPersistenceSqlite.d.ts.map +0 -1
- package/dist/esm/persistence/FlowsPersistenceSqlite.js +0 -264
- package/dist/esm/persistence/FlowsPersistenceSqlite.js.map +0 -1
- package/dist/esm/persistence/FlowsPersistenceSupabase.d.ts +0 -44
- package/dist/esm/persistence/FlowsPersistenceSupabase.d.ts.map +0 -1
- package/dist/esm/persistence/FlowsPersistenceSupabase.js +0 -262
- package/dist/esm/persistence/FlowsPersistenceSupabase.js.map +0 -1
- package/dist/esm/persistence/FlowsPersistenceVolatile.d.ts +0 -41
- package/dist/esm/persistence/FlowsPersistenceVolatile.d.ts.map +0 -1
- package/dist/esm/persistence/FlowsPersistenceVolatile.js +0 -171
- package/dist/esm/persistence/FlowsPersistenceVolatile.js.map +0 -1
- package/dist/esm/persistence/GptConfigsPersistence.d.ts +0 -12
- package/dist/esm/persistence/GptConfigsPersistence.d.ts.map +0 -1
- package/dist/esm/persistence/GptConfigsPersistence.js +0 -3
- package/dist/esm/persistence/GptConfigsPersistence.js.map +0 -1
- package/dist/esm/persistence/GptConfigsPersistenceSqlite.d.ts +0 -13
- package/dist/esm/persistence/GptConfigsPersistenceSqlite.d.ts.map +0 -1
- package/dist/esm/persistence/GptConfigsPersistenceSqlite.js +0 -35
- package/dist/esm/persistence/GptConfigsPersistenceSqlite.js.map +0 -1
- package/dist/esm/persistence/GptConfigsPersistenceVolatile.d.ts +0 -15
- package/dist/esm/persistence/GptConfigsPersistenceVolatile.d.ts.map +0 -1
- package/dist/esm/persistence/GptConfigsPersistenceVolatile.js +0 -31
- package/dist/esm/persistence/GptConfigsPersistenceVolatile.js.map +0 -1
- package/dist/esm/playwrightTestExtensions.d.ts +0 -155
- package/dist/esm/playwrightTestExtensions.d.ts.map +0 -1
- package/dist/esm/playwrightTestExtensions.js +0 -688
- package/dist/esm/playwrightTestExtensions.js.map +0 -1
- package/dist/esm/utils/ToolsPluginsLoader.d.ts +0 -52
- package/dist/esm/utils/ToolsPluginsLoader.d.ts.map +0 -1
- package/dist/esm/utils/ToolsPluginsLoader.js +0 -301
- package/dist/esm/utils/ToolsPluginsLoader.js.map +0 -1
- package/dist/lib/autoTest.d.ts +0 -2
- package/dist/lib/autoTest.d.ts.map +0 -1
- package/dist/lib/autoTest.js +0 -17
- package/dist/lib/autoTest.js.map +0 -1
- package/dist/lib/constants.d.ts +0 -8
- package/dist/lib/constants.d.ts.map +0 -1
- package/dist/lib/constants.js +0 -14
- package/dist/lib/constants.js.map +0 -1
- package/dist/lib/fixtures/testExtension.d.ts +0 -10
- package/dist/lib/fixtures/testExtension.d.ts.map +0 -1
- package/dist/lib/fixtures/testExtension.js +0 -383
- package/dist/lib/fixtures/testExtension.js.map +0 -1
- package/dist/lib/types.d.ts +0 -106
- package/dist/lib/types.d.ts.map +0 -1
- package/dist/lib/types.js +0 -3
- package/dist/lib/types.js.map +0 -1
- package/dist/managers/EnvironmentDataManager.d.ts +0 -58
- package/dist/managers/EnvironmentDataManager.d.ts.map +0 -1
- package/dist/managers/EnvironmentDataManager.js +0 -134
- package/dist/managers/EnvironmentDataManager.js.map +0 -1
- package/dist/managers/ProjectStructureGenerator.d.ts +0 -62
- package/dist/managers/ProjectStructureGenerator.d.ts.map +0 -1
- package/dist/managers/ProjectStructureGenerator.js +0 -234
- package/dist/managers/ProjectStructureGenerator.js.map +0 -1
- package/dist/managers/TestFileUpdater.d.ts +0 -56
- package/dist/managers/TestFileUpdater.d.ts.map +0 -1
- package/dist/managers/TestFileUpdater.js +0 -224
- package/dist/managers/TestFileUpdater.js.map +0 -1
- package/dist/models/AskAiRequest.d.ts +0 -15
- package/dist/models/AskAiRequest.d.ts.map +0 -1
- package/dist/models/AskAiRequest.js +0 -3
- package/dist/models/AskAiRequest.js.map +0 -1
- package/dist/models/BaseToolGptParameters.d.ts +0 -10
- package/dist/models/BaseToolGptParameters.d.ts.map +0 -1
- package/dist/models/BaseToolGptParameters.js +0 -3
- package/dist/models/BaseToolGptParameters.js.map +0 -1
- package/dist/models/BrowserFramework.d.ts +0 -51
- package/dist/models/BrowserFramework.d.ts.map +0 -1
- package/dist/models/BrowserFramework.js +0 -364
- package/dist/models/BrowserFramework.js.map +0 -1
- package/dist/models/EnvironmentDatum.d.ts +0 -54
- package/dist/models/EnvironmentDatum.d.ts.map +0 -1
- package/dist/models/EnvironmentDatum.js +0 -57
- package/dist/models/EnvironmentDatum.js.map +0 -1
- package/dist/models/FlowsQuery.d.ts +0 -12
- package/dist/models/FlowsQuery.d.ts.map +0 -1
- package/dist/models/FlowsQuery.js +0 -3
- package/dist/models/FlowsQuery.js.map +0 -1
- package/dist/persistence/AgentsPersistence.d.ts +0 -12
- package/dist/persistence/AgentsPersistence.d.ts.map +0 -1
- package/dist/persistence/AgentsPersistence.js +0 -3
- package/dist/persistence/AgentsPersistence.js.map +0 -1
- package/dist/persistence/AgentsPersistenceSqlite.d.ts +0 -15
- package/dist/persistence/AgentsPersistenceSqlite.d.ts.map +0 -1
- package/dist/persistence/AgentsPersistenceSqlite.js +0 -50
- package/dist/persistence/AgentsPersistenceSqlite.js.map +0 -1
- package/dist/persistence/AgentsPersistenceVolatile.d.ts +0 -14
- package/dist/persistence/AgentsPersistenceVolatile.d.ts.map +0 -1
- package/dist/persistence/AgentsPersistenceVolatile.js +0 -26
- package/dist/persistence/AgentsPersistenceVolatile.js.map +0 -1
- package/dist/persistence/FlowsPersistence.d.ts +0 -104
- package/dist/persistence/FlowsPersistence.d.ts.map +0 -1
- package/dist/persistence/FlowsPersistence.js +0 -3
- package/dist/persistence/FlowsPersistence.js.map +0 -1
- package/dist/persistence/FlowsPersistenceAwsS3.d.ts +0 -75
- package/dist/persistence/FlowsPersistenceAwsS3.d.ts.map +0 -1
- package/dist/persistence/FlowsPersistenceAwsS3.js +0 -525
- package/dist/persistence/FlowsPersistenceAwsS3.js.map +0 -1
- package/dist/persistence/FlowsPersistenceFactory.d.ts +0 -10
- package/dist/persistence/FlowsPersistenceFactory.d.ts.map +0 -1
- package/dist/persistence/FlowsPersistenceFactory.js +0 -3
- package/dist/persistence/FlowsPersistenceFactory.js.map +0 -1
- package/dist/persistence/FlowsPersistenceFactoryImpl.d.ts +0 -57
- package/dist/persistence/FlowsPersistenceFactoryImpl.d.ts.map +0 -1
- package/dist/persistence/FlowsPersistenceFactoryImpl.js +0 -235
- package/dist/persistence/FlowsPersistenceFactoryImpl.js.map +0 -1
- package/dist/persistence/FlowsPersistenceFactoryPreset.d.ts +0 -13
- package/dist/persistence/FlowsPersistenceFactoryPreset.d.ts.map +0 -1
- package/dist/persistence/FlowsPersistenceFactoryPreset.js +0 -24
- package/dist/persistence/FlowsPersistenceFactoryPreset.js.map +0 -1
- package/dist/persistence/FlowsPersistenceFilesystem.d.ts +0 -69
- package/dist/persistence/FlowsPersistenceFilesystem.d.ts.map +0 -1
- package/dist/persistence/FlowsPersistenceFilesystem.js +0 -381
- package/dist/persistence/FlowsPersistenceFilesystem.js.map +0 -1
- package/dist/persistence/FlowsPersistenceGoogleCloudStorage.d.ts +0 -75
- package/dist/persistence/FlowsPersistenceGoogleCloudStorage.d.ts.map +0 -1
- package/dist/persistence/FlowsPersistenceGoogleCloudStorage.js +0 -485
- package/dist/persistence/FlowsPersistenceGoogleCloudStorage.js.map +0 -1
- package/dist/persistence/FlowsPersistenceSqlite.d.ts +0 -44
- package/dist/persistence/FlowsPersistenceSqlite.d.ts.map +0 -1
- package/dist/persistence/FlowsPersistenceSqlite.js +0 -264
- package/dist/persistence/FlowsPersistenceSqlite.js.map +0 -1
- package/dist/persistence/FlowsPersistenceSupabase.d.ts +0 -44
- package/dist/persistence/FlowsPersistenceSupabase.d.ts.map +0 -1
- package/dist/persistence/FlowsPersistenceSupabase.js +0 -262
- package/dist/persistence/FlowsPersistenceSupabase.js.map +0 -1
- package/dist/persistence/FlowsPersistenceVolatile.d.ts +0 -41
- package/dist/persistence/FlowsPersistenceVolatile.d.ts.map +0 -1
- package/dist/persistence/FlowsPersistenceVolatile.js +0 -171
- package/dist/persistence/FlowsPersistenceVolatile.js.map +0 -1
- package/dist/persistence/GptConfigsPersistence.d.ts +0 -12
- package/dist/persistence/GptConfigsPersistence.d.ts.map +0 -1
- package/dist/persistence/GptConfigsPersistence.js +0 -3
- package/dist/persistence/GptConfigsPersistence.js.map +0 -1
- package/dist/persistence/GptConfigsPersistenceSqlite.d.ts +0 -13
- package/dist/persistence/GptConfigsPersistenceSqlite.d.ts.map +0 -1
- package/dist/persistence/GptConfigsPersistenceSqlite.js +0 -35
- package/dist/persistence/GptConfigsPersistenceSqlite.js.map +0 -1
- package/dist/persistence/GptConfigsPersistenceVolatile.d.ts +0 -15
- package/dist/persistence/GptConfigsPersistenceVolatile.d.ts.map +0 -1
- package/dist/persistence/GptConfigsPersistenceVolatile.js +0 -31
- package/dist/persistence/GptConfigsPersistenceVolatile.js.map +0 -1
- package/dist/playwrightTestExtensions.d.ts +0 -155
- package/dist/playwrightTestExtensions.d.ts.map +0 -1
- package/dist/playwrightTestExtensions.js +0 -688
- package/dist/playwrightTestExtensions.js.map +0 -1
- package/dist/tools/CreatePageObjectModel.d.ts +0 -16
- package/dist/tools/CreatePageObjectModel.d.ts.map +0 -1
- package/dist/tools/CreatePageObjectModel.js +0 -33
- package/dist/tools/CreatePageObjectModel.js.map +0 -1
- package/dist/utils/ToolsPluginsLoader.d.ts +0 -52
- package/dist/utils/ToolsPluginsLoader.d.ts.map +0 -1
- package/dist/utils/ToolsPluginsLoader.js +0 -301
- package/dist/utils/ToolsPluginsLoader.js.map +0 -1
- /package/dist/utils/{jsonSchemaUtils.d.ts → JsonSchemaUtils.d.ts} +0 -0
- /package/dist/utils/{jsonSchemaUtils.d.ts.map → JsonSchemaUtils.d.ts.map} +0 -0
- /package/dist/utils/{jsonSchemaUtils.js → JsonSchemaUtils.js} +0 -0
- /package/dist/utils/{jsonSchemaUtils.js.map → JsonSchemaUtils.js.map} +0 -0
|
@@ -1,485 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FlowsPersistenceGoogleCloudStorage = void 0;
|
|
4
|
-
const FlowNotFoundException_1 = require("../exceptions/FlowNotFoundException");
|
|
5
|
-
const Logger_1 = require("../utils/Logger");
|
|
6
|
-
const JsonUtils_1 = require("../utils/JsonUtils");
|
|
7
|
-
const MiscUtils_1 = require("../utils/MiscUtils");
|
|
8
|
-
/**
|
|
9
|
-
* A persistence implementation that uses Google Cloud Storage.
|
|
10
|
-
*
|
|
11
|
-
* If you are running locally, be sure to have the Google Cloud CLI installed
|
|
12
|
-
* so that you can authenticate using `gcloud auth application-default login`
|
|
13
|
-
* before running Donobu.
|
|
14
|
-
*
|
|
15
|
-
* If Donobu is being run in the Google cloud, be sure that the service account
|
|
16
|
-
* in which it is being run has permissions to read and write the Google Cloud
|
|
17
|
-
* Storage bucket specified as a constructor argument.
|
|
18
|
-
*/
|
|
19
|
-
class FlowsPersistenceGoogleCloudStorage {
|
|
20
|
-
/**
|
|
21
|
-
* Dynamically imports the Google Cloud Storage library.
|
|
22
|
-
* This helps to delay loading the library until it's actually needed.
|
|
23
|
-
*/
|
|
24
|
-
static async importGoogleCloudStorage() {
|
|
25
|
-
try {
|
|
26
|
-
// Dynamic import to delay loading until needed
|
|
27
|
-
const module = await import('@google-cloud/storage');
|
|
28
|
-
return {
|
|
29
|
-
Storage: module.Storage,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
Logger_1.appLogger.error('Failed to import Google Cloud Storage', error);
|
|
34
|
-
throw new Error('Failed to import Google Cloud Storage library');
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
static async create(bucketName) {
|
|
38
|
-
// Only import the Google Cloud Storage library when creating an instance
|
|
39
|
-
const { Storage } = await FlowsPersistenceGoogleCloudStorage.importGoogleCloudStorage();
|
|
40
|
-
const storage = new Storage();
|
|
41
|
-
const bucket = storage.bucket(bucketName);
|
|
42
|
-
return bucket
|
|
43
|
-
.exists()
|
|
44
|
-
.then(([exists]) => {
|
|
45
|
-
if (!exists) {
|
|
46
|
-
throw new Error(`Bucket ${bucketName} does not exist.`);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
return bucket;
|
|
50
|
-
}
|
|
51
|
-
})
|
|
52
|
-
.then((bucket) => {
|
|
53
|
-
return new FlowsPersistenceGoogleCloudStorage(bucket);
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
constructor(bucket) {
|
|
57
|
-
this.bucket = bucket;
|
|
58
|
-
}
|
|
59
|
-
async setEnvironmentDatum(key, value) {
|
|
60
|
-
if (!key) {
|
|
61
|
-
throw new Error('Key cannot be empty');
|
|
62
|
-
}
|
|
63
|
-
const objectName = `${FlowsPersistenceGoogleCloudStorage.ENVIRONMENT_DATA_PREFIX}${encodeURIComponent(key)}`;
|
|
64
|
-
await this.uploadString(objectName, value, 'text/plain');
|
|
65
|
-
}
|
|
66
|
-
async deleteEnvironmentDatum(key) {
|
|
67
|
-
if (!key) {
|
|
68
|
-
return; // No-op if key is empty
|
|
69
|
-
}
|
|
70
|
-
const objectName = `${FlowsPersistenceGoogleCloudStorage.ENVIRONMENT_DATA_PREFIX}${encodeURIComponent(key)}`;
|
|
71
|
-
const file = this.bucket.file(objectName);
|
|
72
|
-
try {
|
|
73
|
-
const [exists] = await file.exists();
|
|
74
|
-
if (exists) {
|
|
75
|
-
await file.delete();
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
catch (error) {
|
|
79
|
-
// Ignore errors if the object doesn't exist
|
|
80
|
-
Logger_1.appLogger.warn(`Failed to delete environment data for key: ${key}`, error);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
async getEnvironmentDatum(key) {
|
|
84
|
-
if (!key) {
|
|
85
|
-
return undefined;
|
|
86
|
-
}
|
|
87
|
-
const objectName = `${FlowsPersistenceGoogleCloudStorage.ENVIRONMENT_DATA_PREFIX}${encodeURIComponent(key)}`;
|
|
88
|
-
return (await this.downloadString(objectName)) ?? undefined;
|
|
89
|
-
}
|
|
90
|
-
async getEnvironmentData() {
|
|
91
|
-
const result = {};
|
|
92
|
-
try {
|
|
93
|
-
const prefix = FlowsPersistenceGoogleCloudStorage.ENVIRONMENT_DATA_PREFIX;
|
|
94
|
-
const [files] = await this.bucket.getFiles({ prefix });
|
|
95
|
-
// Process each file
|
|
96
|
-
for (const file of files) {
|
|
97
|
-
try {
|
|
98
|
-
// Extract the key from the file path
|
|
99
|
-
const encodedKey = file.name.substring(prefix.length);
|
|
100
|
-
const key = decodeURIComponent(encodedKey);
|
|
101
|
-
// Get the file content
|
|
102
|
-
const [content] = await file.download();
|
|
103
|
-
result[key] = content.toString('utf-8');
|
|
104
|
-
}
|
|
105
|
-
catch (error) {
|
|
106
|
-
Logger_1.appLogger.warn(`Failed to get environment data for key: ${file.name}`, error);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
catch (error) {
|
|
111
|
-
Logger_1.appLogger.error('Failed to list environment data files', error);
|
|
112
|
-
}
|
|
113
|
-
return result;
|
|
114
|
-
}
|
|
115
|
-
async setMetadata(flowMetadata) {
|
|
116
|
-
const objectName = `${flowMetadata.id}/${FlowsPersistenceGoogleCloudStorage.METADATA_FILENAME}`;
|
|
117
|
-
await this.uploadString(objectName, JSON.stringify(flowMetadata), 'application/json');
|
|
118
|
-
// Update the name index if a name exists
|
|
119
|
-
if (flowMetadata.name) {
|
|
120
|
-
await this.updateNameIndex(flowMetadata.id, flowMetadata.name);
|
|
121
|
-
}
|
|
122
|
-
// Update runMode index
|
|
123
|
-
await this.updateRunModeIndex(flowMetadata.id, flowMetadata.runMode);
|
|
124
|
-
// Update state index
|
|
125
|
-
await this.updateStateIndex(flowMetadata.id, flowMetadata.state);
|
|
126
|
-
// Update combined runMode+state index
|
|
127
|
-
await this.updateRunModeStateIndex(flowMetadata.id, flowMetadata.runMode, flowMetadata.state);
|
|
128
|
-
}
|
|
129
|
-
async getMetadataByFlowId(flowId) {
|
|
130
|
-
const objectName = `${flowId}/${FlowsPersistenceGoogleCloudStorage.METADATA_FILENAME}`;
|
|
131
|
-
const jsonData = await this.downloadString(objectName);
|
|
132
|
-
if (!jsonData) {
|
|
133
|
-
throw FlowNotFoundException_1.FlowNotFoundException.forId(flowId);
|
|
134
|
-
}
|
|
135
|
-
return JSON.parse(jsonData);
|
|
136
|
-
}
|
|
137
|
-
async getMetadataByFlowName(flowName) {
|
|
138
|
-
if (!flowName) {
|
|
139
|
-
throw FlowNotFoundException_1.FlowNotFoundException.forName(flowName);
|
|
140
|
-
}
|
|
141
|
-
const indexKey = `${FlowsPersistenceGoogleCloudStorage.NAME_INDEX_PREFIX}${encodeURIComponent(flowName)}`;
|
|
142
|
-
const flowId = await this.downloadString(indexKey);
|
|
143
|
-
if (!flowId) {
|
|
144
|
-
throw FlowNotFoundException_1.FlowNotFoundException.forName(flowName);
|
|
145
|
-
}
|
|
146
|
-
try {
|
|
147
|
-
return await this.getMetadataByFlowId(flowId);
|
|
148
|
-
}
|
|
149
|
-
catch (error) {
|
|
150
|
-
// If the index points to a non-existent flow, clean up the index
|
|
151
|
-
Logger_1.appLogger.warn(`Flow referenced in name index not found: ${flowId}`, error);
|
|
152
|
-
// Delete the stale index entry
|
|
153
|
-
const indexFile = this.bucket.file(indexKey);
|
|
154
|
-
await indexFile.delete().catch((e) => {
|
|
155
|
-
Logger_1.appLogger.warn(`Failed to delete stale name index: ${indexKey}`, e);
|
|
156
|
-
});
|
|
157
|
-
throw FlowNotFoundException_1.FlowNotFoundException.forName(flowName);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
async saveScreenShot(flowId, bytes) {
|
|
161
|
-
const imageType = MiscUtils_1.MiscUtils.detectImageType(bytes);
|
|
162
|
-
const mimeType = `image/${imageType}`;
|
|
163
|
-
const filename = `${new Date().toISOString()}.screenshot.${imageType}`;
|
|
164
|
-
const objectName = `${flowId}/${filename}`;
|
|
165
|
-
await this.uploadBytes(objectName, bytes, mimeType);
|
|
166
|
-
return filename;
|
|
167
|
-
}
|
|
168
|
-
async getScreenShot(flowId, screenShotId) {
|
|
169
|
-
return this.getFlowFile(flowId, screenShotId);
|
|
170
|
-
}
|
|
171
|
-
async saveToolCall(flowId, toolCall) {
|
|
172
|
-
const filename = `${toolCall.startedAt}${FlowsPersistenceGoogleCloudStorage.TOOL_CALL_FILENAME_SUFFIX}`;
|
|
173
|
-
const objectName = `${flowId}/${filename}`;
|
|
174
|
-
await this.uploadString(objectName, JSON.stringify(toolCall), 'application/json');
|
|
175
|
-
}
|
|
176
|
-
async getToolCalls(flowId) {
|
|
177
|
-
const prefix = `${flowId}/`;
|
|
178
|
-
const [files] = await this.bucket.getFiles({ prefix });
|
|
179
|
-
const toolCalls = [];
|
|
180
|
-
for (const file of files) {
|
|
181
|
-
if (file.name.endsWith(FlowsPersistenceGoogleCloudStorage.TOOL_CALL_FILENAME_SUFFIX)) {
|
|
182
|
-
const [content] = await file.download();
|
|
183
|
-
const toolCall = JSON.parse(content.toString());
|
|
184
|
-
toolCalls.push(toolCall);
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
if (toolCalls.length === 0) {
|
|
188
|
-
throw FlowNotFoundException_1.FlowNotFoundException.forId(flowId);
|
|
189
|
-
}
|
|
190
|
-
return toolCalls.sort((a, b) => (a.startedAt || 0) - (b.startedAt || 0));
|
|
191
|
-
}
|
|
192
|
-
async getFlows(query) {
|
|
193
|
-
const { limit = 20, pageToken, name, runMode, state, startedAfter, startedBefore, } = query || {};
|
|
194
|
-
const validLimit = Math.min(Math.max(1, limit), 100);
|
|
195
|
-
// Determine which index to use based on query params
|
|
196
|
-
let prefix = '';
|
|
197
|
-
let usedIndex = false;
|
|
198
|
-
if (name) {
|
|
199
|
-
// If querying by name, directly fetch that specific flow
|
|
200
|
-
try {
|
|
201
|
-
const flow = await this.getMetadataByFlowName(name);
|
|
202
|
-
// Apply other filters
|
|
203
|
-
let includeFlow = true;
|
|
204
|
-
if (runMode && flow.runMode !== runMode) {
|
|
205
|
-
includeFlow = false;
|
|
206
|
-
}
|
|
207
|
-
if (state && flow.state !== state) {
|
|
208
|
-
includeFlow = false;
|
|
209
|
-
}
|
|
210
|
-
// Apply date range filters
|
|
211
|
-
if (startedAfter !== undefined &&
|
|
212
|
-
(flow.startedAt || 0) < startedAfter) {
|
|
213
|
-
includeFlow = false;
|
|
214
|
-
}
|
|
215
|
-
if (startedBefore !== undefined &&
|
|
216
|
-
(flow.startedAt || 0) > startedBefore) {
|
|
217
|
-
includeFlow = false;
|
|
218
|
-
}
|
|
219
|
-
if (includeFlow) {
|
|
220
|
-
return { items: [flow], nextPageToken: undefined };
|
|
221
|
-
}
|
|
222
|
-
else {
|
|
223
|
-
return { items: [], nextPageToken: undefined };
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
catch (_e) {
|
|
227
|
-
return { items: [], nextPageToken: undefined };
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
else if (runMode && state) {
|
|
231
|
-
// Use combined index if both runMode and state are specified
|
|
232
|
-
prefix = `${FlowsPersistenceGoogleCloudStorage.RUN_MODE_STATE_INDEX_PREFIX}${runMode}_${state}/`;
|
|
233
|
-
usedIndex = true;
|
|
234
|
-
}
|
|
235
|
-
else if (runMode) {
|
|
236
|
-
// Use runMode index
|
|
237
|
-
prefix = `${FlowsPersistenceGoogleCloudStorage.RUN_MODE_INDEX_PREFIX}${runMode}/`;
|
|
238
|
-
usedIndex = true;
|
|
239
|
-
}
|
|
240
|
-
else if (state) {
|
|
241
|
-
// Use state index
|
|
242
|
-
prefix = `${FlowsPersistenceGoogleCloudStorage.STATE_INDEX_PREFIX}${state}/`;
|
|
243
|
-
usedIndex = true;
|
|
244
|
-
}
|
|
245
|
-
// Prepare query options
|
|
246
|
-
const queryOptions = {
|
|
247
|
-
maxResults: validLimit * 2,
|
|
248
|
-
pageToken: pageToken,
|
|
249
|
-
prefix: usedIndex ? prefix : undefined,
|
|
250
|
-
};
|
|
251
|
-
// Get files based on query
|
|
252
|
-
const [files, nextQueryObj] = await this.bucket.getFiles(queryOptions);
|
|
253
|
-
// Extract flow IDs - either from index files or from metadata files
|
|
254
|
-
let flowIds = [];
|
|
255
|
-
if (usedIndex) {
|
|
256
|
-
// If using an index, extract flow IDs from index file names
|
|
257
|
-
flowIds = files.map((file) => {
|
|
258
|
-
// Extract flowId from the index file path
|
|
259
|
-
return file.name.substring(prefix.length);
|
|
260
|
-
});
|
|
261
|
-
}
|
|
262
|
-
else {
|
|
263
|
-
// If not using an index, filter to metadata files
|
|
264
|
-
const metadataFiles = files.filter((file) => file.name.endsWith(`/${FlowsPersistenceGoogleCloudStorage.METADATA_FILENAME}`));
|
|
265
|
-
// Extract flow IDs from metadata file paths
|
|
266
|
-
flowIds = metadataFiles.map((file) => {
|
|
267
|
-
return file.name.substring(0, file.name.indexOf('/'));
|
|
268
|
-
});
|
|
269
|
-
}
|
|
270
|
-
// Fetch metadata for each flow
|
|
271
|
-
let flows = [];
|
|
272
|
-
for (const flowId of flowIds) {
|
|
273
|
-
try {
|
|
274
|
-
const flowMetadata = await this.getMetadataByFlowId(flowId);
|
|
275
|
-
// Apply remaining filters
|
|
276
|
-
let includeFlow = true;
|
|
277
|
-
// Apply date range filters
|
|
278
|
-
if (startedAfter !== undefined &&
|
|
279
|
-
(flowMetadata.startedAt || 0) < startedAfter) {
|
|
280
|
-
includeFlow = false;
|
|
281
|
-
}
|
|
282
|
-
if (startedBefore !== undefined &&
|
|
283
|
-
(flowMetadata.startedAt || 0) > startedBefore) {
|
|
284
|
-
includeFlow = false;
|
|
285
|
-
}
|
|
286
|
-
// Double-check the indexed fields (in case index is out of sync)
|
|
287
|
-
if (runMode && flowMetadata.runMode !== runMode) {
|
|
288
|
-
includeFlow = false;
|
|
289
|
-
}
|
|
290
|
-
if (state && flowMetadata.state !== state) {
|
|
291
|
-
includeFlow = false;
|
|
292
|
-
}
|
|
293
|
-
if (includeFlow) {
|
|
294
|
-
flows.push(flowMetadata);
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
catch (e) {
|
|
298
|
-
Logger_1.appLogger.warn(`Flow not found: ${flowId}`, e);
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
// Sort by creation date (newest first)
|
|
302
|
-
flows.sort((a, b) => (b.startedAt || 0) - (a.startedAt || 0));
|
|
303
|
-
// Apply limit
|
|
304
|
-
const limitedFlows = flows.slice(0, validLimit);
|
|
305
|
-
const hasMore = flows.length > validLimit;
|
|
306
|
-
return {
|
|
307
|
-
items: limitedFlows,
|
|
308
|
-
nextPageToken: hasMore ? nextQueryObj?.pageToken : undefined,
|
|
309
|
-
};
|
|
310
|
-
}
|
|
311
|
-
async setVideo(flowId, bytes) {
|
|
312
|
-
const objectName = `${flowId}/${FlowsPersistenceGoogleCloudStorage.VIDEO_FILENAME}`;
|
|
313
|
-
await this.uploadBytes(objectName, bytes, 'video/webm');
|
|
314
|
-
}
|
|
315
|
-
async getVideoSegment(flowId, startOffset, length) {
|
|
316
|
-
const objectName = `${flowId}/${FlowsPersistenceGoogleCloudStorage.VIDEO_FILENAME}`;
|
|
317
|
-
const file = this.bucket.file(objectName);
|
|
318
|
-
const [exists] = await file.exists();
|
|
319
|
-
if (!exists) {
|
|
320
|
-
return null;
|
|
321
|
-
}
|
|
322
|
-
const [metadata] = await file.getMetadata();
|
|
323
|
-
const totalLength = Number(metadata.size);
|
|
324
|
-
const adjustedLength = Math.min(length, totalLength - startOffset);
|
|
325
|
-
if (adjustedLength <= 0) {
|
|
326
|
-
return null;
|
|
327
|
-
}
|
|
328
|
-
try {
|
|
329
|
-
const [content] = await file.download({
|
|
330
|
-
start: startOffset,
|
|
331
|
-
end: startOffset + adjustedLength - 1,
|
|
332
|
-
});
|
|
333
|
-
return {
|
|
334
|
-
bytes: content,
|
|
335
|
-
totalLength: totalLength,
|
|
336
|
-
startOffset: startOffset,
|
|
337
|
-
};
|
|
338
|
-
}
|
|
339
|
-
catch (e) {
|
|
340
|
-
Logger_1.appLogger.error(`Error reading video segment for flowId ${flowId}: ${e}`);
|
|
341
|
-
return null;
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
async getFlowFile(flowId, fileId) {
|
|
345
|
-
const objectName = `${flowId}/${fileId}`;
|
|
346
|
-
const file = this.bucket.file(objectName);
|
|
347
|
-
const [exists] = await file.exists();
|
|
348
|
-
if (!exists) {
|
|
349
|
-
return null;
|
|
350
|
-
}
|
|
351
|
-
const [content] = await file.download();
|
|
352
|
-
return content;
|
|
353
|
-
}
|
|
354
|
-
async setFlowFile(flowId, fileId, fileBytes) {
|
|
355
|
-
const objectName = `${flowId}/${fileId}`;
|
|
356
|
-
await this.uploadBytes(objectName, fileBytes, 'application/octet-stream');
|
|
357
|
-
}
|
|
358
|
-
async setBrowserState(flowId, browserState) {
|
|
359
|
-
const serializedBrowserState = Buffer.from(JSON.stringify(browserState), 'utf-8');
|
|
360
|
-
await this.setFlowFile(flowId, FlowsPersistenceGoogleCloudStorage.BROWSER_STATE_FILENAME, serializedBrowserState);
|
|
361
|
-
}
|
|
362
|
-
async getBrowserState(flowId) {
|
|
363
|
-
const browserStateRaw = await this.getFlowFile(flowId, FlowsPersistenceGoogleCloudStorage.BROWSER_STATE_FILENAME);
|
|
364
|
-
if (browserStateRaw) {
|
|
365
|
-
const browserState = JsonUtils_1.JsonUtils.jsonStringToJsonObject(browserStateRaw.toString('utf-8'));
|
|
366
|
-
if (browserState) {
|
|
367
|
-
return browserState;
|
|
368
|
-
}
|
|
369
|
-
else {
|
|
370
|
-
throw new Error(`Cannot load malformed browser state from flow ${flowId}`);
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
else {
|
|
374
|
-
return null;
|
|
375
|
-
}
|
|
376
|
-
}
|
|
377
|
-
async deleteFlow(flowId) {
|
|
378
|
-
try {
|
|
379
|
-
// Get flow metadata to find its fields for index cleanup
|
|
380
|
-
const metadata = await this.getMetadataByFlowId(flowId);
|
|
381
|
-
// Delete the name index entry if name exists
|
|
382
|
-
if (metadata.name) {
|
|
383
|
-
const indexKey = `${FlowsPersistenceGoogleCloudStorage.NAME_INDEX_PREFIX}${encodeURIComponent(metadata.name)}`;
|
|
384
|
-
const indexFile = this.bucket.file(indexKey);
|
|
385
|
-
const [exists] = await indexFile.exists();
|
|
386
|
-
if (exists) {
|
|
387
|
-
await indexFile.delete();
|
|
388
|
-
}
|
|
389
|
-
}
|
|
390
|
-
// Delete runMode index
|
|
391
|
-
const runModeIndexKey = `${FlowsPersistenceGoogleCloudStorage.RUN_MODE_INDEX_PREFIX}${metadata.runMode}/${flowId}`;
|
|
392
|
-
const runModeIndexFile = this.bucket.file(runModeIndexKey);
|
|
393
|
-
const [runModeExists] = await runModeIndexFile.exists();
|
|
394
|
-
if (runModeExists) {
|
|
395
|
-
await runModeIndexFile.delete();
|
|
396
|
-
}
|
|
397
|
-
// Delete state index
|
|
398
|
-
const stateIndexKey = `${FlowsPersistenceGoogleCloudStorage.STATE_INDEX_PREFIX}${metadata.state}/${flowId}`;
|
|
399
|
-
const stateIndexFile = this.bucket.file(stateIndexKey);
|
|
400
|
-
const [stateExists] = await stateIndexFile.exists();
|
|
401
|
-
if (stateExists) {
|
|
402
|
-
await stateIndexFile.delete();
|
|
403
|
-
}
|
|
404
|
-
// Delete combined index
|
|
405
|
-
const combinedIndexKey = `${FlowsPersistenceGoogleCloudStorage.RUN_MODE_STATE_INDEX_PREFIX}${metadata.runMode}_${metadata.state}/${flowId}`;
|
|
406
|
-
const combinedIndexFile = this.bucket.file(combinedIndexKey);
|
|
407
|
-
const [combinedExists] = await combinedIndexFile.exists();
|
|
408
|
-
if (combinedExists) {
|
|
409
|
-
await combinedIndexFile.delete();
|
|
410
|
-
}
|
|
411
|
-
}
|
|
412
|
-
catch (_error) {
|
|
413
|
-
// Pass - couldn't load metadata to clean up indexes. This likely means
|
|
414
|
-
// the flow has already been deleted.
|
|
415
|
-
}
|
|
416
|
-
// Delete all flow files
|
|
417
|
-
const prefix = `${flowId}/`;
|
|
418
|
-
const [files] = await this.bucket.getFiles({ prefix });
|
|
419
|
-
if (files.length > 0) {
|
|
420
|
-
await Promise.all(files.map((file) => file.delete()));
|
|
421
|
-
}
|
|
422
|
-
}
|
|
423
|
-
async uploadString(objectName, data, contentType) {
|
|
424
|
-
const file = this.bucket.file(objectName);
|
|
425
|
-
await file.save(data, {
|
|
426
|
-
contentType,
|
|
427
|
-
metadata: { contentType },
|
|
428
|
-
});
|
|
429
|
-
}
|
|
430
|
-
async uploadBytes(objectName, bytes, contentType) {
|
|
431
|
-
const file = this.bucket.file(objectName);
|
|
432
|
-
await file.save(bytes, {
|
|
433
|
-
contentType,
|
|
434
|
-
metadata: { contentType },
|
|
435
|
-
});
|
|
436
|
-
}
|
|
437
|
-
async downloadString(objectName) {
|
|
438
|
-
const file = this.bucket.file(objectName);
|
|
439
|
-
const [exists] = await file.exists();
|
|
440
|
-
if (!exists) {
|
|
441
|
-
return null;
|
|
442
|
-
}
|
|
443
|
-
const [content] = await file.download();
|
|
444
|
-
return content.toString();
|
|
445
|
-
}
|
|
446
|
-
/**
|
|
447
|
-
* Update name-to-id index.
|
|
448
|
-
*/
|
|
449
|
-
async updateNameIndex(flowId, flowName) {
|
|
450
|
-
const indexKey = `${FlowsPersistenceGoogleCloudStorage.NAME_INDEX_PREFIX}${encodeURIComponent(flowName)}`;
|
|
451
|
-
await this.uploadString(indexKey, flowId, 'text/plain');
|
|
452
|
-
}
|
|
453
|
-
/**
|
|
454
|
-
* Update runMode-to-id index.
|
|
455
|
-
*/
|
|
456
|
-
async updateRunModeIndex(flowId, runMode) {
|
|
457
|
-
const indexKey = `${FlowsPersistenceGoogleCloudStorage.RUN_MODE_INDEX_PREFIX}${runMode}/${flowId}`;
|
|
458
|
-
await this.uploadString(indexKey, flowId, 'text/plain');
|
|
459
|
-
}
|
|
460
|
-
/**
|
|
461
|
-
* Update state-to-id index.
|
|
462
|
-
*/
|
|
463
|
-
async updateStateIndex(flowId, state) {
|
|
464
|
-
const indexKey = `${FlowsPersistenceGoogleCloudStorage.STATE_INDEX_PREFIX}${state}/${flowId}`;
|
|
465
|
-
await this.uploadString(indexKey, flowId, 'text/plain');
|
|
466
|
-
}
|
|
467
|
-
/**
|
|
468
|
-
* Update combined runMode+state-to-id index.
|
|
469
|
-
*/
|
|
470
|
-
async updateRunModeStateIndex(flowId, runMode, state) {
|
|
471
|
-
const indexKey = `${FlowsPersistenceGoogleCloudStorage.RUN_MODE_STATE_INDEX_PREFIX}${runMode}_${state}/${flowId}`;
|
|
472
|
-
await this.uploadString(indexKey, flowId, 'text/plain');
|
|
473
|
-
}
|
|
474
|
-
}
|
|
475
|
-
exports.FlowsPersistenceGoogleCloudStorage = FlowsPersistenceGoogleCloudStorage;
|
|
476
|
-
FlowsPersistenceGoogleCloudStorage.ENVIRONMENT_DATA_PREFIX = 'environment/';
|
|
477
|
-
FlowsPersistenceGoogleCloudStorage.NAME_INDEX_PREFIX = '_name-index/';
|
|
478
|
-
FlowsPersistenceGoogleCloudStorage.RUN_MODE_INDEX_PREFIX = '_run-mode-index/';
|
|
479
|
-
FlowsPersistenceGoogleCloudStorage.STATE_INDEX_PREFIX = '_state-index/';
|
|
480
|
-
FlowsPersistenceGoogleCloudStorage.RUN_MODE_STATE_INDEX_PREFIX = '_run-mode-state-index/';
|
|
481
|
-
FlowsPersistenceGoogleCloudStorage.METADATA_FILENAME = 'metadata.json';
|
|
482
|
-
FlowsPersistenceGoogleCloudStorage.BROWSER_STATE_FILENAME = 'browserstate.json';
|
|
483
|
-
FlowsPersistenceGoogleCloudStorage.TOOL_CALL_FILENAME_SUFFIX = '.tool-call.json';
|
|
484
|
-
FlowsPersistenceGoogleCloudStorage.VIDEO_FILENAME = 'video.webm';
|
|
485
|
-
//# sourceMappingURL=FlowsPersistenceGoogleCloudStorage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FlowsPersistenceGoogleCloudStorage.js","sourceRoot":"","sources":["../../src/persistence/FlowsPersistenceGoogleCloudStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import Database from 'better-sqlite3';
|
|
2
|
-
import { FlowMetadata, FlowsQuery } from '../models/FlowMetadata';
|
|
3
|
-
import { ToolCall } from '../models/ToolCall';
|
|
4
|
-
import { VideoSegment } from '../models/VideoSegment';
|
|
5
|
-
import { FlowsPersistence } from './FlowsPersistence';
|
|
6
|
-
import { BrowserStorageState } from '../models/BrowserStorageState';
|
|
7
|
-
import { PaginatedResult } from '../models/PaginatedResult';
|
|
8
|
-
/**
|
|
9
|
-
* A persistence implementation that uses SQLite for all data storage, including binary files.
|
|
10
|
-
*/
|
|
11
|
-
export declare class FlowsPersistenceSqlite implements FlowsPersistence {
|
|
12
|
-
private readonly db;
|
|
13
|
-
private static readonly VIDEO_MIME_TYPE;
|
|
14
|
-
private static readonly BROWSER_STATE_FILE_ID;
|
|
15
|
-
private static readonly VIDEO_FILE_ID;
|
|
16
|
-
private constructor();
|
|
17
|
-
static create(db: Database.Database): Promise<FlowsPersistenceSqlite>;
|
|
18
|
-
setEnvironmentDatum(key: string, value: string): Promise<void>;
|
|
19
|
-
deleteEnvironmentDatum(key: string): Promise<void>;
|
|
20
|
-
getEnvironmentDatum(key: string): Promise<string | undefined>;
|
|
21
|
-
/**
|
|
22
|
-
* Get all environment data.
|
|
23
|
-
*/
|
|
24
|
-
getEnvironmentData(): Promise<Record<string, string>>;
|
|
25
|
-
setMetadata(flowMetadata: FlowMetadata): Promise<void>;
|
|
26
|
-
getMetadataByFlowId(flowId: string): Promise<FlowMetadata>;
|
|
27
|
-
getMetadataByFlowName(flowName: string): Promise<FlowMetadata>;
|
|
28
|
-
saveScreenShot(flowId: string, bytes: Buffer): Promise<string>;
|
|
29
|
-
getScreenShot(flowId: string, screenShotId: string): Promise<Buffer | null>;
|
|
30
|
-
saveToolCall(flowId: string, toolCall: ToolCall): Promise<void>;
|
|
31
|
-
getToolCalls(flowId: string): Promise<ToolCall[]>;
|
|
32
|
-
getFlows(query: FlowsQuery): Promise<PaginatedResult<FlowMetadata>>;
|
|
33
|
-
setVideo(flowId: string, bytes: Buffer): Promise<void>;
|
|
34
|
-
getVideoSegment(flowId: string, startOffset: number, length: number): Promise<VideoSegment | null>;
|
|
35
|
-
getFlowFile(flowId: string, fileId: string): Promise<Buffer | null>;
|
|
36
|
-
setFlowFile(flowId: string, fileId: string, fileBytes: Buffer): Promise<void>;
|
|
37
|
-
setBrowserState(flowId: string, browserState: BrowserStorageState): Promise<void>;
|
|
38
|
-
getBrowserState(flowId: string): Promise<BrowserStorageState | null>;
|
|
39
|
-
deleteFlow(flowId: string): Promise<void>;
|
|
40
|
-
close(): void;
|
|
41
|
-
private getMimeTypeFromFileId;
|
|
42
|
-
optimize(): Promise<void>;
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=FlowsPersistenceSqlite.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FlowsPersistenceSqlite.d.ts","sourceRoot":"","sources":["../../src/persistence/FlowsPersistenceSqlite.ts"],"names":[],"mappings":"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"}
|