browser-devtools-mcp 0.1.7 → 0.2.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 (164) hide show
  1. package/LICENSE +93 -21
  2. package/README.md +82 -16
  3. package/SECURITY.md +9 -0
  4. package/dist/cli.js +53 -1721
  5. package/dist/core.js +764 -0
  6. package/dist/daemon-server.js +1 -338
  7. package/dist/index.d.ts +2 -0
  8. package/dist/index.js +210 -80
  9. package/dist/otel/otel-initializer.bundle.js +0 -1
  10. package/dist/tools/a11y/index.d.ts +2 -0
  11. package/dist/tools/content/index.d.ts +2 -0
  12. package/dist/tools/debug/index.d.ts +2 -0
  13. package/dist/tools/figma/compare/index.d.ts +56 -0
  14. package/dist/tools/figma/compare/types.d.ts +15 -0
  15. package/dist/tools/figma/index.d.ts +2 -0
  16. package/dist/tools/index.d.ts +4 -0
  17. package/dist/tools/interaction/index.d.ts +2 -0
  18. package/dist/tools/navigation/index.d.ts +2 -0
  19. package/dist/tools/o11y/index.d.ts +2 -0
  20. package/dist/tools/react/index.d.ts +2 -0
  21. package/dist/tools/run/index.d.ts +2 -0
  22. package/dist/tools/stub/index.d.ts +2 -0
  23. package/dist/tools/sync/index.d.ts +2 -0
  24. package/dist/tools/types.d.ts +21 -0
  25. package/dist/types.d.ts +78 -0
  26. package/package.json +11 -11
  27. package/dist/browser.js +0 -213
  28. package/dist/browser.js.map +0 -1
  29. package/dist/cli.js.map +0 -1
  30. package/dist/config.js +0 -96
  31. package/dist/config.js.map +0 -1
  32. package/dist/context.js +0 -298
  33. package/dist/context.js.map +0 -1
  34. package/dist/daemon-server.js.map +0 -1
  35. package/dist/index.js.map +0 -1
  36. package/dist/logger.js +0 -97
  37. package/dist/logger.js.map +0 -1
  38. package/dist/mcp-server.js +0 -401
  39. package/dist/mcp-server.js.map +0 -1
  40. package/dist/otel/otel-controller.js +0 -323
  41. package/dist/otel/otel-controller.js.map +0 -1
  42. package/dist/otel/otel-initializer.bundle.js.map +0 -7
  43. package/dist/otel/otel-proxy.js +0 -407
  44. package/dist/otel/otel-proxy.js.map +0 -1
  45. package/dist/server-info.js +0 -186
  46. package/dist/server-info.js.map +0 -1
  47. package/dist/tools/a11y/index.js +0 -7
  48. package/dist/tools/a11y/index.js.map +0 -1
  49. package/dist/tools/a11y/take-aria-snapshot.js +0 -54
  50. package/dist/tools/a11y/take-aria-snapshot.js.map +0 -1
  51. package/dist/tools/a11y/take-ax-tree-snapshot.js +0 -850
  52. package/dist/tools/a11y/take-ax-tree-snapshot.js.map +0 -1
  53. package/dist/tools/content/get-as-html.js +0 -164
  54. package/dist/tools/content/get-as-html.js.map +0 -1
  55. package/dist/tools/content/get-as-text.js +0 -76
  56. package/dist/tools/content/get-as-text.js.map +0 -1
  57. package/dist/tools/content/index.js +0 -14
  58. package/dist/tools/content/index.js.map +0 -1
  59. package/dist/tools/content/save-as-pdf.js +0 -119
  60. package/dist/tools/content/save-as-pdf.js.map +0 -1
  61. package/dist/tools/content/take-screenshot.js +0 -297
  62. package/dist/tools/content/take-screenshot.js.map +0 -1
  63. package/dist/tools/figma/compare/compare-image-embedding.js +0 -159
  64. package/dist/tools/figma/compare/compare-image-embedding.js.map +0 -1
  65. package/dist/tools/figma/compare/compare-mssim.js +0 -98
  66. package/dist/tools/figma/compare/compare-mssim.js.map +0 -1
  67. package/dist/tools/figma/compare/compare-text-embedding.js +0 -291
  68. package/dist/tools/figma/compare/compare-text-embedding.js.map +0 -1
  69. package/dist/tools/figma/compare/index.js +0 -139
  70. package/dist/tools/figma/compare/index.js.map +0 -1
  71. package/dist/tools/figma/compare/types.js +0 -3
  72. package/dist/tools/figma/compare/types.js.map +0 -1
  73. package/dist/tools/figma/compare/vector.js +0 -46
  74. package/dist/tools/figma/compare/vector.js.map +0 -1
  75. package/dist/tools/figma/compare-page-with-design.js +0 -240
  76. package/dist/tools/figma/compare-page-with-design.js.map +0 -1
  77. package/dist/tools/figma/figma-service.js +0 -134
  78. package/dist/tools/figma/figma-service.js.map +0 -1
  79. package/dist/tools/figma/index.js +0 -6
  80. package/dist/tools/figma/index.js.map +0 -1
  81. package/dist/tools/index.js +0 -41
  82. package/dist/tools/index.js.map +0 -1
  83. package/dist/tools/interaction/click.js +0 -29
  84. package/dist/tools/interaction/click.js.map +0 -1
  85. package/dist/tools/interaction/drag.js +0 -41
  86. package/dist/tools/interaction/drag.js.map +0 -1
  87. package/dist/tools/interaction/fill.js +0 -28
  88. package/dist/tools/interaction/fill.js.map +0 -1
  89. package/dist/tools/interaction/hover.js +0 -29
  90. package/dist/tools/interaction/hover.js.map +0 -1
  91. package/dist/tools/interaction/index.js +0 -24
  92. package/dist/tools/interaction/index.js.map +0 -1
  93. package/dist/tools/interaction/press-key.js +0 -99
  94. package/dist/tools/interaction/press-key.js.map +0 -1
  95. package/dist/tools/interaction/resize-viewport.js +0 -110
  96. package/dist/tools/interaction/resize-viewport.js.map +0 -1
  97. package/dist/tools/interaction/resize-window.js +0 -261
  98. package/dist/tools/interaction/resize-window.js.map +0 -1
  99. package/dist/tools/interaction/scroll.js +0 -304
  100. package/dist/tools/interaction/scroll.js.map +0 -1
  101. package/dist/tools/interaction/select.js +0 -30
  102. package/dist/tools/interaction/select.js.map +0 -1
  103. package/dist/tools/navigation/go-back.js +0 -76
  104. package/dist/tools/navigation/go-back.js.map +0 -1
  105. package/dist/tools/navigation/go-forward.js +0 -76
  106. package/dist/tools/navigation/go-forward.js.map +0 -1
  107. package/dist/tools/navigation/go-to.js +0 -80
  108. package/dist/tools/navigation/go-to.js.map +0 -1
  109. package/dist/tools/navigation/index.js +0 -14
  110. package/dist/tools/navigation/index.js.map +0 -1
  111. package/dist/tools/navigation/reload.js +0 -76
  112. package/dist/tools/navigation/reload.js.map +0 -1
  113. package/dist/tools/o11y/get-console-messages.js +0 -151
  114. package/dist/tools/o11y/get-console-messages.js.map +0 -1
  115. package/dist/tools/o11y/get-http-requests.js +0 -216
  116. package/dist/tools/o11y/get-http-requests.js.map +0 -1
  117. package/dist/tools/o11y/get-trace-id.js +0 -30
  118. package/dist/tools/o11y/get-trace-id.js.map +0 -1
  119. package/dist/tools/o11y/get-web-vitals.js +0 -595
  120. package/dist/tools/o11y/get-web-vitals.js.map +0 -1
  121. package/dist/tools/o11y/index.js +0 -18
  122. package/dist/tools/o11y/index.js.map +0 -1
  123. package/dist/tools/o11y/new-trace-id.js +0 -32
  124. package/dist/tools/o11y/new-trace-id.js.map +0 -1
  125. package/dist/tools/o11y/set-trace-id.js +0 -28
  126. package/dist/tools/o11y/set-trace-id.js.map +0 -1
  127. package/dist/tools/react/get-component-for-element.js +0 -941
  128. package/dist/tools/react/get-component-for-element.js.map +0 -1
  129. package/dist/tools/react/get-element-for-component.js +0 -1190
  130. package/dist/tools/react/get-element-for-component.js.map +0 -1
  131. package/dist/tools/react/index.js +0 -10
  132. package/dist/tools/react/index.js.map +0 -1
  133. package/dist/tools/run/index.js +0 -7
  134. package/dist/tools/run/index.js.map +0 -1
  135. package/dist/tools/run/js-in-browser.js +0 -51
  136. package/dist/tools/run/js-in-browser.js.map +0 -1
  137. package/dist/tools/run/js-in-sandbox.js +0 -175
  138. package/dist/tools/run/js-in-sandbox.js.map +0 -1
  139. package/dist/tools/stub/clear.js +0 -41
  140. package/dist/tools/stub/clear.js.map +0 -1
  141. package/dist/tools/stub/index.js +0 -14
  142. package/dist/tools/stub/index.js.map +0 -1
  143. package/dist/tools/stub/intercept-http-request.js +0 -112
  144. package/dist/tools/stub/intercept-http-request.js.map +0 -1
  145. package/dist/tools/stub/list.js +0 -75
  146. package/dist/tools/stub/list.js.map +0 -1
  147. package/dist/tools/stub/mock-http-response.js +0 -152
  148. package/dist/tools/stub/mock-http-response.js.map +0 -1
  149. package/dist/tools/stub/stub-controller.js +0 -284
  150. package/dist/tools/stub/stub-controller.js.map +0 -1
  151. package/dist/tools/sync/index.js +0 -6
  152. package/dist/tools/sync/index.js.map +0 -1
  153. package/dist/tools/sync/wait-for-network-idle.js +0 -152
  154. package/dist/tools/sync/wait-for-network-idle.js.map +0 -1
  155. package/dist/tools/tool-executor.js +0 -79
  156. package/dist/tools/tool-executor.js.map +0 -1
  157. package/dist/tools/types.js +0 -3
  158. package/dist/tools/types.js.map +0 -1
  159. package/dist/types.js +0 -55
  160. package/dist/types.js.map +0 -1
  161. package/dist/utils/cli-utils.js +0 -253
  162. package/dist/utils/cli-utils.js.map +0 -1
  163. package/dist/utils.js +0 -85
  164. package/dist/utils.js.map +0 -1
@@ -1,304 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Scroll = void 0;
4
- const zod_1 = require("zod");
5
- const DEFAULT_BEHAVIOR = 'auto';
6
- const DEFAULT_MODE = 'by';
7
- class Scroll {
8
- name() {
9
- return 'interaction_scroll';
10
- }
11
- description() {
12
- return `
13
- Scrolls the page viewport or a specific scrollable element.
14
-
15
- Modes:
16
- - 'by': Scrolls by a relative delta (dx/dy) from the current scroll position.
17
- - 'to': Scrolls to an absolute scroll position (x/y).
18
- - 'top': Scrolls to the very top.
19
- - 'bottom': Scrolls to the very bottom.
20
- - 'left': Scrolls to the far left.
21
- - 'right': Scrolls to the far right.
22
-
23
- Use this tool to:
24
- - Reveal content below the fold
25
- - Jump to the top/bottom without knowing exact positions
26
- - Bring elements into view before clicking
27
- - Inspect lazy-loaded content that appears on scroll
28
- `.trim();
29
- }
30
- inputSchema() {
31
- return {
32
- mode: zod_1.z
33
- .enum(['by', 'to', 'top', 'bottom', 'left', 'right'])
34
- .optional()
35
- .default(DEFAULT_MODE)
36
- .describe('Scroll mode. "by" uses dx/dy, "to" uses x/y, and top/bottom/left/right jump to edges.'),
37
- selector: zod_1.z
38
- .string()
39
- .optional()
40
- .describe('Optional CSS selector for a scrollable container. If omitted, scrolls the document viewport.'),
41
- dx: zod_1.z
42
- .number()
43
- .optional()
44
- .describe('Horizontal scroll delta in pixels (used when mode="by"). Default: 0.'),
45
- dy: zod_1.z
46
- .number()
47
- .optional()
48
- .describe('Vertical scroll delta in pixels (used when mode="by"). Default: 0.'),
49
- x: zod_1.z
50
- .number()
51
- .optional()
52
- .describe('Absolute horizontal scroll position in pixels (used when mode="to").'),
53
- y: zod_1.z
54
- .number()
55
- .optional()
56
- .describe('Absolute vertical scroll position in pixels (used when mode="to").'),
57
- behavior: zod_1.z
58
- .enum(['auto', 'smooth'])
59
- .optional()
60
- .default(DEFAULT_BEHAVIOR)
61
- .describe('Native scroll behavior. Use "auto" for deterministic automation.'),
62
- };
63
- }
64
- outputSchema() {
65
- return {
66
- mode: zod_1.z
67
- .enum(['by', 'to', 'top', 'bottom', 'left', 'right'])
68
- .describe('The scroll mode used.'),
69
- selector: zod_1.z
70
- .string()
71
- .nullable()
72
- .describe('The selector of the scroll container if provided; otherwise null (document viewport).'),
73
- behavior: zod_1.z
74
- .enum(['auto', 'smooth'])
75
- .describe('The scroll behavior used.'),
76
- before: zod_1.z
77
- .object({
78
- x: zod_1.z.number().describe('ScrollLeft before scrolling.'),
79
- y: zod_1.z.number().describe('ScrollTop before scrolling.'),
80
- scrollWidth: zod_1.z
81
- .number()
82
- .describe('Total scrollable width before scrolling.'),
83
- scrollHeight: zod_1.z
84
- .number()
85
- .describe('Total scrollable height before scrolling.'),
86
- clientWidth: zod_1.z
87
- .number()
88
- .describe('Viewport/container client width before scrolling.'),
89
- clientHeight: zod_1.z
90
- .number()
91
- .describe('Viewport/container client height before scrolling.'),
92
- })
93
- .describe('Scroll metrics before the scroll action.'),
94
- after: zod_1.z
95
- .object({
96
- x: zod_1.z.number().describe('ScrollLeft after scrolling.'),
97
- y: zod_1.z.number().describe('ScrollTop after scrolling.'),
98
- scrollWidth: zod_1.z
99
- .number()
100
- .describe('Total scrollable width after scrolling.'),
101
- scrollHeight: zod_1.z
102
- .number()
103
- .describe('Total scrollable height after scrolling.'),
104
- clientWidth: zod_1.z
105
- .number()
106
- .describe('Viewport/container client width after scrolling.'),
107
- clientHeight: zod_1.z
108
- .number()
109
- .describe('Viewport/container client height after scrolling.'),
110
- })
111
- .describe('Scroll metrics after the scroll action.'),
112
- canScrollX: zod_1.z
113
- .boolean()
114
- .describe('Whether horizontal scrolling is possible (scrollWidth > clientWidth).'),
115
- canScrollY: zod_1.z
116
- .boolean()
117
- .describe('Whether vertical scrolling is possible (scrollHeight > clientHeight).'),
118
- maxScrollX: zod_1.z
119
- .number()
120
- .describe('Maximum horizontal scrollLeft (scrollWidth - clientWidth).'),
121
- maxScrollY: zod_1.z
122
- .number()
123
- .describe('Maximum vertical scrollTop (scrollHeight - clientHeight).'),
124
- isAtLeft: zod_1.z
125
- .boolean()
126
- .describe('Whether the scroll position is at the far left.'),
127
- isAtRight: zod_1.z
128
- .boolean()
129
- .describe('Whether the scroll position is at the far right.'),
130
- isAtTop: zod_1.z
131
- .boolean()
132
- .describe('Whether the scroll position is at the very top.'),
133
- isAtBottom: zod_1.z
134
- .boolean()
135
- .describe('Whether the scroll position is at the very bottom.'),
136
- };
137
- }
138
- async handle(context, args) {
139
- const mode = args.mode ?? DEFAULT_MODE;
140
- const selector = args.selector;
141
- const behavior = args.behavior ?? DEFAULT_BEHAVIOR;
142
- const dx = args.dx ?? 0;
143
- const dy = args.dy ?? 0;
144
- const x = args.x;
145
- const y = args.y;
146
- if (mode === 'to') {
147
- if (typeof x !== 'number' && typeof y !== 'number') {
148
- throw new Error('mode="to" requires at least one of x or y.');
149
- }
150
- }
151
- if (mode === 'by') {
152
- if (dx === 0 && dy === 0) {
153
- throw new Error('mode="by" requires dx and/or dy to be non-zero.');
154
- }
155
- }
156
- const result = await context.page.evaluate(({ modeEval, selectorEval, dxEval, dyEval, xEval, yEval, behaviorEval, }) => {
157
- const getTarget = () => {
158
- if (selectorEval) {
159
- const el = document.querySelector(selectorEval);
160
- if (!el) {
161
- throw new Error(`Element with selector "${selectorEval}" not found`);
162
- }
163
- return el;
164
- }
165
- const scrolling = document.scrollingElement ||
166
- document.documentElement ||
167
- document.body;
168
- if (!scrolling) {
169
- throw new Error('No scrolling element available.');
170
- }
171
- return scrolling;
172
- };
173
- const readMetrics = (el) => {
174
- return {
175
- x: el.scrollLeft,
176
- y: el.scrollTop,
177
- scrollWidth: el.scrollWidth,
178
- scrollHeight: el.scrollHeight,
179
- clientWidth: el.clientWidth,
180
- clientHeight: el.clientHeight,
181
- };
182
- };
183
- const clamp = (v, min, max) => {
184
- if (v < min) {
185
- return min;
186
- }
187
- if (v > max) {
188
- return max;
189
- }
190
- return v;
191
- };
192
- const doScroll = (el) => {
193
- const maxX = Math.max(0, el.scrollWidth - el.clientWidth);
194
- const maxY = Math.max(0, el.scrollHeight - el.clientHeight);
195
- if (modeEval === 'by') {
196
- const nextX = clamp(el.scrollLeft + dxEval, 0, maxX);
197
- const nextY = clamp(el.scrollTop + dyEval, 0, maxY);
198
- el.scrollTo({
199
- left: nextX,
200
- top: nextY,
201
- behavior: behaviorEval,
202
- });
203
- return;
204
- }
205
- if (modeEval === 'to') {
206
- const nextX = typeof xEval === 'number'
207
- ? clamp(xEval, 0, maxX)
208
- : el.scrollLeft;
209
- const nextY = typeof yEval === 'number'
210
- ? clamp(yEval, 0, maxY)
211
- : el.scrollTop;
212
- el.scrollTo({
213
- left: nextX,
214
- top: nextY,
215
- behavior: behaviorEval,
216
- });
217
- return;
218
- }
219
- if (modeEval === 'top') {
220
- el.scrollTo({
221
- top: 0,
222
- left: el.scrollLeft,
223
- behavior: behaviorEval,
224
- });
225
- return;
226
- }
227
- if (modeEval === 'bottom') {
228
- el.scrollTo({
229
- top: maxY,
230
- left: el.scrollLeft,
231
- behavior: behaviorEval,
232
- });
233
- return;
234
- }
235
- if (modeEval === 'left') {
236
- el.scrollTo({
237
- left: 0,
238
- top: el.scrollTop,
239
- behavior: behaviorEval,
240
- });
241
- return;
242
- }
243
- if (modeEval === 'right') {
244
- el.scrollTo({
245
- left: maxX,
246
- top: el.scrollTop,
247
- behavior: behaviorEval,
248
- });
249
- return;
250
- }
251
- };
252
- const target = getTarget();
253
- const before = readMetrics(target);
254
- doScroll(target);
255
- const after = readMetrics(target);
256
- const maxScrollX = Math.max(0, after.scrollWidth - after.clientWidth);
257
- const maxScrollY = Math.max(0, after.scrollHeight - after.clientHeight);
258
- const canScrollX = after.scrollWidth > after.clientWidth;
259
- const canScrollY = after.scrollHeight > after.clientHeight;
260
- const eps = 1;
261
- const isAtLeft = after.x <= eps;
262
- const isAtRight = after.x >= maxScrollX - eps;
263
- const isAtTop = after.y <= eps;
264
- const isAtBottom = after.y >= maxScrollY - eps;
265
- return {
266
- before,
267
- after,
268
- canScrollX,
269
- canScrollY,
270
- maxScrollX,
271
- maxScrollY,
272
- isAtLeft,
273
- isAtRight,
274
- isAtTop,
275
- isAtBottom,
276
- };
277
- }, {
278
- modeEval: mode,
279
- selectorEval: selector,
280
- dxEval: dx,
281
- dyEval: dy,
282
- xEval: x,
283
- yEval: y,
284
- behaviorEval: behavior,
285
- });
286
- return {
287
- mode: mode,
288
- selector: selector ?? null,
289
- behavior: behavior,
290
- before: result.before,
291
- after: result.after,
292
- canScrollX: result.canScrollX,
293
- canScrollY: result.canScrollY,
294
- maxScrollX: result.maxScrollX,
295
- maxScrollY: result.maxScrollY,
296
- isAtLeft: result.isAtLeft,
297
- isAtRight: result.isAtRight,
298
- isAtTop: result.isAtTop,
299
- isAtBottom: result.isAtBottom,
300
- };
301
- }
302
- }
303
- exports.Scroll = Scroll;
304
- //# sourceMappingURL=scroll.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../src/tools/interaction/scroll.ts"],"names":[],"mappings":";;;AASA,6BAAwB;AAExB,MAAM,gBAAgB,GAAsB,MAAM,CAAC;AACnD,MAAM,YAAY,GAAsD,IAAI,CAAC;AA8D7E,MAAa,MAAM;IACf,IAAI;QACA,OAAO,oBAAoB,CAAC;IAChC,CAAC;IAED,WAAW;QACP,OAAO;;;;;;;;;;;;;;;;SAgBN,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;IAED,WAAW;QACP,OAAO;YACH,IAAI,EAAE,OAAC;iBACF,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;iBACpD,QAAQ,EAAE;iBACV,OAAO,CAAC,YAAY,CAAC;iBACrB,QAAQ,CACL,uFAAuF,CAC1F;YACL,QAAQ,EAAE,OAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACL,8FAA8F,CACjG;YACL,EAAE,EAAE,OAAC;iBACA,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACL,sEAAsE,CACzE;YACL,EAAE,EAAE,OAAC;iBACA,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACL,oEAAoE,CACvE;YACL,CAAC,EAAE,OAAC;iBACC,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACL,sEAAsE,CACzE;YACL,CAAC,EAAE,OAAC;iBACC,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACL,oEAAoE,CACvE;YACL,QAAQ,EAAE,OAAC;iBACN,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;iBACxB,QAAQ,EAAE;iBACV,OAAO,CAAC,gBAAgB,CAAC;iBACzB,QAAQ,CACL,kEAAkE,CACrE;SACR,CAAC;IACN,CAAC;IAED,YAAY;QACR,OAAO;YACH,IAAI,EAAE,OAAC;iBACF,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;iBACpD,QAAQ,CAAC,uBAAuB,CAAC;YACtC,QAAQ,EAAE,OAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACL,uFAAuF,CAC1F;YACL,QAAQ,EAAE,OAAC;iBACN,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;iBACxB,QAAQ,CAAC,2BAA2B,CAAC;YAC1C,MAAM,EAAE,OAAC;iBACJ,MAAM,CAAC;gBACJ,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;gBACtD,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;gBACrD,WAAW,EAAE,OAAC;qBACT,MAAM,EAAE;qBACR,QAAQ,CAAC,0CAA0C,CAAC;gBACzD,YAAY,EAAE,OAAC;qBACV,MAAM,EAAE;qBACR,QAAQ,CAAC,2CAA2C,CAAC;gBAC1D,WAAW,EAAE,OAAC;qBACT,MAAM,EAAE;qBACR,QAAQ,CACL,mDAAmD,CACtD;gBACL,YAAY,EAAE,OAAC;qBACV,MAAM,EAAE;qBACR,QAAQ,CACL,oDAAoD,CACvD;aACR,CAAC;iBACD,QAAQ,CAAC,0CAA0C,CAAC;YACzD,KAAK,EAAE,OAAC;iBACH,MAAM,CAAC;gBACJ,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;gBACrD,CAAC,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;gBACpD,WAAW,EAAE,OAAC;qBACT,MAAM,EAAE;qBACR,QAAQ,CAAC,yCAAyC,CAAC;gBACxD,YAAY,EAAE,OAAC;qBACV,MAAM,EAAE;qBACR,QAAQ,CAAC,0CAA0C,CAAC;gBACzD,WAAW,EAAE,OAAC;qBACT,MAAM,EAAE;qBACR,QAAQ,CACL,kDAAkD,CACrD;gBACL,YAAY,EAAE,OAAC;qBACV,MAAM,EAAE;qBACR,QAAQ,CACL,mDAAmD,CACtD;aACR,CAAC;iBACD,QAAQ,CAAC,yCAAyC,CAAC;YACxD,UAAU,EAAE,OAAC;iBACR,OAAO,EAAE;iBACT,QAAQ,CACL,uEAAuE,CAC1E;YACL,UAAU,EAAE,OAAC;iBACR,OAAO,EAAE;iBACT,QAAQ,CACL,uEAAuE,CAC1E;YACL,UAAU,EAAE,OAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,CACL,4DAA4D,CAC/D;YACL,UAAU,EAAE,OAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,CACL,2DAA2D,CAC9D;YACL,QAAQ,EAAE,OAAC;iBACN,OAAO,EAAE;iBACT,QAAQ,CAAC,iDAAiD,CAAC;YAChE,SAAS,EAAE,OAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,CAAC,kDAAkD,CAAC;YACjE,OAAO,EAAE,OAAC;iBACL,OAAO,EAAE;iBACT,QAAQ,CAAC,iDAAiD,CAAC;YAChE,UAAU,EAAE,OAAC;iBACR,OAAO,EAAE;iBACT,QAAQ,CAAC,oDAAoD,CAAC;SACtE,CAAC;IACN,CAAC;IAED,KAAK,CAAC,MAAM,CACR,OAA2B,EAC3B,IAAiB;QAEjB,MAAM,IAAI,GACN,IAAI,CAAC,IAAI,IAAI,YAAY,CAAC;QAE9B,MAAM,QAAQ,GAAuB,IAAI,CAAC,QAAQ,CAAC;QACnD,MAAM,QAAQ,GAAsB,IAAI,CAAC,QAAQ,IAAI,gBAAgB,CAAC;QAEtE,MAAM,EAAE,GAAW,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QAChC,MAAM,EAAE,GAAW,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QAEhC,MAAM,CAAC,GAAuB,IAAI,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,GAAuB,IAAI,CAAC,CAAC,CAAC;QAErC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAClE,CAAC;QACL,CAAC;QAED,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CACX,iDAAiD,CACpD,CAAC;YACN,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAQ,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,CAC3C,CAAC,EACG,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,MAAM,EACN,KAAK,EACL,KAAK,EACL,YAAY,GASf,EAAE,EAAE;YACD,MAAM,SAAS,GAAG,GAAgB,EAAE;gBAChC,IAAI,YAAY,EAAE,CAAC;oBACf,MAAM,EAAE,GACJ,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;oBACzC,IAAI,CAAC,EAAE,EAAE,CAAC;wBACN,MAAM,IAAI,KAAK,CACX,0BAA0B,YAAY,aAAa,CACtD,CAAC;oBACN,CAAC;oBACD,OAAO,EAAiB,CAAC;gBAC7B,CAAC;gBAED,MAAM,SAAS,GACX,QAAQ,CAAC,gBAAgB;oBACzB,QAAQ,CAAC,eAAe;oBACxB,QAAQ,CAAC,IAAI,CAAC;gBAElB,IAAI,CAAC,SAAS,EAAE,CAAC;oBACb,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBACvD,CAAC;gBAED,OAAO,SAAwB,CAAC;YACpC,CAAC,CAAC;YAEF,MAAM,WAAW,GAAG,CAAC,EAAe,EAAE,EAAE;gBACpC,OAAO;oBACH,CAAC,EAAE,EAAE,CAAC,UAAU;oBAChB,CAAC,EAAE,EAAE,CAAC,SAAS;oBACf,WAAW,EAAE,EAAE,CAAC,WAAW;oBAC3B,YAAY,EAAE,EAAE,CAAC,YAAY;oBAC7B,WAAW,EAAE,EAAE,CAAC,WAAW;oBAC3B,YAAY,EAAE,EAAE,CAAC,YAAY;iBAChC,CAAC;YACN,CAAC,CAAC;YAEF,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,GAAW,EAAE,GAAW,EAAU,EAAE;gBAC1D,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;oBACV,OAAO,GAAG,CAAC;gBACf,CAAC;gBACD,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;oBACV,OAAO,GAAG,CAAC;gBACf,CAAC;gBACD,OAAO,CAAC,CAAC;YACb,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,EAAe,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAW,IAAI,CAAC,GAAG,CACzB,CAAC,EACD,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAClC,CAAC;gBACF,MAAM,IAAI,GAAW,IAAI,CAAC,GAAG,CACzB,CAAC,EACD,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CACpC,CAAC;gBAEF,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACpB,MAAM,KAAK,GAAW,KAAK,CACvB,EAAE,CAAC,UAAU,GAAG,MAAM,EACtB,CAAC,EACD,IAAI,CACP,CAAC;oBACF,MAAM,KAAK,GAAW,KAAK,CACvB,EAAE,CAAC,SAAS,GAAG,MAAM,EACrB,CAAC,EACD,IAAI,CACP,CAAC;oBACF,EAAE,CAAC,QAAQ,CAAC;wBACR,IAAI,EAAE,KAAK;wBACX,GAAG,EAAE,KAAK;wBACV,QAAQ,EAAE,YAAY;qBACzB,CAAC,CAAC;oBACH,OAAO;gBACX,CAAC;gBAED,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACpB,MAAM,KAAK,GACP,OAAO,KAAK,KAAK,QAAQ;wBACrB,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC;wBACvB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC;oBACxB,MAAM,KAAK,GACP,OAAO,KAAK,KAAK,QAAQ;wBACrB,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC;wBACvB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC;oBACvB,EAAE,CAAC,QAAQ,CAAC;wBACR,IAAI,EAAE,KAAK;wBACX,GAAG,EAAE,KAAK;wBACV,QAAQ,EAAE,YAAY;qBACzB,CAAC,CAAC;oBACH,OAAO;gBACX,CAAC;gBAED,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;oBACrB,EAAE,CAAC,QAAQ,CAAC;wBACR,GAAG,EAAE,CAAC;wBACN,IAAI,EAAE,EAAE,CAAC,UAAU;wBACnB,QAAQ,EAAE,YAAY;qBACzB,CAAC,CAAC;oBACH,OAAO;gBACX,CAAC;gBAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBACxB,EAAE,CAAC,QAAQ,CAAC;wBACR,GAAG,EAAE,IAAI;wBACT,IAAI,EAAE,EAAE,CAAC,UAAU;wBACnB,QAAQ,EAAE,YAAY;qBACzB,CAAC,CAAC;oBACH,OAAO;gBACX,CAAC;gBAED,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;oBACtB,EAAE,CAAC,QAAQ,CAAC;wBACR,IAAI,EAAE,CAAC;wBACP,GAAG,EAAE,EAAE,CAAC,SAAS;wBACjB,QAAQ,EAAE,YAAY;qBACzB,CAAC,CAAC;oBACH,OAAO;gBACX,CAAC;gBAED,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;oBACvB,EAAE,CAAC,QAAQ,CAAC;wBACR,IAAI,EAAE,IAAI;wBACV,GAAG,EAAE,EAAE,CAAC,SAAS;wBACjB,QAAQ,EAAE,YAAY;qBACzB,CAAC,CAAC;oBACH,OAAO;gBACX,CAAC;YACL,CAAC,CAAC;YAEF,MAAM,MAAM,GAAgB,SAAS,EAAE,CAAC;YAExC,MAAM,MAAM,GAAQ,WAAW,CAAC,MAAM,CAAC,CAAC;YACxC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjB,MAAM,KAAK,GAAQ,WAAW,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,UAAU,GAAW,IAAI,CAAC,GAAG,CAC/B,CAAC,EACD,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CACxC,CAAC;YACF,MAAM,UAAU,GAAW,IAAI,CAAC,GAAG,CAC/B,CAAC,EACD,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAC1C,CAAC;YAEF,MAAM,UAAU,GACZ,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;YAC1C,MAAM,UAAU,GACZ,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;YAE5C,MAAM,GAAG,GAAW,CAAC,CAAC;YAEtB,MAAM,QAAQ,GAAY,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC;YACzC,MAAM,SAAS,GAAY,KAAK,CAAC,CAAC,IAAI,UAAU,GAAG,GAAG,CAAC;YACvD,MAAM,OAAO,GAAY,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC;YACxC,MAAM,UAAU,GAAY,KAAK,CAAC,CAAC,IAAI,UAAU,GAAG,GAAG,CAAC;YAExD,OAAO;gBACH,MAAM;gBACN,KAAK;gBACL,UAAU;gBACV,UAAU;gBACV,UAAU;gBACV,UAAU;gBACV,QAAQ;gBACR,SAAS;gBACT,OAAO;gBACP,UAAU;aACb,CAAC;QACN,CAAC,EACD;YACI,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,QAAQ;YACtB,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,YAAY,EAAE,QAAQ;SACzB,CACJ,CAAC;QAEF,OAAO;YACH,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,QAAQ,IAAI,IAAI;YAC1B,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,UAAU,EAAE,MAAM,CAAC,UAAU;SAChC,CAAC;IACN,CAAC;CACJ;AA1ZD,wBA0ZC"}
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Select = void 0;
4
- const zod_1 = require("zod");
5
- class Select {
6
- name() {
7
- return 'interaction_select';
8
- }
9
- description() {
10
- return 'Select an element on the page with the given value';
11
- }
12
- inputSchema() {
13
- return {
14
- selector: zod_1.z
15
- .string()
16
- .describe('CSS selector for element to select.'),
17
- value: zod_1.z.string().describe('Value to select.'),
18
- };
19
- }
20
- outputSchema() {
21
- return {};
22
- }
23
- async handle(context, args) {
24
- const element = await context.page.waitForSelector(args.selector);
25
- await element.selectOption(args.value);
26
- return {};
27
- }
28
- }
29
- exports.Select = Select;
30
- //# sourceMappingURL=select.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/tools/interaction/select.ts"],"names":[],"mappings":";;;AAUA,6BAAwB;AASxB,MAAa,MAAM;IACf,IAAI;QACA,OAAO,oBAAoB,CAAC;IAChC,CAAC;IAED,WAAW;QACP,OAAO,oDAAoD,CAAC;IAChE,CAAC;IAED,WAAW;QACP,OAAO;YACH,QAAQ,EAAE,OAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,CAAC,qCAAqC,CAAC;YACpD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;SACjD,CAAC;IACN,CAAC;IAED,YAAY;QACR,OAAO,EAAE,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CACR,OAA2B,EAC3B,IAAiB;QAEjB,MAAM,OAAO,GAAkB,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAC7D,IAAI,CAAC,QAAQ,CAChB,CAAC;QACF,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO,EAAE,CAAC;IACd,CAAC;CACJ;AAhCD,wBAgCC"}
@@ -1,76 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GoBack = void 0;
4
- const zod_1 = require("zod");
5
- const DEFAULT_TIMEOUT_MS = 0;
6
- const DEFAULT_WAIT_UNTIL = 'load';
7
- class GoBack {
8
- name() {
9
- return 'navigation_go-back';
10
- }
11
- description() {
12
- return `
13
- Navigates to the previous page in history.
14
- In case of multiple redirects, the navigation will resolve with the response of the last redirect.
15
- If cannot go back, returns empty response.
16
- `;
17
- }
18
- inputSchema() {
19
- return {
20
- timeout: zod_1.z
21
- .number()
22
- .int()
23
- .nonnegative()
24
- .describe('Maximum operation time in milliseconds. Defaults to `0` - no timeout.')
25
- .optional()
26
- .default(DEFAULT_TIMEOUT_MS),
27
- waitUntil: zod_1.z
28
- .enum(['load', 'domcontentloaded', 'networkidle', 'commit'])
29
- .describe(`
30
- When to consider operation succeeded, defaults to \`load\`. Events can be either:
31
- - \`domcontentloaded\`: Consider operation to be finished when the \`DOMContentLoaded\` event is fired.
32
- - \`load\`: Consider operation to be finished when the \`load\` event is fired.
33
- - \`networkidle\`: **DISCOURAGED** consider operation to be finished when there are no network connections for
34
- at least \`500\` ms. Don't use this method for testing, rely on web assertions to assess readiness instead.
35
- - \`commit\`: Consider operation to be finished when network response is received and the document started loading.`)
36
- .optional()
37
- .default(DEFAULT_WAIT_UNTIL),
38
- };
39
- }
40
- outputSchema() {
41
- return {
42
- url: zod_1.z
43
- .string()
44
- .describe('Contains the URL of the navigated page.')
45
- .optional(),
46
- status: zod_1.z
47
- .number()
48
- .int()
49
- .positive()
50
- .describe('Contains the status code of the navigated page (e.g., 200 for a success).')
51
- .optional(),
52
- statusText: zod_1.z
53
- .string()
54
- .describe('Contains the status text of the navigated page (e.g. usually an "OK" for a success).')
55
- .optional(),
56
- ok: zod_1.z
57
- .boolean()
58
- .describe('Contains a boolean stating whether the navigated page was successful (status in the range 200-299) or not.')
59
- .optional(),
60
- };
61
- }
62
- async handle(context, args) {
63
- const response = await context.page.goBack({
64
- timeout: args.timeout,
65
- waitUntil: args.waitUntil,
66
- });
67
- return {
68
- url: response?.url(),
69
- status: response?.status(),
70
- statusText: response?.statusText(),
71
- ok: response?.ok(),
72
- };
73
- }
74
- }
75
- exports.GoBack = GoBack;
76
- //# sourceMappingURL=go-back.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"go-back.js","sourceRoot":"","sources":["../../../src/tools/navigation/go-back.ts"],"names":[],"mappings":";;;AAUA,6BAAwB;AAExB,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAclC,MAAa,MAAM;IACf,IAAI;QACA,OAAO,oBAAoB,CAAC;IAChC,CAAC;IAED,WAAW;QACP,OAAO;;;;SAIN,CAAC;IACN,CAAC;IAED,WAAW;QACP,OAAO;YACH,OAAO,EAAE,OAAC;iBACL,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,WAAW,EAAE;iBACb,QAAQ,CACL,uEAAuE,CAC1E;iBACA,QAAQ,EAAE;iBACV,OAAO,CAAC,kBAAkB,CAAC;YAChC,SAAS,EAAE,OAAC;iBACP,IAAI,CAAC,CAAC,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;iBAC3D,QAAQ,CACL;;;;;;oHAMgG,CACnG;iBACA,QAAQ,EAAE;iBACV,OAAO,CAAC,kBAAkB,CAAC;SACnC,CAAC;IACN,CAAC;IAED,YAAY;QACR,OAAO;YACH,GAAG,EAAE,OAAC;iBACD,MAAM,EAAE;iBACR,QAAQ,CAAC,yCAAyC,CAAC;iBACnD,QAAQ,EAAE;YACf,MAAM,EAAE,OAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,EAAE;iBACV,QAAQ,CACL,2EAA2E,CAC9E;iBACA,QAAQ,EAAE;YACf,UAAU,EAAE,OAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,CACL,sFAAsF,CACzF;iBACA,QAAQ,EAAE;YACf,EAAE,EAAE,OAAC;iBACA,OAAO,EAAE;iBACT,QAAQ,CACL,4GAA4G,CAC/G;iBACA,QAAQ,EAAE;SAClB,CAAC;IACN,CAAC;IAED,KAAK,CAAC,MAAM,CACR,OAA2B,EAC3B,IAAiB;QAEjB,MAAM,QAAQ,GAAoB,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;YACxD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAC,CAAC;QACH,OAAO;YACH,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE;YACpB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE;YAC1B,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE;YAClC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;SACrB,CAAC;IACN,CAAC;CACJ;AApFD,wBAoFC"}
@@ -1,76 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GoForward = void 0;
4
- const zod_1 = require("zod");
5
- const DEFAULT_TIMEOUT_MS = 0;
6
- const DEFAULT_WAIT_UNTIL = 'load';
7
- class GoForward {
8
- name() {
9
- return 'navigation_go-forward';
10
- }
11
- description() {
12
- return `
13
- Navigates to the next page in history.
14
- In case of multiple redirects, the navigation will resolve with the response of the last redirect.
15
- If cannot go back, returns empty response.
16
- `;
17
- }
18
- inputSchema() {
19
- return {
20
- timeout: zod_1.z
21
- .number()
22
- .int()
23
- .nonnegative()
24
- .describe('Maximum operation time in milliseconds. Defaults to `0` - no timeout.')
25
- .optional()
26
- .default(DEFAULT_TIMEOUT_MS),
27
- waitUntil: zod_1.z
28
- .enum(['load', 'domcontentloaded', 'networkidle', 'commit'])
29
- .describe(`
30
- When to consider operation succeeded, defaults to \`load\`. Events can be either:
31
- - \`domcontentloaded\`: Consider operation to be finished when the \`DOMContentLoaded\` event is fired.
32
- - \`load\`: Consider operation to be finished when the \`load\` event is fired.
33
- - \`networkidle\`: **DISCOURAGED** consider operation to be finished when there are no network connections for
34
- at least \`500\` ms. Don't use this method for testing, rely on web assertions to assess readiness instead.
35
- - \`commit\`: Consider operation to be finished when network response is received and the document started loading.`)
36
- .optional()
37
- .default(DEFAULT_WAIT_UNTIL),
38
- };
39
- }
40
- outputSchema() {
41
- return {
42
- url: zod_1.z
43
- .string()
44
- .describe('Contains the URL of the navigated page.')
45
- .optional(),
46
- status: zod_1.z
47
- .number()
48
- .int()
49
- .positive()
50
- .describe('Contains the status code of the navigated page (e.g., 200 for a success).')
51
- .optional(),
52
- statusText: zod_1.z
53
- .string()
54
- .describe('Contains the status text of the navigated page (e.g. usually an "OK" for a success).')
55
- .optional(),
56
- ok: zod_1.z
57
- .boolean()
58
- .describe('Contains a boolean stating whether the navigated page was successful (status in the range 200-299) or not.')
59
- .optional(),
60
- };
61
- }
62
- async handle(context, args) {
63
- const response = await context.page.goForward({
64
- timeout: args.timeout,
65
- waitUntil: args.waitUntil,
66
- });
67
- return {
68
- url: response?.url(),
69
- status: response?.status(),
70
- statusText: response?.statusText(),
71
- ok: response?.ok(),
72
- };
73
- }
74
- }
75
- exports.GoForward = GoForward;
76
- //# sourceMappingURL=go-forward.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"go-forward.js","sourceRoot":"","sources":["../../../src/tools/navigation/go-forward.ts"],"names":[],"mappings":";;;AAUA,6BAAwB;AAExB,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAclC,MAAa,SAAS;IAClB,IAAI;QACA,OAAO,uBAAuB,CAAC;IACnC,CAAC;IAED,WAAW;QACP,OAAO;;;;SAIN,CAAC;IACN,CAAC;IAED,WAAW;QACP,OAAO;YACH,OAAO,EAAE,OAAC;iBACL,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,WAAW,EAAE;iBACb,QAAQ,CACL,uEAAuE,CAC1E;iBACA,QAAQ,EAAE;iBACV,OAAO,CAAC,kBAAkB,CAAC;YAChC,SAAS,EAAE,OAAC;iBACP,IAAI,CAAC,CAAC,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;iBAC3D,QAAQ,CACL;;;;;;oHAMgG,CACnG;iBACA,QAAQ,EAAE;iBACV,OAAO,CAAC,kBAAkB,CAAC;SACnC,CAAC;IACN,CAAC;IAED,YAAY;QACR,OAAO;YACH,GAAG,EAAE,OAAC;iBACD,MAAM,EAAE;iBACR,QAAQ,CAAC,yCAAyC,CAAC;iBACnD,QAAQ,EAAE;YACf,MAAM,EAAE,OAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,EAAE;iBACV,QAAQ,CACL,2EAA2E,CAC9E;iBACA,QAAQ,EAAE;YACf,UAAU,EAAE,OAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,CACL,sFAAsF,CACzF;iBACA,QAAQ,EAAE;YACf,EAAE,EAAE,OAAC;iBACA,OAAO,EAAE;iBACT,QAAQ,CACL,4GAA4G,CAC/G;iBACA,QAAQ,EAAE;SAClB,CAAC;IACN,CAAC;IAED,KAAK,CAAC,MAAM,CACR,OAA2B,EAC3B,IAAoB;QAEpB,MAAM,QAAQ,GAAoB,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;YAC3D,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAC,CAAC;QACH,OAAO;YACH,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE;YACpB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE;YAC1B,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE;YAClC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;SACrB,CAAC;IACN,CAAC;CACJ;AApFD,8BAoFC"}
@@ -1,80 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GoTo = void 0;
4
- const zod_1 = require("zod");
5
- const DEFAULT_TIMEOUT_MS = 0;
6
- const DEFAULT_WAIT_UNTIL = 'load';
7
- class GoTo {
8
- name() {
9
- return 'navigation_go-to';
10
- }
11
- description() {
12
- return `
13
- Navigates to the given URL.
14
- **NOTE**: The tool either throws an error or returns a main resource response.
15
- The only exceptions are navigation to \`about:blank\` or navigation to the same URL with a different hash,
16
- which would succeed and return empty response.
17
- `;
18
- }
19
- inputSchema() {
20
- return {
21
- url: zod_1.z
22
- .string()
23
- .describe('URL to navigate page to. The url should include scheme, e.g. `http://`, `https://`.'),
24
- timeout: zod_1.z
25
- .number()
26
- .int()
27
- .nonnegative()
28
- .describe('Maximum operation time in milliseconds. Defaults to `0` - no timeout.')
29
- .optional()
30
- .default(DEFAULT_TIMEOUT_MS),
31
- waitUntil: zod_1.z
32
- .enum(['load', 'domcontentloaded', 'networkidle', 'commit'])
33
- .describe(`
34
- When to consider operation succeeded, defaults to \`load\`. Events can be either:
35
- - \`domcontentloaded\`: Consider operation to be finished when the \`DOMContentLoaded\` event is fired.
36
- - \`load\`: Consider operation to be finished when the \`load\` event is fired.
37
- - \`networkidle\`: **DISCOURAGED** consider operation to be finished when there are no network connections for
38
- at least \`500\` ms. Don't use this method for testing, rely on web assertions to assess readiness instead.
39
- - \`commit\`: Consider operation to be finished when network response is received and the document started loading.`)
40
- .optional()
41
- .default(DEFAULT_WAIT_UNTIL),
42
- };
43
- }
44
- outputSchema() {
45
- return {
46
- url: zod_1.z
47
- .string()
48
- .describe('Contains the URL of the navigated page.')
49
- .optional(),
50
- status: zod_1.z
51
- .number()
52
- .int()
53
- .positive()
54
- .describe('Contains the status code of the navigated page (e.g., 200 for a success).')
55
- .optional(),
56
- statusText: zod_1.z
57
- .string()
58
- .describe('Contains the status text of the navigated page (e.g. usually an "OK" for a success).')
59
- .optional(),
60
- ok: zod_1.z
61
- .boolean()
62
- .describe('Contains a boolean stating whether the navigated page was successful (status in the range 200-299) or not.')
63
- .optional(),
64
- };
65
- }
66
- async handle(context, args) {
67
- const response = await context.page.goto(args.url, {
68
- timeout: args.timeout,
69
- waitUntil: args.waitUntil,
70
- });
71
- return {
72
- url: response?.url(),
73
- status: response?.status(),
74
- statusText: response?.statusText(),
75
- ok: response?.ok(),
76
- };
77
- }
78
- }
79
- exports.GoTo = GoTo;
80
- //# sourceMappingURL=go-to.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"go-to.js","sourceRoot":"","sources":["../../../src/tools/navigation/go-to.ts"],"names":[],"mappings":";;;AAUA,6BAAwB;AAExB,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAelC,MAAa,IAAI;IACb,IAAI;QACA,OAAO,kBAAkB,CAAC;IAC9B,CAAC;IAED,WAAW;QACP,OAAO;;;;;SAKN,CAAC;IACN,CAAC;IAED,WAAW;QACP,OAAO;YACH,GAAG,EAAE,OAAC;iBACD,MAAM,EAAE;iBACR,QAAQ,CACL,qFAAqF,CACxF;YACL,OAAO,EAAE,OAAC;iBACL,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,WAAW,EAAE;iBACb,QAAQ,CACL,uEAAuE,CAC1E;iBACA,QAAQ,EAAE;iBACV,OAAO,CAAC,kBAAkB,CAAC;YAChC,SAAS,EAAE,OAAC;iBACP,IAAI,CAAC,CAAC,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;iBAC3D,QAAQ,CACL;;;;;;oHAMgG,CACnG;iBACA,QAAQ,EAAE;iBACV,OAAO,CAAC,kBAAkB,CAAC;SACnC,CAAC;IACN,CAAC;IAED,YAAY;QACR,OAAO;YACH,GAAG,EAAE,OAAC;iBACD,MAAM,EAAE;iBACR,QAAQ,CAAC,yCAAyC,CAAC;iBACnD,QAAQ,EAAE;YACf,MAAM,EAAE,OAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,EAAE;iBACV,QAAQ,CACL,2EAA2E,CAC9E;iBACA,QAAQ,EAAE;YACf,UAAU,EAAE,OAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,CACL,sFAAsF,CACzF;iBACA,QAAQ,EAAE;YACf,EAAE,EAAE,OAAC;iBACA,OAAO,EAAE;iBACT,QAAQ,CACL,4GAA4G,CAC/G;iBACA,QAAQ,EAAE;SAClB,CAAC;IACN,CAAC;IAED,KAAK,CAAC,MAAM,CACR,OAA2B,EAC3B,IAAe;QAEf,MAAM,QAAQ,GAAoB,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YAChE,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAC,CAAC;QACH,OAAO;YACH,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE;YACpB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE;YAC1B,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE;YAClC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;SACrB,CAAC;IACN,CAAC;CACJ;AA1FD,oBA0FC"}
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.tools = void 0;
4
- const go_back_1 = require("./go-back");
5
- const go_forward_1 = require("./go-forward");
6
- const go_to_1 = require("./go-to");
7
- const reload_1 = require("./reload");
8
- exports.tools = [
9
- new go_back_1.GoBack(),
10
- new go_forward_1.GoForward(),
11
- new go_to_1.GoTo(),
12
- new reload_1.Reload(),
13
- ];
14
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/navigation/index.ts"],"names":[],"mappings":";;;AACA,uCAAmC;AACnC,6CAAyC;AACzC,mCAA+B;AAC/B,qCAAkC;AAErB,QAAA,KAAK,GAAW;IACzB,IAAI,gBAAM,EAAE;IACZ,IAAI,sBAAS,EAAE;IACf,IAAI,YAAI,EAAE;IACV,IAAI,eAAM,EAAE;CACf,CAAC"}