@iowarp/clio-coder 0.4.4 → 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 +92 -2
- package/CONTRIBUTING.md +25 -15
- package/README.md +340 -27
- package/dist/{acp-WNAYYF4F.js → acp-H3CU2HBQ.js} +25 -24
- package/dist/{agents-3OKXHLOI.js → agents-IXQQZ7BD.js} +77 -77
- package/dist/assets/codewiki.json +1 -1
- package/dist/{auth-VKNNMGPU.js → auth-R7KYF7N3.js} +38 -38
- package/dist/builtins-CRFDQUVP.js +22 -0
- package/dist/{chunk-TQAHXW6Y.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-JCI2ROMZ.js → chunk-3T4DXWP6.js} +7 -7
- package/dist/{chunk-DR52UMZW.js → chunk-3UW3KU4A.js} +2 -2
- package/dist/{chunk-6Q3CYFD3.js → chunk-4SVIVOMC.js} +184 -33
- package/dist/{chunk-W54I7H25.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-I2DWJ4GM.js → chunk-5DDOTTG4.js} +54 -42
- package/dist/{chunk-D4CJV46V.js → chunk-5GZICIYO.js} +3 -3
- package/dist/{chunk-4IUZQIJ3.js → chunk-5PHVPU4G.js} +2 -2
- package/dist/{chunk-3ODX73FK.js → chunk-5VTJP36Q.js} +4 -4
- package/dist/{chunk-54X7T7DK.js → chunk-5ZMXGW7P.js} +79 -7
- package/dist/chunk-5ZSZEYJK.js +119 -0
- package/dist/{chunk-IXIY2H4R.js → chunk-633EXGZA.js} +5 -5
- package/dist/{chunk-CUSRQKPU.js → chunk-6CDNRHWH.js} +299 -89
- package/dist/{chunk-EBY63B7G.js → chunk-6EXUUOSN.js} +2 -2
- package/dist/{chunk-SVNXH4L2.js → chunk-6ICZKDUC.js} +2 -2
- package/dist/{chunk-JEIYHLOR.js → chunk-6SYEGZI3.js} +12 -12
- package/dist/{chunk-DQOVN6KV.js → chunk-6YA46L5A.js} +4 -4
- package/dist/{chunk-NZMNUPZZ.js → chunk-77CZRFTE.js} +3 -3
- package/dist/{chunk-6PAZTBPA.js → chunk-7HBHHVCK.js} +15 -6
- package/dist/{chunk-25QBEXRS.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-3UUXNFEX.js → chunk-7YJWEF2L.js} +61 -34
- 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-I5FWO7L5.js → chunk-B6UM3OZC.js} +2 -2
- package/dist/{chunk-2CU2H6KE.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-QZWQA4DE.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-YNFKXPEC.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-XULDXHTN.js → chunk-DRD2A54W.js} +102 -50
- 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-FEAXX7B6.js → chunk-EHCPSZJF.js} +4 -4
- package/dist/{chunk-4NSRCOYP.js → chunk-EHOSNVVM.js} +3 -2
- package/dist/{chunk-7UGL4MB5.js → chunk-EQEJJ53P.js} +10 -10
- package/dist/{chunk-GWZNEVM2.js → chunk-EWD5P3GK.js} +9 -9
- package/dist/{chunk-6UINWWS6.js → chunk-F34AR6O3.js} +14 -14
- package/dist/{chunk-GHS5EBTQ.js → chunk-FKIOX6DS.js} +29 -20
- package/dist/{chunk-HAXOFFRH.js → chunk-FQOOGXBH.js} +7 -7
- package/dist/{chunk-Y55JBDO5.js → chunk-FSTIBAGM.js} +38 -23
- 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-TOIVGRUX.js → chunk-GJ24ODAX.js} +5 -5
- package/dist/{chunk-QUFRYSWI.js → chunk-GNQRWTMY.js} +129 -48
- package/dist/{chunk-5ICU3EUH.js → chunk-GVYWZNRK.js} +5 -5
- package/dist/{chunk-GX5WYQO4.js → chunk-GXCCHKN6.js} +6 -6
- package/dist/{chunk-K6T2ZAMZ.js → chunk-HGSLRG33.js} +6 -6
- package/dist/{chunk-26QSH3EJ.js → chunk-HHVJNVUJ.js} +5 -5
- package/dist/{chunk-F4EKGO4N.js → chunk-HL26ADLH.js} +4 -2
- package/dist/{chunk-JT2RFCC5.js → chunk-HR3HPQ76.js} +5 -5
- package/dist/{chunk-ID64D7PE.js → chunk-HXHFDHB6.js} +24 -24
- package/dist/{chunk-ELWDPP3Y.js → chunk-I7VLWRK2.js} +8 -8
- package/dist/{chunk-6OSVSQL5.js → chunk-ICO4TQ2F.js} +7 -5
- package/dist/{chunk-SZAA6XDG.js → chunk-IFDRAD6F.js} +2 -2
- package/dist/{chunk-72YIHOZQ.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-AUPNRN7C.js → chunk-K2HL3GBL.js} +4 -4
- package/dist/{chunk-2ASED4PZ.js → chunk-K6RDB7IA.js} +26 -26
- package/dist/{chunk-FFUPXJC4.js → chunk-KDWLXVMN.js} +23 -24
- package/dist/{chunk-OZNBF4L3.js → chunk-KECNXMDE.js} +2 -2
- package/dist/{chunk-6QOTUPRG.js → chunk-KF6GFW6O.js} +66 -18
- 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-3UNOLWNZ.js → chunk-KTFSFCVN.js} +20 -9
- package/dist/{chunk-57XXR6DR.js → chunk-KYKNBD4Y.js} +24 -23
- package/dist/{chunk-IRXAATOX.js → chunk-L4N3DWNW.js} +3 -3
- package/dist/{chunk-LCGCVYZ4.js → chunk-LQTKDAUO.js} +2 -2
- package/dist/{chunk-U6TMQNSI.js → chunk-LTR5QCLS.js} +4 -4
- package/dist/chunk-LUL5Z66S.js +221 -0
- package/dist/{chunk-ELZVTCGV.js → chunk-LVFANMOH.js} +151 -327
- 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-NXYCB2VD.js → chunk-M6TAYK66.js} +6 -6
- package/dist/{chunk-NEKRRTYW.js → chunk-MC3JSVR6.js} +2 -2
- package/dist/{chunk-CFGTUFWB.js → chunk-MCJKEGHO.js} +2 -2
- package/dist/{chunk-DXKJURES.js → chunk-MDU3C27C.js} +10 -7
- package/dist/{chunk-6XLNIQDB.js → chunk-MYI32N4R.js} +2 -2
- package/dist/{chunk-3GY4F45V.js → chunk-NC4KV7EL.js} +6 -6
- package/dist/{chunk-LLXSDWXS.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-RZDWV63N.js → chunk-NY6IWDVU.js} +6 -6
- package/dist/{chunk-XXYSBZIQ.js → chunk-O2RQ7LCK.js} +4 -4
- package/dist/{chunk-4BJ5BYCE.js → chunk-O3VV6IVK.js} +2 -2
- package/dist/{chunk-W6GROXXM.js → chunk-O5F25NIE.js} +2 -2
- package/dist/{chunk-NXIMQY5W.js → chunk-ODUTYZIU.js} +5 -5
- package/dist/{chunk-LTIKRKFL.js → chunk-ONRTXOZY.js} +4 -4
- package/dist/{chunk-KFV5L5SK.js → chunk-OQM5IVJY.js} +118 -232
- 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-RXTN6AKH.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-2DSOYNFC.js → chunk-R6MAYTMS.js} +7 -7
- package/dist/{chunk-JQLNNIKT.js → chunk-R6MICQYU.js} +6 -6
- package/dist/{chunk-NAI6ZFCY.js → chunk-RLTT5GVY.js} +122 -11
- package/dist/{chunk-DT3LWJOB.js → chunk-RXIOCVBZ.js} +24 -6
- package/dist/{chunk-N56KALIC.js → chunk-S32UQ5GL.js} +61 -34
- package/dist/{chunk-UEPWCCTY.js → chunk-SBZX6ARC.js} +12 -12
- package/dist/chunk-SD7SHNDW.js +15 -0
- package/dist/{chunk-NRO2BJRH.js → chunk-SDWNDICN.js} +10235 -4015
- 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-OMQNJVKW.js → chunk-SRZOW5L2.js} +43 -13
- package/dist/{chunk-3M6DQK6S.js → chunk-T334FW2H.js} +7 -7
- package/dist/{chunk-V76WTFTW.js → chunk-T52TPHYC.js} +6 -6
- package/dist/{chunk-I7XBWTYH.js → chunk-T53XI6I7.js} +5 -5
- package/dist/{chunk-2ZSONWVL.js → chunk-T7FDXNRU.js} +13 -13
- package/dist/{chunk-JSD46VO2.js → chunk-TEG3RYVZ.js} +43 -36
- package/dist/{chunk-3I7MS7N2.js → chunk-TK2BMCBZ.js} +2 -2
- package/dist/{chunk-5OIVVPHF.js → chunk-TN5FW4XY.js} +13 -6
- package/dist/{chunk-75W7L2E2.js → chunk-TZ7MFRG4.js} +1041 -162
- package/dist/{chunk-36CT5VVL.js → chunk-U2JOLB7O.js} +126 -77
- package/dist/{chunk-LL4KHSZI.js → chunk-U2MSJ57E.js} +2 -2
- package/dist/{chunk-FTMGRKEF.js → chunk-U44YYLVV.js} +4 -4
- package/dist/{chunk-YECAMM3D.js → chunk-U7H5WRG5.js} +5 -5
- package/dist/{chunk-RQCKCSRL.js → chunk-U7VQ4NI4.js} +22 -22
- package/dist/{chunk-5TUB6SLS.js → chunk-UFYNOQK4.js} +7 -7
- package/dist/{chunk-R346GLFC.js → chunk-UHW5V7HC.js} +2 -2
- package/dist/{chunk-USR47QNF.js → chunk-UL36QJX6.js} +14 -14
- package/dist/{chunk-VIA6RFQZ.js → chunk-UQIVHSE4.js} +4 -4
- package/dist/{chunk-RAY4OVGZ.js → chunk-URBGEOH3.js} +5 -5
- package/dist/chunk-USZA7GWL.js +341 -0
- package/dist/{chunk-YD5GIKET.js → chunk-UTUNT5QL.js} +48 -579
- package/dist/{chunk-ZA4VCIGV.js → chunk-UUQ5G6EZ.js} +60 -41
- package/dist/{chunk-23L32XTI.js → chunk-UXAC2FX4.js} +68 -39
- package/dist/{chunk-VG7TBQIY.js → chunk-V552WL53.js} +68 -4
- package/dist/{chunk-BWH6N36D.js → chunk-VHKTOLEW.js} +272 -42
- package/dist/{chunk-EXLD33WO.js → chunk-VLPTKCKT.js} +24 -9
- 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-S6PYF2XF.js → chunk-WFKDPU7U.js} +4 -4
- package/dist/{chunk-BJVFZO5U.js → chunk-WJIMKGD6.js} +7 -7
- package/dist/{chunk-5636DCO5.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-4M6Z5QVF.js → chunk-XXBQKW32.js} +11 -11
- package/dist/{chunk-OEJSLEPW.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-Q4WO54TA.js → chunk-ZMZQEBKI.js} +14 -14
- 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 +44 -44
- package/dist/clio-5I2IBFYL.js +26 -0
- package/dist/{code-nav-IJR2DBPR.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-2TGAI2RC.js → components-TNIKXCBH.js} +13 -13
- package/dist/{config-IUA6OYNS.js → config-Y2JDJ3JJ.js} +210 -124
- package/dist/configure-SML6UBZ5.js +55 -0
- package/dist/{context-4MPR7WKB.js → context-P5YSEO55.js} +125 -121
- package/dist/{context-2DKHWH2T.js → context-QQ53HSGJ.js} +91 -62
- package/dist/{context-BOYF5EJM.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-3I3FYX6Y.js → context-working-set-CNLSQN5K.js} +31 -31
- package/dist/detail-5572VLBO.js +114 -0
- package/dist/{dispatch-runner-RJ5I2F2O.js → dispatch-runner-FRHD6P2O.js} +191 -116
- package/dist/{docs-SPOV3BAN.js → docs-BL7ROUFN.js} +4 -4
- package/dist/{doctor-DKICC2SN.js → doctor-N3LCM2LG.js} +58 -58
- package/dist/{eval-OQOQUDHK.js → eval-BUU3ZOUZ.js} +473 -168
- package/dist/{eval-inventory-Y6QRFOH5.js → eval-inventory-QOYZERXJ.js} +7 -7
- package/dist/evidence-DTGEN456.js +224 -0
- package/dist/{evidence-4DQ25GUQ.js → evidence-SQ5DNFEN.js} +110 -94
- package/dist/{evolve-GSS52E5J.js → evolve-IJNUFZDS.js} +107 -91
- package/dist/{extensions-G7MFLYHT.js → extensions-YVRHX6ZI.js} +16 -16
- package/dist/{fleet-Q37YHHAQ.js → fleet-ZNNVSYFO.js} +147 -147
- package/dist/{fleet-commands-G7E4N7SM.js → fleet-commands-5YE7NPJL.js} +27 -26
- package/dist/{fleet-decisions-O7M6QBA2.js → fleet-decisions-3SBSCTCW.js} +16 -15
- package/dist/{fleet-graph-TOUBW6OW.js → fleet-graph-6HHPWF5T.js} +39 -38
- package/dist/{fleet-inspect-SW33JJNI.js → fleet-inspect-JEYMGCGC.js} +107 -91
- package/dist/{fleet-new-RDVJLHHH.js → fleet-new-RCKGSRDV.js} +3 -3
- package/dist/{fleet-preflight-CV2655TW.js → fleet-preflight-QRSHIIDE.js} +10 -9
- package/dist/{fleet-validate-KESZX2YH.js → fleet-validate-4PM4GDDL.js} +46 -42
- package/dist/{fleet-verify-UQPMTVE3.js → fleet-verify-NJDTHTO3.js} +105 -89
- package/dist/fleet-view-UP2BWQQY.js +117 -0
- package/dist/{init-PXEXQSBF.js → init-S3GZQ5ZF.js} +123 -123
- package/dist/{install-NKNG7KD4.js → install-3RZDDP23.js} +5 -5
- package/dist/{interop-ZG5T62U3.js → interop-YOTGXFJM.js} +25 -25
- package/dist/inventory-K2OZ36YJ.js +117 -0
- package/dist/{library-B2W4N74O.js → library-GJI6W6OK.js} +45 -44
- package/dist/{memory-YCANYS5A.js → memory-OQOXQGYD.js} +107 -93
- package/dist/{models-GERTU3YI.js → models-3IK2Y5WE.js} +63 -62
- package/dist/{monitor-CPNIUULB.js → monitor-FTJLTKCQ.js} +136 -107
- package/dist/{orchestrator-J4BSH4WQ.js → orchestrator-N47O7SFD.js} +1159 -697
- package/dist/{panes-BOHAEGYC.js → panes-7BTYH3XQ.js} +8 -8
- package/dist/{panes-NXSLDQZ2.js → panes-WPOMEMRH.js} +22 -22
- package/dist/{paths-VSUWNC22.js → paths-J3KN7UAO.js} +12 -12
- package/dist/preload-65U34NG6.js +115 -0
- package/dist/{registry-LG64LTF4.js → registry-DESGAXWK.js} +3 -3
- package/dist/{reset-TNWTB5LU.js → reset-MUVQDLNL.js} +20 -20
- package/dist/{resources-4PXNMD5G.js → resources-LM76COAO.js} +41 -40
- package/dist/{run-D6XJ34CN.js → run-3VFZQ33N.js} +162 -156
- package/dist/{share-2NWMJJEE.js → share-4JUB4BL7.js} +43 -42
- package/dist/{skills-KR7WON5G.js → skills-S36AAJHU.js} +47 -46
- package/dist/{skills-eval-O2ZNOLDS.js → skills-eval-G6T57L7M.js} +127 -107
- package/dist/{skills-inventory-ZZOUBK7O.js → skills-inventory-WLM46PJH.js} +41 -40
- package/dist/slash-commands-GBARG3Y7.js +91 -0
- package/dist/{steer-XA25PSCS.js → steer-S7D7IKPU.js} +7 -7
- package/dist/{support-7EMVWYG2.js → support-5VAEC32W.js} +14 -14
- package/dist/{targets-OMH2XCSN.js → targets-N5REUETU.js} +145 -94
- package/dist/tasks-6BVY5YZF.js +36 -0
- package/dist/{terminal-lease-C2J3JYRE.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-HALS6BLF.js → uninstall-FXYMFFRT.js} +17 -17
- package/dist/{upgrade-MS72RJEP.js → upgrade-4HD5HAIV.js} +40 -39
- package/dist/{usage-NHG6MCJM.js → usage-4GWM2WWP.js} +136 -105
- package/dist/{verifiers-7AUNVXDY.js → verifiers-GSKWKWVG.js} +28 -27
- package/dist/verify-3AS3ULCY.js +30 -0
- package/dist/{version-KGEG7EPO.js → version-RFPKO6T7.js} +4 -4
- package/dist/{web-fetch-V4FKSDAV.js → web-fetch-MQN4FH3X.js} +169 -18
- package/dist/wiki-generate-7BV7XWIY.js +614 -0
- package/dist/{with-panes-BDQEWBRT.js → with-panes-OFTNAR4Y.js} +34 -20
- package/dist/worker/entry.js +99 -88
- package/dist/{workspace-ZJ6BFM3Q.js → workspace-DZ7JADBG.js} +6 -6
- package/docs/README.md +7 -6
- package/docs/architecture/acp.md +10 -0
- package/docs/architecture/architecture.md +5 -5
- 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/evidence-and-memory.md +10 -0
- package/docs/architecture/pi-boundary.md +37 -7
- package/docs/architecture/prompt-envelope-and-tools.md +7 -7
- package/docs/architecture/session-lifecycle.md +4 -4
- package/docs/architecture/worker-dispatch-mechanics.md +4 -0
- package/docs/guide/commands-and-modes.md +49 -36
- package/docs/guide/configuration-and-targets.md +7 -2
- package/docs/guide/configuration-reference.md +13 -3
- package/docs/guide/environment-variables.md +6 -2
- 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 +9 -2
- package/docs/process/development-pipeline.md +10 -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/release-cut-checklist.md +6 -6
- package/evals/README.md +4 -0
- package/evals/behavioral-corpus-grader.mjs +147 -14
- 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/registry.yaml +1 -1
- package/skills/skill-marketplace.json +1 -1
- 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/context-map.ts +75 -14
- package/src/cli/context.ts +46 -17
- package/src/cli/eval.ts +17 -3
- package/src/cli/modes/print.ts +32 -4
- package/src/cli/run.ts +16 -14
- package/src/cli/skills-eval.ts +10 -8
- package/src/cli/steer-channel.ts +31 -18
- package/src/cli/targets.ts +83 -31
- package/src/cli/tasks.ts +10 -1
- package/src/cli/upgrade.ts +9 -6
- package/src/cli/usage.ts +24 -0
- package/src/cli/wiki-generate.ts +239 -96
- package/src/core/bash-exec.ts +43 -15
- package/src/core/bus-events.ts +15 -0
- 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/incomplete-installation.ts +3 -1
- package/src/core/settings-layers.ts +21 -5
- package/src/core/termination.ts +26 -9
- package/src/core/untrusted-content.ts +16 -0
- package/src/core/workspace-trust.ts +179 -0
- package/src/domains/agents/builtins/coder.md +4 -2
- package/src/domains/agents/builtins/context-bootstrap.md +3 -1
- package/src/domains/agents/builtins/documenter.md +7 -4
- package/src/domains/agents/builtins/researcher.md +1 -0
- package/src/domains/agents/builtins/scout.md +7 -1
- 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 +72 -10
- 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 +9 -57
- package/src/domains/context/wiki/assemble.ts +14 -10
- package/src/domains/context/wiki/evidence.ts +209 -0
- package/src/domains/context/wiki/generate.ts +201 -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 +42 -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 +6 -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/contract.ts +10 -2
- 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 +2 -0
- package/src/domains/dispatch/extension.ts +190 -105
- package/src/domains/dispatch/fleet-run.ts +20 -0
- package/src/domains/dispatch/gate-role-prompts.ts +4 -2
- package/src/domains/dispatch/parallel-writers.ts +34 -0
- package/src/domains/dispatch/reservation-store.ts +8 -34
- 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/types.ts +4 -3
- 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 +5 -1
- 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 +4 -2
- 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/rules.ts +5 -1
- 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/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/contract.ts +2 -2
- package/src/domains/observability/projection.ts +30 -9
- 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 +10 -0
- package/src/domains/prompts/fragments/operating/delegation.md +5 -0
- package/src/domains/prompts/fragments/wiki/page.md +28 -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/runtime-resolution.ts +11 -9
- package/src/domains/providers/runtimes/cloud/openrouter.ts +2 -0
- package/src/domains/resources/skills/promotion.ts +8 -1
- package/src/domains/safety/action-classifier.ts +9 -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 +11 -0
- package/src/domains/safety/extension.ts +11 -2
- package/src/domains/safety/policy-engine.ts +189 -32
- package/src/domains/safety/project-policy.ts +7 -2
- package/src/domains/safety/workspace-trust.ts +43 -0
- 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 +43 -33
- package/src/domains/session/entries.ts +169 -4
- package/src/domains/session/prompt-manifest.ts +47 -8
- package/src/domains/session/task-board.ts +21 -3
- package/src/domains/user-tasks/handoff.ts +16 -0
- package/src/engine/acp/adapter.ts +44 -12
- package/src/engine/acp/server.ts +1 -0
- package/src/engine/acp/transport.ts +2 -1
- package/src/engine/acp/types.ts +6 -1
- package/src/engine/antigravity/subprocess-runtime.ts +20 -4
- package/src/engine/api-registry.ts +19 -2
- 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/env-api-keys.ts +2 -1
- package/src/engine/external-subprocess.ts +14 -3
- 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 +53 -15
- 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 +17 -2
- package/src/interactive/editor-submit.ts +13 -0
- package/src/interactive/interactive-application.ts +8 -2
- package/src/interactive/interactive-event-projection.ts +7 -1
- package/src/interactive/interactive-presentation.ts +15 -7
- package/src/interactive/interactive-slash-runtime.ts +2 -0
- package/src/interactive/layout.ts +2 -1
- package/src/interactive/model-session-replay.ts +2 -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/message-picker.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-commands.ts +9 -7
- 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/watch-pane.ts +18 -4
- package/src/interactive/worker-stream.ts +7 -7
- package/src/tools/agent-tools.ts +6 -3
- package/src/tools/bash.ts +1 -1
- package/src/tools/builtin-tool-catalog.ts +9 -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 +34 -0
- package/src/tools/context/index.ts +32 -7
- package/src/tools/context/surface.ts +15 -4
- package/src/tools/decide.ts +1 -1
- package/src/tools/dispatch-admission.ts +12 -1
- package/src/tools/dispatch-arguments.ts +38 -1
- package/src/tools/dispatch-plan.ts +7 -7
- package/src/tools/dispatch-runner.ts +48 -32
- 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/find.ts +13 -4
- package/src/tools/grep.ts +13 -1
- 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/read.ts +112 -15
- package/src/tools/registry.ts +54 -17
- package/src/tools/result-shaping.ts +110 -2
- package/src/tools/tasks.ts +33 -7
- package/src/tools/verify/frontend.ts +67 -30
- package/src/tools/verify/numeric.ts +6 -1
- 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-WGALA46I.js +0 -22
- package/dist/chunk-2WZ546HR.js +0 -792
- package/dist/chunk-5PSMVOLM.js +0 -56
- package/dist/chunk-EL24TAU4.js +0 -1560
- package/dist/chunk-IZXGRF7P.js +0 -4048
- package/dist/chunk-JVCV3ICN.js +0 -47
- package/dist/chunk-MNJGS2IN.js +0 -33
- package/dist/chunk-O5CVSAG5.js +0 -122
- package/dist/chunk-ODGTEFFI.js +0 -50
- package/dist/chunk-OQE5J4C6.js +0 -73
- package/dist/chunk-UUVG37B4.js +0 -244
- package/dist/chunk-V6HJFQZE.js +0 -228
- package/dist/clio-QLICPCF5.js +0 -25
- package/dist/configure-VEPX4NMX.js +0 -55
- package/dist/context-clear-S4ZJCQUX.js +0 -182
- package/dist/detail-A7JAVSIG.js +0 -98
- package/dist/evidence-4F5USFKH.js +0 -208
- package/dist/fleet-view-MN2VG4MR.js +0 -101
- package/dist/inventory-C26CFDRR.js +0 -101
- package/dist/preload-P6DGH2PZ.js +0 -13
- package/dist/slash-commands-ZXPJD64J.js +0 -92
- package/dist/tasks-IPAGMEIX.js +0 -36
- package/dist/tools-EFFEAIDP.js +0 -28
- package/dist/verify-FWYGPKMR.js +0 -29
- package/dist/wiki-generate-743CIGJW.js +0 -476
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
|
+
findEngineEnvKeys,
|
|
3
4
|
getEngineEnvApiKey
|
|
4
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-DXVMLM3Z.js";
|
|
5
6
|
import {
|
|
6
7
|
init_esm_shims
|
|
7
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-ECBHH7LU.js";
|
|
8
9
|
|
|
9
10
|
// src/engine/ai.ts
|
|
10
11
|
init_esm_shims();
|
|
@@ -71,6 +72,113 @@ function getEngineModel(provider, modelId) {
|
|
|
71
72
|
return engineModels.getModel(provider, modelId);
|
|
72
73
|
}
|
|
73
74
|
|
|
75
|
+
// src/engine/provider-diagnostics.ts
|
|
76
|
+
init_esm_shims();
|
|
77
|
+
import { randomUUID } from "node:crypto";
|
|
78
|
+
import { closeSync, constants, fstatSync, openSync, writeFileSync } from "node:fs";
|
|
79
|
+
import { isAbsolute } from "node:path";
|
|
80
|
+
function instrumentProviderCall(model, options, invoke) {
|
|
81
|
+
let effective = options;
|
|
82
|
+
if (model.api === "anthropic-messages" && options?.cacheRetention === void 0) {
|
|
83
|
+
const retention = process.env.CLIO_CODER_ANTHROPIC_CACHE_RETENTION;
|
|
84
|
+
if (retention !== void 0 && retention !== "") {
|
|
85
|
+
if (retention !== "none" && retention !== "short" && retention !== "long") {
|
|
86
|
+
throw new Error("CLIO_CODER_ANTHROPIC_CACHE_RETENTION must be none, short, or long");
|
|
87
|
+
}
|
|
88
|
+
effective = { ...options, cacheRetention: retention };
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
const path = process.env.CLIO_CODER_PROVIDER_DUMP_PATH;
|
|
92
|
+
if (!path) return invoke(effective);
|
|
93
|
+
const sink = openDump(path);
|
|
94
|
+
const payloads = [];
|
|
95
|
+
const redact = diagnosticSerializer(model, effective);
|
|
96
|
+
const callId = randomUUID();
|
|
97
|
+
const onPayload = effective?.onPayload;
|
|
98
|
+
const instrumented = {
|
|
99
|
+
...effective,
|
|
100
|
+
onPayload: async (payload, currentModel) => {
|
|
101
|
+
const replacement = await onPayload?.(payload, currentModel);
|
|
102
|
+
try {
|
|
103
|
+
payloads.push(JSON.parse(redact(replacement === void 0 ? payload : replacement)));
|
|
104
|
+
} catch {
|
|
105
|
+
payloads.push({ diagnosticError: "payload could not be serialized" });
|
|
106
|
+
}
|
|
107
|
+
return replacement;
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
const finish = (terminal) => {
|
|
111
|
+
try {
|
|
112
|
+
writeFileSync(sink, `${redact({ callId, api: model.api, model: model.id, payloads, ...terminal })}
|
|
113
|
+
`, "utf8");
|
|
114
|
+
} catch {
|
|
115
|
+
process.emitWarning("Provider diagnostic dump could not be written", { code: "CLIO_CODER_PROVIDER_DUMP_FAILED" });
|
|
116
|
+
} finally {
|
|
117
|
+
try {
|
|
118
|
+
closeSync(sink);
|
|
119
|
+
} catch {
|
|
120
|
+
process.emitWarning("Provider diagnostic dump could not be closed", { code: "CLIO_CODER_PROVIDER_DUMP_FAILED" });
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
try {
|
|
125
|
+
const stream2 = invoke(instrumented);
|
|
126
|
+
void stream2.result().then(
|
|
127
|
+
(response) => finish({ response }),
|
|
128
|
+
(error) => finish({ error: String(error) })
|
|
129
|
+
);
|
|
130
|
+
return stream2;
|
|
131
|
+
} catch (error) {
|
|
132
|
+
finish({ error: error instanceof Error ? error.message : String(error) });
|
|
133
|
+
throw error;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
function openDump(path) {
|
|
137
|
+
if (!isAbsolute(path)) throw new Error("CLIO_CODER_PROVIDER_DUMP_PATH must be an absolute file path");
|
|
138
|
+
const fd = openSync(
|
|
139
|
+
path,
|
|
140
|
+
constants.O_WRONLY | constants.O_CREAT | constants.O_APPEND | constants.O_NOFOLLOW | constants.O_NONBLOCK,
|
|
141
|
+
384
|
|
142
|
+
);
|
|
143
|
+
try {
|
|
144
|
+
const stat = fstatSync(fd);
|
|
145
|
+
if (!stat.isFile() || (stat.mode & 511) !== 384 || process.getuid !== void 0 && stat.uid !== process.getuid()) {
|
|
146
|
+
throw new Error("CLIO_CODER_PROVIDER_DUMP_PATH must be an operator-owned regular file with mode 0600");
|
|
147
|
+
}
|
|
148
|
+
return fd;
|
|
149
|
+
} catch (error) {
|
|
150
|
+
closeSync(fd);
|
|
151
|
+
throw error;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
function diagnosticSerializer(model, options) {
|
|
155
|
+
const secrets = /* @__PURE__ */ new Set();
|
|
156
|
+
const ambientKeys = (findEngineEnvKeys(model.provider, options?.env) ?? []).map(
|
|
157
|
+
(name) => options?.env?.[name] || process.env[name]
|
|
158
|
+
);
|
|
159
|
+
for (const key of [options?.apiKey, ...ambientKeys]) {
|
|
160
|
+
if (key && key !== "<authenticated>") secrets.add(key);
|
|
161
|
+
}
|
|
162
|
+
for (const headers of [options?.headers, model.headers]) {
|
|
163
|
+
for (const [key, value] of Object.entries(headers ?? {})) {
|
|
164
|
+
if (typeof value === "string" && value.length > 0 && /auth|api[-_]?key|cookie|token|secret/iu.test(key)) {
|
|
165
|
+
secrets.add(value);
|
|
166
|
+
const token = value.match(/^(?:Bearer|Basic)\s+(.+)$/iu)?.[1];
|
|
167
|
+
if (token) secrets.add(token);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
return (value) => {
|
|
172
|
+
const body = typeof value === "object" && value !== null && !Array.isArray(value) ? Object.fromEntries(
|
|
173
|
+
Object.entries(value).filter(([key]) => !/^(?:headers|env|apiKey|api_key|authorization)$/iu.test(key))
|
|
174
|
+
) : value;
|
|
175
|
+
let serialized = JSON.stringify(body);
|
|
176
|
+
if (serialized === void 0) serialized = "null";
|
|
177
|
+
for (const secret of secrets) serialized = serialized.replaceAll(JSON.stringify(secret).slice(1, -1), "[REDACTED]");
|
|
178
|
+
return serialized;
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
|
|
74
182
|
// src/engine/api-registry.ts
|
|
75
183
|
var registry = /* @__PURE__ */ new Map();
|
|
76
184
|
var builtinInstances = /* @__PURE__ */ new Map();
|
|
@@ -145,7 +253,7 @@ function resolved(api) {
|
|
|
145
253
|
function hasCloudflareAuth(options) {
|
|
146
254
|
return typeof options?.apiKey === "string" && options.apiKey.trim().length > 0 || typeof options?.headers?.["cf-aig-authorization"] === "string";
|
|
147
255
|
}
|
|
148
|
-
function
|
|
256
|
+
function dispatchEngineStream(model, context, options) {
|
|
149
257
|
registerEngineBuiltins();
|
|
150
258
|
if (compatUniverse) return compatUniverse.stream(model, context, options);
|
|
151
259
|
const provider = builtinProvider(model);
|
|
@@ -157,7 +265,7 @@ function engineStream(model, context, options) {
|
|
|
157
265
|
}
|
|
158
266
|
return resolved(model.api).stream(model, context, withEnvApiKey(model, options));
|
|
159
267
|
}
|
|
160
|
-
function
|
|
268
|
+
function dispatchEngineStreamSimple(model, context, options) {
|
|
161
269
|
registerEngineBuiltins();
|
|
162
270
|
if (compatUniverse) return compatUniverse.streamSimple(model, context, options);
|
|
163
271
|
const provider = builtinProvider(model);
|
|
@@ -169,6 +277,12 @@ function engineStreamSimple(model, context, options) {
|
|
|
169
277
|
}
|
|
170
278
|
return resolved(model.api).streamSimple(model, context, withEnvApiKey(model, options));
|
|
171
279
|
}
|
|
280
|
+
function engineStream(model, context, options) {
|
|
281
|
+
return instrumentProviderCall(model, options, (effective) => dispatchEngineStream(model, context, effective));
|
|
282
|
+
}
|
|
283
|
+
function engineStreamSimple(model, context, options) {
|
|
284
|
+
return instrumentProviderCall(model, options, (effective) => dispatchEngineStreamSimple(model, context, effective));
|
|
285
|
+
}
|
|
172
286
|
async function completeEngineSimple(model, context, options) {
|
|
173
287
|
return engineStreamSimple(model, context, options).result();
|
|
174
288
|
}
|
|
@@ -360,4 +474,4 @@ export {
|
|
|
360
474
|
calculateEngineCost,
|
|
361
475
|
registerFauxFromEnv
|
|
362
476
|
};
|
|
363
|
-
//# sourceMappingURL=chunk-
|
|
477
|
+
//# sourceMappingURL=chunk-5CMARGPF.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/domains/interop/registry.ts
|
|
7
7
|
init_esm_shims();
|
|
@@ -19,7 +19,7 @@ var INTEROP_AGENT_KINDS = [
|
|
|
19
19
|
instructionFiles: ["CLAUDE.md", ".claude/CLAUDE.md"],
|
|
20
20
|
acp: {
|
|
21
21
|
command: "npx",
|
|
22
|
-
args: ["-y", "@zed-industries/claude-code-acp"],
|
|
22
|
+
args: ["-y", "@zed-industries/claude-code-acp@0.16.2"],
|
|
23
23
|
npmPackage: "@zed-industries/claude-code-acp",
|
|
24
24
|
npmPackageBin: "claude-code-acp"
|
|
25
25
|
},
|
|
@@ -39,7 +39,7 @@ var INTEROP_AGENT_KINDS = [
|
|
|
39
39
|
instructionFiles: ["AGENTS.md", "CODEX.md", ".codex/AGENTS.md"],
|
|
40
40
|
acp: {
|
|
41
41
|
command: "npx",
|
|
42
|
-
args: ["-y", "@agentclientprotocol/codex-acp"],
|
|
42
|
+
args: ["-y", "@agentclientprotocol/codex-acp@1.10.0"],
|
|
43
43
|
npmPackage: "@agentclientprotocol/codex-acp",
|
|
44
44
|
npmPackageBin: "codex-acp"
|
|
45
45
|
},
|
|
@@ -138,4 +138,4 @@ export {
|
|
|
138
138
|
interopSourceRank,
|
|
139
139
|
foreignAgentDirs
|
|
140
140
|
};
|
|
141
|
-
//# sourceMappingURL=chunk-
|
|
141
|
+
//# sourceMappingURL=chunk-5CY4Q6QI.js.map
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
resultContractOutputBytes
|
|
4
|
+
} from "./chunk-OQM5IVJY.js";
|
|
2
5
|
import {
|
|
3
6
|
decisionRef
|
|
4
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-5ZMXGW7P.js";
|
|
5
8
|
import {
|
|
6
9
|
truncateUtf8
|
|
7
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-MYI32N4R.js";
|
|
8
11
|
import {
|
|
9
12
|
init_esm_shims
|
|
10
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-ECBHH7LU.js";
|
|
11
14
|
|
|
12
15
|
// src/domains/dispatch/event-pump.ts
|
|
13
16
|
init_esm_shims();
|
|
@@ -89,6 +92,9 @@ function startDispatchEventPump(source, fold, options = {}) {
|
|
|
89
92
|
}
|
|
90
93
|
var WORKER_OUTPUT_MAX_BYTES = 8192;
|
|
91
94
|
var WORKER_OUTPUT_TRUNCATION_MARKER = "\n[worker output truncated]";
|
|
95
|
+
function workerOutputCaptureBytes(contract) {
|
|
96
|
+
return Math.max(WORKER_OUTPUT_MAX_BYTES, resultContractOutputBytes(contract) ?? 0);
|
|
97
|
+
}
|
|
92
98
|
function isRecord(value) {
|
|
93
99
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
94
100
|
}
|
|
@@ -114,12 +120,13 @@ function durableAssistantTextFromEvent(event) {
|
|
|
114
120
|
if (event.message.role !== "assistant" || !isDurableAssistantMessage(event.message)) return "";
|
|
115
121
|
return assistantTextFromContent(event.message.content);
|
|
116
122
|
}
|
|
117
|
-
function boundedOutput(state, text) {
|
|
123
|
+
function boundedOutput(state, text, maxBytes) {
|
|
118
124
|
const bytes = Buffer.byteLength(text, "utf8");
|
|
119
|
-
const bounded = truncateUtf8(text,
|
|
125
|
+
const bounded = truncateUtf8(text, maxBytes, WORKER_OUTPUT_TRUNCATION_MARKER);
|
|
120
126
|
return { state, text: bounded, bytes, truncated: bounded !== text };
|
|
121
127
|
}
|
|
122
|
-
function createWorkerOutputCapture() {
|
|
128
|
+
function createWorkerOutputCapture(options = {}) {
|
|
129
|
+
const maxBytes = Math.max(WORKER_OUTPUT_MAX_BYTES, Math.floor(options.maxBytes ?? WORKER_OUTPUT_MAX_BYTES));
|
|
123
130
|
let finalText = null;
|
|
124
131
|
let partialText = "";
|
|
125
132
|
let partialBytes = 0;
|
|
@@ -144,14 +151,14 @@ function createWorkerOutputCapture() {
|
|
|
144
151
|
const delta = assistantEvent.delta;
|
|
145
152
|
if (typeof delta !== "string" || delta.length === 0) return;
|
|
146
153
|
partialBytes += Buffer.byteLength(delta, "utf8");
|
|
147
|
-
if (partialStored <
|
|
154
|
+
if (partialStored < maxBytes) {
|
|
148
155
|
partialText += delta;
|
|
149
156
|
partialStored += Buffer.byteLength(delta, "utf8");
|
|
150
157
|
}
|
|
151
158
|
},
|
|
152
159
|
snapshot() {
|
|
153
160
|
if (partialBytes > 0 && partialText.trim().length > 0) {
|
|
154
|
-
const bounded = truncateUtf8(partialText.trim(),
|
|
161
|
+
const bounded = truncateUtf8(partialText.trim(), maxBytes, WORKER_OUTPUT_TRUNCATION_MARKER);
|
|
155
162
|
return {
|
|
156
163
|
state: "partial",
|
|
157
164
|
text: bounded,
|
|
@@ -159,7 +166,7 @@ function createWorkerOutputCapture() {
|
|
|
159
166
|
truncated: bounded !== partialText.trim() || partialBytes > partialStored
|
|
160
167
|
};
|
|
161
168
|
}
|
|
162
|
-
if (finalText !== null) return boundedOutput("final", finalText);
|
|
169
|
+
if (finalText !== null) return boundedOutput("final", finalText, maxBytes);
|
|
163
170
|
return void 0;
|
|
164
171
|
}
|
|
165
172
|
};
|
|
@@ -272,6 +279,40 @@ function createDecisionBoardStore(deps = {}) {
|
|
|
272
279
|
deps.appendEntry(entry);
|
|
273
280
|
dirty = true;
|
|
274
281
|
};
|
|
282
|
+
const revise = (interviewId, key, revisionSource, correction) => {
|
|
283
|
+
syncToSession();
|
|
284
|
+
const interview = interviews.find((candidate) => candidate.interviewId === interviewId);
|
|
285
|
+
if (!interview) throw new Error(`decision board: interview ${interviewId} was not found on the active branch`);
|
|
286
|
+
const selected = interview.decisions.find((decision) => decision.key === key);
|
|
287
|
+
if (!selected) throw new Error(`decision board: decision ${key} was not found in interview ${interviewId}`);
|
|
288
|
+
const revisedAt = (deps.now?.() ?? /* @__PURE__ */ new Date()).toISOString();
|
|
289
|
+
const normalizedCorrection = correction?.trim();
|
|
290
|
+
const entries = deps.readEntries?.() ?? [];
|
|
291
|
+
const parentTurnId = deps.getActiveLeafTurnId?.() ?? activeLeafFromEntries(entries);
|
|
292
|
+
if (!parentTurnId) throw new Error("decision board: no active branch leaf is available for the revision");
|
|
293
|
+
const revision = {
|
|
294
|
+
kind: "decisionLedger",
|
|
295
|
+
parentTurnId,
|
|
296
|
+
...interview.origin !== void 0 ? { origin: interview.origin } : {},
|
|
297
|
+
interviewId: interview.interviewId,
|
|
298
|
+
interviewStatus: interview.interviewStatus,
|
|
299
|
+
startedAt: interview.startedAt,
|
|
300
|
+
endedAt: interview.endedAt,
|
|
301
|
+
roundCount: interview.roundCount,
|
|
302
|
+
...interview.summary ? { summary: interview.summary } : {},
|
|
303
|
+
...interview.transcriptPath ? { transcriptPath: interview.transcriptPath } : {},
|
|
304
|
+
...interview.exposure ? { exposure: interview.exposure } : {},
|
|
305
|
+
decisions: interview.decisions.map((decision) => {
|
|
306
|
+
if (decision.key !== selected.key) return { ...decision };
|
|
307
|
+
const next = { ...decision, status: "superseded", revisedAt, revisionSource };
|
|
308
|
+
if (normalizedCorrection) next.correction = normalizedCorrection;
|
|
309
|
+
else delete next.correction;
|
|
310
|
+
return next;
|
|
311
|
+
})
|
|
312
|
+
};
|
|
313
|
+
append(revision);
|
|
314
|
+
return revision;
|
|
315
|
+
};
|
|
275
316
|
const store = {
|
|
276
317
|
snapshot() {
|
|
277
318
|
syncToSession();
|
|
@@ -297,7 +338,7 @@ function createDecisionBoardStore(deps = {}) {
|
|
|
297
338
|
superseded = { interviewId: interview.interviewId, key: prior.key };
|
|
298
339
|
break;
|
|
299
340
|
}
|
|
300
|
-
if (superseded !== null)
|
|
341
|
+
if (superseded !== null) revise(superseded.interviewId, superseded.key, "agent", input.rationale);
|
|
301
342
|
const now = (deps.now?.() ?? /* @__PURE__ */ new Date()).toISOString();
|
|
302
343
|
const entries = deps.readEntries?.() ?? [];
|
|
303
344
|
const parentTurnId = deps.getActiveLeafTurnId?.() ?? activeLeafFromEntries(entries);
|
|
@@ -329,37 +370,7 @@ function createDecisionBoardStore(deps = {}) {
|
|
|
329
370
|
return { entry, superseded };
|
|
330
371
|
},
|
|
331
372
|
supersede(interviewId, key, correction) {
|
|
332
|
-
|
|
333
|
-
const interview = interviews.find((candidate) => candidate.interviewId === interviewId);
|
|
334
|
-
if (!interview) throw new Error(`decision board: interview ${interviewId} was not found on the active branch`);
|
|
335
|
-
const selected = interview.decisions.find((decision) => decision.key === key);
|
|
336
|
-
if (!selected) throw new Error(`decision board: decision ${key} was not found in interview ${interviewId}`);
|
|
337
|
-
const revisedAt = (deps.now?.() ?? /* @__PURE__ */ new Date()).toISOString();
|
|
338
|
-
const normalizedCorrection = correction?.trim();
|
|
339
|
-
const entries = deps.readEntries?.() ?? [];
|
|
340
|
-
const parentTurnId = deps.getActiveLeafTurnId?.() ?? activeLeafFromEntries(entries);
|
|
341
|
-
if (!parentTurnId) throw new Error("decision board: no active branch leaf is available for the revision");
|
|
342
|
-
const revision = {
|
|
343
|
-
kind: "decisionLedger",
|
|
344
|
-
parentTurnId,
|
|
345
|
-
interviewId: interview.interviewId,
|
|
346
|
-
interviewStatus: interview.interviewStatus,
|
|
347
|
-
startedAt: interview.startedAt,
|
|
348
|
-
endedAt: interview.endedAt,
|
|
349
|
-
roundCount: interview.roundCount,
|
|
350
|
-
...interview.summary ? { summary: interview.summary } : {},
|
|
351
|
-
...interview.transcriptPath ? { transcriptPath: interview.transcriptPath } : {},
|
|
352
|
-
...interview.exposure ? { exposure: interview.exposure } : {},
|
|
353
|
-
decisions: interview.decisions.map((decision) => {
|
|
354
|
-
if (decision.key !== selected.key) return { ...decision };
|
|
355
|
-
const next = { ...decision, status: "superseded", revisedAt };
|
|
356
|
-
if (normalizedCorrection) next.correction = normalizedCorrection;
|
|
357
|
-
else delete next.correction;
|
|
358
|
-
return next;
|
|
359
|
-
})
|
|
360
|
-
};
|
|
361
|
-
append(revision);
|
|
362
|
-
return revision;
|
|
373
|
+
return revise(interviewId, key, "operator", correction);
|
|
363
374
|
},
|
|
364
375
|
invalidate() {
|
|
365
376
|
dirty = true;
|
|
@@ -379,6 +390,7 @@ export {
|
|
|
379
390
|
EVENT_TEE_LIMIT,
|
|
380
391
|
startDispatchEventPump,
|
|
381
392
|
WORKER_OUTPUT_MAX_BYTES,
|
|
393
|
+
workerOutputCaptureBytes,
|
|
382
394
|
durableAssistantTextFromEvent,
|
|
383
395
|
createWorkerOutputCapture,
|
|
384
396
|
AdmissionCanceledError,
|
|
@@ -387,4 +399,4 @@ export {
|
|
|
387
399
|
createDecisionBoardStore,
|
|
388
400
|
decisionRationale
|
|
389
401
|
};
|
|
390
|
-
//# sourceMappingURL=chunk-
|
|
402
|
+
//# sourceMappingURL=chunk-5DDOTTG4.js.map
|
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
ensureToolchainRoot,
|
|
5
5
|
findPinnedTool,
|
|
6
6
|
toolchainRoot
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-K2BLQC5E.js";
|
|
8
8
|
import {
|
|
9
9
|
init_esm_shims
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-ECBHH7LU.js";
|
|
11
11
|
|
|
12
12
|
// src/domains/toolchain/install.ts
|
|
13
13
|
init_esm_shims();
|
|
@@ -459,4 +459,4 @@ export {
|
|
|
459
459
|
installTool,
|
|
460
460
|
installPinnedTool
|
|
461
461
|
};
|
|
462
|
-
//# sourceMappingURL=chunk-
|
|
462
|
+
//# sourceMappingURL=chunk-5GZICIYO.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/domains/eval/schema/suite.ts
|
|
7
7
|
init_esm_shims();
|
|
@@ -157,4 +157,4 @@ export {
|
|
|
157
157
|
CANONICAL_METRICS,
|
|
158
158
|
CANONICAL_METRIC_PREFIXES
|
|
159
159
|
};
|
|
160
|
-
//# sourceMappingURL=chunk-
|
|
160
|
+
//# sourceMappingURL=chunk-5PHVPU4G.js.map
|
|
@@ -2,13 +2,13 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
|
|
|
2
2
|
import {
|
|
3
3
|
printError,
|
|
4
4
|
source_default
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-3T4DXWP6.js";
|
|
6
6
|
import {
|
|
7
7
|
authStoragePath
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-HXHFDHB6.js";
|
|
9
9
|
import {
|
|
10
10
|
init_esm_shims
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-ECBHH7LU.js";
|
|
12
12
|
|
|
13
13
|
// src/cli/shared.ts
|
|
14
14
|
init_esm_shims();
|
|
@@ -33,4 +33,4 @@ export {
|
|
|
33
33
|
printPlaintextCredentialWarning,
|
|
34
34
|
credentialWriteFailed
|
|
35
35
|
};
|
|
36
|
-
//# sourceMappingURL=chunk-
|
|
36
|
+
//# sourceMappingURL=chunk-5VTJP36Q.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/skill-activation.ts
|
|
7
7
|
init_esm_shims();
|
|
@@ -150,7 +150,13 @@ function autonomyDenyRejection(level, tool, actionClass) {
|
|
|
150
150
|
return {
|
|
151
151
|
short: `${tool} denied: autonomy level is ${level}`,
|
|
152
152
|
detail: `Clio is at autonomy ${level}: ${actionClass} actions are denied without prompting. Describe the change you would make instead, so the operator can apply it or raise the autonomy level.`,
|
|
153
|
-
hints: [
|
|
153
|
+
hints: [
|
|
154
|
+
...level === "read-only" && actionClass === "execute" ? [
|
|
155
|
+
"For independent permitted inspection, use the native read, grep, find, or ls tools when available. Do not use them to reproduce the denied execution or write; each call still follows its safety policy."
|
|
156
|
+
] : [],
|
|
157
|
+
"Propose the exact edit or command as text.",
|
|
158
|
+
"The operator can change the level in interactive /settings or start a new headless run with clio-coder run --autonomy <level>."
|
|
159
|
+
]
|
|
154
160
|
};
|
|
155
161
|
}
|
|
156
162
|
function autonomyAskRejection(level, tool, actionClass, exposure = DEFAULT_AUTONOMY_EXPOSURE) {
|
|
@@ -184,6 +190,66 @@ function autonomyAskRejection(level, tool, actionClass, exposure = DEFAULT_AUTON
|
|
|
184
190
|
|
|
185
191
|
// src/domains/session/entries.ts
|
|
186
192
|
init_esm_shims();
|
|
193
|
+
import { createHash } from "node:crypto";
|
|
194
|
+
var SKILL_CONTEXT_STATE = "skillContextState";
|
|
195
|
+
function skillContextContentHash(content) {
|
|
196
|
+
return createHash("sha256").update(JSON.stringify(content)).digest("hex");
|
|
197
|
+
}
|
|
198
|
+
function isSkillContextState(value) {
|
|
199
|
+
return isRecord(value) && value.version === 1 && (value.unknown === void 0 || value.unknown === true) && Array.isArray(value.activationRefs) && value.activationRefs.every((ref) => typeof ref === "string");
|
|
200
|
+
}
|
|
201
|
+
function isSkillContextCheckpoint(value) {
|
|
202
|
+
return isRecord(value) && value.version === 1 && Array.isArray(value.skills) && value.skills.every(
|
|
203
|
+
(skill) => isRecord(skill) && [skill.activationRef, skill.requestRef, skill.callRef, skill.resultRef, skill.requestText, skill.contentHash].every(
|
|
204
|
+
isString
|
|
205
|
+
) && isSkillActivation(skill.activation) && Array.isArray(skill.content) && skill.content.every((block) => isRecord(block) && block.type === "text" && typeof block.text === "string")
|
|
206
|
+
);
|
|
207
|
+
}
|
|
208
|
+
function verifiedSkillContextCheckpoint(value) {
|
|
209
|
+
if (!isSkillContextCheckpoint(value)) return false;
|
|
210
|
+
const refs = /* @__PURE__ */ new Set();
|
|
211
|
+
const names = /* @__PURE__ */ new Set();
|
|
212
|
+
return value.skills.every((skill) => {
|
|
213
|
+
const activation = skill.activation;
|
|
214
|
+
if (![skill.activationRef, skill.requestRef, skill.callRef, skill.resultRef].every((ref) => ref.length > 0) || activation.runId !== void 0 || activation.triggeredBy !== "tool" || activation.turnId !== skill.requestRef || !activation.name || !activation.filePath || !activation.source || !activation.sourceOrigin || !/^[a-f0-9]{64}$/.test(activation.hash) || activation.drift !== void 0 && activation.drift !== "match" || skill.content.length === 0 || skill.content.every((block) => block.text.length === 0) || skill.contentHash !== skillContextContentHash(skill.content) || refs.has(skill.activationRef) || names.has(activation.name))
|
|
215
|
+
return false;
|
|
216
|
+
refs.add(skill.activationRef);
|
|
217
|
+
names.add(activation.name);
|
|
218
|
+
return true;
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
function isPreservedUserContext(value) {
|
|
222
|
+
return isRecord(value) && isString(value.turnId) && isString(value.text);
|
|
223
|
+
}
|
|
224
|
+
function mainSkillContextState(entries, policy) {
|
|
225
|
+
if (!policy) return latestSkillContextState(entries);
|
|
226
|
+
if (policy.modelActivation === true && policy.carriedSurface !== true && policy.requests.length === 0 && policy.loadedSkillNames.size === 0 && policy.loadedSkillPolicies.size === 0)
|
|
227
|
+
return latestSkillContextState(entries);
|
|
228
|
+
if (policy.requests.some((request) => !policy.loadedSkillNames.has(request.name))) return null;
|
|
229
|
+
const names = [...policy.loadedSkillNames];
|
|
230
|
+
if (names.length === 0) return null;
|
|
231
|
+
const activationRefs = [];
|
|
232
|
+
for (const name of names) {
|
|
233
|
+
const entry = [...entries].reverse().find(
|
|
234
|
+
(candidate) => candidate.kind === "skillActivation" && candidate.activation.runId === void 0 && candidate.activation.name === name
|
|
235
|
+
);
|
|
236
|
+
if (!entry) return null;
|
|
237
|
+
activationRefs.push(entry.turnId);
|
|
238
|
+
}
|
|
239
|
+
return { version: 1, activationRefs };
|
|
240
|
+
}
|
|
241
|
+
function latestSkillContextState(entries) {
|
|
242
|
+
for (let index = entries.length - 1; index >= 0; index--) {
|
|
243
|
+
const entry = entries[index];
|
|
244
|
+
if (entry?.kind === "custom" && entry.customType === SKILL_CONTEXT_STATE) {
|
|
245
|
+
return isSkillContextState(entry.data) ? entry.data : void 0;
|
|
246
|
+
}
|
|
247
|
+
if (entry?.kind === "compactionSummary" && entry.skillContext !== void 0) {
|
|
248
|
+
return verifiedSkillContextCheckpoint(entry.skillContext) ? { version: 1, activationRefs: entry.skillContext.skills.map((skill) => skill.activationRef) } : void 0;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
return void 0;
|
|
252
|
+
}
|
|
187
253
|
function decisionRef(interviewId, key) {
|
|
188
254
|
return `${interviewId}/${key}`;
|
|
189
255
|
}
|
|
@@ -295,10 +361,11 @@ function isDecisionRecord(value) {
|
|
|
295
361
|
if (!isString(value.value) || !isOneOf(value.status, DECISION_STATUSES) || !isString(value.decidedAt)) return false;
|
|
296
362
|
if (!isOptionalString(value.label) || !isOptionalString(value.source_question)) return false;
|
|
297
363
|
if (value.source !== void 0 && !isOneOf(value.source, ["operator", "agent"])) return false;
|
|
364
|
+
if (value.revisionSource !== void 0 && !isOneOf(value.revisionSource, ["operator", "agent"])) return false;
|
|
298
365
|
if (value.alternatives !== void 0 && !isStringArray(value.alternatives)) return false;
|
|
299
366
|
if (!isOptionalString(value.rationale)) return false;
|
|
300
367
|
if (!isOptionalString(value.revisedAt) || !isOptionalString(value.correction)) return false;
|
|
301
|
-
return value.status === "superseded" ? isString(value.revisedAt) : value.revisedAt === void 0 && value.correction === void 0;
|
|
368
|
+
return value.status === "superseded" ? isString(value.revisedAt) : value.revisedAt === void 0 && value.revisionSource === void 0 && value.correction === void 0;
|
|
302
369
|
}
|
|
303
370
|
function isOptionalCompactionUsage(value) {
|
|
304
371
|
if (value === void 0) return true;
|
|
@@ -318,7 +385,7 @@ function isWorkingSetRef(value) {
|
|
|
318
385
|
return isRecord(value) && isString(value.entry);
|
|
319
386
|
}
|
|
320
387
|
function isEvictedItem(value) {
|
|
321
|
-
return isRecord(value) && isWorkingSetRef(value.ref) && isOneOf(value.reason, EVICTION_REASONS) && isNumber(value.tokensFreed) && isString(value.marker) && isOptionalString(value.by);
|
|
388
|
+
return isRecord(value) && isWorkingSetRef(value.ref) && isOneOf(value.reason, EVICTION_REASONS) && isNumber(value.tokensFreed) && isString(value.marker) && (value.alias === void 0 || typeof value.alias === "string" && /^r[1-9]\d*$/.test(value.alias)) && isOptionalString(value.by);
|
|
322
389
|
}
|
|
323
390
|
function isSessionEntry(value) {
|
|
324
391
|
if (!value || typeof value !== "object") return false;
|
|
@@ -331,7 +398,7 @@ function isSessionEntry(value) {
|
|
|
331
398
|
case "bashExecution":
|
|
332
399
|
return isString(v.command) && isString(v.output) && (v.exitCode === null || isNumber(v.exitCode)) && typeof v.cancelled === "boolean" && typeof v.truncated === "boolean" && isOptionalString(v.fullOutputPath) && isOptionalBoolean(v.excludeFromContext);
|
|
333
400
|
case "custom":
|
|
334
|
-
return isString(v.customType) && isOptionalBoolean(v.display);
|
|
401
|
+
return isString(v.customType) && isOptionalBoolean(v.display) && (v.customType !== SKILL_CONTEXT_STATE || isSkillContextState(v.data));
|
|
335
402
|
case "modelChange":
|
|
336
403
|
return isString(v.provider) && isString(v.modelId) && isOptionalString(v.target);
|
|
337
404
|
case "thinkingLevelChange":
|
|
@@ -341,7 +408,7 @@ function isSessionEntry(value) {
|
|
|
341
408
|
case "branchSummary":
|
|
342
409
|
return isString(v.fromTurnId) && isString(v.summary);
|
|
343
410
|
case "compactionSummary":
|
|
344
|
-
return isString(v.summary) && isNumber(v.tokensBefore) && isString(v.firstKeptTurnId) && isOptionalCompactionUsage(v.usage) && (v.trigger === void 0 || isOneOf(v.trigger, COMPACTION_TRIGGERS)) && isOptionalNumber(v.tokensAfter) && isOptionalNumber(v.messagesSummarized) && isOptionalBoolean(v.isSplitTurn);
|
|
411
|
+
return isString(v.summary) && isNumber(v.tokensBefore) && isString(v.firstKeptTurnId) && isOptionalCompactionUsage(v.usage) && (v.trigger === void 0 || isOneOf(v.trigger, COMPACTION_TRIGGERS)) && isOptionalNumber(v.tokensAfter) && isOptionalNumber(v.messagesSummarized) && isOptionalBoolean(v.isSplitTurn) && (v.skillContext === void 0 || isSkillContextCheckpoint(v.skillContext)) && (v.userContext === void 0 || isPreservedUserContext(v.userContext));
|
|
345
412
|
case "sessionInfo":
|
|
346
413
|
return isOptionalString(v.name) && isOptionalString(v.targetTurnId) && isOptionalString(v.label);
|
|
347
414
|
case "label":
|
|
@@ -387,9 +454,14 @@ export {
|
|
|
387
454
|
mapAutonomy,
|
|
388
455
|
autonomyDenyRejection,
|
|
389
456
|
autonomyAskRejection,
|
|
457
|
+
SKILL_CONTEXT_STATE,
|
|
458
|
+
skillContextContentHash,
|
|
459
|
+
verifiedSkillContextCheckpoint,
|
|
460
|
+
mainSkillContextState,
|
|
461
|
+
latestSkillContextState,
|
|
390
462
|
decisionRef,
|
|
391
463
|
isDecisionRecord,
|
|
392
464
|
isSessionHeader,
|
|
393
465
|
isSessionEntry
|
|
394
466
|
};
|
|
395
|
-
//# sourceMappingURL=chunk-
|
|
467
|
+
//# sourceMappingURL=chunk-5ZMXGW7P.js.map
|