donobu 2.16.0 → 2.17.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/EnvDataApi.d.ts +26 -0
- package/dist/apis/EnvDataApi.d.ts.map +1 -0
- package/dist/apis/EnvDataApi.js +59 -0
- package/dist/apis/EnvDataApi.js.map +1 -0
- package/dist/apis/EnvironmentDataApi.d.ts +26 -0
- package/dist/apis/EnvironmentDataApi.d.ts.map +1 -0
- package/dist/apis/EnvironmentDataApi.js +59 -0
- package/dist/apis/EnvironmentDataApi.js.map +1 -0
- package/dist/apis/FlowsApi.d.ts +4 -0
- package/dist/apis/FlowsApi.d.ts.map +1 -1
- package/dist/apis/FlowsApi.js +26 -2
- package/dist/apis/FlowsApi.js.map +1 -1
- package/dist/apis/FlowsFilesApi.d.ts +1 -1
- package/dist/apis/FlowsFilesApi.d.ts.map +1 -1
- package/dist/apis/SpecialFlowsApi.js +1 -1
- package/dist/apis/SpecialFlowsApi.js.map +1 -1
- package/dist/assets/generated/parameter-schemas.json +22 -8
- package/dist/assets/generated/version +1 -1
- package/dist/esm/apis/EnvDataApi.d.ts +26 -0
- package/dist/esm/apis/EnvDataApi.d.ts.map +1 -0
- package/dist/esm/apis/EnvDataApi.js +59 -0
- package/dist/esm/apis/EnvDataApi.js.map +1 -0
- package/dist/esm/apis/EnvironmentDataApi.d.ts +26 -0
- package/dist/esm/apis/EnvironmentDataApi.d.ts.map +1 -0
- package/dist/esm/apis/EnvironmentDataApi.js +59 -0
- package/dist/esm/apis/EnvironmentDataApi.js.map +1 -0
- package/dist/esm/apis/FlowsApi.d.ts +4 -0
- package/dist/esm/apis/FlowsApi.d.ts.map +1 -1
- package/dist/esm/apis/FlowsApi.js +26 -2
- package/dist/esm/apis/FlowsApi.js.map +1 -1
- package/dist/esm/apis/FlowsFilesApi.d.ts +1 -1
- package/dist/esm/apis/FlowsFilesApi.d.ts.map +1 -1
- package/dist/esm/apis/SpecialFlowsApi.js +1 -1
- package/dist/esm/apis/SpecialFlowsApi.js.map +1 -1
- package/dist/esm/assets/generated/parameter-schemas.json +22 -8
- package/dist/esm/assets/generated/version +1 -1
- package/dist/esm/lib/DonobuExtendedPage.d.ts +106 -0
- package/dist/esm/lib/DonobuExtendedPage.d.ts.map +1 -0
- package/dist/esm/lib/DonobuExtendedPage.js +3 -0
- package/dist/esm/lib/DonobuExtendedPage.js.map +1 -0
- package/dist/esm/lib/constants.d.ts +8 -0
- package/dist/esm/lib/constants.d.ts.map +1 -0
- package/dist/esm/lib/constants.js +14 -0
- package/dist/esm/lib/constants.js.map +1 -0
- package/dist/esm/lib/fixtures/browserState.d.ts +6 -0
- package/dist/esm/lib/fixtures/browserState.d.ts.map +1 -0
- package/dist/esm/lib/fixtures/browserState.js +15 -0
- package/dist/esm/lib/fixtures/browserState.js.map +1 -0
- package/dist/esm/lib/fixtures/gptClients.d.ts +40 -0
- package/dist/esm/lib/fixtures/gptClients.d.ts.map +1 -0
- package/dist/esm/lib/fixtures/gptClients.js +187 -0
- package/dist/esm/lib/fixtures/gptClients.js.map +1 -0
- package/dist/esm/lib/fixtures/testExtension.d.ts +10 -0
- package/dist/esm/lib/fixtures/testExtension.d.ts.map +1 -0
- package/dist/esm/lib/fixtures/testExtension.js +383 -0
- package/dist/esm/lib/fixtures/testExtension.js.map +1 -0
- package/dist/esm/lib/testExtension.d.ts +10 -0
- package/dist/esm/lib/testExtension.d.ts.map +1 -0
- package/dist/esm/lib/testExtension.js +383 -0
- package/dist/esm/lib/testExtension.js.map +1 -0
- package/dist/esm/lib/types.d.ts +106 -0
- package/dist/esm/lib/types.d.ts.map +1 -0
- package/dist/esm/lib/types.js +3 -0
- package/dist/esm/lib/types.js.map +1 -0
- package/dist/esm/lib/utils/donobuTestStack.d.ts +7 -0
- package/dist/esm/lib/utils/donobuTestStack.d.ts.map +1 -0
- package/dist/esm/lib/utils/donobuTestStack.js +31 -0
- package/dist/esm/lib/utils/donobuTestStack.js.map +1 -0
- package/dist/esm/lib/utils/selfHealing.d.ts +15 -0
- package/dist/esm/lib/utils/selfHealing.d.ts.map +1 -0
- package/dist/esm/lib/utils/selfHealing.js +89 -0
- package/dist/esm/lib/utils/selfHealing.js.map +1 -0
- package/dist/esm/main.d.ts +5 -1
- package/dist/esm/main.d.ts.map +1 -1
- package/dist/esm/main.js +8 -5
- package/dist/esm/main.js.map +1 -1
- package/dist/esm/managers/AdminApiController.d.ts.map +1 -1
- package/dist/esm/managers/AdminApiController.js +7 -0
- package/dist/esm/managers/AdminApiController.js.map +1 -1
- package/dist/esm/managers/AgentsManager.d.ts +1 -1
- package/dist/esm/managers/AgentsManager.d.ts.map +1 -1
- package/dist/esm/managers/DonobuFlow.d.ts +3 -2
- package/dist/esm/managers/DonobuFlow.d.ts.map +1 -1
- package/dist/esm/managers/DonobuFlow.js +90 -21
- package/dist/esm/managers/DonobuFlow.js.map +1 -1
- package/dist/esm/managers/DonobuFlowsManager.d.ts +47 -6
- package/dist/esm/managers/DonobuFlowsManager.d.ts.map +1 -1
- package/dist/esm/managers/DonobuFlowsManager.js +104 -24
- package/dist/esm/managers/DonobuFlowsManager.js.map +1 -1
- package/dist/esm/managers/DonobuStack.d.ts +18 -4
- package/dist/esm/managers/DonobuStack.d.ts.map +1 -1
- package/dist/esm/managers/DonobuStack.js +21 -5
- package/dist/esm/managers/DonobuStack.js.map +1 -1
- package/dist/esm/managers/EnvDataManager.d.ts +58 -0
- package/dist/esm/managers/EnvDataManager.d.ts.map +1 -0
- package/dist/esm/managers/EnvDataManager.js +134 -0
- package/dist/esm/managers/EnvDataManager.js.map +1 -0
- package/dist/esm/managers/EnvironmentDataManager.d.ts +58 -0
- package/dist/esm/managers/EnvironmentDataManager.d.ts.map +1 -0
- package/dist/esm/managers/EnvironmentDataManager.js +134 -0
- package/dist/esm/managers/EnvironmentDataManager.js.map +1 -0
- package/dist/esm/managers/GptConfigsManager.d.ts +1 -1
- package/dist/esm/managers/GptConfigsManager.d.ts.map +1 -1
- package/dist/esm/managers/PageInspector.d.ts +0 -1
- package/dist/esm/managers/PageInspector.d.ts.map +1 -1
- package/dist/esm/managers/PageInspector.js +29 -26
- package/dist/esm/managers/PageInspector.js.map +1 -1
- package/dist/esm/managers/ToolManager.d.ts +10 -0
- package/dist/esm/managers/ToolManager.d.ts.map +1 -1
- package/dist/esm/managers/ToolManager.js +46 -3
- package/dist/esm/managers/ToolManager.js.map +1 -1
- package/dist/esm/models/BrowserConfig.d.ts +1 -6
- package/dist/esm/models/BrowserConfig.d.ts.map +1 -1
- package/dist/esm/models/BrowserFramework.d.ts +2 -6
- package/dist/esm/models/BrowserFramework.d.ts.map +1 -1
- package/dist/esm/models/BrowserFramework.js +4 -22
- package/dist/esm/models/BrowserFramework.js.map +1 -1
- package/dist/esm/models/CreateDonobuFlow.d.ts +4 -0
- package/dist/esm/models/CreateDonobuFlow.d.ts.map +1 -1
- package/dist/esm/models/EnvironmentDatum.d.ts +54 -0
- package/dist/esm/models/EnvironmentDatum.d.ts.map +1 -0
- package/dist/esm/models/EnvironmentDatum.js +57 -0
- package/dist/esm/models/EnvironmentDatum.js.map +1 -0
- package/dist/esm/models/FlowMetadata.d.ts +14 -1
- package/dist/esm/models/FlowMetadata.d.ts.map +1 -1
- package/dist/esm/models/FlowMetadata.js.map +1 -1
- package/dist/esm/models/PaginatedResult.d.ts +10 -0
- package/dist/esm/models/PaginatedResult.d.ts.map +1 -0
- package/dist/esm/models/PaginatedResult.js +6 -0
- package/dist/esm/models/PaginatedResult.js.map +1 -0
- package/dist/esm/models/ToolCallContext.d.ts +2 -1
- package/dist/esm/models/ToolCallContext.d.ts.map +1 -1
- package/dist/esm/models/ToolTemplateDataSource.d.ts +40 -0
- package/dist/esm/models/ToolTemplateDataSource.d.ts.map +1 -0
- package/dist/esm/models/ToolTemplateDataSource.js +3 -0
- package/dist/esm/models/ToolTemplateDataSource.js.map +1 -0
- package/dist/esm/persistence/DonobuSqliteDb.d.ts.map +1 -1
- package/dist/esm/persistence/DonobuSqliteDb.js +12 -0
- package/dist/esm/persistence/DonobuSqliteDb.js.map +1 -1
- package/dist/esm/persistence/FlowsPersistence.d.ts +23 -14
- package/dist/esm/persistence/FlowsPersistence.d.ts.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceAwsS3.d.ts +10 -5
- package/dist/esm/persistence/FlowsPersistenceAwsS3.d.ts.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceAwsS3.js +79 -1
- package/dist/esm/persistence/FlowsPersistenceAwsS3.js.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceFactoryImpl.js +1 -1
- package/dist/esm/persistence/FlowsPersistenceFactoryImpl.js.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceFilesystem.d.ts +32 -5
- package/dist/esm/persistence/FlowsPersistenceFilesystem.d.ts.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceFilesystem.js +114 -4
- package/dist/esm/persistence/FlowsPersistenceFilesystem.js.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.d.ts +10 -5
- package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.d.ts.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.js +58 -1
- package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.js.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceSqlite.d.ts +12 -5
- package/dist/esm/persistence/FlowsPersistenceSqlite.d.ts.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceSqlite.js +35 -1
- package/dist/esm/persistence/FlowsPersistenceSqlite.js.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceSupabase.d.ts +10 -5
- package/dist/esm/persistence/FlowsPersistenceSupabase.d.ts.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceSupabase.js +46 -1
- package/dist/esm/persistence/FlowsPersistenceSupabase.js.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceVolatile.d.ts +10 -5
- package/dist/esm/persistence/FlowsPersistenceVolatile.d.ts.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceVolatile.js +21 -1
- package/dist/esm/persistence/FlowsPersistenceVolatile.js.map +1 -1
- package/dist/esm/persistence/agents/AgentsPersistence.d.ts +12 -0
- package/dist/esm/persistence/agents/AgentsPersistence.d.ts.map +1 -0
- package/dist/esm/persistence/agents/AgentsPersistence.js +3 -0
- package/dist/esm/persistence/agents/AgentsPersistence.js.map +1 -0
- package/dist/esm/persistence/agents/AgentsPersistenceSqlite.d.ts +15 -0
- package/dist/esm/persistence/agents/AgentsPersistenceSqlite.d.ts.map +1 -0
- package/dist/esm/persistence/agents/AgentsPersistenceSqlite.js +50 -0
- package/dist/esm/persistence/agents/AgentsPersistenceSqlite.js.map +1 -0
- package/dist/esm/persistence/agents/AgentsPersistenceVolatile.d.ts +14 -0
- package/dist/esm/persistence/agents/AgentsPersistenceVolatile.d.ts.map +1 -0
- package/dist/esm/persistence/agents/AgentsPersistenceVolatile.js +26 -0
- package/dist/esm/persistence/agents/AgentsPersistenceVolatile.js.map +1 -0
- package/dist/esm/persistence/env/EnvPersistence.d.ts +20 -0
- package/dist/esm/persistence/env/EnvPersistence.d.ts.map +1 -0
- package/dist/esm/persistence/env/EnvPersistence.js +3 -0
- package/dist/esm/persistence/env/EnvPersistence.js.map +1 -0
- package/dist/esm/persistence/env/EnvPersistenceAwsS3.d.ts +31 -0
- package/dist/esm/persistence/env/EnvPersistenceAwsS3.d.ts.map +1 -0
- package/dist/esm/persistence/env/EnvPersistenceAwsS3.js +117 -0
- package/dist/esm/persistence/env/EnvPersistenceAwsS3.js.map +1 -0
- package/dist/esm/persistence/env/EnvPersistenceFactory.d.ts +6 -0
- package/dist/esm/persistence/env/EnvPersistenceFactory.d.ts.map +1 -0
- package/dist/esm/persistence/env/EnvPersistenceFactory.js +3 -0
- package/dist/esm/persistence/env/EnvPersistenceFactory.js.map +1 -0
- package/dist/esm/persistence/env/EnvPersistenceFactoryImpl.d.ts +45 -0
- package/dist/esm/persistence/env/EnvPersistenceFactoryImpl.d.ts.map +1 -0
- package/dist/esm/persistence/env/EnvPersistenceFactoryImpl.js +86 -0
- package/dist/esm/persistence/env/EnvPersistenceFactoryImpl.js.map +1 -0
- package/dist/esm/persistence/env/EnvPersistenceFactoryPreset.d.ts +12 -0
- package/dist/esm/persistence/env/EnvPersistenceFactoryPreset.d.ts.map +1 -0
- package/dist/esm/persistence/env/EnvPersistenceFactoryPreset.js +17 -0
- package/dist/esm/persistence/env/EnvPersistenceFactoryPreset.js.map +1 -0
- package/dist/esm/persistence/env/EnvPersistenceFilesystem.d.ts +36 -0
- package/dist/esm/persistence/env/EnvPersistenceFilesystem.d.ts.map +1 -0
- package/dist/esm/persistence/env/EnvPersistenceFilesystem.js +132 -0
- package/dist/esm/persistence/env/EnvPersistenceFilesystem.js.map +1 -0
- package/dist/esm/persistence/env/EnvPersistenceGoogleCloudStorage.d.ts +30 -0
- package/dist/esm/persistence/env/EnvPersistenceGoogleCloudStorage.d.ts.map +1 -0
- package/dist/esm/persistence/env/EnvPersistenceGoogleCloudStorage.js +131 -0
- package/dist/esm/persistence/env/EnvPersistenceGoogleCloudStorage.js.map +1 -0
- package/dist/esm/persistence/env/EnvPersistenceSqlite.d.ts +19 -0
- package/dist/esm/persistence/env/EnvPersistenceSqlite.d.ts.map +1 -0
- package/dist/esm/persistence/env/EnvPersistenceSqlite.js +54 -0
- package/dist/esm/persistence/env/EnvPersistenceSqlite.js.map +1 -0
- package/dist/esm/persistence/env/EnvPersistenceSupabase.d.ts +17 -0
- package/dist/esm/persistence/env/EnvPersistenceSupabase.d.ts.map +1 -0
- package/dist/esm/persistence/env/EnvPersistenceSupabase.js +60 -0
- package/dist/esm/persistence/env/EnvPersistenceSupabase.js.map +1 -0
- package/dist/esm/persistence/env/EnvPersistenceVolatile.d.ts +13 -0
- package/dist/esm/persistence/env/EnvPersistenceVolatile.d.ts.map +1 -0
- package/dist/esm/persistence/env/EnvPersistenceVolatile.js +31 -0
- package/dist/esm/persistence/env/EnvPersistenceVolatile.js.map +1 -0
- package/dist/esm/persistence/flows/FlowsPersistence.d.ts +87 -0
- package/dist/esm/persistence/flows/FlowsPersistence.d.ts.map +1 -0
- package/dist/esm/persistence/flows/FlowsPersistence.js +3 -0
- package/dist/esm/persistence/flows/FlowsPersistence.js.map +1 -0
- package/dist/esm/persistence/flows/FlowsPersistenceAwsS3.d.ts +71 -0
- package/dist/esm/persistence/flows/FlowsPersistenceAwsS3.d.ts.map +1 -0
- package/dist/esm/persistence/flows/FlowsPersistenceAwsS3.js +448 -0
- package/dist/esm/persistence/flows/FlowsPersistenceAwsS3.js.map +1 -0
- package/dist/esm/persistence/flows/FlowsPersistenceFactory.d.ts +10 -0
- package/dist/esm/persistence/flows/FlowsPersistenceFactory.d.ts.map +1 -0
- package/dist/esm/persistence/flows/FlowsPersistenceFactory.js +3 -0
- package/dist/esm/persistence/flows/FlowsPersistenceFactory.js.map +1 -0
- package/dist/esm/persistence/flows/FlowsPersistenceFactoryImpl.d.ts +57 -0
- package/dist/esm/persistence/flows/FlowsPersistenceFactoryImpl.d.ts.map +1 -0
- package/dist/esm/persistence/flows/FlowsPersistenceFactoryImpl.js +238 -0
- package/dist/esm/persistence/flows/FlowsPersistenceFactoryImpl.js.map +1 -0
- package/dist/esm/persistence/flows/FlowsPersistenceFactoryPreset.d.ts +13 -0
- package/dist/esm/persistence/flows/FlowsPersistenceFactoryPreset.d.ts.map +1 -0
- package/dist/esm/persistence/flows/FlowsPersistenceFactoryPreset.js +24 -0
- package/dist/esm/persistence/flows/FlowsPersistenceFactoryPreset.js.map +1 -0
- package/dist/esm/persistence/flows/FlowsPersistenceFilesystem.d.ts +52 -0
- package/dist/esm/persistence/flows/FlowsPersistenceFilesystem.d.ts.map +1 -0
- package/dist/esm/persistence/flows/FlowsPersistenceFilesystem.js +291 -0
- package/dist/esm/persistence/flows/FlowsPersistenceFilesystem.js.map +1 -0
- package/dist/esm/persistence/flows/FlowsPersistenceGoogleCloudStorage.d.ts +71 -0
- package/dist/esm/persistence/flows/FlowsPersistenceGoogleCloudStorage.d.ts.map +1 -0
- package/dist/esm/persistence/flows/FlowsPersistenceGoogleCloudStorage.js +429 -0
- package/dist/esm/persistence/flows/FlowsPersistenceGoogleCloudStorage.js.map +1 -0
- package/dist/esm/persistence/flows/FlowsPersistenceSqlite.d.ts +43 -0
- package/dist/esm/persistence/flows/FlowsPersistenceSqlite.d.ts.map +1 -0
- package/dist/esm/persistence/flows/FlowsPersistenceSqlite.js +259 -0
- package/dist/esm/persistence/flows/FlowsPersistenceSqlite.js.map +1 -0
- package/dist/esm/persistence/flows/FlowsPersistenceSupabase.d.ts +40 -0
- package/dist/esm/persistence/flows/FlowsPersistenceSupabase.d.ts.map +1 -0
- package/dist/esm/persistence/flows/FlowsPersistenceSupabase.js +218 -0
- package/dist/esm/persistence/flows/FlowsPersistenceSupabase.js.map +1 -0
- package/dist/esm/persistence/flows/FlowsPersistenceVolatile.d.ts +37 -0
- package/dist/esm/persistence/flows/FlowsPersistenceVolatile.d.ts.map +1 -0
- package/dist/esm/persistence/flows/FlowsPersistenceVolatile.js +151 -0
- package/dist/esm/persistence/flows/FlowsPersistenceVolatile.js.map +1 -0
- package/dist/esm/persistence/gptconfigs/GptConfigsPersistence.d.ts +12 -0
- package/dist/esm/persistence/gptconfigs/GptConfigsPersistence.d.ts.map +1 -0
- package/dist/esm/persistence/gptconfigs/GptConfigsPersistence.js +3 -0
- package/dist/esm/persistence/gptconfigs/GptConfigsPersistence.js.map +1 -0
- package/dist/esm/persistence/gptconfigs/GptConfigsPersistenceSqlite.d.ts +13 -0
- package/dist/esm/persistence/gptconfigs/GptConfigsPersistenceSqlite.d.ts.map +1 -0
- package/dist/esm/persistence/gptconfigs/GptConfigsPersistenceSqlite.js +35 -0
- package/dist/esm/persistence/gptconfigs/GptConfigsPersistenceSqlite.js.map +1 -0
- package/dist/esm/persistence/gptconfigs/GptConfigsPersistenceVolatile.d.ts +15 -0
- package/dist/esm/persistence/gptconfigs/GptConfigsPersistenceVolatile.d.ts.map +1 -0
- package/dist/esm/persistence/gptconfigs/GptConfigsPersistenceVolatile.js +31 -0
- package/dist/esm/persistence/gptconfigs/GptConfigsPersistenceVolatile.js.map +1 -0
- package/dist/esm/playwrightTestExtensions.d.ts.map +1 -1
- package/dist/esm/playwrightTestExtensions.js +31 -10
- package/dist/esm/playwrightTestExtensions.js.map +1 -1
- package/dist/esm/tools/GoToWebpageTool.d.ts.map +1 -1
- package/dist/esm/tools/GoToWebpageTool.js +3 -2
- package/dist/esm/tools/GoToWebpageTool.js.map +1 -1
- package/dist/esm/utils/TemplateInterpolator.d.ts +47 -0
- package/dist/esm/utils/TemplateInterpolator.d.ts.map +1 -0
- package/dist/esm/utils/TemplateInterpolator.js +352 -0
- package/dist/esm/utils/TemplateInterpolator.js.map +1 -0
- package/dist/lib/DonobuExtendedPage.d.ts +106 -0
- package/dist/lib/DonobuExtendedPage.d.ts.map +1 -0
- package/dist/lib/DonobuExtendedPage.js +3 -0
- package/dist/lib/DonobuExtendedPage.js.map +1 -0
- package/dist/lib/constants.d.ts +8 -0
- package/dist/lib/constants.d.ts.map +1 -0
- package/dist/lib/constants.js +14 -0
- package/dist/lib/constants.js.map +1 -0
- package/dist/lib/fixtures/browserState.d.ts +6 -0
- package/dist/lib/fixtures/browserState.d.ts.map +1 -0
- package/dist/lib/fixtures/browserState.js +15 -0
- package/dist/lib/fixtures/browserState.js.map +1 -0
- package/dist/lib/fixtures/gptClients.d.ts +40 -0
- package/dist/lib/fixtures/gptClients.d.ts.map +1 -0
- package/dist/lib/fixtures/gptClients.js +187 -0
- package/dist/lib/fixtures/gptClients.js.map +1 -0
- package/dist/lib/fixtures/testExtension.d.ts +10 -0
- package/dist/lib/fixtures/testExtension.d.ts.map +1 -0
- package/dist/lib/fixtures/testExtension.js +383 -0
- package/dist/lib/fixtures/testExtension.js.map +1 -0
- package/dist/lib/testExtension.d.ts +10 -0
- package/dist/lib/testExtension.d.ts.map +1 -0
- package/dist/lib/testExtension.js +383 -0
- package/dist/lib/testExtension.js.map +1 -0
- package/dist/lib/types.d.ts +106 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +3 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/lib/utils/donobuTestStack.d.ts +7 -0
- package/dist/lib/utils/donobuTestStack.d.ts.map +1 -0
- package/dist/lib/utils/donobuTestStack.js +31 -0
- package/dist/lib/utils/donobuTestStack.js.map +1 -0
- package/dist/lib/utils/selfHealing.d.ts +15 -0
- package/dist/lib/utils/selfHealing.d.ts.map +1 -0
- package/dist/lib/utils/selfHealing.js +89 -0
- package/dist/lib/utils/selfHealing.js.map +1 -0
- package/dist/main.d.ts +5 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +8 -5
- package/dist/main.js.map +1 -1
- package/dist/managers/AdminApiController.d.ts.map +1 -1
- package/dist/managers/AdminApiController.js +7 -0
- package/dist/managers/AdminApiController.js.map +1 -1
- package/dist/managers/AgentsManager.d.ts +1 -1
- package/dist/managers/AgentsManager.d.ts.map +1 -1
- package/dist/managers/DonobuFlow.d.ts +3 -2
- package/dist/managers/DonobuFlow.d.ts.map +1 -1
- package/dist/managers/DonobuFlow.js +90 -21
- package/dist/managers/DonobuFlow.js.map +1 -1
- package/dist/managers/DonobuFlowsManager.d.ts +47 -6
- package/dist/managers/DonobuFlowsManager.d.ts.map +1 -1
- package/dist/managers/DonobuFlowsManager.js +104 -24
- package/dist/managers/DonobuFlowsManager.js.map +1 -1
- package/dist/managers/DonobuStack.d.ts +18 -4
- package/dist/managers/DonobuStack.d.ts.map +1 -1
- package/dist/managers/DonobuStack.js +21 -5
- package/dist/managers/DonobuStack.js.map +1 -1
- package/dist/managers/EnvDataManager.d.ts +58 -0
- package/dist/managers/EnvDataManager.d.ts.map +1 -0
- package/dist/managers/EnvDataManager.js +134 -0
- package/dist/managers/EnvDataManager.js.map +1 -0
- package/dist/managers/EnvironmentDataManager.d.ts +58 -0
- package/dist/managers/EnvironmentDataManager.d.ts.map +1 -0
- package/dist/managers/EnvironmentDataManager.js +134 -0
- package/dist/managers/EnvironmentDataManager.js.map +1 -0
- package/dist/managers/GptConfigsManager.d.ts +1 -1
- package/dist/managers/GptConfigsManager.d.ts.map +1 -1
- package/dist/managers/PageInspector.d.ts +0 -1
- package/dist/managers/PageInspector.d.ts.map +1 -1
- package/dist/managers/PageInspector.js +29 -26
- package/dist/managers/PageInspector.js.map +1 -1
- package/dist/managers/ToolManager.d.ts +10 -0
- package/dist/managers/ToolManager.d.ts.map +1 -1
- package/dist/managers/ToolManager.js +46 -3
- package/dist/managers/ToolManager.js.map +1 -1
- package/dist/models/BrowserConfig.d.ts +1 -6
- package/dist/models/BrowserConfig.d.ts.map +1 -1
- package/dist/models/BrowserFramework.d.ts +2 -6
- package/dist/models/BrowserFramework.d.ts.map +1 -1
- package/dist/models/BrowserFramework.js +4 -22
- package/dist/models/BrowserFramework.js.map +1 -1
- package/dist/models/CreateDonobuFlow.d.ts +4 -0
- package/dist/models/CreateDonobuFlow.d.ts.map +1 -1
- package/dist/models/EnvironmentDatum.d.ts +54 -0
- package/dist/models/EnvironmentDatum.d.ts.map +1 -0
- package/dist/models/EnvironmentDatum.js +57 -0
- package/dist/models/EnvironmentDatum.js.map +1 -0
- package/dist/models/FlowMetadata.d.ts +14 -1
- package/dist/models/FlowMetadata.d.ts.map +1 -1
- package/dist/models/FlowMetadata.js.map +1 -1
- package/dist/models/PaginatedResult.d.ts +10 -0
- package/dist/models/PaginatedResult.d.ts.map +1 -0
- package/dist/models/PaginatedResult.js +6 -0
- package/dist/models/PaginatedResult.js.map +1 -0
- package/dist/models/ToolCallContext.d.ts +2 -1
- package/dist/models/ToolCallContext.d.ts.map +1 -1
- package/dist/models/ToolTemplateDataSource.d.ts +40 -0
- package/dist/models/ToolTemplateDataSource.d.ts.map +1 -0
- package/dist/models/ToolTemplateDataSource.js +3 -0
- package/dist/models/ToolTemplateDataSource.js.map +1 -0
- package/dist/persistence/DonobuSqliteDb.d.ts.map +1 -1
- package/dist/persistence/DonobuSqliteDb.js +12 -0
- package/dist/persistence/DonobuSqliteDb.js.map +1 -1
- package/dist/persistence/FlowsPersistence.d.ts +23 -14
- package/dist/persistence/FlowsPersistence.d.ts.map +1 -1
- package/dist/persistence/FlowsPersistenceAwsS3.d.ts +10 -5
- package/dist/persistence/FlowsPersistenceAwsS3.d.ts.map +1 -1
- package/dist/persistence/FlowsPersistenceAwsS3.js +79 -1
- package/dist/persistence/FlowsPersistenceAwsS3.js.map +1 -1
- package/dist/persistence/FlowsPersistenceFactoryImpl.js +1 -1
- package/dist/persistence/FlowsPersistenceFactoryImpl.js.map +1 -1
- package/dist/persistence/FlowsPersistenceFilesystem.d.ts +32 -5
- package/dist/persistence/FlowsPersistenceFilesystem.d.ts.map +1 -1
- package/dist/persistence/FlowsPersistenceFilesystem.js +114 -4
- package/dist/persistence/FlowsPersistenceFilesystem.js.map +1 -1
- package/dist/persistence/FlowsPersistenceGoogleCloudStorage.d.ts +10 -5
- package/dist/persistence/FlowsPersistenceGoogleCloudStorage.d.ts.map +1 -1
- package/dist/persistence/FlowsPersistenceGoogleCloudStorage.js +58 -1
- package/dist/persistence/FlowsPersistenceGoogleCloudStorage.js.map +1 -1
- package/dist/persistence/FlowsPersistenceSqlite.d.ts +12 -5
- package/dist/persistence/FlowsPersistenceSqlite.d.ts.map +1 -1
- package/dist/persistence/FlowsPersistenceSqlite.js +35 -1
- package/dist/persistence/FlowsPersistenceSqlite.js.map +1 -1
- package/dist/persistence/FlowsPersistenceSupabase.d.ts +10 -5
- package/dist/persistence/FlowsPersistenceSupabase.d.ts.map +1 -1
- package/dist/persistence/FlowsPersistenceSupabase.js +46 -1
- package/dist/persistence/FlowsPersistenceSupabase.js.map +1 -1
- package/dist/persistence/FlowsPersistenceVolatile.d.ts +10 -5
- package/dist/persistence/FlowsPersistenceVolatile.d.ts.map +1 -1
- package/dist/persistence/FlowsPersistenceVolatile.js +21 -1
- package/dist/persistence/FlowsPersistenceVolatile.js.map +1 -1
- package/dist/persistence/agents/AgentsPersistence.d.ts +12 -0
- package/dist/persistence/agents/AgentsPersistence.d.ts.map +1 -0
- package/dist/persistence/agents/AgentsPersistence.js +3 -0
- package/dist/persistence/agents/AgentsPersistence.js.map +1 -0
- package/dist/persistence/agents/AgentsPersistenceSqlite.d.ts +15 -0
- package/dist/persistence/agents/AgentsPersistenceSqlite.d.ts.map +1 -0
- package/dist/persistence/agents/AgentsPersistenceSqlite.js +50 -0
- package/dist/persistence/agents/AgentsPersistenceSqlite.js.map +1 -0
- package/dist/persistence/agents/AgentsPersistenceVolatile.d.ts +14 -0
- package/dist/persistence/agents/AgentsPersistenceVolatile.d.ts.map +1 -0
- package/dist/persistence/agents/AgentsPersistenceVolatile.js +26 -0
- package/dist/persistence/agents/AgentsPersistenceVolatile.js.map +1 -0
- package/dist/persistence/env/EnvPersistence.d.ts +20 -0
- package/dist/persistence/env/EnvPersistence.d.ts.map +1 -0
- package/dist/persistence/env/EnvPersistence.js +3 -0
- package/dist/persistence/env/EnvPersistence.js.map +1 -0
- package/dist/persistence/env/EnvPersistenceAwsS3.d.ts +31 -0
- package/dist/persistence/env/EnvPersistenceAwsS3.d.ts.map +1 -0
- package/dist/persistence/env/EnvPersistenceAwsS3.js +117 -0
- package/dist/persistence/env/EnvPersistenceAwsS3.js.map +1 -0
- package/dist/persistence/env/EnvPersistenceFactory.d.ts +6 -0
- package/dist/persistence/env/EnvPersistenceFactory.d.ts.map +1 -0
- package/dist/persistence/env/EnvPersistenceFactory.js +3 -0
- package/dist/persistence/env/EnvPersistenceFactory.js.map +1 -0
- package/dist/persistence/env/EnvPersistenceFactoryImpl.d.ts +45 -0
- package/dist/persistence/env/EnvPersistenceFactoryImpl.d.ts.map +1 -0
- package/dist/persistence/env/EnvPersistenceFactoryImpl.js +86 -0
- package/dist/persistence/env/EnvPersistenceFactoryImpl.js.map +1 -0
- package/dist/persistence/env/EnvPersistenceFactoryPreset.d.ts +12 -0
- package/dist/persistence/env/EnvPersistenceFactoryPreset.d.ts.map +1 -0
- package/dist/persistence/env/EnvPersistenceFactoryPreset.js +17 -0
- package/dist/persistence/env/EnvPersistenceFactoryPreset.js.map +1 -0
- package/dist/persistence/env/EnvPersistenceFilesystem.d.ts +36 -0
- package/dist/persistence/env/EnvPersistenceFilesystem.d.ts.map +1 -0
- package/dist/persistence/env/EnvPersistenceFilesystem.js +132 -0
- package/dist/persistence/env/EnvPersistenceFilesystem.js.map +1 -0
- package/dist/persistence/env/EnvPersistenceGoogleCloudStorage.d.ts +30 -0
- package/dist/persistence/env/EnvPersistenceGoogleCloudStorage.d.ts.map +1 -0
- package/dist/persistence/env/EnvPersistenceGoogleCloudStorage.js +131 -0
- package/dist/persistence/env/EnvPersistenceGoogleCloudStorage.js.map +1 -0
- package/dist/persistence/env/EnvPersistenceSqlite.d.ts +19 -0
- package/dist/persistence/env/EnvPersistenceSqlite.d.ts.map +1 -0
- package/dist/persistence/env/EnvPersistenceSqlite.js +54 -0
- package/dist/persistence/env/EnvPersistenceSqlite.js.map +1 -0
- package/dist/persistence/env/EnvPersistenceSupabase.d.ts +17 -0
- package/dist/persistence/env/EnvPersistenceSupabase.d.ts.map +1 -0
- package/dist/persistence/env/EnvPersistenceSupabase.js +60 -0
- package/dist/persistence/env/EnvPersistenceSupabase.js.map +1 -0
- package/dist/persistence/env/EnvPersistenceVolatile.d.ts +13 -0
- package/dist/persistence/env/EnvPersistenceVolatile.d.ts.map +1 -0
- package/dist/persistence/env/EnvPersistenceVolatile.js +31 -0
- package/dist/persistence/env/EnvPersistenceVolatile.js.map +1 -0
- package/dist/persistence/flows/FlowsPersistence.d.ts +87 -0
- package/dist/persistence/flows/FlowsPersistence.d.ts.map +1 -0
- package/dist/persistence/flows/FlowsPersistence.js +3 -0
- package/dist/persistence/flows/FlowsPersistence.js.map +1 -0
- package/dist/persistence/flows/FlowsPersistenceAwsS3.d.ts +71 -0
- package/dist/persistence/flows/FlowsPersistenceAwsS3.d.ts.map +1 -0
- package/dist/persistence/flows/FlowsPersistenceAwsS3.js +448 -0
- package/dist/persistence/flows/FlowsPersistenceAwsS3.js.map +1 -0
- package/dist/persistence/flows/FlowsPersistenceFactory.d.ts +10 -0
- package/dist/persistence/flows/FlowsPersistenceFactory.d.ts.map +1 -0
- package/dist/persistence/flows/FlowsPersistenceFactory.js +3 -0
- package/dist/persistence/flows/FlowsPersistenceFactory.js.map +1 -0
- package/dist/persistence/flows/FlowsPersistenceFactoryImpl.d.ts +57 -0
- package/dist/persistence/flows/FlowsPersistenceFactoryImpl.d.ts.map +1 -0
- package/dist/persistence/flows/FlowsPersistenceFactoryImpl.js +238 -0
- package/dist/persistence/flows/FlowsPersistenceFactoryImpl.js.map +1 -0
- package/dist/persistence/flows/FlowsPersistenceFactoryPreset.d.ts +13 -0
- package/dist/persistence/flows/FlowsPersistenceFactoryPreset.d.ts.map +1 -0
- package/dist/persistence/flows/FlowsPersistenceFactoryPreset.js +24 -0
- package/dist/persistence/flows/FlowsPersistenceFactoryPreset.js.map +1 -0
- package/dist/persistence/flows/FlowsPersistenceFilesystem.d.ts +52 -0
- package/dist/persistence/flows/FlowsPersistenceFilesystem.d.ts.map +1 -0
- package/dist/persistence/flows/FlowsPersistenceFilesystem.js +291 -0
- package/dist/persistence/flows/FlowsPersistenceFilesystem.js.map +1 -0
- package/dist/persistence/flows/FlowsPersistenceGoogleCloudStorage.d.ts +71 -0
- package/dist/persistence/flows/FlowsPersistenceGoogleCloudStorage.d.ts.map +1 -0
- package/dist/persistence/flows/FlowsPersistenceGoogleCloudStorage.js +429 -0
- package/dist/persistence/flows/FlowsPersistenceGoogleCloudStorage.js.map +1 -0
- package/dist/persistence/flows/FlowsPersistenceSqlite.d.ts +43 -0
- package/dist/persistence/flows/FlowsPersistenceSqlite.d.ts.map +1 -0
- package/dist/persistence/flows/FlowsPersistenceSqlite.js +259 -0
- package/dist/persistence/flows/FlowsPersistenceSqlite.js.map +1 -0
- package/dist/persistence/flows/FlowsPersistenceSupabase.d.ts +40 -0
- package/dist/persistence/flows/FlowsPersistenceSupabase.d.ts.map +1 -0
- package/dist/persistence/flows/FlowsPersistenceSupabase.js +218 -0
- package/dist/persistence/flows/FlowsPersistenceSupabase.js.map +1 -0
- package/dist/persistence/flows/FlowsPersistenceVolatile.d.ts +37 -0
- package/dist/persistence/flows/FlowsPersistenceVolatile.d.ts.map +1 -0
- package/dist/persistence/flows/FlowsPersistenceVolatile.js +151 -0
- package/dist/persistence/flows/FlowsPersistenceVolatile.js.map +1 -0
- package/dist/persistence/gptconfigs/GptConfigsPersistence.d.ts +12 -0
- package/dist/persistence/gptconfigs/GptConfigsPersistence.d.ts.map +1 -0
- package/dist/persistence/gptconfigs/GptConfigsPersistence.js +3 -0
- package/dist/persistence/gptconfigs/GptConfigsPersistence.js.map +1 -0
- package/dist/persistence/gptconfigs/GptConfigsPersistenceSqlite.d.ts +13 -0
- package/dist/persistence/gptconfigs/GptConfigsPersistenceSqlite.d.ts.map +1 -0
- package/dist/persistence/gptconfigs/GptConfigsPersistenceSqlite.js +35 -0
- package/dist/persistence/gptconfigs/GptConfigsPersistenceSqlite.js.map +1 -0
- package/dist/persistence/gptconfigs/GptConfigsPersistenceVolatile.d.ts +15 -0
- package/dist/persistence/gptconfigs/GptConfigsPersistenceVolatile.d.ts.map +1 -0
- package/dist/persistence/gptconfigs/GptConfigsPersistenceVolatile.js +31 -0
- package/dist/persistence/gptconfigs/GptConfigsPersistenceVolatile.js.map +1 -0
- package/dist/playwrightTestExtensions.d.ts.map +1 -1
- package/dist/playwrightTestExtensions.js +31 -10
- package/dist/playwrightTestExtensions.js.map +1 -1
- package/dist/tools/GoToWebpageTool.d.ts.map +1 -1
- package/dist/tools/GoToWebpageTool.js +3 -2
- package/dist/tools/GoToWebpageTool.js.map +1 -1
- package/dist/utils/TemplateInterpolator.d.ts +47 -0
- package/dist/utils/TemplateInterpolator.d.ts.map +1 -0
- package/dist/utils/TemplateInterpolator.js +352 -0
- package/dist/utils/TemplateInterpolator.js.map +1 -0
- package/package.json +3 -1
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getOrCreateDefaultGptClient = getOrCreateDefaultGptClient;
|
|
4
|
+
exports.createGptClient = createGptClient;
|
|
5
|
+
exports.anthropicClient = anthropicClient;
|
|
6
|
+
exports.anthropicClientFixture = anthropicClientFixture;
|
|
7
|
+
exports.anthropicAwsBedrockClient = anthropicAwsBedrockClient;
|
|
8
|
+
exports.anthropicAwsBedrockClientFixture = anthropicAwsBedrockClientFixture;
|
|
9
|
+
exports.googleGeminiClient = googleGeminiClient;
|
|
10
|
+
exports.googleGeminiClientFixture = googleGeminiClientFixture;
|
|
11
|
+
exports.openAiClient = openAiClient;
|
|
12
|
+
exports.openAiClientFixture = openAiClientFixture;
|
|
13
|
+
exports.vercelAiClientFixture = vercelAiClientFixture;
|
|
14
|
+
exports.gptClientFixture = gptClientFixture;
|
|
15
|
+
const GptClientFactory_1 = require("../../clients/GptClientFactory");
|
|
16
|
+
const VercelAiGptClient_1 = require("../../clients/VercelAiGptClient");
|
|
17
|
+
const envVars_1 = require("../../envVars");
|
|
18
|
+
const donobuTestStack_1 = require("../utils/donobuTestStack");
|
|
19
|
+
const DEFAULT_GPT_MODEL_FOR_PLATFORM = {
|
|
20
|
+
ANTHROPIC: process.env[envVars_1.ENV_VAR_NAMES.ANTHROPIC_MODEL_NAME] ||
|
|
21
|
+
'claude-3-5-sonnet-latest',
|
|
22
|
+
ANTHROPIC_AWS_BEDROCK: process.env[envVars_1.ENV_VAR_NAMES.AWS_BEDROCK_MODEL_NAME] || undefined,
|
|
23
|
+
GOOGLE_GEMINI: process.env[envVars_1.ENV_VAR_NAMES.GOOGLE_GENERATIVE_AI_MODEL_NAME] ||
|
|
24
|
+
'gemini-2.0-flash',
|
|
25
|
+
OPENAI: process.env[envVars_1.ENV_VAR_NAMES.OPENAI_API_MODEL_NAME] || 'gpt-4o',
|
|
26
|
+
};
|
|
27
|
+
let defaultGptClient = undefined;
|
|
28
|
+
async function getOrCreateDefaultGptClient() {
|
|
29
|
+
if (!defaultGptClient) {
|
|
30
|
+
defaultGptClient = await createGptClient();
|
|
31
|
+
return defaultGptClient;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return defaultGptClient;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* This fixture resolves a GPT client based on environment variables.
|
|
39
|
+
* Supplying different environment variables will result in different GPT
|
|
40
|
+
* clients being created. Here is a mapping of client type to environment
|
|
41
|
+
* variables for how to create the various types of clients...
|
|
42
|
+
*
|
|
43
|
+
* Anthropic AWS Bedrock GPT client requires:
|
|
44
|
+
* - AWS_BEDROCK_MODEL_NAME
|
|
45
|
+
* - AWS_REGION
|
|
46
|
+
* - AWS_ACCESS_KEY_ID
|
|
47
|
+
* - AWS_SECRET_ACCESS_KEY
|
|
48
|
+
*
|
|
49
|
+
* Anthropic GPT client requires:
|
|
50
|
+
* - ANTHROPIC_API_KEY
|
|
51
|
+
*
|
|
52
|
+
* Google GPT client requires:
|
|
53
|
+
* - GOOGLE_GENERATIVE_AI_API_KEY
|
|
54
|
+
*
|
|
55
|
+
* OpenAI GPT client requires:
|
|
56
|
+
* - OPENAI_API_KEY
|
|
57
|
+
*
|
|
58
|
+
* If the modelName is not specified, it will be defaulted according to the
|
|
59
|
+
* DEFAULT_GPT_MODEL_FOR_PLATFORM mapping.
|
|
60
|
+
*/
|
|
61
|
+
async function createGptClient(modelName) {
|
|
62
|
+
// Check which API keys are available
|
|
63
|
+
const hasAwsCredentials = !!DEFAULT_GPT_MODEL_FOR_PLATFORM.ANTHROPIC_AWS_BEDROCK &&
|
|
64
|
+
!!process.env[envVars_1.ENV_VAR_NAMES.AWS_ACCESS_KEY_ID] &&
|
|
65
|
+
!!process.env[envVars_1.ENV_VAR_NAMES.AWS_SECRET_ACCESS_KEY];
|
|
66
|
+
const hasAnthropicKey = !!process.env[envVars_1.ENV_VAR_NAMES.ANTHROPIC_API_KEY];
|
|
67
|
+
const hasGoogleKey = !!process.env[envVars_1.ENV_VAR_NAMES.GOOGLE_GENERATIVE_AI_API_KEY];
|
|
68
|
+
const hasOpenAiKey = !!process.env[envVars_1.ENV_VAR_NAMES.OPENAI_API_KEY];
|
|
69
|
+
// Priority order: Anthropic AWS Bedrock, Anthropic, Google, OpenAI
|
|
70
|
+
if (hasAwsCredentials) {
|
|
71
|
+
const model = modelName || DEFAULT_GPT_MODEL_FOR_PLATFORM.ANTHROPIC_AWS_BEDROCK;
|
|
72
|
+
const region = process.env[envVars_1.ENV_VAR_NAMES.AWS_REGION];
|
|
73
|
+
const accessKeyId = process.env[envVars_1.ENV_VAR_NAMES.AWS_ACCESS_KEY_ID];
|
|
74
|
+
const secretAccessKey = process.env[envVars_1.ENV_VAR_NAMES.AWS_SECRET_ACCESS_KEY];
|
|
75
|
+
return anthropicAwsBedrockClient(model, region, accessKeyId, secretAccessKey);
|
|
76
|
+
}
|
|
77
|
+
else if (hasAnthropicKey) {
|
|
78
|
+
const model = modelName || DEFAULT_GPT_MODEL_FOR_PLATFORM.ANTHROPIC;
|
|
79
|
+
return anthropicClient(model);
|
|
80
|
+
}
|
|
81
|
+
else if (hasGoogleKey) {
|
|
82
|
+
const model = modelName || DEFAULT_GPT_MODEL_FOR_PLATFORM.GOOGLE_GEMINI;
|
|
83
|
+
return googleGeminiClient(model);
|
|
84
|
+
}
|
|
85
|
+
else if (hasOpenAiKey) {
|
|
86
|
+
const model = modelName || DEFAULT_GPT_MODEL_FOR_PLATFORM.OPENAI;
|
|
87
|
+
return openAiClient(model);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
const donobu = await (0, donobuTestStack_1.getOrCreateDonobuStack)();
|
|
91
|
+
const defaultClient = (await donobu.flowsManager.createGptClient(null))
|
|
92
|
+
.gptClient;
|
|
93
|
+
if (defaultClient) {
|
|
94
|
+
return defaultClient;
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
// No API keys are available and there is not flow-runner set up, throw an error.
|
|
98
|
+
throw new Error(`No API keys found for any supported GPT providers.
|
|
99
|
+
Please set one of the following environment variables: ANTHROPIC_API_KEY, GOOGLE_GENERATIVE_AI_API_KEY, or OPENAI_API_KEY.
|
|
100
|
+
Alternatively, set a flow-runner agent via POST /api/agents/flow-runner or via the Donobu app.`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
async function anthropicClient(modelName, apiKey) {
|
|
105
|
+
const divinedApiKey = apiKey || process.env[envVars_1.ENV_VAR_NAMES.ANTHROPIC_API_KEY];
|
|
106
|
+
if (!divinedApiKey) {
|
|
107
|
+
throw new Error('An API key is required to use the Anthropic API. Please provide one as an argument or set it using the ANTHROPIC_API_KEY environment variable.');
|
|
108
|
+
}
|
|
109
|
+
return GptClientFactory_1.GptClientFactory.createFromGptConfig({
|
|
110
|
+
type: 'ANTHROPIC',
|
|
111
|
+
apiKey: divinedApiKey,
|
|
112
|
+
modelName: modelName,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
function anthropicClientFixture(modelName, apiKey) {
|
|
116
|
+
return async ({}, use) => {
|
|
117
|
+
const client = await anthropicClient(modelName, apiKey);
|
|
118
|
+
await use(client);
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
async function anthropicAwsBedrockClient(modelName, region, accessKeyId, secretAccessKey) {
|
|
122
|
+
const divinedAccessKeyId = accessKeyId || process.env[envVars_1.ENV_VAR_NAMES.AWS_ACCESS_KEY_ID];
|
|
123
|
+
const divinedSecretAccessKey = secretAccessKey || process.env[envVars_1.ENV_VAR_NAMES.AWS_SECRET_ACCESS_KEY];
|
|
124
|
+
if (!divinedAccessKeyId || !divinedSecretAccessKey) {
|
|
125
|
+
throw new Error('AWS access key ID and secret access key are required to use the Anthropic AWS Bedrock API. Please provide them as arguments or set them using the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables.');
|
|
126
|
+
}
|
|
127
|
+
return GptClientFactory_1.GptClientFactory.createFromGptConfig({
|
|
128
|
+
type: 'ANTHROPIC_AWS_BEDROCK',
|
|
129
|
+
region: region,
|
|
130
|
+
modelName: modelName,
|
|
131
|
+
accessKeyId: divinedAccessKeyId,
|
|
132
|
+
secretAccessKey: divinedSecretAccessKey,
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
function anthropicAwsBedrockClientFixture(modelName, region, accessKeyId, secretAccessKey) {
|
|
136
|
+
return async ({}, use) => {
|
|
137
|
+
const client = await anthropicAwsBedrockClient(modelName, region, accessKeyId, secretAccessKey);
|
|
138
|
+
await use(client);
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
async function googleGeminiClient(modelName, apiKey) {
|
|
142
|
+
const divinedApiKey = apiKey || process.env[envVars_1.ENV_VAR_NAMES.GOOGLE_GENERATIVE_AI_API_KEY];
|
|
143
|
+
if (!divinedApiKey) {
|
|
144
|
+
throw new Error('An API key is required to use the Google Gemini API. Please provide one as an argument or set it using the GOOGLE_GENERATIVE_AI_API_KEY environment variable.');
|
|
145
|
+
}
|
|
146
|
+
return GptClientFactory_1.GptClientFactory.createFromGptConfig({
|
|
147
|
+
type: 'GOOGLE_GEMINI',
|
|
148
|
+
apiKey: divinedApiKey,
|
|
149
|
+
modelName: modelName,
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
function googleGeminiClientFixture(modelName, apiKey) {
|
|
153
|
+
return async ({}, use) => {
|
|
154
|
+
const client = await googleGeminiClient(modelName, apiKey);
|
|
155
|
+
await use(client);
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
async function openAiClient(modelName, apiKey) {
|
|
159
|
+
const divinedApiKey = apiKey || process.env[envVars_1.ENV_VAR_NAMES.OPENAI_API_KEY];
|
|
160
|
+
if (!divinedApiKey) {
|
|
161
|
+
throw new Error('An API key is required to use the OpenAI API. Please provide one as an argument or set it using the OPENAI_API_KEY environment variable.');
|
|
162
|
+
}
|
|
163
|
+
return GptClientFactory_1.GptClientFactory.createFromGptConfig({
|
|
164
|
+
type: 'OPENAI',
|
|
165
|
+
apiKey: divinedApiKey,
|
|
166
|
+
modelName: modelName,
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
function openAiClientFixture(modelName, apiKey) {
|
|
170
|
+
return async ({}, use) => {
|
|
171
|
+
const client = await openAiClient(modelName, apiKey);
|
|
172
|
+
await use(client);
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
function vercelAiClientFixture(model) {
|
|
176
|
+
return async ({}, use) => {
|
|
177
|
+
const client = new VercelAiGptClient_1.VercelAiGptClient(model);
|
|
178
|
+
await use(client);
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
function gptClientFixture(modelName) {
|
|
182
|
+
return async ({}, use) => {
|
|
183
|
+
const client = await createGptClient(modelName);
|
|
184
|
+
await use(client);
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=gptClients.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gptClients.js","sourceRoot":"","sources":["../../../src/lib/fixtures/gptClients.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DonobuExtendedPage } from '../types';
|
|
2
|
+
import { GptClient } from '../../clients/GptClient';
|
|
3
|
+
import { BrowserStorageState } from '../../models/BrowserStorageState';
|
|
4
|
+
export * from 'playwright/test';
|
|
5
|
+
export declare const test: import("@playwright/test").TestType<import("@playwright/test").PlaywrightTestArgs & import("@playwright/test").PlaywrightTestOptions & {
|
|
6
|
+
storageState?: BrowserStorageState | Promise<BrowserStorageState>;
|
|
7
|
+
gptClient?: GptClient;
|
|
8
|
+
page: DonobuExtendedPage;
|
|
9
|
+
}, import("@playwright/test").PlaywrightWorkerArgs & import("@playwright/test").PlaywrightWorkerOptions>;
|
|
10
|
+
//# sourceMappingURL=testExtension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testExtension.d.ts","sourceRoot":"","sources":["../../../src/lib/fixtures/testExtension.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAmEpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,cAAc,iBAAiB,CAAC;AAIhC,eAAO,MAAM,IAAI;mBACA,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;gBACrD,SAAS;UACf,kBAAkB;wGAqaxB,CAAC"}
|
|
@@ -0,0 +1,383 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.test = void 0;
|
|
18
|
+
const test_1 = require("@playwright/test");
|
|
19
|
+
const uuid_1 = require("uuid");
|
|
20
|
+
const GptClient_1 = require("../../clients/GptClient");
|
|
21
|
+
const VercelAiGptClient_1 = require("../../clients/VercelAiGptClient");
|
|
22
|
+
const PlaywrightUtils_1 = require("../../utils/PlaywrightUtils");
|
|
23
|
+
const donobuTestStack_1 = require("../utils/donobuTestStack");
|
|
24
|
+
const selfHealing_1 = require("../utils/selfHealing");
|
|
25
|
+
const envVars_1 = require("../../envVars");
|
|
26
|
+
const MiscUtils_1 = require("../../utils/MiscUtils");
|
|
27
|
+
const DonobuFlowsManager_1 = require("../../managers/DonobuFlowsManager");
|
|
28
|
+
const gptClients_1 = require("./gptClients");
|
|
29
|
+
const GoToWebpageTool_1 = require("../../tools/GoToWebpageTool");
|
|
30
|
+
const PageInspector_1 = require("../../managers/PageInspector");
|
|
31
|
+
const ControlPanel_1 = require("../../managers/ControlPanel");
|
|
32
|
+
const InteractionVisualizer_1 = require("../../managers/InteractionVisualizer");
|
|
33
|
+
const ToolManager_1 = require("../../managers/ToolManager");
|
|
34
|
+
const AnalyzePageTextTool_1 = require("../../tools/AnalyzePageTextTool");
|
|
35
|
+
const AssertPageTextTool_1 = require("../../tools/AssertPageTextTool");
|
|
36
|
+
const Logger_1 = require("../../utils/Logger");
|
|
37
|
+
const DonobuFlow_1 = require("../../managers/DonobuFlow");
|
|
38
|
+
const HoverOverElementTool_1 = require("../../tools/HoverOverElementTool");
|
|
39
|
+
const InputRandomizedEmailAddressTool_1 = require("../../tools/InputRandomizedEmailAddressTool");
|
|
40
|
+
const AssertTool_1 = require("../../tools/AssertTool");
|
|
41
|
+
const ChangeWebBrowserTabTool_1 = require("../../tools/ChangeWebBrowserTabTool");
|
|
42
|
+
const ChooseSelectOptionTool_1 = require("../../tools/ChooseSelectOptionTool");
|
|
43
|
+
const ClickTool_1 = require("../../tools/ClickTool");
|
|
44
|
+
const CreateBrowserCookieReportTool_1 = require("../../tools/CreateBrowserCookieReportTool");
|
|
45
|
+
const InputTextTool_1 = require("../../tools/InputTextTool");
|
|
46
|
+
const PressKeyTool_1 = require("../../tools/PressKeyTool");
|
|
47
|
+
const RunAccessibilityTestTool_1 = require("../../tools/RunAccessibilityTestTool");
|
|
48
|
+
const ScrollPageTool_1 = require("../../tools/ScrollPageTool");
|
|
49
|
+
__exportStar(require("playwright/test"), exports);
|
|
50
|
+
const PLACEHOLDER_FLOW_URL = 'https://example.com';
|
|
51
|
+
exports.test = test_1.test.extend({
|
|
52
|
+
// 1) Declare `gptClient` as an "option" fixture with a default of `undefined`.
|
|
53
|
+
gptClient: [
|
|
54
|
+
undefined, // default
|
|
55
|
+
{ option: true }, // so that test.use({ gptClient: ... }) can override
|
|
56
|
+
],
|
|
57
|
+
// Override the default page fixture
|
|
58
|
+
page: async ({ page, gptClient }, use, testInfo) => {
|
|
59
|
+
if (!gptClient) {
|
|
60
|
+
try {
|
|
61
|
+
gptClient = await (0, gptClients_1.getOrCreateDefaultGptClient)();
|
|
62
|
+
}
|
|
63
|
+
catch (_error) {
|
|
64
|
+
// Do nothing since we may not need a GPT client at all anyway.
|
|
65
|
+
// If something later on requires a GPT client, it will throw an error.
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
// Patch the page with "run", but do it lazily
|
|
69
|
+
const donobu = await (0, donobuTestStack_1.getOrCreateDonobuStack)();
|
|
70
|
+
await PlaywrightUtils_1.PlaywrightUtils.setupBasicBrowserContext(page.context());
|
|
71
|
+
let isTestRunInitialized = false;
|
|
72
|
+
let isTestRunFailed = false;
|
|
73
|
+
async function maybeInitDonobu() {
|
|
74
|
+
if (isTestRunInitialized) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
const overallObjective = testInfo.annotations.find((v) => {
|
|
78
|
+
return v.type === 'objective';
|
|
79
|
+
})?.description ?? null;
|
|
80
|
+
// Get the implied allowed environment variables by inspecting the objective.
|
|
81
|
+
const allowedEnvVarsByName = DonobuFlowsManager_1.DonobuFlowsManager.distillAllowedEnvVariableNames(overallObjective, null);
|
|
82
|
+
const donobuTestFlowMetadata = {
|
|
83
|
+
id: (0, uuid_1.v4)(),
|
|
84
|
+
name: testInfo.title,
|
|
85
|
+
createdWithDonobuVersion: MiscUtils_1.MiscUtils.DONOBU_VERSION,
|
|
86
|
+
browser: {
|
|
87
|
+
using: {
|
|
88
|
+
type: 'device',
|
|
89
|
+
deviceName: 'Desktop Chromium',
|
|
90
|
+
headless: true,
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
envVars: allowedEnvVarsByName,
|
|
94
|
+
gptConfigName: null,
|
|
95
|
+
hasGptConfigNameOverride: false,
|
|
96
|
+
customTools: null,
|
|
97
|
+
defaultMessageDuration: 0,
|
|
98
|
+
runMode: 'DETERMINISTIC',
|
|
99
|
+
isControlPanelEnabled: false,
|
|
100
|
+
callbackUrl: null,
|
|
101
|
+
targetWebsite: PLACEHOLDER_FLOW_URL,
|
|
102
|
+
overallObjective: overallObjective,
|
|
103
|
+
allowedTools: [],
|
|
104
|
+
resultJsonSchema: null,
|
|
105
|
+
result: null,
|
|
106
|
+
inputTokensUsed: 0,
|
|
107
|
+
completionTokensUsed: 0,
|
|
108
|
+
iterations: 0,
|
|
109
|
+
maxIterations: 0,
|
|
110
|
+
startedAt: new Date().getTime(),
|
|
111
|
+
completedAt: null,
|
|
112
|
+
state: 'RUNNING_ACTION',
|
|
113
|
+
nextState: null,
|
|
114
|
+
};
|
|
115
|
+
const persistenceLayer = await donobu.flowsPersistenceFactory.createPersistenceLayer();
|
|
116
|
+
await persistenceLayer.setMetadata(donobuTestFlowMetadata);
|
|
117
|
+
page._donobuFlowMetadata = donobuTestFlowMetadata;
|
|
118
|
+
isTestRunInitialized = true;
|
|
119
|
+
}
|
|
120
|
+
const originalGoto = page.goto;
|
|
121
|
+
// Intercept 'page.goto' so that Donobu can later re-run it as a standard
|
|
122
|
+
// Donobu action if necessary. This can happen if you run a Playwright
|
|
123
|
+
// test using npx, but later decide to rerun that run using the Donobu UI.
|
|
124
|
+
page.goto = async (url, options) => {
|
|
125
|
+
await maybeInitDonobu();
|
|
126
|
+
const startedAt = new Date().getTime();
|
|
127
|
+
const flowId = page._donobuFlowMetadata.id;
|
|
128
|
+
const persistenceLayer = await donobu.flowsPersistenceFactory.createPersistenceLayer();
|
|
129
|
+
// Update the target website to whatever the first place we are
|
|
130
|
+
// navigating to is.
|
|
131
|
+
if (page._donobuFlowMetadata.targetWebsite === PLACEHOLDER_FLOW_URL) {
|
|
132
|
+
page._donobuFlowMetadata = {
|
|
133
|
+
...page._donobuFlowMetadata,
|
|
134
|
+
targetWebsite: url,
|
|
135
|
+
};
|
|
136
|
+
await persistenceLayer.setMetadata(page._donobuFlowMetadata);
|
|
137
|
+
}
|
|
138
|
+
try {
|
|
139
|
+
const resp = await originalGoto.call(page, url, options);
|
|
140
|
+
await PlaywrightUtils_1.PlaywrightUtils.waitForPageStability(page);
|
|
141
|
+
const pageTitle = await page.title();
|
|
142
|
+
const postCallImage = await PlaywrightUtils_1.PlaywrightUtils.takeScreenshot(page);
|
|
143
|
+
const postCallImageId = await persistenceLayer.saveScreenShot(flowId, postCallImage);
|
|
144
|
+
const completedAt = new Date().getTime();
|
|
145
|
+
await persistenceLayer.saveToolCall(flowId, {
|
|
146
|
+
id: MiscUtils_1.MiscUtils.createAdHocToolCallId(),
|
|
147
|
+
toolName: GoToWebpageTool_1.GoToWebpageTool.NAME,
|
|
148
|
+
parameters: {
|
|
149
|
+
url: url,
|
|
150
|
+
},
|
|
151
|
+
outcome: {
|
|
152
|
+
isSuccessful: true,
|
|
153
|
+
forLlm: `Successfully navigated to ${url}`,
|
|
154
|
+
metadata: {
|
|
155
|
+
pageTitle: pageTitle,
|
|
156
|
+
resolvedUrl: page.url(),
|
|
157
|
+
},
|
|
158
|
+
},
|
|
159
|
+
postCallImageId: postCallImageId,
|
|
160
|
+
page: url,
|
|
161
|
+
startedAt: startedAt,
|
|
162
|
+
completedAt: completedAt,
|
|
163
|
+
});
|
|
164
|
+
return resp;
|
|
165
|
+
}
|
|
166
|
+
catch (error) {
|
|
167
|
+
const postCallImage = await PlaywrightUtils_1.PlaywrightUtils.takeScreenshot(page);
|
|
168
|
+
const postCallImageId = await persistenceLayer.saveScreenShot(flowId, postCallImage);
|
|
169
|
+
const completedAt = new Date().getTime();
|
|
170
|
+
await persistenceLayer.saveToolCall(flowId, {
|
|
171
|
+
id: MiscUtils_1.MiscUtils.createAdHocToolCallId(),
|
|
172
|
+
toolName: 'goToWebpage',
|
|
173
|
+
parameters: {
|
|
174
|
+
url: url,
|
|
175
|
+
},
|
|
176
|
+
outcome: {
|
|
177
|
+
isSuccessful: false,
|
|
178
|
+
forLlm: `FAILED! ${typeof error}: ${error.message}`,
|
|
179
|
+
metadata: null,
|
|
180
|
+
},
|
|
181
|
+
postCallImageId: postCallImageId,
|
|
182
|
+
page: url,
|
|
183
|
+
startedAt: startedAt,
|
|
184
|
+
completedAt: completedAt,
|
|
185
|
+
});
|
|
186
|
+
// Mark test as failed for later callback
|
|
187
|
+
isTestRunFailed = true;
|
|
188
|
+
throw error;
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
page.run = async (toolName, toolParams, gptClientOverride) => {
|
|
192
|
+
await maybeInitDonobu();
|
|
193
|
+
let finalGptClient = null;
|
|
194
|
+
if (gptClientOverride) {
|
|
195
|
+
if (!(gptClientOverride instanceof GptClient_1.GptClient)) {
|
|
196
|
+
finalGptClient = new VercelAiGptClient_1.VercelAiGptClient(gptClientOverride);
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
finalGptClient = gptClientOverride;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
else if (gptClient) {
|
|
203
|
+
finalGptClient = gptClient;
|
|
204
|
+
}
|
|
205
|
+
const pageInspector = new PageInspector_1.PageInspector();
|
|
206
|
+
const controlPanel = new ControlPanel_1.ControlPanel(page._donobuFlowMetadata);
|
|
207
|
+
const persistenceLayer = await donobu.flowsPersistenceFactory.createPersistenceLayer();
|
|
208
|
+
const clonedParams = toolParams
|
|
209
|
+
? JSON.parse(JSON.stringify(toolParams))
|
|
210
|
+
: {};
|
|
211
|
+
clonedParams.rationale || (clonedParams.rationale = '');
|
|
212
|
+
const envData = await donobu.flowsManager.buildEnvData(page._donobuFlowMetadata.envVars ?? []);
|
|
213
|
+
const toolCallContext = {
|
|
214
|
+
flowsManager: donobu.flowsManager,
|
|
215
|
+
envData: envData,
|
|
216
|
+
pageInspector: pageInspector,
|
|
217
|
+
controlPanel: controlPanel,
|
|
218
|
+
persistence: persistenceLayer,
|
|
219
|
+
gptClient: finalGptClient,
|
|
220
|
+
interactionVisualizer: new InteractionVisualizer_1.InteractionVisualizer(0),
|
|
221
|
+
proposedToolCalls: [],
|
|
222
|
+
invokedToolCalls: [],
|
|
223
|
+
page: { current: page },
|
|
224
|
+
metadata: page._donobuFlowMetadata,
|
|
225
|
+
toolCallId: clonedParams.toolCallId ?? MiscUtils_1.MiscUtils.createAdHocToolCallId(),
|
|
226
|
+
};
|
|
227
|
+
try {
|
|
228
|
+
const result = await new ToolManager_1.ToolManager(ToolManager_1.ToolManager.ALL_TOOLS).invokeTool(toolCallContext, toolName, clonedParams, false);
|
|
229
|
+
await persistenceLayer.setMetadata(page._donobuFlowMetadata);
|
|
230
|
+
await persistenceLayer.saveToolCall(page._donobuFlowMetadata.id, result);
|
|
231
|
+
// Check if tool execution was successful
|
|
232
|
+
if (!result.outcome.isSuccessful) {
|
|
233
|
+
throw new Error(`${toolName} execution failed: ${JSON.stringify(result, null, 2)}`);
|
|
234
|
+
}
|
|
235
|
+
return result.outcome;
|
|
236
|
+
}
|
|
237
|
+
catch (error) {
|
|
238
|
+
// Mark test as failed if an exception occurs during tool execution
|
|
239
|
+
isTestRunFailed = true;
|
|
240
|
+
throw error;
|
|
241
|
+
}
|
|
242
|
+
};
|
|
243
|
+
page.analyzePageText = async (params, gptClientOverride) => {
|
|
244
|
+
return page.run(AnalyzePageTextTool_1.AnalyzePageTextTool.NAME, params, gptClientOverride);
|
|
245
|
+
};
|
|
246
|
+
page.assertPageText = async (params, gptClientOverride) => {
|
|
247
|
+
return page.run(AssertPageTextTool_1.AssertPageTextTool.NAME, params, gptClientOverride);
|
|
248
|
+
};
|
|
249
|
+
page.changeTab = async (url) => {
|
|
250
|
+
// The underlying tool call is mostly performative. We do it so we can
|
|
251
|
+
// record the operation occurred, but the actual page reassignment happens
|
|
252
|
+
// at the call site of this function.
|
|
253
|
+
const result = await page.run(ChangeWebBrowserTabTool_1.ChangeWebBrowserTabTool.NAME, {
|
|
254
|
+
tabUrl: url,
|
|
255
|
+
});
|
|
256
|
+
if (result.isSuccessful) {
|
|
257
|
+
// We need to return a real Page object, not just the raw URL, so we
|
|
258
|
+
// loop through the pages of the current context, knowing we will find
|
|
259
|
+
// a match.
|
|
260
|
+
return page
|
|
261
|
+
.context()
|
|
262
|
+
.pages()
|
|
263
|
+
.find((tab) => tab.url() === url);
|
|
264
|
+
}
|
|
265
|
+
else {
|
|
266
|
+
throw Error(result.forLlm);
|
|
267
|
+
}
|
|
268
|
+
};
|
|
269
|
+
page.chooseSelectOption = async (params) => {
|
|
270
|
+
return page.run(ChooseSelectOptionTool_1.ChooseSelectOptionTool.NAME, params);
|
|
271
|
+
};
|
|
272
|
+
page.clickElement = async (params) => {
|
|
273
|
+
return page.run(ClickTool_1.ClickTool.NAME, params);
|
|
274
|
+
};
|
|
275
|
+
page.createCookieReport = async (gptClientOverride) => {
|
|
276
|
+
return page.run(CreateBrowserCookieReportTool_1.CreateBrowserCookieReportTool.NAME, gptClientOverride);
|
|
277
|
+
};
|
|
278
|
+
page.extract = async (params, gptClientOverride) => {
|
|
279
|
+
await maybeInitDonobu();
|
|
280
|
+
let finalGptClient = null;
|
|
281
|
+
if (gptClientOverride) {
|
|
282
|
+
if (!(gptClientOverride instanceof GptClient_1.GptClient)) {
|
|
283
|
+
finalGptClient = new VercelAiGptClient_1.VercelAiGptClient(gptClientOverride);
|
|
284
|
+
}
|
|
285
|
+
else {
|
|
286
|
+
finalGptClient = gptClientOverride;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
else if (gptClient) {
|
|
290
|
+
finalGptClient = gptClient;
|
|
291
|
+
}
|
|
292
|
+
if (!finalGptClient) {
|
|
293
|
+
isTestRunFailed = true;
|
|
294
|
+
throw Error('Cannot extract an object from page without a GPT client set up!');
|
|
295
|
+
}
|
|
296
|
+
try {
|
|
297
|
+
const persistenceLayer = await donobu.flowsPersistenceFactory.createPersistenceLayer();
|
|
298
|
+
const toolCallHistory = await persistenceLayer.getToolCalls(page._donobuFlowMetadata.id);
|
|
299
|
+
const structuredOutputMessage = await (0, DonobuFlow_1.extractFromPage)(params.instruction ??
|
|
300
|
+
'Generate an object conforming to the given JSON-schema', params.schema, page, toolCallHistory, finalGptClient);
|
|
301
|
+
page._donobuFlowMetadata.resultJsonSchema = params.schema;
|
|
302
|
+
page._donobuFlowMetadata.result = structuredOutputMessage.output;
|
|
303
|
+
await persistenceLayer.setMetadata(page._donobuFlowMetadata);
|
|
304
|
+
return structuredOutputMessage.output;
|
|
305
|
+
}
|
|
306
|
+
catch (error) {
|
|
307
|
+
isTestRunFailed = true;
|
|
308
|
+
throw error;
|
|
309
|
+
}
|
|
310
|
+
};
|
|
311
|
+
page.hoverOverElement = async (params) => {
|
|
312
|
+
return page.run(HoverOverElementTool_1.HoverOverElementTool.NAME, params);
|
|
313
|
+
};
|
|
314
|
+
page.inputRandomizedEmailAddress = async (params) => {
|
|
315
|
+
return page.run(InputRandomizedEmailAddressTool_1.InputRandomizedEmailAddressTool.NAME, params);
|
|
316
|
+
};
|
|
317
|
+
page.inputText = async (params) => {
|
|
318
|
+
return page.run(InputTextTool_1.InputTextTool.NAME, params);
|
|
319
|
+
};
|
|
320
|
+
page.pressKey = async (params) => {
|
|
321
|
+
return page.run(PressKeyTool_1.PressKeyTool.NAME, params);
|
|
322
|
+
};
|
|
323
|
+
page.runAccessibilityTest = async () => {
|
|
324
|
+
return page.run(RunAccessibilityTestTool_1.RunAccessibilityTestTool.NAME);
|
|
325
|
+
};
|
|
326
|
+
page.scroll = async (params) => {
|
|
327
|
+
return page.run(ScrollPageTool_1.ScrollPageTool.NAME, params);
|
|
328
|
+
};
|
|
329
|
+
page.visuallyAssert = async (params, gptClientOverride) => {
|
|
330
|
+
return page.run(AssertTool_1.AssertTool.NAME, params, gptClientOverride);
|
|
331
|
+
};
|
|
332
|
+
try {
|
|
333
|
+
// Let Playwright continue and give tests the patched page.
|
|
334
|
+
await use(page);
|
|
335
|
+
// Check if the test status is failed in the testInfo
|
|
336
|
+
// This catches failures that were marked by Playwright itself
|
|
337
|
+
if (testInfo.status === 'failed' || testInfo.status === 'timedOut') {
|
|
338
|
+
isTestRunFailed = true;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
catch (error) {
|
|
342
|
+
// Mark test as failed if an uncaught exception occurs during the test
|
|
343
|
+
isTestRunFailed = true;
|
|
344
|
+
throw error;
|
|
345
|
+
}
|
|
346
|
+
finally {
|
|
347
|
+
try {
|
|
348
|
+
const persistenceLayer = await donobu.flowsPersistenceFactory.createPersistenceLayer();
|
|
349
|
+
if (page._donobuFlowMetadata) {
|
|
350
|
+
// Update metadata with final status
|
|
351
|
+
page._donobuFlowMetadata.state = isTestRunFailed
|
|
352
|
+
? 'FAILED'
|
|
353
|
+
: 'SUCCESS';
|
|
354
|
+
page._donobuFlowMetadata.completedAt = new Date().getTime();
|
|
355
|
+
await persistenceLayer.setMetadata(page._donobuFlowMetadata);
|
|
356
|
+
await testInfo.attach('test-flow-metadata.json', {
|
|
357
|
+
body: JSON.stringify(page._donobuFlowMetadata, null, 2),
|
|
358
|
+
contentType: 'application/json',
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
catch (error) {
|
|
363
|
+
// Log but don't throw, to ensure cleanup continues.
|
|
364
|
+
Logger_1.appLogger.error('Error during test cleanup:', error);
|
|
365
|
+
}
|
|
366
|
+
const isSelfHealEnabledEnvVar = process.env[envVars_1.ENV_VAR_NAMES.SELF_HEAL_TESTS_ENABLED]?.trim();
|
|
367
|
+
if (isTestRunFailed &&
|
|
368
|
+
(isSelfHealEnabledEnvVar === 'true' || isSelfHealEnabledEnvVar === '1')) {
|
|
369
|
+
if (!gptClient) {
|
|
370
|
+
Logger_1.appLogger.warn('Will not self-heal due to no GPT client being set up.');
|
|
371
|
+
return;
|
|
372
|
+
}
|
|
373
|
+
try {
|
|
374
|
+
await (0, selfHealing_1.selfHeal)(gptClient, testInfo, page._donobuFlowMetadata);
|
|
375
|
+
}
|
|
376
|
+
catch (selfHealError) {
|
|
377
|
+
Logger_1.appLogger.error('Error when attempting to self heal:', selfHealError);
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
},
|
|
382
|
+
});
|
|
383
|
+
//# sourceMappingURL=testExtension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testExtension.js","sourceRoot":"","sources":["../../../src/lib/fixtures/testExtension.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DonobuExtendedPage } from './DonobuExtendedPage';
|
|
2
|
+
import { GptClient } from '../clients/GptClient';
|
|
3
|
+
import { BrowserStorageState } from '../models/BrowserStorageState';
|
|
4
|
+
export * from 'playwright/test';
|
|
5
|
+
export declare const test: import("@playwright/test").TestType<import("@playwright/test").PlaywrightTestArgs & import("@playwright/test").PlaywrightTestOptions & {
|
|
6
|
+
storageState?: BrowserStorageState | Promise<BrowserStorageState>;
|
|
7
|
+
gptClient?: GptClient;
|
|
8
|
+
page: DonobuExtendedPage;
|
|
9
|
+
}, import("@playwright/test").PlaywrightWorkerArgs & import("@playwright/test").PlaywrightWorkerOptions>;
|
|
10
|
+
//# sourceMappingURL=testExtension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testExtension.d.ts","sourceRoot":"","sources":["../../src/lib/testExtension.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAmEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,cAAc,iBAAiB,CAAC;AAIhC,eAAO,MAAM,IAAI;mBACA,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;gBACrD,SAAS;UACf,kBAAkB;wGAqaxB,CAAC"}
|