donobu 3.16.2 → 3.16.4
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/bindings/PageInteractionTracker.d.ts +9 -6
- package/dist/bindings/PageInteractionTracker.d.ts.map +1 -1
- package/dist/bindings/PageInteractionTracker.js +17 -10
- package/dist/bindings/PageInteractionTracker.js.map +1 -1
- package/dist/browser-side-scripts/dialog-prompt-tracker.d.ts +9 -0
- package/dist/browser-side-scripts/dialog-prompt-tracker.d.ts.map +1 -0
- package/dist/browser-side-scripts/dialog-prompt-tracker.js +44 -0
- package/dist/browser-side-scripts/dialog-prompt-tracker.js.map +1 -0
- package/dist/browser-side-scripts/donobu-namespace.d.ts +6 -0
- package/dist/browser-side-scripts/donobu-namespace.d.ts.map +1 -0
- package/dist/browser-side-scripts/donobu-namespace.js +50 -0
- package/dist/browser-side-scripts/donobu-namespace.js.map +1 -0
- package/dist/browser-side-scripts/interactive-elements-tracker.d.ts +2 -0
- package/dist/browser-side-scripts/interactive-elements-tracker.d.ts.map +1 -0
- package/dist/browser-side-scripts/interactive-elements-tracker.js +405 -0
- package/dist/browser-side-scripts/interactive-elements-tracker.js.map +1 -0
- package/dist/browser-side-scripts/page-interactions-tracker.d.ts +9 -0
- package/dist/browser-side-scripts/page-interactions-tracker.d.ts.map +1 -0
- package/dist/browser-side-scripts/page-interactions-tracker.js +99 -0
- package/dist/browser-side-scripts/page-interactions-tracker.js.map +1 -0
- package/dist/browser-side-scripts/smart-selector-generator.d.ts +2 -0
- package/dist/browser-side-scripts/smart-selector-generator.d.ts.map +1 -0
- package/dist/browser-side-scripts/smart-selector-generator.js +789 -0
- package/dist/browser-side-scripts/smart-selector-generator.js.map +1 -0
- package/dist/cli/playwright-json-to-markdown.js +2 -2
- package/dist/cli/playwright-json-to-markdown.js.map +1 -1
- package/dist/cli/playwright-json-to-slack-json.js +2 -3
- package/dist/cli/playwright-json-to-slack-json.js.map +1 -1
- package/dist/clients/AnthropicGptClient.d.ts.map +1 -1
- package/dist/clients/AnthropicGptClient.js.map +1 -1
- package/dist/clients/GoogleVertexGptClient.js +1 -1
- package/dist/clients/GoogleVertexGptClient.js.map +1 -1
- package/dist/clients/OpenAiGptClient.d.ts.map +1 -1
- package/dist/clients/OpenAiGptClient.js +2 -5
- package/dist/clients/OpenAiGptClient.js.map +1 -1
- package/dist/codegen/CodeGenerator.d.ts.map +1 -1
- package/dist/codegen/CodeGenerator.js +3 -4
- package/dist/codegen/CodeGenerator.js.map +1 -1
- package/dist/codegen/runGenerateSiteTests.js +1 -1
- package/dist/codegen/runGenerateSiteTests.js.map +1 -1
- package/dist/esm/bindings/PageInteractionTracker.d.ts +9 -6
- package/dist/esm/bindings/PageInteractionTracker.d.ts.map +1 -1
- package/dist/esm/bindings/PageInteractionTracker.js +17 -10
- package/dist/esm/bindings/PageInteractionTracker.js.map +1 -1
- package/dist/esm/browser-side-scripts/dialog-prompt-tracker.d.ts +9 -0
- package/dist/esm/browser-side-scripts/dialog-prompt-tracker.d.ts.map +1 -0
- package/dist/esm/browser-side-scripts/dialog-prompt-tracker.js +44 -0
- package/dist/esm/browser-side-scripts/dialog-prompt-tracker.js.map +1 -0
- package/dist/esm/browser-side-scripts/donobu-namespace.d.ts +6 -0
- package/dist/esm/browser-side-scripts/donobu-namespace.d.ts.map +1 -0
- package/dist/esm/browser-side-scripts/donobu-namespace.js +50 -0
- package/dist/esm/browser-side-scripts/donobu-namespace.js.map +1 -0
- package/dist/esm/browser-side-scripts/interactive-elements-tracker.d.ts +2 -0
- package/dist/esm/browser-side-scripts/interactive-elements-tracker.d.ts.map +1 -0
- package/dist/esm/browser-side-scripts/interactive-elements-tracker.js +405 -0
- package/dist/esm/browser-side-scripts/interactive-elements-tracker.js.map +1 -0
- package/dist/esm/browser-side-scripts/page-interactions-tracker.d.ts +9 -0
- package/dist/esm/browser-side-scripts/page-interactions-tracker.d.ts.map +1 -0
- package/dist/esm/browser-side-scripts/page-interactions-tracker.js +99 -0
- package/dist/esm/browser-side-scripts/page-interactions-tracker.js.map +1 -0
- package/dist/esm/browser-side-scripts/smart-selector-generator.d.ts +2 -0
- package/dist/esm/browser-side-scripts/smart-selector-generator.d.ts.map +1 -0
- package/dist/esm/browser-side-scripts/smart-selector-generator.js +789 -0
- package/dist/esm/browser-side-scripts/smart-selector-generator.js.map +1 -0
- package/dist/esm/cli/playwright-json-to-markdown.js +2 -2
- package/dist/esm/cli/playwright-json-to-markdown.js.map +1 -1
- package/dist/esm/cli/playwright-json-to-slack-json.js +2 -3
- package/dist/esm/cli/playwright-json-to-slack-json.js.map +1 -1
- package/dist/esm/clients/AnthropicGptClient.d.ts.map +1 -1
- package/dist/esm/clients/AnthropicGptClient.js.map +1 -1
- package/dist/esm/clients/GoogleVertexGptClient.js +1 -1
- package/dist/esm/clients/GoogleVertexGptClient.js.map +1 -1
- package/dist/esm/clients/OpenAiGptClient.d.ts.map +1 -1
- package/dist/esm/clients/OpenAiGptClient.js +2 -5
- package/dist/esm/clients/OpenAiGptClient.js.map +1 -1
- package/dist/esm/codegen/CodeGenerator.d.ts.map +1 -1
- package/dist/esm/codegen/CodeGenerator.js +3 -4
- package/dist/esm/codegen/CodeGenerator.js.map +1 -1
- package/dist/esm/codegen/runGenerateSiteTests.js +1 -1
- package/dist/esm/codegen/runGenerateSiteTests.js.map +1 -1
- package/dist/esm/init.js +2 -2
- package/dist/esm/init.js.map +1 -1
- package/dist/esm/lib/ai/cache/cache.js.map +1 -1
- package/dist/esm/lib/page/SmartSelector.js.map +1 -1
- package/dist/esm/lib/page/extendPage.js +1 -1
- package/dist/esm/lib/page/extendPage.js.map +1 -1
- package/dist/esm/lib/test/testExtension.js +1 -1
- package/dist/esm/lib/test/testExtension.js.map +1 -1
- package/dist/esm/lib/test/utils/triageTestFailure.js.map +1 -1
- package/dist/esm/main.js +1 -1
- package/dist/esm/main.js.map +1 -1
- package/dist/esm/managers/AdminApiController.js.map +1 -1
- package/dist/esm/managers/DonobuFlow.d.ts.map +1 -1
- package/dist/esm/managers/DonobuFlow.js +4 -7
- package/dist/esm/managers/DonobuFlow.js.map +1 -1
- package/dist/esm/managers/DonobuFlowsManager.js.map +1 -1
- package/dist/esm/managers/InteractionVisualizer.d.ts.map +1 -1
- package/dist/esm/managers/InteractionVisualizer.js +4 -3
- package/dist/esm/managers/InteractionVisualizer.js.map +1 -1
- package/dist/esm/managers/PageInspector.d.ts +3 -6
- package/dist/esm/managers/PageInspector.d.ts.map +1 -1
- package/dist/esm/managers/PageInspector.js +5 -9
- package/dist/esm/managers/PageInspector.js.map +1 -1
- package/dist/esm/models/BrowserDevice.d.ts +8 -7
- package/dist/esm/models/BrowserDevice.d.ts.map +1 -1
- package/dist/esm/persistence/DonobuSqliteDb.js.map +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceAwsS3.d.ts +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceAwsS3.d.ts.map +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceAwsS3.js +5 -14
- package/dist/esm/persistence/flows/FlowsPersistenceAwsS3.js.map +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceFilesystem.d.ts +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceFilesystem.d.ts.map +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceFilesystem.js +2 -8
- package/dist/esm/persistence/flows/FlowsPersistenceFilesystem.js.map +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceGoogleCloudStorage.d.ts +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceGoogleCloudStorage.d.ts.map +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceGoogleCloudStorage.js +2 -8
- package/dist/esm/persistence/flows/FlowsPersistenceGoogleCloudStorage.js.map +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceSqlite.d.ts +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceSqlite.d.ts.map +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceSqlite.js +3 -9
- package/dist/esm/persistence/flows/FlowsPersistenceSqlite.js.map +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceSupabase.d.ts +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceSupabase.d.ts.map +1 -1
- package/dist/esm/persistence/flows/FlowsPersistenceSupabase.js +2 -8
- package/dist/esm/persistence/flows/FlowsPersistenceSupabase.js.map +1 -1
- package/dist/esm/tools/AssertPageTool.js +1 -1
- package/dist/esm/tools/AssertPageTool.js.map +1 -1
- package/dist/esm/tools/ClickTool.d.ts.map +1 -1
- package/dist/esm/tools/ClickTool.js +1 -1
- package/dist/esm/tools/ClickTool.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/RememberPageTextTool.js +1 -1
- package/dist/esm/tools/RememberPageTextTool.js.map +1 -1
- package/dist/esm/tools/ReplayableInteraction.d.ts.map +1 -1
- package/dist/esm/tools/ReplayableInteraction.js +17 -14
- package/dist/esm/tools/ReplayableInteraction.js.map +1 -1
- package/dist/esm/tools/SolveMfaChallenge.js +3 -3
- package/dist/esm/tools/SolveMfaChallenge.js.map +1 -1
- package/dist/esm/utils/BrowserUtils.d.ts +2 -2
- package/dist/esm/utils/BrowserUtils.d.ts.map +1 -1
- package/dist/esm/utils/BrowserUtils.js +25 -5
- package/dist/esm/utils/BrowserUtils.js.map +1 -1
- package/dist/esm/utils/JsonUtils.d.ts +1 -66
- package/dist/esm/utils/JsonUtils.d.ts.map +1 -1
- package/dist/esm/utils/JsonUtils.js +1 -85
- package/dist/esm/utils/JsonUtils.js.map +1 -1
- package/dist/esm/utils/Logger.d.ts.map +1 -1
- package/dist/esm/utils/Logger.js +0 -1
- package/dist/esm/utils/Logger.js.map +1 -1
- package/dist/esm/utils/MiscUtils.d.ts +4 -3
- package/dist/esm/utils/MiscUtils.d.ts.map +1 -1
- package/dist/esm/utils/MiscUtils.js +10 -6
- package/dist/esm/utils/MiscUtils.js.map +1 -1
- package/dist/esm/utils/PlaywrightUtils.d.ts +0 -19
- package/dist/esm/utils/PlaywrightUtils.d.ts.map +1 -1
- package/dist/esm/utils/PlaywrightUtils.js +8 -26
- package/dist/esm/utils/PlaywrightUtils.js.map +1 -1
- package/dist/esm/utils/TemplateInterpolator.js +1 -1
- package/dist/esm/utils/TemplateInterpolator.js.map +1 -1
- package/dist/init.js +2 -2
- package/dist/init.js.map +1 -1
- package/dist/lib/ai/cache/cache.js.map +1 -1
- package/dist/lib/page/SmartSelector.js.map +1 -1
- package/dist/lib/page/extendPage.js +1 -1
- package/dist/lib/page/extendPage.js.map +1 -1
- package/dist/lib/test/testExtension.js +1 -1
- package/dist/lib/test/testExtension.js.map +1 -1
- package/dist/lib/test/utils/triageTestFailure.js.map +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/managers/AdminApiController.js.map +1 -1
- package/dist/managers/DonobuFlow.d.ts.map +1 -1
- package/dist/managers/DonobuFlow.js +4 -7
- package/dist/managers/DonobuFlow.js.map +1 -1
- package/dist/managers/DonobuFlowsManager.js.map +1 -1
- package/dist/managers/InteractionVisualizer.d.ts.map +1 -1
- package/dist/managers/InteractionVisualizer.js +4 -3
- package/dist/managers/InteractionVisualizer.js.map +1 -1
- package/dist/managers/PageInspector.d.ts +3 -6
- package/dist/managers/PageInspector.d.ts.map +1 -1
- package/dist/managers/PageInspector.js +5 -9
- package/dist/managers/PageInspector.js.map +1 -1
- package/dist/models/BrowserDevice.d.ts +8 -7
- package/dist/models/BrowserDevice.d.ts.map +1 -1
- package/dist/persistence/DonobuSqliteDb.js.map +1 -1
- package/dist/persistence/flows/FlowsPersistenceAwsS3.d.ts +1 -1
- package/dist/persistence/flows/FlowsPersistenceAwsS3.d.ts.map +1 -1
- package/dist/persistence/flows/FlowsPersistenceAwsS3.js +5 -14
- package/dist/persistence/flows/FlowsPersistenceAwsS3.js.map +1 -1
- package/dist/persistence/flows/FlowsPersistenceFilesystem.d.ts +1 -1
- package/dist/persistence/flows/FlowsPersistenceFilesystem.d.ts.map +1 -1
- package/dist/persistence/flows/FlowsPersistenceFilesystem.js +2 -8
- package/dist/persistence/flows/FlowsPersistenceFilesystem.js.map +1 -1
- package/dist/persistence/flows/FlowsPersistenceGoogleCloudStorage.d.ts +1 -1
- package/dist/persistence/flows/FlowsPersistenceGoogleCloudStorage.d.ts.map +1 -1
- package/dist/persistence/flows/FlowsPersistenceGoogleCloudStorage.js +2 -8
- package/dist/persistence/flows/FlowsPersistenceGoogleCloudStorage.js.map +1 -1
- package/dist/persistence/flows/FlowsPersistenceSqlite.d.ts +1 -1
- package/dist/persistence/flows/FlowsPersistenceSqlite.d.ts.map +1 -1
- package/dist/persistence/flows/FlowsPersistenceSqlite.js +3 -9
- package/dist/persistence/flows/FlowsPersistenceSqlite.js.map +1 -1
- package/dist/persistence/flows/FlowsPersistenceSupabase.d.ts +1 -1
- package/dist/persistence/flows/FlowsPersistenceSupabase.d.ts.map +1 -1
- package/dist/persistence/flows/FlowsPersistenceSupabase.js +2 -8
- package/dist/persistence/flows/FlowsPersistenceSupabase.js.map +1 -1
- package/dist/tools/AssertPageTool.js +1 -1
- package/dist/tools/AssertPageTool.js.map +1 -1
- package/dist/tools/ClickTool.d.ts.map +1 -1
- package/dist/tools/ClickTool.js +1 -1
- package/dist/tools/ClickTool.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/RememberPageTextTool.js +1 -1
- package/dist/tools/RememberPageTextTool.js.map +1 -1
- package/dist/tools/ReplayableInteraction.d.ts.map +1 -1
- package/dist/tools/ReplayableInteraction.js +17 -14
- package/dist/tools/ReplayableInteraction.js.map +1 -1
- package/dist/tools/SolveMfaChallenge.js +3 -3
- package/dist/tools/SolveMfaChallenge.js.map +1 -1
- package/dist/utils/BrowserUtils.d.ts +2 -2
- package/dist/utils/BrowserUtils.d.ts.map +1 -1
- package/dist/utils/BrowserUtils.js +25 -5
- package/dist/utils/BrowserUtils.js.map +1 -1
- package/dist/utils/JsonUtils.d.ts +1 -66
- package/dist/utils/JsonUtils.d.ts.map +1 -1
- package/dist/utils/JsonUtils.js +1 -85
- package/dist/utils/JsonUtils.js.map +1 -1
- package/dist/utils/Logger.d.ts.map +1 -1
- package/dist/utils/Logger.js +0 -1
- package/dist/utils/Logger.js.map +1 -1
- package/dist/utils/MiscUtils.d.ts +4 -3
- package/dist/utils/MiscUtils.d.ts.map +1 -1
- package/dist/utils/MiscUtils.js +10 -6
- package/dist/utils/MiscUtils.js.map +1 -1
- package/dist/utils/PlaywrightUtils.d.ts +0 -19
- package/dist/utils/PlaywrightUtils.d.ts.map +1 -1
- package/dist/utils/PlaywrightUtils.js +8 -26
- package/dist/utils/PlaywrightUtils.js.map +1 -1
- package/dist/utils/TemplateInterpolator.js +1 -1
- package/dist/utils/TemplateInterpolator.js.map +1 -1
- package/package.json +3 -3
- package/dist/assets/devices.json +0 -1419
- package/dist/assets/dialog-prompt-tracker.js +0 -20
- package/dist/assets/donobu-namespace.js +0 -54
- package/dist/assets/interactive-elements-tracker.js +0 -473
- package/dist/assets/page-interactions-tracker.js +0 -104
- package/dist/assets/smart-selector-generator.js +0 -946
- package/dist/bindings/ProposeToolCall.d.ts +0 -20
- package/dist/bindings/ProposeToolCall.d.ts.map +0 -1
- package/dist/bindings/ProposeToolCall.js +0 -54
- package/dist/bindings/ProposeToolCall.js.map +0 -1
- package/dist/esm/assets/devices.json +0 -1419
- package/dist/esm/assets/dialog-prompt-tracker.js +0 -20
- package/dist/esm/assets/donobu-namespace.js +0 -54
- package/dist/esm/assets/interactive-elements-tracker.js +0 -473
- package/dist/esm/assets/page-interactions-tracker.js +0 -104
- package/dist/esm/assets/smart-selector-generator.js +0 -946
- package/dist/esm/bindings/ProposeToolCall.d.ts +0 -20
- package/dist/esm/bindings/ProposeToolCall.d.ts.map +0 -1
- package/dist/esm/bindings/ProposeToolCall.js +0 -54
- package/dist/esm/bindings/ProposeToolCall.js.map +0 -1
- package/dist/esm/utils/ToolPluginLoader.d.ts +0 -2
- package/dist/esm/utils/ToolPluginLoader.d.ts.map +0 -1
- package/dist/esm/utils/ToolPluginLoader.js +0 -4
- package/dist/esm/utils/ToolPluginLoader.js.map +0 -1
- package/dist/utils/ToolPluginLoader.d.ts +0 -2
- package/dist/utils/ToolPluginLoader.d.ts.map +0 -1
- package/dist/utils/ToolPluginLoader.js +0 -4
- package/dist/utils/ToolPluginLoader.js.map +0 -1
|
@@ -2,11 +2,6 @@ import type { BrowserContext, Frame, Page } from 'playwright';
|
|
|
2
2
|
import { z } from 'zod/v4';
|
|
3
3
|
import type { DonobuFlow } from '../managers/DonobuFlow';
|
|
4
4
|
import type { NamedBindingCallback } from './NamedBindingCallback';
|
|
5
|
-
declare global {
|
|
6
|
-
interface Window {
|
|
7
|
-
[PageInteractionTracker.NAME]: (event: InteractionEvent) => Promise<void>;
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
5
|
/**
|
|
11
6
|
* Zod schema for validating InteractionEvent objects.
|
|
12
7
|
*/
|
|
@@ -14,6 +9,15 @@ export declare const InteractionEventSchema: z.ZodObject<{
|
|
|
14
9
|
type: z.ZodString;
|
|
15
10
|
key: z.ZodOptional<z.ZodString>;
|
|
16
11
|
selectors: z.ZodArray<z.ZodString>;
|
|
12
|
+
timestamp: z.ZodNumber;
|
|
13
|
+
x: z.ZodOptional<z.ZodNumber>;
|
|
14
|
+
y: z.ZodOptional<z.ZodNumber>;
|
|
15
|
+
dragDistance: z.ZodOptional<z.ZodNumber>;
|
|
16
|
+
keyCode: z.ZodOptional<z.ZodInt>;
|
|
17
|
+
altKey: z.ZodOptional<z.ZodBoolean>;
|
|
18
|
+
ctrlKey: z.ZodOptional<z.ZodBoolean>;
|
|
19
|
+
metaKey: z.ZodOptional<z.ZodBoolean>;
|
|
20
|
+
shiftKey: z.ZodOptional<z.ZodBoolean>;
|
|
17
21
|
}, z.core.$strip>;
|
|
18
22
|
/**
|
|
19
23
|
* TypeScript type inferred from the Zod schema.
|
|
@@ -26,7 +30,6 @@ export type InteractionEvent = z.infer<typeof InteractionEventSchema>;
|
|
|
26
30
|
*/
|
|
27
31
|
export declare class PageInteractionTracker implements NamedBindingCallback {
|
|
28
32
|
private readonly donobuFlow;
|
|
29
|
-
private static readonly INIT_SCRIPT;
|
|
30
33
|
static readonly NAME = "__donobuTrackInteraction";
|
|
31
34
|
static register(donobuFlow: DonobuFlow, browserContext: BrowserContext): Promise<PageInteractionTracker>;
|
|
32
35
|
private constructor();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageInteractionTracker.d.ts","sourceRoot":"","sources":["../../src/bindings/PageInteractionTracker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PageInteractionTracker.d.ts","sourceRoot":"","sources":["../../src/bindings/PageInteractionTracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAK3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAezD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;iBAgBjC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;GAIG;AACH,qBAAa,sBAAuB,YAAW,oBAAoB;IAsC7C,OAAO,CAAC,QAAQ,CAAC,UAAU;IApC/C,gBAAuB,IAAI,8BAA8B;WAErC,QAAQ,CAC1B,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IA+BlC,OAAO;IAEA,IAAI,IAAI,MAAM;IAIrB;;;;;OAKG;IACU,IAAI,CACf,MAAM,EAAE;QAAE,OAAO,EAAE,cAAc,CAAC;QAAC,IAAI,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,EAC7D,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,IAAI,CAAC;YAaF,uBAAuB;YAiBvB,WAAW;YA+BX,aAAa;YAiHb,sBAAsB;IAsBpC,OAAO,CAAC,6BAA6B;YAoCvB,kBAAkB;CAOjC"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.PageInteractionTracker = exports.InteractionEventSchema = void 0;
|
|
7
|
-
const path_1 = __importDefault(require("path"));
|
|
8
4
|
const v4_1 = require("zod/v4");
|
|
5
|
+
const donobu_namespace_1 = require("../browser-side-scripts/donobu-namespace");
|
|
6
|
+
const page_interactions_tracker_1 = require("../browser-side-scripts/page-interactions-tracker");
|
|
7
|
+
const smart_selector_generator_1 = require("../browser-side-scripts/smart-selector-generator");
|
|
9
8
|
const ClickTool_1 = require("../tools/ClickTool");
|
|
10
9
|
const InputTextTool_1 = require("../tools/InputTextTool");
|
|
11
10
|
const PressKeyTool_1 = require("../tools/PressKeyTool");
|
|
@@ -23,6 +22,15 @@ exports.InteractionEventSchema = v4_1.z.object({
|
|
|
23
22
|
key: v4_1.z.string().optional(),
|
|
24
23
|
// Array of CSS/Xpath selectors representing the target element involved
|
|
25
24
|
selectors: v4_1.z.array(v4_1.z.string()),
|
|
25
|
+
timestamp: v4_1.z.number(),
|
|
26
|
+
x: v4_1.z.number().optional(),
|
|
27
|
+
y: v4_1.z.number().optional(),
|
|
28
|
+
dragDistance: v4_1.z.number().optional(),
|
|
29
|
+
keyCode: v4_1.z.int().optional(),
|
|
30
|
+
altKey: v4_1.z.boolean().optional(),
|
|
31
|
+
ctrlKey: v4_1.z.boolean().optional(),
|
|
32
|
+
metaKey: v4_1.z.boolean().optional(),
|
|
33
|
+
shiftKey: v4_1.z.boolean().optional(),
|
|
26
34
|
});
|
|
27
35
|
/**
|
|
28
36
|
* Tracks direct user actions that have occurred in the web browser.
|
|
@@ -34,16 +42,16 @@ class PageInteractionTracker {
|
|
|
34
42
|
const instance = new PageInteractionTracker(donobuFlow);
|
|
35
43
|
try {
|
|
36
44
|
await browserContext.exposeBinding(instance.name(), instance.call.bind(instance));
|
|
37
|
-
await browserContext.addInitScript(
|
|
38
|
-
await browserContext.addInitScript(
|
|
45
|
+
await browserContext.addInitScript(donobu_namespace_1.installDonobuNamespace);
|
|
46
|
+
await browserContext.addInitScript(smart_selector_generator_1.installSmartSelectorGenerator);
|
|
39
47
|
browserContext.on('page', async (page) => {
|
|
40
48
|
page.on('framenavigated', async (frame) => {
|
|
41
49
|
try {
|
|
42
|
-
await frame.evaluate(
|
|
50
|
+
await frame.evaluate(page_interactions_tracker_1.installPageInteractionsTracker);
|
|
43
51
|
}
|
|
44
52
|
catch (error) {
|
|
45
53
|
if (!PlaywrightUtils_1.PlaywrightUtils.isPageClosedError(error)) {
|
|
46
|
-
Logger_1.appLogger.error('Error when evaluating
|
|
54
|
+
Logger_1.appLogger.error('Error when evaluating installPageInteractionsTracker', error);
|
|
47
55
|
}
|
|
48
56
|
}
|
|
49
57
|
});
|
|
@@ -239,7 +247,6 @@ class PageInteractionTracker {
|
|
|
239
247
|
}
|
|
240
248
|
}
|
|
241
249
|
exports.PageInteractionTracker = PageInteractionTracker;
|
|
242
|
-
|
|
243
|
-
// If this name is updated, the init script must also be updated.
|
|
250
|
+
// If this name is updated, the installPageInteractionsTracker script must also be updated.
|
|
244
251
|
PageInteractionTracker.NAME = '__donobuTrackInteraction';
|
|
245
252
|
//# sourceMappingURL=PageInteractionTracker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageInteractionTracker.js","sourceRoot":"","sources":["../../src/bindings/PageInteractionTracker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PageInteractionTracker.js","sourceRoot":"","sources":["../../src/bindings/PageInteractionTracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code intended to run as an initialization script for `DonobuFlow` flows.
|
|
3
|
+
* This script helps flows handle/track prompts/confirmations.
|
|
4
|
+
* This is done specially since these browser actions pause the Javascript
|
|
5
|
+
* main thread and also cause issues with running various Playwright actions.
|
|
6
|
+
* See `DonobuFlow.onDialog(Dialog)` for details.
|
|
7
|
+
*/
|
|
8
|
+
export declare function installDialogPromptTracker(): void;
|
|
9
|
+
//# sourceMappingURL=dialog-prompt-tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog-prompt-tracker.d.ts","sourceRoot":"","sources":["../../src/browser-side-scripts/dialog-prompt-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAsCjD"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.installDialogPromptTracker = installDialogPromptTracker;
|
|
4
|
+
/**
|
|
5
|
+
* Code intended to run as an initialization script for `DonobuFlow` flows.
|
|
6
|
+
* This script helps flows handle/track prompts/confirmations.
|
|
7
|
+
* This is done specially since these browser actions pause the Javascript
|
|
8
|
+
* main thread and also cause issues with running various Playwright actions.
|
|
9
|
+
* See `DonobuFlow.onDialog(Dialog)` for details.
|
|
10
|
+
*/
|
|
11
|
+
function installDialogPromptTracker() {
|
|
12
|
+
const donobuNamespace = window.__donobu;
|
|
13
|
+
if (donobuNamespace?.dialogPromptTrackerInstalled) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
else if (!donobuNamespace) {
|
|
17
|
+
throw new Error('[Donobu] __donobu namespace missing; dialog-prompt-tracker cannot initialize.');
|
|
18
|
+
}
|
|
19
|
+
const donobuMagicString = 'DONOBU_DIALOG_RESPONSE';
|
|
20
|
+
const originalConsoleLog = window.console.log;
|
|
21
|
+
const originalPrompt = window.prompt.bind(window);
|
|
22
|
+
const originalConfirm = window.confirm.bind(window);
|
|
23
|
+
// Overwrite the global prompt function.
|
|
24
|
+
window.prompt = (message, defaultValue) => {
|
|
25
|
+
const response = originalPrompt(message, defaultValue);
|
|
26
|
+
originalConsoleLog(donobuMagicString, response);
|
|
27
|
+
originalConsoleLog('prompt response: ' + response);
|
|
28
|
+
return response;
|
|
29
|
+
};
|
|
30
|
+
// Overwrite the global confirm function.
|
|
31
|
+
window.confirm = (message) => {
|
|
32
|
+
const response = originalConfirm(message);
|
|
33
|
+
originalConsoleLog(donobuMagicString, response);
|
|
34
|
+
originalConsoleLog('prompt response: ' + response);
|
|
35
|
+
return response;
|
|
36
|
+
};
|
|
37
|
+
Object.defineProperty(donobuNamespace, 'dialogPromptTrackerInstalled', {
|
|
38
|
+
value: true,
|
|
39
|
+
enumerable: false,
|
|
40
|
+
writable: false,
|
|
41
|
+
configurable: false,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=dialog-prompt-tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog-prompt-tracker.js","sourceRoot":"","sources":["../../src/browser-side-scripts/dialog-prompt-tracker.ts"],"names":[],"mappings":";;AAOA,gEAsCC;AA7CD;;;;;;GAMG;AACH,SAAgB,0BAA0B;IACxC,MAAM,eAAe,GAAG,MAAM,CAAC,QAElB,CAAC;IAEd,IAAI,eAAe,EAAE,4BAA4B,EAAE,CAAC;QAClD,OAAO;IACT,CAAC;SAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;IACJ,CAAC;IAED,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;IACnD,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;IAC9C,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,wCAAwC;IACxC,MAAM,CAAC,MAAM,GAAG,CAAC,OAAgB,EAAE,YAAqB,EAAE,EAAE;QAC1D,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACvD,kBAAkB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAChD,kBAAkB,CAAC,mBAAmB,GAAG,QAAQ,CAAC,CAAC;QACnD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IACF,yCAAyC;IACzC,MAAM,CAAC,OAAO,GAAG,CAAC,OAAgB,EAAE,EAAE;QACpC,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QAC1C,kBAAkB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAChD,kBAAkB,CAAC,mBAAmB,GAAG,QAAQ,CAAC,CAAC;QACnD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE,8BAA8B,EAAE;QACrE,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"donobu-namespace.d.ts","sourceRoot":"","sources":["../../src/browser-side-scripts/donobu-namespace.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAiD7C"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.installDonobuNamespace = installDonobuNamespace;
|
|
4
|
+
/**
|
|
5
|
+
* Ensures the shared Donobu namespace exists exactly once as a non-writable,
|
|
6
|
+
* non-configurable data property on window.
|
|
7
|
+
*/
|
|
8
|
+
function installDonobuNamespace() {
|
|
9
|
+
const DONOBU_KEY = '__donobu';
|
|
10
|
+
const existing = Object.getOwnPropertyDescriptor(window, DONOBU_KEY);
|
|
11
|
+
if (!existing) {
|
|
12
|
+
Object.defineProperty(window, DONOBU_KEY, {
|
|
13
|
+
value: Object.create(null),
|
|
14
|
+
enumerable: false,
|
|
15
|
+
writable: false,
|
|
16
|
+
configurable: false,
|
|
17
|
+
});
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
// Leave already locked-down data properties alone.
|
|
21
|
+
if (!existing.configurable &&
|
|
22
|
+
existing.writable === false &&
|
|
23
|
+
'value' in existing) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
if (!existing.configurable) {
|
|
27
|
+
// If the property is non-configurable but still writable, tighten it without
|
|
28
|
+
// changing other immutable attributes such as enumerability.
|
|
29
|
+
if ('value' in existing && existing.writable) {
|
|
30
|
+
Object.defineProperty(window, DONOBU_KEY, {
|
|
31
|
+
value: existing.value ?? Object.create(null),
|
|
32
|
+
enumerable: existing.enumerable ?? false,
|
|
33
|
+
writable: false,
|
|
34
|
+
configurable: false,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
// For configurable or accessor properties, redefine with the expected shape.
|
|
40
|
+
const value = 'value' in existing && existing.value !== null
|
|
41
|
+
? existing.value
|
|
42
|
+
: Object.create(null);
|
|
43
|
+
Object.defineProperty(window, DONOBU_KEY, {
|
|
44
|
+
value,
|
|
45
|
+
enumerable: false,
|
|
46
|
+
writable: false,
|
|
47
|
+
configurable: false,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=donobu-namespace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"donobu-namespace.js","sourceRoot":"","sources":["../../src/browser-side-scripts/donobu-namespace.ts"],"names":[],"mappings":";;AAIA,wDAiDC;AArDD;;;GAGG;AACH,SAAgB,sBAAsB;IACpC,MAAM,UAAU,GAAG,UAAU,CAAC;IAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAErE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE;YACxC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YAC1B,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,mDAAmD;IACnD,IACE,CAAC,QAAQ,CAAC,YAAY;QACtB,QAAQ,CAAC,QAAQ,KAAK,KAAK;QAC3B,OAAO,IAAI,QAAQ,EACnB,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC3B,6EAA6E;QAC7E,6DAA6D;QAC7D,IAAI,OAAO,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC7C,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE;gBACxC,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC5C,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,KAAK;gBACxC,QAAQ,EAAE,KAAK;gBACf,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;QACL,CAAC;QACD,OAAO;IACT,CAAC;IAED,6EAA6E;IAC7E,MAAM,KAAK,GACT,OAAO,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI;QAC5C,CAAC,CAAC,QAAQ,CAAC,KAAK;QAChB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE1B,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE;QACxC,KAAK;QACL,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,KAAK;KACpB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactive-elements-tracker.d.ts","sourceRoot":"","sources":["../../src/browser-side-scripts/interactive-elements-tracker.ts"],"names":[],"mappings":"AAKA,wBAAgB,iCAAiC,IAAI,IAAI,CAmfxD"}
|