@iowarp/clio-coder 0.4.6 → 0.4.8
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 +283 -0
- package/CHANGELOG.md +79 -0
- package/CONTRIBUTING.md +178 -96
- package/NOTICE +8 -0
- package/README.md +100 -47
- package/dist/acp-JWPQZM2D.js +130 -0
- package/dist/agents-4GCDIRVX.js +149 -0
- package/dist/assets/codewiki.json +1 -1
- package/dist/assets/tui-notices/get-east-asian-width-LICENSE +9 -0
- package/dist/assets/tui-notices/marked-LICENSE +44 -0
- package/dist/assets/tui-notices/pi-tui-LICENSE +21 -0
- package/dist/assets/web-notices/@hono__node-server-LICENSE +21 -0
- package/dist/assets/web-notices/hono-LICENSE +21 -0
- package/dist/auth-SYAKTDQE.js +551 -0
- package/dist/background-OW67WMYR.js +37 -0
- package/dist/builtins-TKS63VNV.js +22 -0
- package/dist/chunk-2JSCCEKO.js +85 -0
- package/dist/chunk-2SXGG2IV.js +391 -0
- package/dist/chunk-2U2U5POA.js +59 -0
- package/dist/chunk-2ZWLMA3T.js +658 -0
- package/dist/chunk-36XSBPXL.js +579 -0
- package/dist/chunk-3IQOZRQ6.js +396 -0
- package/dist/chunk-3XE4NRLF.js +324 -0
- package/dist/chunk-44U2OUSM.js +243 -0
- package/dist/chunk-4P6M2TTE.js +119 -0
- package/dist/chunk-526ABLHD.js +1219 -0
- package/dist/chunk-5C2OQHLR.js +674 -0
- package/dist/chunk-5D2FNBMG.js +185 -0
- package/dist/chunk-5EQO5NWP.js +243 -0
- package/dist/chunk-5HULHKT2.js +32 -0
- package/dist/chunk-5UG6EZI3.js +66 -0
- package/dist/chunk-5W4FRA5Q.js +22283 -0
- package/dist/chunk-6R5MBXBJ.js +386 -0
- package/dist/chunk-6TKOFFGE.js +1058 -0
- package/dist/chunk-6UJ7RDI7.js +1143 -0
- package/dist/chunk-6X7VOCDY.js +44 -0
- package/dist/chunk-7QQRPB2E.js +915 -0
- package/dist/chunk-ARRUMZ7X.js +1377 -0
- package/dist/chunk-ATB3Q7YO.js +663 -0
- package/dist/chunk-AUHVBIDW.js +19 -0
- package/dist/chunk-BE4I3UJ2.js +668 -0
- package/dist/chunk-BFPHMSK7.js +169 -0
- package/dist/chunk-BHJMMCXS.js +466 -0
- package/dist/chunk-BIY22UUK.js +1322 -0
- package/dist/chunk-D55WO5J7.js +110 -0
- package/dist/chunk-DVJL77SO.js +162 -0
- package/dist/chunk-E2NSPYLC.js +814 -0
- package/dist/chunk-EFXMQYI6.js +4484 -0
- package/dist/chunk-EPYATQMG.js +2718 -0
- package/dist/chunk-EXKUF426.js +1801 -0
- package/dist/chunk-F7Y6QTPL.js +689 -0
- package/dist/chunk-FB3KTE2J.js +1710 -0
- package/dist/chunk-FNVPQQYT.js +117 -0
- package/dist/chunk-GEVQNST4.js +101 -0
- package/dist/chunk-GEYX2NZ5.js +697 -0
- package/dist/chunk-GJBJHJNY.js +2120 -0
- package/dist/chunk-GM4TY6VN.js +1233 -0
- package/dist/chunk-GVU4CXPJ.js +5191 -0
- package/dist/chunk-H5DPSUBB.js +637 -0
- package/dist/chunk-H77XBUBM.js +688 -0
- package/dist/chunk-HMGAKB7E.js +380 -0
- package/dist/chunk-HP7KJ5O2.js +797 -0
- package/dist/chunk-HVCAY2FH.js +67 -0
- package/dist/chunk-ICYIUNO4.js +35 -0
- package/dist/chunk-IILXVWJY.js +223 -0
- package/dist/chunk-JCVIL6TY.js +595 -0
- package/dist/chunk-JIMWEYWO.js +63 -0
- package/dist/chunk-JLBVCROW.js +562 -0
- package/dist/chunk-JOBN2YQQ.js +176 -0
- package/dist/chunk-JOL2QRLE.js +152 -0
- package/dist/chunk-JRA6OBHY.js +974 -0
- package/dist/chunk-JV25I7ID.js +1865 -0
- package/dist/chunk-JYKUMHCQ.js +705 -0
- package/dist/chunk-K3W6BF5C.js +283 -0
- package/dist/chunk-K45LHSCI.js +194 -0
- package/dist/chunk-K53E2PTW.js +1289 -0
- package/dist/chunk-K5UJD6MM.js +39 -0
- package/dist/chunk-KGP3UQGJ.js +200 -0
- package/dist/chunk-KKRXONXG.js +43 -0
- package/dist/chunk-KWJXCL2X.js +103 -0
- package/dist/chunk-L75H5B3B.js +446 -0
- package/dist/chunk-LLCGGVSW.js +108 -0
- package/dist/chunk-LZCCBLRC.js +57 -0
- package/dist/chunk-LZDLYSUN.js +197 -0
- package/dist/chunk-MATCRH3M.js +667 -0
- package/dist/chunk-MEHBW2SP.js +132 -0
- package/dist/chunk-MUXNDNMZ.js +659 -0
- package/dist/chunk-MWMW53WW.js +7346 -0
- package/dist/chunk-MZDPF35R.js +45 -0
- package/dist/chunk-MZKYVIWW.js +188 -0
- package/dist/chunk-O2QJDRWP.js +362 -0
- package/dist/chunk-O3HSB2YL.js +693 -0
- package/dist/chunk-OEMFEL26.js +891 -0
- package/dist/chunk-OH3YYA3B.js +15 -0
- package/dist/chunk-OPC4DQD6.js +634 -0
- package/dist/chunk-ORRNGQDV.js +207 -0
- package/dist/chunk-P4JS3MH5.js +165 -0
- package/dist/chunk-P7GTE4FX.js +308 -0
- package/dist/chunk-PAQVETLA.js +962 -0
- package/dist/chunk-PFZJMXIY.js +146 -0
- package/dist/chunk-PGEFOTJB.js +1974 -0
- package/dist/chunk-PJ5H5B7A.js +3151 -0
- package/dist/chunk-PMUUAABD.js +604 -0
- package/dist/chunk-Q32C6AWI.js +236 -0
- package/dist/chunk-QGIC5SX5.js +139 -0
- package/dist/chunk-QLAGXTTV.js +482 -0
- package/dist/chunk-QLKCCC2J.js +573 -0
- package/dist/chunk-QWUSS2QP.js +3630 -0
- package/dist/chunk-QYSAZMSH.js +47 -0
- package/dist/chunk-R5NRX5N4.js +123 -0
- package/dist/chunk-RAUOKUZV.js +1572 -0
- package/dist/chunk-RBES4TCZ.js +302 -0
- package/dist/chunk-RFCKPS2V.js +26 -0
- package/dist/chunk-RFULVPBX.js +318 -0
- package/dist/chunk-RKFNU5UA.js +404 -0
- package/dist/chunk-RM3XJX7P.js +1148 -0
- package/dist/chunk-RNLAPBJL.js +386 -0
- package/dist/chunk-RPMNIFRY.js +65 -0
- package/dist/chunk-RRZFRIJP.js +42 -0
- package/dist/chunk-RXI7K4J5.js +4493 -0
- package/dist/chunk-SER7RRAE.js +4271 -0
- package/dist/chunk-STC6CWUZ.js +402 -0
- package/dist/chunk-TEHVMHOK.js +97 -0
- package/dist/chunk-TOPICHGR.js +33 -0
- package/dist/chunk-U3TPUXOQ.js +2653 -0
- package/dist/chunk-UB33F3YW.js +709 -0
- package/dist/chunk-UDAK6GR2.js +175 -0
- package/dist/chunk-USBBEKHW.js +177 -0
- package/dist/chunk-V4ZKOKRB.js +13433 -0
- package/dist/chunk-W5RM7YAH.js +78 -0
- package/dist/chunk-W7KNI3F5.js +215 -0
- package/dist/chunk-WFTSK7N3.js +637 -0
- package/dist/chunk-WJWNZXRM.js +395 -0
- package/dist/chunk-WLHX3MM5.js +63 -0
- package/dist/chunk-WS4FOGLY.js +686 -0
- package/dist/chunk-WTZVSMQZ.js +52 -0
- package/dist/chunk-WWRV5RJI.js +165 -0
- package/dist/chunk-X6FLVUM5.js +141 -0
- package/dist/chunk-XC5POIL4.js +68 -0
- package/dist/chunk-XTLJDC2X.js +1013 -0
- package/dist/chunk-XW2UZICE.js +372 -0
- package/dist/chunk-Y3JU5RPK.js +8 -0
- package/dist/chunk-YGIV24MF.js +1018 -0
- package/dist/chunk-YJCCMYYT.js +125 -0
- package/dist/chunk-YKIIWURD.js +36 -0
- package/dist/chunk-YQ3GFEUY.js +341 -0
- package/dist/chunk-YXANQGCX.js +179 -0
- package/dist/chunk-YXFKLMX2.js +222 -0
- package/dist/chunk-ZST3FRCV.js +132 -0
- package/dist/cli/index.js +40 -40
- package/dist/clio-BPBAPZGA.js +26 -0
- package/dist/code-nav-KBQ3RIFK.js +686 -0
- package/dist/components-6DKAXWFN.js +674 -0
- package/dist/config-FWL5JK2H.js +270 -0
- package/dist/config-graph-ACDB26L2.js +156 -0
- package/dist/configure-ZIZ4YV62.js +85 -0
- package/dist/context-EZZPT2ZV.js +1074 -0
- package/dist/context-VIL5MFRH.js +282 -0
- package/dist/context-Z3GOBHDK.js +344 -0
- package/dist/context-clear-ZPB3L7MN.js +188 -0
- package/dist/context-index-W6A4V7OC.js +120 -0
- package/dist/context-map-DKL3QT6D.js +555 -0
- package/dist/context-working-set-2GLBVF7L.js +1559 -0
- package/dist/detail-VSBWYSGZ.js +119 -0
- package/dist/dispatch-runner-EEEHGKX4.js +2442 -0
- package/dist/docs-VMMWFVHL.js +101 -0
- package/dist/doctor-V5L4IQGP.js +812 -0
- package/dist/eval-VJYJ2BV3.js +5050 -0
- package/dist/eval-inventory-CX24K2JT.js +260 -0
- package/dist/evals-J2H5V6DD.js +104 -0
- package/dist/evidence-POWAEBEW.js +229 -0
- package/dist/evidence-XCCCLS36.js +242 -0
- package/dist/evidence-Y35YSXH6.js +388 -0
- package/dist/evolve-GPG72VB6.js +613 -0
- package/dist/extensions-YIZ7W3DA.js +308 -0
- package/dist/fleet-2MDCQ2VK.js +264 -0
- package/dist/fleet-W2AF3TOJ.js +919 -0
- package/dist/fleet-commands-WS56G26H.js +75 -0
- package/dist/fleet-decisions-MYGZ3JW7.js +52 -0
- package/dist/fleet-graph-ELTBXBAV.js +136 -0
- package/dist/fleet-inspect-45IK73L4.js +308 -0
- package/dist/fleet-preflight-T5NCZKHE.js +22 -0
- package/dist/fleet-validate-VG4JBLA4.js +91 -0
- package/dist/fleet-verify-VTSABAYO.js +206 -0
- package/dist/fleet-view-XC7WMKSS.js +123 -0
- package/dist/init-VTJNNTIP.js +329 -0
- package/dist/install-6PIF6F6W.js +19 -0
- package/dist/interop-IU6BNA7C.js +246 -0
- package/dist/inventory-QPQUTUUZ.js +123 -0
- package/dist/library-HUTAS57T.js +492 -0
- package/dist/library-LF7DLU6S.js +306 -0
- package/dist/library-Q3NWL5CM.js +75 -0
- package/dist/library-import-PPW4YUC5.js +183 -0
- package/dist/library-inventory-DIRVFRZU.js +56 -0
- package/dist/library-validation-XHUZ3INE.js +42 -0
- package/dist/memory-Z2LSKNV6.js +516 -0
- package/dist/models-3FTREYPY.js +302 -0
- package/dist/monitor-HF2MQRB3.js +781 -0
- package/dist/orchestrator-UYPA6W4S.js +41502 -0
- package/dist/panes-736XB73K.js +74 -0
- package/dist/panes-C4P3PIWT.js +103 -0
- package/dist/paths-JQ4QYIYB.js +67 -0
- package/dist/preload-XSLRYH3Y.js +120 -0
- package/dist/reset-V7QSPZYE.js +345 -0
- package/dist/resources-OJGDFHYT.js +181 -0
- package/dist/run-T354SMDW.js +892 -0
- package/dist/settings-MWZXO6RV.js +72 -0
- package/dist/share-Y5ZKJPND.js +293 -0
- package/dist/skills-4GLZC4LN.js +100 -0
- package/dist/skills-eval-L5T7GODM.js +1074 -0
- package/dist/skills-inventory-LASKXEZI.js +138 -0
- package/dist/slash-commands-OIMRU36D.js +95 -0
- package/dist/steer-KMAM2Y2C.js +77 -0
- package/dist/support-AWC3XKPX.js +38 -0
- package/dist/system-CD75NYBU.js +116 -0
- package/dist/targets-VSZX2J2S.js +1116 -0
- package/dist/tasks-AN567LYH.js +36 -0
- package/dist/terminal-lease-6KTWNHVY.js +418 -0
- package/dist/tools-AGRK3V5J.js +28 -0
- package/dist/trace-P4MQZD33.js +524 -0
- package/dist/tui-primitives-A6MUW32V.js +18 -0
- package/dist/uninstall-BRUTEPIC.js +432 -0
- package/dist/upgrade-SBCGHQGJ.js +307 -0
- package/dist/usage-BIDVTO6V.js +1061 -0
- package/dist/verifiers-LTGCAMXS.js +630 -0
- package/dist/verify-OZU4LLNP.js +30 -0
- package/dist/web/client/THIRD_PARTY_LICENSES.md +1809 -0
- package/dist/web/client/assets/abnfDiagram-VCTEODGH-C5wfoHm3.js +1 -0
- package/dist/web/client/assets/arc-oH91sfLl.js +1 -0
- package/dist/web/client/assets/architecture-7GRP2DOG-EGozsYEO.js +1 -0
- package/dist/web/client/assets/architectureDiagram-5GKGNRK7-z9FokbJl.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-wi0_CYHL.js +129 -0
- package/dist/web/client/assets/c4Diagram-7LVT6UL2-DV7NYc2W.js +38 -0
- package/dist/web/client/assets/channel-CiUWbHN9.js +1 -0
- package/dist/web/client/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
- package/dist/web/client/assets/chunk-4HAMMTFA-Bhsegh3F.js +62 -0
- package/dist/web/client/assets/chunk-5VM5RSS4-ZNzvKenW.js +15 -0
- package/dist/web/client/assets/chunk-75Z2AOVW-RQCckcQG.js +2 -0
- package/dist/web/client/assets/chunk-DU6HZSFF-C5USiOAy.js +125 -0
- package/dist/web/client/assets/chunk-F27PBJKO-BcNqv2x1.js +1 -0
- package/dist/web/client/assets/chunk-FOHPRMQF-CoA4358r.js +161 -0
- package/dist/web/client/assets/chunk-GMAD6QVW-Bq8JWiZT.js +72 -0
- package/dist/web/client/assets/chunk-GVQU2GXP-DbchrAeJ.js +1 -0
- package/dist/web/client/assets/chunk-IMKFNOWR-DrpvjocK.js +231 -0
- package/dist/web/client/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
- package/dist/web/client/assets/chunk-L3NEJ4N5-DHLmTnCe.js +1 -0
- package/dist/web/client/assets/chunk-OSK3NFVY-CsRbtN9n.js +10 -0
- package/dist/web/client/assets/chunk-P2QGCYS3-aqPbxoMh.js +1 -0
- package/dist/web/client/assets/chunk-POPQ4Y6H-Dl5vw0h0.js +1 -0
- package/dist/web/client/assets/chunk-PWAF6VOD-D7OBRSdO.js +1 -0
- package/dist/web/client/assets/chunk-SHT3W25Y-CdKCIwuB.js +168 -0
- package/dist/web/client/assets/chunk-SVP7TREG-B94Nu_1-.js +88 -0
- package/dist/web/client/assets/chunk-TICWLB2K-jjRQI_hk.js +206 -0
- package/dist/web/client/assets/chunk-XXDRQBXY-azkbKE37.js +1 -0
- package/dist/web/client/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +1 -0
- package/dist/web/client/assets/classDiagram-ZZMXUADV-CMODalmo.js +1 -0
- package/dist/web/client/assets/classDiagram-v2-VYDZK3BY-CMODalmo.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-RbQL23qS.js +1 -0
- package/dist/web/client/assets/cynefin-OW5HDTMX--i9RDU5f.js +1 -0
- package/dist/web/client/assets/cynefinDiagram-5FMLGOSQ-cRcvyBdp.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-C9mZmAPe.js +4 -0
- package/dist/web/client/assets/defaultLocale-BFoDCU3G.js +1 -0
- package/dist/web/client/assets/diagram-S7CK7UJ4-Oj_zlLDY.js +30 -0
- package/dist/web/client/assets/diagram-UQ7AKVKN-BWKbbfcR.js +41 -0
- package/dist/web/client/assets/diagram-VSXAHHWV-C3N3f7DO.js +3 -0
- package/dist/web/client/assets/diagram-VX7I27RA-CtDKDAWe.js +24 -0
- package/dist/web/client/assets/diagram-Z3DM3KII-B8bkBRCz.js +24 -0
- package/dist/web/client/assets/dist-D0_q-A2b.js +1 -0
- package/dist/web/client/assets/ebnfDiagram-PWID7BFC-CskW-Whx.js +1 -0
- package/dist/web/client/assets/erDiagram-RLTQ6QDP-C-83cgCW.js +99 -0
- package/dist/web/client/assets/eventmodeling-NTZA5JFV-DjVq8wKU.js +1 -0
- package/dist/web/client/assets/flowDiagram-HODETNUW-BUiCBGXt.js +1 -0
- package/dist/web/client/assets/ganttDiagram-EL5Y4UJY-B2lb8lvF.js +292 -0
- package/dist/web/client/assets/gitGraph-4MIJSDKK-B40cQtBE.js +1 -0
- package/dist/web/client/assets/gitGraphDiagram-WWUBYQGX-CH-7P7Di.js +106 -0
- package/dist/web/client/assets/graphlib-DS17s2tU.js +1 -0
- package/dist/web/client/assets/index-Dsi52apB.css +1 -0
- package/dist/web/client/assets/index-FSIC94pi.js +83 -0
- package/dist/web/client/assets/info-A6RAGUB7-eCCE9D_Q.js +1 -0
- package/dist/web/client/assets/infoDiagram-27XIBGKW-DRnvqMjM.js +2 -0
- package/dist/web/client/assets/init-C-OQMol4.js +1 -0
- package/dist/web/client/assets/ishikawaDiagram-5VMMS53U-DBA_55wp.js +70 -0
- package/dist/web/client/assets/journeyDiagram-3NMN7TZE-C-ewpNl7.js +139 -0
- package/dist/web/client/assets/kanban-definition-UXKFOSKX-B1taGsu0.js +89 -0
- package/dist/web/client/assets/katex-ZlcWpGUi.js +257 -0
- package/dist/web/client/assets/line-lZ0kyxDI.js +1 -0
- package/dist/web/client/assets/linear-DIc8FgZj.js +1 -0
- package/dist/web/client/assets/mermaid-parser.core-SXolxpXw.js +7 -0
- package/dist/web/client/assets/mermaid.core-DXgQtkNg.js +44 -0
- package/dist/web/client/assets/mindmap-definition-YA3MSWOX-DXJas9K7.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-OqVl_07o.js +1 -0
- package/dist/web/client/assets/path-fybaL0A-.js +1 -0
- package/dist/web/client/assets/pegDiagram-XKGWAZYB-CPE_zdfN.js +1 -0
- package/dist/web/client/assets/pie-WAS4IAKB-DAxnMBLe.js +1 -0
- package/dist/web/client/assets/pieDiagram-E7YTZNPT-Uwjpufxv.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-BngLtbUd.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-Bjs4yjgs.js +7 -0
- package/dist/web/client/assets/radar-RG4KPBEZ-CuCKjHM3.js +1 -0
- package/dist/web/client/assets/railroad-74A4TZTK-CnQK-Cc1.js +1 -0
- package/dist/web/client/assets/railroad-abnf-HS5TGJTU-BcW01NZG.js +1 -0
- package/dist/web/client/assets/railroad-ebnf-LZEXJU2U-B7YCEDDd.js +1 -0
- package/dist/web/client/assets/railroad-peg-WCYAUIDC-DjNZbSTZ.js +1 -0
- package/dist/web/client/assets/railroadDiagram-O6MQD6OU-BDDIPNLL.js +1 -0
- package/dist/web/client/assets/requirementDiagram-BXWQKSXE-B5Ydyxc1.js +84 -0
- package/dist/web/client/assets/rough.esm-Dy-Kn_BL.js +1 -0
- package/dist/web/client/assets/sankeyDiagram-P5KCCOFB-Bw2Qym75.js +40 -0
- package/dist/web/client/assets/sequenceDiagram-WJ2MYXX4-BZf36nO0.js +162 -0
- package/dist/web/client/assets/sizeCapture-INFHLROL-B0uUizjq.js +1 -0
- package/dist/web/client/assets/src-yeptRXpt.js +1 -0
- package/dist/web/client/assets/stateDiagram-D77RDMKH-DnH6JRkp.js +1 -0
- package/dist/web/client/assets/stateDiagram-v2-MP3YSRHH-C7QtHeK4.js +1 -0
- package/dist/web/client/assets/swimlanes-42K2YHIH-D9PZmtZg.js +1 -0
- package/dist/web/client/assets/swimlanesDiagram-VR7AAH4N-CBZlPFky.js +8 -0
- package/dist/web/client/assets/timeline-definition-24CTP7MA-CrkZZBo7.js +120 -0
- package/dist/web/client/assets/treeView-Q6P3EWNA-C9zDShoC.js +1 -0
- package/dist/web/client/assets/treemap-WGGIJYW6-B-plj9yK.js +1 -0
- package/dist/web/client/assets/vennDiagram-4TSXK5OY-VeOdaphN.js +34 -0
- package/dist/web/client/assets/wardley-WFR3VGLG-Wl1P_m6L.js +1 -0
- package/dist/web/client/assets/wardleyDiagram-VM6X3IG4-B85-R9t2.js +78 -0
- package/dist/web/client/assets/xychartDiagram-S5SC5T6Z-BrD8OW8m.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 +4 -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-EU6ATJWA.js +13 -0
- package/dist/web-fetch-U22Q7HV4.js +788 -0
- package/dist/wiki-generate-LZRLFG6I.js +623 -0
- package/dist/with-panes-X5CZOGML.js +628 -0
- package/dist/worker/entry.js +300 -93
- package/docs/README.md +58 -14
- package/docs/architecture/acp.md +5 -9
- package/docs/architecture/alcf-provider.md +0 -3
- package/docs/architecture/architecture.md +8 -10
- package/docs/architecture/artifact-placement.md +0 -3
- package/docs/architecture/artifact-versions.md +3 -6
- package/docs/architecture/capacity-and-scheduling.md +0 -3
- package/docs/architecture/context-engine.md +35 -4
- 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 +30 -0
- package/docs/architecture/middleware-and-components.md +1 -4
- package/docs/architecture/model-catalog.md +21 -4
- package/docs/architecture/observability.md +0 -3
- package/docs/architecture/pi-boundary.md +23 -8
- package/docs/architecture/prompt-envelope-and-tools.md +6 -9
- package/docs/architecture/provider-adapter-cookbook.md +1 -4
- package/docs/architecture/safety-model.md +21 -5
- package/docs/architecture/session-lifecycle.md +12 -4
- package/docs/architecture/time-conventions.md +0 -3
- package/docs/architecture/trace-store.md +28 -20
- package/docs/architecture/tui-design.md +108 -12
- package/docs/architecture/worker-context.md +104 -0
- package/docs/architecture/worker-dispatch-mechanics.md +1 -4
- package/docs/guide/authoring-plugins.md +158 -0
- package/docs/guide/built-in-agents.md +5 -8
- package/docs/guide/commands-and-modes.md +162 -61
- package/docs/guide/configuration-and-targets.md +198 -5
- package/docs/guide/configuration-reference.md +36 -38
- package/docs/guide/environment-variables.md +2 -5
- package/docs/guide/exit-codes-and-output.md +1 -4
- package/docs/guide/extensions-and-sharing.md +92 -55
- package/docs/guide/fleet-dispatch.md +31 -7
- package/docs/guide/glossary.md +1 -4
- package/docs/guide/harness-extensions.md +289 -0
- package/docs/guide/installation-and-lifecycle.md +10 -13
- package/docs/guide/interop.md +241 -0
- package/docs/guide/panes-and-files.md +3 -6
- package/docs/guide/plugins.md +77 -0
- package/docs/guide/proactive-memory.md +0 -3
- package/docs/guide/resource-library.md +109 -45
- package/docs/guide/skills-marketplace.md +34 -73
- package/docs/guide/tool-usage.md +19 -10
- 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 +14 -17
- package/docs/process/documentation-coverage.md +31 -4
- package/docs/process/documentation-guide.md +28 -27
- package/docs/process/eval-runner.md +8 -6
- package/docs/process/evals-internal.md +0 -3
- package/docs/process/evolution.md +0 -3
- package/docs/process/fleet-demo-runbook.md +0 -3
- package/docs/process/git-commit-provenance.md +0 -3
- package/docs/process/performance-methodology.md +2 -5
- package/docs/process/release-cut-checklist.md +114 -217
- package/docs/process/scientific-validation.md +23 -3
- package/evals/scalar-decision-machinery.ts +1 -1
- package/examples/extensions/README.md +67 -0
- package/examples/extensions/lab-status/clio-coder-extension.json +14 -0
- package/examples/extensions/lab-status/extension.mjs +68 -0
- package/examples/extensions/lab-status/jobs.synthetic.json +9 -0
- package/examples/extensions/measurements/clio-coder-extension.json +28 -0
- package/examples/extensions/measurements/summarize.cjs +23 -0
- package/library/README.md +109 -0
- package/library/_authoring/templates/agent/README.md +28 -0
- package/library/_authoring/templates/agent/agents/benchmark-scout.md +30 -0
- package/library/_authoring/templates/agent/plugin.json +23 -0
- package/library/_authoring/templates/fleet/README.md +29 -0
- package/library/_authoring/templates/fleet/fleets/pipeline-review.md +31 -0
- package/library/_authoring/templates/fleet/plugin.json +23 -0
- package/library/_authoring/templates/plugin/README.md +37 -0
- package/library/_authoring/templates/plugin/agents/data-curator.md +31 -0
- package/library/_authoring/templates/plugin/assets/curation-guide.md +22 -0
- package/library/_authoring/templates/plugin/plugin.json +42 -0
- package/library/_authoring/templates/plugin/prompts/inspect-dataset.md +15 -0
- package/library/_authoring/templates/plugin/skills/dataset-curation/SKILL.md +36 -0
- package/library/_authoring/templates/plugin/skills/dataset-curation/evals.md +17 -0
- package/library/_authoring/templates/prompt/README.md +28 -0
- package/library/_authoring/templates/prompt/plugin.json +23 -0
- package/library/_authoring/templates/prompt/prompts/paper-summary.md +26 -0
- package/library/_authoring/templates/skill/README.md +24 -0
- package/library/_authoring/templates/skill/SKILL.md +39 -0
- package/library/_authoring/templates/skill/evals.md +30 -0
- package/library/_authoring/templates/skill/plugin.json +23 -0
- package/library/agents/README.md +7 -0
- package/library/fleets/README.md +7 -0
- package/library/plugins/materio/README.md +137 -0
- package/library/plugins/materio/ai.iowarp.clio/agents/materio-lab-definer.md +208 -0
- package/library/plugins/materio/ai.iowarp.clio/agents/materio-literature-reviewer.md +308 -0
- package/library/plugins/materio/ai.iowarp.clio/agents/materio-research-explorer.md +249 -0
- package/library/plugins/materio/ai.iowarp.clio/agents/materio-task-executor.md +416 -0
- package/library/plugins/materio/ai.iowarp.clio/agents/materio-task-verifier.md +60 -0
- package/library/plugins/materio/ai.iowarp.clio/agents/materio-workflow-planner.md +238 -0
- package/library/plugins/materio/ai.iowarp.clio/fleets/materio-execute-task.md +50 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/add-task.md +66 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/archive-task.md +65 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/checkpoint.md +26 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/define-research-tasks.md +230 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/define-virtual-lab.md +181 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/execute-task.md +292 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/help.md +129 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/identify-research.md +206 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/literature-review.md +201 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/pause-research.md +12 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/progress.md +105 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/remove-task.md +63 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/resume-research.md +64 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/settings.md +16 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/status.md +92 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/upload-data.md +104 -0
- package/library/plugins/materio/ai.iowarp.clio/prompts/materio/wtfp.md +145 -0
- package/library/plugins/materio/ai.iowarp.clio/references/execution.md +56 -0
- package/library/plugins/materio/ai.iowarp.portability/provenance.json +9 -0
- package/library/plugins/materio/assets/actions/add-task.md +86 -0
- package/library/plugins/materio/assets/actions/archive-task.md +84 -0
- package/library/plugins/materio/assets/actions/checkpoint.md +47 -0
- package/library/plugins/materio/assets/actions/define-research-tasks.md +228 -0
- package/library/plugins/materio/assets/actions/define-virtual-lab.md +179 -0
- package/library/plugins/materio/assets/actions/execute-task.md +290 -0
- package/library/plugins/materio/assets/actions/help.md +140 -0
- package/library/plugins/materio/assets/actions/identify-research.md +204 -0
- package/library/plugins/materio/assets/actions/literature-review.md +199 -0
- package/library/plugins/materio/assets/actions/pause-research.md +34 -0
- package/library/plugins/materio/assets/actions/progress.md +125 -0
- package/library/plugins/materio/assets/actions/remove-task.md +82 -0
- package/library/plugins/materio/assets/actions/resume-research.md +84 -0
- package/library/plugins/materio/assets/actions/settings.md +38 -0
- package/library/plugins/materio/assets/actions/status.md +112 -0
- package/library/plugins/materio/assets/actions/upload-data.md +123 -0
- package/library/plugins/materio/assets/actions/wtfp.md +179 -0
- package/library/plugins/materio/assets/references/research-domains.md +134 -0
- package/library/plugins/materio/assets/references/research-policy.md +77 -0
- package/library/plugins/materio/assets/references/traditional-workflows.md +146 -0
- package/library/plugins/materio/assets/scripts/check_physics.py +271 -0
- package/library/plugins/materio/assets/scripts/check_scripts.py +248 -0
- package/library/plugins/materio/assets/scripts/project_plugin.py +165 -0
- package/library/plugins/materio/assets/scripts/research_state.py +400 -0
- package/library/plugins/materio/assets/scripts/verify_citations.py +616 -0
- package/library/plugins/materio/assets/templates/RESEARCH.md +39 -0
- package/library/plugins/materio/assets/templates/VIRTUAL-LAB.md +120 -0
- package/library/plugins/materio/assets/templates/WORKFLOW.md +42 -0
- package/library/plugins/materio/assets/templates/config.json +5 -0
- package/library/plugins/materio/evals/scripts.yaml +29 -0
- package/library/plugins/materio/plugin.json +530 -0
- package/library/plugins/materio/skills/materio-lab-definer/SKILL.md +74 -0
- package/library/plugins/materio/skills/materio-literature-reviewer/SKILL.md +64 -0
- package/library/plugins/materio/skills/materio-research-explorer/SKILL.md +74 -0
- package/library/plugins/materio/skills/materio-task-executor/SKILL.md +214 -0
- package/library/plugins/materio/skills/materio-task-verifier/SKILL.md +46 -0
- package/library/plugins/materio/skills/materio-workflow-planner/SKILL.md +79 -0
- package/library/plugins/materio/tests/test_check_physics.py +139 -0
- package/library/plugins/materio/tests/test_check_scripts.py +140 -0
- package/library/plugins/materio/tests/test_research_state.py +291 -0
- package/library/plugins/materio/tests/test_verify_citations.py +337 -0
- package/library/prompts/README.md +7 -0
- package/library/registry.yaml +921 -0
- package/library/skills/README.md +120 -0
- package/library/skills/coding/ast-grep/SKILL.md +213 -0
- package/library/skills/coding/ast-grep/evals.md +82 -0
- package/library/skills/coding/ast-grep/plugin.json +23 -0
- package/library/skills/coding/coding-standards/SKILL.md +164 -0
- package/library/skills/coding/coding-standards/evals.md +57 -0
- package/library/skills/coding/coding-standards/plugin.json +23 -0
- package/library/skills/coding/prototype/SKILL.md +151 -0
- package/library/skills/coding/prototype/evals.md +61 -0
- package/library/skills/coding/prototype/plugin.json +23 -0
- package/library/skills/coding/tdd/SKILL.md +134 -0
- package/library/skills/coding/tdd/evals.md +61 -0
- package/library/skills/coding/tdd/plugin.json +23 -0
- package/library/skills/context/context-handoff/SKILL.md +176 -0
- package/library/skills/context/context-handoff/evals.md +101 -0
- package/library/skills/context/context-handoff/plugin.json +23 -0
- package/library/skills/context/context-prime/SKILL.md +131 -0
- package/library/skills/context/context-prime/evals.md +99 -0
- package/library/skills/context/context-prime/plugin.json +23 -0
- package/library/skills/git/branch-closeout/SKILL.md +132 -0
- package/library/skills/git/branch-closeout/plugin.json +23 -0
- package/library/skills/git/file-ticket/SKILL.md +126 -0
- package/library/skills/git/file-ticket/plugin.json +23 -0
- package/library/skills/git/fix-issue/SKILL.md +136 -0
- package/library/skills/git/fix-issue/plugin.json +23 -0
- package/library/skills/git/resolve-merge-conflicts/SKILL.md +151 -0
- package/library/skills/git/resolve-merge-conflicts/evals.md +85 -0
- package/library/skills/git/resolve-merge-conflicts/plugin.json +23 -0
- package/library/skills/git/ship/SKILL.md +134 -0
- package/library/skills/git/ship/plugin.json +23 -0
- package/library/skills/git/worktree-create/SKILL.md +127 -0
- package/library/skills/git/worktree-create/plugin.json +23 -0
- package/library/skills/git/worktree-merge/SKILL.md +147 -0
- package/library/skills/git/worktree-merge/plugin.json +23 -0
- package/library/skills/meta/clio-coder-dev/SKILL.md +101 -0
- package/library/skills/meta/clio-coder-dev/evals.md +46 -0
- package/library/skills/meta/clio-coder-dev/plugin.json +23 -0
- package/library/skills/meta/clio-coder-test/SKILL.md +156 -0
- package/library/skills/meta/clio-coder-test/evals.md +62 -0
- package/library/skills/meta/clio-coder-test/plugin.json +23 -0
- package/library/skills/meta/clio-coder-test/references/test-map.md +97 -0
- package/library/skills/meta/credentials/SKILL.md +132 -0
- package/library/skills/meta/credentials/evals.md +104 -0
- package/library/skills/meta/credentials/plugin.json +23 -0
- package/library/skills/meta/find-skills/SKILL.md +85 -0
- package/library/skills/meta/find-skills/evals.md +65 -0
- package/library/skills/meta/find-skills/plugin.json +23 -0
- package/library/skills/meta/herdr/SKILL.md +133 -0
- package/library/skills/meta/herdr/evals.md +38 -0
- package/library/skills/meta/herdr/plugin.json +23 -0
- package/library/skills/meta/skill-craft/SKILL.md +139 -0
- package/library/skills/meta/skill-craft/evals.md +49 -0
- package/library/skills/meta/skill-craft/plugin.json +23 -0
- package/library/skills/planning/archify/SKILL.md +196 -0
- package/library/skills/planning/archify/plugin.json +23 -0
- package/library/skills/planning/architecture/SKILL.md +184 -0
- package/library/skills/planning/architecture/evals.md +101 -0
- package/library/skills/planning/architecture/plugin.json +23 -0
- package/library/skills/planning/backlog/SKILL.md +212 -0
- package/library/skills/planning/backlog/evals.md +185 -0
- package/library/skills/planning/backlog/plugin.json +23 -0
- package/library/skills/planning/prd/SKILL.md +129 -0
- package/library/skills/planning/prd/evals.md +103 -0
- package/library/skills/planning/prd/plugin.json +23 -0
- package/library/skills/planning/product-intent/SKILL.md +173 -0
- package/library/skills/planning/product-intent/evals.md +106 -0
- package/library/skills/planning/product-intent/plugin.json +23 -0
- package/library/skills/planning/tech-spec/SKILL.md +172 -0
- package/library/skills/planning/tech-spec/evals.md +120 -0
- package/library/skills/planning/tech-spec/plugin.json +23 -0
- package/library/skills/registry.yaml +144 -0
- package/library/skills/remote.yaml +13 -0
- package/library/skills/research/arxiv-literature/SKILL.md +168 -0
- package/library/skills/research/arxiv-literature/evals.md +108 -0
- package/library/skills/research/arxiv-literature/plugin.json +23 -0
- package/library/skills/research/experiment-protocol/SKILL.md +148 -0
- package/library/skills/research/experiment-protocol/evals.md +114 -0
- package/library/skills/research/experiment-protocol/plugin.json +23 -0
- package/library/skills/research/scientific-debugging/SKILL.md +149 -0
- package/library/skills/research/scientific-debugging/evals.md +156 -0
- package/library/skills/research/scientific-debugging/plugin.json +23 -0
- package/library/skills/research/scientific-modernization/SKILL.md +170 -0
- package/library/skills/research/scientific-modernization/evals.md +111 -0
- package/library/skills/research/scientific-modernization/plugin.json +23 -0
- package/library/skills/skill-marketplace.json +507 -0
- package/library/skills/workflow/cut-it/SKILL.md +153 -0
- package/library/skills/workflow/cut-it/evals.md +143 -0
- package/library/skills/workflow/cut-it/plugin.json +23 -0
- package/library/skills/workflow/design-council/SKILL.md +233 -0
- package/library/skills/workflow/design-council/evals.md +258 -0
- package/library/skills/workflow/design-council/plugin.json +23 -0
- package/library/skills/workflow/grill-me/SKILL.md +267 -0
- package/library/skills/workflow/grill-me/evals.md +231 -0
- package/library/skills/workflow/grill-me/plugin.json +23 -0
- package/library/skills/workflow/workflow-distiller/SKILL.md +204 -0
- package/library/skills/workflow/workflow-distiller/evals.md +233 -0
- package/library/skills/workflow/workflow-distiller/plugin.json +23 -0
- package/package.json +23 -14
- package/src/cli/agents.ts +1 -1
- package/src/cli/config-inspect.ts +1 -1
- package/src/cli/configure.ts +2 -2
- package/src/cli/docs.ts +65 -328
- package/src/cli/eval.ts +40 -6
- package/src/cli/extensions.ts +74 -8
- package/src/cli/fleet-preflight.ts +2 -0
- package/src/cli/fleet.ts +2 -0
- package/src/cli/index.ts +4 -4
- package/src/cli/interop-inspect.ts +61 -33
- package/src/cli/interop.ts +79 -9
- package/src/cli/library-import.ts +139 -0
- package/src/cli/library.ts +418 -120
- package/src/cli/run.ts +26 -9
- package/src/cli/skills-eval.ts +43 -6
- package/src/cli/skills-inventory.ts +6 -2
- package/src/cli/skills.ts +44 -491
- package/src/cli/trace.ts +4 -65
- package/src/cli/uninstall.ts +26 -0
- package/src/cli/usage.ts +3 -0
- package/src/cli/web.ts +79 -0
- package/src/core/bus-events.ts +8 -4
- package/src/core/config.ts +71 -0
- package/src/core/defaults.ts +1 -1
- package/src/core/domain-loader.ts +37 -28
- package/src/core/recent-models.ts +2 -2
- package/src/core/session-routing.ts +3 -3
- package/src/core/state-file-lock.ts +1 -1
- package/src/core/termination.ts +13 -9
- package/src/core/tool-names.ts +5 -0
- package/src/domains/agents/contract.ts +1 -1
- package/src/domains/agents/extension.ts +53 -9
- package/src/domains/agents/fleet-commands.ts +92 -1
- package/src/domains/agents/fleet-contract.ts +87 -19
- package/src/domains/agents/recipe.ts +5 -4
- package/src/domains/agents/registry.ts +80 -24
- package/src/domains/config/extension.ts +5 -4
- package/src/domains/config/keybindings.ts +155 -95
- package/src/domains/context/worker/contract.ts +91 -0
- package/src/domains/context/worker/pressure.ts +120 -0
- package/src/domains/context/worker/recall.ts +62 -0
- package/src/domains/context/worker/select.ts +164 -0
- package/src/domains/context/worker/snapshot.ts +35 -0
- package/src/domains/context/worker/store.ts +16 -0
- package/src/domains/context/working-set/replay/synthetic.ts +2 -1
- package/src/domains/dispatch/active-route-planner.ts +2 -0
- package/src/domains/dispatch/backoff.ts +1 -0
- package/src/domains/dispatch/code-step.ts +12 -2
- package/src/domains/dispatch/contract.ts +3 -0
- package/src/domains/dispatch/execution-plan.ts +2 -0
- package/src/domains/dispatch/extension.ts +184 -39
- package/src/domains/dispatch/fleet-plan.ts +10 -0
- package/src/domains/dispatch/fleet-run.ts +1 -0
- package/src/domains/dispatch/index.ts +1 -0
- package/src/domains/dispatch/orphan-recovery.ts +2 -0
- package/src/domains/dispatch/receipt-integrity.ts +7 -0
- package/src/domains/dispatch/state.ts +2 -2
- package/src/domains/dispatch/types.ts +7 -0
- package/src/domains/dispatch/validation.ts +12 -0
- package/src/domains/dispatch/workspace-checkpoint.ts +1 -1
- package/src/domains/eval/metrics/tracked.ts +22 -2
- package/src/domains/evidence/failure-attribution.ts +1 -0
- package/src/domains/evidence/trust-status.ts +22 -3
- package/src/domains/extensions/command-schema.ts +145 -0
- package/src/domains/extensions/command-tools.ts +15 -0
- package/src/domains/extensions/compatibility.ts +7 -0
- package/src/domains/extensions/contract.ts +0 -4
- package/src/domains/extensions/discovery.ts +69 -205
- package/src/domains/extensions/extension.ts +0 -4
- package/src/domains/extensions/index.ts +1 -5
- package/src/domains/extensions/manager.ts +1 -6
- package/src/domains/extensions/operator-commands.ts +29 -0
- package/src/domains/extensions/operator-runtime.ts +485 -0
- package/src/domains/extensions/public-api.ts +53 -0
- package/src/domains/extensions/runtime-child.mjs +114 -0
- package/src/domains/extensions/runtime-process.ts +306 -0
- package/src/domains/extensions/runtime-schema.ts +146 -0
- package/src/domains/extensions/snapshot-access.ts +21 -0
- package/src/domains/extensions/snapshot.ts +4 -32
- package/src/domains/extensions/state.ts +5 -83
- package/src/domains/extensions/types.ts +33 -34
- package/src/domains/interop/adopt.ts +546 -0
- package/src/domains/interop/detect.ts +50 -12
- package/src/domains/interop/foreign.ts +554 -0
- package/src/domains/interop/import.ts +277 -0
- package/src/domains/interop/index.ts +24 -0
- package/src/domains/interop/install.ts +6 -0
- package/src/domains/interop/inventory.ts +351 -0
- package/src/domains/interop/projection.ts +360 -0
- package/src/domains/interop/registry.ts +106 -3
- package/src/domains/interop/types.ts +51 -0
- package/src/domains/lifecycle/migrations/index.ts +0 -2
- package/src/domains/lifecycle/naming-resources.ts +1 -1
- package/src/domains/middleware/hooks.ts +2 -2
- package/src/domains/middleware/marketplace-offer.ts +1 -1
- package/src/domains/mux/contract.ts +1 -1
- package/src/domains/observability/background-memory-usage.ts +3 -0
- package/src/domains/observability/compaction-usage.ts +2 -0
- package/src/domains/observability/cost.ts +5 -0
- package/src/domains/observability/extension.ts +1 -0
- package/src/domains/observability/out-of-turn-usage.ts +2 -0
- package/src/domains/observability/trace-store.ts +65 -5
- package/src/domains/plugins/catalog.ts +204 -0
- package/src/domains/plugins/contract.ts +24 -0
- package/src/domains/plugins/discovery.ts +316 -0
- package/src/domains/plugins/extension.ts +40 -0
- package/src/domains/plugins/index.ts +77 -0
- package/src/domains/plugins/integrity.ts +6 -0
- package/src/domains/plugins/manifest.ts +3 -0
- package/src/domains/plugins/resources.ts +102 -0
- package/src/domains/plugins/state.ts +753 -0
- package/src/domains/plugins/types.ts +217 -0
- package/src/domains/prompts/extension.ts +4 -10
- package/src/domains/prompts/fragments/operating/skills.md +10 -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 +1 -0
- package/src/domains/providers/plugins.ts +3 -13
- package/src/domains/providers/runtimes/common/local-synth.ts +4 -0
- package/src/domains/providers/types/target-descriptor.ts +17 -0
- package/src/domains/resources/common-loader.ts +9 -6
- package/src/domains/resources/index.ts +67 -0
- package/src/domains/resources/library-actions.ts +836 -0
- package/src/domains/resources/library-evals.ts +38 -0
- package/src/domains/resources/library-inventory.ts +1048 -0
- package/src/domains/resources/library-types.ts +50 -0
- package/src/domains/resources/library-validation.ts +634 -0
- package/src/domains/resources/library.ts +437 -156
- package/src/domains/resources/package-references.ts +66 -0
- package/src/domains/resources/prompts/loader.ts +75 -41
- package/src/domains/resources/skills/install.ts +2 -2
- package/src/domains/resources/skills/loader.ts +77 -22
- package/src/domains/resources/skills/marketplace.ts +48 -57
- package/src/domains/resources/skills/promotion.ts +2 -2
- package/src/domains/resources/skills/provenance-pin.ts +17 -4
- package/src/domains/safety/action-classifier.ts +2 -2
- package/src/domains/safety/default-path-policy.ts +3 -1
- package/src/domains/safety/policy-engine.ts +1 -1
- package/src/domains/safety/protected-artifacts.ts +21 -5
- package/src/domains/safety/skill-authority.ts +5 -2
- package/src/domains/session/compaction/compact.ts +4 -1
- package/src/domains/session/entries.ts +1 -0
- package/src/domains/session/usage.ts +6 -7
- package/src/domains/share/archive.ts +1 -1
- package/src/engine/acp/server.ts +11 -0
- package/src/engine/ai.ts +2 -0
- package/src/engine/apis/openai-completions.ts +61 -6
- package/src/engine/notices/pi-tui-LICENSE +21 -0
- package/src/engine/prewarm.ts +232 -0
- package/src/engine/provider-diagnostics.ts +6 -1
- package/src/engine/tui.ts +3 -0
- package/src/engine/worker-runtime.ts +58 -14
- package/src/engine/worker-tools.ts +5 -0
- package/src/entry/orchestrator.ts +46 -21
- package/src/entry/plugin-reload.ts +18 -0
- package/src/interactive/application-controller.ts +67 -21
- package/src/interactive/chat-loop-messages.ts +3 -0
- package/src/interactive/chat-loop.ts +32 -11
- package/src/interactive/chat-panel.ts +5 -1
- package/src/interactive/clio-editor.ts +53 -21
- package/src/interactive/command-output.ts +56 -1
- package/src/interactive/editor-submit.ts +65 -28
- package/src/interactive/fleet-run-preview.ts +2 -0
- package/src/interactive/follow-up-queue-panel.ts +3 -3
- package/src/interactive/footer/dashboard.ts +4 -1
- package/src/interactive/footer/notifications.ts +2 -2
- package/src/interactive/footer/widgets.ts +2 -2
- package/src/interactive/interactive-application.ts +209 -21
- package/src/interactive/interactive-input-runtime.ts +254 -7
- package/src/interactive/interactive-presentation.ts +41 -12
- package/src/interactive/interactive-slash-runtime.ts +37 -8
- package/src/interactive/keybinding-manager.ts +156 -79
- package/src/interactive/keyboard-owner.ts +37 -0
- package/src/interactive/leader-key.ts +49 -102
- package/src/interactive/leader-menu.ts +45 -0
- package/src/interactive/overlay-ask-user-lifecycle.ts +9 -1
- package/src/interactive/overlay-frame.ts +15 -0
- package/src/interactive/overlay-key-routing.ts +46 -47
- package/src/interactive/overlay-lifecycle.ts +30 -15
- package/src/interactive/overlay-resource-openers.ts +56 -46
- package/src/interactive/overlays/ask-user.ts +630 -556
- package/src/interactive/overlays/extension-panel.ts +70 -0
- package/src/interactive/overlays/extensions.ts +28 -5
- package/src/interactive/overlays/fleet-run-approval.ts +7 -3
- package/src/interactive/overlays/help-reference.ts +89 -40
- package/src/interactive/overlays/interop.ts +122 -3
- package/src/interactive/overlays/keybinding-detail.ts +2 -2
- package/src/interactive/overlays/library-lifecycle.ts +90 -0
- package/src/interactive/overlays/library-model.ts +574 -0
- package/src/interactive/overlays/library-review.ts +557 -0
- package/src/interactive/overlays/library-tabs.ts +3 -15
- package/src/interactive/overlays/library.ts +602 -0
- package/src/interactive/overlays/list-overlay.ts +218 -39
- package/src/interactive/overlays/model-selector.ts +28 -25
- package/src/interactive/overlays/session-selector.ts +9 -3
- package/src/interactive/overlays/settings.ts +25 -18
- package/src/interactive/overlays/tree-selector.ts +16 -11
- package/src/interactive/permission-hint.ts +13 -0
- package/src/interactive/permission-overlay.ts +77 -28
- package/src/interactive/prewarm.ts +11 -197
- package/src/interactive/prompt-source-label.ts +21 -0
- package/src/interactive/renderers/reference-card.ts +35 -0
- package/src/interactive/renderers/worker-entry.ts +35 -3
- package/src/interactive/session-usage-reseed.ts +2 -0
- package/src/interactive/side-question.ts +2 -0
- package/src/interactive/slash-autocomplete.ts +99 -1
- package/src/interactive/slash-commands.ts +390 -67
- package/src/interactive/slash-spec.ts +0 -1
- package/src/interactive/terminal-lease.ts +44 -12
- package/src/interactive/turn-context.ts +1 -0
- package/src/interactive/turn-persistence.ts +3 -0
- package/src/interactive/turn-prewarm.ts +126 -19
- package/src/interactive/turn-queues.ts +8 -7
- package/src/interactive/turn-runtime.ts +15 -1
- package/src/interactive/view/view-overlay.ts +19 -14
- package/src/interactive/welcome-dashboard.ts +525 -408
- package/src/tools/bootstrap.ts +8 -0
- package/src/tools/builtin-tool-catalog.ts +15 -6
- package/src/tools/context/index.ts +58 -5
- package/src/tools/context/library.ts +465 -0
- package/src/tools/context/surface.ts +20 -6
- package/src/tools/core-bootstrap.ts +3 -0
- package/src/tools/dispatch-admission.ts +24 -1
- package/src/tools/dispatch-arguments.ts +8 -0
- package/src/tools/dispatch-plan.ts +32 -0
- package/src/tools/dispatch-schema.ts +31 -1
- package/src/tools/dispatch-types.ts +3 -0
- package/src/tools/dispatch.ts +1 -1
- package/src/tools/harness-extensions.ts +169 -0
- package/src/tools/observation.ts +4 -0
- package/src/tools/policy.ts +7 -1
- package/src/tools/registry.ts +31 -3
- package/src/tools/worker-evidence.ts +5 -0
- package/src/worker/context-seed.ts +192 -0
- package/src/worker/entry.ts +1 -0
- package/src/worker/spec-contract.ts +35 -1
- package/dist/acp-UVEVWSDL.js +0 -130
- package/dist/agents-VWY37DTK.js +0 -148
- package/dist/auth-PCV2XQDV.js +0 -551
- package/dist/builtins-PD652MTK.js +0 -22
- package/dist/chunk-22PQ4TX4.js +0 -360
- package/dist/chunk-24T2YZ7A.js +0 -22648
- package/dist/chunk-2AKYFREM.js +0 -1008
- package/dist/chunk-2QPI3TR3.js +0 -162
- package/dist/chunk-3BJGMT2D.js +0 -324
- package/dist/chunk-3HQVBIKD.js +0 -308
- package/dist/chunk-3JLFK5MW.js +0 -193
- package/dist/chunk-3O2ZAUGQ.js +0 -283
- package/dist/chunk-3QKXHCGS.js +0 -59
- package/dist/chunk-3T4DXWP6.js +0 -668
- package/dist/chunk-3UW3KU4A.js +0 -21
- package/dist/chunk-3WBALRQH.js +0 -5076
- package/dist/chunk-4DU2TVI4.js +0 -108
- package/dist/chunk-4U4TKZFR.js +0 -5052
- package/dist/chunk-4VMV6OS6.js +0 -101
- package/dist/chunk-536HXRFE.js +0 -1257
- package/dist/chunk-5CMARGPF.js +0 -477
- package/dist/chunk-5CY4Q6QI.js +0 -141
- package/dist/chunk-5QRX7SLS.js +0 -1018
- package/dist/chunk-5VTJP36Q.js +0 -36
- package/dist/chunk-5ZSZEYJK.js +0 -119
- package/dist/chunk-6HAO6X5B.js +0 -197
- package/dist/chunk-6OII3LOK.js +0 -404
- package/dist/chunk-6RYDAVQT.js +0 -4338
- package/dist/chunk-6VRRJT7L.js +0 -146
- package/dist/chunk-6YA46L5A.js +0 -386
- package/dist/chunk-77CZRFTE.js +0 -634
- package/dist/chunk-7JSSKXG2.js +0 -1215
- package/dist/chunk-7WUZEB2M.js +0 -165
- package/dist/chunk-7YJWEF2L.js +0 -974
- package/dist/chunk-ACCKVSHU.js +0 -44
- package/dist/chunk-B3MOMLJ4.js +0 -433
- package/dist/chunk-BBV5TKE6.js +0 -35
- package/dist/chunk-BLTEAUCB.js +0 -668
- package/dist/chunk-BS4GAMUB.js +0 -233
- package/dist/chunk-BT7HGDOX.js +0 -3151
- package/dist/chunk-CBSKDFWL.js +0 -101
- package/dist/chunk-CXQ37WJH.js +0 -45
- package/dist/chunk-DXLUVUD4.js +0 -1490
- package/dist/chunk-DZK63TZJ.js +0 -1334
- package/dist/chunk-E7RF4KBO.js +0 -266
- package/dist/chunk-ECOMVOHP.js +0 -139
- package/dist/chunk-EHOSNVVM.js +0 -59
- package/dist/chunk-F5Z7EWMN.js +0 -4484
- package/dist/chunk-FQOOGXBH.js +0 -579
- package/dist/chunk-GLYBJ4RQ.js +0 -396
- package/dist/chunk-HHVJNVUJ.js +0 -179
- package/dist/chunk-HL26ADLH.js +0 -77
- package/dist/chunk-HPTJF6DG.js +0 -2465
- package/dist/chunk-HXHFDHB6.js +0 -962
- package/dist/chunk-HZ2T2YED.js +0 -1687
- package/dist/chunk-HZFBVU5X.js +0 -666
- package/dist/chunk-I2K2NCZQ.js +0 -659
- package/dist/chunk-IGLVVNEG.js +0 -402
- package/dist/chunk-IKRWLEDA.js +0 -1567
- package/dist/chunk-J2FYEQ5L.js +0 -33
- package/dist/chunk-JMPL7NUB.js +0 -108
- package/dist/chunk-K2HL3GBL.js +0 -998
- package/dist/chunk-KAFMW7WM.js +0 -386
- package/dist/chunk-KTFSFCVN.js +0 -46
- package/dist/chunk-LIN2K3EL.js +0 -66
- package/dist/chunk-LUL5Z66S.js +0 -221
- package/dist/chunk-LVFANMOH.js +0 -466
- package/dist/chunk-LY4N4TTL.js +0 -117
- package/dist/chunk-LZBMXNLP.js +0 -1196
- package/dist/chunk-M6TAYK66.js +0 -807
- package/dist/chunk-N2OKBREN.js +0 -243
- package/dist/chunk-NC4KV7EL.js +0 -39
- package/dist/chunk-NF3BK5WR.js +0 -42
- package/dist/chunk-NNWJYUNO.js +0 -573
- package/dist/chunk-NTK3WTHM.js +0 -141
- package/dist/chunk-ODUTYZIU.js +0 -688
- package/dist/chunk-OQM5IVJY.js +0 -1377
- package/dist/chunk-P5JMBPDJ.js +0 -7192
- package/dist/chunk-P5SC4DLJ.js +0 -47
- package/dist/chunk-P6M7RKMI.js +0 -97
- package/dist/chunk-PWWSIB2A.js +0 -52
- package/dist/chunk-PZN2LQY6.js +0 -674
- package/dist/chunk-Q7NNUHQV.js +0 -705
- package/dist/chunk-QCOV5DFY.js +0 -911
- package/dist/chunk-QNWRHOMF.js +0 -692
- package/dist/chunk-QRFXEO6Y.js +0 -17
- package/dist/chunk-QXFBABFJ.js +0 -380
- package/dist/chunk-RGZNQ5CT.js +0 -657
- package/dist/chunk-SRZOW5L2.js +0 -1865
- package/dist/chunk-SXQKNKRA.js +0 -223
- package/dist/chunk-T334FW2H.js +0 -362
- package/dist/chunk-T52TPHYC.js +0 -318
- package/dist/chunk-TJFDL26W.js +0 -658
- package/dist/chunk-TN5FW4XY.js +0 -172
- package/dist/chunk-U7H5WRG5.js +0 -123
- package/dist/chunk-UFYNOQK4.js +0 -302
- package/dist/chunk-URBGEOH3.js +0 -32
- package/dist/chunk-USZA7GWL.js +0 -341
- package/dist/chunk-UUQ5G6EZ.js +0 -697
- package/dist/chunk-VAHLPXPY.js +0 -399
- package/dist/chunk-VANN3GDP.js +0 -2488
- package/dist/chunk-VHMX7SXF.js +0 -1289
- package/dist/chunk-WJIMKGD6.js +0 -132
- package/dist/chunk-WKUYQBCG.js +0 -795
- package/dist/chunk-WNGF5AJX.js +0 -1911
- package/dist/chunk-WV6TDAPN.js +0 -3627
- package/dist/chunk-X3BI7HTV.js +0 -562
- package/dist/chunk-XWMSPJYN.js +0 -149
- package/dist/chunk-YPRSNUTC.js +0 -395
- package/dist/chunk-ZS43Y2FT.js +0 -438
- package/dist/clio-QQCMTUZE.js +0 -26
- package/dist/code-nav-GUPM6766.js +0 -686
- package/dist/components-TNIKXCBH.js +0 -674
- package/dist/config-IIM7YOD3.js +0 -621
- package/dist/configure-4ZM5HWJX.js +0 -73
- package/dist/context-44BZLJ3J.js +0 -344
- package/dist/context-AIDVQKMW.js +0 -278
- package/dist/context-OL5P3HEP.js +0 -1031
- package/dist/context-clear-OQV76MYP.js +0 -184
- package/dist/context-index-HP2JFUWA.js +0 -120
- package/dist/context-map-INTXD54D.js +0 -555
- package/dist/context-working-set-ZUW3EGLS.js +0 -1556
- package/dist/detail-UXPWRANG.js +0 -115
- package/dist/dispatch-runner-P3ZW6G77.js +0 -2438
- package/dist/docs-BL7ROUFN.js +0 -292
- package/dist/doctor-JJVGPZWT.js +0 -797
- package/dist/eval-V2RTN3UH.js +0 -4972
- package/dist/eval-inventory-QOYZERXJ.js +0 -315
- package/dist/evidence-35PYWGSO.js +0 -225
- package/dist/evidence-CIGGKI6J.js +0 -383
- package/dist/evolve-33SM3NJP.js +0 -609
- package/dist/extensions-YVRHX6ZI.js +0 -229
- package/dist/fleet-LFO7SIPC.js +0 -908
- package/dist/fleet-commands-RLK72GU3.js +0 -75
- package/dist/fleet-decisions-3SBSCTCW.js +0 -159
- package/dist/fleet-graph-JZIBCGMW.js +0 -134
- package/dist/fleet-inspect-2L5YGGZJ.js +0 -469
- package/dist/fleet-preflight-QRSHIIDE.js +0 -22
- package/dist/fleet-validate-LIAVKDUU.js +0 -92
- package/dist/fleet-verify-JIK3OQZR.js +0 -202
- package/dist/fleet-view-IWHYGQKK.js +0 -118
- package/dist/init-NJEDOTQW.js +0 -321
- package/dist/interop-RVCAYECG.js +0 -115
- package/dist/inventory-74UL7UHU.js +0 -118
- package/dist/library-CTKZA7K3.js +0 -226
- package/dist/memory-I76I5VUH.js +0 -512
- package/dist/models-D4YDIQZQ.js +0 -289
- package/dist/monitor-NKVD55HX.js +0 -775
- package/dist/orchestrator-I6OATVPK.js +0 -39518
- package/dist/panes-7BTYH3XQ.js +0 -103
- package/dist/panes-WPOMEMRH.js +0 -74
- package/dist/paths-J3KN7UAO.js +0 -67
- package/dist/preload-EJAWJEIO.js +0 -116
- package/dist/reset-4XMQKDNZ.js +0 -345
- package/dist/resources-TVYVXK3Q.js +0 -125
- package/dist/run-OWQNNSJU.js +0 -872
- package/dist/share-NPZZMUXG.js +0 -290
- package/dist/skills-OXFEAWMT.js +0 -510
- package/dist/skills-eval-J5TCKSJA.js +0 -1034
- package/dist/skills-inventory-7II4DM57.js +0 -133
- package/dist/slash-commands-MDSDSWYF.js +0 -92
- package/dist/steer-S7D7IKPU.js +0 -77
- package/dist/support-5VAEC32W.js +0 -38
- package/dist/targets-KILZEOCE.js +0 -1109
- package/dist/tasks-R6P6OV22.js +0 -36
- package/dist/terminal-lease-LZCG2KN3.js +0 -405
- package/dist/tools-6OCQ6SVB.js +0 -28
- package/dist/trace-JHLXWUMN.js +0 -572
- package/dist/tui-primitives-RCY2HN7G.js +0 -17
- package/dist/uninstall-FXYMFFRT.js +0 -407
- package/dist/upgrade-D2OZH6IQ.js +0 -307
- package/dist/usage-PIASNUS4.js +0 -1052
- package/dist/verifiers-LTHUY2PX.js +0 -630
- package/dist/verify-HYF7KBVE.js +0 -30
- package/dist/web-fetch-MQN4FH3X.js +0 -788
- package/dist/wiki-generate-RK7JQ5NP.js +0 -615
- package/dist/with-panes-OFTNAR4Y.js +0 -628
- package/skills/README.md +0 -418
- package/skills/coding/ast-grep/SKILL.md +0 -213
- package/skills/coding/ast-grep/evals.md +0 -82
- package/skills/coding/coding-standards/SKILL.md +0 -164
- package/skills/coding/coding-standards/evals.md +0 -57
- package/skills/coding/prototype/SKILL.md +0 -151
- package/skills/coding/prototype/evals.md +0 -61
- package/skills/coding/tdd/SKILL.md +0 -134
- package/skills/coding/tdd/evals.md +0 -61
- package/skills/context/context-handoff/SKILL.md +0 -176
- package/skills/context/context-handoff/evals.md +0 -101
- package/skills/context/context-prime/SKILL.md +0 -131
- package/skills/context/context-prime/evals.md +0 -99
- package/skills/git/branch-closeout/SKILL.md +0 -132
- package/skills/git/file-ticket/SKILL.md +0 -126
- package/skills/git/fix-issue/SKILL.md +0 -136
- package/skills/git/resolve-merge-conflicts/SKILL.md +0 -151
- package/skills/git/resolve-merge-conflicts/evals.md +0 -85
- package/skills/git/ship/SKILL.md +0 -134
- package/skills/git/worktree-create/SKILL.md +0 -127
- package/skills/git/worktree-merge/SKILL.md +0 -147
- package/skills/meta/clio-coder-dev/SKILL.md +0 -101
- package/skills/meta/clio-coder-dev/evals.md +0 -46
- package/skills/meta/clio-coder-test/SKILL.md +0 -146
- package/skills/meta/clio-coder-test/evals.md +0 -48
- package/skills/meta/clio-coder-test/references/test-map.md +0 -96
- package/skills/meta/credentials/SKILL.md +0 -132
- package/skills/meta/credentials/evals.md +0 -104
- package/skills/meta/find-skills/SKILL.md +0 -78
- package/skills/meta/find-skills/evals.md +0 -47
- package/skills/meta/herdr/SKILL.md +0 -133
- package/skills/meta/herdr/evals.md +0 -38
- package/skills/meta/skill-craft/SKILL.md +0 -125
- package/skills/meta/skill-craft/evals.md +0 -41
- package/skills/planning/archify/SKILL.md +0 -196
- package/skills/planning/architecture/SKILL.md +0 -184
- package/skills/planning/architecture/evals.md +0 -101
- package/skills/planning/backlog/SKILL.md +0 -212
- package/skills/planning/backlog/evals.md +0 -185
- package/skills/planning/prd/SKILL.md +0 -129
- package/skills/planning/prd/evals.md +0 -103
- package/skills/planning/product-intent/SKILL.md +0 -173
- package/skills/planning/product-intent/evals.md +0 -106
- package/skills/planning/tech-spec/SKILL.md +0 -172
- package/skills/planning/tech-spec/evals.md +0 -120
- package/skills/registry.yaml +0 -144
- package/skills/remote.yaml +0 -13
- package/skills/research/arxiv-literature/SKILL.md +0 -168
- package/skills/research/arxiv-literature/evals.md +0 -108
- package/skills/research/experiment-protocol/SKILL.md +0 -148
- package/skills/research/experiment-protocol/evals.md +0 -114
- package/skills/research/scientific-debugging/SKILL.md +0 -149
- package/skills/research/scientific-debugging/evals.md +0 -156
- package/skills/research/scientific-modernization/SKILL.md +0 -170
- package/skills/research/scientific-modernization/evals.md +0 -111
- package/skills/skill-marketplace.json +0 -507
- package/skills/workflow/cut-it/SKILL.md +0 -153
- package/skills/workflow/cut-it/evals.md +0 -143
- package/skills/workflow/design-council/SKILL.md +0 -233
- package/skills/workflow/design-council/evals.md +0 -258
- package/skills/workflow/grill-me/SKILL.md +0 -267
- package/skills/workflow/grill-me/evals.md +0 -231
- package/skills/workflow/workflow-distiller/SKILL.md +0 -201
- package/skills/workflow/workflow-distiller/evals.md +0 -225
- package/src/domains/extensions/resource-path.ts +0 -27
- package/src/domains/extensions/resources.ts +0 -37
- package/src/domains/lifecycle/migrations/2026-09-01-extension-install-digests.ts +0 -27
- package/src/interactive/overlays/agents.ts +0 -70
- package/src/interactive/overlays/library-install-confirm.ts +0 -152
- package/src/interactive/overlays/prompts.ts +0 -89
- package/src/interactive/overlays/skills-hub.ts +0 -615
- /package/{skills → library/skills}/coding/ast-grep/references/rule_reference.md +0 -0
- /package/{skills → library/skills}/coding/prototype/references/LOGIC.md +0 -0
- /package/{skills → library/skills}/coding/prototype/references/UI.md +0 -0
- /package/{skills → library/skills}/coding/tdd/references/mocking.md +0 -0
- /package/{skills → library/skills}/coding/tdd/references/tests.md +0 -0
- /package/{skills → library/skills}/context/context-handoff/scripts/new-handoff.sh +0 -0
- /package/{skills → library/skills}/git/branch-closeout/evals.md +0 -0
- /package/{skills → library/skills}/git/branch-closeout/references/closeout-checklist.md +0 -0
- /package/{skills → library/skills}/git/file-ticket/assets/issue-template.md +0 -0
- /package/{skills → library/skills}/git/file-ticket/evals.md +0 -0
- /package/{skills → library/skills}/git/file-ticket/references/issue-discovery.md +0 -0
- /package/{skills → library/skills}/git/fix-issue/evals.md +0 -0
- /package/{skills → library/skills}/git/fix-issue/references/diagnosis-and-rca.md +0 -0
- /package/{skills → library/skills}/git/resolve-merge-conflicts/references/conflict-matrix.md +0 -0
- /package/{skills → library/skills}/git/ship/assets/pr-template.md +0 -0
- /package/{skills → library/skills}/git/ship/evals.md +0 -0
- /package/{skills → library/skills}/git/ship/references/remote-and-branch-policy.md +0 -0
- /package/{skills → library/skills}/git/worktree-create/evals.md +0 -0
- /package/{skills → library/skills}/git/worktree-create/references/worktree-setup.md +0 -0
- /package/{skills → library/skills}/git/worktree-merge/evals.md +0 -0
- /package/{skills → library/skills}/git/worktree-merge/references/merge-strategies.md +0 -0
- /package/{skills → library/skills}/meta/clio-coder-test/references/harness.md +0 -0
- /package/{skills → library/skills}/planning/archify/evals.md +0 -0
|
@@ -54,6 +54,7 @@ import {
|
|
|
54
54
|
wrapTextWithAnsi,
|
|
55
55
|
} from "../../engine/tui.js";
|
|
56
56
|
import { clockLocal } from "../format-time.js";
|
|
57
|
+
import { localKey } from "../keyboard-owner.js";
|
|
57
58
|
import { buildHint, DEFAULT_SELECT_THEME, showClioOverlayFrame } from "../overlay-frame.js";
|
|
58
59
|
import { barSep, clioTheme, GLYPH, padAnsi, rule, screenTitle } from "../theme/index.js";
|
|
59
60
|
import { modelsForTarget } from "./model-selector.js";
|
|
@@ -119,6 +120,7 @@ const SELECT_DOWN = "\u001b[B";
|
|
|
119
120
|
/** Settings pickers accept the same j/k navigation as the rows that open them. */
|
|
120
121
|
class SettingsSelectList extends SelectList {
|
|
121
122
|
override handleInput(data: string): void {
|
|
123
|
+
data = localKey(data);
|
|
122
124
|
super.handleInput(data === "j" ? SELECT_DOWN : data === "k" ? SELECT_UP : data);
|
|
123
125
|
}
|
|
124
126
|
}
|
|
@@ -149,7 +151,7 @@ const SETTINGS_SECTION_DESCRIPTIONS = {
|
|
|
149
151
|
orchestrator: "Interactive chat routing, prompt pre-warm, and the optional proactive-memory model plane.",
|
|
150
152
|
fleet: "Defaults, profiles, agent bindings, and route activation for dispatched workers, and where they run.",
|
|
151
153
|
targets: "Configured inference targets: which one chat and the fleet use, and whether each answers.",
|
|
152
|
-
models: "The /model picker, favorites, and
|
|
154
|
+
models: "The /model picker, favorites, and configured model cycling.",
|
|
153
155
|
budget: "Cost ceiling, per-turn output budget, worker concurrency, and the guardrail backstops.",
|
|
154
156
|
compaction: "When and how the context window is evicted and summarized under pressure.",
|
|
155
157
|
retry: "Automatic recovery from transient provider, network, and stalled-stream errors.",
|
|
@@ -422,7 +424,7 @@ const SETTINGS_DESCRIPTIONS_BY_ID = {
|
|
|
422
424
|
"panes.yazi.profile": "Use Clio's managed, themed engine profile or the operator's own file-manager configuration.",
|
|
423
425
|
"panes.yazi.followCwd": "Push the conversation directory into an already-open companion pane.",
|
|
424
426
|
"panes.yazi.ratio": "Share of the height the files dock takes, at most half.",
|
|
425
|
-
scope: "
|
|
427
|
+
scope: "Configured model-cycle action set.",
|
|
426
428
|
"modelSelector.recentLimit": "How many recently used models /model remembers.",
|
|
427
429
|
"modelSelector.favorites": "Exact target/model refs pinned in /model.",
|
|
428
430
|
"budget.sessionCeilingUsd": "Per-session cost cap.",
|
|
@@ -540,7 +542,8 @@ const SETTINGS_HELP_BY_ID: Partial<Record<EditableSettingId, string>> = {
|
|
|
540
542
|
"Bind base, custom, and shadow native agents such as scout, researcher, and provenance to profiles. ACP delegation agents cannot be bound.",
|
|
541
543
|
"delegation.defaults.toolGovernance":
|
|
542
544
|
"clio-coder-policy gates the agent through Clio's safety net; agent-managed trusts the agent; deny-all blocks every tool.",
|
|
543
|
-
scope:
|
|
545
|
+
scope:
|
|
546
|
+
"Choose target-level or exact target/model refs. Explicit model-cycle bindings step the chat target through this list.",
|
|
544
547
|
runtimePlugins: "Comma-separated package names, loaded at startup. Restart Clio after changing.",
|
|
545
548
|
"terminal.notify":
|
|
546
549
|
"OSC 777, or OSC 9 on iTerm2, Windows Terminal, and ConEmu. Interactive TTY runs only; the body never carries prompt text, file paths, or model output.",
|
|
@@ -835,6 +838,7 @@ export class SubmenuWrapper implements Component {
|
|
|
835
838
|
}
|
|
836
839
|
|
|
837
840
|
handleInput(data: string): void {
|
|
841
|
+
data = localKey(data);
|
|
838
842
|
this.child.handleInput?.(data);
|
|
839
843
|
}
|
|
840
844
|
|
|
@@ -1253,6 +1257,7 @@ class ScopedModelChecklist implements Component {
|
|
|
1253
1257
|
}
|
|
1254
1258
|
|
|
1255
1259
|
handleInput(data: string): void {
|
|
1260
|
+
data = localKey(data);
|
|
1256
1261
|
const kb = getKeybindings();
|
|
1257
1262
|
if (kb.matches(data, "tui.select.up") || data === "k") {
|
|
1258
1263
|
this.selectedRow = this.nextEntryIndex(this.selectedRow - 1, -1);
|
|
@@ -3037,10 +3042,6 @@ function fixedLines(lines: readonly string[], width: number, height: number): st
|
|
|
3037
3042
|
}
|
|
3038
3043
|
|
|
3039
3044
|
/** Typed text, as opposed to an escape sequence or a control byte. */
|
|
3040
|
-
function isPrintableInput(data: string): boolean {
|
|
3041
|
-
if (data.length === 0 || data.startsWith("\u001b")) return false;
|
|
3042
|
-
return Array.from(data).every((character) => character >= " " && character !== "\u007f");
|
|
3043
|
-
}
|
|
3044
3045
|
|
|
3045
3046
|
function scrollWindow(total: number, selected: number, height: number): [number, number] {
|
|
3046
3047
|
if (height <= 0 || total <= height) return [0, total];
|
|
@@ -3303,6 +3304,17 @@ export class SettingsCenter implements Component {
|
|
|
3303
3304
|
* Enter commits it and Esc restores the committed query.
|
|
3304
3305
|
*/
|
|
3305
3306
|
private filterDraft: string | null = null;
|
|
3307
|
+
private readonly filterInput = new Input();
|
|
3308
|
+
get keyboardScope(): "edit" | "review" {
|
|
3309
|
+
return this.filterDraft !== null ? "edit" : "review";
|
|
3310
|
+
}
|
|
3311
|
+
undoInput(): boolean {
|
|
3312
|
+
if (this.filterDraft === null) return false;
|
|
3313
|
+
this.filterInput.applyEdit("undo");
|
|
3314
|
+
this.filterDraft = this.filterInput.getValue();
|
|
3315
|
+
this.normalizeSelection();
|
|
3316
|
+
return true;
|
|
3317
|
+
}
|
|
3306
3318
|
/** Local cycle preview for the selected row; committed on Enter. */
|
|
3307
3319
|
private pendingValue: string | null = null;
|
|
3308
3320
|
|
|
@@ -3360,6 +3372,7 @@ export class SettingsCenter implements Component {
|
|
|
3360
3372
|
* presses and do nothing.
|
|
3361
3373
|
*/
|
|
3362
3374
|
handleInput(data: string): void {
|
|
3375
|
+
data = localKey(data);
|
|
3363
3376
|
if (isKeyRelease(data)) return;
|
|
3364
3377
|
if (matchesKey(data, "escape")) {
|
|
3365
3378
|
this.back();
|
|
@@ -3376,6 +3389,7 @@ export class SettingsCenter implements Component {
|
|
|
3376
3389
|
const kb = getKeybindings();
|
|
3377
3390
|
if (data === "/") {
|
|
3378
3391
|
this.filterDraft = this.filterQuery;
|
|
3392
|
+
this.filterInput.setValue(this.filterDraft);
|
|
3379
3393
|
return;
|
|
3380
3394
|
}
|
|
3381
3395
|
if (matchesKey(data, "tab")) {
|
|
@@ -3459,17 +3473,10 @@ export class SettingsCenter implements Component {
|
|
|
3459
3473
|
this.options.requestRender?.();
|
|
3460
3474
|
return;
|
|
3461
3475
|
}
|
|
3462
|
-
|
|
3463
|
-
|
|
3464
|
-
|
|
3465
|
-
|
|
3466
|
-
return;
|
|
3467
|
-
}
|
|
3468
|
-
if (isPrintableInput(data)) {
|
|
3469
|
-
this.filterDraft = draft + data;
|
|
3470
|
-
this.normalizeSelection();
|
|
3471
|
-
this.options.requestRender?.();
|
|
3472
|
-
}
|
|
3476
|
+
this.filterInput.handleInput(data);
|
|
3477
|
+
this.filterDraft = this.filterInput.getValue();
|
|
3478
|
+
this.normalizeSelection();
|
|
3479
|
+
this.options.requestRender?.();
|
|
3473
3480
|
}
|
|
3474
3481
|
|
|
3475
3482
|
/** The query the catalog is narrowed by right now: the live draft while the
|
|
@@ -2,6 +2,7 @@ import type { SessionContract } from "../../domains/session/contract.js";
|
|
|
2
2
|
import type { TreeSnapshot, TreeSnapshotNode } from "../../domains/session/tree/navigator.js";
|
|
3
3
|
import {
|
|
4
4
|
type Component,
|
|
5
|
+
Input,
|
|
5
6
|
matchesKey,
|
|
6
7
|
type OverlayHandle,
|
|
7
8
|
type TUI,
|
|
@@ -9,6 +10,7 @@ import {
|
|
|
9
10
|
visibleWidth,
|
|
10
11
|
} from "../../engine/tui.js";
|
|
11
12
|
import { clockLocal, dateLocal } from "../format-time.js";
|
|
13
|
+
import { localKey } from "../keyboard-owner.js";
|
|
12
14
|
import { buildHint, clioError, FocusBox, showClioOverlayFrame } from "../overlay-frame.js";
|
|
13
15
|
import { type ClioTheme, clioTheme, GLYPH } from "../theme/index.js";
|
|
14
16
|
|
|
@@ -204,6 +206,13 @@ export class TreeOverlayView implements Component {
|
|
|
204
206
|
private showTimestamps = false;
|
|
205
207
|
private submode: Submode = "browse";
|
|
206
208
|
private labelBuffer = "";
|
|
209
|
+
private readonly labelInput = new Input();
|
|
210
|
+
undoInput(): boolean {
|
|
211
|
+
if (this.submode !== "edit-label") return false;
|
|
212
|
+
this.labelInput.applyEdit("undo");
|
|
213
|
+
this.labelBuffer = this.labelInput.getValue();
|
|
214
|
+
return true;
|
|
215
|
+
}
|
|
207
216
|
private status = "";
|
|
208
217
|
private statusKind: "info" | "error" = "info";
|
|
209
218
|
|
|
@@ -300,7 +309,11 @@ export class TreeOverlayView implements Component {
|
|
|
300
309
|
|
|
301
310
|
invalidate(): void {}
|
|
302
311
|
|
|
312
|
+
get keyboardScope(): "edit" | "browse" {
|
|
313
|
+
return this.submode === "edit-label" ? "edit" : "browse";
|
|
314
|
+
}
|
|
303
315
|
handleInput(data: string): void {
|
|
316
|
+
data = localKey(data);
|
|
304
317
|
if (this.submode === "edit-label") {
|
|
305
318
|
this.handleLabelInput(data);
|
|
306
319
|
return;
|
|
@@ -344,6 +357,7 @@ export class TreeOverlayView implements Component {
|
|
|
344
357
|
if (data === "e") {
|
|
345
358
|
this.submode = "edit-label";
|
|
346
359
|
this.labelBuffer = this.currentRow()?.node.label ?? "";
|
|
360
|
+
this.labelInput.setValue(this.labelBuffer);
|
|
347
361
|
this.setStatus("");
|
|
348
362
|
return;
|
|
349
363
|
}
|
|
@@ -375,17 +389,8 @@ export class TreeOverlayView implements Component {
|
|
|
375
389
|
this.refresh();
|
|
376
390
|
return;
|
|
377
391
|
}
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
this.labelBuffer = this.labelBuffer.slice(0, -1);
|
|
381
|
-
return;
|
|
382
|
-
}
|
|
383
|
-
// Swallow other control sequences (arrows, etc.) so they do not end up
|
|
384
|
-
// in the label buffer.
|
|
385
|
-
if (data.length === 0) return;
|
|
386
|
-
// Accept printable chars (including multi-byte UTF-8 runs).
|
|
387
|
-
if (data.charCodeAt(0) < 0x20) return;
|
|
388
|
-
this.labelBuffer += data;
|
|
392
|
+
this.labelInput.handleInput(data);
|
|
393
|
+
this.labelBuffer = this.labelInput.getValue();
|
|
389
394
|
}
|
|
390
395
|
|
|
391
396
|
private setStatus(status: string, kind: "info" | "error" = "info"): void {
|
|
@@ -14,6 +14,12 @@ export const MUTATION_PREVIEW_KEY = "v";
|
|
|
14
14
|
*/
|
|
15
15
|
export type PermissionInspectionHint = "none" | "closed" | "open";
|
|
16
16
|
|
|
17
|
+
/** The key that folds and unfolds the standing approval terms on the card. */
|
|
18
|
+
export const PERMISSION_TERMS_KEY = "?";
|
|
19
|
+
|
|
20
|
+
/** Whether the terms are open. The composer rail never shows this key, so it defaults closed there. */
|
|
21
|
+
export type PermissionTermsHint = "closed" | "open";
|
|
22
|
+
|
|
17
23
|
/**
|
|
18
24
|
* The keys that answer a parked call, as data, so the dialog footer and the
|
|
19
25
|
* composer rail render the same policy at any width.
|
|
@@ -46,11 +52,18 @@ export type PermissionInspectionHint = "none" | "closed" | "open";
|
|
|
46
52
|
export function permissionHintEntries(
|
|
47
53
|
composerHasDraft = false,
|
|
48
54
|
inspection: PermissionInspectionHint = "none",
|
|
55
|
+
terms?: PermissionTermsHint,
|
|
49
56
|
): HintEntry[] {
|
|
50
57
|
return [
|
|
51
58
|
composerHasDraft
|
|
52
59
|
? { key: "Backspace", verb: "clear the draft to allow", short: "clear draft", critical: true }
|
|
53
60
|
: { key: "Enter", verb: "allow once", short: "allow", critical: true },
|
|
61
|
+
// The terms key is the card's own and the most droppable entry: the folded
|
|
62
|
+
// card already states what the keys do in one row. It sits before the
|
|
63
|
+
// inspect key so the narrowing drops it first.
|
|
64
|
+
...(terms === undefined
|
|
65
|
+
? []
|
|
66
|
+
: [{ key: PERMISSION_TERMS_KEY, verb: terms === "open" ? "hide terms" : "terms", short: "terms", critical: false }]),
|
|
54
67
|
...(inspection === "none"
|
|
55
68
|
? []
|
|
56
69
|
: inspection === "open"
|
|
@@ -15,12 +15,24 @@ import {
|
|
|
15
15
|
mutationPreviewWindow,
|
|
16
16
|
} from "./mutation-preview.js";
|
|
17
17
|
import { fitHintEntries } from "./overlay-frame.js";
|
|
18
|
-
import {
|
|
18
|
+
import {
|
|
19
|
+
MUTATION_PREVIEW_KEY,
|
|
20
|
+
PERMISSION_TERMS_KEY,
|
|
21
|
+
type PermissionInspectionHint,
|
|
22
|
+
type PermissionTermsHint,
|
|
23
|
+
permissionHintEntries,
|
|
24
|
+
} from "./permission-hint.js";
|
|
19
25
|
import type { ClioToken } from "./theme/index.js";
|
|
20
26
|
|
|
21
27
|
export { type AskAxis, askAxis } from "../domains/safety/approval-axis.js";
|
|
22
28
|
export { describeCallTarget, sanitizeCallTargetText } from "../domains/safety/call-target.js";
|
|
23
|
-
export {
|
|
29
|
+
export {
|
|
30
|
+
MUTATION_PREVIEW_KEY,
|
|
31
|
+
PERMISSION_TERMS_KEY,
|
|
32
|
+
type PermissionInspectionHint,
|
|
33
|
+
type PermissionTermsHint,
|
|
34
|
+
permissionHintEntries,
|
|
35
|
+
} from "./permission-hint.js";
|
|
24
36
|
|
|
25
37
|
export interface ApprovalRequestView {
|
|
26
38
|
requestId: string;
|
|
@@ -106,12 +118,16 @@ export interface PermissionOverlayBodyHandle extends Component {
|
|
|
106
118
|
isInspecting(): boolean;
|
|
107
119
|
toggleInspect(): void;
|
|
108
120
|
scrollInspect(delta: number): void;
|
|
121
|
+
/** The standing approval terms, folded behind `?` (see `permissionOverlayLines`). */
|
|
122
|
+
isShowingTerms(): boolean;
|
|
123
|
+
toggleTerms(): void;
|
|
109
124
|
}
|
|
110
125
|
|
|
111
126
|
class PermissionOverlayBody implements PermissionOverlayBodyHandle {
|
|
112
127
|
private preview: MutationPreview | null = null;
|
|
113
128
|
private scroll = 0;
|
|
114
129
|
private lastLineCount = 0;
|
|
130
|
+
private terms = false;
|
|
115
131
|
|
|
116
132
|
constructor(
|
|
117
133
|
private readonly view: ApprovalRequestView,
|
|
@@ -143,8 +159,16 @@ class PermissionOverlayBody implements PermissionOverlayBodyHandle {
|
|
|
143
159
|
this.scroll = Math.max(0, Math.min(this.scroll + delta, maxScroll));
|
|
144
160
|
}
|
|
145
161
|
|
|
162
|
+
isShowingTerms(): boolean {
|
|
163
|
+
return this.terms;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
toggleTerms(): void {
|
|
167
|
+
this.terms = !this.terms;
|
|
168
|
+
}
|
|
169
|
+
|
|
146
170
|
render(width: number): string[] {
|
|
147
|
-
if (this.preview === null) return permissionOverlayLines(this.view, width);
|
|
171
|
+
if (this.preview === null) return permissionOverlayLines(this.view, width, this.terms);
|
|
148
172
|
const rendered = permissionInspectionLines(this.view, this.preview, width, this.scroll);
|
|
149
173
|
this.lastLineCount = rendered.wrappedLineCount;
|
|
150
174
|
return rendered.lines;
|
|
@@ -153,13 +177,18 @@ class PermissionOverlayBody implements PermissionOverlayBodyHandle {
|
|
|
153
177
|
invalidate(): void {}
|
|
154
178
|
}
|
|
155
179
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
180
|
+
/**
|
|
181
|
+
* `label: value`, folded under the label rather than ellipsized.
|
|
182
|
+
*
|
|
183
|
+
* The target used to end in an ellipsis at the box edge, so a deep path lost
|
|
184
|
+
* its file name, which is the one token that says what the write touches. The
|
|
185
|
+
* value now wraps at spaces and hard-folds a token longer than the row, and a
|
|
186
|
+
* continuation row hangs under the value's first column.
|
|
187
|
+
*/
|
|
188
|
+
function field(label: string, value: string, width: number): string[] {
|
|
189
|
+
const indent = " ".repeat(label.length);
|
|
190
|
+
const rows = wrapSentence(value, Math.max(1, width - label.length));
|
|
191
|
+
return rows.map((row, index) => `${index === 0 ? label : indent}${row}`);
|
|
163
192
|
}
|
|
164
193
|
|
|
165
194
|
/**
|
|
@@ -235,8 +264,9 @@ export function permissionOverlayHint(
|
|
|
235
264
|
innerWidth: number,
|
|
236
265
|
composerHasDraft = false,
|
|
237
266
|
inspection: PermissionInspectionHint = "none",
|
|
267
|
+
terms: PermissionTermsHint = "closed",
|
|
238
268
|
): string {
|
|
239
|
-
return fitHintEntries(permissionHintEntries(composerHasDraft, inspection), innerWidth - 3);
|
|
269
|
+
return fitHintEntries(permissionHintEntries(composerHasDraft, inspection, terms), innerWidth - 3);
|
|
240
270
|
}
|
|
241
271
|
|
|
242
272
|
/** The tools whose parked call mutates a file, so a card without a preview owes the operator a reason. */
|
|
@@ -287,8 +317,8 @@ function permissionInspectionLines(
|
|
|
287
317
|
if (preview.neutralized) notes.push("control characters shown as ·");
|
|
288
318
|
if (preview.tabsExpanded) notes.push("tabs shown as spaces");
|
|
289
319
|
const lines = [
|
|
290
|
-
field("Tool: ", `${view.tool} · Action: ${view.actionClass}`, content),
|
|
291
|
-
...(view.target !== undefined && view.target.length > 0 ?
|
|
320
|
+
...field("Tool: ", `${view.tool} · Action: ${view.actionClass}`, content),
|
|
321
|
+
...(view.target !== undefined && view.target.length > 0 ? field("Target: ", view.target, content) : []),
|
|
292
322
|
...wrapSentence(`Mutation: ${mutationFactsLine(preview.facts)}`, content),
|
|
293
323
|
"",
|
|
294
324
|
...wrapSentence(preview.heading, content),
|
|
@@ -299,6 +329,16 @@ function permissionInspectionLines(
|
|
|
299
329
|
return { lines, wrappedLineCount: wrapped.length };
|
|
300
330
|
}
|
|
301
331
|
|
|
332
|
+
/**
|
|
333
|
+
* The one-row statement of what the three keys do, in the presentation's own
|
|
334
|
+
* words, so the folded card still says what allow, deny, and stop mean.
|
|
335
|
+
*/
|
|
336
|
+
function termsSummary(presentation: DecisionPresentation, actionClass: string): string {
|
|
337
|
+
const stop = presentation.requiredActions.find((action) => action.id === "stop");
|
|
338
|
+
const stopWords = stop?.consequence.includes("main-agent turn") ? "ends the main-agent turn" : "ends the turn";
|
|
339
|
+
return `Allow runs this one ${actionClass} call and leaves the autonomy level alone. Deny skips it. Stop ${stopWords}. Press ${PERMISSION_TERMS_KEY} for the full terms.`;
|
|
340
|
+
}
|
|
341
|
+
|
|
302
342
|
/**
|
|
303
343
|
* The overlay's body, laid out for the width the frame gives it.
|
|
304
344
|
*
|
|
@@ -306,8 +346,14 @@ function permissionInspectionLines(
|
|
|
306
346
|
* rest, so a 40-column terminal saw the safety sentences end mid-word and an
|
|
307
347
|
* 80-column one saw the command being authorized end mid-argument, both with
|
|
308
348
|
* nothing marking the cut.
|
|
349
|
+
*
|
|
350
|
+
* Seven of the card's thirteen rows were then the same on every call: the
|
|
351
|
+
* approval, consequence, reversibility, deny, stop, and hard-block sentences.
|
|
352
|
+
* They are the terms of the decision, not the decision, so they fold behind
|
|
353
|
+
* `?` and the card leads with what changes per call: the tool, the target in
|
|
354
|
+
* full, the mutation facts, and who asked.
|
|
309
355
|
*/
|
|
310
|
-
function permissionOverlayLines(view: ApprovalRequestView, width: number): string[] {
|
|
356
|
+
function permissionOverlayLines(view: ApprovalRequestView, width: number, terms = false): string[] {
|
|
311
357
|
const content = Math.max(8, Math.floor(width));
|
|
312
358
|
const presentation = permissionDecisionPresentation(view);
|
|
313
359
|
// The parked call is awaiting a decision, not blocked: the raw rejection
|
|
@@ -315,19 +361,18 @@ function permissionOverlayLines(view: ApprovalRequestView, width: number): strin
|
|
|
315
361
|
// wording contradicts the ask. Tool, Target, Action, and the asking axis
|
|
316
362
|
// carry everything the operator needs to decide.
|
|
317
363
|
const lines = [
|
|
318
|
-
field("Tool: ", `${view.tool} · Action: ${view.actionClass}`, content),
|
|
319
|
-
...(view.target !== undefined && view.target.length > 0 ?
|
|
364
|
+
...field("Tool: ", `${view.tool} · Action: ${view.actionClass}`, content),
|
|
365
|
+
...(view.target !== undefined && view.target.length > 0 ? field("Target: ", view.target, content) : []),
|
|
320
366
|
// Size and digest stay on the collapsed card whether or not the operator
|
|
321
367
|
// opens the mutation, so the decision always carries the identity of the
|
|
322
|
-
// bytes it applies to.
|
|
323
|
-
//
|
|
324
|
-
//
|
|
325
|
-
// to the bytes it applies to.
|
|
368
|
+
// bytes it applies to. Wrapped, never ellipsized: at 40 columns the digest
|
|
369
|
+
// is the tail of the line, and ellipsizing it would drop the one fact that
|
|
370
|
+
// ties the decision to the bytes it applies to.
|
|
326
371
|
...(view.mutation !== undefined
|
|
327
|
-
?
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
372
|
+
? wrapSentence(
|
|
373
|
+
`Mutation: ${mutationFactsLine(view.mutation)} · press ${MUTATION_PREVIEW_KEY} to read it before deciding`,
|
|
374
|
+
content,
|
|
375
|
+
)
|
|
331
376
|
: []),
|
|
332
377
|
...(view.mutation === undefined && view.origin.kind === "worker" && isFileMutationTool(view.tool)
|
|
333
378
|
? wrapSentence(
|
|
@@ -336,6 +381,7 @@ function permissionOverlayLines(view: ApprovalRequestView, width: number): strin
|
|
|
336
381
|
)
|
|
337
382
|
: []),
|
|
338
383
|
...wrapSentence(`Requested by: ${presentation.requestedByCopy}`, content),
|
|
384
|
+
...(view.queueDepth !== undefined && view.queueDepth > 1 ? [`1 of ${view.queueDepth} parked`] : []),
|
|
339
385
|
...(view.artifact !== undefined
|
|
340
386
|
? [
|
|
341
387
|
"",
|
|
@@ -344,16 +390,19 @@ function permissionOverlayLines(view: ApprovalRequestView, width: number): strin
|
|
|
344
390
|
]
|
|
345
391
|
: []),
|
|
346
392
|
"",
|
|
393
|
+
];
|
|
394
|
+
if (!terms) {
|
|
395
|
+
lines.push(...wrapSentence(termsSummary(presentation, view.actionClass), content));
|
|
396
|
+
return lines;
|
|
397
|
+
}
|
|
398
|
+
lines.push(
|
|
347
399
|
...wrapSentence(`Approval: ${presentation.authorizationCopy}`, content),
|
|
348
400
|
...wrapSentence(`Consequence: ${presentation.consequenceCopy}`, content),
|
|
349
401
|
...wrapSentence(presentation.reversibilityCopy, content),
|
|
350
402
|
...wrapSentence(`Deny: ${actionConsequence(presentation, "deny")}`, content),
|
|
351
403
|
...wrapSentence(`Stop: ${actionConsequence(presentation, "stop")}`, content),
|
|
352
404
|
...wrapSentence("Hard-blocked actions remain blocked.", content),
|
|
353
|
-
|
|
354
|
-
if (view.queueDepth !== undefined && view.queueDepth > 1) {
|
|
355
|
-
lines.splice(lines.indexOf(""), 0, `1 of ${view.queueDepth} parked`);
|
|
356
|
-
}
|
|
405
|
+
);
|
|
357
406
|
return lines;
|
|
358
407
|
}
|
|
359
408
|
|
|
@@ -1,197 +1,11 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
*
|
|
13
|
-
* The payload is not hand-assembled. It goes through `streamSimple`, the same
|
|
14
|
-
* dispatcher `createEngineAgent` hands pi-agent-core as its `streamFn`, with the
|
|
15
|
-
* same system prompt, the same tool schemas, the same replayed messages, and the
|
|
16
|
-
* same thinking level, so `withSamplingOverrides`, the thinking composition, and
|
|
17
|
-
* `cache_prompt` resolve exactly as they do for a turn. Any byte that differs
|
|
18
|
-
* ahead of the user turn would defeat the purpose.
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
import type { BackendCompletionTimings } from "../core/cache-telemetry.js";
|
|
22
|
-
import { streamSimple } from "../engine/ai.js";
|
|
23
|
-
import type { AgentMessage, AgentTool, EngineModel, Usage } from "../engine/types.js";
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* The one user message appended so the chat template renders the prefix up to
|
|
27
|
-
* the user turn. One character: it has to exist for the template to close the
|
|
28
|
-
* prefix, and everything after the last shared byte is re-evaluated by the real
|
|
29
|
-
* turn anyway.
|
|
30
|
-
*/
|
|
31
|
-
export const PREWARM_USER_TEXT = ".";
|
|
32
|
-
|
|
33
|
-
/** Output budget for the round. The tokens the model produces are not the point. */
|
|
34
|
-
export const PREWARM_MAX_TOKENS = 1;
|
|
35
|
-
|
|
36
|
-
/** Which trigger asked for the pre-warm. Recorded on the ledger entry. */
|
|
37
|
-
export type PrewarmTrigger = "session-start" | "resume" | "compaction";
|
|
38
|
-
|
|
39
|
-
export interface PrewarmContext {
|
|
40
|
-
systemPrompt: string;
|
|
41
|
-
messages: ReadonlyArray<AgentMessage>;
|
|
42
|
-
tools: ReadonlyArray<AgentTool>;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* The roles pi-agent-core's default `convertToLlm` keeps when it turns the
|
|
47
|
-
* agent's message list into provider messages. The pre-warm applies the same
|
|
48
|
-
* filter so its message array is the one a turn would send, not the agent's
|
|
49
|
-
* internal list.
|
|
50
|
-
*/
|
|
51
|
-
const LLM_MESSAGE_ROLES: ReadonlySet<string> = new Set(["user", "assistant", "toolResult"]);
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* The prefix of the next turn's request: system prompt, tool schemas, and the
|
|
55
|
-
* replayed conversation, with no user turn yet.
|
|
56
|
-
*/
|
|
57
|
-
function prewarmPrefix(state: {
|
|
58
|
-
systemPrompt: string;
|
|
59
|
-
messages: ReadonlyArray<AgentMessage>;
|
|
60
|
-
tools: ReadonlyArray<AgentTool>;
|
|
61
|
-
}): PrewarmContext {
|
|
62
|
-
return {
|
|
63
|
-
systemPrompt: state.systemPrompt,
|
|
64
|
-
messages: state.messages.filter((message) => LLM_MESSAGE_ROLES.has((message as { role?: string }).role ?? "")),
|
|
65
|
-
tools: [...state.tools],
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
export interface PrewarmRoundInput {
|
|
70
|
-
model: EngineModel;
|
|
71
|
-
/** Live agent state the next turn would send. Read-only; the round copies it. */
|
|
72
|
-
state: {
|
|
73
|
-
systemPrompt: string;
|
|
74
|
-
messages: ReadonlyArray<AgentMessage>;
|
|
75
|
-
tools: ReadonlyArray<AgentTool>;
|
|
76
|
-
thinkingLevel: string;
|
|
77
|
-
};
|
|
78
|
-
apiKey?: string;
|
|
79
|
-
signal?: AbortSignal;
|
|
80
|
-
/** Test seam. Production uses the engine dispatcher a turn runs on. */
|
|
81
|
-
streamFn?: typeof streamSimple;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
export interface PrewarmRoundResult {
|
|
85
|
-
/** True when the operator submitted (or the session moved) before the round settled. */
|
|
86
|
-
aborted: boolean;
|
|
87
|
-
/** Provider usage for the round; null when the backend reported none. */
|
|
88
|
-
usage: Usage | null;
|
|
89
|
-
/** Backend prefill and prediction timings when the server reported them. */
|
|
90
|
-
backend: BackendCompletionTimings | null;
|
|
91
|
-
/** Wall clock the round spent, in the shape a turn's assistant entry uses. */
|
|
92
|
-
timing: { ttftMs: number | null; apiMs: number };
|
|
93
|
-
/** Provider error text when the round failed outright. */
|
|
94
|
-
errorMessage: string | null;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
function usageOf(message: unknown): Usage | null {
|
|
98
|
-
if (message === null || typeof message !== "object") return null;
|
|
99
|
-
const usage = (message as { usage?: unknown }).usage;
|
|
100
|
-
return usage !== null && typeof usage === "object" ? (usage as Usage) : null;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
function backendOf(message: unknown): BackendCompletionTimings | null {
|
|
104
|
-
if (message === null || typeof message !== "object") return null;
|
|
105
|
-
const backend = (message as { backendTimings?: unknown }).backendTimings;
|
|
106
|
-
return backend !== null && typeof backend === "object" ? (backend as BackendCompletionTimings) : null;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Prompt tokens the backend actually processed for one pre-warm. The server's
|
|
111
|
-
* own prompt count is authoritative when it reported one; otherwise the
|
|
112
|
-
* provider usage prompt side, cached tokens folded in, is the honest figure.
|
|
113
|
-
* Null when neither exists, which is different from a measured zero.
|
|
114
|
-
*/
|
|
115
|
-
export function prewarmPromptTokens(result: Pick<PrewarmRoundResult, "usage" | "backend">): number | null {
|
|
116
|
-
if (result.backend) return result.backend.promptTokens;
|
|
117
|
-
const usage = result.usage;
|
|
118
|
-
if (!usage) return null;
|
|
119
|
-
const total = (usage.input || 0) + (usage.cacheRead || 0) + (usage.cacheWrite || 0);
|
|
120
|
-
return total > 0 ? total : null;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* Send the prefix and wait for the backend to acknowledge it. Resolves rather
|
|
125
|
-
* than rejects on a provider failure: a pre-warm is an optimization, and a
|
|
126
|
-
* backend that refuses it must not be able to break the session it was warming.
|
|
127
|
-
*/
|
|
128
|
-
export async function runPrewarmRound(input: PrewarmRoundInput): Promise<PrewarmRoundResult> {
|
|
129
|
-
const prefix = prewarmPrefix(input.state);
|
|
130
|
-
const context = {
|
|
131
|
-
systemPrompt: prefix.systemPrompt,
|
|
132
|
-
messages: [
|
|
133
|
-
...prefix.messages,
|
|
134
|
-
{ role: "user", content: [{ type: "text", text: PREWARM_USER_TEXT }], timestamp: Date.now() },
|
|
135
|
-
],
|
|
136
|
-
tools: prefix.tools,
|
|
137
|
-
};
|
|
138
|
-
// pi-agent-core maps `thinkingLevel: "off"` onto an absent `reasoning`; the
|
|
139
|
-
// pre-warm has to make the same mapping or the thinking composition resolves
|
|
140
|
-
// against a different level and the rendered template moves.
|
|
141
|
-
const options: Record<string, unknown> = { maxTokens: PREWARM_MAX_TOKENS };
|
|
142
|
-
if (input.state.thinkingLevel !== "off") options.reasoning = input.state.thinkingLevel;
|
|
143
|
-
if (input.apiKey !== undefined) options.apiKey = input.apiKey;
|
|
144
|
-
if (input.signal !== undefined) options.signal = input.signal;
|
|
145
|
-
|
|
146
|
-
const send = input.streamFn ?? streamSimple;
|
|
147
|
-
const startedAt = performance.now();
|
|
148
|
-
let firstDeltaAt: number | null = null;
|
|
149
|
-
const elapsed = (): number => Math.round(Math.max(0, performance.now() - startedAt));
|
|
150
|
-
const ttft = (): number | null => (firstDeltaAt === null ? null : Math.round(Math.max(0, firstDeltaAt - startedAt)));
|
|
151
|
-
|
|
152
|
-
try {
|
|
153
|
-
const events = send(
|
|
154
|
-
input.model,
|
|
155
|
-
context as unknown as Parameters<typeof streamSimple>[1],
|
|
156
|
-
options as unknown as Parameters<typeof streamSimple>[2],
|
|
157
|
-
);
|
|
158
|
-
for await (const event of events) {
|
|
159
|
-
if (firstDeltaAt === null && event.type !== "start") firstDeltaAt = performance.now();
|
|
160
|
-
if (event.type === "done") {
|
|
161
|
-
return {
|
|
162
|
-
aborted: false,
|
|
163
|
-
usage: usageOf(event.message),
|
|
164
|
-
backend: backendOf(event.message),
|
|
165
|
-
timing: { ttftMs: ttft(), apiMs: elapsed() },
|
|
166
|
-
errorMessage: null,
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
if (event.type === "error") {
|
|
170
|
-
const failed = event.error as { stopReason?: unknown; errorMessage?: unknown };
|
|
171
|
-
const aborted = event.reason === "aborted" || failed.stopReason === "aborted" || input.signal?.aborted === true;
|
|
172
|
-
return {
|
|
173
|
-
aborted,
|
|
174
|
-
usage: usageOf(event.error),
|
|
175
|
-
backend: backendOf(event.error),
|
|
176
|
-
timing: { ttftMs: ttft(), apiMs: elapsed() },
|
|
177
|
-
errorMessage: aborted ? null : typeof failed.errorMessage === "string" ? failed.errorMessage : "pre-warm failed",
|
|
178
|
-
};
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
} catch (error) {
|
|
182
|
-
return {
|
|
183
|
-
aborted: input.signal?.aborted === true,
|
|
184
|
-
usage: null,
|
|
185
|
-
backend: null,
|
|
186
|
-
timing: { ttftMs: ttft(), apiMs: elapsed() },
|
|
187
|
-
errorMessage: input.signal?.aborted === true ? null : error instanceof Error ? error.message : String(error),
|
|
188
|
-
};
|
|
189
|
-
}
|
|
190
|
-
return {
|
|
191
|
-
aborted: input.signal?.aborted === true,
|
|
192
|
-
usage: null,
|
|
193
|
-
backend: null,
|
|
194
|
-
timing: { ttftMs: ttft(), apiMs: elapsed() },
|
|
195
|
-
errorMessage: null,
|
|
196
|
-
};
|
|
197
|
-
}
|
|
1
|
+
/** Compatibility entry point; engine preparation is shared with headless callers. */
|
|
2
|
+
export {
|
|
3
|
+
PREWARM_MAX_TOKENS,
|
|
4
|
+
PREWARM_USER_TEXT,
|
|
5
|
+
type PrewarmContext,
|
|
6
|
+
type PrewarmRoundInput,
|
|
7
|
+
type PrewarmRoundResult,
|
|
8
|
+
type PrewarmTrigger,
|
|
9
|
+
prewarmPromptTokens,
|
|
10
|
+
runPrewarmRound,
|
|
11
|
+
} from "../engine/prewarm.js";
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ResourceSourceInfo } from "../domains/resources/collision.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The package a prompt came from, in the words the operator installed it by.
|
|
5
|
+
* A plugin root's source is `plugin:<scope>:<id>`; the rest are Clio's own
|
|
6
|
+
* roots and the foreign roots it reads, which carry the agent kind and scope.
|
|
7
|
+
* A leaf on purpose: the slash registry names the source in a card and must
|
|
8
|
+
* stay off the render graph.
|
|
9
|
+
*/
|
|
10
|
+
export function promptSourceLabel(sourceInfo: Pick<ResourceSourceInfo, "source" | "scope">): string {
|
|
11
|
+
const source = sourceInfo.source;
|
|
12
|
+
if (source === undefined) return `${sourceInfo.scope} prompts`;
|
|
13
|
+
const plugin = /^plugin:(?:[^:]+):(.+)$/u.exec(source);
|
|
14
|
+
if (plugin?.[1]) return `plugin ${plugin[1]}`;
|
|
15
|
+
if (source === "config") return "user prompts";
|
|
16
|
+
if (source === "project") return "project prompts";
|
|
17
|
+
if (source === "library") return "library";
|
|
18
|
+
const foreign = /^([a-z0-9-]+)-(user|project)$/u.exec(source);
|
|
19
|
+
if (foreign?.[1] && foreign[2]) return `${foreign[1]} ${foreign[2]} prompts`;
|
|
20
|
+
return source;
|
|
21
|
+
}
|