opendevbrowser 0.0.28 → 0.0.30

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 (325) hide show
  1. package/README.md +2 -2
  2. package/dist/accessibility-snapshot-CQ4ZKWKC.js +39 -0
  3. package/dist/accessibility-snapshot-CQ4ZKWKC.js.map +1 -0
  4. package/dist/active-window-TD5HYJ72.js +37 -0
  5. package/dist/active-window-TD5HYJ72.js.map +1 -0
  6. package/dist/annotate-VTLFS2XV.js +205 -0
  7. package/dist/annotate-VTLFS2XV.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-BCI5KYCW.js +84 -0
  11. package/dist/attr-BCI5KYCW.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-5DFEEOKM.js +309 -0
  15. package/dist/canvas-5DFEEOKM.js.map +1 -0
  16. package/dist/capture-desktop-HFTTWY4Z.js +38 -0
  17. package/dist/capture-desktop-HFTTWY4Z.js.map +1 -0
  18. package/dist/capture-window-X63XPIFF.js +40 -0
  19. package/dist/capture-window-X63XPIFF.js.map +1 -0
  20. package/dist/check-LWAUY7GC.js +71 -0
  21. package/dist/check-LWAUY7GC.js.map +1 -0
  22. package/dist/checked-ZSOUKVYT.js +71 -0
  23. package/dist/checked-ZSOUKVYT.js.map +1 -0
  24. package/dist/chunk-2SIMIPLY.js +67 -0
  25. package/dist/chunk-2SIMIPLY.js.map +1 -0
  26. package/dist/chunk-37VSRUW4.js +141 -0
  27. package/dist/chunk-37VSRUW4.js.map +1 -0
  28. package/dist/{chunk-T3VVHJTK.js → chunk-4BEJVZRK.js} +1078 -1458
  29. package/dist/chunk-4BEJVZRK.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-AHEWXOKY.js +64 -0
  39. package/dist/chunk-AHEWXOKY.js.map +1 -0
  40. package/dist/chunk-ASMHEEKY.js +10 -0
  41. package/dist/chunk-ASMHEEKY.js.map +1 -0
  42. package/dist/chunk-COAOWH3G.js +3651 -0
  43. package/dist/chunk-COAOWH3G.js.map +1 -0
  44. package/dist/chunk-DBF5OKH3.js +111 -0
  45. package/dist/chunk-DBF5OKH3.js.map +1 -0
  46. package/dist/chunk-DW4TX7MU.js +54 -0
  47. package/dist/chunk-DW4TX7MU.js.map +1 -0
  48. package/dist/chunk-GQJ5S3BL.js +20 -0
  49. package/dist/chunk-GQJ5S3BL.js.map +1 -0
  50. package/dist/chunk-IPE7TF2P.js +54 -0
  51. package/dist/chunk-IPE7TF2P.js.map +1 -0
  52. package/dist/chunk-IQTJHXZJ.js +126 -0
  53. package/dist/chunk-IQTJHXZJ.js.map +1 -0
  54. package/dist/chunk-J47N77VG.js +2969 -0
  55. package/dist/chunk-J47N77VG.js.map +1 -0
  56. package/dist/chunk-JZXD6FWR.js +25 -0
  57. package/dist/chunk-JZXD6FWR.js.map +1 -0
  58. package/dist/{chunk-QVWOPIZJ.js → chunk-KDSNXS6N.js} +75 -149
  59. package/dist/chunk-KDSNXS6N.js.map +1 -0
  60. package/dist/chunk-KZ2IXVQT.js +219 -0
  61. package/dist/chunk-KZ2IXVQT.js.map +1 -0
  62. package/dist/chunk-MD655IPO.js +838 -0
  63. package/dist/chunk-MD655IPO.js.map +1 -0
  64. package/dist/chunk-MX3NFLCE.js +940 -0
  65. package/dist/chunk-MX3NFLCE.js.map +1 -0
  66. package/dist/chunk-OW5HMYMI.js +19 -0
  67. package/dist/chunk-OW5HMYMI.js.map +1 -0
  68. package/dist/chunk-PPUWQKIC.js +26 -0
  69. package/dist/chunk-PPUWQKIC.js.map +1 -0
  70. package/dist/{chunk-I5ZCOZZV.js → chunk-QOMWCRE3.js} +1202 -9561
  71. package/dist/chunk-QOMWCRE3.js.map +1 -0
  72. package/dist/chunk-RCZZGGJS.js +226 -0
  73. package/dist/chunk-RCZZGGJS.js.map +1 -0
  74. package/dist/chunk-RJNI3BHT.js +1 -0
  75. package/dist/chunk-RPXWUCQQ.js +112 -0
  76. package/dist/chunk-RPXWUCQQ.js.map +1 -0
  77. package/dist/chunk-S5KZQJJI.js +107 -0
  78. package/dist/chunk-S5KZQJJI.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-2AILSEIZ.js +81 -0
  102. package/dist/click-2AILSEIZ.js.map +1 -0
  103. package/dist/clone-component-TPJS3PEG.js +82 -0
  104. package/dist/clone-component-TPJS3PEG.js.map +1 -0
  105. package/dist/clone-page-LE74CIFC.js +69 -0
  106. package/dist/clone-page-LE74CIFC.js.map +1 -0
  107. package/dist/close-HN4YI47K.js +63 -0
  108. package/dist/close-HN4YI47K.js.map +1 -0
  109. package/dist/close-WFERRHX6.js +63 -0
  110. package/dist/close-WFERRHX6.js.map +1 -0
  111. package/dist/connect-RWBV2UCQ.js +107 -0
  112. package/dist/connect-RWBV2UCQ.js.map +1 -0
  113. package/dist/console-poll-PP4YYPDF.js +76 -0
  114. package/dist/console-poll-PP4YYPDF.js.map +1 -0
  115. package/dist/cookie-import-6IP776FC.js +177 -0
  116. package/dist/cookie-import-6IP776FC.js.map +1 -0
  117. package/dist/cookie-list-O2KG6DPU.js +117 -0
  118. package/dist/cookie-list-O2KG6DPU.js.map +1 -0
  119. package/dist/daemon-2BSAZXLT.js +194 -0
  120. package/dist/daemon-2BSAZXLT.js.map +1 -0
  121. package/dist/daemon-fingerprint.json +1 -1
  122. package/dist/debug-trace-snapshot-F3BDVZXS.js +136 -0
  123. package/dist/debug-trace-snapshot-F3BDVZXS.js.map +1 -0
  124. package/dist/dialog-6JQYUWMQ.js +75 -0
  125. package/dist/dialog-6JQYUWMQ.js.map +1 -0
  126. package/dist/disconnect-763TP7GH.js +58 -0
  127. package/dist/disconnect-763TP7GH.js.map +1 -0
  128. package/dist/enabled-DLYQFNIP.js +71 -0
  129. package/dist/enabled-DLYQFNIP.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-S346TJJH.js +98 -0
  135. package/dist/goto-S346TJJH.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-6JVJFGO7.js +71 -0
  139. package/dist/hover-6JVJFGO7.js.map +1 -0
  140. package/dist/html-EVOSPBIT.js +84 -0
  141. package/dist/html-EVOSPBIT.js.map +1 -0
  142. package/dist/index.d.ts.map +1 -1
  143. package/dist/index.js +87 -38
  144. package/dist/index.js.map +1 -1
  145. package/dist/inspector-H57BVUJP.js +62 -0
  146. package/dist/inspector-H57BVUJP.js.map +1 -0
  147. package/dist/inspector-audit-NQBAJWC7.js +84 -0
  148. package/dist/inspector-audit-NQBAJWC7.js.map +1 -0
  149. package/dist/inspector-plan-ZDIQVND3.js +69 -0
  150. package/dist/inspector-plan-ZDIQVND3.js.map +1 -0
  151. package/dist/inspiredesign-IEUL4PX3.js +234 -0
  152. package/dist/inspiredesign-IEUL4PX3.js.map +1 -0
  153. package/dist/install-autostart-output-5DOMKCQL.js +41 -0
  154. package/dist/install-autostart-output-5DOMKCQL.js.map +1 -0
  155. package/dist/install-autostart-reconciliation-NHKOFYTD.js +73 -0
  156. package/dist/install-autostart-reconciliation-NHKOFYTD.js.map +1 -0
  157. package/dist/launch-EK66VQPF.js +225 -0
  158. package/dist/launch-EK66VQPF.js.map +1 -0
  159. package/dist/list-ADZAQ2IU.js +51 -0
  160. package/dist/list-ADZAQ2IU.js.map +1 -0
  161. package/dist/list-KKUKN467.js +54 -0
  162. package/dist/list-KKUKN467.js.map +1 -0
  163. package/dist/local-HXJLUUNT.js +54 -0
  164. package/dist/local-HXJLUUNT.js.map +1 -0
  165. package/dist/macro-resolve-6DOQJ7CA.js +253 -0
  166. package/dist/macro-resolve-6DOQJ7CA.js.map +1 -0
  167. package/dist/macros/execute-runtime.d.ts +3 -1
  168. package/dist/macros/execute-runtime.d.ts.map +1 -1
  169. package/dist/macros/execute.d.ts +2 -0
  170. package/dist/macros/execute.d.ts.map +1 -1
  171. package/dist/native-UPLVQ2SG.js +22 -0
  172. package/dist/native-UPLVQ2SG.js.map +1 -0
  173. package/dist/network-poll-NUL4PDPY.js +76 -0
  174. package/dist/network-poll-NUL4PDPY.js.map +1 -0
  175. package/dist/new-5NKYPEFT.js +69 -0
  176. package/dist/new-5NKYPEFT.js.map +1 -0
  177. package/dist/onboarding-metadata-7E3KLYSZ.js +27 -0
  178. package/dist/onboarding-metadata-7E3KLYSZ.js.map +1 -0
  179. package/dist/open-NR3BPLXV.js +81 -0
  180. package/dist/open-NR3BPLXV.js.map +1 -0
  181. package/dist/opendevbrowser.d.ts.map +1 -1
  182. package/dist/opendevbrowser.js +87 -38
  183. package/dist/opendevbrowser.js.map +1 -1
  184. package/dist/perf-HJ36ZI6H.js +58 -0
  185. package/dist/perf-HJ36ZI6H.js.map +1 -0
  186. package/dist/pointer-down-IYTTQWXZ.js +55 -0
  187. package/dist/pointer-down-IYTTQWXZ.js.map +1 -0
  188. package/dist/pointer-drag-A2YC5PWI.js +54 -0
  189. package/dist/pointer-drag-A2YC5PWI.js.map +1 -0
  190. package/dist/pointer-move-W5K5FUI4.js +52 -0
  191. package/dist/pointer-move-W5K5FUI4.js.map +1 -0
  192. package/dist/pointer-up-6GWVO64Y.js +55 -0
  193. package/dist/pointer-up-6GWVO64Y.js.map +1 -0
  194. package/dist/press-A3V5WB3S.js +83 -0
  195. package/dist/press-A3V5WB3S.js.map +1 -0
  196. package/dist/product-video-52REKWF3.js +235 -0
  197. package/dist/product-video-52REKWF3.js.map +1 -0
  198. package/dist/providers/artifacts.d.ts +0 -2
  199. package/dist/providers/artifacts.d.ts.map +1 -1
  200. package/dist/providers/blocker.d.ts.map +1 -1
  201. package/dist/providers/bounded-map.d.ts +2 -0
  202. package/dist/providers/bounded-map.d.ts.map +1 -0
  203. package/dist/providers/community/index.d.ts.map +1 -1
  204. package/dist/providers/constraint.d.ts.map +1 -1
  205. package/dist/providers/index.d.ts +1 -0
  206. package/dist/providers/index.d.ts.map +1 -1
  207. package/dist/providers/renderer.d.ts.map +1 -1
  208. package/dist/providers/research-compiler.d.ts +1 -1
  209. package/dist/providers/research-compiler.d.ts.map +1 -1
  210. package/dist/providers/research-executor.d.ts.map +1 -1
  211. package/dist/providers/runtime-factory.d.ts.map +1 -1
  212. package/dist/providers/shared/traversal-url.d.ts +3 -0
  213. package/dist/providers/shared/traversal-url.d.ts.map +1 -1
  214. package/dist/providers/shopping/index.d.ts.map +1 -1
  215. package/dist/providers/social/search-quality.d.ts.map +1 -1
  216. package/dist/providers/workflow-handoff.d.ts +4 -0
  217. package/dist/providers/workflow-handoff.d.ts.map +1 -1
  218. package/dist/providers/workflow-output-root.d.ts +6 -0
  219. package/dist/providers/workflow-output-root.d.ts.map +1 -0
  220. package/dist/providers/workflows.d.ts.map +1 -1
  221. package/dist/{providers-QF2RFB4J.js → providers-IMFYMMHQ.js} +19 -14
  222. package/dist/providers-IMFYMMHQ.js.map +1 -0
  223. package/dist/public-surface/generated-manifest.d.ts +2 -2
  224. package/dist/public-surface/generated-manifest.d.ts.map +1 -1
  225. package/dist/public-surface/source.d.ts +2 -2
  226. package/dist/public-surface/source.d.ts.map +1 -1
  227. package/dist/relay/protocol.d.ts +3 -1
  228. package/dist/relay/protocol.d.ts.map +1 -1
  229. package/dist/relay/relay-server.d.ts +6 -0
  230. package/dist/relay/relay-server.d.ts.map +1 -1
  231. package/dist/research-WB6BBCDD.js +295 -0
  232. package/dist/research-WB6BBCDD.js.map +1 -0
  233. package/dist/review-BGWVY4RA.js +48 -0
  234. package/dist/review-BGWVY4RA.js.map +1 -0
  235. package/dist/review-desktop-LEORC5VS.js +54 -0
  236. package/dist/review-desktop-LEORC5VS.js.map +1 -0
  237. package/dist/rpc-4TSKSFGC.js +159 -0
  238. package/dist/rpc-4TSKSFGC.js.map +1 -0
  239. package/dist/run-3NBLVWXD.js +180 -0
  240. package/dist/run-3NBLVWXD.js.map +1 -0
  241. package/dist/screencast-start-UZVIT3IN.js +67 -0
  242. package/dist/screencast-start-UZVIT3IN.js.map +1 -0
  243. package/dist/screencast-stop-NOSJSIUO.js +59 -0
  244. package/dist/screencast-stop-NOSJSIUO.js.map +1 -0
  245. package/dist/screenshot-LARG4JQG.js +68 -0
  246. package/dist/screenshot-LARG4JQG.js.map +1 -0
  247. package/dist/scroll-VNFMV6TW.js +84 -0
  248. package/dist/scroll-VNFMV6TW.js.map +1 -0
  249. package/dist/scroll-into-view-VYRT3JPT.js +71 -0
  250. package/dist/scroll-into-view-VYRT3JPT.js.map +1 -0
  251. package/dist/select-KJTUZDVO.js +86 -0
  252. package/dist/select-KJTUZDVO.js.map +1 -0
  253. package/dist/serve-EV7K4HKR.js +498 -0
  254. package/dist/serve-EV7K4HKR.js.map +1 -0
  255. package/dist/shopping-DTXHVQ2X.js +273 -0
  256. package/dist/shopping-DTXHVQ2X.js.map +1 -0
  257. package/dist/skill-lifecycle-5UAZGKSN.js +89 -0
  258. package/dist/skill-lifecycle-5UAZGKSN.js.map +1 -0
  259. package/dist/skills-NSXDX6YM.js +26 -0
  260. package/dist/skills-NSXDX6YM.js.map +1 -0
  261. package/dist/snapshot-3XQMCMRJ.js +113 -0
  262. package/dist/snapshot-3XQMCMRJ.js.map +1 -0
  263. package/dist/status-OXSYA5XD.js +35 -0
  264. package/dist/status-OXSYA5XD.js.map +1 -0
  265. package/dist/status-YUMDP5KY.js +132 -0
  266. package/dist/status-YUMDP5KY.js.map +1 -0
  267. package/dist/status-capabilities-P4KDSE2Y.js +57 -0
  268. package/dist/status-capabilities-P4KDSE2Y.js.map +1 -0
  269. package/dist/text-V3B7UVIH.js +84 -0
  270. package/dist/text-V3B7UVIH.js.map +1 -0
  271. package/dist/tools/deps.d.ts +1 -0
  272. package/dist/tools/deps.d.ts.map +1 -1
  273. package/dist/tools/inspiredesign_run.d.ts.map +1 -1
  274. package/dist/tools/macro_resolve.d.ts.map +1 -1
  275. package/dist/tools/product_video_run.d.ts.map +1 -1
  276. package/dist/tools/research_run.d.ts.map +1 -1
  277. package/dist/tools/shopping_run.d.ts.map +1 -1
  278. package/dist/tools/workflow-output.d.ts +3 -0
  279. package/dist/tools/workflow-output.d.ts.map +1 -0
  280. package/dist/type-IYBN3ZLR.js +94 -0
  281. package/dist/type-IYBN3ZLR.js.map +1 -0
  282. package/dist/uncheck-SG737EGI.js +71 -0
  283. package/dist/uncheck-SG737EGI.js.map +1 -0
  284. package/dist/uninstall-KYKGJAX7.js +91 -0
  285. package/dist/uninstall-KYKGJAX7.js.map +1 -0
  286. package/dist/update-SMXPYGXS.js +305 -0
  287. package/dist/update-SMXPYGXS.js.map +1 -0
  288. package/dist/update-skill-modes-BVX7IVMW.js +38 -0
  289. package/dist/update-skill-modes-BVX7IVMW.js.map +1 -0
  290. package/dist/upload-KH6ZABJA.js +56 -0
  291. package/dist/upload-KH6ZABJA.js.map +1 -0
  292. package/dist/use-7YDKO3U4.js +63 -0
  293. package/dist/use-7YDKO3U4.js.map +1 -0
  294. package/dist/value-RZBWSKKM.js +71 -0
  295. package/dist/value-RZBWSKKM.js.map +1 -0
  296. package/dist/visible-BSFTAKXR.js +71 -0
  297. package/dist/visible-BSFTAKXR.js.map +1 -0
  298. package/dist/wait-TMTEAYOP.js +109 -0
  299. package/dist/wait-TMTEAYOP.js.map +1 -0
  300. package/dist/windows-HIZ23OHS.js +37 -0
  301. package/dist/windows-HIZ23OHS.js.map +1 -0
  302. package/extension/dist/background.js +99 -22
  303. package/extension/dist/ops/ops-runtime.js +85 -7
  304. package/extension/dist/ops/ops-session-store.js +3 -0
  305. package/extension/dist/ops/target-session-coordinator.js +3 -0
  306. package/extension/dist/services/CDPRouter.js +9 -0
  307. package/extension/manifest.json +1 -1
  308. package/package.json +1 -1
  309. package/skills/opendevbrowser-best-practices/SKILL.md +8 -6
  310. package/skills/opendevbrowser-best-practices/artifacts/skill-runtime-surface-matrix.md +1 -1
  311. package/skills/opendevbrowser-best-practices/scripts/odb-workflow.sh +3 -2
  312. package/skills/opendevbrowser-best-practices/scripts/validator-fixture-cli.sh +39 -2
  313. package/skills/opendevbrowser-research/SKILL.md +64 -12
  314. package/skills/opendevbrowser-research/artifacts/research-workflows.md +56 -19
  315. package/skills/opendevbrowser-research/assets/templates/compact.md +31 -5
  316. package/skills/opendevbrowser-research/assets/templates/context.json +52 -1
  317. package/skills/opendevbrowser-research/assets/templates/report.md +57 -4
  318. package/skills/opendevbrowser-research/examples/sample-input.json +1 -1
  319. package/skills/opendevbrowser-research/examples/sample-output.md +27 -2
  320. package/skills/opendevbrowser-research/scripts/run-research.sh +2 -6
  321. package/skills/opendevbrowser-research/scripts/validate-skill-assets.sh +115 -1
  322. package/dist/chunk-I5ZCOZZV.js.map +0 -1
  323. package/dist/chunk-QVWOPIZJ.js.map +0 -1
  324. package/dist/chunk-T3VVHJTK.js.map +0 -1
  325. /package/dist/{providers-QF2RFB4J.js.map → chunk-RJNI3BHT.js.map} +0 -0
@@ -0,0 +1,273 @@
1
+ import {
2
+ resolveWorkflowOutputDirFlag
3
+ } from "./chunk-GQJ5S3BL.js";
4
+ import "./chunk-RJNI3BHT.js";
5
+ import {
6
+ parseNumberFlag
7
+ } from "./chunk-RPXWUCQQ.js";
8
+ import {
9
+ DEFAULT_WORKFLOW_TRANSPORT_TIMEOUT_MS
10
+ } from "./chunk-OW5HMYMI.js";
11
+ import {
12
+ callDaemon
13
+ } from "./chunk-MD655IPO.js";
14
+ import "./chunk-COAOWH3G.js";
15
+ import "./chunk-QOMWCRE3.js";
16
+ import "./chunk-MX3NFLCE.js";
17
+ import "./chunk-ASMHEEKY.js";
18
+ import {
19
+ buildWorkflowCompletionMessage
20
+ } from "./chunk-37VSRUW4.js";
21
+ import {
22
+ createUsageError
23
+ } from "./chunk-IPE7TF2P.js";
24
+ import "./chunk-STGGGVYT.js";
25
+ import "./chunk-3ILXPKSJ.js";
26
+ import "./chunk-TBUCZX4A.js";
27
+ import "./chunk-Y2KL55OG.js";
28
+ import "./chunk-5SWZDVOW.js";
29
+ import {
30
+ isChallengeAutomationMode
31
+ } from "./chunk-4BEJVZRK.js";
32
+ import "./chunk-S5KZQJJI.js";
33
+ import "./chunk-KZ2IXVQT.js";
34
+ import "./chunk-WHQZBUNY.js";
35
+ import "./chunk-FUSXMW3G.js";
36
+
37
+ // src/cli/commands/shopping.ts
38
+ var SORT_VALUES = /* @__PURE__ */ new Set(["best_deal", "lowest_price", "highest_rating", "fastest_shipping"]);
39
+ var MODE_VALUES = /* @__PURE__ */ new Set(["compact", "json", "md", "context", "path"]);
40
+ var COOKIE_POLICY_VALUES = /* @__PURE__ */ new Set(["off", "auto", "required"]);
41
+ var BROWSER_MODE_VALUES = /* @__PURE__ */ new Set(["auto", "extension", "managed"]);
42
+ var SHOPPING_TRANSPORT_TIMEOUT_BUFFER_MS = 6e4;
43
+ var deriveShoppingTransportTimeoutMs = (timeoutMs) => {
44
+ return Math.max(
45
+ DEFAULT_WORKFLOW_TRANSPORT_TIMEOUT_MS,
46
+ timeoutMs + SHOPPING_TRANSPORT_TIMEOUT_BUFFER_MS
47
+ );
48
+ };
49
+ var requireValue = (rawArgs, index, flag) => {
50
+ const value = rawArgs[index + 1];
51
+ if (!value) {
52
+ throw createUsageError(`Missing value for ${flag}`);
53
+ }
54
+ return value;
55
+ };
56
+ var parseBoolean = (value, flag) => {
57
+ if (value === "true") return true;
58
+ if (value === "false") return false;
59
+ throw createUsageError(`Invalid ${flag}: ${value}`);
60
+ };
61
+ var parseProviders = (raw) => {
62
+ const providers = raw.split(",").map((entry) => entry.trim()).filter(Boolean);
63
+ if (providers.length === 0) {
64
+ throw createUsageError("--providers requires at least one provider");
65
+ }
66
+ return [...new Set(providers)];
67
+ };
68
+ var parseShoppingRunArgs = (rawArgs) => {
69
+ const parsed = {};
70
+ for (let index = 0; index < rawArgs.length; index += 1) {
71
+ const arg = rawArgs[index];
72
+ if (arg === "--query") {
73
+ parsed.query = requireValue(rawArgs, index, "--query");
74
+ index += 1;
75
+ continue;
76
+ }
77
+ if (arg?.startsWith("--query=")) {
78
+ parsed.query = arg.split("=", 2)[1];
79
+ continue;
80
+ }
81
+ if (arg === "--providers") {
82
+ parsed.providers = parseProviders(requireValue(rawArgs, index, "--providers"));
83
+ index += 1;
84
+ continue;
85
+ }
86
+ if (arg?.startsWith("--providers=")) {
87
+ parsed.providers = parseProviders(arg.split("=", 2)[1] ?? "");
88
+ continue;
89
+ }
90
+ if (arg === "--budget") {
91
+ parsed.budget = parseNumberFlag(requireValue(rawArgs, index, "--budget"), "--budget", { min: 1, integer: false });
92
+ index += 1;
93
+ continue;
94
+ }
95
+ if (arg?.startsWith("--budget=")) {
96
+ parsed.budget = parseNumberFlag(arg.split("=", 2)[1] ?? "", "--budget", { min: 1, integer: false });
97
+ continue;
98
+ }
99
+ if (arg === "--region") {
100
+ parsed.region = requireValue(rawArgs, index, "--region");
101
+ index += 1;
102
+ continue;
103
+ }
104
+ if (arg?.startsWith("--region=")) {
105
+ parsed.region = arg.split("=", 2)[1];
106
+ continue;
107
+ }
108
+ if (arg === "--browser-mode") {
109
+ const value = requireValue(rawArgs, index, "--browser-mode").toLowerCase();
110
+ if (!BROWSER_MODE_VALUES.has(value)) {
111
+ throw createUsageError(`Invalid --browser-mode: ${value}`);
112
+ }
113
+ parsed.browserMode = value;
114
+ index += 1;
115
+ continue;
116
+ }
117
+ if (arg?.startsWith("--browser-mode=")) {
118
+ const value = (arg.split("=", 2)[1] ?? "").toLowerCase();
119
+ if (!BROWSER_MODE_VALUES.has(value)) {
120
+ throw createUsageError(`Invalid --browser-mode: ${value}`);
121
+ }
122
+ parsed.browserMode = value;
123
+ continue;
124
+ }
125
+ if (arg === "--sort") {
126
+ const value = requireValue(rawArgs, index, "--sort").toLowerCase();
127
+ if (!SORT_VALUES.has(value)) {
128
+ throw createUsageError(`Invalid --sort: ${value}`);
129
+ }
130
+ parsed.sort = value;
131
+ index += 1;
132
+ continue;
133
+ }
134
+ if (arg?.startsWith("--sort=")) {
135
+ const value = (arg.split("=", 2)[1] ?? "").toLowerCase();
136
+ if (!SORT_VALUES.has(value)) {
137
+ throw createUsageError(`Invalid --sort: ${value}`);
138
+ }
139
+ parsed.sort = value;
140
+ continue;
141
+ }
142
+ if (arg === "--mode") {
143
+ const value = requireValue(rawArgs, index, "--mode").toLowerCase();
144
+ if (!MODE_VALUES.has(value)) {
145
+ throw createUsageError(`Invalid --mode: ${value}`);
146
+ }
147
+ parsed.mode = value;
148
+ index += 1;
149
+ continue;
150
+ }
151
+ if (arg?.startsWith("--mode=")) {
152
+ const value = (arg.split("=", 2)[1] ?? "").toLowerCase();
153
+ if (!MODE_VALUES.has(value)) {
154
+ throw createUsageError(`Invalid --mode: ${value}`);
155
+ }
156
+ parsed.mode = value;
157
+ continue;
158
+ }
159
+ if (arg === "--timeout-ms") {
160
+ parsed.timeoutMs = parseNumberFlag(requireValue(rawArgs, index, "--timeout-ms"), "--timeout-ms", { min: 1 });
161
+ index += 1;
162
+ continue;
163
+ }
164
+ if (arg?.startsWith("--timeout-ms=")) {
165
+ parsed.timeoutMs = parseNumberFlag(arg.split("=", 2)[1] ?? "", "--timeout-ms", { min: 1 });
166
+ continue;
167
+ }
168
+ if (arg === "--output-dir") {
169
+ parsed.outputDir = resolveWorkflowOutputDirFlag(requireValue(rawArgs, index, "--output-dir"));
170
+ index += 1;
171
+ continue;
172
+ }
173
+ if (arg?.startsWith("--output-dir=")) {
174
+ parsed.outputDir = resolveWorkflowOutputDirFlag(arg.split("=", 2)[1]);
175
+ continue;
176
+ }
177
+ if (arg === "--ttl-hours") {
178
+ parsed.ttlHours = parseNumberFlag(requireValue(rawArgs, index, "--ttl-hours"), "--ttl-hours", { min: 1, max: 168 });
179
+ index += 1;
180
+ continue;
181
+ }
182
+ if (arg?.startsWith("--ttl-hours=")) {
183
+ parsed.ttlHours = parseNumberFlag(arg.split("=", 2)[1] ?? "", "--ttl-hours", { min: 1, max: 168 });
184
+ continue;
185
+ }
186
+ if (arg === "--use-cookies") {
187
+ parsed.useCookies = true;
188
+ continue;
189
+ }
190
+ if (arg?.startsWith("--use-cookies=")) {
191
+ parsed.useCookies = parseBoolean(arg.split("=", 2)[1] ?? "", "--use-cookies");
192
+ continue;
193
+ }
194
+ if (arg === "--challenge-automation-mode") {
195
+ const value = requireValue(rawArgs, index, "--challenge-automation-mode");
196
+ if (!isChallengeAutomationMode(value)) {
197
+ throw createUsageError(`Invalid --challenge-automation-mode: ${value}`);
198
+ }
199
+ parsed.challengeAutomationMode = value;
200
+ index += 1;
201
+ continue;
202
+ }
203
+ if (arg?.startsWith("--challenge-automation-mode=")) {
204
+ const value = arg.split("=", 2)[1] ?? "";
205
+ if (!isChallengeAutomationMode(value)) {
206
+ throw createUsageError(`Invalid --challenge-automation-mode: ${value}`);
207
+ }
208
+ parsed.challengeAutomationMode = value;
209
+ continue;
210
+ }
211
+ if (arg === "--cookie-policy-override" || arg === "--cookie-policy") {
212
+ const value = requireValue(rawArgs, index, arg).toLowerCase();
213
+ if (!COOKIE_POLICY_VALUES.has(value)) {
214
+ throw createUsageError(`Invalid ${arg}: ${value}`);
215
+ }
216
+ parsed.cookiePolicyOverride = value;
217
+ index += 1;
218
+ continue;
219
+ }
220
+ if (arg?.startsWith("--cookie-policy-override=") || arg?.startsWith("--cookie-policy=")) {
221
+ const value = (arg.split("=", 2)[1] ?? "").toLowerCase();
222
+ if (!COOKIE_POLICY_VALUES.has(value)) {
223
+ throw createUsageError(`Invalid --cookie-policy-override: ${value}`);
224
+ }
225
+ parsed.cookiePolicyOverride = value;
226
+ continue;
227
+ }
228
+ }
229
+ return parsed;
230
+ };
231
+ async function runShoppingCommand(args) {
232
+ const [subcommand, ...rest] = args.rawArgs;
233
+ if (subcommand !== "run") {
234
+ throw createUsageError("Usage: opendevbrowser shopping run --query <value> [options]");
235
+ }
236
+ const parsed = parseShoppingRunArgs(rest);
237
+ if (!parsed.query?.trim()) {
238
+ throw createUsageError("Missing --query");
239
+ }
240
+ const payload = {
241
+ query: parsed.query,
242
+ providers: parsed.providers,
243
+ budget: parsed.budget,
244
+ region: parsed.region,
245
+ browserMode: parsed.browserMode,
246
+ sort: parsed.sort,
247
+ mode: parsed.mode ?? "compact",
248
+ timeoutMs: parsed.timeoutMs ?? DEFAULT_WORKFLOW_TRANSPORT_TIMEOUT_MS,
249
+ outputDir: resolveWorkflowOutputDirFlag(parsed.outputDir),
250
+ ttlHours: parsed.ttlHours,
251
+ useCookies: parsed.useCookies,
252
+ challengeAutomationMode: parsed.challengeAutomationMode,
253
+ cookiePolicyOverride: parsed.cookiePolicyOverride
254
+ };
255
+ const data = await callDaemon("shopping.run", payload, {
256
+ timeoutMs: deriveShoppingTransportTimeoutMs(payload.timeoutMs)
257
+ });
258
+ return {
259
+ success: true,
260
+ message: buildWorkflowCompletionMessage("Shopping workflow", data),
261
+ data
262
+ };
263
+ }
264
+ var __test__ = {
265
+ parseShoppingRunArgs,
266
+ parseProviders,
267
+ deriveShoppingTransportTimeoutMs
268
+ };
269
+ export {
270
+ __test__,
271
+ runShoppingCommand
272
+ };
273
+ //# sourceMappingURL=shopping-DTXHVQ2X.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/shopping.ts"],"sourcesContent":["import type { ParsedArgs } from \"../args\";\nimport { callDaemon } from \"../client\";\nimport { createUsageError } from \"../errors\";\nimport { parseNumberFlag } from \"../utils/parse\";\nimport { buildWorkflowCompletionMessage } from \"../utils/workflow-message\";\nimport { DEFAULT_WORKFLOW_TRANSPORT_TIMEOUT_MS } from \"../transport-timeouts\";\nimport { resolveWorkflowOutputDirFlag } from \"./workflow-output\";\nimport { isChallengeAutomationMode, type ChallengeAutomationMode } from \"../../challenges/types\";\nimport type { WorkflowBrowserMode } from \"../../providers/types\";\n\ntype ShoppingCommandArgs = {\n query?: string;\n providers?: string[];\n budget?: number;\n region?: string;\n browserMode?: WorkflowBrowserMode;\n sort?: \"best_deal\" | \"lowest_price\" | \"highest_rating\" | \"fastest_shipping\";\n mode?: \"compact\" | \"json\" | \"md\" | \"context\" | \"path\";\n timeoutMs?: number;\n outputDir?: string;\n ttlHours?: number;\n useCookies?: boolean;\n challengeAutomationMode?: ChallengeAutomationMode;\n cookiePolicyOverride?: \"off\" | \"auto\" | \"required\";\n};\n\nconst SORT_VALUES = new Set([\"best_deal\", \"lowest_price\", \"highest_rating\", \"fastest_shipping\"]);\nconst MODE_VALUES = new Set([\"compact\", \"json\", \"md\", \"context\", \"path\"]);\nconst COOKIE_POLICY_VALUES = new Set([\"off\", \"auto\", \"required\"]);\nconst BROWSER_MODE_VALUES = new Set([\"auto\", \"extension\", \"managed\"]);\nconst SHOPPING_TRANSPORT_TIMEOUT_BUFFER_MS = 60_000;\n\nconst deriveShoppingTransportTimeoutMs = (timeoutMs: number): number => {\n return Math.max(\n DEFAULT_WORKFLOW_TRANSPORT_TIMEOUT_MS,\n timeoutMs + SHOPPING_TRANSPORT_TIMEOUT_BUFFER_MS\n );\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 parseBoolean = (value: string, flag: string): boolean => {\n if (value === \"true\") return true;\n if (value === \"false\") return false;\n throw createUsageError(`Invalid ${flag}: ${value}`);\n};\n\nconst parseProviders = (raw: string): string[] => {\n const providers = raw\n .split(\",\")\n .map((entry) => entry.trim())\n .filter(Boolean);\n if (providers.length === 0) {\n throw createUsageError(\"--providers requires at least one provider\");\n }\n return [...new Set(providers)];\n};\n\nconst parseShoppingRunArgs = (rawArgs: string[]): ShoppingCommandArgs => {\n const parsed: ShoppingCommandArgs = {};\n\n for (let index = 0; index < rawArgs.length; index += 1) {\n const arg = rawArgs[index];\n\n if (arg === \"--query\") {\n parsed.query = requireValue(rawArgs, index, \"--query\");\n index += 1;\n continue;\n }\n if (arg?.startsWith(\"--query=\")) {\n parsed.query = arg.split(\"=\", 2)[1];\n continue;\n }\n\n if (arg === \"--providers\") {\n parsed.providers = parseProviders(requireValue(rawArgs, index, \"--providers\"));\n index += 1;\n continue;\n }\n if (arg?.startsWith(\"--providers=\")) {\n parsed.providers = parseProviders(arg.split(\"=\", 2)[1] ?? \"\");\n continue;\n }\n\n if (arg === \"--budget\") {\n parsed.budget = parseNumberFlag(requireValue(rawArgs, index, \"--budget\"), \"--budget\", { min: 1, integer: false });\n index += 1;\n continue;\n }\n if (arg?.startsWith(\"--budget=\")) {\n parsed.budget = parseNumberFlag(arg.split(\"=\", 2)[1] ?? \"\", \"--budget\", { min: 1, integer: false });\n continue;\n }\n\n if (arg === \"--region\") {\n parsed.region = requireValue(rawArgs, index, \"--region\");\n index += 1;\n continue;\n }\n if (arg?.startsWith(\"--region=\")) {\n parsed.region = arg.split(\"=\", 2)[1];\n continue;\n }\n\n if (arg === \"--browser-mode\") {\n const value = requireValue(rawArgs, index, \"--browser-mode\").toLowerCase();\n if (!BROWSER_MODE_VALUES.has(value)) {\n throw createUsageError(`Invalid --browser-mode: ${value}`);\n }\n parsed.browserMode = value as WorkflowBrowserMode;\n index += 1;\n continue;\n }\n if (arg?.startsWith(\"--browser-mode=\")) {\n const value = (arg.split(\"=\", 2)[1] ?? \"\").toLowerCase();\n if (!BROWSER_MODE_VALUES.has(value)) {\n throw createUsageError(`Invalid --browser-mode: ${value}`);\n }\n parsed.browserMode = value as WorkflowBrowserMode;\n continue;\n }\n\n if (arg === \"--sort\") {\n const value = requireValue(rawArgs, index, \"--sort\").toLowerCase();\n if (!SORT_VALUES.has(value)) {\n throw createUsageError(`Invalid --sort: ${value}`);\n }\n parsed.sort = value as ShoppingCommandArgs[\"sort\"];\n index += 1;\n continue;\n }\n if (arg?.startsWith(\"--sort=\")) {\n const value = (arg.split(\"=\", 2)[1] ?? \"\").toLowerCase();\n if (!SORT_VALUES.has(value)) {\n throw createUsageError(`Invalid --sort: ${value}`);\n }\n parsed.sort = value as ShoppingCommandArgs[\"sort\"];\n continue;\n }\n\n if (arg === \"--mode\") {\n const value = requireValue(rawArgs, index, \"--mode\").toLowerCase();\n if (!MODE_VALUES.has(value)) {\n throw createUsageError(`Invalid --mode: ${value}`);\n }\n parsed.mode = value as ShoppingCommandArgs[\"mode\"];\n index += 1;\n continue;\n }\n if (arg?.startsWith(\"--mode=\")) {\n const value = (arg.split(\"=\", 2)[1] ?? \"\").toLowerCase();\n if (!MODE_VALUES.has(value)) {\n throw createUsageError(`Invalid --mode: ${value}`);\n }\n parsed.mode = value as ShoppingCommandArgs[\"mode\"];\n continue;\n }\n\n if (arg === \"--timeout-ms\") {\n parsed.timeoutMs = parseNumberFlag(requireValue(rawArgs, index, \"--timeout-ms\"), \"--timeout-ms\", { min: 1 });\n index += 1;\n continue;\n }\n if (arg?.startsWith(\"--timeout-ms=\")) {\n parsed.timeoutMs = parseNumberFlag(arg.split(\"=\", 2)[1] ?? \"\", \"--timeout-ms\", { min: 1 });\n continue;\n }\n\n if (arg === \"--output-dir\") {\n parsed.outputDir = resolveWorkflowOutputDirFlag(requireValue(rawArgs, index, \"--output-dir\"));\n index += 1;\n continue;\n }\n if (arg?.startsWith(\"--output-dir=\")) {\n parsed.outputDir = resolveWorkflowOutputDirFlag(arg.split(\"=\", 2)[1]);\n continue;\n }\n\n if (arg === \"--ttl-hours\") {\n parsed.ttlHours = parseNumberFlag(requireValue(rawArgs, index, \"--ttl-hours\"), \"--ttl-hours\", { min: 1, max: 168 });\n index += 1;\n continue;\n }\n if (arg?.startsWith(\"--ttl-hours=\")) {\n parsed.ttlHours = parseNumberFlag(arg.split(\"=\", 2)[1] ?? \"\", \"--ttl-hours\", { min: 1, max: 168 });\n continue;\n }\n\n if (arg === \"--use-cookies\") {\n parsed.useCookies = true;\n continue;\n }\n if (arg?.startsWith(\"--use-cookies=\")) {\n parsed.useCookies = parseBoolean(arg.split(\"=\", 2)[1] ?? \"\", \"--use-cookies\");\n continue;\n }\n\n if (arg === \"--challenge-automation-mode\") {\n const value = requireValue(rawArgs, index, \"--challenge-automation-mode\");\n if (!isChallengeAutomationMode(value)) {\n throw createUsageError(`Invalid --challenge-automation-mode: ${value}`);\n }\n parsed.challengeAutomationMode = value;\n index += 1;\n continue;\n }\n if (arg?.startsWith(\"--challenge-automation-mode=\")) {\n const value = arg.split(\"=\", 2)[1] ?? \"\";\n if (!isChallengeAutomationMode(value)) {\n throw createUsageError(`Invalid --challenge-automation-mode: ${value}`);\n }\n parsed.challengeAutomationMode = value;\n continue;\n }\n\n if (arg === \"--cookie-policy-override\" || arg === \"--cookie-policy\") {\n const value = requireValue(rawArgs, index, arg).toLowerCase();\n if (!COOKIE_POLICY_VALUES.has(value)) {\n throw createUsageError(`Invalid ${arg}: ${value}`);\n }\n parsed.cookiePolicyOverride = value as ShoppingCommandArgs[\"cookiePolicyOverride\"];\n index += 1;\n continue;\n }\n if (arg?.startsWith(\"--cookie-policy-override=\") || arg?.startsWith(\"--cookie-policy=\")) {\n const value = (arg.split(\"=\", 2)[1] ?? \"\").toLowerCase();\n if (!COOKIE_POLICY_VALUES.has(value)) {\n throw createUsageError(`Invalid --cookie-policy-override: ${value}`);\n }\n parsed.cookiePolicyOverride = value as ShoppingCommandArgs[\"cookiePolicyOverride\"];\n continue;\n }\n }\n\n return parsed;\n};\n\nexport async function runShoppingCommand(args: ParsedArgs) {\n const [subcommand, ...rest] = args.rawArgs;\n if (subcommand !== \"run\") {\n throw createUsageError(\"Usage: opendevbrowser shopping run --query <value> [options]\");\n }\n\n const parsed = parseShoppingRunArgs(rest);\n if (!parsed.query?.trim()) {\n throw createUsageError(\"Missing --query\");\n }\n\n const payload = {\n query: parsed.query,\n providers: parsed.providers,\n budget: parsed.budget,\n region: parsed.region,\n browserMode: parsed.browserMode,\n sort: parsed.sort,\n mode: parsed.mode ?? \"compact\",\n timeoutMs: parsed.timeoutMs ?? DEFAULT_WORKFLOW_TRANSPORT_TIMEOUT_MS,\n outputDir: resolveWorkflowOutputDirFlag(parsed.outputDir),\n ttlHours: parsed.ttlHours,\n useCookies: parsed.useCookies,\n challengeAutomationMode: parsed.challengeAutomationMode,\n cookiePolicyOverride: parsed.cookiePolicyOverride\n };\n\n const data = await callDaemon(\"shopping.run\", payload, {\n timeoutMs: deriveShoppingTransportTimeoutMs(payload.timeoutMs)\n });\n\n return {\n success: true,\n message: buildWorkflowCompletionMessage(\"Shopping workflow\", data),\n data\n };\n}\n\nexport const __test__ = {\n parseShoppingRunArgs,\n parseProviders,\n deriveShoppingTransportTimeoutMs\n};\n"],"mappings":"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","names":[]}
@@ -0,0 +1,89 @@
1
+ import {
2
+ createNoOpSkillRemovalResult
3
+ } from "./chunk-KDSNXS6N.js";
4
+ import "./chunk-7THCPS52.js";
5
+ import "./chunk-3ILXPKSJ.js";
6
+ import "./chunk-TBUCZX4A.js";
7
+
8
+ // src/cli/skill-lifecycle.ts
9
+ function shouldSkipSkills(args) {
10
+ return args.rawArgs.includes("--no-skills");
11
+ }
12
+ function getUpdateTargets(args, mode, deps) {
13
+ if (deps.hasInstalledConfig(mode)) {
14
+ return deps.getBundledSkillTargets(mode);
15
+ }
16
+ return deps.getBundledSkillLifecycleTargets(mode, {
17
+ includeLegacyArtifacts: deps.hasBundledSkillArtifacts(mode)
18
+ });
19
+ }
20
+ function collectUpdateSkillResults(args, deps, modes) {
21
+ return modes.flatMap((mode) => {
22
+ const targets = getUpdateTargets(args, mode, deps);
23
+ return targets.length > 0 ? [deps.syncBundledSkillsForTargets(mode, targets)] : [];
24
+ });
25
+ }
26
+ function getResolvedUpdateSkillModes(args, result, deps) {
27
+ return result.success ? deps.resolveUpdateSkillModes(args) : [];
28
+ }
29
+ function buildUpdateSkillMessage(args, result, skillResults) {
30
+ if (!result.success) {
31
+ return "";
32
+ }
33
+ if (shouldSkipSkills(args)) {
34
+ return "Managed skill refresh skipped (--no-skills).";
35
+ }
36
+ if (skillResults.length === 0) {
37
+ return "No managed skill packs required refresh.";
38
+ }
39
+ return skillResults.map((entry) => entry.message).join("\n");
40
+ }
41
+ function buildUpdateCommandResult(args, result, deps) {
42
+ const skillModes = getResolvedUpdateSkillModes(args, result, deps);
43
+ const skillResults = result.success && !shouldSkipSkills(args) ? collectUpdateSkillResults(args, deps, skillModes) : [];
44
+ const message = [result.message, buildUpdateSkillMessage(args, result, skillResults)].filter(Boolean).join("\n");
45
+ return {
46
+ success: result.success && skillResults.every((entry) => entry.success),
47
+ message,
48
+ data: {
49
+ cacheCleared: result.cleared,
50
+ skillModes,
51
+ skills: skillResults
52
+ }
53
+ };
54
+ }
55
+ function buildUninstallSkillMessage(args, result, skillsResult) {
56
+ if (!result.success) {
57
+ return "";
58
+ }
59
+ if (shouldSkipSkills(args)) {
60
+ return "Managed skill cleanup skipped (--no-skills).";
61
+ }
62
+ return skillsResult?.message ?? "No managed skill packs required cleanup.";
63
+ }
64
+ function getUninstallTargets(args, mode, result, deps) {
65
+ if (!result.success || shouldSkipSkills(args)) {
66
+ return [];
67
+ }
68
+ return deps.getBundledSkillLifecycleTargets(mode, {
69
+ includeLegacyArtifacts: result.removed || deps.hasBundledSkillArtifacts(mode)
70
+ });
71
+ }
72
+ function buildUninstallCommandResult(args, mode, result, deps) {
73
+ const targets = getUninstallTargets(args, mode, result, deps);
74
+ const skillsResult = result.success && !shouldSkipSkills(args) ? targets.length > 0 ? deps.removeBundledSkillsForTargets(mode, targets) : createNoOpSkillRemovalResult(mode) : void 0;
75
+ const skillMessage = buildUninstallSkillMessage(args, result, skillsResult);
76
+ return {
77
+ success: result.success && (skillsResult?.success ?? true),
78
+ message: [result.message, skillMessage].filter(Boolean).join("\n"),
79
+ data: {
80
+ config: result,
81
+ skills: skillsResult
82
+ }
83
+ };
84
+ }
85
+ export {
86
+ buildUninstallCommandResult,
87
+ buildUpdateCommandResult
88
+ };
89
+ //# sourceMappingURL=skill-lifecycle-5UAZGKSN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/skill-lifecycle.ts"],"sourcesContent":["import type { InstallMode, ParsedArgs } from \"./args\";\nimport type { UninstallResult } from \"./commands/uninstall\";\nimport type { UpdateResult } from \"./commands/update\";\nimport type { CommandResult } from \"./commands/types\";\nimport {\n createNoOpSkillRemovalResult,\n type SkillInstallMode,\n type SkillRemovalResult,\n type SkillSyncResult\n} from \"./installers/skills\";\nimport type { SkillTarget } from \"./utils/skills\";\n\ntype SkillTargetOptions = {\n includeLegacyArtifacts: boolean;\n};\n\ntype UpdateSkillDeps = {\n resolveUpdateSkillModes(args: ParsedArgs): InstallMode[];\n hasInstalledConfig(mode: InstallMode): boolean;\n hasBundledSkillArtifacts(mode: SkillInstallMode): boolean;\n getBundledSkillTargets(mode: SkillInstallMode): SkillTarget[];\n getBundledSkillLifecycleTargets(mode: SkillInstallMode, options: SkillTargetOptions): SkillTarget[];\n syncBundledSkillsForTargets(mode: SkillInstallMode, targets: readonly SkillTarget[]): SkillSyncResult;\n};\n\ntype UninstallSkillDeps = {\n hasBundledSkillArtifacts(mode: SkillInstallMode): boolean;\n getBundledSkillLifecycleTargets(mode: SkillInstallMode, options: SkillTargetOptions): SkillTarget[];\n removeBundledSkillsForTargets(mode: SkillInstallMode, targets: readonly SkillTarget[]): SkillRemovalResult;\n};\n\nfunction shouldSkipSkills(args: ParsedArgs): boolean {\n return args.rawArgs.includes(\"--no-skills\");\n}\n\nfunction getUpdateTargets(\n args: ParsedArgs,\n mode: SkillInstallMode,\n deps: UpdateSkillDeps\n): SkillTarget[] {\n if (deps.hasInstalledConfig(mode)) {\n return deps.getBundledSkillTargets(mode);\n }\n return deps.getBundledSkillLifecycleTargets(mode, {\n includeLegacyArtifacts: deps.hasBundledSkillArtifacts(mode)\n });\n}\n\nfunction collectUpdateSkillResults(\n args: ParsedArgs,\n deps: UpdateSkillDeps,\n modes: readonly InstallMode[]\n): SkillSyncResult[] {\n return modes.flatMap((mode) => {\n const targets = getUpdateTargets(args, mode, deps);\n return targets.length > 0 ? [deps.syncBundledSkillsForTargets(mode, targets)] : [];\n });\n}\n\nfunction getResolvedUpdateSkillModes(args: ParsedArgs, result: UpdateResult, deps: UpdateSkillDeps): InstallMode[] {\n return result.success ? deps.resolveUpdateSkillModes(args) : [];\n}\n\nfunction buildUpdateSkillMessage(\n args: ParsedArgs,\n result: UpdateResult,\n skillResults: readonly SkillSyncResult[]\n): string {\n if (!result.success) {\n return \"\";\n }\n if (shouldSkipSkills(args)) {\n return \"Managed skill refresh skipped (--no-skills).\";\n }\n if (skillResults.length === 0) {\n return \"No managed skill packs required refresh.\";\n }\n return skillResults.map((entry) => entry.message).join(\"\\n\");\n}\n\nexport function buildUpdateCommandResult(\n args: ParsedArgs,\n result: UpdateResult,\n deps: UpdateSkillDeps\n): CommandResult {\n const skillModes = getResolvedUpdateSkillModes(args, result, deps);\n const skillResults = result.success && !shouldSkipSkills(args)\n ? collectUpdateSkillResults(args, deps, skillModes)\n : [];\n const message = [result.message, buildUpdateSkillMessage(args, result, skillResults)].filter(Boolean).join(\"\\n\");\n\n return {\n success: result.success && skillResults.every((entry) => entry.success),\n message,\n data: {\n cacheCleared: result.cleared,\n skillModes,\n skills: skillResults\n }\n };\n}\n\nfunction buildUninstallSkillMessage(\n args: ParsedArgs,\n result: UninstallResult,\n skillsResult: SkillRemovalResult | undefined\n): string {\n if (!result.success) {\n return \"\";\n }\n if (shouldSkipSkills(args)) {\n return \"Managed skill cleanup skipped (--no-skills).\";\n }\n return skillsResult?.message ?? \"No managed skill packs required cleanup.\";\n}\n\nfunction getUninstallTargets(\n args: ParsedArgs,\n mode: InstallMode,\n result: UninstallResult,\n deps: UninstallSkillDeps\n): SkillTarget[] {\n if (!result.success || shouldSkipSkills(args)) {\n return [];\n }\n return deps.getBundledSkillLifecycleTargets(mode, {\n includeLegacyArtifacts: result.removed || deps.hasBundledSkillArtifacts(mode)\n });\n}\n\nexport function buildUninstallCommandResult(\n args: ParsedArgs,\n mode: InstallMode,\n result: UninstallResult,\n deps: UninstallSkillDeps\n): CommandResult {\n const targets = getUninstallTargets(args, mode, result, deps);\n const skillsResult = result.success && !shouldSkipSkills(args)\n ? (targets.length > 0\n ? deps.removeBundledSkillsForTargets(mode, targets)\n : createNoOpSkillRemovalResult(mode))\n : undefined;\n const skillMessage = buildUninstallSkillMessage(args, result, skillsResult);\n\n return {\n success: result.success && (skillsResult?.success ?? true),\n message: [result.message, skillMessage].filter(Boolean).join(\"\\n\"),\n data: {\n config: result,\n skills: skillsResult\n }\n };\n}\n"],"mappings":";;;;;;;;AA+BA,SAAS,iBAAiB,MAA2B;AACnD,SAAO,KAAK,QAAQ,SAAS,aAAa;AAC5C;AAEA,SAAS,iBACP,MACA,MACA,MACe;AACf,MAAI,KAAK,mBAAmB,IAAI,GAAG;AACjC,WAAO,KAAK,uBAAuB,IAAI;AAAA,EACzC;AACA,SAAO,KAAK,gCAAgC,MAAM;AAAA,IAChD,wBAAwB,KAAK,yBAAyB,IAAI;AAAA,EAC5D,CAAC;AACH;AAEA,SAAS,0BACP,MACA,MACA,OACmB;AACnB,SAAO,MAAM,QAAQ,CAAC,SAAS;AAC7B,UAAM,UAAU,iBAAiB,MAAM,MAAM,IAAI;AACjD,WAAO,QAAQ,SAAS,IAAI,CAAC,KAAK,4BAA4B,MAAM,OAAO,CAAC,IAAI,CAAC;AAAA,EACnF,CAAC;AACH;AAEA,SAAS,4BAA4B,MAAkB,QAAsB,MAAsC;AACjH,SAAO,OAAO,UAAU,KAAK,wBAAwB,IAAI,IAAI,CAAC;AAChE;AAEA,SAAS,wBACP,MACA,QACA,cACQ;AACR,MAAI,CAAC,OAAO,SAAS;AACnB,WAAO;AAAA,EACT;AACA,MAAI,iBAAiB,IAAI,GAAG;AAC1B,WAAO;AAAA,EACT;AACA,MAAI,aAAa,WAAW,GAAG;AAC7B,WAAO;AAAA,EACT;AACA,SAAO,aAAa,IAAI,CAAC,UAAU,MAAM,OAAO,EAAE,KAAK,IAAI;AAC7D;AAEO,SAAS,yBACd,MACA,QACA,MACe;AACf,QAAM,aAAa,4BAA4B,MAAM,QAAQ,IAAI;AACjE,QAAM,eAAe,OAAO,WAAW,CAAC,iBAAiB,IAAI,IACzD,0BAA0B,MAAM,MAAM,UAAU,IAChD,CAAC;AACL,QAAM,UAAU,CAAC,OAAO,SAAS,wBAAwB,MAAM,QAAQ,YAAY,CAAC,EAAE,OAAO,OAAO,EAAE,KAAK,IAAI;AAE/G,SAAO;AAAA,IACL,SAAS,OAAO,WAAW,aAAa,MAAM,CAAC,UAAU,MAAM,OAAO;AAAA,IACtE;AAAA,IACA,MAAM;AAAA,MACJ,cAAc,OAAO;AAAA,MACrB;AAAA,MACA,QAAQ;AAAA,IACV;AAAA,EACF;AACF;AAEA,SAAS,2BACP,MACA,QACA,cACQ;AACR,MAAI,CAAC,OAAO,SAAS;AACnB,WAAO;AAAA,EACT;AACA,MAAI,iBAAiB,IAAI,GAAG;AAC1B,WAAO;AAAA,EACT;AACA,SAAO,cAAc,WAAW;AAClC;AAEA,SAAS,oBACP,MACA,MACA,QACA,MACe;AACf,MAAI,CAAC,OAAO,WAAW,iBAAiB,IAAI,GAAG;AAC7C,WAAO,CAAC;AAAA,EACV;AACA,SAAO,KAAK,gCAAgC,MAAM;AAAA,IAChD,wBAAwB,OAAO,WAAW,KAAK,yBAAyB,IAAI;AAAA,EAC9E,CAAC;AACH;AAEO,SAAS,4BACd,MACA,MACA,QACA,MACe;AACf,QAAM,UAAU,oBAAoB,MAAM,MAAM,QAAQ,IAAI;AAC5D,QAAM,eAAe,OAAO,WAAW,CAAC,iBAAiB,IAAI,IACxD,QAAQ,SAAS,IACd,KAAK,8BAA8B,MAAM,OAAO,IAChD,6BAA6B,IAAI,IACrC;AACJ,QAAM,eAAe,2BAA2B,MAAM,QAAQ,YAAY;AAE1E,SAAO;AAAA,IACL,SAAS,OAAO,YAAY,cAAc,WAAW;AAAA,IACrD,SAAS,CAAC,OAAO,SAAS,YAAY,EAAE,OAAO,OAAO,EAAE,KAAK,IAAI;AAAA,IACjE,MAAM;AAAA,MACJ,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,26 @@
1
+ import {
2
+ createNoOpSkillRemovalResult,
3
+ getBundledSkillLifecycleTargets,
4
+ getBundledSkillTargets,
5
+ hasBundledSkillArtifacts,
6
+ hasManagedBundledSkillInstall,
7
+ removeBundledSkills,
8
+ removeBundledSkillsForTargets,
9
+ syncBundledSkills,
10
+ syncBundledSkillsForTargets
11
+ } from "./chunk-KDSNXS6N.js";
12
+ import "./chunk-7THCPS52.js";
13
+ import "./chunk-3ILXPKSJ.js";
14
+ import "./chunk-TBUCZX4A.js";
15
+ export {
16
+ createNoOpSkillRemovalResult,
17
+ getBundledSkillLifecycleTargets,
18
+ getBundledSkillTargets,
19
+ hasBundledSkillArtifacts,
20
+ hasManagedBundledSkillInstall,
21
+ removeBundledSkills,
22
+ removeBundledSkillsForTargets,
23
+ syncBundledSkills,
24
+ syncBundledSkillsForTargets
25
+ };
26
+ //# sourceMappingURL=skills-NSXDX6YM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,113 @@
1
+ import "./chunk-RJNI3BHT.js";
2
+ import {
3
+ parseNumberFlag,
4
+ parseOptionalStringFlag
5
+ } from "./chunk-RPXWUCQQ.js";
6
+ import {
7
+ DEFAULT_SNAPSHOT_TRANSPORT_TIMEOUT_MS
8
+ } from "./chunk-OW5HMYMI.js";
9
+ import {
10
+ callDaemon
11
+ } from "./chunk-MD655IPO.js";
12
+ import "./chunk-COAOWH3G.js";
13
+ import "./chunk-QOMWCRE3.js";
14
+ import "./chunk-MX3NFLCE.js";
15
+ import "./chunk-ASMHEEKY.js";
16
+ import {
17
+ createUsageError
18
+ } from "./chunk-IPE7TF2P.js";
19
+ import "./chunk-STGGGVYT.js";
20
+ import "./chunk-3ILXPKSJ.js";
21
+ import "./chunk-TBUCZX4A.js";
22
+ import "./chunk-Y2KL55OG.js";
23
+ import "./chunk-5SWZDVOW.js";
24
+ import "./chunk-4BEJVZRK.js";
25
+ import "./chunk-S5KZQJJI.js";
26
+ import "./chunk-KZ2IXVQT.js";
27
+ import "./chunk-WHQZBUNY.js";
28
+ import "./chunk-FUSXMW3G.js";
29
+
30
+ // src/cli/commands/nav/snapshot.ts
31
+ function parseSnapshotArgs(rawArgs) {
32
+ const parsed = {};
33
+ for (let i = 0; i < rawArgs.length; i += 1) {
34
+ const arg = rawArgs[i];
35
+ if (arg === "--session-id") {
36
+ const value = rawArgs[i + 1];
37
+ if (!value) throw createUsageError("Missing value for --session-id");
38
+ parsed.sessionId = value;
39
+ i += 1;
40
+ continue;
41
+ }
42
+ if (arg?.startsWith("--session-id=")) {
43
+ parsed.sessionId = arg.split("=", 2)[1];
44
+ continue;
45
+ }
46
+ if (arg === "--mode") {
47
+ const value = rawArgs[i + 1];
48
+ if (!value) throw createUsageError("Missing value for --mode");
49
+ parsed.mode = value;
50
+ i += 1;
51
+ continue;
52
+ }
53
+ if (arg?.startsWith("--mode=")) {
54
+ parsed.mode = arg.split("=", 2)[1];
55
+ continue;
56
+ }
57
+ if (arg === "--max-chars") {
58
+ const value = rawArgs[i + 1];
59
+ if (!value) throw createUsageError("Missing value for --max-chars");
60
+ parsed.maxChars = parseNumberFlag(value, "--max-chars", { min: 1 });
61
+ i += 1;
62
+ continue;
63
+ }
64
+ if (arg?.startsWith("--max-chars=")) {
65
+ parsed.maxChars = parseNumberFlag(arg.split("=", 2)[1] ?? "", "--max-chars", { min: 1 });
66
+ continue;
67
+ }
68
+ if (arg === "--cursor") {
69
+ const value = rawArgs[i + 1];
70
+ if (!value) throw createUsageError("Missing value for --cursor");
71
+ parsed.cursor = value;
72
+ i += 1;
73
+ continue;
74
+ }
75
+ if (arg?.startsWith("--cursor=")) {
76
+ parsed.cursor = arg.split("=", 2)[1];
77
+ continue;
78
+ }
79
+ if (arg === "--timeout-ms") {
80
+ const value = rawArgs[i + 1];
81
+ if (!value) throw createUsageError("Missing value for --timeout-ms");
82
+ parsed.timeoutMs = parseNumberFlag(value, "--timeout-ms", { min: 1 });
83
+ i += 1;
84
+ continue;
85
+ }
86
+ if (arg?.startsWith("--timeout-ms=")) {
87
+ const value = arg.split("=", 2)[1];
88
+ if (!value) throw createUsageError("Missing value for --timeout-ms");
89
+ parsed.timeoutMs = parseNumberFlag(value, "--timeout-ms", { min: 1 });
90
+ }
91
+ }
92
+ return parsed;
93
+ }
94
+ async function runSnapshot(args) {
95
+ const { sessionId, mode, maxChars, cursor, timeoutMs } = parseSnapshotArgs(args.rawArgs);
96
+ const targetId = parseOptionalStringFlag(args.rawArgs, "--target-id");
97
+ if (!sessionId) throw createUsageError("Missing --session-id");
98
+ const payload = {
99
+ sessionId,
100
+ mode,
101
+ maxChars,
102
+ cursor,
103
+ ...typeof targetId === "string" ? { targetId } : {}
104
+ };
105
+ const result = await callDaemon("nav.snapshot", payload, {
106
+ timeoutMs: timeoutMs ?? DEFAULT_SNAPSHOT_TRANSPORT_TIMEOUT_MS
107
+ });
108
+ return { success: true, message: "Snapshot captured.", data: result };
109
+ }
110
+ export {
111
+ runSnapshot
112
+ };
113
+ //# sourceMappingURL=snapshot-3XQMCMRJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/nav/snapshot.ts"],"sourcesContent":["import type { ParsedArgs } from \"../../args\";\nimport { callDaemon } from \"../../client\";\nimport { createUsageError } from \"../../errors\";\nimport { DEFAULT_SNAPSHOT_TRANSPORT_TIMEOUT_MS } from \"../../transport-timeouts\";\nimport { parseNumberFlag, parseOptionalStringFlag } from \"../../utils/parse\";\n\nfunction parseSnapshotArgs(rawArgs: string[]): { sessionId?: string; mode?: string; maxChars?: number; cursor?: string; timeoutMs?: number } {\n const parsed: { sessionId?: string; mode?: string; maxChars?: number; cursor?: string; timeoutMs?: 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 === \"--mode\") {\n const value = rawArgs[i + 1];\n if (!value) throw createUsageError(\"Missing value for --mode\");\n parsed.mode = value;\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--mode=\")) {\n parsed.mode = 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 if (arg === \"--cursor\") {\n const value = rawArgs[i + 1];\n if (!value) throw createUsageError(\"Missing value for --cursor\");\n parsed.cursor = value;\n i += 1;\n continue;\n }\n if (arg?.startsWith(\"--cursor=\")) {\n parsed.cursor = arg.split(\"=\", 2)[1];\n continue;\n }\n if (arg === \"--timeout-ms\") {\n const value = rawArgs[i + 1];\n if (!value) throw createUsageError(\"Missing value for --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 = arg.split(\"=\", 2)[1];\n if (!value) throw createUsageError(\"Missing value for --timeout-ms\");\n parsed.timeoutMs = parseNumberFlag(value, \"--timeout-ms\", { min: 1 });\n }\n }\n return parsed;\n}\n\nexport async function runSnapshot(args: ParsedArgs) {\n const { sessionId, mode, maxChars, cursor, timeoutMs } = parseSnapshotArgs(args.rawArgs);\n const targetId = parseOptionalStringFlag(args.rawArgs, \"--target-id\");\n if (!sessionId) throw createUsageError(\"Missing --session-id\");\n const payload = {\n sessionId,\n mode,\n maxChars,\n cursor,\n ...(typeof targetId === \"string\" ? { targetId } : {})\n };\n const result = await callDaemon(\"nav.snapshot\", payload, {\n timeoutMs: timeoutMs ?? DEFAULT_SNAPSHOT_TRANSPORT_TIMEOUT_MS\n });\n return { success: true, message: \"Snapshot captured.\", data: result };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,SAAS,kBAAkB,SAAkH;AAC3I,QAAM,SAAwG,CAAC;AAC/G,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,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,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;AACA,QAAI,QAAQ,YAAY;AACtB,YAAM,QAAQ,QAAQ,IAAI,CAAC;AAC3B,UAAI,CAAC,MAAO,OAAM,iBAAiB,4BAA4B;AAC/D,aAAO,SAAS;AAChB,WAAK;AACL;AAAA,IACF;AACA,QAAI,KAAK,WAAW,WAAW,GAAG;AAChC,aAAO,SAAS,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;AACnC;AAAA,IACF;AACA,QAAI,QAAQ,gBAAgB;AAC1B,YAAM,QAAQ,QAAQ,IAAI,CAAC;AAC3B,UAAI,CAAC,MAAO,OAAM,iBAAiB,gCAAgC;AACnE,aAAO,YAAY,gBAAgB,OAAO,gBAAgB,EAAE,KAAK,EAAE,CAAC;AACpE,WAAK;AACL;AAAA,IACF;AACA,QAAI,KAAK,WAAW,eAAe,GAAG;AACpC,YAAM,QAAQ,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;AACjC,UAAI,CAAC,MAAO,OAAM,iBAAiB,gCAAgC;AACnE,aAAO,YAAY,gBAAgB,OAAO,gBAAgB,EAAE,KAAK,EAAE,CAAC;AAAA,IACtE;AAAA,EACF;AACA,SAAO;AACT;AAEA,eAAsB,YAAY,MAAkB;AAClD,QAAM,EAAE,WAAW,MAAM,UAAU,QAAQ,UAAU,IAAI,kBAAkB,KAAK,OAAO;AACvF,QAAM,WAAW,wBAAwB,KAAK,SAAS,aAAa;AACpE,MAAI,CAAC,UAAW,OAAM,iBAAiB,sBAAsB;AAC7D,QAAM,UAAU;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAI,OAAO,aAAa,WAAW,EAAE,SAAS,IAAI,CAAC;AAAA,EACrD;AACA,QAAM,SAAS,MAAM,WAAW,gBAAgB,SAAS;AAAA,IACvD,WAAW,aAAa;AAAA,EAC1B,CAAC;AACD,SAAO,EAAE,SAAS,MAAM,SAAS,sBAAsB,MAAM,OAAO;AACtE;","names":[]}
@@ -0,0 +1,35 @@
1
+ import {
2
+ callDesktopCommand,
3
+ desktopCommandResult,
4
+ parseDesktopTimeoutArgs
5
+ } from "./chunk-AHEWXOKY.js";
6
+ import "./chunk-RJNI3BHT.js";
7
+ import "./chunk-RPXWUCQQ.js";
8
+ import "./chunk-OW5HMYMI.js";
9
+ import "./chunk-MD655IPO.js";
10
+ import "./chunk-COAOWH3G.js";
11
+ import "./chunk-QOMWCRE3.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-4BEJVZRK.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-OXSYA5XD.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":[]}