0sec-cli 0.24.0 → 0.25.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.
- package/0.js +64 -60
- package/README.md +121 -82
- package/chunks/{adapt-loop-TEJPXWFG.js → adapt-loop-L2PXCD4J.js} +6 -5
- package/chunks/{artifact-scraper-AJZ3LOQY.js → artifact-scraper-W3LGLXBM.js} +4 -3
- package/chunks/{assumption-mining-EATDC4BB.js → assumption-mining-7IJ6ZWZE.js} +22 -20
- package/chunks/{backend-connections-QE4NASAK.js → backend-connections-MYH4QRQG.js} +5 -4
- package/chunks/{chunk-RBOMXUYL.js → chunk-27SXCYWH.js} +1 -1
- package/chunks/{chunk-E42XEJTK.js → chunk-2J3STRJT.js} +337 -257
- package/chunks/chunk-36J5ZLFE.js +18729 -0
- package/chunks/chunk-3DF55BWV.js +49 -0
- package/chunks/{chunk-GHEBZKUS.js → chunk-3HMO42M2.js} +1426 -321
- package/chunks/{chunk-BIJPMYFA.js → chunk-3T5R7P4T.js} +6 -6
- package/chunks/{chunk-RD4FKFWR.js → chunk-5H2PXZ7Q.js} +1 -1
- package/chunks/chunk-5XOYTAOK.js +1546 -0
- package/chunks/{chunk-QEA2VHBD.js → chunk-6TA3CWND.js} +2656 -2960
- package/chunks/{chunk-H76JYUPE.js → chunk-76CLUI54.js} +3 -3
- package/chunks/{chunk-KCA35IL3.js → chunk-7PUJI64A.js} +11 -9
- package/chunks/{chunk-W6IYTSZH.js → chunk-7TIWL6E5.js} +8 -10
- package/chunks/chunk-ABKUI3QB.js +196 -0
- package/chunks/{chunk-YORL5S5V.js → chunk-ACYZMJHC.js} +1 -1
- package/chunks/{chunk-5FHFG5P2.js → chunk-AL32F74R.js} +1 -1
- package/chunks/{chunk-J6G73WYF.js → chunk-B5TIXHCO.js} +1 -1
- package/chunks/{chunk-G2EJ3R5I.js → chunk-BWUW6ZQR.js} +2052 -1075
- package/chunks/{chunk-3XLEDCFX.js → chunk-C6ZMPXN2.js} +5 -50
- package/chunks/{chunk-4TUR47H5.js → chunk-D4IBEO2K.js} +1 -1
- package/chunks/{chunk-EXTN4SQV.js → chunk-DHNYJ2ML.js} +1 -1
- package/chunks/{chunk-Y7KV7WV6.js → chunk-DJGJECBV.js} +93 -20
- package/chunks/{chunk-UHUW45S3.js → chunk-DMDWIW3E.js} +5 -5
- package/chunks/{chunk-V5I5GAQH.js → chunk-EEP6GBUO.js} +16037 -34417
- package/chunks/{chunk-EYBMTELO.js → chunk-EIONVEFN.js} +208 -29
- package/chunks/chunk-EQBC2ZWL.js +2481 -0
- package/chunks/{chunk-FKGFHLLS.js → chunk-FI2H6HV2.js} +1 -1
- package/chunks/{chunk-4YRXIVPZ.js → chunk-FI5YL4R2.js} +3 -3
- package/chunks/{chunk-DNV3ZMPX.js → chunk-FOLTHXRH.js} +1 -1
- package/chunks/{chunk-ZPFBQ3SD.js → chunk-GOUGG7IQ.js} +3 -3
- package/chunks/{chunk-O3ADFN2A.js → chunk-GXSECFUE.js} +1 -1
- package/chunks/{chunk-YYOQADBB.js → chunk-HDJSHLRM.js} +3 -2
- package/chunks/{chunk-A3EKBUEM.js → chunk-HFUOUT2B.js} +61232 -30665
- package/chunks/chunk-HJKJ4NQP.js +196 -0
- package/chunks/{chunk-RPTO5FY2.js → chunk-I4VIAQHM.js} +1 -1
- package/chunks/{chunk-A6AZZ6XX.js → chunk-ITEMDJAB.js} +3 -3
- package/chunks/chunk-ITHDAIRY.js +57 -0
- package/chunks/{chunk-TOFIGQ63.js → chunk-JCRQV4FE.js} +2 -2
- package/chunks/{chunk-SQCBHFWN.js → chunk-LWMEJYCP.js} +2 -2
- package/chunks/{chunk-52AWIBCT.js → chunk-MY44EZKD.js} +1 -1
- package/chunks/{chunk-SGILXLR3.js → chunk-NBLKIQCW.js} +226 -4
- package/chunks/chunk-NO543ZBU.js +90 -0
- package/chunks/{chunk-CIMN2AO6.js → chunk-OFPF26WL.js} +333 -3
- package/chunks/{chunk-YERUDEXT.js → chunk-PAE7ZAV6.js} +2780 -1255
- package/chunks/{chunk-V4BD7GSP.js → chunk-PMAKX6KP.js} +2 -2
- package/chunks/{chunk-62PGWN7Y.js → chunk-RBTJYREN.js} +8 -171
- package/chunks/{chunk-IK27KMVV.js → chunk-RFK5F45W.js} +1 -1
- package/chunks/{chunk-554D4AYM.js → chunk-S2WCYEK2.js} +4 -99
- package/chunks/{chunk-RZR2XXAK.js → chunk-S3B6HFSM.js} +144 -14
- package/chunks/{chunk-WUPN3D37.js → chunk-S4DFH2FJ.js} +26 -1
- package/chunks/{chunk-TZRHWP7R.js → chunk-SEWZ76MN.js} +77 -13
- package/chunks/{chunk-HRBOZBMC.js → chunk-TFKY6D7O.js} +1 -1
- package/chunks/{chunk-TOAAYJVN.js → chunk-WK6VUCKK.js} +3 -333
- package/chunks/{chunk-IXT64DV5.js → chunk-XPDJE537.js} +97 -1
- package/chunks/{chunk-RCHAFSWS.js → chunk-YXTV2FRE.js} +113 -22
- package/chunks/{chunk-TTDFBFNZ.js → chunk-YYFODVZG.js} +6 -10
- package/chunks/{chunk-3XLFB46W.js → chunk-ZWAWZU6C.js} +30 -13
- package/chunks/{chunk-5POT5OYF.js → chunk-ZZV56ACK.js} +11 -9
- package/chunks/{codex-models-FQPCWRPC.js → codex-models-KCUIVS3R.js} +9 -8
- package/chunks/{commands-I5L3VD2A.js → commands-MPPAADGY.js} +798 -608
- package/chunks/dashboard-MN7GZLLX.js +75 -0
- package/chunks/{db-P5EIKMLP.js → db-R2AQSESC.js} +5 -4
- package/chunks/{deep-review-I7RD5QSS.js → deep-review-Q6BJKEV4.js} +37 -38
- package/chunks/{disclose-PFBWESVJ.js → disclose-GGULOW27.js} +6 -5
- package/chunks/{dist-AJU25UXA.js → dist-6RNAVFAY.js} +376 -333
- package/chunks/{dist-VK2M4HNW.js → dist-DWN7U5OV.js} +5 -2
- package/chunks/{dist-M2X367VW.js → dist-JAZWL3SC.js} +3 -2
- package/chunks/{dist-3SWWY5FZ.js → dist-OLGNKDB2.js} +4 -3
- package/chunks/{dist-LNXGATR2.js → dist-WNAOCQGA.js} +5 -4
- package/chunks/eval-runner-WCTTIYN4.js +38 -0
- package/chunks/{exploit-agent-A4RTIJ4J.js → exploit-agent-M3KUMZJH.js} +1 -1
- package/chunks/{exploit-autoclimb-ABMMBC3M.js → exploit-autoclimb-QTTWC5WM.js} +1 -1
- package/chunks/{exploit-climb-BQ2SVU63.js → exploit-climb-E4KDELTN.js} +4 -3
- package/chunks/{fix-4YCLHFDT.js → fix-U5FFJD4F.js} +9 -8
- package/chunks/{harness-DHWULEIZ.js → harness-FMKIMEH5.js} +5 -4
- package/chunks/{http-conformance-U5F6GKYG.js → http-conformance-AXMUOE6C.js} +3 -2
- package/chunks/hunt-scan-RYPWRUQD.js +43 -0
- package/chunks/{kernel-primitive-SF4NALVR.js → kernel-primitive-CVG2E7MJ.js} +4 -3
- package/chunks/{kernel-vm-runner-WEBEZEIC.js → kernel-vm-runner-62KISULQ.js} +4 -3
- package/chunks/{local-engine-XUG7XRKM.js → local-engine-WP3I7K7G.js} +7 -6
- package/chunks/managed-operation-642WPTLC.js +59 -0
- package/chunks/{memsafety-scan-L2Z7E7TE.js → memsafety-scan-Q2MBZEGJ.js} +1 -2
- package/chunks/{native-loop-ZNAELJGB.js → native-loop-HC77R5NQ.js} +31 -16
- package/chunks/operator-services-E2NONBQS.js +79 -0
- package/chunks/orchestrate-Z3DW265M.js +62 -0
- package/chunks/{prepare-SODWQN6O.js → prepare-7DTS6RJT.js} +7 -6
- package/chunks/{remote-workflow-runtime-XNNGI2PG.js → remote-workflow-runtime-6CEVRZXS.js} +4 -3
- package/chunks/routing-ITJZBJIU.js +61 -0
- package/chunks/{runtime-MB4GEFBY.js → runtime-PZJ77QES.js} +9 -8
- package/chunks/{runtime-HFFRUOPL.js → runtime-W6JNDQRO.js} +4 -3
- package/chunks/{scan-stream-GXBJHCDF.js → scan-stream-6VOJTHTR.js} +6 -4
- package/chunks/{scope-M7L3CD6X.js → scope-FHXW6EX6.js} +4 -3
- package/chunks/service-plugins-CN6Q2NSN.js +63 -0
- package/chunks/{session-store-K7I4GLNH.js → session-store-DBBI544Y.js} +8 -5
- package/chunks/{variant-candidates-2KSP5EHH.js → variant-candidates-DPR6DJ3N.js} +9 -8
- package/chunks/{web-recon-prepass-RAXXTEWH.js → web-recon-prepass-HWDHDQMN.js} +7 -6
- package/chunks/{workflow-runtime-V26HIJO3.js → workflow-runtime-PLB32XC3.js} +50 -49
- package/dashboard/assets/{abnfDiagram-VCTEODGH-CGCueOp5.js → abnfDiagram-VCTEODGH-6e39CQKz.js} +1 -1
- package/dashboard/assets/{arc-BjZaQcCc.js → arc-ClYun86B.js} +1 -1
- package/dashboard/assets/architecture-7GRP2DOG-rM-lWo7E.js +1 -0
- package/dashboard/assets/architectureDiagram-5GKGNRK7-C9gEGZIU.js +36 -0
- package/dashboard/assets/{blockDiagram-I7D4REHJ-C-byT12_.js → blockDiagram-I7D4REHJ-Dgh2n5Lf.js} +2 -2
- package/dashboard/assets/{c4Diagram-7LVT6UL2-DoYjz-Uv.js → c4Diagram-7LVT6UL2-CsorW08z.js} +1 -1
- package/dashboard/assets/channel-BBlDqIBl.js +1 -0
- package/dashboard/assets/{chunk-4HAMMTFA-NBNp2zdt.js → chunk-4HAMMTFA-4_b_LGGQ.js} +1 -1
- package/dashboard/assets/{chunk-75Z2AOVW-BHmkuP0B.js → chunk-75Z2AOVW-qzNlKGCp.js} +1 -1
- package/dashboard/assets/chunk-DU6HZSFF-SAPICW28.js +127 -0
- package/dashboard/assets/{chunk-F27PBJKO-3wwNFUgZ.js → chunk-F27PBJKO-DlLotIQx.js} +1 -1
- package/dashboard/assets/{chunk-FOHPRMQF-DHwB1DNv.js → chunk-FOHPRMQF-COOliuUh.js} +14 -14
- package/dashboard/assets/{chunk-GMAD6QVW-Btg7huZW.js → chunk-GMAD6QVW-DNnr65Nb.js} +7 -7
- package/dashboard/assets/{chunk-GVQU2GXP-ihCURK5O.js → chunk-GVQU2GXP-DTwv0VfU.js} +1 -1
- package/dashboard/assets/{chunk-IMKFNOWR-FsXj7slg.js → chunk-IMKFNOWR-B1fk1q_W.js} +1 -1
- package/dashboard/assets/{chunk-L3NEJ4N5-DorFIxJY.js → chunk-L3NEJ4N5-ByVjFIox.js} +1 -1
- package/dashboard/assets/{chunk-OSK3NFVY-DKun_KfC.js → chunk-OSK3NFVY-DUDCzjbh.js} +1 -1
- package/dashboard/assets/{chunk-P2QGCYS3-XGgiU1Bz.js → chunk-P2QGCYS3-D_D5qEso.js} +1 -1
- package/dashboard/assets/{chunk-POPQ4Y6H-BTXEnGhJ.js → chunk-POPQ4Y6H-CetM-tVm.js} +1 -1
- package/dashboard/assets/{chunk-PWAF6VOD-DYZcGkTL.js → chunk-PWAF6VOD-BcJX4exl.js} +1 -1
- package/dashboard/assets/{chunk-SHT3W25Y-C4WQfwf8.js → chunk-SHT3W25Y-BWQql238.js} +1 -1
- package/dashboard/assets/{chunk-SVP7TREG-C4nCh0-1.js → chunk-SVP7TREG-BSLOD1JE.js} +1 -1
- package/dashboard/assets/{chunk-TICWLB2K-DSB-IiGc.js → chunk-TICWLB2K-DReOl-g_.js} +2 -2
- package/dashboard/assets/{chunk-XXDRQBXY-CS6fjUcj.js → chunk-XXDRQBXY-DSdSMeei.js} +1 -1
- package/dashboard/assets/classDiagram-ZZMXUADV-CRH2kB8G.js +1 -0
- package/dashboard/assets/classDiagram-v2-VYDZK3BY-CRH2kB8G.js +1 -0
- package/dashboard/assets/common-CRRsylCH.js +5 -0
- package/dashboard/assets/cose-bilkent-JH36ORCC-fg-DIBqt.js +1 -0
- package/dashboard/assets/cynefin-OW5HDTMX-XmrbEIFh.js +1 -0
- package/dashboard/assets/{cynefinDiagram-5FMLGOSQ-CgDOOY67.js → cynefinDiagram-5FMLGOSQ-CoQ7QEPl.js} +1 -1
- package/dashboard/assets/cytoscape.esm-BbBREfsg.js +321 -0
- package/dashboard/assets/dagre-D7JM2Yhv.js +1 -0
- package/dashboard/assets/dagre-GXQ25YYZ-qtQtsg6c.js +4 -0
- package/dashboard/assets/{diagram-S7CK7UJ4-CrKqRXZb.js → diagram-S7CK7UJ4-B_ts4_58.js} +2 -2
- package/dashboard/assets/{diagram-UQ7AKVKN-Cu6Es0-v.js → diagram-UQ7AKVKN-DwHbbxFy.js} +1 -1
- package/dashboard/assets/{diagram-VSXAHHWV-eK4d8FwS.js → diagram-VSXAHHWV-2Tg_RG89.js} +1 -1
- package/dashboard/assets/{diagram-VX7I27RA-bFxeFKOc.js → diagram-VX7I27RA-BFYp-YjF.js} +1 -1
- package/dashboard/assets/{diagram-Z3DM3KII-C0ClmnhC.js → diagram-Z3DM3KII-DrPiS4V0.js} +1 -1
- package/dashboard/assets/{dist-BZh8Kb3O.js → dist-cbVssBvx.js} +1 -1
- package/dashboard/assets/{ebnfDiagram-PWID7BFC-CUqxFPzf.js → ebnfDiagram-PWID7BFC-DCMOZtU2.js} +1 -1
- package/dashboard/assets/{erDiagram-RLTQ6QDP-CcYM7pLi.js → erDiagram-RLTQ6QDP-CW4rUJGU.js} +1 -1
- package/dashboard/assets/eventmodeling-NTZA5JFV-C2q-Aaav.js +1 -0
- package/dashboard/assets/flowDiagram-HODETNUW-3NOabgG3.js +1 -0
- package/dashboard/assets/{ganttDiagram-EL5Y4UJY-UmZfbMyD.js → ganttDiagram-EL5Y4UJY-C1AqcwIF.js} +1 -1
- package/dashboard/assets/gitGraph-4MIJSDKK-DYR76gtd.js +1 -0
- package/dashboard/assets/{gitGraphDiagram-WWUBYQGX-CvzeCxVy.js → gitGraphDiagram-WWUBYQGX-B7hL98CE.js} +1 -1
- package/dashboard/assets/info-A6RAGUB7-TXB43LiH.js +1 -0
- package/dashboard/assets/{infoDiagram-27XIBGKW-DjkpNtVW.js → infoDiagram-27XIBGKW-Dk5dXmh_.js} +1 -1
- package/dashboard/assets/{ishikawaDiagram-5VMMS53U-8FhjJaWT.js → ishikawaDiagram-5VMMS53U-BQDuNMka.js} +2 -2
- package/dashboard/assets/{journeyDiagram-3NMN7TZE-DyNJ755f.js → journeyDiagram-3NMN7TZE-DkustddD.js} +1 -1
- package/dashboard/assets/{kanban-definition-UXKFOSKX-_jCmtaY1.js → kanban-definition-UXKFOSKX-BW7Ann84.js} +1 -1
- package/dashboard/assets/{katex-BdBmVSus.js → katex-nLxf_RlZ.js} +2 -2
- package/dashboard/assets/{line-Bf0nxyWf.js → line-DVxcLeru.js} +1 -1
- package/dashboard/assets/linear-DOM_l9bO.js +1 -0
- package/dashboard/assets/mermaid-parser.core-CKg9fDvJ.js +7 -0
- package/dashboard/assets/{mermaid.core-B4yCwiN-.js → mermaid.core-DruW_5-Y.js} +9 -9
- package/dashboard/assets/{mindmap-definition-YA3MSWOX-D5DjWyXj.js → mindmap-definition-YA3MSWOX-Di5W5VB3.js} +1 -1
- package/dashboard/assets/operations-B-t_k60U.js +194 -0
- package/dashboard/assets/operations-D2ZKZFOF.css +1 -0
- package/dashboard/assets/packet-AYTQ26CC-BABwqtNu.js +1 -0
- package/dashboard/assets/{pegDiagram-XKGWAZYB-Bf6a1vaf.js → pegDiagram-XKGWAZYB-Cx4ABT6q.js} +1 -1
- package/dashboard/assets/pie-WAS4IAKB-CNdXyrze.js +1 -0
- package/dashboard/assets/{pieDiagram-E7YTZNPT-D0L1qbch.js → pieDiagram-E7YTZNPT-BilfQbIs.js} +1 -1
- package/dashboard/assets/{quadrantDiagram-AXDQQJYC-CbFyy2Pe.js → quadrantDiagram-AXDQQJYC-BVmMQHE5.js} +1 -1
- package/dashboard/assets/radar-RG4KPBEZ-fKNmDeoK.js +1 -0
- package/dashboard/assets/railroad-74A4TZTK-DhcvDCOh.js +1 -0
- package/dashboard/assets/railroad-abnf-HS5TGJTU-BTRVAmf0.js +1 -0
- package/dashboard/assets/railroad-ebnf-LZEXJU2U-CwS8fgC_.js +1 -0
- package/dashboard/assets/railroad-peg-WCYAUIDC-CXuhXlNp.js +1 -0
- package/dashboard/assets/{railroadDiagram-O6MQD6OU-t7Gp9g2R.js → railroadDiagram-O6MQD6OU-DnBru-jf.js} +1 -1
- package/dashboard/assets/{requirementDiagram-BXWQKSXE-LYmqeBXi.js → requirementDiagram-BXWQKSXE-FwdvUZ7_.js} +1 -1
- package/dashboard/assets/{sankeyDiagram-P5KCCOFB-DnpfA_94.js → sankeyDiagram-P5KCCOFB-BQvDORai.js} +1 -1
- package/dashboard/assets/{sequenceDiagram-WJ2MYXX4-C8s3pTUE.js → sequenceDiagram-WJ2MYXX4-FWYQLzcY.js} +2 -2
- package/dashboard/assets/sizeCapture-INFHLROL-3uHXrFqA.js +1 -0
- package/dashboard/assets/src-BwkPhlcp.js +1 -0
- package/dashboard/assets/{stateDiagram-D77RDMKH-BMzm6fK1.js → stateDiagram-D77RDMKH-CjPBd_Sa.js} +1 -1
- package/dashboard/assets/stateDiagram-v2-MP3YSRHH-DHmenujm.js +1 -0
- package/dashboard/assets/swimlanes-42K2YHIH-SQLNsa4J.js +1 -0
- package/dashboard/assets/swimlanesDiagram-VR7AAH4N-D1bH4ETZ.js +8 -0
- package/dashboard/assets/{timeline-definition-24CTP7MA-BfLJMVeG.js → timeline-definition-24CTP7MA-BxCf20k1.js} +1 -1
- package/dashboard/assets/treeView-Q6P3EWNA-BGLYAyGp.js +1 -0
- package/dashboard/assets/treemap-WGGIJYW6-BlzAwncU.js +1 -0
- package/dashboard/assets/{vennDiagram-4TSXK5OY-BYJRHEaL.js → vennDiagram-4TSXK5OY-D76RIZLz.js} +1 -1
- package/dashboard/assets/wardley-WFR3VGLG-Ba_reiVw.js +1 -0
- package/dashboard/assets/{wardleyDiagram-VM6X3IG4-DgPN4nSe.js → wardleyDiagram-VM6X3IG4-Cux4coOD.js} +1 -1
- package/dashboard/assets/{xychartDiagram-S5SC5T6Z-BhkAMAOT.js → xychartDiagram-S5SC5T6Z-Ch5mvnlH.js} +1 -1
- package/dashboard/index.html +2 -2
- package/package.json +2 -5
- package/chunks/chunk-AV5BF4V7.js +0 -4304
- package/chunks/chunk-CSPF47S3.js +0 -6027
- package/chunks/chunk-ESM447R6.js +0 -77
- package/chunks/chunk-FEOPHBMY.js +0 -56
- package/chunks/chunk-GNR3APR6.js +0 -295
- package/chunks/chunk-IIBNQTOK.js +0 -1532
- package/chunks/chunk-JSTLXPJS.js +0 -284
- package/chunks/chunk-NJLKFC66.js +0 -4790
- package/chunks/chunk-O7Q2G2KW.js +0 -117
- package/chunks/chunk-VIT5ALXF.js +0 -4054
- package/chunks/chunk-YJU7QACE.js +0 -279
- package/chunks/dashboard-B2AEGCFM.js +0 -76
- package/chunks/eval-runner-XVRX3R2Y.js +0 -31
- package/chunks/hunt-scan-DXV5H6YN.js +0 -40
- package/chunks/managed-operation-SQFMBWHG.js +0 -60
- package/chunks/orchestrate-YHFJXGID.js +0 -63
- package/chunks/run-5T4Z3Q2D.js +0 -28242
- package/chunks/service-plugins-BGS6QKSZ.js +0 -64
- package/dashboard/assets/architecture-7GRP2DOG-hcbO-9zX.js +0 -1
- package/dashboard/assets/architectureDiagram-5GKGNRK7-DReOXTSq.js +0 -36
- package/dashboard/assets/channel-CUURBnpZ.js +0 -1
- package/dashboard/assets/chunk-DU6HZSFF-DgfLNaL2.js +0 -127
- package/dashboard/assets/classDiagram-ZZMXUADV-CD1Buc26.js +0 -1
- package/dashboard/assets/classDiagram-v2-VYDZK3BY-CD1Buc26.js +0 -1
- package/dashboard/assets/common-BMdQBwfR.js +0 -5
- package/dashboard/assets/cose-bilkent-JH36ORCC-CUjQHTML.js +0 -1
- package/dashboard/assets/cynefin-OW5HDTMX-BC7zCtFq.js +0 -1
- package/dashboard/assets/cytoscape.esm-CGd-uY3x.js +0 -321
- package/dashboard/assets/dagre-GXQ25YYZ-Dqc8FS9x.js +0 -4
- package/dashboard/assets/dagre-PrKaheQc.js +0 -1
- package/dashboard/assets/eventmodeling-NTZA5JFV-D8ZNnPkV.js +0 -1
- package/dashboard/assets/flowDiagram-HODETNUW-pDb1AYm8.js +0 -1
- package/dashboard/assets/gitGraph-4MIJSDKK-mvNUo0ZA.js +0 -1
- package/dashboard/assets/info-A6RAGUB7-DChKqZMi.js +0 -1
- package/dashboard/assets/linear-Bl6JKbf4.js +0 -1
- package/dashboard/assets/mermaid-parser.core-Cc6sgCzs.js +0 -7
- package/dashboard/assets/operations-B7JAWOi6.js +0 -130
- package/dashboard/assets/operations-QjKT0Hwi.css +0 -1
- package/dashboard/assets/packet-AYTQ26CC-bQXLDhQC.js +0 -1
- package/dashboard/assets/pie-WAS4IAKB-DfzoABIi.js +0 -1
- package/dashboard/assets/radar-RG4KPBEZ-CZ2pyeUT.js +0 -1
- package/dashboard/assets/railroad-74A4TZTK-CP4Jazfd.js +0 -1
- package/dashboard/assets/railroad-abnf-HS5TGJTU-3MvEiHwD.js +0 -1
- package/dashboard/assets/railroad-ebnf-LZEXJU2U-BWto6cXE.js +0 -1
- package/dashboard/assets/railroad-peg-WCYAUIDC-DasEjbyf.js +0 -1
- package/dashboard/assets/sizeCapture-INFHLROL-B0uUizjq.js +0 -1
- package/dashboard/assets/src-CaNUT1AQ.js +0 -1
- package/dashboard/assets/stateDiagram-v2-MP3YSRHH-B3REMjpY.js +0 -1
- package/dashboard/assets/swimlanes-42K2YHIH-uJE05Tt_.js +0 -1
- package/dashboard/assets/swimlanesDiagram-VR7AAH4N-CIaVMZEy.js +0 -8
- package/dashboard/assets/treeView-Q6P3EWNA-ZOE2enu2.js +0 -1
- package/dashboard/assets/treemap-WGGIJYW6-yIZoPBF5.js +0 -1
- package/dashboard/assets/wardley-WFR3VGLG-D5V-jLbB.js +0 -1
|
@@ -4,10 +4,10 @@ const require = __0CreateRequire(import.meta.url);
|
|
|
4
4
|
import {
|
|
5
5
|
getToolsForRole,
|
|
6
6
|
runNativeAgentLoop
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-HFUOUT2B.js";
|
|
8
8
|
import {
|
|
9
9
|
LlmApiRuntime
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-EIONVEFN.js";
|
|
11
11
|
|
|
12
12
|
// packages/core/dist/eval-runner.js
|
|
13
13
|
import { randomUUID } from "node:crypto";
|
|
@@ -14,25 +14,18 @@ import {
|
|
|
14
14
|
resolveLayeredSettings,
|
|
15
15
|
saveProjectOverrides,
|
|
16
16
|
saveSettings
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import {
|
|
19
|
-
expandHomePath,
|
|
20
|
-
isExistingLocalTargetPath,
|
|
21
|
-
isExplicitLocalTargetPath
|
|
22
|
-
} from "./chunk-E42XEJTK.js";
|
|
17
|
+
} from "./chunk-6TA3CWND.js";
|
|
23
18
|
import {
|
|
24
19
|
ANALYTICS_LEVEL_ENV,
|
|
25
|
-
analyticsOptedOut,
|
|
26
20
|
analyticsPipeline,
|
|
27
21
|
levelAtLeast,
|
|
28
22
|
resolveAnalyticsLevel
|
|
29
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-3T5R7P4T.js";
|
|
30
24
|
import {
|
|
31
25
|
homeStateDir
|
|
32
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-S3B6HFSM.js";
|
|
33
27
|
|
|
34
28
|
// packages/cli/src/tui/settings-store.ts
|
|
35
|
-
import { useSyncExternalStore } from "react";
|
|
36
29
|
var cached = null;
|
|
37
30
|
var globalDraft = null;
|
|
38
31
|
var projectDraft = null;
|
|
@@ -62,13 +55,6 @@ function getSettingSources() {
|
|
|
62
55
|
getSettings();
|
|
63
56
|
return cached.sources;
|
|
64
57
|
}
|
|
65
|
-
function getAnalyticsSetupDraft() {
|
|
66
|
-
const settings = getSettings();
|
|
67
|
-
const current = process.env[ANALYTICS_LEVEL_ENV];
|
|
68
|
-
const shellPreference = current !== void 0 && current !== bridgedAnalyticsEnv;
|
|
69
|
-
if (analyticsOptedOut() || shellPreference && resolveAnalyticsLevel() === "off") return "off";
|
|
70
|
-
return cached.sources.analyticsLevel === "default" ? "usage" : settings.analyticsLevel;
|
|
71
|
-
}
|
|
72
58
|
function setSettings(next) {
|
|
73
59
|
const value = normalizeSettings(next);
|
|
74
60
|
const saved = saveSettings(value, homeDir);
|
|
@@ -116,17 +102,6 @@ function resetSettings(next, keys) {
|
|
|
116
102
|
notify(cached.settings);
|
|
117
103
|
return globalSaved && projectSaved;
|
|
118
104
|
}
|
|
119
|
-
function previewSetting(key, value) {
|
|
120
|
-
if (cached === null) cached = loadLayered();
|
|
121
|
-
cached = { settings: { ...cached.settings, [key]: value }, sources: cached.sources };
|
|
122
|
-
notify(cached.settings);
|
|
123
|
-
}
|
|
124
|
-
function subscribeSettings(fn) {
|
|
125
|
-
subscribers.add(fn);
|
|
126
|
-
return () => {
|
|
127
|
-
subscribers.delete(fn);
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
105
|
var bridgedAnalyticsEnv;
|
|
131
106
|
function bridgeAnalyticsLevel(settings) {
|
|
132
107
|
try {
|
|
@@ -142,21 +117,6 @@ function bridgeAnalyticsLevel(settings) {
|
|
|
142
117
|
} catch {
|
|
143
118
|
}
|
|
144
119
|
}
|
|
145
|
-
function reloadSettings() {
|
|
146
|
-
globalDraft = null;
|
|
147
|
-
projectDraft = null;
|
|
148
|
-
cached = loadLayered();
|
|
149
|
-
notify(cached.settings);
|
|
150
|
-
return cached.settings;
|
|
151
|
-
}
|
|
152
|
-
function configureSettingsStore(options) {
|
|
153
|
-
homeDir = options.homeDir;
|
|
154
|
-
projectDir = options.projectDir;
|
|
155
|
-
reloadSettings();
|
|
156
|
-
}
|
|
157
|
-
function useSettings() {
|
|
158
|
-
return useSyncExternalStore(subscribeSettings, getSettings, getSettings);
|
|
159
|
-
}
|
|
160
120
|
|
|
161
121
|
// packages/cli/src/codex-auth.ts
|
|
162
122
|
import { readFileSync, existsSync } from "node:fs";
|
|
@@ -198,84 +158,6 @@ function asString(value) {
|
|
|
198
158
|
return typeof value === "string" ? value : void 0;
|
|
199
159
|
}
|
|
200
160
|
|
|
201
|
-
// packages/cli/src/engagement-plan.ts
|
|
202
|
-
var PACKAGE_PREFIXES = {
|
|
203
|
-
"npm:": { ecosystem: "npm", targetType: "npm-package" },
|
|
204
|
-
"pypi:": { ecosystem: "pypi", targetType: "pypi-package" },
|
|
205
|
-
"cargo:": { ecosystem: "cargo", targetType: "cargo-package" },
|
|
206
|
-
"oci:": { ecosystem: "oci", targetType: "oci-image" }
|
|
207
|
-
};
|
|
208
|
-
function resolveEngagement(rawTarget) {
|
|
209
|
-
const raw = rawTarget.trim();
|
|
210
|
-
if (raw.length === 0) return { ok: false, message: "Enter a URL, source path, git URL, or ecosystem-prefixed package." };
|
|
211
|
-
for (const [prefix, packagePlan] of Object.entries(PACKAGE_PREFIXES)) {
|
|
212
|
-
if (!raw.startsWith(prefix)) continue;
|
|
213
|
-
const target = raw.slice(prefix.length).trim();
|
|
214
|
-
if (target.length === 0) return { ok: false, message: `${prefix} requires a package name.` };
|
|
215
|
-
return {
|
|
216
|
-
ok: true,
|
|
217
|
-
plan: {
|
|
218
|
-
kind: "package",
|
|
219
|
-
target,
|
|
220
|
-
targetType: packagePlan.targetType,
|
|
221
|
-
ecosystem: packagePlan.ecosystem,
|
|
222
|
-
label: `${packagePlan.ecosystem} package ${target}`
|
|
223
|
-
}
|
|
224
|
-
};
|
|
225
|
-
}
|
|
226
|
-
if (raw.startsWith("source:")) {
|
|
227
|
-
const target = raw.slice("source:".length).trim();
|
|
228
|
-
if (target.length === 0) return { ok: false, message: "source: requires a local path or git URL." };
|
|
229
|
-
return {
|
|
230
|
-
ok: true,
|
|
231
|
-
plan: {
|
|
232
|
-
kind: "source",
|
|
233
|
-
target: expandHomePath(target),
|
|
234
|
-
targetType: "source-code",
|
|
235
|
-
label: `source review ${target}`
|
|
236
|
-
}
|
|
237
|
-
};
|
|
238
|
-
}
|
|
239
|
-
if (raw.startsWith("git@") || raw.startsWith("git://") || raw.endsWith(".git") || raw.startsWith("https://github.com/")) {
|
|
240
|
-
return {
|
|
241
|
-
ok: true,
|
|
242
|
-
plan: {
|
|
243
|
-
kind: "source",
|
|
244
|
-
target: raw,
|
|
245
|
-
targetType: "source-code",
|
|
246
|
-
label: `source review ${raw}`
|
|
247
|
-
}
|
|
248
|
-
};
|
|
249
|
-
}
|
|
250
|
-
if (raw.startsWith("mcp://") || raw.startsWith("http://") || raw.startsWith("https://")) {
|
|
251
|
-
return {
|
|
252
|
-
ok: true,
|
|
253
|
-
plan: {
|
|
254
|
-
kind: "web",
|
|
255
|
-
target: raw,
|
|
256
|
-
targetType: "url",
|
|
257
|
-
label: `web target ${raw}`
|
|
258
|
-
}
|
|
259
|
-
};
|
|
260
|
-
}
|
|
261
|
-
if (isExplicitLocalTargetPath(raw) || isExistingLocalTargetPath(raw)) {
|
|
262
|
-
const target = expandHomePath(raw);
|
|
263
|
-
return {
|
|
264
|
-
ok: true,
|
|
265
|
-
plan: {
|
|
266
|
-
kind: "source",
|
|
267
|
-
target,
|
|
268
|
-
targetType: "source-code",
|
|
269
|
-
label: `source review ${target}`
|
|
270
|
-
}
|
|
271
|
-
};
|
|
272
|
-
}
|
|
273
|
-
return {
|
|
274
|
-
ok: false,
|
|
275
|
-
message: "Ambiguous target. Use https://\u2026, ./path, source:\u2026, npm:\u2026, pypi:\u2026, cargo:\u2026, or oci:\u2026."
|
|
276
|
-
};
|
|
277
|
-
}
|
|
278
|
-
|
|
279
161
|
// packages/cli/src/tui/credential-store.ts
|
|
280
162
|
import { chmodSync, mkdirSync, readFileSync as readFileSync2, writeFileSync } from "node:fs";
|
|
281
163
|
import { dirname, join as join2 } from "node:path";
|
|
@@ -306,11 +188,6 @@ function normalizeCredentials(raw) {
|
|
|
306
188
|
function loadCredentials(homeDir2) {
|
|
307
189
|
return projectApiKeys(loadAccountStore(homeDir2));
|
|
308
190
|
}
|
|
309
|
-
function saveCredentials(creds, homeDir2) {
|
|
310
|
-
const store = loadAccountStore(homeDir2);
|
|
311
|
-
const desired = normalizeCredentials(creds);
|
|
312
|
-
return saveAccountStore(replaceApiKeyLayer(store, desired), homeDir2);
|
|
313
|
-
}
|
|
314
191
|
function projectApiKeys(store) {
|
|
315
192
|
const out = {};
|
|
316
193
|
for (const providerId of Object.keys(store.providers)) {
|
|
@@ -319,26 +196,6 @@ function projectApiKeys(store) {
|
|
|
319
196
|
}
|
|
320
197
|
return out;
|
|
321
198
|
}
|
|
322
|
-
function replaceApiKeyLayer(store, desired) {
|
|
323
|
-
const providers = {};
|
|
324
|
-
for (const [providerId, entry] of Object.entries(store.providers)) {
|
|
325
|
-
const kept = {};
|
|
326
|
-
for (const [accountId, record] of Object.entries(entry.accounts)) {
|
|
327
|
-
if (record.kind !== "api_key") kept[accountId] = record;
|
|
328
|
-
}
|
|
329
|
-
const keptIds = Object.keys(kept);
|
|
330
|
-
if (keptIds.length === 0) continue;
|
|
331
|
-
const active = entry.activeAccountId !== void 0 && kept[entry.activeAccountId] !== void 0 ? entry.activeAccountId : keptIds[0];
|
|
332
|
-
providers[providerId] = { activeAccountId: active, accounts: kept };
|
|
333
|
-
}
|
|
334
|
-
for (const [providerId, secret] of Object.entries(desired)) {
|
|
335
|
-
const existing = providers[providerId];
|
|
336
|
-
const accounts = existing ? { ...existing.accounts } : {};
|
|
337
|
-
accounts[DEFAULT_ACCOUNT_ID] = { kind: "api_key", secret };
|
|
338
|
-
providers[providerId] = { activeAccountId: DEFAULT_ACCOUNT_ID, accounts };
|
|
339
|
-
}
|
|
340
|
-
return { version: STORE_VERSION, providers };
|
|
341
|
-
}
|
|
342
199
|
function credentialEnvPatch(creds, env) {
|
|
343
200
|
const stored = normalizeCredentials(creds);
|
|
344
201
|
const patch = {};
|
|
@@ -352,18 +209,6 @@ function credentialEnvPatch(creds, env) {
|
|
|
352
209
|
}
|
|
353
210
|
return patch;
|
|
354
211
|
}
|
|
355
|
-
var MASK = "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022";
|
|
356
|
-
var TAIL = 4;
|
|
357
|
-
var PREFIX = 6;
|
|
358
|
-
var MIN_LENGTH_FOR_TAIL = 12;
|
|
359
|
-
var MIN_LENGTH_FOR_PREFIX = 20;
|
|
360
|
-
function redactSecret(secret) {
|
|
361
|
-
const value = typeof secret === "string" ? secret.trim() : "";
|
|
362
|
-
if (value.length < MIN_LENGTH_FOR_TAIL) return MASK;
|
|
363
|
-
const tail = value.slice(-TAIL);
|
|
364
|
-
if (value.length < MIN_LENGTH_FOR_PREFIX) return `${MASK}${tail}`;
|
|
365
|
-
return `${value.slice(0, PREFIX)}\u2026${tail}`;
|
|
366
|
-
}
|
|
367
212
|
var STORE_VERSION = 2;
|
|
368
213
|
var DEFAULT_ACCOUNT_ID = "default";
|
|
369
214
|
var KNOWN_PROVIDER_IDS = new Set(PROVIDERS.map((provider) => provider.id));
|
|
@@ -602,13 +447,13 @@ function validateConnectionConfig(providerId, value) {
|
|
|
602
447
|
if (value.baseUrl !== void 0) {
|
|
603
448
|
if (!BASE_URL_VARS[providerId]) throw new Error("This provider does not support a custom API endpoint.");
|
|
604
449
|
const url = new URL(value.baseUrl);
|
|
605
|
-
if (url.username || url.password || url.search || url.hash || url.protocol !== "https:" && !(url.protocol === "http:" && ["localhost", "127.0.0.1", "[::1]"].includes(url.hostname))) {
|
|
606
|
-
throw new Error("API endpoint must be credential-free HTTPS
|
|
450
|
+
if (url.username || url.password || url.search || url.hash || url.protocol !== "https:" && !(url.protocol === "http:" && (providerId === "openai" || ["localhost", "127.0.0.1", "[::1]"].includes(url.hostname)))) {
|
|
451
|
+
throw new Error("API endpoint must be credential-free HTTPS (or HTTP for custom OpenAI-compatible endpoints and loopback), without a query or fragment.");
|
|
607
452
|
}
|
|
608
453
|
result.baseUrl = url.href.replace(/\/$/, "");
|
|
609
454
|
}
|
|
610
455
|
if (value.model !== void 0) {
|
|
611
|
-
if (providerId !== "azure") throw new Error("
|
|
456
|
+
if (providerId !== "azure" && providerId !== "openai") throw new Error("Connection model configuration is supported for Azure and custom OpenAI-compatible providers.");
|
|
612
457
|
if (!value.model.trim() || value.model.length > 256 || /[\s\x00-\x1f\x7f]/.test(value.model)) throw new Error("Invalid deployment model.");
|
|
613
458
|
result.model = value.model;
|
|
614
459
|
}
|
|
@@ -662,6 +507,7 @@ function connectionConfigEnvPatch(env, homeDir2) {
|
|
|
662
507
|
const variable = BASE_URL_VARS[id];
|
|
663
508
|
if (variable && config.baseUrl && !env[variable]) patch[variable] = config.baseUrl;
|
|
664
509
|
if (id === "azure" && config.model && !env.AZURE_OPENAI_MODEL) patch.AZURE_OPENAI_MODEL = config.model;
|
|
510
|
+
if (id === "openai" && config.model && !env.OPENAI_MODEL) patch.OPENAI_MODEL = config.model;
|
|
665
511
|
if (id === "google" && config.projectId && !env.GOOGLE_CLOUD_PROJECT && !env.ZERO_GEMINI_PROJECT) patch.ZERO_GEMINI_PROJECT = config.projectId;
|
|
666
512
|
}
|
|
667
513
|
return patch;
|
|
@@ -670,20 +516,12 @@ function connectionConfigEnvPatch(env, homeDir2) {
|
|
|
670
516
|
export {
|
|
671
517
|
getSettings,
|
|
672
518
|
getSettingSources,
|
|
673
|
-
getAnalyticsSetupDraft,
|
|
674
519
|
defaultWriteLayer,
|
|
675
520
|
updateSetting,
|
|
676
521
|
resetSettings,
|
|
677
|
-
previewSetting,
|
|
678
|
-
subscribeSettings,
|
|
679
|
-
reloadSettings,
|
|
680
|
-
configureSettingsStore,
|
|
681
|
-
useSettings,
|
|
682
522
|
maybeLoadCodexAuth,
|
|
683
523
|
loadCredentials,
|
|
684
|
-
saveCredentials,
|
|
685
524
|
credentialEnvPatch,
|
|
686
|
-
redactSecret,
|
|
687
525
|
loadAccountStore,
|
|
688
526
|
saveAccountStore,
|
|
689
527
|
listAccounts,
|
|
@@ -695,6 +533,5 @@ export {
|
|
|
695
533
|
validateConnectionConfig,
|
|
696
534
|
loadConnectionConfigs,
|
|
697
535
|
saveConnectionConfig,
|
|
698
|
-
connectionConfigEnvPatch
|
|
699
|
-
resolveEngagement
|
|
536
|
+
connectionConfigEnvPatch
|
|
700
537
|
};
|
|
@@ -3,7 +3,7 @@ import { createRequire as __0CreateRequire } from "node:module";
|
|
|
3
3
|
const require = __0CreateRequire(import.meta.url);
|
|
4
4
|
import {
|
|
5
5
|
getFindingPriority
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-S3B6HFSM.js";
|
|
7
7
|
|
|
8
8
|
// packages/core/dist/disclose/cwe.js
|
|
9
9
|
var CWE_MAP = {
|
|
@@ -4,15 +4,16 @@ const require = __0CreateRequire(import.meta.url);
|
|
|
4
4
|
import {
|
|
5
5
|
analyzeFindingForKnownMarkers,
|
|
6
6
|
detectKnownMarkers,
|
|
7
|
+
evidenceKindForFinding,
|
|
7
8
|
require_dist
|
|
8
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-XPDJE537.js";
|
|
9
10
|
import {
|
|
10
11
|
extractFileRefs,
|
|
11
12
|
redactSensitiveHeaders
|
|
12
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-RFK5F45W.js";
|
|
13
14
|
import {
|
|
14
15
|
getFindingPriority
|
|
15
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-S3B6HFSM.js";
|
|
16
17
|
import {
|
|
17
18
|
__toESM
|
|
18
19
|
} from "./chunk-VCSFCHAJ.js";
|
|
@@ -790,99 +791,6 @@ function isPubliclyDisclosed(record) {
|
|
|
790
791
|
return PUBLIC_STATUSES.has(record.status);
|
|
791
792
|
}
|
|
792
793
|
|
|
793
|
-
// packages/core/dist/triage/can-auto-suppress.js
|
|
794
|
-
var PROTECTED_SEVERITIES = /* @__PURE__ */ new Set([
|
|
795
|
-
"critical",
|
|
796
|
-
"high"
|
|
797
|
-
]);
|
|
798
|
-
var HIGH_IMPACT_CATEGORIES = /* @__PURE__ */ new Set([
|
|
799
|
-
// Remote code / command / code execution
|
|
800
|
-
"command-injection",
|
|
801
|
-
"code-injection",
|
|
802
|
-
// Injection into the data store
|
|
803
|
-
"sql-injection",
|
|
804
|
-
// Unsafe deserialization is a classic RCE primitive
|
|
805
|
-
"unsafe-deserialization",
|
|
806
|
-
// Server-side request forgery (pivot / internal network reach)
|
|
807
|
-
"ssrf",
|
|
808
|
-
// Arbitrary file read/write
|
|
809
|
-
"path-traversal",
|
|
810
|
-
// Memory corruption / binary / kernel classes
|
|
811
|
-
"heap-overflow",
|
|
812
|
-
"out-of-bounds-read",
|
|
813
|
-
"out-of-bounds-write",
|
|
814
|
-
"use-after-free",
|
|
815
|
-
"stack-buffer-overflow",
|
|
816
|
-
"integer-overflow",
|
|
817
|
-
"type-confusion",
|
|
818
|
-
"double-free",
|
|
819
|
-
"format-string",
|
|
820
|
-
"uninitialized-memory",
|
|
821
|
-
"race-condition",
|
|
822
|
-
"toctou",
|
|
823
|
-
// Supply-chain compromise (known-vulnerable / malicious package)
|
|
824
|
-
"known-vulnerable-package",
|
|
825
|
-
"supply-chain",
|
|
826
|
-
// Prototype-pollution gadget → auth bypass / RCE when chained. We actively
|
|
827
|
-
// disclose these (e.g. the jsonwebtoken verify() gadget), so they must never
|
|
828
|
-
// be auto-dropped on a score alone.
|
|
829
|
-
"prototype-pollution",
|
|
830
|
-
// Cryptographic misuse — hardcoded keys/IVs, JWT alg-confusion (alg=none /
|
|
831
|
-
// HS-vs-RS), and predictable RNG for secrets are direct key-leak / auth-bypass
|
|
832
|
-
// primitives, so the class is protected from score-only auto-drop.
|
|
833
|
-
"crypto-misuse",
|
|
834
|
-
// AI-system adversarial classes — the core 0 "adversarial reliability"
|
|
835
|
-
// thesis (authorization-boundary break, unsafe tool use, data exfiltration,
|
|
836
|
-
// prompt hijack). A missed one of these is a disclosure-grade loss.
|
|
837
|
-
"prompt-injection",
|
|
838
|
-
"data-exfiltration",
|
|
839
|
-
"tool-misuse"
|
|
840
|
-
]);
|
|
841
|
-
function canAutoSuppressDetailed(finding) {
|
|
842
|
-
if (PROTECTED_SEVERITIES.has(finding.severity)) {
|
|
843
|
-
return {
|
|
844
|
-
canSuppress: false,
|
|
845
|
-
guard: "high_severity",
|
|
846
|
-
reason: `severity=${finding.severity} is disclosure-grade; routed to verification instead of auto-drop`
|
|
847
|
-
};
|
|
848
|
-
}
|
|
849
|
-
if (HIGH_IMPACT_CATEGORIES.has(finding.category)) {
|
|
850
|
-
return {
|
|
851
|
-
canSuppress: false,
|
|
852
|
-
guard: "high_impact_class",
|
|
853
|
-
reason: `category=${finding.category} is a high-impact class; routed to verification instead of auto-drop`
|
|
854
|
-
};
|
|
855
|
-
}
|
|
856
|
-
return {
|
|
857
|
-
canSuppress: true,
|
|
858
|
-
reason: `severity=${finding.severity}, category=${finding.category} eligible for score/heuristic auto-suppression`
|
|
859
|
-
};
|
|
860
|
-
}
|
|
861
|
-
|
|
862
|
-
// packages/core/dist/triage/verify-verdict.js
|
|
863
|
-
var REPRODUCING_LAYERS = /* @__PURE__ */ new Set(["poc_gen", "pov_gate", "oracle"]);
|
|
864
|
-
function evidenceKindForFinding(finding) {
|
|
865
|
-
const hasPocSteps = Array.isArray(finding.pocSteps) && finding.pocSteps.length > 0;
|
|
866
|
-
const reproduced = hasPocSteps && (finding.layerVerdicts ?? []).some((v) => v.verdict === "pass" && REPRODUCING_LAYERS.has(v.layer));
|
|
867
|
-
return reproduced ? "reproduced-poc" : "source-only";
|
|
868
|
-
}
|
|
869
|
-
function outcomeOf(verdict) {
|
|
870
|
-
return typeof verdict === "string" ? verdict : verdict.verdict;
|
|
871
|
-
}
|
|
872
|
-
function isDisclosureWorthy(finding, verdict) {
|
|
873
|
-
if (outcomeOf(verdict) !== "rejected") {
|
|
874
|
-
return {
|
|
875
|
-
keep: true,
|
|
876
|
-
reason: `verdict=${outcomeOf(verdict)}: not a rejection \u2014 finding kept`
|
|
877
|
-
};
|
|
878
|
-
}
|
|
879
|
-
const guard = canAutoSuppressDetailed(finding);
|
|
880
|
-
if (guard.canSuppress) {
|
|
881
|
-
return { keep: false, reason: guard.reason };
|
|
882
|
-
}
|
|
883
|
-
return { keep: true, guard: guard.guard, reason: guard.reason };
|
|
884
|
-
}
|
|
885
|
-
|
|
886
794
|
// packages/core/dist/disclose/evidence-pack.js
|
|
887
795
|
var UnreproducedFindingError = class extends Error {
|
|
888
796
|
findingId;
|
|
@@ -1284,9 +1192,6 @@ export {
|
|
|
1284
1192
|
createDisclosureRecord,
|
|
1285
1193
|
transition,
|
|
1286
1194
|
isPubliclyDisclosed,
|
|
1287
|
-
canAutoSuppressDetailed,
|
|
1288
|
-
evidenceKindForFinding,
|
|
1289
|
-
isDisclosureWorthy,
|
|
1290
1195
|
UnreproducedFindingError,
|
|
1291
1196
|
assembleEvidencePack,
|
|
1292
1197
|
renderVendorNotificationMarkdown,
|