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,62 @@
1
+ import {
2
+ parseSessionInspectorArgs
3
+ } from "./chunk-2SIMIPLY.js";
4
+ import "./chunk-RJNI3BHT.js";
5
+ import "./chunk-RPXWUCQQ.js";
6
+ import {
7
+ callDaemon
8
+ } from "./chunk-MD655IPO.js";
9
+ import "./chunk-COAOWH3G.js";
10
+ import "./chunk-QOMWCRE3.js";
11
+ import "./chunk-MX3NFLCE.js";
12
+ import "./chunk-ASMHEEKY.js";
13
+ import {
14
+ buildNextStepMessage,
15
+ readSuggestedNextAction
16
+ } from "./chunk-37VSRUW4.js";
17
+ import {
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-4BEJVZRK.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/inspector.ts
32
+ async function runSessionInspector(args) {
33
+ const parsed = parseSessionInspectorArgs(args.rawArgs);
34
+ if (!parsed.sessionId) {
35
+ throw createUsageError("Missing --session-id");
36
+ }
37
+ const result = await callDaemon("session.inspect", {
38
+ sessionId: parsed.sessionId,
39
+ ...typeof parsed.includeUrls === "boolean" ? { includeUrls: parsed.includeUrls } : {},
40
+ sinceConsoleSeq: parsed.sinceConsoleSeq,
41
+ sinceNetworkSeq: parsed.sinceNetworkSeq,
42
+ sinceExceptionSeq: parsed.sinceExceptionSeq,
43
+ max: parsed.max,
44
+ requestId: parsed.requestId
45
+ });
46
+ return {
47
+ success: true,
48
+ message: buildNextStepMessage(
49
+ "Session inspector snapshot captured.",
50
+ readSuggestedNextAction(result)
51
+ ),
52
+ data: result
53
+ };
54
+ }
55
+ var __test__ = {
56
+ parseSessionInspectorArgs
57
+ };
58
+ export {
59
+ __test__,
60
+ runSessionInspector
61
+ };
62
+ //# sourceMappingURL=inspector-H57BVUJP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/session/inspector.ts"],"sourcesContent":["import type { ParsedArgs } from \"../../args\";\nimport { callDaemon } from \"../../client\";\nimport { createUsageError } from \"../../errors\";\nimport { buildNextStepMessage, readSuggestedNextAction } from \"../../utils/workflow-message\";\nimport { parseSessionInspectorArgs } from \"./inspector-shared\";\n\nexport async function runSessionInspector(args: ParsedArgs) {\n const parsed = parseSessionInspectorArgs(args.rawArgs);\n if (!parsed.sessionId) {\n throw createUsageError(\"Missing --session-id\");\n }\n\n const result = await callDaemon(\"session.inspect\", {\n sessionId: parsed.sessionId,\n ...(typeof parsed.includeUrls === \"boolean\" ? { includeUrls: parsed.includeUrls } : {}),\n sinceConsoleSeq: parsed.sinceConsoleSeq,\n sinceNetworkSeq: parsed.sinceNetworkSeq,\n sinceExceptionSeq: parsed.sinceExceptionSeq,\n max: parsed.max,\n requestId: parsed.requestId\n });\n\n return {\n success: true,\n message: buildNextStepMessage(\n \"Session inspector snapshot captured.\",\n readSuggestedNextAction(result)\n ),\n data: result\n };\n}\n\nexport const __test__ = {\n parseSessionInspectorArgs\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,eAAsB,oBAAoB,MAAkB;AAC1D,QAAM,SAAS,0BAA0B,KAAK,OAAO;AACrD,MAAI,CAAC,OAAO,WAAW;AACrB,UAAM,iBAAiB,sBAAsB;AAAA,EAC/C;AAEA,QAAM,SAAS,MAAM,WAAW,mBAAmB;AAAA,IACjD,WAAW,OAAO;AAAA,IAClB,GAAI,OAAO,OAAO,gBAAgB,YAAY,EAAE,aAAa,OAAO,YAAY,IAAI,CAAC;AAAA,IACrF,iBAAiB,OAAO;AAAA,IACxB,iBAAiB,OAAO;AAAA,IACxB,mBAAmB,OAAO;AAAA,IAC1B,KAAK,OAAO;AAAA,IACZ,WAAW,OAAO;AAAA,EACpB,CAAC;AAED,SAAO;AAAA,IACL,SAAS;AAAA,IACT,SAAS;AAAA,MACP;AAAA,MACA,wBAAwB,MAAM;AAAA,IAChC;AAAA,IACA,MAAM;AAAA,EACR;AACF;AAEO,IAAM,WAAW;AAAA,EACtB;AACF;","names":[]}
@@ -0,0 +1,84 @@
1
+ import {
2
+ parseReviewCommandArgs
3
+ } from "./chunk-JZXD6FWR.js";
4
+ import {
5
+ parseSessionInspectorArgs
6
+ } from "./chunk-2SIMIPLY.js";
7
+ import {
8
+ parseOptionalChallengeAutomationMode
9
+ } from "./chunk-PPUWQKIC.js";
10
+ import "./chunk-RJNI3BHT.js";
11
+ import {
12
+ parseNumberFlag,
13
+ parseOptionalStringFlag
14
+ } from "./chunk-RPXWUCQQ.js";
15
+ import {
16
+ DEFAULT_REVIEW_TRANSPORT_TIMEOUT_MS
17
+ } from "./chunk-OW5HMYMI.js";
18
+ import {
19
+ callDaemon
20
+ } from "./chunk-MD655IPO.js";
21
+ import "./chunk-COAOWH3G.js";
22
+ import "./chunk-QOMWCRE3.js";
23
+ import "./chunk-MX3NFLCE.js";
24
+ import "./chunk-ASMHEEKY.js";
25
+ import {
26
+ buildNextStepMessage,
27
+ readSuggestedNextAction,
28
+ readSuggestedStepReason
29
+ } from "./chunk-37VSRUW4.js";
30
+ import {
31
+ createUsageError
32
+ } from "./chunk-IPE7TF2P.js";
33
+ import "./chunk-STGGGVYT.js";
34
+ import "./chunk-3ILXPKSJ.js";
35
+ import "./chunk-TBUCZX4A.js";
36
+ import "./chunk-Y2KL55OG.js";
37
+ import "./chunk-5SWZDVOW.js";
38
+ import "./chunk-4BEJVZRK.js";
39
+ import "./chunk-S5KZQJJI.js";
40
+ import "./chunk-KZ2IXVQT.js";
41
+ import "./chunk-WHQZBUNY.js";
42
+ import "./chunk-FUSXMW3G.js";
43
+
44
+ // src/cli/commands/session/inspector-audit.ts
45
+ function parseOptionalTimeoutMs(rawArgs) {
46
+ const value = parseOptionalStringFlag(rawArgs, "--timeout-ms");
47
+ return typeof value === "string" ? parseNumberFlag(value, "--timeout-ms", { min: 1 }) : void 0;
48
+ }
49
+ async function runSessionInspectorAudit(args) {
50
+ const reviewArgs = parseReviewCommandArgs(args.rawArgs);
51
+ const inspectorArgs = parseSessionInspectorArgs(args.rawArgs);
52
+ const challengeAutomationMode = parseOptionalChallengeAutomationMode(args.rawArgs);
53
+ const timeoutMs = parseOptionalTimeoutMs(args.rawArgs);
54
+ const sessionId = reviewArgs.sessionId ?? inspectorArgs.sessionId;
55
+ if (!sessionId) {
56
+ throw createUsageError("Missing --session-id");
57
+ }
58
+ const result = await callDaemon("session.inspectAudit", {
59
+ sessionId,
60
+ ...typeof reviewArgs.targetId === "string" ? { targetId: reviewArgs.targetId } : {},
61
+ ...typeof reviewArgs.reason === "string" ? { reason: reviewArgs.reason } : {},
62
+ ...typeof reviewArgs.maxChars === "number" ? { maxChars: reviewArgs.maxChars } : {},
63
+ ...typeof reviewArgs.cursor === "string" ? { cursor: reviewArgs.cursor } : {},
64
+ ...typeof inspectorArgs.includeUrls === "boolean" ? { includeUrls: inspectorArgs.includeUrls } : {},
65
+ ...typeof inspectorArgs.sinceConsoleSeq === "number" ? { sinceConsoleSeq: inspectorArgs.sinceConsoleSeq } : {},
66
+ ...typeof inspectorArgs.sinceNetworkSeq === "number" ? { sinceNetworkSeq: inspectorArgs.sinceNetworkSeq } : {},
67
+ ...typeof inspectorArgs.sinceExceptionSeq === "number" ? { sinceExceptionSeq: inspectorArgs.sinceExceptionSeq } : {},
68
+ ...typeof inspectorArgs.max === "number" ? { max: inspectorArgs.max } : {},
69
+ ...typeof inspectorArgs.requestId === "string" ? { requestId: inspectorArgs.requestId } : {},
70
+ ...challengeAutomationMode ? { challengeAutomationMode } : {}
71
+ }, {
72
+ timeoutMs: timeoutMs ?? DEFAULT_REVIEW_TRANSPORT_TIMEOUT_MS
73
+ });
74
+ const nextStep = readSuggestedNextAction(result) ?? readSuggestedStepReason(result);
75
+ return {
76
+ success: true,
77
+ message: buildNextStepMessage("Correlated audit bundle captured.", nextStep),
78
+ data: result
79
+ };
80
+ }
81
+ export {
82
+ runSessionInspectorAudit
83
+ };
84
+ //# sourceMappingURL=inspector-audit-NQBAJWC7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/session/inspector-audit.ts"],"sourcesContent":["import type { ParsedArgs } from \"../../args\";\nimport { callDaemon } from \"../../client\";\nimport { createUsageError } from \"../../errors\";\nimport { DEFAULT_REVIEW_TRANSPORT_TIMEOUT_MS } from \"../../transport-timeouts\";\nimport { parseOptionalStringFlag, parseNumberFlag } from \"../../utils/parse\";\nimport {\n buildNextStepMessage,\n readSuggestedNextAction,\n readSuggestedStepReason\n} from \"../../utils/workflow-message\";\nimport { parseOptionalChallengeAutomationMode } from \"../challenge-automation-mode\";\nimport { parseReviewCommandArgs } from \"../nav/review-shared\";\nimport { parseSessionInspectorArgs } from \"./inspector-shared\";\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 runSessionInspectorAudit(args: ParsedArgs) {\n const reviewArgs = parseReviewCommandArgs(args.rawArgs);\n const inspectorArgs = parseSessionInspectorArgs(args.rawArgs);\n const challengeAutomationMode = parseOptionalChallengeAutomationMode(args.rawArgs);\n const timeoutMs = parseOptionalTimeoutMs(args.rawArgs);\n const sessionId = reviewArgs.sessionId ?? inspectorArgs.sessionId;\n if (!sessionId) {\n throw createUsageError(\"Missing --session-id\");\n }\n const result = await callDaemon(\"session.inspectAudit\", {\n sessionId,\n ...(typeof reviewArgs.targetId === \"string\" ? { targetId: reviewArgs.targetId } : {}),\n ...(typeof reviewArgs.reason === \"string\" ? { reason: reviewArgs.reason } : {}),\n ...(typeof reviewArgs.maxChars === \"number\" ? { maxChars: reviewArgs.maxChars } : {}),\n ...(typeof reviewArgs.cursor === \"string\" ? { cursor: reviewArgs.cursor } : {}),\n ...(typeof inspectorArgs.includeUrls === \"boolean\" ? { includeUrls: inspectorArgs.includeUrls } : {}),\n ...(typeof inspectorArgs.sinceConsoleSeq === \"number\" ? { sinceConsoleSeq: inspectorArgs.sinceConsoleSeq } : {}),\n ...(typeof inspectorArgs.sinceNetworkSeq === \"number\" ? { sinceNetworkSeq: inspectorArgs.sinceNetworkSeq } : {}),\n ...(typeof inspectorArgs.sinceExceptionSeq === \"number\" ? { sinceExceptionSeq: inspectorArgs.sinceExceptionSeq } : {}),\n ...(typeof inspectorArgs.max === \"number\" ? { max: inspectorArgs.max } : {}),\n ...(typeof inspectorArgs.requestId === \"string\" ? { requestId: inspectorArgs.requestId } : {}),\n ...(challengeAutomationMode ? { challengeAutomationMode } : {})\n }, {\n timeoutMs: timeoutMs ?? DEFAULT_REVIEW_TRANSPORT_TIMEOUT_MS\n });\n\n const nextStep = readSuggestedNextAction(result)\n ?? readSuggestedStepReason(result);\n\n return {\n success: true,\n message: buildNextStepMessage(\"Correlated audit bundle captured.\", nextStep),\n data: result\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,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,yBAAyB,MAAkB;AAC/D,QAAM,aAAa,uBAAuB,KAAK,OAAO;AACtD,QAAM,gBAAgB,0BAA0B,KAAK,OAAO;AAC5D,QAAM,0BAA0B,qCAAqC,KAAK,OAAO;AACjF,QAAM,YAAY,uBAAuB,KAAK,OAAO;AACrD,QAAM,YAAY,WAAW,aAAa,cAAc;AACxD,MAAI,CAAC,WAAW;AACd,UAAM,iBAAiB,sBAAsB;AAAA,EAC/C;AACA,QAAM,SAAS,MAAM,WAAW,wBAAwB;AAAA,IACtD;AAAA,IACA,GAAI,OAAO,WAAW,aAAa,WAAW,EAAE,UAAU,WAAW,SAAS,IAAI,CAAC;AAAA,IACnF,GAAI,OAAO,WAAW,WAAW,WAAW,EAAE,QAAQ,WAAW,OAAO,IAAI,CAAC;AAAA,IAC7E,GAAI,OAAO,WAAW,aAAa,WAAW,EAAE,UAAU,WAAW,SAAS,IAAI,CAAC;AAAA,IACnF,GAAI,OAAO,WAAW,WAAW,WAAW,EAAE,QAAQ,WAAW,OAAO,IAAI,CAAC;AAAA,IAC7E,GAAI,OAAO,cAAc,gBAAgB,YAAY,EAAE,aAAa,cAAc,YAAY,IAAI,CAAC;AAAA,IACnG,GAAI,OAAO,cAAc,oBAAoB,WAAW,EAAE,iBAAiB,cAAc,gBAAgB,IAAI,CAAC;AAAA,IAC9G,GAAI,OAAO,cAAc,oBAAoB,WAAW,EAAE,iBAAiB,cAAc,gBAAgB,IAAI,CAAC;AAAA,IAC9G,GAAI,OAAO,cAAc,sBAAsB,WAAW,EAAE,mBAAmB,cAAc,kBAAkB,IAAI,CAAC;AAAA,IACpH,GAAI,OAAO,cAAc,QAAQ,WAAW,EAAE,KAAK,cAAc,IAAI,IAAI,CAAC;AAAA,IAC1E,GAAI,OAAO,cAAc,cAAc,WAAW,EAAE,WAAW,cAAc,UAAU,IAAI,CAAC;AAAA,IAC5F,GAAI,0BAA0B,EAAE,wBAAwB,IAAI,CAAC;AAAA,EAC/D,GAAG;AAAA,IACD,WAAW,aAAa;AAAA,EAC1B,CAAC;AAED,QAAM,WAAW,wBAAwB,MAAM,KAC1C,wBAAwB,MAAM;AAEnC,SAAO;AAAA,IACL,SAAS;AAAA,IACT,SAAS,qBAAqB,qCAAqC,QAAQ;AAAA,IAC3E,MAAM;AAAA,EACR;AACF;","names":[]}
@@ -0,0 +1,69 @@
1
+ import {
2
+ parseOptionalChallengeAutomationMode
3
+ } from "./chunk-PPUWQKIC.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-MD655IPO.js";
15
+ import "./chunk-COAOWH3G.js";
16
+ import "./chunk-QOMWCRE3.js";
17
+ import "./chunk-MX3NFLCE.js";
18
+ import "./chunk-ASMHEEKY.js";
19
+ import {
20
+ buildNextStepMessage,
21
+ readSuggestedStepReason
22
+ } from "./chunk-37VSRUW4.js";
23
+ import {
24
+ createUsageError
25
+ } from "./chunk-IPE7TF2P.js";
26
+ import "./chunk-STGGGVYT.js";
27
+ import "./chunk-3ILXPKSJ.js";
28
+ import "./chunk-TBUCZX4A.js";
29
+ import "./chunk-Y2KL55OG.js";
30
+ import "./chunk-5SWZDVOW.js";
31
+ import "./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/session/inspector-plan.ts
38
+ function parseOptionalTimeoutMs(rawArgs) {
39
+ const value = parseOptionalStringFlag(rawArgs, "--timeout-ms");
40
+ return typeof value === "string" ? parseNumberFlag(value, "--timeout-ms", { min: 1 }) : void 0;
41
+ }
42
+ async function runSessionInspectorPlan(args) {
43
+ const sessionId = parseOptionalStringFlag(args.rawArgs, "--session-id");
44
+ const targetId = parseOptionalStringFlag(args.rawArgs, "--target-id");
45
+ const challengeAutomationMode = parseOptionalChallengeAutomationMode(args.rawArgs);
46
+ const timeoutMs = parseOptionalTimeoutMs(args.rawArgs);
47
+ if (!sessionId) {
48
+ throw createUsageError("Missing --session-id");
49
+ }
50
+ const result = await callDaemon("session.inspectPlan", {
51
+ sessionId,
52
+ ...typeof targetId === "string" ? { targetId } : {},
53
+ ...challengeAutomationMode ? { challengeAutomationMode } : {}
54
+ }, {
55
+ timeoutMs: timeoutMs ?? DEFAULT_REVIEW_TRANSPORT_TIMEOUT_MS
56
+ });
57
+ return {
58
+ success: true,
59
+ message: buildNextStepMessage(
60
+ "Challenge inspect plan captured.",
61
+ readSuggestedStepReason(result)
62
+ ),
63
+ data: result
64
+ };
65
+ }
66
+ export {
67
+ runSessionInspectorPlan
68
+ };
69
+ //# sourceMappingURL=inspector-plan-ZDIQVND3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/session/inspector-plan.ts"],"sourcesContent":["import type { ParsedArgs } from \"../../args\";\nimport { callDaemon } from \"../../client\";\nimport { createUsageError } from \"../../errors\";\nimport { DEFAULT_REVIEW_TRANSPORT_TIMEOUT_MS } from \"../../transport-timeouts\";\nimport { parseOptionalStringFlag, parseNumberFlag } from \"../../utils/parse\";\nimport { buildNextStepMessage, readSuggestedStepReason } from \"../../utils/workflow-message\";\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 runSessionInspectorPlan(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 if (!sessionId) {\n throw createUsageError(\"Missing --session-id\");\n }\n const result = await callDaemon(\"session.inspectPlan\", {\n 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: buildNextStepMessage(\n \"Challenge inspect plan captured.\",\n readSuggestedStepReason(result)\n ),\n data: result\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,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,wBAAwB,MAAkB;AAC9D,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,MAAI,CAAC,WAAW;AACd,UAAM,iBAAiB,sBAAsB;AAAA,EAC/C;AACA,QAAM,SAAS,MAAM,WAAW,uBAAuB;AAAA,IACrD;AAAA,IACA,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,MACP;AAAA,MACA,wBAAwB,MAAM;AAAA,IAChC;AAAA,IACA,MAAM;AAAA,EACR;AACF;","names":[]}
@@ -0,0 +1,234 @@
1
+ import {
2
+ resolveWorkflowOutputDirFlag
3
+ } from "./chunk-GQJ5S3BL.js";
4
+ import "./chunk-RJNI3BHT.js";
5
+ import {
6
+ parseBooleanFlag,
7
+ parseNumberFlag,
8
+ parseOptionalStringFlag,
9
+ parseRepeatedStringFlag
10
+ } from "./chunk-RPXWUCQQ.js";
11
+ import {
12
+ DEFAULT_WORKFLOW_TRANSPORT_TIMEOUT_MS
13
+ } from "./chunk-OW5HMYMI.js";
14
+ import {
15
+ callDaemon
16
+ } from "./chunk-MD655IPO.js";
17
+ import "./chunk-COAOWH3G.js";
18
+ import "./chunk-QOMWCRE3.js";
19
+ import "./chunk-MX3NFLCE.js";
20
+ import "./chunk-ASMHEEKY.js";
21
+ import {
22
+ buildWorkflowCompletionMessage
23
+ } from "./chunk-37VSRUW4.js";
24
+ import {
25
+ createUsageError
26
+ } from "./chunk-IPE7TF2P.js";
27
+ import "./chunk-STGGGVYT.js";
28
+ import "./chunk-3ILXPKSJ.js";
29
+ import "./chunk-TBUCZX4A.js";
30
+ import "./chunk-Y2KL55OG.js";
31
+ import "./chunk-5SWZDVOW.js";
32
+ import {
33
+ isChallengeAutomationMode,
34
+ resolveInspiredesignCaptureMode
35
+ } from "./chunk-4BEJVZRK.js";
36
+ import "./chunk-S5KZQJJI.js";
37
+ import "./chunk-KZ2IXVQT.js";
38
+ import "./chunk-WHQZBUNY.js";
39
+ import "./chunk-FUSXMW3G.js";
40
+
41
+ // src/cli/commands/inspiredesign.ts
42
+ var MODE_VALUES = /* @__PURE__ */ new Set(["compact", "json", "md", "context", "path"]);
43
+ var CAPTURE_MODE_VALUES = /* @__PURE__ */ new Set(["off", "deep"]);
44
+ var COOKIE_POLICY_VALUES = /* @__PURE__ */ new Set(["off", "auto", "required"]);
45
+ var BROWSER_MODE_VALUES = /* @__PURE__ */ new Set(["auto", "extension", "managed"]);
46
+ var requireValue = (rawArgs, index, flag) => {
47
+ const value = rawArgs[index + 1];
48
+ if (!value) {
49
+ throw createUsageError(`Missing value for ${flag}`);
50
+ }
51
+ return value;
52
+ };
53
+ var parseInspiredesignRunArgs = (rawArgs) => {
54
+ const parsed = {
55
+ brief: parseOptionalStringFlag(rawArgs, "--brief"),
56
+ urls: parseRepeatedStringFlag(rawArgs, "--url")
57
+ };
58
+ for (let index = 0; index < rawArgs.length; index += 1) {
59
+ const arg = rawArgs[index];
60
+ if (arg === "--brief" || arg === "--url") {
61
+ index += 1;
62
+ continue;
63
+ }
64
+ if (arg?.startsWith("--brief=") || arg?.startsWith("--url=")) {
65
+ continue;
66
+ }
67
+ if (arg === "--capture-mode") {
68
+ const value = requireValue(rawArgs, index, "--capture-mode").toLowerCase();
69
+ if (!CAPTURE_MODE_VALUES.has(value)) {
70
+ throw createUsageError(`Invalid --capture-mode: ${value}`);
71
+ }
72
+ parsed.captureMode = value;
73
+ index += 1;
74
+ continue;
75
+ }
76
+ if (arg?.startsWith("--capture-mode=")) {
77
+ const value = (arg.split("=", 2)[1] ?? "").toLowerCase();
78
+ if (!CAPTURE_MODE_VALUES.has(value)) {
79
+ throw createUsageError(`Invalid --capture-mode: ${value}`);
80
+ }
81
+ parsed.captureMode = value;
82
+ continue;
83
+ }
84
+ if (arg === "--include-prototype-guidance") {
85
+ parsed.includePrototypeGuidance = true;
86
+ continue;
87
+ }
88
+ if (arg?.startsWith("--include-prototype-guidance=")) {
89
+ parsed.includePrototypeGuidance = parseBooleanFlag(arg.split("=", 2)[1] ?? "", "--include-prototype-guidance");
90
+ continue;
91
+ }
92
+ if (arg === "--mode") {
93
+ const value = requireValue(rawArgs, index, "--mode").toLowerCase();
94
+ if (!MODE_VALUES.has(value)) {
95
+ throw createUsageError(`Invalid --mode: ${value}`);
96
+ }
97
+ parsed.mode = value;
98
+ index += 1;
99
+ continue;
100
+ }
101
+ if (arg?.startsWith("--mode=")) {
102
+ const value = (arg.split("=", 2)[1] ?? "").toLowerCase();
103
+ if (!MODE_VALUES.has(value)) {
104
+ throw createUsageError(`Invalid --mode: ${value}`);
105
+ }
106
+ parsed.mode = value;
107
+ continue;
108
+ }
109
+ if (arg === "--timeout-ms") {
110
+ parsed.timeoutMs = parseNumberFlag(requireValue(rawArgs, index, "--timeout-ms"), "--timeout-ms", { min: 1 });
111
+ index += 1;
112
+ continue;
113
+ }
114
+ if (arg?.startsWith("--timeout-ms=")) {
115
+ parsed.timeoutMs = parseNumberFlag(arg.split("=", 2)[1] ?? "", "--timeout-ms", { min: 1 });
116
+ continue;
117
+ }
118
+ if (arg === "--output-dir") {
119
+ parsed.outputDir = resolveWorkflowOutputDirFlag(requireValue(rawArgs, index, "--output-dir"));
120
+ index += 1;
121
+ continue;
122
+ }
123
+ if (arg?.startsWith("--output-dir=")) {
124
+ parsed.outputDir = resolveWorkflowOutputDirFlag(arg.split("=", 2)[1]);
125
+ continue;
126
+ }
127
+ if (arg === "--ttl-hours") {
128
+ parsed.ttlHours = parseNumberFlag(requireValue(rawArgs, index, "--ttl-hours"), "--ttl-hours", { min: 1, max: 168 });
129
+ index += 1;
130
+ continue;
131
+ }
132
+ if (arg?.startsWith("--ttl-hours=")) {
133
+ parsed.ttlHours = parseNumberFlag(arg.split("=", 2)[1] ?? "", "--ttl-hours", { min: 1, max: 168 });
134
+ continue;
135
+ }
136
+ if (arg === "--browser-mode") {
137
+ const value = requireValue(rawArgs, index, "--browser-mode").toLowerCase();
138
+ if (!BROWSER_MODE_VALUES.has(value)) {
139
+ throw createUsageError(`Invalid --browser-mode: ${value}`);
140
+ }
141
+ parsed.browserMode = value;
142
+ index += 1;
143
+ continue;
144
+ }
145
+ if (arg?.startsWith("--browser-mode=")) {
146
+ const value = (arg.split("=", 2)[1] ?? "").toLowerCase();
147
+ if (!BROWSER_MODE_VALUES.has(value)) {
148
+ throw createUsageError(`Invalid --browser-mode: ${value}`);
149
+ }
150
+ parsed.browserMode = value;
151
+ continue;
152
+ }
153
+ if (arg === "--use-cookies") {
154
+ parsed.useCookies = true;
155
+ continue;
156
+ }
157
+ if (arg?.startsWith("--use-cookies=")) {
158
+ parsed.useCookies = parseBooleanFlag(arg.split("=", 2)[1] ?? "", "--use-cookies");
159
+ continue;
160
+ }
161
+ if (arg === "--challenge-automation-mode") {
162
+ const value = requireValue(rawArgs, index, "--challenge-automation-mode");
163
+ if (!isChallengeAutomationMode(value)) {
164
+ throw createUsageError(`Invalid --challenge-automation-mode: ${value}`);
165
+ }
166
+ parsed.challengeAutomationMode = value;
167
+ index += 1;
168
+ continue;
169
+ }
170
+ if (arg?.startsWith("--challenge-automation-mode=")) {
171
+ const value = arg.split("=", 2)[1] ?? "";
172
+ if (!isChallengeAutomationMode(value)) {
173
+ throw createUsageError(`Invalid --challenge-automation-mode: ${value}`);
174
+ }
175
+ parsed.challengeAutomationMode = value;
176
+ continue;
177
+ }
178
+ if (arg === "--cookie-policy-override" || arg === "--cookie-policy") {
179
+ const value = requireValue(rawArgs, index, arg).toLowerCase();
180
+ if (!COOKIE_POLICY_VALUES.has(value)) {
181
+ throw createUsageError(`Invalid ${arg}: ${value}`);
182
+ }
183
+ parsed.cookiePolicyOverride = value;
184
+ index += 1;
185
+ continue;
186
+ }
187
+ if (arg?.startsWith("--cookie-policy-override=") || arg?.startsWith("--cookie-policy=")) {
188
+ const value = (arg.split("=", 2)[1] ?? "").toLowerCase();
189
+ if (!COOKIE_POLICY_VALUES.has(value)) {
190
+ throw createUsageError(`Invalid --cookie-policy-override: ${value}`);
191
+ }
192
+ parsed.cookiePolicyOverride = value;
193
+ }
194
+ }
195
+ return parsed;
196
+ };
197
+ async function runInspiredesignCommand(args) {
198
+ const [subcommand, ...rest] = args.rawArgs;
199
+ if (subcommand !== "run") {
200
+ throw createUsageError("Usage: opendevbrowser inspiredesign run --brief <value> [--url <url>] [options]");
201
+ }
202
+ const parsed = parseInspiredesignRunArgs(rest);
203
+ if (!parsed.brief?.trim()) {
204
+ throw createUsageError("Missing --brief");
205
+ }
206
+ const captureMode = resolveInspiredesignCaptureMode(parsed.captureMode, parsed.urls);
207
+ const data = await callDaemon("inspiredesign.run", {
208
+ brief: parsed.brief,
209
+ urls: parsed.urls,
210
+ captureMode,
211
+ includePrototypeGuidance: parsed.includePrototypeGuidance,
212
+ mode: parsed.mode ?? "compact",
213
+ timeoutMs: parsed.timeoutMs ?? DEFAULT_WORKFLOW_TRANSPORT_TIMEOUT_MS,
214
+ outputDir: resolveWorkflowOutputDirFlag(parsed.outputDir),
215
+ ttlHours: parsed.ttlHours,
216
+ browserMode: parsed.browserMode,
217
+ useCookies: parsed.useCookies,
218
+ challengeAutomationMode: parsed.challengeAutomationMode,
219
+ cookiePolicyOverride: parsed.cookiePolicyOverride
220
+ });
221
+ return {
222
+ success: true,
223
+ message: buildWorkflowCompletionMessage("Inspiredesign workflow", data),
224
+ data
225
+ };
226
+ }
227
+ var __test__ = {
228
+ parseInspiredesignRunArgs
229
+ };
230
+ export {
231
+ __test__,
232
+ runInspiredesignCommand
233
+ };
234
+ //# sourceMappingURL=inspiredesign-IEUL4PX3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/commands/inspiredesign.ts"],"sourcesContent":["import type { ParsedArgs } from \"../args\";\nimport { callDaemon } from \"../client\";\nimport { createUsageError } from \"../errors\";\nimport { DEFAULT_WORKFLOW_TRANSPORT_TIMEOUT_MS } from \"../transport-timeouts\";\nimport {\n parseBooleanFlag,\n parseNumberFlag,\n parseOptionalStringFlag,\n parseRepeatedStringFlag\n} from \"../utils/parse\";\nimport { buildWorkflowCompletionMessage } from \"../utils/workflow-message\";\nimport { isChallengeAutomationMode, type ChallengeAutomationMode } from \"../../challenges/types\";\nimport { resolveInspiredesignCaptureMode } from \"../../inspiredesign/capture-mode\";\nimport type { WorkflowBrowserMode } from \"../../providers/types\";\nimport { resolveWorkflowOutputDirFlag } from \"./workflow-output\";\n\ntype InspiredesignCommandArgs = {\n brief?: string;\n urls?: string[];\n captureMode?: \"off\" | \"deep\";\n includePrototypeGuidance?: boolean;\n mode?: \"compact\" | \"json\" | \"md\" | \"context\" | \"path\";\n timeoutMs?: number;\n outputDir?: string;\n ttlHours?: number;\n browserMode?: WorkflowBrowserMode;\n useCookies?: boolean;\n challengeAutomationMode?: ChallengeAutomationMode;\n cookiePolicyOverride?: \"off\" | \"auto\" | \"required\";\n};\n\nconst MODE_VALUES = new Set([\"compact\", \"json\", \"md\", \"context\", \"path\"]);\nconst CAPTURE_MODE_VALUES = new Set([\"off\", \"deep\"]);\nconst COOKIE_POLICY_VALUES = new Set([\"off\", \"auto\", \"required\"]);\nconst BROWSER_MODE_VALUES = new Set([\"auto\", \"extension\", \"managed\"]);\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 parseInspiredesignRunArgs = (rawArgs: string[]): InspiredesignCommandArgs => {\n const parsed: InspiredesignCommandArgs = {\n brief: parseOptionalStringFlag(rawArgs, \"--brief\"),\n urls: parseRepeatedStringFlag(rawArgs, \"--url\")\n };\n\n for (let index = 0; index < rawArgs.length; index += 1) {\n const arg = rawArgs[index];\n\n if (arg === \"--brief\" || arg === \"--url\") {\n index += 1;\n continue;\n }\n if (arg?.startsWith(\"--brief=\") || arg?.startsWith(\"--url=\")) {\n continue;\n }\n\n if (arg === \"--capture-mode\") {\n const value = requireValue(rawArgs, index, \"--capture-mode\").toLowerCase();\n if (!CAPTURE_MODE_VALUES.has(value)) {\n throw createUsageError(`Invalid --capture-mode: ${value}`);\n }\n parsed.captureMode = value as InspiredesignCommandArgs[\"captureMode\"];\n index += 1;\n continue;\n }\n if (arg?.startsWith(\"--capture-mode=\")) {\n const value = (arg.split(\"=\", 2)[1] ?? \"\").toLowerCase();\n if (!CAPTURE_MODE_VALUES.has(value)) {\n throw createUsageError(`Invalid --capture-mode: ${value}`);\n }\n parsed.captureMode = value as InspiredesignCommandArgs[\"captureMode\"];\n continue;\n }\n\n if (arg === \"--include-prototype-guidance\") {\n parsed.includePrototypeGuidance = true;\n continue;\n }\n if (arg?.startsWith(\"--include-prototype-guidance=\")) {\n parsed.includePrototypeGuidance = parseBooleanFlag(arg.split(\"=\", 2)[1] ?? \"\", \"--include-prototype-guidance\");\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 InspiredesignCommandArgs[\"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 InspiredesignCommandArgs[\"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 === \"--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 === \"--use-cookies\") {\n parsed.useCookies = true;\n continue;\n }\n if (arg?.startsWith(\"--use-cookies=\")) {\n parsed.useCookies = parseBooleanFlag(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 InspiredesignCommandArgs[\"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 InspiredesignCommandArgs[\"cookiePolicyOverride\"];\n }\n }\n\n return parsed;\n};\n\nexport async function runInspiredesignCommand(args: ParsedArgs) {\n const [subcommand, ...rest] = args.rawArgs;\n if (subcommand !== \"run\") {\n throw createUsageError(\"Usage: opendevbrowser inspiredesign run --brief <value> [--url <url>] [options]\");\n }\n\n const parsed = parseInspiredesignRunArgs(rest);\n if (!parsed.brief?.trim()) {\n throw createUsageError(\"Missing --brief\");\n }\n const captureMode = resolveInspiredesignCaptureMode(parsed.captureMode, parsed.urls);\n\n const data = await callDaemon(\"inspiredesign.run\", {\n brief: parsed.brief,\n urls: parsed.urls,\n captureMode,\n includePrototypeGuidance: parsed.includePrototypeGuidance,\n mode: parsed.mode ?? \"compact\",\n timeoutMs: parsed.timeoutMs ?? DEFAULT_WORKFLOW_TRANSPORT_TIMEOUT_MS,\n outputDir: resolveWorkflowOutputDirFlag(parsed.outputDir),\n ttlHours: parsed.ttlHours,\n browserMode: parsed.browserMode,\n useCookies: parsed.useCookies,\n challengeAutomationMode: parsed.challengeAutomationMode,\n cookiePolicyOverride: parsed.cookiePolicyOverride\n });\n\n return {\n success: true,\n message: buildWorkflowCompletionMessage(\"Inspiredesign workflow\", data),\n data\n };\n}\n\nexport const __test__ = {\n parseInspiredesignRunArgs\n};\n"],"mappings":"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","names":[]}
@@ -0,0 +1,41 @@
1
+ import {
2
+ STABLE_DAEMON_INSTALL_GUIDANCE,
3
+ isTransientAutostartInstallError
4
+ } from "./chunk-WOXBLP7V.js";
5
+
6
+ // src/cli/install-autostart-output.ts
7
+ function createInstallAutostartOutputPayload(result) {
8
+ if (!result) {
9
+ return {};
10
+ }
11
+ return {
12
+ autostart: result.autostart,
13
+ autostartAction: result.autostartAction,
14
+ ...result.autostartAction === "repair_failed" && result.autostartError ? { autostartError: result.autostartError } : {}
15
+ };
16
+ }
17
+ function formatAutostartReconciliationMessage(result) {
18
+ switch (result.autostartAction) {
19
+ case "unsupported":
20
+ return result.autostart ? `Autostart not supported on ${result.autostart.platform}.` : "Autostart not supported on this platform.";
21
+ case "already_healthy":
22
+ return "Autostart already healthy.";
23
+ case "installed":
24
+ return result.autostart ? `Autostart installed (${result.autostart.platform}).` : "Autostart installed.";
25
+ case "repaired":
26
+ return result.autostart ? `Autostart repaired (${result.autostart.platform}).` : "Autostart repaired.";
27
+ case "repair_failed":
28
+ if (result.autostartError && isTransientAutostartInstallError(result.autostartError)) {
29
+ return `Plugin install succeeded but autostart repair was skipped because the current CLI path is transient: ${result.autostartError}`;
30
+ }
31
+ return `Plugin install succeeded but autostart repair failed: ${result.autostartError ?? "unknown error"}. Run opendevbrowser daemon install to repair it.`;
32
+ default:
33
+ return null;
34
+ }
35
+ }
36
+ export {
37
+ STABLE_DAEMON_INSTALL_GUIDANCE,
38
+ createInstallAutostartOutputPayload,
39
+ formatAutostartReconciliationMessage
40
+ };
41
+ //# sourceMappingURL=install-autostart-output-5DOMKCQL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/install-autostart-output.ts"],"sourcesContent":["import {\n isTransientAutostartInstallError,\n STABLE_DAEMON_INSTALL_GUIDANCE\n} from \"./daemon-autostart\";\nimport type { InstallAutostartReconciliationResult } from \"./install-autostart-reconciliation\";\n\nexport function createInstallAutostartOutputPayload(\n result?: InstallAutostartReconciliationResult\n): Record<string, unknown> {\n if (!result) {\n return {};\n }\n\n return {\n autostart: result.autostart,\n autostartAction: result.autostartAction,\n ...(result.autostartAction === \"repair_failed\" && result.autostartError\n ? { autostartError: result.autostartError }\n : {})\n };\n}\n\nexport function formatAutostartReconciliationMessage(\n result: InstallAutostartReconciliationResult\n): string | null {\n switch (result.autostartAction) {\n case \"unsupported\":\n return result.autostart\n ? `Autostart not supported on ${result.autostart.platform}.`\n : \"Autostart not supported on this platform.\";\n case \"already_healthy\":\n return \"Autostart already healthy.\";\n case \"installed\":\n return result.autostart\n ? `Autostart installed (${result.autostart.platform}).`\n : \"Autostart installed.\";\n case \"repaired\":\n return result.autostart\n ? `Autostart repaired (${result.autostart.platform}).`\n : \"Autostart repaired.\";\n case \"repair_failed\":\n if (result.autostartError && isTransientAutostartInstallError(result.autostartError)) {\n return `Plugin install succeeded but autostart repair was skipped because the current CLI path is transient: ${result.autostartError}`;\n }\n return `Plugin install succeeded but autostart repair failed: ${result.autostartError ?? \"unknown error\"}. Run opendevbrowser daemon install to repair it.`;\n default:\n return null;\n }\n}\n\nexport { STABLE_DAEMON_INSTALL_GUIDANCE };\n"],"mappings":";;;;;;AAMO,SAAS,oCACd,QACyB;AACzB,MAAI,CAAC,QAAQ;AACX,WAAO,CAAC;AAAA,EACV;AAEA,SAAO;AAAA,IACL,WAAW,OAAO;AAAA,IAClB,iBAAiB,OAAO;AAAA,IACxB,GAAI,OAAO,oBAAoB,mBAAmB,OAAO,iBACrD,EAAE,gBAAgB,OAAO,eAAe,IACxC,CAAC;AAAA,EACP;AACF;AAEO,SAAS,qCACd,QACe;AACf,UAAQ,OAAO,iBAAiB;AAAA,IAC9B,KAAK;AACH,aAAO,OAAO,YACV,8BAA8B,OAAO,UAAU,QAAQ,MACvD;AAAA,IACN,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO,OAAO,YACV,wBAAwB,OAAO,UAAU,QAAQ,OACjD;AAAA,IACN,KAAK;AACH,aAAO,OAAO,YACV,uBAAuB,OAAO,UAAU,QAAQ,OAChD;AAAA,IACN,KAAK;AACH,UAAI,OAAO,kBAAkB,iCAAiC,OAAO,cAAc,GAAG;AACpF,eAAO,wGAAwG,OAAO,cAAc;AAAA,MACtI;AACA,aAAO,yDAAyD,OAAO,kBAAkB,eAAe;AAAA,IAC1G;AACE,aAAO;AAAA,EACX;AACF;","names":[]}
@@ -0,0 +1,73 @@
1
+ import {
2
+ getAutostartStatus,
3
+ installAutostart
4
+ } from "./chunk-WOXBLP7V.js";
5
+
6
+ // src/cli/install-autostart-reconciliation.ts
7
+ var INSTALL_AUTOSTART_SKIP_ENV_VAR = "OPDEVBROWSER_SKIP_INSTALL_AUTOSTART_RECONCILIATION";
8
+ var defaultDeps = () => ({
9
+ getAutostartStatus,
10
+ installAutostart
11
+ });
12
+ function shouldSkipInstallAutostartReconciliation(env = process.env) {
13
+ const raw = env[INSTALL_AUTOSTART_SKIP_ENV_VAR];
14
+ if (raw === void 0) {
15
+ return false;
16
+ }
17
+ const normalized = raw.trim().toLowerCase();
18
+ return normalized === "1" || normalized === "true" || normalized === "yes";
19
+ }
20
+ function reconcileInstallAutostart(installResult, deps = {}, options = {}) {
21
+ if (!installResult.success || shouldSkipInstallAutostartReconciliation(options.env)) {
22
+ return { attempted: false };
23
+ }
24
+ const resolved = { ...defaultDeps(), ...deps };
25
+ const status = resolved.getAutostartStatus();
26
+ if (!status.supported) {
27
+ return {
28
+ attempted: false,
29
+ autostart: status,
30
+ autostartAction: "unsupported"
31
+ };
32
+ }
33
+ if (status.health === "healthy") {
34
+ return {
35
+ attempted: false,
36
+ autostart: status,
37
+ autostartAction: "already_healthy"
38
+ };
39
+ }
40
+ if (status.health !== "missing" && status.health !== "needs_repair" && status.health !== "malformed") {
41
+ return {
42
+ attempted: false,
43
+ autostart: status
44
+ };
45
+ }
46
+ try {
47
+ const autostart = resolved.installAutostart();
48
+ return {
49
+ attempted: true,
50
+ autostart,
51
+ autostartAction: status.health === "missing" ? "installed" : "repaired"
52
+ };
53
+ } catch (error) {
54
+ let autostart = status;
55
+ try {
56
+ autostart = resolved.getAutostartStatus();
57
+ } catch {
58
+ autostart = status;
59
+ }
60
+ return {
61
+ attempted: true,
62
+ autostart,
63
+ autostartAction: "repair_failed",
64
+ autostartError: error instanceof Error ? error.message : String(error)
65
+ };
66
+ }
67
+ }
68
+ export {
69
+ INSTALL_AUTOSTART_SKIP_ENV_VAR,
70
+ reconcileInstallAutostart,
71
+ shouldSkipInstallAutostartReconciliation
72
+ };
73
+ //# sourceMappingURL=install-autostart-reconciliation-NHKOFYTD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli/install-autostart-reconciliation.ts"],"sourcesContent":["import { getAutostartStatus, installAutostart } from \"./daemon-autostart\";\nimport type { AutostartInstallResult, AutostartStatus } from \"./daemon-autostart\";\n\nexport const INSTALL_AUTOSTART_SKIP_ENV_VAR = \"OPDEVBROWSER_SKIP_INSTALL_AUTOSTART_RECONCILIATION\";\n\nexport type InstallResultLike = {\n success: boolean;\n alreadyInstalled: boolean;\n};\n\nexport type AutostartAction =\n | \"unsupported\"\n | \"already_healthy\"\n | \"installed\"\n | \"repaired\"\n | \"repair_failed\";\n\nexport type InstallAutostartReconciliationResult = {\n attempted: boolean;\n autostart?: AutostartStatus;\n autostartAction?: AutostartAction;\n autostartError?: string;\n};\n\nexport type InstallAutostartReconciliationDeps = {\n getAutostartStatus?: () => AutostartStatus;\n installAutostart?: () => AutostartInstallResult;\n};\n\nexport type InstallAutostartReconciliationOptions = {\n env?: NodeJS.ProcessEnv;\n};\n\nconst defaultDeps = (): Required<InstallAutostartReconciliationDeps> => ({\n getAutostartStatus,\n installAutostart\n});\n\nexport function shouldSkipInstallAutostartReconciliation(env: NodeJS.ProcessEnv = process.env): boolean {\n const raw = env[INSTALL_AUTOSTART_SKIP_ENV_VAR];\n if (raw === undefined) {\n return false;\n }\n const normalized = raw.trim().toLowerCase();\n return normalized === \"1\" || normalized === \"true\" || normalized === \"yes\";\n}\n\nexport function reconcileInstallAutostart(\n installResult: InstallResultLike,\n deps: InstallAutostartReconciliationDeps = {},\n options: InstallAutostartReconciliationOptions = {}\n): InstallAutostartReconciliationResult {\n if (!installResult.success || shouldSkipInstallAutostartReconciliation(options.env)) {\n return { attempted: false };\n }\n\n const resolved = { ...defaultDeps(), ...deps };\n const status = resolved.getAutostartStatus();\n\n if (!status.supported) {\n return {\n attempted: false,\n autostart: status,\n autostartAction: \"unsupported\"\n };\n }\n\n if (status.health === \"healthy\") {\n return {\n attempted: false,\n autostart: status,\n autostartAction: \"already_healthy\"\n };\n }\n\n if (status.health !== \"missing\" && status.health !== \"needs_repair\" && status.health !== \"malformed\") {\n return {\n attempted: false,\n autostart: status\n };\n }\n\n try {\n const autostart = resolved.installAutostart();\n return {\n attempted: true,\n autostart,\n autostartAction: status.health === \"missing\" ? \"installed\" : \"repaired\"\n };\n } catch (error) {\n let autostart = status;\n try {\n autostart = resolved.getAutostartStatus();\n } catch {\n autostart = status;\n }\n\n return {\n attempted: true,\n autostart,\n autostartAction: \"repair_failed\",\n autostartError: error instanceof Error ? error.message : String(error)\n };\n }\n}\n"],"mappings":";;;;;;AAGO,IAAM,iCAAiC;AA8B9C,IAAM,cAAc,OAAqD;AAAA,EACvE;AAAA,EACA;AACF;AAEO,SAAS,yCAAyC,MAAyB,QAAQ,KAAc;AACtG,QAAM,MAAM,IAAI,8BAA8B;AAC9C,MAAI,QAAQ,QAAW;AACrB,WAAO;AAAA,EACT;AACA,QAAM,aAAa,IAAI,KAAK,EAAE,YAAY;AAC1C,SAAO,eAAe,OAAO,eAAe,UAAU,eAAe;AACvE;AAEO,SAAS,0BACd,eACA,OAA2C,CAAC,GAC5C,UAAiD,CAAC,GACZ;AACtC,MAAI,CAAC,cAAc,WAAW,yCAAyC,QAAQ,GAAG,GAAG;AACnF,WAAO,EAAE,WAAW,MAAM;AAAA,EAC5B;AAEA,QAAM,WAAW,EAAE,GAAG,YAAY,GAAG,GAAG,KAAK;AAC7C,QAAM,SAAS,SAAS,mBAAmB;AAE3C,MAAI,CAAC,OAAO,WAAW;AACrB,WAAO;AAAA,MACL,WAAW;AAAA,MACX,WAAW;AAAA,MACX,iBAAiB;AAAA,IACnB;AAAA,EACF;AAEA,MAAI,OAAO,WAAW,WAAW;AAC/B,WAAO;AAAA,MACL,WAAW;AAAA,MACX,WAAW;AAAA,MACX,iBAAiB;AAAA,IACnB;AAAA,EACF;AAEA,MAAI,OAAO,WAAW,aAAa,OAAO,WAAW,kBAAkB,OAAO,WAAW,aAAa;AACpG,WAAO;AAAA,MACL,WAAW;AAAA,MACX,WAAW;AAAA,IACb;AAAA,EACF;AAEA,MAAI;AACF,UAAM,YAAY,SAAS,iBAAiB;AAC5C,WAAO;AAAA,MACL,WAAW;AAAA,MACX;AAAA,MACA,iBAAiB,OAAO,WAAW,YAAY,cAAc;AAAA,IAC/D;AAAA,EACF,SAAS,OAAO;AACd,QAAI,YAAY;AAChB,QAAI;AACF,kBAAY,SAAS,mBAAmB;AAAA,IAC1C,QAAQ;AACN,kBAAY;AAAA,IACd;AAEA,WAAO;AAAA,MACL,WAAW;AAAA,MACX;AAAA,MACA,iBAAiB;AAAA,MACjB,gBAAgB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,IACvE;AAAA,EACF;AACF;","names":[]}