@dyyz1993/agent-browser 0.28.0 → 0.29.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 (209) hide show
  1. package/dist/actions/context.d.ts +4 -0
  2. package/dist/actions/context.d.ts.map +1 -1
  3. package/dist/actions/context.js +41 -1
  4. package/dist/actions/context.js.map +1 -1
  5. package/dist/actions/index.d.ts.map +1 -1
  6. package/dist/actions/index.js +164 -297
  7. package/dist/actions/index.js.map +1 -1
  8. package/dist/actions/interaction.d.ts.map +1 -1
  9. package/dist/actions/interaction.js +96 -30
  10. package/dist/actions/interaction.js.map +1 -1
  11. package/dist/actions/touch.d.ts +25 -0
  12. package/dist/actions/touch.d.ts.map +1 -0
  13. package/dist/actions/touch.js +114 -0
  14. package/dist/actions/touch.js.map +1 -0
  15. package/dist/browser/browser-manager.d.ts +15 -0
  16. package/dist/browser/browser-manager.d.ts.map +1 -1
  17. package/dist/browser/browser-manager.js +75 -7
  18. package/dist/browser/browser-manager.js.map +1 -1
  19. package/dist/browser/network-analysis.d.ts +65 -0
  20. package/dist/browser/network-analysis.d.ts.map +1 -0
  21. package/dist/browser/network-analysis.js +359 -0
  22. package/dist/browser/network-analysis.js.map +1 -0
  23. package/dist/browser/network-tracker.d.ts +4 -0
  24. package/dist/browser/network-tracker.d.ts.map +1 -1
  25. package/dist/browser/network-tracker.js +41 -0
  26. package/dist/browser/network-tracker.js.map +1 -1
  27. package/dist/browser/popup-detector.d.ts +22 -0
  28. package/dist/browser/popup-detector.d.ts.map +1 -0
  29. package/dist/browser/popup-detector.js +138 -0
  30. package/dist/browser/popup-detector.js.map +1 -0
  31. package/dist/cli/commands/index.d.ts +5 -0
  32. package/dist/cli/commands/index.d.ts.map +1 -0
  33. package/dist/cli/commands/index.js +219 -0
  34. package/dist/cli/commands/index.js.map +1 -0
  35. package/dist/cli/commands/interact.d.ts +7 -0
  36. package/dist/cli/commands/interact.d.ts.map +1 -0
  37. package/dist/cli/commands/interact.js +371 -0
  38. package/dist/cli/commands/interact.js.map +1 -0
  39. package/dist/cli/commands/navigate.d.ts +4 -0
  40. package/dist/cli/commands/navigate.d.ts.map +1 -0
  41. package/dist/cli/commands/navigate.js +46 -0
  42. package/dist/cli/commands/navigate.js.map +1 -0
  43. package/dist/cli/commands/network.d.ts +3 -0
  44. package/dist/cli/commands/network.d.ts.map +1 -0
  45. package/dist/cli/commands/network.js +292 -0
  46. package/dist/cli/commands/network.js.map +1 -0
  47. package/dist/cli/commands/plugin.d.ts +3 -0
  48. package/dist/cli/commands/plugin.d.ts.map +1 -0
  49. package/dist/cli/commands/plugin.js +84 -0
  50. package/dist/cli/commands/plugin.js.map +1 -0
  51. package/dist/cli/commands/query.d.ts +7 -0
  52. package/dist/cli/commands/query.d.ts.map +1 -0
  53. package/dist/cli/commands/query.js +333 -0
  54. package/dist/cli/commands/query.js.map +1 -0
  55. package/dist/cli/commands/session.d.ts +3 -0
  56. package/dist/cli/commands/session.d.ts.map +1 -0
  57. package/dist/cli/commands/session.js +372 -0
  58. package/dist/cli/commands/session.js.map +1 -0
  59. package/dist/cli/commands/shared.d.ts +24 -0
  60. package/dist/cli/commands/shared.d.ts.map +1 -0
  61. package/dist/cli/commands/shared.js +113 -0
  62. package/dist/cli/commands/shared.js.map +1 -0
  63. package/dist/cli/commands.d.ts +1 -7
  64. package/dist/cli/commands.d.ts.map +1 -1
  65. package/dist/cli/commands.js +1 -1684
  66. package/dist/cli/commands.js.map +1 -1
  67. package/dist/cli/connection.d.ts.map +1 -1
  68. package/dist/cli/connection.js +9 -1
  69. package/dist/cli/connection.js.map +1 -1
  70. package/dist/cli/help.d.ts.map +1 -1
  71. package/dist/cli/help.js +1 -24
  72. package/dist/cli/help.js.map +1 -1
  73. package/dist/cli.js +2 -2
  74. package/dist/cli.js.map +1 -1
  75. package/dist/daemon.d.ts.map +1 -1
  76. package/dist/daemon.js +21 -1
  77. package/dist/daemon.js.map +1 -1
  78. package/dist/diff.d.ts +4 -0
  79. package/dist/diff.d.ts.map +1 -1
  80. package/dist/diff.js +16 -0
  81. package/dist/diff.js.map +1 -1
  82. package/dist/flow/exporters/cypress.js +1 -1
  83. package/dist/flow/exporters/cypress.js.map +1 -1
  84. package/dist/flow/exporters/selenium.js +1 -1
  85. package/dist/flow/exporters/selenium.js.map +1 -1
  86. package/dist/openapi.d.ts.map +1 -1
  87. package/dist/openapi.js +2 -1
  88. package/dist/openapi.js.map +1 -1
  89. package/dist/plugins/registry.d.ts.map +1 -1
  90. package/dist/plugins/registry.js +4 -1
  91. package/dist/plugins/registry.js.map +1 -1
  92. package/dist/plugins/types.d.ts +4 -4
  93. package/dist/plugins/types.d.ts.map +1 -1
  94. package/dist/protocol.d.ts.map +1 -1
  95. package/dist/protocol.js +30 -7
  96. package/dist/protocol.js.map +1 -1
  97. package/dist/snapshot/constants.d.ts +6 -0
  98. package/dist/snapshot/constants.d.ts.map +1 -0
  99. package/dist/snapshot/constants.js +77 -0
  100. package/dist/snapshot/constants.js.map +1 -0
  101. package/dist/snapshot/dom-scripts.d.ts +12 -0
  102. package/dist/snapshot/dom-scripts.d.ts.map +1 -0
  103. package/dist/snapshot/dom-scripts.js +438 -0
  104. package/dist/snapshot/dom-scripts.js.map +1 -0
  105. package/dist/snapshot/format.d.ts +13 -0
  106. package/dist/snapshot/format.d.ts.map +1 -0
  107. package/dist/snapshot/format.js +175 -0
  108. package/dist/snapshot/format.js.map +1 -0
  109. package/dist/snapshot/index.d.ts +6 -0
  110. package/dist/snapshot/index.d.ts.map +1 -0
  111. package/dist/snapshot/index.js +5 -0
  112. package/dist/snapshot/index.js.map +1 -0
  113. package/dist/snapshot/refs.d.ts +3 -0
  114. package/dist/snapshot/refs.d.ts.map +1 -0
  115. package/dist/snapshot/refs.js +8 -0
  116. package/dist/snapshot/refs.js.map +1 -0
  117. package/dist/snapshot/selectors.d.ts +17 -0
  118. package/dist/snapshot/selectors.d.ts.map +1 -0
  119. package/dist/snapshot/selectors.js +619 -0
  120. package/dist/snapshot/selectors.js.map +1 -0
  121. package/dist/snapshot/snapshot.d.ts +12 -0
  122. package/dist/snapshot/snapshot.d.ts.map +1 -0
  123. package/dist/snapshot/snapshot.js +104 -0
  124. package/dist/snapshot/snapshot.js.map +1 -0
  125. package/dist/snapshot/types.d.ts +27 -0
  126. package/dist/snapshot/types.d.ts.map +1 -0
  127. package/dist/snapshot/types.js +2 -0
  128. package/dist/snapshot/types.js.map +1 -0
  129. package/dist/snapshot.d.ts +1 -79
  130. package/dist/snapshot.d.ts.map +1 -1
  131. package/dist/snapshot.js +1 -1800
  132. package/dist/snapshot.js.map +1 -1
  133. package/dist/stream/client-state.d.ts +13 -0
  134. package/dist/stream/client-state.d.ts.map +1 -0
  135. package/dist/stream/client-state.js +2 -0
  136. package/dist/stream/client-state.js.map +1 -0
  137. package/dist/stream/element-utils.d.ts +8 -0
  138. package/dist/stream/element-utils.d.ts.map +1 -0
  139. package/dist/stream/element-utils.js +25 -0
  140. package/dist/stream/element-utils.js.map +1 -0
  141. package/dist/stream/frame-processor.d.ts +63 -0
  142. package/dist/stream/frame-processor.d.ts.map +1 -0
  143. package/dist/stream/frame-processor.js +178 -0
  144. package/dist/stream/frame-processor.js.map +1 -0
  145. package/dist/stream/index.d.ts +10 -0
  146. package/dist/stream/index.d.ts.map +1 -0
  147. package/dist/stream/index.js +5 -0
  148. package/dist/stream/index.js.map +1 -0
  149. package/dist/stream/input-handler.d.ts +10 -0
  150. package/dist/stream/input-handler.d.ts.map +1 -0
  151. package/dist/stream/input-handler.js +81 -0
  152. package/dist/stream/input-handler.js.map +1 -0
  153. package/dist/stream/messages.d.ts +144 -0
  154. package/dist/stream/messages.d.ts.map +1 -0
  155. package/dist/stream/messages.js +46 -0
  156. package/dist/stream/messages.js.map +1 -0
  157. package/dist/stream-server-standalone.d.ts +0 -3
  158. package/dist/stream-server-standalone.d.ts.map +1 -1
  159. package/dist/stream-server-standalone.js +22 -82
  160. package/dist/stream-server-standalone.js.map +1 -1
  161. package/dist/stream-server.d.ts +8 -212
  162. package/dist/stream-server.d.ts.map +1 -1
  163. package/dist/stream-server.js +35 -389
  164. package/dist/stream-server.js.map +1 -1
  165. package/dist/types/base.d.ts +11 -0
  166. package/dist/types/base.d.ts.map +1 -0
  167. package/dist/types/base.js +2 -0
  168. package/dist/types/base.js.map +1 -0
  169. package/dist/types/browser.d.ts +26 -0
  170. package/dist/types/browser.d.ts.map +1 -0
  171. package/dist/types/browser.js +2 -0
  172. package/dist/types/browser.js.map +1 -0
  173. package/dist/types/commands.d.ts +768 -0
  174. package/dist/types/commands.d.ts.map +1 -0
  175. package/dist/types/commands.js +2 -0
  176. package/dist/types/commands.js.map +1 -0
  177. package/dist/types/crawl.d.ts +89 -0
  178. package/dist/types/crawl.d.ts.map +1 -0
  179. package/dist/types/crawl.js +2 -0
  180. package/dist/types/crawl.js.map +1 -0
  181. package/dist/types/index.d.ts +9 -0
  182. package/dist/types/index.d.ts.map +1 -0
  183. package/dist/types/index.js +9 -0
  184. package/dist/types/index.js.map +1 -0
  185. package/dist/types/interact.d.ts +61 -0
  186. package/dist/types/interact.d.ts.map +1 -0
  187. package/dist/types/interact.js +2 -0
  188. package/dist/types/interact.js.map +1 -0
  189. package/dist/types/plugins.d.ts +39 -0
  190. package/dist/types/plugins.d.ts.map +1 -0
  191. package/dist/types/plugins.js +2 -0
  192. package/dist/types/plugins.js.map +1 -0
  193. package/dist/types/responses.d.ts +140 -0
  194. package/dist/types/responses.d.ts.map +1 -0
  195. package/dist/types/responses.js +4 -0
  196. package/dist/types/responses.js.map +1 -0
  197. package/dist/types/utils.d.ts +12 -0
  198. package/dist/types/utils.d.ts.map +1 -0
  199. package/dist/types/utils.js +2 -0
  200. package/dist/types/utils.js.map +1 -0
  201. package/dist/types.d.ts +1 -1125
  202. package/dist/types.d.ts.map +1 -1
  203. package/dist/types.js +1 -3
  204. package/dist/types.js.map +1 -1
  205. package/dist/version.d.ts +2 -0
  206. package/dist/version.d.ts.map +1 -0
  207. package/dist/version.js +31 -0
  208. package/dist/version.js.map +1 -0
  209. package/package.json +11 -11
@@ -18,6 +18,10 @@ export declare function handleUserAgent(command: Command & {
18
18
  userAgent: string;
19
19
  }, _browser: BrowserManager): Promise<Response>;
20
20
  export declare function handleDevice(command: DeviceCommand, browser: BrowserManager): Promise<Response>;
21
+ export declare function handleDevices(command: {
22
+ id: string;
23
+ filter?: string;
24
+ }, browser: BrowserManager): Promise<Response>;
21
25
  export declare function handleBack(command: Command & {
22
26
  action: 'back';
23
27
  }, browser: BrowserManager): Promise<Response>;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/actions/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/actions/context.ts"],"names":[],"mappings":"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"}
@@ -85,10 +85,18 @@ export async function handlePermissions(command, browser) {
85
85
  }
86
86
  export async function handleViewport(command, browser) {
87
87
  await browser.setViewport(command.width, command.height);
88
+ try {
89
+ await browser.clearDeviceMetricsOverride();
90
+ }
91
+ catch {
92
+ // Ignore if no override was set
93
+ }
94
+ const tips = [];
95
+ tips.push(`Viewport: ${command.width}x${command.height}`);
88
96
  return successResponse(command.id, {
89
97
  width: command.width,
90
98
  height: command.height,
91
- });
99
+ }, tips);
92
100
  }
93
101
  export async function handleUserAgent(command, _browser) {
94
102
  return successResponse(command.id, {
@@ -113,12 +121,44 @@ export async function handleDevice(command, browser) {
113
121
  // Ignore error if override was never set
114
122
  }
115
123
  }
124
+ const tips = [];
125
+ tips.push(`Device: ${command.device} (${device.viewport.width}x${device.viewport.height}${device.isMobile ? ', mobile' : ''}${device.deviceScaleFactor > 1 ? `, ${device.deviceScaleFactor}x DPR` : ''})`);
116
126
  return successResponse(command.id, {
117
127
  device: command.device,
118
128
  viewport: device.viewport,
119
129
  userAgent: device.userAgent,
120
130
  deviceScaleFactor: device.deviceScaleFactor,
131
+ isMobile: device.isMobile ?? false,
132
+ hasTouch: device.hasTouch ?? false,
133
+ }, tips);
134
+ }
135
+ export async function handleDevices(command, browser) {
136
+ const allDevices = browser.listDevices();
137
+ const quickProfiles = browser.listQuickProfiles();
138
+ let filtered = allDevices;
139
+ if (command.filter) {
140
+ const f = command.filter.toLowerCase();
141
+ filtered = allDevices.filter(d => d.toLowerCase().includes(f));
142
+ }
143
+ const deviceList = filtered.slice(0, 50).map(name => {
144
+ const d = browser.getDevice(name);
145
+ return d ? {
146
+ name,
147
+ viewport: d.viewport,
148
+ deviceScaleFactor: d.deviceScaleFactor,
149
+ isMobile: d.isMobile,
150
+ hasTouch: d.hasTouch,
151
+ } : { name };
121
152
  });
153
+ const tips = [];
154
+ tips.push(`Quick profiles: ${quickProfiles.join(', ')}`);
155
+ tips.push(`Use: agent-browser set device "<name>" or agent-browser set viewport <w> <h>`);
156
+ return successResponse(command.id, {
157
+ total: allDevices.length,
158
+ showing: deviceList.length,
159
+ quickProfiles: quickProfiles,
160
+ devices: deviceList,
161
+ }, tips);
122
162
  }
123
163
  export async function handleBack(command, browser) {
124
164
  browser.recordStep({ action: 'back' });
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/actions/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/actions/context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAEV,UAAU,EACV,QAAQ,EAIT,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAqKpD,wBAAsB,cAAc,CAClC,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,QAAQ,CAAC,CAmTnB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAEV,UAAU,EACV,QAAQ,EAIT,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAsUpD,wBAAsB,cAAc,CAClC,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,QAAQ,CAAC,CAkBnB"}
@@ -13,317 +13,184 @@ import { handleCrawl } from './crawl.js';
13
13
  import { handleMap } from './map.js';
14
14
  import { handleClose, handleTabNew, handleTabList, handleFrames, handleTabSwitch, handleTabClose, handleWindowNew, } from './tabs.js';
15
15
  import { handleCookiesGet, handleCookiesSet, handleCookiesClear, handleStorageGet, handleStorageSet, handleStorageClear, } from './storage.js';
16
- import { handleDialog, handlePdf, handleRoute, handleUnroute, handleRequests, handleWebSockets, handleDownload, handleGeolocation, handlePermissions, handleViewport, handleUserAgent, handleDevice, handleBack, handleForward, handleReload, handleUrl, handleTitle, } from './context.js';
16
+ import { handleDialog, handlePdf, handleRoute, handleUnroute, handleRequests, handleWebSockets, handleDownload, handleGeolocation, handlePermissions, handleViewport, handleUserAgent, handleDevice, handleDevices, handleBack, handleForward, handleReload, handleUrl, handleTitle, } from './context.js';
17
17
  import { handleGetAttribute, handleGetText, handleIsVisible, handleIsEnabled, handleIsChecked, handleCount, handleBoundingBox, handleStyles, } from './elements.js';
18
18
  import { handleVideoStart, handleVideoStop, handleTraceStart, handleTraceStop, handleHarStart, handleHarStop, handleStateSave, handleStateLoad, handleConsole, handleErrors, handleKeyboard, handleWheel, handleTap, handleClipboard, handleHighlight, handleClear, handleSelectAll, handleInnerText, handleInnerHtml, handleInputValue, handleSetValue, handleDispatch, handleEvalHandle, handleExpose, handleAddScript, handleAddStyle, handleEmulateMedia, handleOffline, handleHeaders, handlePause, handleGetByAltText, handleGetByTitle, handleGetByTestId, handleNth, handleWaitForUrl, handleWaitForLoadState, handleSetContent, handleTimezone, handleLocale, handleCredentials, handleBringToFront, handleWaitForFunction, handleScrollIntoView, handleAddInitScript, handleKeyDown, handleKeyUp, handleInsertText, handleMultiSelect, handleWaitForDownload, handleResponseBody, } from './advanced.js';
19
19
  import { handleMouseMove, handleMouseDown, handleMouseUp, handleWander, handleMouseTrajectory, } from './mouse.js';
20
20
  import { handleScreencastStart, handleScreencastStop, handleInputMouse, handleInputKeyboard, handleInputTouch, } from './screencast.js';
21
+ import { handleTouch } from './touch.js';
21
22
  import { handleRecordingStart, handleRecordingStop, handleRecordingRestart } from './recording.js';
22
23
  import { handleRecorderStart, handleRecorderStop, handleRecorderStatus, handleRecorderReplay, } from './recorder.js';
23
24
  import { handleSelectorFor, handleSelectorsOf, handleValidate, handleViewer, handleAsk, handleConfig, handleHistory, } from './meta.js';
25
+ const PLUGIN_ACTIONS = new Set([
26
+ 'plugin_install',
27
+ 'plugin_uninstall',
28
+ 'plugin_update',
29
+ 'plugin_list',
30
+ 'plugin_info',
31
+ 'plugin_search',
32
+ 'plugin_create',
33
+ 'plugin_run',
34
+ ]);
35
+ const actionHandlers = new Map([
36
+ ['launch', handleLaunch],
37
+ ['navigate', handleNavigate],
38
+ ['click', handleClick],
39
+ ['type', handleType],
40
+ ['fill', handleFill],
41
+ ['check', handleCheck],
42
+ ['uncheck', handleUncheck],
43
+ ['upload', handleUpload],
44
+ ['dblclick', handleDoubleClick],
45
+ ['focus', handleFocus],
46
+ ['drag', handleDrag],
47
+ ['getbyrole', handleGetByRole],
48
+ ['getbytext', handleGetByText],
49
+ ['getbylabel', handleGetByLabel],
50
+ ['getbyplaceholder', handleGetByPlaceholder],
51
+ ['press', handlePress],
52
+ ['screenshot', handleScreenshot],
53
+ ['snapshot', handleSnapshot],
54
+ ['evaluate', handleEvaluate],
55
+ ['wait', handleWait],
56
+ ['scroll', handleScroll],
57
+ ['select', handleSelect],
58
+ ['hover', handleHover],
59
+ ['content', handleContent],
60
+ ['close', handleClose],
61
+ ['tab_new', handleTabNew],
62
+ ['tab_list', handleTabList],
63
+ ['frames', handleFrames],
64
+ ['tab_switch', handleTabSwitch],
65
+ ['tab_close', handleTabClose],
66
+ ['window_new', handleWindowNew],
67
+ ['cookies_get', handleCookiesGet],
68
+ ['cookies_set', handleCookiesSet],
69
+ ['cookies_clear', handleCookiesClear],
70
+ ['storage_get', handleStorageGet],
71
+ ['storage_set', handleStorageSet],
72
+ ['storage_clear', handleStorageClear],
73
+ ['dialog', handleDialog],
74
+ ['pdf', handlePdf],
75
+ ['route', handleRoute],
76
+ ['unroute', handleUnroute],
77
+ ['requests', handleRequests],
78
+ ['websockets', handleWebSockets],
79
+ ['download', handleDownload],
80
+ ['geolocation', handleGeolocation],
81
+ ['permissions', handlePermissions],
82
+ ['viewport', handleViewport],
83
+ ['useragent', handleUserAgent],
84
+ ['device', handleDevice],
85
+ ['devices', handleDevices],
86
+ ['back', handleBack],
87
+ ['forward', handleForward],
88
+ ['reload', handleReload],
89
+ ['url', handleUrl],
90
+ ['title', handleTitle],
91
+ ['getattribute', handleGetAttribute],
92
+ ['gettext', handleGetText],
93
+ ['isvisible', handleIsVisible],
94
+ ['isenabled', handleIsEnabled],
95
+ ['ischecked', handleIsChecked],
96
+ ['count', handleCount],
97
+ ['boundingbox', handleBoundingBox],
98
+ ['styles', handleStyles],
99
+ ['video_start', handleVideoStart],
100
+ ['video_stop', handleVideoStop],
101
+ ['trace_start', handleTraceStart],
102
+ ['trace_stop', handleTraceStop],
103
+ ['har_start', handleHarStart],
104
+ ['har_stop', handleHarStop],
105
+ ['state_save', handleStateSave],
106
+ ['state_load', handleStateLoad],
107
+ ['console', handleConsole],
108
+ ['errors', handleErrors],
109
+ ['keyboard', handleKeyboard],
110
+ ['wheel', handleWheel],
111
+ ['tap', handleTap],
112
+ ['clipboard', handleClipboard],
113
+ ['highlight', handleHighlight],
114
+ ['clear', handleClear],
115
+ ['selectall', handleSelectAll],
116
+ ['innertext', handleInnerText],
117
+ ['innerhtml', handleInnerHtml],
118
+ ['inputvalue', handleInputValue],
119
+ ['setvalue', handleSetValue],
120
+ ['dispatch', handleDispatch],
121
+ ['evalhandle', handleEvalHandle],
122
+ ['expose', handleExpose],
123
+ ['addscript', handleAddScript],
124
+ ['addstyle', handleAddStyle],
125
+ ['emulatemedia', handleEmulateMedia],
126
+ ['offline', handleOffline],
127
+ ['headers', handleHeaders],
128
+ ['pause', handlePause],
129
+ ['getbyalttext', handleGetByAltText],
130
+ ['getbytitle', handleGetByTitle],
131
+ ['getbytestid', handleGetByTestId],
132
+ ['nth', handleNth],
133
+ ['waitforurl', handleWaitForUrl],
134
+ ['waitforloadstate', handleWaitForLoadState],
135
+ ['setcontent', handleSetContent],
136
+ ['timezone', handleTimezone],
137
+ ['locale', handleLocale],
138
+ ['credentials', handleCredentials],
139
+ ['mousemove', handleMouseMove],
140
+ ['mousedown', handleMouseDown],
141
+ ['mouseup', handleMouseUp],
142
+ ['wander', handleWander],
143
+ ['mousetrajectory', handleMouseTrajectory],
144
+ ['bringtofront', handleBringToFront],
145
+ ['waitforfunction', handleWaitForFunction],
146
+ ['scrollintoview', handleScrollIntoView],
147
+ ['addinitscript', handleAddInitScript],
148
+ ['keydown', handleKeyDown],
149
+ ['keyup', handleKeyUp],
150
+ ['inserttext', handleInsertText],
151
+ ['multiselect', handleMultiSelect],
152
+ ['waitfordownload', handleWaitForDownload],
153
+ ['responsebody', handleResponseBody],
154
+ ['screencast_start', handleScreencastStart],
155
+ ['screencast_stop', handleScreencastStop],
156
+ ['input_mouse', handleInputMouse],
157
+ ['input_keyboard', handleInputKeyboard],
158
+ ['input_touch', handleInputTouch],
159
+ ['touch', handleTouch],
160
+ ['recording_start', handleRecordingStart],
161
+ ['recording_stop', handleRecordingStop],
162
+ ['recording_restart', handleRecordingRestart],
163
+ ['recorder_start', handleRecorderStart],
164
+ ['recorder_stop', handleRecorderStop],
165
+ ['recorder_status', handleRecorderStatus],
166
+ ['recorder_replay', handleRecorderReplay],
167
+ ['scrape', handleScrape],
168
+ ['crawl', handleCrawl],
169
+ ['map', handleMap],
170
+ ['search', handleSearch],
171
+ ['interact', handleInteract],
172
+ ['viewer', handleViewer],
173
+ ['ask', handleAsk],
174
+ ['config', (cmd) => handleConfig(cmd)],
175
+ ['history', handleHistory],
176
+ ['selector-for', (cmd, br) => handleSelectorFor(cmd, br)],
177
+ ['selectors-of', (cmd, br) => handleSelectorsOf(cmd, br)],
178
+ ['validate', (cmd, br) => handleValidate(cmd, br)],
179
+ ]);
24
180
  export async function executeCommand(command, browser) {
25
181
  try {
26
182
  if (command.action === 'flow') {
27
183
  return await handleFlowAction(command, browser);
28
184
  }
29
185
  const cmd = command;
30
- switch (cmd.action) {
31
- case 'launch':
32
- return await handleLaunch(cmd, browser);
33
- case 'navigate':
34
- return await handleNavigate(cmd, browser);
35
- case 'click':
36
- return await handleClick(cmd, browser);
37
- case 'type':
38
- return await handleType(cmd, browser);
39
- case 'fill':
40
- return await handleFill(cmd, browser);
41
- case 'check':
42
- return await handleCheck(cmd, browser);
43
- case 'uncheck':
44
- return await handleUncheck(cmd, browser);
45
- case 'upload':
46
- return await handleUpload(cmd, browser);
47
- case 'dblclick':
48
- return await handleDoubleClick(cmd, browser);
49
- case 'focus':
50
- return await handleFocus(cmd, browser);
51
- case 'drag':
52
- return await handleDrag(cmd, browser);
53
- case 'getbyrole':
54
- return await handleGetByRole(cmd, browser);
55
- case 'getbytext':
56
- return await handleGetByText(cmd, browser);
57
- case 'getbylabel':
58
- return await handleGetByLabel(cmd, browser);
59
- case 'getbyplaceholder':
60
- return await handleGetByPlaceholder(cmd, browser);
61
- case 'press':
62
- return await handlePress(cmd, browser);
63
- case 'screenshot':
64
- return await handleScreenshot(cmd, browser);
65
- case 'snapshot':
66
- return await handleSnapshot(cmd, browser);
67
- case 'evaluate':
68
- return await handleEvaluate(cmd, browser);
69
- case 'wait':
70
- return await handleWait(cmd, browser);
71
- case 'scroll':
72
- return await handleScroll(cmd, browser);
73
- case 'select':
74
- return await handleSelect(cmd, browser);
75
- case 'hover':
76
- return await handleHover(cmd, browser);
77
- case 'content':
78
- return await handleContent(cmd, browser);
79
- case 'close':
80
- return await handleClose(cmd, browser);
81
- case 'tab_new':
82
- return await handleTabNew(cmd, browser);
83
- case 'tab_list':
84
- return await handleTabList(cmd, browser);
85
- case 'frames':
86
- return await handleFrames(cmd, browser);
87
- case 'tab_switch':
88
- return await handleTabSwitch(cmd, browser);
89
- case 'tab_close':
90
- return await handleTabClose(cmd, browser);
91
- case 'window_new':
92
- return await handleWindowNew(cmd, browser);
93
- case 'cookies_get':
94
- return await handleCookiesGet(cmd, browser);
95
- case 'cookies_set':
96
- return await handleCookiesSet(cmd, browser);
97
- case 'cookies_clear':
98
- return await handleCookiesClear(cmd, browser);
99
- case 'storage_get':
100
- return await handleStorageGet(cmd, browser);
101
- case 'storage_set':
102
- return await handleStorageSet(cmd, browser);
103
- case 'storage_clear':
104
- return await handleStorageClear(cmd, browser);
105
- case 'dialog':
106
- return await handleDialog(cmd, browser);
107
- case 'pdf':
108
- return await handlePdf(cmd, browser);
109
- case 'route':
110
- return await handleRoute(cmd, browser);
111
- case 'unroute':
112
- return await handleUnroute(cmd, browser);
113
- case 'requests':
114
- return await handleRequests(cmd, browser);
115
- case 'websockets':
116
- return await handleWebSockets(cmd, browser);
117
- case 'download':
118
- return await handleDownload(cmd, browser);
119
- case 'geolocation':
120
- return await handleGeolocation(cmd, browser);
121
- case 'permissions':
122
- return await handlePermissions(cmd, browser);
123
- case 'viewport':
124
- return await handleViewport(cmd, browser);
125
- case 'useragent':
126
- return await handleUserAgent(cmd, browser);
127
- case 'device':
128
- return await handleDevice(cmd, browser);
129
- case 'back':
130
- return await handleBack(cmd, browser);
131
- case 'forward':
132
- return await handleForward(cmd, browser);
133
- case 'reload':
134
- return await handleReload(cmd, browser);
135
- case 'url':
136
- return await handleUrl(cmd, browser);
137
- case 'title':
138
- return await handleTitle(cmd, browser);
139
- case 'getattribute':
140
- return await handleGetAttribute(cmd, browser);
141
- case 'gettext':
142
- return await handleGetText(cmd, browser);
143
- case 'isvisible':
144
- return await handleIsVisible(cmd, browser);
145
- case 'isenabled':
146
- return await handleIsEnabled(cmd, browser);
147
- case 'ischecked':
148
- return await handleIsChecked(cmd, browser);
149
- case 'count':
150
- return await handleCount(cmd, browser);
151
- case 'boundingbox':
152
- return await handleBoundingBox(cmd, browser);
153
- case 'styles':
154
- return await handleStyles(cmd, browser);
155
- case 'video_start':
156
- return await handleVideoStart(cmd, browser);
157
- case 'video_stop':
158
- return await handleVideoStop(cmd, browser);
159
- case 'trace_start':
160
- return await handleTraceStart(cmd, browser);
161
- case 'trace_stop':
162
- return await handleTraceStop(cmd, browser);
163
- case 'har_start':
164
- return await handleHarStart(cmd, browser);
165
- case 'har_stop':
166
- return await handleHarStop(cmd, browser);
167
- case 'state_save':
168
- return await handleStateSave(cmd, browser);
169
- case 'state_load':
170
- return await handleStateLoad(cmd, browser);
171
- case 'console':
172
- return await handleConsole(cmd, browser);
173
- case 'errors':
174
- return await handleErrors(cmd, browser);
175
- case 'keyboard':
176
- return await handleKeyboard(cmd, browser);
177
- case 'wheel':
178
- return await handleWheel(cmd, browser);
179
- case 'tap':
180
- return await handleTap(cmd, browser);
181
- case 'clipboard':
182
- return await handleClipboard(cmd, browser);
183
- case 'highlight':
184
- return await handleHighlight(cmd, browser);
185
- case 'clear':
186
- return await handleClear(cmd, browser);
187
- case 'selectall':
188
- return await handleSelectAll(cmd, browser);
189
- case 'innertext':
190
- return await handleInnerText(cmd, browser);
191
- case 'innerhtml':
192
- return await handleInnerHtml(cmd, browser);
193
- case 'inputvalue':
194
- return await handleInputValue(cmd, browser);
195
- case 'setvalue':
196
- return await handleSetValue(cmd, browser);
197
- case 'dispatch':
198
- return await handleDispatch(cmd, browser);
199
- case 'evalhandle':
200
- return await handleEvalHandle(cmd, browser);
201
- case 'expose':
202
- return await handleExpose(cmd, browser);
203
- case 'addscript':
204
- return await handleAddScript(cmd, browser);
205
- case 'addstyle':
206
- return await handleAddStyle(cmd, browser);
207
- case 'emulatemedia':
208
- return await handleEmulateMedia(cmd, browser);
209
- case 'offline':
210
- return await handleOffline(cmd, browser);
211
- case 'headers':
212
- return await handleHeaders(cmd, browser);
213
- case 'pause':
214
- return await handlePause(cmd, browser);
215
- case 'getbyalttext':
216
- return await handleGetByAltText(cmd, browser);
217
- case 'getbytitle':
218
- return await handleGetByTitle(cmd, browser);
219
- case 'getbytestid':
220
- return await handleGetByTestId(cmd, browser);
221
- case 'nth':
222
- return await handleNth(cmd, browser);
223
- case 'waitforurl':
224
- return await handleWaitForUrl(cmd, browser);
225
- case 'waitforloadstate':
226
- return await handleWaitForLoadState(cmd, browser);
227
- case 'setcontent':
228
- return await handleSetContent(cmd, browser);
229
- case 'timezone':
230
- return await handleTimezone(cmd, browser);
231
- case 'locale':
232
- return await handleLocale(cmd, browser);
233
- case 'credentials':
234
- return await handleCredentials(cmd, browser);
235
- case 'mousemove':
236
- return await handleMouseMove(cmd, browser);
237
- case 'mousedown':
238
- return await handleMouseDown(cmd, browser);
239
- case 'mouseup':
240
- return await handleMouseUp(cmd, browser);
241
- case 'wander':
242
- return await handleWander(cmd, browser);
243
- case 'mousetrajectory':
244
- return await handleMouseTrajectory(cmd, browser);
245
- case 'bringtofront':
246
- return await handleBringToFront(cmd, browser);
247
- case 'waitforfunction':
248
- return await handleWaitForFunction(cmd, browser);
249
- case 'scrollintoview':
250
- return await handleScrollIntoView(cmd, browser);
251
- case 'addinitscript':
252
- return await handleAddInitScript(cmd, browser);
253
- case 'keydown':
254
- return await handleKeyDown(cmd, browser);
255
- case 'keyup':
256
- return await handleKeyUp(cmd, browser);
257
- case 'inserttext':
258
- return await handleInsertText(cmd, browser);
259
- case 'multiselect':
260
- return await handleMultiSelect(cmd, browser);
261
- case 'waitfordownload':
262
- return await handleWaitForDownload(cmd, browser);
263
- case 'responsebody':
264
- return await handleResponseBody(cmd, browser);
265
- case 'screencast_start':
266
- return await handleScreencastStart(cmd, browser);
267
- case 'screencast_stop':
268
- return await handleScreencastStop(cmd, browser);
269
- case 'input_mouse':
270
- return await handleInputMouse(cmd, browser);
271
- case 'input_keyboard':
272
- return await handleInputKeyboard(cmd, browser);
273
- case 'input_touch':
274
- return await handleInputTouch(cmd, browser);
275
- case 'recording_start':
276
- return await handleRecordingStart(cmd, browser);
277
- case 'recording_stop':
278
- return await handleRecordingStop(cmd, browser);
279
- case 'recording_restart':
280
- return await handleRecordingRestart(cmd, browser);
281
- case 'recorder_start':
282
- return await handleRecorderStart(cmd, browser);
283
- case 'recorder_stop':
284
- return await handleRecorderStop(cmd, browser);
285
- case 'recorder_status':
286
- return await handleRecorderStatus(cmd, browser);
287
- case 'recorder_replay':
288
- return await handleRecorderReplay(cmd, browser);
289
- case 'scrape':
290
- return await handleScrape(cmd, browser);
291
- case 'crawl':
292
- return await handleCrawl(cmd, browser);
293
- case 'map':
294
- return await handleMap(cmd, browser);
295
- case 'search':
296
- return await handleSearch(cmd, browser);
297
- case 'interact':
298
- return await handleInteract(cmd, browser);
299
- case 'viewer':
300
- return await handleViewer(cmd, browser);
301
- case 'ask':
302
- return await handleAsk(cmd, browser);
303
- case 'config':
304
- return handleConfig(cmd);
305
- case 'history':
306
- return await handleHistory(cmd, browser);
307
- case 'selector-for':
308
- return await handleSelectorFor(cmd, browser);
309
- case 'selectors-of':
310
- return await handleSelectorsOf(cmd, browser);
311
- case 'validate':
312
- return await handleValidate(cmd, browser);
313
- case 'plugin_install':
314
- case 'plugin_uninstall':
315
- case 'plugin_update':
316
- case 'plugin_list':
317
- case 'plugin_info':
318
- case 'plugin_search':
319
- case 'plugin_create':
320
- case 'plugin_run':
321
- return await handlePluginCommand(command, browser);
322
- default: {
323
- const unknownCommand = cmd;
324
- return errorResponse(unknownCommand.id, `Unknown action: ${unknownCommand.action}`);
325
- }
186
+ if (PLUGIN_ACTIONS.has(cmd.action)) {
187
+ return await handlePluginCommand(command, browser);
326
188
  }
189
+ const handler = actionHandlers.get(cmd.action);
190
+ if (handler) {
191
+ return await handler(cmd, browser);
192
+ }
193
+ return errorResponse(cmd.id, `Unknown action: ${cmd.action}`);
327
194
  }
328
195
  catch (error) {
329
196
  const message = error instanceof Error ? error.message : String(error);