donobu 2.31.1 → 2.32.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.
Files changed (123) hide show
  1. package/dist/apis/GptConfigsApi.d.ts.map +1 -1
  2. package/dist/apis/GptConfigsApi.js +2 -0
  3. package/dist/apis/GptConfigsApi.js.map +1 -1
  4. package/dist/assets/generated/version +1 -1
  5. package/dist/assets/interactive-elements-tracker.js +81 -60
  6. package/dist/assets/page-interactions-tracker.js +15 -42
  7. package/dist/assets/smart-selector-generator.js +839 -259
  8. package/dist/bindings/PageInteractionTracker.d.ts +27 -1
  9. package/dist/bindings/PageInteractionTracker.d.ts.map +1 -1
  10. package/dist/bindings/PageInteractionTracker.js +172 -61
  11. package/dist/bindings/PageInteractionTracker.js.map +1 -1
  12. package/dist/esm/apis/GptConfigsApi.d.ts.map +1 -1
  13. package/dist/esm/apis/GptConfigsApi.js +2 -0
  14. package/dist/esm/apis/GptConfigsApi.js.map +1 -1
  15. package/dist/esm/assets/generated/version +1 -1
  16. package/dist/esm/assets/interactive-elements-tracker.js +81 -60
  17. package/dist/esm/assets/page-interactions-tracker.js +15 -42
  18. package/dist/esm/assets/smart-selector-generator.js +839 -259
  19. package/dist/esm/bindings/PageInteractionTracker.d.ts +27 -1
  20. package/dist/esm/bindings/PageInteractionTracker.d.ts.map +1 -1
  21. package/dist/esm/bindings/PageInteractionTracker.js +172 -61
  22. package/dist/esm/bindings/PageInteractionTracker.js.map +1 -1
  23. package/dist/esm/managers/AgentsManager.d.ts +9 -0
  24. package/dist/esm/managers/AgentsManager.d.ts.map +1 -1
  25. package/dist/esm/managers/AgentsManager.js +52 -0
  26. package/dist/esm/managers/AgentsManager.js.map +1 -1
  27. package/dist/esm/managers/CodeGenerator.d.ts.map +1 -1
  28. package/dist/esm/managers/CodeGenerator.js +1 -0
  29. package/dist/esm/managers/CodeGenerator.js.map +1 -1
  30. package/dist/esm/managers/DonobuFlow.d.ts +1 -0
  31. package/dist/esm/managers/DonobuFlow.d.ts.map +1 -1
  32. package/dist/esm/managers/DonobuFlow.js +8 -0
  33. package/dist/esm/managers/DonobuFlow.js.map +1 -1
  34. package/dist/esm/managers/PageInspector.d.ts.map +1 -1
  35. package/dist/esm/managers/PageInspector.js +77 -7
  36. package/dist/esm/managers/PageInspector.js.map +1 -1
  37. package/dist/esm/models/BrowserConfig.d.ts +56 -56
  38. package/dist/esm/models/CreateDonobuFlow.d.ts +48 -48
  39. package/dist/esm/models/FlowMetadata.d.ts +54 -54
  40. package/dist/esm/models/InteractableElement.d.ts +4 -3
  41. package/dist/esm/models/InteractableElement.d.ts.map +1 -1
  42. package/dist/esm/models/InteractableElement.js +9 -4
  43. package/dist/esm/models/InteractableElement.js.map +1 -1
  44. package/dist/esm/persistence/DonobuSqliteDb.d.ts.map +1 -1
  45. package/dist/esm/persistence/DonobuSqliteDb.js +44 -0
  46. package/dist/esm/persistence/DonobuSqliteDb.js.map +1 -1
  47. package/dist/esm/tools/InputRandomizedEmailAddressTool.d.ts +6 -6
  48. package/dist/esm/tools/InputTextTool.d.ts +9 -0
  49. package/dist/esm/tools/InputTextTool.d.ts.map +1 -1
  50. package/dist/esm/tools/InputTextTool.js +8 -2
  51. package/dist/esm/tools/InputTextTool.js.map +1 -1
  52. package/dist/esm/tools/PressKeyTool.d.ts.map +1 -1
  53. package/dist/esm/tools/PressKeyTool.js +8 -3
  54. package/dist/esm/tools/PressKeyTool.js.map +1 -1
  55. package/dist/esm/tools/ReplayableInteraction.d.ts.map +1 -1
  56. package/dist/esm/tools/ReplayableInteraction.js +14 -7
  57. package/dist/esm/tools/ReplayableInteraction.js.map +1 -1
  58. package/dist/esm/tools/RunAccessibilityTestTool.d.ts +0 -8
  59. package/dist/esm/tools/RunAccessibilityTestTool.d.ts.map +1 -1
  60. package/dist/esm/tools/RunAccessibilityTestTool.js +20 -38
  61. package/dist/esm/tools/RunAccessibilityTestTool.js.map +1 -1
  62. package/dist/esm/tools/ScrollPageTool.d.ts +52 -11
  63. package/dist/esm/tools/ScrollPageTool.d.ts.map +1 -1
  64. package/dist/esm/tools/ScrollPageTool.js +63 -57
  65. package/dist/esm/tools/ScrollPageTool.js.map +1 -1
  66. package/dist/esm/tools/TriggerDonobuFlowTool.d.ts +116 -116
  67. package/dist/esm/utils/BrowserUtils.js +1 -1
  68. package/dist/esm/utils/BrowserUtils.js.map +1 -1
  69. package/dist/esm/utils/PlaywrightUtils.d.ts.map +1 -1
  70. package/dist/esm/utils/PlaywrightUtils.js +0 -2
  71. package/dist/esm/utils/PlaywrightUtils.js.map +1 -1
  72. package/dist/managers/AgentsManager.d.ts +9 -0
  73. package/dist/managers/AgentsManager.d.ts.map +1 -1
  74. package/dist/managers/AgentsManager.js +52 -0
  75. package/dist/managers/AgentsManager.js.map +1 -1
  76. package/dist/managers/CodeGenerator.d.ts.map +1 -1
  77. package/dist/managers/CodeGenerator.js +1 -0
  78. package/dist/managers/CodeGenerator.js.map +1 -1
  79. package/dist/managers/DonobuFlow.d.ts +1 -0
  80. package/dist/managers/DonobuFlow.d.ts.map +1 -1
  81. package/dist/managers/DonobuFlow.js +8 -0
  82. package/dist/managers/DonobuFlow.js.map +1 -1
  83. package/dist/managers/PageInspector.d.ts.map +1 -1
  84. package/dist/managers/PageInspector.js +77 -7
  85. package/dist/managers/PageInspector.js.map +1 -1
  86. package/dist/models/BrowserConfig.d.ts +56 -56
  87. package/dist/models/CreateDonobuFlow.d.ts +48 -48
  88. package/dist/models/FlowMetadata.d.ts +54 -54
  89. package/dist/models/InteractableElement.d.ts +4 -3
  90. package/dist/models/InteractableElement.d.ts.map +1 -1
  91. package/dist/models/InteractableElement.js +9 -4
  92. package/dist/models/InteractableElement.js.map +1 -1
  93. package/dist/persistence/DonobuSqliteDb.d.ts.map +1 -1
  94. package/dist/persistence/DonobuSqliteDb.js +44 -0
  95. package/dist/persistence/DonobuSqliteDb.js.map +1 -1
  96. package/dist/tools/InputRandomizedEmailAddressTool.d.ts +6 -6
  97. package/dist/tools/InputTextTool.d.ts +9 -0
  98. package/dist/tools/InputTextTool.d.ts.map +1 -1
  99. package/dist/tools/InputTextTool.js +8 -2
  100. package/dist/tools/InputTextTool.js.map +1 -1
  101. package/dist/tools/PressKeyTool.d.ts.map +1 -1
  102. package/dist/tools/PressKeyTool.js +8 -3
  103. package/dist/tools/PressKeyTool.js.map +1 -1
  104. package/dist/tools/ReplayableInteraction.d.ts.map +1 -1
  105. package/dist/tools/ReplayableInteraction.js +14 -7
  106. package/dist/tools/ReplayableInteraction.js.map +1 -1
  107. package/dist/tools/RunAccessibilityTestTool.d.ts +0 -8
  108. package/dist/tools/RunAccessibilityTestTool.d.ts.map +1 -1
  109. package/dist/tools/RunAccessibilityTestTool.js +20 -38
  110. package/dist/tools/RunAccessibilityTestTool.js.map +1 -1
  111. package/dist/tools/ScrollPageTool.d.ts +52 -11
  112. package/dist/tools/ScrollPageTool.d.ts.map +1 -1
  113. package/dist/tools/ScrollPageTool.js +63 -57
  114. package/dist/tools/ScrollPageTool.js.map +1 -1
  115. package/dist/tools/TriggerDonobuFlowTool.d.ts +116 -116
  116. package/dist/utils/BrowserUtils.js +1 -1
  117. package/dist/utils/BrowserUtils.js.map +1 -1
  118. package/dist/utils/PlaywrightUtils.d.ts.map +1 -1
  119. package/dist/utils/PlaywrightUtils.js +0 -2
  120. package/dist/utils/PlaywrightUtils.js.map +1 -1
  121. package/package.json +2 -1
  122. package/dist/assets/axe.js +0 -47397
  123. package/dist/esm/assets/axe.js +0 -47397
@@ -1,29 +1,70 @@
1
- import { Tool } from './Tool';
1
+ import { Locator } from 'playwright';
2
2
  import { ToolCallContext } from '../models/ToolCallContext';
3
- import { ToolCallResult } from '../models/ToolCallResult';
3
+ import { ReplayableInteraction } from './ReplayableInteraction';
4
4
  import { z } from 'zod';
5
5
  export declare const ScrollPageCoreSchema: z.ZodObject<{
6
- direction: z.ZodEnum<["UP", "DOWN"]>;
6
+ direction: z.ZodEnum<["UP", "DOWN", "LEFT", "RIGHT"]>;
7
+ maxScroll: z.ZodOptional<z.ZodBoolean>;
7
8
  }, "strip", z.ZodTypeAny, {
8
- direction: "UP" | "DOWN";
9
+ direction: "UP" | "DOWN" | "LEFT" | "RIGHT";
10
+ maxScroll?: boolean | undefined;
9
11
  }, {
10
- direction: "UP" | "DOWN";
12
+ direction: "UP" | "DOWN" | "LEFT" | "RIGHT";
13
+ maxScroll?: boolean | undefined;
14
+ }>;
15
+ export declare const ScrollPageNonGptSchema: z.ZodObject<{
16
+ selector: z.ZodObject<{
17
+ element: z.ZodArray<z.ZodString, "many">;
18
+ frame: z.ZodNullable<z.ZodString>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ frame: string | null;
21
+ element: string[];
22
+ }, {
23
+ frame: string | null;
24
+ element: string[];
25
+ }>;
26
+ } & {
27
+ direction: z.ZodEnum<["UP", "DOWN", "LEFT", "RIGHT"]>;
28
+ maxScroll: z.ZodOptional<z.ZodBoolean>;
29
+ }, "strip", z.ZodTypeAny, {
30
+ selector: {
31
+ frame: string | null;
32
+ element: string[];
33
+ };
34
+ direction: "UP" | "DOWN" | "LEFT" | "RIGHT";
35
+ maxScroll?: boolean | undefined;
36
+ }, {
37
+ selector: {
38
+ frame: string | null;
39
+ element: string[];
40
+ };
41
+ direction: "UP" | "DOWN" | "LEFT" | "RIGHT";
42
+ maxScroll?: boolean | undefined;
11
43
  }>;
12
44
  export declare const ScrollPageGptSchema: z.ZodObject<{
13
45
  rationale: z.ZodString;
14
46
  } & {
15
- direction: z.ZodEnum<["UP", "DOWN"]>;
47
+ whyThisAnnotation: z.ZodString;
48
+ annotation: z.ZodString;
49
+ } & {
50
+ direction: z.ZodEnum<["UP", "DOWN", "LEFT", "RIGHT"]>;
51
+ maxScroll: z.ZodOptional<z.ZodBoolean>;
16
52
  }, "strip", z.ZodTypeAny, {
53
+ annotation: string;
17
54
  rationale: string;
18
- direction: "UP" | "DOWN";
55
+ whyThisAnnotation: string;
56
+ direction: "UP" | "DOWN" | "LEFT" | "RIGHT";
57
+ maxScroll?: boolean | undefined;
19
58
  }, {
59
+ annotation: string;
20
60
  rationale: string;
21
- direction: "UP" | "DOWN";
61
+ whyThisAnnotation: string;
62
+ direction: "UP" | "DOWN" | "LEFT" | "RIGHT";
63
+ maxScroll?: boolean | undefined;
22
64
  }>;
23
- export declare class ScrollPageTool extends Tool<typeof ScrollPageCoreSchema, typeof ScrollPageGptSchema> {
65
+ export declare class ScrollPageTool extends ReplayableInteraction<typeof ScrollPageCoreSchema, typeof ScrollPageNonGptSchema, typeof ScrollPageGptSchema> {
24
66
  static readonly NAME = "scrollPage";
25
67
  constructor();
26
- call(context: ToolCallContext, parameters: z.infer<typeof ScrollPageCoreSchema>): Promise<ToolCallResult>;
27
- callFromGpt(context: ToolCallContext, parameters: z.infer<typeof ScrollPageGptSchema>): Promise<ToolCallResult>;
68
+ invoke(_context: ToolCallContext, parameters: z.infer<typeof ScrollPageCoreSchema>, element: Locator): Promise<string>;
28
69
  }
29
70
  //# sourceMappingURL=ScrollPageTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollPageTool.d.ts","sourceRoot":"","sources":["../../src/tools/ScrollPageTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB;;;;;;EAI/B,CAAC;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;EACe,CAAC;AAEhD,qBAAa,cAAe,SAAQ,IAAI,CACtC,OAAO,oBAAoB,EAC3B,OAAO,mBAAmB,CAC3B;IACC,gBAAuB,IAAI,gBAAgB;;IAYrB,IAAI,CACxB,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,GAC/C,OAAO,CAAC,cAAc,CAAC;IA+DJ,WAAW,CAC/B,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,GAC9C,OAAO,CAAC,cAAc,CAAC;CAG3B"}
1
+ {"version":3,"file":"ScrollPageTool.d.ts","sourceRoot":"","sources":["../../src/tools/ScrollPageTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAEL,qBAAqB,EAEtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB;;;;;;;;;EAW/B,CAAC;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;EACc,CAAC;AAElD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;EACmB,CAAC;AAEpD,qBAAa,cAAe,SAAQ,qBAAqB,CACvD,OAAO,oBAAoB,EAC3B,OAAO,sBAAsB,EAC7B,OAAO,mBAAmB,CAC3B;IACC,gBAAuB,IAAI,gBAAgB;;IAarC,MAAM,CACV,QAAQ,EAAE,eAAe,EACzB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,EAChD,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,MAAM,CAAC;CAsDnB"}
@@ -1,70 +1,76 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ScrollPageTool = exports.ScrollPageGptSchema = exports.ScrollPageCoreSchema = void 0;
4
- const Tool_1 = require("./Tool");
5
- const ToolSchema_1 = require("../models/ToolSchema");
3
+ exports.ScrollPageTool = exports.ScrollPageGptSchema = exports.ScrollPageNonGptSchema = exports.ScrollPageCoreSchema = void 0;
4
+ const ReplayableInteraction_1 = require("./ReplayableInteraction");
6
5
  const zod_1 = require("zod");
7
6
  exports.ScrollPageCoreSchema = zod_1.z.object({
8
7
  direction: zod_1.z
9
- .enum(['UP', 'DOWN'])
10
- .describe('The direction to scroll - either UP or DOWN'),
8
+ .enum(['UP', 'DOWN', 'LEFT', 'RIGHT'])
9
+ .describe('The direction to scroll'),
10
+ maxScroll: zod_1.z
11
+ .boolean()
12
+ .optional()
13
+ .describe(`Optional. Set to true if the page or element should be scrolled maximally in the given direction.
14
+ If not specified, the page or element will scroll no more than a viewport's worth.`),
11
15
  });
12
- exports.ScrollPageGptSchema = ToolSchema_1.BaseGptArgsSchema.merge(exports.ScrollPageCoreSchema);
13
- class ScrollPageTool extends Tool_1.Tool {
16
+ exports.ScrollPageNonGptSchema = ReplayableInteraction_1.SelectorBasedSchema.merge(exports.ScrollPageCoreSchema);
17
+ exports.ScrollPageGptSchema = ReplayableInteraction_1.AnnotationBasedSchema.merge(exports.ScrollPageCoreSchema);
18
+ class ScrollPageTool extends ReplayableInteraction_1.ReplayableInteraction {
14
19
  constructor() {
15
- super(ScrollPageTool.NAME, `Scroll the current page up or down by one viewport. This helps you see more of the
16
- current page, of which may contain relevant information below the fold.`, exports.ScrollPageCoreSchema, exports.ScrollPageGptSchema);
20
+ super(ScrollPageTool.NAME, `Scroll the current page or element. This helps you see more of the
21
+ current page or element, of which may contain relevant information.`, exports.ScrollPageCoreSchema, exports.ScrollPageNonGptSchema, exports.ScrollPageGptSchema);
17
22
  }
18
- async call(context, parameters) {
19
- const page = context.page.current;
20
- // compute scroll distance = one viewport height
21
- const distance = await page.evaluate(() => window.innerHeight);
22
- // 1) Try scrolling the top‐level window
23
- const windowScrolled = await page.evaluate((dy) => {
24
- const before = window.scrollY;
25
- window.scrollBy(0, dy);
26
- return window.scrollY !== before;
27
- }, parameters.direction === 'DOWN' ? distance : -distance);
28
- let didScroll = windowScrolled;
29
- // 2) If the window didn’t move, scroll the largest scrollable element
30
- if (!windowScrolled) {
31
- const fallbackScrolled = await page.evaluate((dy) => {
32
- // find all scrollable elements
33
- const els = Array.from(document.querySelectorAll('*'))
34
- .filter((el) => {
35
- const style = getComputedStyle(el);
36
- const ovY = style.overflowY;
37
- return ((ovY === 'scroll' || ovY === 'auto') &&
38
- el.scrollHeight > el.clientHeight);
39
- })
40
- // sort by visible area descending
41
- .map((el) => ({ el, area: el.clientWidth * el.clientHeight }))
42
- .sort((a, b) => b.area - a.area);
43
- if (els.length === 0) {
44
- return false;
23
+ async invoke(_context, parameters, element) {
24
+ await element.hover();
25
+ const didScroll = await element.evaluate((el, parameters) => {
26
+ const beforeY = el.scrollTop;
27
+ const beforeX = el.scrollLeft;
28
+ if (parameters.maxScroll) {
29
+ /* Jump straight to the edge */
30
+ switch (parameters.direction) {
31
+ case 'UP':
32
+ el.scrollTop = 0;
33
+ break;
34
+ case 'DOWN':
35
+ el.scrollTop = el.scrollHeight;
36
+ break;
37
+ case 'LEFT':
38
+ el.scrollLeft = 0;
39
+ break;
40
+ case 'RIGHT':
41
+ el.scrollLeft = el.scrollWidth;
42
+ break;
45
43
  }
46
- // scroll the largest one
47
- const target = els[0].el;
48
- const before = target.scrollTop;
49
- target.scrollTop += dy;
50
- return target.scrollTop !== before;
51
- }, parameters.direction === 'DOWN' ? distance : -distance);
52
- didScroll = fallbackScrolled;
53
- }
54
- return didScroll
55
- ? {
56
- isSuccessful: true,
57
- forLlm: `Scrolled ${parameters.direction}`,
58
- metadata: null,
59
44
  }
60
- : {
61
- isSuccessful: false,
62
- forLlm: `Could not scroll ${parameters.direction} due to nothing to scroll.`,
63
- metadata: null,
64
- };
65
- }
66
- async callFromGpt(context, parameters) {
67
- return this.call(context, parameters);
45
+ else {
46
+ /* Incremental ¾-viewport scroll */
47
+ const visibleHeight = Math.min(el.clientHeight, window.innerHeight);
48
+ const visibleWidth = Math.min(el.clientWidth, window.innerWidth);
49
+ const deltaY = Math.floor(visibleHeight * 0.75);
50
+ const deltaX = Math.floor(visibleWidth * 0.75);
51
+ switch (parameters.direction) {
52
+ case 'UP':
53
+ el.scrollBy(0, -deltaY);
54
+ break;
55
+ case 'DOWN':
56
+ el.scrollBy(0, deltaY);
57
+ break;
58
+ case 'LEFT':
59
+ el.scrollBy(-deltaX, 0);
60
+ break;
61
+ case 'RIGHT':
62
+ el.scrollBy(deltaX, 0);
63
+ break;
64
+ }
65
+ }
66
+ const afterY = el.scrollTop;
67
+ const afterX = el.scrollLeft;
68
+ /* Return whether any movement occurred */
69
+ return beforeY !== afterY || beforeX !== afterX;
70
+ }, parameters);
71
+ return didScroll
72
+ ? `Scrolled ${parameters.direction} ${parameters.maxScroll ? ' (max)' : ''}`
73
+ : `Nothing to scroll ${parameters.direction}`;
68
74
  }
69
75
  }
70
76
  exports.ScrollPageTool = ScrollPageTool;
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollPageTool.js","sourceRoot":"","sources":["../../src/tools/ScrollPageTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScrollPageTool.js","sourceRoot":"","sources":["../../src/tools/ScrollPageTool.ts"],"names":[],"mappings":"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"}