@iowarp/clio-coder 0.4.3 → 0.4.5
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/CHANGELOG.md +153 -0
- package/CONTRIBUTING.md +25 -15
- package/README.md +340 -27
- package/dist/{acp-H2NGRPWO.js → acp-H3CU2HBQ.js} +25 -25
- package/dist/{agents-TL5LLUQP.js → agents-IXQQZ7BD.js} +77 -75
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-E5SW4HMS.js → auth-R7KYF7N3.js} +38 -39
- package/dist/builtins-CRFDQUVP.js +22 -0
- package/dist/{chunk-7DRAWPTZ.js → chunk-22PQ4TX4.js} +4 -4
- package/dist/{chunk-NEDJ26B5.js → chunk-2GPGAE5W.js} +6 -51
- package/dist/{chunk-IKCO5N3L.js → chunk-2QPI3TR3.js} +3 -3
- package/dist/{chunk-HRQMFLJP.js → chunk-32KJPXAM.js} +6 -6
- package/dist/{chunk-65DEGPJ6.js → chunk-3A3CUMKA.js} +6 -4
- package/dist/{chunk-5TSRNF4G.js → chunk-3T4DXWP6.js} +170 -12
- package/dist/{chunk-DR52UMZW.js → chunk-3UW3KU4A.js} +2 -2
- package/dist/{chunk-XIVNBFZS.js → chunk-4SVIVOMC.js} +208 -39
- package/dist/{chunk-NMJXSHBJ.js → chunk-5A6XR3RJ.js} +44 -19
- package/dist/{chunk-YPC6ZR5L.js → chunk-5CMARGPF.js} +119 -5
- package/dist/{chunk-KXDSS5WJ.js → chunk-5CY4Q6QI.js} +4 -4
- package/dist/chunk-5DDOTTG4.js +402 -0
- package/dist/{chunk-D4CJV46V.js → chunk-5GZICIYO.js} +3 -3
- package/dist/{chunk-4IUZQIJ3.js → chunk-5PHVPU4G.js} +2 -2
- package/dist/{chunk-PUVDKJ2Y.js → chunk-5VTJP36Q.js} +5 -7
- package/dist/{chunk-JGRC33J2.js → chunk-5ZMXGW7P.js} +90 -9
- package/dist/chunk-5ZSZEYJK.js +119 -0
- package/dist/chunk-633EXGZA.js +44 -0
- package/dist/{chunk-IWT4SF4R.js → chunk-6CDNRHWH.js} +361 -89
- package/dist/{chunk-EBY63B7G.js → chunk-6EXUUOSN.js} +2 -2
- package/dist/{chunk-SVNXH4L2.js → chunk-6ICZKDUC.js} +2 -2
- package/dist/{chunk-INY6HTFL.js → chunk-6SYEGZI3.js} +12 -12
- package/dist/{chunk-SKHCAU7K.js → chunk-6YA46L5A.js} +5 -4
- package/dist/{chunk-NZMNUPZZ.js → chunk-77CZRFTE.js} +3 -3
- package/dist/{chunk-L47TF46W.js → chunk-7HBHHVCK.js} +24 -3
- package/dist/{chunk-DWUOQKRU.js → chunk-7TKWWPD7.js} +5 -4
- package/dist/{chunk-2VTFPG5O.js → chunk-7WLRF2U5.js} +2 -2
- package/dist/chunk-7WUZEB2M.js +165 -0
- package/dist/{chunk-6PTFB5VS.js → chunk-7YJWEF2L.js} +59 -28
- package/dist/{chunk-3EBYEESD.js → chunk-A46ILRS2.js} +5 -5
- package/dist/{chunk-UOIZ7DA4.js → chunk-AP7HDJOP.js} +2 -2
- package/dist/{chunk-APJ265NV.js → chunk-B5GGDIHT.js} +146 -146
- package/dist/{chunk-PMZVFWSR.js → chunk-B5ZTR6KZ.js} +2 -2
- package/dist/chunk-B6UM3OZC.js +15 -0
- package/dist/{chunk-MCEPRMZW.js → chunk-BBV5TKE6.js} +5 -5
- package/dist/{chunk-4O6MANBS.js → chunk-BS4GAMUB.js} +14 -10
- package/dist/{chunk-S66XZJOF.js → chunk-C27U2TYG.js} +2 -2
- package/dist/{chunk-42FMPA75.js → chunk-CBSKDFWL.js} +3 -3
- package/dist/{chunk-2LEAKD4C.js → chunk-CKK25WN3.js} +3 -3
- package/dist/{chunk-BYP5D4HI.js → chunk-CTTI7G3T.js} +2 -2
- package/dist/{chunk-XAKHZX5N.js → chunk-CVDAFGPW.js} +4 -4
- package/dist/{chunk-RKKLTLYB.js → chunk-CXQ37WJH.js} +3 -3
- package/dist/{chunk-GTUD2WMY.js → chunk-DBREN25X.js} +44 -9
- package/dist/{chunk-WCXUNS7U.js → chunk-DIMRLNIC.js} +35 -66
- package/dist/{chunk-NDDGJUXD.js → chunk-DNCE23JJ.js} +2 -2
- package/dist/{chunk-HVDIIIQW.js → chunk-DNHVRBH4.js} +3 -3
- package/dist/{chunk-2UG5F4C5.js → chunk-DRD2A54W.js} +116 -52
- package/dist/{chunk-D7E7WCDF.js → chunk-DVNAPPXU.js} +2 -2
- package/dist/{chunk-YXLYO42X.js → chunk-DXVMLM3Z.js} +3 -2
- package/dist/{chunk-5MEZN6CB.js → chunk-DZK63TZJ.js} +6 -6
- package/dist/{chunk-IGLP3ODT.js → chunk-E3BQTQUP.js} +15 -15
- package/dist/{chunk-IWHMRKLL.js → chunk-E3LEPLQ2.js} +2 -2
- package/dist/{chunk-3R73A4XB.js → chunk-ECBHH7LU.js} +3 -3
- package/dist/chunk-ECOMVOHP.js +139 -0
- package/dist/chunk-EFSEIZE6.js +56 -0
- package/dist/{chunk-IJNZMHLA.js → chunk-EHCPSZJF.js} +4 -4
- package/dist/{chunk-K6BSR66V.js → chunk-EHOSNVVM.js} +6 -2
- package/dist/{chunk-RRNP2ANY.js → chunk-EQEJJ53P.js} +10 -10
- package/dist/{chunk-GWZNEVM2.js → chunk-EWD5P3GK.js} +9 -9
- package/dist/{chunk-JKKCYP3C.js → chunk-F34AR6O3.js} +21 -15
- package/dist/{chunk-GHS5EBTQ.js → chunk-FKIOX6DS.js} +29 -20
- package/dist/{chunk-HAXOFFRH.js → chunk-FQOOGXBH.js} +7 -7
- package/dist/{chunk-MWUZBSAQ.js → chunk-FSTIBAGM.js} +358 -63
- package/dist/{chunk-ZTJUVLTU.js → chunk-FXFVDPWY.js} +2 -2
- package/dist/{chunk-XPLRXC72.js → chunk-GD55RTIW.js} +3 -3
- package/dist/{chunk-5B2AEOW5.js → chunk-GH5ZR6JP.js} +472 -472
- package/dist/{chunk-JSC3U7TI.js → chunk-GJ24ODAX.js} +5 -5
- package/dist/{chunk-B4VEBZKF.js → chunk-GNQRWTMY.js} +139 -52
- package/dist/{chunk-5ICU3EUH.js → chunk-GVYWZNRK.js} +5 -5
- package/dist/chunk-GXCCHKN6.js +59 -0
- package/dist/{chunk-V2ANDPVT.js → chunk-HGSLRG33.js} +170 -8
- package/dist/{chunk-LLDJM5XK.js → chunk-HHVJNVUJ.js} +6 -6
- package/dist/{chunk-F4EKGO4N.js → chunk-HL26ADLH.js} +4 -2
- package/dist/{chunk-VA5FNYMT.js → chunk-HR3HPQ76.js} +42 -5
- package/dist/{chunk-ID64D7PE.js → chunk-HXHFDHB6.js} +24 -24
- package/dist/{chunk-OML5D5V5.js → chunk-I7VLWRK2.js} +8 -8
- package/dist/{chunk-VW6DOEDG.js → chunk-ICO4TQ2F.js} +16 -5
- package/dist/{chunk-SZAA6XDG.js → chunk-IFDRAD6F.js} +2 -2
- package/dist/{chunk-WBKFA554.js → chunk-ILJ7DWGE.js} +9 -9
- package/dist/{chunk-2JH2WHGE.js → chunk-J2FYEQ5L.js} +4 -4
- package/dist/{chunk-BMS5RKQY.js → chunk-JABWPKFY.js} +3 -3
- package/dist/{chunk-QDC3K2U3.js → chunk-K2BLQC5E.js} +3 -3
- package/dist/{chunk-EKCHAPYA.js → chunk-K2HL3GBL.js} +4 -4
- package/dist/{chunk-N2Z7HLVY.js → chunk-K6RDB7IA.js} +28 -28
- package/dist/{chunk-TM6LQDI3.js → chunk-KDWLXVMN.js} +85 -335
- package/dist/{chunk-OZNBF4L3.js → chunk-KECNXMDE.js} +2 -2
- package/dist/{chunk-RSJ25QSL.js → chunk-KF6GFW6O.js} +217 -50
- package/dist/{chunk-BTK3SSSK.js → chunk-KMF54VH3.js} +2 -2
- package/dist/chunk-KPRLAMP4.js +32 -0
- package/dist/{chunk-ECH6PKUQ.js → chunk-KQ6IDQIB.js} +2 -2
- package/dist/{chunk-IUE3Y34X.js → chunk-KTFSFCVN.js} +20 -9
- package/dist/{chunk-7E7I3WLS.js → chunk-KYKNBD4Y.js} +36 -34
- package/dist/chunk-L4N3DWNW.js +539 -0
- package/dist/{chunk-LCGCVYZ4.js → chunk-LQTKDAUO.js} +2 -2
- package/dist/{chunk-JIEGK6UF.js → chunk-LTR5QCLS.js} +51 -7
- package/dist/chunk-LUL5Z66S.js +221 -0
- package/dist/chunk-LVFANMOH.js +466 -0
- package/dist/{chunk-H7IXIC72.js → chunk-LY4N4TTL.js} +17 -3
- package/dist/{chunk-VKPAQYEB.js → chunk-LZBMXNLP.js} +5 -5
- package/dist/{chunk-UL3WSD3F.js → chunk-M4KFUXS7.js} +2 -2
- package/dist/{chunk-I7ZPNEJM.js → chunk-M6TAYK66.js} +8 -8
- package/dist/{chunk-NEKRRTYW.js → chunk-MC3JSVR6.js} +2 -2
- package/dist/{chunk-CFGTUFWB.js → chunk-MCJKEGHO.js} +2 -2
- package/dist/chunk-MDU3C27C.js +674 -0
- package/dist/{chunk-6XLNIQDB.js → chunk-MYI32N4R.js} +2 -2
- package/dist/{chunk-4UVU7BJ5.js → chunk-NC4KV7EL.js} +6 -6
- package/dist/{chunk-JEQ3XTHC.js → chunk-NF3BK5WR.js} +5 -5
- package/dist/chunk-NTK3WTHM.js +141 -0
- package/dist/{chunk-GYV6VZOC.js → chunk-NTTS3O53.js} +2 -2
- package/dist/{chunk-UPZU6GE4.js → chunk-NY6IWDVU.js} +6 -6
- package/dist/chunk-O2RQ7LCK.js +283 -0
- package/dist/{chunk-4BJ5BYCE.js → chunk-O3VV6IVK.js} +2 -2
- package/dist/{chunk-W6GROXXM.js → chunk-O5F25NIE.js} +2 -2
- package/dist/{chunk-WRBAGUNF.js → chunk-ODUTYZIU.js} +5 -5
- package/dist/{chunk-E3TPLWFX.js → chunk-ONRTXOZY.js} +4 -4
- package/dist/{chunk-B4OAX3SI.js → chunk-OQM5IVJY.js} +118 -225
- package/dist/{chunk-XRZT5WY5.js → chunk-P5SC4DLJ.js} +4 -4
- package/dist/{chunk-R6Q67RJH.js → chunk-PECBKCDK.js} +34 -6
- package/dist/{chunk-33YXPOE3.js → chunk-PPEZJWUG.js} +2 -2
- package/dist/{chunk-64I3JVYM.js → chunk-PWWSIB2A.js} +5 -5
- package/dist/{chunk-2STGEDFV.js → chunk-QEQISF75.js} +2 -2
- package/dist/{chunk-3DPEIQKN.js → chunk-QH3ZTUOA.js} +2 -2
- package/dist/{chunk-YAKGTXEV.js → chunk-QRFXEO6Y.js} +2 -2
- package/dist/{chunk-35MSIRKH.js → chunk-QUIJZSDW.js} +2 -2
- package/dist/{chunk-HHV2GANA.js → chunk-R2P2U3ZS.js} +2 -2
- package/dist/chunk-R6MAYTMS.js +108 -0
- package/dist/{chunk-MUW2BDDH.js → chunk-R6MICQYU.js} +6 -6
- package/dist/{chunk-JDAY6FIL.js → chunk-RLTT5GVY.js} +132 -17
- package/dist/{chunk-ZWPRK62N.js → chunk-RXIOCVBZ.js} +24 -6
- package/dist/{chunk-NIQJ66N4.js → chunk-S32UQ5GL.js} +62 -35
- package/dist/{chunk-AX2THNSA.js → chunk-SBZX6ARC.js} +12 -12
- package/dist/{chunk-TXOTCRLG.js → chunk-SD7SHNDW.js} +2 -2
- package/dist/{chunk-AF4YM7Z4.js → chunk-SDWNDICN.js} +10284 -3756
- package/dist/{chunk-UXCU4E3T.js → chunk-SE4ZKILO.js} +6 -6
- package/dist/chunk-SL2RDHKO.js +19 -0
- package/dist/{chunk-NUGM5KR6.js → chunk-SRCEQKQS.js} +2 -2
- package/dist/{chunk-KKOJXO6R.js → chunk-SRZOW5L2.js} +46 -14
- package/dist/{chunk-3M6DQK6S.js → chunk-T334FW2H.js} +7 -7
- package/dist/chunk-T52TPHYC.js +318 -0
- package/dist/{chunk-I7XBWTYH.js → chunk-T53XI6I7.js} +5 -5
- package/dist/{chunk-LDJG7DW3.js → chunk-T7FDXNRU.js} +13 -13
- package/dist/{chunk-XPWWI35G.js → chunk-TEG3RYVZ.js} +59 -41
- package/dist/{chunk-3I7MS7N2.js → chunk-TK2BMCBZ.js} +2 -2
- package/dist/{chunk-5OIVVPHF.js → chunk-TN5FW4XY.js} +13 -6
- package/dist/{chunk-PAJQJ7BS.js → chunk-TZ7MFRG4.js} +1263 -835
- package/dist/{chunk-GI7YYQ3F.js → chunk-U2JOLB7O.js} +415 -83
- package/dist/{chunk-LL4KHSZI.js → chunk-U2MSJ57E.js} +2 -2
- package/dist/{chunk-FTMGRKEF.js → chunk-U44YYLVV.js} +4 -4
- package/dist/{chunk-CE5AX47J.js → chunk-U7H5WRG5.js} +5 -5
- package/dist/{chunk-G76U63X4.js → chunk-U7VQ4NI4.js} +22 -22
- package/dist/{chunk-7ZYNNDKC.js → chunk-UFYNOQK4.js} +7 -7
- package/dist/{chunk-R346GLFC.js → chunk-UHW5V7HC.js} +2 -2
- package/dist/{chunk-QWGDJJYJ.js → chunk-UL36QJX6.js} +14 -14
- package/dist/{chunk-VIA6RFQZ.js → chunk-UQIVHSE4.js} +4 -4
- package/dist/{chunk-HEQY7ZFI.js → chunk-URBGEOH3.js} +5 -5
- package/dist/chunk-USZA7GWL.js +341 -0
- package/dist/{chunk-W6RRQCPQ.js → chunk-UTUNT5QL.js} +48 -579
- package/dist/{chunk-ZA4VCIGV.js → chunk-UUQ5G6EZ.js} +60 -41
- package/dist/{chunk-F5JHEYZM.js → chunk-UXAC2FX4.js} +73 -41
- package/dist/{chunk-VG7TBQIY.js → chunk-V552WL53.js} +68 -4
- package/dist/{chunk-BWH6N36D.js → chunk-VHKTOLEW.js} +272 -42
- package/dist/chunk-VLPTKCKT.js +396 -0
- package/dist/{chunk-336NSSKI.js → chunk-VNBICSS2.js} +2 -2
- package/dist/{chunk-VAVR4IJY.js → chunk-VQD7NH7Z.js} +3 -3
- package/dist/{chunk-LBMZMYH2.js → chunk-W2RJEH6Q.js} +3 -3
- package/dist/{chunk-7CR24IG7.js → chunk-WDV62RKY.js} +2 -2
- package/dist/{chunk-2UH2KFUP.js → chunk-WFKDPU7U.js} +4 -4
- package/dist/{chunk-ZDN3Y73Y.js → chunk-WJIMKGD6.js} +9 -51
- package/dist/{chunk-YQWYVTMC.js → chunk-WLMSOT73.js} +59 -12
- package/dist/{chunk-MXHC5QYU.js → chunk-WTQGRBHV.js} +5 -144
- package/dist/chunk-WXA2CFJO.js +23 -0
- package/dist/{chunk-QSNYB6ZV.js → chunk-XCUDZQLX.js} +3 -3
- package/dist/{chunk-2APPQIER.js → chunk-XXBQKW32.js} +11 -11
- package/dist/{chunk-2VIKGWFZ.js → chunk-YEJIG7LN.js} +332 -332
- package/dist/chunk-YGDMBK7O.js +567 -0
- package/dist/{chunk-4WR7VSYB.js → chunk-YYB3MC65.js} +23 -9
- package/dist/{chunk-2IR2NMPA.js → chunk-ZIDFQJRB.js} +2 -2
- package/dist/{chunk-54CBCGIR.js → chunk-ZMZQEBKI.js} +136 -81
- package/dist/{chunk-6EJMN2Y3.js → chunk-ZTNFYMIO.js} +2 -2
- package/dist/{chunk-WEPFGWHJ.js → chunk-ZZFWWYLX.js} +2 -2
- package/dist/cli/index.js +45 -44
- package/dist/clio-5I2IBFYL.js +26 -0
- package/dist/{code-nav-MDZNQS33.js → code-nav-YXIAEZVS.js} +48 -32
- package/dist/codewiki/build-worker.js +76 -29
- package/dist/{compile-cache-OQAVB7Y5.js → compile-cache-WJEPUZEJ.js} +4 -4
- package/dist/{components-UCUQ4QXW.js → components-TNIKXCBH.js} +13 -14
- package/dist/{config-SVM5P5YI.js → config-Y2JDJ3JJ.js} +210 -119
- package/dist/configure-SML6UBZ5.js +55 -0
- package/dist/{context-2OHRKS42.js → context-P5YSEO55.js} +125 -115
- package/dist/{context-VNCR7KAG.js → context-QQ53HSGJ.js} +91 -62
- package/dist/{context-E3VC7RX5.js → context-S2EEC3EJ.js} +62 -31
- package/dist/context-clear-TMEQCOTH.js +183 -0
- package/dist/{context-index-HNG3MOME.js → context-index-HP2JFUWA.js} +13 -11
- package/dist/{context-map-COB37XXN.js → context-map-INTXD54D.js} +71 -21
- package/dist/{context-working-set-VDS25HXZ.js → context-working-set-CNLSQN5K.js} +31 -31
- package/dist/detail-5572VLBO.js +114 -0
- package/dist/{dispatch-runner-5AHT53RF.js → dispatch-runner-FRHD6P2O.js} +214 -126
- package/dist/{docs-PD3EXDKU.js → docs-BL7ROUFN.js} +5 -7
- package/dist/{doctor-WNNVO6FY.js → doctor-N3LCM2LG.js} +89 -66
- package/dist/{eval-7G7SGAYO.js → eval-BUU3ZOUZ.js} +493 -197
- package/dist/{eval-inventory-Y6QRFOH5.js → eval-inventory-QOYZERXJ.js} +7 -7
- package/dist/evidence-DTGEN456.js +224 -0
- package/dist/{evidence-VD6736FQ.js → evidence-SQ5DNFEN.js} +114 -195
- package/dist/{evolve-AL3NGVRL.js → evolve-IJNUFZDS.js} +107 -88
- package/dist/{extensions-MOVJ32NM.js → extensions-YVRHX6ZI.js} +16 -17
- package/dist/{fleet-QZHUMAGI.js → fleet-ZNNVSYFO.js} +147 -141
- package/dist/{fleet-commands-BAYT5FJZ.js → fleet-commands-5YE7NPJL.js} +27 -23
- package/dist/{fleet-decisions-IREVMRU4.js → fleet-decisions-3SBSCTCW.js} +16 -15
- package/dist/{fleet-graph-YCTT3HTI.js → fleet-graph-6HHPWF5T.js} +39 -38
- package/dist/{fleet-inspect-QVJTDAVB.js → fleet-inspect-JEYMGCGC.js} +107 -87
- package/dist/{fleet-new-RDVJLHHH.js → fleet-new-RCKGSRDV.js} +3 -3
- package/dist/{fleet-preflight-25QAFPK4.js → fleet-preflight-QRSHIIDE.js} +10 -10
- package/dist/{fleet-validate-5O57AAJ7.js → fleet-validate-4PM4GDDL.js} +46 -42
- package/dist/{fleet-verify-CPH2W2T6.js → fleet-verify-NJDTHTO3.js} +105 -85
- package/dist/fleet-view-UP2BWQQY.js +117 -0
- package/dist/{init-J477LKZH.js → init-S3GZQ5ZF.js} +123 -117
- package/dist/{install-NKNG7KD4.js → install-3RZDDP23.js} +5 -5
- package/dist/{interop-3FCM6XLG.js → interop-YOTGXFJM.js} +25 -26
- package/dist/inventory-K2OZ36YJ.js +117 -0
- package/dist/{library-QUQEIUG6.js → library-GJI6W6OK.js} +45 -45
- package/dist/{memory-SGGSEP65.js → memory-OQOXQGYD.js} +107 -90
- package/dist/{models-HEKUAXXK.js → models-3IK2Y5WE.js} +64 -65
- package/dist/{monitor-HKU57TYQ.js → monitor-FTJLTKCQ.js} +136 -101
- package/dist/{orchestrator-VDFAEFAI.js → orchestrator-N47O7SFD.js} +1442 -1671
- package/dist/{panes-DN2SSFOH.js → panes-7BTYH3XQ.js} +8 -8
- package/dist/{panes-TALGNPZT.js → panes-WPOMEMRH.js} +22 -23
- package/dist/{paths-NBMFAIEZ.js → paths-J3KN7UAO.js} +12 -13
- package/dist/preload-65U34NG6.js +115 -0
- package/dist/{registry-LG64LTF4.js → registry-DESGAXWK.js} +3 -3
- package/dist/{reset-EAJFFJVB.js → reset-MUVQDLNL.js} +20 -21
- package/dist/{resources-OVKSEFVE.js → resources-LM76COAO.js} +41 -40
- package/dist/{run-7DP7ZF2J.js → run-3VFZQ33N.js} +168 -166
- package/dist/{share-WML67FT3.js → share-4JUB4BL7.js} +43 -43
- package/dist/{skills-SG662R2K.js → skills-S36AAJHU.js} +47 -47
- package/dist/{skills-eval-VVZEUU46.js → skills-eval-G6T57L7M.js} +127 -104
- package/dist/{skills-inventory-I2E23GET.js → skills-inventory-WLM46PJH.js} +41 -40
- package/dist/slash-commands-GBARG3Y7.js +91 -0
- package/dist/{steer-2LQOMCPB.js → steer-S7D7IKPU.js} +7 -7
- package/dist/{support-CC2UJBJ6.js → support-5VAEC32W.js} +14 -14
- package/dist/{targets-4QC3HIEW.js → targets-N5REUETU.js} +147 -98
- package/dist/tasks-6BVY5YZF.js +36 -0
- package/dist/{terminal-lease-TUHIJ6Y2.js → terminal-lease-57UEOJKS.js} +12 -11
- package/dist/tools-6OCQ6SVB.js +28 -0
- package/dist/{trace-FXMXUZUF.js → trace-JHLXWUMN.js} +18 -17
- package/dist/{tree-sitter-HGKH6LG4.js → tree-sitter-AQUUOSYM.js} +6 -6
- package/dist/{tui-primitives-K5PASC3O.js → tui-primitives-RCY2HN7G.js} +3 -3
- package/dist/{uninstall-5PEVOE5B.js → uninstall-FXYMFFRT.js} +19 -20
- package/dist/{upgrade-M4WXY6KN.js → upgrade-4HD5HAIV.js} +49 -45
- package/dist/{usage-N7ZNVLEM.js → usage-4GWM2WWP.js} +143 -103
- package/dist/{verifiers-DJTP4XX6.js → verifiers-GSKWKWVG.js} +162 -28
- package/dist/verify-3AS3ULCY.js +30 -0
- package/dist/{version-KGEG7EPO.js → version-RFPKO6T7.js} +4 -4
- package/dist/{web-fetch-MPARV2K7.js → web-fetch-MQN4FH3X.js} +169 -18
- package/dist/wiki-generate-7BV7XWIY.js +614 -0
- package/dist/{with-panes-4GCGSL7J.js → with-panes-OFTNAR4Y.js} +34 -20
- package/dist/worker/entry.js +99 -85
- package/dist/{workspace-ZJ6BFM3Q.js → workspace-DZ7JADBG.js} +6 -6
- package/docs/README.md +10 -8
- package/docs/architecture/acp.md +27 -0
- package/docs/architecture/architecture.md +5 -5
- package/docs/architecture/artifact-versions.md +1 -1
- package/docs/architecture/context-engine.md +44 -59
- package/docs/architecture/context-working-set.md +7 -9
- package/docs/architecture/dispatch-architecture-rationale.md +1 -1
- package/docs/architecture/dispatch-typed-intent.md +1 -1
- package/docs/architecture/evidence-and-memory.md +11 -1
- package/docs/architecture/observability.md +7 -1
- package/docs/architecture/pi-boundary.md +37 -7
- package/docs/architecture/prompt-envelope-and-tools.md +22 -12
- package/docs/architecture/safety-model.md +10 -17
- package/docs/architecture/session-lifecycle.md +4 -4
- package/docs/architecture/tui-design.md +1 -1
- package/docs/architecture/worker-dispatch-mechanics.md +4 -0
- package/docs/guide/built-in-agents.md +8 -8
- package/docs/guide/commands-and-modes.md +66 -38
- package/docs/guide/configuration-and-targets.md +10 -3
- package/docs/guide/configuration-reference.md +23 -8
- package/docs/guide/environment-variables.md +8 -4
- package/docs/guide/fleet-dispatch.md +12 -0
- package/docs/guide/installation-and-lifecycle.md +35 -9
- package/docs/guide/proactive-memory.md +1 -1
- package/docs/guide/skills-marketplace.md +11 -3
- package/docs/guide/tool-usage.md +87 -5
- package/docs/history/config-knobs-audit.md +2 -2
- package/docs/process/development-pipeline.md +15 -10
- package/docs/process/documentation-guide.md +2 -2
- package/docs/process/eval-runner.md +15 -0
- package/docs/process/evals-internal.md +1 -1
- package/docs/process/git-commit-provenance.md +15 -0
- package/docs/process/release-cut-checklist.md +207 -0
- package/docs/process/scientific-validation.md +18 -17
- package/evals/README.md +4 -0
- package/evals/behavioral-corpus-grader.mjs +147 -14
- package/evals/behavioral-machinery-support.ts +1 -0
- package/evals/behavioral-machinery.yaml +1 -1
- package/evals/behavioral-model-negative-control.yaml +1 -0
- package/evals/behavioral-model.yaml +266 -1
- package/evals/fixtures/docs-retrieval.json +102 -0
- package/evals/fixtures/scalar-decision.json +17 -0
- package/evals/fixtures/scout-citation-pipeline.json +55 -0
- package/evals/fixtures/source-explanation.json +74 -0
- package/evals/fixtures/tool-arguments.json +18 -0
- package/evals/fixtures/tool-surface/read.txt +4 -0
- package/evals/fixtures/tool-surface/subdir/keep.txt +1 -0
- package/evals/no-edit-memory-grader.mjs +149 -0
- package/evals/scalar-decision-grader.py +41 -0
- package/evals/scalar-decision-machinery.ts +145 -0
- package/evals/source-explanation-grader.mjs +118 -0
- package/evals/tool-surface-grader.mjs +53 -0
- package/evals/tool-surface-model.yaml +274 -0
- package/package.json +14 -14
- package/skills/README.md +6 -6
- package/skills/coding/coding-standards/SKILL.md +14 -4
- package/skills/context/context-handoff/SKILL.md +3 -3
- package/skills/context/context-prime/SKILL.md +3 -3
- package/skills/planning/architecture/SKILL.md +5 -5
- package/skills/planning/backlog/SKILL.md +4 -4
- package/skills/planning/prd/SKILL.md +4 -3
- package/skills/planning/product-intent/SKILL.md +8 -8
- package/skills/planning/tech-spec/SKILL.md +4 -4
- package/skills/registry.yaml +33 -33
- package/skills/research/arxiv-literature/SKILL.md +3 -3
- package/skills/research/experiment-protocol/SKILL.md +3 -3
- package/skills/research/scientific-debugging/SKILL.md +3 -2
- package/skills/research/scientific-modernization/SKILL.md +3 -3
- package/skills/skill-marketplace.json +17 -17
- package/skills/workflow/cut-it/SKILL.md +3 -4
- package/skills/workflow/design-council/SKILL.md +5 -10
- package/skills/workflow/grill-me/SKILL.md +14 -15
- package/skills/workflow/workflow-distiller/SKILL.md +4 -4
- package/src/cli/args.ts +0 -8
- package/src/cli/bootstrap-generate.ts +6 -0
- package/src/cli/config-inspect.ts +24 -7
- package/src/cli/config-trust.ts +62 -0
- package/src/cli/config.ts +8 -0
- package/src/cli/configure.ts +2 -1
- package/src/cli/context-map.ts +75 -14
- package/src/cli/context.ts +46 -17
- package/src/cli/doctor-state-size.ts +1 -12
- package/src/cli/doctor-validation-contract.ts +28 -0
- package/src/cli/doctor.ts +5 -0
- package/src/cli/eval.ts +17 -3
- package/src/cli/evidence-detail.ts +1 -75
- package/src/cli/evidence-inventory.ts +1 -167
- package/src/cli/index.ts +2 -0
- package/src/cli/modes/print.ts +32 -4
- package/src/cli/run.ts +16 -16
- package/src/cli/skills-eval.ts +10 -8
- package/src/cli/steer-channel.ts +31 -18
- package/src/cli/targets.ts +84 -32
- package/src/cli/tasks.ts +93 -0
- package/src/cli/upgrade.ts +19 -11
- package/src/cli/usage.ts +30 -0
- package/src/cli/verifiers.ts +147 -1
- package/src/cli/wiki-generate.ts +240 -96
- package/src/core/bash-exec.ts +43 -15
- package/src/core/bus-events.ts +15 -0
- package/src/core/commit-attribution.ts +41 -1
- package/src/core/config.ts +33 -14
- package/src/core/defaults.ts +5 -4
- package/src/core/file-references.ts +11 -1
- package/src/core/git-commit-attribution.ts +46 -3
- package/src/core/incomplete-installation.ts +3 -1
- package/src/core/run-overrides.ts +0 -5
- package/src/core/settings-layers.ts +21 -5
- package/src/core/skill-activation.ts +3 -0
- package/src/core/termination.ts +26 -9
- package/src/core/tool-names.ts +5 -2
- package/src/core/untrusted-content.ts +16 -0
- package/src/core/workspace-trust.ts +179 -0
- package/src/domains/agents/builtins/architect.md +1 -1
- package/src/domains/agents/builtins/coder.md +5 -3
- package/src/domains/agents/builtins/context-bootstrap.md +3 -1
- package/src/domains/agents/builtins/documenter.md +8 -5
- package/src/domains/agents/builtins/git-master.md +1 -1
- package/src/domains/agents/builtins/provenance.md +7 -7
- package/src/domains/agents/builtins/researcher.md +1 -0
- package/src/domains/agents/builtins/scout.md +7 -1
- package/src/domains/agents/builtins/tester.md +1 -1
- package/src/domains/agents/builtins/verifier.md +2 -2
- package/src/domains/agents/builtins/wiki-writer.md +4 -3
- package/src/domains/agents/result-contract.ts +199 -26
- package/src/domains/context/bootstrap-prompt.ts +11 -9
- package/src/domains/context/bootstrap.ts +74 -39
- package/src/domains/context/clio-md.ts +88 -26
- package/src/domains/context/codewiki/build-operation.ts +121 -0
- package/src/domains/context/codewiki/build-worker-protocol.ts +37 -3
- package/src/domains/context/codewiki/build-worker.ts +3 -35
- package/src/domains/context/codewiki/coordinator.ts +36 -6
- package/src/domains/context/codewiki/indexer.ts +59 -19
- package/src/domains/context/contract.ts +6 -2
- package/src/domains/context/extension.ts +97 -11
- package/src/domains/context/fingerprint.ts +39 -34
- package/src/domains/context/index.ts +7 -1
- package/src/domains/context/prompt-context.ts +55 -14
- package/src/domains/context/refresh.ts +12 -57
- package/src/domains/context/wiki/assemble.ts +14 -10
- package/src/domains/context/wiki/evidence.ts +209 -0
- package/src/domains/context/wiki/frontmatter.ts +5 -2
- package/src/domains/context/wiki/generate.ts +207 -67
- package/src/domains/context/wiki/meta.ts +10 -2
- package/src/domains/context/wiki/plan-store.ts +70 -14
- package/src/domains/context/wiki/plan.ts +71 -14
- package/src/domains/context/wiki/prompts.ts +85 -1
- package/src/domains/context/wiki/source-content.ts +106 -0
- package/src/domains/context/wiki/staleness.ts +33 -22
- package/src/domains/context/working-set/contract.ts +8 -2
- package/src/domains/context/working-set/engine.ts +17 -4
- package/src/domains/context/working-set/fold.ts +15 -2
- package/src/domains/context/working-set/marker.ts +2 -1
- package/src/domains/context/working-set/project.ts +18 -7
- package/src/domains/context/working-set/recall.ts +82 -56
- package/src/domains/dispatch/active-route-planner.ts +10 -3
- package/src/domains/dispatch/admission-queue.ts +19 -7
- package/src/domains/dispatch/admission.ts +3 -3
- package/src/domains/dispatch/budget-envelope.ts +47 -82
- package/src/domains/dispatch/capacity-lease.ts +57 -19
- package/src/domains/dispatch/code-step.ts +11 -4
- package/src/domains/dispatch/contract.ts +41 -9
- package/src/domains/dispatch/event-pump.ts +28 -7
- package/src/domains/dispatch/execution-role.ts +49 -2
- package/src/domains/dispatch/execution-scheduler.ts +4 -0
- package/src/domains/dispatch/extension.ts +240 -132
- package/src/domains/dispatch/fleet-commit-attribution.ts +5 -0
- package/src/domains/dispatch/fleet-run.ts +21 -0
- package/src/domains/dispatch/gate-role-prompts.ts +4 -2
- package/src/domains/dispatch/host-verification.ts +114 -13
- package/src/domains/dispatch/intent.ts +28 -18
- package/src/domains/dispatch/orphan-recovery.ts +2 -0
- package/src/domains/dispatch/parallel-writers.ts +34 -0
- package/src/domains/dispatch/receipt-integrity.ts +4 -0
- package/src/domains/dispatch/reservation-store.ts +13 -37
- package/src/domains/dispatch/route-approval.ts +3 -3
- package/src/domains/dispatch/route-observer.ts +4 -2
- package/src/domains/dispatch/route-quality.ts +6 -1
- package/src/domains/dispatch/state.ts +15 -2
- package/src/domains/dispatch/types.ts +21 -5
- package/src/domains/dispatch/worker-spawn.ts +58 -21
- package/src/domains/dispatch/workspace-checkpoint.ts +57 -0
- package/src/domains/eval/compare/behavioral.ts +81 -14
- package/src/domains/eval/compare/compare.ts +15 -5
- package/src/domains/eval/compare/envelope.ts +12 -5
- package/src/domains/eval/metrics/context.ts +24 -1
- package/src/domains/eval/metrics/tracked.ts +4 -28
- package/src/domains/eval/reports/comparison.ts +9 -9
- package/src/domains/eval/runners/clio-run.ts +17 -10
- package/src/domains/eval/runners/context-index.ts +2 -7
- package/src/domains/eval/runners/context-init.ts +3 -6
- package/src/domains/eval/runners/external-command.ts +29 -11
- package/src/domains/eval/schema/suite.ts +2 -0
- package/src/domains/eval/schema/validate.ts +1 -0
- package/src/domains/eval/suites/run.ts +189 -13
- package/src/domains/eval/verifiers/integrity.ts +39 -0
- package/src/domains/eval/verifiers/patch.ts +58 -2
- package/src/domains/eval/workspaces/temp-copy.ts +3 -0
- package/src/domains/evidence/build.ts +106 -17
- package/src/domains/evidence/detail.ts +69 -0
- package/src/domains/evidence/eval.ts +13 -1
- package/src/domains/evidence/finish-contract-map.ts +5 -1
- package/src/domains/evidence/inventory.ts +167 -0
- package/src/domains/evidence/store.ts +16 -0
- package/src/domains/evidence/types.ts +12 -0
- package/src/domains/extensions/resources.ts +7 -0
- package/src/domains/interop/registry.ts +2 -2
- package/src/domains/middleware/hooks-io.ts +45 -26
- package/src/domains/middleware/hooks.ts +6 -0
- package/src/domains/middleware/injection-screen.ts +23 -0
- package/src/domains/middleware/marketplace-offer.ts +20 -1
- package/src/domains/middleware/rules.ts +5 -1
- package/src/domains/middleware/runtime.ts +7 -3
- package/src/domains/middleware/stalled-turn.ts +18 -3
- package/src/domains/middleware/task-board-reminder.ts +4 -2
- package/src/domains/middleware/task-nudge.ts +4 -1
- package/src/domains/mux/contract.ts +34 -1
- package/src/domains/mux/detect.ts +3 -6
- package/src/domains/mux/dock-controller.ts +8 -1
- package/src/domains/mux/index.ts +1 -0
- package/src/domains/mux/socket-client.ts +13 -3
- package/src/domains/observability/accountability.ts +15 -1
- package/src/domains/observability/contract.ts +54 -9
- package/src/domains/observability/evidence-index.ts +10 -0
- package/src/domains/observability/extension.ts +9 -5
- package/src/domains/observability/projection.ts +423 -53
- package/src/{interactive → domains/observability}/worker-progress.ts +3 -3
- package/src/domains/prompts/compiler.ts +10 -2
- package/src/domains/prompts/contract.ts +7 -4
- package/src/domains/prompts/extension.ts +28 -64
- package/src/domains/prompts/fragments/identity/clio.md +23 -0
- package/src/domains/prompts/fragments/operating/contract.md +12 -0
- package/src/domains/prompts/fragments/operating/delegation.md +5 -0
- package/src/domains/prompts/fragments/wiki/page.md +36 -15
- package/src/domains/prompts/fragments/wiki/plan.md +4 -4
- package/src/domains/prompts/preload-prefix.ts +31 -0
- package/src/domains/prompts/preload.ts +135 -61
- package/src/domains/providers/auth/backend-file.ts +15 -11
- package/src/domains/providers/auth/storage.ts +3 -5
- package/src/domains/providers/catalog.ts +18 -3
- package/src/domains/providers/model-discovery.ts +1 -4
- package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +16 -14
- package/src/domains/providers/runtime-resolution.ts +11 -9
- package/src/domains/providers/runtimes/claude/claude-code.ts +9 -0
- package/src/domains/providers/runtimes/cloud/openrouter.ts +2 -0
- package/src/domains/providers/support.ts +1 -1
- package/src/domains/providers/types/runtime-descriptor.ts +1 -1
- package/src/domains/resources/skills/promotion.ts +8 -1
- package/src/domains/safety/action-classifier.ts +16 -0
- package/src/domains/safety/autonomy.ts +10 -1
- package/src/domains/safety/contract.ts +5 -1
- package/src/domains/safety/default-path-policy.ts +13 -0
- package/src/domains/safety/extension.ts +11 -2
- package/src/domains/safety/finish-contract-registration.ts +29 -14
- package/src/domains/safety/finish-contract.ts +252 -40
- package/src/domains/safety/index.ts +20 -1
- package/src/domains/safety/policy-engine.ts +211 -34
- package/src/domains/safety/project-policy.ts +7 -2
- package/src/domains/safety/rigor.ts +53 -39
- package/src/domains/safety/validation-contract.ts +388 -0
- package/src/domains/safety/workspace-trust.ts +43 -0
- package/src/domains/session/archive-readers.ts +10 -1
- package/src/domains/session/compaction/compact.ts +384 -21
- package/src/domains/session/compaction/cut-point.ts +42 -5
- package/src/domains/session/compaction/tokens.ts +9 -1
- package/src/domains/session/decision-board.ts +137 -28
- package/src/domains/session/entries.ts +213 -11
- package/src/domains/session/extension.ts +4 -4
- package/src/domains/session/handoff.ts +2 -1
- package/src/domains/session/manager.ts +2 -3
- package/src/domains/session/prompt-manifest.ts +47 -8
- package/src/domains/session/task-board.ts +32 -1
- package/src/domains/session/tree/fork.ts +1 -2
- package/src/domains/session/tree/navigator.ts +1 -1
- package/src/domains/user-tasks/acceptance.ts +56 -0
- package/src/domains/user-tasks/active-acceptance.ts +40 -0
- package/src/domains/user-tasks/handoff.ts +16 -0
- package/src/domains/user-tasks/store.ts +34 -3
- package/src/engine/acp/adapter.ts +60 -10
- package/src/engine/acp/server.ts +22 -4
- package/src/engine/acp/transport.ts +55 -9
- package/src/engine/acp/types.ts +9 -0
- package/src/engine/antigravity/subprocess-runtime.ts +20 -4
- package/src/engine/api-registry.ts +19 -2
- package/src/engine/apis/ollama-native.ts +15 -0
- package/src/engine/apis/openai-completions.ts +13 -6
- package/src/engine/apis/output-budget.ts +26 -10
- package/src/engine/claude/sdk-runtime.ts +4 -3
- package/src/engine/claude/subprocess-runtime.ts +107 -60
- package/src/engine/env-api-keys.ts +2 -1
- package/src/engine/external-subprocess.ts +26 -7
- package/src/engine/loop-guard.ts +19 -2
- package/src/engine/provider-diagnostics.ts +129 -0
- package/src/engine/provider-payload.ts +3 -1
- package/src/engine/worker-runtime.ts +13 -2
- package/src/engine/worker-tools.ts +5 -1
- package/src/entry/extension-reload.ts +1 -0
- package/src/entry/orchestrator.ts +64 -17
- package/src/interactive/chat-loop-messages.ts +12 -4
- package/src/interactive/chat-loop.ts +115 -45
- package/src/interactive/chat-renderer.ts +60 -0
- package/src/interactive/context-recall-command.ts +2 -1
- package/src/interactive/dispatch-board.ts +58 -714
- package/src/interactive/editor-submit.ts +13 -0
- package/src/interactive/fleet-run-preview.ts +2 -1
- package/src/interactive/interactive-application.ts +11 -4
- package/src/interactive/interactive-event-projection.ts +7 -1
- package/src/interactive/interactive-presentation.ts +63 -12
- package/src/interactive/interactive-slash-runtime.ts +4 -1
- package/src/interactive/layout.ts +2 -1
- package/src/interactive/model-session-replay.ts +2 -2
- package/src/interactive/oracle.ts +5 -2
- package/src/interactive/overlay-frame.ts +1 -0
- package/src/interactive/overlay-general-openers.ts +3 -1
- package/src/interactive/overlay-session-lifecycle.ts +6 -0
- package/src/interactive/overlays/ask-user.ts +1 -0
- package/src/interactive/overlays/fleet-run-approval.ts +3 -2
- package/src/interactive/overlays/message-picker.ts +3 -3
- package/src/interactive/overlays/settings.ts +2 -2
- package/src/interactive/overlays/tree-selector.ts +2 -2
- package/src/interactive/renderers/branch-summary.ts +1 -1
- package/src/interactive/renderers/tool-execution.ts +17 -1
- package/src/interactive/renderers/worker-entry.ts +25 -10
- package/src/interactive/slash-autocomplete.ts +4 -6
- package/src/interactive/slash-commands.ts +31 -43
- package/src/interactive/slash-spec.ts +28 -0
- package/src/interactive/turn-context.ts +221 -53
- package/src/interactive/turn-middleware.ts +3 -1
- package/src/interactive/turn-persistence.ts +3 -0
- package/src/interactive/turn-runtime.ts +11 -2
- package/src/interactive/turn-state.ts +10 -9
- package/src/interactive/view/artifacts.ts +2 -0
- package/src/interactive/watch-pane.ts +18 -4
- package/src/interactive/worker-stream.ts +14 -10
- package/src/tools/agent-tools.ts +6 -3
- package/src/tools/bash.ts +1 -1
- package/src/tools/bootstrap.ts +4 -0
- package/src/tools/builtin-tool-catalog.ts +40 -2
- package/src/tools/codewiki/code-nav.ts +4 -10
- package/src/tools/compete-judge-task.ts +71 -0
- package/src/tools/compete-worktrees.ts +41 -1
- package/src/tools/context/index.ts +32 -7
- package/src/tools/context/surface.ts +15 -4
- package/src/tools/core-bootstrap.ts +16 -0
- package/src/tools/decide.ts +136 -0
- package/src/tools/dispatch-admission.ts +33 -1
- package/src/tools/dispatch-arguments.ts +38 -1
- package/src/tools/dispatch-plan.ts +12 -9
- package/src/tools/dispatch-runner.ts +63 -33
- package/src/tools/dispatch-schema.ts +30 -23
- package/src/tools/dispatch-scout-admission.ts +10 -44
- package/src/tools/dispatch-scout.ts +2 -3
- package/src/tools/dispatch-types.ts +6 -0
- package/src/tools/evidence.ts +96 -0
- package/src/tools/find.ts +13 -4
- package/src/tools/grep.ts +13 -1
- package/src/tools/limitation.ts +76 -0
- package/src/tools/ls.ts +7 -1
- package/src/tools/monitor.ts +26 -11
- package/src/tools/network-policy.ts +11 -24
- package/src/tools/observation.ts +39 -2
- package/src/tools/policy.ts +9 -0
- package/src/tools/presentation.ts +3 -0
- package/src/tools/read.ts +112 -15
- package/src/tools/registry.ts +55 -18
- package/src/tools/result-shaping.ts +127 -7
- package/src/tools/task-worktree.ts +13 -3
- package/src/tools/tasks.ts +40 -5
- package/src/tools/verify/authoring.ts +170 -83
- package/src/tools/verify/catalog.ts +122 -5
- package/src/tools/verify/frontend.ts +67 -30
- package/src/tools/verify/index.ts +2 -1
- package/src/tools/verify/numeric.ts +303 -0
- package/src/tools/verify/perf.ts +143 -0
- package/src/tools/verify/scripts.ts +229 -2
- package/src/tools/web-fetch-network.ts +179 -0
- package/src/tools/web-fetch-surface.ts +2 -1
- package/src/tools/web-fetch.ts +15 -13
- package/src/tools/worker-evidence.ts +27 -0
- package/src/worker/spec-contract.ts +12 -8
- package/dist/builtins-IA7V7FUC.js +0 -22
- package/dist/chunk-2WZ546HR.js +0 -792
- package/dist/chunk-5PSMVOLM.js +0 -56
- package/dist/chunk-7DICMOS6.js +0 -313
- package/dist/chunk-BEPZRGGU.js +0 -1560
- package/dist/chunk-JVCV3ICN.js +0 -47
- package/dist/chunk-KK4JZPBQ.js +0 -3982
- package/dist/chunk-MNJGS2IN.js +0 -33
- package/dist/chunk-NDINPTJ4.js +0 -641
- package/dist/chunk-O5CVSAG5.js +0 -122
- package/dist/chunk-OQE5J4C6.js +0 -73
- package/dist/chunk-RVG5JXAL.js +0 -41
- package/dist/chunk-T56WDKA5.js +0 -183
- package/dist/chunk-UUVG37B4.js +0 -244
- package/dist/chunk-VPKWYKEY.js +0 -169
- package/dist/chunk-Y3CBHOR6.js +0 -228
- package/dist/clio-CMMK4KRR.js +0 -25
- package/dist/configure-LE3IK2TJ.js +0 -56
- package/dist/context-clear-BW4O37TG.js +0 -176
- package/dist/fleet-view-SWBR3VGQ.js +0 -97
- package/dist/preload-P6DGH2PZ.js +0 -13
- package/dist/slash-commands-S7MBJDQK.js +0 -83
- package/dist/tools-TFGJICCU.js +0 -29
- package/dist/verify-RWE4PPEK.js +0 -27
- package/dist/wiki-generate-C7IQOXSP.js +0 -469
|
@@ -4,33 +4,32 @@ import {
|
|
|
4
4
|
extractCommandDeleteTargets,
|
|
5
5
|
extractCommandWriteTargets,
|
|
6
6
|
toolMutationPaths
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-M6TAYK66.js";
|
|
8
|
+
import {
|
|
9
|
+
PROJECT_VERIFIER_CATALOG_RELATIVE_PATH
|
|
10
|
+
} from "./chunk-MDU3C27C.js";
|
|
11
|
+
import {
|
|
12
|
+
asDirectoryPathBoundary,
|
|
13
|
+
pathBoundaryEntryCovers,
|
|
14
|
+
resolvePathBoundary
|
|
15
|
+
} from "./chunk-R2P2U3ZS.js";
|
|
8
16
|
import {
|
|
9
17
|
isProjectVerifierCheckId,
|
|
10
18
|
isVerificationScriptName
|
|
11
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-M4KFUXS7.js";
|
|
12
20
|
import {
|
|
13
21
|
ToolNames
|
|
14
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-EHOSNVVM.js";
|
|
15
23
|
import {
|
|
16
24
|
init_esm_shims
|
|
17
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-ECBHH7LU.js";
|
|
18
26
|
|
|
19
27
|
// src/domains/safety/finish-contract.ts
|
|
20
28
|
init_esm_shims();
|
|
21
|
-
|
|
29
|
+
import { resolve } from "node:path";
|
|
30
|
+
var FINISH_CONTRACT_ADVISORY_MESSAGE = "[Clio Coder] finish-contract advisory: you changed files this turn without recording validation evidence or a limitation receipt. Run a verification command or call limitation with the scope and reason.";
|
|
22
31
|
var DEFAULT_RECENT_ENTRY_LIMIT = 80;
|
|
23
|
-
var LIMITATION_PATTERNS = [
|
|
24
|
-
/\b(?:blocked by|blocker|blockers|unable to|not able to|could not|couldn't|cannot|can't)\b/i,
|
|
25
|
-
/\b(?:did not|didn't|have not|haven't|has not|hasn't|was not able|wasn't able)\b/i,
|
|
26
|
-
/\b(?:not complete|incomplete)\b/i,
|
|
27
|
-
/\b(?:not|un)(?:\s|-)?(?:validated|verified|tested)\b/i,
|
|
28
|
-
/^\s*Tests\s*:\s*(?:not run|not executed|not available|failed|blocked|skipped)\b/im,
|
|
29
|
-
/^\s*Known gaps?\s*:\s*(?!\s*(?:none|no\b|n\/a|not applicable)\b).+/im,
|
|
30
|
-
/\bremaining(?:\s+\w+){0,3}\s+(?:work|issue|issues|gap|gaps|blocker|blockers)\b/i
|
|
31
|
-
];
|
|
32
32
|
function assessFinishContract(input) {
|
|
33
|
-
const assistantText = input.assistantText.trim();
|
|
34
33
|
const sessionEntries = input.sessionEntries ?? [];
|
|
35
34
|
const assistantTurnId = input.assistantTurnId ?? null;
|
|
36
35
|
const window = recentEntries(sessionEntries, assistantTurnId, input.recentEntryLimit ?? DEFAULT_RECENT_ENTRY_LIMIT);
|
|
@@ -38,12 +37,38 @@ function assessFinishContract(input) {
|
|
|
38
37
|
if (mutatedPaths.length === 0) {
|
|
39
38
|
return { kind: "ok", reason: "no_mutation", evidence: [], mutatedPaths };
|
|
40
39
|
}
|
|
41
|
-
const
|
|
40
|
+
const acceptanceChecks = new Set(input.activeAcceptance?.verification.map((item) => item.check) ?? []);
|
|
41
|
+
const evidence = collectValidationEvidence(window, acceptanceChecks, input.workspaceRoot);
|
|
42
|
+
const limitations = collectLimitationEvidence(window);
|
|
43
|
+
const required = input.rigor === "high" ? input.activeAcceptance?.verification ?? [] : [];
|
|
44
|
+
if (required.length > 0) {
|
|
45
|
+
const passes = new Set(
|
|
46
|
+
required.filter((check) => evidence.some((item) => acceptanceCheckPassed(item, check, input.workspaceRoot)))
|
|
47
|
+
);
|
|
48
|
+
const limited = new Set(limitations.flatMap((item) => item.paths ?? []));
|
|
49
|
+
const missing = [
|
|
50
|
+
...new Set(required.filter((check) => !passes.has(check) && !limited.has(check.check)).map((item) => item.check))
|
|
51
|
+
];
|
|
52
|
+
if (missing.length > 0)
|
|
53
|
+
return {
|
|
54
|
+
kind: "engage",
|
|
55
|
+
reason: "unvalidated_mutation",
|
|
56
|
+
message: `[Clio Coder] high-rigor finish gate: operator acceptance still requires passing validation for: ${missing.join(", ")}. Run each named check or include its exact id in limitation.paths.`,
|
|
57
|
+
evidence: [...evidence, ...limitations],
|
|
58
|
+
mutatedPaths
|
|
59
|
+
};
|
|
60
|
+
return {
|
|
61
|
+
kind: "ok",
|
|
62
|
+
reason: passes.size === required.length ? "validation_evidence" : "explicit_limitation",
|
|
63
|
+
evidence: [...evidence, ...limitations],
|
|
64
|
+
mutatedPaths
|
|
65
|
+
};
|
|
66
|
+
}
|
|
42
67
|
if (evidence.length > 0) {
|
|
43
68
|
return { kind: "ok", reason: "validation_evidence", evidence, mutatedPaths };
|
|
44
69
|
}
|
|
45
|
-
if (
|
|
46
|
-
return { kind: "ok", reason: "explicit_limitation", evidence:
|
|
70
|
+
if (limitations.length > 0) {
|
|
71
|
+
return { kind: "ok", reason: "explicit_limitation", evidence: limitations, mutatedPaths };
|
|
47
72
|
}
|
|
48
73
|
return {
|
|
49
74
|
kind: "engage",
|
|
@@ -53,10 +78,59 @@ function assessFinishContract(input) {
|
|
|
53
78
|
mutatedPaths
|
|
54
79
|
};
|
|
55
80
|
}
|
|
56
|
-
function
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
81
|
+
function acceptanceCheckPassed(evidence, required, workspaceRoot) {
|
|
82
|
+
if (evidence.kind !== "validation_command" || evidence.check !== required.check || !workspaceRoot || !evidence.source)
|
|
83
|
+
return false;
|
|
84
|
+
if (evidence.durationMs !== void 0 && evidence.durationMs > required.timeoutMs) return false;
|
|
85
|
+
const root = resolve(workspaceRoot);
|
|
86
|
+
if (evidence.source.kind === "project-catalog")
|
|
87
|
+
return evidence.source.path === resolve(root, PROJECT_VERIFIER_CATALOG_RELATIVE_PATH);
|
|
88
|
+
return evidence.source.path === resolve(root, "package.json") && evidence.cwd === root && validationCheckId(evidence.argv?.join(" ") ?? "") === required.check;
|
|
89
|
+
}
|
|
90
|
+
function collectLimitationEvidence(recent) {
|
|
91
|
+
const evidence = [];
|
|
92
|
+
const calls = /* @__PURE__ */ new Map();
|
|
93
|
+
const seen = /* @__PURE__ */ new Set();
|
|
94
|
+
for (const entry of recent) {
|
|
95
|
+
const call = limitationToolCall(entry);
|
|
96
|
+
if (call !== null) {
|
|
97
|
+
calls.set(call.toolCallId, call);
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
const resultId = successfulToolResultId(entry);
|
|
101
|
+
if (resultId === null) continue;
|
|
102
|
+
const candidate = calls.get(resultId);
|
|
103
|
+
if (candidate === void 0) continue;
|
|
104
|
+
const item = {
|
|
105
|
+
kind: "limitation",
|
|
106
|
+
summary: candidate.command,
|
|
107
|
+
...candidate.paths ? { paths: candidate.paths } : {}
|
|
108
|
+
};
|
|
109
|
+
if (candidate.turnId !== void 0) item.turnId = candidate.turnId;
|
|
110
|
+
pushEvidence(evidence, seen, item);
|
|
111
|
+
}
|
|
112
|
+
return evidence;
|
|
113
|
+
}
|
|
114
|
+
function limitationToolCall(entry) {
|
|
115
|
+
const record = asRecord(entry);
|
|
116
|
+
if (record?.kind !== "message" || record.role !== "tool_call") return null;
|
|
117
|
+
const payload = asRecord(record.payload);
|
|
118
|
+
if (payload === null) return null;
|
|
119
|
+
const toolName = stringFromFirst(payload, ["name", "toolName", "tool"]);
|
|
120
|
+
if (toolName !== ToolNames.Limitation) return null;
|
|
121
|
+
const toolCallId = stringFromFirst(payload, ["toolCallId", "tool_call_id", "id"]) ?? turnIdOf(entry);
|
|
122
|
+
if (toolCallId === null) return null;
|
|
123
|
+
const args = asRecord(payload.args ?? payload.arguments ?? payload.input);
|
|
124
|
+
const scope = typeof args?.scope === "string" ? args.scope.trim() : "";
|
|
125
|
+
const reason = typeof args?.reason === "string" ? args.reason.trim() : "";
|
|
126
|
+
const candidate = {
|
|
127
|
+
toolCallId,
|
|
128
|
+
paths: Array.isArray(args?.paths) ? args.paths.filter((item) => typeof item === "string").map((item) => item.trim()) : [],
|
|
129
|
+
command: `limitation recorded: ${scope.length > 0 ? scope : "unspecified"} (reason=${reason.length > 0 ? reason : "unspecified"})`
|
|
130
|
+
};
|
|
131
|
+
const turnId = turnIdOf(entry);
|
|
132
|
+
if (turnId !== null) candidate.turnId = turnId;
|
|
133
|
+
return candidate;
|
|
60
134
|
}
|
|
61
135
|
function mutatingReceipts(recent) {
|
|
62
136
|
const mutationCalls = /* @__PURE__ */ new Map();
|
|
@@ -65,7 +139,7 @@ function mutatingReceipts(recent) {
|
|
|
65
139
|
for (const entry of recent) {
|
|
66
140
|
const bashMutation = bashExecutionMutationPaths(entry);
|
|
67
141
|
if (bashMutation !== null) {
|
|
68
|
-
for (const
|
|
142
|
+
for (const path2 of bashMutation) pushPath(paths, seen, path2);
|
|
69
143
|
continue;
|
|
70
144
|
}
|
|
71
145
|
const call = mutatingToolCall(entry);
|
|
@@ -77,7 +151,7 @@ function mutatingReceipts(recent) {
|
|
|
77
151
|
if (resultId !== null) {
|
|
78
152
|
const candidate = mutationCalls.get(resultId);
|
|
79
153
|
if (candidate !== void 0) {
|
|
80
|
-
for (const
|
|
154
|
+
for (const path2 of candidate.paths) pushPath(paths, seen, path2);
|
|
81
155
|
}
|
|
82
156
|
}
|
|
83
157
|
}
|
|
@@ -112,12 +186,12 @@ function bashExecutionMutationPaths(entry) {
|
|
|
112
186
|
if (record.cancelled === true || record.exitCode !== 0) return null;
|
|
113
187
|
return [...extractCommandWriteTargets(record.command), ...extractCommandDeleteTargets(record.command)];
|
|
114
188
|
}
|
|
115
|
-
function pushPath(paths, seen,
|
|
116
|
-
if (
|
|
117
|
-
seen.add(
|
|
118
|
-
paths.push(
|
|
189
|
+
function pushPath(paths, seen, path2) {
|
|
190
|
+
if (path2.length === 0 || seen.has(path2)) return;
|
|
191
|
+
seen.add(path2);
|
|
192
|
+
paths.push(path2);
|
|
119
193
|
}
|
|
120
|
-
function collectValidationEvidence(recent) {
|
|
194
|
+
function collectValidationEvidence(recent, acceptanceChecks, workspaceRoot) {
|
|
121
195
|
const evidence = [];
|
|
122
196
|
const toolCalls = /* @__PURE__ */ new Map();
|
|
123
197
|
const dispatchCalls = /* @__PURE__ */ new Map();
|
|
@@ -128,7 +202,7 @@ function collectValidationEvidence(recent) {
|
|
|
128
202
|
pushEvidence(evidence, seen, protectedArtifact);
|
|
129
203
|
continue;
|
|
130
204
|
}
|
|
131
|
-
const call = bashValidationCall(entry);
|
|
205
|
+
const call = bashValidationCall(entry, acceptanceChecks, workspaceRoot);
|
|
132
206
|
if (call !== null) {
|
|
133
207
|
toolCalls.set(call.toolCallId, call);
|
|
134
208
|
continue;
|
|
@@ -153,11 +227,11 @@ function collectValidationEvidence(recent) {
|
|
|
153
227
|
}
|
|
154
228
|
const candidate = toolCalls.get(resultId);
|
|
155
229
|
if (candidate !== void 0) {
|
|
156
|
-
pushEvidence(evidence, seen, validationEvidence(candidate));
|
|
230
|
+
pushEvidence(evidence, seen, validationEvidence(candidate, entry));
|
|
157
231
|
}
|
|
158
232
|
continue;
|
|
159
233
|
}
|
|
160
|
-
const bashExecution = bashExecutionEvidence(entry);
|
|
234
|
+
const bashExecution = bashExecutionEvidence(entry, acceptanceChecks, workspaceRoot);
|
|
161
235
|
if (bashExecution !== null) pushEvidence(evidence, seen, bashExecution);
|
|
162
236
|
}
|
|
163
237
|
return evidence;
|
|
@@ -175,7 +249,7 @@ function recentEntries(entries, assistantTurnId, recentEntryLimit) {
|
|
|
175
249
|
}
|
|
176
250
|
return entries.slice(startInclusive, endExclusive);
|
|
177
251
|
}
|
|
178
|
-
function bashValidationCall(entry) {
|
|
252
|
+
function bashValidationCall(entry, acceptanceChecks, workspaceRoot) {
|
|
179
253
|
const record = asRecord(entry);
|
|
180
254
|
if (record?.kind !== "message" || record.role !== "tool_call") return null;
|
|
181
255
|
const payload = asRecord(record.payload);
|
|
@@ -185,13 +259,15 @@ function bashValidationCall(entry) {
|
|
|
185
259
|
const args = asRecord(payload.args ?? payload.arguments ?? payload.input);
|
|
186
260
|
const command = typeof args?.command === "string" ? args.command : null;
|
|
187
261
|
if (command === null) return null;
|
|
188
|
-
const detected =
|
|
262
|
+
const detected = acceptanceValidationCommand(command, acceptanceChecks);
|
|
189
263
|
if (detected.kind !== "validation") return null;
|
|
190
264
|
const toolCallId = stringFromFirst(payload, ["toolCallId", "tool_call_id", "id"]) ?? turnIdOf(entry);
|
|
191
265
|
if (toolCallId === null) return null;
|
|
192
266
|
const candidate = {
|
|
193
267
|
toolCallId,
|
|
194
|
-
command: detected.matched
|
|
268
|
+
command: detected.matched,
|
|
269
|
+
...validationCheckFields(detected.matched),
|
|
270
|
+
execution: packageCommandExecution(command, args?.cwd, workspaceRoot)
|
|
195
271
|
};
|
|
196
272
|
const turnId = turnIdOf(entry);
|
|
197
273
|
if (turnId !== null) candidate.turnId = turnId;
|
|
@@ -245,7 +321,8 @@ function validationToolCall(entry) {
|
|
|
245
321
|
if (toolCallId === null) return null;
|
|
246
322
|
const candidate = {
|
|
247
323
|
toolCallId,
|
|
248
|
-
command: summary
|
|
324
|
+
command: summary,
|
|
325
|
+
...validationCheckFields(summary)
|
|
249
326
|
};
|
|
250
327
|
const turnId = turnIdOf(entry);
|
|
251
328
|
if (turnId !== null) candidate.turnId = turnId;
|
|
@@ -256,8 +333,8 @@ function typedValidationSummary(toolName, payload) {
|
|
|
256
333
|
if (toolName === "verify") {
|
|
257
334
|
const check = typeof args?.check === "string" ? args.check.trim() : "";
|
|
258
335
|
if (check === "frontend") {
|
|
259
|
-
const
|
|
260
|
-
return `verify frontend ${
|
|
336
|
+
const path2 = typeof args?.path === "string" && args.path.trim().length > 0 ? args.path.trim() : "artifact";
|
|
337
|
+
return `verify frontend ${path2}`;
|
|
261
338
|
}
|
|
262
339
|
if (isVerificationScriptName(check)) return `npm run ${check}`;
|
|
263
340
|
if (isProjectVerifierCheckId(check)) return `verify ${check}`;
|
|
@@ -273,7 +350,8 @@ function successfulToolResultId(entry) {
|
|
|
273
350
|
if (payload.isError === true || payload.error === true) return null;
|
|
274
351
|
const result = asRecord(payload.result);
|
|
275
352
|
const details = asRecord(result?.details);
|
|
276
|
-
if (details?.kind === "error") return null;
|
|
353
|
+
if (result?.kind === "error" || details?.kind === "error") return null;
|
|
354
|
+
if (typeof details?.exitCode === "number" && details.exitCode !== 0) return null;
|
|
277
355
|
return stringFromFirst(payload, ["toolCallId", "tool_call_id", "id"]);
|
|
278
356
|
}
|
|
279
357
|
function dispatchReceiptEvidence(entry, candidate) {
|
|
@@ -318,18 +396,20 @@ function dispatchReceiptAgentId(receiptAgentId, candidate) {
|
|
|
318
396
|
if (receiptAgentId !== void 0 && receiptAgentId.length > 0) return receiptAgentId;
|
|
319
397
|
return candidate?.command.match(/^agent=([^\s]+)/)?.[1] ?? "unknown";
|
|
320
398
|
}
|
|
321
|
-
function bashExecutionEvidence(entry) {
|
|
399
|
+
function bashExecutionEvidence(entry, acceptanceChecks, workspaceRoot) {
|
|
322
400
|
const record = asRecord(entry);
|
|
323
401
|
if (record?.kind !== "bashExecution") return null;
|
|
324
402
|
if (typeof record.command !== "string") return null;
|
|
325
403
|
if (record.cancelled === true) return null;
|
|
326
404
|
if (record.exitCode !== 0) return null;
|
|
327
|
-
const detected =
|
|
405
|
+
const detected = acceptanceValidationCommand(record.command, acceptanceChecks);
|
|
328
406
|
if (detected.kind !== "validation") return null;
|
|
329
407
|
const contextMarker = record.excludeFromContext === true ? " [not sent to model]" : "";
|
|
330
408
|
const evidence = {
|
|
331
409
|
kind: "validation_command",
|
|
332
|
-
summary: `validation command passed: ${detected.matched}${contextMarker}
|
|
410
|
+
summary: `validation command passed: ${detected.matched}${contextMarker}`,
|
|
411
|
+
...validationCheckFields(detected.matched),
|
|
412
|
+
...packageCommandExecution(record.command, record.cwd, workspaceRoot)
|
|
333
413
|
};
|
|
334
414
|
const turnId = turnIdOf(entry);
|
|
335
415
|
if (turnId !== null) evidence.turnId = turnId;
|
|
@@ -339,26 +419,56 @@ function protectedArtifactEvidence(entry) {
|
|
|
339
419
|
const record = asRecord(entry);
|
|
340
420
|
if (record?.kind !== "protectedArtifact" || record.action !== "protect") return null;
|
|
341
421
|
const artifact = asRecord(record.artifact);
|
|
342
|
-
const
|
|
343
|
-
if (
|
|
422
|
+
const path2 = typeof artifact?.path === "string" && artifact.path.trim().length > 0 ? artifact.path.trim() : null;
|
|
423
|
+
if (path2 === null) return null;
|
|
344
424
|
const evidence = {
|
|
345
425
|
kind: "protected_artifact",
|
|
346
|
-
summary: `protected artifact recorded: ${
|
|
426
|
+
summary: `protected artifact recorded: ${path2}`
|
|
347
427
|
};
|
|
348
428
|
const turnId = turnIdOf(entry);
|
|
349
429
|
if (turnId !== null) evidence.turnId = turnId;
|
|
350
430
|
return evidence;
|
|
351
431
|
}
|
|
352
|
-
function validationEvidence(candidate) {
|
|
432
|
+
function validationEvidence(candidate, entry) {
|
|
353
433
|
const evidence = {
|
|
354
434
|
kind: "validation_command",
|
|
355
|
-
summary: `validation command passed: ${candidate.command}
|
|
435
|
+
summary: `validation command passed: ${candidate.command}`,
|
|
436
|
+
...candidate.check ? { check: candidate.check } : {},
|
|
437
|
+
...candidate.execution ?? declaredCheckExecution(entry, candidate.check)
|
|
356
438
|
};
|
|
357
439
|
if (candidate.turnId !== void 0) evidence.turnId = candidate.turnId;
|
|
358
440
|
return evidence;
|
|
359
441
|
}
|
|
442
|
+
function declaredCheckExecution(entry, check) {
|
|
443
|
+
const payload = asRecord(asRecord(entry)?.payload);
|
|
444
|
+
const details = asRecord(asRecord(payload?.result)?.details);
|
|
445
|
+
const source = asRecord(details?.source);
|
|
446
|
+
if (!details || details.check !== check || details.exitCode !== 0 || details.aborted === true || details.timedOut === true || details.outputCapped === true || source?.kind !== "package.json" && source?.kind !== "project-catalog" || typeof source.path !== "string" || typeof details.cwd !== "string" || !Array.isArray(details.argv) || !details.argv.every((arg) => typeof arg === "string"))
|
|
447
|
+
return {};
|
|
448
|
+
if (source.kind === "project-catalog") {
|
|
449
|
+
const argv = details.argv;
|
|
450
|
+
if (!Array.isArray(details.declaredCommand) || details.declaredCommand.length !== details.argv.length || !details.declaredCommand.every((arg, index) => arg === argv[index]) || typeof details.declaredCwd !== "string" || typeof details.declaredTimeoutMs !== "number" || typeof details.durationMs !== "number" || details.durationMs > details.declaredTimeoutMs || resolve(source.path, "../..", details.declaredCwd) !== details.cwd)
|
|
451
|
+
return {};
|
|
452
|
+
}
|
|
453
|
+
return {
|
|
454
|
+
source: { kind: source.kind, path: source.path },
|
|
455
|
+
cwd: details.cwd,
|
|
456
|
+
argv: details.argv,
|
|
457
|
+
...typeof details.durationMs === "number" ? { durationMs: details.durationMs } : {}
|
|
458
|
+
};
|
|
459
|
+
}
|
|
460
|
+
function packageCommandExecution(command, cwd, workspaceRoot) {
|
|
461
|
+
if (!workspaceRoot || !/^(?:npm|pnpm|yarn|bun) /u.test(command.trim()) || validationCheckId(command.trim()) === void 0)
|
|
462
|
+
return {};
|
|
463
|
+
const executionCwd = resolve(workspaceRoot, typeof cwd === "string" ? cwd : ".");
|
|
464
|
+
return {
|
|
465
|
+
source: { kind: "package.json", path: resolve(executionCwd, "package.json") },
|
|
466
|
+
cwd: executionCwd,
|
|
467
|
+
argv: command.trim().split(/\s+/u)
|
|
468
|
+
};
|
|
469
|
+
}
|
|
360
470
|
function pushEvidence(evidence, seen, item) {
|
|
361
|
-
const key =
|
|
471
|
+
const key = JSON.stringify(item);
|
|
362
472
|
if (seen.has(key)) return;
|
|
363
473
|
seen.add(key);
|
|
364
474
|
evidence.push(item);
|
|
@@ -383,6 +493,19 @@ function stringFromFirst(record, keys) {
|
|
|
383
493
|
function asRecord(value) {
|
|
384
494
|
return value !== null && typeof value === "object" ? value : null;
|
|
385
495
|
}
|
|
496
|
+
function validationCheckId(command) {
|
|
497
|
+
return /^(?:npm|pnpm|yarn|bun) (?:run )?([a-z0-9][a-z0-9._:-]*)$/.exec(command)?.[1] ?? /^verify ([a-z0-9][a-z0-9._:-]*)$/.exec(command)?.[1];
|
|
498
|
+
}
|
|
499
|
+
function validationCheckFields(command) {
|
|
500
|
+
const check = validationCheckId(command);
|
|
501
|
+
return check ? { check } : {};
|
|
502
|
+
}
|
|
503
|
+
function acceptanceValidationCommand(command, checks) {
|
|
504
|
+
const exact = command.trim();
|
|
505
|
+
const check = /^npm run ([a-z0-9][a-z0-9._:-]*)$/.exec(exact)?.[1];
|
|
506
|
+
if (check && checks.has(check)) return { kind: "validation", matched: exact };
|
|
507
|
+
return detectValidationCommand(command);
|
|
508
|
+
}
|
|
386
509
|
|
|
387
510
|
// src/domains/safety/loop-detector.ts
|
|
388
511
|
init_esm_shims();
|
|
@@ -481,12 +604,56 @@ function observe(state, key, now) {
|
|
|
481
604
|
return [newState, { looping, key, count }];
|
|
482
605
|
}
|
|
483
606
|
|
|
607
|
+
// src/domains/safety/scope.ts
|
|
608
|
+
init_esm_shims();
|
|
609
|
+
import path from "node:path";
|
|
610
|
+
function normalizeRoot(root) {
|
|
611
|
+
return resolvePathBoundary(process.cwd(), root);
|
|
612
|
+
}
|
|
613
|
+
function isSubset(worker, orchestrator) {
|
|
614
|
+
for (const action of worker.allowedActions) {
|
|
615
|
+
if (!orchestrator.allowedActions.has(action)) return false;
|
|
616
|
+
}
|
|
617
|
+
for (const root of worker.allowedWriteRoots) {
|
|
618
|
+
const covered = orchestrator.allowedWriteRoots.some(
|
|
619
|
+
(outer) => pathBoundaryEntryCovers(normalizeRoot(outer), normalizeRoot(root))
|
|
620
|
+
);
|
|
621
|
+
if (!covered) return false;
|
|
622
|
+
}
|
|
623
|
+
if (worker.allowNetwork && !orchestrator.allowNetwork) return false;
|
|
624
|
+
if (worker.allowDispatch && !orchestrator.allowDispatch) return false;
|
|
625
|
+
return true;
|
|
626
|
+
}
|
|
627
|
+
var READONLY_SCOPE = {
|
|
628
|
+
allowedActions: /* @__PURE__ */ new Set(["read"]),
|
|
629
|
+
allowedWriteRoots: [],
|
|
630
|
+
allowNetwork: true,
|
|
631
|
+
allowDispatch: false
|
|
632
|
+
};
|
|
633
|
+
var WORKSPACE_SCOPE = {
|
|
634
|
+
allowedActions: /* @__PURE__ */ new Set(["read", "write", "execute", "dispatch"]),
|
|
635
|
+
allowedWriteRoots: [asDirectoryPathBoundary(path.resolve(process.cwd()))],
|
|
636
|
+
allowNetwork: true,
|
|
637
|
+
allowDispatch: true
|
|
638
|
+
};
|
|
639
|
+
var CONFIRMED_SCOPE = {
|
|
640
|
+
allowedActions: /* @__PURE__ */ new Set(["read", "write", "execute", "dispatch", "system_modify"]),
|
|
641
|
+
allowedWriteRoots: [asDirectoryPathBoundary(path.resolve(process.cwd()))],
|
|
642
|
+
allowNetwork: true,
|
|
643
|
+
allowDispatch: true
|
|
644
|
+
};
|
|
645
|
+
|
|
484
646
|
export {
|
|
485
647
|
createLoopState,
|
|
486
648
|
hashToolCall,
|
|
487
649
|
observe,
|
|
488
650
|
DEFAULT_RECENT_ENTRY_LIMIT,
|
|
489
651
|
assessFinishContract,
|
|
490
|
-
|
|
652
|
+
recentEntries,
|
|
653
|
+
typedValidationSummary,
|
|
654
|
+
isSubset,
|
|
655
|
+
READONLY_SCOPE,
|
|
656
|
+
WORKSPACE_SCOPE,
|
|
657
|
+
CONFIRMED_SCOPE
|
|
491
658
|
};
|
|
492
|
-
//# sourceMappingURL=chunk-
|
|
659
|
+
//# sourceMappingURL=chunk-KF6GFW6O.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
init_esm_shims
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ECBHH7LU.js";
|
|
5
5
|
|
|
6
6
|
// src/core/naming-events.ts
|
|
7
7
|
init_esm_shims();
|
|
@@ -64,4 +64,4 @@ export {
|
|
|
64
64
|
normalizeClioCoderEventRecord,
|
|
65
65
|
normalizeClioCoderEventTree
|
|
66
66
|
};
|
|
67
|
-
//# sourceMappingURL=chunk-
|
|
67
|
+
//# sourceMappingURL=chunk-KMF54VH3.js.map
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
init_esm_shims
|
|
4
|
+
} from "./chunk-ECBHH7LU.js";
|
|
5
|
+
|
|
6
|
+
// src/domains/context/codewiki/cooperative.ts
|
|
7
|
+
init_esm_shims();
|
|
8
|
+
import { setImmediate as yieldToEventLoop } from "node:timers/promises";
|
|
9
|
+
var INDEX_SLICE_MS = 8;
|
|
10
|
+
var settled = Promise.resolve();
|
|
11
|
+
function createSlicer(sliceMs = INDEX_SLICE_MS) {
|
|
12
|
+
let deadline = performance.now() + sliceMs;
|
|
13
|
+
let yields = 0;
|
|
14
|
+
return {
|
|
15
|
+
tick() {
|
|
16
|
+
if (performance.now() < deadline) return settled;
|
|
17
|
+
yields += 1;
|
|
18
|
+
return yieldToEventLoop().then(() => {
|
|
19
|
+
deadline = performance.now() + sliceMs;
|
|
20
|
+
});
|
|
21
|
+
},
|
|
22
|
+
get yields() {
|
|
23
|
+
return yields;
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export {
|
|
29
|
+
INDEX_SLICE_MS,
|
|
30
|
+
createSlicer
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=chunk-KPRLAMP4.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
init_esm_shims
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ECBHH7LU.js";
|
|
5
5
|
|
|
6
6
|
// src/core/path-canonical.ts
|
|
7
7
|
init_esm_shims();
|
|
@@ -36,4 +36,4 @@ function canonicalizeExistingPath(absPath) {
|
|
|
36
36
|
export {
|
|
37
37
|
canonicalizeExistingPath
|
|
38
38
|
};
|
|
39
|
-
//# sourceMappingURL=chunk-
|
|
39
|
+
//# sourceMappingURL=chunk-KQ6IDQIB.js.map
|
|
@@ -1,28 +1,39 @@
|
|
|
1
1
|
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
typebox_exports
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-GH5ZR6JP.js";
|
|
5
5
|
import {
|
|
6
6
|
ToolNames
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-EHOSNVVM.js";
|
|
8
8
|
import {
|
|
9
9
|
StringEnum
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-5CMARGPF.js";
|
|
11
11
|
import {
|
|
12
12
|
init_esm_shims
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-ECBHH7LU.js";
|
|
14
14
|
|
|
15
15
|
// src/tools/context/surface.ts
|
|
16
16
|
init_esm_shims();
|
|
17
17
|
var contextToolSurface = {
|
|
18
18
|
name: ToolNames.Context,
|
|
19
|
-
description: "Environment context: scope=workspace returns the git/project snapshot, scope=docs searches Clio's bundled documentation (omit query to list the corpus), scope=skills lists installed and marketplace skills or loads an installed one by name, scope=recall returns
|
|
19
|
+
description: "Environment context: scope=workspace returns the git/project snapshot, scope=docs searches Clio's bundled documentation (omit query to list the corpus), scope=skills lists installed and marketplace skills or loads an installed one by name, scope=recall returns an exact persisted evicted or summarized tool result by ref; omit ref to discover historical results by query with bounded limit/offset pages. For repository code and the repo's generated wiki use code_nav (mode=wiki).",
|
|
20
20
|
parameters: typebox_exports.Object({
|
|
21
21
|
scope: StringEnum(["workspace", "docs", "skills", "recall"], { description: "Context source." }),
|
|
22
|
-
query: typebox_exports.Optional(
|
|
22
|
+
query: typebox_exports.Optional(
|
|
23
|
+
typebox_exports.String({
|
|
24
|
+
description: "scope=docs: question or terms. scope=recall without ref: path, tool, or ref terms; omit to list."
|
|
25
|
+
})
|
|
26
|
+
),
|
|
23
27
|
name: typebox_exports.Optional(typebox_exports.String({ description: "scope=skills: skill name to load; omit to list." })),
|
|
24
|
-
limit: typebox_exports.Optional(
|
|
25
|
-
|
|
28
|
+
limit: typebox_exports.Optional(
|
|
29
|
+
typebox_exports.Number({
|
|
30
|
+
description: "scope=docs: max sections (default 5, max 12). scope=recall: max refs (default 8, max 12)."
|
|
31
|
+
})
|
|
32
|
+
),
|
|
33
|
+
ref: typebox_exports.Optional(typebox_exports.String({ description: "scope=recall: exact persisted result ref; omit for discovery." })),
|
|
34
|
+
offset: typebox_exports.Optional(
|
|
35
|
+
typebox_exports.Number({ description: "scope=recall discovery: zero-based offset; follow nextOffset (default 0)." })
|
|
36
|
+
),
|
|
26
37
|
include_tree: typebox_exports.Optional(typebox_exports.Boolean({ description: "scope=skills: list files under the skill base_dir." }))
|
|
27
38
|
}),
|
|
28
39
|
baseActionClass: "read",
|
|
@@ -32,4 +43,4 @@ var contextToolSurface = {
|
|
|
32
43
|
export {
|
|
33
44
|
contextToolSurface
|
|
34
45
|
};
|
|
35
|
-
//# sourceMappingURL=chunk-
|
|
46
|
+
//# sourceMappingURL=chunk-KTFSFCVN.js.map
|