@vforsh/argus 0.1.11 → 0.1.13

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 (285) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/argus.js +12792 -7821
  3. package/dist/bin.js +4 -47
  4. package/dist/bin.js.map +1 -1
  5. package/dist/cdp/sendCdpCommand.d.ts +6 -2
  6. package/dist/cdp/sendCdpCommand.d.ts.map +1 -1
  7. package/dist/cdp/sendCdpCommand.js +18 -12
  8. package/dist/cdp/sendCdpCommand.js.map +1 -1
  9. package/dist/cli/plugins/registerPlugins.d.ts.map +1 -1
  10. package/dist/cli/plugins/registerPlugins.js +1 -1
  11. package/dist/cli/plugins/registerPlugins.js.map +1 -1
  12. package/dist/cli/program.d.ts.map +1 -1
  13. package/dist/cli/program.js +2 -1
  14. package/dist/cli/program.js.map +1 -1
  15. package/dist/cli/register/domCommandBuilder.d.ts +23 -0
  16. package/dist/cli/register/domCommandBuilder.d.ts.map +1 -0
  17. package/dist/cli/register/domCommandBuilder.js +36 -0
  18. package/dist/cli/register/domCommandBuilder.js.map +1 -0
  19. package/dist/cli/register/index.d.ts +4 -0
  20. package/dist/cli/register/index.d.ts.map +1 -0
  21. package/dist/cli/register/index.js +49 -0
  22. package/dist/cli/register/index.js.map +1 -0
  23. package/dist/cli/register/registerAuth.d.ts.map +1 -1
  24. package/dist/cli/register/registerAuth.js +103 -4
  25. package/dist/cli/register/registerAuth.js.map +1 -1
  26. package/dist/cli/register/registerChrome.d.ts.map +1 -1
  27. package/dist/cli/register/registerChrome.js +53 -14
  28. package/dist/cli/register/registerChrome.js.map +1 -1
  29. package/dist/cli/register/registerClick.d.ts.map +1 -1
  30. package/dist/cli/register/registerClick.js +2 -1
  31. package/dist/cli/register/registerClick.js.map +1 -1
  32. package/dist/cli/register/registerDialog.d.ts +3 -0
  33. package/dist/cli/register/registerDialog.d.ts.map +1 -0
  34. package/dist/cli/register/registerDialog.js +45 -0
  35. package/dist/cli/register/registerDialog.js.map +1 -0
  36. package/dist/cli/register/registerDom.d.ts.map +1 -1
  37. package/dist/cli/register/registerDom.js +142 -121
  38. package/dist/cli/register/registerDom.js.map +1 -1
  39. package/dist/cli/register/registerEval.js +1 -1
  40. package/dist/cli/register/registerEval.js.map +1 -1
  41. package/dist/cli/register/registerFill.d.ts.map +1 -1
  42. package/dist/cli/register/registerFill.js +4 -3
  43. package/dist/cli/register/registerFill.js.map +1 -1
  44. package/dist/cli/register/registerHover.d.ts.map +1 -1
  45. package/dist/cli/register/registerHover.js +2 -1
  46. package/dist/cli/register/registerHover.js.map +1 -1
  47. package/dist/cli/register/registerLocate.d.ts +3 -0
  48. package/dist/cli/register/registerLocate.d.ts.map +1 -0
  49. package/dist/cli/register/registerLocate.js +48 -0
  50. package/dist/cli/register/registerLocate.js.map +1 -0
  51. package/dist/cli/register/registerNet.d.ts.map +1 -1
  52. package/dist/cli/register/registerNet.js +234 -13
  53. package/dist/cli/register/registerNet.js.map +1 -1
  54. package/dist/cli/register/registerQuickAccess.d.ts.map +1 -1
  55. package/dist/cli/register/registerQuickAccess.js +33 -3
  56. package/dist/cli/register/registerQuickAccess.js.map +1 -1
  57. package/dist/cli/register/registerStorage.d.ts.map +1 -1
  58. package/dist/cli/register/registerStorage.js +26 -21
  59. package/dist/cli/register/registerStorage.js.map +1 -1
  60. package/dist/cli/validation.d.ts +1 -0
  61. package/dist/cli/validation.d.ts.map +1 -1
  62. package/dist/cli/validation.js +1 -0
  63. package/dist/cli/validation.js.map +1 -1
  64. package/dist/commands/auth.d.ts +39 -18
  65. package/dist/commands/auth.d.ts.map +1 -1
  66. package/dist/commands/auth.js +104 -122
  67. package/dist/commands/auth.js.map +1 -1
  68. package/dist/commands/authCookieSupport.d.ts +54 -0
  69. package/dist/commands/authCookieSupport.d.ts.map +1 -0
  70. package/dist/commands/authCookieSupport.js +206 -0
  71. package/dist/commands/authCookieSupport.js.map +1 -0
  72. package/dist/commands/authCookies.d.ts +60 -0
  73. package/dist/commands/authCookies.d.ts.map +1 -0
  74. package/dist/commands/authCookies.js +149 -0
  75. package/dist/commands/authCookies.js.map +1 -0
  76. package/dist/commands/chrome/authState.d.ts +23 -0
  77. package/dist/commands/chrome/authState.d.ts.map +1 -0
  78. package/dist/commands/chrome/authState.js +97 -0
  79. package/dist/commands/chrome/authState.js.map +1 -0
  80. package/dist/commands/chrome/browser.d.ts +5 -0
  81. package/dist/commands/chrome/browser.d.ts.map +1 -0
  82. package/dist/commands/chrome/browser.js +71 -0
  83. package/dist/commands/chrome/browser.js.map +1 -0
  84. package/dist/commands/chrome/processes.d.ts +24 -0
  85. package/dist/commands/chrome/processes.d.ts.map +1 -0
  86. package/dist/commands/chrome/processes.js +115 -0
  87. package/dist/commands/chrome/processes.js.map +1 -0
  88. package/dist/commands/chrome/shared.d.ts +31 -0
  89. package/dist/commands/chrome/shared.d.ts.map +1 -0
  90. package/dist/commands/chrome/shared.js +48 -0
  91. package/dist/commands/chrome/shared.js.map +1 -0
  92. package/dist/commands/chrome/targets.d.ts +26 -0
  93. package/dist/commands/chrome/targets.d.ts.map +1 -0
  94. package/dist/commands/chrome/targets.js +240 -0
  95. package/dist/commands/chrome/targets.js.map +1 -0
  96. package/dist/commands/chrome.d.ts +6 -63
  97. package/dist/commands/chrome.d.ts.map +1 -1
  98. package/dist/commands/chrome.js +3 -511
  99. package/dist/commands/chrome.js.map +1 -1
  100. package/dist/commands/chromeStart.d.ts +1 -0
  101. package/dist/commands/chromeStart.d.ts.map +1 -1
  102. package/dist/commands/chromeStart.js +28 -3
  103. package/dist/commands/chromeStart.js.map +1 -1
  104. package/dist/commands/code.d.ts.map +1 -1
  105. package/dist/commands/code.js +9 -1
  106. package/dist/commands/code.js.map +1 -1
  107. package/dist/commands/dialog.d.ts +13 -0
  108. package/dist/commands/dialog.d.ts.map +1 -0
  109. package/dist/commands/dialog.js +71 -0
  110. package/dist/commands/dialog.js.map +1 -0
  111. package/dist/commands/dom/shared.d.ts +16 -0
  112. package/dist/commands/dom/shared.d.ts.map +1 -0
  113. package/dist/commands/dom/shared.js +69 -0
  114. package/dist/commands/dom/shared.js.map +1 -0
  115. package/dist/commands/domAdd.d.ts.map +1 -1
  116. package/dist/commands/domAdd.js +11 -27
  117. package/dist/commands/domAdd.js.map +1 -1
  118. package/dist/commands/domClick.d.ts +1 -0
  119. package/dist/commands/domClick.d.ts.map +1 -1
  120. package/dist/commands/domClick.js +32 -48
  121. package/dist/commands/domClick.js.map +1 -1
  122. package/dist/commands/domFill.d.ts +1 -0
  123. package/dist/commands/domFill.d.ts.map +1 -1
  124. package/dist/commands/domFill.js +21 -38
  125. package/dist/commands/domFill.js.map +1 -1
  126. package/dist/commands/domFocus.d.ts +2 -1
  127. package/dist/commands/domFocus.d.ts.map +1 -1
  128. package/dist/commands/domFocus.js +12 -26
  129. package/dist/commands/domFocus.js.map +1 -1
  130. package/dist/commands/domHover.d.ts +2 -1
  131. package/dist/commands/domHover.d.ts.map +1 -1
  132. package/dist/commands/domHover.js +12 -26
  133. package/dist/commands/domHover.js.map +1 -1
  134. package/dist/commands/domInfo.d.ts +2 -1
  135. package/dist/commands/domInfo.d.ts.map +1 -1
  136. package/dist/commands/domInfo.js +11 -25
  137. package/dist/commands/domInfo.js.map +1 -1
  138. package/dist/commands/domModify.d.ts.map +1 -1
  139. package/dist/commands/domModify.js +14 -26
  140. package/dist/commands/domModify.js.map +1 -1
  141. package/dist/commands/domRemove.d.ts.map +1 -1
  142. package/dist/commands/domRemove.js +10 -25
  143. package/dist/commands/domRemove.js.map +1 -1
  144. package/dist/commands/domScroll.d.ts.map +1 -1
  145. package/dist/commands/domScroll.js +7 -33
  146. package/dist/commands/domScroll.js.map +1 -1
  147. package/dist/commands/domScrollTo.d.ts.map +1 -1
  148. package/dist/commands/domScrollTo.js +7 -33
  149. package/dist/commands/domScrollTo.js.map +1 -1
  150. package/dist/commands/domSetFile.d.ts.map +1 -1
  151. package/dist/commands/domSetFile.js +14 -36
  152. package/dist/commands/domSetFile.js.map +1 -1
  153. package/dist/commands/domTree.d.ts.map +1 -1
  154. package/dist/commands/domTree.js +12 -27
  155. package/dist/commands/domTree.js.map +1 -1
  156. package/dist/commands/extension/setup.js +1 -1
  157. package/dist/commands/extension/setup.js.map +1 -1
  158. package/dist/commands/locate.d.ts +17 -0
  159. package/dist/commands/locate.d.ts.map +1 -0
  160. package/dist/commands/locate.js +117 -0
  161. package/dist/commands/locate.js.map +1 -0
  162. package/dist/commands/net.d.ts +2 -5
  163. package/dist/commands/net.d.ts.map +1 -1
  164. package/dist/commands/net.js +5 -7
  165. package/dist/commands/net.js.map +1 -1
  166. package/dist/commands/netBody.d.ts +6 -0
  167. package/dist/commands/netBody.d.ts.map +1 -0
  168. package/dist/commands/netBody.js +32 -0
  169. package/dist/commands/netBody.js.map +1 -0
  170. package/dist/commands/netCapture.d.ts +36 -0
  171. package/dist/commands/netCapture.d.ts.map +1 -0
  172. package/dist/commands/netCapture.js +105 -0
  173. package/dist/commands/netCapture.js.map +1 -0
  174. package/dist/commands/netClear.d.ts +5 -0
  175. package/dist/commands/netClear.d.ts.map +1 -0
  176. package/dist/commands/netClear.js +20 -0
  177. package/dist/commands/netClear.js.map +1 -0
  178. package/dist/commands/netExport.d.ts +13 -0
  179. package/dist/commands/netExport.d.ts.map +1 -0
  180. package/dist/commands/netExport.js +124 -0
  181. package/dist/commands/netExport.js.map +1 -0
  182. package/dist/commands/netInspect.d.ts +12 -0
  183. package/dist/commands/netInspect.d.ts.map +1 -0
  184. package/dist/commands/netInspect.js +205 -0
  185. package/dist/commands/netInspect.js.map +1 -0
  186. package/dist/commands/netRequestClient.d.ts +17 -0
  187. package/dist/commands/netRequestClient.d.ts.map +1 -0
  188. package/dist/commands/netRequestClient.js +54 -0
  189. package/dist/commands/netRequestClient.js.map +1 -0
  190. package/dist/commands/netRequestTarget.d.ts +14 -0
  191. package/dist/commands/netRequestTarget.d.ts.map +1 -0
  192. package/dist/commands/netRequestTarget.js +36 -0
  193. package/dist/commands/netRequestTarget.js.map +1 -0
  194. package/dist/commands/netShared.d.ts +40 -0
  195. package/dist/commands/netShared.d.ts.map +1 -0
  196. package/dist/commands/netShared.js +108 -0
  197. package/dist/commands/netShared.js.map +1 -0
  198. package/dist/commands/netShow.d.ts +5 -0
  199. package/dist/commands/netShow.d.ts.map +1 -0
  200. package/dist/commands/netShow.js +28 -0
  201. package/dist/commands/netShow.js.map +1 -0
  202. package/dist/commands/netSummary.d.ts +6 -0
  203. package/dist/commands/netSummary.d.ts.map +1 -0
  204. package/dist/commands/netSummary.js +99 -0
  205. package/dist/commands/netSummary.js.map +1 -0
  206. package/dist/commands/netTail.d.ts +2 -5
  207. package/dist/commands/netTail.d.ts.map +1 -1
  208. package/dist/commands/netTail.js +7 -15
  209. package/dist/commands/netTail.js.map +1 -1
  210. package/dist/commands/netWatch.d.ts +11 -0
  211. package/dist/commands/netWatch.d.ts.map +1 -0
  212. package/dist/commands/netWatch.js +55 -0
  213. package/dist/commands/netWatch.js.map +1 -0
  214. package/dist/commands/resolveTestId.d.ts +2 -1
  215. package/dist/commands/resolveTestId.d.ts.map +1 -1
  216. package/dist/commands/resolveTestId.js +3 -3
  217. package/dist/commands/resolveTestId.js.map +1 -1
  218. package/dist/commands/start.d.ts +2 -1
  219. package/dist/commands/start.d.ts.map +1 -1
  220. package/dist/commands/start.js +77 -49
  221. package/dist/commands/start.js.map +1 -1
  222. package/dist/commands/storage.d.ts +17 -0
  223. package/dist/commands/storage.d.ts.map +1 -0
  224. package/dist/commands/storage.js +67 -0
  225. package/dist/commands/storage.js.map +1 -0
  226. package/dist/commands/watcherNativeHost.d.ts.map +1 -1
  227. package/dist/commands/watcherNativeHost.js +13 -2
  228. package/dist/commands/watcherNativeHost.js.map +1 -1
  229. package/dist/commands/watcherSession.d.ts +29 -0
  230. package/dist/commands/watcherSession.d.ts.map +1 -0
  231. package/dist/commands/watcherSession.js +64 -0
  232. package/dist/commands/watcherSession.js.map +1 -0
  233. package/dist/commands/watcherStart.d.ts +1 -1
  234. package/dist/commands/watcherStart.d.ts.map +1 -1
  235. package/dist/commands/watcherStart.js +15 -40
  236. package/dist/commands/watcherStart.js.map +1 -1
  237. package/dist/config/argusConfig.d.ts.map +1 -1
  238. package/dist/config/argusConfig.js +69 -81
  239. package/dist/config/argusConfig.js.map +1 -1
  240. package/dist/net/har.d.ts +86 -0
  241. package/dist/net/har.d.ts.map +1 -0
  242. package/dist/net/har.js +125 -0
  243. package/dist/net/har.js.map +1 -0
  244. package/dist/net/summary.d.ts +33 -0
  245. package/dist/net/summary.d.ts.map +1 -0
  246. package/dist/net/summary.js +128 -0
  247. package/dist/net/summary.js.map +1 -0
  248. package/dist/output/accessibility.js +16 -12
  249. package/dist/output/accessibility.js.map +1 -1
  250. package/dist/output/code.d.ts +2 -1
  251. package/dist/output/code.d.ts.map +1 -1
  252. package/dist/output/code.js +10 -0
  253. package/dist/output/code.js.map +1 -1
  254. package/dist/output/dom.d.ts.map +1 -1
  255. package/dist/output/dom.js +2 -1
  256. package/dist/output/dom.js.map +1 -1
  257. package/dist/output/format.d.ts +1 -3
  258. package/dist/output/format.d.ts.map +1 -1
  259. package/dist/output/format.js +0 -8
  260. package/dist/output/format.js.map +1 -1
  261. package/dist/output/locate.d.ts +3 -0
  262. package/dist/output/locate.d.ts.map +1 -0
  263. package/dist/output/locate.js +25 -0
  264. package/dist/output/locate.js.map +1 -0
  265. package/dist/output/net.d.ts +13 -0
  266. package/dist/output/net.d.ts.map +1 -0
  267. package/dist/output/net.js +239 -0
  268. package/dist/output/net.js.map +1 -0
  269. package/dist/watchers/queryParams.d.ts +17 -0
  270. package/dist/watchers/queryParams.d.ts.map +1 -1
  271. package/dist/watchers/queryParams.js +61 -0
  272. package/dist/watchers/queryParams.js.map +1 -1
  273. package/dist/watchers/requestWatcher.d.ts +13 -1
  274. package/dist/watchers/requestWatcher.d.ts.map +1 -1
  275. package/dist/watchers/requestWatcher.js +32 -0
  276. package/dist/watchers/requestWatcher.js.map +1 -1
  277. package/package.json +2 -5
  278. package/dist/commands/storageLocal.d.ts +0 -18
  279. package/dist/commands/storageLocal.d.ts.map +0 -1
  280. package/dist/commands/storageLocal.js +0 -92
  281. package/dist/commands/storageLocal.js.map +0 -1
  282. package/dist/plugin.d.ts +0 -29
  283. package/dist/plugin.d.ts.map +0 -1
  284. package/dist/plugin.js +0 -2
  285. package/dist/plugin.js.map +0 -1
@@ -1,49 +1,34 @@
1
1
  import { createOutput } from '../output/io.js';
2
- import { requestWatcherJson, writeRequestError } from '../watchers/requestWatcher.js';
2
+ import { requestWatcherAction } from '../watchers/requestWatcher.js';
3
+ import { requireSelector, writeNoElementFound } from './dom/shared.js';
3
4
  /** Execute the dom remove command for a watcher id. */
4
5
  export const runDomRemove = async (id, options) => {
5
6
  const output = createOutput(options);
6
- if (!options.selector || options.selector.trim() === '') {
7
- output.writeWarn('--selector or --testid is required');
8
- process.exitCode = 2;
7
+ const selector = requireSelector(options, output);
8
+ if (!selector) {
9
9
  return;
10
10
  }
11
- const result = await requestWatcherJson({
11
+ const result = await requestWatcherAction({
12
12
  id,
13
13
  path: '/dom/remove',
14
14
  method: 'POST',
15
15
  body: {
16
- selector: options.selector,
16
+ selector,
17
17
  all: options.all ?? false,
18
18
  text: options.text,
19
19
  },
20
20
  timeoutMs: 30_000,
21
- returnErrorResponse: true,
22
- });
23
- if (!result.ok) {
24
- writeRequestError(result, output);
21
+ }, output);
22
+ if (!result) {
25
23
  return;
26
24
  }
27
- const response = result.data;
28
- if (!response.ok) {
29
- const errorResp = response;
30
- if (options.json) {
31
- output.writeJson(response);
32
- }
33
- else {
34
- output.writeWarn(`Error: ${errorResp.error.message}`);
35
- }
36
- process.exitCode = 1;
37
- return;
38
- }
39
- const successResp = response;
25
+ const successResp = result.data;
40
26
  if (options.json) {
41
27
  output.writeJson(successResp);
42
28
  return;
43
29
  }
44
30
  if (successResp.matches === 0) {
45
- output.writeWarn(`No element found for selector: ${options.selector}`);
46
- process.exitCode = 1;
31
+ writeNoElementFound(selector, output);
47
32
  return;
48
33
  }
49
34
  const label = successResp.removed === 1 ? 'element' : 'elements';
@@ -1 +1 @@
1
- {"version":3,"file":"domRemove.js","sourceRoot":"","sources":["../../src/commands/domRemove.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAUrF,uDAAuD;AACvD,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,EAAsB,EAAE,OAAyB,EAAiB,EAAE;IACtG,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IAEpC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACzD,MAAM,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAA;QACtD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACP,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAoC;QAC1E,EAAE;QACF,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE;YACL,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,KAAK;YACzB,IAAI,EAAE,OAAO,CAAC,IAAI;SAClB;QACD,SAAS,EAAE,MAAM;QACjB,mBAAmB,EAAE,IAAI;KACzB,CAAC,CAAA;IAEF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACjC,OAAM;IACP,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAA;IAC5B,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,QAAyB,CAAA;QAC3C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAC3B,CAAC;aAAM,CAAC;YACP,MAAM,CAAC,SAAS,CAAC,UAAU,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QACtD,CAAC;QACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACP,CAAC;IAED,MAAM,WAAW,GAAG,QAA6B,CAAA;IAEjD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QAC7B,OAAM;IACP,CAAC;IAED,IAAI,WAAW,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,SAAS,CAAC,kCAAkC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;QACtE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACP,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAA;IAChE,MAAM,CAAC,UAAU,CAAC,WAAW,WAAW,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC,CAAA;AAC7D,CAAC,CAAA"}
1
+ {"version":3,"file":"domRemove.js","sourceRoot":"","sources":["../../src/commands/domRemove.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAUtE,uDAAuD;AACvD,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,EAAsB,EAAE,OAAyB,EAAiB,EAAE;IACtG,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IACpC,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAM;IACP,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACxC;QACC,EAAE;QACF,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE;YACL,QAAQ;YACR,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,KAAK;YACzB,IAAI,EAAE,OAAO,CAAC,IAAI;SAClB;QACD,SAAS,EAAE,MAAM;KACjB,EACD,MAAM,CACN,CAAA;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAM;IACP,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAA;IAE/B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QAC7B,OAAM;IACP,CAAC;IAED,IAAI,WAAW,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QAC/B,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACrC,OAAM;IACP,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAA;IAChE,MAAM,CAAC,UAAU,CAAC,WAAW,WAAW,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC,CAAA;AAC7D,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"domScroll.d.ts","sourceRoot":"","sources":["../../src/commands/domScroll.ts"],"names":[],"mappings":"AAIA,0CAA0C;AAC1C,MAAM,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,sFAAsF;AACtF,eAAO,MAAM,YAAY,GAAU,IAAI,MAAM,GAAG,SAAS,EAAE,SAAS,gBAAgB,KAAG,OAAO,CAAC,IAAI,CAiGlG,CAAA"}
1
+ {"version":3,"file":"domScroll.d.ts","sourceRoot":"","sources":["../../src/commands/domScroll.ts"],"names":[],"mappings":"AAKA,0CAA0C;AAC1C,MAAM,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,sFAAsF;AACtF,eAAO,MAAM,YAAY,GAAU,IAAI,MAAM,GAAG,SAAS,EAAE,SAAS,gBAAgB,KAAG,OAAO,CAAC,IAAI,CAmFlG,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { createOutput } from '../output/io.js';
2
- import { requestWatcherJson, writeRequestError } from '../watchers/requestWatcher.js';
2
+ import { requestWatcherAction } from '../watchers/requestWatcher.js';
3
+ import { parseXY, writeNoElementFound } from './dom/shared.js';
3
4
  /** Execute the dom scroll command (emulate touch scroll gesture) for a watcher id. */
4
5
  export const runDomScroll = async (id, options) => {
5
6
  const output = createOutput(options);
@@ -45,39 +46,24 @@ export const runDomScroll = async (id, options) => {
45
46
  body.x = x;
46
47
  body.y = y;
47
48
  }
48
- const result = await requestWatcherJson({
49
+ const result = await requestWatcherAction({
49
50
  id,
50
51
  path: '/dom/scroll',
51
52
  method: 'POST',
52
53
  body,
53
54
  timeoutMs: 30_000,
54
- returnErrorResponse: true,
55
- });
56
- if (!result.ok) {
57
- writeRequestError(result, output);
55
+ }, output);
56
+ if (!result) {
58
57
  return;
59
58
  }
60
- const response = result.data;
61
- if (!response.ok) {
62
- const errorResp = response;
63
- if (options.json) {
64
- output.writeJson(response);
65
- }
66
- else {
67
- output.writeWarn(`Error: ${errorResp.error.message}`);
68
- }
69
- process.exitCode = 1;
70
- return;
71
- }
72
- const successResp = response;
59
+ const successResp = result.data;
73
60
  if (options.json) {
74
61
  output.writeJson(successResp);
75
62
  return;
76
63
  }
77
64
  if (hasSelector) {
78
65
  if (successResp.matches === 0) {
79
- output.writeWarn(`No element found for selector: ${options.selector}`);
80
- process.exitCode = 1;
66
+ writeNoElementFound(options.selector, output);
81
67
  return;
82
68
  }
83
69
  const label = successResp.scrolled === 1 ? 'element' : 'elements';
@@ -90,16 +76,4 @@ export const runDomScroll = async (id, options) => {
90
76
  output.writeHuman(`Emulated scroll at viewport center by (${delta.x}, ${delta.y})`);
91
77
  }
92
78
  };
93
- const parseXY = (value) => {
94
- const parts = value.split(',');
95
- if (parts.length !== 2) {
96
- return null;
97
- }
98
- const x = Number(parts[0]);
99
- const y = Number(parts[1]);
100
- if (!Number.isFinite(x) || !Number.isFinite(y)) {
101
- return null;
102
- }
103
- return { x, y };
104
- };
105
79
  //# sourceMappingURL=domScroll.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"domScroll.js","sourceRoot":"","sources":["../../src/commands/domScroll.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAYrF,sFAAsF;AACtF,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,EAAsB,EAAE,OAAyB,EAAiB,EAAE;IACtG,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IAEpC,IAAI,OAAO,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAA;QACtD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACP,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACjC,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM,CAAC,SAAS,CAAC,oDAAoD,CAAC,CAAA;QACtE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACP,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAA;IAC9E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAA;IAElC,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,SAAS,CAAC,6CAA6C,CAAC,CAAA;QAC/D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACP,CAAC;IAED,IAAI,CAAqB,CAAA;IACzB,IAAI,CAAqB,CAAA;IACzB,IAAI,MAAM,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAI,CAAC,CAAA;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,CAAC,SAAS,CAAC,wDAAwD,CAAC,CAAA;YAC1E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;YACpB,OAAM;QACP,CAAC;QACD,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;QACZ,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;IACb,CAAC;IAED,MAAM,IAAI,GAA4B,EAAE,KAAK,EAAE,CAAA;IAC/C,IAAI,WAAW,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAChC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,KAAK,CAAA;QAC/B,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QACzB,CAAC;IACF,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACV,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;IACX,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAoC;QAC1E,EAAE;QACF,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,MAAM;QACd,IAAI;QACJ,SAAS,EAAE,MAAM;QACjB,mBAAmB,EAAE,IAAI;KACzB,CAAC,CAAA;IAEF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAChB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACjC,OAAM;IACP,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAA;IAC5B,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,QAAyB,CAAA;QAC3C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAC3B,CAAC;aAAM,CAAC;YACP,MAAM,CAAC,SAAS,CAAC,UAAU,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QACtD,CAAC;QACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACP,CAAC;IAED,MAAM,WAAW,GAAG,QAA6B,CAAA;IAEjD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QAC7B,OAAM;IACP,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QACjB,IAAI,WAAW,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,SAAS,CAAC,kCAAkC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;YACtE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;YACpB,OAAM;QACP,CAAC;QACD,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAA;QACjE,MAAM,CAAC,UAAU,CAAC,sBAAsB,WAAW,CAAC,QAAQ,IAAI,KAAK,QAAQ,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAA;IACrG,CAAC;SAAM,IAAI,MAAM,EAAE,CAAC;QACnB,MAAM,CAAC,UAAU,CAAC,uBAAuB,CAAC,KAAK,CAAC,SAAS,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAA;IACjF,CAAC;SAAM,CAAC;QACP,MAAM,CAAC,UAAU,CAAC,0CAA0C,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAA;IACpF,CAAC;AACF,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,CAAC,KAAa,EAAmC,EAAE;IAClE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAA;IACZ,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,OAAO,IAAI,CAAA;IACZ,CAAC;IACD,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;AAChB,CAAC,CAAA"}
1
+ {"version":3,"file":"domScroll.js","sourceRoot":"","sources":["../../src/commands/domScroll.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"domScrollTo.d.ts","sourceRoot":"","sources":["../../src/commands/domScrollTo.ts"],"names":[],"mappings":"AAIA,6CAA6C;AAC7C,MAAM,MAAM,kBAAkB,GAAG;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,0DAA0D;AAC1D,eAAO,MAAM,cAAc,GAAU,IAAI,MAAM,GAAG,SAAS,EAAE,SAAS,kBAAkB,KAAG,OAAO,CAAC,IAAI,CAsGtG,CAAA"}
1
+ {"version":3,"file":"domScrollTo.d.ts","sourceRoot":"","sources":["../../src/commands/domScrollTo.ts"],"names":[],"mappings":"AAKA,6CAA6C;AAC7C,MAAM,MAAM,kBAAkB,GAAG;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,0DAA0D;AAC1D,eAAO,MAAM,cAAc,GAAU,IAAI,MAAM,GAAG,SAAS,EAAE,SAAS,kBAAkB,KAAG,OAAO,CAAC,IAAI,CAwFtG,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { createOutput } from '../output/io.js';
2
- import { requestWatcherJson, writeRequestError } from '../watchers/requestWatcher.js';
2
+ import { requestWatcherAction } from '../watchers/requestWatcher.js';
3
+ import { parseXY, writeNoElementFound } from './dom/shared.js';
3
4
  /** Execute the dom scroll-to command for a watcher id. */
4
5
  export const runDomScrollTo = async (id, options) => {
5
6
  const output = createOutput(options);
@@ -50,38 +51,23 @@ export const runDomScrollTo = async (id, options) => {
50
51
  if (by) {
51
52
  body.by = by;
52
53
  }
53
- const result = await requestWatcherJson({
54
+ const result = await requestWatcherAction({
54
55
  id,
55
56
  path: '/dom/scroll-to',
56
57
  method: 'POST',
57
58
  body,
58
59
  timeoutMs: 30_000,
59
- returnErrorResponse: true,
60
- });
61
- if (!result.ok) {
62
- writeRequestError(result, output);
60
+ }, output);
61
+ if (!result) {
63
62
  return;
64
63
  }
65
- const response = result.data;
66
- if (!response.ok) {
67
- const errorResp = response;
68
- if (options.json) {
69
- output.writeJson(response);
70
- }
71
- else {
72
- output.writeWarn(`Error: ${errorResp.error.message}`);
73
- }
74
- process.exitCode = 1;
75
- return;
76
- }
77
- const successResp = response;
64
+ const successResp = result.data;
78
65
  if (options.json) {
79
66
  output.writeJson(successResp);
80
67
  return;
81
68
  }
82
69
  if (hasSelector && successResp.matches === 0) {
83
- output.writeWarn(`No element found for selector: ${options.selector}`);
84
- process.exitCode = 1;
70
+ writeNoElementFound(options.selector, output);
85
71
  return;
86
72
  }
87
73
  if (hasSelector) {
@@ -92,16 +78,4 @@ export const runDomScrollTo = async (id, options) => {
92
78
  output.writeHuman(`Scrolled viewport (scrollX=${successResp.scrollX}, scrollY=${successResp.scrollY})`);
93
79
  }
94
80
  };
95
- const parseXY = (value) => {
96
- const parts = value.split(',');
97
- if (parts.length !== 2) {
98
- return null;
99
- }
100
- const x = Number(parts[0]);
101
- const y = Number(parts[1]);
102
- if (!Number.isFinite(x) || !Number.isFinite(y)) {
103
- return null;
104
- }
105
- return { x, y };
106
- };
107
81
  //# sourceMappingURL=domScrollTo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"domScrollTo.js","sourceRoot":"","sources":["../../src/commands/domScrollTo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"domScrollTo.js","sourceRoot":"","sources":["../../src/commands/domScrollTo.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"domSetFile.d.ts","sourceRoot":"","sources":["../../src/commands/domSetFile.ts"],"names":[],"mappings":"AAOA,4CAA4C;AAC5C,MAAM,MAAM,iBAAiB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,yDAAyD;AACzD,eAAO,MAAM,aAAa,GAAU,IAAI,MAAM,GAAG,SAAS,EAAE,SAAS,iBAAiB,KAAG,OAAO,CAAC,IAAI,CA0FpG,CAAA"}
1
+ {"version":3,"file":"domSetFile.d.ts","sourceRoot":"","sources":["../../src/commands/domSetFile.ts"],"names":[],"mappings":"AAOA,4CAA4C;AAC5C,MAAM,MAAM,iBAAiB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,yDAAyD;AACzD,eAAO,MAAM,aAAa,GAAU,IAAI,MAAM,GAAG,SAAS,EAAE,SAAS,iBAAiB,KAAG,OAAO,CAAC,IAAI,CAoEpG,CAAA"}
@@ -1,14 +1,13 @@
1
1
  import fs from 'node:fs';
2
2
  import { resolvePath } from '../utils/paths.js';
3
3
  import { createOutput } from '../output/io.js';
4
- import { parseDurationMs } from '../time.js';
5
- import { requestWatcherJson, writeRequestError } from '../watchers/requestWatcher.js';
4
+ import { requestWatcherAction } from '../watchers/requestWatcher.js';
5
+ import { parseWaitDuration, requireSelector, writeNoElementFound } from './dom/shared.js';
6
6
  /** Execute the dom set-file command for a watcher id. */
7
7
  export const runDomSetFile = async (id, options) => {
8
8
  const output = createOutput(options);
9
- if (!options.selector || options.selector.trim() === '') {
10
- output.writeWarn('--selector or --testid is required');
11
- process.exitCode = 2;
9
+ const selector = requireSelector(options, output);
10
+ if (!selector) {
12
11
  return;
13
12
  }
14
13
  if (!options.file || options.file.length === 0) {
@@ -27,18 +26,12 @@ export const runDomSetFile = async (id, options) => {
27
26
  }
28
27
  files.push(absolute);
29
28
  }
30
- let waitMs = 0;
31
- if (options.wait != null) {
32
- const parsed = parseDurationMs(options.wait);
33
- if (parsed == null || parsed < 0) {
34
- output.writeWarn('Invalid --wait value: expected a duration like 5s, 500ms, 2m.');
35
- process.exitCode = 2;
36
- return;
37
- }
38
- waitMs = parsed;
29
+ const waitMs = parseWaitDuration(options.wait, output);
30
+ if (waitMs == null) {
31
+ return;
39
32
  }
40
33
  const body = {
41
- selector: options.selector,
34
+ selector,
42
35
  files,
43
36
  all: options.all ?? false,
44
37
  text: options.text,
@@ -46,42 +39,27 @@ export const runDomSetFile = async (id, options) => {
46
39
  if (waitMs > 0) {
47
40
  body.wait = waitMs;
48
41
  }
49
- const result = await requestWatcherJson({
42
+ const result = await requestWatcherAction({
50
43
  id,
51
44
  path: '/dom/set-file',
52
45
  method: 'POST',
53
46
  body,
54
47
  timeoutMs: Math.max(30_000, waitMs + 5_000),
55
- returnErrorResponse: true,
56
- });
57
- if (!result.ok) {
58
- writeRequestError(result, output);
59
- return;
60
- }
61
- const response = result.data;
62
- if (!response.ok) {
63
- const errorResp = response;
64
- if (options.json) {
65
- output.writeJson(response);
66
- }
67
- else {
68
- output.writeWarn(`Error: ${errorResp.error.message}`);
69
- }
70
- process.exitCode = 1;
48
+ }, output);
49
+ if (!result) {
71
50
  return;
72
51
  }
73
- const successResp = response;
52
+ const successResp = result.data;
74
53
  if (options.json) {
75
54
  output.writeJson(successResp);
76
55
  return;
77
56
  }
78
57
  if (successResp.matches === 0) {
79
- output.writeWarn(`No element found for selector: ${options.selector}`);
80
- process.exitCode = 1;
58
+ writeNoElementFound(selector, output);
81
59
  return;
82
60
  }
83
61
  const fileLabel = files.length === 1 ? '1 file' : `${files.length} files`;
84
62
  const elLabel = successResp.updated === 1 ? '1 element' : `${successResp.updated} elements`;
85
- output.writeHuman(`Set ${fileLabel} on ${elLabel} for selector: ${options.selector}`);
63
+ output.writeHuman(`Set ${fileLabel} on ${elLabel} for selector: ${selector}`);
86
64
  };
87
65
  //# sourceMappingURL=domSetFile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"domSetFile.js","sourceRoot":"","sources":["../../src/commands/domSetFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"domSetFile.js","sourceRoot":"","sources":["../../src/commands/domSetFile.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"domTree.d.ts","sourceRoot":"","sources":["../../src/commands/domTree.ts"],"names":[],"mappings":"AAMA,wCAAwC;AACxC,MAAM,MAAM,cAAc,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,qDAAqD;AACrD,eAAO,MAAM,UAAU,GAAU,IAAI,MAAM,GAAG,SAAS,EAAE,SAAS,cAAc,KAAG,OAAO,CAAC,IAAI,CAqE9F,CAAA"}
1
+ {"version":3,"file":"domTree.d.ts","sourceRoot":"","sources":["../../src/commands/domTree.ts"],"names":[],"mappings":"AAOA,wCAAwC;AACxC,MAAM,MAAM,cAAc,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,qDAAqD;AACrD,eAAO,MAAM,UAAU,GAAU,IAAI,MAAM,GAAG,SAAS,EAAE,SAAS,cAAc,KAAG,OAAO,CAAC,IAAI,CAsD9F,CAAA"}
@@ -1,18 +1,18 @@
1
1
  import { formatDomTree } from '../output/dom.js';
2
2
  import { createOutput } from '../output/io.js';
3
3
  import { parsePositiveInt } from '../cli/parse.js';
4
- import { requestWatcherJson, writeRequestError } from '../watchers/requestWatcher.js';
4
+ import { requestWatcherAction } from '../watchers/requestWatcher.js';
5
+ import { requireSelector, writeNoElementFound } from './dom/shared.js';
5
6
  /** Execute the dom tree command for a watcher id. */
6
7
  export const runDomTree = async (id, options) => {
7
8
  const output = createOutput(options);
8
- if (!options.selector || options.selector.trim() === '') {
9
- output.writeWarn('--selector or --testid is required');
10
- process.exitCode = 2;
9
+ const selector = requireSelector(options, output);
10
+ if (!selector) {
11
11
  return;
12
12
  }
13
- const depth = parsePositiveInt(options.depth);
13
+ const depth = parsePositiveInt(options.depth, { allowZero: true });
14
14
  if (options.depth !== undefined && depth === undefined) {
15
- output.writeWarn('--depth must be a positive integer');
15
+ output.writeWarn('--depth must be a non-negative integer');
16
16
  process.exitCode = 2;
17
17
  return;
18
18
  }
@@ -22,44 +22,29 @@ export const runDomTree = async (id, options) => {
22
22
  process.exitCode = 2;
23
23
  return;
24
24
  }
25
- const result = await requestWatcherJson({
25
+ const result = await requestWatcherAction({
26
26
  id,
27
27
  path: '/dom/tree',
28
28
  method: 'POST',
29
29
  body: {
30
- selector: options.selector,
30
+ selector,
31
31
  depth,
32
32
  maxNodes,
33
33
  all: options.all ?? false,
34
34
  text: options.text,
35
35
  },
36
36
  timeoutMs: 30_000,
37
- returnErrorResponse: true,
38
- });
39
- if (!result.ok) {
40
- writeRequestError(result, output);
41
- return;
42
- }
43
- const response = result.data;
44
- if (!response.ok) {
45
- const errorResp = response;
46
- if (options.json) {
47
- output.writeJson(response);
48
- }
49
- else {
50
- output.writeWarn(`Error: ${errorResp.error.message}`);
51
- }
52
- process.exitCode = 1;
37
+ }, output);
38
+ if (!result) {
53
39
  return;
54
40
  }
55
- const successResp = response;
41
+ const successResp = result.data;
56
42
  if (options.json) {
57
43
  output.writeJson(successResp);
58
44
  return;
59
45
  }
60
46
  if (successResp.matches === 0) {
61
- output.writeWarn(`No element found for selector: ${options.selector}`);
62
- process.exitCode = 1;
47
+ writeNoElementFound(selector, output);
63
48
  return;
64
49
  }
65
50
  const formatted = formatDomTree(successResp.roots, successResp.truncated, successResp.truncatedReason);
@@ -1 +1 @@
1
- {"version":3,"file":"domTree.js","sourceRoot":"","sources":["../../src/commands/domTree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"domTree.js","sourceRoot":"","sources":["../../src/commands/domTree.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAYtE,qDAAqD;AACrD,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,EAAsB,EAAE,OAAuB,EAAiB,EAAE;IAClG,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IACpC,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAM;IACP,CAAC;IAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAClE,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxD,MAAM,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAA;QAC1D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACP,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACnD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC9D,MAAM,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAA;QAC1D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAM;IACP,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACxC;QACC,EAAE;QACF,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE;YACL,QAAQ;YACR,KAAK;YACL,QAAQ;YACR,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,KAAK;YACzB,IAAI,EAAE,OAAO,CAAC,IAAI;SAClB;QACD,SAAS,EAAE,MAAM;KACjB,EACD,MAAM,CACN,CAAA;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAM;IACP,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAA;IAE/B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QAC7B,OAAM;IACP,CAAC;IAED,IAAI,WAAW,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QAC/B,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACrC,OAAM;IACP,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,eAAe,CAAC,CAAA;IACtG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;AAC7B,CAAC,CAAA"}
@@ -82,7 +82,7 @@ export const runExtensionSetup = async (options) => {
82
82
  output.writeHuman('');
83
83
  output.writeHuman('Next steps:');
84
84
  output.writeHuman(' 1. Reload the extension in chrome://extensions');
85
- output.writeHuman(' 2. Start watcher: argus watcher start --id app --source extension');
85
+ output.writeHuman(' 2. Open the extension popup and attach a tab');
86
86
  output.writeHuman('');
87
87
  }
88
88
  };
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/commands/extension/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/commands/extension/setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ type LocateBaseOptions = {
2
+ all?: boolean;
3
+ exact?: boolean;
4
+ json?: boolean;
5
+ action?: string;
6
+ value?: string;
7
+ };
8
+ export type LocateRoleOptions = LocateBaseOptions & {
9
+ name?: string;
10
+ };
11
+ export type LocateTextOptions = LocateBaseOptions;
12
+ export type LocateLabelOptions = LocateBaseOptions;
13
+ export declare const runLocateRole: (id: string | undefined, role: string | undefined, options: LocateRoleOptions) => Promise<void>;
14
+ export declare const runLocateText: (id: string | undefined, text: string | undefined, options: LocateTextOptions) => Promise<void>;
15
+ export declare const runLocateLabel: (id: string | undefined, label: string | undefined, options: LocateLabelOptions) => Promise<void>;
16
+ export {};
17
+ //# sourceMappingURL=locate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locate.d.ts","sourceRoot":"","sources":["../../src/commands/locate.ts"],"names":[],"mappings":"AAaA,KAAK,iBAAiB,GAAG;IACxB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,GAAG;IACnD,IAAI,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAA;AAEjD,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAA;AAElD,eAAO,MAAM,aAAa,GAAU,IAAI,MAAM,GAAG,SAAS,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE,SAAS,iBAAiB,KAAG,OAAO,CAAC,IAAI,CAiB9H,CAAA;AAED,eAAO,MAAM,aAAa,GAAU,IAAI,MAAM,GAAG,SAAS,EAAE,MAAM,MAAM,GAAG,SAAS,EAAE,SAAS,iBAAiB,KAAG,OAAO,CAAC,IAAI,CAgB9H,CAAA;AAED,eAAO,MAAM,cAAc,GAAU,IAAI,MAAM,GAAG,SAAS,EAAE,OAAO,MAAM,GAAG,SAAS,EAAE,SAAS,kBAAkB,KAAG,OAAO,CAAC,IAAI,CAgBjI,CAAA"}
@@ -0,0 +1,117 @@
1
+ import { createOutput } from '../output/io.js';
2
+ import { formatLocatedElements } from '../output/locate.js';
3
+ import { requestWatcherAction } from '../watchers/requestWatcher.js';
4
+ import { runDomClick } from './domClick.js';
5
+ import { runDomFill } from './domFill.js';
6
+ import { runDomFocus } from './domFocus.js';
7
+ import { runDomHover } from './domHover.js';
8
+ export const runLocateRole = async (id, role, options) => {
9
+ const normalizedRole = requireLocateArgument(role, 'role');
10
+ if (!normalizedRole) {
11
+ return;
12
+ }
13
+ await runLocateRequest(id, '/locate/role', {
14
+ role: normalizedRole,
15
+ name: options.name,
16
+ all: options.all,
17
+ exact: options.exact,
18
+ }, options);
19
+ };
20
+ export const runLocateText = async (id, text, options) => {
21
+ const normalizedText = requireLocateArgument(text, 'text');
22
+ if (!normalizedText) {
23
+ return;
24
+ }
25
+ await runLocateRequest(id, '/locate/text', {
26
+ text: normalizedText,
27
+ all: options.all,
28
+ exact: options.exact,
29
+ }, options);
30
+ };
31
+ export const runLocateLabel = async (id, label, options) => {
32
+ const normalizedLabel = requireLocateArgument(label, 'label');
33
+ if (!normalizedLabel) {
34
+ return;
35
+ }
36
+ await runLocateRequest(id, '/locate/label', {
37
+ label: normalizedLabel,
38
+ all: options.all,
39
+ exact: options.exact,
40
+ }, options);
41
+ };
42
+ const runLocateRequest = async (id, path, body, options) => {
43
+ const output = createOutput(options);
44
+ const action = normalizeLocateAction(options.action, output);
45
+ if (action == null && options.action) {
46
+ return;
47
+ }
48
+ if (action && options.all) {
49
+ output.writeWarn('Cannot combine --action with --all.');
50
+ process.exitCode = 2;
51
+ return;
52
+ }
53
+ if (action === 'fill' && options.value == null) {
54
+ output.writeWarn('--value is required with --action fill.');
55
+ process.exitCode = 2;
56
+ return;
57
+ }
58
+ const result = await requestWatcherAction({
59
+ id,
60
+ path,
61
+ method: 'POST',
62
+ body,
63
+ timeoutMs: 30_000,
64
+ }, output);
65
+ if (!result) {
66
+ return;
67
+ }
68
+ const response = result.data;
69
+ if (options.json && !action) {
70
+ output.writeJson(response);
71
+ return;
72
+ }
73
+ if (response.matches === 0 || response.elements.length === 0) {
74
+ output.writeWarn('No matching element found.');
75
+ process.exitCode = 1;
76
+ return;
77
+ }
78
+ if (!action) {
79
+ output.writeHuman(formatLocatedElements(response.elements));
80
+ return;
81
+ }
82
+ const targetRef = response.elements[0].ref;
83
+ await runLocateAction(id, action, targetRef, options);
84
+ };
85
+ const requireLocateArgument = (value, label) => {
86
+ const normalized = value?.trim();
87
+ if (normalized) {
88
+ return normalized;
89
+ }
90
+ process.stderr.write(`${label} is required\n`);
91
+ process.exitCode = 2;
92
+ return null;
93
+ };
94
+ const normalizeLocateAction = (value, output) => {
95
+ if (!value) {
96
+ return null;
97
+ }
98
+ if (value === 'click' || value === 'fill' || value === 'focus' || value === 'hover') {
99
+ return value;
100
+ }
101
+ output.writeWarn('Invalid --action. Expected one of: click, fill, focus, hover.');
102
+ process.exitCode = 2;
103
+ return null;
104
+ };
105
+ const runLocateAction = async (id, action, ref, options) => {
106
+ if (action === 'fill') {
107
+ await runDomFill(id, options.value, { ref, json: options.json });
108
+ return;
109
+ }
110
+ const handlers = {
111
+ click: () => runDomClick(id, { ref, json: options.json }),
112
+ hover: () => runDomHover(id, { ref, json: options.json }),
113
+ focus: () => runDomFocus(id, { ref, json: options.json }),
114
+ };
115
+ await handlers[action]();
116
+ };
117
+ //# sourceMappingURL=locate.js.map