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
@@ -0,0 +1,132 @@
1
+ import "./chunk-RJNI3BHT.js";
2
+ import {
3
+ assessNativeStatus,
4
+ getNativeStatusSnapshot
5
+ } from "./chunk-6PVZ2ABC.js";
6
+ import {
7
+ callDaemon
8
+ } from "./chunk-OYNLAZQU.js";
9
+ import {
10
+ DEFAULT_DAEMON_STATUS_FETCH_OPTIONS,
11
+ fetchDaemonStatusFromMetadata
12
+ } from "./chunk-LBPELU7L.js";
13
+ import "./chunk-SXAGSEKZ.js";
14
+ import "./chunk-MX3NFLCE.js";
15
+ import "./chunk-ASMHEEKY.js";
16
+ import {
17
+ createDisconnectedError,
18
+ createUsageError
19
+ } from "./chunk-IPE7TF2P.js";
20
+ import "./chunk-STGGGVYT.js";
21
+ import "./chunk-3ILXPKSJ.js";
22
+ import "./chunk-TBUCZX4A.js";
23
+ import "./chunk-Y2KL55OG.js";
24
+ import "./chunk-5SWZDVOW.js";
25
+ import "./chunk-S6S2UP6U.js";
26
+ import "./chunk-S5KZQJJI.js";
27
+ import "./chunk-KZ2IXVQT.js";
28
+ import "./chunk-WHQZBUNY.js";
29
+ import "./chunk-FUSXMW3G.js";
30
+
31
+ // src/cli/commands/session/status.ts
32
+ function parseStatusArgs(rawArgs) {
33
+ const parsed = {};
34
+ for (let i = 0; i < rawArgs.length; i += 1) {
35
+ const arg = rawArgs[i];
36
+ if (arg === "--session-id") {
37
+ const value = rawArgs[i + 1];
38
+ if (!value) throw createUsageError("Missing value for --session-id");
39
+ parsed.sessionId = value;
40
+ i += 1;
41
+ continue;
42
+ }
43
+ if (arg?.startsWith("--session-id=")) {
44
+ parsed.sessionId = arg.split("=", 2)[1];
45
+ continue;
46
+ }
47
+ }
48
+ return parsed;
49
+ }
50
+ async function runSessionStatus(args) {
51
+ const { sessionId } = parseStatusArgs(args.rawArgs);
52
+ if (!sessionId) {
53
+ throw createUsageError("Missing --session-id");
54
+ }
55
+ const result = await callDaemon("session.status", { sessionId });
56
+ return { success: true, message: `Session status: ${sessionId}`, data: result };
57
+ }
58
+
59
+ // src/cli/commands/status.ts
60
+ var parseStatusArgs2 = (rawArgs) => {
61
+ const parsed = { daemon: false };
62
+ for (let i = 0; i < rawArgs.length; i += 1) {
63
+ const arg = rawArgs[i];
64
+ if (arg === "--daemon") {
65
+ parsed.daemon = true;
66
+ continue;
67
+ }
68
+ if (arg === "--session-id") {
69
+ const value = rawArgs[i + 1];
70
+ if (!value) throw createUsageError("Missing value for --session-id");
71
+ parsed.sessionId = value;
72
+ i += 1;
73
+ continue;
74
+ }
75
+ if (arg?.startsWith("--session-id=")) {
76
+ parsed.sessionId = arg.split("=", 2)[1];
77
+ continue;
78
+ }
79
+ }
80
+ return parsed;
81
+ };
82
+ async function runStatus(args) {
83
+ const { sessionId, daemon } = parseStatusArgs2(args.rawArgs);
84
+ if (sessionId && daemon) {
85
+ throw createUsageError("Use --session-id or --daemon, not both.");
86
+ }
87
+ if (sessionId) {
88
+ return runSessionStatus(args);
89
+ }
90
+ if (!daemon && args.transport === "native") {
91
+ const nativeStatus2 = getNativeStatusSnapshot();
92
+ const assessment = assessNativeStatus(nativeStatus2);
93
+ return {
94
+ success: assessment.success,
95
+ message: assessment.message,
96
+ data: nativeStatus2,
97
+ exitCode: assessment.exitCode ?? void 0
98
+ };
99
+ }
100
+ const daemonStatus = await fetchDaemonStatusFromMetadata(void 0, DEFAULT_DAEMON_STATUS_FETCH_OPTIONS);
101
+ if (!daemonStatus) {
102
+ throw createDisconnectedError("Daemon not running. Start with `opendevbrowser serve`.");
103
+ }
104
+ const nativeStatus = getNativeStatusSnapshot();
105
+ const nativeAssessment = assessNativeStatus(nativeStatus);
106
+ const fingerprintLine = daemonStatus.fingerprintCurrent === false ? "Daemon fingerprint: mismatch with current build" : "Daemon fingerprint: current";
107
+ const baseLines = [
108
+ `Daemon OK (pid=${daemonStatus.pid})`,
109
+ fingerprintLine,
110
+ `Relay: port=${daemonStatus.relay.port ?? "n/a"} ext=${daemonStatus.relay.extensionConnected ? "on" : "off"} handshake=${daemonStatus.relay.extensionHandshakeComplete ? "on" : "off"} cdp=${daemonStatus.relay.cdpConnected ? "on" : "off"} annotate=${daemonStatus.relay.annotationConnected ? "on" : "off"} ops=${daemonStatus.relay.opsConnected ? "on" : "off"} canvas=${daemonStatus.relay.canvasConnected ? "on" : "off"} pairing=${daemonStatus.relay.pairingRequired ? "on" : "off"} health=${daemonStatus.relay.health?.reason ?? "n/a"}`,
111
+ `Native: ${nativeAssessment.summary}`,
112
+ daemonStatus.relay.lastHandshakeError ? `Relay last handshake error: ${daemonStatus.relay.lastHandshakeError.code} (${daemonStatus.relay.lastHandshakeError.message})` : "Relay last handshake error: none",
113
+ "Legend: ext=extension websocket, handshake=extension handshake, cdp=active /cdp client, annotate=annotation channel, ops=ops clients, canvas=canvas clients, pairing=token required, health=relay status"
114
+ ];
115
+ if (!nativeAssessment.success) {
116
+ baseLines.splice(4, 0, `Native detail: ${nativeAssessment.message}`);
117
+ }
118
+ const baseMessage = baseLines.join("\n");
119
+ const message = daemon || args.outputFormat !== "text" ? baseMessage : [
120
+ "Warning: `status` defaults to daemon status. Use --daemon explicitly or --session-id for session status.",
121
+ baseMessage
122
+ ].join("\n");
123
+ return {
124
+ success: true,
125
+ message,
126
+ data: { ...daemonStatus, native: nativeStatus }
127
+ };
128
+ }
129
+ export {
130
+ runStatus
131
+ };
132
+ //# sourceMappingURL=status-SP55LMNW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/session/status.ts","../src/cli/commands/status.ts"],"sourcesContent":["import type { ParsedArgs } from \"../../args\";\nimport { callDaemon } from \"../../client\";\nimport { createUsageError } from \"../../errors\";\n\nfunction parseStatusArgs(rawArgs: string[]): { sessionId?: string } {\n const parsed: { sessionId?: 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 }\n return parsed;\n}\n\nexport async function runSessionStatus(args: ParsedArgs) {\n const { sessionId } = parseStatusArgs(args.rawArgs);\n if (!sessionId) {\n throw createUsageError(\"Missing --session-id\");\n }\n const result = await callDaemon(\"session.status\", { sessionId });\n return { success: true, message: `Session status: ${sessionId}`, data: result };\n}\n","import type { ParsedArgs } from \"../args\";\nimport { createDisconnectedError, createUsageError } from \"../errors\";\nimport { fetchDaemonStatusFromMetadata } from \"../daemon-status\";\nimport { DEFAULT_DAEMON_STATUS_FETCH_OPTIONS } from \"../daemon-status-policy\";\nimport { runSessionStatus } from \"./session/status\";\nimport { assessNativeStatus, getNativeStatusSnapshot } from \"./native\";\n\ntype StatusArgs = {\n sessionId?: string;\n daemon: boolean;\n};\n\nconst parseStatusArgs = (rawArgs: string[]): StatusArgs => {\n const parsed: StatusArgs = { daemon: false };\n for (let i = 0; i < rawArgs.length; i += 1) {\n const arg = rawArgs[i];\n if (arg === \"--daemon\") {\n parsed.daemon = true;\n continue;\n }\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 }\n return parsed;\n};\n\nexport async function runStatus(args: ParsedArgs) {\n const { sessionId, daemon } = parseStatusArgs(args.rawArgs);\n if (sessionId && daemon) {\n throw createUsageError(\"Use --session-id or --daemon, not both.\");\n }\n\n if (sessionId) {\n return runSessionStatus(args);\n }\n\n if (!daemon && args.transport === \"native\") {\n const nativeStatus = getNativeStatusSnapshot();\n const assessment = assessNativeStatus(nativeStatus);\n return {\n success: assessment.success,\n message: assessment.message,\n data: nativeStatus,\n exitCode: assessment.exitCode ?? undefined\n };\n }\n\n const daemonStatus = await fetchDaemonStatusFromMetadata(undefined, DEFAULT_DAEMON_STATUS_FETCH_OPTIONS);\n if (!daemonStatus) {\n throw createDisconnectedError(\"Daemon not running. Start with `opendevbrowser serve`.\");\n }\n\n const nativeStatus = getNativeStatusSnapshot();\n const nativeAssessment = assessNativeStatus(nativeStatus);\n const fingerprintLine = daemonStatus.fingerprintCurrent === false\n ? \"Daemon fingerprint: mismatch with current build\"\n : \"Daemon fingerprint: current\";\n\n const baseLines = [\n `Daemon OK (pid=${daemonStatus.pid})`,\n fingerprintLine,\n `Relay: port=${daemonStatus.relay.port ?? \"n/a\"} ext=${daemonStatus.relay.extensionConnected ? \"on\" : \"off\"} ` +\n `handshake=${daemonStatus.relay.extensionHandshakeComplete ? \"on\" : \"off\"} ` +\n `cdp=${daemonStatus.relay.cdpConnected ? \"on\" : \"off\"} ` +\n `annotate=${daemonStatus.relay.annotationConnected ? \"on\" : \"off\"} ` +\n `ops=${daemonStatus.relay.opsConnected ? \"on\" : \"off\"} ` +\n `canvas=${daemonStatus.relay.canvasConnected ? \"on\" : \"off\"} ` +\n `pairing=${daemonStatus.relay.pairingRequired ? \"on\" : \"off\"} ` +\n `health=${daemonStatus.relay.health?.reason ?? \"n/a\"}`,\n `Native: ${nativeAssessment.summary}`,\n daemonStatus.relay.lastHandshakeError\n ? `Relay last handshake error: ${daemonStatus.relay.lastHandshakeError.code} (${daemonStatus.relay.lastHandshakeError.message})`\n : \"Relay last handshake error: none\",\n \"Legend: ext=extension websocket, handshake=extension handshake, cdp=active /cdp client, annotate=annotation channel, ops=ops clients, canvas=canvas clients, pairing=token required, health=relay status\"\n ];\n if (!nativeAssessment.success) {\n baseLines.splice(4, 0, `Native detail: ${nativeAssessment.message}`);\n }\n const baseMessage = baseLines.join(\"\\n\");\n\n const message = daemon || args.outputFormat !== \"text\"\n ? baseMessage\n : [\n \"Warning: `status` defaults to daemon status. Use --daemon explicitly or --session-id for session status.\",\n baseMessage\n ].join(\"\\n\");\n\n return {\n success: true,\n message,\n data: { ...daemonStatus, native: nativeStatus }\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAAS,gBAAgB,SAA2C;AAClE,QAAM,SAAiC,CAAC;AACxC,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;AAAA,EACF;AACA,SAAO;AACT;AAEA,eAAsB,iBAAiB,MAAkB;AACvD,QAAM,EAAE,UAAU,IAAI,gBAAgB,KAAK,OAAO;AAClD,MAAI,CAAC,WAAW;AACd,UAAM,iBAAiB,sBAAsB;AAAA,EAC/C;AACA,QAAM,SAAS,MAAM,WAAW,kBAAkB,EAAE,UAAU,CAAC;AAC/D,SAAO,EAAE,SAAS,MAAM,SAAS,mBAAmB,SAAS,IAAI,MAAM,OAAO;AAChF;;;AClBA,IAAMA,mBAAkB,CAAC,YAAkC;AACzD,QAAM,SAAqB,EAAE,QAAQ,MAAM;AAC3C,WAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK,GAAG;AAC1C,UAAM,MAAM,QAAQ,CAAC;AACrB,QAAI,QAAQ,YAAY;AACtB,aAAO,SAAS;AAChB;AAAA,IACF;AACA,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;AAAA,EACF;AACA,SAAO;AACT;AAEA,eAAsB,UAAU,MAAkB;AAChD,QAAM,EAAE,WAAW,OAAO,IAAIA,iBAAgB,KAAK,OAAO;AAC1D,MAAI,aAAa,QAAQ;AACvB,UAAM,iBAAiB,yCAAyC;AAAA,EAClE;AAEA,MAAI,WAAW;AACb,WAAO,iBAAiB,IAAI;AAAA,EAC9B;AAEA,MAAI,CAAC,UAAU,KAAK,cAAc,UAAU;AAC1C,UAAMC,gBAAe,wBAAwB;AAC7C,UAAM,aAAa,mBAAmBA,aAAY;AAClD,WAAO;AAAA,MACL,SAAS,WAAW;AAAA,MACpB,SAAS,WAAW;AAAA,MACpB,MAAMA;AAAA,MACN,UAAU,WAAW,YAAY;AAAA,IACnC;AAAA,EACF;AAEA,QAAM,eAAe,MAAM,8BAA8B,QAAW,mCAAmC;AACvG,MAAI,CAAC,cAAc;AACjB,UAAM,wBAAwB,wDAAwD;AAAA,EACxF;AAEA,QAAM,eAAe,wBAAwB;AAC7C,QAAM,mBAAmB,mBAAmB,YAAY;AACxD,QAAM,kBAAkB,aAAa,uBAAuB,QACxD,oDACA;AAEJ,QAAM,YAAY;AAAA,IAChB,kBAAkB,aAAa,GAAG;AAAA,IAClC;AAAA,IACA,eAAe,aAAa,MAAM,QAAQ,KAAK,QAAQ,aAAa,MAAM,qBAAqB,OAAO,KAAK,cAC5F,aAAa,MAAM,6BAA6B,OAAO,KAAK,QAClE,aAAa,MAAM,eAAe,OAAO,KAAK,aACzC,aAAa,MAAM,sBAAsB,OAAO,KAAK,QAC1D,aAAa,MAAM,eAAe,OAAO,KAAK,WAC3C,aAAa,MAAM,kBAAkB,OAAO,KAAK,YAChD,aAAa,MAAM,kBAAkB,OAAO,KAAK,WAClD,aAAa,MAAM,QAAQ,UAAU,KAAK;AAAA,IACtD,WAAW,iBAAiB,OAAO;AAAA,IACnC,aAAa,MAAM,qBACf,+BAA+B,aAAa,MAAM,mBAAmB,IAAI,KAAK,aAAa,MAAM,mBAAmB,OAAO,MAC3H;AAAA,IACJ;AAAA,EACF;AACA,MAAI,CAAC,iBAAiB,SAAS;AAC7B,cAAU,OAAO,GAAG,GAAG,kBAAkB,iBAAiB,OAAO,EAAE;AAAA,EACrE;AACA,QAAM,cAAc,UAAU,KAAK,IAAI;AAEvC,QAAM,UAAU,UAAU,KAAK,iBAAiB,SAC5C,cACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAAE,KAAK,IAAI;AAEb,SAAO;AAAA,IACL,SAAS;AAAA,IACT;AAAA,IACA,MAAM,EAAE,GAAG,cAAc,QAAQ,aAAa;AAAA,EAChD;AACF;","names":["parseStatusArgs","nativeStatus"]}
@@ -0,0 +1,35 @@
1
+ import {
2
+ callDesktopCommand,
3
+ desktopCommandResult,
4
+ parseDesktopTimeoutArgs
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/status.ts
27
+ async function runDesktopStatus(args) {
28
+ const { timeoutMs } = parseDesktopTimeoutArgs(args.rawArgs);
29
+ const result = await callDesktopCommand("desktop.status", {}, timeoutMs);
30
+ return desktopCommandResult("Desktop status captured.", result);
31
+ }
32
+ export {
33
+ runDesktopStatus
34
+ };
35
+ //# sourceMappingURL=status-VH2WXIDG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/desktop/status.ts"],"sourcesContent":["import type { ParsedArgs } from \"../../args\";\nimport { callDesktopCommand, desktopCommandResult, parseDesktopTimeoutArgs } from \"./shared\";\n\nexport async function runDesktopStatus(args: ParsedArgs) {\n const { timeoutMs } = parseDesktopTimeoutArgs(args.rawArgs);\n const result = await callDesktopCommand(\"desktop.status\", {}, timeoutMs);\n return desktopCommandResult(\"Desktop status captured.\", result);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,eAAsB,iBAAiB,MAAkB;AACvD,QAAM,EAAE,UAAU,IAAI,wBAAwB,KAAK,OAAO;AAC1D,QAAM,SAAS,MAAM,mBAAmB,kBAAkB,CAAC,GAAG,SAAS;AACvE,SAAO,qBAAqB,4BAA4B,MAAM;AAChE;","names":[]}
@@ -0,0 +1,57 @@
1
+ import {
2
+ parseOptionalChallengeAutomationMode
3
+ } from "./chunk-N44UXKIB.js";
4
+ import "./chunk-RJNI3BHT.js";
5
+ import {
6
+ parseNumberFlag,
7
+ parseOptionalStringFlag
8
+ } from "./chunk-RPXWUCQQ.js";
9
+ import {
10
+ DEFAULT_REVIEW_TRANSPORT_TIMEOUT_MS
11
+ } from "./chunk-OW5HMYMI.js";
12
+ import {
13
+ callDaemon
14
+ } from "./chunk-OYNLAZQU.js";
15
+ import "./chunk-LBPELU7L.js";
16
+ import "./chunk-SXAGSEKZ.js";
17
+ import "./chunk-MX3NFLCE.js";
18
+ import "./chunk-ASMHEEKY.js";
19
+ import "./chunk-IPE7TF2P.js";
20
+ import "./chunk-STGGGVYT.js";
21
+ import "./chunk-3ILXPKSJ.js";
22
+ import "./chunk-TBUCZX4A.js";
23
+ import "./chunk-Y2KL55OG.js";
24
+ import "./chunk-5SWZDVOW.js";
25
+ import "./chunk-S6S2UP6U.js";
26
+ import "./chunk-S5KZQJJI.js";
27
+ import "./chunk-KZ2IXVQT.js";
28
+ import "./chunk-WHQZBUNY.js";
29
+ import "./chunk-FUSXMW3G.js";
30
+
31
+ // src/cli/commands/status-capabilities.ts
32
+ function parseOptionalTimeoutMs(rawArgs) {
33
+ const value = parseOptionalStringFlag(rawArgs, "--timeout-ms");
34
+ return typeof value === "string" ? parseNumberFlag(value, "--timeout-ms", { min: 1 }) : void 0;
35
+ }
36
+ async function runStatusCapabilities(args) {
37
+ const sessionId = parseOptionalStringFlag(args.rawArgs, "--session-id");
38
+ const targetId = parseOptionalStringFlag(args.rawArgs, "--target-id");
39
+ const challengeAutomationMode = parseOptionalChallengeAutomationMode(args.rawArgs);
40
+ const timeoutMs = parseOptionalTimeoutMs(args.rawArgs);
41
+ const result = await callDaemon("status.capabilities", {
42
+ ...typeof sessionId === "string" ? { sessionId } : {},
43
+ ...typeof targetId === "string" ? { targetId } : {},
44
+ ...challengeAutomationMode ? { challengeAutomationMode } : {}
45
+ }, {
46
+ timeoutMs: timeoutMs ?? DEFAULT_REVIEW_TRANSPORT_TIMEOUT_MS
47
+ });
48
+ return {
49
+ success: true,
50
+ message: "Capability discovery captured.",
51
+ data: result
52
+ };
53
+ }
54
+ export {
55
+ runStatusCapabilities
56
+ };
57
+ //# sourceMappingURL=status-capabilities-YBERLRRA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/status-capabilities.ts"],"sourcesContent":["import type { ParsedArgs } from \"../args\";\nimport { callDaemon } from \"../client\";\nimport { DEFAULT_REVIEW_TRANSPORT_TIMEOUT_MS } from \"../transport-timeouts\";\nimport { parseOptionalStringFlag, parseNumberFlag } from \"../utils/parse\";\nimport { parseOptionalChallengeAutomationMode } from \"./challenge-automation-mode\";\n\nfunction parseOptionalTimeoutMs(rawArgs: string[]): number | undefined {\n const value = parseOptionalStringFlag(rawArgs, \"--timeout-ms\");\n return typeof value === \"string\"\n ? parseNumberFlag(value, \"--timeout-ms\", { min: 1 })\n : undefined;\n}\n\nexport async function runStatusCapabilities(args: ParsedArgs) {\n const sessionId = parseOptionalStringFlag(args.rawArgs, \"--session-id\");\n const targetId = parseOptionalStringFlag(args.rawArgs, \"--target-id\");\n const challengeAutomationMode = parseOptionalChallengeAutomationMode(args.rawArgs);\n const timeoutMs = parseOptionalTimeoutMs(args.rawArgs);\n const result = await callDaemon(\"status.capabilities\", {\n ...(typeof sessionId === \"string\" ? { sessionId } : {}),\n ...(typeof targetId === \"string\" ? { targetId } : {}),\n ...(challengeAutomationMode ? { challengeAutomationMode } : {})\n }, {\n timeoutMs: timeoutMs ?? DEFAULT_REVIEW_TRANSPORT_TIMEOUT_MS\n });\n return {\n success: true,\n message: \"Capability discovery captured.\",\n data: result\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,SAAS,uBAAuB,SAAuC;AACrE,QAAM,QAAQ,wBAAwB,SAAS,cAAc;AAC7D,SAAO,OAAO,UAAU,WACpB,gBAAgB,OAAO,gBAAgB,EAAE,KAAK,EAAE,CAAC,IACjD;AACN;AAEA,eAAsB,sBAAsB,MAAkB;AAC5D,QAAM,YAAY,wBAAwB,KAAK,SAAS,cAAc;AACtE,QAAM,WAAW,wBAAwB,KAAK,SAAS,aAAa;AACpE,QAAM,0BAA0B,qCAAqC,KAAK,OAAO;AACjF,QAAM,YAAY,uBAAuB,KAAK,OAAO;AACrD,QAAM,SAAS,MAAM,WAAW,uBAAuB;AAAA,IACrD,GAAI,OAAO,cAAc,WAAW,EAAE,UAAU,IAAI,CAAC;AAAA,IACrD,GAAI,OAAO,aAAa,WAAW,EAAE,SAAS,IAAI,CAAC;AAAA,IACnD,GAAI,0BAA0B,EAAE,wBAAwB,IAAI,CAAC;AAAA,EAC/D,GAAG;AAAA,IACD,WAAW,aAAa;AAAA,EAC1B,CAAC;AACD,SAAO;AAAA,IACL,SAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AACF;","names":[]}
@@ -0,0 +1,84 @@
1
+ import "./chunk-RJNI3BHT.js";
2
+ import {
3
+ parseNumberFlag,
4
+ parseOptionalStringFlag
5
+ } from "./chunk-RPXWUCQQ.js";
6
+ import {
7
+ callDaemon
8
+ } from "./chunk-OYNLAZQU.js";
9
+ import "./chunk-LBPELU7L.js";
10
+ import "./chunk-SXAGSEKZ.js";
11
+ import "./chunk-MX3NFLCE.js";
12
+ import "./chunk-ASMHEEKY.js";
13
+ import {
14
+ createUsageError
15
+ } from "./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/dom/text.ts
28
+ function parseDomTextArgs(rawArgs) {
29
+ const parsed = {};
30
+ for (let i = 0; i < rawArgs.length; i += 1) {
31
+ const arg = rawArgs[i];
32
+ if (arg === "--session-id") {
33
+ const value = rawArgs[i + 1];
34
+ if (!value) throw createUsageError("Missing value for --session-id");
35
+ parsed.sessionId = value;
36
+ i += 1;
37
+ continue;
38
+ }
39
+ if (arg?.startsWith("--session-id=")) {
40
+ parsed.sessionId = arg.split("=", 2)[1];
41
+ continue;
42
+ }
43
+ if (arg === "--ref") {
44
+ const value = rawArgs[i + 1];
45
+ if (!value) throw createUsageError("Missing value for --ref");
46
+ parsed.ref = value;
47
+ i += 1;
48
+ continue;
49
+ }
50
+ if (arg?.startsWith("--ref=")) {
51
+ parsed.ref = arg.split("=", 2)[1];
52
+ continue;
53
+ }
54
+ if (arg === "--max-chars") {
55
+ const value = rawArgs[i + 1];
56
+ if (!value) throw createUsageError("Missing value for --max-chars");
57
+ parsed.maxChars = parseNumberFlag(value, "--max-chars", { min: 1 });
58
+ i += 1;
59
+ continue;
60
+ }
61
+ if (arg?.startsWith("--max-chars=")) {
62
+ parsed.maxChars = parseNumberFlag(arg.split("=", 2)[1] ?? "", "--max-chars", { min: 1 });
63
+ continue;
64
+ }
65
+ }
66
+ return parsed;
67
+ }
68
+ async function runDomText(args) {
69
+ const { sessionId, ref, maxChars } = parseDomTextArgs(args.rawArgs);
70
+ const targetId = parseOptionalStringFlag(args.rawArgs, "--target-id");
71
+ if (!sessionId) throw createUsageError("Missing --session-id");
72
+ if (!ref) throw createUsageError("Missing --ref");
73
+ const result = await callDaemon("dom.getText", {
74
+ sessionId,
75
+ ref,
76
+ maxChars,
77
+ ...typeof targetId === "string" ? { targetId } : {}
78
+ });
79
+ return { success: true, message: "DOM text captured.", data: result };
80
+ }
81
+ export {
82
+ runDomText
83
+ };
84
+ //# sourceMappingURL=text-6TB5WNLI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/dom/text.ts"],"sourcesContent":["import type { ParsedArgs } from \"../../args\";\nimport { callDaemon } from \"../../client\";\nimport { createUsageError } from \"../../errors\";\nimport { parseNumberFlag, parseOptionalStringFlag } from \"../../utils/parse\";\n\nfunction parseDomTextArgs(rawArgs: string[]): { sessionId?: string; ref?: string; maxChars?: number } {\n const parsed: { sessionId?: string; ref?: string; maxChars?: number } = {};\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 === \"--max-chars\") {\n const value = rawArgs[i + 1];\n if (!value) throw createUsageError(\"Missing value for --max-chars\");\n parsed.maxChars = parseNumberFlag(value, \"--max-chars\", { min: 1 });\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--max-chars=\")) {\n parsed.maxChars = parseNumberFlag(arg.split(\"=\", 2)[1] ?? \"\", \"--max-chars\", { min: 1 });\n continue;\n }\n }\n return parsed;\n}\n\nexport async function runDomText(args: ParsedArgs) {\n const { sessionId, ref, maxChars } = parseDomTextArgs(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 const result = await callDaemon(\"dom.getText\", {\n sessionId,\n ref,\n maxChars,\n ...(typeof targetId === \"string\" ? { targetId } : {})\n });\n return { success: true, message: \"DOM text captured.\", data: result };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,SAAS,iBAAiB,SAA4E;AACpG,QAAM,SAAkE,CAAC;AACzE,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,eAAe;AACzB,YAAM,QAAQ,QAAQ,IAAI,CAAC;AAC3B,UAAI,CAAC,MAAO,OAAM,iBAAiB,+BAA+B;AAClE,aAAO,WAAW,gBAAgB,OAAO,eAAe,EAAE,KAAK,EAAE,CAAC;AAClE,WAAK;AACL;AAAA,IACF;AACA,QAAI,KAAK,WAAW,cAAc,GAAG;AACnC,aAAO,WAAW,gBAAgB,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,eAAe,EAAE,KAAK,EAAE,CAAC;AACvF;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEA,eAAsB,WAAW,MAAkB;AACjD,QAAM,EAAE,WAAW,KAAK,SAAS,IAAI,iBAAiB,KAAK,OAAO;AAClE,QAAM,WAAW,wBAAwB,KAAK,SAAS,aAAa;AACpE,MAAI,CAAC,UAAW,OAAM,iBAAiB,sBAAsB;AAC7D,MAAI,CAAC,IAAK,OAAM,iBAAiB,eAAe;AAChD,QAAM,SAAS,MAAM,WAAW,eAAe;AAAA,IAC7C;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAI,OAAO,aAAa,WAAW,EAAE,SAAS,IAAI,CAAC;AAAA,EACrD,CAAC;AACD,SAAO,EAAE,SAAS,MAAM,SAAS,sBAAsB,MAAM,OAAO;AACtE;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"macro_resolve.d.ts","sourceRoot":"","sources":["../../src/tools/macro_resolve.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EACL,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAQvC,KAAK,kBAAkB,GAAG;IACxB,0BAA0B,CAAC,EAAE,MAAM;QACjC,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;YAAE,eAAe,CAAC,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;QAClG,IAAI,EAAE,MAAM,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC1E,CAAC;CACH,CAAC;AAEF,KAAK,uBAAuB,GAAG,eAAe,CAAC;AAE/C,iBAAe,gBAAgB,IAAI,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAOpE;AAED,iBAAS,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,uBAAuB,CA4CjG;AAGD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,GAAG,cAAc,CAoFrE;AAED,eAAO,MAAM,QAAQ;;;CAGpB,CAAC"}
1
+ {"version":3,"file":"macro_resolve.d.ts","sourceRoot":"","sources":["../../src/tools/macro_resolve.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EACL,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AASvC,KAAK,kBAAkB,GAAG;IACxB,0BAA0B,CAAC,EAAE,MAAM;QACjC,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;YAAE,eAAe,CAAC,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;QAClG,IAAI,EAAE,MAAM,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC1E,CAAC;CACH,CAAC;AAEF,KAAK,uBAAuB,GAAG,eAAe,CAAC;AAE/C,iBAAe,gBAAgB,IAAI,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAOpE;AAED,iBAAS,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,uBAAuB,CA4CjG;AAGD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,GAAG,cAAc,CA8FrE;AAED,eAAO,MAAM,QAAQ;;;CAGpB,CAAC"}
@@ -0,0 +1,94 @@
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/interact/type.ts
27
+ function parseTypeArgs(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 === "--text") {
54
+ const value = rawArgs[i + 1];
55
+ if (!value) throw createUsageError("Missing value for --text");
56
+ parsed.text = value;
57
+ i += 1;
58
+ continue;
59
+ }
60
+ if (arg?.startsWith("--text=")) {
61
+ parsed.text = arg.split("=", 2)[1];
62
+ continue;
63
+ }
64
+ if (arg === "--clear") {
65
+ parsed.clear = true;
66
+ continue;
67
+ }
68
+ if (arg === "--submit") {
69
+ parsed.submit = true;
70
+ continue;
71
+ }
72
+ }
73
+ return parsed;
74
+ }
75
+ async function runType(args) {
76
+ const { sessionId, ref, text, clear, submit } = parseTypeArgs(args.rawArgs);
77
+ const targetId = parseOptionalStringFlag(args.rawArgs, "--target-id");
78
+ if (!sessionId) throw createUsageError("Missing --session-id");
79
+ if (!ref) throw createUsageError("Missing --ref");
80
+ if (!text) throw createUsageError("Missing --text");
81
+ const result = await callDaemon("interact.type", {
82
+ sessionId,
83
+ ref,
84
+ text,
85
+ clear,
86
+ submit,
87
+ ...typeof targetId === "string" ? { targetId } : {}
88
+ });
89
+ return { success: true, message: "Type complete.", data: result };
90
+ }
91
+ export {
92
+ runType
93
+ };
94
+ //# sourceMappingURL=type-3UI3TQH3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/interact/type.ts"],"sourcesContent":["import type { ParsedArgs } from \"../../args\";\nimport { callDaemon } from \"../../client\";\nimport { createUsageError } from \"../../errors\";\nimport { parseOptionalStringFlag } from \"../../utils/parse\";\n\nfunction parseTypeArgs(rawArgs: string[]): { sessionId?: string; ref?: string; text?: string; clear?: boolean; submit?: boolean } {\n const parsed: { sessionId?: string; ref?: string; text?: string; clear?: boolean; submit?: boolean } = {};\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 === \"--text\") {\n const value = rawArgs[i + 1];\n if (!value) throw createUsageError(\"Missing value for --text\");\n parsed.text = value;\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--text=\")) {\n parsed.text = arg.split(\"=\", 2)[1];\n continue;\n }\n if (arg === \"--clear\") {\n parsed.clear = true;\n continue;\n }\n if (arg === \"--submit\") {\n parsed.submit = true;\n continue;\n }\n }\n return parsed;\n}\n\nexport async function runType(args: ParsedArgs) {\n const { sessionId, ref, text, clear, submit } = parseTypeArgs(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 (!text) throw createUsageError(\"Missing --text\");\n const result = await callDaemon(\"interact.type\", {\n sessionId,\n ref,\n text,\n clear,\n submit,\n ...(typeof targetId === \"string\" ? { targetId } : {})\n });\n return { success: true, message: \"Type complete.\", data: result };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,SAAS,cAAc,SAA2G;AAChI,QAAM,SAAiG,CAAC;AACxG,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;AACA,QAAI,QAAQ,WAAW;AACrB,aAAO,QAAQ;AACf;AAAA,IACF;AACA,QAAI,QAAQ,YAAY;AACtB,aAAO,SAAS;AAChB;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEA,eAAsB,QAAQ,MAAkB;AAC9C,QAAM,EAAE,WAAW,KAAK,MAAM,OAAO,OAAO,IAAI,cAAc,KAAK,OAAO;AAC1E,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,iBAAiB;AAAA,IAC/C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAI,OAAO,aAAa,WAAW,EAAE,SAAS,IAAI,CAAC;AAAA,EACrD,CAAC;AACD,SAAO,EAAE,SAAS,MAAM,SAAS,kBAAkB,MAAM,OAAO;AAClE;","names":[]}
@@ -0,0 +1,71 @@
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/interact/uncheck.ts
27
+ function parseUncheckArgs(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
+ }
54
+ return parsed;
55
+ }
56
+ async function runUncheck(args) {
57
+ const { sessionId, ref } = parseUncheckArgs(args.rawArgs);
58
+ const targetId = parseOptionalStringFlag(args.rawArgs, "--target-id");
59
+ if (!sessionId) throw createUsageError("Missing --session-id");
60
+ if (!ref) throw createUsageError("Missing --ref");
61
+ const result = await callDaemon("interact.uncheck", {
62
+ sessionId,
63
+ ref,
64
+ ...typeof targetId === "string" ? { targetId } : {}
65
+ });
66
+ return { success: true, message: "Uncheck complete.", data: result };
67
+ }
68
+ export {
69
+ runUncheck
70
+ };
71
+ //# sourceMappingURL=uncheck-5L3D2D4U.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/interact/uncheck.ts"],"sourcesContent":["import type { ParsedArgs } from \"../../args\";\nimport { callDaemon } from \"../../client\";\nimport { createUsageError } from \"../../errors\";\nimport { parseOptionalStringFlag } from \"../../utils/parse\";\n\nfunction parseUncheckArgs(rawArgs: string[]): { sessionId?: string; ref?: string } {\n const parsed: { sessionId?: string; ref?: 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 }\n return parsed;\n}\n\nexport async function runUncheck(args: ParsedArgs) {\n const { sessionId, ref } = parseUncheckArgs(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 const result = await callDaemon(\"interact.uncheck\", {\n sessionId,\n ref,\n ...(typeof targetId === \"string\" ? { targetId } : {})\n });\n return { success: true, message: \"Uncheck complete.\", data: result };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,SAAS,iBAAiB,SAAyD;AACjF,QAAM,SAA+C,CAAC;AACtD,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;AAAA,EACF;AACA,SAAO;AACT;AAEA,eAAsB,WAAW,MAAkB;AACjD,QAAM,EAAE,WAAW,IAAI,IAAI,iBAAiB,KAAK,OAAO;AACxD,QAAM,WAAW,wBAAwB,KAAK,SAAS,aAAa;AACpE,MAAI,CAAC,UAAW,OAAM,iBAAiB,sBAAsB;AAC7D,MAAI,CAAC,IAAK,OAAM,iBAAiB,eAAe;AAChD,QAAM,SAAS,MAAM,WAAW,oBAAoB;AAAA,IAClD;AAAA,IACA;AAAA,IACA,GAAI,OAAO,aAAa,WAAW,EAAE,SAAS,IAAI,CAAC;AAAA,EACrD,CAAC;AACD,SAAO,EAAE,SAAS,MAAM,SAAS,qBAAqB,MAAM,OAAO;AACrE;","names":[]}
@@ -0,0 +1,91 @@
1
+ import {
2
+ hasBundledSkillArtifacts,
3
+ hasManagedBundledSkillInstall
4
+ } from "./chunk-KDSNXS6N.js";
5
+ import {
6
+ getGlobalConfigPath,
7
+ getLocalConfigPath,
8
+ hasPlugin,
9
+ readConfig,
10
+ removePluginFromContent
11
+ } from "./chunk-7THCPS52.js";
12
+ import "./chunk-3ILXPKSJ.js";
13
+ import "./chunk-TBUCZX4A.js";
14
+
15
+ // src/cli/commands/uninstall.ts
16
+ import * as fs from "fs";
17
+ import * as path from "path";
18
+ import * as os from "os";
19
+ function hasInstalledConfig(mode) {
20
+ const configPath = mode === "global" ? getGlobalConfigPath() : getLocalConfigPath();
21
+ try {
22
+ const { config } = readConfig(configPath);
23
+ return hasPlugin(config);
24
+ } catch {
25
+ return false;
26
+ }
27
+ }
28
+ function getPluginConfigPath(mode) {
29
+ if (mode === "global") {
30
+ const configDir = process.env.OPENCODE_CONFIG_DIR || path.join(os.homedir(), ".config", "opencode");
31
+ return path.join(configDir, "opendevbrowser.jsonc");
32
+ }
33
+ return path.join(process.cwd(), "opendevbrowser.jsonc");
34
+ }
35
+ function removePluginConfigFile(mode) {
36
+ const configPath = getPluginConfigPath(mode);
37
+ if (fs.existsSync(configPath)) {
38
+ fs.unlinkSync(configPath);
39
+ return true;
40
+ }
41
+ return false;
42
+ }
43
+ function runUninstall(mode, deleteConfigFile = false) {
44
+ const configPath = mode === "global" ? getGlobalConfigPath() : getLocalConfigPath();
45
+ try {
46
+ const { content, config } = readConfig(configPath);
47
+ if (!hasPlugin(config)) {
48
+ return {
49
+ success: true,
50
+ message: `No plugin config found in ${configPath}`,
51
+ configPath,
52
+ removed: false,
53
+ configFileDeleted: false
54
+ };
55
+ }
56
+ const newContent = removePluginFromContent(content, "opendevbrowser");
57
+ fs.writeFileSync(configPath, newContent, "utf-8");
58
+ let configFileDeleted = false;
59
+ if (deleteConfigFile) {
60
+ configFileDeleted = removePluginConfigFile(mode);
61
+ }
62
+ return {
63
+ success: true,
64
+ message: `Removed opendevbrowser from ${configPath}`,
65
+ configPath,
66
+ removed: true,
67
+ configFileDeleted
68
+ };
69
+ } catch (error) {
70
+ const message = error instanceof Error ? error.message : String(error);
71
+ return {
72
+ success: false,
73
+ message: `Failed to uninstall: ${message}`,
74
+ configPath,
75
+ removed: false,
76
+ configFileDeleted: false
77
+ };
78
+ }
79
+ }
80
+ function findInstalledConfigs() {
81
+ return {
82
+ global: hasInstalledConfig("global") || hasManagedBundledSkillInstall("global") || hasBundledSkillArtifacts("global"),
83
+ local: hasInstalledConfig("local") || hasManagedBundledSkillInstall("local") || hasBundledSkillArtifacts("local")
84
+ };
85
+ }
86
+ export {
87
+ findInstalledConfigs,
88
+ hasInstalledConfig,
89
+ runUninstall
90
+ };
91
+ //# sourceMappingURL=uninstall-KYKGJAX7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/uninstall.ts"],"sourcesContent":["import * as fs from \"fs\";\nimport * as path from \"path\";\nimport * as os from \"os\";\nimport {\n getGlobalConfigPath,\n getLocalConfigPath,\n readConfig,\n hasPlugin,\n removePluginFromContent\n} from \"../utils/config\";\nimport type { InstallMode } from \"../args\";\nimport { hasBundledSkillArtifacts, hasManagedBundledSkillInstall } from \"../installers/skills\";\n\nexport interface UninstallResult {\n success: boolean;\n message: string;\n configPath?: string;\n removed: boolean;\n configFileDeleted: boolean;\n}\n\nexport function hasInstalledConfig(mode: InstallMode): boolean {\n const configPath = mode === \"global\" ? getGlobalConfigPath() : getLocalConfigPath();\n\n try {\n const { config } = readConfig(configPath);\n return hasPlugin(config);\n } catch {\n return false;\n }\n}\n\nfunction getPluginConfigPath(mode: InstallMode): string {\n if (mode === \"global\") {\n const configDir = process.env.OPENCODE_CONFIG_DIR\n || path.join(os.homedir(), \".config\", \"opencode\");\n return path.join(configDir, \"opendevbrowser.jsonc\");\n }\n return path.join(process.cwd(), \"opendevbrowser.jsonc\");\n}\n\nfunction removePluginConfigFile(mode: InstallMode): boolean {\n const configPath = getPluginConfigPath(mode);\n if (fs.existsSync(configPath)) {\n fs.unlinkSync(configPath);\n return true;\n }\n return false;\n}\n\nexport function runUninstall(\n mode: InstallMode,\n deleteConfigFile: boolean = false\n): UninstallResult {\n const configPath = mode === \"global\" ? getGlobalConfigPath() : getLocalConfigPath();\n\n try {\n const { content, config } = readConfig(configPath);\n\n if (!hasPlugin(config)) {\n return {\n success: true,\n message: `No plugin config found in ${configPath}`,\n configPath,\n removed: false,\n configFileDeleted: false\n };\n }\n\n const newContent = removePluginFromContent(content, \"opendevbrowser\");\n\n fs.writeFileSync(configPath, newContent, \"utf-8\");\n\n let configFileDeleted = false;\n if (deleteConfigFile) {\n configFileDeleted = removePluginConfigFile(mode);\n }\n\n return {\n success: true,\n message: `Removed opendevbrowser from ${configPath}`,\n configPath,\n removed: true,\n configFileDeleted\n };\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n return {\n success: false,\n message: `Failed to uninstall: ${message}`,\n configPath,\n removed: false,\n configFileDeleted: false\n };\n }\n}\n\nexport function findInstalledConfigs(): { global: boolean; local: boolean } {\n return {\n global: hasInstalledConfig(\"global\")\n || hasManagedBundledSkillInstall(\"global\")\n || hasBundledSkillArtifacts(\"global\"),\n local: hasInstalledConfig(\"local\")\n || hasManagedBundledSkillInstall(\"local\")\n || hasBundledSkillArtifacts(\"local\")\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA,YAAY,QAAQ;AACpB,YAAY,UAAU;AACtB,YAAY,QAAQ;AAmBb,SAAS,mBAAmB,MAA4B;AAC7D,QAAM,aAAa,SAAS,WAAW,oBAAoB,IAAI,mBAAmB;AAElF,MAAI;AACF,UAAM,EAAE,OAAO,IAAI,WAAW,UAAU;AACxC,WAAO,UAAU,MAAM;AAAA,EACzB,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEA,SAAS,oBAAoB,MAA2B;AACtD,MAAI,SAAS,UAAU;AACrB,UAAM,YAAY,QAAQ,IAAI,uBACpB,UAAQ,WAAQ,GAAG,WAAW,UAAU;AAClD,WAAY,UAAK,WAAW,sBAAsB;AAAA,EACpD;AACA,SAAY,UAAK,QAAQ,IAAI,GAAG,sBAAsB;AACxD;AAEA,SAAS,uBAAuB,MAA4B;AAC1D,QAAM,aAAa,oBAAoB,IAAI;AAC3C,MAAO,cAAW,UAAU,GAAG;AAC7B,IAAG,cAAW,UAAU;AACxB,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEO,SAAS,aACd,MACA,mBAA4B,OACX;AACjB,QAAM,aAAa,SAAS,WAAW,oBAAoB,IAAI,mBAAmB;AAElF,MAAI;AACF,UAAM,EAAE,SAAS,OAAO,IAAI,WAAW,UAAU;AAEjD,QAAI,CAAC,UAAU,MAAM,GAAG;AACtB,aAAO;AAAA,QACL,SAAS;AAAA,QACT,SAAS,6BAA6B,UAAU;AAAA,QAChD;AAAA,QACA,SAAS;AAAA,QACT,mBAAmB;AAAA,MACrB;AAAA,IACF;AAEA,UAAM,aAAa,wBAAwB,SAAS,gBAAgB;AAEpE,IAAG,iBAAc,YAAY,YAAY,OAAO;AAEhD,QAAI,oBAAoB;AACxB,QAAI,kBAAkB;AACpB,0BAAoB,uBAAuB,IAAI;AAAA,IACjD;AAEA,WAAO;AAAA,MACL,SAAS;AAAA,MACT,SAAS,+BAA+B,UAAU;AAAA,MAClD;AAAA,MACA,SAAS;AAAA,MACT;AAAA,IACF;AAAA,EACF,SAAS,OAAO;AACd,UAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AACrE,WAAO;AAAA,MACL,SAAS;AAAA,MACT,SAAS,wBAAwB,OAAO;AAAA,MACxC;AAAA,MACA,SAAS;AAAA,MACT,mBAAmB;AAAA,IACrB;AAAA,EACF;AACF;AAEO,SAAS,uBAA4D;AAC1E,SAAO;AAAA,IACL,QAAQ,mBAAmB,QAAQ,KAC9B,8BAA8B,QAAQ,KACtC,yBAAyB,QAAQ;AAAA,IACtC,OAAO,mBAAmB,OAAO,KAC5B,8BAA8B,OAAO,KACrC,yBAAyB,OAAO;AAAA,EACvC;AACF;","names":[]}