donobu 5.17.2 → 5.18.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/README.md +1 -1
- package/dist/apis/TargetsApi.d.ts +3 -0
- package/dist/apis/TargetsApi.js +4 -2
- package/dist/apis/ToolsApi.d.ts +3 -0
- package/dist/apis/ToolsApi.js +5 -3
- package/dist/clients/GptClientFactory.d.ts +4 -1
- package/dist/clients/GptClientFactory.js +5 -2
- package/dist/clients/GptClientPlugin.d.ts +8 -9
- package/dist/clients/GptClientPlugin.js +12 -15
- package/dist/codegen/CodeGenerator.d.ts +5 -4
- package/dist/codegen/CodeGenerator.js +61 -32
- package/dist/esm/apis/TargetsApi.d.ts +3 -0
- package/dist/esm/apis/TargetsApi.js +4 -2
- package/dist/esm/apis/ToolsApi.d.ts +3 -0
- package/dist/esm/apis/ToolsApi.js +5 -3
- package/dist/esm/clients/GptClientFactory.d.ts +4 -1
- package/dist/esm/clients/GptClientFactory.js +5 -2
- package/dist/esm/clients/GptClientPlugin.d.ts +8 -9
- package/dist/esm/clients/GptClientPlugin.js +12 -15
- package/dist/esm/codegen/CodeGenerator.d.ts +5 -4
- package/dist/esm/codegen/CodeGenerator.js +61 -32
- package/dist/esm/lib/ai/PageAi.js +4 -3
- package/dist/esm/lib/page/extendPage.js +1 -1
- package/dist/esm/lib/test/utils/selfHealing.js +3 -4
- package/dist/esm/main.d.ts +5 -4
- package/dist/esm/main.js +11 -24
- package/dist/esm/managers/AdminApiController.js +2 -2
- package/dist/esm/managers/DonobuFlowsManager.d.ts +22 -2
- package/dist/esm/managers/DonobuFlowsManager.js +34 -20
- package/dist/esm/managers/DonobuStack.d.ts +4 -0
- package/dist/esm/managers/DonobuStack.js +27 -4
- package/dist/esm/managers/PluginLoader.d.ts +12 -5
- package/dist/esm/managers/PluginLoader.js +16 -12
- package/dist/esm/managers/ToolManager.d.ts +14 -33
- package/dist/esm/managers/ToolManager.js +34 -200
- package/dist/esm/managers/ToolRegistry.d.ts +34 -0
- package/dist/esm/managers/ToolRegistry.js +178 -0
- package/dist/esm/persistence/PersistencePlugin.d.ts +8 -9
- package/dist/esm/persistence/PersistencePlugin.js +12 -15
- package/dist/esm/persistence/env/EnvPersistenceRegistry.d.ts +2 -1
- package/dist/esm/persistence/env/EnvPersistenceRegistry.js +2 -2
- package/dist/esm/persistence/flows/FlowsPersistenceRegistry.d.ts +2 -1
- package/dist/esm/persistence/flows/FlowsPersistenceRegistry.js +2 -2
- package/dist/esm/targets/TargetRuntimePlugin.d.ts +10 -12
- package/dist/esm/targets/TargetRuntimePlugin.js +16 -24
- package/dist/esm/targets/resolveTargetRuntime.d.ts +5 -7
- package/dist/esm/targets/resolveTargetRuntime.js +5 -8
- package/dist/lib/ai/PageAi.js +4 -3
- package/dist/lib/page/extendPage.js +1 -1
- package/dist/lib/test/utils/selfHealing.js +3 -4
- package/dist/main.d.ts +5 -4
- package/dist/main.js +11 -24
- package/dist/managers/AdminApiController.js +2 -2
- package/dist/managers/DonobuFlowsManager.d.ts +22 -2
- package/dist/managers/DonobuFlowsManager.js +34 -20
- package/dist/managers/DonobuStack.d.ts +4 -0
- package/dist/managers/DonobuStack.js +27 -4
- package/dist/managers/PluginLoader.d.ts +12 -5
- package/dist/managers/PluginLoader.js +16 -12
- package/dist/managers/ToolManager.d.ts +14 -33
- package/dist/managers/ToolManager.js +34 -200
- package/dist/managers/ToolRegistry.d.ts +34 -0
- package/dist/managers/ToolRegistry.js +178 -0
- package/dist/persistence/PersistencePlugin.d.ts +8 -9
- package/dist/persistence/PersistencePlugin.js +12 -15
- package/dist/persistence/env/EnvPersistenceRegistry.d.ts +2 -1
- package/dist/persistence/env/EnvPersistenceRegistry.js +2 -2
- package/dist/persistence/flows/FlowsPersistenceRegistry.d.ts +2 -1
- package/dist/persistence/flows/FlowsPersistenceRegistry.js +2 -2
- package/dist/targets/TargetRuntimePlugin.d.ts +10 -12
- package/dist/targets/TargetRuntimePlugin.js +16 -24
- package/dist/targets/resolveTargetRuntime.d.ts +5 -7
- package/dist/targets/resolveTargetRuntime.js +5 -8
- package/package.json +21 -21
- package/dist/apis/AgentsApi.d.ts.map +0 -1
- package/dist/apis/AgentsApi.js.map +0 -1
- package/dist/apis/AskAiApi.d.ts.map +0 -1
- package/dist/apis/AskAiApi.js.map +0 -1
- package/dist/apis/EnvDataApi.d.ts.map +0 -1
- package/dist/apis/EnvDataApi.js.map +0 -1
- package/dist/apis/FlowsApi.d.ts.map +0 -1
- package/dist/apis/FlowsApi.js.map +0 -1
- package/dist/apis/FlowsFilesApi.d.ts.map +0 -1
- package/dist/apis/FlowsFilesApi.js.map +0 -1
- package/dist/apis/FlowsToolCallsApi.d.ts.map +0 -1
- package/dist/apis/FlowsToolCallsApi.js.map +0 -1
- package/dist/apis/GptConfigsApi.d.ts.map +0 -1
- package/dist/apis/GptConfigsApi.js.map +0 -1
- package/dist/apis/PingApi.d.ts.map +0 -1
- package/dist/apis/PingApi.js.map +0 -1
- package/dist/apis/SchemaApi.d.ts.map +0 -1
- package/dist/apis/SchemaApi.js.map +0 -1
- package/dist/apis/TargetsApi.d.ts.map +0 -1
- package/dist/apis/TargetsApi.js.map +0 -1
- package/dist/apis/ToolsApi.d.ts.map +0 -1
- package/dist/apis/ToolsApi.js.map +0 -1
- package/dist/bindings/NamedBindingCallback.d.ts.map +0 -1
- package/dist/bindings/NamedBindingCallback.js.map +0 -1
- package/dist/bindings/PageInteractionTracker.d.ts.map +0 -1
- package/dist/bindings/PageInteractionTracker.js.map +0 -1
- package/dist/bindings/SetDonobuAnnotations.d.ts.map +0 -1
- package/dist/bindings/SetDonobuAnnotations.js.map +0 -1
- package/dist/browser-side-scripts/dialog-prompt-tracker.d.ts.map +0 -1
- package/dist/browser-side-scripts/dialog-prompt-tracker.js.map +0 -1
- package/dist/browser-side-scripts/donobu-namespace.d.ts.map +0 -1
- package/dist/browser-side-scripts/donobu-namespace.js.map +0 -1
- package/dist/browser-side-scripts/interactive-elements-tracker.d.ts.map +0 -1
- package/dist/browser-side-scripts/interactive-elements-tracker.js.map +0 -1
- package/dist/browser-side-scripts/page-interactions-tracker.d.ts.map +0 -1
- package/dist/browser-side-scripts/page-interactions-tracker.js.map +0 -1
- package/dist/browser-side-scripts/smart-selector-generator.d.ts.map +0 -1
- package/dist/browser-side-scripts/smart-selector-generator.js.map +0 -1
- package/dist/cli/donobu-cli.d.ts.map +0 -1
- package/dist/cli/donobu-cli.js.map +0 -1
- package/dist/cli/generate-site-tests.d.ts.map +0 -1
- package/dist/cli/generate-site-tests.js.map +0 -1
- package/dist/cli/install-donobu-plugin.d.ts.map +0 -1
- package/dist/cli/install-donobu-plugin.js.map +0 -1
- package/dist/cli/playwright-json-to-html.d.ts.map +0 -1
- package/dist/cli/playwright-json-to-html.js.map +0 -1
- package/dist/cli/playwright-json-to-markdown.d.ts.map +0 -1
- package/dist/cli/playwright-json-to-markdown.js.map +0 -1
- package/dist/cli/playwright-json-to-slack-json.d.ts.map +0 -1
- package/dist/cli/playwright-json-to-slack-json.js.map +0 -1
- package/dist/clients/AnthropicGptClient.d.ts.map +0 -1
- package/dist/clients/AnthropicGptClient.js.map +0 -1
- package/dist/clients/DonobuGptClient.d.ts.map +0 -1
- package/dist/clients/DonobuGptClient.js.map +0 -1
- package/dist/clients/GoogleGenerativeAiGptClient.d.ts.map +0 -1
- package/dist/clients/GoogleGenerativeAiGptClient.js.map +0 -1
- package/dist/clients/GptClient.d.ts.map +0 -1
- package/dist/clients/GptClient.js.map +0 -1
- package/dist/clients/GptClientFactory.d.ts.map +0 -1
- package/dist/clients/GptClientFactory.js.map +0 -1
- package/dist/clients/GptClientPlugin.d.ts.map +0 -1
- package/dist/clients/GptClientPlugin.js.map +0 -1
- package/dist/clients/OpenAiGptClient.d.ts.map +0 -1
- package/dist/clients/OpenAiGptClient.js.map +0 -1
- package/dist/clients/VercelAiGptClient.d.ts.map +0 -1
- package/dist/clients/VercelAiGptClient.js.map +0 -1
- package/dist/codegen/CodeGenerator.d.ts.map +0 -1
- package/dist/codegen/CodeGenerator.js.map +0 -1
- package/dist/codegen/runGenerateSiteTests.d.ts.map +0 -1
- package/dist/codegen/runGenerateSiteTests.js.map +0 -1
- package/dist/envVars.d.ts.map +0 -1
- package/dist/envVars.js.map +0 -1
- package/dist/esm/apis/AgentsApi.d.ts.map +0 -1
- package/dist/esm/apis/AgentsApi.js.map +0 -1
- package/dist/esm/apis/AskAiApi.d.ts.map +0 -1
- package/dist/esm/apis/AskAiApi.js.map +0 -1
- package/dist/esm/apis/EnvDataApi.d.ts.map +0 -1
- package/dist/esm/apis/EnvDataApi.js.map +0 -1
- package/dist/esm/apis/FlowsApi.d.ts.map +0 -1
- package/dist/esm/apis/FlowsApi.js.map +0 -1
- package/dist/esm/apis/FlowsFilesApi.d.ts.map +0 -1
- package/dist/esm/apis/FlowsFilesApi.js.map +0 -1
- package/dist/esm/apis/FlowsToolCallsApi.d.ts.map +0 -1
- package/dist/esm/apis/FlowsToolCallsApi.js.map +0 -1
- package/dist/esm/apis/GptConfigsApi.d.ts.map +0 -1
- package/dist/esm/apis/GptConfigsApi.js.map +0 -1
- package/dist/esm/apis/PingApi.d.ts.map +0 -1
- package/dist/esm/apis/PingApi.js.map +0 -1
- package/dist/esm/apis/SchemaApi.d.ts.map +0 -1
- package/dist/esm/apis/SchemaApi.js.map +0 -1
- package/dist/esm/apis/TargetsApi.d.ts.map +0 -1
- package/dist/esm/apis/TargetsApi.js.map +0 -1
- package/dist/esm/apis/ToolsApi.d.ts.map +0 -1
- package/dist/esm/apis/ToolsApi.js.map +0 -1
- package/dist/esm/bindings/NamedBindingCallback.d.ts.map +0 -1
- package/dist/esm/bindings/NamedBindingCallback.js.map +0 -1
- package/dist/esm/bindings/PageInteractionTracker.d.ts.map +0 -1
- package/dist/esm/bindings/PageInteractionTracker.js.map +0 -1
- package/dist/esm/bindings/SetDonobuAnnotations.d.ts.map +0 -1
- package/dist/esm/bindings/SetDonobuAnnotations.js.map +0 -1
- package/dist/esm/browser-side-scripts/dialog-prompt-tracker.d.ts.map +0 -1
- package/dist/esm/browser-side-scripts/dialog-prompt-tracker.js.map +0 -1
- package/dist/esm/browser-side-scripts/donobu-namespace.d.ts.map +0 -1
- package/dist/esm/browser-side-scripts/donobu-namespace.js.map +0 -1
- package/dist/esm/browser-side-scripts/interactive-elements-tracker.d.ts.map +0 -1
- package/dist/esm/browser-side-scripts/interactive-elements-tracker.js.map +0 -1
- package/dist/esm/browser-side-scripts/page-interactions-tracker.d.ts.map +0 -1
- package/dist/esm/browser-side-scripts/page-interactions-tracker.js.map +0 -1
- package/dist/esm/browser-side-scripts/smart-selector-generator.d.ts.map +0 -1
- package/dist/esm/browser-side-scripts/smart-selector-generator.js.map +0 -1
- package/dist/esm/cli/donobu-cli.d.ts.map +0 -1
- package/dist/esm/cli/donobu-cli.js.map +0 -1
- package/dist/esm/cli/generate-site-tests.d.ts.map +0 -1
- package/dist/esm/cli/generate-site-tests.js.map +0 -1
- package/dist/esm/cli/install-donobu-plugin.d.ts.map +0 -1
- package/dist/esm/cli/install-donobu-plugin.js.map +0 -1
- package/dist/esm/cli/playwright-json-to-html.d.ts.map +0 -1
- package/dist/esm/cli/playwright-json-to-html.js.map +0 -1
- package/dist/esm/cli/playwright-json-to-markdown.d.ts.map +0 -1
- package/dist/esm/cli/playwright-json-to-markdown.js.map +0 -1
- package/dist/esm/cli/playwright-json-to-slack-json.d.ts.map +0 -1
- package/dist/esm/cli/playwright-json-to-slack-json.js.map +0 -1
- package/dist/esm/clients/AnthropicGptClient.d.ts.map +0 -1
- package/dist/esm/clients/AnthropicGptClient.js.map +0 -1
- package/dist/esm/clients/DonobuGptClient.d.ts.map +0 -1
- package/dist/esm/clients/DonobuGptClient.js.map +0 -1
- package/dist/esm/clients/GoogleGenerativeAiGptClient.d.ts.map +0 -1
- package/dist/esm/clients/GoogleGenerativeAiGptClient.js.map +0 -1
- package/dist/esm/clients/GptClient.d.ts.map +0 -1
- package/dist/esm/clients/GptClient.js.map +0 -1
- package/dist/esm/clients/GptClientFactory.d.ts.map +0 -1
- package/dist/esm/clients/GptClientFactory.js.map +0 -1
- package/dist/esm/clients/GptClientPlugin.d.ts.map +0 -1
- package/dist/esm/clients/GptClientPlugin.js.map +0 -1
- package/dist/esm/clients/OpenAiGptClient.d.ts.map +0 -1
- package/dist/esm/clients/OpenAiGptClient.js.map +0 -1
- package/dist/esm/clients/VercelAiGptClient.d.ts.map +0 -1
- package/dist/esm/clients/VercelAiGptClient.js.map +0 -1
- package/dist/esm/codegen/CodeGenerator.d.ts.map +0 -1
- package/dist/esm/codegen/CodeGenerator.js.map +0 -1
- package/dist/esm/codegen/runGenerateSiteTests.d.ts.map +0 -1
- package/dist/esm/codegen/runGenerateSiteTests.js.map +0 -1
- package/dist/esm/envVars.d.ts.map +0 -1
- package/dist/esm/envVars.js.map +0 -1
- package/dist/esm/exceptions/ActiveFlowNotFoundException.d.ts.map +0 -1
- package/dist/esm/exceptions/ActiveFlowNotFoundException.js.map +0 -1
- package/dist/esm/exceptions/BrowserStateNotFoundException.d.ts.map +0 -1
- package/dist/esm/exceptions/BrowserStateNotFoundException.js.map +0 -1
- package/dist/esm/exceptions/CannotDeleteRunningFlowException.d.ts.map +0 -1
- package/dist/esm/exceptions/CannotDeleteRunningFlowException.js.map +0 -1
- package/dist/esm/exceptions/ChromeNotInstalledException.d.ts.map +0 -1
- package/dist/esm/exceptions/ChromeNotInstalledException.js.map +0 -1
- package/dist/esm/exceptions/DonobuException.d.ts.map +0 -1
- package/dist/esm/exceptions/DonobuException.js.map +0 -1
- package/dist/esm/exceptions/FlowNotFoundException.d.ts.map +0 -1
- package/dist/esm/exceptions/FlowNotFoundException.js.map +0 -1
- package/dist/esm/exceptions/GptApiKeysNotSetupException.d.ts.map +0 -1
- package/dist/esm/exceptions/GptApiKeysNotSetupException.js.map +0 -1
- package/dist/esm/exceptions/GptConfigNotFoundException.d.ts.map +0 -1
- package/dist/esm/exceptions/GptConfigNotFoundException.js.map +0 -1
- package/dist/esm/exceptions/GptModelNotFoundException.d.ts.map +0 -1
- package/dist/esm/exceptions/GptModelNotFoundException.js.map +0 -1
- package/dist/esm/exceptions/GptPlatformAuthenticationFailedException.d.ts.map +0 -1
- package/dist/esm/exceptions/GptPlatformAuthenticationFailedException.js.map +0 -1
- package/dist/esm/exceptions/GptPlatformInsufficientQuotaException.d.ts.map +0 -1
- package/dist/esm/exceptions/GptPlatformInsufficientQuotaException.js.map +0 -1
- package/dist/esm/exceptions/GptPlatformInternalErrorException.d.ts.map +0 -1
- package/dist/esm/exceptions/GptPlatformInternalErrorException.js.map +0 -1
- package/dist/esm/exceptions/GptPlatformNotReachableException.d.ts.map +0 -1
- package/dist/esm/exceptions/GptPlatformNotReachableException.js.map +0 -1
- package/dist/esm/exceptions/GptPlatformRateLimitedException.d.ts.map +0 -1
- package/dist/esm/exceptions/GptPlatformRateLimitedException.js.map +0 -1
- package/dist/esm/exceptions/InvalidParamValueException.d.ts.map +0 -1
- package/dist/esm/exceptions/InvalidParamValueException.js.map +0 -1
- package/dist/esm/exceptions/NoApiAccessTokenPresentException.d.ts.map +0 -1
- package/dist/esm/exceptions/NoApiAccessTokenPresentException.js.map +0 -1
- package/dist/esm/exceptions/PageAiException.d.ts.map +0 -1
- package/dist/esm/exceptions/PageAiException.js.map +0 -1
- package/dist/esm/exceptions/PageClosedException.d.ts.map +0 -1
- package/dist/esm/exceptions/PageClosedException.js.map +0 -1
- package/dist/esm/exceptions/TooManyRequestsException.d.ts.map +0 -1
- package/dist/esm/exceptions/TooManyRequestsException.js.map +0 -1
- package/dist/esm/exceptions/ToolCallFailedException.d.ts.map +0 -1
- package/dist/esm/exceptions/ToolCallFailedException.js.map +0 -1
- package/dist/esm/exceptions/ToolCallNotFoundException.d.ts.map +0 -1
- package/dist/esm/exceptions/ToolCallNotFoundException.js.map +0 -1
- package/dist/esm/exceptions/ToolRequiresGptException.d.ts.map +0 -1
- package/dist/esm/exceptions/ToolRequiresGptException.js.map +0 -1
- package/dist/esm/exceptions/UnknownToolException.d.ts.map +0 -1
- package/dist/esm/exceptions/UnknownToolException.js.map +0 -1
- package/dist/esm/exceptions/UserInterruptException.d.ts.map +0 -1
- package/dist/esm/exceptions/UserInterruptException.js.map +0 -1
- package/dist/esm/init.d.ts.map +0 -1
- package/dist/esm/init.js.map +0 -1
- package/dist/esm/lib/ai/PageAi.d.ts.map +0 -1
- package/dist/esm/lib/ai/PageAi.js.map +0 -1
- package/dist/esm/lib/ai/cache/assertCache.d.ts.map +0 -1
- package/dist/esm/lib/ai/cache/assertCache.js.map +0 -1
- package/dist/esm/lib/ai/cache/cache.d.ts.map +0 -1
- package/dist/esm/lib/ai/cache/cache.js.map +0 -1
- package/dist/esm/lib/ai/cache/cacheEntryBuilder.d.ts.map +0 -1
- package/dist/esm/lib/ai/cache/cacheEntryBuilder.js.map +0 -1
- package/dist/esm/lib/ai/cache/cacheLocator.d.ts.map +0 -1
- package/dist/esm/lib/ai/cache/cacheLocator.js.map +0 -1
- package/dist/esm/lib/ai/index.d.ts.map +0 -1
- package/dist/esm/lib/ai/index.js.map +0 -1
- package/dist/esm/lib/index.d.ts.map +0 -1
- package/dist/esm/lib/index.js.map +0 -1
- package/dist/esm/lib/page/DonobuExtendedPage.d.ts.map +0 -1
- package/dist/esm/lib/page/DonobuExtendedPage.js.map +0 -1
- package/dist/esm/lib/page/SmartSelector.d.ts.map +0 -1
- package/dist/esm/lib/page/SmartSelector.js.map +0 -1
- package/dist/esm/lib/page/extendPage.d.ts.map +0 -1
- package/dist/esm/lib/page/extendPage.js.map +0 -1
- package/dist/esm/lib/page/index.d.ts.map +0 -1
- package/dist/esm/lib/page/index.js.map +0 -1
- package/dist/esm/lib/page/originalGotoRegistry.d.ts.map +0 -1
- package/dist/esm/lib/page/originalGotoRegistry.js.map +0 -1
- package/dist/esm/lib/page/tbd/actionRecorder.d.ts.map +0 -1
- package/dist/esm/lib/page/tbd/actionRecorder.js.map +0 -1
- package/dist/esm/lib/page/tbd/callSiteCapture.d.ts.map +0 -1
- package/dist/esm/lib/page/tbd/callSiteCapture.js.map +0 -1
- package/dist/esm/lib/page/tbd/fileRewriter.d.ts.map +0 -1
- package/dist/esm/lib/page/tbd/fileRewriter.js.map +0 -1
- package/dist/esm/lib/page/tbd/tbdTypes.d.ts.map +0 -1
- package/dist/esm/lib/page/tbd/tbdTypes.js.map +0 -1
- package/dist/esm/lib/page/tbd.d.ts.map +0 -1
- package/dist/esm/lib/page/tbd.js.map +0 -1
- package/dist/esm/lib/test/fixtures/browserState.d.ts.map +0 -1
- package/dist/esm/lib/test/fixtures/browserState.js.map +0 -1
- package/dist/esm/lib/test/fixtures/gptClients.d.ts.map +0 -1
- package/dist/esm/lib/test/fixtures/gptClients.js.map +0 -1
- package/dist/esm/lib/test/index.d.ts.map +0 -1
- package/dist/esm/lib/test/index.js.map +0 -1
- package/dist/esm/lib/test/testExtension.d.ts.map +0 -1
- package/dist/esm/lib/test/testExtension.js.map +0 -1
- package/dist/esm/lib/test/utils/TestFileUpdater.d.ts.map +0 -1
- package/dist/esm/lib/test/utils/TestFileUpdater.js.map +0 -1
- package/dist/esm/lib/test/utils/donobuTestStack.d.ts.map +0 -1
- package/dist/esm/lib/test/utils/donobuTestStack.js.map +0 -1
- package/dist/esm/lib/test/utils/selfHealing.d.ts.map +0 -1
- package/dist/esm/lib/test/utils/selfHealing.js.map +0 -1
- package/dist/esm/lib/test/utils/triageTestFailure.d.ts.map +0 -1
- package/dist/esm/lib/test/utils/triageTestFailure.js.map +0 -1
- package/dist/esm/main.d.ts.map +0 -1
- package/dist/esm/main.js.map +0 -1
- package/dist/esm/managers/AdminApiController.d.ts.map +0 -1
- package/dist/esm/managers/AdminApiController.js.map +0 -1
- package/dist/esm/managers/AgentsManager.d.ts.map +0 -1
- package/dist/esm/managers/AgentsManager.js.map +0 -1
- package/dist/esm/managers/DonobuFlow.d.ts.map +0 -1
- package/dist/esm/managers/DonobuFlow.js.map +0 -1
- package/dist/esm/managers/DonobuFlowsManager.d.ts.map +0 -1
- package/dist/esm/managers/DonobuFlowsManager.js.map +0 -1
- package/dist/esm/managers/DonobuStack.d.ts.map +0 -1
- package/dist/esm/managers/DonobuStack.js.map +0 -1
- package/dist/esm/managers/EnvDataManager.d.ts.map +0 -1
- package/dist/esm/managers/EnvDataManager.js.map +0 -1
- package/dist/esm/managers/FlowCatalog.d.ts.map +0 -1
- package/dist/esm/managers/FlowCatalog.js.map +0 -1
- package/dist/esm/managers/FlowDependencyAnalyzer.d.ts.map +0 -1
- package/dist/esm/managers/FlowDependencyAnalyzer.js.map +0 -1
- package/dist/esm/managers/FlowDependencyResolver.d.ts +0 -20
- package/dist/esm/managers/FlowDependencyResolver.d.ts.map +0 -1
- package/dist/esm/managers/FlowDependencyResolver.js +0 -101
- package/dist/esm/managers/FlowDependencyResolver.js.map +0 -1
- package/dist/esm/managers/FlowRuntime.d.ts.map +0 -1
- package/dist/esm/managers/FlowRuntime.js.map +0 -1
- package/dist/esm/managers/GptConfigsManager.d.ts.map +0 -1
- package/dist/esm/managers/GptConfigsManager.js.map +0 -1
- package/dist/esm/managers/InteractionVisualizer.d.ts.map +0 -1
- package/dist/esm/managers/InteractionVisualizer.js.map +0 -1
- package/dist/esm/managers/PageInspector.d.ts.map +0 -1
- package/dist/esm/managers/PageInspector.js.map +0 -1
- package/dist/esm/managers/PluginLoader.d.ts.map +0 -1
- package/dist/esm/managers/PluginLoader.js.map +0 -1
- package/dist/esm/managers/TargetInspector.d.ts.map +0 -1
- package/dist/esm/managers/TargetInspector.js.map +0 -1
- package/dist/esm/managers/ToolManager.d.ts.map +0 -1
- package/dist/esm/managers/ToolManager.js.map +0 -1
- package/dist/esm/managers/WebTargetInspector.d.ts.map +0 -1
- package/dist/esm/managers/WebTargetInspector.js.map +0 -1
- package/dist/esm/models/BrowserConfig.d.ts.map +0 -1
- package/dist/esm/models/BrowserConfig.js.map +0 -1
- package/dist/esm/models/BrowserDevice.d.ts.map +0 -1
- package/dist/esm/models/BrowserDevice.js.map +0 -1
- package/dist/esm/models/BrowserStateFlowReference.d.ts.map +0 -1
- package/dist/esm/models/BrowserStateFlowReference.js.map +0 -1
- package/dist/esm/models/BrowserStorageState.d.ts.map +0 -1
- package/dist/esm/models/BrowserStorageState.js.map +0 -1
- package/dist/esm/models/CodeGenerationOptions.d.ts.map +0 -1
- package/dist/esm/models/CodeGenerationOptions.js.map +0 -1
- package/dist/esm/models/ControlPanel.d.ts.map +0 -1
- package/dist/esm/models/ControlPanel.js.map +0 -1
- package/dist/esm/models/CreateDonobuFlow.d.ts.map +0 -1
- package/dist/esm/models/CreateDonobuFlow.js.map +0 -1
- package/dist/esm/models/CreateToolOptions.d.ts.map +0 -1
- package/dist/esm/models/CreateToolOptions.js.map +0 -1
- package/dist/esm/models/CustomTool.d.ts.map +0 -1
- package/dist/esm/models/CustomTool.js.map +0 -1
- package/dist/esm/models/DonobuAgentType.d.ts.map +0 -1
- package/dist/esm/models/DonobuAgentType.js.map +0 -1
- package/dist/esm/models/DonobuDeploymentEnvironment.d.ts.map +0 -1
- package/dist/esm/models/DonobuDeploymentEnvironment.js.map +0 -1
- package/dist/esm/models/DonobuErrorResponse.d.ts.map +0 -1
- package/dist/esm/models/DonobuErrorResponse.js.map +0 -1
- package/dist/esm/models/ElementSelector.d.ts.map +0 -1
- package/dist/esm/models/ElementSelector.js.map +0 -1
- package/dist/esm/models/FlowHandle.d.ts.map +0 -1
- package/dist/esm/models/FlowHandle.js.map +0 -1
- package/dist/esm/models/FlowMetadata.d.ts.map +0 -1
- package/dist/esm/models/FlowMetadata.js.map +0 -1
- package/dist/esm/models/FocusedTarget.d.ts.map +0 -1
- package/dist/esm/models/FocusedTarget.js.map +0 -1
- package/dist/esm/models/GptConfig.d.ts.map +0 -1
- package/dist/esm/models/GptConfig.js.map +0 -1
- package/dist/esm/models/GptMessage.d.ts.map +0 -1
- package/dist/esm/models/GptMessage.js.map +0 -1
- package/dist/esm/models/InteractableElement.d.ts.map +0 -1
- package/dist/esm/models/InteractableElement.js.map +0 -1
- package/dist/esm/models/PaginatedResult.d.ts.map +0 -1
- package/dist/esm/models/PaginatedResult.js.map +0 -1
- package/dist/esm/models/ProposedToolCall.d.ts.map +0 -1
- package/dist/esm/models/ProposedToolCall.js.map +0 -1
- package/dist/esm/models/TargetConfig.d.ts.map +0 -1
- package/dist/esm/models/TargetConfig.js.map +0 -1
- package/dist/esm/models/ToolCall.d.ts.map +0 -1
- package/dist/esm/models/ToolCall.js.map +0 -1
- package/dist/esm/models/ToolCallContext.d.ts.map +0 -1
- package/dist/esm/models/ToolCallContext.js.map +0 -1
- package/dist/esm/models/ToolCallResult.d.ts.map +0 -1
- package/dist/esm/models/ToolCallResult.js.map +0 -1
- package/dist/esm/models/ToolSchema.d.ts.map +0 -1
- package/dist/esm/models/ToolSchema.js.map +0 -1
- package/dist/esm/models/ToolTemplateDataSource.d.ts.map +0 -1
- package/dist/esm/models/ToolTemplateDataSource.js.map +0 -1
- package/dist/esm/models/VideoSegment.d.ts.map +0 -1
- package/dist/esm/models/VideoSegment.js.map +0 -1
- package/dist/esm/persistence/DonobuSqliteDb.d.ts.map +0 -1
- package/dist/esm/persistence/DonobuSqliteDb.js.map +0 -1
- package/dist/esm/persistence/PersistencePlugin.d.ts.map +0 -1
- package/dist/esm/persistence/PersistencePlugin.js.map +0 -1
- package/dist/esm/persistence/agents/AgentsPersistence.d.ts.map +0 -1
- package/dist/esm/persistence/agents/AgentsPersistence.js.map +0 -1
- package/dist/esm/persistence/agents/AgentsPersistenceSqlite.d.ts.map +0 -1
- package/dist/esm/persistence/agents/AgentsPersistenceSqlite.js.map +0 -1
- package/dist/esm/persistence/agents/AgentsPersistenceVolatile.d.ts.map +0 -1
- package/dist/esm/persistence/agents/AgentsPersistenceVolatile.js.map +0 -1
- package/dist/esm/persistence/env/EnvPersistence.d.ts.map +0 -1
- package/dist/esm/persistence/env/EnvPersistence.js.map +0 -1
- package/dist/esm/persistence/env/EnvPersistenceRegistry.d.ts.map +0 -1
- package/dist/esm/persistence/env/EnvPersistenceRegistry.js.map +0 -1
- package/dist/esm/persistence/env/EnvPersistenceSqlite.d.ts.map +0 -1
- package/dist/esm/persistence/env/EnvPersistenceSqlite.js.map +0 -1
- package/dist/esm/persistence/env/EnvPersistenceVolatile.d.ts.map +0 -1
- package/dist/esm/persistence/env/EnvPersistenceVolatile.js.map +0 -1
- package/dist/esm/persistence/flows/FlowsPersistence.d.ts.map +0 -1
- package/dist/esm/persistence/flows/FlowsPersistence.js.map +0 -1
- package/dist/esm/persistence/flows/FlowsPersistenceDonobuApi.d.ts.map +0 -1
- package/dist/esm/persistence/flows/FlowsPersistenceDonobuApi.js.map +0 -1
- package/dist/esm/persistence/flows/FlowsPersistenceRegistry.d.ts.map +0 -1
- package/dist/esm/persistence/flows/FlowsPersistenceRegistry.js.map +0 -1
- package/dist/esm/persistence/flows/FlowsPersistenceSqlite.d.ts.map +0 -1
- package/dist/esm/persistence/flows/FlowsPersistenceSqlite.js.map +0 -1
- package/dist/esm/persistence/flows/FlowsPersistenceVolatile.d.ts.map +0 -1
- package/dist/esm/persistence/flows/FlowsPersistenceVolatile.js.map +0 -1
- package/dist/esm/persistence/gptconfigs/GptConfigsPersistence.d.ts.map +0 -1
- package/dist/esm/persistence/gptconfigs/GptConfigsPersistence.js.map +0 -1
- package/dist/esm/persistence/gptconfigs/GptConfigsPersistenceSqlite.d.ts.map +0 -1
- package/dist/esm/persistence/gptconfigs/GptConfigsPersistenceSqlite.js.map +0 -1
- package/dist/esm/persistence/gptconfigs/GptConfigsPersistenceVolatile.d.ts.map +0 -1
- package/dist/esm/persistence/gptconfigs/GptConfigsPersistenceVolatile.js.map +0 -1
- package/dist/esm/reporter/html.d.ts.map +0 -1
- package/dist/esm/reporter/html.js.map +0 -1
- package/dist/esm/targets/TargetRuntime.d.ts.map +0 -1
- package/dist/esm/targets/TargetRuntime.js.map +0 -1
- package/dist/esm/targets/TargetRuntimePlugin.d.ts.map +0 -1
- package/dist/esm/targets/TargetRuntimePlugin.js.map +0 -1
- package/dist/esm/targets/WebTargetRuntime.d.ts.map +0 -1
- package/dist/esm/targets/WebTargetRuntime.js.map +0 -1
- package/dist/esm/targets/resolveTargetRuntime.d.ts.map +0 -1
- package/dist/esm/targets/resolveTargetRuntime.js.map +0 -1
- package/dist/esm/tools/AcknowledgeUserInstruction.d.ts.map +0 -1
- package/dist/esm/tools/AcknowledgeUserInstruction.js.map +0 -1
- package/dist/esm/tools/AnalyzePageTextTool.d.ts.map +0 -1
- package/dist/esm/tools/AnalyzePageTextTool.js.map +0 -1
- package/dist/esm/tools/AssertPageTextTool.d.ts.map +0 -1
- package/dist/esm/tools/AssertPageTextTool.js.map +0 -1
- package/dist/esm/tools/AssertPageTool.d.ts.map +0 -1
- package/dist/esm/tools/AssertPageTool.js.map +0 -1
- package/dist/esm/tools/AssertTool.d.ts.map +0 -1
- package/dist/esm/tools/AssertTool.js.map +0 -1
- package/dist/esm/tools/ChangeWebBrowserTabTool.d.ts.map +0 -1
- package/dist/esm/tools/ChangeWebBrowserTabTool.js.map +0 -1
- package/dist/esm/tools/ChooseSelectOptionTool.d.ts.map +0 -1
- package/dist/esm/tools/ChooseSelectOptionTool.js.map +0 -1
- package/dist/esm/tools/ClickTool.d.ts.map +0 -1
- package/dist/esm/tools/ClickTool.js.map +0 -1
- package/dist/esm/tools/CreateBrowserCookieReportTool.d.ts.map +0 -1
- package/dist/esm/tools/CreateBrowserCookieReportTool.js.map +0 -1
- package/dist/esm/tools/CustomToolRunnerTool.d.ts.map +0 -1
- package/dist/esm/tools/CustomToolRunnerTool.js.map +0 -1
- package/dist/esm/tools/DetectBrokenLinksTool.d.ts.map +0 -1
- package/dist/esm/tools/DetectBrokenLinksTool.js.map +0 -1
- package/dist/esm/tools/DoubleClickTool.d.ts.map +0 -1
- package/dist/esm/tools/DoubleClickTool.js.map +0 -1
- package/dist/esm/tools/DownloadPdfTool.d.ts.map +0 -1
- package/dist/esm/tools/DownloadPdfTool.js.map +0 -1
- package/dist/esm/tools/GoForwardOrBackTool.d.ts.map +0 -1
- package/dist/esm/tools/GoForwardOrBackTool.js.map +0 -1
- package/dist/esm/tools/GoToWebpageTool.d.ts.map +0 -1
- package/dist/esm/tools/GoToWebpageTool.js.map +0 -1
- package/dist/esm/tools/HandleBrowserDialogTool.d.ts.map +0 -1
- package/dist/esm/tools/HandleBrowserDialogTool.js.map +0 -1
- package/dist/esm/tools/HoverOverElementTool.d.ts.map +0 -1
- package/dist/esm/tools/HoverOverElementTool.js.map +0 -1
- package/dist/esm/tools/InputFakerTool.d.ts.map +0 -1
- package/dist/esm/tools/InputFakerTool.js.map +0 -1
- package/dist/esm/tools/InputRandomizedEmailAddressTool.d.ts.map +0 -1
- package/dist/esm/tools/InputRandomizedEmailAddressTool.js.map +0 -1
- package/dist/esm/tools/InputTextTool.d.ts.map +0 -1
- package/dist/esm/tools/InputTextTool.js.map +0 -1
- package/dist/esm/tools/MakeCommentTool.d.ts.map +0 -1
- package/dist/esm/tools/MakeCommentTool.js.map +0 -1
- package/dist/esm/tools/MarkObjectiveCompleteTool.d.ts.map +0 -1
- package/dist/esm/tools/MarkObjectiveCompleteTool.js.map +0 -1
- package/dist/esm/tools/MarkObjectiveNotCompletableTool.d.ts.map +0 -1
- package/dist/esm/tools/MarkObjectiveNotCompletableTool.js.map +0 -1
- package/dist/esm/tools/PauseForUserInteractionTool.d.ts.map +0 -1
- package/dist/esm/tools/PauseForUserInteractionTool.js.map +0 -1
- package/dist/esm/tools/PressKeyTool.d.ts.map +0 -1
- package/dist/esm/tools/PressKeyTool.js.map +0 -1
- package/dist/esm/tools/ReloadPageTool.d.ts.map +0 -1
- package/dist/esm/tools/ReloadPageTool.js.map +0 -1
- package/dist/esm/tools/RememberPageTextTool.d.ts.map +0 -1
- package/dist/esm/tools/RememberPageTextTool.js.map +0 -1
- package/dist/esm/tools/ReplayableInteraction.d.ts.map +0 -1
- package/dist/esm/tools/ReplayableInteraction.js.map +0 -1
- package/dist/esm/tools/RunAccessibilityTestTool.d.ts.map +0 -1
- package/dist/esm/tools/RunAccessibilityTestTool.js.map +0 -1
- package/dist/esm/tools/RunInlineJavaScriptCodeTool.d.ts.map +0 -1
- package/dist/esm/tools/RunInlineJavaScriptCodeTool.js.map +0 -1
- package/dist/esm/tools/RunSandboxedJavaScriptCodeTool.d.ts.map +0 -1
- package/dist/esm/tools/RunSandboxedJavaScriptCodeTool.js.map +0 -1
- package/dist/esm/tools/SaveWebpageAsPdfTool.d.ts.map +0 -1
- package/dist/esm/tools/SaveWebpageAsPdfTool.js.map +0 -1
- package/dist/esm/tools/ScrollPageTool.d.ts.map +0 -1
- package/dist/esm/tools/ScrollPageTool.js.map +0 -1
- package/dist/esm/tools/SetRunModeTool.d.ts.map +0 -1
- package/dist/esm/tools/SetRunModeTool.js.map +0 -1
- package/dist/esm/tools/SummarizeLearningsTool.d.ts.map +0 -1
- package/dist/esm/tools/SummarizeLearningsTool.js.map +0 -1
- package/dist/esm/tools/Tool.d.ts.map +0 -1
- package/dist/esm/tools/Tool.js.map +0 -1
- package/dist/esm/tools/TriggerDonobuFlowTool.d.ts.map +0 -1
- package/dist/esm/tools/TriggerDonobuFlowTool.js.map +0 -1
- package/dist/esm/tools/WaitTool.d.ts.map +0 -1
- package/dist/esm/tools/WaitTool.js.map +0 -1
- package/dist/esm/utils/BrowserUtils.d.ts.map +0 -1
- package/dist/esm/utils/BrowserUtils.js.map +0 -1
- package/dist/esm/utils/FlowLogBuffer.d.ts.map +0 -1
- package/dist/esm/utils/FlowLogBuffer.js.map +0 -1
- package/dist/esm/utils/JsonPath.d.ts.map +0 -1
- package/dist/esm/utils/JsonPath.js.map +0 -1
- package/dist/esm/utils/JsonSchemaUtils.d.ts.map +0 -1
- package/dist/esm/utils/JsonSchemaUtils.js.map +0 -1
- package/dist/esm/utils/JsonUtils.d.ts.map +0 -1
- package/dist/esm/utils/JsonUtils.js.map +0 -1
- package/dist/esm/utils/Logger.d.ts.map +0 -1
- package/dist/esm/utils/Logger.js.map +0 -1
- package/dist/esm/utils/MiscUtils.d.ts.map +0 -1
- package/dist/esm/utils/MiscUtils.js.map +0 -1
- package/dist/esm/utils/PlaywrightUtils.d.ts.map +0 -1
- package/dist/esm/utils/PlaywrightUtils.js.map +0 -1
- package/dist/esm/utils/TargetUtils.d.ts.map +0 -1
- package/dist/esm/utils/TargetUtils.js.map +0 -1
- package/dist/esm/utils/TemplateInterpolator.d.ts.map +0 -1
- package/dist/esm/utils/TemplateInterpolator.js.map +0 -1
- package/dist/esm/utils/VerbConverter.d.ts.map +0 -1
- package/dist/esm/utils/VerbConverter.js.map +0 -1
- package/dist/esm/utils/createTool.d.ts.map +0 -1
- package/dist/esm/utils/createTool.js.map +0 -1
- package/dist/exceptions/ActiveFlowNotFoundException.d.ts.map +0 -1
- package/dist/exceptions/ActiveFlowNotFoundException.js.map +0 -1
- package/dist/exceptions/BrowserStateNotFoundException.d.ts.map +0 -1
- package/dist/exceptions/BrowserStateNotFoundException.js.map +0 -1
- package/dist/exceptions/CannotDeleteRunningFlowException.d.ts.map +0 -1
- package/dist/exceptions/CannotDeleteRunningFlowException.js.map +0 -1
- package/dist/exceptions/ChromeNotInstalledException.d.ts.map +0 -1
- package/dist/exceptions/ChromeNotInstalledException.js.map +0 -1
- package/dist/exceptions/DonobuException.d.ts.map +0 -1
- package/dist/exceptions/DonobuException.js.map +0 -1
- package/dist/exceptions/FlowNotFoundException.d.ts.map +0 -1
- package/dist/exceptions/FlowNotFoundException.js.map +0 -1
- package/dist/exceptions/GptApiKeysNotSetupException.d.ts.map +0 -1
- package/dist/exceptions/GptApiKeysNotSetupException.js.map +0 -1
- package/dist/exceptions/GptConfigNotFoundException.d.ts.map +0 -1
- package/dist/exceptions/GptConfigNotFoundException.js.map +0 -1
- package/dist/exceptions/GptModelNotFoundException.d.ts.map +0 -1
- package/dist/exceptions/GptModelNotFoundException.js.map +0 -1
- package/dist/exceptions/GptPlatformAuthenticationFailedException.d.ts.map +0 -1
- package/dist/exceptions/GptPlatformAuthenticationFailedException.js.map +0 -1
- package/dist/exceptions/GptPlatformInsufficientQuotaException.d.ts.map +0 -1
- package/dist/exceptions/GptPlatformInsufficientQuotaException.js.map +0 -1
- package/dist/exceptions/GptPlatformInternalErrorException.d.ts.map +0 -1
- package/dist/exceptions/GptPlatformInternalErrorException.js.map +0 -1
- package/dist/exceptions/GptPlatformNotReachableException.d.ts.map +0 -1
- package/dist/exceptions/GptPlatformNotReachableException.js.map +0 -1
- package/dist/exceptions/GptPlatformRateLimitedException.d.ts.map +0 -1
- package/dist/exceptions/GptPlatformRateLimitedException.js.map +0 -1
- package/dist/exceptions/InvalidParamValueException.d.ts.map +0 -1
- package/dist/exceptions/InvalidParamValueException.js.map +0 -1
- package/dist/exceptions/NoApiAccessTokenPresentException.d.ts.map +0 -1
- package/dist/exceptions/NoApiAccessTokenPresentException.js.map +0 -1
- package/dist/exceptions/PageAiException.d.ts.map +0 -1
- package/dist/exceptions/PageAiException.js.map +0 -1
- package/dist/exceptions/PageClosedException.d.ts.map +0 -1
- package/dist/exceptions/PageClosedException.js.map +0 -1
- package/dist/exceptions/TooManyRequestsException.d.ts.map +0 -1
- package/dist/exceptions/TooManyRequestsException.js.map +0 -1
- package/dist/exceptions/ToolCallFailedException.d.ts.map +0 -1
- package/dist/exceptions/ToolCallFailedException.js.map +0 -1
- package/dist/exceptions/ToolCallNotFoundException.d.ts.map +0 -1
- package/dist/exceptions/ToolCallNotFoundException.js.map +0 -1
- package/dist/exceptions/ToolRequiresGptException.d.ts.map +0 -1
- package/dist/exceptions/ToolRequiresGptException.js.map +0 -1
- package/dist/exceptions/UnknownToolException.d.ts.map +0 -1
- package/dist/exceptions/UnknownToolException.js.map +0 -1
- package/dist/exceptions/UserInterruptException.d.ts.map +0 -1
- package/dist/exceptions/UserInterruptException.js.map +0 -1
- package/dist/init.d.ts.map +0 -1
- package/dist/init.js.map +0 -1
- package/dist/lib/ai/PageAi.d.ts.map +0 -1
- package/dist/lib/ai/PageAi.js.map +0 -1
- package/dist/lib/ai/cache/assertCache.d.ts.map +0 -1
- package/dist/lib/ai/cache/assertCache.js.map +0 -1
- package/dist/lib/ai/cache/cache.d.ts.map +0 -1
- package/dist/lib/ai/cache/cache.js.map +0 -1
- package/dist/lib/ai/cache/cacheEntryBuilder.d.ts.map +0 -1
- package/dist/lib/ai/cache/cacheEntryBuilder.js.map +0 -1
- package/dist/lib/ai/cache/cacheLocator.d.ts.map +0 -1
- package/dist/lib/ai/cache/cacheLocator.js.map +0 -1
- package/dist/lib/ai/index.d.ts.map +0 -1
- package/dist/lib/ai/index.js.map +0 -1
- package/dist/lib/index.d.ts.map +0 -1
- package/dist/lib/index.js.map +0 -1
- package/dist/lib/page/DonobuExtendedPage.d.ts.map +0 -1
- package/dist/lib/page/DonobuExtendedPage.js.map +0 -1
- package/dist/lib/page/SmartSelector.d.ts.map +0 -1
- package/dist/lib/page/SmartSelector.js.map +0 -1
- package/dist/lib/page/extendPage.d.ts.map +0 -1
- package/dist/lib/page/extendPage.js.map +0 -1
- package/dist/lib/page/index.d.ts.map +0 -1
- package/dist/lib/page/index.js.map +0 -1
- package/dist/lib/page/originalGotoRegistry.d.ts.map +0 -1
- package/dist/lib/page/originalGotoRegistry.js.map +0 -1
- package/dist/lib/page/tbd/actionRecorder.d.ts.map +0 -1
- package/dist/lib/page/tbd/actionRecorder.js.map +0 -1
- package/dist/lib/page/tbd/callSiteCapture.d.ts.map +0 -1
- package/dist/lib/page/tbd/callSiteCapture.js.map +0 -1
- package/dist/lib/page/tbd/fileRewriter.d.ts.map +0 -1
- package/dist/lib/page/tbd/fileRewriter.js.map +0 -1
- package/dist/lib/page/tbd/tbdTypes.d.ts.map +0 -1
- package/dist/lib/page/tbd/tbdTypes.js.map +0 -1
- package/dist/lib/page/tbd.d.ts.map +0 -1
- package/dist/lib/page/tbd.js.map +0 -1
- package/dist/lib/test/fixtures/browserState.d.ts.map +0 -1
- package/dist/lib/test/fixtures/browserState.js.map +0 -1
- package/dist/lib/test/fixtures/gptClients.d.ts.map +0 -1
- package/dist/lib/test/fixtures/gptClients.js.map +0 -1
- package/dist/lib/test/index.d.ts.map +0 -1
- package/dist/lib/test/index.js.map +0 -1
- package/dist/lib/test/testExtension.d.ts.map +0 -1
- package/dist/lib/test/testExtension.js.map +0 -1
- package/dist/lib/test/utils/TestFileUpdater.d.ts.map +0 -1
- package/dist/lib/test/utils/TestFileUpdater.js.map +0 -1
- package/dist/lib/test/utils/donobuTestStack.d.ts.map +0 -1
- package/dist/lib/test/utils/donobuTestStack.js.map +0 -1
- package/dist/lib/test/utils/selfHealing.d.ts.map +0 -1
- package/dist/lib/test/utils/selfHealing.js.map +0 -1
- package/dist/lib/test/utils/triageTestFailure.d.ts.map +0 -1
- package/dist/lib/test/utils/triageTestFailure.js.map +0 -1
- package/dist/main.d.ts.map +0 -1
- package/dist/main.js.map +0 -1
- package/dist/managers/AdminApiController.d.ts.map +0 -1
- package/dist/managers/AdminApiController.js.map +0 -1
- package/dist/managers/AgentsManager.d.ts.map +0 -1
- package/dist/managers/AgentsManager.js.map +0 -1
- package/dist/managers/DonobuFlow.d.ts.map +0 -1
- package/dist/managers/DonobuFlow.js.map +0 -1
- package/dist/managers/DonobuFlowsManager.d.ts.map +0 -1
- package/dist/managers/DonobuFlowsManager.js.map +0 -1
- package/dist/managers/DonobuStack.d.ts.map +0 -1
- package/dist/managers/DonobuStack.js.map +0 -1
- package/dist/managers/EnvDataManager.d.ts.map +0 -1
- package/dist/managers/EnvDataManager.js.map +0 -1
- package/dist/managers/FlowCatalog.d.ts.map +0 -1
- package/dist/managers/FlowCatalog.js.map +0 -1
- package/dist/managers/FlowDependencyAnalyzer.d.ts.map +0 -1
- package/dist/managers/FlowDependencyAnalyzer.js.map +0 -1
- package/dist/managers/FlowDependencyResolver.d.ts +0 -20
- package/dist/managers/FlowDependencyResolver.d.ts.map +0 -1
- package/dist/managers/FlowDependencyResolver.js +0 -101
- package/dist/managers/FlowDependencyResolver.js.map +0 -1
- package/dist/managers/FlowRuntime.d.ts.map +0 -1
- package/dist/managers/FlowRuntime.js.map +0 -1
- package/dist/managers/GptConfigsManager.d.ts.map +0 -1
- package/dist/managers/GptConfigsManager.js.map +0 -1
- package/dist/managers/InteractionVisualizer.d.ts.map +0 -1
- package/dist/managers/InteractionVisualizer.js.map +0 -1
- package/dist/managers/PageInspector.d.ts.map +0 -1
- package/dist/managers/PageInspector.js.map +0 -1
- package/dist/managers/PluginLoader.d.ts.map +0 -1
- package/dist/managers/PluginLoader.js.map +0 -1
- package/dist/managers/TargetInspector.d.ts.map +0 -1
- package/dist/managers/TargetInspector.js.map +0 -1
- package/dist/managers/ToolManager.d.ts.map +0 -1
- package/dist/managers/ToolManager.js.map +0 -1
- package/dist/managers/WebTargetInspector.d.ts.map +0 -1
- package/dist/managers/WebTargetInspector.js.map +0 -1
- package/dist/models/BrowserConfig.d.ts.map +0 -1
- package/dist/models/BrowserConfig.js.map +0 -1
- package/dist/models/BrowserDevice.d.ts.map +0 -1
- package/dist/models/BrowserDevice.js.map +0 -1
- package/dist/models/BrowserStateFlowReference.d.ts.map +0 -1
- package/dist/models/BrowserStateFlowReference.js.map +0 -1
- package/dist/models/BrowserStorageState.d.ts.map +0 -1
- package/dist/models/BrowserStorageState.js.map +0 -1
- package/dist/models/CodeGenerationOptions.d.ts.map +0 -1
- package/dist/models/CodeGenerationOptions.js.map +0 -1
- package/dist/models/ControlPanel.d.ts.map +0 -1
- package/dist/models/ControlPanel.js.map +0 -1
- package/dist/models/CreateDonobuFlow.d.ts.map +0 -1
- package/dist/models/CreateDonobuFlow.js.map +0 -1
- package/dist/models/CreateToolOptions.d.ts.map +0 -1
- package/dist/models/CreateToolOptions.js.map +0 -1
- package/dist/models/CustomTool.d.ts.map +0 -1
- package/dist/models/CustomTool.js.map +0 -1
- package/dist/models/DonobuAgentType.d.ts.map +0 -1
- package/dist/models/DonobuAgentType.js.map +0 -1
- package/dist/models/DonobuDeploymentEnvironment.d.ts.map +0 -1
- package/dist/models/DonobuDeploymentEnvironment.js.map +0 -1
- package/dist/models/DonobuErrorResponse.d.ts.map +0 -1
- package/dist/models/DonobuErrorResponse.js.map +0 -1
- package/dist/models/ElementSelector.d.ts.map +0 -1
- package/dist/models/ElementSelector.js.map +0 -1
- package/dist/models/FlowHandle.d.ts.map +0 -1
- package/dist/models/FlowHandle.js.map +0 -1
- package/dist/models/FlowMetadata.d.ts.map +0 -1
- package/dist/models/FlowMetadata.js.map +0 -1
- package/dist/models/FocusedTarget.d.ts.map +0 -1
- package/dist/models/FocusedTarget.js.map +0 -1
- package/dist/models/GptConfig.d.ts.map +0 -1
- package/dist/models/GptConfig.js.map +0 -1
- package/dist/models/GptMessage.d.ts.map +0 -1
- package/dist/models/GptMessage.js.map +0 -1
- package/dist/models/InteractableElement.d.ts.map +0 -1
- package/dist/models/InteractableElement.js.map +0 -1
- package/dist/models/PaginatedResult.d.ts.map +0 -1
- package/dist/models/PaginatedResult.js.map +0 -1
- package/dist/models/ProposedToolCall.d.ts.map +0 -1
- package/dist/models/ProposedToolCall.js.map +0 -1
- package/dist/models/TargetConfig.d.ts.map +0 -1
- package/dist/models/TargetConfig.js.map +0 -1
- package/dist/models/ToolCall.d.ts.map +0 -1
- package/dist/models/ToolCall.js.map +0 -1
- package/dist/models/ToolCallContext.d.ts.map +0 -1
- package/dist/models/ToolCallContext.js.map +0 -1
- package/dist/models/ToolCallResult.d.ts.map +0 -1
- package/dist/models/ToolCallResult.js.map +0 -1
- package/dist/models/ToolSchema.d.ts.map +0 -1
- package/dist/models/ToolSchema.js.map +0 -1
- package/dist/models/ToolTemplateDataSource.d.ts.map +0 -1
- package/dist/models/ToolTemplateDataSource.js.map +0 -1
- package/dist/models/VideoSegment.d.ts.map +0 -1
- package/dist/models/VideoSegment.js.map +0 -1
- package/dist/persistence/DonobuSqliteDb.d.ts.map +0 -1
- package/dist/persistence/DonobuSqliteDb.js.map +0 -1
- package/dist/persistence/PersistencePlugin.d.ts.map +0 -1
- package/dist/persistence/PersistencePlugin.js.map +0 -1
- package/dist/persistence/agents/AgentsPersistence.d.ts.map +0 -1
- package/dist/persistence/agents/AgentsPersistence.js.map +0 -1
- package/dist/persistence/agents/AgentsPersistenceSqlite.d.ts.map +0 -1
- package/dist/persistence/agents/AgentsPersistenceSqlite.js.map +0 -1
- package/dist/persistence/agents/AgentsPersistenceVolatile.d.ts.map +0 -1
- package/dist/persistence/agents/AgentsPersistenceVolatile.js.map +0 -1
- package/dist/persistence/env/EnvPersistence.d.ts.map +0 -1
- package/dist/persistence/env/EnvPersistence.js.map +0 -1
- package/dist/persistence/env/EnvPersistenceRegistry.d.ts.map +0 -1
- package/dist/persistence/env/EnvPersistenceRegistry.js.map +0 -1
- package/dist/persistence/env/EnvPersistenceSqlite.d.ts.map +0 -1
- package/dist/persistence/env/EnvPersistenceSqlite.js.map +0 -1
- package/dist/persistence/env/EnvPersistenceVolatile.d.ts.map +0 -1
- package/dist/persistence/env/EnvPersistenceVolatile.js.map +0 -1
- package/dist/persistence/flows/FlowsPersistence.d.ts.map +0 -1
- package/dist/persistence/flows/FlowsPersistence.js.map +0 -1
- package/dist/persistence/flows/FlowsPersistenceDonobuApi.d.ts.map +0 -1
- package/dist/persistence/flows/FlowsPersistenceDonobuApi.js.map +0 -1
- package/dist/persistence/flows/FlowsPersistenceRegistry.d.ts.map +0 -1
- package/dist/persistence/flows/FlowsPersistenceRegistry.js.map +0 -1
- package/dist/persistence/flows/FlowsPersistenceSqlite.d.ts.map +0 -1
- package/dist/persistence/flows/FlowsPersistenceSqlite.js.map +0 -1
- package/dist/persistence/flows/FlowsPersistenceVolatile.d.ts.map +0 -1
- package/dist/persistence/flows/FlowsPersistenceVolatile.js.map +0 -1
- package/dist/persistence/gptconfigs/GptConfigsPersistence.d.ts.map +0 -1
- package/dist/persistence/gptconfigs/GptConfigsPersistence.js.map +0 -1
- package/dist/persistence/gptconfigs/GptConfigsPersistenceSqlite.d.ts.map +0 -1
- package/dist/persistence/gptconfigs/GptConfigsPersistenceSqlite.js.map +0 -1
- package/dist/persistence/gptconfigs/GptConfigsPersistenceVolatile.d.ts.map +0 -1
- package/dist/persistence/gptconfigs/GptConfigsPersistenceVolatile.js.map +0 -1
- package/dist/reporter/html.d.ts.map +0 -1
- package/dist/reporter/html.js.map +0 -1
- package/dist/targets/TargetRuntime.d.ts.map +0 -1
- package/dist/targets/TargetRuntime.js.map +0 -1
- package/dist/targets/TargetRuntimePlugin.d.ts.map +0 -1
- package/dist/targets/TargetRuntimePlugin.js.map +0 -1
- package/dist/targets/WebTargetRuntime.d.ts.map +0 -1
- package/dist/targets/WebTargetRuntime.js.map +0 -1
- package/dist/targets/resolveTargetRuntime.d.ts.map +0 -1
- package/dist/targets/resolveTargetRuntime.js.map +0 -1
- package/dist/tools/AcknowledgeUserInstruction.d.ts.map +0 -1
- package/dist/tools/AcknowledgeUserInstruction.js.map +0 -1
- package/dist/tools/AnalyzePageTextTool.d.ts.map +0 -1
- package/dist/tools/AnalyzePageTextTool.js.map +0 -1
- package/dist/tools/AssertPageTextTool.d.ts.map +0 -1
- package/dist/tools/AssertPageTextTool.js.map +0 -1
- package/dist/tools/AssertPageTool.d.ts.map +0 -1
- package/dist/tools/AssertPageTool.js.map +0 -1
- package/dist/tools/AssertTool.d.ts.map +0 -1
- package/dist/tools/AssertTool.js.map +0 -1
- package/dist/tools/ChangeWebBrowserTabTool.d.ts.map +0 -1
- package/dist/tools/ChangeWebBrowserTabTool.js.map +0 -1
- package/dist/tools/ChooseSelectOptionTool.d.ts.map +0 -1
- package/dist/tools/ChooseSelectOptionTool.js.map +0 -1
- package/dist/tools/ClickTool.d.ts.map +0 -1
- package/dist/tools/ClickTool.js.map +0 -1
- package/dist/tools/CreateBrowserCookieReportTool.d.ts.map +0 -1
- package/dist/tools/CreateBrowserCookieReportTool.js.map +0 -1
- package/dist/tools/CustomToolRunnerTool.d.ts.map +0 -1
- package/dist/tools/CustomToolRunnerTool.js.map +0 -1
- package/dist/tools/DetectBrokenLinksTool.d.ts.map +0 -1
- package/dist/tools/DetectBrokenLinksTool.js.map +0 -1
- package/dist/tools/DoubleClickTool.d.ts.map +0 -1
- package/dist/tools/DoubleClickTool.js.map +0 -1
- package/dist/tools/DownloadPdfTool.d.ts.map +0 -1
- package/dist/tools/DownloadPdfTool.js.map +0 -1
- package/dist/tools/GoForwardOrBackTool.d.ts.map +0 -1
- package/dist/tools/GoForwardOrBackTool.js.map +0 -1
- package/dist/tools/GoToWebpageTool.d.ts.map +0 -1
- package/dist/tools/GoToWebpageTool.js.map +0 -1
- package/dist/tools/HandleBrowserDialogTool.d.ts.map +0 -1
- package/dist/tools/HandleBrowserDialogTool.js.map +0 -1
- package/dist/tools/HoverOverElementTool.d.ts.map +0 -1
- package/dist/tools/HoverOverElementTool.js.map +0 -1
- package/dist/tools/InputFakerTool.d.ts.map +0 -1
- package/dist/tools/InputFakerTool.js.map +0 -1
- package/dist/tools/InputRandomizedEmailAddressTool.d.ts.map +0 -1
- package/dist/tools/InputRandomizedEmailAddressTool.js.map +0 -1
- package/dist/tools/InputTextTool.d.ts.map +0 -1
- package/dist/tools/InputTextTool.js.map +0 -1
- package/dist/tools/MakeCommentTool.d.ts.map +0 -1
- package/dist/tools/MakeCommentTool.js.map +0 -1
- package/dist/tools/MarkObjectiveCompleteTool.d.ts.map +0 -1
- package/dist/tools/MarkObjectiveCompleteTool.js.map +0 -1
- package/dist/tools/MarkObjectiveNotCompletableTool.d.ts.map +0 -1
- package/dist/tools/MarkObjectiveNotCompletableTool.js.map +0 -1
- package/dist/tools/PauseForUserInteractionTool.d.ts.map +0 -1
- package/dist/tools/PauseForUserInteractionTool.js.map +0 -1
- package/dist/tools/PressKeyTool.d.ts.map +0 -1
- package/dist/tools/PressKeyTool.js.map +0 -1
- package/dist/tools/ReloadPageTool.d.ts.map +0 -1
- package/dist/tools/ReloadPageTool.js.map +0 -1
- package/dist/tools/RememberPageTextTool.d.ts.map +0 -1
- package/dist/tools/RememberPageTextTool.js.map +0 -1
- package/dist/tools/ReplayableInteraction.d.ts.map +0 -1
- package/dist/tools/ReplayableInteraction.js.map +0 -1
- package/dist/tools/RunAccessibilityTestTool.d.ts.map +0 -1
- package/dist/tools/RunAccessibilityTestTool.js.map +0 -1
- package/dist/tools/RunInlineJavaScriptCodeTool.d.ts.map +0 -1
- package/dist/tools/RunInlineJavaScriptCodeTool.js.map +0 -1
- package/dist/tools/RunSandboxedJavaScriptCodeTool.d.ts.map +0 -1
- package/dist/tools/RunSandboxedJavaScriptCodeTool.js.map +0 -1
- package/dist/tools/SaveWebpageAsPdfTool.d.ts.map +0 -1
- package/dist/tools/SaveWebpageAsPdfTool.js.map +0 -1
- package/dist/tools/ScrollPageTool.d.ts.map +0 -1
- package/dist/tools/ScrollPageTool.js.map +0 -1
- package/dist/tools/SetRunModeTool.d.ts.map +0 -1
- package/dist/tools/SetRunModeTool.js.map +0 -1
- package/dist/tools/SummarizeLearningsTool.d.ts.map +0 -1
- package/dist/tools/SummarizeLearningsTool.js.map +0 -1
- package/dist/tools/Tool.d.ts.map +0 -1
- package/dist/tools/Tool.js.map +0 -1
- package/dist/tools/TriggerDonobuFlowTool.d.ts.map +0 -1
- package/dist/tools/TriggerDonobuFlowTool.js.map +0 -1
- package/dist/tools/WaitTool.d.ts.map +0 -1
- package/dist/tools/WaitTool.js.map +0 -1
- package/dist/utils/BrowserUtils.d.ts.map +0 -1
- package/dist/utils/BrowserUtils.js.map +0 -1
- package/dist/utils/FlowLogBuffer.d.ts.map +0 -1
- package/dist/utils/FlowLogBuffer.js.map +0 -1
- package/dist/utils/JsonPath.d.ts.map +0 -1
- package/dist/utils/JsonPath.js.map +0 -1
- package/dist/utils/JsonSchemaUtils.d.ts.map +0 -1
- package/dist/utils/JsonSchemaUtils.js.map +0 -1
- package/dist/utils/JsonUtils.d.ts.map +0 -1
- package/dist/utils/JsonUtils.js.map +0 -1
- package/dist/utils/Logger.d.ts.map +0 -1
- package/dist/utils/Logger.js.map +0 -1
- package/dist/utils/MiscUtils.d.ts.map +0 -1
- package/dist/utils/MiscUtils.js.map +0 -1
- package/dist/utils/PlaywrightUtils.d.ts.map +0 -1
- package/dist/utils/PlaywrightUtils.js.map +0 -1
- package/dist/utils/TargetUtils.d.ts.map +0 -1
- package/dist/utils/TargetUtils.js.map +0 -1
- package/dist/utils/TemplateInterpolator.d.ts.map +0 -1
- package/dist/utils/TemplateInterpolator.js.map +0 -1
- package/dist/utils/VerbConverter.d.ts.map +0 -1
- package/dist/utils/VerbConverter.js.map +0 -1
- package/dist/utils/createTool.d.ts.map +0 -1
- package/dist/utils/createTool.js.map +0 -1
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@ Create, run, and heal AI-assisted Playwright flows with a single dependency. The
|
|
|
11
11
|
|
|
12
12
|
## Prerequisites
|
|
13
13
|
|
|
14
|
-
- Node.js 18+ and npm 8
|
|
14
|
+
- Node.js 18+ and a package manager (npm 8+, pnpm 10+, or yarn).
|
|
15
15
|
- Playwright browsers (`npx playwright install`).
|
|
16
16
|
- At least one LLM credential (OpenAI, Anthropic, Google Gemini, AWS Bedrock, or Donobu API).
|
|
17
17
|
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { Request, Response } from 'express';
|
|
2
|
+
import type { TargetRuntimePluginRegistry } from '../targets/TargetRuntimePlugin';
|
|
2
3
|
export declare class TargetsApi {
|
|
4
|
+
private readonly targetRuntimePlugins;
|
|
5
|
+
constructor(targetRuntimePlugins: TargetRuntimePluginRegistry);
|
|
3
6
|
getTargets(_req: Request, res: Response): Promise<void>;
|
|
4
7
|
}
|
|
5
8
|
//# sourceMappingURL=TargetsApi.d.ts.map
|
package/dist/apis/TargetsApi.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TargetsApi = void 0;
|
|
4
|
-
const TargetRuntimePlugin_1 = require("../targets/TargetRuntimePlugin");
|
|
5
4
|
class TargetsApi {
|
|
5
|
+
constructor(targetRuntimePlugins) {
|
|
6
|
+
this.targetRuntimePlugins = targetRuntimePlugins;
|
|
7
|
+
}
|
|
6
8
|
async getTargets(_req, res) {
|
|
7
|
-
const plugins =
|
|
9
|
+
const plugins = this.targetRuntimePlugins.getAll();
|
|
8
10
|
const targets = plugins.map((p) => ({
|
|
9
11
|
type: p.type,
|
|
10
12
|
...p.describe(),
|
package/dist/apis/ToolsApi.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Request, Response } from 'express';
|
|
2
2
|
import type { JSONSchema } from 'zod/v4/core';
|
|
3
|
+
import type { ToolRegistry } from '../managers/ToolRegistry';
|
|
3
4
|
export type SupportedTool = {
|
|
4
5
|
name: string;
|
|
5
6
|
description: string;
|
|
@@ -11,6 +12,8 @@ export type SupportedTool = {
|
|
|
11
12
|
* This class reports the tools supported by the Donobu runtime.
|
|
12
13
|
*/
|
|
13
14
|
export declare class ToolsApi {
|
|
15
|
+
private readonly toolRegistry;
|
|
16
|
+
constructor(toolRegistry: ToolRegistry);
|
|
14
17
|
/**
|
|
15
18
|
* GET endpoint handler that returns the supported tools as JSON
|
|
16
19
|
*/
|
package/dist/apis/ToolsApi.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ToolsApi = void 0;
|
|
4
4
|
const v4_1 = require("zod/v4");
|
|
5
|
-
const ToolManager_1 = require("../managers/ToolManager");
|
|
6
5
|
const AcknowledgeUserInstruction_1 = require("../tools/AcknowledgeUserInstruction");
|
|
7
6
|
const AssertPageTextTool_1 = require("../tools/AssertPageTextTool");
|
|
8
7
|
const DetectBrokenLinksTool_1 = require("../tools/DetectBrokenLinksTool");
|
|
@@ -25,14 +24,17 @@ const SUPPRESSED_TOOLS_BY_NAME = new Set([
|
|
|
25
24
|
* This class reports the tools supported by the Donobu runtime.
|
|
26
25
|
*/
|
|
27
26
|
class ToolsApi {
|
|
27
|
+
constructor(toolRegistry) {
|
|
28
|
+
this.toolRegistry = toolRegistry;
|
|
29
|
+
}
|
|
28
30
|
/**
|
|
29
31
|
* GET endpoint handler that returns the supported tools as JSON
|
|
30
32
|
*/
|
|
31
33
|
async getSupportedTools(req, res) {
|
|
32
34
|
const targetType = req.query.target;
|
|
33
35
|
const tools = targetType
|
|
34
|
-
?
|
|
35
|
-
:
|
|
36
|
+
? this.toolRegistry.toolsForTarget(targetType)
|
|
37
|
+
: this.toolRegistry.allTools();
|
|
36
38
|
const response = tools
|
|
37
39
|
.filter((tool) => !SUPPRESSED_TOOLS_BY_NAME.has(tool.name))
|
|
38
40
|
.map((tool) => ({
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { GptConfigInput } from '../models/GptConfig';
|
|
2
2
|
import type { GptClient } from './GptClient';
|
|
3
|
+
import { GptClientPluginRegistry } from './GptClientPlugin';
|
|
3
4
|
/**
|
|
4
5
|
* Interface for creating GPT clients from configuration objects.
|
|
5
6
|
* This allows for dependency injection and easier testing.
|
|
@@ -18,9 +19,11 @@ export interface GptClientFactory {
|
|
|
18
19
|
* based on configuration and validates them by performing a ping.
|
|
19
20
|
*
|
|
20
21
|
* Built-in types are handled directly; unknown types are delegated to
|
|
21
|
-
* the GPT client plugin registry
|
|
22
|
+
* the GPT client plugin registry.
|
|
22
23
|
*/
|
|
23
24
|
export declare class GptClientFactoryImpl implements GptClientFactory {
|
|
25
|
+
private readonly gptClientPlugins;
|
|
26
|
+
constructor(gptClientPlugins?: GptClientPluginRegistry);
|
|
24
27
|
createClient(config: GptConfigInput): Promise<GptClient>;
|
|
25
28
|
/**
|
|
26
29
|
* Resolves the correct GptClient implementation for the given config.
|
|
@@ -13,9 +13,12 @@ const OpenAiGptClient_1 = require("./OpenAiGptClient");
|
|
|
13
13
|
* based on configuration and validates them by performing a ping.
|
|
14
14
|
*
|
|
15
15
|
* Built-in types are handled directly; unknown types are delegated to
|
|
16
|
-
* the GPT client plugin registry
|
|
16
|
+
* the GPT client plugin registry.
|
|
17
17
|
*/
|
|
18
18
|
class GptClientFactoryImpl {
|
|
19
|
+
constructor(gptClientPlugins = new GptClientPlugin_1.GptClientPluginRegistry([])) {
|
|
20
|
+
this.gptClientPlugins = gptClientPlugins;
|
|
21
|
+
}
|
|
19
22
|
async createClient(config) {
|
|
20
23
|
const client = await this.resolveClient(config);
|
|
21
24
|
await client.ping();
|
|
@@ -34,7 +37,7 @@ class GptClientFactoryImpl {
|
|
|
34
37
|
return this.createBuiltInClient(builtIn.data);
|
|
35
38
|
}
|
|
36
39
|
// Fall back to plugin registry for plugin-provided types.
|
|
37
|
-
const plugin =
|
|
40
|
+
const plugin = this.gptClientPlugins.get(config.type);
|
|
38
41
|
if (plugin) {
|
|
39
42
|
return plugin.createClient(config);
|
|
40
43
|
}
|
|
@@ -14,14 +14,13 @@ export interface GptClientPlugin {
|
|
|
14
14
|
createClient(config: Record<string, unknown>): Promise<GptClient>;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* {@link GptClientFactoryImpl} can discover and use it.
|
|
17
|
+
* An immutable registry of GPT client plugins, keyed by config type.
|
|
18
|
+
* Created once at startup and threaded through the application.
|
|
20
19
|
*/
|
|
21
|
-
export declare
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
export declare class GptClientPluginRegistry {
|
|
21
|
+
private readonly plugins;
|
|
22
|
+
constructor(plugins: GptClientPlugin[]);
|
|
23
|
+
/** Look up a registered GPT client plugin by config type. */
|
|
24
|
+
get(type: string): GptClientPlugin | undefined;
|
|
25
|
+
}
|
|
27
26
|
//# sourceMappingURL=GptClientPlugin.d.ts.map
|
|
@@ -1,21 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.getGptClientPlugin = getGptClientPlugin;
|
|
5
|
-
const plugins = new Map();
|
|
3
|
+
exports.GptClientPluginRegistry = void 0;
|
|
6
4
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* {@link GptClientFactoryImpl} can discover and use it.
|
|
5
|
+
* An immutable registry of GPT client plugins, keyed by config type.
|
|
6
|
+
* Created once at startup and threaded through the application.
|
|
10
7
|
*/
|
|
11
|
-
|
|
12
|
-
plugins
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
return plugins.get(type);
|
|
8
|
+
class GptClientPluginRegistry {
|
|
9
|
+
constructor(plugins) {
|
|
10
|
+
this.plugins = new Map(plugins.map((p) => [p.type, p]));
|
|
11
|
+
}
|
|
12
|
+
/** Look up a registered GPT client plugin by config type. */
|
|
13
|
+
get(type) {
|
|
14
|
+
return this.plugins.get(type);
|
|
15
|
+
}
|
|
20
16
|
}
|
|
17
|
+
exports.GptClientPluginRegistry = GptClientPluginRegistry;
|
|
21
18
|
//# sourceMappingURL=GptClientPlugin.js.map
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { PageAiCacheContents } from '../lib/ai/cache/cache';
|
|
2
|
+
import type { ToolRegistry } from '../managers/ToolRegistry';
|
|
2
3
|
import type { BrowserStorageState } from '../models/BrowserStorageState';
|
|
3
4
|
import type { CodeGenerationOptions } from '../models/CodeGenerationOptions';
|
|
4
5
|
import type { FlowMetadata } from '../models/FlowMetadata';
|
|
@@ -16,9 +17,9 @@ export type FlowAnnotation = {
|
|
|
16
17
|
description: string;
|
|
17
18
|
};
|
|
18
19
|
/** Creates a Node.js Microsoft Playwright script to replay the given flow. */
|
|
19
|
-
export declare function getFlowAsPlaywrightScript(flowMetadata: FlowMetadata, toolCalls: ProposedToolCall[], options
|
|
20
|
+
export declare function getFlowAsPlaywrightScript(flowMetadata: FlowMetadata, toolCalls: ProposedToolCall[], options: CodeGenerationOptions | undefined, toolRegistry: ToolRegistry): Promise<string>;
|
|
20
21
|
/** Creates a Node.js Microsoft Playwright script to replay the given flow. */
|
|
21
|
-
export declare function getFlowAsAiPlaywrightScript(flowMetadata: FlowMetadata, toolCalls: ProposedToolCall[], options: CodeGenerationOptions): Promise<string>;
|
|
22
|
+
export declare function getFlowAsAiPlaywrightScript(flowMetadata: FlowMetadata, toolCalls: ProposedToolCall[], options: CodeGenerationOptions, toolRegistry: ToolRegistry): Promise<string>;
|
|
22
23
|
/**
|
|
23
24
|
* Generates a complete Playwright project structure.
|
|
24
25
|
* Browser state dependencies are materialized as static JSON files
|
|
@@ -27,11 +28,11 @@ export declare function getFlowAsAiPlaywrightScript(flowMetadata: FlowMetadata,
|
|
|
27
28
|
export declare function generateProject(flowsWithToolCalls: Array<{
|
|
28
29
|
metadata: FlowMetadata;
|
|
29
30
|
toolCalls: ProposedToolCall[];
|
|
30
|
-
}>, resolvedBrowserStates: Map<string, BrowserStorageState>, gptConfig: GptConfigInput | undefined, options: CodeGenerationOptions): Promise<GeneratedProject>;
|
|
31
|
+
}>, resolvedBrowserStates: Map<string, BrowserStorageState>, gptConfig: GptConfigInput | undefined, options: CodeGenerationOptions, toolRegistry: ToolRegistry): Promise<GeneratedProject>;
|
|
31
32
|
export declare function buildCacheContents(flowsWithToolCalls: Array<{
|
|
32
33
|
metadata: FlowMetadata;
|
|
33
34
|
toolCalls: ProposedToolCall[];
|
|
34
|
-
}
|
|
35
|
+
}>, toolRegistry: ToolRegistry): Promise<PageAiCacheContents>;
|
|
35
36
|
/**
|
|
36
37
|
* Maps a proposed Donobu tool call to valid NodeJS Playwright code that uses
|
|
37
38
|
* the `DonobuExtendedPage` extension.
|
|
@@ -49,7 +49,6 @@ const cache_1 = require("../lib/ai/cache/cache");
|
|
|
49
49
|
const cacheEntryBuilder_1 = require("../lib/ai/cache/cacheEntryBuilder");
|
|
50
50
|
const cacheLocator_1 = require("../lib/ai/cache/cacheLocator");
|
|
51
51
|
const DonobuFlowsManager_1 = require("../managers/DonobuFlowsManager");
|
|
52
|
-
const ToolManager_1 = require("../managers/ToolManager");
|
|
53
52
|
const GptConfig_1 = require("../models/GptConfig");
|
|
54
53
|
const AnalyzePageTextTool_1 = require("../tools/AnalyzePageTextTool");
|
|
55
54
|
const AssertPageTool_1 = require("../tools/AssertPageTool");
|
|
@@ -83,8 +82,38 @@ function getLocalPlaywrightVersion() {
|
|
|
83
82
|
return pkgJson.version;
|
|
84
83
|
}
|
|
85
84
|
const PLAYWRIGHT_VERSION = getLocalPlaywrightVersion();
|
|
85
|
+
/**
|
|
86
|
+
* Computes the `allowedTools` and `maxToolCalls` values as they will appear at
|
|
87
|
+
* runtime when the generated test code is executed by `PageAi.buildDescriptor`.
|
|
88
|
+
*
|
|
89
|
+
* The generated test code only emits an explicit `allowedTools` option when the
|
|
90
|
+
* flow uses non-default tools, and omits `maxToolCalls` when it equals the
|
|
91
|
+
* default. At runtime the omitted values fall back to `[]` and
|
|
92
|
+
* `DEFAULT_MAX_TOOL_CALLS` respectively. The cache lock file must store these
|
|
93
|
+
* same resolved values so that the cache key matches on the first run.
|
|
94
|
+
*/
|
|
95
|
+
function computeRuntimeCacheKeyFields(toolCalls, defaultToolNames, minimalToolNames, maxToolCalls) {
|
|
96
|
+
const toolNamesFromCalls = Array.from(new Set(toolCalls.map((tc) => tc.name)))
|
|
97
|
+
.filter((name) => !minimalToolNames.has(name))
|
|
98
|
+
.sort();
|
|
99
|
+
const usesNonDefaultTool = toolNamesFromCalls.some((name) => !defaultToolNames.has(name));
|
|
100
|
+
// Mirror the runtime defaulting in PageAi.buildDescriptor:
|
|
101
|
+
// options?.allowedTools ?? []
|
|
102
|
+
const resolvedAllowedTools = usesNonDefaultTool && toolNamesFromCalls.length > 0
|
|
103
|
+
? toolNamesFromCalls
|
|
104
|
+
: [];
|
|
105
|
+
// Mirror: options?.maxToolCalls ?? DEFAULT_MAX_TOOL_CALLS
|
|
106
|
+
const resolvedMaxToolCalls = maxToolCalls !== null &&
|
|
107
|
+
maxToolCalls !== DonobuFlowsManager_1.DonobuFlowsManager.DEFAULT_MAX_TOOL_CALLS
|
|
108
|
+
? maxToolCalls
|
|
109
|
+
: DonobuFlowsManager_1.DonobuFlowsManager.DEFAULT_MAX_TOOL_CALLS;
|
|
110
|
+
return {
|
|
111
|
+
allowedTools: resolvedAllowedTools,
|
|
112
|
+
maxToolCalls: resolvedMaxToolCalls,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
86
115
|
/** Creates a Node.js Microsoft Playwright script to replay the given flow. */
|
|
87
|
-
async function getFlowAsPlaywrightScript(flowMetadata, toolCalls, options) {
|
|
116
|
+
async function getFlowAsPlaywrightScript(flowMetadata, toolCalls, options = {}, toolRegistry) {
|
|
88
117
|
// These tools are not supported in the generated script because they have
|
|
89
118
|
// static outputs that have no side effects, so they are not actually
|
|
90
119
|
// doing anything.
|
|
@@ -100,7 +129,7 @@ async function getFlowAsPlaywrightScript(flowMetadata, toolCalls, options) {
|
|
|
100
129
|
description: env,
|
|
101
130
|
};
|
|
102
131
|
});
|
|
103
|
-
const allTools =
|
|
132
|
+
const allTools = toolRegistry.allTools();
|
|
104
133
|
const gptClientRequired = isGptClientRequired(flowMetadata, toolCalls, allTools);
|
|
105
134
|
const gptSetupNote = gptClientRequired
|
|
106
135
|
? `* Note that this test uses tools that require the usage of an LLM, so be
|
|
@@ -174,7 +203,7 @@ ${resultJson}
|
|
|
174
203
|
return prettifyCode(script);
|
|
175
204
|
}
|
|
176
205
|
/** Creates a Node.js Microsoft Playwright script to replay the given flow. */
|
|
177
|
-
async function getFlowAsAiPlaywrightScript(flowMetadata, toolCalls, options) {
|
|
206
|
+
async function getFlowAsAiPlaywrightScript(flowMetadata, toolCalls, options, toolRegistry) {
|
|
178
207
|
const [firstToolCall, ...remaingToolCalls] = toolCalls;
|
|
179
208
|
// If the first tool call is "GoToWebpage", then we peel it off and treat it
|
|
180
209
|
// specially.
|
|
@@ -207,16 +236,10 @@ async function getFlowAsAiPlaywrightScript(flowMetadata, toolCalls, options) {
|
|
|
207
236
|
const annotationsLiteral = annotations.length > 0
|
|
208
237
|
? JSON.stringify({ annotation: annotations }, null, 2)
|
|
209
238
|
: null;
|
|
210
|
-
const defaultToolNames = new Set(
|
|
211
|
-
const
|
|
212
|
-
const
|
|
213
|
-
|
|
214
|
-
// We can exclude minimal tools since they will automatically be included
|
|
215
|
-
// when running any flow anyway, so no need to muck up the code by specifying them.
|
|
216
|
-
return !minimalTools.has(tc);
|
|
217
|
-
})
|
|
218
|
-
.sort();
|
|
219
|
-
const usesNonDefaultTool = toolNamesFromCalls.some((toolName) => !defaultToolNames.has(toolName));
|
|
239
|
+
const defaultToolNames = new Set(toolRegistry.defaultTools().map((tool) => tool.name));
|
|
240
|
+
const minimalToolNames = new Set(toolRegistry.minimalTools().map((t) => t.name));
|
|
241
|
+
const effectiveToolCalls = specialCaseGoto ? remaingToolCalls : toolCalls;
|
|
242
|
+
const runtimeFields = computeRuntimeCacheKeyFields(effectiveToolCalls, defaultToolNames, minimalToolNames, flowMetadata.maxToolCalls);
|
|
220
243
|
const donobuImports = ['test'];
|
|
221
244
|
if (flowMetadata.resultJsonSchema !== null) {
|
|
222
245
|
donobuImports.push('jsonSchemaToZod');
|
|
@@ -225,12 +248,11 @@ async function getFlowAsAiPlaywrightScript(flowMetadata, toolCalls, options) {
|
|
|
225
248
|
if (flowMetadata.resultJsonSchema) {
|
|
226
249
|
optionsLines.push(`schema: jsonSchemaToZod(${JSON.stringify(flowMetadata.resultJsonSchema)})`);
|
|
227
250
|
}
|
|
228
|
-
if (
|
|
229
|
-
optionsLines.push(`allowedTools: ${JSON.stringify(
|
|
251
|
+
if (runtimeFields.allowedTools.length > 0) {
|
|
252
|
+
optionsLines.push(`allowedTools: ${JSON.stringify(runtimeFields.allowedTools)}`);
|
|
230
253
|
}
|
|
231
|
-
if (
|
|
232
|
-
|
|
233
|
-
optionsLines.push(`maxToolCalls: ${flowMetadata.maxToolCalls}`);
|
|
254
|
+
if (runtimeFields.maxToolCalls !== DonobuFlowsManager_1.DonobuFlowsManager.DEFAULT_MAX_TOOL_CALLS) {
|
|
255
|
+
optionsLines.push(`maxToolCalls: ${runtimeFields.maxToolCalls}`);
|
|
234
256
|
}
|
|
235
257
|
if (flowMetadata.envVars && flowMetadata.envVars.length > 0) {
|
|
236
258
|
optionsLines.push(`envVars: ${JSON.stringify(flowMetadata.envVars)}`);
|
|
@@ -271,7 +293,7 @@ ${aiInvocation}
|
|
|
271
293
|
* Browser state dependencies are materialized as static JSON files
|
|
272
294
|
* and referenced via storageState paths in the Playwright config.
|
|
273
295
|
*/
|
|
274
|
-
async function generateProject(flowsWithToolCalls, resolvedBrowserStates, gptConfig, options) {
|
|
296
|
+
async function generateProject(flowsWithToolCalls, resolvedBrowserStates, gptConfig, options, toolRegistry) {
|
|
275
297
|
const flowsMetadata = flowsWithToolCalls.map((f) => f.metadata);
|
|
276
298
|
const files = [];
|
|
277
299
|
// Generate browser state JSON files and build a path map for the config.
|
|
@@ -292,7 +314,7 @@ async function generateProject(flowsWithToolCalls, resolvedBrowserStates, gptCon
|
|
|
292
314
|
}
|
|
293
315
|
const hasBrowserStates = browserStateEntries.length > 0;
|
|
294
316
|
// Generate individual test files
|
|
295
|
-
const testFiles = await generateTestFiles(flowsWithToolCalls, options);
|
|
317
|
+
const testFiles = await generateTestFiles(flowsWithToolCalls, options, toolRegistry);
|
|
296
318
|
files.push(...testFiles);
|
|
297
319
|
// Generate playwright.config.ts
|
|
298
320
|
files.push({
|
|
@@ -301,7 +323,7 @@ async function generateProject(flowsWithToolCalls, resolvedBrowserStates, gptCon
|
|
|
301
323
|
});
|
|
302
324
|
files.push({
|
|
303
325
|
path: '.github/workflows/run-tests.yml',
|
|
304
|
-
content: await generateGitHubActionsWorkflow(flowsWithToolCalls, gptConfig, options, hasBrowserStates),
|
|
326
|
+
content: await generateGitHubActionsWorkflow(flowsWithToolCalls, gptConfig, options, hasBrowserStates, toolRegistry),
|
|
305
327
|
});
|
|
306
328
|
// Generate package.json if needed
|
|
307
329
|
files.push({
|
|
@@ -318,17 +340,17 @@ async function generateProject(flowsWithToolCalls, resolvedBrowserStates, gptCon
|
|
|
318
340
|
content: generateGitIgnore(),
|
|
319
341
|
});
|
|
320
342
|
const cacheFiles = options.playwrightScriptVariant === 'ai'
|
|
321
|
-
? await buildCacheFiles(flowsWithToolCalls)
|
|
343
|
+
? await buildCacheFiles(flowsWithToolCalls, toolRegistry)
|
|
322
344
|
: [];
|
|
323
345
|
files.push(...cacheFiles);
|
|
324
346
|
return { files };
|
|
325
347
|
}
|
|
326
|
-
async function generateGitHubActionsWorkflow(flowsWithToolCalls, gptConfig, options, hasBrowserStates = false) {
|
|
348
|
+
async function generateGitHubActionsWorkflow(flowsWithToolCalls, gptConfig, options, hasBrowserStates = false, toolRegistry) {
|
|
327
349
|
const flowsMetadata = flowsWithToolCalls.map((f) => f.metadata);
|
|
328
350
|
const allUniqueEnvVars = [
|
|
329
351
|
...new Set(flowsMetadata.flatMap((flow) => flow.envVars || [])),
|
|
330
352
|
];
|
|
331
|
-
const allTools =
|
|
353
|
+
const allTools = toolRegistry.allTools();
|
|
332
354
|
const gptClientRequired = flowsWithToolCalls.some((f) => {
|
|
333
355
|
return isGptClientRequired(f.metadata, f.toolCalls, allTools);
|
|
334
356
|
}) || !options.disableSelfHealingTests;
|
|
@@ -464,7 +486,9 @@ ${xvfbStep}
|
|
|
464
486
|
fi
|
|
465
487
|
${pullRequestCreationSection}`;
|
|
466
488
|
}
|
|
467
|
-
function buildCacheContents(flowsWithToolCalls) {
|
|
489
|
+
async function buildCacheContents(flowsWithToolCalls, toolRegistry) {
|
|
490
|
+
const defaultToolNames = new Set(toolRegistry.defaultTools().map((tool) => tool.name));
|
|
491
|
+
const minimalToolNames = new Set(toolRegistry.minimalTools().map((t) => t.name));
|
|
468
492
|
const entries = flowsWithToolCalls
|
|
469
493
|
// We can only create page.ai caches for flows that have an objective.
|
|
470
494
|
.filter(({ metadata }) => metadata.overallObjective?.trim() && metadata.runMode === 'AUTONOMOUS')
|
|
@@ -487,9 +511,14 @@ function buildCacheContents(flowsWithToolCalls) {
|
|
|
487
511
|
pageUrlForCache = metadata.web?.targetWebsite ?? '';
|
|
488
512
|
}
|
|
489
513
|
const cacheEntry = cacheEntryBuilder_1.PageAiCacheEntryBuilder.fromMetadata(pageUrlForCache, metadata, toolCallsForCache);
|
|
514
|
+
// Compute allowedTools and maxToolCalls as the runtime will see them,
|
|
515
|
+
// so the cache lock file keys match the keys built by PageAi.buildDescriptor
|
|
516
|
+
// when the generated test code is executed.
|
|
517
|
+
const runtimeFields = computeRuntimeCacheKeyFields(toolCallsForCache, defaultToolNames, minimalToolNames, metadata.maxToolCalls);
|
|
490
518
|
return {
|
|
491
519
|
...cacheEntry,
|
|
492
|
-
allowedTools:
|
|
520
|
+
allowedTools: runtimeFields.allowedTools,
|
|
521
|
+
maxToolCalls: runtimeFields.maxToolCalls,
|
|
493
522
|
schema: cacheEntry.schema === null
|
|
494
523
|
? null
|
|
495
524
|
: JSON.parse(JSON.stringify(cacheEntry.schema)),
|
|
@@ -499,10 +528,10 @@ function buildCacheContents(flowsWithToolCalls) {
|
|
|
499
528
|
caches: entries,
|
|
500
529
|
};
|
|
501
530
|
}
|
|
502
|
-
async function buildCacheFiles(flowsWithToolCalls) {
|
|
531
|
+
async function buildCacheFiles(flowsWithToolCalls, toolRegistry) {
|
|
503
532
|
const files = [];
|
|
504
533
|
for (const flow of flowsWithToolCalls) {
|
|
505
|
-
const contents = buildCacheContents([flow]);
|
|
534
|
+
const contents = await buildCacheContents([flow], toolRegistry);
|
|
506
535
|
if (contents.caches.length === 0) {
|
|
507
536
|
continue;
|
|
508
537
|
}
|
|
@@ -776,7 +805,7 @@ function generateProjectConfig(projectName, flow, storageStatePath) {
|
|
|
776
805
|
/**
|
|
777
806
|
* Generates test files for all flows
|
|
778
807
|
*/
|
|
779
|
-
async function generateTestFiles(flowsWithToolCalls, options) {
|
|
808
|
+
async function generateTestFiles(flowsWithToolCalls, options, toolRegistry) {
|
|
780
809
|
const files = [];
|
|
781
810
|
const scriptVariant = options.playwrightScriptVariant === 'classic' ? 'classic' : 'ai';
|
|
782
811
|
for (const { metadata, toolCalls } of flowsWithToolCalls) {
|
|
@@ -784,8 +813,8 @@ async function generateTestFiles(flowsWithToolCalls, options) {
|
|
|
784
813
|
const content = scriptVariant === 'classic' ||
|
|
785
814
|
!metadata.overallObjective?.trim() ||
|
|
786
815
|
metadata.runMode !== 'AUTONOMOUS'
|
|
787
|
-
? await getFlowAsPlaywrightScript(metadata, toolCalls, options)
|
|
788
|
-
: await getFlowAsAiPlaywrightScript(metadata, toolCalls, options);
|
|
816
|
+
? await getFlowAsPlaywrightScript(metadata, toolCalls, options, toolRegistry)
|
|
817
|
+
: await getFlowAsAiPlaywrightScript(metadata, toolCalls, options, toolRegistry);
|
|
789
818
|
files.push({
|
|
790
819
|
path: `tests/${fileName}`,
|
|
791
820
|
content,
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { Request, Response } from 'express';
|
|
2
|
+
import type { TargetRuntimePluginRegistry } from '../targets/TargetRuntimePlugin';
|
|
2
3
|
export declare class TargetsApi {
|
|
4
|
+
private readonly targetRuntimePlugins;
|
|
5
|
+
constructor(targetRuntimePlugins: TargetRuntimePluginRegistry);
|
|
3
6
|
getTargets(_req: Request, res: Response): Promise<void>;
|
|
4
7
|
}
|
|
5
8
|
//# sourceMappingURL=TargetsApi.d.ts.map
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TargetsApi = void 0;
|
|
4
|
-
const TargetRuntimePlugin_1 = require("../targets/TargetRuntimePlugin");
|
|
5
4
|
class TargetsApi {
|
|
5
|
+
constructor(targetRuntimePlugins) {
|
|
6
|
+
this.targetRuntimePlugins = targetRuntimePlugins;
|
|
7
|
+
}
|
|
6
8
|
async getTargets(_req, res) {
|
|
7
|
-
const plugins =
|
|
9
|
+
const plugins = this.targetRuntimePlugins.getAll();
|
|
8
10
|
const targets = plugins.map((p) => ({
|
|
9
11
|
type: p.type,
|
|
10
12
|
...p.describe(),
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Request, Response } from 'express';
|
|
2
2
|
import type { JSONSchema } from 'zod/v4/core';
|
|
3
|
+
import type { ToolRegistry } from '../managers/ToolRegistry';
|
|
3
4
|
export type SupportedTool = {
|
|
4
5
|
name: string;
|
|
5
6
|
description: string;
|
|
@@ -11,6 +12,8 @@ export type SupportedTool = {
|
|
|
11
12
|
* This class reports the tools supported by the Donobu runtime.
|
|
12
13
|
*/
|
|
13
14
|
export declare class ToolsApi {
|
|
15
|
+
private readonly toolRegistry;
|
|
16
|
+
constructor(toolRegistry: ToolRegistry);
|
|
14
17
|
/**
|
|
15
18
|
* GET endpoint handler that returns the supported tools as JSON
|
|
16
19
|
*/
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ToolsApi = void 0;
|
|
4
4
|
const v4_1 = require("zod/v4");
|
|
5
|
-
const ToolManager_1 = require("../managers/ToolManager");
|
|
6
5
|
const AcknowledgeUserInstruction_1 = require("../tools/AcknowledgeUserInstruction");
|
|
7
6
|
const AssertPageTextTool_1 = require("../tools/AssertPageTextTool");
|
|
8
7
|
const DetectBrokenLinksTool_1 = require("../tools/DetectBrokenLinksTool");
|
|
@@ -25,14 +24,17 @@ const SUPPRESSED_TOOLS_BY_NAME = new Set([
|
|
|
25
24
|
* This class reports the tools supported by the Donobu runtime.
|
|
26
25
|
*/
|
|
27
26
|
class ToolsApi {
|
|
27
|
+
constructor(toolRegistry) {
|
|
28
|
+
this.toolRegistry = toolRegistry;
|
|
29
|
+
}
|
|
28
30
|
/**
|
|
29
31
|
* GET endpoint handler that returns the supported tools as JSON
|
|
30
32
|
*/
|
|
31
33
|
async getSupportedTools(req, res) {
|
|
32
34
|
const targetType = req.query.target;
|
|
33
35
|
const tools = targetType
|
|
34
|
-
?
|
|
35
|
-
:
|
|
36
|
+
? this.toolRegistry.toolsForTarget(targetType)
|
|
37
|
+
: this.toolRegistry.allTools();
|
|
36
38
|
const response = tools
|
|
37
39
|
.filter((tool) => !SUPPRESSED_TOOLS_BY_NAME.has(tool.name))
|
|
38
40
|
.map((tool) => ({
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { GptConfigInput } from '../models/GptConfig';
|
|
2
2
|
import type { GptClient } from './GptClient';
|
|
3
|
+
import { GptClientPluginRegistry } from './GptClientPlugin';
|
|
3
4
|
/**
|
|
4
5
|
* Interface for creating GPT clients from configuration objects.
|
|
5
6
|
* This allows for dependency injection and easier testing.
|
|
@@ -18,9 +19,11 @@ export interface GptClientFactory {
|
|
|
18
19
|
* based on configuration and validates them by performing a ping.
|
|
19
20
|
*
|
|
20
21
|
* Built-in types are handled directly; unknown types are delegated to
|
|
21
|
-
* the GPT client plugin registry
|
|
22
|
+
* the GPT client plugin registry.
|
|
22
23
|
*/
|
|
23
24
|
export declare class GptClientFactoryImpl implements GptClientFactory {
|
|
25
|
+
private readonly gptClientPlugins;
|
|
26
|
+
constructor(gptClientPlugins?: GptClientPluginRegistry);
|
|
24
27
|
createClient(config: GptConfigInput): Promise<GptClient>;
|
|
25
28
|
/**
|
|
26
29
|
* Resolves the correct GptClient implementation for the given config.
|
|
@@ -13,9 +13,12 @@ const OpenAiGptClient_1 = require("./OpenAiGptClient");
|
|
|
13
13
|
* based on configuration and validates them by performing a ping.
|
|
14
14
|
*
|
|
15
15
|
* Built-in types are handled directly; unknown types are delegated to
|
|
16
|
-
* the GPT client plugin registry
|
|
16
|
+
* the GPT client plugin registry.
|
|
17
17
|
*/
|
|
18
18
|
class GptClientFactoryImpl {
|
|
19
|
+
constructor(gptClientPlugins = new GptClientPlugin_1.GptClientPluginRegistry([])) {
|
|
20
|
+
this.gptClientPlugins = gptClientPlugins;
|
|
21
|
+
}
|
|
19
22
|
async createClient(config) {
|
|
20
23
|
const client = await this.resolveClient(config);
|
|
21
24
|
await client.ping();
|
|
@@ -34,7 +37,7 @@ class GptClientFactoryImpl {
|
|
|
34
37
|
return this.createBuiltInClient(builtIn.data);
|
|
35
38
|
}
|
|
36
39
|
// Fall back to plugin registry for plugin-provided types.
|
|
37
|
-
const plugin =
|
|
40
|
+
const plugin = this.gptClientPlugins.get(config.type);
|
|
38
41
|
if (plugin) {
|
|
39
42
|
return plugin.createClient(config);
|
|
40
43
|
}
|
|
@@ -14,14 +14,13 @@ export interface GptClientPlugin {
|
|
|
14
14
|
createClient(config: Record<string, unknown>): Promise<GptClient>;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* {@link GptClientFactoryImpl} can discover and use it.
|
|
17
|
+
* An immutable registry of GPT client plugins, keyed by config type.
|
|
18
|
+
* Created once at startup and threaded through the application.
|
|
20
19
|
*/
|
|
21
|
-
export declare
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
20
|
+
export declare class GptClientPluginRegistry {
|
|
21
|
+
private readonly plugins;
|
|
22
|
+
constructor(plugins: GptClientPlugin[]);
|
|
23
|
+
/** Look up a registered GPT client plugin by config type. */
|
|
24
|
+
get(type: string): GptClientPlugin | undefined;
|
|
25
|
+
}
|
|
27
26
|
//# sourceMappingURL=GptClientPlugin.d.ts.map
|
|
@@ -1,21 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.getGptClientPlugin = getGptClientPlugin;
|
|
5
|
-
const plugins = new Map();
|
|
3
|
+
exports.GptClientPluginRegistry = void 0;
|
|
6
4
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* {@link GptClientFactoryImpl} can discover and use it.
|
|
5
|
+
* An immutable registry of GPT client plugins, keyed by config type.
|
|
6
|
+
* Created once at startup and threaded through the application.
|
|
10
7
|
*/
|
|
11
|
-
|
|
12
|
-
plugins
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
return plugins.get(type);
|
|
8
|
+
class GptClientPluginRegistry {
|
|
9
|
+
constructor(plugins) {
|
|
10
|
+
this.plugins = new Map(plugins.map((p) => [p.type, p]));
|
|
11
|
+
}
|
|
12
|
+
/** Look up a registered GPT client plugin by config type. */
|
|
13
|
+
get(type) {
|
|
14
|
+
return this.plugins.get(type);
|
|
15
|
+
}
|
|
20
16
|
}
|
|
17
|
+
exports.GptClientPluginRegistry = GptClientPluginRegistry;
|
|
21
18
|
//# sourceMappingURL=GptClientPlugin.js.map
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { PageAiCacheContents } from '../lib/ai/cache/cache';
|
|
2
|
+
import type { ToolRegistry } from '../managers/ToolRegistry';
|
|
2
3
|
import type { BrowserStorageState } from '../models/BrowserStorageState';
|
|
3
4
|
import type { CodeGenerationOptions } from '../models/CodeGenerationOptions';
|
|
4
5
|
import type { FlowMetadata } from '../models/FlowMetadata';
|
|
@@ -16,9 +17,9 @@ export type FlowAnnotation = {
|
|
|
16
17
|
description: string;
|
|
17
18
|
};
|
|
18
19
|
/** Creates a Node.js Microsoft Playwright script to replay the given flow. */
|
|
19
|
-
export declare function getFlowAsPlaywrightScript(flowMetadata: FlowMetadata, toolCalls: ProposedToolCall[], options
|
|
20
|
+
export declare function getFlowAsPlaywrightScript(flowMetadata: FlowMetadata, toolCalls: ProposedToolCall[], options: CodeGenerationOptions | undefined, toolRegistry: ToolRegistry): Promise<string>;
|
|
20
21
|
/** Creates a Node.js Microsoft Playwright script to replay the given flow. */
|
|
21
|
-
export declare function getFlowAsAiPlaywrightScript(flowMetadata: FlowMetadata, toolCalls: ProposedToolCall[], options: CodeGenerationOptions): Promise<string>;
|
|
22
|
+
export declare function getFlowAsAiPlaywrightScript(flowMetadata: FlowMetadata, toolCalls: ProposedToolCall[], options: CodeGenerationOptions, toolRegistry: ToolRegistry): Promise<string>;
|
|
22
23
|
/**
|
|
23
24
|
* Generates a complete Playwright project structure.
|
|
24
25
|
* Browser state dependencies are materialized as static JSON files
|
|
@@ -27,11 +28,11 @@ export declare function getFlowAsAiPlaywrightScript(flowMetadata: FlowMetadata,
|
|
|
27
28
|
export declare function generateProject(flowsWithToolCalls: Array<{
|
|
28
29
|
metadata: FlowMetadata;
|
|
29
30
|
toolCalls: ProposedToolCall[];
|
|
30
|
-
}>, resolvedBrowserStates: Map<string, BrowserStorageState>, gptConfig: GptConfigInput | undefined, options: CodeGenerationOptions): Promise<GeneratedProject>;
|
|
31
|
+
}>, resolvedBrowserStates: Map<string, BrowserStorageState>, gptConfig: GptConfigInput | undefined, options: CodeGenerationOptions, toolRegistry: ToolRegistry): Promise<GeneratedProject>;
|
|
31
32
|
export declare function buildCacheContents(flowsWithToolCalls: Array<{
|
|
32
33
|
metadata: FlowMetadata;
|
|
33
34
|
toolCalls: ProposedToolCall[];
|
|
34
|
-
}
|
|
35
|
+
}>, toolRegistry: ToolRegistry): Promise<PageAiCacheContents>;
|
|
35
36
|
/**
|
|
36
37
|
* Maps a proposed Donobu tool call to valid NodeJS Playwright code that uses
|
|
37
38
|
* the `DonobuExtendedPage` extension.
|