@iowarp/clio-coder 0.4.7 → 0.4.9
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/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +111 -0
- package/CONTRIBUTING.md +83 -74
- package/README.md +69 -47
- package/dist/{acp-W3Y3TRHD.js → acp-ZWZCPS2A.js} +15 -15
- package/dist/{agents-J4ICNLQ3.js → agents-LYSOWZUE.js} +61 -59
- package/dist/assets/codewiki.json +1 -1
- package/dist/assets/web-notices/@hono__node-server-LICENSE +21 -0
- package/dist/assets/web-notices/hono-LICENSE +21 -0
- package/dist/{auth-X2UJUMOC.js → auth-WBQGKWQ5.js} +27 -27
- package/dist/background-BUMOBAQN.js +37 -0
- package/dist/{builtins-XLXWWSRF.js → builtins-ODRJOEDI.js} +7 -7
- package/dist/{chunk-C3G5PNUO.js → chunk-2DRRZ57Q.js} +36 -27
- package/dist/chunk-2JBZYUPY.js +105 -0
- package/dist/chunk-2KUBKL63.js +336 -0
- package/dist/chunk-2VBWFXYE.js +198 -0
- package/dist/{chunk-XZ6UFQ52.js → chunk-2X2R3UTH.js} +25 -15
- package/dist/{chunk-M6Z2V6YU.js → chunk-37LW32LZ.js} +5 -5
- package/dist/{chunk-6LRLOJHQ.js → chunk-3AND2EFU.js} +11 -62
- package/dist/{chunk-FQOOGXBH.js → chunk-3RDHGNU7.js} +101 -33
- package/dist/{chunk-D2T66PDV.js → chunk-3SUDBGEI.js} +41 -208
- package/dist/{chunk-5AJPUR72.js → chunk-3TQN67I2.js} +9 -9
- package/dist/{chunk-LBFQMYS3.js → chunk-3U4BL2EV.js} +5 -3
- package/dist/{chunk-UFYNOQK4.js → chunk-3UQADNG2.js} +7 -7
- package/dist/{chunk-V4ZKOKRB.js → chunk-434LRQ6Z.js} +61 -53
- package/dist/{chunk-NO7J45X6.js → chunk-4ATBOFRP.js} +713 -218
- package/dist/{chunk-ECOMVOHP.js → chunk-4DNL43EZ.js} +3 -3
- package/dist/{chunk-WT5TRMO4.js → chunk-4HFJKRGZ.js} +255 -82
- package/dist/{chunk-5A6XR3RJ.js → chunk-555E2WVV.js} +16 -2
- package/dist/{chunk-WURGVOZJ.js → chunk-5RTEFNBP.js} +18 -14
- package/dist/{config-YXARKGTX.js → chunk-64XJW7NT.js} +24 -268
- package/dist/{chunk-24S3DN22.js → chunk-6TKOFFGE.js} +4 -4
- package/dist/{chunk-YKRJTYNP.js → chunk-6UJ7RDI7.js} +4 -4
- package/dist/{chunk-MZNWZUJM.js → chunk-7FBCRWVT.js} +288 -288
- package/dist/{chunk-UA6W4XFJ.js → chunk-7JSOSVLP.js} +2 -2
- package/dist/chunk-7N3OLLSL.js +637 -0
- package/dist/{chunk-KKEYGFX4.js → chunk-7QQRPB2E.js} +11 -11
- package/dist/{chunk-N37QC5FV.js → chunk-A6DULIMH.js} +21 -9
- package/dist/{fleet-decisions-S3PTZV2D.js → chunk-AB3QXXBC.js} +5 -41
- package/dist/chunk-ACCECAH4.js +49 -0
- package/dist/{chunk-CP3HIR5H.js → chunk-AM6CEP2K.js} +20 -19
- package/dist/chunk-AUHVBIDW.js +19 -0
- package/dist/{chunk-BQQ5MXUC.js → chunk-AY4XE6GN.js} +19 -13
- package/dist/{chunk-ISNCCX42.js → chunk-BBA2TAWV.js} +10 -9
- package/dist/chunk-BFPHMSK7.js +169 -0
- package/dist/{chunk-LVFANMOH.js → chunk-BHJMMCXS.js} +4 -4
- package/dist/{chunk-DO7M3LSX.js → chunk-BMNVVKEW.js} +40 -93
- package/dist/{chunk-VTYHHQ57.js → chunk-CTGZCEI6.js} +2 -2
- package/dist/{chunk-RTLNFZMD.js → chunk-DIAJYJYG.js} +3 -3
- package/dist/chunk-EHZRAB4U.js +63 -0
- package/dist/{chunk-KS7ETA3P.js → chunk-EM2DIQAJ.js} +3 -3
- package/dist/{chunk-MNQN3X6Y.js → chunk-ETF4ROKH.js} +5 -5
- package/dist/{chunk-WN552PKN.js → chunk-F2YM3JY4.js} +744 -1134
- package/dist/{chunk-7EEGBKV4.js → chunk-FEBQWHJT.js} +24 -19
- package/dist/{chunk-4QKAITQT.js → chunk-FPS4R2RN.js} +74 -10
- package/dist/chunk-G5R53COU.js +68 -0
- package/dist/chunk-GHXGMFQ5.js +40 -0
- package/dist/{chunk-GFQ7P2UF.js → chunk-GJDRMBDI.js} +10 -10
- package/dist/{chunk-LZBMXNLP.js → chunk-GM4TY6VN.js} +43 -6
- package/dist/{chunk-NCCQ6DVS.js → chunk-GREYLTZ5.js} +8 -8
- package/dist/{chunk-HOX4YZ2K.js → chunk-H2WSCZZT.js} +19 -3
- package/dist/{chunk-3LXJOICS.js → chunk-H6IUCY6Q.js} +2 -2
- package/dist/{chunk-BO4XV5VX.js → chunk-H72DCH3E.js} +95 -206
- package/dist/{chunk-SEDI5K5B.js → chunk-H7TXJR23.js} +20 -20
- package/dist/chunk-HBJQQTKM.js +40 -0
- package/dist/chunk-HCVKSGNZ.js +990 -0
- package/dist/chunk-HVCAY2FH.js +67 -0
- package/dist/{chunk-34XHRVKG.js → chunk-I47EJPYL.js} +3 -3
- package/dist/{chunk-4N2RZ4TO.js → chunk-IALGWTLO.js} +3 -3
- package/dist/{chunk-IQCNVLO6.js → chunk-IALZJE37.js} +10 -7
- package/dist/{chunk-DLIYANB7.js → chunk-IC7JXLOM.js} +16 -11
- package/dist/{chunk-G4LGUTOE.js → chunk-IOSVTTCD.js} +5 -5
- package/dist/{chunk-DBREN25X.js → chunk-IPTPMLA6.js} +8 -3
- package/dist/{chunk-V552WL53.js → chunk-IZZI3SKQ.js} +3 -67
- package/dist/{chunk-TN5FW4XY.js → chunk-JIYWMQZ5.js} +12 -9
- package/dist/{chunk-T7QQBNLH.js → chunk-JKU34ACI.js} +10 -8
- package/dist/chunk-JOBN2YQQ.js +176 -0
- package/dist/chunk-JOL2QRLE.js +152 -0
- package/dist/{chunk-GXIWHXDB.js → chunk-JTR3VSV3.js} +3 -3
- package/dist/{chunk-T334FW2H.js → chunk-JU6MAMRJ.js} +7 -7
- package/dist/chunk-JURMQWVJ.js +15 -0
- package/dist/{chunk-CULVKYTK.js → chunk-K3XN4LZ4.js} +5 -5
- package/dist/{chunk-3T4DXWP6.js → chunk-KIVFXGBM.js} +27 -7
- package/dist/chunk-KKRXONXG.js +43 -0
- package/dist/{chunk-YPRSNUTC.js → chunk-KOAHT3N2.js} +2 -2
- package/dist/chunk-KP5BPXR3.js +73 -0
- package/dist/{chunk-UA3W4FGC.js → chunk-KRJQG47M.js} +6 -6
- package/dist/{chunk-GI5RRMAH.js → chunk-KW6OJ7IY.js} +19 -21
- package/dist/{chunk-A46ILRS2.js → chunk-L3NBWLSN.js} +4 -4
- package/dist/{chunk-MZHXENL7.js → chunk-L4RUTLRL.js} +8 -8
- package/dist/{chunk-P5SC4DLJ.js → chunk-LGTVWPRN.js} +2 -2
- package/dist/{chunk-65BGHOUR.js → chunk-LSQW6KZO.js} +5 -5
- package/dist/{chunk-TZHN5ITX.js → chunk-LWJYOHT3.js} +8 -8
- package/dist/{chunk-U3TPUXOQ.js → chunk-M6YLF66Z.js} +74 -40
- package/dist/chunk-MJ4QEJVT.js +185 -0
- package/dist/{chunk-T4TY5GG3.js → chunk-MO65K5CH.js} +5 -5
- package/dist/{chunk-TZ6UVP2H.js → chunk-MTOZEQHL.js} +8 -8
- package/dist/chunk-MZDPF35R.js +45 -0
- package/dist/{chunk-P4DL2LM5.js → chunk-MZKYVIWW.js} +8 -119
- package/dist/{chunk-KAFMW7WM.js → chunk-NBPA5QM6.js} +2 -2
- package/dist/{chunk-EUEXGXXR.js → chunk-NMBEW4PP.js} +5 -5
- package/dist/{chunk-SELG4SUR.js → chunk-NPLLK3HO.js} +72 -89
- package/dist/{chunk-VCRVEDUC.js → chunk-NSYGPIVW.js} +5 -5
- package/dist/{context-7HJEWTTP.js → chunk-NXTV5OI5.js} +36 -90
- package/dist/{chunk-IMOD2YPV.js → chunk-NYDG4QP4.js} +9 -19
- package/dist/{chunk-6CA2BHOR.js → chunk-OA2GDACN.js} +5 -5
- package/dist/{chunk-A67NR5AT.js → chunk-PJI57EC6.js} +14 -11
- package/dist/{chunk-IJMW64DX.js → chunk-PJJBUGMR.js} +50 -50
- package/dist/{chunk-CPXGJI2A.js → chunk-PNJE7JPS.js} +20 -5
- package/dist/chunk-PP23PZEV.js +1347 -0
- package/dist/chunk-PPIFDSBK.js +409 -0
- package/dist/{chunk-T52TPHYC.js → chunk-PTFISXQO.js} +8 -7
- package/dist/{chunk-C6GEXX4L.js → chunk-QB33Z5S7.js} +5 -5
- package/dist/{chunk-VMATUZB6.js → chunk-QGNII5VC.js} +10 -10
- package/dist/{chunk-TLTGZTXI.js → chunk-QI72X67S.js} +104 -27
- package/dist/chunk-QKHZZFKH.js +98 -0
- package/dist/{chunk-PFLOULP3.js → chunk-RDKX2PME.js} +4 -4
- package/dist/{chunk-B5ZTR6KZ.js → chunk-RL7LJYN4.js} +1 -1
- package/dist/chunk-RPMNIFRY.js +65 -0
- package/dist/{chunk-L3Z5ANCV.js → chunk-RQROVOV3.js} +13 -11
- package/dist/{chunk-6YHPAAZR.js → chunk-S34A7BSP.js} +3 -3
- package/dist/{chunk-5ZSZEYJK.js → chunk-SJETVJHX.js} +2 -2
- package/dist/{chunk-77CZRFTE.js → chunk-SJMNU4ZS.js} +2 -2
- package/dist/chunk-SLLG2G44.js +85 -0
- package/dist/{chunk-GVZFCJHE.js → chunk-SQAZN2V3.js} +48 -22
- package/dist/{chunk-2O2LVQQK.js → chunk-SQBT46OF.js} +2 -2
- package/dist/{chunk-ZGIGW4ZG.js → chunk-TCUOGIL2.js} +5 -5
- package/dist/{chunk-DACXIVVF.js → chunk-TIWPKCVO.js} +5 -5
- package/dist/{chunk-5CMARGPF.js → chunk-UIU7MGZ3.js} +11 -2
- package/dist/chunk-USBBEKHW.js +177 -0
- package/dist/{chunk-WLHX3MM5.js → chunk-V4XJWDHR.js} +21 -11
- package/dist/{chunk-MBJO5VNZ.js → chunk-VPWGADBG.js} +33 -33
- package/dist/{chunk-UUQ5G6EZ.js → chunk-VWFCAK34.js} +6 -6
- package/dist/{chunk-6CB2IL4N.js → chunk-W5RM7YAH.js} +1 -1
- package/dist/{chunk-4MFBBY2Z.js → chunk-W72LLZAV.js} +3 -3
- package/dist/{chunk-4UHVS5T7.js → chunk-WGRDABW7.js} +8 -8
- package/dist/{chunk-XR3XJN2M.js → chunk-WWRV5RJI.js} +4 -4
- package/dist/{chunk-24TOGHPO.js → chunk-X6FLVUM5.js} +4 -4
- package/dist/{chunk-6YA46L5A.js → chunk-XFLSL7BT.js} +2 -2
- package/dist/{chunk-QKWL7SYE.js → chunk-XJZEDCNT.js} +50 -39
- package/dist/{chunk-UWD3JD5X.js → chunk-XLLEL3K7.js} +10 -10
- package/dist/{chunk-2GPGAE5W.js → chunk-XNIZBOFV.js} +15 -1
- package/dist/chunk-XNZWWDC3.js +686 -0
- package/dist/{chunk-WBVKKTUT.js → chunk-XRECG65F.js} +2 -2
- package/dist/chunk-XTQ7MEJG.js +457 -0
- package/dist/{chunk-GEVQNST4.js → chunk-XZWSP67B.js} +2 -2
- package/dist/{chunk-WB7POC6M.js → chunk-Y3M2T5RO.js} +6 -6
- package/dist/{chunk-RXFPB32E.js → chunk-YJCCMYYT.js} +2 -2
- package/dist/{chunk-EUZRMP4Y.js → chunk-YPQOPFP7.js} +20 -20
- package/dist/{chunk-USZA7GWL.js → chunk-YQ3GFEUY.js} +2 -2
- package/dist/{chunk-BAU36233.js → chunk-YQYINEJI.js} +9 -9
- package/dist/{chunk-CE64C5K5.js → chunk-ZF6CV4WZ.js} +1356 -235
- package/dist/{chunk-3XE4NRLF.js → chunk-ZKJU55MX.js} +4 -2
- package/dist/{chunk-IZYTT3CD.js → chunk-ZKQ63XZ5.js} +16 -39
- package/dist/{chunk-6TAATXXH.js → chunk-ZKVMDNAN.js} +7 -7
- package/dist/chunk-ZST3FRCV.js +132 -0
- package/dist/cli/index.js +50 -38
- package/dist/{clio-L2P7S2R2.js → clio-JUDCLNHC.js} +11 -11
- package/dist/clio-context-tools-FT672MNZ.js +136 -0
- package/dist/{code-nav-B5LNX4KU.js → code-nav-7OVCTP2Z.js} +39 -37
- package/dist/{components-63MMQKUT.js → components-OZXZMDWU.js} +11 -11
- package/dist/config-P3ZQVF63.js +275 -0
- package/dist/config-graph-GKAOBAS5.js +160 -0
- package/dist/{configure-LMVQJ46J.js → configure-25LRYZJG.js} +56 -55
- package/dist/context-72VQV7JX.js +73 -0
- package/dist/{context-YG2LZDYZ.js → context-COWRWXP3.js} +89 -83
- package/dist/{context-XSZKKFBW.js → context-WB3D474G.js} +16 -16
- package/dist/{context-clear-AC5NXHM2.js → context-clear-Y4LYMWC6.js} +88 -82
- package/dist/{context-index-KKTPRV5G.js → context-index-W6A4V7OC.js} +4 -4
- package/dist/{context-map-T7ROR5D5.js → context-map-DKL3QT6D.js} +3 -3
- package/dist/{context-working-set-F4Q4J3NS.js → context-working-set-TMZYVC7A.js} +27 -25
- package/dist/data-tool-KMBWKKWR.js +2987 -0
- package/dist/{detail-H73BEF2N.js → detail-4GLROGY5.js} +89 -83
- package/dist/{dispatch-runner-3RY5FSJC.js → dispatch-runner-TR3LBP5P.js} +113 -107
- package/dist/docs-ZK777W2G.js +101 -0
- package/dist/{doctor-EQYJOGUG.js → doctor-WC4OV2OB.js} +76 -73
- package/dist/{eval-4P7O6CCE.js → eval-FUNWJNUJ.js} +88 -73
- package/dist/{eval-inventory-QOYZERXJ.js → eval-inventory-CX24K2JT.js} +5 -60
- package/dist/evals-L73EBHSU.js +104 -0
- package/dist/{evidence-O76QF7TZ.js → evidence-AVJ2RTHX.js} +99 -93
- package/dist/{evidence-D6GUSYJW.js → evidence-P4NZOAK7.js} +88 -82
- package/dist/evidence-Y55WKYHH.js +246 -0
- package/dist/{evolve-H47BCETS.js → evolve-MAWKRYWF.js} +93 -87
- package/dist/{extensions-NNL3ZOCU.js → extensions-PYQH3H47.js} +14 -13
- package/dist/fleet-M4H2QBWT.js +268 -0
- package/dist/{fleet-KMNS6NOM.js → fleet-ULBXXRDR.js} +146 -138
- package/dist/{fleet-commands-DOWSYCBX.js → fleet-commands-7NNC4JZU.js} +18 -17
- package/dist/fleet-decisions-EHEY7KPU.js +52 -0
- package/dist/{fleet-graph-F2DE2TME.js → fleet-graph-LQ2AHZT3.js} +24 -24
- package/dist/{fleet-inspect-EN2Q6IVB.js → fleet-inspect-5IGBIIYZ.js} +98 -258
- package/dist/{fleet-preflight-FRLETDD3.js → fleet-preflight-UTTNOKMG.js} +9 -4
- package/dist/{fleet-validate-B2XDLS57.js → fleet-validate-YGILJKA6.js} +29 -29
- package/dist/{fleet-verify-4JKUWGJ7.js → fleet-verify-AUWTCDKR.js} +88 -82
- package/dist/{fleet-view-BHJFW26B.js → fleet-view-TGUFCY5A.js} +90 -84
- package/dist/{init-XAT5N5YM.js → init-GFN2Z7NF.js} +111 -104
- package/dist/install-6PIF6F6W.js +19 -0
- package/dist/{interop-FVECHFKG.js → interop-EF5JUWWK.js} +29 -29
- package/dist/{inventory-7KFQGLCV.js → inventory-I6VJDDYF.js} +90 -84
- package/dist/library-3J5IO2OJ.js +75 -0
- package/dist/{library-QAPAO23R.js → library-IJTOFTDS.js} +20 -19
- package/dist/{library-NY2XOT75.js → library-Z3KZSHPE.js} +35 -35
- package/dist/{library-import-5Y6MAS3R.js → library-import-IMKFLDHX.js} +29 -29
- package/dist/{library-inventory-JT6HWITQ.js → library-inventory-CQP5D6GU.js} +21 -21
- package/dist/{library-validation-EQUH25DC.js → library-validation-33UTX7AI.js} +19 -19
- package/dist/mcp-5FWZKUS6.js +26 -0
- package/dist/{memory-DYVTTCP6.js → memory-36CWN67Y.js} +93 -87
- package/dist/{models-MASFJ6Y2.js → models-KQ6PQJJQ.js} +57 -56
- package/dist/{monitor-YMP4NXJJ.js → monitor-XX6ZD6KC.js} +98 -91
- package/dist/{orchestrator-AFQRRTEI.js → orchestrator-SK6HDAOP.js} +1537 -832
- package/dist/{panes-NICTHQCV.js → panes-L27QRXUH.js} +14 -14
- package/dist/{panes-D3Y2KFG5.js → panes-LXZIWNOZ.js} +4 -4
- package/dist/{paths-PSFAUIGO.js → paths-7DJDU4P4.js} +6 -6
- package/dist/{preload-5Q7VXRFJ.js → preload-K2TDYI4Y.js} +88 -82
- package/dist/{reset-7NKZK7JN.js → reset-73VU3XNT.js} +13 -13
- package/dist/{resources-NILSIZAT.js → resources-3BYJYVYL.js} +24 -24
- package/dist/{run-BPZGEBZV.js → run-AR7PY6GW.js} +144 -136
- package/dist/run-script-H2KUDIII.js +41 -0
- package/dist/settings-3VMBMWID.js +72 -0
- package/dist/{share-EZ6ERBMH.js → share-HVWH4FPF.js} +30 -30
- package/dist/{skills-BTVVNYVM.js → skills-5TYEY75Q.js} +30 -30
- package/dist/{skills-eval-UY34MNK7.js → skills-eval-CK3MD63Z.js} +114 -103
- package/dist/{skills-inventory-JDHSIA7I.js → skills-inventory-KSFYG3I6.js} +24 -24
- package/dist/{slash-commands-K4FNQ2AT.js → slash-commands-DMVHML7P.js} +60 -57
- package/dist/{steer-2B3EQGFH.js → steer-XCD6V3EW.js} +4 -4
- package/dist/{support-L2SOL3IE.js → support-JAZL6VBR.js} +7 -7
- package/dist/system-3TDQRMZZ.js +116 -0
- package/dist/{targets-44VKGFLN.js → targets-EZKHAYRN.js} +74 -72
- package/dist/{tasks-3KODKFU7.js → tasks-SNEFHWYW.js} +18 -18
- package/dist/{terminal-lease-LXA7MMPO.js → terminal-lease-BNLFA4OF.js} +8 -7
- package/dist/{tools-3UB7TEVR.js → tools-7IM6BDCE.js} +12 -12
- package/dist/{trace-TAMIU4OJ.js → trace-C3MBGD4S.js} +16 -65
- package/dist/{tui-primitives-A6MUW32V.js → tui-primitives-36BY2774.js} +2 -2
- package/dist/{uninstall-QYVRPEM4.js → uninstall-WWLOSZ42.js} +35 -10
- package/dist/{upgrade-7PMKM2JH.js → upgrade-ETK2JNSJ.js} +42 -51
- package/dist/{usage-6EQV7EQK.js → usage-S2HOB7BZ.js} +112 -102
- package/dist/{verifiers-JLITWSHU.js → verifiers-QDTEVH7R.js} +26 -24
- package/dist/{verify-T7NAEVIG.js → verify-SUKUK6XM.js} +16 -15
- package/dist/web/client/THIRD_PARTY_LICENSES.md +1809 -0
- package/dist/web/client/assets/abnfDiagram-VCTEODGH-BznNOe_I.js +1 -0
- package/dist/web/client/assets/arc-Pry-7G1_.js +1 -0
- package/dist/web/client/assets/architecture-7GRP2DOG-BQO9DL_y.js +1 -0
- package/dist/web/client/assets/architectureDiagram-5GKGNRK7-CKPbdvyx.js +36 -0
- package/dist/web/client/assets/array-BifhSqXX.js +1 -0
- package/dist/web/client/assets/atkinson-hyperlegible-next-latin-ext-wght-normal-C6vrW8VD.woff2 +0 -0
- package/dist/web/client/assets/atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.woff2 +0 -0
- package/dist/web/client/assets/blockDiagram-I7D4REHJ-prINbpbM.js +129 -0
- package/dist/web/client/assets/c4Diagram-7LVT6UL2-DkVRKtyU.js +38 -0
- package/dist/web/client/assets/channel-c4EeUUqA.js +1 -0
- package/dist/web/client/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
- package/dist/web/client/assets/chunk-4HAMMTFA-CV0Z1ApC.js +62 -0
- package/dist/web/client/assets/chunk-5VM5RSS4-ZNzvKenW.js +15 -0
- package/dist/web/client/assets/chunk-75Z2AOVW-D34Nohxq.js +2 -0
- package/dist/web/client/assets/chunk-DU6HZSFF-Das_cS-O.js +125 -0
- package/dist/web/client/assets/chunk-F27PBJKO-CmRojxkG.js +1 -0
- package/dist/web/client/assets/chunk-FOHPRMQF-CoA4358r.js +161 -0
- package/dist/web/client/assets/chunk-GMAD6QVW-ClYZmc73.js +72 -0
- package/dist/web/client/assets/chunk-GVQU2GXP-B2BiHFt-.js +1 -0
- package/dist/web/client/assets/chunk-IMKFNOWR-BGApZ8nP.js +231 -0
- package/dist/web/client/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
- package/dist/web/client/assets/chunk-L3NEJ4N5-DIzCgpkY.js +1 -0
- package/dist/web/client/assets/chunk-OSK3NFVY-BPT-yePv.js +10 -0
- package/dist/web/client/assets/chunk-P2QGCYS3-BC1WTc2t.js +1 -0
- package/dist/web/client/assets/chunk-POPQ4Y6H-BSjzBmZU.js +1 -0
- package/dist/web/client/assets/chunk-PWAF6VOD-BIjLs86Z.js +1 -0
- package/dist/web/client/assets/chunk-SHT3W25Y-CduDz2cm.js +168 -0
- package/dist/web/client/assets/chunk-SVP7TREG-XUn4pPAP.js +88 -0
- package/dist/web/client/assets/chunk-TICWLB2K-DcBy2DKy.js +206 -0
- package/dist/web/client/assets/chunk-XXDRQBXY-DqAYeljN.js +1 -0
- package/dist/web/client/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +1 -0
- package/dist/web/client/assets/classDiagram-ZZMXUADV-C0HR7YKN.js +1 -0
- package/dist/web/client/assets/classDiagram-v2-VYDZK3BY-C0HR7YKN.js +1 -0
- package/dist/web/client/assets/commit-mono-latin-400-normal-s0S3qwFW.woff +0 -0
- package/dist/web/client/assets/commit-mono-latin-400-normal-wzhe4RuD.woff2 +0 -0
- package/dist/web/client/assets/cose-bilkent-JH36ORCC-CVh1icwb.js +1 -0
- package/dist/web/client/assets/cynefin-OW5HDTMX-BecPbyM6.js +1 -0
- package/dist/web/client/assets/cynefinDiagram-5FMLGOSQ-BzMzFwyT.js +62 -0
- package/dist/web/client/assets/cytoscape.esm-c2aL46s-.js +321 -0
- package/dist/web/client/assets/dagre-C-rnJpZF.js +1 -0
- package/dist/web/client/assets/dagre-GXQ25YYZ-CAWJmRMG.js +4 -0
- package/dist/web/client/assets/defaultLocale-BFoDCU3G.js +1 -0
- package/dist/web/client/assets/diagram-S7CK7UJ4--lp0ALmn.js +30 -0
- package/dist/web/client/assets/diagram-UQ7AKVKN-gKUnsjcj.js +41 -0
- package/dist/web/client/assets/diagram-VSXAHHWV-BoN5D1Gh.js +3 -0
- package/dist/web/client/assets/diagram-VX7I27RA-BMtuswQ6.js +24 -0
- package/dist/web/client/assets/diagram-Z3DM3KII-DtU8LXrA.js +24 -0
- package/dist/web/client/assets/dist-v5Q1xZ2K.js +1 -0
- package/dist/web/client/assets/ebnfDiagram-PWID7BFC-DDcnv9BH.js +1 -0
- package/dist/web/client/assets/erDiagram-RLTQ6QDP-DvRb4iDL.js +99 -0
- package/dist/web/client/assets/eventmodeling-NTZA5JFV-01h4SbTc.js +1 -0
- package/dist/web/client/assets/flowDiagram-HODETNUW-Bll_YZ6T.js +1 -0
- package/dist/web/client/assets/framework-YGoR34M4.js +9 -0
- package/dist/web/client/assets/ganttDiagram-EL5Y4UJY-DdFZ9hvH.js +292 -0
- package/dist/web/client/assets/gitGraph-4MIJSDKK-DjD_AAMj.js +1 -0
- package/dist/web/client/assets/gitGraphDiagram-WWUBYQGX-CDyN9n2u.js +106 -0
- package/dist/web/client/assets/graphlib-DS17s2tU.js +1 -0
- package/dist/web/client/assets/index-CVcy0FAn.js +75 -0
- package/dist/web/client/assets/index-Dsi52apB.css +1 -0
- package/dist/web/client/assets/info-A6RAGUB7-C_XK8Hq0.js +1 -0
- package/dist/web/client/assets/infoDiagram-27XIBGKW-DIe4tJ1i.js +2 -0
- package/dist/web/client/assets/init-C-OQMol4.js +1 -0
- package/dist/web/client/assets/ishikawaDiagram-5VMMS53U-CVl5unKI.js +70 -0
- package/dist/web/client/assets/journeyDiagram-3NMN7TZE-CPEB1Vt8.js +139 -0
- package/dist/web/client/assets/kanban-definition-UXKFOSKX-j-9WXjYQ.js +89 -0
- package/dist/web/client/assets/katex-ZlcWpGUi.js +257 -0
- package/dist/web/client/assets/line-BIDAcEtX.js +1 -0
- package/dist/web/client/assets/linear-SzVmGSw4.js +1 -0
- package/dist/web/client/assets/mermaid-parser.core-Ux4vssh0.js +7 -0
- package/dist/web/client/assets/mermaid.core-CDuwVKeh.js +44 -0
- package/dist/web/client/assets/mindmap-definition-YA3MSWOX-5MlQEeQ6.js +96 -0
- package/dist/web/client/assets/newsreader-latin-ext-wght-normal-C-3rgBeH.woff2 +0 -0
- package/dist/web/client/assets/newsreader-latin-wght-normal-CCVVNp6i.woff2 +0 -0
- package/dist/web/client/assets/newsreader-vietnamese-wght-normal-Czsa-EzN.woff2 +0 -0
- package/dist/web/client/assets/ordinal-BDEzSJ7C.js +1 -0
- package/dist/web/client/assets/packet-AYTQ26CC-DRO66c9Q.js +1 -0
- package/dist/web/client/assets/path-fybaL0A-.js +1 -0
- package/dist/web/client/assets/pegDiagram-XKGWAZYB-BakZnSjM.js +1 -0
- package/dist/web/client/assets/pie-WAS4IAKB-BEzcmhz8.js +1 -0
- package/dist/web/client/assets/pieDiagram-E7YTZNPT-DpmqgoPt.js +39 -0
- package/dist/web/client/assets/prism-bash-D6zCJ74D.js +1 -0
- package/dist/web/client/assets/prism-c-04YixN25.js +1 -0
- package/dist/web/client/assets/prism-clike-DapgWyxx.js +1 -0
- package/dist/web/client/assets/prism-core-BtsZdCS6.js +1 -0
- package/dist/web/client/assets/prism-cpp-C-lJbC-6.js +1 -0
- package/dist/web/client/assets/prism-css-CPgOzxXp.js +1 -0
- package/dist/web/client/assets/prism-diff-BF8m0_mq.js +3 -0
- package/dist/web/client/assets/prism-docker-DkT6yOFj.js +1 -0
- package/dist/web/client/assets/prism-fortran-Be5x3y1V.js +1 -0
- package/dist/web/client/assets/prism-go-C_8qAH5n.js +1 -0
- package/dist/web/client/assets/prism-ini-BESK3y0r.js +1 -0
- package/dist/web/client/assets/prism-javascript-BnO-swvr.js +1 -0
- package/dist/web/client/assets/prism-json-Dp_-W-Hv.js +1 -0
- package/dist/web/client/assets/prism-jsx-D-D0NWtC.js +1 -0
- package/dist/web/client/assets/prism-julia-DIjOgiAV.js +1 -0
- package/dist/web/client/assets/prism-latex-DNMbqcH_.js +1 -0
- package/dist/web/client/assets/prism-makefile-CRKWLQ8l.js +1 -0
- package/dist/web/client/assets/prism-markdown-C0FPJ1Iz.js +1 -0
- package/dist/web/client/assets/prism-markup-Cp04rIa1.js +1 -0
- package/dist/web/client/assets/prism-matlab-D-nk08al.js +1 -0
- package/dist/web/client/assets/prism-python-CfiSVtM6.js +1 -0
- package/dist/web/client/assets/prism-r-QmNGR8LX.js +1 -0
- package/dist/web/client/assets/prism-rust-Bu9N8X3N.js +1 -0
- package/dist/web/client/assets/prism-shell-session-Be4UuYoM.js +1 -0
- package/dist/web/client/assets/prism-sql-CYhVDMEE.js +1 -0
- package/dist/web/client/assets/prism-toml-DKb54GAT.js +1 -0
- package/dist/web/client/assets/prism-tsx-p6J2Kc_4.js +1 -0
- package/dist/web/client/assets/prism-typescript-BMqONzxf.js +1 -0
- package/dist/web/client/assets/prism-yaml-C0JHu8gr.js +1 -0
- package/dist/web/client/assets/purify.es-ChwZkWde.js +3 -0
- package/dist/web/client/assets/quadrantDiagram-AXDQQJYC-DuMPwwV2.js +7 -0
- package/dist/web/client/assets/radar-RG4KPBEZ-Djm3oXl5.js +1 -0
- package/dist/web/client/assets/railroad-74A4TZTK-Cpvkwsao.js +1 -0
- package/dist/web/client/assets/railroad-abnf-HS5TGJTU-CpRQ3ruG.js +1 -0
- package/dist/web/client/assets/railroad-ebnf-LZEXJU2U-1Rm5a5eJ.js +1 -0
- package/dist/web/client/assets/railroad-peg-WCYAUIDC-C8344cTh.js +1 -0
- package/dist/web/client/assets/railroadDiagram-O6MQD6OU-CgMS4B6R.js +1 -0
- package/dist/web/client/assets/requirementDiagram-BXWQKSXE-CX5eoNdN.js +84 -0
- package/dist/web/client/assets/rolldown-runtime-hePW80VL.js +1 -0
- package/dist/web/client/assets/rough.esm-Dy-Kn_BL.js +1 -0
- package/dist/web/client/assets/sankeyDiagram-P5KCCOFB-CODBX2N3.js +40 -0
- package/dist/web/client/assets/sequenceDiagram-WJ2MYXX4-eUhhF8OR.js +162 -0
- package/dist/web/client/assets/sizeCapture-INFHLROL-B0uUizjq.js +1 -0
- package/dist/web/client/assets/src-B6xuSHsQ.js +1 -0
- package/dist/web/client/assets/stateDiagram-D77RDMKH-vR6l0NC2.js +1 -0
- package/dist/web/client/assets/stateDiagram-v2-MP3YSRHH-BYUm8jLY.js +1 -0
- package/dist/web/client/assets/swimlanes-42K2YHIH-v9Tw_zX7.js +1 -0
- package/dist/web/client/assets/swimlanesDiagram-VR7AAH4N-B2jdCvhD.js +8 -0
- package/dist/web/client/assets/timeline-definition-24CTP7MA-DxianbhU.js +120 -0
- package/dist/web/client/assets/treeView-Q6P3EWNA-DLxnZb9R.js +1 -0
- package/dist/web/client/assets/treemap-WGGIJYW6-I7UnZ6xJ.js +1 -0
- package/dist/web/client/assets/vennDiagram-4TSXK5OY-Ar7M8Mrj.js +34 -0
- package/dist/web/client/assets/wardley-WFR3VGLG-B8ZSHeDu.js +1 -0
- package/dist/web/client/assets/wardleyDiagram-VM6X3IG4-Qks2FmIn.js +78 -0
- package/dist/web/client/assets/xychartDiagram-S5SC5T6Z-BBBjRtiE.js +7 -0
- package/dist/web/client/clio-coder-logo.webp +0 -0
- package/dist/web/client/icon-192.png +0 -0
- package/dist/web/client/icon-512.png +0 -0
- package/dist/web/client/index.html +6 -0
- package/dist/web/client/manifest.webmanifest +15 -0
- package/dist/web/client/offline.css +55 -0
- package/dist/web/client/offline.html +5 -0
- package/dist/web/client/offline.js +27 -0
- package/dist/web/client/sw.js +34 -0
- package/dist/web/ops-worker.js +37 -0
- package/dist/web/reads-worker.js +1726 -0
- package/dist/web/server.js +8499 -0
- package/dist/web-EMGUGGEI.js +13 -0
- package/dist/{web-fetch-W4TNW4Q7.js → web-fetch-6BRRVQON.js} +22 -5
- package/dist/{wiki-generate-T2TJQJUA.js → wiki-generate-XHSJTDOP.js} +120 -113
- package/dist/{with-panes-CHFC7HGI.js → with-panes-Z6BTEHMZ.js} +12 -12
- package/dist/worker/entry.js +113 -99
- package/docs/README.md +28 -27
- package/docs/architecture/acp.md +5 -9
- package/docs/architecture/alcf-provider.md +0 -3
- package/docs/architecture/architecture.md +0 -3
- package/docs/architecture/artifact-placement.md +12 -4
- package/docs/architecture/artifact-versions.md +0 -3
- package/docs/architecture/capacity-and-scheduling.md +0 -3
- package/docs/architecture/context-engine.md +0 -3
- package/docs/architecture/context-working-set.md +0 -3
- package/docs/architecture/dispatch-architecture-rationale.md +0 -3
- package/docs/architecture/dispatch-typed-intent.md +0 -3
- package/docs/architecture/evidence-and-memory.md +0 -3
- package/docs/architecture/library.md +1 -3
- package/docs/architecture/middleware-and-components.md +0 -3
- package/docs/architecture/model-catalog.md +1 -4
- package/docs/architecture/observability.md +0 -3
- package/docs/architecture/pi-boundary.md +6 -9
- package/docs/architecture/prompt-envelope-and-tools.md +37 -30
- package/docs/architecture/provider-adapter-cookbook.md +1 -4
- package/docs/architecture/safety-model.md +19 -9
- package/docs/architecture/session-lifecycle.md +10 -7
- package/docs/architecture/time-conventions.md +0 -3
- package/docs/architecture/trace-store.md +28 -20
- package/docs/architecture/tui-design.md +38 -18
- package/docs/architecture/worker-context.md +1 -3
- package/docs/architecture/worker-dispatch-mechanics.md +1 -4
- package/docs/guide/authoring-plugins.md +1 -3
- package/docs/guide/built-in-agents.md +0 -3
- package/docs/guide/commands-and-modes.md +41 -25
- package/docs/guide/configuration-and-targets.md +204 -9
- package/docs/guide/configuration-reference.md +125 -17
- package/docs/guide/environment-variables.md +2 -8
- package/docs/guide/exit-codes-and-output.md +0 -3
- package/docs/guide/extensions-and-sharing.md +0 -3
- package/docs/guide/fleet-dispatch.md +3 -5
- package/docs/guide/glossary.md +1 -4
- package/docs/guide/harness-extensions.md +0 -2
- package/docs/guide/installation-and-lifecycle.md +3 -6
- package/docs/guide/interop.md +0 -2
- package/docs/guide/panes-and-files.md +0 -3
- package/docs/guide/plugins.md +0 -3
- package/docs/guide/proactive-memory.md +0 -3
- package/docs/guide/resource-library.md +1 -3
- package/docs/guide/skills-marketplace.md +0 -2
- package/docs/guide/tool-usage.md +166 -67
- package/docs/guide/troubleshooting.md +1 -4
- package/docs/history/config-knobs-audit.md +0 -3
- package/docs/history/release-cut-checklist.md +0 -3
- package/docs/process/development-pipeline.md +0 -3
- package/docs/process/documentation-coverage.md +3 -3
- package/docs/process/documentation-guide.md +16 -22
- package/docs/process/eval-runner.md +0 -3
- package/docs/process/evals-internal.md +0 -3
- package/docs/process/evolution.md +0 -3
- package/docs/process/fleet-demo-runbook.md +6 -9
- package/docs/process/git-commit-provenance.md +0 -3
- package/docs/process/performance-methodology.md +1 -4
- package/docs/process/release-cut-checklist.md +114 -221
- package/docs/process/scientific-validation.md +23 -6
- package/docs/process/tool-audit-v0.4.9.md +357 -0
- package/library/registry.yaml +2 -2
- package/library/skills/meta/clio-coder-test/SKILL.md +25 -15
- package/library/skills/meta/clio-coder-test/evals.md +16 -2
- package/library/skills/meta/clio-coder-test/plugin.json +1 -1
- package/library/skills/meta/clio-coder-test/references/test-map.md +19 -18
- package/library/skills/registry.yaml +2 -2
- package/library/skills/skill-marketplace.json +1 -1
- package/package.json +13 -11
- package/src/cli/argv.ts +31 -0
- package/src/cli/clio.ts +17 -13
- package/src/cli/config.ts +4 -0
- package/src/cli/docs.ts +65 -328
- package/src/cli/doctor-panes.ts +1 -1
- package/src/cli/doctor.ts +3 -1
- package/src/cli/index.ts +17 -2
- package/src/cli/mcp.ts +106 -0
- package/src/cli/skills-eval.ts +8 -2
- package/src/cli/trace.ts +4 -65
- package/src/cli/uninstall.ts +26 -0
- package/src/cli/upgrade.ts +34 -38
- package/src/cli/usage.ts +3 -0
- package/src/cli/verifiers.ts +1 -1
- package/src/cli/web.ts +79 -0
- package/src/core/bash-exec.ts +27 -4
- package/src/core/bus-events.ts +3 -4
- package/src/core/config.ts +73 -1
- package/src/core/defaults.ts +10 -1
- package/src/core/domain-loader.ts +37 -28
- package/src/core/event-bus.ts +1 -1
- package/src/core/run-records.ts +438 -0
- package/src/core/safe-exec.ts +506 -56
- package/src/core/skill-activation.ts +5 -3
- package/src/core/termination.ts +16 -12
- package/src/core/tool-names.ts +33 -12
- package/src/domains/agents/contract.ts +1 -1
- package/src/domains/agents/extension.ts +18 -10
- package/src/domains/config/extension.ts +5 -4
- package/src/domains/context/clio-md.ts +1 -1
- package/src/domains/context/worker/pressure.ts +6 -2
- package/src/domains/context/working-set/path-index.ts +7 -2
- package/src/domains/dispatch/code-step.ts +7 -2
- package/src/domains/dispatch/contract.ts +7 -0
- package/src/domains/dispatch/execution-role.ts +3 -3
- package/src/domains/dispatch/execution-scheduler.ts +204 -79
- package/src/domains/dispatch/extension.ts +206 -26
- package/src/domains/dispatch/fleet-preflight.ts +18 -3
- package/src/domains/dispatch/fleet-run.ts +1 -0
- package/src/domains/dispatch/gate-decisions.ts +3 -3
- package/src/domains/dispatch/heartbeat.ts +1 -1
- package/src/domains/dispatch/host-verification.ts +16 -14
- package/src/domains/dispatch/index.ts +1 -0
- package/src/domains/dispatch/orphan-recovery.ts +1 -0
- package/src/domains/dispatch/receipt-findings.ts +3 -4
- package/src/domains/dispatch/receipt-integrity.ts +3 -0
- package/src/domains/dispatch/reservation-store.ts +7 -9
- package/src/domains/dispatch/route-facts.ts +1 -1
- package/src/domains/dispatch/state.ts +4 -5
- package/src/domains/dispatch/types.ts +3 -1
- package/src/domains/eval/metrics/tracked.ts +22 -2
- package/src/domains/evidence/build.ts +35 -7
- package/src/domains/extensions/operator-runtime.ts +3 -1
- package/src/domains/gateway/mcp/client.ts +923 -0
- package/src/domains/gateway/mcp/config.ts +456 -0
- package/src/domains/gateway/mcp/index.ts +88 -0
- package/src/domains/gateway/mcp/protocol.ts +273 -0
- package/src/domains/gateway/mcp/trust.ts +263 -0
- package/src/domains/lifecycle/doctor.ts +17 -3
- package/src/domains/middleware/hooks.ts +2 -2
- package/src/domains/mux/contract.ts +5 -9
- package/src/domains/mux/detect.ts +1 -1
- package/src/domains/mux/extension.ts +1 -1
- package/src/domains/mux/protocol.ts +5 -7
- package/src/domains/mux/socket-client.ts +3 -3
- package/src/domains/observability/accountability.ts +2 -2
- package/src/domains/observability/background-memory-usage.ts +3 -0
- package/src/domains/observability/compaction-usage.ts +2 -0
- package/src/domains/observability/contract.ts +7 -3
- package/src/domains/observability/cost.ts +5 -0
- package/src/domains/observability/evidence-index.ts +2 -2
- package/src/domains/observability/extension.ts +1 -0
- package/src/domains/observability/out-of-turn-usage.ts +2 -0
- package/src/domains/observability/projection.ts +10 -0
- package/src/domains/observability/trace-store.ts +65 -5
- package/src/domains/prompts/compiler.ts +41 -23
- package/src/domains/prompts/extension.ts +4 -17
- package/src/domains/prompts/fragments/identity/docs-routing.md +2 -2
- package/src/domains/prompts/fragments/operating/skills.md +12 -10
- package/src/domains/providers/cache-deployment.ts +147 -0
- package/src/domains/providers/catalog.ts +12 -7
- package/src/domains/providers/extension.ts +27 -5
- package/src/domains/providers/index.ts +6 -1
- package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +42 -10
- package/src/domains/providers/plugins.ts +3 -13
- package/src/domains/providers/probe/http.ts +44 -59
- package/src/domains/providers/probe/reasoning.ts +2 -0
- package/src/domains/providers/runtimes/common/local-synth.ts +4 -0
- package/src/domains/providers/runtimes/local-native/llamacpp-embed.ts +20 -31
- package/src/domains/providers/runtimes/local-native/llamacpp-rerank.ts +9 -4
- package/src/domains/providers/types/target-descriptor.ts +17 -0
- package/src/domains/safety/action-classifier.ts +17 -1
- package/src/domains/safety/call-target.ts +14 -0
- package/src/domains/safety/contract.ts +1 -1
- package/src/domains/safety/finish-contract.ts +9 -3
- package/src/domains/safety/loop-detector.ts +1 -1
- package/src/domains/safety/policy-engine.ts +7 -0
- package/src/domains/safety/protected-artifacts.ts +3 -4
- package/src/domains/safety/rejection-feedback.ts +1 -1
- package/src/domains/safety/scope.ts +2 -3
- package/src/domains/safety/validation-contract.ts +3 -2
- package/src/domains/scheduling/budget.ts +5 -3
- package/src/domains/scheduling/contract.ts +2 -1
- package/src/domains/scheduling/extension.ts +3 -3
- package/src/domains/session/compaction/branch-summary.ts +1 -1
- package/src/domains/session/compaction/compact.ts +29 -3
- package/src/domains/session/compaction/cut-point.ts +1 -1
- package/src/domains/session/compaction/tokens.ts +5 -10
- package/src/domains/session/contract.ts +1 -1
- package/src/domains/session/cwd-fallback.ts +2 -2
- package/src/domains/session/entries.ts +1 -0
- package/src/domains/session/handoff.ts +5 -1
- package/src/domains/session/history.ts +6 -0
- package/src/domains/session/manager.ts +14 -7
- package/src/domains/session/retry.ts +2 -1
- package/src/domains/session/session-artifacts.ts +12 -7
- package/src/domains/session/task-board.ts +2 -3
- package/src/domains/session/usage.ts +6 -7
- package/src/engine/acp/server.ts +11 -0
- package/src/engine/ai.ts +2 -0
- package/src/engine/apis/openai-completions.ts +17 -4
- package/src/engine/loop-guard.ts +7 -0
- package/src/engine/prewarm.ts +232 -0
- package/src/engine/provider-diagnostics.ts +6 -1
- package/src/engine/provider-error-body.ts +65 -0
- package/src/engine/session.ts +118 -29
- package/src/engine/worker-runtime.ts +3 -0
- package/src/entry/boot-options.ts +2 -0
- package/src/entry/orchestrator.ts +38 -18
- package/src/interactive/chat-loop-messages.ts +3 -0
- package/src/interactive/chat-loop-policy.ts +1 -0
- package/src/interactive/chat-loop.ts +10 -12
- package/src/interactive/chat-panel.ts +23 -9
- package/src/interactive/chat-renderer.ts +33 -11
- package/src/interactive/clio-editor.ts +13 -5
- package/src/interactive/dispatch-board.ts +70 -30
- package/src/interactive/editor-submit.ts +30 -25
- package/src/interactive/footer/widgets.ts +12 -9
- package/src/interactive/interactive-presentation.ts +2 -3
- package/src/interactive/mux-bridge.ts +3 -7
- package/src/interactive/overlay-general-openers.ts +14 -7
- package/src/interactive/overlays/cwd-fallback.ts +1 -1
- package/src/interactive/overlays/library-model.ts +114 -35
- package/src/interactive/overlays/library.ts +52 -5
- package/src/interactive/overlays/list-overlay.ts +4 -1
- package/src/interactive/overlays/session-selector.ts +28 -23
- package/src/interactive/overlays/settings.ts +20 -1
- package/src/interactive/overlays/tree-selector.ts +47 -10
- package/src/interactive/panes-runtime.ts +1 -1
- package/src/interactive/prewarm.ts +11 -197
- package/src/interactive/renderers/compaction-summary.ts +1 -1
- package/src/interactive/renderers/provider-error.ts +118 -0
- package/src/interactive/renderers/retry-status.ts +59 -23
- package/src/interactive/renderers/tool-execution.ts +67 -7
- package/src/interactive/renderers/worker-answer.ts +198 -0
- package/src/interactive/renderers/worker-entry.ts +57 -163
- package/src/interactive/session-usage-reseed.ts +2 -0
- package/src/interactive/side-question.ts +2 -0
- package/src/interactive/slash-commands.ts +26 -1
- package/src/interactive/slash-spec.ts +2 -2
- package/src/interactive/theme/labels.ts +66 -30
- package/src/interactive/turn-context.ts +1 -0
- package/src/interactive/turn-persistence.ts +9 -1
- package/src/interactive/turn-prewarm.ts +126 -19
- package/src/interactive/turn-recovery.ts +2 -1
- package/src/interactive/turn-runtime.ts +36 -5
- package/src/interactive/view/artifacts.ts +3 -2
- package/src/interactive/view/view-overlay.ts +96 -20
- package/src/tools/agent-tools.ts +21 -7
- package/src/tools/artifact.ts +16 -8
- package/src/tools/bash.ts +90 -11
- package/src/tools/bootstrap.ts +42 -4
- package/src/tools/builtin-tool-catalog.ts +80 -11
- package/src/tools/context/index.ts +27 -31
- package/src/tools/context/library.ts +3 -1
- package/src/tools/context/surface.ts +12 -26
- package/src/tools/core-bootstrap.ts +72 -1
- package/src/tools/data/csv.ts +1189 -0
- package/src/tools/data/index.ts +308 -0
- package/src/tools/data/json.ts +1799 -0
- package/src/tools/data/jsonl.ts +561 -0
- package/src/tools/data/shared.ts +452 -0
- package/src/tools/edit-diff.ts +0 -7
- package/src/tools/edit.ts +115 -18
- package/src/tools/file-mutation-queue.ts +114 -4
- package/src/tools/find.ts +108 -29
- package/src/tools/gateway/caps.ts +11 -0
- package/src/tools/gateway/clio-context-surface.ts +41 -0
- package/src/tools/gateway/clio-context-tools.ts +77 -0
- package/src/tools/gateway/data-surface.ts +138 -0
- package/src/tools/gateway/data-tool.ts +201 -0
- package/src/tools/gateway/index.ts +342 -0
- package/src/tools/gateway/mcp-capabilities.ts +469 -0
- package/src/tools/grep.ts +88 -33
- package/src/tools/harness-extensions.ts +3 -0
- package/src/tools/ignore-policy.ts +7 -5
- package/src/tools/ls.ts +111 -20
- package/src/tools/policy.ts +35 -13
- package/src/tools/presentation.ts +6 -0
- package/src/tools/read.ts +634 -156
- package/src/tools/registry.ts +106 -8
- package/src/tools/run-script.ts +997 -0
- package/src/tools/spawn-hygiene.ts +157 -5
- package/src/tools/surface.ts +163 -0
- package/src/tools/verify/authoring.ts +8 -3
- package/src/tools/verify/catalog.ts +14 -1
- package/src/tools/verify/numeric.ts +367 -59
- package/src/tools/verify/perf.ts +171 -9
- package/src/tools/verify/scripts.ts +178 -26
- package/src/tools/web-fetch-surface.ts +22 -0
- package/src/tools/web-fetch.ts +26 -1
- package/src/tools/write.ts +45 -19
- package/src/worker/spec-contract.ts +27 -0
- package/dist/chunk-B6UM3OZC.js +0 -15
- package/dist/chunk-GJ24ODAX.js +0 -196
- package/dist/chunk-HRAKUPIH.js +0 -57
- package/dist/docs-BL7ROUFN.js +0 -292
|
@@ -10,13 +10,13 @@ import {
|
|
|
10
10
|
refKey,
|
|
11
11
|
toolResultPayload,
|
|
12
12
|
toolResultText
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-IPTPMLA6.js";
|
|
14
14
|
import {
|
|
15
15
|
filterEntriesToActivePath
|
|
16
16
|
} from "./chunk-O5F25NIE.js";
|
|
17
17
|
import {
|
|
18
18
|
ceilChars
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-SJMNU4ZS.js";
|
|
20
20
|
import {
|
|
21
21
|
init_esm_shims
|
|
22
22
|
} from "./chunk-ECBHH7LU.js";
|
|
@@ -136,4 +136,4 @@ export {
|
|
|
136
136
|
recallableRefListing,
|
|
137
137
|
recallErrorMessage
|
|
138
138
|
};
|
|
139
|
-
//# sourceMappingURL=chunk-
|
|
139
|
+
//# sourceMappingURL=chunk-4DNL43EZ.js.map
|
|
@@ -3,20 +3,26 @@ import {
|
|
|
3
3
|
createSentinelStripper,
|
|
4
4
|
stripTokenizerSentinels
|
|
5
5
|
} from "./chunk-MCJKEGHO.js";
|
|
6
|
+
import {
|
|
7
|
+
credentialsPresent
|
|
8
|
+
} from "./chunk-CTGZCEI6.js";
|
|
9
|
+
import {
|
|
10
|
+
getSharedBus
|
|
11
|
+
} from "./chunk-RL7LJYN4.js";
|
|
6
12
|
import {
|
|
7
13
|
ceilChars,
|
|
8
14
|
estimateAgentMessageTokens,
|
|
9
15
|
toolSchemaChars
|
|
10
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-SJMNU4ZS.js";
|
|
11
17
|
import {
|
|
12
|
-
|
|
13
|
-
} from "./chunk-
|
|
18
|
+
BusChannels
|
|
19
|
+
} from "./chunk-W5RM7YAH.js";
|
|
14
20
|
import {
|
|
15
|
-
|
|
16
|
-
} from "./chunk-
|
|
21
|
+
readSettings
|
|
22
|
+
} from "./chunk-FPS4R2RN.js";
|
|
17
23
|
import {
|
|
18
|
-
|
|
19
|
-
} from "./chunk-
|
|
24
|
+
warnLegacyNaming
|
|
25
|
+
} from "./chunk-DVNAPPXU.js";
|
|
20
26
|
import {
|
|
21
27
|
CLIO_CONTEXT_WINDOW_WARN_BELOW,
|
|
22
28
|
CLIO_MIN_CONTEXT_WINDOW,
|
|
@@ -33,17 +39,20 @@ import {
|
|
|
33
39
|
registerBuiltinRuntimes,
|
|
34
40
|
requestLmStudioJson,
|
|
35
41
|
resolveLmStudioInstance
|
|
36
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-NPLLK3HO.js";
|
|
37
43
|
import {
|
|
38
44
|
listKnownModelsForRuntime
|
|
39
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-EM2DIQAJ.js";
|
|
40
46
|
import {
|
|
41
47
|
authNotRequiredStatus,
|
|
42
48
|
openAuthStorage,
|
|
43
49
|
registerClioOAuthProviders,
|
|
44
50
|
resolveAuthTarget,
|
|
45
51
|
targetRequiresAuth
|
|
46
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-ZKVMDNAN.js";
|
|
53
|
+
import {
|
|
54
|
+
require_dist
|
|
55
|
+
} from "./chunk-B5GGDIHT.js";
|
|
47
56
|
import {
|
|
48
57
|
getRuntimeRegistry
|
|
49
58
|
} from "./chunk-SRCEQKQS.js";
|
|
@@ -52,31 +61,19 @@ import {
|
|
|
52
61
|
getCatalogModelForRuntime,
|
|
53
62
|
mergeCapabilities,
|
|
54
63
|
resolveCostProvenance
|
|
55
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-JIYWMQZ5.js";
|
|
56
65
|
import {
|
|
57
66
|
activateExternalPluginApiBridge,
|
|
58
67
|
calculateEngineCost,
|
|
59
68
|
ensurePiAiRegistered,
|
|
60
69
|
registerEngineApiProvider
|
|
61
|
-
} from "./chunk-
|
|
62
|
-
import {
|
|
63
|
-
readSettings
|
|
64
|
-
} from "./chunk-4QKAITQT.js";
|
|
65
|
-
import {
|
|
66
|
-
warnLegacyNaming
|
|
67
|
-
} from "./chunk-DVNAPPXU.js";
|
|
70
|
+
} from "./chunk-UIU7MGZ3.js";
|
|
68
71
|
import {
|
|
69
72
|
sleep
|
|
70
73
|
} from "./chunk-6EXUUOSN.js";
|
|
71
74
|
import {
|
|
72
75
|
withStateFileLock
|
|
73
76
|
} from "./chunk-DVJL77SO.js";
|
|
74
|
-
import {
|
|
75
|
-
require_dist
|
|
76
|
-
} from "./chunk-B5GGDIHT.js";
|
|
77
|
-
import {
|
|
78
|
-
safeResourceWrite
|
|
79
|
-
} from "./chunk-ZZFWWYLX.js";
|
|
80
77
|
import {
|
|
81
78
|
clioCacheDir,
|
|
82
79
|
clioConfigDir,
|
|
@@ -85,11 +82,29 @@ import {
|
|
|
85
82
|
resolveClioDirs,
|
|
86
83
|
stateRootRemoved
|
|
87
84
|
} from "./chunk-CTTI7G3T.js";
|
|
85
|
+
import {
|
|
86
|
+
safeResourceWrite
|
|
87
|
+
} from "./chunk-ZZFWWYLX.js";
|
|
88
88
|
import {
|
|
89
89
|
__toESM,
|
|
90
90
|
init_esm_shims
|
|
91
91
|
} from "./chunk-ECBHH7LU.js";
|
|
92
92
|
|
|
93
|
+
// src/domains/providers/types/cost-provenance.ts
|
|
94
|
+
init_esm_shims();
|
|
95
|
+
function normalizeCostProvenance(value) {
|
|
96
|
+
return value ?? "unknown";
|
|
97
|
+
}
|
|
98
|
+
var COST_PROVENANCE_VALUES = /* @__PURE__ */ new Set([
|
|
99
|
+
"known",
|
|
100
|
+
"known_free",
|
|
101
|
+
"estimated",
|
|
102
|
+
"unknown"
|
|
103
|
+
]);
|
|
104
|
+
function resolveCostProvenance2(value, fallback) {
|
|
105
|
+
return typeof value === "string" && COST_PROVENANCE_VALUES.has(value) ? value : fallback;
|
|
106
|
+
}
|
|
107
|
+
|
|
93
108
|
// src/domains/providers/endpoint-capacity.ts
|
|
94
109
|
init_esm_shims();
|
|
95
110
|
|
|
@@ -135,8 +150,8 @@ function endpointSlotsTtlMs(env = process.env) {
|
|
|
135
150
|
}
|
|
136
151
|
function validRecord(key, value) {
|
|
137
152
|
if (typeof value !== "object" || value === null || Array.isArray(value)) return false;
|
|
138
|
-
const
|
|
139
|
-
return
|
|
153
|
+
const record2 = value;
|
|
154
|
+
return record2.endpointKey === key && typeof record2.runtimeId === "string" && record2.runtimeId.length > 0 && typeof record2.slots === "number" && Number.isInteger(record2.slots) && record2.slots > 0 && typeof record2.observedAt === "string" && Number.isFinite(Date.parse(record2.observedAt));
|
|
140
155
|
}
|
|
141
156
|
function readRecords() {
|
|
142
157
|
const path = endpointSlotsPath();
|
|
@@ -149,17 +164,17 @@ function readRecords() {
|
|
|
149
164
|
return [];
|
|
150
165
|
}
|
|
151
166
|
}
|
|
152
|
-
function fresh(
|
|
153
|
-
const observedMs = Date.parse(
|
|
167
|
+
function fresh(record2, nowMs, ttlMs) {
|
|
168
|
+
const observedMs = Date.parse(record2.observedAt);
|
|
154
169
|
return observedMs <= nowMs && nowMs - observedMs < ttlMs;
|
|
155
170
|
}
|
|
156
171
|
function readDiscoveredEndpointSlots(options) {
|
|
157
172
|
const nowMs = options?.nowMs ?? Date.now();
|
|
158
173
|
const ttlMs = options?.ttlMs ?? endpointSlotsTtlMs();
|
|
159
174
|
const out = {};
|
|
160
|
-
for (const
|
|
161
|
-
if (!fresh(
|
|
162
|
-
out[
|
|
175
|
+
for (const record2 of readRecords()) {
|
|
176
|
+
if (!fresh(record2, nowMs, ttlMs)) continue;
|
|
177
|
+
out[record2.endpointKey] = record2;
|
|
163
178
|
}
|
|
164
179
|
return Object.freeze(out);
|
|
165
180
|
}
|
|
@@ -167,7 +182,7 @@ function writeRecords(records) {
|
|
|
167
182
|
const kept = [...records].sort((a, b) => Date.parse(b.observedAt) - Date.parse(a.observedAt)).slice(0, MAX_ENDPOINT_SLOT_RECORDS);
|
|
168
183
|
const file = {
|
|
169
184
|
version: 1,
|
|
170
|
-
endpoints: Object.fromEntries(kept.map((
|
|
185
|
+
endpoints: Object.fromEntries(kept.map((record2) => [record2.endpointKey, { ...record2 }]))
|
|
171
186
|
};
|
|
172
187
|
safeResourceWrite(endpointSlotsPath(), `${JSON.stringify(file, null, 2)}
|
|
173
188
|
`, { encoding: "utf8" });
|
|
@@ -182,7 +197,7 @@ async function recordDiscoveredEndpointSlots(entry, options) {
|
|
|
182
197
|
await withStateFileLock(endpointSlotsPath(), () => {
|
|
183
198
|
if (stateRootRemoved()) return;
|
|
184
199
|
const kept = readRecords().filter(
|
|
185
|
-
(
|
|
200
|
+
(record2) => record2.endpointKey !== entry.endpointKey && fresh(record2, nowMs, ttlMs)
|
|
186
201
|
);
|
|
187
202
|
kept.push({
|
|
188
203
|
endpointKey: entry.endpointKey,
|
|
@@ -754,13 +769,13 @@ function runOverrides(env = process.env) {
|
|
|
754
769
|
return {};
|
|
755
770
|
}
|
|
756
771
|
if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) return {};
|
|
757
|
-
const
|
|
772
|
+
const record2 = parsed;
|
|
758
773
|
const out = {};
|
|
759
|
-
const maxContextTokens =
|
|
774
|
+
const maxContextTokens = record2.maxContextTokens;
|
|
760
775
|
if (typeof maxContextTokens === "number" && Number.isInteger(maxContextTokens) && maxContextTokens > 0) {
|
|
761
776
|
out.maxContextTokens = maxContextTokens;
|
|
762
777
|
}
|
|
763
|
-
const sampling =
|
|
778
|
+
const sampling = record2.sampling;
|
|
764
779
|
if (sampling !== null && typeof sampling === "object" && !Array.isArray(sampling)) {
|
|
765
780
|
const numeric = {};
|
|
766
781
|
for (const [key, value] of Object.entries(sampling)) {
|
|
@@ -1960,14 +1975,14 @@ function resolveRuntimeTarget(providers, input) {
|
|
|
1960
1975
|
}
|
|
1961
1976
|
function modelHintPatch(target, model) {
|
|
1962
1977
|
if (!model || typeof model !== "object") return {};
|
|
1963
|
-
const
|
|
1978
|
+
const record2 = model;
|
|
1964
1979
|
const patch = {};
|
|
1965
|
-
if (!target.modelReasoningAuthoritative && typeof
|
|
1966
|
-
const contextWindow = nonNegativeFiniteNumber(
|
|
1980
|
+
if (!target.modelReasoningAuthoritative && typeof record2.reasoning === "boolean") patch.reasoning = record2.reasoning;
|
|
1981
|
+
const contextWindow = nonNegativeFiniteNumber(record2.contextWindow);
|
|
1967
1982
|
if (contextWindow !== void 0 && target.capabilities.contextWindow <= 0) patch.contextWindow = contextWindow;
|
|
1968
|
-
const maxTokens = nonNegativeFiniteNumber(
|
|
1983
|
+
const maxTokens = nonNegativeFiniteNumber(record2.maxTokens);
|
|
1969
1984
|
if (maxTokens !== void 0 && target.capabilities.maxTokens <= 0) patch.maxTokens = maxTokens;
|
|
1970
|
-
if (Array.isArray(
|
|
1985
|
+
if (Array.isArray(record2.input)) patch.vision = record2.input.includes("image");
|
|
1971
1986
|
return patch;
|
|
1972
1987
|
}
|
|
1973
1988
|
function withoutStaleRuntimeDiagnostics(diagnostics, decisions) {
|
|
@@ -2135,21 +2150,6 @@ function resolveContextWindowDetails(target, runtime, wireModelId, knowledgeBase
|
|
|
2135
2150
|
};
|
|
2136
2151
|
}
|
|
2137
2152
|
|
|
2138
|
-
// src/domains/providers/types/cost-provenance.ts
|
|
2139
|
-
init_esm_shims();
|
|
2140
|
-
function normalizeCostProvenance(value) {
|
|
2141
|
-
return value ?? "unknown";
|
|
2142
|
-
}
|
|
2143
|
-
var COST_PROVENANCE_VALUES = /* @__PURE__ */ new Set([
|
|
2144
|
-
"known",
|
|
2145
|
-
"known_free",
|
|
2146
|
-
"estimated",
|
|
2147
|
-
"unknown"
|
|
2148
|
-
]);
|
|
2149
|
-
function resolveCostProvenance2(value, fallback) {
|
|
2150
|
-
return typeof value === "string" && COST_PROVENANCE_VALUES.has(value) ? value : fallback;
|
|
2151
|
-
}
|
|
2152
|
-
|
|
2153
2153
|
// src/domains/providers/index.ts
|
|
2154
2154
|
init_esm_shims();
|
|
2155
2155
|
|
|
@@ -2414,8 +2414,8 @@ function remainingContextMaxTokens(model, context, options, limits) {
|
|
|
2414
2414
|
|
|
2415
2415
|
// src/engine/apis/sampling-overrides.ts
|
|
2416
2416
|
init_esm_shims();
|
|
2417
|
-
function numberField(
|
|
2418
|
-
const value =
|
|
2417
|
+
function numberField(record2, key) {
|
|
2418
|
+
const value = record2[key];
|
|
2419
2419
|
return typeof value === "number" && Number.isFinite(value) ? value : void 0;
|
|
2420
2420
|
}
|
|
2421
2421
|
function runSamplingOverrides(env = process.env) {
|
|
@@ -2840,7 +2840,7 @@ var ollamaNativeApiProvider = {
|
|
|
2840
2840
|
|
|
2841
2841
|
// src/engine/apis/openai-completions.ts
|
|
2842
2842
|
init_esm_shims();
|
|
2843
|
-
import { TextDecoder } from "node:util";
|
|
2843
|
+
import { TextDecoder as TextDecoder2 } from "node:util";
|
|
2844
2844
|
import {
|
|
2845
2845
|
createAssistantMessageEventStream as createAssistantMessageEventStream3
|
|
2846
2846
|
} from "@earendil-works/pi-ai";
|
|
@@ -2912,8 +2912,8 @@ function liteLLMGatewayRoutingFromHeaders(headers) {
|
|
|
2912
2912
|
};
|
|
2913
2913
|
return Object.keys(observation).length > 1 ? observation : null;
|
|
2914
2914
|
}
|
|
2915
|
-
function gatewayRoutingObservationFromRecord(
|
|
2916
|
-
const value =
|
|
2915
|
+
function gatewayRoutingObservationFromRecord(record2) {
|
|
2916
|
+
const value = record2.gatewayRouting;
|
|
2917
2917
|
if (value === null || typeof value !== "object" || Array.isArray(value)) return null;
|
|
2918
2918
|
const raw = value;
|
|
2919
2919
|
if (raw.gateway !== "litellm") return null;
|
|
@@ -3074,6 +3074,60 @@ function harmonyPrefixTailLength(value) {
|
|
|
3074
3074
|
return 0;
|
|
3075
3075
|
}
|
|
3076
3076
|
|
|
3077
|
+
// src/engine/provider-error-body.ts
|
|
3078
|
+
init_esm_shims();
|
|
3079
|
+
var SDK_BODY_CHARS = 4e3;
|
|
3080
|
+
var SDK_MARKER = /\.\.\. \[truncated (\d+) chars\]/u;
|
|
3081
|
+
var MAX_RESTORED_ERROR_BODY_CHARS = 65536;
|
|
3082
|
+
var MAX_CAPTURE_BYTES = 4 * 1024 * 1024;
|
|
3083
|
+
async function captureErrorBody(response) {
|
|
3084
|
+
if (response.ok || response.body === null) return null;
|
|
3085
|
+
try {
|
|
3086
|
+
const reader = response.clone().body?.getReader();
|
|
3087
|
+
if (reader === void 0) return null;
|
|
3088
|
+
const decoder = new TextDecoder();
|
|
3089
|
+
let text = "";
|
|
3090
|
+
let bytes = 0;
|
|
3091
|
+
for (; ; ) {
|
|
3092
|
+
const { done, value } = await reader.read();
|
|
3093
|
+
if (done) break;
|
|
3094
|
+
bytes += value.byteLength;
|
|
3095
|
+
if (bytes > MAX_CAPTURE_BYTES) {
|
|
3096
|
+
await reader.cancel().catch(() => {
|
|
3097
|
+
});
|
|
3098
|
+
return null;
|
|
3099
|
+
}
|
|
3100
|
+
text += decoder.decode(value, { stream: true });
|
|
3101
|
+
}
|
|
3102
|
+
return text + decoder.decode();
|
|
3103
|
+
} catch {
|
|
3104
|
+
return null;
|
|
3105
|
+
}
|
|
3106
|
+
}
|
|
3107
|
+
function restoreTruncatedErrorBody(message, capturedBody) {
|
|
3108
|
+
if (capturedBody === null) return message;
|
|
3109
|
+
const marker = SDK_MARKER.exec(message);
|
|
3110
|
+
if (marker === null || marker.index < SDK_BODY_CHARS) return message;
|
|
3111
|
+
let parsed;
|
|
3112
|
+
try {
|
|
3113
|
+
parsed = JSON.parse(capturedBody);
|
|
3114
|
+
} catch {
|
|
3115
|
+
return message;
|
|
3116
|
+
}
|
|
3117
|
+
const start = marker.index - SDK_BODY_CHARS;
|
|
3118
|
+
const kept = message.slice(start, marker.index);
|
|
3119
|
+
const dropped = Number(marker[1]);
|
|
3120
|
+
const nested = typeof parsed === "object" && parsed !== null ? parsed.error : void 0;
|
|
3121
|
+
for (const candidate of [nested, parsed]) {
|
|
3122
|
+
if (typeof candidate !== "object" || candidate === null) continue;
|
|
3123
|
+
const full = JSON.stringify(candidate).trim();
|
|
3124
|
+
if (full.length - SDK_BODY_CHARS !== dropped || !full.startsWith(kept)) continue;
|
|
3125
|
+
const restored = full.length > MAX_RESTORED_ERROR_BODY_CHARS ? `${full.slice(0, MAX_RESTORED_ERROR_BODY_CHARS)}... [truncated ${full.length - MAX_RESTORED_ERROR_BODY_CHARS} chars]` : full;
|
|
3126
|
+
return `${message.slice(0, start)}${restored}${message.slice(marker.index + marker[0].length)}`;
|
|
3127
|
+
}
|
|
3128
|
+
return message;
|
|
3129
|
+
}
|
|
3130
|
+
|
|
3077
3131
|
// src/engine/apis/llamacpp-residency.ts
|
|
3078
3132
|
init_esm_shims();
|
|
3079
3133
|
import { performance } from "node:perf_hooks";
|
|
@@ -3606,6 +3660,7 @@ function captureResponseModelId(response, capture, model) {
|
|
|
3606
3660
|
if (runtimeMetadata(model)?.runtimeId === "litellm") {
|
|
3607
3661
|
capture.gatewayRouting = liteLLMGatewayRoutingFromHeaders(response.headers);
|
|
3608
3662
|
}
|
|
3663
|
+
if (!response.ok) capture.errorBody = captureErrorBody(response);
|
|
3609
3664
|
if (!response.body || !response.headers.get("content-type")?.toLowerCase().includes("text/event-stream")) {
|
|
3610
3665
|
return response;
|
|
3611
3666
|
}
|
|
@@ -3636,8 +3691,9 @@ function withResponseModelIdCapture(model, options, sourceFactory) {
|
|
|
3636
3691
|
backendTimings: null,
|
|
3637
3692
|
backendTimingsSource: backendTimingsSourceForModel(model),
|
|
3638
3693
|
gatewayRouting: null,
|
|
3694
|
+
errorBody: null,
|
|
3639
3695
|
buffer: "",
|
|
3640
|
-
decoder: new
|
|
3696
|
+
decoder: new TextDecoder2()
|
|
3641
3697
|
};
|
|
3642
3698
|
const fetchImpl = options.fetch ?? ((input, init) => globalThis.fetch(input, init));
|
|
3643
3699
|
const capturedOptions = {
|
|
@@ -3655,6 +3711,9 @@ function withResponseModelIdCapture(model, options, sourceFactory) {
|
|
|
3655
3711
|
if (capture.gatewayRouting !== null) event.message.gatewayRouting = capture.gatewayRouting;
|
|
3656
3712
|
if (capture.backendTimings !== null) event.message.backendTimings = capture.backendTimings;
|
|
3657
3713
|
} else if (event.type === "error") {
|
|
3714
|
+
if (event.error.errorMessage !== void 0 && capture.errorBody !== null) {
|
|
3715
|
+
event.error.errorMessage = restoreTruncatedErrorBody(event.error.errorMessage, await capture.errorBody);
|
|
3716
|
+
}
|
|
3658
3717
|
event.error.responseModelIdObservation = observation;
|
|
3659
3718
|
if (capture.gatewayRouting !== null) event.error.gatewayRouting = capture.gatewayRouting;
|
|
3660
3719
|
if (capture.backendTimings !== null) event.error.backendTimings = capture.backendTimings;
|
|
@@ -3836,23 +3895,23 @@ function applyLmStudioPayload(payload, model, resolved) {
|
|
|
3836
3895
|
}
|
|
3837
3896
|
return next;
|
|
3838
3897
|
}
|
|
3839
|
-
function applyLlamaCppPromptCachePayload(payload, model) {
|
|
3898
|
+
function applyLlamaCppPromptCachePayload(payload, model, retention) {
|
|
3840
3899
|
const metadata2 = runtimeMetadata(model);
|
|
3841
3900
|
if (model.provider !== "llamacpp" || metadata2?.runtimeId !== "llamacpp") return payload;
|
|
3842
3901
|
if (payload.cache_prompt !== void 0) return payload;
|
|
3843
|
-
return { ...payload, cache_prompt:
|
|
3902
|
+
return { ...payload, cache_prompt: retention !== "none" };
|
|
3844
3903
|
}
|
|
3845
3904
|
function shouldApplyLlamaCppPromptCache(model) {
|
|
3846
3905
|
const metadata2 = runtimeMetadata(model);
|
|
3847
3906
|
return model.provider === "llamacpp" && metadata2?.runtimeId === "llamacpp";
|
|
3848
3907
|
}
|
|
3849
|
-
function composeThinkingOnPayload(resolved, base) {
|
|
3908
|
+
function composeThinkingOnPayload(resolved, base, retention) {
|
|
3850
3909
|
return async (payload, model) => {
|
|
3851
3910
|
if (!isPlainRecord(payload)) {
|
|
3852
3911
|
return base ? await base(payload, model) : void 0;
|
|
3853
3912
|
}
|
|
3854
3913
|
const next = applyLmStudioPayload(
|
|
3855
|
-
applyThinkingPayload(applyLlamaCppPromptCachePayload(payload, model), resolved.thinking, resolved, model),
|
|
3914
|
+
applyThinkingPayload(applyLlamaCppPromptCachePayload(payload, model, retention), resolved.thinking, resolved, model),
|
|
3856
3915
|
model,
|
|
3857
3916
|
resolved
|
|
3858
3917
|
);
|
|
@@ -3888,7 +3947,7 @@ function withSamplingOverrides(model, options, resolved) {
|
|
|
3888
3947
|
};
|
|
3889
3948
|
}
|
|
3890
3949
|
if (promptCache || lmstudio || applied.mechanism === "effort-levels" || applied.mechanism === "budget-tokens" || applied.mechanism === "on-off" || applied.mechanism === "none") {
|
|
3891
|
-
merged.onPayload = composeThinkingOnPayload(resolved, options?.onPayload);
|
|
3950
|
+
merged.onPayload = composeThinkingOnPayload(resolved, options?.onPayload, options?.cacheRetention);
|
|
3892
3951
|
}
|
|
3893
3952
|
return merged;
|
|
3894
3953
|
}
|
|
@@ -4401,16 +4460,10 @@ function resolveProviderKnowledgeBaseRoots(importMetaUrl, options = {}) {
|
|
|
4401
4460
|
// src/domains/providers/plugins.ts
|
|
4402
4461
|
init_esm_shims();
|
|
4403
4462
|
import { join as join5 } from "node:path";
|
|
4404
|
-
function extractPluginPackages(settings) {
|
|
4405
|
-
if (!settings || typeof settings !== "object") return [];
|
|
4406
|
-
const raw = settings.runtimePlugins;
|
|
4407
|
-
if (!Array.isArray(raw)) return [];
|
|
4408
|
-
return raw.filter((entry) => typeof entry === "string" && entry.length > 0);
|
|
4409
|
-
}
|
|
4410
4463
|
async function loadPluginRuntimes(registry, settings) {
|
|
4411
4464
|
const loaded = [];
|
|
4412
4465
|
const pluginDir = join5(clioConfigDir(), "runtimes");
|
|
4413
|
-
const packages =
|
|
4466
|
+
const packages = settings?.integrations.runtimePlugins ?? [];
|
|
4414
4467
|
try {
|
|
4415
4468
|
const ids = await registry.loadFromDir(pluginDir, activateExternalPluginApiBridge);
|
|
4416
4469
|
loaded.push(...ids);
|
|
@@ -4680,6 +4733,7 @@ function createProvidersBundle(context) {
|
|
|
4680
4733
|
const statuses = /* @__PURE__ */ new Map();
|
|
4681
4734
|
const reasoningCache = /* @__PURE__ */ new Map();
|
|
4682
4735
|
const unsubscribeConfigListeners = [];
|
|
4736
|
+
let stopped = false;
|
|
4683
4737
|
function reasoningCacheKey(targetId, modelId) {
|
|
4684
4738
|
return `${targetId}:${modelId}`;
|
|
4685
4739
|
}
|
|
@@ -4688,6 +4742,10 @@ function createProvidersBundle(context) {
|
|
|
4688
4742
|
if (config) return config.get();
|
|
4689
4743
|
return readSettings();
|
|
4690
4744
|
}
|
|
4745
|
+
function currentProbeTarget(probed) {
|
|
4746
|
+
if (stopped) return void 0;
|
|
4747
|
+
return readConfig().targets.find((target) => sameProbeIdentity(probed, target));
|
|
4748
|
+
}
|
|
4691
4749
|
async function buildProbeContextForTarget(target, desc, signal) {
|
|
4692
4750
|
const probeCtx = {
|
|
4693
4751
|
credentialsPresent: credentialsPresent(),
|
|
@@ -4731,6 +4789,7 @@ function createProvidersBundle(context) {
|
|
|
4731
4789
|
return { available: false, reason: `missing auth (${envHint}store:${authTarget.providerId})` };
|
|
4732
4790
|
}
|
|
4733
4791
|
function buildStatus(target, desc, probe, previous) {
|
|
4792
|
+
if (previous && !sameProbeIdentity(previous.target, target)) previous = void 0;
|
|
4734
4793
|
if (!desc) {
|
|
4735
4794
|
const out2 = {
|
|
4736
4795
|
target,
|
|
@@ -4787,6 +4846,8 @@ function createProvidersBundle(context) {
|
|
|
4787
4846
|
}
|
|
4788
4847
|
async function probeTargetInternal(target, live, options) {
|
|
4789
4848
|
options?.signal?.throwIfAborted();
|
|
4849
|
+
if (stopped) return null;
|
|
4850
|
+
target = structuredClone(target);
|
|
4790
4851
|
const previous = statuses.get(target.id);
|
|
4791
4852
|
const desc = registry.get(target.runtime);
|
|
4792
4853
|
if (!desc) {
|
|
@@ -4802,6 +4863,7 @@ function createProvidersBundle(context) {
|
|
|
4802
4863
|
}
|
|
4803
4864
|
const probeCtx = await buildProbeContextForTarget(target, desc, options?.signal);
|
|
4804
4865
|
options?.signal?.throwIfAborted();
|
|
4866
|
+
if (!currentProbeTarget(target)) return null;
|
|
4805
4867
|
let probeResult;
|
|
4806
4868
|
try {
|
|
4807
4869
|
probeResult = await desc.probe(target, probeCtx);
|
|
@@ -4809,6 +4871,7 @@ function createProvidersBundle(context) {
|
|
|
4809
4871
|
probeResult = { ok: false, error: err instanceof Error ? err.message : String(err) };
|
|
4810
4872
|
}
|
|
4811
4873
|
options?.signal?.throwIfAborted();
|
|
4874
|
+
if (!currentProbeTarget(target)) return null;
|
|
4812
4875
|
if (probeResult.ok && typeof desc.probeModels === "function" && !probeResult.models) {
|
|
4813
4876
|
try {
|
|
4814
4877
|
const ids = await desc.probeModels(target, probeCtx);
|
|
@@ -4817,6 +4880,7 @@ function createProvidersBundle(context) {
|
|
|
4817
4880
|
}
|
|
4818
4881
|
}
|
|
4819
4882
|
options?.signal?.throwIfAborted();
|
|
4883
|
+
if (!currentProbeTarget(target)) return null;
|
|
4820
4884
|
if (probeResult.ok && options?.reasoning !== false && typeof desc.probeReasoning === "function") {
|
|
4821
4885
|
const settings = readConfig();
|
|
4822
4886
|
const orchestratorTarget = settings.chat.target === target.id ? settings.chat.model : null;
|
|
@@ -4825,6 +4889,7 @@ function createProvidersBundle(context) {
|
|
|
4825
4889
|
try {
|
|
4826
4890
|
const result = await desc.probeReasoning(target, candidateModelId, probeCtx);
|
|
4827
4891
|
options?.signal?.throwIfAborted();
|
|
4892
|
+
if (!currentProbeTarget(target)) return null;
|
|
4828
4893
|
reasoningCache.set(reasoningCacheKey(target.id, candidateModelId), result.reasoning);
|
|
4829
4894
|
const capabilityModelId = probeResult.capabilityModelId ?? null;
|
|
4830
4895
|
if (capabilityModelId === null || capabilityModelId === candidateModelId) {
|
|
@@ -4846,7 +4911,9 @@ function createProvidersBundle(context) {
|
|
|
4846
4911
|
}
|
|
4847
4912
|
}
|
|
4848
4913
|
options?.signal?.throwIfAborted();
|
|
4849
|
-
const
|
|
4914
|
+
const current = currentProbeTarget(target);
|
|
4915
|
+
if (!current) return null;
|
|
4916
|
+
const status = buildStatus(current, desc, probeResult, previous);
|
|
4850
4917
|
statuses.set(target.id, status);
|
|
4851
4918
|
if (probeResult.ok && probeResult.models !== void 0) {
|
|
4852
4919
|
recordTargetModelSnapshot(
|
|
@@ -4860,14 +4927,18 @@ function createProvidersBundle(context) {
|
|
|
4860
4927
|
return status;
|
|
4861
4928
|
}
|
|
4862
4929
|
async function probeReasoningForModelInternal(targetId, modelId) {
|
|
4930
|
+
if (stopped) return null;
|
|
4863
4931
|
const settings = readConfig();
|
|
4864
|
-
const
|
|
4865
|
-
if (!
|
|
4932
|
+
const configuredTarget = settings.targets.find((ep) => ep.id === targetId);
|
|
4933
|
+
if (!configuredTarget) return null;
|
|
4934
|
+
const target = structuredClone(configuredTarget);
|
|
4866
4935
|
const desc = registry.get(target.runtime);
|
|
4867
4936
|
if (!desc || typeof desc.probeReasoning !== "function") return null;
|
|
4868
4937
|
const probeCtx = await buildProbeContextForTarget(target, desc);
|
|
4938
|
+
if (!currentProbeTarget(target)) return null;
|
|
4869
4939
|
try {
|
|
4870
4940
|
const result = await desc.probeReasoning(target, modelId, probeCtx);
|
|
4941
|
+
if (!currentProbeTarget(target)) return null;
|
|
4871
4942
|
reasoningCache.set(reasoningCacheKey(targetId, modelId), result.reasoning);
|
|
4872
4943
|
return result.reasoning;
|
|
4873
4944
|
} catch {
|
|
@@ -4898,6 +4969,7 @@ function createProvidersBundle(context) {
|
|
|
4898
4969
|
}
|
|
4899
4970
|
const extension = {
|
|
4900
4971
|
async start() {
|
|
4972
|
+
stopped = false;
|
|
4901
4973
|
ensurePiAiRegistered();
|
|
4902
4974
|
registerClioApiProviders();
|
|
4903
4975
|
registerClioOAuthProviders();
|
|
@@ -4918,6 +4990,7 @@ function createProvidersBundle(context) {
|
|
|
4918
4990
|
}
|
|
4919
4991
|
},
|
|
4920
4992
|
async stop() {
|
|
4993
|
+
stopped = true;
|
|
4921
4994
|
for (const unsubscribe of unsubscribeConfigListeners.splice(0)) unsubscribe();
|
|
4922
4995
|
}
|
|
4923
4996
|
};
|
|
@@ -5018,6 +5091,105 @@ var ProvidersManifest = {
|
|
|
5018
5091
|
dependsOn: ["config"]
|
|
5019
5092
|
};
|
|
5020
5093
|
|
|
5094
|
+
// src/domains/providers/cache-deployment.ts
|
|
5095
|
+
init_esm_shims();
|
|
5096
|
+
function record(value) {
|
|
5097
|
+
return value !== null && typeof value === "object" && !Array.isArray(value) ? value : {};
|
|
5098
|
+
}
|
|
5099
|
+
async function observeCacheDeployment(target, wireModelId, options = {}) {
|
|
5100
|
+
const binding = target.cache?.deployment;
|
|
5101
|
+
const observation = {
|
|
5102
|
+
observedAt: Date.now(),
|
|
5103
|
+
backend: binding?.backend ?? "unknown",
|
|
5104
|
+
model: binding?.model ?? wireModelId,
|
|
5105
|
+
build: null,
|
|
5106
|
+
epoch: null,
|
|
5107
|
+
endpoint: null,
|
|
5108
|
+
requestControls: [],
|
|
5109
|
+
warm: "unsupported",
|
|
5110
|
+
administration: "unsupported",
|
|
5111
|
+
reason: "deployment-unbound"
|
|
5112
|
+
};
|
|
5113
|
+
if (!binding) return observation;
|
|
5114
|
+
try {
|
|
5115
|
+
const control = new URL(binding.controlUrl);
|
|
5116
|
+
if (!["http:", "https:"].includes(control.protocol) || control.username || control.password || control.search || control.hash) {
|
|
5117
|
+
return { ...observation, reason: "deployment-invalid" };
|
|
5118
|
+
}
|
|
5119
|
+
const root = control.href.replace(/\/$/, "").replace(/\/v1$/, "");
|
|
5120
|
+
observation.endpoint = canonicalEndpointUrl(root);
|
|
5121
|
+
const signal = AbortSignal.any([AbortSignal.timeout(2e3), ...options.signal ? [options.signal] : []]);
|
|
5122
|
+
const get = async (url, headers) => {
|
|
5123
|
+
const response = await (options.fetchImpl ?? fetch)(url, {
|
|
5124
|
+
method: "GET",
|
|
5125
|
+
signal,
|
|
5126
|
+
redirect: "error",
|
|
5127
|
+
credentials: "omit",
|
|
5128
|
+
...headers ? { headers } : {}
|
|
5129
|
+
});
|
|
5130
|
+
if (!response.ok) throw new Error("discovery unavailable");
|
|
5131
|
+
return await response.json();
|
|
5132
|
+
};
|
|
5133
|
+
const gateway = target.runtime === "litellm";
|
|
5134
|
+
if (gateway) {
|
|
5135
|
+
if (!binding.gatewayDeploymentId || !target.url) return { ...observation, reason: "gateway-unbound" };
|
|
5136
|
+
const gatewayRoot = target.url.replace(/\/$/, "").replace(/\/v1$/, "");
|
|
5137
|
+
const info = record(
|
|
5138
|
+
await get(`${gatewayRoot}/v1/model/info`, {
|
|
5139
|
+
...target.auth?.headers,
|
|
5140
|
+
...options.gatewayApiKey ? { authorization: `Bearer ${options.gatewayApiKey}` } : {}
|
|
5141
|
+
})
|
|
5142
|
+
);
|
|
5143
|
+
const rows = Array.isArray(info.data) ? info.data.map(record).filter((row2) => row2.model_name === wireModelId) : [];
|
|
5144
|
+
const row = rows.length === 1 ? rows[0] : void 0;
|
|
5145
|
+
const params = record(row?.litellm_params);
|
|
5146
|
+
const modelInfo = record(row?.model_info);
|
|
5147
|
+
if (!row || modelInfo.id !== binding.gatewayDeploymentId || params.model !== binding.model && params.model !== `openai/${binding.model}` || canonicalEndpointUrl(typeof params.api_base === "string" ? params.api_base : void 0) !== observation.endpoint) {
|
|
5148
|
+
return { ...observation, reason: "gateway-route-mismatch" };
|
|
5149
|
+
}
|
|
5150
|
+
} else if (target.runtime !== binding.backend || wireModelId !== binding.model || canonicalEndpointUrl(target.url) !== observation.endpoint) {
|
|
5151
|
+
return { ...observation, reason: "deployment-mismatch" };
|
|
5152
|
+
}
|
|
5153
|
+
if (binding.backend === "vllm") {
|
|
5154
|
+
const version = record(await get(`${root}/version`));
|
|
5155
|
+
observation.build = typeof version.version === "string" ? version.version : null;
|
|
5156
|
+
return {
|
|
5157
|
+
...observation,
|
|
5158
|
+
reason: observation.build === binding.build ? "vllm-scheduler-unverified" : "deployment-build-mismatch"
|
|
5159
|
+
};
|
|
5160
|
+
}
|
|
5161
|
+
let props = record(await get(`${root}/props`));
|
|
5162
|
+
const router = props.role === "router";
|
|
5163
|
+
if (router) {
|
|
5164
|
+
const models = record(await get(`${root}/models`));
|
|
5165
|
+
const selected = Array.isArray(models.data) ? models.data.map(record).find((row) => row.id === binding.model) : void 0;
|
|
5166
|
+
if (record(selected?.status).value !== "loaded") return { ...observation, reason: "model-not-loaded" };
|
|
5167
|
+
props = record(await get(`${root}/props?model=${encodeURIComponent(binding.model)}&autoload=false`));
|
|
5168
|
+
}
|
|
5169
|
+
observation.build = typeof props.build_info === "string" ? props.build_info : null;
|
|
5170
|
+
if (observation.build !== binding.build) return { ...observation, reason: "deployment-build-mismatch" };
|
|
5171
|
+
if (!observation.build.endsWith("-c841aee"))
|
|
5172
|
+
return { ...observation, reason: "deployment-cache-protocol-unverified" };
|
|
5173
|
+
if (props.is_sleeping !== false) return { ...observation, reason: "model-not-loaded" };
|
|
5174
|
+
if (typeof props.model_alias === "string" && props.model_alias !== binding.model)
|
|
5175
|
+
return { ...observation, reason: "deployment-model-mismatch" };
|
|
5176
|
+
if (!router) {
|
|
5177
|
+
const models = record(await get(`${root}/v1/models`));
|
|
5178
|
+
if (!Array.isArray(models.data) || models.data.length !== 1 || record(models.data[0]).id !== binding.model)
|
|
5179
|
+
return { ...observation, reason: "deployment-model-mismatch" };
|
|
5180
|
+
}
|
|
5181
|
+
if (typeof props.start_time === "string") observation.epoch = props.start_time;
|
|
5182
|
+
const slots = await get(`${root}/slots?model=${encodeURIComponent(binding.model)}&autoload=false`);
|
|
5183
|
+
if (!Array.isArray(slots) || slots.length === 0 || slots.some((slot) => record(slot).is_processing !== false)) {
|
|
5184
|
+
return { ...observation, reason: "endpoint-busy-or-unknown" };
|
|
5185
|
+
}
|
|
5186
|
+
if (gateway) return { ...observation, reason: "gateway-cache-transport-unverified" };
|
|
5187
|
+
return { ...observation, requestControls: ["cache_prompt"], warm: "bounded", reason: "loaded-idle-deployment" };
|
|
5188
|
+
} catch {
|
|
5189
|
+
return { ...observation, reason: options.signal?.aborted ? "superseded" : "deployment-unavailable" };
|
|
5190
|
+
}
|
|
5191
|
+
}
|
|
5192
|
+
|
|
5021
5193
|
// src/domains/providers/index.ts
|
|
5022
5194
|
var ProvidersDomainModule = {
|
|
5023
5195
|
manifest: ProvidersManifest,
|
|
@@ -5025,6 +5197,10 @@ var ProvidersDomainModule = {
|
|
|
5025
5197
|
};
|
|
5026
5198
|
|
|
5027
5199
|
export {
|
|
5200
|
+
gatewayRoutingObservationFromRecord,
|
|
5201
|
+
gatewayRoutingObservationLabel,
|
|
5202
|
+
normalizeCostProvenance,
|
|
5203
|
+
resolveCostProvenance2 as resolveCostProvenance,
|
|
5028
5204
|
residencyTargetKey,
|
|
5029
5205
|
setGlobalDefaultMaxOutputTokens,
|
|
5030
5206
|
resolveReservedOutputTokens,
|
|
@@ -5040,8 +5216,6 @@ export {
|
|
|
5040
5216
|
setResidencyNoticeSink,
|
|
5041
5217
|
setProtectedModelsProvider,
|
|
5042
5218
|
withRunOverrides,
|
|
5043
|
-
gatewayRoutingObservationFromRecord,
|
|
5044
|
-
gatewayRoutingObservationLabel,
|
|
5045
5219
|
applyModelCapabilityPatch,
|
|
5046
5220
|
probeCapabilitiesForModel,
|
|
5047
5221
|
resolveModelCapabilities,
|
|
@@ -5056,6 +5230,7 @@ export {
|
|
|
5056
5230
|
readTargetModelSnapshot,
|
|
5057
5231
|
recordTargetModelSnapshot,
|
|
5058
5232
|
FileKnowledgeBase,
|
|
5233
|
+
observeCacheDeployment,
|
|
5059
5234
|
isOrchestratorEligibleRuntime,
|
|
5060
5235
|
isDispatchEligibleRuntime,
|
|
5061
5236
|
modelResidencyForStatus,
|
|
@@ -5070,8 +5245,6 @@ export {
|
|
|
5070
5245
|
firstRuntimeResolutionError,
|
|
5071
5246
|
runtimeResolutionWarnings,
|
|
5072
5247
|
runtimeResolutionWarningsBesideThinkingNotice,
|
|
5073
|
-
normalizeCostProvenance,
|
|
5074
|
-
resolveCostProvenance2 as resolveCostProvenance,
|
|
5075
5248
|
ProvidersDomainModule
|
|
5076
5249
|
};
|
|
5077
|
-
//# sourceMappingURL=chunk-
|
|
5250
|
+
//# sourceMappingURL=chunk-4HFJKRGZ.js.map
|