@vforsh/argus 0.1.2 → 0.1.4

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 (373) hide show
  1. package/README.md +265 -16
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/argus.js +16346 -0
  4. package/dist/bin.d.ts +1 -1
  5. package/dist/bin.js +49 -58
  6. package/dist/bin.js.map +1 -1
  7. package/dist/cdp/resolveCdpEndpoint.d.ts +15 -0
  8. package/dist/cdp/resolveCdpEndpoint.d.ts.map +1 -0
  9. package/dist/cdp/resolveCdpEndpoint.js +56 -0
  10. package/dist/cdp/resolveCdpEndpoint.js.map +1 -0
  11. package/dist/cdp/selectTarget.d.ts +26 -0
  12. package/dist/cdp/selectTarget.d.ts.map +1 -0
  13. package/dist/cdp/selectTarget.js +87 -0
  14. package/dist/cdp/selectTarget.js.map +1 -0
  15. package/dist/cdp/types.d.ts +13 -0
  16. package/dist/cdp/types.d.ts.map +1 -0
  17. package/dist/cdp/types.js +2 -0
  18. package/dist/cdp/types.js.map +1 -0
  19. package/dist/cli/parse.d.ts +11 -0
  20. package/dist/cli/parse.d.ts.map +1 -0
  21. package/dist/cli/parse.js +48 -0
  22. package/dist/cli/parse.js.map +1 -0
  23. package/dist/cli/program.d.ts +3 -0
  24. package/dist/cli/program.d.ts.map +1 -0
  25. package/dist/cli/program.js +21 -0
  26. package/dist/cli/program.js.map +1 -0
  27. package/dist/cli/register/registerChrome.d.ts +3 -0
  28. package/dist/cli/register/registerChrome.d.ts.map +1 -0
  29. package/dist/cli/register/registerChrome.js +79 -0
  30. package/dist/cli/register/registerChrome.js.map +1 -0
  31. package/dist/cli/register/registerClick.d.ts +3 -0
  32. package/dist/cli/register/registerClick.d.ts.map +1 -0
  33. package/dist/cli/register/registerClick.js +23 -0
  34. package/dist/cli/register/registerClick.js.map +1 -0
  35. package/dist/cli/register/registerConfig.d.ts +3 -0
  36. package/dist/cli/register/registerConfig.d.ts.map +1 -0
  37. package/dist/cli/register/registerConfig.js +14 -0
  38. package/dist/cli/register/registerConfig.js.map +1 -0
  39. package/dist/cli/register/registerDom.d.ts +3 -0
  40. package/dist/cli/register/registerDom.d.ts.map +1 -0
  41. package/dist/cli/register/registerDom.js +261 -0
  42. package/dist/cli/register/registerDom.js.map +1 -0
  43. package/dist/cli/register/registerEval.d.ts +3 -0
  44. package/dist/cli/register/registerEval.d.ts.map +1 -0
  45. package/dist/cli/register/registerEval.js +129 -0
  46. package/dist/cli/register/registerEval.js.map +1 -0
  47. package/dist/cli/register/registerExtension.d.ts +3 -0
  48. package/dist/cli/register/registerExtension.d.ts.map +1 -0
  49. package/dist/cli/register/registerExtension.js +46 -0
  50. package/dist/cli/register/registerExtension.js.map +1 -0
  51. package/dist/cli/register/registerFill.d.ts +3 -0
  52. package/dist/cli/register/registerFill.d.ts.map +1 -0
  53. package/dist/cli/register/registerFill.js +30 -0
  54. package/dist/cli/register/registerFill.js.map +1 -0
  55. package/dist/cli/register/registerHover.d.ts +3 -0
  56. package/dist/cli/register/registerHover.d.ts.map +1 -0
  57. package/dist/cli/register/registerHover.js +20 -0
  58. package/dist/cli/register/registerHover.js.map +1 -0
  59. package/dist/cli/register/registerKeydown.d.ts +3 -0
  60. package/dist/cli/register/registerKeydown.d.ts.map +1 -0
  61. package/dist/cli/register/registerKeydown.js +20 -0
  62. package/dist/cli/register/registerKeydown.js.map +1 -0
  63. package/dist/cli/register/registerLogs.d.ts +3 -0
  64. package/dist/cli/register/registerLogs.d.ts.map +1 -0
  65. package/dist/cli/register/registerLogs.js +64 -0
  66. package/dist/cli/register/registerLogs.js.map +1 -0
  67. package/dist/cli/register/registerNet.d.ts +3 -0
  68. package/dist/cli/register/registerNet.d.ts.map +1 -0
  69. package/dist/cli/register/registerNet.js +32 -0
  70. package/dist/cli/register/registerNet.js.map +1 -0
  71. package/dist/cli/register/registerPage.d.ts +3 -0
  72. package/dist/cli/register/registerPage.d.ts.map +1 -0
  73. package/dist/cli/register/registerPage.js +106 -0
  74. package/dist/cli/register/registerPage.js.map +1 -0
  75. package/dist/cli/register/registerQuickAccess.d.ts +3 -0
  76. package/dist/cli/register/registerQuickAccess.d.ts.map +1 -0
  77. package/dist/cli/register/registerQuickAccess.js +82 -0
  78. package/dist/cli/register/registerQuickAccess.js.map +1 -0
  79. package/dist/cli/register/registerScrollTo.d.ts +3 -0
  80. package/dist/cli/register/registerScrollTo.d.ts.map +1 -0
  81. package/dist/cli/register/registerScrollTo.js +22 -0
  82. package/dist/cli/register/registerScrollTo.js.map +1 -0
  83. package/dist/cli/register/registerSnapshot.d.ts +3 -0
  84. package/dist/cli/register/registerSnapshot.d.ts.map +1 -0
  85. package/dist/cli/register/registerSnapshot.js +37 -0
  86. package/dist/cli/register/registerSnapshot.js.map +1 -0
  87. package/dist/cli/register/registerStorage.d.ts +3 -0
  88. package/dist/cli/register/registerStorage.d.ts.map +1 -0
  89. package/dist/cli/register/registerStorage.js +56 -0
  90. package/dist/cli/register/registerStorage.js.map +1 -0
  91. package/dist/cli/register/registerThrottle.d.ts +3 -0
  92. package/dist/cli/register/registerThrottle.d.ts.map +1 -0
  93. package/dist/cli/register/registerThrottle.js +33 -0
  94. package/dist/cli/register/registerThrottle.js.map +1 -0
  95. package/dist/cli/register/registerTrace.d.ts +3 -0
  96. package/dist/cli/register/registerTrace.d.ts.map +1 -0
  97. package/dist/cli/register/registerTrace.js +39 -0
  98. package/dist/cli/register/registerTrace.js.map +1 -0
  99. package/dist/cli/register/registerWatcher.d.ts +3 -0
  100. package/dist/cli/register/registerWatcher.d.ts.map +1 -0
  101. package/dist/cli/register/registerWatcher.js +115 -0
  102. package/dist/cli/register/registerWatcher.js.map +1 -0
  103. package/dist/cli/validation.d.ts +10 -0
  104. package/dist/cli/validation.d.ts.map +1 -0
  105. package/dist/cli/validation.js +24 -0
  106. package/dist/cli/validation.js.map +1 -0
  107. package/dist/commands/chrome.d.ts +64 -0
  108. package/dist/commands/chrome.d.ts.map +1 -0
  109. package/dist/commands/chrome.js +583 -0
  110. package/dist/commands/chrome.js.map +1 -0
  111. package/dist/commands/chromeStart.d.ts +33 -0
  112. package/dist/commands/chromeStart.d.ts.map +1 -0
  113. package/dist/commands/chromeStart.js +380 -0
  114. package/dist/commands/chromeStart.js.map +1 -0
  115. package/dist/commands/configInit.d.ts +6 -0
  116. package/dist/commands/configInit.d.ts.map +1 -0
  117. package/dist/commands/configInit.js +102 -0
  118. package/dist/commands/configInit.js.map +1 -0
  119. package/dist/commands/doctor.d.ts +5 -0
  120. package/dist/commands/doctor.d.ts.map +1 -0
  121. package/dist/commands/doctor.js +142 -0
  122. package/dist/commands/doctor.js.map +1 -0
  123. package/dist/commands/domAdd.d.ts +17 -0
  124. package/dist/commands/domAdd.d.ts.map +1 -0
  125. package/dist/commands/domAdd.js +181 -0
  126. package/dist/commands/domAdd.js.map +1 -0
  127. package/dist/commands/domAddScript.d.ts +14 -0
  128. package/dist/commands/domAddScript.d.ts.map +1 -0
  129. package/dist/commands/domAddScript.js +172 -0
  130. package/dist/commands/domAddScript.js.map +1 -0
  131. package/dist/commands/domClick.d.ts +13 -0
  132. package/dist/commands/domClick.d.ts.map +1 -0
  133. package/dist/commands/domClick.js +113 -0
  134. package/dist/commands/domClick.js.map +1 -0
  135. package/dist/commands/domFill.d.ts +14 -0
  136. package/dist/commands/domFill.d.ts.map +1 -0
  137. package/dist/commands/domFill.js +129 -0
  138. package/dist/commands/domFill.js.map +1 -0
  139. package/dist/commands/domFocus.d.ts +10 -0
  140. package/dist/commands/domFocus.d.ts.map +1 -0
  141. package/dist/commands/domFocus.js +52 -0
  142. package/dist/commands/domFocus.js.map +1 -0
  143. package/dist/commands/domHover.d.ts +10 -0
  144. package/dist/commands/domHover.d.ts.map +1 -0
  145. package/dist/commands/domHover.js +52 -0
  146. package/dist/commands/domHover.js.map +1 -0
  147. package/dist/commands/domInfo.d.ts +11 -0
  148. package/dist/commands/domInfo.d.ts.map +1 -0
  149. package/dist/commands/domInfo.js +61 -0
  150. package/dist/commands/domInfo.js.map +1 -0
  151. package/dist/commands/domKeydown.d.ts +10 -0
  152. package/dist/commands/domKeydown.d.ts.map +1 -0
  153. package/dist/commands/domKeydown.js +46 -0
  154. package/dist/commands/domKeydown.js.map +1 -0
  155. package/dist/commands/domModify.d.ts +36 -0
  156. package/dist/commands/domModify.d.ts.map +1 -0
  157. package/dist/commands/domModify.js +177 -0
  158. package/dist/commands/domModify.js.map +1 -0
  159. package/dist/commands/domRemove.d.ts +10 -0
  160. package/dist/commands/domRemove.d.ts.map +1 -0
  161. package/dist/commands/domRemove.js +52 -0
  162. package/dist/commands/domRemove.js.map +1 -0
  163. package/dist/commands/domScroll.d.ts +12 -0
  164. package/dist/commands/domScroll.d.ts.map +1 -0
  165. package/dist/commands/domScroll.js +105 -0
  166. package/dist/commands/domScroll.js.map +1 -0
  167. package/dist/commands/domScrollTo.d.ts +12 -0
  168. package/dist/commands/domScrollTo.d.ts.map +1 -0
  169. package/dist/commands/domScrollTo.js +107 -0
  170. package/dist/commands/domScrollTo.js.map +1 -0
  171. package/dist/commands/domSetFile.d.ts +12 -0
  172. package/dist/commands/domSetFile.d.ts.map +1 -0
  173. package/dist/commands/domSetFile.js +87 -0
  174. package/dist/commands/domSetFile.js.map +1 -0
  175. package/dist/commands/domTree.d.ts +12 -0
  176. package/dist/commands/domTree.d.ts.map +1 -0
  177. package/dist/commands/domTree.js +68 -0
  178. package/dist/commands/domTree.js.map +1 -0
  179. package/dist/commands/eval.d.ts +26 -0
  180. package/dist/commands/eval.d.ts.map +1 -0
  181. package/dist/commands/eval.js +152 -0
  182. package/dist/commands/eval.js.map +1 -0
  183. package/dist/commands/evalShared.d.ts +64 -0
  184. package/dist/commands/evalShared.d.ts.map +1 -0
  185. package/dist/commands/evalShared.js +205 -0
  186. package/dist/commands/evalShared.js.map +1 -0
  187. package/dist/commands/evalUntil.d.ts +27 -0
  188. package/dist/commands/evalUntil.d.ts.map +1 -0
  189. package/dist/commands/evalUntil.js +128 -0
  190. package/dist/commands/evalUntil.js.map +1 -0
  191. package/dist/commands/extension/doctor.d.ts +5 -0
  192. package/dist/commands/extension/doctor.d.ts.map +1 -0
  193. package/dist/commands/extension/doctor.js +262 -0
  194. package/dist/commands/extension/doctor.js.map +1 -0
  195. package/dist/commands/extension/id.d.ts +9 -0
  196. package/dist/commands/extension/id.d.ts.map +1 -0
  197. package/dist/commands/extension/id.js +122 -0
  198. package/dist/commands/extension/id.js.map +1 -0
  199. package/dist/commands/extension/info.d.ts +5 -0
  200. package/dist/commands/extension/info.d.ts.map +1 -0
  201. package/dist/commands/extension/info.js +68 -0
  202. package/dist/commands/extension/info.js.map +1 -0
  203. package/dist/commands/extension/list.d.ts +8 -0
  204. package/dist/commands/extension/list.d.ts.map +1 -0
  205. package/dist/commands/extension/list.js +194 -0
  206. package/dist/commands/extension/list.js.map +1 -0
  207. package/dist/commands/extension/nativeHost.d.ts +21 -0
  208. package/dist/commands/extension/nativeHost.d.ts.map +1 -0
  209. package/dist/commands/extension/nativeHost.js +106 -0
  210. package/dist/commands/extension/nativeHost.js.map +1 -0
  211. package/dist/commands/extension/remove.d.ts +5 -0
  212. package/dist/commands/extension/remove.d.ts.map +1 -0
  213. package/dist/commands/extension/remove.js +75 -0
  214. package/dist/commands/extension/remove.js.map +1 -0
  215. package/dist/commands/extension/setup.d.ts +6 -0
  216. package/dist/commands/extension/setup.d.ts.map +1 -0
  217. package/dist/commands/extension/setup.js +89 -0
  218. package/dist/commands/extension/setup.js.map +1 -0
  219. package/dist/commands/extension/status.d.ts +5 -0
  220. package/dist/commands/extension/status.d.ts.map +1 -0
  221. package/dist/commands/extension/status.js +82 -0
  222. package/dist/commands/extension/status.js.map +1 -0
  223. package/dist/commands/iframeHelper.d.ts +13 -0
  224. package/dist/commands/iframeHelper.d.ts.map +1 -0
  225. package/dist/commands/iframeHelper.js +63 -0
  226. package/dist/commands/iframeHelper.js.map +1 -0
  227. package/dist/commands/list.d.ts.map +1 -1
  228. package/dist/commands/list.js +40 -27
  229. package/dist/commands/list.js.map +1 -1
  230. package/dist/commands/logs.d.ts +6 -2
  231. package/dist/commands/logs.d.ts.map +1 -1
  232. package/dist/commands/logs.js +55 -40
  233. package/dist/commands/logs.js.map +1 -1
  234. package/dist/commands/net.d.ts +11 -0
  235. package/dist/commands/net.d.ts.map +1 -0
  236. package/dist/commands/net.js +49 -0
  237. package/dist/commands/net.js.map +1 -0
  238. package/dist/commands/netTail.d.ts +12 -0
  239. package/dist/commands/netTail.d.ts.map +1 -0
  240. package/dist/commands/netTail.js +76 -0
  241. package/dist/commands/netTail.js.map +1 -0
  242. package/dist/commands/page.d.ts +12 -0
  243. package/dist/commands/page.d.ts.map +1 -0
  244. package/dist/commands/page.js +330 -0
  245. package/dist/commands/page.js.map +1 -0
  246. package/dist/commands/pageEmulation.d.ts +20 -0
  247. package/dist/commands/pageEmulation.d.ts.map +1 -0
  248. package/dist/commands/pageEmulation.js +215 -0
  249. package/dist/commands/pageEmulation.js.map +1 -0
  250. package/dist/commands/reload.d.ts +8 -0
  251. package/dist/commands/reload.d.ts.map +1 -0
  252. package/dist/commands/reload.js +23 -0
  253. package/dist/commands/reload.js.map +1 -0
  254. package/dist/commands/resolveTestId.d.ts +10 -0
  255. package/dist/commands/resolveTestId.d.ts.map +1 -0
  256. package/dist/commands/resolveTestId.js +16 -0
  257. package/dist/commands/resolveTestId.js.map +1 -0
  258. package/dist/commands/screenshot.d.ts +9 -0
  259. package/dist/commands/screenshot.d.ts.map +1 -0
  260. package/dist/commands/screenshot.js +27 -0
  261. package/dist/commands/screenshot.js.map +1 -0
  262. package/dist/commands/snapshot.d.ts +10 -0
  263. package/dist/commands/snapshot.d.ts.map +1 -0
  264. package/dist/commands/snapshot.js +54 -0
  265. package/dist/commands/snapshot.js.map +1 -0
  266. package/dist/commands/start.d.ts +20 -0
  267. package/dist/commands/start.d.ts.map +1 -0
  268. package/dist/commands/start.js +191 -0
  269. package/dist/commands/start.js.map +1 -0
  270. package/dist/commands/storageLocal.d.ts +18 -0
  271. package/dist/commands/storageLocal.d.ts.map +1 -0
  272. package/dist/commands/storageLocal.js +92 -0
  273. package/dist/commands/storageLocal.js.map +1 -0
  274. package/dist/commands/tail.d.ts +6 -2
  275. package/dist/commands/tail.d.ts.map +1 -1
  276. package/dist/commands/tail.js +49 -29
  277. package/dist/commands/tail.js.map +1 -1
  278. package/dist/commands/throttle.d.ts +13 -0
  279. package/dist/commands/throttle.d.ts.map +1 -0
  280. package/dist/commands/throttle.js +124 -0
  281. package/dist/commands/throttle.js.map +1 -0
  282. package/dist/commands/trace.d.ts +27 -0
  283. package/dist/commands/trace.d.ts.map +1 -0
  284. package/dist/commands/trace.js +109 -0
  285. package/dist/commands/trace.js.map +1 -0
  286. package/dist/commands/watcherNativeHost.d.ts +13 -0
  287. package/dist/commands/watcherNativeHost.d.ts.map +1 -0
  288. package/dist/commands/watcherNativeHost.js +45 -0
  289. package/dist/commands/watcherNativeHost.js.map +1 -0
  290. package/dist/commands/watcherPrune.d.ts +9 -0
  291. package/dist/commands/watcherPrune.d.ts.map +1 -0
  292. package/dist/commands/watcherPrune.js +82 -0
  293. package/dist/commands/watcherPrune.js.map +1 -0
  294. package/dist/commands/watcherStart.d.ts +26 -0
  295. package/dist/commands/watcherStart.d.ts.map +1 -0
  296. package/dist/commands/watcherStart.js +202 -0
  297. package/dist/commands/watcherStart.js.map +1 -0
  298. package/dist/commands/watcherStatus.d.ts +7 -0
  299. package/dist/commands/watcherStatus.d.ts.map +1 -0
  300. package/dist/commands/watcherStatus.js +22 -0
  301. package/dist/commands/watcherStatus.js.map +1 -0
  302. package/dist/commands/watcherStop.d.ts +5 -0
  303. package/dist/commands/watcherStop.d.ts.map +1 -0
  304. package/dist/commands/watcherStop.js +96 -0
  305. package/dist/commands/watcherStop.js.map +1 -0
  306. package/dist/config/argusConfig.d.ts +65 -0
  307. package/dist/config/argusConfig.d.ts.map +1 -0
  308. package/dist/config/argusConfig.js +331 -0
  309. package/dist/config/argusConfig.js.map +1 -0
  310. package/dist/emulation/devices.d.ts +15 -0
  311. package/dist/emulation/devices.d.ts.map +1 -0
  312. package/dist/emulation/devices.js +54 -0
  313. package/dist/emulation/devices.js.map +1 -0
  314. package/dist/eval/evalClient.d.ts +35 -0
  315. package/dist/eval/evalClient.d.ts.map +1 -0
  316. package/dist/eval/evalClient.js +71 -0
  317. package/dist/eval/evalClient.js.map +1 -0
  318. package/dist/httpClient.d.ts +6 -1
  319. package/dist/httpClient.d.ts.map +1 -1
  320. package/dist/httpClient.js +54 -1
  321. package/dist/httpClient.js.map +1 -1
  322. package/dist/index.d.ts.map +1 -1
  323. package/dist/index.js.map +1 -1
  324. package/dist/output/accessibility.d.ts +16 -0
  325. package/dist/output/accessibility.d.ts.map +1 -0
  326. package/dist/output/accessibility.js +61 -0
  327. package/dist/output/accessibility.js.map +1 -0
  328. package/dist/output/dom.d.ts +14 -0
  329. package/dist/output/dom.d.ts.map +1 -0
  330. package/dist/output/dom.js +92 -0
  331. package/dist/output/dom.js.map +1 -0
  332. package/dist/output/format.d.ts +3 -2
  333. package/dist/output/format.d.ts.map +1 -1
  334. package/dist/output/format.js +11 -3
  335. package/dist/output/format.js.map +1 -1
  336. package/dist/output/io.d.ts +14 -0
  337. package/dist/output/io.d.ts.map +1 -0
  338. package/dist/output/io.js +28 -0
  339. package/dist/output/io.js.map +1 -0
  340. package/dist/output/preview.d.ts +3 -0
  341. package/dist/output/preview.d.ts.map +1 -0
  342. package/dist/output/preview.js +6 -0
  343. package/dist/output/preview.js.map +1 -0
  344. package/dist/registry.d.ts +6 -4
  345. package/dist/registry.d.ts.map +1 -1
  346. package/dist/registry.js +24 -13
  347. package/dist/registry.js.map +1 -1
  348. package/dist/utils/chromeBin.d.ts +3 -0
  349. package/dist/utils/chromeBin.d.ts.map +1 -0
  350. package/dist/utils/chromeBin.js +46 -0
  351. package/dist/utils/chromeBin.js.map +1 -0
  352. package/dist/utils/paths.d.ts +3 -0
  353. package/dist/utils/paths.d.ts.map +1 -0
  354. package/dist/utils/paths.js +8 -0
  355. package/dist/utils/paths.js.map +1 -0
  356. package/dist/utils/ports.d.ts +3 -0
  357. package/dist/utils/ports.d.ts.map +1 -0
  358. package/dist/utils/ports.js +39 -0
  359. package/dist/utils/ports.js.map +1 -0
  360. package/dist/watchers/candidates.d.ts +4 -0
  361. package/dist/watchers/candidates.d.ts.map +1 -0
  362. package/dist/watchers/candidates.js +7 -0
  363. package/dist/watchers/candidates.js.map +1 -0
  364. package/dist/watchers/requestWatcher.d.ts +42 -0
  365. package/dist/watchers/requestWatcher.d.ts.map +1 -0
  366. package/dist/watchers/requestWatcher.js +77 -0
  367. package/dist/watchers/requestWatcher.js.map +1 -0
  368. package/dist/watchers/resolveWatcher.d.ts +16 -0
  369. package/dist/watchers/resolveWatcher.d.ts.map +1 -0
  370. package/dist/watchers/resolveWatcher.js +50 -0
  371. package/dist/watchers/resolveWatcher.js.map +1 -0
  372. package/package.json +13 -14
  373. package/schemas/argus.config.schema.json +131 -0
package/dist/bin.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env bun
2
2
  export {};
3
3
  //# sourceMappingURL=bin.d.ts.map
package/dist/bin.js CHANGED
@@ -1,60 +1,51 @@
1
- #!/usr/bin/env node
2
- import { Command } from 'commander';
3
- import { runList } from './commands/list.js';
4
- import { runLogs } from './commands/logs.js';
5
- import { runTail } from './commands/tail.js';
6
- const program = new Command();
7
- program
8
- .name('argus')
9
- .description('Argus CLI for local watcher servers')
10
- .version('0.1.0')
11
- .configureOutput({
12
- outputError: (str, write) => write(str),
13
- })
14
- .showSuggestionAfterError(true)
15
- .exitOverride((error) => {
16
- if (error.code === 'commander.helpDisplayed' || error.code === 'commander.version') {
17
- process.exit(0);
18
- }
19
- console.error(error.message);
20
- process.exit(2);
1
+ #!/usr/bin/env bun
2
+ import { createProgram } from './cli/program.js';
3
+ import { registerQuickAccess } from './cli/register/registerQuickAccess.js';
4
+ import { registerChrome } from './cli/register/registerChrome.js';
5
+ import { registerWatcher } from './cli/register/registerWatcher.js';
6
+ import { registerPage } from './cli/register/registerPage.js';
7
+ import { registerLogs } from './cli/register/registerLogs.js';
8
+ import { registerNet } from './cli/register/registerNet.js';
9
+ import { registerEval } from './cli/register/registerEval.js';
10
+ import { registerDom } from './cli/register/registerDom.js';
11
+ import { registerClick } from './cli/register/registerClick.js';
12
+ import { registerKeydown } from './cli/register/registerKeydown.js';
13
+ import { registerFill } from './cli/register/registerFill.js';
14
+ import { registerHover } from './cli/register/registerHover.js';
15
+ import { registerScrollTo } from './cli/register/registerScrollTo.js';
16
+ import { registerStorage } from './cli/register/registerStorage.js';
17
+ import { registerThrottle } from './cli/register/registerThrottle.js';
18
+ import { registerSnapshot } from './cli/register/registerSnapshot.js';
19
+ import { registerTrace } from './cli/register/registerTrace.js';
20
+ import { registerConfig } from './cli/register/registerConfig.js';
21
+ import { registerExtension } from './cli/register/registerExtension.js';
22
+ const program = createProgram();
23
+ // Quick access
24
+ registerQuickAccess(program);
25
+ // Setup & infrastructure
26
+ registerChrome(program);
27
+ registerWatcher(program);
28
+ registerPage(program);
29
+ // Inspect & debug
30
+ registerLogs(program);
31
+ registerNet(program);
32
+ registerEval(program);
33
+ registerDom(program);
34
+ registerClick(program);
35
+ registerKeydown(program);
36
+ registerFill(program);
37
+ registerHover(program);
38
+ registerScrollTo(program);
39
+ registerStorage(program);
40
+ registerThrottle(program);
41
+ // Capture
42
+ registerSnapshot(program);
43
+ registerTrace(program);
44
+ // Configuration
45
+ registerConfig(program);
46
+ registerExtension(program);
47
+ program.parseAsync(process.argv).catch((error) => {
48
+ console.error(error);
49
+ process.exit(1);
21
50
  });
22
- program
23
- .command('list')
24
- .description('List registered watchers')
25
- .option('--json', 'Output JSON for automation')
26
- .option('--by-cwd <substring>', 'Filter watchers by working directory substring')
27
- .addHelpText('after', '\nExamples:\n $ argus list\n $ argus list --json\n $ argus list --by-cwd my-project\n')
28
- .action(async (options) => {
29
- await runList(options);
30
- });
31
- program
32
- .command('logs')
33
- .argument('<id>', 'Watcher id to query')
34
- .description('Fetch recent logs from a watcher')
35
- .option('--levels <levels>', 'Comma-separated log levels')
36
- .option('--grep <text>', 'Filter by substring')
37
- .option('--since <duration>', 'Filter by time window (e.g. 10m, 2h, 30s)')
38
- .option('--after <id>', 'Only return events after this id')
39
- .option('--limit <count>', 'Maximum number of events')
40
- .option('--json', 'Output JSON for automation')
41
- .addHelpText('after', '\nExamples:\n $ argus logs app\n $ argus logs app --since 10m --levels error,warning\n $ argus logs app --json\n')
42
- .action(async (id, options) => {
43
- await runLogs(id, options);
44
- });
45
- program
46
- .command('tail')
47
- .argument('<id>', 'Watcher id to follow')
48
- .description('Tail logs from a watcher via long-polling')
49
- .option('--levels <levels>', 'Comma-separated log levels')
50
- .option('--grep <text>', 'Filter by substring')
51
- .option('--after <id>', 'Start after this event id')
52
- .option('--limit <count>', 'Maximum number of events per poll')
53
- .option('--timeout <ms>', 'Long-poll timeout in milliseconds')
54
- .option('--json', 'Output newline-delimited JSON events')
55
- .addHelpText('after', '\nExamples:\n $ argus tail app\n $ argus tail app --levels error\n $ argus tail app --json\n')
56
- .action(async (id, options) => {
57
- await runTail(id, options);
58
- });
59
- program.parseAsync(process.argv);
60
51
  //# sourceMappingURL=bin.js.map
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAEvE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAA;AAE/B,eAAe;AACf,mBAAmB,CAAC,OAAO,CAAC,CAAA;AAE5B,yBAAyB;AACzB,cAAc,CAAC,OAAO,CAAC,CAAA;AACvB,eAAe,CAAC,OAAO,CAAC,CAAA;AACxB,YAAY,CAAC,OAAO,CAAC,CAAA;AAErB,kBAAkB;AAClB,YAAY,CAAC,OAAO,CAAC,CAAA;AACrB,WAAW,CAAC,OAAO,CAAC,CAAA;AACpB,YAAY,CAAC,OAAO,CAAC,CAAA;AACrB,WAAW,CAAC,OAAO,CAAC,CAAA;AACpB,aAAa,CAAC,OAAO,CAAC,CAAA;AACtB,eAAe,CAAC,OAAO,CAAC,CAAA;AACxB,YAAY,CAAC,OAAO,CAAC,CAAA;AACrB,aAAa,CAAC,OAAO,CAAC,CAAA;AACtB,gBAAgB,CAAC,OAAO,CAAC,CAAA;AACzB,eAAe,CAAC,OAAO,CAAC,CAAA;AACxB,gBAAgB,CAAC,OAAO,CAAC,CAAA;AAEzB,UAAU;AACV,gBAAgB,CAAC,OAAO,CAAC,CAAA;AACzB,aAAa,CAAC,OAAO,CAAC,CAAA;AAEtB,gBAAgB;AAChB,cAAc,CAAC,OAAO,CAAC,CAAA;AACvB,iBAAiB,CAAC,OAAO,CAAC,CAAA;AAE1B,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IAChD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAChB,CAAC,CAAC,CAAA"}
@@ -0,0 +1,15 @@
1
+ export type CdpEndpointOptions = {
2
+ cdp?: string;
3
+ id?: string;
4
+ };
5
+ export type CdpEndpointResult = {
6
+ ok: true;
7
+ host: string;
8
+ port: number;
9
+ } | {
10
+ ok: false;
11
+ error: string;
12
+ exitCode: 1 | 2;
13
+ };
14
+ export declare const resolveCdpEndpoint: (options: CdpEndpointOptions) => Promise<CdpEndpointResult>;
15
+ //# sourceMappingURL=resolveCdpEndpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveCdpEndpoint.d.ts","sourceRoot":"","sources":["../../src/cdp/resolveCdpEndpoint.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,kBAAkB,GAAG;IAChC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,CAAA;CACX,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAA;CAAE,CAAA;AA+BxH,eAAO,MAAM,kBAAkB,GAAU,SAAS,kBAAkB,KAAG,OAAO,CAAC,iBAAiB,CAgC/F,CAAA"}
@@ -0,0 +1,56 @@
1
+ import { pruneRegistry } from '../registry.js';
2
+ const parsePort = (value) => {
3
+ const parsed = Number.parseInt(value, 10);
4
+ if (!Number.isFinite(parsed) || parsed < 1 || parsed > 65535) {
5
+ return null;
6
+ }
7
+ return parsed;
8
+ };
9
+ const parseCdpOption = (value) => {
10
+ const trimmed = value.trim();
11
+ if (!trimmed) {
12
+ return { error: 'Invalid --cdp value: empty host:port.' };
13
+ }
14
+ const separator = trimmed.lastIndexOf(':');
15
+ if (separator <= 0 || separator === trimmed.length - 1) {
16
+ return { error: `Invalid --cdp value "${value}": expected <host:port>.` };
17
+ }
18
+ const host = trimmed.slice(0, separator);
19
+ const portValue = trimmed.slice(separator + 1);
20
+ const port = parsePort(portValue);
21
+ if (port == null) {
22
+ return { error: `Invalid --cdp port: ${portValue}. Must be an integer 1-65535.` };
23
+ }
24
+ return { host, port };
25
+ };
26
+ export const resolveCdpEndpoint = async (options) => {
27
+ if (options.cdp && options.id) {
28
+ return { ok: false, error: 'Cannot combine --cdp with --id.', exitCode: 2 };
29
+ }
30
+ if (options.cdp) {
31
+ const parsed = parseCdpOption(options.cdp);
32
+ if ('error' in parsed) {
33
+ return { ok: false, error: parsed.error, exitCode: 2 };
34
+ }
35
+ return { ok: true, host: parsed.host, port: parsed.port };
36
+ }
37
+ if (options.id != null) {
38
+ let registry;
39
+ try {
40
+ registry = await pruneRegistry();
41
+ }
42
+ catch (error) {
43
+ return { ok: false, error: `Failed to load registry: ${error instanceof Error ? error.message : error}`, exitCode: 1 };
44
+ }
45
+ const watcher = registry.watchers[options.id];
46
+ if (!watcher) {
47
+ return { ok: false, error: `Watcher not found: ${options.id}`, exitCode: 2 };
48
+ }
49
+ if (!watcher.chrome) {
50
+ return { ok: false, error: `Watcher "${options.id}" has no chrome connection configured.`, exitCode: 2 };
51
+ }
52
+ return { ok: true, host: watcher.chrome.host, port: watcher.chrome.port };
53
+ }
54
+ return { ok: true, host: '127.0.0.1', port: 9222 };
55
+ };
56
+ //# sourceMappingURL=resolveCdpEndpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveCdpEndpoint.js","sourceRoot":"","sources":["../../src/cdp/resolveCdpEndpoint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { ChromeTargetResponse } from './types.js';
2
+ import type { Output } from '../output/io.js';
3
+ type TargetSelectorFilters = {
4
+ title?: string;
5
+ url?: string;
6
+ match?: string;
7
+ };
8
+ type TargetSelectionMessages = {
9
+ empty: string;
10
+ ambiguous: string;
11
+ };
12
+ export type TargetSelectionResult = {
13
+ ok: true;
14
+ target: ChromeTargetResponse;
15
+ } | {
16
+ ok: false;
17
+ error: string;
18
+ exitCode: 1 | 2;
19
+ };
20
+ export declare const filterTargets: (targets: ChromeTargetResponse[], filters: TargetSelectorFilters) => ChromeTargetResponse[];
21
+ export declare const selectTargetFromCandidates: (candidates: ChromeTargetResponse[], output: Output, options: {
22
+ interactive: boolean;
23
+ messages: TargetSelectionMessages;
24
+ }) => Promise<TargetSelectionResult>;
25
+ export {};
26
+ //# sourceMappingURL=selectTarget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectTarget.d.ts","sourceRoot":"","sources":["../../src/cdp/selectTarget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAE7C,KAAK,qBAAqB,GAAG;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAC9B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,oBAAoB,CAAA;CAAE,GAC1C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAA;CAAE,CAAA;AAUhD,eAAO,MAAM,aAAa,GAAI,SAAS,oBAAoB,EAAE,EAAE,SAAS,qBAAqB,KAAG,oBAAoB,EAyBnH,CAAA;AAED,eAAO,MAAM,0BAA0B,GACtC,YAAY,oBAAoB,EAAE,EAClC,QAAQ,MAAM,EACd,SAAS;IAAE,WAAW,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,uBAAuB,CAAA;CAAE,KAClE,OAAO,CAAC,qBAAqB,CAiC/B,CAAA"}
@@ -0,0 +1,87 @@
1
+ const normalizeFilter = (value) => {
2
+ if (!value) {
3
+ return null;
4
+ }
5
+ const trimmed = value.trim();
6
+ return trimmed ? trimmed.toLowerCase() : null;
7
+ };
8
+ export const filterTargets = (targets, filters) => {
9
+ const title = normalizeFilter(filters.title);
10
+ const url = normalizeFilter(filters.url);
11
+ const match = normalizeFilter(filters.match);
12
+ if (!title && !url && !match) {
13
+ return targets;
14
+ }
15
+ return targets.filter((target) => {
16
+ const targetTitle = (target.title ?? '').toLowerCase();
17
+ const targetUrl = (target.url ?? '').toLowerCase();
18
+ const combined = `${targetTitle} ${targetUrl}`.trim();
19
+ if (title && !targetTitle.includes(title)) {
20
+ return false;
21
+ }
22
+ if (url && !targetUrl.includes(url)) {
23
+ return false;
24
+ }
25
+ if (match && !combined.includes(match)) {
26
+ return false;
27
+ }
28
+ return true;
29
+ });
30
+ };
31
+ export const selectTargetFromCandidates = async (candidates, output, options) => {
32
+ if (candidates.length === 0) {
33
+ return { ok: false, error: options.messages.empty, exitCode: 2 };
34
+ }
35
+ if (candidates.length === 1) {
36
+ return { ok: true, target: candidates[0] };
37
+ }
38
+ if (!options.interactive) {
39
+ writeCandidateList(candidates, output);
40
+ return { ok: false, error: options.messages.ambiguous, exitCode: 2 };
41
+ }
42
+ writeCandidateList(candidates, output, true);
43
+ output.writeHuman('Select target by number or id:');
44
+ const selection = await readLineOnce();
45
+ if (!selection) {
46
+ return { ok: false, error: 'No selection provided.', exitCode: 2 };
47
+ }
48
+ const numeric = Number.parseInt(selection, 10);
49
+ if (Number.isFinite(numeric) && numeric >= 1 && numeric <= candidates.length) {
50
+ return { ok: true, target: candidates[numeric - 1] };
51
+ }
52
+ const byId = candidates.find((candidate) => candidate.id === selection);
53
+ if (byId) {
54
+ return { ok: true, target: byId };
55
+ }
56
+ return { ok: false, error: 'Invalid selection.', exitCode: 2 };
57
+ };
58
+ const writeCandidateList = (candidates, output, numbered = false) => {
59
+ for (const [index, target] of candidates.entries()) {
60
+ const indexLabel = numbered ? `[${index + 1}] ` : '';
61
+ const title = target.title ? ` ${target.title}` : '';
62
+ const targetUrl = target.url ? ` ${target.url}` : '';
63
+ output.writeHuman(`${indexLabel}${target.id} ${target.type}${title}${targetUrl}`);
64
+ }
65
+ };
66
+ const readLineOnce = async () => {
67
+ return await new Promise((resolve) => {
68
+ const onData = (data) => {
69
+ cleanup();
70
+ resolve(data.toString('utf8').trim());
71
+ };
72
+ const onError = () => {
73
+ cleanup();
74
+ resolve('');
75
+ };
76
+ const cleanup = () => {
77
+ process.stdin.off('data', onData);
78
+ process.stdin.off('error', onError);
79
+ process.stdin.pause();
80
+ };
81
+ process.stdin.setEncoding('utf8');
82
+ process.stdin.once('data', onData);
83
+ process.stdin.once('error', onError);
84
+ process.stdin.resume();
85
+ });
86
+ };
87
+ //# sourceMappingURL=selectTarget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectTarget.js","sourceRoot":"","sources":["../../src/cdp/selectTarget.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export type ChromeTargetResponse = {
2
+ id: string;
3
+ type: string;
4
+ title: string;
5
+ url: string;
6
+ webSocketDebuggerUrl?: string;
7
+ devtoolsFrontendUrl?: string;
8
+ description?: string;
9
+ faviconUrl?: string;
10
+ /** Parent target ID for nested targets (e.g., iframes within pages). */
11
+ parentId?: string;
12
+ };
13
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cdp/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cdp/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ /** Extract an error message from an unknown thrown value. */
2
+ export declare const formatError: (error: unknown) => string;
3
+ /** Parse a string to a finite number, or return `undefined`. */
4
+ export declare const parseNumber: (value?: string) => number | undefined;
5
+ /** Parse a string to a non-negative integer, or return `undefined`. */
6
+ export declare const parsePositiveInt: (value?: string, options?: {
7
+ allowZero?: boolean;
8
+ }) => number | undefined;
9
+ /** Trim a string query value; return `undefined` if empty/nullish. */
10
+ export declare const normalizeQueryValue: (value?: string) => string | undefined;
11
+ //# sourceMappingURL=parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/cli/parse.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,MAQ5C,CAAA;AAED,gEAAgE;AAChE,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,KAAG,MAAM,GAAG,SASrD,CAAA;AAED,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,EAAE,UAAU;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,KAAG,MAAM,GAAG,SAa7F,CAAA;AAED,sEAAsE;AACtE,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,KAAG,MAAM,GAAG,SAS7D,CAAA"}
@@ -0,0 +1,48 @@
1
+ /** Extract an error message from an unknown thrown value. */
2
+ export const formatError = (error) => {
3
+ if (!error) {
4
+ return 'unknown error';
5
+ }
6
+ if (error instanceof Error) {
7
+ return error.message;
8
+ }
9
+ return String(error);
10
+ };
11
+ /** Parse a string to a finite number, or return `undefined`. */
12
+ export const parseNumber = (value) => {
13
+ if (!value) {
14
+ return undefined;
15
+ }
16
+ const parsed = Number(value);
17
+ if (!Number.isFinite(parsed)) {
18
+ return undefined;
19
+ }
20
+ return parsed;
21
+ };
22
+ /** Parse a string to a non-negative integer, or return `undefined`. */
23
+ export const parsePositiveInt = (value, options) => {
24
+ if (value === undefined) {
25
+ return undefined;
26
+ }
27
+ const parsed = Number(value);
28
+ if (!Number.isFinite(parsed) || !Number.isInteger(parsed)) {
29
+ return undefined;
30
+ }
31
+ const min = options?.allowZero ? 0 : 1;
32
+ if (parsed < min) {
33
+ return undefined;
34
+ }
35
+ return parsed;
36
+ };
37
+ /** Trim a string query value; return `undefined` if empty/nullish. */
38
+ export const normalizeQueryValue = (value) => {
39
+ if (value == null) {
40
+ return undefined;
41
+ }
42
+ const trimmed = value.trim();
43
+ if (!trimmed) {
44
+ return undefined;
45
+ }
46
+ return trimmed;
47
+ };
48
+ //# sourceMappingURL=parse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/cli/parse.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAc,EAAU,EAAE;IACrD,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,eAAe,CAAA;IACvB,CAAC;IACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,OAAO,CAAA;IACrB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACrB,CAAC,CAAA;AAED,gEAAgE;AAChE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAc,EAAsB,EAAE;IACjE,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,SAAS,CAAA;IACjB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAA;IACjB,CAAC;IACD,OAAO,MAAM,CAAA;AACd,CAAC,CAAA;AAED,uEAAuE;AACvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAE,OAAiC,EAAsB,EAAE;IACzG,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,SAAS,CAAA;IACjB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,OAAO,SAAS,CAAA;IACjB,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACtC,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;QAClB,OAAO,SAAS,CAAA;IACjB,CAAC;IACD,OAAO,MAAM,CAAA;AACd,CAAC,CAAA;AAED,sEAAsE;AACtE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAAsB,EAAE;IACzE,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QACnB,OAAO,SAAS,CAAA;IACjB,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,SAAS,CAAA;IACjB,CAAC;IACD,OAAO,OAAO,CAAA;AACf,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createProgram(): Command;
3
+ //# sourceMappingURL=program.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,wBAAgB,aAAa,IAAI,OAAO,CAoBvC"}
@@ -0,0 +1,21 @@
1
+ import { Command } from 'commander';
2
+ export function createProgram() {
3
+ const program = new Command();
4
+ program
5
+ .name('argus')
6
+ .description('Argus CLI for local watcher servers')
7
+ .version('0.1.0')
8
+ .configureOutput({
9
+ outputError: (str, write) => write(str),
10
+ })
11
+ .showSuggestionAfterError(true)
12
+ .exitOverride((error) => {
13
+ if (error.code === 'commander.helpDisplayed' || error.code === 'commander.version') {
14
+ process.exit(0);
15
+ }
16
+ console.error(error.message);
17
+ process.exit(2);
18
+ });
19
+ return program;
20
+ }
21
+ //# sourceMappingURL=program.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,UAAU,aAAa;IAC5B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;IAE7B,OAAO;SACL,IAAI,CAAC,OAAO,CAAC;SACb,WAAW,CAAC,qCAAqC,CAAC;SAClD,OAAO,CAAC,OAAO,CAAC;SAChB,eAAe,CAAC;QAChB,WAAW,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;KACvC,CAAC;SACD,wBAAwB,CAAC,IAAI,CAAC;SAC9B,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,IAAI,KAAK,CAAC,IAAI,KAAK,yBAAyB,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAChB,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAChB,CAAC,CAAC,CAAA;IAEH,OAAO,OAAO,CAAA;AACf,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function registerChrome(program: Command): void;
3
+ //# sourceMappingURL=registerChrome.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerChrome.d.ts","sourceRoot":"","sources":["../../../src/cli/register/registerChrome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAKxC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2FrD"}
@@ -0,0 +1,79 @@
1
+ import { runChromeStart } from '../../commands/chromeStart.js';
2
+ import { runChromeVersion, runChromeStatus, runChromeList, runChromeStop } from '../../commands/chrome.js';
3
+ import { loadArgusConfig, mergeChromeStartOptionsWithConfig, resolveArgusConfigPath } from '../../config/argusConfig.js';
4
+ export function registerChrome(program) {
5
+ const chrome = program.command('chrome').alias('browser').description('Chrome/Chromium management commands');
6
+ chrome
7
+ .command('start')
8
+ .description('Launch Chrome with CDP enabled')
9
+ .option('--url <url>', 'URL to open in Chrome')
10
+ .option('--from-watcher <watcherId>', 'Use match.url from a registered watcher')
11
+ .option('--profile <type>', 'Profile mode: temp, default-full, default-medium, or default-lite (default: default-lite)')
12
+ .option('--dev-tools', 'Open DevTools for new tabs')
13
+ .option('--headless', 'Run Chrome in headless mode (no visible window)')
14
+ .option('--config <path>', 'Path to Argus config file')
15
+ .option('--json', 'Output JSON for automation')
16
+ .addHelpText('after', '\nExamples:\n $ argus chrome start\n $ argus chrome start --url http://localhost:3000\n $ argus chrome start --from-watcher app\n $ argus chrome start --profile default-full\n $ argus chrome start --profile default-medium\n $ argus chrome start --profile default-lite\n $ argus chrome start --profile temp\n $ argus chrome start --dev-tools\n $ argus chrome start --headless\n $ argus chrome start --json\n')
17
+ .action(async (options, command) => {
18
+ const { config: configPath, ...cliOptions } = options;
19
+ const resolvedPath = resolveArgusConfigPath({ cliPath: configPath, cwd: process.cwd() });
20
+ if (!resolvedPath) {
21
+ if (configPath) {
22
+ return;
23
+ }
24
+ await runChromeStart(cliOptions);
25
+ return;
26
+ }
27
+ const configResult = loadArgusConfig(resolvedPath);
28
+ if (!configResult) {
29
+ return;
30
+ }
31
+ const merged = mergeChromeStartOptionsWithConfig(cliOptions, command, configResult);
32
+ if (!merged) {
33
+ return;
34
+ }
35
+ await runChromeStart(merged);
36
+ });
37
+ chrome
38
+ .command('ls')
39
+ .alias('list')
40
+ .description('List running Chrome instances with CDP enabled')
41
+ .option('--json', 'Output JSON for automation')
42
+ .option('--pages', 'List individual pages for each instance')
43
+ .addHelpText('after', '\nExamples:\n $ argus chrome ls\n $ argus chrome ls --pages\n $ argus chrome ls --json --pages\n')
44
+ .action(async (options) => {
45
+ await runChromeList(options);
46
+ });
47
+ chrome
48
+ .command('version')
49
+ .description('Show Chrome version info from CDP endpoint')
50
+ .option('--cdp <host:port>', 'CDP host:port')
51
+ .option('--id <watcherId>', 'Use chrome config from a registered watcher')
52
+ .option('--json', 'Output JSON for automation')
53
+ .addHelpText('after', '\nExamples:\n $ argus chrome version\n $ argus chrome version --cdp 127.0.0.1:9222\n $ argus chrome version --id app\n $ argus chrome version --json\n')
54
+ .action(async (options) => {
55
+ await runChromeVersion(options);
56
+ });
57
+ chrome
58
+ .command('status')
59
+ .description('Check if Chrome CDP endpoint is reachable')
60
+ .option('--cdp <host:port>', 'CDP host:port')
61
+ .option('--id <watcherId>', 'Use chrome config from a registered watcher')
62
+ .option('--json', 'Output JSON for automation')
63
+ .addHelpText('after', '\nExamples:\n $ argus chrome status\n $ argus chrome status --cdp 127.0.0.1:9222\n $ argus chrome status --id app\n')
64
+ .action(async (options) => {
65
+ await runChromeStatus(options);
66
+ });
67
+ chrome
68
+ .command('stop')
69
+ .alias('quit')
70
+ .description('Close the Chrome instance via CDP')
71
+ .option('--cdp <host:port>', 'CDP host:port')
72
+ .option('--id <watcherId>', 'Use chrome config from a registered watcher')
73
+ .option('--json', 'Output JSON for automation')
74
+ .addHelpText('after', '\nExamples:\n $ argus chrome stop\n $ argus chrome stop --id app\n $ argus chrome stop --json\n')
75
+ .action(async (options) => {
76
+ await runChromeStop(options);
77
+ });
78
+ }
79
+ //# sourceMappingURL=registerChrome.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerChrome.js","sourceRoot":"","sources":["../../../src/cli/register/registerChrome.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function registerClick(program: Command): void;
3
+ //# sourceMappingURL=registerClick.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerClick.d.ts","sourceRoot":"","sources":["../../../src/cli/register/registerClick.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAIxC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqBpD"}
@@ -0,0 +1,23 @@
1
+ import { runDomClick } from '../../commands/domClick.js';
2
+ import { resolveTestId } from '../../commands/resolveTestId.js';
3
+ export function registerClick(program) {
4
+ program
5
+ .command('click')
6
+ .argument('[id]', 'Watcher id to query')
7
+ .description('Click at coordinates or on element(s) matching a CSS selector')
8
+ .option('--selector <css>', 'CSS selector to match element(s)')
9
+ .option('--testid <id>', 'Shorthand for --selector "[data-testid=\'<id>\']"')
10
+ .option('--pos <x,y>', 'Viewport coordinates or offset from element top-left')
11
+ .option('--button <type>', 'Mouse button: left, middle, right (default: left)')
12
+ .option('--all', 'Allow multiple matches (default: error if >1 match)')
13
+ .option('--text <string>', 'Filter by textContent (trimmed). Supports /regex/flags syntax')
14
+ .option('--wait <duration>', 'Wait for selector to appear (e.g. 5s, 500ms)')
15
+ .option('--json', 'Output JSON for automation')
16
+ .addHelpText('after', '\nExamples:\n $ argus click app --pos 100,200\n $ argus click app --selector "#btn"\n $ argus click app --testid "submit-btn"\n $ argus click app --selector "#btn" --pos 10,5\n $ argus click app --selector ".item" --all\n $ argus click app --selector "#btn" --button right\n $ argus click app --pos 100,200 --button middle\n')
17
+ .action(async (id, options) => {
18
+ if (!resolveTestId(options))
19
+ return;
20
+ await runDomClick(id, options);
21
+ });
22
+ }
23
+ //# sourceMappingURL=registerClick.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerClick.js","sourceRoot":"","sources":["../../../src/cli/register/registerClick.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAE/D,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC7C,OAAO;SACL,OAAO,CAAC,OAAO,CAAC;SAChB,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;SACvC,WAAW,CAAC,+DAA+D,CAAC;SAC5E,MAAM,CAAC,kBAAkB,EAAE,kCAAkC,CAAC;SAC9D,MAAM,CAAC,eAAe,EAAE,mDAAmD,CAAC;SAC5E,MAAM,CAAC,aAAa,EAAE,sDAAsD,CAAC;SAC7E,MAAM,CAAC,iBAAiB,EAAE,mDAAmD,CAAC;SAC9E,MAAM,CAAC,OAAO,EAAE,qDAAqD,CAAC;SACtE,MAAM,CAAC,iBAAiB,EAAE,+DAA+D,CAAC;SAC1F,MAAM,CAAC,mBAAmB,EAAE,8CAA8C,CAAC;SAC3E,MAAM,CAAC,QAAQ,EAAE,4BAA4B,CAAC;SAC9C,WAAW,CACX,OAAO,EACP,6UAA6U,CAC7U;SACA,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;QAC7B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAAE,OAAM;QACnC,MAAM,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAC/B,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function registerConfig(program: Command): void;
3
+ //# sourceMappingURL=registerConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerConfig.d.ts","sourceRoot":"","sources":["../../../src/cli/register/registerConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAYrD"}