donobu 2.3.1 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/apis/SpecialFlowsApi.d.ts +7 -1
- package/dist/apis/SpecialFlowsApi.js +41 -29
- package/dist/apis/SpecialFlowsApi.js.map +1 -1
- package/dist/apis/ToolsApi.d.ts +1 -1
- package/dist/apis/ToolsApi.js +1 -1
- package/dist/apis/ToolsApi.js.map +1 -1
- package/dist/assets/generated/parameter-schemas.json +4 -4
- package/dist/assets/generated/version +1 -1
- package/dist/clients/AnthropicAwsBedrockGptClient.js +1 -1
- package/dist/clients/AnthropicAwsBedrockGptClient.js.map +1 -1
- package/dist/clients/AnthropicGptClient.js +1 -1
- package/dist/clients/AnthropicGptClient.js.map +1 -1
- package/dist/clients/GoogleGptClient.js +3 -3
- package/dist/clients/GoogleGptClient.js.map +1 -1
- package/dist/clients/GptClient.d.ts +1 -1
- package/dist/clients/OpenAiGptClient.js +1 -1
- package/dist/clients/OpenAiGptClient.js.map +1 -1
- package/dist/clients/VercelAiGptClient.js +1 -1
- package/dist/clients/VercelAiGptClient.js.map +1 -1
- package/dist/esm/apis/SpecialFlowsApi.d.ts +7 -1
- package/dist/esm/apis/SpecialFlowsApi.js +41 -29
- package/dist/esm/apis/SpecialFlowsApi.js.map +1 -1
- package/dist/esm/apis/ToolsApi.d.ts +1 -1
- package/dist/esm/apis/ToolsApi.js +1 -1
- package/dist/esm/apis/ToolsApi.js.map +1 -1
- package/dist/esm/assets/generated/parameter-schemas.json +4 -4
- package/dist/esm/assets/generated/version +1 -1
- package/dist/esm/clients/AnthropicAwsBedrockGptClient.js +1 -1
- package/dist/esm/clients/AnthropicAwsBedrockGptClient.js.map +1 -1
- package/dist/esm/clients/AnthropicGptClient.js +1 -1
- package/dist/esm/clients/AnthropicGptClient.js.map +1 -1
- package/dist/esm/clients/GoogleGptClient.js +3 -3
- package/dist/esm/clients/GoogleGptClient.js.map +1 -1
- package/dist/esm/clients/GptClient.d.ts +1 -1
- package/dist/esm/clients/OpenAiGptClient.js +1 -1
- package/dist/esm/clients/OpenAiGptClient.js.map +1 -1
- package/dist/esm/clients/VercelAiGptClient.js +1 -1
- package/dist/esm/clients/VercelAiGptClient.js.map +1 -1
- package/dist/esm/main.d.ts +6 -6
- package/dist/esm/main.js +50 -39
- package/dist/esm/main.js.map +1 -1
- package/dist/esm/managers/AdminApiController.js +12 -25
- package/dist/esm/managers/AdminApiController.js.map +1 -1
- package/dist/esm/managers/CodeGenerator.d.ts +8 -0
- package/dist/esm/managers/CodeGenerator.js +25 -9
- package/dist/esm/managers/CodeGenerator.js.map +1 -1
- package/dist/esm/managers/DonobuFlow.js +4 -2
- package/dist/esm/managers/DonobuFlow.js.map +1 -1
- package/dist/esm/managers/DonobuFlowsManager.js +16 -7
- package/dist/esm/managers/DonobuFlowsManager.js.map +1 -1
- package/dist/esm/managers/DonobuMcpServer.d.ts +24 -0
- package/dist/esm/managers/DonobuMcpServer.js +146 -0
- package/dist/esm/managers/DonobuMcpServer.js.map +1 -0
- package/dist/esm/managers/DonobuStack.d.ts +19 -0
- package/dist/esm/managers/DonobuStack.js +29 -0
- package/dist/esm/managers/DonobuStack.js.map +1 -0
- package/dist/esm/managers/ToolManager.d.ts +1 -2
- package/dist/esm/managers/ToolManager.js +14 -14
- package/dist/esm/managers/ToolManager.js.map +1 -1
- package/dist/esm/models/BrowserFramework.d.ts +8 -15
- package/dist/esm/models/BrowserFramework.js +74 -96
- package/dist/esm/models/BrowserFramework.js.map +1 -1
- package/dist/esm/models/CustomTool.d.ts +1 -1
- package/dist/esm/persistence/DonobuSqliteDb.js +3 -2
- package/dist/esm/persistence/DonobuSqliteDb.js.map +1 -1
- package/dist/esm/test.d.ts +2 -15
- package/dist/esm/test.js +37 -54
- package/dist/esm/test.js.map +1 -1
- package/dist/esm/tools/CustomToolRunnerTool.js +5 -5
- package/dist/esm/tools/CustomToolRunnerTool.js.map +1 -1
- package/dist/esm/tools/GoToGoogleMapsStreetViewTool.js +9 -11
- package/dist/esm/tools/GoToGoogleMapsStreetViewTool.js.map +1 -1
- package/dist/esm/tools/Tool.d.ts +2 -2
- package/dist/esm/tools/Tool.js +4 -4
- package/dist/esm/tools/Tool.js.map +1 -1
- package/dist/esm/utils/PlaywrightUtils.js +0 -2
- package/dist/esm/utils/PlaywrightUtils.js.map +1 -1
- package/dist/main.d.ts +6 -6
- package/dist/main.js +50 -39
- package/dist/main.js.map +1 -1
- package/dist/managers/AdminApiController.js +12 -25
- package/dist/managers/AdminApiController.js.map +1 -1
- package/dist/managers/CodeGenerator.d.ts +8 -0
- package/dist/managers/CodeGenerator.js +25 -9
- package/dist/managers/CodeGenerator.js.map +1 -1
- package/dist/managers/DonobuFlow.js +4 -2
- package/dist/managers/DonobuFlow.js.map +1 -1
- package/dist/managers/DonobuFlowsManager.js +16 -7
- package/dist/managers/DonobuFlowsManager.js.map +1 -1
- package/dist/managers/DonobuMcpServer.d.ts +24 -0
- package/dist/managers/DonobuMcpServer.js +146 -0
- package/dist/managers/DonobuMcpServer.js.map +1 -0
- package/dist/managers/DonobuStack.d.ts +19 -0
- package/dist/managers/DonobuStack.js +29 -0
- package/dist/managers/DonobuStack.js.map +1 -0
- package/dist/managers/ToolManager.d.ts +1 -2
- package/dist/managers/ToolManager.js +14 -14
- package/dist/managers/ToolManager.js.map +1 -1
- package/dist/models/BrowserFramework.d.ts +8 -15
- package/dist/models/BrowserFramework.js +74 -96
- package/dist/models/BrowserFramework.js.map +1 -1
- package/dist/models/CustomTool.d.ts +1 -1
- package/dist/persistence/DonobuSqliteDb.js +3 -2
- package/dist/persistence/DonobuSqliteDb.js.map +1 -1
- package/dist/test.d.ts +2 -15
- package/dist/test.js +37 -54
- package/dist/test.js.map +1 -1
- package/dist/tools/CustomToolRunnerTool.js +5 -5
- package/dist/tools/CustomToolRunnerTool.js.map +1 -1
- package/dist/tools/GoToGoogleMapsStreetViewTool.js +9 -11
- package/dist/tools/GoToGoogleMapsStreetViewTool.js.map +1 -1
- package/dist/tools/Tool.d.ts +2 -2
- package/dist/tools/Tool.js +4 -4
- package/dist/tools/Tool.js.map +1 -1
- package/dist/utils/PlaywrightUtils.js +0 -2
- package/dist/utils/PlaywrightUtils.js.map +1 -1
- package/package.json +1 -1
- package/dist/apis/GptResourcesApi.d.ts +0 -20
- package/dist/apis/GptResourcesApi.js +0 -53
- package/dist/apis/GptResourcesApi.js.map +0 -1
- package/dist/apis/KeysApi.d.ts +0 -25
- package/dist/apis/KeysApi.js +0 -64
- package/dist/apis/KeysApi.js.map +0 -1
- package/dist/assets/Donobu.entitlements.plist +0 -28
- package/dist/clients/GoogleGptClient2.d.ts +0 -18
- package/dist/clients/GoogleGptClient2.js +0 -237
- package/dist/clients/GoogleGptClient2.js.map +0 -1
- package/dist/donobu.fixtures.d.ts +0 -57
- package/dist/donobu.fixtures.js +0 -167
- package/dist/donobu.fixtures.js.map +0 -1
- package/dist/esm/apis/GptResourcesApi.d.ts +0 -20
- package/dist/esm/apis/GptResourcesApi.js +0 -53
- package/dist/esm/apis/GptResourcesApi.js.map +0 -1
- package/dist/esm/apis/KeysApi.d.ts +0 -25
- package/dist/esm/apis/KeysApi.js +0 -64
- package/dist/esm/apis/KeysApi.js.map +0 -1
- package/dist/esm/assets/Donobu.entitlements.plist +0 -28
- package/dist/esm/donobu.fixtures.d.ts +0 -57
- package/dist/esm/donobu.fixtures.js +0 -167
- package/dist/esm/donobu.fixtures.js.map +0 -1
- package/dist/esm/exceptions/GptResourceNotFoundException.d.ts +0 -8
- package/dist/esm/exceptions/GptResourceNotFoundException.js +0 -16
- package/dist/esm/exceptions/GptResourceNotFoundException.js.map +0 -1
- package/dist/esm/managers/FlowsPersistence.d.ts +0 -79
- package/dist/esm/managers/FlowsPersistence.js +0 -3
- package/dist/esm/managers/FlowsPersistence.js.map +0 -1
- package/dist/esm/managers/FlowsPersistenceAwsS3.d.ts +0 -48
- package/dist/esm/managers/FlowsPersistenceAwsS3.js +0 -284
- package/dist/esm/managers/FlowsPersistenceAwsS3.js.map +0 -1
- package/dist/esm/managers/FlowsPersistenceFactory.d.ts +0 -9
- package/dist/esm/managers/FlowsPersistenceFactory.js +0 -3
- package/dist/esm/managers/FlowsPersistenceFactory.js.map +0 -1
- package/dist/esm/managers/FlowsPersistenceFactoryImpl.d.ts +0 -57
- package/dist/esm/managers/FlowsPersistenceFactoryImpl.js +0 -119
- package/dist/esm/managers/FlowsPersistenceFactoryImpl.js.map +0 -1
- package/dist/esm/managers/FlowsPersistenceFactoryPreset.d.ts +0 -12
- package/dist/esm/managers/FlowsPersistenceFactoryPreset.js +0 -25
- package/dist/esm/managers/FlowsPersistenceFactoryPreset.js.map +0 -1
- package/dist/esm/managers/FlowsPersistenceFilesystem.d.ts +0 -33
- package/dist/esm/managers/FlowsPersistenceFilesystem.js +0 -180
- package/dist/esm/managers/FlowsPersistenceFilesystem.js.map +0 -1
- package/dist/esm/managers/FlowsPersistenceGoogleCloudStorage.d.ts +0 -40
- package/dist/esm/managers/FlowsPersistenceGoogleCloudStorage.js +0 -209
- package/dist/esm/managers/FlowsPersistenceGoogleCloudStorage.js.map +0 -1
- package/dist/esm/managers/FlowsPersistenceSupabase.d.ts +0 -33
- package/dist/esm/managers/FlowsPersistenceSupabase.js +0 -152
- package/dist/esm/managers/FlowsPersistenceSupabase.js.map +0 -1
- package/dist/esm/managers/FlowsPersistenceVolatile.d.ts +0 -30
- package/dist/esm/managers/FlowsPersistenceVolatile.js +0 -103
- package/dist/esm/managers/FlowsPersistenceVolatile.js.map +0 -1
- package/dist/esm/managers/GptPlatformApiKeysManager.d.ts +0 -36
- package/dist/esm/managers/GptPlatformApiKeysManager.js +0 -3
- package/dist/esm/managers/GptPlatformApiKeysManager.js.map +0 -1
- package/dist/esm/managers/GptPlatformApiKeysManagerFilesystem.d.ts +0 -29
- package/dist/esm/managers/GptPlatformApiKeysManagerFilesystem.js +0 -136
- package/dist/esm/managers/GptPlatformApiKeysManagerFilesystem.js.map +0 -1
- package/dist/esm/managers/GptPlatformApiKeysManagerVolatile.d.ts +0 -35
- package/dist/esm/managers/GptPlatformApiKeysManagerVolatile.js +0 -51
- package/dist/esm/managers/GptPlatformApiKeysManagerVolatile.js.map +0 -1
- package/dist/esm/managers/GptResourcesManager.d.ts +0 -39
- package/dist/esm/managers/GptResourcesManager.js +0 -130
- package/dist/esm/managers/GptResourcesManager.js.map +0 -1
- package/dist/esm/managers/SelectorGenerator.d.ts +0 -8
- package/dist/esm/managers/SelectorGenerator.js +0 -15
- package/dist/esm/managers/SelectorGenerator.js.map +0 -1
- package/dist/esm/models/ElementSelectorForReplay.d.ts +0 -14
- package/dist/esm/models/ElementSelectorForReplay.js +0 -3
- package/dist/esm/models/ElementSelectorForReplay.js.map +0 -1
- package/dist/esm/models/GptResource.d.ts +0 -33
- package/dist/esm/models/GptResource.js +0 -3
- package/dist/esm/models/GptResource.js.map +0 -1
- package/dist/esm/persistence/AgentsPersistenceFilesystem.d.ts +0 -15
- package/dist/esm/persistence/AgentsPersistenceFilesystem.js +0 -48
- package/dist/esm/persistence/AgentsPersistenceFilesystem.js.map +0 -1
- package/dist/esm/persistence/GptConfigsPersistenceFilesystem.d.ts +0 -16
- package/dist/esm/persistence/GptConfigsPersistenceFilesystem.js +0 -54
- package/dist/esm/persistence/GptConfigsPersistenceFilesystem.js.map +0 -1
- package/dist/esm/persistence/GptResourcesPersistence.d.ts +0 -11
- package/dist/esm/persistence/GptResourcesPersistence.js +0 -3
- package/dist/esm/persistence/GptResourcesPersistence.js.map +0 -1
- package/dist/esm/persistence/GptResourcesPersistenceFilesystem.d.ts +0 -20
- package/dist/esm/persistence/GptResourcesPersistenceFilesystem.js +0 -79
- package/dist/esm/persistence/GptResourcesPersistenceFilesystem.js.map +0 -1
- package/dist/esm/persistence/GptResourcesPersistenceVolatile.d.ts +0 -14
- package/dist/esm/persistence/GptResourcesPersistenceVolatile.js +0 -32
- package/dist/esm/persistence/GptResourcesPersistenceVolatile.js.map +0 -1
- package/dist/esm/testfixtures.d.ts +0 -66
- package/dist/esm/testfixtures.js +0 -288
- package/dist/esm/testfixtures.js.map +0 -1
- package/dist/esm/tools/AssertTextVisibility.d.ts +0 -19
- package/dist/esm/tools/AssertTextVisibility.js +0 -32
- package/dist/esm/tools/AssertTextVisibility.js.map +0 -1
- package/dist/esm/tools/ClickButtonTool.d.ts +0 -14
- package/dist/esm/tools/ClickButtonTool.js +0 -36
- package/dist/esm/tools/ClickButtonTool.js.map +0 -1
- package/dist/esm/tools/NavigateToWebpageTool.d.ts +0 -20
- package/dist/esm/tools/NavigateToWebpageTool.js +0 -40
- package/dist/esm/tools/NavigateToWebpageTool.js.map +0 -1
- package/dist/esm/utils/DirectoryUtils.d.ts +0 -11
- package/dist/esm/utils/DirectoryUtils.js +0 -37
- package/dist/esm/utils/DirectoryUtils.js.map +0 -1
- package/dist/exceptions/GptResourceNotFoundException.d.ts +0 -8
- package/dist/exceptions/GptResourceNotFoundException.js +0 -16
- package/dist/exceptions/GptResourceNotFoundException.js.map +0 -1
- package/dist/managers/FlowsPersistence.d.ts +0 -79
- package/dist/managers/FlowsPersistence.js +0 -3
- package/dist/managers/FlowsPersistence.js.map +0 -1
- package/dist/managers/FlowsPersistenceAwsS3.d.ts +0 -48
- package/dist/managers/FlowsPersistenceAwsS3.js +0 -284
- package/dist/managers/FlowsPersistenceAwsS3.js.map +0 -1
- package/dist/managers/FlowsPersistenceFactory.d.ts +0 -9
- package/dist/managers/FlowsPersistenceFactory.js +0 -3
- package/dist/managers/FlowsPersistenceFactory.js.map +0 -1
- package/dist/managers/FlowsPersistenceFactoryImpl.d.ts +0 -57
- package/dist/managers/FlowsPersistenceFactoryImpl.js +0 -119
- package/dist/managers/FlowsPersistenceFactoryImpl.js.map +0 -1
- package/dist/managers/FlowsPersistenceFactoryPreset.d.ts +0 -12
- package/dist/managers/FlowsPersistenceFactoryPreset.js +0 -25
- package/dist/managers/FlowsPersistenceFactoryPreset.js.map +0 -1
- package/dist/managers/FlowsPersistenceFilesystem.d.ts +0 -33
- package/dist/managers/FlowsPersistenceFilesystem.js +0 -180
- package/dist/managers/FlowsPersistenceFilesystem.js.map +0 -1
- package/dist/managers/FlowsPersistenceGoogleCloudStorage.d.ts +0 -40
- package/dist/managers/FlowsPersistenceGoogleCloudStorage.js +0 -209
- package/dist/managers/FlowsPersistenceGoogleCloudStorage.js.map +0 -1
- package/dist/managers/FlowsPersistenceSupabase.d.ts +0 -33
- package/dist/managers/FlowsPersistenceSupabase.js +0 -152
- package/dist/managers/FlowsPersistenceSupabase.js.map +0 -1
- package/dist/managers/FlowsPersistenceVolatile.d.ts +0 -30
- package/dist/managers/FlowsPersistenceVolatile.js +0 -103
- package/dist/managers/FlowsPersistenceVolatile.js.map +0 -1
- package/dist/managers/GptPlatformApiKeysManager.d.ts +0 -36
- package/dist/managers/GptPlatformApiKeysManager.js +0 -3
- package/dist/managers/GptPlatformApiKeysManager.js.map +0 -1
- package/dist/managers/GptPlatformApiKeysManagerFilesystem.d.ts +0 -29
- package/dist/managers/GptPlatformApiKeysManagerFilesystem.js +0 -136
- package/dist/managers/GptPlatformApiKeysManagerFilesystem.js.map +0 -1
- package/dist/managers/GptPlatformApiKeysManagerVolatile.d.ts +0 -35
- package/dist/managers/GptPlatformApiKeysManagerVolatile.js +0 -51
- package/dist/managers/GptPlatformApiKeysManagerVolatile.js.map +0 -1
- package/dist/managers/GptResourcesManager.d.ts +0 -44
- package/dist/managers/GptResourcesManager.js +0 -180
- package/dist/managers/GptResourcesManager.js.map +0 -1
- package/dist/managers/SelectorGenerator.d.ts +0 -8
- package/dist/managers/SelectorGenerator.js +0 -15
- package/dist/managers/SelectorGenerator.js.map +0 -1
- package/dist/models/BaseToolParam.d.ts +0 -9
- package/dist/models/BaseToolParam.js +0 -3
- package/dist/models/BaseToolParam.js.map +0 -1
- package/dist/models/BaseToolParameters.d.ts +0 -9
- package/dist/models/BaseToolParameters.js +0 -3
- package/dist/models/BaseToolParameters.js.map +0 -1
- package/dist/models/DonobuAnnotated.d.ts +0 -23
- package/dist/models/DonobuAnnotated.js +0 -12
- package/dist/models/DonobuAnnotated.js.map +0 -1
- package/dist/models/ElementSelectorForReplay.d.ts +0 -14
- package/dist/models/ElementSelectorForReplay.js +0 -3
- package/dist/models/ElementSelectorForReplay.js.map +0 -1
- package/dist/models/GptResource.d.ts +0 -33
- package/dist/models/GptResource.js +0 -3
- package/dist/models/GptResource.js.map +0 -1
- package/dist/persistence/AgentsPersistenceFilesystem.d.ts +0 -15
- package/dist/persistence/AgentsPersistenceFilesystem.js +0 -48
- package/dist/persistence/AgentsPersistenceFilesystem.js.map +0 -1
- package/dist/persistence/GptConfigsPersistenceFilesystem.d.ts +0 -16
- package/dist/persistence/GptConfigsPersistenceFilesystem.js +0 -54
- package/dist/persistence/GptConfigsPersistenceFilesystem.js.map +0 -1
- package/dist/persistence/GptResourcesPersistence.d.ts +0 -11
- package/dist/persistence/GptResourcesPersistence.js +0 -3
- package/dist/persistence/GptResourcesPersistence.js.map +0 -1
- package/dist/persistence/GptResourcesPersistenceFilesystem.d.ts +0 -20
- package/dist/persistence/GptResourcesPersistenceFilesystem.js +0 -79
- package/dist/persistence/GptResourcesPersistenceFilesystem.js.map +0 -1
- package/dist/persistence/GptResourcesPersistenceVolatile.d.ts +0 -14
- package/dist/persistence/GptResourcesPersistenceVolatile.js +0 -32
- package/dist/persistence/GptResourcesPersistenceVolatile.js.map +0 -1
- package/dist/testfixtures.d.ts +0 -66
- package/dist/testfixtures.js +0 -288
- package/dist/testfixtures.js.map +0 -1
- package/dist/tools/AssertTextVisibility.d.ts +0 -19
- package/dist/tools/AssertTextVisibility.js +0 -32
- package/dist/tools/AssertTextVisibility.js.map +0 -1
- package/dist/tools/ClickButtonTool.d.ts +0 -14
- package/dist/tools/ClickButtonTool.js +0 -36
- package/dist/tools/ClickButtonTool.js.map +0 -1
- package/dist/tools/NavigateToWebpage.d.ts +0 -19
- package/dist/tools/NavigateToWebpage.js +0 -25
- package/dist/tools/NavigateToWebpage.js.map +0 -1
- package/dist/tools/NavigateToWebpageTool.d.ts +0 -20
- package/dist/tools/NavigateToWebpageTool.js +0 -40
- package/dist/tools/NavigateToWebpageTool.js.map +0 -1
- package/dist/utils/DirectoryUtils.d.ts +0 -11
- package/dist/utils/DirectoryUtils.js +0 -37
- package/dist/utils/DirectoryUtils.js.map +0 -1
|
@@ -1,136 +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.GptPlatformApiKeysManagerFilesystem = void 0;
|
|
7
|
-
const FlowMetadata_1 = require("../models/FlowMetadata");
|
|
8
|
-
const ApiKeyNotSetUpException_1 = require("../exceptions/ApiKeyNotSetUpException");
|
|
9
|
-
const GptClientFactory_1 = require("../clients/GptClientFactory");
|
|
10
|
-
const fs_1 = require("fs");
|
|
11
|
-
const path_1 = __importDefault(require("path"));
|
|
12
|
-
const Logger_1 = require("../utils/Logger");
|
|
13
|
-
/**
|
|
14
|
-
* An implementation of the GptPlatformApiKeysManager that uses the local filesystem for
|
|
15
|
-
* persistence.
|
|
16
|
-
*/
|
|
17
|
-
class GptPlatformApiKeysManagerFilesystem {
|
|
18
|
-
static API_KEYS_FILENAME = '.gptplatforms';
|
|
19
|
-
static LEGACY_API_KEY_FILENAME_TEMPLATE = '.%skey';
|
|
20
|
-
apiKeysFilepath;
|
|
21
|
-
/**
|
|
22
|
-
* Creates a new instance, initializing keys using the following rules:
|
|
23
|
-
* 1. If there are API keys specified in environment variables, save those.
|
|
24
|
-
* 2. Use the given directory to persist data.
|
|
25
|
-
*
|
|
26
|
-
* @param storageDirectory - The directory to store API keys
|
|
27
|
-
*/
|
|
28
|
-
static async create(storageDirectory) {
|
|
29
|
-
const instance = new GptPlatformApiKeysManagerFilesystem(storageDirectory);
|
|
30
|
-
await instance.initialize(storageDirectory);
|
|
31
|
-
return instance;
|
|
32
|
-
}
|
|
33
|
-
constructor(storageDirectory) {
|
|
34
|
-
this.apiKeysFilepath = path_1.default.join(storageDirectory, GptPlatformApiKeysManagerFilesystem.API_KEYS_FILENAME);
|
|
35
|
-
}
|
|
36
|
-
async initialize(storageDirectory) {
|
|
37
|
-
await this.migrateLegacyKeys(storageDirectory);
|
|
38
|
-
await this.setApiKeysFromEnvironmentVariables();
|
|
39
|
-
}
|
|
40
|
-
async setKey(gptPlatform, apiKey) {
|
|
41
|
-
const gptModel = this.getGptModelToValidateKeyWith(gptPlatform);
|
|
42
|
-
// Attempt to create a GPT client using the given key
|
|
43
|
-
await GptClientFactory_1.GptClientFactory.create(gptPlatform, gptModel, apiKey);
|
|
44
|
-
await this.setKeyWithNoValidation(gptPlatform, apiKey);
|
|
45
|
-
}
|
|
46
|
-
async getKey(gptPlatform) {
|
|
47
|
-
try {
|
|
48
|
-
const content = await fs_1.promises.readFile(this.apiKeysFilepath, 'utf-8');
|
|
49
|
-
const apiKeys = JSON.parse(content);
|
|
50
|
-
if (apiKeys[gptPlatform]) {
|
|
51
|
-
return apiKeys[gptPlatform];
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
Logger_1.Logger.appLogger.error('Error reading API keys file', error);
|
|
56
|
-
}
|
|
57
|
-
throw new ApiKeyNotSetUpException_1.ApiKeyNotSetUpException(gptPlatform.toLowerCase());
|
|
58
|
-
}
|
|
59
|
-
async getGptPlatformsWithKeys() {
|
|
60
|
-
const platforms = Object.values(FlowMetadata_1.Platform);
|
|
61
|
-
const results = await Promise.all(platforms.map(async (platform) => {
|
|
62
|
-
try {
|
|
63
|
-
await this.getKey(platform);
|
|
64
|
-
return platform;
|
|
65
|
-
}
|
|
66
|
-
catch (error) {
|
|
67
|
-
if (error instanceof ApiKeyNotSetUpException_1.ApiKeyNotSetUpException) {
|
|
68
|
-
return null;
|
|
69
|
-
}
|
|
70
|
-
throw error;
|
|
71
|
-
}
|
|
72
|
-
}));
|
|
73
|
-
return results.filter((platform) => platform !== null);
|
|
74
|
-
}
|
|
75
|
-
async deleteKey(gptPlatform) {
|
|
76
|
-
await this.setKeyWithNoValidation(gptPlatform, null);
|
|
77
|
-
}
|
|
78
|
-
async setKeyWithNoValidation(gptPlatform, apiKey) {
|
|
79
|
-
let apiKeys = {};
|
|
80
|
-
try {
|
|
81
|
-
const content = await fs_1.promises.readFile(this.apiKeysFilepath, 'utf-8');
|
|
82
|
-
apiKeys = JSON.parse(content);
|
|
83
|
-
}
|
|
84
|
-
catch (_e) {
|
|
85
|
-
// File doesn't exist or is invalid, start with empty object
|
|
86
|
-
}
|
|
87
|
-
apiKeys[gptPlatform] = apiKey;
|
|
88
|
-
await fs_1.promises.writeFile(this.apiKeysFilepath, JSON.stringify(apiKeys));
|
|
89
|
-
}
|
|
90
|
-
getGptModelToValidateKeyWith(gptPlatform) {
|
|
91
|
-
switch (gptPlatform) {
|
|
92
|
-
case FlowMetadata_1.Platform.OPENAI:
|
|
93
|
-
return 'gpt-4o-mini';
|
|
94
|
-
case FlowMetadata_1.Platform.ANTHROPIC:
|
|
95
|
-
return 'claude-3-haiku-20240307';
|
|
96
|
-
case FlowMetadata_1.Platform.GOOGLE:
|
|
97
|
-
return 'gemini-1.5-flash';
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
async migrateLegacyKeys(storageDirectory) {
|
|
101
|
-
for (const platform of Object.values(FlowMetadata_1.Platform)) {
|
|
102
|
-
const legacyPath = path_1.default.join(storageDirectory, GptPlatformApiKeysManagerFilesystem.LEGACY_API_KEY_FILENAME_TEMPLATE.replace('%s', platform.toLowerCase()));
|
|
103
|
-
try {
|
|
104
|
-
const exists = await fs_1.promises
|
|
105
|
-
.access(legacyPath)
|
|
106
|
-
.then(() => true)
|
|
107
|
-
.catch(() => false);
|
|
108
|
-
if (exists) {
|
|
109
|
-
const apiKey = await fs_1.promises.readFile(legacyPath, 'utf-8');
|
|
110
|
-
await this.setKeyWithNoValidation(platform, apiKey);
|
|
111
|
-
await fs_1.promises.unlink(legacyPath);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
catch (error) {
|
|
115
|
-
Logger_1.Logger.appLogger.error(`Error migrating legacy API key file for ${platform}`, error);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
async setApiKeysFromEnvironmentVariables() {
|
|
120
|
-
for (const platform of Object.values(FlowMetadata_1.Platform)) {
|
|
121
|
-
const keyName = `${platform}_KEY`;
|
|
122
|
-
const keyValue = process.env[keyName];
|
|
123
|
-
if (keyValue) {
|
|
124
|
-
try {
|
|
125
|
-
Logger_1.Logger.appLogger.info(`Setting ${platform} API key using the ${keyName} environment variable.`);
|
|
126
|
-
await this.setKeyWithNoValidation(platform, keyValue);
|
|
127
|
-
}
|
|
128
|
-
catch (error) {
|
|
129
|
-
Logger_1.Logger.appLogger.error(`Failed to set API key for ${platform} using the ${keyName} environment variable.`, error);
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
exports.GptPlatformApiKeysManagerFilesystem = GptPlatformApiKeysManagerFilesystem;
|
|
136
|
-
//# sourceMappingURL=GptPlatformApiKeysManagerFilesystem.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GptPlatformApiKeysManagerFilesystem.js","sourceRoot":"","sources":["../../../src/managers/GptPlatformApiKeysManagerFilesystem.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Platform } from '../models/FlowMetadata';
|
|
2
|
-
import { GptPlatformApiKeysManager } from './GptPlatformApiKeysManager';
|
|
3
|
-
/**
|
|
4
|
-
* A volatile (in-memory) implementation of GptPlatformApiKeysManager.
|
|
5
|
-
*/
|
|
6
|
-
export declare class GptPlatformApiKeysManagerVolatile implements GptPlatformApiKeysManager {
|
|
7
|
-
private readonly apiKeys;
|
|
8
|
-
/**
|
|
9
|
-
* Sets the given API key with the given GPT platform.
|
|
10
|
-
*
|
|
11
|
-
* @param gptPlatform - The GPT platform to set the key for
|
|
12
|
-
* @param apiKey - The API key to set
|
|
13
|
-
*/
|
|
14
|
-
setKey(gptPlatform: Platform, apiKey: string): Promise<void>;
|
|
15
|
-
/**
|
|
16
|
-
* Returns the API key for the given Platform in plaintext.
|
|
17
|
-
*
|
|
18
|
-
* @param gptPlatform - The GPT platform to get the key for
|
|
19
|
-
* @returns The API key in plaintext
|
|
20
|
-
* @throws {ApiKeyNotSetUpException} If no API key is set up for the platform
|
|
21
|
-
*/
|
|
22
|
-
getKey(gptPlatform: Platform): Promise<string>;
|
|
23
|
-
/**
|
|
24
|
-
* Returns the list of platforms that have API keys available.
|
|
25
|
-
*
|
|
26
|
-
* @returns Array of platforms that have API keys set up
|
|
27
|
-
*/
|
|
28
|
-
getGptPlatformsWithKeys(): Promise<Platform[]>;
|
|
29
|
-
/**
|
|
30
|
-
* Deletes the API key for the given platform.
|
|
31
|
-
*
|
|
32
|
-
* @param gptPlatform - The GPT platform to delete the key for
|
|
33
|
-
*/
|
|
34
|
-
deleteKey(gptPlatform: Platform): Promise<void>;
|
|
35
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GptPlatformApiKeysManagerVolatile = void 0;
|
|
4
|
-
const ApiKeyNotSetUpException_1 = require("../exceptions/ApiKeyNotSetUpException");
|
|
5
|
-
/**
|
|
6
|
-
* A volatile (in-memory) implementation of GptPlatformApiKeysManager.
|
|
7
|
-
*/
|
|
8
|
-
class GptPlatformApiKeysManagerVolatile {
|
|
9
|
-
apiKeys = new Map();
|
|
10
|
-
/**
|
|
11
|
-
* Sets the given API key with the given GPT platform.
|
|
12
|
-
*
|
|
13
|
-
* @param gptPlatform - The GPT platform to set the key for
|
|
14
|
-
* @param apiKey - The API key to set
|
|
15
|
-
*/
|
|
16
|
-
async setKey(gptPlatform, apiKey) {
|
|
17
|
-
this.apiKeys.set(gptPlatform, apiKey);
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Returns the API key for the given Platform in plaintext.
|
|
21
|
-
*
|
|
22
|
-
* @param gptPlatform - The GPT platform to get the key for
|
|
23
|
-
* @returns The API key in plaintext
|
|
24
|
-
* @throws {ApiKeyNotSetUpException} If no API key is set up for the platform
|
|
25
|
-
*/
|
|
26
|
-
async getKey(gptPlatform) {
|
|
27
|
-
const apiKey = this.apiKeys.get(gptPlatform);
|
|
28
|
-
if (!apiKey) {
|
|
29
|
-
throw new ApiKeyNotSetUpException_1.ApiKeyNotSetUpException(gptPlatform);
|
|
30
|
-
}
|
|
31
|
-
return apiKey;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Returns the list of platforms that have API keys available.
|
|
35
|
-
*
|
|
36
|
-
* @returns Array of platforms that have API keys set up
|
|
37
|
-
*/
|
|
38
|
-
async getGptPlatformsWithKeys() {
|
|
39
|
-
return Array.from(this.apiKeys.keys());
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Deletes the API key for the given platform.
|
|
43
|
-
*
|
|
44
|
-
* @param gptPlatform - The GPT platform to delete the key for
|
|
45
|
-
*/
|
|
46
|
-
async deleteKey(gptPlatform) {
|
|
47
|
-
this.apiKeys.delete(gptPlatform);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
exports.GptPlatformApiKeysManagerVolatile = GptPlatformApiKeysManagerVolatile;
|
|
51
|
-
//# sourceMappingURL=GptPlatformApiKeysManagerVolatile.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GptPlatformApiKeysManagerVolatile.js","sourceRoot":"","sources":["../../../src/managers/GptPlatformApiKeysManagerVolatile.ts"],"names":[],"mappings":";;;AAEA,mFAAgF;AAEhF;;GAEG;AACH,MAAa,iCAAiC;IAG3B,OAAO,GAA0B,IAAI,GAAG,EAAE,CAAC;IAE5D;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CAAC,WAAqB,EAAE,MAAc;QACvD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CAAC,WAAqB;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,iDAAuB,CAAC,WAAW,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,uBAAuB;QAClC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,SAAS,CAAC,WAAqB;QAC1C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;CACF;AA/CD,8EA+CC"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { GptResource } from '../models/GptResource';
|
|
2
|
-
import { GptResourcesPersistence } from '../persistence/GptResourcesPersistence';
|
|
3
|
-
import { GptPlatformApiKeysManager } from './GptPlatformApiKeysManager';
|
|
4
|
-
/**
|
|
5
|
-
* This class manages GPT resources and is responsible for validation around
|
|
6
|
-
* that context.
|
|
7
|
-
*/
|
|
8
|
-
export declare class GptResourcesManager {
|
|
9
|
-
private readonly persistence;
|
|
10
|
-
private constructor();
|
|
11
|
-
static create(persistence: GptResourcesPersistence, legacyApiKeysManager?: GptPlatformApiKeysManager): Promise<GptResourcesManager>;
|
|
12
|
-
/**
|
|
13
|
-
* Attempt to save the given GPT resource. Where possible, a zero-cost
|
|
14
|
-
* request is attempted to be made with the GPT resource before saving it.
|
|
15
|
-
* If the zero-cost request is attemted and it fails, this method throws.
|
|
16
|
-
*/
|
|
17
|
-
set(name: string, resource: GptResource): Promise<void>;
|
|
18
|
-
/**
|
|
19
|
-
* Fetch a GPT resource by name.
|
|
20
|
-
*/
|
|
21
|
-
get(name: string): Promise<GptResource>;
|
|
22
|
-
/**
|
|
23
|
-
* Fetch all GPT resources.
|
|
24
|
-
*/
|
|
25
|
-
getAll(): Promise<Map<string, GptResource>>;
|
|
26
|
-
/**
|
|
27
|
-
* Delete a GPT resource by name.
|
|
28
|
-
*/
|
|
29
|
-
delete(name: string): Promise<void>;
|
|
30
|
-
/**
|
|
31
|
-
* Verifies the given GPT resource and name or throws if they are invalid.
|
|
32
|
-
*/
|
|
33
|
-
private verifyGptResourceOrThrow;
|
|
34
|
-
/**
|
|
35
|
-
* Ports legacy GPT platform keys to GPT resources if a corresponding GPT
|
|
36
|
-
* resource does not exist.
|
|
37
|
-
*/
|
|
38
|
-
private static portLegacyApiKeys;
|
|
39
|
-
}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GptResourcesManager = void 0;
|
|
4
|
-
const GptClientFactory_1 = require("../clients/GptClientFactory");
|
|
5
|
-
const InvalidParamValueException_1 = require("../exceptions/InvalidParamValueException");
|
|
6
|
-
const FlowMetadata_1 = require("../models/FlowMetadata");
|
|
7
|
-
/**
|
|
8
|
-
* This class manages GPT resources and is responsible for validation around
|
|
9
|
-
* that context.
|
|
10
|
-
*/
|
|
11
|
-
class GptResourcesManager {
|
|
12
|
-
persistence;
|
|
13
|
-
constructor(persistence) {
|
|
14
|
-
this.persistence = persistence;
|
|
15
|
-
}
|
|
16
|
-
static async create(persistence, legacyApiKeysManager) {
|
|
17
|
-
const instance = new GptResourcesManager(persistence);
|
|
18
|
-
if (legacyApiKeysManager) {
|
|
19
|
-
await GptResourcesManager.portLegacyApiKeys(instance, legacyApiKeysManager);
|
|
20
|
-
}
|
|
21
|
-
return instance;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Attempt to save the given GPT resource. Where possible, a zero-cost
|
|
25
|
-
* request is attempted to be made with the GPT resource before saving it.
|
|
26
|
-
* If the zero-cost request is attemted and it fails, this method throws.
|
|
27
|
-
*/
|
|
28
|
-
async set(name, resource) {
|
|
29
|
-
await this.verifyGptResourceOrThrow(name, resource);
|
|
30
|
-
await this.persistence.set(name, resource);
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Fetch a GPT resource by name.
|
|
34
|
-
*/
|
|
35
|
-
async get(name) {
|
|
36
|
-
return this.persistence.get(name);
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Fetch all GPT resources.
|
|
40
|
-
*/
|
|
41
|
-
async getAll() {
|
|
42
|
-
return this.persistence.getAll();
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Delete a GPT resource by name.
|
|
46
|
-
*/
|
|
47
|
-
async delete(name) {
|
|
48
|
-
return this.persistence.delete(name);
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Verifies the given GPT resource and name or throws if they are invalid.
|
|
52
|
-
*/
|
|
53
|
-
async verifyGptResourceOrThrow(name, resource) {
|
|
54
|
-
if (!name || name.length > 64) {
|
|
55
|
-
throw new InvalidParamValueException_1.InvalidParamValueException('name', name, 'the GPT resource name must be a non-blank string 64 characters or fewer');
|
|
56
|
-
}
|
|
57
|
-
// Creating a GPT client performs validation on its own.
|
|
58
|
-
await GptClientFactory_1.GptClientFactory.createFromGptResource(resource);
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Ports legacy GPT platform keys to GPT resources if a corresponding GPT
|
|
62
|
-
* resource does not exist.
|
|
63
|
-
*/
|
|
64
|
-
static async portLegacyApiKeys(gptResourcesManager, legacyApiKeysManager) {
|
|
65
|
-
const standardModelsForPlatform = new Map([
|
|
66
|
-
[
|
|
67
|
-
FlowMetadata_1.Platform.ANTHROPIC,
|
|
68
|
-
['claude-3-7-sonnet-latest', 'claude-3-5-sonnet-latest'],
|
|
69
|
-
],
|
|
70
|
-
[FlowMetadata_1.Platform.GOOGLE, ['gemini-2.0-flash', 'gemini-1.5-pro']],
|
|
71
|
-
[FlowMetadata_1.Platform.OPENAI, ['gpt-4o', 'gpt-4o-mini']],
|
|
72
|
-
]);
|
|
73
|
-
const gptPlatformsWithKeys = await legacyApiKeysManager.getGptPlatformsWithKeys();
|
|
74
|
-
for (const platform of gptPlatformsWithKeys) {
|
|
75
|
-
if (platform === FlowMetadata_1.Platform.ANTHROPIC) {
|
|
76
|
-
const modelsToPort = standardModelsForPlatform.get(platform);
|
|
77
|
-
for (const modelName of modelsToPort) {
|
|
78
|
-
try {
|
|
79
|
-
await gptResourcesManager.get(modelName);
|
|
80
|
-
}
|
|
81
|
-
catch (_error) {
|
|
82
|
-
// Nothing found, so port it.
|
|
83
|
-
await gptResourcesManager.set(modelName, {
|
|
84
|
-
type: 'ANTHROPIC',
|
|
85
|
-
apiKey: await legacyApiKeysManager.getKey(platform),
|
|
86
|
-
modelName: modelName,
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
else if (platform === FlowMetadata_1.Platform.GOOGLE) {
|
|
92
|
-
const modelsToPort = standardModelsForPlatform.get(platform);
|
|
93
|
-
for (const modelName of modelsToPort) {
|
|
94
|
-
try {
|
|
95
|
-
await gptResourcesManager.get(modelName);
|
|
96
|
-
}
|
|
97
|
-
catch (_error) {
|
|
98
|
-
// Nothing found, so port it.
|
|
99
|
-
await gptResourcesManager.set(modelName, {
|
|
100
|
-
type: 'GOOGLE_GEMINI',
|
|
101
|
-
apiKey: await legacyApiKeysManager.getKey(platform),
|
|
102
|
-
modelName: modelName,
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
else if (platform === FlowMetadata_1.Platform.OPENAI) {
|
|
108
|
-
const modelsToPort = standardModelsForPlatform.get(platform);
|
|
109
|
-
for (const modelName of modelsToPort) {
|
|
110
|
-
try {
|
|
111
|
-
await gptResourcesManager.get(modelName);
|
|
112
|
-
}
|
|
113
|
-
catch (_error) {
|
|
114
|
-
// Nothing found, so port it.
|
|
115
|
-
await gptResourcesManager.set(modelName, {
|
|
116
|
-
type: 'OPENAI',
|
|
117
|
-
apiKey: await legacyApiKeysManager.getKey(platform),
|
|
118
|
-
modelName: modelName,
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
// Unknown platform, do nothing.
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
exports.GptResourcesManager = GptResourcesManager;
|
|
130
|
-
//# sourceMappingURL=GptResourcesManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GptResourcesManager.js","sourceRoot":"","sources":["../../../src/managers/GptResourcesManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Locator } from 'playwright';
|
|
2
|
-
/**
|
|
3
|
-
* Generate valid selectors for the given element. The generated selectors are in a priority order
|
|
4
|
-
* based on their ability to identify the given element. For example, an unambiguous selector that
|
|
5
|
-
* matches the element exactly are first in the list, and weaker selectors that match multiple
|
|
6
|
-
* elements are last.
|
|
7
|
-
*/
|
|
8
|
-
export declare function generateSelectors(element: Locator): Promise<string[]>;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateSelectors = generateSelectors;
|
|
4
|
-
/**
|
|
5
|
-
* Generate valid selectors for the given element. The generated selectors are in a priority order
|
|
6
|
-
* based on their ability to identify the given element. For example, an unambiguous selector that
|
|
7
|
-
* matches the element exactly are first in the list, and weaker selectors that match multiple
|
|
8
|
-
* elements are last.
|
|
9
|
-
*/
|
|
10
|
-
async function generateSelectors(element) {
|
|
11
|
-
return element.evaluate((elem) => {
|
|
12
|
-
return window.donobuGenerateSmartSelectors(elem);
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=SelectorGenerator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SelectorGenerator.js","sourceRoot":"","sources":["../../../src/managers/SelectorGenerator.ts"],"names":[],"mappings":";;AAQA,8CAIC;AAVD;;;;;GAKG;AACI,KAAK,UAAU,iBAAiB,CAAC,OAAgB;IACtD,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/B,OAAO,MAAM,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A query structure used to resolve specific a HTML element in a webpage.
|
|
3
|
-
*/
|
|
4
|
-
export type ElementSelector = {
|
|
5
|
-
/**
|
|
6
|
-
* An ordered list of element selectors, going from most specific to least specific.
|
|
7
|
-
*/
|
|
8
|
-
readonly element: string[];
|
|
9
|
-
/**
|
|
10
|
-
* A selector for the corresponding frame of the element to select.
|
|
11
|
-
* If null, this means the primary frame of the page is used.
|
|
12
|
-
*/
|
|
13
|
-
readonly frame: string | null;
|
|
14
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ElementSelectorForReplay.js","sourceRoot":"","sources":["../../../src/models/ElementSelectorForReplay.ts"],"names":[],"mappings":""}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
export type AnthropicConfig = {
|
|
2
|
-
type: 'ANTHROPIC';
|
|
3
|
-
apiKey: string;
|
|
4
|
-
modelName: string;
|
|
5
|
-
};
|
|
6
|
-
export type AnthropicAwsBedrockConfig = {
|
|
7
|
-
type: 'ANTHROPIC_AWS_BEDROCK';
|
|
8
|
-
};
|
|
9
|
-
export type GoogleGeminiConfig = {
|
|
10
|
-
type: 'GOOGLE_GEMINI';
|
|
11
|
-
apiKey: string;
|
|
12
|
-
modelName: string;
|
|
13
|
-
};
|
|
14
|
-
export type OpenApiConfig = {
|
|
15
|
-
type: 'OPENAI';
|
|
16
|
-
apiKey: string;
|
|
17
|
-
modelName: string;
|
|
18
|
-
};
|
|
19
|
-
export type OpenApiAzureConfig = {
|
|
20
|
-
type: 'OPENAI_AZURE';
|
|
21
|
-
};
|
|
22
|
-
export type LlamaLocalConfig = {
|
|
23
|
-
type: 'LLAMA_LOCAL';
|
|
24
|
-
};
|
|
25
|
-
export type LlamaHuggingFaceConfig = {
|
|
26
|
-
type: 'LLAMA_HUGGING_FACE';
|
|
27
|
-
};
|
|
28
|
-
/**
|
|
29
|
-
* A resource structure that can be used to establish connectivity with a
|
|
30
|
-
* particular GPT platform and model. If there is an 'apiKey' field, it will be
|
|
31
|
-
* redacted before being returned through the API.
|
|
32
|
-
*/
|
|
33
|
-
export type GptResource = AnthropicConfig | AnthropicAwsBedrockConfig | GoogleGeminiConfig | OpenApiConfig | OpenApiAzureConfig | LlamaLocalConfig | LlamaHuggingFaceConfig;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GptResource.js","sourceRoot":"","sources":["../../../src/models/GptResource.ts"],"names":[],"mappings":""}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { DonobuAgent } from '../models/DonobuAgentType';
|
|
2
|
-
import { AgentsPersistence } from './AgentsPersistence';
|
|
3
|
-
/**
|
|
4
|
-
* A GPT configs persistence implementation that manages state using a JSON
|
|
5
|
-
* file on the filesystem.
|
|
6
|
-
*/
|
|
7
|
-
export declare class AgentsPersistenceFilesystem implements AgentsPersistence {
|
|
8
|
-
private readonly storagePath;
|
|
9
|
-
private static readonly FILENAME;
|
|
10
|
-
private constructor();
|
|
11
|
-
static create(storageDirectory: string): Promise<AgentsPersistenceFilesystem>;
|
|
12
|
-
set(agent: DonobuAgent, gptConfigName: string | null): Promise<void>;
|
|
13
|
-
get(agent: DonobuAgent): Promise<string | null>;
|
|
14
|
-
getAll(): Promise<Map<DonobuAgent, string | null>>;
|
|
15
|
-
}
|
|
@@ -1,48 +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.AgentsPersistenceFilesystem = void 0;
|
|
7
|
-
const path_1 = __importDefault(require("path"));
|
|
8
|
-
const DonobuAgentType_1 = require("../models/DonobuAgentType");
|
|
9
|
-
const JsonUtils_1 = require("../utils/JsonUtils");
|
|
10
|
-
const fs_1 = require("fs");
|
|
11
|
-
/**
|
|
12
|
-
* A GPT configs persistence implementation that manages state using a JSON
|
|
13
|
-
* file on the filesystem.
|
|
14
|
-
*/
|
|
15
|
-
class AgentsPersistenceFilesystem {
|
|
16
|
-
storagePath;
|
|
17
|
-
static FILENAME = '.agents';
|
|
18
|
-
constructor(storagePath) {
|
|
19
|
-
this.storagePath = storagePath;
|
|
20
|
-
}
|
|
21
|
-
static async create(storageDirectory) {
|
|
22
|
-
const storagePath = path_1.default.join(storageDirectory, AgentsPersistenceFilesystem.FILENAME);
|
|
23
|
-
await JsonUtils_1.JsonUtils.maybeInitEmptyJsonFile(storagePath);
|
|
24
|
-
return new AgentsPersistenceFilesystem(storagePath);
|
|
25
|
-
}
|
|
26
|
-
async set(agent, gptConfigName) {
|
|
27
|
-
const content = await fs_1.promises.readFile(this.storagePath, 'utf-8');
|
|
28
|
-
const agentsMapping = JSON.parse(content);
|
|
29
|
-
agentsMapping[agent] = gptConfigName;
|
|
30
|
-
await fs_1.promises.writeFile(this.storagePath, JSON.stringify(agentsMapping));
|
|
31
|
-
}
|
|
32
|
-
async get(agent) {
|
|
33
|
-
const content = await fs_1.promises.readFile(this.storagePath, 'utf-8');
|
|
34
|
-
const agentsMapping = JSON.parse(content);
|
|
35
|
-
return agentsMapping[agent] ?? null;
|
|
36
|
-
}
|
|
37
|
-
async getAll() {
|
|
38
|
-
const content = await fs_1.promises.readFile(this.storagePath, 'utf-8');
|
|
39
|
-
const agentsMapping = JSON.parse(content);
|
|
40
|
-
const result = new Map();
|
|
41
|
-
for (const agent of DonobuAgentType_1.DonobuAgent) {
|
|
42
|
-
result.set(agent, agentsMapping[agent] ?? null);
|
|
43
|
-
}
|
|
44
|
-
return result;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
exports.AgentsPersistenceFilesystem = AgentsPersistenceFilesystem;
|
|
48
|
-
//# sourceMappingURL=AgentsPersistenceFilesystem.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AgentsPersistenceFilesystem.js","sourceRoot":"","sources":["../../../src/persistence/AgentsPersistenceFilesystem.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,+DAAwD;AAExD,kDAA+C;AAC/C,2BAAoC;AAIpC;;;GAGG;AACH,MAAa,2BAA2B;IAGD;IAF7B,MAAM,CAAU,QAAQ,GAAG,SAAS,CAAC;IAE7C,YAAqC,WAAmB;QAAnB,gBAAW,GAAX,WAAW,CAAQ;IAAG,CAAC;IAErD,MAAM,CAAC,KAAK,CAAC,MAAM,CACxB,gBAAwB;QAExB,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAC3B,gBAAgB,EAChB,2BAA2B,CAAC,QAAQ,CACrC,CAAC;QACF,MAAM,qBAAS,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;QACpD,OAAO,IAAI,2BAA2B,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC;IAEM,KAAK,CAAC,GAAG,CACd,KAAkB,EAClB,aAA4B;QAE5B,MAAM,OAAO,GAAG,MAAM,aAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC7D,MAAM,aAAa,GAAyB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChE,aAAa,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC;QACrC,MAAM,aAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;IACtE,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,KAAkB;QACjC,MAAM,OAAO,GAAG,MAAM,aAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC7D,MAAM,aAAa,GAAyB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChE,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;IACtC,CAAC;IAEM,KAAK,CAAC,MAAM;QACjB,MAAM,OAAO,GAAG,MAAM,aAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC7D,MAAM,aAAa,GAAyB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,IAAI,GAAG,EAA8B,CAAC;QAErD,KAAK,MAAM,KAAK,IAAI,6BAAW,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;;AA1CH,kEA2CC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { GptConfig } from '../models/GptConfig';
|
|
2
|
-
import { GptConfigsPersistence } from './GptConfigsPersistence';
|
|
3
|
-
/**
|
|
4
|
-
* A GPT configs persistence implementation that manages state using a JSON
|
|
5
|
-
* file on the filesystem.
|
|
6
|
-
*/
|
|
7
|
-
export declare class GptConfigsPersistenceFilesystem implements GptConfigsPersistence {
|
|
8
|
-
private readonly storagePath;
|
|
9
|
-
private static readonly FILENAME;
|
|
10
|
-
private constructor();
|
|
11
|
-
static create(storageDirectory: string): Promise<GptConfigsPersistenceFilesystem>;
|
|
12
|
-
set(name: string, config: GptConfig): Promise<void>;
|
|
13
|
-
get(name: string): Promise<GptConfig>;
|
|
14
|
-
getAll(): Promise<Map<string, GptConfig>>;
|
|
15
|
-
delete(name: string): Promise<void>;
|
|
16
|
-
}
|
|
@@ -1,54 +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.GptConfigsPersistenceFilesystem = void 0;
|
|
7
|
-
const path_1 = __importDefault(require("path"));
|
|
8
|
-
const fs_1 = require("fs");
|
|
9
|
-
const GptConfigNotFoundException_1 = require("../exceptions/GptConfigNotFoundException");
|
|
10
|
-
const JsonUtils_1 = require("../utils/JsonUtils");
|
|
11
|
-
/**
|
|
12
|
-
* A GPT configs persistence implementation that manages state using a JSON
|
|
13
|
-
* file on the filesystem.
|
|
14
|
-
*/
|
|
15
|
-
class GptConfigsPersistenceFilesystem {
|
|
16
|
-
storagePath;
|
|
17
|
-
static FILENAME = '.gptconfigs';
|
|
18
|
-
constructor(storagePath) {
|
|
19
|
-
this.storagePath = storagePath;
|
|
20
|
-
}
|
|
21
|
-
static async create(storageDirectory) {
|
|
22
|
-
const storagePath = path_1.default.join(storageDirectory, GptConfigsPersistenceFilesystem.FILENAME);
|
|
23
|
-
await JsonUtils_1.JsonUtils.maybeInitEmptyJsonFile(storagePath);
|
|
24
|
-
return new GptConfigsPersistenceFilesystem(storagePath);
|
|
25
|
-
}
|
|
26
|
-
async set(name, config) {
|
|
27
|
-
const content = await fs_1.promises.readFile(this.storagePath, 'utf-8');
|
|
28
|
-
const json = JSON.parse(content);
|
|
29
|
-
json[name] = config;
|
|
30
|
-
await fs_1.promises.writeFile(this.storagePath, JSON.stringify(json));
|
|
31
|
-
}
|
|
32
|
-
async get(name) {
|
|
33
|
-
const content = await fs_1.promises.readFile(this.storagePath, 'utf-8');
|
|
34
|
-
const configs = JSON.parse(content);
|
|
35
|
-
const config = configs[name];
|
|
36
|
-
if (config) {
|
|
37
|
-
return config;
|
|
38
|
-
}
|
|
39
|
-
throw new GptConfigNotFoundException_1.GptConfigNotFoundException(name);
|
|
40
|
-
}
|
|
41
|
-
async getAll() {
|
|
42
|
-
const content = await fs_1.promises.readFile(this.storagePath, 'utf-8');
|
|
43
|
-
const json = JSON.parse(content);
|
|
44
|
-
return new Map(Object.entries(json));
|
|
45
|
-
}
|
|
46
|
-
async delete(name) {
|
|
47
|
-
const content = await fs_1.promises.readFile(this.storagePath, 'utf-8');
|
|
48
|
-
const configs = JSON.parse(content);
|
|
49
|
-
delete configs[name];
|
|
50
|
-
await fs_1.promises.writeFile(this.storagePath, JSON.stringify(configs));
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
exports.GptConfigsPersistenceFilesystem = GptConfigsPersistenceFilesystem;
|
|
54
|
-
//# sourceMappingURL=GptConfigsPersistenceFilesystem.js.map
|