opendevbrowser 0.0.28 → 0.0.29

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 (313) hide show
  1. package/README.md +2 -2
  2. package/dist/accessibility-snapshot-PA6NWNS7.js +39 -0
  3. package/dist/accessibility-snapshot-PA6NWNS7.js.map +1 -0
  4. package/dist/active-window-YNYTIPZN.js +37 -0
  5. package/dist/active-window-YNYTIPZN.js.map +1 -0
  6. package/dist/annotate-STYHXZYJ.js +205 -0
  7. package/dist/annotate-STYHXZYJ.js.map +1 -0
  8. package/dist/artifacts-KJ6RNDO2.js +120 -0
  9. package/dist/artifacts-KJ6RNDO2.js.map +1 -0
  10. package/dist/attr-GHFZZ4SA.js +84 -0
  11. package/dist/attr-GHFZZ4SA.js.map +1 -0
  12. package/dist/browser/ops-client.d.ts +1 -0
  13. package/dist/browser/ops-client.d.ts.map +1 -1
  14. package/dist/canvas-54FBOEGP.js +309 -0
  15. package/dist/canvas-54FBOEGP.js.map +1 -0
  16. package/dist/capture-desktop-SNABC24E.js +38 -0
  17. package/dist/capture-desktop-SNABC24E.js.map +1 -0
  18. package/dist/capture-window-UJSB5AMP.js +40 -0
  19. package/dist/capture-window-UJSB5AMP.js.map +1 -0
  20. package/dist/check-ST5UQ2F5.js +71 -0
  21. package/dist/check-ST5UQ2F5.js.map +1 -0
  22. package/dist/checked-IEMWI5CU.js +71 -0
  23. package/dist/checked-IEMWI5CU.js.map +1 -0
  24. package/dist/chunk-2CG4SW3E.js +64 -0
  25. package/dist/chunk-2CG4SW3E.js.map +1 -0
  26. package/dist/chunk-2SIMIPLY.js +67 -0
  27. package/dist/chunk-2SIMIPLY.js.map +1 -0
  28. package/dist/chunk-37VSRUW4.js +141 -0
  29. package/dist/chunk-37VSRUW4.js.map +1 -0
  30. package/dist/chunk-5SWZDVOW.js +144 -0
  31. package/dist/chunk-5SWZDVOW.js.map +1 -0
  32. package/dist/chunk-6PVZ2ABC.js +429 -0
  33. package/dist/chunk-6PVZ2ABC.js.map +1 -0
  34. package/dist/chunk-7GVOUZMQ.js +64 -0
  35. package/dist/chunk-7GVOUZMQ.js.map +1 -0
  36. package/dist/chunk-7THCPS52.js +84 -0
  37. package/dist/chunk-7THCPS52.js.map +1 -0
  38. package/dist/chunk-ASMHEEKY.js +10 -0
  39. package/dist/chunk-ASMHEEKY.js.map +1 -0
  40. package/dist/chunk-DBF5OKH3.js +111 -0
  41. package/dist/chunk-DBF5OKH3.js.map +1 -0
  42. package/dist/chunk-DW4TX7MU.js +54 -0
  43. package/dist/chunk-DW4TX7MU.js.map +1 -0
  44. package/dist/chunk-IPE7TF2P.js +54 -0
  45. package/dist/chunk-IPE7TF2P.js.map +1 -0
  46. package/dist/chunk-IQTJHXZJ.js +126 -0
  47. package/dist/chunk-IQTJHXZJ.js.map +1 -0
  48. package/dist/chunk-J47N77VG.js +2969 -0
  49. package/dist/chunk-J47N77VG.js.map +1 -0
  50. package/dist/chunk-JZXD6FWR.js +25 -0
  51. package/dist/chunk-JZXD6FWR.js.map +1 -0
  52. package/dist/{chunk-QVWOPIZJ.js → chunk-KDSNXS6N.js} +75 -149
  53. package/dist/chunk-KDSNXS6N.js.map +1 -0
  54. package/dist/chunk-KZ2IXVQT.js +219 -0
  55. package/dist/chunk-KZ2IXVQT.js.map +1 -0
  56. package/dist/chunk-LBPELU7L.js +3649 -0
  57. package/dist/chunk-LBPELU7L.js.map +1 -0
  58. package/dist/chunk-MX3NFLCE.js +940 -0
  59. package/dist/chunk-MX3NFLCE.js.map +1 -0
  60. package/dist/chunk-N44UXKIB.js +26 -0
  61. package/dist/chunk-N44UXKIB.js.map +1 -0
  62. package/dist/chunk-OW5HMYMI.js +19 -0
  63. package/dist/chunk-OW5HMYMI.js.map +1 -0
  64. package/dist/chunk-OYNLAZQU.js +838 -0
  65. package/dist/chunk-OYNLAZQU.js.map +1 -0
  66. package/dist/chunk-PDPJN2OP.js +17 -0
  67. package/dist/chunk-PDPJN2OP.js.map +1 -0
  68. package/dist/chunk-RCZZGGJS.js +226 -0
  69. package/dist/chunk-RCZZGGJS.js.map +1 -0
  70. package/dist/chunk-RJNI3BHT.js +1 -0
  71. package/dist/chunk-RPXWUCQQ.js +112 -0
  72. package/dist/chunk-RPXWUCQQ.js.map +1 -0
  73. package/dist/chunk-S5KZQJJI.js +107 -0
  74. package/dist/chunk-S5KZQJJI.js.map +1 -0
  75. package/dist/{chunk-T3VVHJTK.js → chunk-S6S2UP6U.js} +1074 -1459
  76. package/dist/chunk-S6S2UP6U.js.map +1 -0
  77. package/dist/{chunk-I5ZCOZZV.js → chunk-SXAGSEKZ.js} +1202 -9561
  78. package/dist/chunk-SXAGSEKZ.js.map +1 -0
  79. package/dist/chunk-T4GMCW6Z.js +46 -0
  80. package/dist/chunk-T4GMCW6Z.js.map +1 -0
  81. package/dist/chunk-WHQZBUNY.js +982 -0
  82. package/dist/chunk-WHQZBUNY.js.map +1 -0
  83. package/dist/chunk-WOXBLP7V.js +610 -0
  84. package/dist/chunk-WOXBLP7V.js.map +1 -0
  85. package/dist/cli/commands/inspiredesign.d.ts.map +1 -1
  86. package/dist/cli/commands/macro-resolve.d.ts +4 -1
  87. package/dist/cli/commands/macro-resolve.d.ts.map +1 -1
  88. package/dist/cli/commands/product-video.d.ts.map +1 -1
  89. package/dist/cli/commands/research.d.ts.map +1 -1
  90. package/dist/cli/commands/serve.d.ts.map +1 -1
  91. package/dist/cli/commands/shopping.d.ts.map +1 -1
  92. package/dist/cli/commands/workflow-output.d.ts +2 -0
  93. package/dist/cli/commands/workflow-output.d.ts.map +1 -0
  94. package/dist/cli/daemon-commands.d.ts.map +1 -1
  95. package/dist/cli/daemon.d.ts.map +1 -1
  96. package/dist/cli/index.js +204 -8123
  97. package/dist/cli/index.js.map +1 -1
  98. package/dist/cli/installers/postinstall-skill-sync.js +2 -1
  99. package/dist/cli/installers/postinstall-skill-sync.js.map +1 -1
  100. package/dist/cli/remote-relay.d.ts.map +1 -1
  101. package/dist/click-TENZA3Y6.js +81 -0
  102. package/dist/click-TENZA3Y6.js.map +1 -0
  103. package/dist/clone-component-STH5AR6M.js +82 -0
  104. package/dist/clone-component-STH5AR6M.js.map +1 -0
  105. package/dist/clone-page-BSTWAPAJ.js +69 -0
  106. package/dist/clone-page-BSTWAPAJ.js.map +1 -0
  107. package/dist/close-CEMMAAM7.js +63 -0
  108. package/dist/close-CEMMAAM7.js.map +1 -0
  109. package/dist/close-QCWUNRAI.js +63 -0
  110. package/dist/close-QCWUNRAI.js.map +1 -0
  111. package/dist/connect-J3RVSEZF.js +107 -0
  112. package/dist/connect-J3RVSEZF.js.map +1 -0
  113. package/dist/console-poll-HL7BVIVX.js +76 -0
  114. package/dist/console-poll-HL7BVIVX.js.map +1 -0
  115. package/dist/cookie-import-WMUCIIHN.js +177 -0
  116. package/dist/cookie-import-WMUCIIHN.js.map +1 -0
  117. package/dist/cookie-list-PB2N4RPH.js +117 -0
  118. package/dist/cookie-list-PB2N4RPH.js.map +1 -0
  119. package/dist/daemon-5KSVMGN4.js +194 -0
  120. package/dist/daemon-5KSVMGN4.js.map +1 -0
  121. package/dist/daemon-fingerprint.json +1 -1
  122. package/dist/debug-trace-snapshot-RK7KDXA5.js +136 -0
  123. package/dist/debug-trace-snapshot-RK7KDXA5.js.map +1 -0
  124. package/dist/dialog-P6P4U7XE.js +75 -0
  125. package/dist/dialog-P6P4U7XE.js.map +1 -0
  126. package/dist/disconnect-32F7IDIP.js +58 -0
  127. package/dist/disconnect-32F7IDIP.js.map +1 -0
  128. package/dist/enabled-A6C6ZM2O.js +71 -0
  129. package/dist/enabled-A6C6ZM2O.js.map +1 -0
  130. package/dist/extension-extractor-GKWSFHPN.js +11 -0
  131. package/dist/extension-extractor-GKWSFHPN.js.map +1 -0
  132. package/dist/global-D6WLWBXA.js +56 -0
  133. package/dist/global-D6WLWBXA.js.map +1 -0
  134. package/dist/goto-ULTSABDM.js +98 -0
  135. package/dist/goto-ULTSABDM.js.map +1 -0
  136. package/dist/help-EKKKEDL5.js +491 -0
  137. package/dist/help-EKKKEDL5.js.map +1 -0
  138. package/dist/hover-UF2ZUMTQ.js +71 -0
  139. package/dist/hover-UF2ZUMTQ.js.map +1 -0
  140. package/dist/html-B6TX7GK7.js +84 -0
  141. package/dist/html-B6TX7GK7.js.map +1 -0
  142. package/dist/index.js +68 -34
  143. package/dist/index.js.map +1 -1
  144. package/dist/inspector-6S5FKUZQ.js +62 -0
  145. package/dist/inspector-6S5FKUZQ.js.map +1 -0
  146. package/dist/inspector-audit-ARGEGOS7.js +84 -0
  147. package/dist/inspector-audit-ARGEGOS7.js.map +1 -0
  148. package/dist/inspector-plan-CSG5HZOC.js +69 -0
  149. package/dist/inspector-plan-CSG5HZOC.js.map +1 -0
  150. package/dist/inspiredesign-7VRMMZN4.js +234 -0
  151. package/dist/inspiredesign-7VRMMZN4.js.map +1 -0
  152. package/dist/install-autostart-output-5DOMKCQL.js +41 -0
  153. package/dist/install-autostart-output-5DOMKCQL.js.map +1 -0
  154. package/dist/install-autostart-reconciliation-NHKOFYTD.js +73 -0
  155. package/dist/install-autostart-reconciliation-NHKOFYTD.js.map +1 -0
  156. package/dist/launch-REYCIR3Z.js +225 -0
  157. package/dist/launch-REYCIR3Z.js.map +1 -0
  158. package/dist/list-NPRXRQY2.js +51 -0
  159. package/dist/list-NPRXRQY2.js.map +1 -0
  160. package/dist/list-STYD2ZWA.js +54 -0
  161. package/dist/list-STYD2ZWA.js.map +1 -0
  162. package/dist/local-HXJLUUNT.js +54 -0
  163. package/dist/local-HXJLUUNT.js.map +1 -0
  164. package/dist/macro-resolve-ZIJZ65QI.js +253 -0
  165. package/dist/macro-resolve-ZIJZ65QI.js.map +1 -0
  166. package/dist/macros/execute-runtime.d.ts +3 -1
  167. package/dist/macros/execute-runtime.d.ts.map +1 -1
  168. package/dist/macros/execute.d.ts +2 -0
  169. package/dist/macros/execute.d.ts.map +1 -1
  170. package/dist/native-UPLVQ2SG.js +22 -0
  171. package/dist/native-UPLVQ2SG.js.map +1 -0
  172. package/dist/network-poll-HLDOSC72.js +76 -0
  173. package/dist/network-poll-HLDOSC72.js.map +1 -0
  174. package/dist/new-HXLLN6UT.js +69 -0
  175. package/dist/new-HXLLN6UT.js.map +1 -0
  176. package/dist/onboarding-metadata-7E3KLYSZ.js +27 -0
  177. package/dist/onboarding-metadata-7E3KLYSZ.js.map +1 -0
  178. package/dist/open-KDR25LQZ.js +81 -0
  179. package/dist/open-KDR25LQZ.js.map +1 -0
  180. package/dist/opendevbrowser.js +68 -34
  181. package/dist/opendevbrowser.js.map +1 -1
  182. package/dist/perf-EM6SWFJ6.js +58 -0
  183. package/dist/perf-EM6SWFJ6.js.map +1 -0
  184. package/dist/pointer-down-ZYWRZNCH.js +55 -0
  185. package/dist/pointer-down-ZYWRZNCH.js.map +1 -0
  186. package/dist/pointer-drag-LVEAVJO4.js +54 -0
  187. package/dist/pointer-drag-LVEAVJO4.js.map +1 -0
  188. package/dist/pointer-move-7SRKUS66.js +52 -0
  189. package/dist/pointer-move-7SRKUS66.js.map +1 -0
  190. package/dist/pointer-up-KLDBSK37.js +55 -0
  191. package/dist/pointer-up-KLDBSK37.js.map +1 -0
  192. package/dist/press-UIIXFTD7.js +83 -0
  193. package/dist/press-UIIXFTD7.js.map +1 -0
  194. package/dist/product-video-PYOXJVAI.js +235 -0
  195. package/dist/product-video-PYOXJVAI.js.map +1 -0
  196. package/dist/providers/artifacts.d.ts +0 -2
  197. package/dist/providers/artifacts.d.ts.map +1 -1
  198. package/dist/providers/blocker.d.ts.map +1 -1
  199. package/dist/providers/bounded-map.d.ts +2 -0
  200. package/dist/providers/bounded-map.d.ts.map +1 -0
  201. package/dist/providers/community/index.d.ts.map +1 -1
  202. package/dist/providers/constraint.d.ts.map +1 -1
  203. package/dist/providers/index.d.ts +1 -0
  204. package/dist/providers/index.d.ts.map +1 -1
  205. package/dist/providers/renderer.d.ts.map +1 -1
  206. package/dist/providers/research-compiler.d.ts +1 -1
  207. package/dist/providers/research-compiler.d.ts.map +1 -1
  208. package/dist/providers/research-executor.d.ts.map +1 -1
  209. package/dist/providers/runtime-factory.d.ts.map +1 -1
  210. package/dist/providers/shared/traversal-url.d.ts +3 -0
  211. package/dist/providers/shared/traversal-url.d.ts.map +1 -1
  212. package/dist/providers/shopping/index.d.ts.map +1 -1
  213. package/dist/providers/social/search-quality.d.ts.map +1 -1
  214. package/dist/providers/workflow-handoff.d.ts +4 -0
  215. package/dist/providers/workflow-handoff.d.ts.map +1 -1
  216. package/dist/providers/workflows.d.ts.map +1 -1
  217. package/dist/{providers-QF2RFB4J.js → providers-4YY2BLXG.js} +19 -14
  218. package/dist/providers-4YY2BLXG.js.map +1 -0
  219. package/dist/public-surface/generated-manifest.d.ts +2 -2
  220. package/dist/public-surface/generated-manifest.d.ts.map +1 -1
  221. package/dist/public-surface/source.d.ts +2 -2
  222. package/dist/public-surface/source.d.ts.map +1 -1
  223. package/dist/relay/protocol.d.ts +3 -1
  224. package/dist/relay/protocol.d.ts.map +1 -1
  225. package/dist/relay/relay-server.d.ts +6 -0
  226. package/dist/relay/relay-server.d.ts.map +1 -1
  227. package/dist/research-CKXMJ2DK.js +295 -0
  228. package/dist/research-CKXMJ2DK.js.map +1 -0
  229. package/dist/review-7HWJPZOD.js +48 -0
  230. package/dist/review-7HWJPZOD.js.map +1 -0
  231. package/dist/review-desktop-2IBJHFB5.js +54 -0
  232. package/dist/review-desktop-2IBJHFB5.js.map +1 -0
  233. package/dist/rpc-3HGIEJUO.js +159 -0
  234. package/dist/rpc-3HGIEJUO.js.map +1 -0
  235. package/dist/run-ADRYI3MS.js +180 -0
  236. package/dist/run-ADRYI3MS.js.map +1 -0
  237. package/dist/screencast-start-DTLUHD5H.js +67 -0
  238. package/dist/screencast-start-DTLUHD5H.js.map +1 -0
  239. package/dist/screencast-stop-54C5LRSS.js +59 -0
  240. package/dist/screencast-stop-54C5LRSS.js.map +1 -0
  241. package/dist/screenshot-HOAKR7P7.js +68 -0
  242. package/dist/screenshot-HOAKR7P7.js.map +1 -0
  243. package/dist/scroll-IAOO5COY.js +84 -0
  244. package/dist/scroll-IAOO5COY.js.map +1 -0
  245. package/dist/scroll-into-view-RKWSLAPH.js +71 -0
  246. package/dist/scroll-into-view-RKWSLAPH.js.map +1 -0
  247. package/dist/select-IGD3T6X4.js +86 -0
  248. package/dist/select-IGD3T6X4.js.map +1 -0
  249. package/dist/serve-7X4INUCU.js +498 -0
  250. package/dist/serve-7X4INUCU.js.map +1 -0
  251. package/dist/shopping-FC6DRW76.js +273 -0
  252. package/dist/shopping-FC6DRW76.js.map +1 -0
  253. package/dist/skill-lifecycle-5UAZGKSN.js +89 -0
  254. package/dist/skill-lifecycle-5UAZGKSN.js.map +1 -0
  255. package/dist/skills-NSXDX6YM.js +26 -0
  256. package/dist/skills-NSXDX6YM.js.map +1 -0
  257. package/dist/snapshot-X22GG324.js +113 -0
  258. package/dist/snapshot-X22GG324.js.map +1 -0
  259. package/dist/status-SP55LMNW.js +132 -0
  260. package/dist/status-SP55LMNW.js.map +1 -0
  261. package/dist/status-VH2WXIDG.js +35 -0
  262. package/dist/status-VH2WXIDG.js.map +1 -0
  263. package/dist/status-capabilities-YBERLRRA.js +57 -0
  264. package/dist/status-capabilities-YBERLRRA.js.map +1 -0
  265. package/dist/text-6TB5WNLI.js +84 -0
  266. package/dist/text-6TB5WNLI.js.map +1 -0
  267. package/dist/tools/macro_resolve.d.ts.map +1 -1
  268. package/dist/type-3UI3TQH3.js +94 -0
  269. package/dist/type-3UI3TQH3.js.map +1 -0
  270. package/dist/uncheck-5L3D2D4U.js +71 -0
  271. package/dist/uncheck-5L3D2D4U.js.map +1 -0
  272. package/dist/uninstall-KYKGJAX7.js +91 -0
  273. package/dist/uninstall-KYKGJAX7.js.map +1 -0
  274. package/dist/update-SMXPYGXS.js +305 -0
  275. package/dist/update-SMXPYGXS.js.map +1 -0
  276. package/dist/update-skill-modes-BVX7IVMW.js +38 -0
  277. package/dist/update-skill-modes-BVX7IVMW.js.map +1 -0
  278. package/dist/upload-YG4J2EMI.js +56 -0
  279. package/dist/upload-YG4J2EMI.js.map +1 -0
  280. package/dist/use-V3LGFP3K.js +63 -0
  281. package/dist/use-V3LGFP3K.js.map +1 -0
  282. package/dist/value-3247D57X.js +71 -0
  283. package/dist/value-3247D57X.js.map +1 -0
  284. package/dist/visible-A7HEV36U.js +71 -0
  285. package/dist/visible-A7HEV36U.js.map +1 -0
  286. package/dist/wait-UZPP4Y4R.js +109 -0
  287. package/dist/wait-UZPP4Y4R.js.map +1 -0
  288. package/dist/windows-76TR3AIP.js +37 -0
  289. package/dist/windows-76TR3AIP.js.map +1 -0
  290. package/extension/dist/background.js +99 -22
  291. package/extension/dist/ops/ops-runtime.js +85 -7
  292. package/extension/dist/ops/ops-session-store.js +3 -0
  293. package/extension/dist/ops/target-session-coordinator.js +3 -0
  294. package/extension/dist/services/CDPRouter.js +9 -0
  295. package/extension/manifest.json +1 -1
  296. package/package.json +1 -1
  297. package/skills/opendevbrowser-best-practices/SKILL.md +8 -6
  298. package/skills/opendevbrowser-best-practices/artifacts/skill-runtime-surface-matrix.md +1 -1
  299. package/skills/opendevbrowser-best-practices/scripts/odb-workflow.sh +3 -2
  300. package/skills/opendevbrowser-best-practices/scripts/validator-fixture-cli.sh +39 -2
  301. package/skills/opendevbrowser-research/SKILL.md +64 -12
  302. package/skills/opendevbrowser-research/artifacts/research-workflows.md +56 -19
  303. package/skills/opendevbrowser-research/assets/templates/compact.md +31 -5
  304. package/skills/opendevbrowser-research/assets/templates/context.json +52 -1
  305. package/skills/opendevbrowser-research/assets/templates/report.md +57 -4
  306. package/skills/opendevbrowser-research/examples/sample-input.json +1 -1
  307. package/skills/opendevbrowser-research/examples/sample-output.md +27 -2
  308. package/skills/opendevbrowser-research/scripts/run-research.sh +2 -6
  309. package/skills/opendevbrowser-research/scripts/validate-skill-assets.sh +115 -1
  310. package/dist/chunk-I5ZCOZZV.js.map +0 -1
  311. package/dist/chunk-QVWOPIZJ.js.map +0 -1
  312. package/dist/chunk-T3VVHJTK.js.map +0 -1
  313. /package/dist/{providers-QF2RFB4J.js.map → chunk-RJNI3BHT.js.map} +0 -0
package/README.md CHANGED
@@ -108,7 +108,7 @@ export CLAUDECODE_HOME="$ISOLATED_ROOT/claudecode-home"
108
108
  export AMP_CLI_HOME="$ISOLATED_ROOT/ampcli-home"
109
109
  cd "$WORKDIR"
110
110
  npm init -y
111
- npm install <public-repo-root>/opendevbrowser-0.0.28.tgz
111
+ npm install <public-repo-root>/opendevbrowser-0.0.29.tgz
112
112
  npx --no-install opendevbrowser --help
113
113
  npx --no-install opendevbrowser help
114
114
  ```
@@ -257,7 +257,7 @@ Start every surface check from generated help when you need the current public l
257
257
 
258
258
  - `screencast / browser replay`: `screencast-start`, `screencast-stop`
259
259
  - `desktop observation`: `desktop-status`, `desktop-windows`, `desktop-active-window`, `desktop-capture-desktop`, `desktop-capture-window`, `desktop-accessibility-snapshot`
260
- - `computer use / browser-scoped computer use`: `--challenge-automation-mode off|browser|browser_with_helper` on `research run`, `shopping run`, `product-video run`, `inspiredesign run`, and `macro-resolve --execute`; start with `npx opendevbrowser research run --topic "account recovery flow" --source-selection auto --challenge-automation-mode browser --mode json --output-format json` when you need the first entry point, and use `review` plus `session-inspector` as the quickest proof surfaces while the optional helper stays browser-scoped rather than becoming a desktop agent
260
+ - `computer use / browser-scoped computer use`: `--challenge-automation-mode off|browser|browser_with_helper` on `research run`, `shopping run`, `product-video run`, `inspiredesign run`, and `macro-resolve --execute`; start with `npx opendevbrowser research run --topic "account recovery flow" --sources web,community --challenge-automation-mode browser --mode json --output-format json` when you need the first entry point, and use `review` plus `session-inspector` as the quickest proof surfaces while the optional helper stays browser-scoped rather than becoming a desktop agent
261
261
 
262
262
  ## Challenge Handling Boundary
263
263
 
@@ -0,0 +1,39 @@
1
+ import {
2
+ callDesktopCommand,
3
+ desktopCommandResult,
4
+ parseDesktopWindowReasonArgs,
5
+ requireDesktopReason
6
+ } from "./chunk-2CG4SW3E.js";
7
+ import "./chunk-RJNI3BHT.js";
8
+ import "./chunk-RPXWUCQQ.js";
9
+ import "./chunk-OW5HMYMI.js";
10
+ import "./chunk-OYNLAZQU.js";
11
+ import "./chunk-LBPELU7L.js";
12
+ import "./chunk-SXAGSEKZ.js";
13
+ import "./chunk-MX3NFLCE.js";
14
+ import "./chunk-ASMHEEKY.js";
15
+ import "./chunk-IPE7TF2P.js";
16
+ import "./chunk-STGGGVYT.js";
17
+ import "./chunk-3ILXPKSJ.js";
18
+ import "./chunk-TBUCZX4A.js";
19
+ import "./chunk-Y2KL55OG.js";
20
+ import "./chunk-5SWZDVOW.js";
21
+ import "./chunk-S6S2UP6U.js";
22
+ import "./chunk-S5KZQJJI.js";
23
+ import "./chunk-KZ2IXVQT.js";
24
+ import "./chunk-WHQZBUNY.js";
25
+ import "./chunk-FUSXMW3G.js";
26
+
27
+ // src/cli/commands/desktop/accessibility-snapshot.ts
28
+ async function runDesktopAccessibilitySnapshot(args) {
29
+ const { windowId, reason, timeoutMs } = parseDesktopWindowReasonArgs(args.rawArgs);
30
+ const result = await callDesktopCommand("desktop.accessibility.snapshot", {
31
+ reason: requireDesktopReason(reason),
32
+ ...typeof windowId === "string" ? { windowId } : {}
33
+ }, timeoutMs);
34
+ return desktopCommandResult("Desktop accessibility snapshot captured.", result);
35
+ }
36
+ export {
37
+ runDesktopAccessibilitySnapshot
38
+ };
39
+ //# sourceMappingURL=accessibility-snapshot-PA6NWNS7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/desktop/accessibility-snapshot.ts"],"sourcesContent":["import type { ParsedArgs } from \"../../args\";\nimport {\n callDesktopCommand,\n desktopCommandResult,\n parseDesktopWindowReasonArgs,\n requireDesktopReason\n} from \"./shared\";\n\nexport async function runDesktopAccessibilitySnapshot(args: ParsedArgs) {\n const { windowId, reason, timeoutMs } = parseDesktopWindowReasonArgs(args.rawArgs);\n const result = await callDesktopCommand(\"desktop.accessibility.snapshot\", {\n reason: requireDesktopReason(reason),\n ...(typeof windowId === \"string\" ? { windowId } : {})\n }, timeoutMs);\n return desktopCommandResult(\"Desktop accessibility snapshot captured.\", result);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,eAAsB,gCAAgC,MAAkB;AACtE,QAAM,EAAE,UAAU,QAAQ,UAAU,IAAI,6BAA6B,KAAK,OAAO;AACjF,QAAM,SAAS,MAAM,mBAAmB,kCAAkC;AAAA,IACxE,QAAQ,qBAAqB,MAAM;AAAA,IACnC,GAAI,OAAO,aAAa,WAAW,EAAE,SAAS,IAAI,CAAC;AAAA,EACrD,GAAG,SAAS;AACZ,SAAO,qBAAqB,4CAA4C,MAAM;AAChF;","names":[]}
@@ -0,0 +1,37 @@
1
+ import {
2
+ callDesktopCommand,
3
+ desktopCommandResult,
4
+ parseDesktopReasonArgs
5
+ } from "./chunk-2CG4SW3E.js";
6
+ import "./chunk-RJNI3BHT.js";
7
+ import "./chunk-RPXWUCQQ.js";
8
+ import "./chunk-OW5HMYMI.js";
9
+ import "./chunk-OYNLAZQU.js";
10
+ import "./chunk-LBPELU7L.js";
11
+ import "./chunk-SXAGSEKZ.js";
12
+ import "./chunk-MX3NFLCE.js";
13
+ import "./chunk-ASMHEEKY.js";
14
+ import "./chunk-IPE7TF2P.js";
15
+ import "./chunk-STGGGVYT.js";
16
+ import "./chunk-3ILXPKSJ.js";
17
+ import "./chunk-TBUCZX4A.js";
18
+ import "./chunk-Y2KL55OG.js";
19
+ import "./chunk-5SWZDVOW.js";
20
+ import "./chunk-S6S2UP6U.js";
21
+ import "./chunk-S5KZQJJI.js";
22
+ import "./chunk-KZ2IXVQT.js";
23
+ import "./chunk-WHQZBUNY.js";
24
+ import "./chunk-FUSXMW3G.js";
25
+
26
+ // src/cli/commands/desktop/active-window.ts
27
+ async function runDesktopActiveWindow(args) {
28
+ const { reason, timeoutMs } = parseDesktopReasonArgs(args.rawArgs);
29
+ const result = await callDesktopCommand("desktop.window.active", {
30
+ ...typeof reason === "string" ? { reason } : {}
31
+ }, timeoutMs);
32
+ return desktopCommandResult("Active desktop window captured.", result);
33
+ }
34
+ export {
35
+ runDesktopActiveWindow
36
+ };
37
+ //# sourceMappingURL=active-window-YNYTIPZN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/desktop/active-window.ts"],"sourcesContent":["import type { ParsedArgs } from \"../../args\";\nimport { callDesktopCommand, desktopCommandResult, parseDesktopReasonArgs } from \"./shared\";\n\nexport async function runDesktopActiveWindow(args: ParsedArgs) {\n const { reason, timeoutMs } = parseDesktopReasonArgs(args.rawArgs);\n const result = await callDesktopCommand(\"desktop.window.active\", {\n ...(typeof reason === \"string\" ? { reason } : {})\n }, timeoutMs);\n return desktopCommandResult(\"Active desktop window captured.\", result);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,eAAsB,uBAAuB,MAAkB;AAC7D,QAAM,EAAE,QAAQ,UAAU,IAAI,uBAAuB,KAAK,OAAO;AACjE,QAAM,SAAS,MAAM,mBAAmB,yBAAyB;AAAA,IAC/D,GAAI,OAAO,WAAW,WAAW,EAAE,OAAO,IAAI,CAAC;AAAA,EACjD,GAAG,SAAS;AACZ,SAAO,qBAAqB,mCAAmC,MAAM;AACvE;","names":[]}
@@ -0,0 +1,205 @@
1
+ import {
2
+ parseNumberFlag
3
+ } from "./chunk-RPXWUCQQ.js";
4
+ import {
5
+ buildAnnotateResult
6
+ } from "./chunk-IQTJHXZJ.js";
7
+ import {
8
+ DaemonClient
9
+ } from "./chunk-OYNLAZQU.js";
10
+ import "./chunk-LBPELU7L.js";
11
+ import "./chunk-SXAGSEKZ.js";
12
+ import "./chunk-MX3NFLCE.js";
13
+ import "./chunk-ASMHEEKY.js";
14
+ import {
15
+ createUsageError
16
+ } from "./chunk-IPE7TF2P.js";
17
+ import "./chunk-STGGGVYT.js";
18
+ import "./chunk-3ILXPKSJ.js";
19
+ import "./chunk-TBUCZX4A.js";
20
+ import "./chunk-Y2KL55OG.js";
21
+ import "./chunk-5SWZDVOW.js";
22
+ import "./chunk-S6S2UP6U.js";
23
+ import "./chunk-S5KZQJJI.js";
24
+ import "./chunk-KZ2IXVQT.js";
25
+ import "./chunk-WHQZBUNY.js";
26
+ import "./chunk-FUSXMW3G.js";
27
+
28
+ // src/cli/commands/annotate.ts
29
+ var requireValue = (value, flag) => {
30
+ if (!value) throw createUsageError(`Missing value for ${flag}`);
31
+ return value;
32
+ };
33
+ var requireScreenshotMode = (value) => {
34
+ if (value === "visible" || value === "full" || value === "none") {
35
+ return value;
36
+ }
37
+ throw createUsageError(`Invalid --screenshot-mode: ${value}`);
38
+ };
39
+ var requireTransport = (value) => {
40
+ if (value === "auto" || value === "direct" || value === "relay") {
41
+ return value;
42
+ }
43
+ throw createUsageError(`Invalid --transport: ${value}`);
44
+ };
45
+ var parseAnnotateArgs = (rawArgs) => {
46
+ const parsed = {};
47
+ for (let i = 0; i < rawArgs.length; i += 1) {
48
+ const arg = rawArgs[i];
49
+ if (arg === "--session-id") {
50
+ const value = requireValue(rawArgs[i + 1], "--session-id");
51
+ parsed.sessionId = value;
52
+ i += 1;
53
+ continue;
54
+ }
55
+ if (arg?.startsWith("--session-id=")) {
56
+ const value = requireValue(arg.split("=", 2)[1], "--session-id");
57
+ parsed.sessionId = value;
58
+ continue;
59
+ }
60
+ if (arg === "--stored") {
61
+ parsed.stored = true;
62
+ continue;
63
+ }
64
+ if (arg === "--include-screenshots") {
65
+ parsed.includeScreenshots = true;
66
+ continue;
67
+ }
68
+ if (arg === "--url") {
69
+ const value = requireValue(rawArgs[i + 1], "--url");
70
+ parsed.url = value;
71
+ i += 1;
72
+ continue;
73
+ }
74
+ if (arg?.startsWith("--url=")) {
75
+ const value = requireValue(arg.split("=", 2)[1], "--url");
76
+ parsed.url = value;
77
+ continue;
78
+ }
79
+ if (arg === "--screenshot-mode") {
80
+ const value = requireValue(rawArgs[i + 1], "--screenshot-mode");
81
+ parsed.screenshotMode = requireScreenshotMode(value);
82
+ i += 1;
83
+ continue;
84
+ }
85
+ if (arg?.startsWith("--screenshot-mode=")) {
86
+ const value = requireValue(arg.split("=", 2)[1], "--screenshot-mode");
87
+ parsed.screenshotMode = requireScreenshotMode(value);
88
+ continue;
89
+ }
90
+ if (arg === "--transport") {
91
+ const value = requireValue(rawArgs[i + 1], "--transport");
92
+ parsed.transport = requireTransport(value);
93
+ i += 1;
94
+ continue;
95
+ }
96
+ if (arg?.startsWith("--transport=")) {
97
+ const value = requireValue(arg.split("=", 2)[1], "--transport");
98
+ parsed.transport = requireTransport(value);
99
+ continue;
100
+ }
101
+ if (arg === "--target-id") {
102
+ const value = requireValue(rawArgs[i + 1], "--target-id");
103
+ parsed.targetId = value;
104
+ i += 1;
105
+ continue;
106
+ }
107
+ if (arg?.startsWith("--target-id=")) {
108
+ const value = requireValue(arg.split("=", 2)[1], "--target-id");
109
+ parsed.targetId = value;
110
+ continue;
111
+ }
112
+ if (arg === "--tab-id") {
113
+ const value = requireValue(rawArgs[i + 1], "--tab-id");
114
+ parsed.tabId = parseNumberFlag(value, "--tab-id", { min: 1 });
115
+ i += 1;
116
+ continue;
117
+ }
118
+ if (arg?.startsWith("--tab-id=")) {
119
+ const value = requireValue(arg.split("=", 2)[1], "--tab-id");
120
+ parsed.tabId = parseNumberFlag(value, "--tab-id", { min: 1 });
121
+ continue;
122
+ }
123
+ if (arg === "--debug") {
124
+ parsed.debug = true;
125
+ continue;
126
+ }
127
+ if (arg === "--context") {
128
+ const value = requireValue(rawArgs[i + 1], "--context");
129
+ parsed.context = value;
130
+ i += 1;
131
+ continue;
132
+ }
133
+ if (arg?.startsWith("--context=")) {
134
+ const value = requireValue(arg.split("=", 2)[1], "--context");
135
+ parsed.context = value;
136
+ continue;
137
+ }
138
+ if (arg === "--timeout-ms") {
139
+ const value = requireValue(rawArgs[i + 1], "--timeout-ms");
140
+ parsed.timeoutMs = parseNumberFlag(value, "--timeout-ms", { min: 1 });
141
+ i += 1;
142
+ continue;
143
+ }
144
+ if (arg?.startsWith("--timeout-ms=")) {
145
+ const value = requireValue(arg.split("=", 2)[1], "--timeout-ms");
146
+ parsed.timeoutMs = parseNumberFlag(value, "--timeout-ms", { min: 1 });
147
+ continue;
148
+ }
149
+ }
150
+ return parsed;
151
+ };
152
+ async function runAnnotate(args) {
153
+ const {
154
+ sessionId,
155
+ stored,
156
+ includeScreenshots,
157
+ url,
158
+ screenshotMode,
159
+ debug,
160
+ context,
161
+ timeoutMs,
162
+ transport,
163
+ targetId,
164
+ tabId
165
+ } = parseAnnotateArgs(args.rawArgs);
166
+ if (!sessionId) throw createUsageError("Missing --session-id");
167
+ const client = new DaemonClient({ autoRenew: true });
168
+ const callTimeoutMs = typeof timeoutMs === "number" ? timeoutMs + 1e4 : void 0;
169
+ try {
170
+ const response = await client.call("annotate", {
171
+ sessionId,
172
+ stored,
173
+ includeScreenshots,
174
+ transport,
175
+ targetId,
176
+ tabId,
177
+ url,
178
+ screenshotMode,
179
+ debug,
180
+ context,
181
+ timeoutMs
182
+ }, { timeoutMs: callTimeoutMs });
183
+ if (response.status === "cancelled") {
184
+ return {
185
+ success: true,
186
+ message: response.error?.message ?? "Annotation cancelled.",
187
+ data: { cancelled: true }
188
+ };
189
+ }
190
+ if (response.status !== "ok" || !response.payload) {
191
+ const message2 = response.error?.message ?? "Annotation failed.";
192
+ throw new Error(message2);
193
+ }
194
+ const { message, details, screenshots } = await buildAnnotateResult(response.payload);
195
+ return { success: true, message, data: { details, screenshots } };
196
+ } finally {
197
+ await client.releaseBinding().catch(() => {
198
+ });
199
+ }
200
+ }
201
+ export {
202
+ parseAnnotateArgs,
203
+ runAnnotate
204
+ };
205
+ //# sourceMappingURL=annotate-STYHXZYJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/annotate.ts"],"sourcesContent":["import type { ParsedArgs } from \"../args\";\nimport { createUsageError } from \"../errors\";\nimport { parseNumberFlag } from \"../utils/parse\";\nimport { DaemonClient } from \"../daemon-client\";\nimport { buildAnnotateResult } from \"../../annotate/output\";\nimport type { AnnotationResponse, AnnotationTransport } from \"../../relay/protocol\";\n\ntype AnnotateArgs = {\n sessionId?: string;\n stored?: boolean;\n includeScreenshots?: boolean;\n url?: string;\n screenshotMode?: \"visible\" | \"full\" | \"none\";\n debug?: boolean;\n context?: string;\n timeoutMs?: number;\n transport?: AnnotationTransport;\n targetId?: string;\n tabId?: number;\n};\n\nconst requireValue = (value: string | undefined, flag: string): string => {\n if (!value) throw createUsageError(`Missing value for ${flag}`);\n return value;\n};\n\nconst requireScreenshotMode = (value: string): \"visible\" | \"full\" | \"none\" => {\n if (value === \"visible\" || value === \"full\" || value === \"none\") {\n return value;\n }\n throw createUsageError(`Invalid --screenshot-mode: ${value}`);\n};\n\nconst requireTransport = (value: string): AnnotationTransport => {\n if (value === \"auto\" || value === \"direct\" || value === \"relay\") {\n return value;\n }\n throw createUsageError(`Invalid --transport: ${value}`);\n};\n\nexport const parseAnnotateArgs = (rawArgs: string[]): AnnotateArgs => {\n const parsed: AnnotateArgs = {};\n for (let i = 0; i < rawArgs.length; i += 1) {\n const arg = rawArgs[i];\n if (arg === \"--session-id\") {\n const value = requireValue(rawArgs[i + 1], \"--session-id\");\n parsed.sessionId = value;\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--session-id=\")) {\n const value = requireValue(arg.split(\"=\", 2)[1], \"--session-id\");\n parsed.sessionId = value;\n continue;\n }\n if (arg === \"--stored\") {\n parsed.stored = true;\n continue;\n }\n if (arg === \"--include-screenshots\") {\n parsed.includeScreenshots = true;\n continue;\n }\n if (arg === \"--url\") {\n const value = requireValue(rawArgs[i + 1], \"--url\");\n parsed.url = value;\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--url=\")) {\n const value = requireValue(arg.split(\"=\", 2)[1], \"--url\");\n parsed.url = value;\n continue;\n }\n if (arg === \"--screenshot-mode\") {\n const value = requireValue(rawArgs[i + 1], \"--screenshot-mode\");\n parsed.screenshotMode = requireScreenshotMode(value);\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--screenshot-mode=\")) {\n const value = requireValue(arg.split(\"=\", 2)[1], \"--screenshot-mode\");\n parsed.screenshotMode = requireScreenshotMode(value);\n continue;\n }\n if (arg === \"--transport\") {\n const value = requireValue(rawArgs[i + 1], \"--transport\");\n parsed.transport = requireTransport(value);\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--transport=\")) {\n const value = requireValue(arg.split(\"=\", 2)[1], \"--transport\");\n parsed.transport = requireTransport(value);\n continue;\n }\n if (arg === \"--target-id\") {\n const value = requireValue(rawArgs[i + 1], \"--target-id\");\n parsed.targetId = value;\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--target-id=\")) {\n const value = requireValue(arg.split(\"=\", 2)[1], \"--target-id\");\n parsed.targetId = value;\n continue;\n }\n if (arg === \"--tab-id\") {\n const value = requireValue(rawArgs[i + 1], \"--tab-id\");\n parsed.tabId = parseNumberFlag(value, \"--tab-id\", { min: 1 });\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--tab-id=\")) {\n const value = requireValue(arg.split(\"=\", 2)[1], \"--tab-id\");\n parsed.tabId = parseNumberFlag(value, \"--tab-id\", { min: 1 });\n continue;\n }\n if (arg === \"--debug\") {\n parsed.debug = true;\n continue;\n }\n if (arg === \"--context\") {\n const value = requireValue(rawArgs[i + 1], \"--context\");\n parsed.context = value;\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--context=\")) {\n const value = requireValue(arg.split(\"=\", 2)[1], \"--context\");\n parsed.context = value;\n continue;\n }\n if (arg === \"--timeout-ms\") {\n const value = requireValue(rawArgs[i + 1], \"--timeout-ms\");\n parsed.timeoutMs = parseNumberFlag(value, \"--timeout-ms\", { min: 1 });\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--timeout-ms=\")) {\n const value = requireValue(arg.split(\"=\", 2)[1], \"--timeout-ms\");\n parsed.timeoutMs = parseNumberFlag(value, \"--timeout-ms\", { min: 1 });\n continue;\n }\n }\n return parsed;\n};\n\nexport async function runAnnotate(args: ParsedArgs) {\n const {\n sessionId,\n stored,\n includeScreenshots,\n url,\n screenshotMode,\n debug,\n context,\n timeoutMs,\n transport,\n targetId,\n tabId\n } = parseAnnotateArgs(args.rawArgs);\n if (!sessionId) throw createUsageError(\"Missing --session-id\");\n\n const client = new DaemonClient({ autoRenew: true });\n const callTimeoutMs = typeof timeoutMs === \"number\" ? timeoutMs + 10_000 : undefined;\n\n try {\n const response = await client.call<AnnotationResponse>(\"annotate\", {\n sessionId,\n stored,\n includeScreenshots,\n transport,\n targetId,\n tabId,\n url,\n screenshotMode,\n debug,\n context,\n timeoutMs\n }, { timeoutMs: callTimeoutMs });\n\n if (response.status === \"cancelled\") {\n return {\n success: true,\n message: response.error?.message ?? \"Annotation cancelled.\",\n data: { cancelled: true }\n };\n }\n\n if (response.status !== \"ok\" || !response.payload) {\n const message = response.error?.message ?? \"Annotation failed.\";\n throw new Error(message);\n }\n\n const { message, details, screenshots } = await buildAnnotateResult(response.payload);\n return { success: true, message, data: { details, screenshots } };\n } finally {\n await client.releaseBinding().catch(() => {});\n }\n}\n"],"mappings":"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","names":["message"]}
@@ -0,0 +1,120 @@
1
+ import {
2
+ createUsageError
3
+ } from "./chunk-IPE7TF2P.js";
4
+ import {
5
+ cleanupExpiredArtifacts
6
+ } from "./chunk-S5KZQJJI.js";
7
+
8
+ // src/cli/commands/artifacts.ts
9
+ import { join, resolve } from "path";
10
+ import { tmpdir } from "os";
11
+ var PASSTHROUGH_BOOLEAN_FLAGS = /* @__PURE__ */ new Set([
12
+ "--with-config",
13
+ "--no-prompt",
14
+ "--no-interactive",
15
+ "--quiet",
16
+ "--skills-global",
17
+ "--skills-local",
18
+ "--no-skills",
19
+ "--full"
20
+ ]);
21
+ var PASSTHROUGH_VALUE_FLAGS = /* @__PURE__ */ new Set([
22
+ "--output-format",
23
+ "--transport"
24
+ ]);
25
+ var usageError = () => {
26
+ throw createUsageError("Usage: opendevbrowser artifacts cleanup --expired-only [--output-dir <path>]");
27
+ };
28
+ var requireValue = (rawArgs, index, flag) => {
29
+ const value = rawArgs[index + 1];
30
+ if (!value) {
31
+ throw createUsageError(`Missing value for ${flag}`);
32
+ }
33
+ return value;
34
+ };
35
+ var consumePassthroughFlag = (rawArgs, index) => {
36
+ const arg = rawArgs[index];
37
+ if (!arg) {
38
+ return null;
39
+ }
40
+ if (PASSTHROUGH_BOOLEAN_FLAGS.has(arg)) {
41
+ return index;
42
+ }
43
+ if (PASSTHROUGH_VALUE_FLAGS.has(arg)) {
44
+ requireValue(rawArgs, index, arg);
45
+ return index + 1;
46
+ }
47
+ const equalsFlag = arg.split("=", 2)[0];
48
+ if (equalsFlag && PASSTHROUGH_VALUE_FLAGS.has(equalsFlag)) {
49
+ return index;
50
+ }
51
+ return null;
52
+ };
53
+ var parseArtifactsArgs = (rawArgs) => {
54
+ const [candidate, ...rest] = rawArgs;
55
+ if (candidate !== "cleanup") {
56
+ usageError();
57
+ }
58
+ const subcommand = "cleanup";
59
+ let expiredOnly = false;
60
+ let outputDir;
61
+ for (let index = 0; index < rest.length; index += 1) {
62
+ const arg = rest[index];
63
+ if (arg === "--expired-only") {
64
+ expiredOnly = true;
65
+ continue;
66
+ }
67
+ if (arg === "--output-dir") {
68
+ outputDir = requireValue(rest, index, "--output-dir");
69
+ index += 1;
70
+ continue;
71
+ }
72
+ if (arg?.startsWith("--output-dir=")) {
73
+ const value = arg.split("=", 2)[1];
74
+ if (!value) {
75
+ throw createUsageError("Missing value for --output-dir");
76
+ }
77
+ outputDir = value;
78
+ continue;
79
+ }
80
+ const passthroughIndex = consumePassthroughFlag(rest, index);
81
+ if (passthroughIndex !== null) {
82
+ index = passthroughIndex;
83
+ continue;
84
+ }
85
+ throw createUsageError(`Unknown artifacts flag: ${arg}`);
86
+ }
87
+ if (!expiredOnly) {
88
+ usageError();
89
+ }
90
+ return {
91
+ subcommand,
92
+ expiredOnly,
93
+ outputDir
94
+ };
95
+ };
96
+ async function runArtifactsCommand(args) {
97
+ const parsed = parseArtifactsArgs(args.rawArgs);
98
+ const rootDir = parsed.outputDir ? resolve(parsed.outputDir) : join(tmpdir(), "opendevbrowser");
99
+ const cleaned = await cleanupExpiredArtifacts(rootDir);
100
+ return {
101
+ success: true,
102
+ message: `Artifact cleanup completed. Removed ${cleaned.removed.length} expired run(s).`,
103
+ data: {
104
+ rootDir,
105
+ expiredOnly: parsed.expiredOnly,
106
+ removed: cleaned.removed,
107
+ skipped: cleaned.skipped,
108
+ removedCount: cleaned.removed.length,
109
+ skippedCount: cleaned.skipped.length
110
+ }
111
+ };
112
+ }
113
+ var __test__ = {
114
+ parseArtifactsArgs
115
+ };
116
+ export {
117
+ __test__,
118
+ runArtifactsCommand
119
+ };
120
+ //# sourceMappingURL=artifacts-KJ6RNDO2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/artifacts.ts"],"sourcesContent":["import { join, resolve } from \"path\";\nimport { tmpdir } from \"os\";\nimport type { ParsedArgs } from \"../args\";\nimport { createUsageError } from \"../errors\";\nimport { cleanupExpiredArtifacts } from \"../../providers/artifacts\";\n\ntype ArtifactsSubcommand = \"cleanup\";\n\ninterface CleanupArgs {\n subcommand: ArtifactsSubcommand;\n expiredOnly: boolean;\n outputDir?: string;\n}\n\nconst PASSTHROUGH_BOOLEAN_FLAGS = new Set([\n \"--with-config\",\n \"--no-prompt\",\n \"--no-interactive\",\n \"--quiet\",\n \"--skills-global\",\n \"--skills-local\",\n \"--no-skills\",\n \"--full\"\n]);\n\nconst PASSTHROUGH_VALUE_FLAGS = new Set([\n \"--output-format\",\n \"--transport\"\n]);\n\nconst usageError = (): never => {\n throw createUsageError(\"Usage: opendevbrowser artifacts cleanup --expired-only [--output-dir <path>]\");\n};\n\nconst requireValue = (rawArgs: string[], index: number, flag: string): string => {\n const value = rawArgs[index + 1];\n if (!value) {\n throw createUsageError(`Missing value for ${flag}`);\n }\n return value;\n};\n\nconst consumePassthroughFlag = (rawArgs: string[], index: number): number | null => {\n const arg = rawArgs[index];\n if (!arg) {\n return null;\n }\n\n if (PASSTHROUGH_BOOLEAN_FLAGS.has(arg)) {\n return index;\n }\n\n if (PASSTHROUGH_VALUE_FLAGS.has(arg)) {\n requireValue(rawArgs, index, arg);\n return index + 1;\n }\n\n const equalsFlag = arg.split(\"=\", 2)[0];\n if (equalsFlag && PASSTHROUGH_VALUE_FLAGS.has(equalsFlag)) {\n return index;\n }\n\n return null;\n};\n\nconst parseArtifactsArgs = (rawArgs: string[]): CleanupArgs => {\n const [candidate, ...rest] = rawArgs;\n if (candidate !== \"cleanup\") {\n usageError();\n }\n const subcommand: ArtifactsSubcommand = \"cleanup\";\n\n let expiredOnly = false;\n let outputDir: string | undefined;\n\n for (let index = 0; index < rest.length; index += 1) {\n const arg = rest[index];\n if (arg === \"--expired-only\") {\n expiredOnly = true;\n continue;\n }\n\n if (arg === \"--output-dir\") {\n outputDir = requireValue(rest, index, \"--output-dir\");\n index += 1;\n continue;\n }\n\n if (arg?.startsWith(\"--output-dir=\")) {\n const value = arg.split(\"=\", 2)[1];\n if (!value) {\n throw createUsageError(\"Missing value for --output-dir\");\n }\n outputDir = value;\n continue;\n }\n\n const passthroughIndex = consumePassthroughFlag(rest, index);\n if (passthroughIndex !== null) {\n index = passthroughIndex;\n continue;\n }\n\n throw createUsageError(`Unknown artifacts flag: ${arg}`);\n }\n\n if (!expiredOnly) {\n usageError();\n }\n\n return {\n subcommand,\n expiredOnly,\n outputDir\n };\n};\n\nexport async function runArtifactsCommand(args: ParsedArgs) {\n const parsed = parseArtifactsArgs(args.rawArgs);\n const rootDir = parsed.outputDir ? resolve(parsed.outputDir) : join(tmpdir(), \"opendevbrowser\");\n const cleaned = await cleanupExpiredArtifacts(rootDir);\n\n return {\n success: true,\n message: `Artifact cleanup completed. Removed ${cleaned.removed.length} expired run(s).`,\n data: {\n rootDir,\n expiredOnly: parsed.expiredOnly,\n removed: cleaned.removed,\n skipped: cleaned.skipped,\n removedCount: cleaned.removed.length,\n skippedCount: cleaned.skipped.length\n }\n };\n}\n\nexport const __test__ = {\n parseArtifactsArgs\n};\n"],"mappings":";;;;;;;;AAAA,SAAS,MAAM,eAAe;AAC9B,SAAS,cAAc;AAavB,IAAM,4BAA4B,oBAAI,IAAI;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAED,IAAM,0BAA0B,oBAAI,IAAI;AAAA,EACtC;AAAA,EACA;AACF,CAAC;AAED,IAAM,aAAa,MAAa;AAC9B,QAAM,iBAAiB,8EAA8E;AACvG;AAEA,IAAM,eAAe,CAAC,SAAmB,OAAe,SAAyB;AAC/E,QAAM,QAAQ,QAAQ,QAAQ,CAAC;AAC/B,MAAI,CAAC,OAAO;AACV,UAAM,iBAAiB,qBAAqB,IAAI,EAAE;AAAA,EACpD;AACA,SAAO;AACT;AAEA,IAAM,yBAAyB,CAAC,SAAmB,UAAiC;AAClF,QAAM,MAAM,QAAQ,KAAK;AACzB,MAAI,CAAC,KAAK;AACR,WAAO;AAAA,EACT;AAEA,MAAI,0BAA0B,IAAI,GAAG,GAAG;AACtC,WAAO;AAAA,EACT;AAEA,MAAI,wBAAwB,IAAI,GAAG,GAAG;AACpC,iBAAa,SAAS,OAAO,GAAG;AAChC,WAAO,QAAQ;AAAA,EACjB;AAEA,QAAM,aAAa,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;AACtC,MAAI,cAAc,wBAAwB,IAAI,UAAU,GAAG;AACzD,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEA,IAAM,qBAAqB,CAAC,YAAmC;AAC7D,QAAM,CAAC,WAAW,GAAG,IAAI,IAAI;AAC7B,MAAI,cAAc,WAAW;AAC3B,eAAW;AAAA,EACb;AACA,QAAM,aAAkC;AAExC,MAAI,cAAc;AAClB,MAAI;AAEJ,WAAS,QAAQ,GAAG,QAAQ,KAAK,QAAQ,SAAS,GAAG;AACnD,UAAM,MAAM,KAAK,KAAK;AACtB,QAAI,QAAQ,kBAAkB;AAC5B,oBAAc;AACd;AAAA,IACF;AAEA,QAAI,QAAQ,gBAAgB;AAC1B,kBAAY,aAAa,MAAM,OAAO,cAAc;AACpD,eAAS;AACT;AAAA,IACF;AAEA,QAAI,KAAK,WAAW,eAAe,GAAG;AACpC,YAAM,QAAQ,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;AACjC,UAAI,CAAC,OAAO;AACV,cAAM,iBAAiB,gCAAgC;AAAA,MACzD;AACA,kBAAY;AACZ;AAAA,IACF;AAEA,UAAM,mBAAmB,uBAAuB,MAAM,KAAK;AAC3D,QAAI,qBAAqB,MAAM;AAC7B,cAAQ;AACR;AAAA,IACF;AAEA,UAAM,iBAAiB,2BAA2B,GAAG,EAAE;AAAA,EACzD;AAEA,MAAI,CAAC,aAAa;AAChB,eAAW;AAAA,EACb;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEA,eAAsB,oBAAoB,MAAkB;AAC1D,QAAM,SAAS,mBAAmB,KAAK,OAAO;AAC9C,QAAM,UAAU,OAAO,YAAY,QAAQ,OAAO,SAAS,IAAI,KAAK,OAAO,GAAG,gBAAgB;AAC9F,QAAM,UAAU,MAAM,wBAAwB,OAAO;AAErD,SAAO;AAAA,IACL,SAAS;AAAA,IACT,SAAS,uCAAuC,QAAQ,QAAQ,MAAM;AAAA,IACtE,MAAM;AAAA,MACJ;AAAA,MACA,aAAa,OAAO;AAAA,MACpB,SAAS,QAAQ;AAAA,MACjB,SAAS,QAAQ;AAAA,MACjB,cAAc,QAAQ,QAAQ;AAAA,MAC9B,cAAc,QAAQ,QAAQ;AAAA,IAChC;AAAA,EACF;AACF;AAEO,IAAM,WAAW;AAAA,EACtB;AACF;","names":[]}
@@ -0,0 +1,84 @@
1
+ import "./chunk-RJNI3BHT.js";
2
+ import {
3
+ parseOptionalStringFlag
4
+ } from "./chunk-RPXWUCQQ.js";
5
+ import {
6
+ callDaemon
7
+ } from "./chunk-OYNLAZQU.js";
8
+ import "./chunk-LBPELU7L.js";
9
+ import "./chunk-SXAGSEKZ.js";
10
+ import "./chunk-MX3NFLCE.js";
11
+ import "./chunk-ASMHEEKY.js";
12
+ import {
13
+ createUsageError
14
+ } from "./chunk-IPE7TF2P.js";
15
+ import "./chunk-STGGGVYT.js";
16
+ import "./chunk-3ILXPKSJ.js";
17
+ import "./chunk-TBUCZX4A.js";
18
+ import "./chunk-Y2KL55OG.js";
19
+ import "./chunk-5SWZDVOW.js";
20
+ import "./chunk-S6S2UP6U.js";
21
+ import "./chunk-S5KZQJJI.js";
22
+ import "./chunk-KZ2IXVQT.js";
23
+ import "./chunk-WHQZBUNY.js";
24
+ import "./chunk-FUSXMW3G.js";
25
+
26
+ // src/cli/commands/dom/attr.ts
27
+ function parseDomAttrArgs(rawArgs) {
28
+ const parsed = {};
29
+ for (let i = 0; i < rawArgs.length; i += 1) {
30
+ const arg = rawArgs[i];
31
+ if (arg === "--session-id") {
32
+ const value = rawArgs[i + 1];
33
+ if (!value) throw createUsageError("Missing value for --session-id");
34
+ parsed.sessionId = value;
35
+ i += 1;
36
+ continue;
37
+ }
38
+ if (arg?.startsWith("--session-id=")) {
39
+ parsed.sessionId = arg.split("=", 2)[1];
40
+ continue;
41
+ }
42
+ if (arg === "--ref") {
43
+ const value = rawArgs[i + 1];
44
+ if (!value) throw createUsageError("Missing value for --ref");
45
+ parsed.ref = value;
46
+ i += 1;
47
+ continue;
48
+ }
49
+ if (arg?.startsWith("--ref=")) {
50
+ parsed.ref = arg.split("=", 2)[1];
51
+ continue;
52
+ }
53
+ if (arg === "--attr") {
54
+ const value = rawArgs[i + 1];
55
+ if (!value) throw createUsageError("Missing value for --attr");
56
+ parsed.attr = value;
57
+ i += 1;
58
+ continue;
59
+ }
60
+ if (arg?.startsWith("--attr=")) {
61
+ parsed.attr = arg.split("=", 2)[1];
62
+ continue;
63
+ }
64
+ }
65
+ return parsed;
66
+ }
67
+ async function runDomAttr(args) {
68
+ const { sessionId, ref, attr } = parseDomAttrArgs(args.rawArgs);
69
+ const targetId = parseOptionalStringFlag(args.rawArgs, "--target-id");
70
+ if (!sessionId) throw createUsageError("Missing --session-id");
71
+ if (!ref) throw createUsageError("Missing --ref");
72
+ if (!attr) throw createUsageError("Missing --attr");
73
+ const result = await callDaemon("dom.getAttr", {
74
+ sessionId,
75
+ ref,
76
+ name: attr,
77
+ ...typeof targetId === "string" ? { targetId } : {}
78
+ });
79
+ return { success: true, message: "DOM attribute captured.", data: result };
80
+ }
81
+ export {
82
+ runDomAttr
83
+ };
84
+ //# sourceMappingURL=attr-GHFZZ4SA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/dom/attr.ts"],"sourcesContent":["import type { ParsedArgs } from \"../../args\";\nimport { callDaemon } from \"../../client\";\nimport { createUsageError } from \"../../errors\";\nimport { parseOptionalStringFlag } from \"../../utils/parse\";\n\nfunction parseDomAttrArgs(rawArgs: string[]): { sessionId?: string; ref?: string; attr?: string } {\n const parsed: { sessionId?: string; ref?: string; attr?: string } = {};\n for (let i = 0; i < rawArgs.length; i += 1) {\n const arg = rawArgs[i];\n if (arg === \"--session-id\") {\n const value = rawArgs[i + 1];\n if (!value) throw createUsageError(\"Missing value for --session-id\");\n parsed.sessionId = value;\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--session-id=\")) {\n parsed.sessionId = arg.split(\"=\", 2)[1];\n continue;\n }\n if (arg === \"--ref\") {\n const value = rawArgs[i + 1];\n if (!value) throw createUsageError(\"Missing value for --ref\");\n parsed.ref = value;\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--ref=\")) {\n parsed.ref = arg.split(\"=\", 2)[1];\n continue;\n }\n if (arg === \"--attr\") {\n const value = rawArgs[i + 1];\n if (!value) throw createUsageError(\"Missing value for --attr\");\n parsed.attr = value;\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--attr=\")) {\n parsed.attr = arg.split(\"=\", 2)[1];\n continue;\n }\n }\n return parsed;\n}\n\nexport async function runDomAttr(args: ParsedArgs) {\n const { sessionId, ref, attr } = parseDomAttrArgs(args.rawArgs);\n const targetId = parseOptionalStringFlag(args.rawArgs, \"--target-id\");\n if (!sessionId) throw createUsageError(\"Missing --session-id\");\n if (!ref) throw createUsageError(\"Missing --ref\");\n if (!attr) throw createUsageError(\"Missing --attr\");\n const result = await callDaemon(\"dom.getAttr\", {\n sessionId,\n ref,\n name: attr,\n ...(typeof targetId === \"string\" ? { targetId } : {})\n });\n return { success: true, message: \"DOM attribute captured.\", data: result };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,SAAS,iBAAiB,SAAwE;AAChG,QAAM,SAA8D,CAAC;AACrE,WAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK,GAAG;AAC1C,UAAM,MAAM,QAAQ,CAAC;AACrB,QAAI,QAAQ,gBAAgB;AAC1B,YAAM,QAAQ,QAAQ,IAAI,CAAC;AAC3B,UAAI,CAAC,MAAO,OAAM,iBAAiB,gCAAgC;AACnE,aAAO,YAAY;AACnB,WAAK;AACL;AAAA,IACF;AACA,QAAI,KAAK,WAAW,eAAe,GAAG;AACpC,aAAO,YAAY,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;AACtC;AAAA,IACF;AACA,QAAI,QAAQ,SAAS;AACnB,YAAM,QAAQ,QAAQ,IAAI,CAAC;AAC3B,UAAI,CAAC,MAAO,OAAM,iBAAiB,yBAAyB;AAC5D,aAAO,MAAM;AACb,WAAK;AACL;AAAA,IACF;AACA,QAAI,KAAK,WAAW,QAAQ,GAAG;AAC7B,aAAO,MAAM,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;AAChC;AAAA,IACF;AACA,QAAI,QAAQ,UAAU;AACpB,YAAM,QAAQ,QAAQ,IAAI,CAAC;AAC3B,UAAI,CAAC,MAAO,OAAM,iBAAiB,0BAA0B;AAC7D,aAAO,OAAO;AACd,WAAK;AACL;AAAA,IACF;AACA,QAAI,KAAK,WAAW,SAAS,GAAG;AAC9B,aAAO,OAAO,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;AACjC;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEA,eAAsB,WAAW,MAAkB;AACjD,QAAM,EAAE,WAAW,KAAK,KAAK,IAAI,iBAAiB,KAAK,OAAO;AAC9D,QAAM,WAAW,wBAAwB,KAAK,SAAS,aAAa;AACpE,MAAI,CAAC,UAAW,OAAM,iBAAiB,sBAAsB;AAC7D,MAAI,CAAC,IAAK,OAAM,iBAAiB,eAAe;AAChD,MAAI,CAAC,KAAM,OAAM,iBAAiB,gBAAgB;AAClD,QAAM,SAAS,MAAM,WAAW,eAAe;AAAA,IAC7C;AAAA,IACA;AAAA,IACA,MAAM;AAAA,IACN,GAAI,OAAO,aAAa,WAAW,EAAE,SAAS,IAAI,CAAC;AAAA,EACrD,CAAC;AACD,SAAO,EAAE,SAAS,MAAM,SAAS,2BAA2B,MAAM,OAAO;AAC3E;","names":[]}
@@ -62,6 +62,7 @@ export declare class OpsClient {
62
62
  private handleClose;
63
63
  private startHeartbeat;
64
64
  private stopHeartbeat;
65
+ private rejectPendingTransportWork;
65
66
  private sendPing;
66
67
  private scheduleReconnect;
67
68
  private clearReconnectTimer;
@@ -1 +1 @@
1
- {"version":3,"file":"ops-client.d.ts","sourceRoot":"","sources":["../../src/browser/ops-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ops-client.d.ts","sourceRoot":"","sources":["../../src/browser/ops-client.ts"],"names":[],"mappings":"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"}