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 @@
|
|
|
1
|
+
{"version":3,"file":"TemplateInterpolator.d.ts","sourceRoot":"","sources":["../../../src/utils/TemplateInterpolator.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,eAAO,MAAM,qBAAqB,QAAqB,CAAC;AAkFxD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,GAAG,CAmDL;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,cAAc,GAAE,MAAU,EAC1B,iBAAiB,GAAE,MAAW,EAC9B,SAAS,GAAE,GAAG,CAAC,MAAM,CAAa,GACjC,MAAM,CA4GR;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,GAAG,EACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,cAAc,GAAE,MAAU,EAC1B,iBAAiB,GAAE,MAAW,EAC9B,gBAAgB,GAAE,OAAO,CAAC,MAAM,CAAiB,GAChD,GAAG,CAoFL;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAmD1E"}
|
|
@@ -0,0 +1,352 @@
|
|
|
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.TEMPLATE_DATA_PATTERN = void 0;
|
|
7
|
+
exports.resolveExpression = resolveExpression;
|
|
8
|
+
exports.interpolateString = interpolateString;
|
|
9
|
+
exports.interpolateObject = interpolateObject;
|
|
10
|
+
exports.extractInterpolationExpressions = extractInterpolationExpressions;
|
|
11
|
+
const Logger_1 = require("./Logger");
|
|
12
|
+
const jsonpath_1 = __importDefault(require("jsonpath"));
|
|
13
|
+
/**
|
|
14
|
+
* Regular expression to match template JSON-path expressions inside of {{...}}
|
|
15
|
+
*/
|
|
16
|
+
exports.TEMPLATE_DATA_PATTERN = /\{\{([^}]+)\}\}/g;
|
|
17
|
+
/**
|
|
18
|
+
* Regular expression to detect expressions that need to be handled specially
|
|
19
|
+
* Matches patterns like: $..path[?(@.condition)][0] or $..path[?(@.condition)][index] or $..path[?(@.condition)][n:m]
|
|
20
|
+
*/
|
|
21
|
+
const FILTER_WITH_INDEX_PATTERN = /(\[\?\(.*\)\])(\[-?\d+(\:\d+)?\])/;
|
|
22
|
+
/**
|
|
23
|
+
* Regular expression to detect standalone negative indices that need to be
|
|
24
|
+
* handled specially since the jsonpath library doesn't support negative indices
|
|
25
|
+
* directly (when running queries, we will convert them to slice notation).
|
|
26
|
+
*/
|
|
27
|
+
const STANDALONE_NEGATIVE_INDEX_PATTERN = /(\$\.calls)\[(-\d+)\](?!\:)/;
|
|
28
|
+
/**
|
|
29
|
+
* Parse and modify JSONPath expressions to handle indexing after filter expressions
|
|
30
|
+
* @param expression - The JSONPath expression to process
|
|
31
|
+
* @returns A processed expression that works with the jsonpath library
|
|
32
|
+
*/
|
|
33
|
+
function processJSONPathExpression(expression) {
|
|
34
|
+
// First check for filter followed by index pattern
|
|
35
|
+
const filterMatch = expression.match(FILTER_WITH_INDEX_PATTERN);
|
|
36
|
+
if (filterMatch) {
|
|
37
|
+
// Extract just the number from indexPart (remove the brackets)
|
|
38
|
+
const indexMatch = filterMatch[2].match(/\[(-?\d+)(\:\d+)?\]/);
|
|
39
|
+
if (indexMatch) {
|
|
40
|
+
// If it's a simple index (not a slice)
|
|
41
|
+
if (!indexMatch[2]) {
|
|
42
|
+
// Remove the index part from the expression
|
|
43
|
+
const baseExpression = expression.replace(filterMatch[2], '');
|
|
44
|
+
// Return the modified expression
|
|
45
|
+
return baseExpression;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
// Check for standalone negative index pattern and convert it to slice notation
|
|
50
|
+
// since the jsonpath library doesn't support negative indices directly.
|
|
51
|
+
const negativeIndexMatch = expression.match(STANDALONE_NEGATIVE_INDEX_PATTERN);
|
|
52
|
+
if (negativeIndexMatch && negativeIndexMatch[2].startsWith('-')) {
|
|
53
|
+
// Convert the standalone negative index to slice notation
|
|
54
|
+
// For example: $.calls[-1] becomes $.calls[-1:]
|
|
55
|
+
const convertedExpression = expression.replace(`[${negativeIndexMatch[2]}]`, `[${negativeIndexMatch[2]}:]`);
|
|
56
|
+
return convertedExpression;
|
|
57
|
+
}
|
|
58
|
+
// If it doesn't match our patterns, return the original expression
|
|
59
|
+
return expression;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Format a value to string with special handling for objects and arrays
|
|
63
|
+
* @param value - The value to format
|
|
64
|
+
* @returns A string representation of the value
|
|
65
|
+
*/
|
|
66
|
+
function formatValue(value) {
|
|
67
|
+
if (value === undefined || value === null) {
|
|
68
|
+
return '';
|
|
69
|
+
}
|
|
70
|
+
// Handle arrays by joining their string representations
|
|
71
|
+
if (Array.isArray(value)) {
|
|
72
|
+
return value.map(formatValue).join(',');
|
|
73
|
+
}
|
|
74
|
+
// Handle objects with proper JSON formatting
|
|
75
|
+
if (typeof value === 'object' && value !== null) {
|
|
76
|
+
return JSON.stringify(value);
|
|
77
|
+
}
|
|
78
|
+
// Default case
|
|
79
|
+
return String(value);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Resolve a JSONPath expression against the context
|
|
83
|
+
* @param expression - The JSONPath expression to evaluate
|
|
84
|
+
* @param dataSource - The data context to evaluate against
|
|
85
|
+
* @returns The resolved value or undefined if not found
|
|
86
|
+
*/
|
|
87
|
+
function resolveExpression(expression, dataSource) {
|
|
88
|
+
try {
|
|
89
|
+
// Process the expression to handle special cases
|
|
90
|
+
const processedExpression = processJSONPathExpression(expression);
|
|
91
|
+
// Handle expressions with wildcards or recursive searches that might return arrays
|
|
92
|
+
const isWildcardOrRecursive = expression.includes('..') ||
|
|
93
|
+
expression.includes('*') ||
|
|
94
|
+
expression.includes('[:]');
|
|
95
|
+
// Use JSONPath to evaluate the expression against the context
|
|
96
|
+
const results = jsonpath_1.default.query(dataSource, processedExpression);
|
|
97
|
+
// Handle the indexing ourselves if needed
|
|
98
|
+
if (expression !== processedExpression) {
|
|
99
|
+
const match = expression.match(FILTER_WITH_INDEX_PATTERN);
|
|
100
|
+
if (match) {
|
|
101
|
+
const indexMatch = match[2].match(/\[(-?\d+)(\:\d+)?\]/);
|
|
102
|
+
if (indexMatch) {
|
|
103
|
+
const index = parseInt(indexMatch[1], 10);
|
|
104
|
+
// If we have results, handle both positive and negative indices
|
|
105
|
+
if (results && results.length > 0) {
|
|
106
|
+
// For negative indices, count from the end of the array
|
|
107
|
+
const actualIndex = index < 0 ? results.length + index : index;
|
|
108
|
+
// Return the result if the calculated index is valid
|
|
109
|
+
if (actualIndex >= 0 && actualIndex < results.length) {
|
|
110
|
+
return results[actualIndex];
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return undefined;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
// Return the entire array for expressions that clearly want multiple values
|
|
118
|
+
if (isWildcardOrRecursive && results.length > 1) {
|
|
119
|
+
return results;
|
|
120
|
+
}
|
|
121
|
+
// Default case - return the first result if available
|
|
122
|
+
if (results && results.length > 0) {
|
|
123
|
+
return results[0];
|
|
124
|
+
}
|
|
125
|
+
return undefined;
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
throw new Error(`Failed to evaluate JSONPath expression: ${expression}. Error: ${error}`);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Interpolate template strings using JSONPath expressions, handling nested expressions
|
|
133
|
+
* @param template - The template string with {{...}} expressions
|
|
134
|
+
* @param dataSource - The data context to interpolate from
|
|
135
|
+
* @param recursionDepth - Current recursion depth (for loop detection)
|
|
136
|
+
* @param maxRecursionDepth - Maximum allowed recursion depth
|
|
137
|
+
* @param processed - Set of already processed templates (for loop detection)
|
|
138
|
+
* @returns The interpolated string
|
|
139
|
+
*/
|
|
140
|
+
function interpolateString(template, dataSource, recursionDepth = 0, maxRecursionDepth = 10, processed = new Set()) {
|
|
141
|
+
// Check for recursion depth limits
|
|
142
|
+
if (recursionDepth > maxRecursionDepth) {
|
|
143
|
+
Logger_1.appLogger.warn(`Maximum interpolation depth (${maxRecursionDepth}) exceeded for template: ${template.substring(0, 100)}${template.length > 100 ? '...' : ''}`);
|
|
144
|
+
return template;
|
|
145
|
+
}
|
|
146
|
+
// Base case: no more expressions to interpolate
|
|
147
|
+
if (!template.includes('{{')) {
|
|
148
|
+
return template;
|
|
149
|
+
}
|
|
150
|
+
// Check if we've already processed this exact template (loop detection)
|
|
151
|
+
if (processed.has(template)) {
|
|
152
|
+
Logger_1.appLogger.warn(`Circular reference detected in template: ${template.substring(0, 100)}${template.length > 100 ? '...' : ''}`);
|
|
153
|
+
return template;
|
|
154
|
+
}
|
|
155
|
+
// Add this template to the processed set
|
|
156
|
+
processed.add(template);
|
|
157
|
+
let result = template;
|
|
158
|
+
const processedSegments = []; // [start, end, replacement]
|
|
159
|
+
// Find and process expressions from outermost to innermost
|
|
160
|
+
let i = 0;
|
|
161
|
+
while (i < result.length) {
|
|
162
|
+
// Find opening braces
|
|
163
|
+
const openIndex = result.indexOf('{{', i);
|
|
164
|
+
if (openIndex === -1)
|
|
165
|
+
break;
|
|
166
|
+
// Find matching closing braces with proper nesting
|
|
167
|
+
let braceDepth = 1;
|
|
168
|
+
let closeIndex = openIndex + 2;
|
|
169
|
+
while (closeIndex < result.length && braceDepth > 0) {
|
|
170
|
+
if (result.substr(closeIndex, 2) === '{{') {
|
|
171
|
+
braceDepth++;
|
|
172
|
+
closeIndex += 2;
|
|
173
|
+
}
|
|
174
|
+
else if (result.substr(closeIndex, 2) === '}}') {
|
|
175
|
+
braceDepth--;
|
|
176
|
+
closeIndex += 2;
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
closeIndex++;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
// If we found a complete expression
|
|
183
|
+
if (braceDepth === 0) {
|
|
184
|
+
const expressionContent = result
|
|
185
|
+
.substring(openIndex + 2, closeIndex - 2)
|
|
186
|
+
.trim();
|
|
187
|
+
try {
|
|
188
|
+
// If the expression contains nested templates, process it first, passing along depth info
|
|
189
|
+
const processedExpression = interpolateString(expressionContent, dataSource, recursionDepth + 1, maxRecursionDepth, new Set(processed));
|
|
190
|
+
// Then resolve the processed expression
|
|
191
|
+
const value = resolveExpression(processedExpression, dataSource);
|
|
192
|
+
// If the value is undefined, keep the original expression
|
|
193
|
+
const replacement = value !== undefined ? formatValue(value) : `{{${expressionContent}}}`;
|
|
194
|
+
// Store the replacement for later
|
|
195
|
+
processedSegments.push([openIndex, closeIndex, replacement]);
|
|
196
|
+
i = closeIndex;
|
|
197
|
+
}
|
|
198
|
+
catch (error) {
|
|
199
|
+
Logger_1.appLogger.warn(`Error interpolating template: ${template}, expression: ${expressionContent}, error: ${error}`);
|
|
200
|
+
i = closeIndex;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
// No matching closing braces, move past this opening brace
|
|
205
|
+
i = openIndex + 2;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
// Apply replacements in reverse order (from end to start) to maintain correct indices
|
|
209
|
+
for (let i = processedSegments.length - 1; i >= 0; i--) {
|
|
210
|
+
const [start, end, replacement] = processedSegments[i];
|
|
211
|
+
result = result.substring(0, start) + replacement + result.substring(end);
|
|
212
|
+
}
|
|
213
|
+
// Recursively process the result again for any new expressions, but only if the result changed
|
|
214
|
+
if (result.includes('{{') && result !== template) {
|
|
215
|
+
return interpolateString(result, dataSource, recursionDepth + 1, maxRecursionDepth, processed);
|
|
216
|
+
}
|
|
217
|
+
return result;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Interpolate the parameters object using JSONPath expressions. Any string values
|
|
221
|
+
* and keys in the object will be replaced with the corresponding values from the data source.
|
|
222
|
+
* Nested objects and arrays will be processed recursively.
|
|
223
|
+
*
|
|
224
|
+
* @param parameters - The original parameters object
|
|
225
|
+
* @param dataSource - The data context to interpolate from
|
|
226
|
+
* @returns A new parameters object with interpolated string values and keys
|
|
227
|
+
*/
|
|
228
|
+
function interpolateObject(parameters, dataSource, recursionDepth = 0, maxRecursionDepth = 10, processedObjects = new WeakSet()) {
|
|
229
|
+
// Check for primitive values
|
|
230
|
+
if (!parameters || typeof parameters !== 'object') {
|
|
231
|
+
return parameters;
|
|
232
|
+
}
|
|
233
|
+
// Check for recursion depth limits
|
|
234
|
+
if (recursionDepth > maxRecursionDepth) {
|
|
235
|
+
Logger_1.appLogger.warn(`Maximum interpolation depth (${maxRecursionDepth}) exceeded for object`);
|
|
236
|
+
return parameters;
|
|
237
|
+
}
|
|
238
|
+
// Check for circular references in objects
|
|
239
|
+
if (processedObjects.has(parameters)) {
|
|
240
|
+
Logger_1.appLogger.warn(`Circular reference detected in object`);
|
|
241
|
+
return parameters;
|
|
242
|
+
}
|
|
243
|
+
// Add this object to the processed set
|
|
244
|
+
processedObjects.add(parameters);
|
|
245
|
+
// Create appropriate result container
|
|
246
|
+
const result = Array.isArray(parameters) ? [] : {};
|
|
247
|
+
// Process each key-value pair
|
|
248
|
+
if (Array.isArray(parameters)) {
|
|
249
|
+
// Handle array case
|
|
250
|
+
for (let i = 0; i < parameters.length; i++) {
|
|
251
|
+
const value = parameters[i];
|
|
252
|
+
if (typeof value === 'string') {
|
|
253
|
+
// Interpolate string values
|
|
254
|
+
result[i] = interpolateString(value, dataSource, 0, maxRecursionDepth);
|
|
255
|
+
}
|
|
256
|
+
else if (typeof value === 'object' && value !== null) {
|
|
257
|
+
// Recursively process nested objects
|
|
258
|
+
result[i] = interpolateObject(value, dataSource, recursionDepth + 1, maxRecursionDepth, processedObjects);
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
// Keep non-string values as is
|
|
262
|
+
result[i] = value;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
else {
|
|
267
|
+
// Handle object case
|
|
268
|
+
for (const key in parameters) {
|
|
269
|
+
const value = parameters[key];
|
|
270
|
+
// Interpolate the key if it's a string and contains a template pattern
|
|
271
|
+
let processedKey = key;
|
|
272
|
+
if (typeof key === 'string' && key.includes('{{')) {
|
|
273
|
+
processedKey = interpolateString(key, dataSource, 0, maxRecursionDepth);
|
|
274
|
+
}
|
|
275
|
+
if (typeof value === 'string') {
|
|
276
|
+
// Interpolate string values
|
|
277
|
+
result[processedKey] = interpolateString(value, dataSource, 0, maxRecursionDepth);
|
|
278
|
+
}
|
|
279
|
+
else if (typeof value === 'object' && value !== null) {
|
|
280
|
+
// Recursively process nested objects
|
|
281
|
+
result[processedKey] = interpolateObject(value, dataSource, recursionDepth + 1, maxRecursionDepth, processedObjects);
|
|
282
|
+
}
|
|
283
|
+
else {
|
|
284
|
+
// Keep non-string values as is
|
|
285
|
+
result[processedKey] = value;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
return result;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Extracts interpolation expressions from a template string.
|
|
293
|
+
*
|
|
294
|
+
* @param template - The template string with {{...}} expressions
|
|
295
|
+
* @returns An array of the extracted expressions without the {{ }} delimiters
|
|
296
|
+
*
|
|
297
|
+
* @example
|
|
298
|
+
* // Returns ["env.USER_NAME"]
|
|
299
|
+
* extractInterpolationExpressions("Hello {{env.USER_NAME}}, how are you?");
|
|
300
|
+
*
|
|
301
|
+
* @example
|
|
302
|
+
* // Returns ["env.API_KEY", "calls[0].result"]
|
|
303
|
+
* extractInterpolationExpressions("Use {{env.API_KEY}} to access {{calls[0].result}}");
|
|
304
|
+
*/
|
|
305
|
+
function extractInterpolationExpressions(template) {
|
|
306
|
+
const expressions = [];
|
|
307
|
+
// Extract expressions recursively
|
|
308
|
+
function extractExpressions(text) {
|
|
309
|
+
let i = 0;
|
|
310
|
+
while (i < text.length) {
|
|
311
|
+
// Find opening braces
|
|
312
|
+
const openIndex = text.indexOf('{{', i);
|
|
313
|
+
if (openIndex === -1)
|
|
314
|
+
break;
|
|
315
|
+
// Find matching closing braces
|
|
316
|
+
let braceDepth = 1;
|
|
317
|
+
let closeIndex = openIndex + 2;
|
|
318
|
+
while (closeIndex < text.length && braceDepth > 0) {
|
|
319
|
+
if (text.substr(closeIndex, 2) === '{{') {
|
|
320
|
+
braceDepth++;
|
|
321
|
+
closeIndex += 2;
|
|
322
|
+
}
|
|
323
|
+
else if (text.substr(closeIndex, 2) === '}}') {
|
|
324
|
+
braceDepth--;
|
|
325
|
+
closeIndex += 2;
|
|
326
|
+
}
|
|
327
|
+
else {
|
|
328
|
+
closeIndex++;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
// If we found a complete expression
|
|
332
|
+
if (braceDepth === 0) {
|
|
333
|
+
// Extract the content between {{ and }}
|
|
334
|
+
const expressionContent = text
|
|
335
|
+
.substring(openIndex + 2, closeIndex - 2)
|
|
336
|
+
.trim();
|
|
337
|
+
expressions.push(expressionContent);
|
|
338
|
+
// Recursively look for nested expressions within this expression
|
|
339
|
+
extractExpressions(expressionContent);
|
|
340
|
+
i = closeIndex;
|
|
341
|
+
}
|
|
342
|
+
else {
|
|
343
|
+
// No matching closing braces, move past this opening brace
|
|
344
|
+
i = openIndex + 2;
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
extractExpressions(template);
|
|
349
|
+
// Return unique expressions
|
|
350
|
+
return [...new Set(expressions)];
|
|
351
|
+
}
|
|
352
|
+
//# sourceMappingURL=TemplateInterpolator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TemplateInterpolator.js","sourceRoot":"","sources":["../../../src/utils/TemplateInterpolator.ts"],"names":[],"mappings":";;;;;;AA8FA,8CAsDC;AAWD,8CAkHC;AAWD,8CA0FC;AAgBD,0EAmDC;AAzbD,qCAAqC;AACrC,wDAAgC;AAEhC;;GAEG;AACU,QAAA,qBAAqB,GAAG,kBAAkB,CAAC;AAExD;;;GAGG;AACH,MAAM,yBAAyB,GAAG,mCAAmC,CAAC;AACtE;;;;GAIG;AACH,MAAM,iCAAiC,GAAG,6BAA6B,CAAC;AAExE;;;;GAIG;AACH,SAAS,yBAAyB,CAAC,UAAkB;IACnD,mDAAmD;IACnD,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAEhE,IAAI,WAAW,EAAE,CAAC;QAChB,+DAA+D;QAC/D,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAE/D,IAAI,UAAU,EAAE,CAAC;YACf,uCAAuC;YACvC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnB,4CAA4C;gBAC5C,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9D,iCAAiC;gBACjC,OAAO,cAAc,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,wEAAwE;IACxE,MAAM,kBAAkB,GAAG,UAAU,CAAC,KAAK,CACzC,iCAAiC,CAClC,CAAC;IAEF,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAChE,0DAA0D;QAC1D,gDAAgD;QAChD,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,CAC5C,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG,EAC5B,IAAI,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAC9B,CAAC;QACF,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,mEAAmE;IACnE,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,KAAU;IAC7B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,wDAAwD;IACxD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,6CAA6C;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,eAAe;IACf,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAC/B,UAAkB,EAClB,UAAmC;IAEnC,IAAI,CAAC;QACH,iDAAiD;QACjD,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;QAElE,mFAAmF;QACnF,MAAM,qBAAqB,GACzB,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;YACzB,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;YACxB,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE7B,8DAA8D;QAC9D,MAAM,OAAO,GAAG,kBAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;QAEhE,0CAA0C;QAC1C,IAAI,UAAU,KAAK,mBAAmB,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC1D,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBACzD,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC1C,gEAAgE;oBAChE,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAClC,wDAAwD;wBACxD,MAAM,WAAW,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;wBAC/D,qDAAqD;wBACrD,IAAI,WAAW,IAAI,CAAC,IAAI,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;4BACrD,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;wBAC9B,CAAC;oBACH,CAAC;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;QAED,4EAA4E;QAC5E,IAAI,qBAAqB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,sDAAsD;QACtD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,2CAA2C,UAAU,YAAY,KAAK,EAAE,CACzE,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAC/B,QAAgB,EAChB,UAAmC,EACnC,iBAAyB,CAAC,EAC1B,oBAA4B,EAAE,EAC9B,YAAyB,IAAI,GAAG,EAAE;IAElC,mCAAmC;IACnC,IAAI,cAAc,GAAG,iBAAiB,EAAE,CAAC;QACvC,kBAAS,CAAC,IAAI,CACZ,gCAAgC,iBAAiB,4BAA4B,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/I,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,gDAAgD;IAChD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,wEAAwE;IACxE,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,kBAAS,CAAC,IAAI,CACZ,4CAA4C,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9G,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,yCAAyC;IACzC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAExB,IAAI,MAAM,GAAG,QAAQ,CAAC;IACtB,MAAM,iBAAiB,GAA+B,EAAE,CAAC,CAAC,4BAA4B;IAEtF,2DAA2D;IAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QACzB,sBAAsB;QACtB,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1C,IAAI,SAAS,KAAK,CAAC,CAAC;YAAE,MAAM;QAE5B,mDAAmD;QACnD,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,UAAU,GAAG,SAAS,GAAG,CAAC,CAAC;QAE/B,OAAO,UAAU,GAAG,MAAM,CAAC,MAAM,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACpD,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC1C,UAAU,EAAE,CAAC;gBACb,UAAU,IAAI,CAAC,CAAC;YAClB,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACjD,UAAU,EAAE,CAAC;gBACb,UAAU,IAAI,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,UAAU,EAAE,CAAC;YACf,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,iBAAiB,GAAG,MAAM;iBAC7B,SAAS,CAAC,SAAS,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC;iBACxC,IAAI,EAAE,CAAC;YAEV,IAAI,CAAC;gBACH,0FAA0F;gBAC1F,MAAM,mBAAmB,GAAG,iBAAiB,CAC3C,iBAAiB,EACjB,UAAU,EACV,cAAc,GAAG,CAAC,EAClB,iBAAiB,EACjB,IAAI,GAAG,CAAC,SAAS,CAAC,CACnB,CAAC;gBAEF,wCAAwC;gBACxC,MAAM,KAAK,GAAG,iBAAiB,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;gBAEjE,0DAA0D;gBAC1D,MAAM,WAAW,GACf,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,iBAAiB,IAAI,CAAC;gBAExE,kCAAkC;gBAClC,iBAAiB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;gBAE7D,CAAC,GAAG,UAAU,CAAC;YACjB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,kBAAS,CAAC,IAAI,CACZ,iCAAiC,QAAQ,iBAAiB,iBAAiB,YAAY,KAAK,EAAE,CAC/F,CAAC;gBACF,CAAC,GAAG,UAAU,CAAC;YACjB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,2DAA2D;YAC3D,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,sFAAsF;IACtF,KAAK,IAAI,CAAC,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACvD,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC5E,CAAC;IAED,+FAA+F;IAC/F,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,iBAAiB,CACtB,MAAM,EACN,UAAU,EACV,cAAc,GAAG,CAAC,EAClB,iBAAiB,EACjB,SAAS,CACV,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAC/B,UAAe,EACf,UAAmC,EACnC,iBAAyB,CAAC,EAC1B,oBAA4B,EAAE,EAC9B,mBAAoC,IAAI,OAAO,EAAE;IAEjD,6BAA6B;IAC7B,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QAClD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,mCAAmC;IACnC,IAAI,cAAc,GAAG,iBAAiB,EAAE,CAAC;QACvC,kBAAS,CAAC,IAAI,CACZ,gCAAgC,iBAAiB,uBAAuB,CACzE,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,2CAA2C;IAC3C,IAAI,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QACrC,kBAAS,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACxD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,uCAAuC;IACvC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAEjC,sCAAsC;IACtC,MAAM,MAAM,GAAQ,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAExD,8BAA8B;IAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,oBAAoB;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,4BAA4B;gBAC5B,MAAM,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC;YACzE,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACvD,qCAAqC;gBACrC,MAAM,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAC3B,KAAK,EACL,UAAU,EACV,cAAc,GAAG,CAAC,EAClB,iBAAiB,EACjB,gBAAgB,CACjB,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,+BAA+B;gBAC/B,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,qBAAqB;QACrB,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;YAE9B,uEAAuE;YACvE,IAAI,YAAY,GAAG,GAAG,CAAC;YACvB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClD,YAAY,GAAG,iBAAiB,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC;YAC1E,CAAC;YAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,4BAA4B;gBAC5B,MAAM,CAAC,YAAY,CAAC,GAAG,iBAAiB,CACtC,KAAK,EACL,UAAU,EACV,CAAC,EACD,iBAAiB,CAClB,CAAC;YACJ,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACvD,qCAAqC;gBACrC,MAAM,CAAC,YAAY,CAAC,GAAG,iBAAiB,CACtC,KAAK,EACL,UAAU,EACV,cAAc,GAAG,CAAC,EAClB,iBAAiB,EACjB,gBAAgB,CACjB,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,+BAA+B;gBAC/B,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,+BAA+B,CAAC,QAAgB;IAC9D,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,kCAAkC;IAClC,SAAS,kBAAkB,CAAC,IAAY;QACtC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,sBAAsB;YACtB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACxC,IAAI,SAAS,KAAK,CAAC,CAAC;gBAAE,MAAM;YAE5B,+BAA+B;YAC/B,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,UAAU,GAAG,SAAS,GAAG,CAAC,CAAC;YAE/B,OAAO,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBAClD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBACxC,UAAU,EAAE,CAAC;oBACb,UAAU,IAAI,CAAC,CAAC;gBAClB,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBAC/C,UAAU,EAAE,CAAC;oBACb,UAAU,IAAI,CAAC,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,UAAU,EAAE,CAAC;gBACf,CAAC;YACH,CAAC;YAED,oCAAoC;YACpC,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;gBACrB,wCAAwC;gBACxC,MAAM,iBAAiB,GAAG,IAAI;qBAC3B,SAAS,CAAC,SAAS,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC;qBACxC,IAAI,EAAE,CAAC;gBACV,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAEpC,iEAAiE;gBACjE,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;gBAEtC,CAAC,GAAG,UAAU,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,2DAA2D;gBAC3D,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAE7B,4BAA4B;IAC5B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import type { Page } from '@playwright/test';
|
|
2
|
+
import { ToolCallResult } from '../models/ToolCallResult';
|
|
3
|
+
import { GptClient } from '../clients/GptClient';
|
|
4
|
+
import { LanguageModel } from 'ai';
|
|
5
|
+
import { AnalyzePageTextToolCoreParameters } from '../tools/AnalyzePageTextTool';
|
|
6
|
+
import { JSONSchema7 } from 'json-schema';
|
|
7
|
+
import { FlowMetadata } from '../models/FlowMetadata';
|
|
8
|
+
import { AssertPageTextToolCoreParameters } from '../tools/AssertPageTextTool';
|
|
9
|
+
import { AssertToolCoreParameters } from '../tools/AssertTool';
|
|
10
|
+
import { SelectorBasedChooseSelectOptionToolParameters } from '../tools/ChooseSelectOptionTool';
|
|
11
|
+
import { SelectorBasedClickToolParameters } from '../tools/ClickTool';
|
|
12
|
+
import { SelectorBasedHoverOverElementToolParameters } from '../tools/HoverOverElementTool';
|
|
13
|
+
import { SelectorBasedInputRandomizedEmailAddressToolParameters } from '../tools/InputRandomizedEmailAddressTool';
|
|
14
|
+
import { SelectorBasedInputTextToolParameters } from '../tools/InputTextTool';
|
|
15
|
+
import { SelectorBasedPressKeyToolParameters } from '../tools/PressKeyTool';
|
|
16
|
+
import { ScrollPageToolCoreParameters } from '../tools/ScrollPageTool';
|
|
17
|
+
/**
|
|
18
|
+
* Extends the Page object with additional test-related methods.
|
|
19
|
+
*/
|
|
20
|
+
export interface DonobuExtendedPage extends Page {
|
|
21
|
+
/**
|
|
22
|
+
* Run an arbitrary Donobu tool by name.
|
|
23
|
+
*/
|
|
24
|
+
run(toolName: string, toolParams?: any, gptClientOverride?: GptClient | LanguageModel): Promise<ToolCallResult>;
|
|
25
|
+
/**
|
|
26
|
+
* Run an analysis on the current webpage's full raw text. Note that since this runs an analysis on the raw text,
|
|
27
|
+
* rather than, the HTML of the page, the raw text may be a bit jumbled, have its styling lost, careful
|
|
28
|
+
* positioning lost, etc. This tool is useful if there happens to be a lot of text on a page, and it would be
|
|
29
|
+
* tedious to scroll through the entirety of the page in order to get enough context to run an analysis.
|
|
30
|
+
*
|
|
31
|
+
* If there is context relevant to running the analysis that would not be found in the webpage text itself,
|
|
32
|
+
* perhaps context given in another message, prompt, overall object, etc, then provide it in the
|
|
33
|
+
* "additionalRelevantContext" parameter.
|
|
34
|
+
*/
|
|
35
|
+
analyzePageText(params: AnalyzePageTextToolCoreParameters, gptClientOverride?: GptClient | LanguageModel): Promise<ToolCallResult>;
|
|
36
|
+
/**
|
|
37
|
+
* Assert that given text is visible in the current page.
|
|
38
|
+
*/
|
|
39
|
+
assertPageText(params: AssertPageTextToolCoreParameters, gptClientOverride?: GptClient | LanguageModel): Promise<ToolCallResult>;
|
|
40
|
+
/**
|
|
41
|
+
* Checks all of the pages in the current browser context and returns the one
|
|
42
|
+
* matching the given URL.
|
|
43
|
+
*/
|
|
44
|
+
changeTab(url: string): Promise<Page>;
|
|
45
|
+
/**
|
|
46
|
+
* Choose <option> values for a particular <select> HTML element.
|
|
47
|
+
*/
|
|
48
|
+
chooseSelectOption(params: SelectorBasedChooseSelectOptionToolParameters): Promise<ToolCallResult>;
|
|
49
|
+
/**
|
|
50
|
+
* Click an element on a webpage.
|
|
51
|
+
*/
|
|
52
|
+
clickElement(params: SelectorBasedClickToolParameters): Promise<ToolCallResult>;
|
|
53
|
+
/**
|
|
54
|
+
* Perform an analysis of the cookies for the current web browsing session.
|
|
55
|
+
*/
|
|
56
|
+
createCookieReport(gptClientOverride?: GptClient | LanguageModel): Promise<ToolCallResult>;
|
|
57
|
+
/**
|
|
58
|
+
* Return an object conforming to the given JSON-schema. The object will be
|
|
59
|
+
* generated considering the following:
|
|
60
|
+
* - The given instruction (if any).
|
|
61
|
+
* - A screenshot of the current state of the page.
|
|
62
|
+
* - The history of actions taken on the page.
|
|
63
|
+
*/
|
|
64
|
+
extract(params: {
|
|
65
|
+
instruction?: string;
|
|
66
|
+
schema: JSONSchema7;
|
|
67
|
+
}, gptClientOverride?: GptClient | LanguageModel): Promise<Record<string, unknown>>;
|
|
68
|
+
/**
|
|
69
|
+
* Hover the mouse over a specified element on a webpage.
|
|
70
|
+
*/
|
|
71
|
+
hoverOverElement(params: SelectorBasedHoverOverElementToolParameters): Promise<ToolCallResult>;
|
|
72
|
+
/**
|
|
73
|
+
* Create a new randomized email address based on a given email and inputs it to a specific input text field.
|
|
74
|
+
* For example if passed "foo@gmail.com", this tool will create "foo+SOMETHING_RANDOM@gmail.com", where
|
|
75
|
+
* SOMETHING_RANDOM is a random string of characters safe for use in an email address, and input it in the
|
|
76
|
+
* specified text field.
|
|
77
|
+
*/
|
|
78
|
+
inputRandomizedEmailAddress(params: SelectorBasedInputRandomizedEmailAddressToolParameters): Promise<ToolCallResult>;
|
|
79
|
+
/**
|
|
80
|
+
* Input text to a webpage's text input box.
|
|
81
|
+
*/
|
|
82
|
+
inputText(params: SelectorBasedInputTextToolParameters): Promise<ToolCallResult>;
|
|
83
|
+
/**
|
|
84
|
+
* Press a single key. Note that if there is existing text in the element, it is appended rather than cleared.
|
|
85
|
+
*
|
|
86
|
+
* Generally, prefer using the 'inputText' tool instead as it automatically clears existing text
|
|
87
|
+
* and it allows the input of multiple characters at a time. The only advantage this tool has is
|
|
88
|
+
* that it allows the passing of control keys like "Tab", "Backspace", etc.
|
|
89
|
+
*/
|
|
90
|
+
pressKey(params: SelectorBasedPressKeyToolParameters): Promise<ToolCallResult>;
|
|
91
|
+
/**
|
|
92
|
+
* Run an web accessibility (i.e. axe-core) test on the current webpage.
|
|
93
|
+
*/
|
|
94
|
+
runAccessibilityTest(): Promise<ToolCallResult>;
|
|
95
|
+
/**
|
|
96
|
+
* Scroll the current page up or down by one viewport.
|
|
97
|
+
*/
|
|
98
|
+
scroll(params: ScrollPageToolCoreParameters): Promise<ToolCallResult>;
|
|
99
|
+
/**
|
|
100
|
+
* Visually assert that a given condition (i.e. the 'assertionToTestFor' field) holds true, using a screenshot of
|
|
101
|
+
* the current webpage.
|
|
102
|
+
*/
|
|
103
|
+
visuallyAssert(params: AssertToolCoreParameters, gptClientOverride?: GptClient | LanguageModel): Promise<ToolCallResult>;
|
|
104
|
+
_donobuFlowMetadata: FlowMetadata;
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=DonobuExtendedPage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DonobuExtendedPage.d.ts","sourceRoot":"","sources":["../../src/lib/DonobuExtendedPage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DonobuExtendedPage.js","sourceRoot":"","sources":["../../src/lib/DonobuExtendedPage.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const PLACEHOLDER_FLOW_URL = "https://example.com";
|
|
2
|
+
export declare const DEFAULT_GPT_MODEL_FOR_PLATFORM: {
|
|
3
|
+
ANTHROPIC: string;
|
|
4
|
+
ANTHROPIC_AWS_BEDROCK: string | undefined;
|
|
5
|
+
GOOGLE_GEMINI: string;
|
|
6
|
+
OPENAI: string;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,wBAAwB,CAAC;AAC1D,eAAO,MAAM,8BAA8B;;;;;CAU1C,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_GPT_MODEL_FOR_PLATFORM = exports.PLACEHOLDER_FLOW_URL = void 0;
|
|
4
|
+
const envVars_1 = require("../envVars");
|
|
5
|
+
exports.PLACEHOLDER_FLOW_URL = 'https://example.com';
|
|
6
|
+
exports.DEFAULT_GPT_MODEL_FOR_PLATFORM = {
|
|
7
|
+
ANTHROPIC: process.env[envVars_1.ENV_VAR_NAMES.ANTHROPIC_MODEL_NAME] ||
|
|
8
|
+
'claude-3-5-sonnet-latest',
|
|
9
|
+
ANTHROPIC_AWS_BEDROCK: process.env[envVars_1.ENV_VAR_NAMES.AWS_BEDROCK_MODEL_NAME] || undefined,
|
|
10
|
+
GOOGLE_GEMINI: process.env[envVars_1.ENV_VAR_NAMES.GOOGLE_GENERATIVE_AI_MODEL_NAME] ||
|
|
11
|
+
'gemini-2.0-flash',
|
|
12
|
+
OPENAI: process.env[envVars_1.ENV_VAR_NAMES.OPENAI_API_MODEL_NAME] || 'gpt-4o',
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":";;;AAAA,wCAA2C;AAE9B,QAAA,oBAAoB,GAAG,qBAAqB,CAAC;AAC7C,QAAA,8BAA8B,GAAG;IAC5C,SAAS,EACP,OAAO,CAAC,GAAG,CAAC,uBAAa,CAAC,oBAAoB,CAAC;QAC/C,0BAA0B;IAC5B,qBAAqB,EACnB,OAAO,CAAC,GAAG,CAAC,uBAAa,CAAC,sBAAsB,CAAC,IAAI,SAAS;IAChE,aAAa,EACX,OAAO,CAAC,GAAG,CAAC,uBAAa,CAAC,+BAA+B,CAAC;QAC1D,kBAAkB;IACpB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAa,CAAC,qBAAqB,CAAC,IAAI,QAAQ;CACrE,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TestFixture } from '@playwright/test';
|
|
2
|
+
import { BrowserStorageState } from '../../models/BrowserStorageState';
|
|
3
|
+
import { BrowserStateReference } from '../../models/BrowserStateFlowReference';
|
|
4
|
+
export declare function getBrowserStorageState(flowIdOrName: BrowserStateReference): Promise<BrowserStorageState>;
|
|
5
|
+
export declare function getBrowserStorageStateFixture(flowIdOrName: BrowserStateReference): TestFixture<BrowserStorageState, any>;
|
|
6
|
+
//# sourceMappingURL=browserState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browserState.d.ts","sourceRoot":"","sources":["../../../src/lib/fixtures/browserState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAG/E,wBAAsB,sBAAsB,CAC1C,YAAY,EAAE,qBAAqB,GAClC,OAAO,CAAC,mBAAmB,CAAC,CAI9B;AAED,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,qBAAqB,GAClC,WAAW,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAOvC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getBrowserStorageState = getBrowserStorageState;
|
|
4
|
+
exports.getBrowserStorageStateFixture = getBrowserStorageStateFixture;
|
|
5
|
+
const donobuTestStack_1 = require("../utils/donobuTestStack");
|
|
6
|
+
async function getBrowserStorageState(flowIdOrName) {
|
|
7
|
+
return (await (0, donobuTestStack_1.getOrCreateDonobuStack)()).flowsManager.getBrowserStorageState(flowIdOrName);
|
|
8
|
+
}
|
|
9
|
+
function getBrowserStorageStateFixture(flowIdOrName) {
|
|
10
|
+
return async ({}, use) => {
|
|
11
|
+
const storage = await (await (0, donobuTestStack_1.getOrCreateDonobuStack)()).flowsManager.getBrowserStorageState(flowIdOrName);
|
|
12
|
+
await use(storage);
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=browserState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browserState.js","sourceRoot":"","sources":["../../../src/lib/fixtures/browserState.ts"],"names":[],"mappings":";;AAKA,wDAMC;AAED,sEASC;AAnBD,8DAAkE;AAE3D,KAAK,UAAU,sBAAsB,CAC1C,YAAmC;IAEnC,OAAO,CAAC,MAAM,IAAA,wCAAsB,GAAE,CAAC,CAAC,YAAY,CAAC,sBAAsB,CACzE,YAAY,CACb,CAAC;AACJ,CAAC;AAED,SAAgB,6BAA6B,CAC3C,YAAmC;IAEnC,OAAO,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;QACvB,MAAM,OAAO,GAAG,MAAM,CACpB,MAAM,IAAA,wCAAsB,GAAE,CAC/B,CAAC,YAAY,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;QACpD,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { TestFixture } from '@playwright/test';
|
|
2
|
+
import { GptClient } from '../../clients/GptClient';
|
|
3
|
+
import { LanguageModel } from 'ai';
|
|
4
|
+
export declare function getOrCreateDefaultGptClient(): Promise<GptClient>;
|
|
5
|
+
/**
|
|
6
|
+
* This fixture resolves a GPT client based on environment variables.
|
|
7
|
+
* Supplying different environment variables will result in different GPT
|
|
8
|
+
* clients being created. Here is a mapping of client type to environment
|
|
9
|
+
* variables for how to create the various types of clients...
|
|
10
|
+
*
|
|
11
|
+
* Anthropic AWS Bedrock GPT client requires:
|
|
12
|
+
* - AWS_BEDROCK_MODEL_NAME
|
|
13
|
+
* - AWS_REGION
|
|
14
|
+
* - AWS_ACCESS_KEY_ID
|
|
15
|
+
* - AWS_SECRET_ACCESS_KEY
|
|
16
|
+
*
|
|
17
|
+
* Anthropic GPT client requires:
|
|
18
|
+
* - ANTHROPIC_API_KEY
|
|
19
|
+
*
|
|
20
|
+
* Google GPT client requires:
|
|
21
|
+
* - GOOGLE_GENERATIVE_AI_API_KEY
|
|
22
|
+
*
|
|
23
|
+
* OpenAI GPT client requires:
|
|
24
|
+
* - OPENAI_API_KEY
|
|
25
|
+
*
|
|
26
|
+
* If the modelName is not specified, it will be defaulted according to the
|
|
27
|
+
* DEFAULT_GPT_MODEL_FOR_PLATFORM mapping.
|
|
28
|
+
*/
|
|
29
|
+
export declare function createGptClient(modelName?: string): Promise<GptClient>;
|
|
30
|
+
export declare function anthropicClient(modelName: string, apiKey?: string): Promise<GptClient>;
|
|
31
|
+
export declare function anthropicClientFixture(modelName: string, apiKey?: string): TestFixture<GptClient, any>;
|
|
32
|
+
export declare function anthropicAwsBedrockClient(modelName: string, region?: string, accessKeyId?: string, secretAccessKey?: string): Promise<GptClient>;
|
|
33
|
+
export declare function anthropicAwsBedrockClientFixture(modelName: string, region?: string, accessKeyId?: string, secretAccessKey?: string): TestFixture<GptClient, any>;
|
|
34
|
+
export declare function googleGeminiClient(modelName: string, apiKey?: string): Promise<GptClient>;
|
|
35
|
+
export declare function googleGeminiClientFixture(modelName: string, apiKey?: string): TestFixture<GptClient, any>;
|
|
36
|
+
export declare function openAiClient(modelName: string, apiKey?: string): Promise<GptClient>;
|
|
37
|
+
export declare function openAiClientFixture(modelName: string, apiKey?: string): TestFixture<GptClient, any>;
|
|
38
|
+
export declare function vercelAiClientFixture(model: LanguageModel): TestFixture<GptClient, any>;
|
|
39
|
+
export declare function gptClientFixture(modelName?: string): TestFixture<GptClient, any>;
|
|
40
|
+
//# sourceMappingURL=gptClients.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gptClients.d.ts","sourceRoot":"","sources":["../../../src/lib/fixtures/gptClients.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGpD,OAAO,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAkBnC,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,SAAS,CAAC,CAOtE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAiD5E;AAED,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,CAcpB;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAK7B;AAED,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,SAAS,CAAC,CAmBpB;AAED,wBAAgB,gCAAgC,CAC9C,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,MAAM,GACvB,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAU7B;AAED,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,CAepB;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAK7B;AAED,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,CAcpB;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAK7B;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,GACnB,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAK7B;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,CAAC,EAAE,MAAM,GACjB,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAK7B"}
|