0sec-cli 0.24.1 → 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 (246) hide show
  1. package/0.js +67 -62
  2. package/README.md +121 -82
  3. package/chunks/{adapt-loop-L77BWMNE.js → adapt-loop-P4HKONB5.js} +6 -5
  4. package/chunks/{artifact-scraper-BV67RAP5.js → artifact-scraper-IIRJNYKT.js} +4 -3
  5. package/chunks/{assumption-mining-RPVR77A3.js → assumption-mining-YA6VJ2V6.js} +22 -20
  6. package/chunks/{backend-connections-ACIXNYZN.js → backend-connections-64PKYKL7.js} +5 -4
  7. package/chunks/chunk-36J5ZLFE.js +18729 -0
  8. package/chunks/{chunk-ZM6ANQZJ.js → chunk-3MWQNNJU.js} +16180 -34467
  9. package/chunks/{chunk-GV5WXDHY.js → chunk-3VQ5EZKG.js} +11 -9
  10. package/chunks/chunk-5XOYTAOK.js +1546 -0
  11. package/chunks/{chunk-UJE4WOQS.js → chunk-6GV5G6U3.js} +1 -1
  12. package/chunks/{chunk-X2ZMSRTP.js → chunk-6SNOKNCS.js} +333 -3
  13. package/chunks/{chunk-BMDG6T7D.js → chunk-72PU46MS.js} +178 -133
  14. package/chunks/{chunk-KCA35IL3.js → chunk-7PUJI64A.js} +11 -9
  15. package/chunks/chunk-A7G6S5RA.js +90 -0
  16. package/chunks/chunk-ABKUI3QB.js +196 -0
  17. package/chunks/{chunk-5ETI27Q3.js → chunk-AFJ2UMPR.js} +3 -3
  18. package/chunks/{chunk-XA2IBHPB.js → chunk-B7XL6RON.js} +1 -1
  19. package/chunks/{chunk-TVS6WVSK.js → chunk-BM6EYP2D.js} +3 -3
  20. package/chunks/{chunk-7UHAXEOV.js → chunk-D4M5WURF.js} +226 -4
  21. package/chunks/{chunk-K74DRDC5.js → chunk-EHNVP6QB.js} +1 -1
  22. package/chunks/{chunk-I43YYHDU.js → chunk-FBZBJYZS.js} +5 -50
  23. package/chunks/{chunk-GXXX7AGH.js → chunk-GYEYTNHK.js} +144 -14
  24. package/chunks/{chunk-IJ6UPW3H.js → chunk-HS2NQ7K6.js} +393 -58
  25. package/chunks/chunk-HUZ2EC2R.js +196 -0
  26. package/chunks/{chunk-SU4IHQQI.js → chunk-IUUNIJPM.js} +1 -1
  27. package/chunks/chunk-JGDA6EIJ.js +49 -0
  28. package/chunks/{chunk-CJRZSWII.js → chunk-K3PTYN43.js} +3 -3
  29. package/chunks/{chunk-2NBZZFRG.js → chunk-KCABBZHN.js} +8 -10
  30. package/chunks/{chunk-3LPBJMHB.js → chunk-LRD5N2TQ.js} +1 -1
  31. package/chunks/{chunk-SQCBHFWN.js → chunk-LWMEJYCP.js} +2 -2
  32. package/chunks/chunk-MNK373HF.js +57 -0
  33. package/chunks/{chunk-R2XBH476.js → chunk-MOEVVXML.js} +2 -2
  34. package/chunks/{chunk-F2P25DJY.js → chunk-MOGWEHSC.js} +1448 -1050
  35. package/chunks/{chunk-6XMFCVJS.js → chunk-N7YCONYR.js} +1 -1
  36. package/chunks/{chunk-3WUPCZGF.js → chunk-NA3FKCI2.js} +1 -1
  37. package/chunks/{chunk-S2GITRD5.js → chunk-NABVDAAO.js} +2 -2
  38. package/chunks/{chunk-SZDD77KX.js → chunk-NNMOTHKC.js} +6 -10
  39. package/chunks/{chunk-LMP2T4G2.js → chunk-OILVEROI.js} +22 -172
  40. package/chunks/{chunk-YERUDEXT.js → chunk-PAE7ZAV6.js} +2780 -1255
  41. package/chunks/{chunk-NBV4I237.js → chunk-PAMJEXE2.js} +1 -1
  42. package/chunks/{chunk-PJU24AKR.js → chunk-R7VWEY45.js} +337 -257
  43. package/chunks/{chunk-QNRYOJEB.js → chunk-RZZ6VPRY.js} +1 -1
  44. package/chunks/{chunk-WUPN3D37.js → chunk-S4DFH2FJ.js} +26 -1
  45. package/chunks/{chunk-5WAHHZBF.js → chunk-SIR7XW2S.js} +61910 -30777
  46. package/chunks/{chunk-BD7WULFS.js → chunk-SSPP64FF.js} +3 -2
  47. package/chunks/{chunk-BOBIAHKA.js → chunk-STPHTPSD.js} +3 -333
  48. package/chunks/{chunk-Q7JKIKKF.js → chunk-UGCTPKJG.js} +89 -17
  49. package/chunks/{chunk-5PFRE522.js → chunk-ULRLUXSS.js} +1 -1
  50. package/chunks/{chunk-GZA7RGK7.js → chunk-UQS7XCBV.js} +2085 -1093
  51. package/chunks/{chunk-X2IPO5JO.js → chunk-V2KJQVYE.js} +2676 -2959
  52. package/chunks/{chunk-CGBDEST2.js → chunk-VJBEB2K6.js} +1 -1
  53. package/chunks/{chunk-ILRMLA6J.js → chunk-VWE36MUN.js} +1 -1
  54. package/chunks/{chunk-RURJYCWY.js → chunk-WNWDQ2TO.js} +1 -1
  55. package/chunks/{chunk-GTED3FSZ.js → chunk-WPJMA5AK.js} +4 -99
  56. package/chunks/{chunk-5NFIY2SJ.js → chunk-XJ2TBEV7.js} +3 -3
  57. package/chunks/{chunk-PVJUPIQG.js → chunk-XOVYV7TT.js} +6 -6
  58. package/chunks/{chunk-IXT64DV5.js → chunk-XPDJE537.js} +97 -1
  59. package/chunks/{chunk-YKWARO3T.js → chunk-YGYJ2FTH.js} +95 -21
  60. package/chunks/{chunk-JWSOUKFF.js → chunk-YJGPPPUB.js} +66 -21
  61. package/chunks/chunk-YP2DHYNI.js +650 -0
  62. package/chunks/{chunk-RVJVM5L4.js → chunk-Z2VLJEQJ.js} +5 -5
  63. package/chunks/chunk-ZPVSDB63.js +3839 -0
  64. package/chunks/{codex-models-6XVNFRXZ.js → codex-models-CI22KIHY.js} +9 -8
  65. package/chunks/{commands-FRPOFIO4.js → commands-C2WRSCNB.js} +909 -610
  66. package/chunks/dashboard-XO2X2SPD.js +75 -0
  67. package/chunks/{db-BXJNWUYJ.js → db-FU3OIGQK.js} +5 -4
  68. package/chunks/{deep-review-GSJEBLCG.js → deep-review-5AL6QYTK.js} +37 -38
  69. package/chunks/{disclose-OU6Z6GVT.js → disclose-YPV5KIUU.js} +6 -5
  70. package/chunks/{dist-M2X367VW.js → dist-JAZWL3SC.js} +3 -2
  71. package/chunks/{dist-TQMHMSBZ.js → dist-ONIRKDH6.js} +376 -333
  72. package/chunks/{dist-RKLQIXDT.js → dist-QLMPTFT7.js} +4 -3
  73. package/chunks/{dist-7KSYDDSG.js → dist-QXJKD743.js} +5 -2
  74. package/chunks/{dist-LNXGATR2.js → dist-WNAOCQGA.js} +5 -4
  75. package/chunks/eval-runner-D3RUCU3R.js +38 -0
  76. package/chunks/{exploit-agent-Y2P4GFIY.js → exploit-agent-4E4HXKUA.js} +1 -1
  77. package/chunks/{exploit-autoclimb-YRZ3TMS2.js → exploit-autoclimb-5GRXI6VQ.js} +1 -1
  78. package/chunks/{exploit-climb-4LEY4SDW.js → exploit-climb-AHQEJ2I2.js} +4 -3
  79. package/chunks/{fix-RQSIG75B.js → fix-CHD7LXDS.js} +9 -8
  80. package/chunks/{harness-3NVC3DDY.js → harness-E63KDHPG.js} +5 -4
  81. package/chunks/{http-conformance-U5F6GKYG.js → http-conformance-AXMUOE6C.js} +3 -2
  82. package/chunks/hunt-scan-ME2Z4CTC.js +43 -0
  83. package/chunks/{kernel-primitive-T47V3RD3.js → kernel-primitive-S566GXWP.js} +4 -3
  84. package/chunks/{kernel-vm-runner-AEL5E3SV.js → kernel-vm-runner-KREBY4DC.js} +4 -3
  85. package/chunks/{local-engine-ZCW4YC6E.js → local-engine-ZRTZVSSX.js} +7 -6
  86. package/chunks/managed-operation-ZMLLRCCQ.js +59 -0
  87. package/chunks/{memsafety-scan-L2Z7E7TE.js → memsafety-scan-Q2MBZEGJ.js} +1 -2
  88. package/chunks/{native-loop-26X2CHBV.js → native-loop-UV3Z4Z2F.js} +31 -16
  89. package/chunks/operator-services-JOCREEBA.js +79 -0
  90. package/chunks/orchestrate-ZF6ZTSIQ.js +62 -0
  91. package/chunks/{prepare-C3KGMBXT.js → prepare-PLDVGLDX.js} +7 -6
  92. package/chunks/{provider-model-discovery-QGUGL3XW.js → provider-model-discovery-3X6DON3Y.js} +7 -2
  93. package/chunks/{remote-workflow-runtime-DB52SINR.js → remote-workflow-runtime-GOI4TYP5.js} +4 -3
  94. package/chunks/routing-WCQLO5SP.js +61 -0
  95. package/chunks/{runtime-AUBLQUOH.js → runtime-6ZIXFTW5.js} +4 -3
  96. package/chunks/{runtime-U66JNSAY.js → runtime-TVH5ORUK.js} +13 -8
  97. package/chunks/{scan-stream-34F3LTPV.js → scan-stream-HJVTWZ44.js} +6 -4
  98. package/chunks/{scope-HSTG63TQ.js → scope-RCYXVGJR.js} +4 -3
  99. package/chunks/service-plugins-TN6KDX4L.js +63 -0
  100. package/chunks/{session-store-MKAAP3WL.js → session-store-6QR3CVUA.js} +8 -5
  101. package/chunks/{variant-candidates-LG767HWH.js → variant-candidates-SGLKPPHI.js} +9 -8
  102. package/chunks/{web-recon-prepass-NJP6J3E4.js → web-recon-prepass-GO7CTMVQ.js} +7 -6
  103. package/chunks/{workflow-runtime-AR627I26.js → workflow-runtime-CQTDASFA.js} +50 -49
  104. package/dashboard/assets/{abnfDiagram-VCTEODGH-Cq149Jpk.js → abnfDiagram-VCTEODGH-DDZsU70-.js} +1 -1
  105. package/dashboard/assets/{arc-CpP-3TRW.js → arc-iDXNTSL6.js} +1 -1
  106. package/dashboard/assets/architecture-7GRP2DOG-DJcY9RFg.js +1 -0
  107. package/dashboard/assets/architectureDiagram-5GKGNRK7-d0ZuOniQ.js +36 -0
  108. package/dashboard/assets/{blockDiagram-I7D4REHJ-CZYkRRDi.js → blockDiagram-I7D4REHJ-B-EWfMy1.js} +2 -2
  109. package/dashboard/assets/{c4Diagram-7LVT6UL2-CV7Iu3_Z.js → c4Diagram-7LVT6UL2-KcZRuXZC.js} +1 -1
  110. package/dashboard/assets/channel-CeWMIm0w.js +1 -0
  111. package/dashboard/assets/{chunk-4HAMMTFA-PKCyW4m-.js → chunk-4HAMMTFA-DXWulBlo.js} +1 -1
  112. package/dashboard/assets/{chunk-75Z2AOVW-C5MlFTc_.js → chunk-75Z2AOVW-RiLZItrz.js} +1 -1
  113. package/dashboard/assets/chunk-DU6HZSFF-MBcaIyTX.js +127 -0
  114. package/dashboard/assets/{chunk-F27PBJKO-DTAok0qM.js → chunk-F27PBJKO-kLWCBX_W.js} +1 -1
  115. package/dashboard/assets/{chunk-FOHPRMQF-DHwB1DNv.js → chunk-FOHPRMQF-COOliuUh.js} +14 -14
  116. package/dashboard/assets/{chunk-GMAD6QVW-CPsr2F33.js → chunk-GMAD6QVW-BeQeSjpW.js} +7 -7
  117. package/dashboard/assets/{chunk-GVQU2GXP-C2AXGf9A.js → chunk-GVQU2GXP-CjCMlOIB.js} +1 -1
  118. package/dashboard/assets/{chunk-IMKFNOWR-DMG6yD_O.js → chunk-IMKFNOWR-BwNst53D.js} +1 -1
  119. package/dashboard/assets/{chunk-L3NEJ4N5-BSvwdbXx.js → chunk-L3NEJ4N5-CHXWQrkL.js} +1 -1
  120. package/dashboard/assets/{chunk-OSK3NFVY-CfB8V7FU.js → chunk-OSK3NFVY-B2vd19Ed.js} +1 -1
  121. package/dashboard/assets/{chunk-P2QGCYS3-CvmZvq6n.js → chunk-P2QGCYS3-Dk7Fyh6n.js} +1 -1
  122. package/dashboard/assets/{chunk-POPQ4Y6H-D_TvwDxL.js → chunk-POPQ4Y6H-CPAgOvYe.js} +1 -1
  123. package/dashboard/assets/{chunk-PWAF6VOD-Da5GnuOY.js → chunk-PWAF6VOD-BotyfMha.js} +1 -1
  124. package/dashboard/assets/{chunk-SHT3W25Y-CcsMJpR-.js → chunk-SHT3W25Y-Buz5gLRP.js} +1 -1
  125. package/dashboard/assets/{chunk-SVP7TREG-COojjieJ.js → chunk-SVP7TREG-_rpYEZcs.js} +1 -1
  126. package/dashboard/assets/{chunk-TICWLB2K-nBAmJwx6.js → chunk-TICWLB2K-DOJxPoec.js} +2 -2
  127. package/dashboard/assets/{chunk-XXDRQBXY-r5HyhWDv.js → chunk-XXDRQBXY-EXxKJbAs.js} +1 -1
  128. package/dashboard/assets/classDiagram-ZZMXUADV-DV_h1NoS.js +1 -0
  129. package/dashboard/assets/classDiagram-v2-VYDZK3BY-DV_h1NoS.js +1 -0
  130. package/dashboard/assets/common-VLJRx-Jq.js +5 -0
  131. package/dashboard/assets/cose-bilkent-JH36ORCC-B1SVC57o.js +1 -0
  132. package/dashboard/assets/cynefin-OW5HDTMX-BzhRorj4.js +1 -0
  133. package/dashboard/assets/{cynefinDiagram-5FMLGOSQ-xodkuQtW.js → cynefinDiagram-5FMLGOSQ-JXzRmldX.js} +1 -1
  134. package/dashboard/assets/cytoscape.esm-BbBREfsg.js +321 -0
  135. package/dashboard/assets/dagre-D7JM2Yhv.js +1 -0
  136. package/dashboard/assets/dagre-GXQ25YYZ-1LZ-X0-Z.js +4 -0
  137. package/dashboard/assets/{diagram-S7CK7UJ4-DNoTMlCO.js → diagram-S7CK7UJ4-C_-J_LQ4.js} +2 -2
  138. package/dashboard/assets/{diagram-UQ7AKVKN-COccuyew.js → diagram-UQ7AKVKN-CnxL1k8g.js} +1 -1
  139. package/dashboard/assets/{diagram-VSXAHHWV-g6D1tWRb.js → diagram-VSXAHHWV-WzSb3aby.js} +1 -1
  140. package/dashboard/assets/{diagram-VX7I27RA-DhO4eVIC.js → diagram-VX7I27RA-DKhrMInE.js} +1 -1
  141. package/dashboard/assets/{diagram-Z3DM3KII-DeOQFexd.js → diagram-Z3DM3KII-CDhI2WGP.js} +1 -1
  142. package/dashboard/assets/{dist-BQYeOQg3.js → dist-B0bfBMeP.js} +1 -1
  143. package/dashboard/assets/{ebnfDiagram-PWID7BFC-MtkX2feM.js → ebnfDiagram-PWID7BFC-iL5NQ1PE.js} +1 -1
  144. package/dashboard/assets/{erDiagram-RLTQ6QDP-DIWSsoYZ.js → erDiagram-RLTQ6QDP-RK2Voa5O.js} +1 -1
  145. package/dashboard/assets/eventmodeling-NTZA5JFV-WgE7OJBb.js +1 -0
  146. package/dashboard/assets/flowDiagram-HODETNUW-B9YcQ0Aq.js +1 -0
  147. package/dashboard/assets/{ganttDiagram-EL5Y4UJY-DKggkJe0.js → ganttDiagram-EL5Y4UJY-D8CJXHRF.js} +1 -1
  148. package/dashboard/assets/gitGraph-4MIJSDKK-BuZ9Lg04.js +1 -0
  149. package/dashboard/assets/{gitGraphDiagram-WWUBYQGX-r_iR8Qzo.js → gitGraphDiagram-WWUBYQGX-LEJMh54j.js} +1 -1
  150. package/dashboard/assets/info-A6RAGUB7-BL5k3pev.js +1 -0
  151. package/dashboard/assets/{infoDiagram-27XIBGKW-ClQk7UyQ.js → infoDiagram-27XIBGKW-LJvntUnZ.js} +1 -1
  152. package/dashboard/assets/{ishikawaDiagram-5VMMS53U-tR7Vziog.js → ishikawaDiagram-5VMMS53U-BYTYgKCG.js} +2 -2
  153. package/dashboard/assets/{journeyDiagram-3NMN7TZE-Cpb9IqKL.js → journeyDiagram-3NMN7TZE-G25qgQgO.js} +1 -1
  154. package/dashboard/assets/{kanban-definition-UXKFOSKX-BzUuKbA9.js → kanban-definition-UXKFOSKX-Bk3uLl1i.js} +1 -1
  155. package/dashboard/assets/{katex-BdBmVSus.js → katex-nLxf_RlZ.js} +2 -2
  156. package/dashboard/assets/{line-BHY_tSHu.js → line-i4qHBaWO.js} +1 -1
  157. package/dashboard/assets/linear-DmrqRsKG.js +1 -0
  158. package/dashboard/assets/mermaid-parser.core-BxbKr4QF.js +7 -0
  159. package/dashboard/assets/{mermaid.core-D_QsUPU8.js → mermaid.core-Cltee6FS.js} +9 -9
  160. package/dashboard/assets/{mindmap-definition-YA3MSWOX-CtfLTPPJ.js → mindmap-definition-YA3MSWOX-DkzO2JgS.js} +1 -1
  161. package/dashboard/assets/operations-B4_timQX.css +1 -0
  162. package/dashboard/assets/operations-DwppJviL.js +199 -0
  163. package/dashboard/assets/packet-AYTQ26CC-uZQUKnrE.js +1 -0
  164. package/dashboard/assets/{pegDiagram-XKGWAZYB-C1Dclbzj.js → pegDiagram-XKGWAZYB-CrOEi00T.js} +1 -1
  165. package/dashboard/assets/pie-WAS4IAKB-Dn9_tpQT.js +1 -0
  166. package/dashboard/assets/{pieDiagram-E7YTZNPT-Cd7XwYo5.js → pieDiagram-E7YTZNPT-D-niUkzc.js} +1 -1
  167. package/dashboard/assets/{quadrantDiagram-AXDQQJYC-CaS-GQ4X.js → quadrantDiagram-AXDQQJYC-CJOTiG5V.js} +1 -1
  168. package/dashboard/assets/radar-RG4KPBEZ-DIIVz4e8.js +1 -0
  169. package/dashboard/assets/railroad-74A4TZTK-1kiqDEID.js +1 -0
  170. package/dashboard/assets/railroad-abnf-HS5TGJTU-DK6rQPZR.js +1 -0
  171. package/dashboard/assets/railroad-ebnf-LZEXJU2U-C6cOgYW4.js +1 -0
  172. package/dashboard/assets/railroad-peg-WCYAUIDC-CQ3ptKef.js +1 -0
  173. package/dashboard/assets/{railroadDiagram-O6MQD6OU-BeesTrqn.js → railroadDiagram-O6MQD6OU-nEfkpa-m.js} +1 -1
  174. package/dashboard/assets/{requirementDiagram-BXWQKSXE-IjyK0DhW.js → requirementDiagram-BXWQKSXE-CdFMY8tG.js} +1 -1
  175. package/dashboard/assets/{sankeyDiagram-P5KCCOFB-DmIluQqo.js → sankeyDiagram-P5KCCOFB-C0KxrFYv.js} +1 -1
  176. package/dashboard/assets/{sequenceDiagram-WJ2MYXX4-CUp8ZjTc.js → sequenceDiagram-WJ2MYXX4-DeZ5ATiu.js} +2 -2
  177. package/dashboard/assets/sizeCapture-INFHLROL-3uHXrFqA.js +1 -0
  178. package/dashboard/assets/src-Cg-chcoE.js +1 -0
  179. package/dashboard/assets/{stateDiagram-D77RDMKH-Dy9TQb8P.js → stateDiagram-D77RDMKH-B9MwWL5B.js} +1 -1
  180. package/dashboard/assets/stateDiagram-v2-MP3YSRHH-SucFndhx.js +1 -0
  181. package/dashboard/assets/swimlanes-42K2YHIH-DB--fwQE.js +1 -0
  182. package/dashboard/assets/swimlanesDiagram-VR7AAH4N-BzH-rIaK.js +8 -0
  183. package/dashboard/assets/{timeline-definition-24CTP7MA-BGdXW-iY.js → timeline-definition-24CTP7MA-DLkkTbWb.js} +1 -1
  184. package/dashboard/assets/treeView-Q6P3EWNA-XkZ9rl9H.js +1 -0
  185. package/dashboard/assets/treemap-WGGIJYW6-JCtVKxCE.js +1 -0
  186. package/dashboard/assets/{vennDiagram-4TSXK5OY-DzKWHJsl.js → vennDiagram-4TSXK5OY-DEb-x29Z.js} +1 -1
  187. package/dashboard/assets/wardley-WFR3VGLG-DhI7ROY3.js +1 -0
  188. package/dashboard/assets/{wardleyDiagram-VM6X3IG4-DGsjYmNJ.js → wardleyDiagram-VM6X3IG4-KNckudc5.js} +1 -1
  189. package/dashboard/assets/{xychartDiagram-S5SC5T6Z-C7_T_tWt.js → xychartDiagram-S5SC5T6Z-D4c0ynCk.js} +1 -1
  190. package/dashboard/index.html +13 -2
  191. package/package.json +2 -5
  192. package/worker-assets/demo-target/README.md +7 -3
  193. package/chunks/chunk-2XGBEH53.js +0 -4304
  194. package/chunks/chunk-4ROZFLSR.js +0 -279
  195. package/chunks/chunk-56UTQKXO.js +0 -56
  196. package/chunks/chunk-BPU6M42R.js +0 -77
  197. package/chunks/chunk-H5QURBBK.js +0 -1123
  198. package/chunks/chunk-IIBNQTOK.js +0 -1532
  199. package/chunks/chunk-NJLKFC66.js +0 -4790
  200. package/chunks/chunk-OOMBOLAF.js +0 -295
  201. package/chunks/chunk-VIT5ALXF.js +0 -4054
  202. package/chunks/chunk-VU7V2SDW.js +0 -284
  203. package/chunks/chunk-W624J7NF.js +0 -117
  204. package/chunks/chunk-YSQWZ67M.js +0 -6027
  205. package/chunks/dashboard-5HDSNBAU.js +0 -76
  206. package/chunks/eval-runner-A2DIGVP7.js +0 -31
  207. package/chunks/hunt-scan-W246VWJC.js +0 -40
  208. package/chunks/managed-operation-6R2QPPW5.js +0 -60
  209. package/chunks/orchestrate-OBS37FWQ.js +0 -63
  210. package/chunks/run-MU3MFL2Z.js +0 -28242
  211. package/chunks/service-plugins-5B23PWXC.js +0 -64
  212. package/dashboard/assets/architecture-7GRP2DOG-z5EHYkyH.js +0 -1
  213. package/dashboard/assets/architectureDiagram-5GKGNRK7-ewtXpjR_.js +0 -36
  214. package/dashboard/assets/channel-CuYjfiC5.js +0 -1
  215. package/dashboard/assets/chunk-DU6HZSFF-3M37ulcO.js +0 -127
  216. package/dashboard/assets/classDiagram-ZZMXUADV-DCuOrWUV.js +0 -1
  217. package/dashboard/assets/classDiagram-v2-VYDZK3BY-DCuOrWUV.js +0 -1
  218. package/dashboard/assets/common-C6snVPsk.js +0 -5
  219. package/dashboard/assets/cose-bilkent-JH36ORCC-BLGcaZHk.js +0 -1
  220. package/dashboard/assets/cynefin-OW5HDTMX-DbZMK00I.js +0 -1
  221. package/dashboard/assets/cytoscape.esm-CGd-uY3x.js +0 -321
  222. package/dashboard/assets/dagre-GXQ25YYZ-CRk9qfSG.js +0 -4
  223. package/dashboard/assets/dagre-PrKaheQc.js +0 -1
  224. package/dashboard/assets/eventmodeling-NTZA5JFV-D_3ez4Gv.js +0 -1
  225. package/dashboard/assets/flowDiagram-HODETNUW-D2boyYEd.js +0 -1
  226. package/dashboard/assets/gitGraph-4MIJSDKK-DFOQYwXc.js +0 -1
  227. package/dashboard/assets/info-A6RAGUB7-DeednLoB.js +0 -1
  228. package/dashboard/assets/linear-naZZ1pHk.js +0 -1
  229. package/dashboard/assets/mermaid-parser.core-CPvd4cEx.js +0 -7
  230. package/dashboard/assets/operations-BwCzhVnT.js +0 -130
  231. package/dashboard/assets/operations-QjKT0Hwi.css +0 -1
  232. package/dashboard/assets/packet-AYTQ26CC-DDQbkT9I.js +0 -1
  233. package/dashboard/assets/pie-WAS4IAKB-LpU4ULAs.js +0 -1
  234. package/dashboard/assets/radar-RG4KPBEZ-CcxW3NJm.js +0 -1
  235. package/dashboard/assets/railroad-74A4TZTK-9P5Rl8fP.js +0 -1
  236. package/dashboard/assets/railroad-abnf-HS5TGJTU-CSfpwjna.js +0 -1
  237. package/dashboard/assets/railroad-ebnf-LZEXJU2U-D6R5qzr-.js +0 -1
  238. package/dashboard/assets/railroad-peg-WCYAUIDC-DKEX7ITG.js +0 -1
  239. package/dashboard/assets/sizeCapture-INFHLROL-B0uUizjq.js +0 -1
  240. package/dashboard/assets/src-r61wDjcA.js +0 -1
  241. package/dashboard/assets/stateDiagram-v2-MP3YSRHH-CQb0ZtPr.js +0 -1
  242. package/dashboard/assets/swimlanes-42K2YHIH-CZuDV7V5.js +0 -1
  243. package/dashboard/assets/swimlanesDiagram-VR7AAH4N-BxgWMq8X.js +0 -8
  244. package/dashboard/assets/treeView-Q6P3EWNA-DlRrayjM.js +0 -1
  245. package/dashboard/assets/treemap-WGGIJYW6-C6UqLKfI.js +0 -1
  246. package/dashboard/assets/wardley-WFR3VGLG-thmyHKb0.js +0 -1
@@ -3,7 +3,7 @@ import { createRequire as __0CreateRequire } from "node:module";
3
3
  const require = __0CreateRequire(import.meta.url);
4
4
  import {
5
5
  external_exports
6
- } from "./chunk-VIT5ALXF.js";
6
+ } from "./chunk-5XOYTAOK.js";
7
7
 
8
8
  // packages/shared/dist/types.js
9
9
  function validateScanPlan(plan) {
@@ -67,7 +67,7 @@ import { fileURLToPath } from "node:url";
67
67
  import { dirname, join } from "node:path";
68
68
  function loadVersion() {
69
69
  if (true) {
70
- return "0.24.1";
70
+ return "0.26.0";
71
71
  }
72
72
  try {
73
73
  const here = dirname(fileURLToPath(import.meta.url));
@@ -573,7 +573,7 @@ var pocStepActionSchema = external_exports.discriminatedUnion("type", [
573
573
  type: external_exports.literal("http"),
574
574
  method: external_exports.string(),
575
575
  url: external_exports.string(),
576
- headers: external_exports.record(external_exports.string()).optional(),
576
+ headers: external_exports.record(external_exports.string(), external_exports.string()).optional(),
577
577
  body: external_exports.string().optional()
578
578
  }),
579
579
  external_exports.object({
@@ -970,7 +970,7 @@ var AgentActionTargetMetadataSchema = external_exports.object({
970
970
  target_version: external_exports.string().min(1),
971
971
  policy_version: external_exports.string().min(1),
972
972
  model_version: external_exports.string().min(1),
973
- tool_versions: external_exports.record(external_exports.string().min(1)),
973
+ tool_versions: external_exports.record(external_exports.string(), external_exports.string().min(1)),
974
974
  configuration_sha256: Sha256Schema
975
975
  }).strict();
976
976
  var AgentActionToolCallSchema = external_exports.object({
@@ -1126,7 +1126,7 @@ var questionSchema = external_exports.discriminatedUnion("type", [
1126
1126
  ]);
1127
1127
  var normalizedAnswerSchema = external_exports.discriminatedUnion("type", [
1128
1128
  external_exports.object({ type: external_exports.literal("boolean"), probability }),
1129
- external_exports.object({ type: external_exports.literal("choice"), choice: external_exports.string(), probabilities: external_exports.record(probability) })
1129
+ external_exports.object({ type: external_exports.literal("choice"), choice: external_exports.string(), probabilities: external_exports.record(external_exports.string(), probability) })
1130
1130
  ]);
1131
1131
  var usageSchema = external_exports.object({
1132
1132
  inputTokens: external_exports.number().int().nonnegative().max(MAX_INPUT_TOKENS),
@@ -1219,14 +1219,14 @@ function createJevEvaluator(config) {
1219
1219
  });
1220
1220
  if (!response.ok)
1221
1221
  throw new Error(`Jev provider returned HTTP ${response.status}`);
1222
- const body = external_exports.object({ model: external_exports.string().min(1), answers: external_exports.record(external_exports.unknown()), usage: usageSchema }).parse(await response.json());
1222
+ const body = external_exports.object({ model: external_exports.string().min(1), answers: external_exports.record(external_exports.string(), external_exports.unknown()), usage: usageSchema }).parse(await response.json());
1223
1223
  model = body.model;
1224
1224
  rawUsage = body.usage;
1225
1225
  rawAnswers = body.answers;
1226
1226
  } else {
1227
1227
  const [{ experimental_evaluate: evaluate }, { createGateway }] = await Promise.all([
1228
- import("./dist-LNXGATR2.js"),
1229
- import("./dist-M2X367VW.js")
1228
+ import("./dist-WNAOCQGA.js"),
1229
+ import("./dist-JAZWL3SC.js")
1230
1230
  ]);
1231
1231
  signal.throwIfAborted();
1232
1232
  const gateway = createGateway({ apiKey: config.apiKey, fetch: fetchImpl });
@@ -1601,7 +1601,7 @@ var SecurityWorkflowBindingsSchema = external_exports.unknown().superRefine((bin
1601
1601
  }
1602
1602
  if (new TextEncoder().encode(JSON.stringify(bindings)).byteLength > 32768)
1603
1603
  context.addIssue({ code: external_exports.ZodIssueCode.custom, message: "Workflow inputs must be at most 32 KiB." });
1604
- }).pipe(external_exports.record(external_exports.unknown()));
1604
+ }).pipe(external_exports.record(external_exports.string(), external_exports.unknown()));
1605
1605
  var inputSchema = external_exports.object({ findingId: identifier.optional(), scanId: identifier.optional(), dbPath: external_exports.string().trim().min(1).max(4096).optional(), fromStep: identifier.optional(), artifactId: identifier.optional() }).strict();
1606
1606
  var nodeSchema = external_exports.object({ id: identifier, type: external_exports.enum(["trigger", "audit", "report", "verify", "fix", "research", "deep-review"]), label: external_exports.string().trim().min(1).max(160), enabled: external_exports.boolean(), plan: planSchema.optional(), execution: executionSchema.optional(), input: inputSchema.optional(), inputs: SecurityWorkflowBindingsSchema.superRefine((bindings, context) => {
1607
1607
  const pending = [bindings];
@@ -1751,7 +1751,7 @@ function operationTemplate(id, name, description, operation, compatibleTargetTyp
1751
1751
  }
1752
1752
  var FINDING_INPUT_REQUIREMENT = { names: ["finding", "findingPath", "findingId"], required: true, description: "Supply an existing finding, a finding JSON path, or a retained finding ID. Connected earlier finding evidence can also provide the input." };
1753
1753
  var SECURITY_WORKFLOW_TEMPLATES = [
1754
- template("repository-review", "Repository security review", "Review a local repository's trust boundaries, dependency exposure, and security-sensitive code.", "repository", [
1754
+ template("repository-review", "Whitebox pentest", "Test a source repository for exploitable code paths, trust-boundary failures, dependency exposure, and unsafe configuration.", "repository", [
1755
1755
  phase("dependencies", "Dependency exposure", "known-vulnerabilities", "Inspect dependency manifests and lockfiles. Prioritize reachable vulnerable dependencies and supply-chain trust boundaries; distinguish confirmed exposure from version-only matches.", "quick"),
1756
1756
  phase("boundaries", "Trust boundaries", "unknown-vulnerabilities", "Trace authentication, authorization, tenant isolation, and privileged entry points in the authorized repository. Follow input-to-sink paths and report only supported security findings.", "deep"),
1757
1757
  phase("configuration", "Configuration and secrets", "misconfigurations", "Review repository configuration, credential handling, unsafe defaults, and sensitive debug surfaces. Do not expose secret values in reports.")
@@ -1839,6 +1839,7 @@ var BACKEND_CAPABILITIES = [
1839
1839
  "workspaces",
1840
1840
  "artifacts",
1841
1841
  "model-connections",
1842
+ "provider-relay",
1842
1843
  "process-controls",
1843
1844
  "operator-services",
1844
1845
  "learning"
@@ -1935,6 +1936,8 @@ function backendCapabilitiesForApiPath(pathname) {
1935
1936
  };
1936
1937
  if (pathname === "/api/backend/handshake")
1937
1938
  return [];
1939
+ if (pathname === "/api/console/provider-relays" || pathname.startsWith("/api/console/provider-relays/"))
1940
+ return ["provider-relay"];
1938
1941
  if (pathname === "/api/workflow-engine/call")
1939
1942
  return ["workflow-engine"];
1940
1943
  if (parts[0] === "control" && parts.length === 2 && ["recover-stale-workers", "prune-stopped-workers", "reset-database", "start-daemon", "stop-daemon", "launch-run"].includes(parts[1]))
@@ -2148,6 +2151,107 @@ var successfulObservation = (value) => {
2148
2151
  };
2149
2152
  function accessMilestoneFromArtifact(eventType, value, scopeId, evidenceEventId) {
2150
2153
  const item = record(value);
2154
+ if (eventType === "tool_artifact" && item && ["access_control_workflow", "access_control_cleanup"].includes(String(item.tool)) && item.state_access_proof !== void 0) {
2155
+ const proof = record(item.state_access_proof);
2156
+ const digest = (value2) => typeof value2 === "string" && /^sha256:[a-f0-9]{64}$/.test(value2);
2157
+ const timestamp = (value2) => typeof value2 === "number" && Number.isFinite(value2) && value2 >= 0 && value2 <= 864e13;
2158
+ if (!proof || proof.schema !== "0.state-access-proof/v1" || proof.authority !== "operator-fixture" || proof.access_class !== "unauthorized-write" || proof.status !== "confirmed" || proof.challenge_bound !== true || typeof proof.proof_id !== "string" || !/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/.test(proof.proof_id) || !digest(proof.fixture_digest) || !digest(proof.baseline_digest) || !digest(proof.observed_digest) || !timestamp(proof.verified_at) || !Number.isSafeInteger(proof.generation) || Number(proof.generation) < 1 || !Number.isSafeInteger(proof.cleanup_revision) || Number(proof.cleanup_revision) < 0 || !["required", "completed", "failed"].includes(String(proof.cleanup)) || proof.cleanup !== "required" && !timestamp(proof.cleanup_at) || typeof item.observation_url !== "string" || item.observation_url.length > 8192 || !scopeId || scopeId.length > 512)
2159
+ return null;
2160
+ if (item.tool === "access_control_workflow") {
2161
+ const before2 = successfulObservation(item.observation_before), after2 = successfulObservation(item.observation_after);
2162
+ const steps = item.steps;
2163
+ if (item.verdict !== "confirmed" || !before2 || !after2 || before2.redacted !== false || after2.redacted !== false || before2.value_truncated === true || after2.value_truncated === true || before2.json_pointer_value === after2.json_pointer_value || after2.json_pointer_value !== item.expected_state || !Array.isArray(steps) || !steps.length || steps.length > 10 || !steps.some((value2) => {
2164
+ const step = record(value2);
2165
+ return step?.request_marker_sent === true && ["POST", "PUT", "PATCH"].includes(String(step.method));
2166
+ }) || steps.some((value2) => {
2167
+ const step = record(value2);
2168
+ return !step || typeof step.status !== "number" || !Number.isInteger(step.status) || step.status < 100 || step.status > 599 || step.error !== void 0;
2169
+ }))
2170
+ return null;
2171
+ }
2172
+ if (item.tool === "access_control_cleanup") {
2173
+ const observation = record(item.observation);
2174
+ if (!observation || typeof observation.status !== "number" || observation.status < 200 || observation.status >= 300 || observation.truncated !== false || !digest(observation.value_digest) || observation.value_digest === proof.baseline_digest !== (proof.cleanup === "completed"))
2175
+ return null;
2176
+ }
2177
+ let asset2;
2178
+ try {
2179
+ const url = new URL(item.observation_url);
2180
+ if (!["http:", "https:"].includes(url.protocol) || url.username || url.password)
2181
+ return null;
2182
+ asset2 = url.origin;
2183
+ } catch {
2184
+ return null;
2185
+ }
2186
+ const originalId = typeof proof.evidence_event_id === "string" && proof.evidence_event_id.length <= 512 ? proof.evidence_event_id : evidenceEventId;
2187
+ return {
2188
+ key: JSON.stringify([scopeId, "unauthorized-write", item.observation_url]),
2189
+ asset: asset2,
2190
+ status: "confirmed",
2191
+ accessClass: "unauthorized-write",
2192
+ headline: "Unauthorized state change confirmed",
2193
+ summary: "A configured comparison identity changed the observed field of an operator-declared restricted disposable resource. Verification observed the new marker using the owner's request context.",
2194
+ cleanup: proof.cleanup,
2195
+ confidence: 1,
2196
+ severity: "unassessed",
2197
+ accessLevel: "Resource write",
2198
+ prerequisites: ["Operator-declared restricted disposable resource", "Fresh private synthetic marker", "Distinct configured owner and comparison credentials"],
2199
+ limitations: ["The proof covers only the configured resource and observed field. Cleanup checks that field only; other side effects, shell access and broader privileges are not established."],
2200
+ verifiedAt: proof.verified_at,
2201
+ proofId: proof.proof_id,
2202
+ proofGeneration: proof.generation,
2203
+ cleanupRevision: proof.cleanup_revision,
2204
+ ...proof.cleanup_at !== void 0 ? { cleanupAt: proof.cleanup_at } : {},
2205
+ ...originalId ? { evidenceEventId: originalId } : {},
2206
+ ...proof.cleanup !== "required" && evidenceEventId ? { cleanupEvidenceEventId: evidenceEventId } : {}
2207
+ };
2208
+ }
2209
+ if (eventType === "tool_artifact" && item?.tool === "access_control_probe") {
2210
+ const proof = record(item.access_proof);
2211
+ if (!proof || proof.schema !== "0.access-proof/v1" || proof.authority !== "operator-fixture" || proof.access_class !== "unauthorized-read" || !["confirmed", "blocked"].includes(String(proof.status)) || proof.owner_marker_observed !== true || proof.cleanup !== "not-required" || typeof proof.baseline_status !== "number" || !Number.isInteger(proof.baseline_status) || proof.baseline_status < 200 || proof.baseline_status >= 300 || proof.comparison_marker_observed !== (proof.status === "confirmed") || item.method !== "GET" || typeof item.url !== "string" || item.url.length > 8192 || !scopeId || scopeId.length > 512)
2212
+ return null;
2213
+ const baseline = record(proof.baseline_observation);
2214
+ const observations = proof.comparison_observations;
2215
+ const validObservation = (value2) => {
2216
+ const observation = record(value2);
2217
+ return observation && typeof observation.status === "number" && Number.isInteger(observation.status) && observation.truncated === false && typeof observation.marker_observed === "boolean" && typeof observation.response_digest === "string" && /^sha256:[a-f0-9]{64}$/.test(observation.response_digest);
2218
+ };
2219
+ if (!validObservation(baseline) || baseline.status !== proof.baseline_status || baseline.marker_observed !== true || !Array.isArray(observations) || !observations.length || observations.length > 16 || !observations.every(validObservation))
2220
+ return null;
2221
+ if (proof.status === "confirmed" ? !observations.some((value2) => {
2222
+ const o = record(value2);
2223
+ return Number(o.status) >= 200 && Number(o.status) < 300 && o.marker_observed === true;
2224
+ }) : !observations.every((value2) => {
2225
+ const o = record(value2);
2226
+ return [401, 403].includes(Number(o.status)) && o.marker_observed === false;
2227
+ }))
2228
+ return null;
2229
+ let asset2;
2230
+ try {
2231
+ const url = new URL(item.url);
2232
+ if (!["http:", "https:"].includes(url.protocol) || url.username || url.password)
2233
+ return null;
2234
+ asset2 = url.origin;
2235
+ } catch {
2236
+ return null;
2237
+ }
2238
+ const confirmed = proof.status === "confirmed";
2239
+ return {
2240
+ key: JSON.stringify([scopeId, "unauthorized-read", item.url]),
2241
+ asset: asset2,
2242
+ status: confirmed ? "confirmed" : "blocked",
2243
+ accessClass: "unauthorized-read",
2244
+ headline: confirmed ? "Unauthorized resource read confirmed" : "Unauthorized resource read blocked",
2245
+ summary: confirmed ? "A comparison identity retrieved the private owner marker from an operator-declared restricted resource. This read-only proof required no cleanup. The result applies to the configured ownership contract." : "The configured comparison identities were denied access to the operator-declared restricted resource. This read-only test required no cleanup.",
2246
+ cleanup: "not-required",
2247
+ confidence: 1,
2248
+ severity: confirmed ? "unassessed" : "info",
2249
+ accessLevel: confirmed ? "Resource read" : "Access denied",
2250
+ prerequisites: ["Operator-declared ownership contract"],
2251
+ limitations: ["The result covers only the configured resource and tested identities."],
2252
+ ...evidenceEventId && evidenceEventId.length <= 512 ? { evidenceEventId } : {}
2253
+ };
2254
+ }
2151
2255
  if (eventType !== "tool_artifact" || !item || item.tool !== "access_control_workflow" || item.workflow !== "access_control_workflow" || item.verdict !== "confirmed" || typeof item.owner_identity !== "string" || !item.owner_identity || typeof item.actor_identity !== "string" || !item.actor_identity || item.owner_identity === item.actor_identity || typeof item.expected_state !== "string" || item.expected_state.length > 500 || typeof item.observation_url !== "string" || item.observation_url.length > 8192 || !scopeId || scopeId.length > 512)
2152
2256
  return null;
2153
2257
  const before = successfulObservation(item.observation_before);
@@ -2176,13 +2280,38 @@ function accessMilestoneFromArtifact(eventType, value, scopeId, evidenceEventId)
2176
2280
  headline: "State change confirmed across request contexts",
2177
2281
  summary: "The observing context saw the declared marker after requests using different configured authentication headers. Authorization impact requires validation. Cleanup was not verified.",
2178
2282
  cleanup: "unknown",
2283
+ confidence: 1,
2284
+ severity: "info",
2285
+ accessLevel: "Observed state transition",
2286
+ prerequisites: ["Distinct configured authentication headers"],
2287
+ limitations: ["Authorization impact and cleanup are unverified."],
2179
2288
  ...evidenceEventId && evidenceEventId.length <= 512 ? { evidenceEventId } : {}
2180
2289
  };
2181
2290
  }
2182
2291
  function appendAccessMilestone(current, next, limit = 80) {
2183
- if (current.some((item) => item.milestone.key === next.milestone.key))
2184
- return [...current];
2185
- return [...current, next].slice(-Math.max(1, Math.min(80, limit)));
2292
+ const index = current.findIndex((item) => item.milestone.key === next.milestone.key);
2293
+ if (index !== -1) {
2294
+ const rank = { blocked: 0, conditional: 1, confirmed: 2 };
2295
+ const previous = current[index].milestone;
2296
+ const sameProof = next.milestone.proofId !== void 0 && next.milestone.proofId === previous.proofId;
2297
+ const newerCleanup = sameProof && next.milestone.cleanup !== previous.cleanup && (next.milestone.cleanupRevision ?? -1) > (previous.cleanupRevision ?? -1);
2298
+ const newerProof = next.milestone.proofId !== void 0 && next.milestone.proofId !== previous.proofId && (next.milestone.verifiedAt ?? -1) >= (previous.verifiedAt ?? -1) && ((next.milestone.proofGeneration ?? 0) > (previous.proofGeneration ?? 0) || (next.milestone.verifiedAt ?? -1) > (previous.verifiedAt ?? -1));
2299
+ if (rank[next.milestone.status] <= rank[previous.status] && !newerCleanup && !newerProof)
2300
+ return [...current];
2301
+ const updated = [...current];
2302
+ updated[index] = next;
2303
+ return updated;
2304
+ }
2305
+ const appended = [...current, next];
2306
+ const cap = Math.max(1, Math.min(80, Number.isFinite(limit) ? Math.floor(limit) : 80));
2307
+ if (appended.length <= cap)
2308
+ return appended;
2309
+ const retained = new Set(visibleAccessMilestones(appended, cap));
2310
+ return appended.filter((item) => retained.has(item));
2311
+ }
2312
+ function visibleAccessMilestones(items, limit = 3) {
2313
+ const impact = (milestone) => milestone.status === "confirmed" ? milestone.accessClass === "unauthorized-write" ? 4 : 3 : milestone.status === "conditional" ? 1 : 0;
2314
+ return items.map((item, index) => ({ item, index })).sort((a, b) => impact(b.item.milestone) - impact(a.item.milestone) || b.index - a.index).slice(0, Math.max(1, Math.min(80, Number.isFinite(limit) ? Math.floor(limit) : 3))).map((entry) => entry.item);
2186
2315
  }
2187
2316
 
2188
2317
  export {
@@ -2319,5 +2448,6 @@ export {
2319
2448
  getFindingPriority,
2320
2449
  compareFindingsByBusinessPriority,
2321
2450
  accessMilestoneFromArtifact,
2322
- appendAccessMilestone
2451
+ appendAccessMilestone,
2452
+ visibleAccessMilestones
2323
2453
  };