@vforsh/argus 0.1.12 → 0.1.14

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 (319) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/argus.js +8523 -2060
  3. package/dist/cdp/sendCdpCommand.d.ts +6 -2
  4. package/dist/cdp/sendCdpCommand.d.ts.map +1 -1
  5. package/dist/cdp/sendCdpCommand.js +18 -12
  6. package/dist/cdp/sendCdpCommand.js.map +1 -1
  7. package/dist/cli/defineCommand.d.ts +26 -0
  8. package/dist/cli/defineCommand.d.ts.map +1 -0
  9. package/dist/cli/defineCommand.js +55 -0
  10. package/dist/cli/defineCommand.js.map +1 -0
  11. package/dist/cli/defineWatcherCommand.d.ts +95 -0
  12. package/dist/cli/defineWatcherCommand.d.ts.map +1 -0
  13. package/dist/cli/defineWatcherCommand.js +72 -0
  14. package/dist/cli/defineWatcherCommand.js.map +1 -0
  15. package/dist/cli/plugins/registerPlugins.d.ts.map +1 -1
  16. package/dist/cli/plugins/registerPlugins.js +1 -1
  17. package/dist/cli/plugins/registerPlugins.js.map +1 -1
  18. package/dist/cli/register/domCommandBuilder.d.ts +1 -0
  19. package/dist/cli/register/domCommandBuilder.d.ts.map +1 -1
  20. package/dist/cli/register/domCommandBuilder.js +3 -0
  21. package/dist/cli/register/domCommandBuilder.js.map +1 -1
  22. package/dist/cli/register/index.d.ts.map +1 -1
  23. package/dist/cli/register/index.js +10 -2
  24. package/dist/cli/register/index.js.map +1 -1
  25. package/dist/cli/register/registerAuth.d.ts.map +1 -1
  26. package/dist/cli/register/registerAuth.js +103 -4
  27. package/dist/cli/register/registerAuth.js.map +1 -1
  28. package/dist/cli/register/registerChrome.d.ts.map +1 -1
  29. package/dist/cli/register/registerChrome.js +53 -14
  30. package/dist/cli/register/registerChrome.js.map +1 -1
  31. package/dist/cli/register/registerCode.d.ts.map +1 -1
  32. package/dist/cli/register/registerCode.js +19 -0
  33. package/dist/cli/register/registerCode.js.map +1 -1
  34. package/dist/cli/register/registerDialog.d.ts +3 -0
  35. package/dist/cli/register/registerDialog.d.ts.map +1 -0
  36. package/dist/cli/register/registerDialog.js +45 -0
  37. package/dist/cli/register/registerDialog.js.map +1 -0
  38. package/dist/cli/register/registerDom.d.ts.map +1 -1
  39. package/dist/cli/register/registerDom.js +7 -1
  40. package/dist/cli/register/registerDom.js.map +1 -1
  41. package/dist/cli/register/registerEval.d.ts.map +1 -1
  42. package/dist/cli/register/registerEval.js +8 -1
  43. package/dist/cli/register/registerEval.js.map +1 -1
  44. package/dist/cli/register/registerExtension.d.ts.map +1 -1
  45. package/dist/cli/register/registerExtension.js +12 -0
  46. package/dist/cli/register/registerExtension.js.map +1 -1
  47. package/dist/cli/register/registerFill.d.ts.map +1 -1
  48. package/dist/cli/register/registerFill.js +4 -3
  49. package/dist/cli/register/registerFill.js.map +1 -1
  50. package/dist/cli/register/registerHover.d.ts.map +1 -1
  51. package/dist/cli/register/registerHover.js +2 -1
  52. package/dist/cli/register/registerHover.js.map +1 -1
  53. package/dist/cli/register/registerLocate.d.ts +3 -0
  54. package/dist/cli/register/registerLocate.d.ts.map +1 -0
  55. package/dist/cli/register/registerLocate.js +48 -0
  56. package/dist/cli/register/registerLocate.js.map +1 -0
  57. package/dist/cli/register/registerNet.d.ts.map +1 -1
  58. package/dist/cli/register/registerNet.js +268 -13
  59. package/dist/cli/register/registerNet.js.map +1 -1
  60. package/dist/cli/register/registerPage.d.ts.map +1 -1
  61. package/dist/cli/register/registerPage.js +17 -0
  62. package/dist/cli/register/registerPage.js.map +1 -1
  63. package/dist/cli/register/registerQuickAccess.d.ts.map +1 -1
  64. package/dist/cli/register/registerQuickAccess.js +33 -3
  65. package/dist/cli/register/registerQuickAccess.js.map +1 -1
  66. package/dist/cli/register/registerSnapshot.d.ts.map +1 -1
  67. package/dist/cli/register/registerSnapshot.js +2 -1
  68. package/dist/cli/register/registerSnapshot.js.map +1 -1
  69. package/dist/cli/register/registerStorage.d.ts.map +1 -1
  70. package/dist/cli/register/registerStorage.js +26 -21
  71. package/dist/cli/register/registerStorage.js.map +1 -1
  72. package/dist/cli/register/registerWatcher.d.ts.map +1 -1
  73. package/dist/cli/register/registerWatcher.js +19 -0
  74. package/dist/cli/register/registerWatcher.js.map +1 -1
  75. package/dist/cli/validation.d.ts +1 -0
  76. package/dist/cli/validation.d.ts.map +1 -1
  77. package/dist/cli/validation.js +1 -0
  78. package/dist/cli/validation.js.map +1 -1
  79. package/dist/commands/auth.d.ts +39 -18
  80. package/dist/commands/auth.d.ts.map +1 -1
  81. package/dist/commands/auth.js +104 -122
  82. package/dist/commands/auth.js.map +1 -1
  83. package/dist/commands/authCookieSupport.d.ts +54 -0
  84. package/dist/commands/authCookieSupport.d.ts.map +1 -0
  85. package/dist/commands/authCookieSupport.js +206 -0
  86. package/dist/commands/authCookieSupport.js.map +1 -0
  87. package/dist/commands/authCookies.d.ts +60 -0
  88. package/dist/commands/authCookies.d.ts.map +1 -0
  89. package/dist/commands/authCookies.js +149 -0
  90. package/dist/commands/authCookies.js.map +1 -0
  91. package/dist/commands/chrome/authState.d.ts +23 -0
  92. package/dist/commands/chrome/authState.d.ts.map +1 -0
  93. package/dist/commands/chrome/authState.js +97 -0
  94. package/dist/commands/chrome/authState.js.map +1 -0
  95. package/dist/commands/chromeStart.d.ts +1 -0
  96. package/dist/commands/chromeStart.d.ts.map +1 -1
  97. package/dist/commands/chromeStart.js +28 -3
  98. package/dist/commands/chromeStart.js.map +1 -1
  99. package/dist/commands/code.d.ts.map +1 -1
  100. package/dist/commands/code.js +9 -1
  101. package/dist/commands/code.js.map +1 -1
  102. package/dist/commands/codeEdit.d.ts +9 -0
  103. package/dist/commands/codeEdit.d.ts.map +1 -0
  104. package/dist/commands/codeEdit.js +155 -0
  105. package/dist/commands/codeEdit.js.map +1 -0
  106. package/dist/commands/dialog.d.ts +13 -0
  107. package/dist/commands/dialog.d.ts.map +1 -0
  108. package/dist/commands/dialog.js +53 -0
  109. package/dist/commands/dialog.js.map +1 -0
  110. package/dist/commands/dom/shared.d.ts +5 -1
  111. package/dist/commands/dom/shared.d.ts.map +1 -1
  112. package/dist/commands/dom/shared.js +27 -0
  113. package/dist/commands/dom/shared.js.map +1 -1
  114. package/dist/commands/domClick.d.ts +5 -1
  115. package/dist/commands/domClick.d.ts.map +1 -1
  116. package/dist/commands/domClick.js +87 -69
  117. package/dist/commands/domClick.js.map +1 -1
  118. package/dist/commands/domFill.d.ts +3 -2
  119. package/dist/commands/domFill.d.ts.map +1 -1
  120. package/dist/commands/domFill.js +57 -64
  121. package/dist/commands/domFill.js.map +1 -1
  122. package/dist/commands/domFocus.d.ts +3 -2
  123. package/dist/commands/domFocus.d.ts.map +1 -1
  124. package/dist/commands/domFocus.js +28 -35
  125. package/dist/commands/domFocus.js.map +1 -1
  126. package/dist/commands/domHover.d.ts +3 -2
  127. package/dist/commands/domHover.d.ts.map +1 -1
  128. package/dist/commands/domHover.js +28 -35
  129. package/dist/commands/domHover.js.map +1 -1
  130. package/dist/commands/domInfo.d.ts +2 -1
  131. package/dist/commands/domInfo.d.ts.map +1 -1
  132. package/dist/commands/domInfo.js +6 -5
  133. package/dist/commands/domInfo.js.map +1 -1
  134. package/dist/commands/domRemove.d.ts +1 -1
  135. package/dist/commands/domRemove.d.ts.map +1 -1
  136. package/dist/commands/domRemove.js +25 -34
  137. package/dist/commands/domRemove.js.map +1 -1
  138. package/dist/commands/domScroll.d.ts +1 -1
  139. package/dist/commands/domScroll.d.ts.map +1 -1
  140. package/dist/commands/domScroll.js +1 -1
  141. package/dist/commands/domScroll.js.map +1 -1
  142. package/dist/commands/domSetFile.d.ts +1 -1
  143. package/dist/commands/domSetFile.d.ts.map +1 -1
  144. package/dist/commands/domSetFile.js +24 -33
  145. package/dist/commands/domSetFile.js.map +1 -1
  146. package/dist/commands/domTree.js +2 -2
  147. package/dist/commands/domTree.js.map +1 -1
  148. package/dist/commands/eval.d.ts +2 -0
  149. package/dist/commands/eval.d.ts.map +1 -1
  150. package/dist/commands/eval.js +15 -9
  151. package/dist/commands/eval.js.map +1 -1
  152. package/dist/commands/evalShared.d.ts +11 -0
  153. package/dist/commands/evalShared.d.ts.map +1 -1
  154. package/dist/commands/evalShared.js +21 -0
  155. package/dist/commands/evalShared.js.map +1 -1
  156. package/dist/commands/evalUntil.d.ts +2 -0
  157. package/dist/commands/evalUntil.d.ts.map +1 -1
  158. package/dist/commands/evalUntil.js +14 -8
  159. package/dist/commands/evalUntil.js.map +1 -1
  160. package/dist/commands/extension/resolveExtensionWatcher.d.ts +20 -0
  161. package/dist/commands/extension/resolveExtensionWatcher.d.ts.map +1 -0
  162. package/dist/commands/extension/resolveExtensionWatcher.js +73 -0
  163. package/dist/commands/extension/resolveExtensionWatcher.js.map +1 -0
  164. package/dist/commands/extension/tabs.d.ts +8 -0
  165. package/dist/commands/extension/tabs.d.ts.map +1 -0
  166. package/dist/commands/extension/tabs.js +85 -0
  167. package/dist/commands/extension/tabs.js.map +1 -0
  168. package/dist/commands/locate.d.ts +17 -0
  169. package/dist/commands/locate.d.ts.map +1 -0
  170. package/dist/commands/locate.js +117 -0
  171. package/dist/commands/locate.js.map +1 -0
  172. package/dist/commands/net.d.ts +2 -5
  173. package/dist/commands/net.d.ts.map +1 -1
  174. package/dist/commands/net.js +5 -7
  175. package/dist/commands/net.js.map +1 -1
  176. package/dist/commands/netBody.d.ts +6 -0
  177. package/dist/commands/netBody.d.ts.map +1 -0
  178. package/dist/commands/netBody.js +32 -0
  179. package/dist/commands/netBody.js.map +1 -0
  180. package/dist/commands/netCapture.d.ts +41 -0
  181. package/dist/commands/netCapture.d.ts.map +1 -0
  182. package/dist/commands/netCapture.js +203 -0
  183. package/dist/commands/netCapture.js.map +1 -0
  184. package/dist/commands/netClear.d.ts +5 -0
  185. package/dist/commands/netClear.d.ts.map +1 -0
  186. package/dist/commands/netClear.js +20 -0
  187. package/dist/commands/netClear.js.map +1 -0
  188. package/dist/commands/netExport.d.ts +8 -0
  189. package/dist/commands/netExport.d.ts.map +1 -0
  190. package/dist/commands/netExport.js +124 -0
  191. package/dist/commands/netExport.js.map +1 -0
  192. package/dist/commands/netInspect.d.ts +12 -0
  193. package/dist/commands/netInspect.d.ts.map +1 -0
  194. package/dist/commands/netInspect.js +205 -0
  195. package/dist/commands/netInspect.js.map +1 -0
  196. package/dist/commands/netRequestClient.d.ts +17 -0
  197. package/dist/commands/netRequestClient.d.ts.map +1 -0
  198. package/dist/commands/netRequestClient.js +54 -0
  199. package/dist/commands/netRequestClient.js.map +1 -0
  200. package/dist/commands/netRequestTarget.d.ts +14 -0
  201. package/dist/commands/netRequestTarget.d.ts.map +1 -0
  202. package/dist/commands/netRequestTarget.js +36 -0
  203. package/dist/commands/netRequestTarget.js.map +1 -0
  204. package/dist/commands/netShared.d.ts +40 -0
  205. package/dist/commands/netShared.d.ts.map +1 -0
  206. package/dist/commands/netShared.js +108 -0
  207. package/dist/commands/netShared.js.map +1 -0
  208. package/dist/commands/netShow.d.ts +5 -0
  209. package/dist/commands/netShow.d.ts.map +1 -0
  210. package/dist/commands/netShow.js +28 -0
  211. package/dist/commands/netShow.js.map +1 -0
  212. package/dist/commands/netSse.d.ts +6 -0
  213. package/dist/commands/netSse.d.ts.map +1 -0
  214. package/dist/commands/netSse.js +26 -0
  215. package/dist/commands/netSse.js.map +1 -0
  216. package/dist/commands/netSummary.d.ts +6 -0
  217. package/dist/commands/netSummary.d.ts.map +1 -0
  218. package/dist/commands/netSummary.js +99 -0
  219. package/dist/commands/netSummary.js.map +1 -0
  220. package/dist/commands/netTail.d.ts +2 -5
  221. package/dist/commands/netTail.d.ts.map +1 -1
  222. package/dist/commands/netTail.js +7 -15
  223. package/dist/commands/netTail.js.map +1 -1
  224. package/dist/commands/netWatch.d.ts +6 -0
  225. package/dist/commands/netWatch.d.ts.map +1 -0
  226. package/dist/commands/netWatch.js +55 -0
  227. package/dist/commands/netWatch.js.map +1 -0
  228. package/dist/commands/netWebSocket.d.ts +10 -0
  229. package/dist/commands/netWebSocket.d.ts.map +1 -0
  230. package/dist/commands/netWebSocket.js +58 -0
  231. package/dist/commands/netWebSocket.js.map +1 -0
  232. package/dist/commands/pageVisibility.d.ts +9 -0
  233. package/dist/commands/pageVisibility.d.ts.map +1 -0
  234. package/dist/commands/pageVisibility.js +24 -0
  235. package/dist/commands/pageVisibility.js.map +1 -0
  236. package/dist/commands/reload.d.ts +1 -1
  237. package/dist/commands/reload.d.ts.map +1 -1
  238. package/dist/commands/reload.js +8 -17
  239. package/dist/commands/reload.js.map +1 -1
  240. package/dist/commands/resolveTestId.d.ts +2 -1
  241. package/dist/commands/resolveTestId.d.ts.map +1 -1
  242. package/dist/commands/resolveTestId.js +3 -3
  243. package/dist/commands/resolveTestId.js.map +1 -1
  244. package/dist/commands/screenshot.d.ts +1 -0
  245. package/dist/commands/screenshot.d.ts.map +1 -1
  246. package/dist/commands/screenshot.js +37 -2
  247. package/dist/commands/screenshot.js.map +1 -1
  248. package/dist/commands/snapshot.d.ts +1 -1
  249. package/dist/commands/snapshot.d.ts.map +1 -1
  250. package/dist/commands/snapshot.js +26 -49
  251. package/dist/commands/snapshot.js.map +1 -1
  252. package/dist/commands/start.d.ts +1 -0
  253. package/dist/commands/start.d.ts.map +1 -1
  254. package/dist/commands/start.js +62 -7
  255. package/dist/commands/start.js.map +1 -1
  256. package/dist/commands/storage.d.ts +17 -0
  257. package/dist/commands/storage.d.ts.map +1 -0
  258. package/dist/commands/storage.js +35 -0
  259. package/dist/commands/storage.js.map +1 -0
  260. package/dist/commands/throttle.d.ts +6 -3
  261. package/dist/commands/throttle.d.ts.map +1 -1
  262. package/dist/commands/throttle.js +46 -118
  263. package/dist/commands/throttle.js.map +1 -1
  264. package/dist/commands/watcherNativeHost.d.ts.map +1 -1
  265. package/dist/commands/watcherNativeHost.js +13 -2
  266. package/dist/commands/watcherNativeHost.js.map +1 -1
  267. package/dist/commands/watcherStatus.d.ts.map +1 -1
  268. package/dist/commands/watcherStatus.js +2 -1
  269. package/dist/commands/watcherStatus.js.map +1 -1
  270. package/dist/eval/evalClient.d.ts +1 -0
  271. package/dist/eval/evalClient.d.ts.map +1 -1
  272. package/dist/eval/evalClient.js +2 -0
  273. package/dist/eval/evalClient.js.map +1 -1
  274. package/dist/net/har.d.ts +86 -0
  275. package/dist/net/har.d.ts.map +1 -0
  276. package/dist/net/har.js +125 -0
  277. package/dist/net/har.js.map +1 -0
  278. package/dist/net/summary.d.ts +33 -0
  279. package/dist/net/summary.d.ts.map +1 -0
  280. package/dist/net/summary.js +128 -0
  281. package/dist/net/summary.js.map +1 -0
  282. package/dist/output/accessibility.js +16 -12
  283. package/dist/output/accessibility.js.map +1 -1
  284. package/dist/output/code.d.ts +2 -1
  285. package/dist/output/code.d.ts.map +1 -1
  286. package/dist/output/code.js +10 -0
  287. package/dist/output/code.js.map +1 -1
  288. package/dist/output/dom.d.ts.map +1 -1
  289. package/dist/output/dom.js +2 -1
  290. package/dist/output/dom.js.map +1 -1
  291. package/dist/output/format.d.ts +1 -3
  292. package/dist/output/format.d.ts.map +1 -1
  293. package/dist/output/format.js +0 -8
  294. package/dist/output/format.js.map +1 -1
  295. package/dist/output/locate.d.ts +3 -0
  296. package/dist/output/locate.d.ts.map +1 -0
  297. package/dist/output/locate.js +25 -0
  298. package/dist/output/locate.js.map +1 -0
  299. package/dist/output/net.d.ts +16 -0
  300. package/dist/output/net.d.ts.map +1 -0
  301. package/dist/output/net.js +298 -0
  302. package/dist/output/net.js.map +1 -0
  303. package/dist/watchers/queryParams.d.ts +17 -0
  304. package/dist/watchers/queryParams.d.ts.map +1 -1
  305. package/dist/watchers/queryParams.js +61 -0
  306. package/dist/watchers/queryParams.js.map +1 -1
  307. package/package.json +3 -6
  308. package/dist/cli/register/registerClick.d.ts +0 -3
  309. package/dist/cli/register/registerClick.d.ts.map +0 -1
  310. package/dist/cli/register/registerClick.js +0 -23
  311. package/dist/cli/register/registerClick.js.map +0 -1
  312. package/dist/commands/storageLocal.d.ts +0 -18
  313. package/dist/commands/storageLocal.d.ts.map +0 -1
  314. package/dist/commands/storageLocal.js +0 -92
  315. package/dist/commands/storageLocal.js.map +0 -1
  316. package/dist/plugin.d.ts +0 -29
  317. package/dist/plugin.d.ts.map +0 -1
  318. package/dist/plugin.js +0 -2
  319. package/dist/plugin.js.map +0 -1
@@ -4,8 +4,12 @@ export type CdpCommandPayload = {
4
4
  params?: Record<string, unknown>;
5
5
  };
6
6
  /**
7
- * Send a single CDP command over a target/browser websocket and wait for the matching response.
8
- * This stays intentionally tiny so command modules can focus on selecting targets and formatting output.
7
+ * Send a single CDP command over a target/browser websocket and return the raw `result` payload.
8
+ */
9
+ export declare const sendCdpRequest: <T>(wsUrl: string, payload: CdpCommandPayload, timeoutMs?: number) => Promise<T>;
10
+ /**
11
+ * Send a single CDP command and ignore any successful result payload.
12
+ * Keeps existing callsites terse while sharing the same request/response path.
9
13
  */
10
14
  export declare const sendCdpCommand: (wsUrl: string, payload: CdpCommandPayload, timeoutMs?: number) => Promise<void>;
11
15
  //# sourceMappingURL=sendCdpCommand.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sendCdpCommand.d.ts","sourceRoot":"","sources":["../../src/cdp/sendCdpCommand.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC,CAAA;AAoBD;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAU,OAAO,MAAM,EAAE,SAAS,iBAAiB,EAAE,kBAAiB,KAAG,OAAO,CAAC,IAAI,CAuF/G,CAAA"}
1
+ {"version":3,"file":"sendCdpCommand.d.ts","sourceRoot":"","sources":["../../src/cdp/sendCdpCommand.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,iBAAiB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC,CAAA;AA0BD;;GAEG;AACH,eAAO,MAAM,cAAc,GAAU,CAAC,EAAE,OAAO,MAAM,EAAE,SAAS,iBAAiB,EAAE,kBAAiB,KAAG,OAAO,CAAC,CAAC,CAuF/G,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAU,OAAO,MAAM,EAAE,SAAS,iBAAiB,EAAE,kBAAiB,KAAG,OAAO,CAAC,IAAI,CAE/G,CAAA"}
@@ -15,17 +15,16 @@ const toMessageText = (data) => {
15
15
  return null;
16
16
  };
17
17
  /**
18
- * Send a single CDP command over a target/browser websocket and wait for the matching response.
19
- * This stays intentionally tiny so command modules can focus on selecting targets and formatting output.
18
+ * Send a single CDP command over a target/browser websocket and return the raw `result` payload.
20
19
  */
21
- export const sendCdpCommand = async (wsUrl, payload, timeoutMs = 5_000) => {
20
+ export const sendCdpRequest = async (wsUrl, payload, timeoutMs = 5_000) => {
22
21
  const WebSocketConstructor = getWebSocketCtor();
23
22
  if (!WebSocketConstructor) {
24
23
  throw new Error('WebSocket unavailable. Node 18+ required.');
25
24
  }
26
25
  const ws = new WebSocketConstructor(wsUrl);
27
26
  const requestId = payload.id;
28
- await new Promise((resolve, reject) => {
27
+ return await new Promise((resolve, reject) => {
29
28
  let settled = false;
30
29
  const timer = setTimeout(() => {
31
30
  if (!settled) {
@@ -44,7 +43,7 @@ export const sendCdpCommand = async (wsUrl, payload, timeoutMs = 5_000) => {
44
43
  ws.removeEventListener?.('error', onError);
45
44
  ws.removeEventListener?.('close', onClose);
46
45
  };
47
- const finish = (error) => {
46
+ const finish = (result, error) => {
48
47
  if (settled) {
49
48
  return;
50
49
  }
@@ -58,14 +57,14 @@ export const sendCdpCommand = async (wsUrl, payload, timeoutMs = 5_000) => {
58
57
  reject(error);
59
58
  return;
60
59
  }
61
- resolve();
60
+ resolve(result);
62
61
  };
63
62
  const onOpen = () => {
64
63
  try {
65
64
  ws.send(JSON.stringify(payload));
66
65
  }
67
66
  catch (error) {
68
- finish(error instanceof Error ? error : new Error(String(error)));
67
+ finish(undefined, error instanceof Error ? error : new Error(String(error)));
69
68
  }
70
69
  };
71
70
  const onMessage = (event) => {
@@ -79,20 +78,20 @@ export const sendCdpCommand = async (wsUrl, payload, timeoutMs = 5_000) => {
79
78
  return;
80
79
  }
81
80
  if (message.error?.message) {
82
- finish(new Error(message.error.message));
81
+ finish(undefined, new Error(message.error.message));
83
82
  return;
84
83
  }
85
- finish();
84
+ finish(message.result);
86
85
  }
87
86
  catch (error) {
88
- finish(error instanceof Error ? error : new Error(String(error)));
87
+ finish(undefined, error instanceof Error ? error : new Error(String(error)));
89
88
  }
90
89
  };
91
90
  const onError = () => {
92
- finish(new Error('WebSocket error'));
91
+ finish(undefined, new Error('WebSocket error'));
93
92
  };
94
93
  const onClose = () => {
95
- finish(new Error('WebSocket closed before response'));
94
+ finish(undefined, new Error('WebSocket closed before response'));
96
95
  };
97
96
  ws.addEventListener('open', onOpen);
98
97
  ws.addEventListener('message', onMessage);
@@ -100,4 +99,11 @@ export const sendCdpCommand = async (wsUrl, payload, timeoutMs = 5_000) => {
100
99
  ws.addEventListener('close', onClose);
101
100
  });
102
101
  };
102
+ /**
103
+ * Send a single CDP command and ignore any successful result payload.
104
+ * Keeps existing callsites terse while sharing the same request/response path.
105
+ */
106
+ export const sendCdpCommand = async (wsUrl, payload, timeoutMs = 5_000) => {
107
+ await sendCdpRequest(wsUrl, payload, timeoutMs);
108
+ };
103
109
  //# sourceMappingURL=sendCdpCommand.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sendCdpCommand.js","sourceRoot":"","sources":["../../src/cdp/sendCdpCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sendCdpCommand.js","sourceRoot":"","sources":["../../src/cdp/sendCdpCommand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { Command } from 'commander';
2
+ export type ArgusCommandOption = {
3
+ flags: string;
4
+ description: string;
5
+ defaultValue?: string | boolean | string[];
6
+ required?: boolean;
7
+ };
8
+ export type ArgusCommandDefinition = {
9
+ name: string;
10
+ alias?: string;
11
+ description?: string;
12
+ arguments?: readonly {
13
+ flags: string;
14
+ description: string;
15
+ }[];
16
+ options?: readonly ArgusCommandOption[];
17
+ examples?: readonly string[];
18
+ configure?: (command: Command) => void;
19
+ action?: (...args: any[]) => Promise<void> | void;
20
+ subcommands?: readonly ArgusCommandDefinition[];
21
+ };
22
+ /** Register a declarative command definition with Commander. */
23
+ export declare const defineCommand: (parent: Command, definition: ArgusCommandDefinition) => Command;
24
+ /** Register a list of command definitions in order. */
25
+ export declare const defineCommands: (parent: Command, definitions: readonly ArgusCommandDefinition[]) => void;
26
+ //# sourceMappingURL=defineCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defineCommand.d.ts","sourceRoot":"","sources":["../../src/cli/defineCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,MAAM,kBAAkB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,CAAA;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC7D,OAAO,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAA;IACvC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC5B,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACjD,WAAW,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAA;CAC/C,CAAA;AAED,gEAAgE;AAChE,eAAO,MAAM,aAAa,GAAI,QAAQ,OAAO,EAAE,YAAY,sBAAsB,KAAG,OAgCnF,CAAA;AAED,uDAAuD;AACvD,eAAO,MAAM,cAAc,GAAI,QAAQ,OAAO,EAAE,aAAa,SAAS,sBAAsB,EAAE,KAAG,IAIhG,CAAA"}
@@ -0,0 +1,55 @@
1
+ import { Command } from 'commander';
2
+ /** Register a declarative command definition with Commander. */
3
+ export const defineCommand = (parent, definition) => {
4
+ const command = parent.command(definition.name);
5
+ if (definition.alias) {
6
+ command.alias(definition.alias);
7
+ }
8
+ if (definition.description) {
9
+ command.description(definition.description);
10
+ }
11
+ for (const argument of definition.arguments ?? []) {
12
+ command.argument(argument.flags, argument.description);
13
+ }
14
+ for (const option of definition.options ?? []) {
15
+ if (option.required) {
16
+ addRequiredOption(command, option);
17
+ }
18
+ else {
19
+ addOption(command, option);
20
+ }
21
+ }
22
+ if (definition.examples && definition.examples.length > 0) {
23
+ command.addHelpText('after', formatExamples(definition.examples));
24
+ }
25
+ definition.configure?.(command);
26
+ for (const subcommand of definition.subcommands ?? []) {
27
+ defineCommand(command, subcommand);
28
+ }
29
+ if (definition.action) {
30
+ command.action(definition.action);
31
+ }
32
+ return command;
33
+ };
34
+ /** Register a list of command definitions in order. */
35
+ export const defineCommands = (parent, definitions) => {
36
+ for (const definition of definitions) {
37
+ defineCommand(parent, definition);
38
+ }
39
+ };
40
+ const addRequiredOption = (command, option) => {
41
+ if (option.defaultValue === undefined) {
42
+ command.requiredOption(option.flags, option.description);
43
+ return;
44
+ }
45
+ command.requiredOption(option.flags, option.description, option.defaultValue);
46
+ };
47
+ const addOption = (command, option) => {
48
+ if (option.defaultValue === undefined) {
49
+ command.option(option.flags, option.description);
50
+ return;
51
+ }
52
+ command.option(option.flags, option.description, option.defaultValue);
53
+ };
54
+ const formatExamples = (examples) => `\nExamples:\n${examples.map((example) => ` $ ${example}`).join('\n')}\n`;
55
+ //# sourceMappingURL=defineCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defineCommand.js","sourceRoot":"","sources":["../../src/cli/defineCommand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ import type { ProtocolSchema, WatcherRecord } from '@vforsh/argus-core';
2
+ import type { Output } from '../output/io.js';
3
+ /**
4
+ * Plan for a single watcher HTTP request, produced by a command's `build` step.
5
+ *
6
+ * Most commands return a constant plan; commands that adapt the path or timeout
7
+ * to their inputs (`/storage/<area>`, `Math.max(30s, wait + 5s)`) compute the
8
+ * plan from `options`. Returning `null` from `build` short-circuits the command
9
+ * after the build step has written its own warning + set `process.exitCode`.
10
+ */
11
+ export type WatcherRequestPlan = {
12
+ /** Request path. May be dynamic (e.g. ``/storage/${area}``). */
13
+ path: string;
14
+ /** HTTP method. Defaults to `'POST'` when `body` is set, else `'GET'`. */
15
+ method?: 'GET' | 'POST';
16
+ /** Request body. Encoded as JSON. Subject to schema validation when `spec.schema` is set. */
17
+ body?: unknown;
18
+ /** Optional query string. */
19
+ query?: URLSearchParams;
20
+ /** Override the default 30s timeout. */
21
+ timeoutMs?: number;
22
+ };
23
+ /** Context passed to `formatHuman` / `formatJson` after a successful request. */
24
+ export type WatcherCommandContext<TArgs extends readonly unknown[], TOptions> = {
25
+ output: Output;
26
+ watcher: WatcherRecord;
27
+ args: TArgs;
28
+ options: TOptions;
29
+ };
30
+ /**
31
+ * Spec for a CLI command that talks to a watcher.
32
+ *
33
+ * The runner produced by {@link defineWatcherCommand} owns the cross-cutting
34
+ * pipeline (createOutput → build → optional schema → requestWatcherAction →
35
+ * JSON-vs-human dispatch). The spec only needs the parts that are unique to
36
+ * this command.
37
+ *
38
+ * `TArgs` is a tuple of positional CLI arguments (excluding the watcher id and
39
+ * the trailing options object). Most commands use `[]`; commands like `argus
40
+ * fill <id> <value>` use `[string | undefined]`.
41
+ */
42
+ export type WatcherCommandSpec<TArgs extends readonly unknown[], TOptions extends {
43
+ json?: boolean;
44
+ }, TBody, TResponse extends {
45
+ ok: true;
46
+ }> = {
47
+ /**
48
+ * Validate inputs and produce the HTTP request plan. May read stdin/files,
49
+ * so it can be async. Return `null` to short-circuit (after the build has
50
+ * already written a warning and set `process.exitCode`).
51
+ */
52
+ build: (args: TArgs, options: TOptions, output: Output) => Promise<WatcherRequestPlan | null> | WatcherRequestPlan | null;
53
+ /**
54
+ * Optional protocol schema applied to `plan.body` before sending. When the
55
+ * schema rejects the body, the runner writes the issues and exits with code 2.
56
+ */
57
+ schema?: ProtocolSchema<TBody>;
58
+ /**
59
+ * Render the success response for human users.
60
+ * Defaults to compact pretty-printed JSON when omitted.
61
+ */
62
+ formatHuman?: (response: TResponse, ctx: WatcherCommandContext<TArgs, TOptions>) => void;
63
+ /**
64
+ * Map the success response to the JSON output payload.
65
+ * Defaults to identity (`response`).
66
+ */
67
+ formatJson?: (response: TResponse, ctx: WatcherCommandContext<TArgs, TOptions>) => unknown;
68
+ };
69
+ /**
70
+ * Runner produced by {@link defineWatcherCommand}. Signature is
71
+ * `(id, ...args, options) => Promise<void>` — the same shape Commander
72
+ * action callbacks already use, so the runner drops in unchanged.
73
+ */
74
+ export type WatcherCommandRunner<TArgs extends readonly unknown[], TOptions> = (id: string | undefined, ...rest: [...TArgs, TOptions]) => Promise<void>;
75
+ /**
76
+ * Build a runner for a watcher CLI command.
77
+ *
78
+ * Pipeline (in order):
79
+ * 1. `createOutput(options)` — JSON vs human stream selection.
80
+ * 2. `spec.build(args, options, output)` — validation + body/path/timeout.
81
+ * Returning `null` cleanly aborts.
82
+ * 3. Optional `spec.schema.parse(plan.body)` — protocol validation.
83
+ * 4. `requestWatcherAction(...)` — resolve watcher + transport + ErrorResponse.
84
+ * 5. JSON path: write `formatJson?.(...) ?? response`.
85
+ * 6. Human path: call `formatHuman` (or pretty-print JSON as fallback).
86
+ *
87
+ * Type inference resolves `TArgs`/`TOptions`/`TResponse` from the spec, so most
88
+ * call sites don't need explicit generics.
89
+ */
90
+ export declare const defineWatcherCommand: <TOptions extends {
91
+ json?: boolean;
92
+ }, TResponse extends {
93
+ ok: true;
94
+ }, TBody = unknown, TArgs extends readonly unknown[] = []>(spec: WatcherCommandSpec<TArgs, TOptions, TBody, TResponse>) => WatcherCommandRunner<TArgs, TOptions>;
95
+ //# sourceMappingURL=defineWatcherCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defineWatcherCommand.d.ts","sourceRoot":"","sources":["../../src/cli/defineWatcherCommand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAI7C;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAChC,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAA;IACZ,0EAA0E;IAC1E,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IACvB,6FAA6F;IAC7F,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,6BAA6B;IAC7B,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAKD,iFAAiF;AACjF,MAAM,MAAM,qBAAqB,CAAC,KAAK,SAAS,SAAS,OAAO,EAAE,EAAE,QAAQ,IAAI;IAC/E,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,aAAa,CAAA;IACtB,IAAI,EAAE,KAAK,CAAA;IACX,OAAO,EAAE,QAAQ,CAAA;CACjB,CAAA;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,SAAS,OAAO,EAAE,EAAE,QAAQ,SAAS;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,KAAK,EAAE,SAAS,SAAS;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,IAAI;IAC9I;;;;OAIG;IACH,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,kBAAkB,GAAG,IAAI,CAAA;IAEzH;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAA;IAE9B;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,CAAA;IAExF;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,OAAO,CAAA;CAC1F,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,CAAC,KAAK,SAAS,SAAS,OAAO,EAAE,EAAE,QAAQ,IAAI,CAC9E,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,GAAG,IAAI,EAAE,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC,KACzB,OAAO,CAAC,IAAI,CAAC,CAAA;AAElB;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,SAAS;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,SAAS,SAAS;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,EAAE,KAAK,GAAG,OAAO,EAAE,KAAK,SAAS,SAAS,OAAO,EAAE,GAAG,EAAE,EAC3H,MAAM,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,KACzD,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAuCtC,CAAA"}
@@ -0,0 +1,72 @@
1
+ import { formatProtocolValidationIssues } from '@vforsh/argus-core';
2
+ import { createOutput } from '../output/io.js';
3
+ import { requestWatcherAction } from '../watchers/requestWatcher.js';
4
+ /** Default request timeout when a plan does not specify one. */
5
+ const DEFAULT_TIMEOUT_MS = 30_000;
6
+ /**
7
+ * Build a runner for a watcher CLI command.
8
+ *
9
+ * Pipeline (in order):
10
+ * 1. `createOutput(options)` — JSON vs human stream selection.
11
+ * 2. `spec.build(args, options, output)` — validation + body/path/timeout.
12
+ * Returning `null` cleanly aborts.
13
+ * 3. Optional `spec.schema.parse(plan.body)` — protocol validation.
14
+ * 4. `requestWatcherAction(...)` — resolve watcher + transport + ErrorResponse.
15
+ * 5. JSON path: write `formatJson?.(...) ?? response`.
16
+ * 6. Human path: call `formatHuman` (or pretty-print JSON as fallback).
17
+ *
18
+ * Type inference resolves `TArgs`/`TOptions`/`TResponse` from the spec, so most
19
+ * call sites don't need explicit generics.
20
+ */
21
+ export const defineWatcherCommand = (spec) => async (id, ...rest) => {
22
+ // `rest` ends with the options object; everything before it is positional CLI args.
23
+ const tail = rest.length - 1;
24
+ const options = rest[tail];
25
+ const args = rest.slice(0, tail);
26
+ const output = createOutput(options);
27
+ const plan = await spec.build(args, options, output);
28
+ if (plan == null)
29
+ return;
30
+ const body = validateBody(plan, spec.schema, output);
31
+ if (body === SCHEMA_REJECTED)
32
+ return;
33
+ const result = await requestWatcherAction({
34
+ id,
35
+ path: plan.path,
36
+ method: plan.method ?? (plan.body !== undefined ? 'POST' : 'GET'),
37
+ body,
38
+ query: plan.query,
39
+ timeoutMs: plan.timeoutMs ?? DEFAULT_TIMEOUT_MS,
40
+ }, output);
41
+ if (!result)
42
+ return;
43
+ const ctx = { output, watcher: result.watcher, args, options };
44
+ if (output.json) {
45
+ output.writeJson(spec.formatJson ? spec.formatJson(result.data, ctx) : result.data);
46
+ return;
47
+ }
48
+ if (spec.formatHuman) {
49
+ spec.formatHuman(result.data, ctx);
50
+ return;
51
+ }
52
+ output.writeHuman(JSON.stringify(result.data, null, 2));
53
+ };
54
+ /** Sentinel returned by {@link validateBody} when schema validation failed. */
55
+ const SCHEMA_REJECTED = Symbol('schema-rejected');
56
+ /**
57
+ * Validate `plan.body` against an optional schema. On failure, write a warning,
58
+ * set `process.exitCode = 2`, and return {@link SCHEMA_REJECTED} so the caller
59
+ * can early-exit. On success (or when no schema is provided), return the body
60
+ * to send.
61
+ */
62
+ const validateBody = (plan, schema, output) => {
63
+ if (!schema || plan.body === undefined)
64
+ return plan.body;
65
+ const parsed = schema.parse(plan.body);
66
+ if (parsed.ok)
67
+ return parsed.value;
68
+ output.writeWarn(formatProtocolValidationIssues(parsed.issues));
69
+ process.exitCode = 2;
70
+ return SCHEMA_REJECTED;
71
+ };
72
+ //# sourceMappingURL=defineWatcherCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defineWatcherCommand.js","sourceRoot":"","sources":["../../src/cli/defineWatcherCommand.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"registerPlugins.d.ts","sourceRoot":"","sources":["../../../src/cli/plugins/registerPlugins.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAwFxC,eAAO,MAAM,eAAe,GAAU,SAAS,OAAO,KAAG,OAAO,CAAC,IAAI,CA8DpE,CAAA"}
1
+ {"version":3,"file":"registerPlugins.d.ts","sourceRoot":"","sources":["../../../src/cli/plugins/registerPlugins.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAsFxC,eAAO,MAAM,eAAe,GAAU,SAAS,OAAO,KAAG,OAAO,CAAC,IAAI,CA8DpE,CAAA"}
@@ -1,10 +1,10 @@
1
1
  import path from 'node:path';
2
2
  import { pathToFileURL } from 'node:url';
3
+ import { ARGUS_PLUGIN_API_VERSION } from '@vforsh/argus-plugin-api';
3
4
  import { resolveArgusConfigPath, loadArgusConfig } from '../../config/argusConfig.js';
4
5
  import { createOutput } from '../../output/io.js';
5
6
  import { requestWatcherJson, writeRequestError } from '../../watchers/requestWatcher.js';
6
7
  import { runChromeOpen } from '../../commands/chrome.js';
7
- import { ARGUS_PLUGIN_API_VERSION } from '../../plugin.js';
8
8
  const parseEnvPlugins = () => {
9
9
  const raw = process.env.ARGUS_PLUGINS;
10
10
  if (!raw)
@@ -1 +1 @@
1
- {"version":3,"file":"registerPlugins.js","sourceRoot":"","sources":["../../../src/cli/plugins/registerPlugins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registerPlugins.js","sourceRoot":"","sources":["../../../src/cli/plugins/registerPlugins.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ type DomSelectorCommandSpec = {
5
5
  examples: string[];
6
6
  alias?: string;
7
7
  allowsAll?: boolean;
8
+ allowRef?: boolean;
8
9
  textOption?: {
9
10
  flags: string;
10
11
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"domCommandBuilder.d.ts","sourceRoot":"","sources":["../../../src/cli/register/domCommandBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AASxC,KAAK,sBAAsB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GAAI,QAAQ,OAAO,EAAE,MAAM,sBAAsB,KAAG,IA6B1F,CAAA"}
1
+ {"version":3,"file":"domCommandBuilder.d.ts","sourceRoot":"","sources":["../../../src/cli/register/domCommandBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAUxC,KAAK,sBAAsB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GAAI,QAAQ,OAAO,EAAE,MAAM,sBAAsB,KAAG,IAgC1F,CAAA"}
@@ -10,6 +10,9 @@ export const registerDomSelectorCommand = (parent, spec) => {
10
10
  }
11
11
  command.option('--selector <css>', 'CSS selector to match element(s)');
12
12
  command.option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"');
13
+ if (spec.allowRef) {
14
+ command.option('--ref <elementRef>', 'Stable element ref from snapshot/locate output');
15
+ }
13
16
  if (spec.allowsAll !== false) {
14
17
  command.option('--all', 'Allow multiple matches (default: error if >1 match)');
15
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"domCommandBuilder.js","sourceRoot":"","sources":["../../../src/cli/register/domCommandBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAuB/D;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,MAAe,EAAE,IAA4B,EAAQ,EAAE;IACjG,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAE/G,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC1B,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,kCAAkC,CAAC,CAAA;IACtE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,mDAAmD,CAAC,CAAA;IAEpF,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QAC9B,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,qDAAqD,CAAC,CAAA;IAC/E,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;IACnE,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,8CAA8C,CAAC,CAAA;IACpF,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAA;IACtD,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAA;IACzB,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;QACpC,IAAI,CAAC,aAAa,CAAC,OAA4B,CAAC,EAAE,CAAC;YAClD,OAAM;QACP,CAAC;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAkC,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,QAAkB,EAAU,EAAE,CAAC,gBAAgB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA"}
1
+ {"version":3,"file":"domCommandBuilder.js","sourceRoot":"","sources":["../../../src/cli/register/domCommandBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAyB/D;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,MAAe,EAAE,IAA4B,EAAQ,EAAE;IACjG,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAE/G,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC1B,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,kCAAkC,CAAC,CAAA;IACtE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,mDAAmD,CAAC,CAAA;IACpF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,gDAAgD,CAAC,CAAA;IACvF,CAAC;IAED,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QAC9B,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,qDAAqD,CAAC,CAAA;IAC/E,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;IACnE,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,8CAA8C,CAAC,CAAA;IACpF,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAA;IACtD,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAA;IACzB,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;QACpC,IAAI,CAAC,aAAa,CAAC,OAA4B,CAAC,EAAE,CAAC;YAClD,OAAM;QACP,CAAC;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,OAAkC,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,QAAkB,EAAU,EAAE,CAAC,gBAAgB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/register/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAuBxC,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;AAEzD,eAAO,MAAM,qBAAqB,EAAE,SAAS,gBAAgB,EAsB5D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/register/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA0BxC,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;AAMzD,eAAO,MAAM,qBAAqB,EAAE,SAAS,gBAAgB,EAwB5D,CAAA"}
@@ -1,13 +1,15 @@
1
+ import { domClickCommandDefinition } from '../../commands/domClick.js';
2
+ import { defineCommands } from '../defineCommand.js';
1
3
  import { registerQuickAccess } from './registerQuickAccess.js';
2
4
  import { registerChrome } from './registerChrome.js';
3
5
  import { registerWatcher } from './registerWatcher.js';
4
6
  import { registerPage } from './registerPage.js';
7
+ import { registerDialog } from './registerDialog.js';
5
8
  import { registerLogs } from './registerLogs.js';
6
9
  import { registerNet } from './registerNet.js';
7
10
  import { registerAuth } from './registerAuth.js';
8
11
  import { registerEval } from './registerEval.js';
9
12
  import { registerDom } from './registerDom.js';
10
- import { registerClick } from './registerClick.js';
11
13
  import { registerKeydown } from './registerKeydown.js';
12
14
  import { registerFill } from './registerFill.js';
13
15
  import { registerHover } from './registerHover.js';
@@ -19,18 +21,24 @@ import { registerTrace } from './registerTrace.js';
19
21
  import { registerConfig } from './registerConfig.js';
20
22
  import { registerExtension } from './registerExtension.js';
21
23
  import { registerCode } from './registerCode.js';
24
+ import { registerLocate } from './registerLocate.js';
25
+ const registerDefinedCommands = (program) => {
26
+ defineCommands(program, [domClickCommandDefinition]);
27
+ };
22
28
  export const coreProgramRegistrars = [
23
29
  registerQuickAccess,
24
30
  registerChrome,
25
31
  registerWatcher,
26
32
  registerPage,
33
+ registerDialog,
27
34
  registerLogs,
28
35
  registerNet,
29
36
  registerAuth,
30
37
  registerEval,
38
+ registerLocate,
31
39
  registerCode,
32
40
  registerDom,
33
- registerClick,
41
+ registerDefinedCommands,
34
42
  registerKeydown,
35
43
  registerFill,
36
44
  registerHover,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/register/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAIhD,MAAM,CAAC,MAAM,qBAAqB,GAAgC;IACjE,mBAAmB;IACnB,cAAc;IACd,eAAe;IACf,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,aAAa;IACb,eAAe;IACf,YAAY;IACZ,aAAa;IACb,gBAAgB;IAChB,eAAe;IACf,gBAAgB;IAChB,gBAAgB;IAChB,aAAa;IACb,cAAc;IACd,iBAAiB;CACjB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/register/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAIpD,MAAM,uBAAuB,GAAqB,CAAC,OAAO,EAAE,EAAE;IAC7D,cAAc,CAAC,OAAO,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAA;AACrD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAgC;IACjE,mBAAmB;IACnB,cAAc;IACd,eAAe;IACf,YAAY;IACZ,cAAc;IACd,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,YAAY;IACZ,WAAW;IACX,uBAAuB;IACvB,eAAe;IACf,YAAY;IACZ,aAAa;IACb,gBAAgB;IAChB,eAAe;IACf,gBAAgB;IAChB,gBAAgB;IAChB,aAAa;IACb,cAAc;IACd,iBAAiB;CACjB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"registerAuth.d.ts","sourceRoot":"","sources":["../../../src/cli/register/registerAuth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiCnD"}
1
+ {"version":3,"file":"registerAuth.d.ts","sourceRoot":"","sources":["../../../src/cli/register/registerAuth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAWxC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgKnD"}