donobu 2.15.0 → 2.16.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/FlowsFilesApi.d.ts.map +1 -1
- package/dist/apis/FlowsFilesApi.js +5 -2
- package/dist/apis/FlowsFilesApi.js.map +1 -1
- package/dist/assets/control-panel.js +30 -3
- package/dist/assets/generated/parameter-schemas.json +118 -17
- package/dist/assets/generated/version +1 -1
- package/dist/assets/interactive-elements-tracker.js +351 -0
- package/dist/assets/page-interactions-tracker.js +39 -20
- package/dist/assets/smart-selector-generator.js +38 -15
- package/dist/bindings/FocusPage.d.ts +6 -1
- package/dist/bindings/FocusPage.d.ts.map +1 -1
- package/dist/bindings/FocusPage.js +2 -8
- package/dist/bindings/FocusPage.js.map +1 -1
- package/dist/bindings/PageInteractionTracker.d.ts +9 -2
- package/dist/bindings/PageInteractionTracker.d.ts.map +1 -1
- package/dist/bindings/PageInteractionTracker.js +29 -5
- package/dist/bindings/PageInteractionTracker.js.map +1 -1
- package/dist/bindings/ProposeToolCall.d.ts +20 -0
- package/dist/bindings/ProposeToolCall.d.ts.map +1 -0
- package/dist/bindings/ProposeToolCall.js +29 -0
- package/dist/bindings/ProposeToolCall.js.map +1 -0
- package/dist/bindings/ToggleDonobuAnnotations.d.ts +5 -2
- package/dist/bindings/ToggleDonobuAnnotations.d.ts.map +1 -1
- package/dist/bindings/ToggleDonobuAnnotations.js +12 -6
- package/dist/bindings/ToggleDonobuAnnotations.js.map +1 -1
- package/dist/clients/AnthropicAwsBedrockGptClient.d.ts +1 -20
- package/dist/clients/AnthropicAwsBedrockGptClient.d.ts.map +1 -1
- package/dist/clients/AnthropicAwsBedrockGptClient.js +12 -329
- package/dist/clients/AnthropicAwsBedrockGptClient.js.map +1 -1
- package/dist/clients/AnthropicGptClient.d.ts +0 -8
- package/dist/clients/AnthropicGptClient.d.ts.map +1 -1
- package/dist/clients/AnthropicGptClient.js +8 -22
- package/dist/clients/AnthropicGptClient.js.map +1 -1
- package/dist/clients/GoogleGptClient.d.ts +4 -20
- package/dist/clients/GoogleGptClient.d.ts.map +1 -1
- package/dist/clients/GoogleGptClient.js +23 -299
- package/dist/clients/GoogleGptClient.js.map +1 -1
- package/dist/clients/OpenAiGptClient.d.ts +0 -6
- package/dist/clients/OpenAiGptClient.d.ts.map +1 -1
- package/dist/clients/OpenAiGptClient.js +4 -8
- package/dist/clients/OpenAiGptClient.js.map +1 -1
- package/dist/clients/VercelAiGptClient.d.ts +3 -1
- package/dist/clients/VercelAiGptClient.d.ts.map +1 -1
- package/dist/clients/VercelAiGptClient.js +18 -14
- package/dist/clients/VercelAiGptClient.js.map +1 -1
- package/dist/esm/apis/FlowsFilesApi.d.ts.map +1 -1
- package/dist/esm/apis/FlowsFilesApi.js +5 -2
- package/dist/esm/apis/FlowsFilesApi.js.map +1 -1
- package/dist/esm/assets/control-panel.js +30 -3
- package/dist/esm/assets/generated/parameter-schemas.json +118 -17
- package/dist/esm/assets/generated/version +1 -1
- package/dist/esm/assets/interactive-elements-tracker.js +351 -0
- package/dist/esm/assets/page-interactions-tracker.js +39 -20
- package/dist/esm/assets/smart-selector-generator.js +38 -15
- package/dist/esm/bindings/FocusPage.d.ts +6 -1
- package/dist/esm/bindings/FocusPage.d.ts.map +1 -1
- package/dist/esm/bindings/FocusPage.js +2 -8
- package/dist/esm/bindings/FocusPage.js.map +1 -1
- package/dist/esm/bindings/PageInteractionTracker.d.ts +9 -2
- package/dist/esm/bindings/PageInteractionTracker.d.ts.map +1 -1
- package/dist/esm/bindings/PageInteractionTracker.js +29 -5
- package/dist/esm/bindings/PageInteractionTracker.js.map +1 -1
- package/dist/esm/bindings/ProposeToolCall.d.ts +20 -0
- package/dist/esm/bindings/ProposeToolCall.d.ts.map +1 -0
- package/dist/esm/bindings/ProposeToolCall.js +29 -0
- package/dist/esm/bindings/ProposeToolCall.js.map +1 -0
- package/dist/esm/bindings/ToggleDonobuAnnotations.d.ts +5 -2
- package/dist/esm/bindings/ToggleDonobuAnnotations.d.ts.map +1 -1
- package/dist/esm/bindings/ToggleDonobuAnnotations.js +12 -6
- package/dist/esm/bindings/ToggleDonobuAnnotations.js.map +1 -1
- package/dist/esm/clients/AnthropicAwsBedrockGptClient.d.ts +1 -20
- package/dist/esm/clients/AnthropicAwsBedrockGptClient.d.ts.map +1 -1
- package/dist/esm/clients/AnthropicAwsBedrockGptClient.js +12 -329
- package/dist/esm/clients/AnthropicAwsBedrockGptClient.js.map +1 -1
- package/dist/esm/clients/AnthropicGptClient.d.ts +0 -8
- package/dist/esm/clients/AnthropicGptClient.d.ts.map +1 -1
- package/dist/esm/clients/AnthropicGptClient.js +8 -22
- package/dist/esm/clients/AnthropicGptClient.js.map +1 -1
- package/dist/esm/clients/GoogleGptClient.d.ts +4 -20
- package/dist/esm/clients/GoogleGptClient.d.ts.map +1 -1
- package/dist/esm/clients/GoogleGptClient.js +23 -299
- package/dist/esm/clients/GoogleGptClient.js.map +1 -1
- package/dist/esm/clients/OpenAiGptClient.d.ts +0 -6
- package/dist/esm/clients/OpenAiGptClient.d.ts.map +1 -1
- package/dist/esm/clients/OpenAiGptClient.js +4 -8
- package/dist/esm/clients/OpenAiGptClient.js.map +1 -1
- package/dist/esm/clients/VercelAiGptClient.d.ts +3 -1
- package/dist/esm/clients/VercelAiGptClient.d.ts.map +1 -1
- package/dist/esm/clients/VercelAiGptClient.js +18 -14
- package/dist/esm/clients/VercelAiGptClient.js.map +1 -1
- package/dist/esm/managers/CodeGenerator.d.ts.map +1 -1
- package/dist/esm/managers/CodeGenerator.js +2 -1
- package/dist/esm/managers/CodeGenerator.js.map +1 -1
- package/dist/esm/managers/ControlPanel.d.ts +124 -0
- package/dist/esm/managers/ControlPanel.d.ts.map +1 -0
- package/dist/esm/managers/ControlPanel.js +282 -0
- package/dist/esm/managers/ControlPanel.js.map +1 -0
- package/dist/esm/managers/DonobuFlow.d.ts +9 -13
- package/dist/esm/managers/DonobuFlow.d.ts.map +1 -1
- package/dist/esm/managers/DonobuFlow.js +123 -172
- package/dist/esm/managers/DonobuFlow.js.map +1 -1
- package/dist/esm/managers/InteractionVisualizer.d.ts +9 -15
- package/dist/esm/managers/InteractionVisualizer.d.ts.map +1 -1
- package/dist/esm/managers/InteractionVisualizer.js +44 -44
- package/dist/esm/managers/InteractionVisualizer.js.map +1 -1
- package/dist/esm/managers/PageInspector.d.ts +242 -0
- package/dist/esm/managers/PageInspector.d.ts.map +1 -0
- package/dist/esm/managers/PageInspector.js +783 -0
- package/dist/esm/managers/PageInspector.js.map +1 -0
- package/dist/esm/managers/ToolManager.d.ts.map +1 -1
- package/dist/esm/managers/ToolManager.js +4 -6
- package/dist/esm/managers/ToolManager.js.map +1 -1
- package/dist/esm/models/GptMessage.d.ts +3 -3
- package/dist/esm/models/GptMessage.d.ts.map +1 -1
- package/dist/esm/models/InteractableElement.d.ts +2 -2
- package/dist/esm/models/ToolCallContext.d.ts +6 -2
- package/dist/esm/models/ToolCallContext.d.ts.map +1 -1
- package/dist/esm/persistence/FlowsPersistence.d.ts +4 -4
- package/dist/esm/persistence/FlowsPersistence.d.ts.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceAwsS3.d.ts +2 -3
- package/dist/esm/persistence/FlowsPersistenceAwsS3.d.ts.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceAwsS3.js +8 -6
- package/dist/esm/persistence/FlowsPersistenceAwsS3.js.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceFilesystem.d.ts +2 -3
- package/dist/esm/persistence/FlowsPersistenceFilesystem.d.ts.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceFilesystem.js +5 -4
- package/dist/esm/persistence/FlowsPersistenceFilesystem.js.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.d.ts +2 -3
- package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.d.ts.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.js +7 -5
- package/dist/esm/persistence/FlowsPersistenceGoogleCloudStorage.js.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceSqlite.d.ts +2 -3
- package/dist/esm/persistence/FlowsPersistenceSqlite.d.ts.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceSqlite.js +8 -6
- package/dist/esm/persistence/FlowsPersistenceSqlite.js.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceSupabase.d.ts +2 -2
- package/dist/esm/persistence/FlowsPersistenceSupabase.d.ts.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceSupabase.js +5 -3
- package/dist/esm/persistence/FlowsPersistenceSupabase.js.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceVolatile.d.ts +2 -2
- package/dist/esm/persistence/FlowsPersistenceVolatile.d.ts.map +1 -1
- package/dist/esm/persistence/FlowsPersistenceVolatile.js +5 -3
- package/dist/esm/persistence/FlowsPersistenceVolatile.js.map +1 -1
- package/dist/esm/playwrightTestExtensions.d.ts +5 -0
- package/dist/esm/playwrightTestExtensions.d.ts.map +1 -1
- package/dist/esm/playwrightTestExtensions.js +56 -17
- package/dist/esm/playwrightTestExtensions.js.map +1 -1
- package/dist/esm/tools/AnalyzePageTextTool.js +1 -1
- package/dist/esm/tools/AnalyzePageTextTool.js.map +1 -1
- package/dist/esm/tools/AssertPageTextTool.js +1 -1
- package/dist/esm/tools/AssertPageTextTool.js.map +1 -1
- package/dist/esm/tools/AssertTool.d.ts.map +1 -1
- package/dist/esm/tools/AssertTool.js +5 -5
- package/dist/esm/tools/AssertTool.js.map +1 -1
- package/dist/esm/tools/ChangeWebBrowserTabTool.d.ts.map +1 -1
- package/dist/esm/tools/ChangeWebBrowserTabTool.js +8 -7
- package/dist/esm/tools/ChangeWebBrowserTabTool.js.map +1 -1
- package/dist/esm/tools/ClickTool.js +1 -1
- package/dist/esm/tools/ClickTool.js.map +1 -1
- package/dist/esm/tools/CreateBrowserCookieReportTool.js +1 -1
- package/dist/esm/tools/CreateBrowserCookieReportTool.js.map +1 -1
- package/dist/esm/tools/CustomToolRunnerTool.d.ts.map +1 -1
- package/dist/esm/tools/CustomToolRunnerTool.js +1 -1
- package/dist/esm/tools/CustomToolRunnerTool.js.map +1 -1
- package/dist/esm/tools/DetectBrokenLinksTool.d.ts.map +1 -1
- package/dist/esm/tools/DetectBrokenLinksTool.js +5 -3
- package/dist/esm/tools/DetectBrokenLinksTool.js.map +1 -1
- package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.js +4 -4
- package/dist/esm/tools/ExtractGoogleStreetviewEntityDataTool.js.map +1 -1
- package/dist/esm/tools/ExtractPaymentProviderKeyTool.js +1 -1
- package/dist/esm/tools/ExtractPaymentProviderKeyTool.js.map +1 -1
- package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.js +1 -1
- package/dist/esm/tools/ExtractPublicFacebookEntityDataTool.js.map +1 -1
- package/dist/esm/tools/GoForwardOrBackTool.js +1 -1
- package/dist/esm/tools/GoForwardOrBackTool.js.map +1 -1
- package/dist/esm/tools/GoToGoogleMapsStreetViewTool.js +1 -1
- package/dist/esm/tools/GoToGoogleMapsStreetViewTool.js.map +1 -1
- package/dist/esm/tools/GoToWebpageTool.js +1 -1
- package/dist/esm/tools/GoToWebpageTool.js.map +1 -1
- package/dist/esm/tools/HoverOverElementTool.d.ts.map +1 -1
- package/dist/esm/tools/HoverOverElementTool.js +1 -1
- package/dist/esm/tools/HoverOverElementTool.js.map +1 -1
- package/dist/esm/tools/NavigateWithinStreetView.js +1 -1
- package/dist/esm/tools/NavigateWithinStreetView.js.map +1 -1
- package/dist/esm/tools/PressKeyTool.js +1 -1
- package/dist/esm/tools/PressKeyTool.js.map +1 -1
- package/dist/esm/tools/ReloadPageTool.js +1 -1
- package/dist/esm/tools/ReloadPageTool.js.map +1 -1
- package/dist/esm/tools/ReplayableInteraction.d.ts +16 -1
- package/dist/esm/tools/ReplayableInteraction.d.ts.map +1 -1
- package/dist/esm/tools/ReplayableInteraction.js +169 -16
- package/dist/esm/tools/ReplayableInteraction.js.map +1 -1
- package/dist/esm/tools/RunAccessibilityTestTool.d.ts +8 -0
- package/dist/esm/tools/RunAccessibilityTestTool.d.ts.map +1 -1
- package/dist/esm/tools/RunAccessibilityTestTool.js +15 -2
- package/dist/esm/tools/RunAccessibilityTestTool.js.map +1 -1
- package/dist/esm/tools/RunInlineJavaScriptCodeTool.d.ts.map +1 -1
- package/dist/esm/tools/RunInlineJavaScriptCodeTool.js +1 -1
- package/dist/esm/tools/RunInlineJavaScriptCodeTool.js.map +1 -1
- package/dist/esm/tools/SaveWebpageAsPdfTool.js +1 -1
- package/dist/esm/tools/SaveWebpageAsPdfTool.js.map +1 -1
- package/dist/esm/tools/ScrollPageTool.d.ts +1 -1
- package/dist/esm/tools/ScrollPageTool.d.ts.map +1 -1
- package/dist/esm/tools/ScrollPageTool.js +47 -4
- package/dist/esm/tools/ScrollPageTool.js.map +1 -1
- package/dist/esm/tools/WaitTool.js +1 -1
- package/dist/esm/tools/WaitTool.js.map +1 -1
- package/dist/esm/utils/MiscUtils.d.ts +10 -13
- package/dist/esm/utils/MiscUtils.d.ts.map +1 -1
- package/dist/esm/utils/MiscUtils.js +92 -56
- package/dist/esm/utils/MiscUtils.js.map +1 -1
- package/dist/esm/utils/PlaywrightUtils.d.ts +32 -130
- package/dist/esm/utils/PlaywrightUtils.d.ts.map +1 -1
- package/dist/esm/utils/PlaywrightUtils.js +140 -938
- package/dist/esm/utils/PlaywrightUtils.js.map +1 -1
- package/dist/managers/CodeGenerator.d.ts.map +1 -1
- package/dist/managers/CodeGenerator.js +2 -1
- package/dist/managers/CodeGenerator.js.map +1 -1
- package/dist/managers/ControlPanel.d.ts +124 -0
- package/dist/managers/ControlPanel.d.ts.map +1 -0
- package/dist/managers/ControlPanel.js +282 -0
- package/dist/managers/ControlPanel.js.map +1 -0
- package/dist/managers/DonobuFlow.d.ts +9 -13
- package/dist/managers/DonobuFlow.d.ts.map +1 -1
- package/dist/managers/DonobuFlow.js +123 -172
- package/dist/managers/DonobuFlow.js.map +1 -1
- package/dist/managers/InteractionVisualizer.d.ts +9 -15
- package/dist/managers/InteractionVisualizer.d.ts.map +1 -1
- package/dist/managers/InteractionVisualizer.js +44 -44
- package/dist/managers/InteractionVisualizer.js.map +1 -1
- package/dist/managers/PageInspector.d.ts +242 -0
- package/dist/managers/PageInspector.d.ts.map +1 -0
- package/dist/managers/PageInspector.js +783 -0
- package/dist/managers/PageInspector.js.map +1 -0
- package/dist/managers/ToolManager.d.ts.map +1 -1
- package/dist/managers/ToolManager.js +4 -6
- package/dist/managers/ToolManager.js.map +1 -1
- package/dist/models/GptMessage.d.ts +3 -3
- package/dist/models/GptMessage.d.ts.map +1 -1
- package/dist/models/InteractableElement.d.ts +2 -2
- package/dist/models/ToolCallContext.d.ts +6 -2
- package/dist/models/ToolCallContext.d.ts.map +1 -1
- package/dist/persistence/FlowsPersistence.d.ts +4 -4
- package/dist/persistence/FlowsPersistence.d.ts.map +1 -1
- package/dist/persistence/FlowsPersistenceAwsS3.d.ts +2 -3
- package/dist/persistence/FlowsPersistenceAwsS3.d.ts.map +1 -1
- package/dist/persistence/FlowsPersistenceAwsS3.js +8 -6
- package/dist/persistence/FlowsPersistenceAwsS3.js.map +1 -1
- package/dist/persistence/FlowsPersistenceFilesystem.d.ts +2 -3
- package/dist/persistence/FlowsPersistenceFilesystem.d.ts.map +1 -1
- package/dist/persistence/FlowsPersistenceFilesystem.js +5 -4
- package/dist/persistence/FlowsPersistenceFilesystem.js.map +1 -1
- package/dist/persistence/FlowsPersistenceGoogleCloudStorage.d.ts +2 -3
- package/dist/persistence/FlowsPersistenceGoogleCloudStorage.d.ts.map +1 -1
- package/dist/persistence/FlowsPersistenceGoogleCloudStorage.js +7 -5
- package/dist/persistence/FlowsPersistenceGoogleCloudStorage.js.map +1 -1
- package/dist/persistence/FlowsPersistenceSqlite.d.ts +2 -3
- package/dist/persistence/FlowsPersistenceSqlite.d.ts.map +1 -1
- package/dist/persistence/FlowsPersistenceSqlite.js +8 -6
- package/dist/persistence/FlowsPersistenceSqlite.js.map +1 -1
- package/dist/persistence/FlowsPersistenceSupabase.d.ts +2 -2
- package/dist/persistence/FlowsPersistenceSupabase.d.ts.map +1 -1
- package/dist/persistence/FlowsPersistenceSupabase.js +5 -3
- package/dist/persistence/FlowsPersistenceSupabase.js.map +1 -1
- package/dist/persistence/FlowsPersistenceVolatile.d.ts +2 -2
- package/dist/persistence/FlowsPersistenceVolatile.d.ts.map +1 -1
- package/dist/persistence/FlowsPersistenceVolatile.js +5 -3
- package/dist/persistence/FlowsPersistenceVolatile.js.map +1 -1
- package/dist/playwrightTestExtensions.d.ts +5 -0
- package/dist/playwrightTestExtensions.d.ts.map +1 -1
- package/dist/playwrightTestExtensions.js +56 -17
- package/dist/playwrightTestExtensions.js.map +1 -1
- package/dist/tools/AnalyzePageTextTool.js +1 -1
- package/dist/tools/AnalyzePageTextTool.js.map +1 -1
- package/dist/tools/AssertPageTextTool.js +1 -1
- package/dist/tools/AssertPageTextTool.js.map +1 -1
- package/dist/tools/AssertTool.d.ts.map +1 -1
- package/dist/tools/AssertTool.js +5 -5
- package/dist/tools/AssertTool.js.map +1 -1
- package/dist/tools/ChangeWebBrowserTabTool.d.ts.map +1 -1
- package/dist/tools/ChangeWebBrowserTabTool.js +8 -7
- package/dist/tools/ChangeWebBrowserTabTool.js.map +1 -1
- package/dist/tools/ClickTool.js +1 -1
- package/dist/tools/ClickTool.js.map +1 -1
- package/dist/tools/CreateBrowserCookieReportTool.js +1 -1
- package/dist/tools/CreateBrowserCookieReportTool.js.map +1 -1
- package/dist/tools/CustomToolRunnerTool.d.ts.map +1 -1
- package/dist/tools/CustomToolRunnerTool.js +1 -1
- package/dist/tools/CustomToolRunnerTool.js.map +1 -1
- package/dist/tools/DetectBrokenLinksTool.d.ts.map +1 -1
- package/dist/tools/DetectBrokenLinksTool.js +5 -3
- package/dist/tools/DetectBrokenLinksTool.js.map +1 -1
- package/dist/tools/ExtractGoogleStreetviewEntityDataTool.js +4 -4
- package/dist/tools/ExtractGoogleStreetviewEntityDataTool.js.map +1 -1
- package/dist/tools/ExtractPaymentProviderKeyTool.js +1 -1
- package/dist/tools/ExtractPaymentProviderKeyTool.js.map +1 -1
- package/dist/tools/ExtractPublicFacebookEntityDataTool.js +1 -1
- package/dist/tools/ExtractPublicFacebookEntityDataTool.js.map +1 -1
- package/dist/tools/GoForwardOrBackTool.js +1 -1
- package/dist/tools/GoForwardOrBackTool.js.map +1 -1
- package/dist/tools/GoToGoogleMapsStreetViewTool.js +1 -1
- package/dist/tools/GoToGoogleMapsStreetViewTool.js.map +1 -1
- package/dist/tools/GoToWebpageTool.js +1 -1
- package/dist/tools/GoToWebpageTool.js.map +1 -1
- package/dist/tools/HoverOverElementTool.d.ts.map +1 -1
- package/dist/tools/HoverOverElementTool.js +1 -1
- package/dist/tools/HoverOverElementTool.js.map +1 -1
- package/dist/tools/NavigateWithinStreetView.js +1 -1
- package/dist/tools/NavigateWithinStreetView.js.map +1 -1
- package/dist/tools/PressKeyTool.js +1 -1
- package/dist/tools/PressKeyTool.js.map +1 -1
- package/dist/tools/ReloadPageTool.js +1 -1
- package/dist/tools/ReloadPageTool.js.map +1 -1
- package/dist/tools/ReplayableInteraction.d.ts +16 -1
- package/dist/tools/ReplayableInteraction.d.ts.map +1 -1
- package/dist/tools/ReplayableInteraction.js +169 -16
- package/dist/tools/ReplayableInteraction.js.map +1 -1
- package/dist/tools/RunAccessibilityTestTool.d.ts +8 -0
- package/dist/tools/RunAccessibilityTestTool.d.ts.map +1 -1
- package/dist/tools/RunAccessibilityTestTool.js +15 -2
- package/dist/tools/RunAccessibilityTestTool.js.map +1 -1
- package/dist/tools/RunInlineJavaScriptCodeTool.d.ts.map +1 -1
- package/dist/tools/RunInlineJavaScriptCodeTool.js +1 -1
- package/dist/tools/RunInlineJavaScriptCodeTool.js.map +1 -1
- package/dist/tools/SaveWebpageAsPdfTool.js +1 -1
- package/dist/tools/SaveWebpageAsPdfTool.js.map +1 -1
- package/dist/tools/ScrollPageTool.d.ts +1 -1
- package/dist/tools/ScrollPageTool.d.ts.map +1 -1
- package/dist/tools/ScrollPageTool.js +47 -4
- package/dist/tools/ScrollPageTool.js.map +1 -1
- package/dist/tools/WaitTool.js +1 -1
- package/dist/tools/WaitTool.js.map +1 -1
- package/dist/utils/MiscUtils.d.ts +10 -13
- package/dist/utils/MiscUtils.d.ts.map +1 -1
- package/dist/utils/MiscUtils.js +92 -56
- package/dist/utils/MiscUtils.js.map +1 -1
- package/dist/utils/PlaywrightUtils.d.ts +32 -130
- package/dist/utils/PlaywrightUtils.d.ts.map +1 -1
- package/dist/utils/PlaywrightUtils.js +140 -938
- package/dist/utils/PlaywrightUtils.js.map +1 -1
- package/package.json +4 -2
- package/dist/assets/clickable-elements-tracker.js +0 -63
- package/dist/assets/zaru-eyes.html +0 -141
- package/dist/esm/assets/clickable-elements-tracker.js +0 -63
- package/dist/esm/assets/zaru-eyes.html +0 -141
- package/dist/esm/managers/TemplateInterpolator.d.ts +0 -19
- package/dist/esm/managers/TemplateInterpolator.d.ts.map +0 -1
- package/dist/esm/managers/TemplateInterpolator.js +0 -86
- package/dist/esm/managers/TemplateInterpolator.js.map +0 -1
- package/dist/esm/managers/ToolTipper.d.ts +0 -32
- package/dist/esm/managers/ToolTipper.d.ts.map +0 -1
- package/dist/esm/managers/ToolTipper.js +0 -229
- package/dist/esm/managers/ToolTipper.js.map +0 -1
- package/dist/esm/models/BrowserState.d.ts +0 -26
- package/dist/esm/models/BrowserState.d.ts.map +0 -1
- package/dist/esm/models/BrowserState.js +0 -3
- package/dist/esm/models/BrowserState.js.map +0 -1
- package/dist/esm/models/ResolverContext.d.ts +0 -7
- package/dist/esm/models/ResolverContext.d.ts.map +0 -1
- package/dist/esm/models/ResolverContext.js +0 -3
- package/dist/esm/models/ResolverContext.js.map +0 -1
- package/dist/esm/models/ToolTemplateDataSource.d.ts +0 -36
- package/dist/esm/models/ToolTemplateDataSource.d.ts.map +0 -1
- package/dist/esm/models/ToolTemplateDataSource.js +0 -3
- package/dist/esm/models/ToolTemplateDataSource.js.map +0 -1
- package/dist/esm/test.d.ts +0 -78
- package/dist/esm/test.d.ts.map +0 -1
- package/dist/esm/test.js +0 -423
- package/dist/esm/test.js.map +0 -1
- package/dist/esm/utils/TemplateInterpolator.d.ts +0 -29
- package/dist/esm/utils/TemplateInterpolator.d.ts.map +0 -1
- package/dist/esm/utils/TemplateInterpolator.js +0 -206
- package/dist/esm/utils/TemplateInterpolator.js.map +0 -1
- package/dist/managers/TemplateInterpolator.d.ts +0 -19
- package/dist/managers/TemplateInterpolator.d.ts.map +0 -1
- package/dist/managers/TemplateInterpolator.js +0 -86
- package/dist/managers/TemplateInterpolator.js.map +0 -1
- package/dist/managers/ToolTipper.d.ts +0 -32
- package/dist/managers/ToolTipper.d.ts.map +0 -1
- package/dist/managers/ToolTipper.js +0 -229
- package/dist/managers/ToolTipper.js.map +0 -1
- package/dist/models/BrowserState.d.ts +0 -26
- package/dist/models/BrowserState.d.ts.map +0 -1
- package/dist/models/BrowserState.js +0 -3
- package/dist/models/BrowserState.js.map +0 -1
- package/dist/models/ResolverContext.d.ts +0 -7
- package/dist/models/ResolverContext.d.ts.map +0 -1
- package/dist/models/ResolverContext.js +0 -3
- package/dist/models/ResolverContext.js.map +0 -1
- package/dist/models/ToolTemplateDataSource.d.ts +0 -36
- package/dist/models/ToolTemplateDataSource.d.ts.map +0 -1
- package/dist/models/ToolTemplateDataSource.js +0 -3
- package/dist/models/ToolTemplateDataSource.js.map +0 -1
- package/dist/test.d.ts +0 -78
- package/dist/test.d.ts.map +0 -1
- package/dist/test.js +0 -423
- package/dist/test.js.map +0 -1
- package/dist/tsconfig.esm.tsbuildinfo +0 -1
- package/dist/utils/TemplateInterpolator.d.ts +0 -29
- package/dist/utils/TemplateInterpolator.d.ts.map +0 -1
- package/dist/utils/TemplateInterpolator.js +0 -211
- package/dist/utils/TemplateInterpolator.js.map +0 -1
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.TEMPLATE_DATA_PATTERN = void 0;
|
|
7
|
-
exports.resolveExpression = resolveExpression;
|
|
8
|
-
exports.interpolateString = interpolateString;
|
|
9
|
-
exports.interpolateObject = interpolateObject;
|
|
10
|
-
const Logger_1 = require("./Logger");
|
|
11
|
-
const jsonpath_1 = __importDefault(require("jsonpath"));
|
|
12
|
-
/**
|
|
13
|
-
* Regular expression to match template JSON-path expressions inside of {{...}}
|
|
14
|
-
*/
|
|
15
|
-
exports.TEMPLATE_DATA_PATTERN = /\{\{([^}]+)\}\}/g;
|
|
16
|
-
/**
|
|
17
|
-
* Regular expression to detect expressions that need to be handled specially
|
|
18
|
-
* Matches patterns like: $..path[?(@.condition)][0] or $..path[?(@.condition)][index] or $..path[?(@.condition)][n:m]
|
|
19
|
-
*/
|
|
20
|
-
const FILTER_WITH_INDEX_PATTERN = /(\[\?\(.*\)\])(\[-?\d+(\:\d+)?\])/;
|
|
21
|
-
const STANDALONE_NEGATIVE_INDEX_PATTERN = /(\$\.calls)\[(-\d+)\](?!\:)/;
|
|
22
|
-
/**
|
|
23
|
-
* Parse and modify JSONPath expressions to handle indexing after filter expressions
|
|
24
|
-
* @param expression - The JSONPath expression to process
|
|
25
|
-
* @returns A processed expression that works with the jsonpath library
|
|
26
|
-
*/
|
|
27
|
-
function processJSONPathExpression(expression) {
|
|
28
|
-
// First check for filter followed by index pattern
|
|
29
|
-
const filterMatch = expression.match(FILTER_WITH_INDEX_PATTERN);
|
|
30
|
-
if (filterMatch) {
|
|
31
|
-
// Extract just the number from indexPart (remove the brackets)
|
|
32
|
-
const indexMatch = filterMatch[2].match(/\[(-?\d+)(\:\d+)?\]/);
|
|
33
|
-
if (indexMatch) {
|
|
34
|
-
// If it's a simple index (not a slice)
|
|
35
|
-
if (!indexMatch[2]) {
|
|
36
|
-
// Remove the index part from the expression
|
|
37
|
-
const baseExpression = expression.replace(filterMatch[2], '');
|
|
38
|
-
// Return the modified expression
|
|
39
|
-
return baseExpression;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
// Check for standalone negative index pattern and convert it to slice notation
|
|
44
|
-
// since the jsonpath library doesn't support negative indices directly.
|
|
45
|
-
const negativeIndexMatch = expression.match(STANDALONE_NEGATIVE_INDEX_PATTERN);
|
|
46
|
-
if (negativeIndexMatch && negativeIndexMatch[2].startsWith('-')) {
|
|
47
|
-
// Convert the standalone negative index to slice notation
|
|
48
|
-
// For example: $.calls[-1] becomes $.calls[-1:]
|
|
49
|
-
const convertedExpression = expression.replace(`[${negativeIndexMatch[2]}]`, `[${negativeIndexMatch[2]}:]`);
|
|
50
|
-
return convertedExpression;
|
|
51
|
-
}
|
|
52
|
-
// If it doesn't match our patterns, return the original expression
|
|
53
|
-
return expression;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Format a value to string with special handling for objects and arrays
|
|
57
|
-
* @param value - The value to format
|
|
58
|
-
* @returns A string representation of the value
|
|
59
|
-
*/
|
|
60
|
-
function formatValue(value) {
|
|
61
|
-
if (value === undefined || value === null) {
|
|
62
|
-
return '';
|
|
63
|
-
}
|
|
64
|
-
// Handle arrays by joining their string representations
|
|
65
|
-
if (Array.isArray(value)) {
|
|
66
|
-
return value.map(formatValue).join(',');
|
|
67
|
-
}
|
|
68
|
-
// Handle objects with proper JSON formatting
|
|
69
|
-
if (typeof value === 'object' && value !== null) {
|
|
70
|
-
return JSON.stringify(value);
|
|
71
|
-
}
|
|
72
|
-
// Default case
|
|
73
|
-
return String(value);
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Resolve a JSONPath expression against the context
|
|
77
|
-
* @param expression - The JSONPath expression to evaluate
|
|
78
|
-
* @param dataSource - The data context to evaluate against
|
|
79
|
-
* @returns The resolved value or undefined if not found
|
|
80
|
-
*/
|
|
81
|
-
function resolveExpression(expression, dataSource) {
|
|
82
|
-
try {
|
|
83
|
-
// Process the expression to handle special cases
|
|
84
|
-
const processedExpression = processJSONPathExpression(expression);
|
|
85
|
-
// Handle expressions with wildcards or recursive searches that might return arrays
|
|
86
|
-
const isWildcardOrRecursive = expression.includes('..') ||
|
|
87
|
-
expression.includes('*') ||
|
|
88
|
-
expression.includes('[:]');
|
|
89
|
-
// Use JSONPath to evaluate the expression against the context
|
|
90
|
-
const results = jsonpath_1.default.query(dataSource, processedExpression);
|
|
91
|
-
// Handle the indexing ourselves if needed
|
|
92
|
-
if (expression !== processedExpression) {
|
|
93
|
-
const match = expression.match(FILTER_WITH_INDEX_PATTERN);
|
|
94
|
-
if (match) {
|
|
95
|
-
const indexMatch = match[2].match(/\[(-?\d+)(\:\d+)?\]/);
|
|
96
|
-
if (indexMatch) {
|
|
97
|
-
const index = parseInt(indexMatch[1], 10);
|
|
98
|
-
// If we have results, handle both positive and negative indices
|
|
99
|
-
if (results && results.length > 0) {
|
|
100
|
-
// For negative indices, count from the end of the array
|
|
101
|
-
const actualIndex = index < 0 ? results.length + index : index;
|
|
102
|
-
// Return the result if the calculated index is valid
|
|
103
|
-
if (actualIndex >= 0 && actualIndex < results.length) {
|
|
104
|
-
return results[actualIndex];
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
return undefined;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
// Return the entire array for expressions that clearly want multiple values
|
|
112
|
-
if (isWildcardOrRecursive && results.length > 1) {
|
|
113
|
-
return results;
|
|
114
|
-
}
|
|
115
|
-
// Default case - return the first result if available
|
|
116
|
-
if (results && results.length > 0) {
|
|
117
|
-
return results[0];
|
|
118
|
-
}
|
|
119
|
-
return undefined;
|
|
120
|
-
}
|
|
121
|
-
catch (error) {
|
|
122
|
-
throw new Error(`Failed to evaluate JSONPath expression: ${expression}. Error: ${error}`);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Interpolate template strings using JSONPath expressions
|
|
127
|
-
* @param template - The template string with {{...}} expressions
|
|
128
|
-
* @param dataSource - The data context to interpolate from
|
|
129
|
-
* @returns The interpolated string
|
|
130
|
-
*/
|
|
131
|
-
function interpolateString(template, dataSource) {
|
|
132
|
-
return template.replace(exports.TEMPLATE_DATA_PATTERN, (match, expression) => {
|
|
133
|
-
try {
|
|
134
|
-
const value = resolveExpression(expression.trim(), dataSource);
|
|
135
|
-
// If the value is undefined or null, keep the original expression
|
|
136
|
-
if (value === undefined) {
|
|
137
|
-
return match; // Return the original {{expression}} string
|
|
138
|
-
}
|
|
139
|
-
return formatValue(value);
|
|
140
|
-
}
|
|
141
|
-
catch (error) {
|
|
142
|
-
Logger_1.appLogger.warn(`Error interpolating template: ${template}, expression: ${expression}, error: ${error}`);
|
|
143
|
-
return match; // Return the original {{expression}} string on error
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Interpolate the parameters object using JSONPath expressions. Any string values
|
|
149
|
-
* and keys in the object will be replaced with the corresponding values from the data source.
|
|
150
|
-
* Nested objects and arrays will be processed recursively.
|
|
151
|
-
*
|
|
152
|
-
* @param parameters - The original parameters object
|
|
153
|
-
* @param dataSource - The data context to interpolate from
|
|
154
|
-
* @returns A new parameters object with interpolated string values and keys
|
|
155
|
-
*/
|
|
156
|
-
function interpolateObject(parameters, dataSource) {
|
|
157
|
-
if (!parameters || typeof parameters !== 'object') {
|
|
158
|
-
return parameters;
|
|
159
|
-
}
|
|
160
|
-
// Create appropriate result container
|
|
161
|
-
const result = Array.isArray(parameters) ? [] : {};
|
|
162
|
-
// Process each key-value pair
|
|
163
|
-
if (Array.isArray(parameters)) {
|
|
164
|
-
// Handle array case
|
|
165
|
-
for (let i = 0; i < parameters.length; i++) {
|
|
166
|
-
const value = parameters[i];
|
|
167
|
-
if (typeof value === 'string') {
|
|
168
|
-
// Interpolate string values
|
|
169
|
-
result[i] = interpolateString(value, dataSource);
|
|
170
|
-
}
|
|
171
|
-
else if (typeof value === 'object' && value !== null) {
|
|
172
|
-
// Recursively process nested objects
|
|
173
|
-
result[i] = interpolateObject(value, dataSource);
|
|
174
|
-
}
|
|
175
|
-
else {
|
|
176
|
-
// Keep non-string values as is
|
|
177
|
-
result[i] = value;
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
else {
|
|
182
|
-
// Handle object case
|
|
183
|
-
for (const key in parameters) {
|
|
184
|
-
const value = parameters[key];
|
|
185
|
-
// Interpolate the key if it's a string and contains a template pattern
|
|
186
|
-
let processedKey = key;
|
|
187
|
-
if (typeof key === 'string' && exports.TEMPLATE_DATA_PATTERN.test(key)) {
|
|
188
|
-
processedKey = interpolateString(key, dataSource);
|
|
189
|
-
}
|
|
190
|
-
if (typeof value === 'string') {
|
|
191
|
-
// Interpolate string values
|
|
192
|
-
result[processedKey] = interpolateString(value, dataSource);
|
|
193
|
-
}
|
|
194
|
-
else if (typeof value === 'object' && value !== null) {
|
|
195
|
-
// Recursively process nested objects
|
|
196
|
-
result[processedKey] = interpolateObject(value, dataSource);
|
|
197
|
-
}
|
|
198
|
-
else {
|
|
199
|
-
// Keep non-string values as is
|
|
200
|
-
result[processedKey] = value;
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
return result;
|
|
205
|
-
}
|
|
206
|
-
//# sourceMappingURL=TemplateInterpolator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TemplateInterpolator.js","sourceRoot":"","sources":["../../../src/utils/TemplateInterpolator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Regular expression to match template expressions of the form ${...}
|
|
3
|
-
*/
|
|
4
|
-
export declare const TEMPLATE_DATA_PATTERN: RegExp;
|
|
5
|
-
/**
|
|
6
|
-
* Resolve a JSONPath expression against the context
|
|
7
|
-
* @param expression - The JSONPath expression to evaluate
|
|
8
|
-
* @param dataSource - The data context to evaluate against
|
|
9
|
-
* @returns The resolved value or undefined if not found
|
|
10
|
-
*/
|
|
11
|
-
export declare function resolveExpression(expression: string, dataSource: Record<string, unknown>): any;
|
|
12
|
-
/**
|
|
13
|
-
* Interpolate template strings using JSONPath expressions
|
|
14
|
-
* @param template - The template string with ${...} expressions
|
|
15
|
-
* @param dataSource - The data context to interpolate from
|
|
16
|
-
* @returns The interpolated string
|
|
17
|
-
*/
|
|
18
|
-
export declare function interpolate(template: string, dataSource: Record<string, unknown>): string;
|
|
19
|
-
//# sourceMappingURL=TemplateInterpolator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TemplateInterpolator.d.ts","sourceRoot":"","sources":["../../src/managers/TemplateInterpolator.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,eAAO,MAAM,qBAAqB,QAAmB,CAAC;AAEtD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,GAAG,CAgBL;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,MAAM,CAiBR"}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.TEMPLATE_DATA_PATTERN = void 0;
|
|
37
|
-
exports.resolveExpression = resolveExpression;
|
|
38
|
-
exports.interpolate = interpolate;
|
|
39
|
-
const Logger_1 = require("../utils/Logger");
|
|
40
|
-
const jp = __importStar(require("jsonpath"));
|
|
41
|
-
/**
|
|
42
|
-
* Regular expression to match template expressions of the form ${...}
|
|
43
|
-
*/
|
|
44
|
-
exports.TEMPLATE_DATA_PATTERN = /\$\{([^}]+)\}/g;
|
|
45
|
-
/**
|
|
46
|
-
* Resolve a JSONPath expression against the context
|
|
47
|
-
* @param expression - The JSONPath expression to evaluate
|
|
48
|
-
* @param dataSource - The data context to evaluate against
|
|
49
|
-
* @returns The resolved value or undefined if not found
|
|
50
|
-
*/
|
|
51
|
-
function resolveExpression(expression, dataSource) {
|
|
52
|
-
try {
|
|
53
|
-
// Use JSONPath to evaluate the expression against the context
|
|
54
|
-
const result = jp.query(dataSource, expression);
|
|
55
|
-
// If we got results, return the first one
|
|
56
|
-
if (result && result.length > 0) {
|
|
57
|
-
return result[0];
|
|
58
|
-
}
|
|
59
|
-
return undefined;
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
throw new Error(`Failed to evaluate JSONPath expression: ${expression}. Error: ${error}`);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Interpolate template strings using JSONPath expressions
|
|
67
|
-
* @param template - The template string with ${...} expressions
|
|
68
|
-
* @param dataSource - The data context to interpolate from
|
|
69
|
-
* @returns The interpolated string
|
|
70
|
-
*/
|
|
71
|
-
function interpolate(template, dataSource) {
|
|
72
|
-
return template.replace(exports.TEMPLATE_DATA_PATTERN, (_match, expression) => {
|
|
73
|
-
try {
|
|
74
|
-
const value = resolveExpression(expression.trim(), dataSource);
|
|
75
|
-
if (value === undefined) {
|
|
76
|
-
return '';
|
|
77
|
-
}
|
|
78
|
-
return String(value);
|
|
79
|
-
}
|
|
80
|
-
catch (error) {
|
|
81
|
-
Logger_1.appLogger.warn(`Error interpolating template: ${template}, expression: ${expression}, error: ${error}`);
|
|
82
|
-
return expression;
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
//# sourceMappingURL=TemplateInterpolator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TemplateInterpolator.js","sourceRoot":"","sources":["../../src/managers/TemplateInterpolator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,8CAmBC;AAQD,kCAoBC;AA7DD,4CAA4C;AAC5C,6CAA+B;AAE/B;;GAEG;AACU,QAAA,qBAAqB,GAAG,gBAAgB,CAAC;AAEtD;;;;;GAKG;AACH,SAAgB,iBAAiB,CAC/B,UAAkB,EAClB,UAAmC;IAEnC,IAAI,CAAC;QACH,8DAA8D;QAC9D,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAEhD,0CAA0C;QAC1C,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,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;;;;;GAKG;AACH,SAAgB,WAAW,CACzB,QAAgB,EAChB,UAAmC;IAEnC,OAAO,QAAQ,CAAC,OAAO,CAAC,6BAAqB,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE;QACpE,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;YAE/D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kBAAS,CAAC,IAAI,CACZ,iCAAiC,QAAQ,iBAAiB,UAAU,YAAY,KAAK,EAAE,CACxF,CAAC;YACF,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { Page, Locator } from 'playwright';
|
|
2
|
-
export declare class ToolTipper {
|
|
3
|
-
readonly defaultDurationMillis: number;
|
|
4
|
-
private static readonly TOOL_TIP_CONTAINER_ID;
|
|
5
|
-
private static readonly VIRTUAL_MOUSE_ID;
|
|
6
|
-
private currentMousePosition;
|
|
7
|
-
private isMouseVisible;
|
|
8
|
-
constructor(defaultDurationMillis: number);
|
|
9
|
-
/**
|
|
10
|
-
* Show the given tooltip text visually adjacent to the given element for the given duration.
|
|
11
|
-
* Moves the virtual mouse to the element with a smooth animation.
|
|
12
|
-
* Blocks execution for the duration.
|
|
13
|
-
*/
|
|
14
|
-
blipToolTip(page: Page, element: Locator, toolTip: string, durationMillis?: number): Promise<void>;
|
|
15
|
-
/**
|
|
16
|
-
* Moves the virtual mouse to the target position with a smooth animation.
|
|
17
|
-
*/
|
|
18
|
-
private moveVirtualMouse;
|
|
19
|
-
/**
|
|
20
|
-
* Creates a tooltip adjacent to the element, inside a shadow root to avoid CSS collisions.
|
|
21
|
-
*/
|
|
22
|
-
private displayToolTipForElement;
|
|
23
|
-
/**
|
|
24
|
-
* Hide the virtual mouse.
|
|
25
|
-
*/
|
|
26
|
-
hideVirtualMouse(page: Page): Promise<void>;
|
|
27
|
-
/**
|
|
28
|
-
* Clean up all tooltips and the virtual mouse.
|
|
29
|
-
*/
|
|
30
|
-
cleanUp(page: Page): Promise<void>;
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=ToolTipper.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToolTipper.d.ts","sourceRoot":"","sources":["../../src/managers/ToolTipper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI3C,qBAAa,UAAU;aAMc,qBAAqB,EAAE,MAAM;IALhE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAA+B;IAC5E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IAC3D,OAAO,CAAC,oBAAoB,CAAkB;IAC9C,OAAO,CAAC,cAAc,CAAS;gBAEI,qBAAqB,EAAE,MAAM;IAEhE;;;;OAIG;IACU,WAAW,CACtB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,cAAc,GAAE,MAAmC,GAClD,OAAO,CAAC,IAAI,CAAC;IA0DhB;;OAEG;YACW,gBAAgB;IAiH9B;;OAEG;YACW,wBAAwB;IAgDtC;;OAEG;IACU,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBxD;;OAEG;IACU,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAahD"}
|
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ToolTipper = void 0;
|
|
4
|
-
const Logger_1 = require("../utils/Logger");
|
|
5
|
-
const main_1 = require("../main");
|
|
6
|
-
class ToolTipper {
|
|
7
|
-
constructor(defaultDurationMillis) {
|
|
8
|
-
this.defaultDurationMillis = defaultDurationMillis;
|
|
9
|
-
this.currentMousePosition = { x: 0, y: 0 };
|
|
10
|
-
this.isMouseVisible = false;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Show the given tooltip text visually adjacent to the given element for the given duration.
|
|
14
|
-
* Moves the virtual mouse to the element with a smooth animation.
|
|
15
|
-
* Blocks execution for the duration.
|
|
16
|
-
*/
|
|
17
|
-
async blipToolTip(page, element, toolTip, durationMillis = this.defaultDurationMillis) {
|
|
18
|
-
if (!toolTip.trim() || !durationMillis || durationMillis <= 0) {
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
try {
|
|
22
|
-
// Get element position for mouse movement
|
|
23
|
-
const boundingBox = await element.boundingBox();
|
|
24
|
-
if (!boundingBox) {
|
|
25
|
-
Logger_1.appLogger.error('Failed to get element bounding box');
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
// Calculate target position (center of the element)
|
|
29
|
-
const targetX = boundingBox.x + boundingBox.width / 2;
|
|
30
|
-
const targetY = boundingBox.y + boundingBox.height / 2;
|
|
31
|
-
// Start mouse movement and tooltip display in parallel
|
|
32
|
-
const mouseMovementPromise = this.moveVirtualMouse(page, targetX, targetY, durationMillis / 2);
|
|
33
|
-
// Display the tooltip for the element
|
|
34
|
-
await this.displayToolTipForElement(element, toolTip);
|
|
35
|
-
// Create a promise for the tooltip duration
|
|
36
|
-
const tooltipDurationPromise = page.waitForTimeout(durationMillis);
|
|
37
|
-
// Wait for both mouse movement and tooltip duration to complete
|
|
38
|
-
await Promise.all([mouseMovementPromise, tooltipDurationPromise]);
|
|
39
|
-
// Remove only the tooltip after the duration (keep the mouse)
|
|
40
|
-
await element.evaluate((_, [toolTipContainerId]) => {
|
|
41
|
-
const container = document.getElementById(toolTipContainerId);
|
|
42
|
-
if (container) {
|
|
43
|
-
const shadow = container.shadowRoot;
|
|
44
|
-
if (shadow) {
|
|
45
|
-
// Remove only tooltip elements but keep the mouse
|
|
46
|
-
const tooltips = Array.from(shadow.querySelectorAll('.tooltip'));
|
|
47
|
-
tooltips.forEach((tooltip) => tooltip.remove());
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}, [ToolTipper.TOOL_TIP_CONTAINER_ID]);
|
|
51
|
-
}
|
|
52
|
-
catch (e) {
|
|
53
|
-
if (main_1.PlaywrightUtils.isPageClosedError(e)) {
|
|
54
|
-
throw e;
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
Logger_1.appLogger.error('Failed to display tooltip at element', e);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Moves the virtual mouse to the target position with a smooth animation.
|
|
63
|
-
*/
|
|
64
|
-
async moveVirtualMouse(page, targetX, targetY, durationMillis) {
|
|
65
|
-
await page.evaluate(([containerId, mouseId, startX, startY, endX, endY, duration]) => {
|
|
66
|
-
return new Promise((resolve) => {
|
|
67
|
-
// 1) Find or create the container
|
|
68
|
-
let container = document.getElementById(containerId);
|
|
69
|
-
if (!container) {
|
|
70
|
-
container = document.createElement('div');
|
|
71
|
-
container.id = containerId;
|
|
72
|
-
container.style.position = 'absolute';
|
|
73
|
-
container.style.top = '0';
|
|
74
|
-
container.style.left = '0';
|
|
75
|
-
container.style.width = '100%';
|
|
76
|
-
container.style.height = '100%';
|
|
77
|
-
container.style.pointerEvents = 'none';
|
|
78
|
-
document.body.appendChild(container);
|
|
79
|
-
const shadowRoot = container.attachShadow({ mode: 'open' });
|
|
80
|
-
// Insert style
|
|
81
|
-
const styleEl = document.createElement('style');
|
|
82
|
-
styleEl.textContent = `
|
|
83
|
-
:host { all: initial; }
|
|
84
|
-
.tooltip {
|
|
85
|
-
z-index: 2147483647;
|
|
86
|
-
background-color: black;
|
|
87
|
-
color: white;
|
|
88
|
-
padding: 8px;
|
|
89
|
-
border-radius: 5px;
|
|
90
|
-
font-size: 12px;
|
|
91
|
-
font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
|
92
|
-
display: block;
|
|
93
|
-
max-width: 300px;
|
|
94
|
-
white-space: pre-wrap;
|
|
95
|
-
box-shadow: 2px 2px 10px rgba(0,0,0,0.2);
|
|
96
|
-
position: absolute;
|
|
97
|
-
}
|
|
98
|
-
.virtual-mouse {
|
|
99
|
-
width: 20px;
|
|
100
|
-
height: 20px;
|
|
101
|
-
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='M0,0 L12,10 L7,11 L10,18 L8,19 L5,12 L0,16 Z' fill='%23ffffff' stroke='%23000000' stroke-width='1'/%3E%3C/svg%3E");
|
|
102
|
-
background-repeat: no-repeat;
|
|
103
|
-
background-size: contain;
|
|
104
|
-
position: absolute;
|
|
105
|
-
z-index: 2147483646;
|
|
106
|
-
transition-property: left, top;
|
|
107
|
-
transition-timing-function: ease-in-out;
|
|
108
|
-
filter: drop-shadow(1px 1px 1px rgba(0,0,0,0.5));
|
|
109
|
-
}
|
|
110
|
-
`;
|
|
111
|
-
shadowRoot.appendChild(styleEl);
|
|
112
|
-
}
|
|
113
|
-
const shadow = container.shadowRoot;
|
|
114
|
-
if (!shadow) {
|
|
115
|
-
resolve();
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
// Find or create mouse
|
|
119
|
-
let mouse = shadow.getElementById(mouseId);
|
|
120
|
-
if (!mouse) {
|
|
121
|
-
mouse = document.createElement('div');
|
|
122
|
-
mouse.id = mouseId;
|
|
123
|
-
mouse.className = 'virtual-mouse';
|
|
124
|
-
// Initial position if first time
|
|
125
|
-
mouse.style.left = `${startX}px`;
|
|
126
|
-
mouse.style.top = `${startY}px`;
|
|
127
|
-
mouse.style.transitionDuration = '0s'; // No animation initially
|
|
128
|
-
shadow.appendChild(mouse);
|
|
129
|
-
// Force reflow to ensure initial position is applied before animation
|
|
130
|
-
void mouse.offsetWidth;
|
|
131
|
-
}
|
|
132
|
-
// Animate the mouse
|
|
133
|
-
mouse.style.transitionDuration = `${duration}ms`;
|
|
134
|
-
mouse.style.left = `${endX - 10}px`; // Offset by half the cursor size
|
|
135
|
-
mouse.style.top = `${endY - 5}px`; // Offset to position pointer tip at target
|
|
136
|
-
// Resolve when transition completes or timeout as fallback
|
|
137
|
-
const transitionEndHandler = () => {
|
|
138
|
-
mouse?.removeEventListener('transitionend', transitionEndHandler);
|
|
139
|
-
resolve();
|
|
140
|
-
};
|
|
141
|
-
mouse.addEventListener('transitionend', transitionEndHandler);
|
|
142
|
-
// Fallback in case transitionend doesn't fire
|
|
143
|
-
setTimeout(resolve, duration + 50);
|
|
144
|
-
});
|
|
145
|
-
}, [
|
|
146
|
-
ToolTipper.TOOL_TIP_CONTAINER_ID,
|
|
147
|
-
ToolTipper.VIRTUAL_MOUSE_ID,
|
|
148
|
-
this.currentMousePosition.x,
|
|
149
|
-
this.currentMousePosition.y,
|
|
150
|
-
targetX,
|
|
151
|
-
targetY,
|
|
152
|
-
durationMillis,
|
|
153
|
-
]);
|
|
154
|
-
// Update current mouse position
|
|
155
|
-
this.currentMousePosition = { x: targetX, y: targetY };
|
|
156
|
-
this.isMouseVisible = true;
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Creates a tooltip adjacent to the element, inside a shadow root to avoid CSS collisions.
|
|
160
|
-
*/
|
|
161
|
-
async displayToolTipForElement(element, toolTip) {
|
|
162
|
-
await element.evaluate((targetElement, [toolTipContainerId, toolTip]) => {
|
|
163
|
-
// 1) Find container (should already exist from moveVirtualMouse)
|
|
164
|
-
const container = document.getElementById(toolTipContainerId);
|
|
165
|
-
if (!container || !container.shadowRoot) {
|
|
166
|
-
return;
|
|
167
|
-
}
|
|
168
|
-
const shadow = container.shadowRoot;
|
|
169
|
-
// 2) Insert tooltip
|
|
170
|
-
const tooltipElement = document.createElement('div');
|
|
171
|
-
tooltipElement.className = 'tooltip';
|
|
172
|
-
tooltipElement.textContent = toolTip;
|
|
173
|
-
// Temporarily place off-screen to measure size
|
|
174
|
-
tooltipElement.style.left = '-9999px';
|
|
175
|
-
tooltipElement.style.top = '-9999px';
|
|
176
|
-
shadow.appendChild(tooltipElement);
|
|
177
|
-
// 3) Compute final position
|
|
178
|
-
const rect = targetElement.getBoundingClientRect();
|
|
179
|
-
let x = rect.left + window.scrollX;
|
|
180
|
-
let y = rect.bottom + window.scrollY + 10;
|
|
181
|
-
tooltipElement.style.left = `${x}px`;
|
|
182
|
-
tooltipElement.style.top = `${y}px`;
|
|
183
|
-
// Adjust if it goes off-screen to the right
|
|
184
|
-
const tipRect = tooltipElement.getBoundingClientRect();
|
|
185
|
-
const overflowRight = tipRect.right - window.innerWidth;
|
|
186
|
-
if (overflowRight > 0) {
|
|
187
|
-
tooltipElement.style.left = `${x - overflowRight - 10}px`;
|
|
188
|
-
}
|
|
189
|
-
// Adjust if it goes off-screen to the left
|
|
190
|
-
if (tipRect.left < 0) {
|
|
191
|
-
tooltipElement.style.left = `${window.scrollX + 10}px`;
|
|
192
|
-
}
|
|
193
|
-
}, [ToolTipper.TOOL_TIP_CONTAINER_ID, toolTip]);
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Hide the virtual mouse.
|
|
197
|
-
*/
|
|
198
|
-
async hideVirtualMouse(page) {
|
|
199
|
-
if (!this.isMouseVisible) {
|
|
200
|
-
return;
|
|
201
|
-
}
|
|
202
|
-
await page.evaluate(([containerId, mouseId]) => {
|
|
203
|
-
const container = document.getElementById(containerId);
|
|
204
|
-
if (container && container.shadowRoot) {
|
|
205
|
-
const mouse = container.shadowRoot.getElementById(mouseId);
|
|
206
|
-
if (mouse) {
|
|
207
|
-
mouse.remove();
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
}, [ToolTipper.TOOL_TIP_CONTAINER_ID, ToolTipper.VIRTUAL_MOUSE_ID]);
|
|
211
|
-
this.isMouseVisible = false;
|
|
212
|
-
}
|
|
213
|
-
/**
|
|
214
|
-
* Clean up all tooltips and the virtual mouse.
|
|
215
|
-
*/
|
|
216
|
-
async cleanUp(page) {
|
|
217
|
-
await page.evaluate(([containerId]) => {
|
|
218
|
-
const container = document.getElementById(containerId);
|
|
219
|
-
if (container) {
|
|
220
|
-
container.remove();
|
|
221
|
-
}
|
|
222
|
-
}, [ToolTipper.TOOL_TIP_CONTAINER_ID]);
|
|
223
|
-
this.isMouseVisible = false;
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
exports.ToolTipper = ToolTipper;
|
|
227
|
-
ToolTipper.TOOL_TIP_CONTAINER_ID = 'tool-tip-shadow-container';
|
|
228
|
-
ToolTipper.VIRTUAL_MOUSE_ID = 'virtual-mouse';
|
|
229
|
-
//# sourceMappingURL=ToolTipper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToolTipper.js","sourceRoot":"","sources":["../../src/managers/ToolTipper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This type is expected to match the data returned by the Playwright `BrowserContext.storageState()` method.
|
|
3
|
-
*/
|
|
4
|
-
export type BrowserStorageState = {
|
|
5
|
-
readonly cookies: Array<{
|
|
6
|
-
readonly name: string;
|
|
7
|
-
readonly value: string;
|
|
8
|
-
readonly domain: string;
|
|
9
|
-
readonly path: string;
|
|
10
|
-
/**
|
|
11
|
-
* Unix time in seconds.
|
|
12
|
-
*/
|
|
13
|
-
readonly expires: number;
|
|
14
|
-
readonly httpOnly: boolean;
|
|
15
|
-
readonly secure: boolean;
|
|
16
|
-
readonly sameSite: 'Strict' | 'Lax' | 'None';
|
|
17
|
-
}>;
|
|
18
|
-
readonly origins: Array<{
|
|
19
|
-
readonly origin: string;
|
|
20
|
-
readonly localStorage: Array<{
|
|
21
|
-
readonly name: string;
|
|
22
|
-
readonly value: string;
|
|
23
|
-
}>;
|
|
24
|
-
}>;
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=BrowserState.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserState.d.ts","sourceRoot":"","sources":["../../src/models/BrowserState.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;QACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAEtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAEvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAExB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAEtB;;WAEG;QACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAEzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAE3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QAEzB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;KAC9C,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAExB,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC;YAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YAEtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;SACxB,CAAC,CAAC;KACJ,CAAC,CAAC;CACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserState.js","sourceRoot":"","sources":["../../src/models/BrowserState.ts"],"names":[],"mappings":""}
|