donobu 2.31.1 → 2.32.1

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 (139) 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 +89 -62
  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 +89 -62
  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 +23 -0
  33. package/dist/esm/managers/DonobuFlow.js.map +1 -1
  34. package/dist/esm/managers/InteractionVisualizer.d.ts +18 -2
  35. package/dist/esm/managers/InteractionVisualizer.d.ts.map +1 -1
  36. package/dist/esm/managers/InteractionVisualizer.js +33 -14
  37. package/dist/esm/managers/InteractionVisualizer.js.map +1 -1
  38. package/dist/esm/managers/PageInspector.d.ts +1 -0
  39. package/dist/esm/managers/PageInspector.d.ts.map +1 -1
  40. package/dist/esm/managers/PageInspector.js +90 -10
  41. package/dist/esm/managers/PageInspector.js.map +1 -1
  42. package/dist/esm/models/BrowserConfig.d.ts +56 -56
  43. package/dist/esm/models/CreateDonobuFlow.d.ts +48 -48
  44. package/dist/esm/models/FlowMetadata.d.ts +54 -54
  45. package/dist/esm/models/InteractableElement.d.ts +4 -3
  46. package/dist/esm/models/InteractableElement.d.ts.map +1 -1
  47. package/dist/esm/models/InteractableElement.js +9 -4
  48. package/dist/esm/models/InteractableElement.js.map +1 -1
  49. package/dist/esm/persistence/DonobuSqliteDb.d.ts.map +1 -1
  50. package/dist/esm/persistence/DonobuSqliteDb.js +44 -0
  51. package/dist/esm/persistence/DonobuSqliteDb.js.map +1 -1
  52. package/dist/esm/tools/ChooseSelectOptionTool.d.ts.map +1 -1
  53. package/dist/esm/tools/ChooseSelectOptionTool.js +2 -1
  54. package/dist/esm/tools/ChooseSelectOptionTool.js.map +1 -1
  55. package/dist/esm/tools/InputRandomizedEmailAddressTool.d.ts +6 -6
  56. package/dist/esm/tools/InputTextTool.d.ts +9 -0
  57. package/dist/esm/tools/InputTextTool.d.ts.map +1 -1
  58. package/dist/esm/tools/InputTextTool.js +8 -2
  59. package/dist/esm/tools/InputTextTool.js.map +1 -1
  60. package/dist/esm/tools/PressKeyTool.d.ts.map +1 -1
  61. package/dist/esm/tools/PressKeyTool.js +8 -3
  62. package/dist/esm/tools/PressKeyTool.js.map +1 -1
  63. package/dist/esm/tools/ReplayableInteraction.d.ts.map +1 -1
  64. package/dist/esm/tools/ReplayableInteraction.js +14 -7
  65. package/dist/esm/tools/ReplayableInteraction.js.map +1 -1
  66. package/dist/esm/tools/RunAccessibilityTestTool.d.ts +0 -8
  67. package/dist/esm/tools/RunAccessibilityTestTool.d.ts.map +1 -1
  68. package/dist/esm/tools/RunAccessibilityTestTool.js +20 -38
  69. package/dist/esm/tools/RunAccessibilityTestTool.js.map +1 -1
  70. package/dist/esm/tools/ScrollPageTool.d.ts +52 -11
  71. package/dist/esm/tools/ScrollPageTool.d.ts.map +1 -1
  72. package/dist/esm/tools/ScrollPageTool.js +63 -57
  73. package/dist/esm/tools/ScrollPageTool.js.map +1 -1
  74. package/dist/esm/tools/TriggerDonobuFlowTool.d.ts +116 -116
  75. package/dist/esm/utils/BrowserUtils.js +1 -1
  76. package/dist/esm/utils/BrowserUtils.js.map +1 -1
  77. package/dist/esm/utils/PlaywrightUtils.d.ts.map +1 -1
  78. package/dist/esm/utils/PlaywrightUtils.js +0 -2
  79. package/dist/esm/utils/PlaywrightUtils.js.map +1 -1
  80. package/dist/managers/AgentsManager.d.ts +9 -0
  81. package/dist/managers/AgentsManager.d.ts.map +1 -1
  82. package/dist/managers/AgentsManager.js +52 -0
  83. package/dist/managers/AgentsManager.js.map +1 -1
  84. package/dist/managers/CodeGenerator.d.ts.map +1 -1
  85. package/dist/managers/CodeGenerator.js +1 -0
  86. package/dist/managers/CodeGenerator.js.map +1 -1
  87. package/dist/managers/DonobuFlow.d.ts +1 -0
  88. package/dist/managers/DonobuFlow.d.ts.map +1 -1
  89. package/dist/managers/DonobuFlow.js +23 -0
  90. package/dist/managers/DonobuFlow.js.map +1 -1
  91. package/dist/managers/InteractionVisualizer.d.ts +18 -2
  92. package/dist/managers/InteractionVisualizer.d.ts.map +1 -1
  93. package/dist/managers/InteractionVisualizer.js +33 -14
  94. package/dist/managers/InteractionVisualizer.js.map +1 -1
  95. package/dist/managers/PageInspector.d.ts +1 -0
  96. package/dist/managers/PageInspector.d.ts.map +1 -1
  97. package/dist/managers/PageInspector.js +90 -10
  98. package/dist/managers/PageInspector.js.map +1 -1
  99. package/dist/models/BrowserConfig.d.ts +56 -56
  100. package/dist/models/CreateDonobuFlow.d.ts +48 -48
  101. package/dist/models/FlowMetadata.d.ts +54 -54
  102. package/dist/models/InteractableElement.d.ts +4 -3
  103. package/dist/models/InteractableElement.d.ts.map +1 -1
  104. package/dist/models/InteractableElement.js +9 -4
  105. package/dist/models/InteractableElement.js.map +1 -1
  106. package/dist/persistence/DonobuSqliteDb.d.ts.map +1 -1
  107. package/dist/persistence/DonobuSqliteDb.js +44 -0
  108. package/dist/persistence/DonobuSqliteDb.js.map +1 -1
  109. package/dist/tools/ChooseSelectOptionTool.d.ts.map +1 -1
  110. package/dist/tools/ChooseSelectOptionTool.js +2 -1
  111. package/dist/tools/ChooseSelectOptionTool.js.map +1 -1
  112. package/dist/tools/InputRandomizedEmailAddressTool.d.ts +6 -6
  113. package/dist/tools/InputTextTool.d.ts +9 -0
  114. package/dist/tools/InputTextTool.d.ts.map +1 -1
  115. package/dist/tools/InputTextTool.js +8 -2
  116. package/dist/tools/InputTextTool.js.map +1 -1
  117. package/dist/tools/PressKeyTool.d.ts.map +1 -1
  118. package/dist/tools/PressKeyTool.js +8 -3
  119. package/dist/tools/PressKeyTool.js.map +1 -1
  120. package/dist/tools/ReplayableInteraction.d.ts.map +1 -1
  121. package/dist/tools/ReplayableInteraction.js +14 -7
  122. package/dist/tools/ReplayableInteraction.js.map +1 -1
  123. package/dist/tools/RunAccessibilityTestTool.d.ts +0 -8
  124. package/dist/tools/RunAccessibilityTestTool.d.ts.map +1 -1
  125. package/dist/tools/RunAccessibilityTestTool.js +20 -38
  126. package/dist/tools/RunAccessibilityTestTool.js.map +1 -1
  127. package/dist/tools/ScrollPageTool.d.ts +52 -11
  128. package/dist/tools/ScrollPageTool.d.ts.map +1 -1
  129. package/dist/tools/ScrollPageTool.js +63 -57
  130. package/dist/tools/ScrollPageTool.js.map +1 -1
  131. package/dist/tools/TriggerDonobuFlowTool.d.ts +116 -116
  132. package/dist/utils/BrowserUtils.js +1 -1
  133. package/dist/utils/BrowserUtils.js.map +1 -1
  134. package/dist/utils/PlaywrightUtils.d.ts.map +1 -1
  135. package/dist/utils/PlaywrightUtils.js +0 -2
  136. package/dist/utils/PlaywrightUtils.js.map +1 -1
  137. package/package.json +2 -1
  138. package/dist/assets/axe.js +0 -47397
  139. package/dist/esm/assets/axe.js +0 -47397
@@ -33,9 +33,9 @@
33
33
  });
34
34
  }
35
35
 
36
- if (!window.__donobu.lastInteractionEvent) {
37
- Object.defineProperty(window.__donobu, 'lastInteractionEvent', {
38
- value: null,
36
+ if (!window.__donobu.processedEvents) {
37
+ Object.defineProperty(window.__donobu, 'processedEvents', {
38
+ value: new WeakSet(),
39
39
  enumerable: false,
40
40
  writable: true,
41
41
  configurable: false,
@@ -48,24 +48,11 @@
48
48
  document.addEventListener(
49
49
  eventType,
50
50
  function (e) {
51
- const eventKey = `${eventType}-${e.clientX}-${e.clientY}-${e.target}`;
52
- const currentTime = new Date().getTime();
53
- const debounceTimeMs = 50;
54
- // Deduplicate rapid-fire identical events.
55
- if (
56
- window.__donobu.lastInteractionEvent &&
57
- window.__donobu.lastInteractionEvent.key === eventKey &&
58
- currentTime - window.__donobu.lastInteractionEvent.time <
59
- debounceTimeMs
60
- ) {
51
+ if (window.__donobu.processedEvents.has(e)) {
61
52
  return;
62
53
  }
63
54
 
64
- window.__donobu.lastInteractionEvent = {
65
- key: eventKey,
66
- time: currentTime,
67
- };
68
-
55
+ window.__donobu.processedEvents.add(e);
69
56
  const eventData = {
70
57
  type: eventType,
71
58
  x: e.clientX,
@@ -95,6 +82,11 @@
95
82
  document.addEventListener(
96
83
  eventType,
97
84
  function (e) {
85
+ if (window.__donobu.processedEvents.has(e)) {
86
+ return;
87
+ }
88
+
89
+ window.__donobu.processedEvents.add(e);
98
90
  __donobuTrackInteraction({
99
91
  type: eventType,
100
92
  key: e.key,
@@ -116,6 +108,11 @@
116
108
  document.addEventListener(
117
109
  eventType,
118
110
  function (e) {
111
+ if (window.__donobu.processedEvents.has(e)) {
112
+ return;
113
+ }
114
+
115
+ window.__donobu.processedEvents.add(e);
119
116
  const eventData = {
120
117
  type: eventType,
121
118
  selectors: window.__donobu.generateSmartSelectors(e.target),
@@ -140,28 +137,4 @@
140
137
  true,
141
138
  );
142
139
  });
143
-
144
- // Touch events for mobile
145
- ['touchstart', 'touchend', 'touchmove', 'touchcancel'].forEach(
146
- (eventType) => {
147
- document.addEventListener(
148
- eventType,
149
- function (e) {
150
- const touches = Array.from(e.touches).map((touch) => ({
151
- x: touch.clientX,
152
- y: touch.clientY,
153
- identifier: touch.identifier,
154
- }));
155
-
156
- __donobuTrackInteraction({
157
- type: eventType,
158
- touches: touches,
159
- selectors: window.__donobu.generateSmartSelectors(e.target),
160
- timestamp: new Date().getTime(),
161
- });
162
- },
163
- true,
164
- );
165
- },
166
- );
167
140
  })();