@vforsh/argus 0.1.16 → 0.1.19

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 (375) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/argus.js +14994 -10474
  3. package/dist/cli/defineCommand.d.ts +3 -0
  4. package/dist/cli/defineCommand.d.ts.map +1 -1
  5. package/dist/cli/defineCommand.js +11 -0
  6. package/dist/cli/defineCommand.js.map +1 -1
  7. package/dist/cli/plugins/pluginHost.d.ts.map +1 -1
  8. package/dist/cli/plugins/pluginHost.js +1 -0
  9. package/dist/cli/plugins/pluginHost.js.map +1 -1
  10. package/dist/cli/plugins/registerPlugins.d.ts +3 -1
  11. package/dist/cli/plugins/registerPlugins.d.ts.map +1 -1
  12. package/dist/cli/plugins/registerPlugins.js +31 -12
  13. package/dist/cli/plugins/registerPlugins.js.map +1 -1
  14. package/dist/cli/register/authCommands.d.ts +3 -0
  15. package/dist/cli/register/authCommands.d.ts.map +1 -0
  16. package/dist/cli/register/authCommands.js +230 -0
  17. package/dist/cli/register/authCommands.js.map +1 -0
  18. package/dist/cli/register/chromeCommands.d.ts +3 -0
  19. package/dist/cli/register/chromeCommands.d.ts.map +1 -0
  20. package/dist/cli/register/chromeCommands.js +153 -0
  21. package/dist/cli/register/chromeCommands.js.map +1 -0
  22. package/dist/cli/register/codeCommands.d.ts +3 -0
  23. package/dist/cli/register/codeCommands.d.ts.map +1 -0
  24. package/dist/cli/register/codeCommands.js +116 -0
  25. package/dist/cli/register/codeCommands.js.map +1 -0
  26. package/dist/cli/register/configCommands.d.ts +3 -0
  27. package/dist/cli/register/configCommands.d.ts.map +1 -0
  28. package/dist/cli/register/configCommands.js +23 -0
  29. package/dist/cli/register/configCommands.js.map +1 -0
  30. package/dist/cli/register/dialogCommands.d.ts +3 -0
  31. package/dist/cli/register/dialogCommands.d.ts.map +1 -0
  32. package/dist/cli/register/dialogCommands.js +52 -0
  33. package/dist/cli/register/dialogCommands.js.map +1 -0
  34. package/dist/cli/register/domCommandBuilder.d.ts +7 -5
  35. package/dist/cli/register/domCommandBuilder.d.ts.map +1 -1
  36. package/dist/cli/register/domCommandBuilder.js +28 -23
  37. package/dist/cli/register/domCommandBuilder.js.map +1 -1
  38. package/dist/cli/register/domCommands.d.ts +3 -0
  39. package/dist/cli/register/domCommands.d.ts.map +1 -0
  40. package/dist/cli/register/domCommands.js +318 -0
  41. package/dist/cli/register/domCommands.js.map +1 -0
  42. package/dist/cli/register/evalCommands.d.ts +3 -0
  43. package/dist/cli/register/evalCommands.d.ts.map +1 -0
  44. package/dist/cli/register/evalCommands.js +173 -0
  45. package/dist/cli/register/evalCommands.js.map +1 -0
  46. package/dist/cli/register/extensionCommands.d.ts +3 -0
  47. package/dist/cli/register/extensionCommands.d.ts.map +1 -0
  48. package/dist/cli/register/extensionCommands.js +215 -0
  49. package/dist/cli/register/extensionCommands.js.map +1 -0
  50. package/dist/cli/register/fillCommand.d.ts +3 -0
  51. package/dist/cli/register/fillCommand.d.ts.map +1 -0
  52. package/dist/cli/register/fillCommand.js +44 -0
  53. package/dist/cli/register/fillCommand.js.map +1 -0
  54. package/dist/cli/register/hoverCommand.d.ts +3 -0
  55. package/dist/cli/register/hoverCommand.d.ts.map +1 -0
  56. package/dist/cli/register/hoverCommand.js +27 -0
  57. package/dist/cli/register/hoverCommand.js.map +1 -0
  58. package/dist/cli/register/index.d.ts.map +1 -1
  59. package/dist/cli/register/index.js +57 -52
  60. package/dist/cli/register/index.js.map +1 -1
  61. package/dist/cli/register/keydownCommand.d.ts +3 -0
  62. package/dist/cli/register/keydownCommand.d.ts.map +1 -0
  63. package/dist/cli/register/keydownCommand.js +21 -0
  64. package/dist/cli/register/keydownCommand.js.map +1 -0
  65. package/dist/cli/register/locateCommands.d.ts +3 -0
  66. package/dist/cli/register/locateCommands.d.ts.map +1 -0
  67. package/dist/cli/register/locateCommands.js +60 -0
  68. package/dist/cli/register/locateCommands.js.map +1 -0
  69. package/dist/cli/register/logsCommands.d.ts +3 -0
  70. package/dist/cli/register/logsCommands.d.ts.map +1 -0
  71. package/dist/cli/register/logsCommands.js +67 -0
  72. package/dist/cli/register/logsCommands.js.map +1 -0
  73. package/dist/cli/register/netCommands.d.ts +3 -0
  74. package/dist/cli/register/netCommands.d.ts.map +1 -0
  75. package/dist/cli/register/netCommands.js +442 -0
  76. package/dist/cli/register/netCommands.js.map +1 -0
  77. package/dist/cli/register/pageCommands.d.ts +3 -0
  78. package/dist/cli/register/pageCommands.d.ts.map +1 -0
  79. package/dist/cli/register/pageCommands.js +188 -0
  80. package/dist/cli/register/pageCommands.js.map +1 -0
  81. package/dist/cli/register/pluginCommands.d.ts +3 -0
  82. package/dist/cli/register/pluginCommands.d.ts.map +1 -0
  83. package/dist/cli/register/pluginCommands.js +51 -0
  84. package/dist/cli/register/pluginCommands.js.map +1 -0
  85. package/dist/cli/register/quickAccessCommands.d.ts +3 -0
  86. package/dist/cli/register/quickAccessCommands.d.ts.map +1 -0
  87. package/dist/cli/register/quickAccessCommands.js +138 -0
  88. package/dist/cli/register/quickAccessCommands.js.map +1 -0
  89. package/dist/cli/register/recordCommands.d.ts +3 -0
  90. package/dist/cli/register/recordCommands.d.ts.map +1 -0
  91. package/dist/cli/register/recordCommands.js +90 -0
  92. package/dist/cli/register/recordCommands.js.map +1 -0
  93. package/dist/cli/register/scrollToCommand.d.ts +3 -0
  94. package/dist/cli/register/scrollToCommand.d.ts.map +1 -0
  95. package/dist/cli/register/scrollToCommand.js +30 -0
  96. package/dist/cli/register/scrollToCommand.js.map +1 -0
  97. package/dist/cli/register/skillCommands.d.ts +3 -0
  98. package/dist/cli/register/skillCommands.d.ts.map +1 -0
  99. package/dist/cli/register/skillCommands.js +13 -0
  100. package/dist/cli/register/skillCommands.js.map +1 -0
  101. package/dist/cli/register/snapshotCommands.d.ts +3 -0
  102. package/dist/cli/register/snapshotCommands.d.ts.map +1 -0
  103. package/dist/cli/register/snapshotCommands.js +57 -0
  104. package/dist/cli/register/snapshotCommands.js.map +1 -0
  105. package/dist/cli/register/storageCommands.d.ts +3 -0
  106. package/dist/cli/register/storageCommands.d.ts.map +1 -0
  107. package/dist/cli/register/storageCommands.js +78 -0
  108. package/dist/cli/register/storageCommands.js.map +1 -0
  109. package/dist/cli/register/throttleCommands.d.ts +3 -0
  110. package/dist/cli/register/throttleCommands.d.ts.map +1 -0
  111. package/dist/cli/register/throttleCommands.js +48 -0
  112. package/dist/cli/register/throttleCommands.js.map +1 -0
  113. package/dist/cli/register/traceCommands.d.ts +3 -0
  114. package/dist/cli/register/traceCommands.d.ts.map +1 -0
  115. package/dist/cli/register/traceCommands.js +72 -0
  116. package/dist/cli/register/traceCommands.js.map +1 -0
  117. package/dist/cli/register/watcherCommands.d.ts +3 -0
  118. package/dist/cli/register/watcherCommands.d.ts.map +1 -0
  119. package/dist/cli/register/watcherCommands.js +180 -0
  120. package/dist/cli/register/watcherCommands.js.map +1 -0
  121. package/dist/commands/auth.d.ts.map +1 -1
  122. package/dist/commands/auth.js.map +1 -1
  123. package/dist/commands/code.d.ts +2 -2
  124. package/dist/commands/code.d.ts.map +1 -1
  125. package/dist/commands/code.js +42 -45
  126. package/dist/commands/code.js.map +1 -1
  127. package/dist/commands/codeEdit.d.ts.map +1 -1
  128. package/dist/commands/codeEdit.js.map +1 -1
  129. package/dist/commands/domDrag.d.ts +21 -0
  130. package/dist/commands/domDrag.d.ts.map +1 -0
  131. package/dist/commands/domDrag.js +179 -0
  132. package/dist/commands/domDrag.js.map +1 -0
  133. package/dist/commands/eval.d.ts +9 -1
  134. package/dist/commands/eval.d.ts.map +1 -1
  135. package/dist/commands/eval.js +20 -10
  136. package/dist/commands/eval.js.map +1 -1
  137. package/dist/commands/evalArgs.d.ts +31 -0
  138. package/dist/commands/evalArgs.d.ts.map +1 -0
  139. package/dist/commands/evalArgs.js +103 -0
  140. package/dist/commands/evalArgs.js.map +1 -0
  141. package/dist/commands/evalBundle.d.ts +4 -5
  142. package/dist/commands/evalBundle.d.ts.map +1 -1
  143. package/dist/commands/evalBundle.js +88 -69
  144. package/dist/commands/evalBundle.js.map +1 -1
  145. package/dist/commands/evalModuleSyntax.d.ts +6 -0
  146. package/dist/commands/evalModuleSyntax.d.ts.map +1 -0
  147. package/dist/commands/evalModuleSyntax.js +33 -0
  148. package/dist/commands/evalModuleSyntax.js.map +1 -0
  149. package/dist/commands/evalPolling.d.ts +1 -1
  150. package/dist/commands/evalPolling.d.ts.map +1 -1
  151. package/dist/commands/evalPolling.js +1 -1
  152. package/dist/commands/evalPolling.js.map +1 -1
  153. package/dist/commands/evalResultOutput.d.ts +25 -0
  154. package/dist/commands/evalResultOutput.d.ts.map +1 -0
  155. package/dist/commands/evalResultOutput.js +85 -0
  156. package/dist/commands/evalResultOutput.js.map +1 -0
  157. package/dist/commands/evalShared.d.ts +42 -17
  158. package/dist/commands/evalShared.d.ts.map +1 -1
  159. package/dist/commands/evalShared.js +96 -53
  160. package/dist/commands/evalShared.js.map +1 -1
  161. package/dist/commands/evalUntil.d.ts +7 -1
  162. package/dist/commands/evalUntil.d.ts.map +1 -1
  163. package/dist/commands/evalUntil.js +16 -27
  164. package/dist/commands/evalUntil.js.map +1 -1
  165. package/dist/commands/extension/attach.d.ts +5 -1
  166. package/dist/commands/extension/attach.d.ts.map +1 -1
  167. package/dist/commands/extension/attach.js +44 -84
  168. package/dist/commands/extension/attach.js.map +1 -1
  169. package/dist/commands/extension/doctor.d.ts +6 -0
  170. package/dist/commands/extension/doctor.d.ts.map +1 -0
  171. package/dist/commands/extension/doctor.js +185 -0
  172. package/dist/commands/extension/doctor.js.map +1 -0
  173. package/dist/commands/extension/select.d.ts +7 -0
  174. package/dist/commands/extension/select.d.ts.map +1 -0
  175. package/dist/commands/extension/select.js +73 -0
  176. package/dist/commands/extension/select.js.map +1 -0
  177. package/dist/commands/extension/show.d.ts +16 -0
  178. package/dist/commands/extension/show.d.ts.map +1 -0
  179. package/dist/commands/extension/show.js +132 -0
  180. package/dist/commands/extension/show.js.map +1 -0
  181. package/dist/commands/extension/tabAttach.d.ts +28 -0
  182. package/dist/commands/extension/tabAttach.d.ts.map +1 -0
  183. package/dist/commands/extension/tabAttach.js +106 -0
  184. package/dist/commands/extension/tabAttach.js.map +1 -0
  185. package/dist/commands/extension/tabSelection.d.ts +45 -0
  186. package/dist/commands/extension/tabSelection.d.ts.map +1 -0
  187. package/dist/commands/extension/tabSelection.js +76 -0
  188. package/dist/commands/extension/tabSelection.js.map +1 -0
  189. package/dist/commands/extension/tabWatcher.d.ts +22 -0
  190. package/dist/commands/extension/tabWatcher.d.ts.map +1 -0
  191. package/dist/commands/extension/tabWatcher.js +89 -0
  192. package/dist/commands/extension/tabWatcher.js.map +1 -0
  193. package/dist/commands/extension/targetSelection.d.ts +62 -0
  194. package/dist/commands/extension/targetSelection.d.ts.map +1 -0
  195. package/dist/commands/extension/targetSelection.js +210 -0
  196. package/dist/commands/extension/targetSelection.js.map +1 -0
  197. package/dist/commands/extension/targets.d.ts +7 -0
  198. package/dist/commands/extension/targets.d.ts.map +1 -0
  199. package/dist/commands/extension/targets.js +73 -0
  200. package/dist/commands/extension/targets.js.map +1 -0
  201. package/dist/commands/extension/use.d.ts +13 -0
  202. package/dist/commands/extension/use.d.ts.map +1 -0
  203. package/dist/commands/extension/use.js +66 -0
  204. package/dist/commands/extension/use.js.map +1 -0
  205. package/dist/commands/locate.d.ts.map +1 -1
  206. package/dist/commands/locate.js.map +1 -1
  207. package/dist/commands/netMock.d.ts +34 -0
  208. package/dist/commands/netMock.d.ts.map +1 -0
  209. package/dist/commands/netMock.js +323 -0
  210. package/dist/commands/netMock.js.map +1 -0
  211. package/dist/commands/netSse.d.ts +1 -1
  212. package/dist/commands/netSse.d.ts.map +1 -1
  213. package/dist/commands/netSse.js +19 -23
  214. package/dist/commands/netSse.js.map +1 -1
  215. package/dist/commands/netWebSocket.d.ts +2 -2
  216. package/dist/commands/netWebSocket.d.ts.map +1 -1
  217. package/dist/commands/netWebSocket.js +42 -55
  218. package/dist/commands/netWebSocket.js.map +1 -1
  219. package/dist/commands/pluginConfig.d.ts +1 -0
  220. package/dist/commands/pluginConfig.d.ts.map +1 -1
  221. package/dist/commands/pluginConfig.js +12 -2
  222. package/dist/commands/pluginConfig.js.map +1 -1
  223. package/dist/commands/record.d.ts +35 -0
  224. package/dist/commands/record.d.ts.map +1 -0
  225. package/dist/commands/record.js +210 -0
  226. package/dist/commands/record.js.map +1 -0
  227. package/dist/commands/skill.d.ts +6 -0
  228. package/dist/commands/skill.d.ts.map +1 -0
  229. package/dist/commands/skill.js +42 -0
  230. package/dist/commands/skill.js.map +1 -0
  231. package/dist/commands/start.d.ts +2 -2
  232. package/dist/commands/start.d.ts.map +1 -1
  233. package/dist/commands/startShared.d.ts +1 -1
  234. package/dist/commands/startShared.d.ts.map +1 -1
  235. package/dist/commands/watcherNativeHost.js +48 -1
  236. package/dist/commands/watcherNativeHost.js.map +1 -1
  237. package/dist/commands/watcherSession.d.ts +3 -3
  238. package/dist/commands/watcherSession.d.ts.map +1 -1
  239. package/dist/commands/watcherSession.js.map +1 -1
  240. package/dist/commands/watcherStart.d.ts +2 -2
  241. package/dist/commands/watcherStart.d.ts.map +1 -1
  242. package/dist/config/argusHome.d.ts +3 -0
  243. package/dist/config/argusHome.d.ts.map +1 -0
  244. package/dist/config/argusHome.js +11 -0
  245. package/dist/config/argusHome.js.map +1 -0
  246. package/dist/config/loadConfig.d.ts +13 -0
  247. package/dist/config/loadConfig.d.ts.map +1 -0
  248. package/dist/config/loadConfig.js +59 -0
  249. package/dist/config/loadConfig.js.map +1 -0
  250. package/dist/config/mergeConfig.d.ts +34 -0
  251. package/dist/config/mergeConfig.d.ts.map +1 -0
  252. package/dist/config/mergeConfig.js +57 -0
  253. package/dist/config/mergeConfig.js.map +1 -0
  254. package/dist/config/types.d.ts +51 -0
  255. package/dist/config/types.d.ts.map +1 -0
  256. package/dist/config/types.js +2 -0
  257. package/dist/config/types.js.map +1 -0
  258. package/dist/config/validateConfig.d.ts +14 -0
  259. package/dist/config/validateConfig.d.ts.map +1 -0
  260. package/dist/config/{argusConfig.js → validateConfig.js} +136 -244
  261. package/dist/config/validateConfig.js.map +1 -0
  262. package/dist/eval/evalClient.d.ts +2 -0
  263. package/dist/eval/evalClient.d.ts.map +1 -1
  264. package/dist/eval/evalClient.js +26 -2
  265. package/dist/eval/evalClient.js.map +1 -1
  266. package/dist/skill/argus/SKILL.md +200 -0
  267. package/dist/skill/argus/reference/CAPTURE.md +77 -0
  268. package/dist/skill/argus/reference/DIALOG.md +31 -0
  269. package/dist/skill/argus/reference/EVAL.md +137 -0
  270. package/dist/skill/argus/reference/EXTENSION.md +38 -0
  271. package/dist/skill/argus/reference/EXTENSION_IFRAME_EVAL.md +58 -0
  272. package/dist/skill/argus/reference/IFRAMES.md +46 -0
  273. package/dist/skill/argus/reference/INJECT.md +145 -0
  274. package/dist/skill/argus/reference/INSPECT.md +175 -0
  275. package/dist/skill/argus/reference/NET.md +108 -0
  276. package/dist/skill/argus/reference/PLUGINS.md +172 -0
  277. package/dist/skill/argus/reference/RUNTIME_CODE.md +42 -0
  278. package/dist/skill/argus/reference/START.md +120 -0
  279. package/dist/skill/argus/start-watcher.ts +108 -0
  280. package/package.json +4 -2
  281. package/dist/cli/register/registerAuth.d.ts +0 -3
  282. package/dist/cli/register/registerAuth.d.ts.map +0 -1
  283. package/dist/cli/register/registerAuth.js +0 -133
  284. package/dist/cli/register/registerAuth.js.map +0 -1
  285. package/dist/cli/register/registerChrome.d.ts +0 -3
  286. package/dist/cli/register/registerChrome.d.ts.map +0 -1
  287. package/dist/cli/register/registerChrome.js +0 -118
  288. package/dist/cli/register/registerChrome.js.map +0 -1
  289. package/dist/cli/register/registerCode.d.ts +0 -3
  290. package/dist/cli/register/registerCode.d.ts.map +0 -1
  291. package/dist/cli/register/registerCode.js +0 -74
  292. package/dist/cli/register/registerCode.js.map +0 -1
  293. package/dist/cli/register/registerConfig.d.ts +0 -3
  294. package/dist/cli/register/registerConfig.d.ts.map +0 -1
  295. package/dist/cli/register/registerConfig.js +0 -14
  296. package/dist/cli/register/registerConfig.js.map +0 -1
  297. package/dist/cli/register/registerDialog.d.ts +0 -3
  298. package/dist/cli/register/registerDialog.d.ts.map +0 -1
  299. package/dist/cli/register/registerDialog.js +0 -45
  300. package/dist/cli/register/registerDialog.js.map +0 -1
  301. package/dist/cli/register/registerDom.d.ts +0 -3
  302. package/dist/cli/register/registerDom.d.ts.map +0 -1
  303. package/dist/cli/register/registerDom.js +0 -284
  304. package/dist/cli/register/registerDom.js.map +0 -1
  305. package/dist/cli/register/registerEval.d.ts +0 -3
  306. package/dist/cli/register/registerEval.d.ts.map +0 -1
  307. package/dist/cli/register/registerEval.js +0 -149
  308. package/dist/cli/register/registerEval.js.map +0 -1
  309. package/dist/cli/register/registerExtension.d.ts +0 -3
  310. package/dist/cli/register/registerExtension.d.ts.map +0 -1
  311. package/dist/cli/register/registerExtension.js +0 -72
  312. package/dist/cli/register/registerExtension.js.map +0 -1
  313. package/dist/cli/register/registerFill.d.ts +0 -3
  314. package/dist/cli/register/registerFill.d.ts.map +0 -1
  315. package/dist/cli/register/registerFill.js +0 -31
  316. package/dist/cli/register/registerFill.js.map +0 -1
  317. package/dist/cli/register/registerHover.d.ts +0 -3
  318. package/dist/cli/register/registerHover.d.ts.map +0 -1
  319. package/dist/cli/register/registerHover.js +0 -21
  320. package/dist/cli/register/registerHover.js.map +0 -1
  321. package/dist/cli/register/registerKeydown.d.ts +0 -3
  322. package/dist/cli/register/registerKeydown.d.ts.map +0 -1
  323. package/dist/cli/register/registerKeydown.js +0 -20
  324. package/dist/cli/register/registerKeydown.js.map +0 -1
  325. package/dist/cli/register/registerLocate.d.ts +0 -3
  326. package/dist/cli/register/registerLocate.d.ts.map +0 -1
  327. package/dist/cli/register/registerLocate.js +0 -48
  328. package/dist/cli/register/registerLocate.js.map +0 -1
  329. package/dist/cli/register/registerLogs.d.ts +0 -3
  330. package/dist/cli/register/registerLogs.d.ts.map +0 -1
  331. package/dist/cli/register/registerLogs.js +0 -64
  332. package/dist/cli/register/registerLogs.js.map +0 -1
  333. package/dist/cli/register/registerNet.d.ts +0 -3
  334. package/dist/cli/register/registerNet.d.ts.map +0 -1
  335. package/dist/cli/register/registerNet.js +0 -287
  336. package/dist/cli/register/registerNet.js.map +0 -1
  337. package/dist/cli/register/registerPage.d.ts +0 -3
  338. package/dist/cli/register/registerPage.d.ts.map +0 -1
  339. package/dist/cli/register/registerPage.js +0 -123
  340. package/dist/cli/register/registerPage.js.map +0 -1
  341. package/dist/cli/register/registerPlugin.d.ts +0 -3
  342. package/dist/cli/register/registerPlugin.d.ts.map +0 -1
  343. package/dist/cli/register/registerPlugin.js +0 -34
  344. package/dist/cli/register/registerPlugin.js.map +0 -1
  345. package/dist/cli/register/registerQuickAccess.d.ts +0 -3
  346. package/dist/cli/register/registerQuickAccess.d.ts.map +0 -1
  347. package/dist/cli/register/registerQuickAccess.js +0 -112
  348. package/dist/cli/register/registerQuickAccess.js.map +0 -1
  349. package/dist/cli/register/registerScrollTo.d.ts +0 -3
  350. package/dist/cli/register/registerScrollTo.d.ts.map +0 -1
  351. package/dist/cli/register/registerScrollTo.js +0 -22
  352. package/dist/cli/register/registerScrollTo.js.map +0 -1
  353. package/dist/cli/register/registerSnapshot.d.ts +0 -3
  354. package/dist/cli/register/registerSnapshot.d.ts.map +0 -1
  355. package/dist/cli/register/registerSnapshot.js +0 -38
  356. package/dist/cli/register/registerSnapshot.js.map +0 -1
  357. package/dist/cli/register/registerStorage.d.ts +0 -3
  358. package/dist/cli/register/registerStorage.d.ts.map +0 -1
  359. package/dist/cli/register/registerStorage.js +0 -61
  360. package/dist/cli/register/registerStorage.js.map +0 -1
  361. package/dist/cli/register/registerThrottle.d.ts +0 -3
  362. package/dist/cli/register/registerThrottle.d.ts.map +0 -1
  363. package/dist/cli/register/registerThrottle.js +0 -33
  364. package/dist/cli/register/registerThrottle.js.map +0 -1
  365. package/dist/cli/register/registerTrace.d.ts +0 -3
  366. package/dist/cli/register/registerTrace.d.ts.map +0 -1
  367. package/dist/cli/register/registerTrace.js +0 -57
  368. package/dist/cli/register/registerTrace.js.map +0 -1
  369. package/dist/cli/register/registerWatcher.d.ts +0 -3
  370. package/dist/cli/register/registerWatcher.d.ts.map +0 -1
  371. package/dist/cli/register/registerWatcher.js +0 -135
  372. package/dist/cli/register/registerWatcher.js.map +0 -1
  373. package/dist/config/argusConfig.d.ts +0 -76
  374. package/dist/config/argusConfig.d.ts.map +0 -1
  375. package/dist/config/argusConfig.js.map +0 -1
@@ -0,0 +1,188 @@
1
+ import { runChromeTargets, runChromeOpen, runChromeActivate, runChromeClose } from '../../commands/chrome.js';
2
+ import { runPageReload } from '../../commands/page.js';
3
+ import { runPageEmulationSet, runPageEmulationClear, runPageEmulationStatus } from '../../commands/pageEmulation.js';
4
+ import { runPageShow, runPageHide } from '../../commands/pageVisibility.js';
5
+ import { listPresetNames } from '../../emulation/devices.js';
6
+ import { collectParam } from '../validation.js';
7
+ const cdpTargetOptions = [
8
+ { flags: '--cdp <host:port>', description: 'CDP host:port' },
9
+ { flags: '--id <watcherId>', description: 'Use chrome config from a registered watcher' },
10
+ { flags: '--json', description: 'Output JSON for automation' },
11
+ ];
12
+ const presetList = listPresetNames().join(', ');
13
+ const emulationCommand = {
14
+ name: 'emulation',
15
+ alias: 'emu',
16
+ description: 'Device emulation controls (viewport, touch, user-agent)',
17
+ subcommands: [
18
+ {
19
+ name: 'set',
20
+ description: 'Set device emulation on the watcher-attached page',
21
+ arguments: [{ flags: '[id]', description: 'Watcher ID' }],
22
+ options: [
23
+ { flags: '--device <name>', description: `Device preset (${presetList})` },
24
+ { flags: '--width <n>', description: 'Viewport width (px)' },
25
+ { flags: '--height <n>', description: 'Viewport height (px)' },
26
+ { flags: '--dpr <n>', description: 'Device pixel ratio' },
27
+ { flags: '--mobile', description: 'Enable mobile emulation' },
28
+ { flags: '--no-mobile', description: 'Disable mobile emulation' },
29
+ { flags: '--touch', description: 'Enable touch emulation' },
30
+ { flags: '--no-touch', description: 'Disable touch emulation' },
31
+ { flags: '--ua <string>', description: 'Override user-agent string' },
32
+ { flags: '--json', description: 'Output JSON for automation' },
33
+ ],
34
+ configure: (command) => {
35
+ command.addHelpText('after', `\nExamples:\n $ argus page emulation set app --device iphone-14\n $ argus page emulation set app --width 1600 --height 900\n $ argus page emulation set app --device pixel-7 --width 500\n $ argus page emu set app --device desktop-1440\n\nAvailable devices: ${presetList}\n`);
36
+ },
37
+ action: async (id, options) => {
38
+ await runPageEmulationSet(id, options);
39
+ },
40
+ },
41
+ {
42
+ name: 'clear',
43
+ description: 'Clear device emulation (restore defaults)',
44
+ arguments: [{ flags: '[id]', description: 'Watcher ID' }],
45
+ options: [{ flags: '--json', description: 'Output JSON for automation' }],
46
+ examples: ['argus page emulation clear app', 'argus page emu clear app --json'],
47
+ action: async (id, options) => {
48
+ await runPageEmulationClear(id, options);
49
+ },
50
+ },
51
+ {
52
+ name: 'status',
53
+ description: 'Show current emulation state',
54
+ arguments: [{ flags: '[id]', description: 'Watcher ID' }],
55
+ options: [{ flags: '--json', description: 'Output JSON for automation' }],
56
+ examples: ['argus page emulation status app', 'argus page emu status app --json'],
57
+ action: async (id, options) => {
58
+ await runPageEmulationStatus(id, options);
59
+ },
60
+ },
61
+ ],
62
+ };
63
+ export const pageCommands = [
64
+ {
65
+ name: 'page',
66
+ alias: 'tab',
67
+ description: 'Page/tab management commands',
68
+ subcommands: [
69
+ {
70
+ name: 'ls',
71
+ aliases: ['targets', 'list'],
72
+ description: 'List Chrome targets (tabs, extensions, etc.)',
73
+ options: [
74
+ { flags: '--type <type>', description: 'Filter by target type (e.g. page, worker, iframe)' },
75
+ { flags: '--tree', description: 'Show targets as a tree with parent-child relationships' },
76
+ ...cdpTargetOptions,
77
+ ],
78
+ examples: [
79
+ 'argus page ls',
80
+ 'argus page ls --type page',
81
+ 'argus page ls --type iframe',
82
+ 'argus page ls --tree',
83
+ 'argus page ls --json',
84
+ 'argus page ls --id app',
85
+ ],
86
+ action: async (options) => {
87
+ await runChromeTargets(options);
88
+ },
89
+ },
90
+ {
91
+ name: 'open',
92
+ alias: 'new',
93
+ description: 'Open a new tab in Chrome',
94
+ options: [{ flags: '--url <url>', description: 'URL to open', required: true }, ...cdpTargetOptions],
95
+ examples: [
96
+ 'argus page open --url http://localhost:3000',
97
+ 'argus page open --url localhost:3000',
98
+ 'argus page open --url http://example.com --json',
99
+ ],
100
+ action: async (options) => {
101
+ await runChromeOpen(options);
102
+ },
103
+ },
104
+ {
105
+ name: 'activate',
106
+ description: 'Activate (focus) a Chrome target',
107
+ arguments: [{ flags: '[targetId]', description: 'Target ID to activate' }],
108
+ options: [
109
+ { flags: '--title <substring>', description: 'Case-insensitive substring match against target title' },
110
+ { flags: '--url <substring>', description: 'Case-insensitive substring match against target URL' },
111
+ { flags: '--match <substring>', description: 'Case-insensitive substring match against title + URL' },
112
+ ...cdpTargetOptions,
113
+ ],
114
+ examples: [
115
+ 'argus page activate ABCD1234',
116
+ 'argus page activate --title "Docs"',
117
+ 'argus page activate --url localhost:3000',
118
+ 'argus page activate --match "Argus" --json',
119
+ ],
120
+ action: async (targetId, options) => {
121
+ await runChromeActivate({ ...options, targetId });
122
+ },
123
+ },
124
+ {
125
+ name: 'close',
126
+ description: 'Close a Chrome target',
127
+ arguments: [{ flags: '<targetId>', description: 'Target ID to close' }],
128
+ options: cdpTargetOptions,
129
+ examples: ['argus page close ABCD1234', 'argus page close ABCD1234 --json'],
130
+ action: async (targetId, options) => {
131
+ await runChromeClose({ ...options, targetId });
132
+ },
133
+ },
134
+ {
135
+ name: 'show',
136
+ description: 'Lock the attached page as shown+focused (unthrottles rAF/timers when window is covered)',
137
+ arguments: [{ flags: '[id]', description: 'Watcher ID' }],
138
+ options: [{ flags: '--json', description: 'Output JSON for automation' }],
139
+ configure: (command) => {
140
+ command.addHelpText('after', '\nExamples:\n $ argus page show app\n $ argus page show app --json\n\nForces focus emulation on the attached page so boot/preview flows keep\nmaking progress even if the Chrome window is backgrounded or covered.\nLock persists until `argus page hide <id>`; survives watcher reattach.\n');
141
+ },
142
+ action: async (id, options) => {
143
+ await runPageShow(id, options);
144
+ },
145
+ },
146
+ {
147
+ name: 'hide',
148
+ description: 'Release the visibility lock (restore default Chrome throttling behavior)',
149
+ arguments: [{ flags: '[id]', description: 'Watcher ID' }],
150
+ options: [{ flags: '--json', description: 'Output JSON for automation' }],
151
+ examples: ['argus page hide app', 'argus page hide app --json'],
152
+ action: async (id, options) => {
153
+ await runPageHide(id, options);
154
+ },
155
+ },
156
+ {
157
+ name: 'reload',
158
+ description: 'Reload a Chrome target',
159
+ arguments: [{ flags: '[targetId]', description: 'Target ID to reload (omit with --id to reload the attached page)' }],
160
+ options: [
161
+ { flags: '--cdp <host:port>', description: 'CDP host:port' },
162
+ { flags: '--id <watcherId>', description: 'Use chrome config from a registered watcher' },
163
+ {
164
+ flags: '--param <key=value>',
165
+ description: 'Update query param (repeatable, overwrite semantics)',
166
+ parser: collectParam,
167
+ defaultValue: [],
168
+ },
169
+ { flags: '--params <a=b&c=d>', description: 'Update query params from string (overwrite semantics)' },
170
+ { flags: '--json', description: 'Output JSON for automation' },
171
+ ],
172
+ examples: [
173
+ 'argus page reload ABCD1234',
174
+ 'argus page reload --id app',
175
+ 'argus page reload ABCD1234 --json',
176
+ 'argus page reload ABCD1234 --param foo=bar',
177
+ 'argus page reload ABCD1234 --param foo=bar --param baz=qux',
178
+ 'argus page reload ABCD1234 --params "a=1&b=2"',
179
+ ],
180
+ action: async (targetId, options) => {
181
+ await runPageReload({ ...options, targetId });
182
+ },
183
+ },
184
+ emulationCommand,
185
+ ],
186
+ },
187
+ ];
188
+ //# sourceMappingURL=pageCommands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pageCommands.js","sourceRoot":"","sources":["../../../src/cli/register/pageCommands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ArgusCommandDefinition } from '../defineCommand.js';
2
+ export declare const pluginCommands: readonly ArgusCommandDefinition[];
3
+ //# sourceMappingURL=pluginCommands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluginCommands.d.ts","sourceRoot":"","sources":["../../../src/cli/register/pluginCommands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAUjE,eAAO,MAAM,cAAc,EAAE,SAAS,sBAAsB,EA0C3D,CAAA"}
@@ -0,0 +1,51 @@
1
+ import { runPluginList } from '../../commands/pluginList.js';
2
+ import { runPluginAdd, runPluginRemove } from '../../commands/pluginConfig.js';
3
+ const configFileOptions = [
4
+ { flags: '--path <file>', description: 'Config file to update (default: discovered config or .argus/config.json)' },
5
+ { flags: '--global', description: 'Update the per-user Argus config at ARGUS_HOME/config.json' },
6
+ { flags: '--json', description: 'Output JSON for automation' },
7
+ ];
8
+ export const pluginCommands = [
9
+ {
10
+ name: 'plugin',
11
+ alias: 'plugins',
12
+ description: 'Manage Argus CLI plugins',
13
+ subcommands: [
14
+ {
15
+ name: 'list',
16
+ alias: 'ls',
17
+ description: 'List plugins discovered for this invocation',
18
+ options: [{ flags: '--json', description: 'Output JSON for automation' }],
19
+ examples: ['argus plugin list', 'argus --plugin ./plugins/foo.js plugin list --json'],
20
+ action: (options) => {
21
+ runPluginList(options);
22
+ },
23
+ },
24
+ {
25
+ name: 'add <specifier>',
26
+ description: 'Add a plugin specifier or alias to the Argus config',
27
+ options: configFileOptions,
28
+ examples: [
29
+ 'argus plugin add gsheets',
30
+ 'argus plugin add --global clogs=~/dev/argus-clogs-plugin/dist/index.js',
31
+ 'argus plugin add gs=@vforsh/argus-plugin-google-sheets',
32
+ 'argus plugin add ./plugins/foo.js',
33
+ ],
34
+ action: async (specifier, options) => {
35
+ await runPluginAdd(specifier, options);
36
+ },
37
+ },
38
+ {
39
+ name: 'remove <specifierOrName>',
40
+ alias: 'rm',
41
+ description: 'Remove a plugin from the Argus config',
42
+ options: configFileOptions,
43
+ examples: ['argus plugin remove @vforsh/argus-plugin-google-sheets', 'argus plugin remove google-sheets'],
44
+ action: async (specifierOrName, options) => {
45
+ await runPluginRemove(specifierOrName, options);
46
+ },
47
+ },
48
+ ],
49
+ },
50
+ ];
51
+ //# sourceMappingURL=pluginCommands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluginCommands.js","sourceRoot":"","sources":["../../../src/cli/register/pluginCommands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAE9E,MAAM,iBAAiB,GAAG;IACzB,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,0EAA0E,EAAE;IACnH,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,4DAA4D,EAAE;IAChG,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;CACrD,CAAA;AAEV,MAAM,CAAC,MAAM,cAAc,GAAsC;IAChE;QACC,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,0BAA0B;QACvC,WAAW,EAAE;YACZ;gBACC,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,6CAA6C;gBAC1D,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;gBACzE,QAAQ,EAAE,CAAC,mBAAmB,EAAE,oDAAoD,CAAC;gBACrF,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;oBACnB,aAAa,CAAC,OAAO,CAAC,CAAA;gBACvB,CAAC;aACD;YACD;gBACC,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,qDAAqD;gBAClE,OAAO,EAAE,iBAAiB;gBAC1B,QAAQ,EAAE;oBACT,0BAA0B;oBAC1B,wEAAwE;oBACxE,wDAAwD;oBACxD,mCAAmC;iBACnC;gBACD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;oBACpC,MAAM,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;gBACvC,CAAC;aACD;YACD;gBACC,IAAI,EAAE,0BAA0B;gBAChC,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,uCAAuC;gBACpD,OAAO,EAAE,iBAAiB;gBAC1B,QAAQ,EAAE,CAAC,wDAAwD,EAAE,mCAAmC,CAAC;gBACzG,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE;oBAC1C,MAAM,eAAe,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;gBAChD,CAAC;aACD;SACD;KACD;CACD,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { ArgusCommandDefinition } from '../defineCommand.js';
2
+ export declare const quickAccessCommands: readonly ArgusCommandDefinition[];
3
+ //# sourceMappingURL=quickAccessCommands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quickAccessCommands.d.ts","sourceRoot":"","sources":["../../../src/cli/register/quickAccessCommands.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAQjE,eAAO,MAAM,mBAAmB,EAAE,SAAS,sBAAsB,EA4GhE,CAAA"}
@@ -0,0 +1,138 @@
1
+ import { runList } from '../../commands/list.js';
2
+ import { runStart } from '../../commands/start.js';
3
+ import { runDoctor } from '../../commands/doctor.js';
4
+ import { runReload } from '../../commands/reload.js';
5
+ import { loadArgusConfig, resolveArgusConfigPath } from '../../config/loadConfig.js';
6
+ import { mergeChromeStartOptionsWithConfig, mergeWatcherStartOptionsWithConfig } from '../../config/mergeConfig.js';
7
+ export const quickAccessCommands = [
8
+ {
9
+ name: 'list',
10
+ alias: 'ls',
11
+ description: 'List watchers and Chrome instances',
12
+ options: [
13
+ { flags: '--json', description: 'Output JSON for automation' },
14
+ { flags: '--by-cwd <substring>', description: 'Filter watchers by working directory substring' },
15
+ ],
16
+ examples: ['argus list', 'argus ls', 'argus list --json', 'argus list --by-cwd my-project'],
17
+ action: async (options) => {
18
+ await runList(options);
19
+ },
20
+ },
21
+ {
22
+ name: 'start',
23
+ description: 'Launch Chrome and attach a watcher in one command',
24
+ options: [
25
+ { flags: '--id <watcherId>', description: 'Watcher id', required: true },
26
+ { flags: '--url <url>', description: 'URL to open in Chrome and match for the watcher' },
27
+ {
28
+ flags: '--auth-from <watcherId>',
29
+ description: 'Clone auth state from another watcher into a fresh temp Chrome session before attaching',
30
+ },
31
+ {
32
+ flags: '--profile <type>',
33
+ description: 'Chrome profile mode: temp, default-full, default-medium, or default-lite (default: default-lite)',
34
+ },
35
+ { flags: '--dev-tools', description: 'Open DevTools for new tabs' },
36
+ { flags: '--headless', description: 'Run Chrome in headless mode' },
37
+ { flags: '--type <type>', description: 'Filter by target type (e.g., page, iframe, worker)' },
38
+ { flags: '--origin <origin>', description: 'Match against URL origin only (protocol + host + port)' },
39
+ { flags: '--target <targetId>', description: 'Connect to a specific target by its Chrome target ID' },
40
+ { flags: '--parent <pattern>', description: 'Filter by parent target URL pattern' },
41
+ { flags: '--no-page-indicator', description: 'Disable the in-page watcher indicator' },
42
+ { flags: '--inject <path>', description: 'Path to JavaScript file to inject on watcher attach' },
43
+ { flags: '--artifacts <dir>', description: 'Artifacts base directory' },
44
+ { flags: '--config <path>', description: 'Path to Argus config file' },
45
+ { flags: '--json', description: 'Output JSON for automation' },
46
+ ],
47
+ examples: [
48
+ 'argus start --id app --url localhost:3000',
49
+ 'argus start --id app --auth-from extension-2',
50
+ 'argus start --id app --auth-from extension-2 --url https://target.app/',
51
+ 'argus start --id app --url localhost:3000 --dev-tools',
52
+ 'argus start --id app --url localhost:3000 --profile temp',
53
+ 'argus start --id app --type page --headless',
54
+ 'argus start --id app --url localhost:3000 --inject ./debug.js',
55
+ 'argus start --id app --url localhost:3000 --json',
56
+ ],
57
+ action: async (options, command) => {
58
+ const { config: configPath, inject, ...rest } = options;
59
+ const cliOptions = {
60
+ ...rest,
61
+ inject: inject ? { file: inject } : undefined,
62
+ };
63
+ if (!normalizeStartAuthOptions(command, cliOptions)) {
64
+ return;
65
+ }
66
+ const resolvedPath = resolveArgusConfigPath({ cliPath: configPath, cwd: process.cwd() });
67
+ if (!resolvedPath) {
68
+ if (configPath) {
69
+ return;
70
+ }
71
+ await runStart(applyStartAuthOverrides(command, cliOptions));
72
+ return;
73
+ }
74
+ const configResult = loadArgusConfig(resolvedPath);
75
+ if (!configResult) {
76
+ return;
77
+ }
78
+ const mergedChrome = mergeChromeStartOptionsWithConfig(cliOptions, command, configResult);
79
+ if (!mergedChrome) {
80
+ return;
81
+ }
82
+ const mergedWatcher = mergeWatcherStartOptionsWithConfig(mergedChrome, command, configResult);
83
+ if (!mergedWatcher) {
84
+ return;
85
+ }
86
+ await runStart(applyStartAuthOverrides(command, mergedWatcher));
87
+ },
88
+ },
89
+ {
90
+ name: 'doctor',
91
+ description: 'Run environment diagnostics for Argus',
92
+ options: [{ flags: '--json', description: 'Output JSON for automation' }],
93
+ examples: ['argus doctor', 'argus doctor --json'],
94
+ action: async (options) => {
95
+ await runDoctor(options);
96
+ },
97
+ },
98
+ {
99
+ name: 'reload',
100
+ description: 'Reload the page attached to a watcher',
101
+ arguments: [{ flags: '[id]', description: 'Watcher id to reload' }],
102
+ options: [
103
+ { flags: '--ignore-cache', description: 'Bypass browser cache' },
104
+ { flags: '--json', description: 'Output JSON for automation' },
105
+ ],
106
+ examples: ['argus reload app', 'argus reload app --ignore-cache', 'argus reload app --json'],
107
+ action: async (id, options) => {
108
+ await runReload(id, options);
109
+ },
110
+ },
111
+ ];
112
+ const normalizeStartAuthOptions = (command, options) => {
113
+ if (!options.authFrom) {
114
+ return true;
115
+ }
116
+ if (getOptionValueSource(command, 'profile') === 'cli') {
117
+ if (options.profile && options.profile !== 'temp') {
118
+ console.error('Cannot combine --auth-from with a copied Chrome profile. Use --profile temp or omit --profile.');
119
+ process.exitCode = 2;
120
+ return false;
121
+ }
122
+ return true;
123
+ }
124
+ options.profile = undefined;
125
+ return true;
126
+ };
127
+ const applyStartAuthOverrides = (command, options) => {
128
+ if (!options.authFrom) {
129
+ return options;
130
+ }
131
+ options.profile = 'temp';
132
+ if (getOptionValueSource(command, 'url') !== 'cli') {
133
+ options.url = undefined;
134
+ }
135
+ return options;
136
+ };
137
+ const getOptionValueSource = (command, key) => command.getOptionValueSource(key) ?? '';
138
+ //# sourceMappingURL=quickAccessCommands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quickAccessCommands.js","sourceRoot":"","sources":["../../../src/cli/register/quickAccessCommands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ArgusCommandDefinition } from '../defineCommand.js';
2
+ export declare const recordCommands: readonly ArgusCommandDefinition[];
3
+ //# sourceMappingURL=recordCommands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recordCommands.d.ts","sourceRoot":"","sources":["../../../src/cli/register/recordCommands.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAKjE,eAAO,MAAM,cAAc,EAAE,SAAS,sBAAsB,EA+D3D,CAAA"}
@@ -0,0 +1,90 @@
1
+ import { resolveTestId } from '../../commands/resolveTestId.js';
2
+ import { runRecord, runRecordStart, runRecordStop } from '../../commands/record.js';
3
+ export const recordCommands = [
4
+ {
5
+ name: 'record',
6
+ description: 'Capture a silent video recording to disk on the watcher',
7
+ arguments: [{ flags: '[id]', description: 'Watcher id to query' }],
8
+ options: [
9
+ { flags: '--duration <duration>', description: 'Capture for duration (e.g. 3s, 500ms)' },
10
+ { flags: '--out <file>', description: 'Output .mp4 or .webm path (absolute or relative to artifacts directory)' },
11
+ { flags: '--selector <selector>', description: 'Optional CSS selector for element-only recording' },
12
+ { flags: '--clip <x,y,width,height>', description: 'Viewport-relative rectangle crop in CSS pixels' },
13
+ { flags: '--testid <id>', description: 'Shorthand for --selector "[data-testid=\'<id>\']"' },
14
+ { flags: '--fps <n>', description: 'Output frames per second (1-60, default 30)' },
15
+ { flags: '--format <format>', description: 'Output format: mp4 or webm (default mp4, inferred from --out extension)' },
16
+ { flags: '--json', description: 'Output JSON for automation' },
17
+ ],
18
+ examples: [
19
+ 'argus record app --duration 5s --out demo.mp4',
20
+ 'argus record app --duration 3s --selector "canvas" --out canvas.mp4',
21
+ 'argus record app --duration 3s --clip 100,80,640,360 --out crop.mp4',
22
+ 'argus record app --duration 3s --format webm --out canvas.webm',
23
+ ],
24
+ action: async (id, options, command) => {
25
+ const resolved = resolveActionOptions(options, command);
26
+ if (!resolveTestId(resolved))
27
+ return;
28
+ await runRecord(id, resolved);
29
+ },
30
+ subcommands: [
31
+ {
32
+ name: 'start',
33
+ description: 'Start a silent video recording',
34
+ arguments: [{ flags: '[id]', description: 'Watcher id to query' }],
35
+ options: [
36
+ { flags: '--out <file>', description: 'Output .mp4 or .webm path (absolute or relative to artifacts directory)' },
37
+ { flags: '--selector <selector>', description: 'Optional CSS selector for element-only recording' },
38
+ { flags: '--clip <x,y,width,height>', description: 'Viewport-relative rectangle crop in CSS pixels' },
39
+ { flags: '--testid <id>', description: 'Shorthand for --selector "[data-testid=\'<id>\']"' },
40
+ { flags: '--fps <n>', description: 'Output frames per second (1-60, default 30)' },
41
+ { flags: '--format <format>', description: 'Output format: mp4 or webm (default mp4, inferred from --out extension)' },
42
+ { flags: '--json', description: 'Output JSON for automation' },
43
+ ],
44
+ examples: ['argus record start app --selector "canvas" --out canvas.mp4'],
45
+ action: async (id, options, command) => {
46
+ const resolved = resolveActionOptions(options, command);
47
+ if (!resolveTestId(resolved))
48
+ return;
49
+ await runRecordStart(id, resolved);
50
+ },
51
+ },
52
+ {
53
+ name: 'stop',
54
+ description: 'Stop the active video recording',
55
+ arguments: [{ flags: '[id]', description: 'Watcher id to query' }],
56
+ options: [
57
+ { flags: '--record-id <id>', description: 'Record id returned from start' },
58
+ { flags: '--out <file>', description: 'Move the saved recording to this .mp4 or .webm path before returning' },
59
+ { flags: '--json', description: 'Output JSON for automation' },
60
+ ],
61
+ examples: ['argus record stop app', 'argus record stop app --out demo.mp4 --json'],
62
+ action: async (id, options, command) => {
63
+ await runRecordStop(id, resolveActionOptions(options, command));
64
+ },
65
+ },
66
+ ],
67
+ },
68
+ ];
69
+ /**
70
+ * `record` is both a command and a subcommand parent, so Commander may pass
71
+ * either (options, command) or just the command. Merge parent + own opts.
72
+ */
73
+ function resolveActionOptions(options, command) {
74
+ const maybeCommand = options;
75
+ if (typeof maybeCommand?.opts === 'function') {
76
+ return {
77
+ ...(typeof maybeCommand.parent?.opts === 'function' ? maybeCommand.parent.opts() : {}),
78
+ ...maybeCommand.opts(),
79
+ };
80
+ }
81
+ if (typeof command?.opts === 'function') {
82
+ return {
83
+ ...(typeof command.parent?.opts === 'function' ? command.parent.opts() : {}),
84
+ ...command.opts(),
85
+ ...options,
86
+ };
87
+ }
88
+ return options;
89
+ }
90
+ //# sourceMappingURL=recordCommands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recordCommands.js","sourceRoot":"","sources":["../../../src/cli/register/recordCommands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ArgusCommandDefinition } from '../defineCommand.js';
2
+ export declare const scrollToCommand: ArgusCommandDefinition;
3
+ //# sourceMappingURL=scrollToCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrollToCommand.d.ts","sourceRoot":"","sources":["../../../src/cli/register/scrollToCommand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAIjE,eAAO,MAAM,eAAe,EAAE,sBAyB7B,CAAA"}
@@ -0,0 +1,30 @@
1
+ import { runDomScrollTo } from '../../commands/domScrollTo.js';
2
+ import { resolveTestId } from '../../commands/resolveTestId.js';
3
+ export const scrollToCommand = {
4
+ name: 'scroll-to',
5
+ description: 'Scroll the viewport or elements into view / to a position',
6
+ arguments: [{ flags: '[id]', description: 'Watcher id to query' }],
7
+ options: [
8
+ { flags: '--selector <css>', description: 'CSS selector to match element(s)' },
9
+ { flags: '--testid <id>', description: 'Shorthand for --selector "[data-testid=\'<id>\']"' },
10
+ { flags: '--to <x,y>', description: 'Scroll to absolute position (viewport or element)' },
11
+ { flags: '--by <x,y>', description: 'Scroll by delta (viewport or element)' },
12
+ { flags: '--all', description: 'Allow multiple matches (default: error if >1 match)' },
13
+ { flags: '--text <string>', description: 'Filter by textContent (trimmed). Supports /regex/flags syntax' },
14
+ { flags: '--json', description: 'Output JSON for automation' },
15
+ ],
16
+ examples: [
17
+ 'argus scroll-to app --selector "#footer"',
18
+ 'argus scroll-to app --testid "footer"',
19
+ 'argus scroll-to app --to 0,1000',
20
+ 'argus scroll-to app --by 0,500',
21
+ 'argus scroll-to app --selector ".panel" --to 0,1000',
22
+ 'argus scroll-to app --selector ".panel" --by 0,500',
23
+ ],
24
+ action: async (id, options) => {
25
+ if (!resolveTestId(options))
26
+ return;
27
+ await runDomScrollTo(id, options);
28
+ },
29
+ };
30
+ //# sourceMappingURL=scrollToCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrollToCommand.js","sourceRoot":"","sources":["../../../src/cli/register/scrollToCommand.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAE/D,MAAM,CAAC,MAAM,eAAe,GAA2B;IACtD,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,2DAA2D;IACxE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;IAClE,OAAO,EAAE;QACR,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,kCAAkC,EAAE;QAC9E,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,mDAAmD,EAAE;QAC5F,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,mDAAmD,EAAE;QACzF,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,uCAAuC,EAAE;QAC7E,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,qDAAqD,EAAE;QACtF,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,+DAA+D,EAAE;QAC1G,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;KAC9D;IACD,QAAQ,EAAE;QACT,0CAA0C;QAC1C,uCAAuC;QACvC,iCAAiC;QACjC,gCAAgC;QAChC,qDAAqD;QACrD,oDAAoD;KACpD;IACD,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;QAC7B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAAE,OAAM;QACnC,MAAM,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC;CACD,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { ArgusCommandDefinition } from '../defineCommand.js';
2
+ export declare const skillCommands: readonly ArgusCommandDefinition[];
3
+ //# sourceMappingURL=skillCommands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skillCommands.d.ts","sourceRoot":"","sources":["../../../src/cli/register/skillCommands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAGjE,eAAO,MAAM,aAAa,EAAE,SAAS,sBAAsB,EAU1D,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { runSkill } from '../../commands/skill.js';
2
+ export const skillCommands = [
3
+ {
4
+ name: 'skill',
5
+ description: 'Print the absolute path to the packaged Argus skill file',
6
+ options: [{ flags: '--json', description: 'Output JSON for automation' }],
7
+ examples: ['argus skill', 'argus skill --json'],
8
+ action: (options) => {
9
+ runSkill(options);
10
+ },
11
+ },
12
+ ];
13
+ //# sourceMappingURL=skillCommands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skillCommands.js","sourceRoot":"","sources":["../../../src/cli/register/skillCommands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAElD,MAAM,CAAC,MAAM,aAAa,GAAsC;IAC/D;QACC,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,0DAA0D;QACvE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;QACzE,QAAQ,EAAE,CAAC,aAAa,EAAE,oBAAoB,CAAC;QAC/C,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;YACnB,QAAQ,CAAC,OAAO,CAAC,CAAA;QAClB,CAAC;KACD;CACD,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { ArgusCommandDefinition } from '../defineCommand.js';
2
+ export declare const snapshotCommands: readonly ArgusCommandDefinition[];
3
+ //# sourceMappingURL=snapshotCommands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshotCommands.d.ts","sourceRoot":"","sources":["../../../src/cli/register/snapshotCommands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAKjE,eAAO,MAAM,gBAAgB,EAAE,SAAS,sBAAsB,EAkD7D,CAAA"}