0sec-cli 0.25.0 → 0.26.0

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 (187) hide show
  1. package/0.js +41 -40
  2. package/chunks/{adapt-loop-L2PXCD4J.js → adapt-loop-P4HKONB5.js} +4 -4
  3. package/chunks/{artifact-scraper-W3LGLXBM.js → artifact-scraper-IIRJNYKT.js} +2 -2
  4. package/chunks/{assumption-mining-7IJ6ZWZE.js → assumption-mining-YA6VJ2V6.js} +17 -17
  5. package/chunks/{backend-connections-MYH4QRQG.js → backend-connections-64PKYKL7.js} +3 -3
  6. package/chunks/{chunk-EEP6GBUO.js → chunk-3MWQNNJU.js} +151 -58
  7. package/chunks/{chunk-ZZV56ACK.js → chunk-3VQ5EZKG.js} +9 -9
  8. package/chunks/{chunk-I4VIAQHM.js → chunk-6GV5G6U3.js} +1 -1
  9. package/chunks/{chunk-OFPF26WL.js → chunk-6SNOKNCS.js} +2 -2
  10. package/chunks/{chunk-YXTV2FRE.js → chunk-72PU46MS.js} +66 -112
  11. package/chunks/{chunk-NO543ZBU.js → chunk-A7G6S5RA.js} +1 -1
  12. package/chunks/{chunk-ITEMDJAB.js → chunk-AFJ2UMPR.js} +2 -2
  13. package/chunks/{chunk-FOLTHXRH.js → chunk-B7XL6RON.js} +1 -1
  14. package/chunks/{chunk-76CLUI54.js → chunk-BM6EYP2D.js} +3 -3
  15. package/chunks/{chunk-NBLKIQCW.js → chunk-D4M5WURF.js} +2 -2
  16. package/chunks/{chunk-DHNYJ2ML.js → chunk-EHNVP6QB.js} +1 -1
  17. package/chunks/{chunk-C6ZMPXN2.js → chunk-FBZBJYZS.js} +3 -3
  18. package/chunks/{chunk-S3B6HFSM.js → chunk-GYEYTNHK.js} +1 -1
  19. package/chunks/{chunk-EIONVEFN.js → chunk-HS2NQ7K6.js} +192 -36
  20. package/chunks/{chunk-HJKJ4NQP.js → chunk-HUZ2EC2R.js} +1 -1
  21. package/chunks/{chunk-5H2PXZ7Q.js → chunk-IUUNIJPM.js} +1 -1
  22. package/chunks/{chunk-3DF55BWV.js → chunk-JGDA6EIJ.js} +2 -2
  23. package/chunks/{chunk-GOUGG7IQ.js → chunk-K3PTYN43.js} +2 -2
  24. package/chunks/{chunk-7TIWL6E5.js → chunk-KCABBZHN.js} +7 -7
  25. package/chunks/{chunk-ACYZMJHC.js → chunk-LRD5N2TQ.js} +1 -1
  26. package/chunks/{chunk-ITHDAIRY.js → chunk-MNK373HF.js} +1 -1
  27. package/chunks/{chunk-JCRQV4FE.js → chunk-MOEVVXML.js} +2 -2
  28. package/chunks/{chunk-3HMO42M2.js → chunk-MOGWEHSC.js} +68 -771
  29. package/chunks/{chunk-TFKY6D7O.js → chunk-N7YCONYR.js} +1 -1
  30. package/chunks/{chunk-FI2H6HV2.js → chunk-NA3FKCI2.js} +1 -1
  31. package/chunks/{chunk-PMAKX6KP.js → chunk-NABVDAAO.js} +2 -2
  32. package/chunks/{chunk-YYFODVZG.js → chunk-NNMOTHKC.js} +4 -4
  33. package/chunks/{chunk-RBTJYREN.js → chunk-OILVEROI.js} +17 -4
  34. package/chunks/{chunk-GXSECFUE.js → chunk-PAMJEXE2.js} +1 -1
  35. package/chunks/{chunk-2J3STRJT.js → chunk-R7VWEY45.js} +1 -1
  36. package/chunks/{chunk-27SXCYWH.js → chunk-RZZ6VPRY.js} +1 -1
  37. package/chunks/{chunk-HFUOUT2B.js → chunk-SIR7XW2S.js} +1392 -826
  38. package/chunks/{chunk-HDJSHLRM.js → chunk-SSPP64FF.js} +2 -2
  39. package/chunks/{chunk-WK6VUCKK.js → chunk-STPHTPSD.js} +1 -1
  40. package/chunks/{chunk-SEWZ76MN.js → chunk-UGCTPKJG.js} +14 -6
  41. package/chunks/{chunk-MY44EZKD.js → chunk-ULRLUXSS.js} +1 -1
  42. package/chunks/{chunk-BWUW6ZQR.js → chunk-UQS7XCBV.js} +75 -60
  43. package/chunks/{chunk-6TA3CWND.js → chunk-V2KJQVYE.js} +42 -21
  44. package/chunks/{chunk-RFK5F45W.js → chunk-VJBEB2K6.js} +1 -1
  45. package/chunks/{chunk-D4IBEO2K.js → chunk-VWE36MUN.js} +1 -1
  46. package/chunks/{chunk-B5TIXHCO.js → chunk-WNWDQ2TO.js} +1 -1
  47. package/chunks/{chunk-S2WCYEK2.js → chunk-WPJMA5AK.js} +2 -2
  48. package/chunks/{chunk-FI5YL4R2.js → chunk-XJ2TBEV7.js} +3 -3
  49. package/chunks/{chunk-3T5R7P4T.js → chunk-XOVYV7TT.js} +4 -4
  50. package/chunks/{chunk-DJGJECBV.js → chunk-YGYJ2FTH.js} +4 -3
  51. package/chunks/{chunk-ZWAWZU6C.js → chunk-YJGPPPUB.js} +37 -9
  52. package/chunks/chunk-YP2DHYNI.js +650 -0
  53. package/chunks/{chunk-DMDWIW3E.js → chunk-Z2VLJEQJ.js} +4 -4
  54. package/chunks/{chunk-EQBC2ZWL.js → chunk-ZPVSDB63.js} +1604 -246
  55. package/chunks/{codex-models-KCUIVS3R.js → codex-models-CI22KIHY.js} +7 -7
  56. package/chunks/{commands-MPPAADGY.js → commands-C2WRSCNB.js} +210 -101
  57. package/chunks/dashboard-XO2X2SPD.js +75 -0
  58. package/chunks/{db-R2AQSESC.js → db-FU3OIGQK.js} +3 -3
  59. package/chunks/{deep-review-Q6BJKEV4.js → deep-review-5AL6QYTK.js} +30 -30
  60. package/chunks/{disclose-GGULOW27.js → disclose-YPV5KIUU.js} +3 -3
  61. package/chunks/{dist-6RNAVFAY.js → dist-ONIRKDH6.js} +29 -29
  62. package/chunks/{dist-OLGNKDB2.js → dist-QLMPTFT7.js} +2 -2
  63. package/chunks/{dist-DWN7U5OV.js → dist-QXJKD743.js} +1 -1
  64. package/chunks/{eval-runner-WCTTIYN4.js → eval-runner-D3RUCU3R.js} +17 -17
  65. package/chunks/{exploit-agent-M3KUMZJH.js → exploit-agent-4E4HXKUA.js} +1 -1
  66. package/chunks/{exploit-autoclimb-QTTWC5WM.js → exploit-autoclimb-5GRXI6VQ.js} +1 -1
  67. package/chunks/{exploit-climb-E4KDELTN.js → exploit-climb-AHQEJ2I2.js} +2 -2
  68. package/chunks/{fix-U5FFJD4F.js → fix-CHD7LXDS.js} +7 -7
  69. package/chunks/{harness-FMKIMEH5.js → harness-E63KDHPG.js} +3 -3
  70. package/chunks/{hunt-scan-RYPWRUQD.js → hunt-scan-ME2Z4CTC.js} +16 -16
  71. package/chunks/{kernel-primitive-CVG2E7MJ.js → kernel-primitive-S566GXWP.js} +2 -2
  72. package/chunks/{kernel-vm-runner-62KISULQ.js → kernel-vm-runner-KREBY4DC.js} +2 -2
  73. package/chunks/{local-engine-WP3I7K7G.js → local-engine-ZRTZVSSX.js} +5 -5
  74. package/chunks/managed-operation-ZMLLRCCQ.js +59 -0
  75. package/chunks/{native-loop-HC77R5NQ.js → native-loop-UV3Z4Z2F.js} +16 -16
  76. package/chunks/{operator-services-E2NONBQS.js → operator-services-JOCREEBA.js} +35 -35
  77. package/chunks/{orchestrate-Z3DW265M.js → orchestrate-ZF6ZTSIQ.js} +30 -30
  78. package/chunks/{prepare-7DTS6RJT.js → prepare-PLDVGLDX.js} +5 -5
  79. package/chunks/{provider-model-discovery-QGUGL3XW.js → provider-model-discovery-3X6DON3Y.js} +7 -2
  80. package/chunks/{remote-workflow-runtime-6CEVRZXS.js → remote-workflow-runtime-GOI4TYP5.js} +2 -2
  81. package/chunks/routing-WCQLO5SP.js +61 -0
  82. package/chunks/{runtime-W6JNDQRO.js → runtime-6ZIXFTW5.js} +2 -2
  83. package/chunks/{runtime-PZJ77QES.js → runtime-TVH5ORUK.js} +11 -7
  84. package/chunks/{scan-stream-6VOJTHTR.js → scan-stream-HJVTWZ44.js} +4 -4
  85. package/chunks/{scope-FHXW6EX6.js → scope-RCYXVGJR.js} +2 -2
  86. package/chunks/service-plugins-TN6KDX4L.js +63 -0
  87. package/chunks/{session-store-DBBI544Y.js → session-store-6QR3CVUA.js} +2 -2
  88. package/chunks/{variant-candidates-DPR6DJ3N.js → variant-candidates-SGLKPPHI.js} +7 -7
  89. package/chunks/{web-recon-prepass-HWDHDQMN.js → web-recon-prepass-GO7CTMVQ.js} +5 -5
  90. package/chunks/{workflow-runtime-PLB32XC3.js → workflow-runtime-CQTDASFA.js} +43 -43
  91. package/dashboard/assets/{abnfDiagram-VCTEODGH-6e39CQKz.js → abnfDiagram-VCTEODGH-DDZsU70-.js} +1 -1
  92. package/dashboard/assets/{arc-ClYun86B.js → arc-iDXNTSL6.js} +1 -1
  93. package/dashboard/assets/{architecture-7GRP2DOG-rM-lWo7E.js → architecture-7GRP2DOG-DJcY9RFg.js} +1 -1
  94. package/dashboard/assets/{architectureDiagram-5GKGNRK7-C9gEGZIU.js → architectureDiagram-5GKGNRK7-d0ZuOniQ.js} +1 -1
  95. package/dashboard/assets/{blockDiagram-I7D4REHJ-Dgh2n5Lf.js → blockDiagram-I7D4REHJ-B-EWfMy1.js} +1 -1
  96. package/dashboard/assets/{c4Diagram-7LVT6UL2-CsorW08z.js → c4Diagram-7LVT6UL2-KcZRuXZC.js} +1 -1
  97. package/dashboard/assets/channel-CeWMIm0w.js +1 -0
  98. package/dashboard/assets/{chunk-4HAMMTFA-4_b_LGGQ.js → chunk-4HAMMTFA-DXWulBlo.js} +1 -1
  99. package/dashboard/assets/{chunk-75Z2AOVW-qzNlKGCp.js → chunk-75Z2AOVW-RiLZItrz.js} +1 -1
  100. package/dashboard/assets/{chunk-DU6HZSFF-SAPICW28.js → chunk-DU6HZSFF-MBcaIyTX.js} +1 -1
  101. package/dashboard/assets/{chunk-F27PBJKO-DlLotIQx.js → chunk-F27PBJKO-kLWCBX_W.js} +1 -1
  102. package/dashboard/assets/{chunk-GMAD6QVW-DNnr65Nb.js → chunk-GMAD6QVW-BeQeSjpW.js} +1 -1
  103. package/dashboard/assets/{chunk-GVQU2GXP-DTwv0VfU.js → chunk-GVQU2GXP-CjCMlOIB.js} +1 -1
  104. package/dashboard/assets/{chunk-IMKFNOWR-B1fk1q_W.js → chunk-IMKFNOWR-BwNst53D.js} +1 -1
  105. package/dashboard/assets/{chunk-L3NEJ4N5-ByVjFIox.js → chunk-L3NEJ4N5-CHXWQrkL.js} +1 -1
  106. package/dashboard/assets/{chunk-OSK3NFVY-DUDCzjbh.js → chunk-OSK3NFVY-B2vd19Ed.js} +1 -1
  107. package/dashboard/assets/{chunk-P2QGCYS3-D_D5qEso.js → chunk-P2QGCYS3-Dk7Fyh6n.js} +1 -1
  108. package/dashboard/assets/{chunk-POPQ4Y6H-CetM-tVm.js → chunk-POPQ4Y6H-CPAgOvYe.js} +1 -1
  109. package/dashboard/assets/{chunk-PWAF6VOD-BcJX4exl.js → chunk-PWAF6VOD-BotyfMha.js} +1 -1
  110. package/dashboard/assets/{chunk-SHT3W25Y-BWQql238.js → chunk-SHT3W25Y-Buz5gLRP.js} +1 -1
  111. package/dashboard/assets/{chunk-SVP7TREG-BSLOD1JE.js → chunk-SVP7TREG-_rpYEZcs.js} +1 -1
  112. package/dashboard/assets/{chunk-TICWLB2K-DReOl-g_.js → chunk-TICWLB2K-DOJxPoec.js} +1 -1
  113. package/dashboard/assets/{chunk-XXDRQBXY-DSdSMeei.js → chunk-XXDRQBXY-EXxKJbAs.js} +1 -1
  114. package/dashboard/assets/classDiagram-ZZMXUADV-DV_h1NoS.js +1 -0
  115. package/dashboard/assets/classDiagram-v2-VYDZK3BY-DV_h1NoS.js +1 -0
  116. package/dashboard/assets/{common-CRRsylCH.js → common-VLJRx-Jq.js} +1 -1
  117. package/dashboard/assets/{cose-bilkent-JH36ORCC-fg-DIBqt.js → cose-bilkent-JH36ORCC-B1SVC57o.js} +1 -1
  118. package/dashboard/assets/{cynefin-OW5HDTMX-XmrbEIFh.js → cynefin-OW5HDTMX-BzhRorj4.js} +1 -1
  119. package/dashboard/assets/{cynefinDiagram-5FMLGOSQ-CoQ7QEPl.js → cynefinDiagram-5FMLGOSQ-JXzRmldX.js} +1 -1
  120. package/dashboard/assets/{dagre-GXQ25YYZ-qtQtsg6c.js → dagre-GXQ25YYZ-1LZ-X0-Z.js} +1 -1
  121. package/dashboard/assets/{diagram-S7CK7UJ4-B_ts4_58.js → diagram-S7CK7UJ4-C_-J_LQ4.js} +1 -1
  122. package/dashboard/assets/{diagram-UQ7AKVKN-DwHbbxFy.js → diagram-UQ7AKVKN-CnxL1k8g.js} +1 -1
  123. package/dashboard/assets/{diagram-VSXAHHWV-2Tg_RG89.js → diagram-VSXAHHWV-WzSb3aby.js} +1 -1
  124. package/dashboard/assets/{diagram-VX7I27RA-BFYp-YjF.js → diagram-VX7I27RA-DKhrMInE.js} +1 -1
  125. package/dashboard/assets/{diagram-Z3DM3KII-DrPiS4V0.js → diagram-Z3DM3KII-CDhI2WGP.js} +1 -1
  126. package/dashboard/assets/{dist-cbVssBvx.js → dist-B0bfBMeP.js} +1 -1
  127. package/dashboard/assets/{ebnfDiagram-PWID7BFC-DCMOZtU2.js → ebnfDiagram-PWID7BFC-iL5NQ1PE.js} +1 -1
  128. package/dashboard/assets/{erDiagram-RLTQ6QDP-CW4rUJGU.js → erDiagram-RLTQ6QDP-RK2Voa5O.js} +1 -1
  129. package/dashboard/assets/{eventmodeling-NTZA5JFV-C2q-Aaav.js → eventmodeling-NTZA5JFV-WgE7OJBb.js} +1 -1
  130. package/dashboard/assets/flowDiagram-HODETNUW-B9YcQ0Aq.js +1 -0
  131. package/dashboard/assets/{ganttDiagram-EL5Y4UJY-C1AqcwIF.js → ganttDiagram-EL5Y4UJY-D8CJXHRF.js} +1 -1
  132. package/dashboard/assets/{gitGraph-4MIJSDKK-DYR76gtd.js → gitGraph-4MIJSDKK-BuZ9Lg04.js} +1 -1
  133. package/dashboard/assets/{gitGraphDiagram-WWUBYQGX-B7hL98CE.js → gitGraphDiagram-WWUBYQGX-LEJMh54j.js} +1 -1
  134. package/dashboard/assets/{info-A6RAGUB7-TXB43LiH.js → info-A6RAGUB7-BL5k3pev.js} +1 -1
  135. package/dashboard/assets/{infoDiagram-27XIBGKW-Dk5dXmh_.js → infoDiagram-27XIBGKW-LJvntUnZ.js} +1 -1
  136. package/dashboard/assets/{ishikawaDiagram-5VMMS53U-BQDuNMka.js → ishikawaDiagram-5VMMS53U-BYTYgKCG.js} +1 -1
  137. package/dashboard/assets/{journeyDiagram-3NMN7TZE-DkustddD.js → journeyDiagram-3NMN7TZE-G25qgQgO.js} +1 -1
  138. package/dashboard/assets/{kanban-definition-UXKFOSKX-BW7Ann84.js → kanban-definition-UXKFOSKX-Bk3uLl1i.js} +1 -1
  139. package/dashboard/assets/{line-DVxcLeru.js → line-i4qHBaWO.js} +1 -1
  140. package/dashboard/assets/{linear-DOM_l9bO.js → linear-DmrqRsKG.js} +1 -1
  141. package/dashboard/assets/{mermaid-parser.core-CKg9fDvJ.js → mermaid-parser.core-BxbKr4QF.js} +3 -3
  142. package/dashboard/assets/{mermaid.core-DruW_5-Y.js → mermaid.core-Cltee6FS.js} +4 -4
  143. package/dashboard/assets/{mindmap-definition-YA3MSWOX-Di5W5VB3.js → mindmap-definition-YA3MSWOX-DkzO2JgS.js} +1 -1
  144. package/dashboard/assets/operations-B4_timQX.css +1 -0
  145. package/dashboard/assets/operations-DwppJviL.js +199 -0
  146. package/dashboard/assets/{packet-AYTQ26CC-BABwqtNu.js → packet-AYTQ26CC-uZQUKnrE.js} +1 -1
  147. package/dashboard/assets/{pegDiagram-XKGWAZYB-Cx4ABT6q.js → pegDiagram-XKGWAZYB-CrOEi00T.js} +1 -1
  148. package/dashboard/assets/{pie-WAS4IAKB-CNdXyrze.js → pie-WAS4IAKB-Dn9_tpQT.js} +1 -1
  149. package/dashboard/assets/{pieDiagram-E7YTZNPT-BilfQbIs.js → pieDiagram-E7YTZNPT-D-niUkzc.js} +1 -1
  150. package/dashboard/assets/{quadrantDiagram-AXDQQJYC-BVmMQHE5.js → quadrantDiagram-AXDQQJYC-CJOTiG5V.js} +1 -1
  151. package/dashboard/assets/{radar-RG4KPBEZ-fKNmDeoK.js → radar-RG4KPBEZ-DIIVz4e8.js} +1 -1
  152. package/dashboard/assets/{railroad-74A4TZTK-DhcvDCOh.js → railroad-74A4TZTK-1kiqDEID.js} +1 -1
  153. package/dashboard/assets/{railroad-abnf-HS5TGJTU-BTRVAmf0.js → railroad-abnf-HS5TGJTU-DK6rQPZR.js} +1 -1
  154. package/dashboard/assets/{railroad-ebnf-LZEXJU2U-CwS8fgC_.js → railroad-ebnf-LZEXJU2U-C6cOgYW4.js} +1 -1
  155. package/dashboard/assets/{railroad-peg-WCYAUIDC-CXuhXlNp.js → railroad-peg-WCYAUIDC-CQ3ptKef.js} +1 -1
  156. package/dashboard/assets/{railroadDiagram-O6MQD6OU-DnBru-jf.js → railroadDiagram-O6MQD6OU-nEfkpa-m.js} +1 -1
  157. package/dashboard/assets/{requirementDiagram-BXWQKSXE-FwdvUZ7_.js → requirementDiagram-BXWQKSXE-CdFMY8tG.js} +1 -1
  158. package/dashboard/assets/{sankeyDiagram-P5KCCOFB-BQvDORai.js → sankeyDiagram-P5KCCOFB-C0KxrFYv.js} +1 -1
  159. package/dashboard/assets/{sequenceDiagram-WJ2MYXX4-FWYQLzcY.js → sequenceDiagram-WJ2MYXX4-DeZ5ATiu.js} +1 -1
  160. package/dashboard/assets/{src-BwkPhlcp.js → src-Cg-chcoE.js} +1 -1
  161. package/dashboard/assets/{stateDiagram-D77RDMKH-CjPBd_Sa.js → stateDiagram-D77RDMKH-B9MwWL5B.js} +1 -1
  162. package/dashboard/assets/stateDiagram-v2-MP3YSRHH-SucFndhx.js +1 -0
  163. package/dashboard/assets/{swimlanes-42K2YHIH-SQLNsa4J.js → swimlanes-42K2YHIH-DB--fwQE.js} +1 -1
  164. package/dashboard/assets/swimlanesDiagram-VR7AAH4N-BzH-rIaK.js +8 -0
  165. package/dashboard/assets/{timeline-definition-24CTP7MA-BxCf20k1.js → timeline-definition-24CTP7MA-DLkkTbWb.js} +1 -1
  166. package/dashboard/assets/{treeView-Q6P3EWNA-BGLYAyGp.js → treeView-Q6P3EWNA-XkZ9rl9H.js} +1 -1
  167. package/dashboard/assets/{treemap-WGGIJYW6-BlzAwncU.js → treemap-WGGIJYW6-JCtVKxCE.js} +1 -1
  168. package/dashboard/assets/{vennDiagram-4TSXK5OY-D76RIZLz.js → vennDiagram-4TSXK5OY-DEb-x29Z.js} +1 -1
  169. package/dashboard/assets/{wardley-WFR3VGLG-Ba_reiVw.js → wardley-WFR3VGLG-DhI7ROY3.js} +1 -1
  170. package/dashboard/assets/{wardleyDiagram-VM6X3IG4-Cux4coOD.js → wardleyDiagram-VM6X3IG4-KNckudc5.js} +1 -1
  171. package/dashboard/assets/{xychartDiagram-S5SC5T6Z-Ch5mvnlH.js → xychartDiagram-S5SC5T6Z-D4c0ynCk.js} +1 -1
  172. package/dashboard/index.html +13 -2
  173. package/package.json +1 -1
  174. package/worker-assets/demo-target/README.md +7 -3
  175. package/chunks/chunk-AL32F74R.js +0 -1123
  176. package/chunks/dashboard-MN7GZLLX.js +0 -75
  177. package/chunks/managed-operation-642WPTLC.js +0 -59
  178. package/chunks/routing-ITJZBJIU.js +0 -61
  179. package/chunks/service-plugins-CN6Q2NSN.js +0 -63
  180. package/dashboard/assets/channel-BBlDqIBl.js +0 -1
  181. package/dashboard/assets/classDiagram-ZZMXUADV-CRH2kB8G.js +0 -1
  182. package/dashboard/assets/classDiagram-v2-VYDZK3BY-CRH2kB8G.js +0 -1
  183. package/dashboard/assets/flowDiagram-HODETNUW-3NOabgG3.js +0 -1
  184. package/dashboard/assets/operations-B-t_k60U.js +0 -194
  185. package/dashboard/assets/operations-D2ZKZFOF.css +0 -1
  186. package/dashboard/assets/stateDiagram-v2-MP3YSRHH-DHmenujm.js +0 -1
  187. package/dashboard/assets/swimlanesDiagram-VR7AAH4N-D1bH4ETZ.js +0 -8
@@ -3,19 +3,19 @@ import { createRequire as __0CreateRequire } from "node:module";
3
3
  const require = __0CreateRequire(import.meta.url);
4
4
  import {
5
5
  registerDeepReviewCommand
6
- } from "./chunk-ZZV56ACK.js";
6
+ } from "./chunk-3VQ5EZKG.js";
7
7
  import {
8
8
  registerOrchestrateCommand
9
- } from "./chunk-YYFODVZG.js";
9
+ } from "./chunk-NNMOTHKC.js";
10
10
  import {
11
11
  registerDbCommand
12
- } from "./chunk-B5TIXHCO.js";
12
+ } from "./chunk-WNWDQ2TO.js";
13
13
  import {
14
14
  discoverSshHosts,
15
15
  hashTeamPassword,
16
16
  registerDashboardCommand,
17
17
  registerWorkbenchCommand
18
- } from "./chunk-3HMO42M2.js";
18
+ } from "./chunk-MOGWEHSC.js";
19
19
  import {
20
20
  buildFindingChatPrompt,
21
21
  buildFindingConsoleCommand,
@@ -25,46 +25,50 @@ import {
25
25
  registerVerifyCommand,
26
26
  resolveFindingChatIntent,
27
27
  runUnified
28
- } from "./chunk-BWUW6ZQR.js";
29
- import "./chunk-DMDWIW3E.js";
30
- import "./chunk-GOUGG7IQ.js";
28
+ } from "./chunk-UQS7XCBV.js";
29
+ import "./chunk-Z2VLJEQJ.js";
30
+ import "./chunk-K3PTYN43.js";
31
31
  import {
32
32
  TIMELINE_FORMATS,
33
33
  formatTimeline,
34
34
  isTimelineFormat,
35
35
  renderReplay
36
- } from "./chunk-C6ZMPXN2.js";
36
+ } from "./chunk-FBZBJYZS.js";
37
37
  import {
38
38
  registerRoutingCommand
39
- } from "./chunk-3DF55BWV.js";
39
+ } from "./chunk-JGDA6EIJ.js";
40
40
  import {
41
41
  executeManagedOperation
42
- } from "./chunk-JCRQV4FE.js";
43
- import "./chunk-ZWAWZU6C.js";
44
- import "./chunk-EQBC2ZWL.js";
42
+ } from "./chunk-MOEVVXML.js";
43
+ import "./chunk-YJGPPPUB.js";
44
+ import "./chunk-ZPVSDB63.js";
45
45
  import {
46
46
  getRuntimeAvailability
47
- } from "./chunk-ITHDAIRY.js";
48
- import "./chunk-7TIWL6E5.js";
47
+ } from "./chunk-MNK373HF.js";
48
+ import "./chunk-KCABBZHN.js";
49
49
  import {
50
+ BackendConnectionError,
51
+ BackendConnectionRegistry,
52
+ backendBearerFromEnv,
50
53
  deployWorker,
54
+ loadBackendConnectionConfig,
51
55
  repairWorker,
52
56
  stopWorker,
53
57
  validateWorkerOptions
54
- } from "./chunk-SEWZ76MN.js";
58
+ } from "./chunk-UGCTPKJG.js";
55
59
  import {
56
60
  consolePresentationOutput,
57
61
  performAutoUpdate,
58
62
  processPresentationOutput,
59
63
  writePresentationLine
60
- } from "./chunk-NBLKIQCW.js";
64
+ } from "./chunk-D4M5WURF.js";
61
65
  import {
62
66
  Command,
63
67
  InvalidArgumentError,
64
68
  Option
65
69
  } from "./chunk-S4DFH2FJ.js";
66
- import "./chunk-NO543ZBU.js";
67
- import "./chunk-RBTJYREN.js";
70
+ import "./chunk-A7G6S5RA.js";
71
+ import "./chunk-OILVEROI.js";
68
72
  import {
69
73
  source_default
70
74
  } from "./chunk-HLFS6WV2.js";
@@ -80,7 +84,7 @@ import {
80
84
  saveProjectOverrides,
81
85
  saveSettings,
82
86
  settingsFilePath
83
- } from "./chunk-6TA3CWND.js";
87
+ } from "./chunk-V2KJQVYE.js";
84
88
  import {
85
89
  CraftMemoryStore,
86
90
  DEFAULT_MAX_TOOL_ITERATIONS,
@@ -124,17 +128,17 @@ import {
124
128
  techniquesForEvent,
125
129
  toScopeFile,
126
130
  updateProjectReviewChecks
127
- } from "./chunk-EEP6GBUO.js";
131
+ } from "./chunk-3MWQNNJU.js";
128
132
  import {
129
133
  formatSarif
130
- } from "./chunk-AL32F74R.js";
134
+ } from "./chunk-YP2DHYNI.js";
131
135
  import {
132
136
  adaptAndVerify
133
- } from "./chunk-FI5YL4R2.js";
137
+ } from "./chunk-XJ2TBEV7.js";
134
138
  import {
135
139
  enumerateJsChunkUrls
136
- } from "./chunk-WK6VUCKK.js";
137
- import "./chunk-D4IBEO2K.js";
140
+ } from "./chunk-STPHTPSD.js";
141
+ import "./chunk-VWE36MUN.js";
138
142
  import {
139
143
  createLiveHttpSender
140
144
  } from "./chunk-GVD6SJGH.js";
@@ -146,7 +150,7 @@ import {
146
150
  import {
147
151
  getEvalCategories,
148
152
  runEval
149
- } from "./chunk-PMAKX6KP.js";
153
+ } from "./chunk-NABVDAAO.js";
150
154
  import {
151
155
  runNpmDynamicDiscovery
152
156
  } from "./chunk-2WNCI664.js";
@@ -158,12 +162,12 @@ import {
158
162
  DETECTOR_REGISTRY,
159
163
  resolveDetectors
160
164
  } from "./chunk-DQTNI3KY.js";
161
- import "./chunk-FI2H6HV2.js";
165
+ import "./chunk-NA3FKCI2.js";
162
166
  import {
163
167
  prepare
164
- } from "./chunk-HJKJ4NQP.js";
165
- import "./chunk-TFKY6D7O.js";
166
- import "./chunk-76CLUI54.js";
168
+ } from "./chunk-HUZ2EC2R.js";
169
+ import "./chunk-N7YCONYR.js";
170
+ import "./chunk-BM6EYP2D.js";
167
171
  import {
168
172
  ObjectiveOracle,
169
173
  ToolExecutor,
@@ -238,8 +242,8 @@ import {
238
242
  withVariantFeatureFlags,
239
243
  workflowPolicyRuntime,
240
244
  writeAgentActionEvidenceBundle
241
- } from "./chunk-HFUOUT2B.js";
242
- import "./chunk-ACYZMJHC.js";
245
+ } from "./chunk-SIR7XW2S.js";
246
+ import "./chunk-LRD5N2TQ.js";
243
247
  import "./chunk-K2PWUPUI.js";
244
248
  import {
245
249
  RateLimiter,
@@ -249,31 +253,31 @@ import {
249
253
  searchAdvisories,
250
254
  searchSimilar,
251
255
  searchTargetHistory
252
- } from "./chunk-OFPF26WL.js";
256
+ } from "./chunk-6SNOKNCS.js";
253
257
  import "./chunk-PAE7ZAV6.js";
254
258
  import "./chunk-UEX7PFSE.js";
255
- import "./chunk-I4VIAQHM.js";
256
- import "./chunk-2J3STRJT.js";
259
+ import "./chunk-6GV5G6U3.js";
260
+ import "./chunk-R7VWEY45.js";
257
261
  import {
258
262
  budgetNativeRuntime
259
- } from "./chunk-HDJSHLRM.js";
263
+ } from "./chunk-SSPP64FF.js";
260
264
  import "./chunk-AZ7L3HFD.js";
261
- import "./chunk-FOLTHXRH.js";
265
+ import "./chunk-B7XL6RON.js";
262
266
  import {
263
267
  runSourceFix
264
- } from "./chunk-ITEMDJAB.js";
268
+ } from "./chunk-AFJ2UMPR.js";
265
269
  import {
266
270
  appendImprovementLedgerEntry,
267
271
  evaluateImprovementPromotion,
268
272
  loadEvolutionConfigFile,
269
273
  verifyImprovementLedger
270
- } from "./chunk-DJGJECBV.js";
274
+ } from "./chunk-YGYJ2FTH.js";
271
275
  import {
272
276
  runHttpConformanceCheck
273
277
  } from "./chunk-LWMEJYCP.js";
274
278
  import {
275
279
  createRuntime
276
- } from "./chunk-DHNYJ2ML.js";
280
+ } from "./chunk-EHNVP6QB.js";
277
281
  import "./chunk-O6KPVYOI.js";
278
282
  import {
279
283
  buildAdGraph,
@@ -293,7 +297,7 @@ import {
293
297
  resolveOsecDbPath,
294
298
  resolveOsecRunStorage,
295
299
  writeOsecRunReport
296
- } from "./chunk-YXTV2FRE.js";
300
+ } from "./chunk-72PU46MS.js";
297
301
  import {
298
302
  DISCLOSURE_STATUSES,
299
303
  IncompleteEvidenceError,
@@ -312,46 +316,48 @@ import {
312
316
  renderReproducibilityManifest,
313
317
  renderVendorNotificationMarkdown,
314
318
  transition
315
- } from "./chunk-S2WCYEK2.js";
319
+ } from "./chunk-WPJMA5AK.js";
316
320
  import {
317
321
  executePocSteps
318
322
  } from "./chunk-XPDJE537.js";
319
323
  import {
320
324
  findCveArtifacts,
321
325
  normaliseCveId
322
- } from "./chunk-5H2PXZ7Q.js";
326
+ } from "./chunk-IUUNIJPM.js";
323
327
  import "./chunk-ABKUI3QB.js";
324
- import "./chunk-GXSECFUE.js";
328
+ import "./chunk-PAMJEXE2.js";
325
329
  import {
326
330
  LlmApiRuntime,
327
331
  features
328
- } from "./chunk-EIONVEFN.js";
332
+ } from "./chunk-HS2NQ7K6.js";
329
333
  import {
330
334
  isAdmittedSmolvmWorkbench
331
- } from "./chunk-3T5R7P4T.js";
335
+ } from "./chunk-XOVYV7TT.js";
332
336
  import {
333
337
  eventBus
334
- } from "./chunk-MY44EZKD.js";
338
+ } from "./chunk-ULRLUXSS.js";
335
339
  import "./chunk-RS4MAN3Q.js";
336
340
  import {
337
341
  EmptyPocError,
338
342
  detectVersionRange,
339
343
  renderAdvisoryMarkdown,
340
344
  verifyAgainstRef
341
- } from "./chunk-RFK5F45W.js";
345
+ } from "./chunk-VJBEB2K6.js";
342
346
  import {
343
347
  ScopePolicy,
344
348
  getScopeEnforcementState,
345
349
  isScopeEnforcementEnabled,
346
350
  loadScope
347
- } from "./chunk-27SXCYWH.js";
351
+ } from "./chunk-RZZ6VPRY.js";
348
352
  import "./chunk-5IBCBQEH.js";
349
353
  import {
350
354
  AgentActionScenarioSchema,
355
+ BACKEND_PROTOCOL_VERSION,
351
356
  DEFAULT_AUTONOMY_MODE,
352
357
  DEFAULT_SEVERITY_FLOOR,
353
358
  SecurityWorkflowBindingsSchema,
354
359
  VERSION,
360
+ backendCapabilitiesForApiPath,
355
361
  compareFindingsByBusinessPriority,
356
362
  createJevEvaluator,
357
363
  findingSchema,
@@ -363,7 +369,7 @@ import {
363
369
  pocStepArraySchema,
364
370
  reportSummarySchema,
365
371
  validateScanPlan
366
- } from "./chunk-S3B6HFSM.js";
372
+ } from "./chunk-GYEYTNHK.js";
367
373
  import {
368
374
  external_exports
369
375
  } from "./chunk-5XOYTAOK.js";
@@ -647,7 +653,7 @@ function registerScanCommand(program) {
647
653
  ).option("--base <branch>", "Base branch for `--emit pr` (default: main)").option("--dry-run", "With `--emit pr`: print git/gh commands instead of running them", false).option("--emit-out-dir <path>", "Directory for `--emit pr` rollup files (default: system temp)").option("--resume <run-id>", "Resume a previous run from its on-disk journal").addOption(new Option("--branch-from <entry-index>", "Branch the journal at an entry index before resuming (with --resume)").hideHelp()).option("--verbose", "Show detailed output", false).addOption(new Option("--replay", "Replay the last scan's results").default(false).hideHelp()).action(async (opts, command) => {
648
654
  if (opts.replay) {
649
655
  try {
650
- const { osecDB: osecDB2 } = await import("./dist-OLGNKDB2.js");
656
+ const { osecDB: osecDB2 } = await import("./dist-QLMPTFT7.js");
651
657
  const db = new osecDB2(opts.dbPath);
652
658
  const scans = db.listScans(1);
653
659
  if (scans.length === 0) {
@@ -799,7 +805,7 @@ function registerScanCommand(program) {
799
805
  process.exit(2);
800
806
  }
801
807
  try {
802
- const { loadScope: loadScope2 } = await import("./dist-6RNAVFAY.js");
808
+ const { loadScope: loadScope2 } = await import("./dist-ONIRKDH6.js");
803
809
  const policy = loadScope2(scopeFile);
804
810
  const verdict = scopeEnforcement.enabled ? policy.match(String(opts.target)) : void 0;
805
811
  if (verdict && !verdict.allowed) {
@@ -826,7 +832,7 @@ function registerScanCommand(program) {
826
832
  loadScope: loadScope2,
827
833
  resolveAttribution: resolveAttribution2,
828
834
  extractAttributionFromScopeJson: extractAttributionFromScopeJson2
829
- } = await import("./dist-6RNAVFAY.js");
835
+ } = await import("./dist-ONIRKDH6.js");
830
836
  const policy = scopeFile ? loadScope2(scopeFile) : void 0;
831
837
  resolveAttribution2({
832
838
  scopeFileBlock: policy ? extractAttributionFromScopeJson2(policy.raw) : void 0,
@@ -844,7 +850,7 @@ function registerScanCommand(program) {
844
850
  loadScope: loadScope2,
845
851
  resolveEngagementProfile: resolveEngagementProfile2,
846
852
  extractEngagementFromScopeJson: extractEngagementFromScopeJson2
847
- } = await import("./dist-6RNAVFAY.js");
853
+ } = await import("./dist-ONIRKDH6.js");
848
854
  const policy = scopeFile ? loadScope2(scopeFile) : void 0;
849
855
  resolveEngagementProfile2({
850
856
  scopeFileBlock: policy ? extractEngagementFromScopeJson2(policy.raw) : void 0,
@@ -873,7 +879,7 @@ function registerScanCommand(program) {
873
879
  const rateLimit = opts.rateLimit;
874
880
  if (rateLimit !== void 0 && rateLimit !== "") {
875
881
  try {
876
- const { parseRateLimitFlag: parseRateLimitFlag2 } = await import("./dist-6RNAVFAY.js");
882
+ const { parseRateLimitFlag: parseRateLimitFlag2 } = await import("./dist-ONIRKDH6.js");
877
883
  parseRateLimitFlag2(rateLimit);
878
884
  } catch (err) {
879
885
  console.error(source_default.red(err instanceof Error ? err.message : String(err)));
@@ -886,8 +892,8 @@ function registerScanCommand(program) {
886
892
  if (opts.routingReport && !opts.singleModel) {
887
893
  if (opts.runtime !== "api") throw new Error("Reviewed routing requires --runtime api; no unsupported runtime or provider substitution.");
888
894
  if (!opts.routingReviewRef || !opts.routingModel?.length) throw new Error("--routing-report requires --routing-model approvals and --routing-review-ref confirming the workflow/provider review.");
889
- const { readRoutingJson } = await import("./routing-ITJZBJIU.js");
890
- const { recommendQualifiedRouting, LlmApiRuntime: LlmApiRuntime2 } = await import("./dist-6RNAVFAY.js");
895
+ const { readRoutingJson } = await import("./routing-WCQLO5SP.js");
896
+ const { recommendQualifiedRouting, LlmApiRuntime: LlmApiRuntime2 } = await import("./dist-ONIRKDH6.js");
891
897
  const raw = readRoutingJson(String(opts.routingReport));
892
898
  const current = new LlmApiRuntime2({ type: "api", timeout: parseInt(opts.timeout, 10), model: opts.model });
893
899
  recommendRouting = (selectedPlan) => {
@@ -902,7 +908,7 @@ function registerScanCommand(program) {
902
908
  if (!interactivePlanning && recommendRouting) {
903
909
  if (!opts.goal || !opts.planTimeCap || costCeilingUsd === void 0) throw new Error("Noninteractive reviewed routing requires --goal, --plan-time-cap and --cost-ceiling.");
904
910
  plan = { goal: opts.goal, depth: opts.depth, runCount: 1, executionMode: "sequential", timeCapMs: Number(opts.planTimeCap), costCapUsd: costCeilingUsd };
905
- const { validateScanPlan: validateScanPlan2 } = await import("./dist-DWN7U5OV.js");
911
+ const { validateScanPlan: validateScanPlan2 } = await import("./dist-QXJKD743.js");
906
912
  validateScanPlan2(plan);
907
913
  const routing = recommendRouting(plan);
908
914
  for (const [role, model] of Object.entries(routing.assignments)) console.error(`${role}: ${model} \u2014 ${routing.reasons[role]}`);
@@ -1074,7 +1080,7 @@ function registerResumeCommand(program) {
1074
1080
 
1075
1081
  // packages/cli/src/commands/replay.ts
1076
1082
  async function replayScan(opts) {
1077
- const { osecDB: osecDB2 } = await import("./dist-OLGNKDB2.js");
1083
+ const { osecDB: osecDB2 } = await import("./dist-QLMPTFT7.js");
1078
1084
  const db = new osecDB2(opts.dbPath);
1079
1085
  const requestedScan = opts.scan;
1080
1086
  let scanRecord;
@@ -1154,8 +1160,14 @@ function registerReplayCommand(program) {
1154
1160
  // packages/cli/src/commands/history.ts
1155
1161
  import { existsSync as existsSync2 } from "node:fs";
1156
1162
  function registerHistoryCommand(program) {
1157
- program.command("history").description("Show past scan history from run-local SQLite databases").option("--db-path <path>", "Path to one SQLite database").option("--limit <n>", "Number of scans to show", "10").action(async (opts) => {
1158
- const limit2 = Number.parseInt(opts.limit ?? "10", 10);
1163
+ program.command("history").description("Show past scan history from run-local SQLite databases").option("--db-path <path>", "Path to one SQLite database").option("--limit <n>", "Number of scans to show", (value) => {
1164
+ const limit2 = Number(value);
1165
+ if (!/^\d+$/.test(value) || !Number.isSafeInteger(limit2) || limit2 < 1) {
1166
+ throw new InvalidArgumentError("must be a positive integer");
1167
+ }
1168
+ return limit2;
1169
+ }, 10).action(async (opts) => {
1170
+ const limit2 = opts.limit ?? 10;
1159
1171
  const dbPaths = opts.dbPath ? [opts.dbPath] : listOsecRunDatabasePaths();
1160
1172
  const legacyDbPath = resolveOsecDbPath();
1161
1173
  if (!opts.dbPath && existsSync2(legacyDbPath) && !dbPaths.includes(legacyDbPath)) {
@@ -1409,7 +1421,7 @@ function registerFindingsCommand(program) {
1409
1421
  console.log(` ${source_default.dim(finding.evidenceAnalysis)}`);
1410
1422
  }
1411
1423
  {
1412
- const { summarizeTriageProvenance, formatTriageProvenance } = await import("./dist-6RNAVFAY.js");
1424
+ const { summarizeTriageProvenance, formatTriageProvenance } = await import("./dist-ONIRKDH6.js");
1413
1425
  const provenance = summarizeTriageProvenance({
1414
1426
  ...finding,
1415
1427
  layerVerdicts: parseLayerVerdicts(finding.layerVerdicts)
@@ -1530,7 +1542,7 @@ import { existsSync as existsSync3 } from "node:fs";
1530
1542
  var VALID_BUILD_SYSTEMS = /* @__PURE__ */ new Set(["autotools", "cmake", "meson", "auto"]);
1531
1543
  var VALID_SANITIZERS = /* @__PURE__ */ new Set(["asan", "ubsan", "msan"]);
1532
1544
  async function runHarnessTier2(args2) {
1533
- const { buildTier2Harness, extractCorpus } = await import("./dist-6RNAVFAY.js");
1545
+ const { buildTier2Harness, extractCorpus } = await import("./dist-ONIRKDH6.js");
1534
1546
  const repoAbs = resolve2(args2.repo);
1535
1547
  if (!existsSync3(repoAbs)) {
1536
1548
  throw new Error(`Tier-2: repo path '${repoAbs}' does not exist.`);
@@ -1626,7 +1638,7 @@ async function runHarnessTier3(args2) {
1626
1638
  buildTier2Harness,
1627
1639
  extractCorpus,
1628
1640
  runTier3Validation
1629
- } = await import("./dist-6RNAVFAY.js");
1641
+ } = await import("./dist-ONIRKDH6.js");
1630
1642
  const repoAbs = resolve3(args2.repo);
1631
1643
  if (!existsSync4(repoAbs)) {
1632
1644
  throw new Error(`Tier-3: repo path '${repoAbs}' does not exist.`);
@@ -1846,7 +1858,7 @@ function registerReviewCommand(program) {
1846
1858
  let seedFindings;
1847
1859
  const seedPath = opts.seedFindings;
1848
1860
  if (seedPath) {
1849
- const { readSeedFindings } = await import("./dist-6RNAVFAY.js");
1861
+ const { readSeedFindings } = await import("./dist-ONIRKDH6.js");
1850
1862
  seedFindings = readSeedFindings(seedPath);
1851
1863
  console.log(
1852
1864
  source_default.cyan(
@@ -1862,7 +1874,7 @@ function registerReviewCommand(program) {
1862
1874
  );
1863
1875
  }
1864
1876
  if (fixCommit) {
1865
- const { huntAppFixVariants, appFixVariantsToSeedFindings } = await import("./dist-6RNAVFAY.js");
1877
+ const { huntAppFixVariants, appFixVariantsToSeedFindings } = await import("./dist-ONIRKDH6.js");
1866
1878
  const result = huntAppFixVariants({
1867
1879
  repoPath: repo,
1868
1880
  fixCommit
@@ -2173,7 +2185,7 @@ function registerAuditCommand(program) {
2173
2185
  // packages/cli/src/commands/doctor.ts
2174
2186
  function registerDoctorCommand(program) {
2175
2187
  program.command("doctor").description("Check local runtime prerequisites and suggest the next command").action(async () => {
2176
- const { getRuntimeMetadata } = await import("./runtime-W6JNDQRO.js");
2188
+ const { getRuntimeMetadata } = await import("./runtime-6ZIXFTW5.js");
2177
2189
  const { hasApiKey, availableRuntimes, apiRuntime } = await getRuntimeAvailability();
2178
2190
  const runtime = getRuntimeMetadata();
2179
2191
  const nodeMajor = Number.parseInt(process.versions.node.split(".")[0] ?? "0", 10);
@@ -2468,7 +2480,7 @@ function clampRateLimitToPosture(cfg, posture) {
2468
2480
  }
2469
2481
  var workflowInputsSchema = SecurityWorkflowBindingsSchema;
2470
2482
  async function registerWorkflowTools(server, selected, opts) {
2471
- const runtime = opts.backend || opts.engineUrl ? await (await import("./remote-workflow-runtime-6CEVRZXS.js")).createRemoteWorkflowRuntime({ backendId: opts.backend, configPath: opts.backendsConfig, sessionId: opts.session, engineUrl: opts.engineUrl, engineTokenEnv: opts.engineTokenEnv }) : await (await import("./workflow-runtime-PLB32XC3.js")).createCliWorkflowRuntime({
2483
+ const runtime = opts.backend || opts.engineUrl ? await (await import("./remote-workflow-runtime-GOI4TYP5.js")).createRemoteWorkflowRuntime({ backendId: opts.backend, configPath: opts.backendsConfig, sessionId: opts.session, engineUrl: opts.engineUrl, engineTokenEnv: opts.engineTokenEnv }) : await (await import("./workflow-runtime-CQTDASFA.js")).createCliWorkflowRuntime({
2472
2484
  ownerId: `mcp:${randomUUID()}`,
2473
2485
  workspace: opts.workspace,
2474
2486
  target: opts.target,
@@ -2766,11 +2778,11 @@ function rowToFinding(row) {
2766
2778
  };
2767
2779
  }
2768
2780
  async function openStore(dbPath) {
2769
- const { MemoryStore } = await import("./dist-6RNAVFAY.js");
2781
+ const { MemoryStore } = await import("./dist-ONIRKDH6.js");
2770
2782
  return new MemoryStore(dbPath);
2771
2783
  }
2772
2784
  async function loadFinding2(dbPath, findingId) {
2773
- const { osecDB: osecDB2 } = await import("./dist-OLGNKDB2.js");
2785
+ const { osecDB: osecDB2 } = await import("./dist-QLMPTFT7.js");
2774
2786
  const db = new osecDB2(dbPath);
2775
2787
  try {
2776
2788
  const rows = db.listFindings({ limit: 5e3 });
@@ -2845,7 +2857,7 @@ async function runMemoryRemove(id, dbPath) {
2845
2857
  async function runMarkFp(findingId, opts) {
2846
2858
  const row = await loadFinding2(opts.dbPath, findingId);
2847
2859
  const finding = rowToFinding(row);
2848
- const { osecDB: osecDB2 } = await import("./dist-OLGNKDB2.js");
2860
+ const { osecDB: osecDB2 } = await import("./dist-QLMPTFT7.js");
2849
2861
  const db = new osecDB2(opts.dbPath);
2850
2862
  try {
2851
2863
  db.updateFindingTriage(row.id, "suppressed", opts.reason);
@@ -6560,7 +6572,7 @@ function registerIngestCommand(program) {
6560
6572
  reviewKernelCrashSubsystems,
6561
6573
  verifyStandaloneKernelReproducer,
6562
6574
  verifyKernelCrash
6563
- } = await import("./dist-6RNAVFAY.js");
6575
+ } = await import("./dist-ONIRKDH6.js");
6564
6576
  let kernelBuild;
6565
6577
  if (opts.kernelTree) {
6566
6578
  kernelBuild = prepareKernelVmArtifacts({
@@ -6983,7 +6995,7 @@ function registerKernelCommand(program) {
6983
6995
  checkAlreadyFixed,
6984
6996
  rankKernelHypothesesWithJev,
6985
6997
  verifyStaticKernelFinding
6986
- } = await import("./dist-6RNAVFAY.js");
6998
+ } = await import("./dist-ONIRKDH6.js");
6987
6999
  const noveltyExcluded = opts.upstreamTree ? findings.flatMap((finding) => {
6988
7000
  const path = finding.reviewAnnotation?.path ?? finding.evidence.request.match(/([^\s:]+\.[ch]):\d+/)?.[1];
6989
7001
  if (!path) return [];
@@ -7030,7 +7042,7 @@ function registerKernelCommand(program) {
7030
7042
  try {
7031
7043
  const config = jevConfigFromEnvironment("kernel", process.env);
7032
7044
  if (!config) throw new Error("Jev commit prepass requires ZERO_JEV_FEATURES=kernel and a configured provider");
7033
- const { rankKernelCommitsWithJev } = await import("./dist-6RNAVFAY.js");
7045
+ const { rankKernelCommitsWithJev } = await import("./dist-ONIRKDH6.js");
7034
7046
  const result = await rankKernelCommitsWithJev({
7035
7047
  tree: opts.tree,
7036
7048
  evaluator: createJevEvaluator(config),
@@ -7054,7 +7066,7 @@ function registerKernelCommand(program) {
7054
7066
  try {
7055
7067
  const config = jevConfigFromEnvironment("kernel", process.env);
7056
7068
  if (!config) throw new Error("Jev source prepass requires ZERO_JEV_FEATURES=kernel and a configured provider");
7057
- const { runKernelSourceJevPrepass } = await import("./dist-6RNAVFAY.js");
7069
+ const { runKernelSourceJevPrepass } = await import("./dist-ONIRKDH6.js");
7058
7070
  const result = await runKernelSourceJevPrepass({
7059
7071
  tree: opts.tree,
7060
7072
  subtree: opts.subtree,
@@ -7088,7 +7100,7 @@ function registerKernelCommand(program) {
7088
7100
  if (crashes.length === 0) throw new Error("Crash input must be a CrashRecord[] or an object with a crashes array");
7089
7101
  const records = crashes.filter((c) => !!c && typeof c === "object" && "id" in c && "summary" in c && typeof c.id === "string" && typeof c.summary === "string");
7090
7102
  if (records.length !== crashes.length) throw new Error("Every crash record requires string id and summary fields");
7091
- const { rankCrashesWithJev, crashSummaryFromTriage } = await import("./dist-6RNAVFAY.js");
7103
+ const { rankCrashesWithJev, crashSummaryFromTriage } = await import("./dist-ONIRKDH6.js");
7092
7104
  const result = await rankCrashesWithJev(
7093
7105
  records,
7094
7106
  createJevEvaluator(config)
@@ -7116,7 +7128,7 @@ function registerKernelCommand(program) {
7116
7128
  const details = parsePositiveInt(opts.details, "--details", 100);
7117
7129
  const detailDelayMs = parsePositiveInt(opts.detailDelay, "--detail-delay", 5e3);
7118
7130
  const subsystems = opts.subsystems.split(",").map((value) => value.trim()).filter(Boolean);
7119
- const { defaultSyzbotFetcher, mineSyzbotQueue, toHuntCandidates } = await import("./dist-6RNAVFAY.js");
7131
+ const { defaultSyzbotFetcher, mineSyzbotQueue, toHuntCandidates } = await import("./dist-ONIRKDH6.js");
7120
7132
  const result = await mineSyzbotQueue({
7121
7133
  fetch: defaultSyzbotFetcher,
7122
7134
  fetchDetail: defaultSyzbotFetcher,
@@ -7174,7 +7186,7 @@ function registerKernelCommand(program) {
7174
7186
  `Invalid output format '${opts.output}'. Valid: ${VALID_OUTPUT_FORMATS2.join(", ")}`
7175
7187
  );
7176
7188
  }
7177
- const { runKernelVariantHunt } = await import("./dist-6RNAVFAY.js");
7189
+ const { runKernelVariantHunt } = await import("./dist-ONIRKDH6.js");
7178
7190
  const report = await runKernelVariantHunt({
7179
7191
  tree: opts.tree,
7180
7192
  advisory: opts.advisory,
@@ -7277,7 +7289,7 @@ function resolveOutputDir(opts, scanId) {
7277
7289
  return join9(homedir2(), "0", "disclosures", `scan-${scanId.slice(0, 8)}`);
7278
7290
  }
7279
7291
  async function disclose(findingId, opts) {
7280
- const { osecDB: osecDB2 } = await import("./dist-OLGNKDB2.js");
7292
+ const { osecDB: osecDB2 } = await import("./dist-QLMPTFT7.js");
7281
7293
  const db = new osecDB2(opts.dbPath);
7282
7294
  try {
7283
7295
  let routeDroppedFinding2 = function(args2) {
@@ -7729,7 +7741,7 @@ async function runExploit(opts) {
7729
7741
  classifyPrimitiveFromDmesg,
7730
7742
  describeKernelPrimitive,
7731
7743
  runWeaponization
7732
- } = await import("./dist-6RNAVFAY.js");
7744
+ } = await import("./dist-ONIRKDH6.js");
7733
7745
  const rawFinding = readJson(opts.findingPath, "finding");
7734
7746
  let finding;
7735
7747
  try {
@@ -7792,7 +7804,7 @@ async function runExploit(opts) {
7792
7804
  }
7793
7805
  async function exploitAction(opts) {
7794
7806
  if (opts.agent) {
7795
- const { agentFromExploitOpts } = await import("./exploit-agent-M3KUMZJH.js");
7807
+ const { agentFromExploitOpts } = await import("./exploit-agent-4E4HXKUA.js");
7796
7808
  process.exitCode = await agentFromExploitOpts({
7797
7809
  ...opts.task ? { task: opts.task } : {},
7798
7810
  ...opts.flagPath ? { flagPath: opts.flagPath } : {},
@@ -7807,7 +7819,7 @@ async function exploitAction(opts) {
7807
7819
  return;
7808
7820
  }
7809
7821
  if (opts.autoclimb) {
7810
- const { autoclimbFromExploitOpts } = await import("./exploit-autoclimb-QTTWC5WM.js");
7822
+ const { autoclimbFromExploitOpts } = await import("./exploit-autoclimb-5GRXI6VQ.js");
7811
7823
  process.exitCode = await autoclimbFromExploitOpts({
7812
7824
  ...opts.bugSpec ? { bugSpec: opts.bugSpec } : {},
7813
7825
  ...opts.bootScript ? { bootScript: opts.bootScript } : {},
@@ -7821,7 +7833,7 @@ async function exploitAction(opts) {
7821
7833
  throw new Error("missing required flag: --finding <path>");
7822
7834
  }
7823
7835
  if (opts.climb) {
7824
- const { runClimb } = await import("./exploit-climb-E4KDELTN.js");
7836
+ const { runClimb } = await import("./exploit-climb-AHQEJ2I2.js");
7825
7837
  let loopBoots = 8;
7826
7838
  if (opts.loopBoots !== void 0) {
7827
7839
  loopBoots = parseInt(opts.loopBoots, 10);
@@ -7994,7 +8006,7 @@ async function runHunt(opts) {
7994
8006
  makeLloreJudge,
7995
8007
  makeHuntProveStage,
7996
8008
  prepare: prepare2
7997
- } = await import("./dist-6RNAVFAY.js");
8009
+ } = await import("./dist-ONIRKDH6.js");
7998
8010
  const log = opts.log ?? (() => {
7999
8011
  });
8000
8012
  const runtime = opts.runtime ?? "api";
@@ -8342,7 +8354,7 @@ function parseWitnessMode(raw) {
8342
8354
  }
8343
8355
  async function recencyAction(opts) {
8344
8356
  if (!opts.tree) throw new Error("missing required flag: --tree <kernel source tree>");
8345
- const { runRecencyHunt, renderRecencyReportMarkdown } = await import("./dist-6RNAVFAY.js");
8357
+ const { runRecencyHunt, renderRecencyReportMarkdown } = await import("./dist-ONIRKDH6.js");
8346
8358
  const tree = resolve14(opts.tree);
8347
8359
  const runtime = opts.runtime ?? "api";
8348
8360
  const modelDir = opts.modelDir ? resolve14(opts.modelDir) : join10(tree, ".recency-models");
@@ -8720,7 +8732,7 @@ function resolveArtifactDir(value, sourceRoot) {
8720
8732
  return canonicalArtifactDir;
8721
8733
  }
8722
8734
  async function runMemSafety(opts) {
8723
- const { prepare: prepare2, runMemSafetyScan } = await import("./dist-6RNAVFAY.js");
8735
+ const { prepare: prepare2, runMemSafetyScan } = await import("./dist-ONIRKDH6.js");
8724
8736
  const log = opts.log ?? (() => {
8725
8737
  });
8726
8738
  const prepared = await prepare2(
@@ -8927,7 +8939,7 @@ function parseWitnessMode2(raw) {
8927
8939
  return m;
8928
8940
  }
8929
8941
  async function runAssumptionHuntCli(sourceRoot, opts) {
8930
- const { runAssumptionHunt, makeSkepticVerifier } = await import("./dist-6RNAVFAY.js");
8942
+ const { runAssumptionHunt, makeSkepticVerifier } = await import("./dist-ONIRKDH6.js");
8931
8943
  const log = (m) => process.stderr.write(m + "\n");
8932
8944
  const runtime = opts.runtime ?? "api";
8933
8945
  const root = resolve17(sourceRoot);
@@ -10302,7 +10314,7 @@ function resolveConsoleAutonomyMode(opts) {
10302
10314
  function registerConsoleCommand(program) {
10303
10315
  program.command("console").alias("chat").description(
10304
10316
  "Run a headless chat prompt; interactive conversations use 0 web"
10305
- ).option("--target <url>", "Engagement target the tools operate against (optional; can be named in-chat)").option("--scope <file>", "Initial policy for the optional scope plugin; activate with `0 plugin enable scope`").option("--finding <id>", "Focus the chat on one persisted finding").option("--finding-intent <intent>", "Finding workflow: investigate, verify, or draft_fix").option("--db-path <path>", "Persistent findings database (defaults to ZERO_DB_PATH or the local store)").option("-m, --model <id>", "Override the LLM model id (else provider default)").option("--role <role>", "Tool set to expose: audit|review|discovery|attack|verify (default audit = every tool)").option("--mode <mode>", "Approval mode: standard|recon|copilot|yolo (default yolo)").option("--yolo", "Shortcut for --mode yolo (no per-action prompts; independent credential, private-network and sandbox protections remain).").option("--autonomy <mode>", "Alias of --mode (standard|copilot|yolo|recon); --mode/--yolo take precedence.").option("--max-tool-calls <n>", "Safety cap on tool-call rounds per message", String(DEFAULT_MAX_TOOL_ITERATIONS)).option("--allow-scanners", "Expose generic-scanner tool wrappers (sqlmap/nikto/\u2026); default off").option("--resume [id]", "With a headless prompt, reopen a saved session by id or unique prefix; use browser history for a picker.").option("--continue", "With a headless prompt, continue the most recent saved console session.").option("-p, --print [prompt]", "Non-interactive: run ONE prompt through the engine, print the result, and exit. Reads the prompt from the argument or piped stdin. Combine with --continue/--resume to query a saved session. Also reachable as `0 -p <prompt>`.").option("--prompt <text>", "Run one headless prompt (alias for --print)").action(async (opts) => {
10317
+ ).option("--target <url>", "Engagement target the tools operate against (optional; can be named in-chat)").option("--scope <file>", "Initial policy for the optional scope plugin; activate with `0 plugin enable scope`").option("--finding <id>", "Focus the chat on one persisted finding").option("--finding-intent <intent>", "Finding workflow: investigate, verify, or draft_fix").option("--db-path <path>", "Persistent findings database (defaults to ZERO_DB_PATH or the local store)").option("-m, --model <id>", "Override the LLM model id (else provider default)").option("--role <role>", "Tool set to expose: audit|review|discovery|attack|verify (default audit = every tool)").option("--mode <mode>", "Approval mode: standard|recon|copilot|yolo (default yolo)").option("--yolo", "Shortcut for --mode yolo (no per-action prompts; independent credential, private-network and sandbox protections remain).").option("--autonomy <mode>", "Alias of --mode (standard|copilot|yolo|recon); --mode/--yolo take precedence.").option("--max-tool-calls <n>", "Optional tool-call round limit per message (unlimited by default)").option("--allow-scanners", "Expose generic-scanner tool wrappers (sqlmap/nikto/\u2026); default off").option("--resume [id]", "With a headless prompt, reopen a saved session by id or unique prefix; use browser history for a picker.").option("--continue", "With a headless prompt, continue the most recent saved console session.").option("-p, --print [prompt]", "Non-interactive: run ONE prompt through the engine, print the result, and exit. Reads the prompt from the argument or piped stdin. Combine with --continue/--resume to query a saved session. Also reachable as `0 -p <prompt>`.").option("--prompt <text>", "Run one headless prompt (alias for --print)").action(async (opts) => {
10306
10318
  if (opts.prompt !== void 0) opts.print = opts.prompt;
10307
10319
  if (opts.print === void 0) {
10308
10320
  console.log('Interactive conversations are in the browser. Run 0 web (no account required). For automation use 0 chat --prompt "your request" or 0 -p "your request".');
@@ -10380,7 +10392,7 @@ function registerConsoleCommand(program) {
10380
10392
  let resumedModel;
10381
10393
  let resumedTarget;
10382
10394
  if (opts.continue || opts.resume !== void 0) {
10383
- const { listSessions, loadSession } = await import("./session-store-DBBI544Y.js");
10395
+ const { listSessions, loadSession } = await import("./session-store-6QR3CVUA.js");
10384
10396
  const idArg = typeof opts.resume === "string" ? opts.resume.trim() : "";
10385
10397
  if (idArg || opts.continue) {
10386
10398
  let stored = idArg ? loadSession(idArg) : null;
@@ -11497,7 +11509,7 @@ function registerXnuFuzzCommand(program) {
11497
11509
  import { readFileSync as readFileSync18 } from "node:fs";
11498
11510
  import { resolve as resolve21 } from "node:path";
11499
11511
  async function managedResearch(adapter, target, options, engine) {
11500
- const { executeManagedOperation: executeManagedOperation2 } = await import("./managed-operation-642WPTLC.js");
11512
+ const { executeManagedOperation: executeManagedOperation2 } = await import("./managed-operation-ZMLLRCCQ.js");
11501
11513
  const started = Date.now();
11502
11514
  return executeManagedOperation2({
11503
11515
  type: "research",
@@ -11549,7 +11561,7 @@ function print(value) {
11549
11561
  function registerResearchCommand(program) {
11550
11562
  const research = program.command("research").description("Run target-specific research engines");
11551
11563
  research.command("pipeline").description("Run the existing web/AI/source/package pipeline through the shared evidence plane").requiredOption("--target <target>", "URL, local path, repository, package, or image").option("--target-type <type>", "url, web-app, source-code, npm-package, pypi-package, cargo-package, or oci-image").option("--profile <profile>", "Source review profile").option("--depth <depth>", "quick, default, or deep", "default").option("--runtime <runtime>", "auto, api, claude, codex, gemini, or ollama", "auto").option("--artifact-root <path>", "Research artifact root", ".0-research").action(async (opts) => {
11552
- const { UnifiedPipelineResearchAdapter, runResearch } = await import("./dist-6RNAVFAY.js");
11564
+ const { UnifiedPipelineResearchAdapter, runResearch } = await import("./dist-ONIRKDH6.js");
11553
11565
  const allowedTypes = /* @__PURE__ */ new Set(["url", "web-app", "source-code", "npm-package", "pypi-package", "cargo-package", "oci-image"]);
11554
11566
  if (opts.targetType && !allowedTypes.has(opts.targetType)) throw new Error(`unsupported --target-type ${opts.targetType}`);
11555
11567
  print(await managedResearch(
@@ -11573,7 +11585,7 @@ function registerResearchCommand(program) {
11573
11585
  ));
11574
11586
  });
11575
11587
  research.command("counterexample").description("Search a C/C++ source target for sanitizer-confirmed counterexample inputs; optional mitigation replay").requiredOption("--source <dir>", "C/C++ source tree root").requiredOption("--fn <name>", "Suspect function name").requiredOption("--header <path>", "Header declaring the suspect function").requiredOption("--declaration <decl>", "C declaration of the suspect function").option("--input-shape <shape>", "bytesAndLen, bytesPtr, or bytesAndLenOut", "bytesAndLen").option("--build-system <system>", "auto, autotools, cmake, or meson", "auto").option("--timeout <sec>", "Fuzz wall-clock budget in seconds").option("--mitigation-source <files...>", "Reference-mitigation source file(s) for replay").option("--mitigation-include <dirs...>", "Extra include directories for the mitigation build").option("--witness <files...>", "Finding-proposed witness input file(s) to replay through the sanitizer build").option("--artifact-root <path>", "Research artifact root", ".0-research").action(async (opts) => {
11576
- const { UserspaceCounterexampleResearchAdapter, runResearch } = await import("./dist-6RNAVFAY.js");
11588
+ const { UserspaceCounterexampleResearchAdapter, runResearch } = await import("./dist-ONIRKDH6.js");
11577
11589
  const SHAPES = { bytesAndLen: true, bytesPtr: true, bytesAndLenOut: true };
11578
11590
  if (!SHAPES[opts.inputShape]) throw new Error(`unsupported --input-shape ${opts.inputShape}`);
11579
11591
  const SYSTEMS = { auto: true, autotools: true, cmake: true, meson: true };
@@ -11603,7 +11615,7 @@ function registerResearchCommand(program) {
11603
11615
  ));
11604
11616
  });
11605
11617
  research.command("mobile").description("Run passive mobile intake; indicators remain hypotheses and only scoped adapters may hand off targets").requiredOption("--target <path>", "Extracted APK/IPA directory or metadata file").option("--artifact-root <path>", "Research artifact root", ".0-research").action(async (opts) => {
11606
- const { MobileStaticResearchAdapter, runResearch } = await import("./dist-6RNAVFAY.js");
11618
+ const { MobileStaticResearchAdapter, runResearch } = await import("./dist-ONIRKDH6.js");
11607
11619
  const targetPath = resolve21(opts.target);
11608
11620
  print(await managedResearch(
11609
11621
  new MobileStaticResearchAdapter(),
@@ -11613,7 +11625,7 @@ function registerResearchCommand(program) {
11613
11625
  ));
11614
11626
  });
11615
11627
  research.command("linux-matrix").description("Import externally executed vulnerable-vs-patched boot logs; 0 validates and hashes them but does not execute boots").requiredOption("--matrix <path>", "Versioned external boot-matrix manifest JSON").requiredOption("--finding <path>", "Existing Finding JSON to bind the proof to").option("--artifact-root <path>", "Research artifact root", ".0-research").action(async (opts) => {
11616
- const { LinuxBootMatrixImportAdapter, runResearch } = await import("./dist-6RNAVFAY.js");
11628
+ const { LinuxBootMatrixImportAdapter, runResearch } = await import("./dist-ONIRKDH6.js");
11617
11629
  const matrix = resolve21(opts.matrix);
11618
11630
  const finding = JSON.parse(readFileSync18(resolve21(opts.finding), "utf8"));
11619
11631
  const result = await managedResearch(
@@ -11626,7 +11638,7 @@ function registerResearchCommand(program) {
11626
11638
  print(result);
11627
11639
  });
11628
11640
  research.command("linux").description("Run a supplied Linux kernel reproducer through the shared N-boot evidence gate").requiredOption("--kernel-tree <path>", "Linux source tree").requiredOption("--reproducer <path>", "C reproducer or syzkaller .syz program").requiredOption("--finding <path>", "Existing Finding JSON to bind the proof to").requiredOption("--expected-signature <literal>", "Literal crash signature that every counted boot must contain").option("--boots <n>", "Fresh boots", "3").option("--min-hits <n>", "Required reproducing boots", "2").option("--artifact-root <path>", "Research artifact root", ".0-research").action(async (opts) => {
11629
- const { LinuxKernelResearchAdapter, runResearch } = await import("./dist-6RNAVFAY.js");
11641
+ const { LinuxKernelResearchAdapter, runResearch } = await import("./dist-ONIRKDH6.js");
11630
11642
  const kernelTree = resolve21(opts.kernelTree);
11631
11643
  const reproducer = resolve21(opts.reproducer);
11632
11644
  const finding = JSON.parse(readFileSync18(resolve21(opts.finding), "utf8"));
@@ -11791,7 +11803,7 @@ function registerTimelineCommand(program) {
11791
11803
  process.exitCode = 2;
11792
11804
  return;
11793
11805
  }
11794
- const { osecDB: osecDB2 } = await import("./dist-OLGNKDB2.js");
11806
+ const { osecDB: osecDB2 } = await import("./dist-QLMPTFT7.js");
11795
11807
  const db = new osecDB2(opts.dbPath);
11796
11808
  let scan2;
11797
11809
  let rows;
@@ -12371,7 +12383,7 @@ var MAX_SOURCE_BYTES = 4 * 1024 * 1024;
12371
12383
  var cachedCore;
12372
12384
  async function defaultCorePort() {
12373
12385
  if (cachedCore) return cachedCore;
12374
- const mod = await import("./dist-6RNAVFAY.js");
12386
+ const mod = await import("./dist-ONIRKDH6.js");
12375
12387
  cachedCore = {
12376
12388
  validatePluginManifest: mod.validatePluginManifest,
12377
12389
  reservedToolNames: Object.values(mod.TOOL_DEFINITIONS).map((tool) => tool.name),
@@ -12710,7 +12722,7 @@ function registerHackstoreCommand(program) {
12710
12722
  var cachedCore2;
12711
12723
  async function defaultCorePort2() {
12712
12724
  if (cachedCore2) return cachedCore2;
12713
- const mod = await import("./dist-6RNAVFAY.js");
12725
+ const mod = await import("./dist-ONIRKDH6.js");
12714
12726
  cachedCore2 = mod;
12715
12727
  return mod;
12716
12728
  }
@@ -13609,8 +13621,8 @@ import { realpathSync as realpathSync3 } from "node:fs";
13609
13621
  import { isAbsolute as isAbsolute3, resolve as resolve27 } from "node:path";
13610
13622
  import { homedir as homedir3 } from "node:os";
13611
13623
  async function defaultService() {
13612
- const { LearningService, HuntMemoryStore } = await import("./dist-6RNAVFAY.js");
13613
- const { SecurityWorkflowStore: SecurityWorkflowStore2, learningProjectId } = await import("./dist-OLGNKDB2.js");
13624
+ const { LearningService, HuntMemoryStore } = await import("./dist-ONIRKDH6.js");
13625
+ const { SecurityWorkflowStore: SecurityWorkflowStore2, learningProjectId } = await import("./dist-QLMPTFT7.js");
13614
13626
  const workflows = new SecurityWorkflowStore2();
13615
13627
  const store = workflows.learningStore();
13616
13628
  const service = new LearningService(store, { workflows });
@@ -13920,9 +13932,9 @@ function registerReviewChecksCommand(program) {
13920
13932
  import { open } from "node:fs/promises";
13921
13933
  import { constants as constants4 } from "node:fs";
13922
13934
  var defaults = {
13923
- createRemoteRuntime: async (options) => (await import("./remote-workflow-runtime-6CEVRZXS.js")).createRemoteWorkflowRuntime(options),
13935
+ createRemoteRuntime: async (options) => (await import("./remote-workflow-runtime-GOI4TYP5.js")).createRemoteWorkflowRuntime(options),
13924
13936
  createRuntime: async (options) => {
13925
- const { createCliWorkflowRuntime } = await import("./workflow-runtime-PLB32XC3.js");
13937
+ const { createCliWorkflowRuntime } = await import("./workflow-runtime-CQTDASFA.js");
13926
13938
  return await createCliWorkflowRuntime(options);
13927
13939
  },
13928
13940
  out: (text2) => process.stdout.write(`${text2}
@@ -14274,9 +14286,106 @@ function registerTeamCommand(program, dependencies = {}) {
14274
14286
  out(JSON.stringify({ workspace: config.workspace, users: config.users.map(({ id, name, role }) => ({ id, name, role })) }, null, 2));
14275
14287
  }));
14276
14288
  }
14289
+
14290
+ // packages/cli/src/commands/api.ts
14291
+ import { constants as constants6 } from "node:fs";
14292
+ import { open as open2 } from "node:fs/promises";
14293
+ var MAX_BODY = 1e6;
14294
+ var METHODS = ["GET", "POST", "PATCH", "PUT", "DELETE", "HEAD"];
14295
+ async function parseBody(input) {
14296
+ if (input === void 0) return void 0;
14297
+ let text2 = input;
14298
+ if (input.startsWith("@")) {
14299
+ if (input.length === 1) throw new Error("--data @file requires a file path.");
14300
+ const file = await open2(input.slice(1), constants6.O_RDONLY | constants6.O_NONBLOCK);
14301
+ try {
14302
+ const stat3 = await file.stat();
14303
+ if (!stat3.isFile() || stat3.size > MAX_BODY) throw new Error("API data must be a regular JSON file of at most 1 MB.");
14304
+ const buffer = Buffer.alloc(MAX_BODY + 1);
14305
+ let length = 0;
14306
+ while (length < buffer.length) {
14307
+ const { bytesRead } = await file.read(buffer, length, buffer.length - length, length);
14308
+ if (!bytesRead) break;
14309
+ length += bytesRead;
14310
+ }
14311
+ if (length > MAX_BODY) throw new Error("API data exceeds 1 MB.");
14312
+ text2 = buffer.subarray(0, length).toString("utf8");
14313
+ } finally {
14314
+ await file.close();
14315
+ }
14316
+ }
14317
+ if (Buffer.byteLength(text2) > MAX_BODY) throw new Error("API data exceeds 1 MB.");
14318
+ let body;
14319
+ try {
14320
+ body = JSON.parse(text2);
14321
+ } catch {
14322
+ throw new Error("--data must contain valid JSON, or @file containing JSON.");
14323
+ }
14324
+ if (Buffer.byteLength(JSON.stringify(body)) > MAX_BODY) throw new Error("API data exceeds 1 MB.");
14325
+ return body;
14326
+ }
14327
+ async function runApiCommand(path, options, deps = {}) {
14328
+ const out = deps.out ?? ((text2) => {
14329
+ process.stdout.write(`${text2}
14330
+ `);
14331
+ });
14332
+ const err = deps.err ?? ((text2) => {
14333
+ process.stderr.write(`${text2}
14334
+ `);
14335
+ });
14336
+ const fail2 = deps.setExitCode ?? ((code) => {
14337
+ process.exitCode = code;
14338
+ });
14339
+ let registry;
14340
+ try {
14341
+ const method = (options.method ?? "GET").toUpperCase();
14342
+ if (!METHODS.includes(method)) throw new Error(`--method must be one of ${METHODS.join(", ")}.`);
14343
+ if (options.data !== void 0 && (method === "GET" || method === "HEAD")) throw new Error("GET and HEAD cannot include --data.");
14344
+ if (options.engineUrl && (options.backend || options.backendsConfig)) throw new Error("--engine-url cannot be combined with --backend or --backends-config.");
14345
+ if (Boolean(options.engineUrl) !== Boolean(options.engineTokenEnv)) throw new Error("Direct attachment requires both --engine-url and --engine-token-env.");
14346
+ if (!options.engineUrl && !options.backend) throw new Error("Select --backend or --engine-url with --engine-token-env explicitly.");
14347
+ if (options.backend === "local") throw new Error("Use an explicit HTTP engine URL or registered HTTP backend; local is not an API transport.");
14348
+ const requestPath = path ?? "/api/backend/handshake";
14349
+ if (requestPath.includes("#")) throw new Error("API paths cannot contain fragments.");
14350
+ if (!requestPath.startsWith("/api/") || requestPath.split("?")[0] !== "/api/backend/handshake" && !backendCapabilitiesForApiPath(requestPath.split("?")[0]).length) throw new Error("Supply an admitted /api/ path.");
14351
+ const body = await parseBody(options.data);
14352
+ const env = deps.env ?? process.env;
14353
+ const backendId = options.backend ?? "attached-engine";
14354
+ const connections = options.engineUrl ? [{ id: backendId, name: "Attached engine", url: options.engineUrl, bearerTokenEnv: options.engineTokenEnv }] : loadBackendConnectionConfig(options.backendsConfig);
14355
+ const connection = connections.find((row) => row.id === backendId);
14356
+ if (!connection) throw new Error("Backend is not registered.");
14357
+ if (options.engineUrl) backendBearerFromEnv(connection.bearerTokenEnv, env);
14358
+ const localHandshake = { protocolVersion: BACKEND_PROTOCOL_VERSION, engineId: "api-client", capabilities: [], platform: { os: process.platform, pathStyle: process.platform === "win32" ? "windows" : "posix" } };
14359
+ registry = new BackendConnectionRegistry({ ...options.engineUrl ? { connections } : { configPath: options.backendsConfig }, env, ...deps.fetch ? { fetch: deps.fetch } : {}, localHandshake });
14360
+ const response = await registry.request(backendId, requestPath, { method, ...body !== void 0 ? { body } : {} });
14361
+ const text2 = method === "HEAD" || response.status === 204 ? "" : await response.text();
14362
+ let data = text2 || null;
14363
+ if (text2 && /(?:application\/json|\+json)(?:;|$)/i.test(response.headers.get("content-type") ?? "")) {
14364
+ try {
14365
+ data = JSON.parse(text2);
14366
+ } catch {
14367
+ throw new Error(`Engine returned malformed JSON (HTTP ${response.status}).`);
14368
+ }
14369
+ }
14370
+ out(JSON.stringify({ ok: response.ok, status: response.status, data }));
14371
+ if (!response.ok) {
14372
+ err(JSON.stringify({ ok: false, status: response.status, error: `Engine request failed (HTTP ${response.status}).` }));
14373
+ fail2(2);
14374
+ }
14375
+ } catch (error) {
14376
+ err(JSON.stringify({ ok: false, status: error instanceof BackendConnectionError ? error.statusCode : null, error: error instanceof Error ? error.message : "API request failed." }));
14377
+ fail2(2);
14378
+ } finally {
14379
+ registry?.dispose();
14380
+ }
14381
+ }
14382
+ function registerApiCommand(program, deps = {}) {
14383
+ program.command("api [path]").description("Call a trusted engine API with deterministic JSON output (defaults to its handshake)").option("--method <method>", "GET, POST, PATCH, PUT, DELETE or HEAD", "GET").option("--data <json-or-@file>", "JSON body, or @regular-file containing JSON (at most 1 MB)").option("--backend <id>", "Registered HTTP engine ID").option("--backends-config <path>", "Operator backend registry JSON file").option("--engine-url <url>", "Attach directly to a trusted HTTP engine").option("--engine-token-env <name>", "Environment variable containing its engine token").action((path, options) => runApiCommand(path, options, deps));
14384
+ }
14277
14385
  export {
14278
14386
  registerAdGraphCommand,
14279
14387
  registerAgentAssureCommand,
14388
+ registerApiCommand,
14280
14389
  registerAssumptionHuntCommand,
14281
14390
  registerAuditCommand,
14282
14391
  registerBenchCommand,