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
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire as __0CreateRequire } from "node:module";
|
|
3
3
|
const require = __0CreateRequire(import.meta.url);
|
|
4
|
+
import {
|
|
5
|
+
buildShareUrl
|
|
6
|
+
} from "./chunk-ITHDAIRY.js";
|
|
4
7
|
import {
|
|
5
8
|
source_default
|
|
6
9
|
} from "./chunk-HLFS6WV2.js";
|
|
@@ -8,59 +11,14 @@ import {
|
|
|
8
11
|
formatHtml,
|
|
9
12
|
formatMarkdown,
|
|
10
13
|
formatSarif
|
|
11
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-AL32F74R.js";
|
|
12
15
|
import {
|
|
13
16
|
compareFindingsByBusinessPriority,
|
|
14
17
|
createAuditReportDocument,
|
|
15
18
|
createReviewReportDocument,
|
|
16
19
|
createScanReportDocument,
|
|
17
20
|
getFindingPriority
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
|
|
20
|
-
// packages/cli/src/utils.ts
|
|
21
|
-
import { gzipSync } from "zlib";
|
|
22
|
-
async function getRuntimeAvailability() {
|
|
23
|
-
const { detectAvailableRuntimes, LlmApiRuntime } = await import("./dist-AJU25UXA.js");
|
|
24
|
-
const apiRuntimeDiagnostics = new LlmApiRuntime({ type: "api", timeout: 5e3 }).getConfigurationDiagnostics();
|
|
25
|
-
const hasApiKey = apiRuntimeDiagnostics.valid;
|
|
26
|
-
const availableRuntimes = [...await detectAvailableRuntimes()];
|
|
27
|
-
return {
|
|
28
|
-
hasApiKey,
|
|
29
|
-
availableRuntimes,
|
|
30
|
-
apiRuntime: {
|
|
31
|
-
configured: apiRuntimeDiagnostics.reason !== "missing_key",
|
|
32
|
-
valid: apiRuntimeDiagnostics.valid,
|
|
33
|
-
providerLabel: apiRuntimeDiagnostics.providerLabel,
|
|
34
|
-
error: apiRuntimeDiagnostics.fatalError
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
async function checkRuntimeAvailability(runtime) {
|
|
39
|
-
const availability = await getRuntimeAvailability();
|
|
40
|
-
const { hasApiKey, availableRuntimes, apiRuntime } = availability;
|
|
41
|
-
if (hasApiKey) return;
|
|
42
|
-
console.log("");
|
|
43
|
-
if ((runtime === "api" || runtime === "auto") && apiRuntime.configured && apiRuntime.error) {
|
|
44
|
-
console.log(source_default.red(` ${apiRuntime.providerLabel} config error: ${apiRuntime.error.split("\n")[0]}`));
|
|
45
|
-
}
|
|
46
|
-
if (runtime === "api") {
|
|
47
|
-
console.log(source_default.yellow(
|
|
48
|
-
apiRuntime.configured ? " Warning: `--runtime api` needs a valid provider configuration. AI analysis will fail until this is fixed." : " Warning: `--runtime api` needs provider credentials. AI analysis may be skipped."
|
|
49
|
-
));
|
|
50
|
-
} else if (availableRuntimes.length > 0) {
|
|
51
|
-
console.log(source_default.cyan(` Using local runtime(s): ${availableRuntimes.join(", ")}`));
|
|
52
|
-
} else {
|
|
53
|
-
console.log(source_default.yellow(" Warning: No API key or local agent runtime detected. AI analysis will be skipped."));
|
|
54
|
-
}
|
|
55
|
-
console.log(source_default.gray(" Provider credentials: ZERO_CHATGPT_ACCESS_TOKEN | ZERO_CHATGPT_OAUTH_REFRESH_TOKEN, OPENROUTER_API_KEY, ANTHROPIC_API_KEY, AZURE_OPENAI_API_KEY, OPENAI_API_KEY"));
|
|
56
|
-
console.log("");
|
|
57
|
-
}
|
|
58
|
-
function buildShareUrl(report) {
|
|
59
|
-
const json = JSON.stringify(report);
|
|
60
|
-
const compressed = gzipSync(Buffer.from(json, "utf-8"));
|
|
61
|
-
const b64 = compressed.toString("base64url");
|
|
62
|
-
return `https://0.security/r#${b64}`;
|
|
63
|
-
}
|
|
21
|
+
} from "./chunk-S3B6HFSM.js";
|
|
64
22
|
|
|
65
23
|
// packages/cli/src/formatters/terminal.ts
|
|
66
24
|
var SEVERITY_COUNT_COLOR = {
|
|
@@ -554,9 +512,6 @@ function formatReviewReport(report, format) {
|
|
|
554
512
|
|
|
555
513
|
export {
|
|
556
514
|
renderReplay,
|
|
557
|
-
getRuntimeAvailability,
|
|
558
|
-
checkRuntimeAvailability,
|
|
559
|
-
buildShareUrl,
|
|
560
515
|
TIMELINE_FORMATS,
|
|
561
516
|
isTimelineFormat,
|
|
562
517
|
formatTimeline,
|
|
@@ -3,7 +3,7 @@ import { createRequire as __0CreateRequire } from "node:module";
|
|
|
3
3
|
const require = __0CreateRequire(import.meta.url);
|
|
4
4
|
import {
|
|
5
5
|
VERSION
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-S3B6HFSM.js";
|
|
7
7
|
|
|
8
8
|
// packages/cli/src/tui/runtime.ts
|
|
9
9
|
function getReleaseChannel(env = process.env) {
|
|
@@ -3,13 +3,13 @@ import { createRequire as __0CreateRequire } from "node:module";
|
|
|
3
3
|
const require = __0CreateRequire(import.meta.url);
|
|
4
4
|
import {
|
|
5
5
|
isAdmittedSmolvmWorkbench
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-3T5R7P4T.js";
|
|
7
7
|
import {
|
|
8
8
|
isScopeEnforcementEnabled
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-27SXCYWH.js";
|
|
10
10
|
import {
|
|
11
11
|
external_exports
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-5XOYTAOK.js";
|
|
13
13
|
|
|
14
14
|
// packages/core/dist/bench/improvement-promotion.js
|
|
15
15
|
import { createHash } from "node:crypto";
|
|
@@ -184,7 +184,7 @@ function verifyImprovementLedger(entries) {
|
|
|
184
184
|
// packages/core/dist/improvement/config.js
|
|
185
185
|
import { existsSync, readFileSync, realpathSync } from "node:fs";
|
|
186
186
|
import { homedir } from "node:os";
|
|
187
|
-
import { isAbsolute, resolve, sep } from "node:path";
|
|
187
|
+
import { basename, dirname, isAbsolute, resolve, sep } from "node:path";
|
|
188
188
|
var relativePath = external_exports.string().min(1).max(512).refine((value) => !isAbsolute(value) && !value.includes("\\") && !value.includes("\0") && value !== "." && value.split("/").every((part) => part !== ".." && part !== "" && part !== "."), "must be a normalized relative file or directory path (not the entire workspace)");
|
|
189
189
|
var argv = external_exports.array(external_exports.string().max(8192).refine((value) => !value.includes("\0"))).min(1).max(128).refine((value) => value[0].length > 0, "executable must not be empty");
|
|
190
190
|
var finitePositive = external_exports.number().finite().positive();
|
|
@@ -200,11 +200,17 @@ var schema = external_exports.object({
|
|
|
200
200
|
kind: external_exports.enum(["source", "skill", "router", "lens"]).default("source"),
|
|
201
201
|
command: argv,
|
|
202
202
|
buildCommand: argv.optional(),
|
|
203
|
+
observationStorePath: external_exports.string().min(1).max(4096).optional(),
|
|
203
204
|
cases: external_exports.array(external_exports.object({
|
|
204
205
|
id: external_exports.string().min(1).max(128),
|
|
205
206
|
lane: external_exports.enum(["development", "held-out", "negative-control"]),
|
|
206
207
|
input: external_exports.unknown(),
|
|
207
|
-
expected: external_exports.unknown()
|
|
208
|
+
expected: external_exports.unknown(),
|
|
209
|
+
curation: external_exports.object({
|
|
210
|
+
observationId: external_exports.string().regex(/^[a-f0-9]{64}$/),
|
|
211
|
+
approvalDigest: external_exports.string().regex(/^sha256:[a-f0-9]{64}$/),
|
|
212
|
+
fixtureDigest: external_exports.string().regex(/^(?:sha256:)?[a-f0-9]{64}$/)
|
|
213
|
+
}).strict().optional()
|
|
208
214
|
}).strict()).min(3).max(1e3),
|
|
209
215
|
repeats: external_exports.number().int().min(2).max(20).default(3),
|
|
210
216
|
maxIterations: external_exports.number().int().min(1).max(100).default(3),
|
|
@@ -229,12 +235,24 @@ var schema = external_exports.object({
|
|
|
229
235
|
minimumHeldOutLift: finitePositive.max(1).default(DEFAULT_IMPROVEMENT_PROMOTION_POLICY.minimumHeldOutLift),
|
|
230
236
|
maximumNegativeControlFpDelta: external_exports.literal(0).default(0),
|
|
231
237
|
maximumCostMultiplier: finitePositive.max(10).default(DEFAULT_IMPROVEMENT_PROMOTION_POLICY.maximumCostMultiplier)
|
|
232
|
-
}).strict().
|
|
238
|
+
}).strict().prefault({}),
|
|
233
239
|
safety: external_exports.object({
|
|
234
240
|
enabled: external_exports.boolean().default(false),
|
|
235
|
-
holdoutExposureLimit: external_exports.number().int().min(1).max(1e6)
|
|
241
|
+
holdoutExposureLimit: external_exports.number().int().min(1).max(1e6),
|
|
242
|
+
workerModel: external_exports.object({
|
|
243
|
+
provider: external_exports.string().min(1).max(128),
|
|
244
|
+
model: external_exports.string().min(1).max(256),
|
|
245
|
+
maxCostUsdPerExecution: finitePositive.max(1e3)
|
|
246
|
+
}).strict().optional()
|
|
236
247
|
}).strict().optional(),
|
|
237
|
-
maxAlternativeParents: external_exports.number().int().min(0).max(10).optional()
|
|
248
|
+
maxAlternativeParents: external_exports.number().int().min(0).max(10).optional(),
|
|
249
|
+
retentionPolicy: external_exports.object({
|
|
250
|
+
profileId: external_exports.string().min(1).max(128),
|
|
251
|
+
version: external_exports.number().int().min(1),
|
|
252
|
+
criticalCaseIds: external_exports.array(external_exports.string().min(1).max(128)).min(1).max(128),
|
|
253
|
+
previousProfileDigest: external_exports.string().regex(/^sha256:[a-f0-9]{64}$/).optional(),
|
|
254
|
+
rotationApprovalRef: external_exports.string().min(1).max(512).optional()
|
|
255
|
+
}).strict().optional()
|
|
238
256
|
}).strict();
|
|
239
257
|
function canonicalEvolutionJson(value) {
|
|
240
258
|
if (value === null || typeof value === "string" || typeof value === "boolean")
|
|
@@ -248,8 +266,27 @@ function canonicalEvolutionJson(value) {
|
|
|
248
266
|
}
|
|
249
267
|
throw new Error("evolution cases must contain finite JSON values only");
|
|
250
268
|
}
|
|
269
|
+
function physicalProspectivePath(path) {
|
|
270
|
+
let cursor = path;
|
|
271
|
+
const suffix = [];
|
|
272
|
+
while (!existsSync(cursor)) {
|
|
273
|
+
const parent = dirname(cursor);
|
|
274
|
+
if (parent === cursor)
|
|
275
|
+
throw new Error("cannot resolve evolution path authority");
|
|
276
|
+
suffix.unshift(basename(cursor));
|
|
277
|
+
cursor = parent;
|
|
278
|
+
}
|
|
279
|
+
return resolve(realpathSync(cursor), ...suffix);
|
|
280
|
+
}
|
|
251
281
|
function parseEvolutionConfig(raw, baseDir = process.cwd()) {
|
|
252
282
|
const parsed = schema.parse(raw);
|
|
283
|
+
if (parsed.safety?.workerModel && !parsed.safety.enabled) {
|
|
284
|
+
throw new Error("model-backed evolution workers require enabled durable safety accounting");
|
|
285
|
+
}
|
|
286
|
+
if (parsed.cases.some((entry) => entry.curation) && !parsed.observationStorePath)
|
|
287
|
+
throw new Error("curated fixtures require an authoritative observation store");
|
|
288
|
+
if (parsed.observationStorePath)
|
|
289
|
+
parsed.observationStorePath = resolve(baseDir, parsed.observationStorePath);
|
|
253
290
|
const admitted = isAdmittedSmolvmWorkbench();
|
|
254
291
|
if (admitted) {
|
|
255
292
|
if (parsed.imageArchive)
|
|
@@ -286,6 +323,17 @@ function parseEvolutionConfig(raw, baseDir = process.cwd()) {
|
|
|
286
323
|
throw new Error(`${lane} requires at least ${parsed.promotionPolicy.minimumCases} distinct cases`);
|
|
287
324
|
}
|
|
288
325
|
}
|
|
326
|
+
if (parsed.retentionPolicy) {
|
|
327
|
+
const ids = parsed.retentionPolicy.criticalCaseIds;
|
|
328
|
+
if (new Set(ids).size !== ids.length)
|
|
329
|
+
throw new Error("retention panel contains duplicate cases");
|
|
330
|
+
for (const id of ids) {
|
|
331
|
+
const fixture = parsed.cases.find((entry) => entry.id === id);
|
|
332
|
+
if (!fixture || fixture.lane === "development") {
|
|
333
|
+
throw new Error("retention panel must reference existing sealed held-out or negative-control cases");
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
}
|
|
289
337
|
for (const edit of parsed.editablePaths) {
|
|
290
338
|
if (!parsed.sourcePaths.some((source) => edit === source || edit.startsWith(`${source}/`))) {
|
|
291
339
|
throw new Error(`editable path ${edit} is not inside a selected source path`);
|
|
@@ -297,6 +345,11 @@ function parseEvolutionConfig(raw, baseDir = process.cwd()) {
|
|
|
297
345
|
throw new Error("evolution store cannot be the source workspace");
|
|
298
346
|
for (const selected of parsed.sourcePaths) {
|
|
299
347
|
const source = resolve(sourceRoot, selected);
|
|
348
|
+
const observationStore = parsed.observationStorePath && physicalProspectivePath(parsed.observationStorePath);
|
|
349
|
+
const physicalSource = observationStore ? physicalProspectivePath(source) : source;
|
|
350
|
+
if (observationStore && (observationStore === physicalSource || observationStore.startsWith(`${physicalSource}${sep}`))) {
|
|
351
|
+
throw new Error("private observation queue cannot overlap selected model-readable source paths");
|
|
352
|
+
}
|
|
300
353
|
if (storePath === source || storePath.startsWith(`${source}/`) || source.startsWith(`${storePath}/`)) {
|
|
301
354
|
throw new Error("evolution store and selected source paths must not overlap");
|
|
302
355
|
}
|
|
@@ -624,7 +677,7 @@ async function evaluateVerificationSpec(spec, repoRoot) {
|
|
|
624
677
|
// packages/core/dist/improvement/artifacts.js
|
|
625
678
|
import { randomUUID } from "node:crypto";
|
|
626
679
|
import { closeSync, constants, fchmodSync, fstatSync, fsyncSync, linkSync, lstatSync, mkdirSync, openSync, readFileSync as readFileSync2, realpathSync as realpathSync2, unlinkSync, writeFileSync } from "node:fs";
|
|
627
|
-
import { dirname, isAbsolute as isAbsolute3, join as join2, parse, resolve as resolve3, sep as sep3 } from "node:path";
|
|
680
|
+
import { dirname as dirname2, isAbsolute as isAbsolute3, join as join2, parse, resolve as resolve3, sep as sep3 } from "node:path";
|
|
628
681
|
var MAX_ARTIFACT_BYTES = 128 * 1024 * 1024;
|
|
629
682
|
function hasCode(error, code) {
|
|
630
683
|
return error instanceof Error && "code" in error && error.code === code;
|
|
@@ -686,7 +739,7 @@ function ensureEvolutionDirectory(path) {
|
|
|
686
739
|
return inspectDirectories(path, true);
|
|
687
740
|
}
|
|
688
741
|
function readEvolutionArtifact(path) {
|
|
689
|
-
inspectDirectories(
|
|
742
|
+
inspectDirectories(dirname2(path), false);
|
|
690
743
|
const fd = openSync(path, constants.O_RDONLY | constants.O_NOFOLLOW);
|
|
691
744
|
try {
|
|
692
745
|
const stat = fstatSync(fd);
|
|
@@ -704,7 +757,7 @@ function publishEvolutionArtifact(path, value) {
|
|
|
704
757
|
const content = canonicalEvolutionJson(value);
|
|
705
758
|
if (Buffer.byteLength(content) > MAX_ARTIFACT_BYTES)
|
|
706
759
|
throw new Error("evolution artifact exceeds retention limit");
|
|
707
|
-
const directory = ensureEvolutionDirectory(
|
|
760
|
+
const directory = ensureEvolutionDirectory(dirname2(path));
|
|
708
761
|
const temporary = join2(directory, `.artifact-${randomUUID()}.tmp`);
|
|
709
762
|
const fd = openSync(temporary, constants.O_WRONLY | constants.O_CREAT | constants.O_EXCL | constants.O_NOFOLLOW, 384);
|
|
710
763
|
try {
|
|
@@ -737,7 +790,7 @@ function publishEvolutionArtifact(path, value) {
|
|
|
737
790
|
|
|
738
791
|
// packages/core/dist/agent/apply-patch.js
|
|
739
792
|
import { existsSync as existsSync2, mkdirSync as mkdirSync2, readFileSync as readFileSync3, unlinkSync as unlinkSync2, writeFileSync as writeFileSync2 } from "node:fs";
|
|
740
|
-
import { dirname as
|
|
793
|
+
import { dirname as dirname3 } from "node:path";
|
|
741
794
|
var BEGIN = "*** Begin Patch";
|
|
742
795
|
var END = "*** End Patch";
|
|
743
796
|
function parsePatch(input) {
|
|
@@ -848,7 +901,7 @@ function applyPatchOps(ops, pathResolver) {
|
|
|
848
901
|
if (!op.overwrite && existsSync2(abs)) {
|
|
849
902
|
throw new Error(`apply_patch: Add File "${op.path}" failed \u2014 file already exists. Use "*** Replace File: ${op.path}" to overwrite.`);
|
|
850
903
|
}
|
|
851
|
-
mkdirSync2(
|
|
904
|
+
mkdirSync2(dirname3(abs), { recursive: true });
|
|
852
905
|
writeFileSync2(abs, op.contents, "utf-8");
|
|
853
906
|
applied.push({ kind: "add", path: op.path });
|
|
854
907
|
continue;
|
|
@@ -930,9 +983,20 @@ function applyOneHunk(lines, anchorIdx, hunk, logicalPath) {
|
|
|
930
983
|
return { newLines, consumed: cursor - anchorIdx };
|
|
931
984
|
}
|
|
932
985
|
|
|
986
|
+
// packages/core/dist/scope/local-source-boundary.js
|
|
987
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
988
|
+
import { realpathSync as realpathSync3 } from "node:fs";
|
|
989
|
+
var boundary = new AsyncLocalStorage();
|
|
990
|
+
function getLocalSourceBoundary() {
|
|
991
|
+
return boundary.getStore();
|
|
992
|
+
}
|
|
993
|
+
function withLocalSourceBoundary(root, run) {
|
|
994
|
+
return root === void 0 ? run() : boundary.run(realpathSync3(root), run);
|
|
995
|
+
}
|
|
996
|
+
|
|
933
997
|
// packages/core/dist/agent/tools/scope-path.js
|
|
934
|
-
import { lstatSync as lstatSync2, realpathSync as
|
|
935
|
-
import { basename, dirname as
|
|
998
|
+
import { lstatSync as lstatSync2, realpathSync as realpathSync4 } from "node:fs";
|
|
999
|
+
import { basename as basename2, dirname as dirname4, isAbsolute as isAbsolute4, resolve as resolve4, sep as sep4 } from "node:path";
|
|
936
1000
|
function pathEntryExists(path) {
|
|
937
1001
|
try {
|
|
938
1002
|
lstatSync2(path);
|
|
@@ -947,26 +1011,33 @@ function canonicalizePath(path) {
|
|
|
947
1011
|
const missingSegments = [];
|
|
948
1012
|
let existingPath = path;
|
|
949
1013
|
while (!pathEntryExists(existingPath)) {
|
|
950
|
-
const parent =
|
|
1014
|
+
const parent = dirname4(existingPath);
|
|
951
1015
|
if (parent === existingPath) {
|
|
952
1016
|
throw new Error(`Path does not have an existing parent: ${path}`);
|
|
953
1017
|
}
|
|
954
|
-
missingSegments.unshift(
|
|
1018
|
+
missingSegments.unshift(basename2(existingPath));
|
|
955
1019
|
existingPath = parent;
|
|
956
1020
|
}
|
|
957
|
-
return resolve4(
|
|
1021
|
+
return resolve4(realpathSync4(existingPath), ...missingSegments);
|
|
958
1022
|
}
|
|
959
1023
|
function isScopedPath(scopePath, inputPath) {
|
|
960
|
-
const root =
|
|
1024
|
+
const root = realpathSync4(scopePath);
|
|
961
1025
|
const logicalCandidate = isAbsolute4(inputPath) ? resolve4(inputPath) : resolve4(root, inputPath);
|
|
962
1026
|
const candidate = canonicalizePath(logicalCandidate);
|
|
963
1027
|
return candidate === root || candidate.startsWith(root + sep4);
|
|
964
1028
|
}
|
|
965
1029
|
function resolveScopedPath(scopePath, inputPath) {
|
|
1030
|
+
const boundary2 = getLocalSourceBoundary();
|
|
1031
|
+
if (boundary2) {
|
|
1032
|
+
const base = scopePath ? realpathSync4(scopePath) : process.cwd();
|
|
1033
|
+
const candidate = isAbsolute4(inputPath) ? resolve4(inputPath) : resolve4(base, inputPath);
|
|
1034
|
+
if (!isScopedPath(boundary2, candidate))
|
|
1035
|
+
throw new Error(`Path escapes the approved source folder: ${inputPath}`);
|
|
1036
|
+
}
|
|
966
1037
|
if (isScopeEnforcementEnabled() && (!scopePath || !isScopedPath(scopePath, inputPath))) {
|
|
967
1038
|
throw new Error(`Path escapes the allowed scope: ${inputPath}`);
|
|
968
1039
|
}
|
|
969
|
-
const root = scopePath ?
|
|
1040
|
+
const root = scopePath ? realpathSync4(scopePath) : process.cwd();
|
|
970
1041
|
const logicalCandidate = isAbsolute4(inputPath) ? resolve4(inputPath) : resolve4(root, inputPath);
|
|
971
1042
|
return canonicalizePath(logicalCandidate);
|
|
972
1043
|
}
|
|
@@ -986,5 +1057,7 @@ export {
|
|
|
986
1057
|
evaluateVerificationSpec,
|
|
987
1058
|
parsePatch,
|
|
988
1059
|
applyPatchOps,
|
|
1060
|
+
getLocalSourceBoundary,
|
|
1061
|
+
withLocalSourceBoundary,
|
|
989
1062
|
resolveScopedPath
|
|
990
1063
|
};
|
|
@@ -3,19 +3,19 @@ import { createRequire as __0CreateRequire } from "node:module";
|
|
|
3
3
|
const require = __0CreateRequire(import.meta.url);
|
|
4
4
|
import {
|
|
5
5
|
createRemoteWorkflowRuntime
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-GOUGG7IQ.js";
|
|
7
7
|
import {
|
|
8
8
|
BackendConnectionRegistry
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-SEWZ76MN.js";
|
|
10
10
|
import {
|
|
11
11
|
resolveOsecDbPath
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-YXTV2FRE.js";
|
|
13
13
|
import {
|
|
14
14
|
homeStateDir
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-S3B6HFSM.js";
|
|
16
16
|
import {
|
|
17
17
|
external_exports
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-5XOYTAOK.js";
|
|
19
19
|
|
|
20
20
|
// packages/cli/src/local-engine.ts
|
|
21
21
|
import { createHash, randomUUID } from "node:crypto";
|