@iowarp/clio-coder 0.4.9 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +11 -3
- package/CHANGELOG.md +153 -0
- package/CODE_OF_CONDUCT.md +10 -0
- package/CONTRIBUTING.md +208 -382
- package/NOTICE +8 -2
- package/README.md +199 -418
- package/ROADMAP.md +82 -0
- package/SECURITY.md +14 -11
- package/dist/acp-KS7ARGV6.js +132 -0
- package/dist/agents-YOGJ2YEJ.js +163 -0
- package/dist/assets/codewiki.json +1 -1
- package/dist/auth-CEDCO6O6.js +557 -0
- package/dist/background-YWTBPSQU.js +39 -0
- package/dist/builtins-GDYO4RTR.js +23 -0
- package/dist/chunk-27YTM2CV.js +175 -0
- package/dist/chunk-2AF6YC7Q.js +75 -0
- package/dist/chunk-2DTIWSAW.js +381 -0
- package/dist/chunk-2EMLKSCX.js +262 -0
- package/dist/chunk-2OJ3YZQP.js +665 -0
- package/dist/chunk-2VLYHHFT.js +35 -0
- package/dist/chunk-2WVPJF3Z.js +204 -0
- package/dist/chunk-33OASOS6.js +176 -0
- package/dist/chunk-3BD2LXYJ.js +19 -0
- package/dist/chunk-3JHUFKG7.js +30 -0
- package/dist/chunk-3JLTRPN7.js +711 -0
- package/dist/chunk-3LT34CAM.js +2796 -0
- package/dist/chunk-3O5JWP4L.js +1670 -0
- package/dist/chunk-3UW3KU4A.js +21 -0
- package/dist/chunk-4A6YRGV4.js +569 -0
- package/dist/chunk-4D2BRCZ3.js +67 -0
- package/dist/chunk-4SYHGVDE.js +668 -0
- package/dist/chunk-4VDHLCF5.js +66 -0
- package/dist/chunk-4WOOTKFD.js +637 -0
- package/dist/chunk-4WV4PI66.js +80 -0
- package/dist/chunk-53OXPRI6.js +195 -0
- package/dist/chunk-55RMDDFM.js +1347 -0
- package/dist/chunk-56XP4FJU.js +2025 -0
- package/dist/chunk-5B3RTYAK.js +123 -0
- package/dist/chunk-5CD243WE.js +45 -0
- package/dist/chunk-5JQR5B4D.js +709 -0
- package/dist/chunk-5KQEUIWM.js +597 -0
- package/dist/chunk-5LP5FNNR.js +915 -0
- package/dist/chunk-62UK7AGW.js +9344 -0
- package/dist/chunk-6CTHLZFB.js +563 -0
- package/dist/chunk-6EJYVCTN.js +23 -0
- package/dist/chunk-6OWUM2NC.js +12289 -0
- package/dist/chunk-6RJMYYIE.js +1023 -0
- package/dist/chunk-6W75D37F.js +643 -0
- package/dist/chunk-733ZBT5P.js +1721 -0
- package/dist/chunk-77DCC6JZ.js +3710 -0
- package/dist/chunk-7QXCO3AF.js +156 -0
- package/dist/chunk-7RET77VB.js +481 -0
- package/dist/chunk-A4MVRV4C.js +65 -0
- package/dist/chunk-ALJWT6O6.js +93 -0
- package/dist/chunk-AVSR2HKI.js +232 -0
- package/dist/chunk-B7GY6QER.js +42 -0
- package/dist/chunk-BFOSV5EZ.js +178 -0
- package/dist/chunk-BGOIM7NB.js +103 -0
- package/dist/chunk-BJH6WFIB.js +372 -0
- package/dist/chunk-BOBCCDJ6.js +1533 -0
- package/dist/chunk-BRCOSE7O.js +117 -0
- package/dist/chunk-BYFHHCFV.js +601 -0
- package/dist/chunk-C2CPOIH2.js +83 -0
- package/dist/chunk-C7AQTPCE.js +694 -0
- package/dist/chunk-CBAQPTDU.js +165 -0
- package/dist/chunk-CDQ2UC6W.js +125 -0
- package/dist/chunk-CN6SW5DC.js +177 -0
- package/dist/chunk-CRHPCPZP.js +132 -0
- package/dist/chunk-CTFPFW3H.js +44 -0
- package/dist/chunk-D3KWFOUT.js +103 -0
- package/dist/chunk-D65E25JG.js +185 -0
- package/dist/chunk-DCGHJQ2U.js +236 -0
- package/dist/chunk-DE2LU267.js +106 -0
- package/dist/chunk-DF6PI6GN.js +97 -0
- package/dist/chunk-DGC6X6XR.js +53 -0
- package/dist/chunk-DOUISWEE.js +526 -0
- package/dist/chunk-DR3TAEUA.js +188 -0
- package/dist/chunk-DVTBERFY.js +33 -0
- package/dist/chunk-DXSETN72.js +1051 -0
- package/dist/chunk-DZLR4UEH.js +128 -0
- package/dist/chunk-E6IPKW2E.js +77 -0
- package/dist/chunk-EG4ARXPC.js +139 -0
- package/dist/chunk-EKV4UBCM.js +652 -0
- package/dist/chunk-EOJPDNUP.js +1325 -0
- package/dist/chunk-EX57VVWW.js +4157 -0
- package/dist/chunk-EYTLV3W3.js +5937 -0
- package/dist/chunk-EZD2BXGP.js +475 -0
- package/dist/chunk-EZDCA34W.js +314 -0
- package/dist/chunk-FD2I4KBR.js +33 -0
- package/dist/chunk-FD3IAHQM.js +27 -0
- package/dist/chunk-FFYTC2KQ.js +416 -0
- package/dist/chunk-FGSQHUCK.js +110 -0
- package/dist/chunk-GCQFN7YI.js +32 -0
- package/dist/chunk-GGPF6LLE.js +38 -0
- package/dist/chunk-GGWI3OVM.js +215 -0
- package/dist/chunk-GLIQT7SU.js +172 -0
- package/dist/chunk-GN7QBEEI.js +95 -0
- package/dist/chunk-GRHOXDKB.js +1104 -0
- package/dist/chunk-HMN2C6YL.js +54 -0
- package/dist/chunk-HOEDA42N.js +310 -0
- package/dist/chunk-HOYZUKG7.js +192 -0
- package/dist/chunk-HQVN7G4F.js +1021 -0
- package/dist/chunk-HSQQFDB3.js +519 -0
- package/dist/chunk-I4ELN5BX.js +47 -0
- package/dist/chunk-I4Y4WKZR.js +386 -0
- package/dist/chunk-IFPDAD7R.js +797 -0
- package/dist/chunk-IN7DGBVS.js +582 -0
- package/dist/chunk-ISHUS7HC.js +396 -0
- package/dist/chunk-JPXLJSGR.js +191 -0
- package/dist/chunk-JQCLXSFI.js +69 -0
- package/dist/chunk-KBUTSJSR.js +61 -0
- package/dist/chunk-KW5HXKLJ.js +56 -0
- package/dist/chunk-L4APUGCT.js +139 -0
- package/dist/chunk-L7G7K4I2.js +505 -0
- package/dist/chunk-LAR7DX5E.js +1840 -0
- package/dist/chunk-LAVUQX3B.js +462 -0
- package/dist/chunk-LJRBX7QR.js +116 -0
- package/dist/chunk-LNOXCGN2.js +1864 -0
- package/dist/chunk-LTWH2ACR.js +23002 -0
- package/dist/chunk-LYJJ6546.js +661 -0
- package/dist/chunk-M2IPMWCN.js +457 -0
- package/dist/chunk-MGLRTOCK.js +101 -0
- package/dist/chunk-MZF5IKZT.js +160 -0
- package/dist/chunk-N24R6KWS.js +386 -0
- package/dist/chunk-NASYVWDB.js +604 -0
- package/dist/chunk-NBXFPI7U.js +195 -0
- package/dist/chunk-NDPF2N2L.js +400 -0
- package/dist/chunk-NFSK2VNU.js +446 -0
- package/dist/chunk-NG3QQSXY.js +43 -0
- package/dist/chunk-NOCSM22Y.js +63 -0
- package/dist/chunk-NVPXXW2H.js +1143 -0
- package/dist/chunk-O63U2I6I.js +30 -0
- package/dist/chunk-OJXOA6YU.js +98 -0
- package/dist/chunk-OPD7GL6F.js +1196 -0
- package/dist/chunk-OQ2EOAHA.js +14399 -0
- package/dist/chunk-OV62D6KO.js +688 -0
- package/dist/chunk-OZ76TLGU.js +740 -0
- package/dist/chunk-P4GNZPXO.js +1156 -0
- package/dist/chunk-PS6JAWJZ.js +78 -0
- package/dist/chunk-PXRCXGLK.js +1865 -0
- package/dist/chunk-QDUUOZ3S.js +108 -0
- package/dist/chunk-QG6I2T5E.js +1416 -0
- package/dist/chunk-QHSBROEW.js +308 -0
- package/dist/chunk-QNUQ7K7D.js +46 -0
- package/dist/chunk-QZTTRSJE.js +333 -0
- package/dist/chunk-R2UUNSNQ.js +1605 -0
- package/dist/chunk-R7FGRZNF.js +1794 -0
- package/dist/chunk-RNDCROSG.js +199 -0
- package/dist/chunk-S36CXHO2.js +302 -0
- package/dist/chunk-SJGS3GDI.js +575 -0
- package/dist/chunk-SQZHXUB3.js +510 -0
- package/dist/chunk-SUTLW6ND.js +686 -0
- package/dist/chunk-SYF7FVBL.js +179 -0
- package/dist/chunk-T2MDZES3.js +1577 -0
- package/dist/chunk-T33IYTZM.js +1146 -0
- package/dist/chunk-TDGYTWM6.js +49 -0
- package/dist/chunk-TGL5FZVD.js +132 -0
- package/dist/chunk-TGWZXJ7L.js +1205 -0
- package/dist/chunk-TKDRT2DF.js +114 -0
- package/dist/chunk-TV2EBCSQ.js +152 -0
- package/dist/chunk-U26XXPJS.js +367 -0
- package/dist/chunk-U5QU5ZOD.js +419 -0
- package/dist/chunk-U6YTUVOX.js +1011 -0
- package/dist/chunk-UCINIRHW.js +188 -0
- package/dist/chunk-UJD5MPP6.js +52 -0
- package/dist/chunk-URCXX7WJ.js +146 -0
- package/dist/chunk-UX2L5CUD.js +898 -0
- package/dist/chunk-UZVYEF57.js +114 -0
- package/dist/chunk-V35KZDUZ.js +218 -0
- package/dist/chunk-VESL6DQY.js +1058 -0
- package/dist/chunk-VKHLUZNO.js +986 -0
- package/dist/chunk-VOYUCAQF.js +584 -0
- package/dist/chunk-VYRQHORQ.js +414 -0
- package/dist/chunk-W53XSRQE.js +245 -0
- package/dist/chunk-X4CEFOSG.js +226 -0
- package/dist/chunk-XDHUDE5K.js +380 -0
- package/dist/chunk-XISLDHEL.js +1290 -0
- package/dist/chunk-XM34YQ2Y.js +169 -0
- package/dist/chunk-XMDBTYCH.js +661 -0
- package/dist/chunk-XS2QPZJE.js +449 -0
- package/dist/chunk-YBUECLAF.js +618 -0
- package/dist/chunk-YQ6XEFVK.js +332 -0
- package/dist/chunk-YYLCPDCC.js +990 -0
- package/dist/chunk-Z4GLJ6J4.js +1035 -0
- package/dist/chunk-ZARZ4POR.js +210 -0
- package/dist/chunk-ZJPORZTC.js +119 -0
- package/dist/chunk-ZNUZ3EXD.js +243 -0
- package/dist/chunk-ZPST2KQO.js +49 -0
- package/dist/chunk-ZR5YA6ZF.js +512 -0
- package/dist/chunk-ZU4JPCPR.js +319 -0
- package/dist/chunk-ZUKUCZYZ.js +39 -0
- package/dist/cli/index.js +56 -45
- package/dist/clio-K2PBVCEM.js +27 -0
- package/dist/clio-context-tools-GR4OHFSO.js +145 -0
- package/dist/code-nav-4X3OI6DK.js +715 -0
- package/dist/codewiki/build-worker.js +4 -4
- package/dist/compile-cache-YRB6QRO7.js +18 -0
- package/dist/components-RQOJ6NUR.js +675 -0
- package/dist/config-Q5J7UBAB.js +291 -0
- package/dist/config-XE7XYZLU.js +38 -0
- package/dist/config-graph-P3555574.js +175 -0
- package/dist/configure-KIJ32ZO6.js +104 -0
- package/dist/context-LFBQOSXT.js +344 -0
- package/dist/context-NNLBES2Y.js +82 -0
- package/dist/context-WBH3KSVR.js +302 -0
- package/dist/context-clear-YOHMQ6SQ.js +208 -0
- package/dist/context-index-X2N5UAIF.js +120 -0
- package/dist/context-map-HOSMGUG2.js +555 -0
- package/dist/context-working-set-MRAEVDNV.js +1564 -0
- package/dist/data-tool-JJPBGMQJ.js +2986 -0
- package/dist/detail-RHJOTGN4.js +139 -0
- package/dist/dispatch-runner-NC7PYNIO.js +2477 -0
- package/dist/docs-K4GBWRUX.js +342 -0
- package/dist/doctor-S5KZ2GTN.js +1138 -0
- package/dist/doctor-deep-2EJQSHIZ.js +130 -0
- package/dist/domain-loader-MB34FDPD.js +13 -0
- package/dist/eval-3D6M36N7.js +5220 -0
- package/dist/eval-inventory-SM3HNM47.js +260 -0
- package/dist/evals-FO6JEUCN.js +104 -0
- package/dist/evidence-6IYN52ET.js +262 -0
- package/dist/evidence-JVECPI3F.js +250 -0
- package/dist/evidence-XNVPPLVK.js +410 -0
- package/dist/evolve-TLPUDJDM.js +634 -0
- package/dist/extensions-ROZJ5X3J.js +311 -0
- package/dist/fleet-6RJWIOEO.js +284 -0
- package/dist/fleet-WKVBF5SZ.js +942 -0
- package/dist/fleet-commands-L6WFT7KZ.js +76 -0
- package/dist/fleet-decisions-BTQMWU5A.js +55 -0
- package/dist/fleet-graph-553DZ67Q.js +141 -0
- package/dist/fleet-inspect-236FZPRB.js +329 -0
- package/dist/fleet-new-CKUXP3CO.js +48 -0
- package/dist/fleet-preflight-NZQHABWO.js +95 -0
- package/dist/fleet-validate-7NLAE26R.js +96 -0
- package/dist/fleet-verify-E3RO6A5W.js +226 -0
- package/dist/fleet-view-KMZQY7YJ.js +144 -0
- package/dist/gui/client/assets/abnfDiagram-VCTEODGH-DPBWQwNn.js +1 -0
- package/dist/gui/client/assets/architecture-7GRP2DOG-D1w8FrFW.js +1 -0
- package/dist/gui/client/assets/architectureDiagram-5GKGNRK7-CVPgKd1-.js +36 -0
- package/dist/gui/client/assets/blockDiagram-I7D4REHJ-BLmnqkK5.js +129 -0
- package/dist/gui/client/assets/c4Diagram-7LVT6UL2-4AU9cfM7.js +38 -0
- package/dist/gui/client/assets/channel-DwFZ0m8S.js +1 -0
- package/dist/gui/client/assets/chunk-4HAMMTFA-EOWkKCav.js +62 -0
- package/dist/gui/client/assets/chunk-75Z2AOVW-CygeoIMl.js +2 -0
- package/dist/gui/client/assets/chunk-DU6HZSFF-s27fViLb.js +125 -0
- package/dist/gui/client/assets/chunk-F27PBJKO-BrHvwLsZ.js +1 -0
- package/dist/gui/client/assets/chunk-GMAD6QVW-DzPh-7jt.js +72 -0
- package/dist/gui/client/assets/chunk-GVQU2GXP-pIaQkIzm.js +1 -0
- package/dist/gui/client/assets/chunk-IMKFNOWR-BGJVE_Br.js +231 -0
- package/dist/gui/client/assets/chunk-L3NEJ4N5-B3YLuhww.js +1 -0
- package/dist/gui/client/assets/chunk-OSK3NFVY-BRj61HHU.js +10 -0
- package/dist/gui/client/assets/chunk-P2QGCYS3-Sno90KxP.js +1 -0
- package/dist/gui/client/assets/chunk-POPQ4Y6H-Cw8NTbxr.js +1 -0
- package/dist/gui/client/assets/chunk-PWAF6VOD-BIhHgz37.js +1 -0
- package/dist/gui/client/assets/chunk-SHT3W25Y-Cqv7npBj.js +168 -0
- package/dist/gui/client/assets/chunk-SVP7TREG-Hxzl6Dee.js +88 -0
- package/dist/gui/client/assets/chunk-TICWLB2K-CIFVyVP2.js +206 -0
- package/dist/gui/client/assets/classDiagram-ZZMXUADV-BJbAiI_w.js +1 -0
- package/dist/gui/client/assets/classDiagram-v2-VYDZK3BY-BJbAiI_w.js +1 -0
- package/dist/gui/client/assets/cynefin-OW5HDTMX-DecLWZ-y.js +1 -0
- package/dist/gui/client/assets/cynefinDiagram-5FMLGOSQ-CK-T2N-D.js +62 -0
- package/dist/gui/client/assets/dagre-GXQ25YYZ-C0dfg-OS.js +4 -0
- package/dist/gui/client/assets/diagram-S7CK7UJ4-EaJukVh-.js +30 -0
- package/dist/gui/client/assets/diagram-UQ7AKVKN-xcOucEtP.js +41 -0
- package/dist/gui/client/assets/diagram-VSXAHHWV-3AUJACMf.js +3 -0
- package/dist/gui/client/assets/diagram-VX7I27RA-TPknLqam.js +24 -0
- package/dist/gui/client/assets/diagram-Z3DM3KII-wa1q3YMF.js +24 -0
- package/dist/gui/client/assets/ebnfDiagram-PWID7BFC-JBCF2-s7.js +1 -0
- package/dist/gui/client/assets/erDiagram-RLTQ6QDP-CmXjXPc4.js +99 -0
- package/dist/gui/client/assets/eventmodeling-NTZA5JFV-D_1aJWYl.js +1 -0
- package/dist/gui/client/assets/flowDiagram-HODETNUW-BQtZlael.js +1 -0
- package/dist/gui/client/assets/framework-Bq-znqwW.js +9 -0
- package/dist/gui/client/assets/ganttDiagram-EL5Y4UJY-IPaL_kaa.js +292 -0
- package/dist/gui/client/assets/gitGraph-4MIJSDKK-Oy0Q3hoc.js +1 -0
- package/dist/gui/client/assets/gitGraphDiagram-WWUBYQGX-jtAuBmbc.js +106 -0
- package/dist/gui/client/assets/index-CuFuBEdL.css +1 -0
- package/dist/gui/client/assets/index-hMbEIsX0.js +87 -0
- package/dist/gui/client/assets/info-A6RAGUB7-UtEs1tv7.js +1 -0
- package/dist/gui/client/assets/infoDiagram-27XIBGKW-hlwR1pBW.js +2 -0
- package/dist/gui/client/assets/ishikawaDiagram-5VMMS53U-C6vMtfsd.js +70 -0
- package/dist/gui/client/assets/journeyDiagram-3NMN7TZE-EAwAl_PS.js +139 -0
- package/dist/gui/client/assets/kanban-definition-UXKFOSKX-CQOhRKHW.js +89 -0
- package/dist/gui/client/assets/line-DbcwGZTW.js +1 -0
- package/dist/gui/client/assets/mermaid-parser.core-C2QfVcHd.js +7 -0
- package/dist/gui/client/assets/mermaid.core-N9qUTre1.js +44 -0
- package/dist/gui/client/assets/mindmap-definition-YA3MSWOX-BR_FL9gK.js +96 -0
- package/dist/gui/client/assets/packet-AYTQ26CC-CbBJ2oAa.js +1 -0
- package/dist/gui/client/assets/pegDiagram-XKGWAZYB-BruU0IHM.js +1 -0
- package/dist/gui/client/assets/pie-WAS4IAKB-BWdSng4H.js +1 -0
- package/dist/gui/client/assets/pieDiagram-E7YTZNPT-CR3ljgdU.js +39 -0
- package/dist/gui/client/assets/quadrantDiagram-AXDQQJYC-C-boKslr.js +7 -0
- package/dist/gui/client/assets/radar-RG4KPBEZ-CGlOnAKG.js +1 -0
- package/dist/gui/client/assets/railroad-74A4TZTK-CDvuAlyC.js +1 -0
- package/dist/gui/client/assets/railroad-abnf-HS5TGJTU-CQUA9crC.js +1 -0
- package/dist/gui/client/assets/railroad-ebnf-LZEXJU2U-CD857gxq.js +1 -0
- package/dist/gui/client/assets/railroad-peg-WCYAUIDC-DUV4k35E.js +1 -0
- package/dist/gui/client/assets/railroadDiagram-O6MQD6OU-DMR4LXmA.js +1 -0
- package/dist/gui/client/assets/requirementDiagram-BXWQKSXE-DVltaF6c.js +84 -0
- package/dist/gui/client/assets/sankeyDiagram-P5KCCOFB-CHdNz472.js +40 -0
- package/dist/gui/client/assets/sequenceDiagram-WJ2MYXX4-DaMafIty.js +162 -0
- package/dist/gui/client/assets/stateDiagram-D77RDMKH-CEbBHqn3.js +1 -0
- package/dist/gui/client/assets/stateDiagram-v2-MP3YSRHH-B3JgDdFg.js +1 -0
- package/dist/gui/client/assets/swimlanes-42K2YHIH-BlPHndnJ.js +1 -0
- package/dist/gui/client/assets/swimlanesDiagram-VR7AAH4N-BPabHwsZ.js +8 -0
- package/dist/gui/client/assets/timeline-definition-24CTP7MA-E4Y1lPBI.js +120 -0
- package/dist/gui/client/assets/treeView-Q6P3EWNA-DrY0uhTN.js +1 -0
- package/dist/gui/client/assets/treemap-WGGIJYW6-CVotnLHf.js +1 -0
- package/dist/gui/client/assets/vennDiagram-4TSXK5OY-DJNrLIOF.js +34 -0
- package/dist/gui/client/assets/wardley-WFR3VGLG-ClOpAp5S.js +1 -0
- package/dist/gui/client/assets/wardleyDiagram-VM6X3IG4-qhMoKOXc.js +78 -0
- package/dist/gui/client/assets/xychartDiagram-S5SC5T6Z-CTuXoo9R.js +7 -0
- package/dist/gui/client/index.html +6 -0
- package/dist/gui/ops-worker.js +167 -0
- package/dist/gui/reads-worker.js +473 -0
- package/dist/gui/server.js +9780 -0
- package/dist/gui-QJS7XQMV.js +16 -0
- package/dist/init-DV5B6HQG.js +354 -0
- package/dist/install-6C45YXFP.js +19 -0
- package/dist/install-O7NSRU2W.js +13 -0
- package/dist/interactive-OXGYZYAS.js +22381 -0
- package/dist/interop-J7UOBOSF.js +254 -0
- package/dist/inventory-OEGIL6PY.js +144 -0
- package/dist/library-B3UPGY4V.js +83 -0
- package/dist/library-MXQA5DLT.js +309 -0
- package/dist/library-ROZAMUIL.js +496 -0
- package/dist/library-import-2LTWOVBD.js +190 -0
- package/dist/library-inventory-LJ3XHLWO.js +60 -0
- package/dist/library-validation-DARHHUNW.js +46 -0
- package/dist/mcp-2GSPYQ54.js +28 -0
- package/dist/memory-J3STUUIK.js +537 -0
- package/dist/models-Y3GMFJ2V.js +314 -0
- package/dist/monitor-LHNH577J.js +811 -0
- package/dist/orchestrator-DTAPXULA.js +12117 -0
- package/dist/panes-A743ONZ5.js +103 -0
- package/dist/panes-CTNO57ZY.js +76 -0
- package/dist/paths-3SBYJQDP.js +68 -0
- package/dist/preload-OJBMAIXF.js +140 -0
- package/dist/providers-CMETPZNS.js +232 -0
- package/dist/registry-37T4U6X2.js +15 -0
- package/dist/reset-O7EUCYWO.js +346 -0
- package/dist/resources-FY6XYFN2.js +189 -0
- package/dist/run-H64MEVTA.js +1067 -0
- package/dist/run-script-PQ5NRU3X.js +42 -0
- package/dist/settings-SNIQNXCW.js +73 -0
- package/dist/settings-controls-X6GMCPVG.js +202 -0
- package/dist/share-CAFMMQLM.js +299 -0
- package/dist/skills-ERKQUC7L.js +114 -0
- package/dist/skills-eval-CQ23MYQK.js +1099 -0
- package/dist/skills-inventory-TVUYJDVN.js +142 -0
- package/dist/slash-commands-ROG3KIFJ.js +107 -0
- package/dist/startup-background-KDWCQMWT.js +247 -0
- package/dist/steer-KKYXJSH4.js +77 -0
- package/dist/support-M3RCUUEL.js +40 -0
- package/dist/system-ZDW44ZGX.js +142 -0
- package/dist/target-runtimes-PWA22WVW.js +73 -0
- package/dist/targets-AJWA6E7Z.js +1207 -0
- package/dist/tasks-6L2JJRC5.js +39 -0
- package/dist/terminal-lease-YFUSDPAD.js +432 -0
- package/dist/tools-5XJUABRD.js +30 -0
- package/dist/trace-LA5MVR4Y.js +527 -0
- package/dist/tree-sitter-TQW3Y52T.js +4673 -0
- package/dist/tui-primitives-IUCVWLH5.js +19 -0
- package/dist/uninstall-SAWGGXAB.js +448 -0
- package/dist/upgrade-HSNSVTZG.js +300 -0
- package/dist/usage-XSILDHKF.js +1083 -0
- package/dist/verifiers-ECA5GIHL.js +633 -0
- package/dist/verify-R6QQCCEB.js +31 -0
- package/dist/version-PLZYB5KW.js +22 -0
- package/dist/web-fetch-PVZNMBOB.js +803 -0
- package/dist/wiki-generate-RP22WP5K.js +647 -0
- package/dist/with-panes-W3PAZPRF.js +629 -0
- package/dist/worker/entry.js +324 -284
- package/dist/workspace-check-3764ZKC2.js +83 -0
- package/docs/README.md +26 -10
- package/docs/architecture/acp.md +179 -12
- package/docs/architecture/artifact-placement.md +1 -1
- package/docs/architecture/capacity-and-scheduling.md +7 -8
- package/docs/architecture/context-engine.md +350 -95
- package/docs/architecture/model-catalog.md +18 -11
- package/docs/architecture/observability.md +1 -1
- package/docs/architecture/pi-boundary.md +59 -6
- package/docs/architecture/prompt-envelope-and-tools.md +147 -39
- package/docs/architecture/provider-adapter-cookbook.md +2 -2
- package/docs/architecture/safety-model.md +18 -4
- package/docs/architecture/trace-store.md +2 -2
- package/docs/architecture/tui-design.md +41 -81
- package/docs/architecture/worker-dispatch-mechanics.md +9 -1
- package/docs/gui/README.md +69 -0
- package/docs/gui/boundary-doctrine.md +104 -0
- package/docs/gui/chat-rendering-spec.md +1440 -0
- package/docs/gui/cli-surface-routing.md +148 -0
- package/docs/gui/delivery-order.md +53 -0
- package/docs/gui/event-bus-coverage.md +103 -0
- package/docs/gui/inspector-presentation.md +71 -0
- package/docs/gui/parity/01-cli-surface.md +74 -0
- package/docs/gui/parity/02-slash-and-surfaces.md +110 -0
- package/docs/gui/parity/03-domains-and-plan.md +69 -0
- package/docs/gui/performance-baseline.md +76 -0
- package/docs/gui/settings-write-surface.md +267 -0
- package/docs/gui/workflow-coverage.md +64 -0
- package/docs/guide/built-in-agents.md +1 -1
- package/docs/guide/commands-and-modes.md +256 -99
- package/docs/guide/configuration-and-targets.md +485 -124
- package/docs/guide/configuration-reference.md +165 -82
- package/docs/guide/doctor.md +127 -0
- package/docs/guide/environment-variables.md +1 -1
- package/docs/guide/exit-codes-and-output.md +3 -1
- package/docs/guide/extensions-and-sharing.md +3 -14
- package/docs/guide/fleet-dispatch.md +231 -45
- package/docs/guide/glossary.md +1 -1
- package/docs/guide/installation-and-lifecycle.md +27 -16
- package/docs/guide/interop.md +2 -2
- package/docs/guide/proactive-memory.md +154 -68
- package/docs/guide/resource-library.md +4 -0
- package/docs/guide/skills-marketplace.md +8 -4
- package/docs/guide/slurm.md +88 -0
- package/docs/guide/tool-usage.md +134 -11
- package/docs/guide/troubleshooting.md +4 -2
- package/docs/process/battletest-2026-09-20-fixes.md +161 -0
- package/docs/process/configure-tree-proposal.md +637 -0
- package/docs/process/documentation-coverage.md +8 -0
- package/docs/process/documentation-guide.md +18 -1
- package/docs/process/eval-runner.md +58 -14
- package/docs/process/performance-methodology.md +11 -3
- package/docs/process/release-cut-checklist.md +29 -3
- package/docs/process/tool-audit-v0.4.9.md +3 -0
- package/examples/extensions/README.md +1 -3
- package/examples/extensions/lab-status/clio-coder-extension.json +1 -1
- package/examples/extensions/measurements/clio-coder-extension.json +1 -1
- package/library/registry.yaml +30 -5
- package/library/skills/git/fix-issue/SKILL.md +2 -1
- package/library/skills/git/fix-issue/plugin.json +1 -1
- package/library/skills/git/ship/SKILL.md +2 -1
- package/library/skills/git/ship/plugin.json +1 -1
- package/library/skills/meta/clio-coder-test/SKILL.md +5 -6
- package/library/skills/meta/clio-coder-test/evals.md +2 -2
- package/library/skills/meta/clio-coder-test/references/test-map.md +2 -2
- package/library/skills/registry.yaml +9 -5
- package/library/skills/research/slurm-jobs/SKILL.md +110 -0
- package/library/skills/research/slurm-jobs/evals.md +39 -0
- package/library/skills/research/slurm-jobs/plugin.json +23 -0
- package/library/skills/skill-marketplace.json +18 -2
- package/package.json +15 -10
- package/src/cli/args.ts +59 -0
- package/src/cli/argv.ts +7 -0
- package/src/cli/clio.ts +9 -1
- package/src/cli/configure-controls.ts +136 -0
- package/src/cli/configure-onboarding.ts +24 -7
- package/src/cli/configure-quick.ts +32 -7
- package/src/cli/configure-target.ts +11 -1
- package/src/cli/configure.ts +253 -256
- package/src/cli/docs-server.ts +290 -0
- package/src/cli/docs.ts +60 -15
- package/src/cli/doctor-deep.ts +126 -0
- package/src/cli/doctor-hpc.ts +122 -0
- package/src/cli/doctor-slurm.ts +130 -0
- package/src/cli/doctor-task-worktrees.ts +88 -0
- package/src/cli/doctor.ts +165 -16
- package/src/cli/fleet-verify.ts +3 -2
- package/src/cli/gui.ts +111 -0
- package/src/cli/index.ts +14 -4
- package/src/cli/library.ts +2 -7
- package/src/cli/modes/json-stream.ts +4 -2
- package/src/cli/modes/print.ts +252 -25
- package/src/cli/run.ts +199 -71
- package/src/cli/skills.ts +25 -7
- package/src/cli/targets.ts +87 -9
- package/src/cli/uninstall.ts +28 -8
- package/src/cli/usage.ts +2 -1
- package/src/cli/workspace-check.ts +71 -0
- package/src/core/bash-exec.ts +8 -2
- package/src/core/bus-events.ts +32 -3
- package/src/core/cache-telemetry.ts +3 -2
- package/src/core/compile-cache.ts +11 -1
- package/src/core/config.ts +59 -6
- package/src/core/defaults.ts +27 -5
- package/src/core/diagnostics.ts +25 -0
- package/src/core/event-bus.ts +2 -1
- package/src/core/gateway-routing.ts +10 -3
- package/src/core/git-commit-attribution.ts +2 -1
- package/src/core/naming-compat.ts +6 -4
- package/src/core/package-root.ts +0 -9
- package/src/core/path-canonical.ts +143 -24
- package/src/core/residency-target-key.ts +2 -6
- package/src/core/run-overrides.ts +1 -1
- package/src/core/settings-awareness.ts +108 -0
- package/src/core/settings-controls.ts +673 -0
- package/src/core/settings-navigation.ts +116 -0
- package/src/core/theme-token-hex.ts +19 -9
- package/src/core/turn-constraints.ts +52 -0
- package/src/domains/agents/builtins/scout.md +7 -17
- package/src/domains/agents/catalog.ts +5 -1
- package/src/domains/agents/extension.ts +2 -1
- package/src/domains/agents/registry.ts +4 -3
- package/src/domains/agents/result-contract.ts +132 -1
- package/src/domains/config/classify.ts +11 -7
- package/src/domains/config/extension.ts +5 -1
- package/src/domains/config/keybindings.ts +2 -2
- package/src/domains/context/codewiki/coordinator.ts +10 -0
- package/src/domains/context/worker/snapshot.ts +6 -3
- package/src/domains/dispatch/active-route-planner.ts +2 -0
- package/src/domains/dispatch/agent-candidates.ts +5 -1
- package/src/domains/dispatch/capability-match.ts +1 -1
- package/src/domains/dispatch/contract.ts +28 -0
- package/src/domains/dispatch/event-pump.ts +37 -3
- package/src/domains/dispatch/extension.ts +391 -48
- package/src/domains/dispatch/failure-classification.ts +37 -2
- package/src/domains/dispatch/receipt-integrity.ts +3 -0
- package/src/domains/dispatch/run-identity.ts +10 -3
- package/src/domains/dispatch/target-breaker.ts +163 -0
- package/src/domains/dispatch/types.ts +29 -2
- package/src/domains/dispatch/worker-model-loads.ts +66 -0
- package/src/domains/dispatch/worker-protocol.ts +20 -1
- package/src/domains/dispatch/worker-spawn.ts +28 -2
- package/src/domains/eval/artifacts/redact.ts +9 -0
- package/src/domains/eval/metrics/noop.ts +61 -0
- package/src/domains/eval/reports/junit.ts +5 -1
- package/src/domains/eval/reports/text.ts +7 -0
- package/src/domains/eval/runners/clio-run.ts +19 -8
- package/src/domains/eval/runners/external-command.ts +29 -4
- package/src/domains/eval/schema/adapter.ts +6 -2
- package/src/domains/eval/schema/suite.ts +2 -0
- package/src/domains/eval/schema/validate.ts +3 -0
- package/src/domains/eval/suites/run.ts +167 -26
- package/src/domains/evidence/detail.ts +3 -2
- package/src/domains/extensions/operator-runtime.ts +11 -4
- package/src/domains/gateway/mcp/client.ts +1 -1
- package/src/domains/lifecycle/doctor.ts +42 -26
- package/src/domains/lifecycle/migrations/2026-09-18-ollama-runtime-id.ts +38 -0
- package/src/domains/lifecycle/migrations/index.ts +2 -0
- package/src/domains/middleware/demo-guidance.ts +36 -0
- package/src/domains/middleware/dispatch-nudge.ts +1 -1
- package/src/domains/middleware/memory-intervention.ts +51 -4
- package/src/domains/middleware/runtime.ts +5 -4
- package/src/domains/middleware/skills-reminder.ts +29 -52
- package/src/domains/middleware/task-nudge.ts +1 -0
- package/src/domains/middleware/watchdog.ts +4 -0
- package/src/domains/observability/extension.ts +2 -1
- package/src/domains/observability/out-of-turn-usage.ts +3 -2
- package/src/domains/observability/projection.ts +3 -2
- package/src/domains/observability/worker-progress.ts +48 -0
- package/src/domains/prompts/compiler.ts +148 -52
- package/src/domains/prompts/contract.ts +3 -3
- package/src/domains/prompts/demo-guidance.ts +8 -0
- package/src/domains/prompts/extension.ts +12 -7
- package/src/domains/prompts/fragments/identity/clio.md +2 -1
- package/src/domains/prompts/fragments/identity/docs-routing.md +2 -0
- package/src/domains/prompts/fragments/identity/self-awareness.md +4 -0
- package/src/domains/prompts/fragments/operating/contract.md +16 -7
- package/src/domains/prompts/fragments/operating/delegation.md +29 -13
- package/src/domains/prompts/fragments/operating/skills.md +18 -10
- package/src/domains/prompts/fragments/operating/worker.md +2 -0
- package/src/domains/providers/cache-deployment.ts +45 -2
- package/src/domains/providers/contract.ts +52 -11
- package/src/domains/providers/extension.ts +230 -53
- package/src/domains/providers/model-discovery.ts +22 -8
- package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +5 -7
- package/src/domains/providers/plugins.ts +3 -4
- package/src/domains/providers/probe/fingerprint.ts +2 -2
- package/src/domains/providers/probe/reasoning.ts +9 -16
- package/src/domains/providers/probe/tool-call.ts +236 -0
- package/src/domains/providers/registry.ts +51 -8
- package/src/domains/providers/runtime-resolution.ts +60 -12
- package/src/domains/providers/runtimes/boot-manifest.ts +1 -1
- package/src/domains/providers/runtimes/builtins.ts +2 -2
- package/src/domains/providers/runtimes/common/lmstudio-http.ts +57 -41
- package/src/domains/providers/runtimes/common/local-synth.ts +3 -1
- package/src/domains/providers/runtimes/common/ollama-model-ids.ts +11 -0
- package/src/domains/providers/runtimes/common/probe-helpers.ts +53 -0
- package/src/domains/providers/runtimes/local-native/llamacpp-completion.ts +3 -1
- package/src/domains/providers/runtimes/local-native/llamacpp-embed.ts +7 -13
- package/src/domains/providers/runtimes/local-native/llamacpp-rerank.ts +7 -17
- package/src/domains/providers/runtimes/local-native/llamacpp.ts +1 -0
- package/src/domains/providers/runtimes/local-native/ollama.ts +211 -0
- package/src/domains/providers/runtimes/protocol/litellm.ts +77 -65
- package/src/domains/providers/support.ts +1 -1
- package/src/domains/providers/types/local-model-quirks.ts +2 -3
- package/src/domains/providers/types/runtime-descriptor.ts +23 -3
- package/src/domains/providers/types/target-descriptor.ts +15 -3
- package/src/domains/resources/collision.ts +7 -2
- package/src/domains/resources/index.ts +1 -0
- package/src/domains/resources/library-actions.ts +4 -2
- package/src/domains/resources/library-inventory.ts +6 -2
- package/src/domains/resources/prompts/loader.ts +20 -7
- package/src/domains/resources/skills/availability.ts +56 -0
- package/src/domains/resources/skills/loader.ts +20 -9
- package/src/domains/safety/action-classifier.ts +282 -31
- package/src/domains/safety/audit.ts +2 -1
- package/src/domains/safety/autonomy.ts +54 -11
- package/src/domains/safety/decision-presentation.ts +17 -4
- package/src/domains/safety/finish-contract-registration.ts +25 -1
- package/src/domains/safety/finish-contract.ts +20 -5
- package/src/domains/safety/path-policy.ts +6 -2
- package/src/domains/safety/policy-engine.ts +168 -48
- package/src/domains/safety/protected-artifacts.ts +527 -16
- package/src/domains/safety/read-scope.ts +120 -0
- package/src/domains/safety/skill-authority.ts +52 -16
- package/src/domains/scheduling/cluster.ts +14 -3
- package/src/domains/scheduling/contract.ts +7 -0
- package/src/domains/scheduling/extension.ts +20 -9
- package/src/domains/scheduling/local-capacity.ts +160 -0
- package/src/domains/session/context-accounting.ts +44 -31
- package/src/domains/session/context-ledger.ts +10 -3
- package/src/domains/session/entries.ts +4 -0
- package/src/domains/session/history.ts +1 -1
- package/src/domains/session/prompt-cache.ts +1 -0
- package/src/domains/session/prompt-manifest.ts +3 -1
- package/src/domains/session/retry.ts +4 -6
- package/src/domains/session/task-board.ts +19 -4
- package/src/domains/session/tree/preview.ts +3 -2
- package/src/engine/acp/commands.ts +653 -0
- package/src/engine/acp/server.ts +639 -20
- package/src/engine/acp/tool-mediator.ts +30 -7
- package/src/engine/acp/types.ts +58 -0
- package/src/engine/agent.ts +55 -10
- package/src/engine/ai.ts +11 -2
- package/src/engine/api-registry.ts +5 -4
- package/src/engine/apis/degraded-inference.ts +243 -0
- package/src/engine/apis/llamacpp-residency.ts +50 -6
- package/src/engine/apis/lmstudio-residency.ts +3 -5
- package/src/engine/apis/lmstudio.ts +137 -31
- package/src/engine/apis/ollama-http.ts +118 -0
- package/src/engine/apis/ollama-native.ts +216 -97
- package/src/engine/apis/openai-completions.ts +191 -189
- package/src/engine/apis/output-budget.ts +3 -1
- package/src/engine/apis/residency-lock.ts +2 -1
- package/src/engine/apis/residency.ts +339 -89
- package/src/engine/apis/sampling-overrides.ts +23 -2
- package/src/engine/apis/types.ts +1 -2
- package/src/engine/claude/tool-safety.ts +30 -5
- package/src/engine/context.ts +13 -0
- package/src/engine/env-api-keys.ts +2 -1
- package/src/engine/gemma-channel-filter.ts +3 -2
- package/src/engine/instrumented-tui.ts +25 -0
- package/src/engine/loop-guard.ts +172 -6
- package/src/engine/pi-mono-names.ts +16 -0
- package/src/engine/prewarm.ts +44 -15
- package/src/engine/provider-payload.ts +52 -14
- package/src/engine/session.ts +4 -2
- package/src/engine/worker-events.ts +9 -1
- package/src/engine/worker-runtime.ts +269 -42
- package/src/engine/worker-tools.ts +8 -3
- package/src/entry/boot-options.ts +23 -0
- package/src/entry/orchestrator.ts +207 -36
- package/src/interactive/assistant-generation-timing.ts +52 -0
- package/src/interactive/chat-loop-messages.ts +4 -1
- package/src/interactive/chat-loop.ts +59 -9
- package/src/interactive/chat-panel.ts +10 -1
- package/src/interactive/clio-editor.ts +51 -79
- package/src/interactive/context-meter.ts +1 -0
- package/src/interactive/context-overlay.ts +21 -8
- package/src/interactive/cost-overlay.ts +1 -1
- package/src/interactive/dispatch-board.ts +39 -8
- package/src/interactive/editor-bash.ts +0 -34
- package/src/interactive/editor-rails.ts +43 -0
- package/src/interactive/editor-submit.ts +34 -2
- package/src/interactive/footer/dashboard.ts +67 -38
- package/src/interactive/footer/demo-hints.ts +40 -0
- package/src/interactive/footer/key-hints.ts +21 -0
- package/src/interactive/footer/notifications.ts +1 -1
- package/src/interactive/footer/pages.ts +486 -0
- package/src/interactive/footer/system-metrics.ts +147 -0
- package/src/interactive/footer/widgets.ts +158 -63
- package/src/interactive/footer-panel.ts +29 -7
- package/src/interactive/interactive-application.ts +109 -21
- package/src/interactive/interactive-event-projection.ts +6 -2
- package/src/interactive/interactive-presentation.ts +25 -29
- package/src/interactive/interactive-slash-runtime.ts +32 -18
- package/src/interactive/interactive-subscriptions.ts +25 -5
- package/src/interactive/interactive-tickers.ts +21 -5
- package/src/interactive/keybinding-manager.ts +9 -0
- package/src/interactive/overlay-frame.ts +29 -7
- package/src/interactive/overlay-lifecycle.ts +5 -3
- package/src/interactive/overlay-model-selectors.ts +4 -0
- package/src/interactive/overlay-permission-lifecycle.ts +6 -5
- package/src/interactive/overlays/ask-user.ts +103 -110
- package/src/interactive/overlays/help-reference.ts +1 -0
- package/src/interactive/overlays/message-picker.ts +3 -29
- package/src/interactive/overlays/session-selector.ts +3 -2
- package/src/interactive/overlays/settings-sections.ts +2 -30
- package/src/interactive/overlays/settings.ts +310 -607
- package/src/interactive/permission-hint.ts +3 -3
- package/src/interactive/permission-overlay.ts +45 -27
- package/src/interactive/renderers/doctor-report.ts +43 -0
- package/src/interactive/renderers/tool-execution.ts +87 -62
- package/src/interactive/renderers/worker-entry.ts +76 -3
- package/src/interactive/side-question.ts +3 -1
- package/src/interactive/slash-commands.ts +78 -23
- package/src/interactive/startup-background.ts +131 -0
- package/src/interactive/startup-diagnostics.ts +16 -0
- package/src/interactive/status/state-machine.ts +16 -3
- package/src/interactive/status/types.ts +2 -0
- package/src/interactive/status/verbs.ts +1 -1
- package/src/interactive/terminal-lease.ts +26 -22
- package/src/interactive/theme/components.ts +1 -1
- package/src/interactive/theme/rules.ts +1 -1
- package/src/interactive/theme/tokens.ts +16 -10
- package/src/interactive/transcript-detail.ts +4 -0
- package/src/interactive/turn-context.ts +56 -20
- package/src/interactive/turn-middleware.ts +57 -9
- package/src/interactive/turn-prewarm.ts +121 -18
- package/src/interactive/turn-recovery.ts +10 -8
- package/src/interactive/turn-runtime.ts +74 -29
- package/src/interactive/turn-state.ts +3 -0
- package/src/interactive/welcome-art.ts +36 -0
- package/src/interactive/welcome-dashboard.ts +209 -49
- package/src/interactive/worker-replay.ts +4 -0
- package/src/interactive/worker-stream.ts +17 -2
- package/src/tools/agent-tools.ts +22 -1
- package/src/tools/builtin-tool-catalog.ts +2 -2
- package/src/tools/codewiki/code-nav.ts +1 -1
- package/src/tools/codewiki/shared.ts +39 -1
- package/src/tools/compete-worktrees.ts +8 -91
- package/src/tools/context/docs-engine.ts +44 -12
- package/src/tools/context/index.ts +126 -22
- package/src/tools/context/library.ts +1 -1
- package/src/tools/context/surface.ts +12 -7
- package/src/tools/core-bootstrap.ts +3 -0
- package/src/tools/dispatch-runner.ts +18 -0
- package/src/tools/dispatch-schema.ts +187 -206
- package/src/tools/edit.ts +46 -42
- package/src/tools/file-mutation-queue.ts +25 -26
- package/src/tools/gateway/clio-context-surface.ts +1 -1
- package/src/tools/gateway/index.ts +7 -3
- package/src/tools/gateway/mcp-capabilities.ts +5 -3
- package/src/tools/grep.ts +14 -2
- package/src/tools/ls.ts +1 -4
- package/src/tools/monitor.ts +14 -1
- package/src/tools/observation.ts +1 -3
- package/src/tools/path-utils.ts +51 -18
- package/src/tools/process-lease.ts +99 -0
- package/src/tools/read.ts +1 -1
- package/src/tools/registry.ts +71 -9
- package/src/tools/task-worktree.ts +296 -17
- package/src/tools/tasks.ts +29 -7
- package/src/tools/worker-evidence.ts +60 -1
- package/src/tools/worktree-root.ts +252 -0
- package/src/tools/write.ts +34 -30
- package/src/worker/entry.ts +18 -1
- package/src/worker/protocol.ts +54 -1
- package/src/worker/spec-contract.ts +22 -2
- package/dist/acp-ZWZCPS2A.js +0 -130
- package/dist/agents-LYSOWZUE.js +0 -150
- package/dist/auth-WBQGKWQ5.js +0 -551
- package/dist/background-BUMOBAQN.js +0 -37
- package/dist/builtins-ODRJOEDI.js +0 -22
- package/dist/chunk-2DRRZ57Q.js +0 -571
- package/dist/chunk-2JBZYUPY.js +0 -105
- package/dist/chunk-2VBWFXYE.js +0 -198
- package/dist/chunk-2X2R3UTH.js +0 -1018
- package/dist/chunk-32KJPXAM.js +0 -75
- package/dist/chunk-37LW32LZ.js +0 -32
- package/dist/chunk-3A3CUMKA.js +0 -54
- package/dist/chunk-3AND2EFU.js +0 -215
- package/dist/chunk-3RDHGNU7.js +0 -647
- package/dist/chunk-3SUDBGEI.js +0 -1323
- package/dist/chunk-3TQN67I2.js +0 -396
- package/dist/chunk-3U4BL2EV.js +0 -103
- package/dist/chunk-3UQADNG2.js +0 -302
- package/dist/chunk-434LRQ6Z.js +0 -13441
- package/dist/chunk-4ATBOFRP.js +0 -7802
- package/dist/chunk-4DNL43EZ.js +0 -139
- package/dist/chunk-4HFJKRGZ.js +0 -5250
- package/dist/chunk-555E2WVV.js +0 -322
- package/dist/chunk-5GZICIYO.js +0 -462
- package/dist/chunk-5PHVPU4G.js +0 -160
- package/dist/chunk-5RTEFNBP.js +0 -197
- package/dist/chunk-64XJW7NT.js +0 -380
- package/dist/chunk-6TKOFFGE.js +0 -1058
- package/dist/chunk-6UJ7RDI7.js +0 -1143
- package/dist/chunk-7FBCRWVT.js +0 -1801
- package/dist/chunk-7JSOSVLP.js +0 -283
- package/dist/chunk-7N3OLLSL.js +0 -637
- package/dist/chunk-7QQRPB2E.js +0 -915
- package/dist/chunk-A6DULIMH.js +0 -986
- package/dist/chunk-AB3QXXBC.js +0 -123
- package/dist/chunk-ACCECAH4.js +0 -49
- package/dist/chunk-AM6CEP2K.js +0 -2120
- package/dist/chunk-AUHVBIDW.js +0 -19
- package/dist/chunk-AY4XE6GN.js +0 -665
- package/dist/chunk-BBA2TAWV.js +0 -667
- package/dist/chunk-BFPHMSK7.js +0 -169
- package/dist/chunk-BMNVVKEW.js +0 -604
- package/dist/chunk-CKK25WN3.js +0 -72
- package/dist/chunk-CTGZCEI6.js +0 -33
- package/dist/chunk-DIAJYJYG.js +0 -446
- package/dist/chunk-DVNAPPXU.js +0 -27
- package/dist/chunk-DXVMLM3Z.js +0 -92
- package/dist/chunk-E3LEPLQ2.js +0 -68
- package/dist/chunk-EHZRAB4U.js +0 -63
- package/dist/chunk-EM2DIQAJ.js +0 -179
- package/dist/chunk-EM2WNQS2.js +0 -93
- package/dist/chunk-ETF4ROKH.js +0 -595
- package/dist/chunk-F2YM3JY4.js +0 -22513
- package/dist/chunk-FEBQWHJT.js +0 -1023
- package/dist/chunk-FPS4R2RN.js +0 -1975
- package/dist/chunk-GD55RTIW.js +0 -33
- package/dist/chunk-GJDRMBDI.js +0 -573
- package/dist/chunk-GREYLTZ5.js +0 -658
- package/dist/chunk-H2WSCZZT.js +0 -238
- package/dist/chunk-H6IUCY6Q.js +0 -117
- package/dist/chunk-H72DCH3E.js +0 -563
- package/dist/chunk-H7TXJR23.js +0 -705
- package/dist/chunk-HBJQQTKM.js +0 -40
- package/dist/chunk-HCVKSGNZ.js +0 -990
- package/dist/chunk-HVCAY2FH.js +0 -67
- package/dist/chunk-I47EJPYL.js +0 -1377
- package/dist/chunk-IALGWTLO.js +0 -36
- package/dist/chunk-IALZJE37.js +0 -1710
- package/dist/chunk-IC7JXLOM.js +0 -1577
- package/dist/chunk-IOSVTTCD.js +0 -108
- package/dist/chunk-IPTPMLA6.js +0 -475
- package/dist/chunk-IZZI3SKQ.js +0 -128
- package/dist/chunk-JABWPKFY.js +0 -27
- package/dist/chunk-JIYWMQZ5.js +0 -175
- package/dist/chunk-JKU34ACI.js +0 -693
- package/dist/chunk-JOBN2YQQ.js +0 -176
- package/dist/chunk-JOL2QRLE.js +0 -152
- package/dist/chunk-JTR3VSV3.js +0 -44
- package/dist/chunk-JU6MAMRJ.js +0 -362
- package/dist/chunk-JURMQWVJ.js +0 -15
- package/dist/chunk-K2BLQC5E.js +0 -262
- package/dist/chunk-K3XN4LZ4.js +0 -402
- package/dist/chunk-KIVFXGBM.js +0 -688
- package/dist/chunk-KKRXONXG.js +0 -43
- package/dist/chunk-KOAHT3N2.js +0 -395
- package/dist/chunk-KP5BPXR3.js +0 -73
- package/dist/chunk-KQ6IDQIB.js +0 -39
- package/dist/chunk-KRJQG47M.js +0 -1289
- package/dist/chunk-KW6OJ7IY.js +0 -221
- package/dist/chunk-L3NBWLSN.js +0 -314
- package/dist/chunk-L4RUTLRL.js +0 -59
- package/dist/chunk-LGTVWPRN.js +0 -47
- package/dist/chunk-LSQW6KZO.js +0 -200
- package/dist/chunk-LTR5QCLS.js +0 -446
- package/dist/chunk-LWJYOHT3.js +0 -165
- package/dist/chunk-M6YLF66Z.js +0 -2687
- package/dist/chunk-MJ4QEJVT.js +0 -185
- package/dist/chunk-MO65K5CH.js +0 -1148
- package/dist/chunk-MTOZEQHL.js +0 -637
- package/dist/chunk-MZDPF35R.js +0 -45
- package/dist/chunk-MZKYVIWW.js +0 -188
- package/dist/chunk-NBPA5QM6.js +0 -386
- package/dist/chunk-NMBEW4PP.js +0 -688
- package/dist/chunk-NPLLK3HO.js +0 -3610
- package/dist/chunk-NSYGPIVW.js +0 -39
- package/dist/chunk-NXTV5OI5.js +0 -1020
- package/dist/chunk-NYDG4QP4.js +0 -689
- package/dist/chunk-OA2GDACN.js +0 -146
- package/dist/chunk-PJI57EC6.js +0 -236
- package/dist/chunk-PJJBUGMR.js +0 -4484
- package/dist/chunk-PNJE7JPS.js +0 -50
- package/dist/chunk-PP23PZEV.js +0 -1347
- package/dist/chunk-PPIFDSBK.js +0 -409
- package/dist/chunk-PTFISXQO.js +0 -319
- package/dist/chunk-QB33Z5S7.js +0 -1865
- package/dist/chunk-QGNII5VC.js +0 -110
- package/dist/chunk-QH3ZTUOA.js +0 -113
- package/dist/chunk-QI72X67S.js +0 -481
- package/dist/chunk-QJMRYTCX.js +0 -56
- package/dist/chunk-QKHZZFKH.js +0 -98
- package/dist/chunk-RDKX2PME.js +0 -66
- package/dist/chunk-RL7LJYN4.js +0 -66
- package/dist/chunk-RPMNIFRY.js +0 -65
- package/dist/chunk-RQROVOV3.js +0 -670
- package/dist/chunk-S34A7BSP.js +0 -97
- package/dist/chunk-SJETVJHX.js +0 -119
- package/dist/chunk-SJMNU4ZS.js +0 -634
- package/dist/chunk-SL2RDHKO.js +0 -19
- package/dist/chunk-SLLG2G44.js +0 -85
- package/dist/chunk-SQAZN2V3.js +0 -2744
- package/dist/chunk-SQBT46OF.js +0 -814
- package/dist/chunk-SRCEQKQS.js +0 -165
- package/dist/chunk-TCUOGIL2.js +0 -52
- package/dist/chunk-TIWPKCVO.js +0 -42
- package/dist/chunk-U44YYLVV.js +0 -1529
- package/dist/chunk-UIU7MGZ3.js +0 -486
- package/dist/chunk-USBBEKHW.js +0 -177
- package/dist/chunk-VHKTOLEW.js +0 -1416
- package/dist/chunk-VPWGADBG.js +0 -3151
- package/dist/chunk-VQD7NH7Z.js +0 -356
- package/dist/chunk-VWFCAK34.js +0 -697
- package/dist/chunk-W5RM7YAH.js +0 -78
- package/dist/chunk-W72LLZAV.js +0 -243
- package/dist/chunk-WGRDABW7.js +0 -207
- package/dist/chunk-WWRV5RJI.js +0 -165
- package/dist/chunk-XCUDZQLX.js +0 -195
- package/dist/chunk-XFLSL7BT.js +0 -386
- package/dist/chunk-XJZEDCNT.js +0 -391
- package/dist/chunk-XLLEL3K7.js +0 -709
- package/dist/chunk-XNZWWDC3.js +0 -686
- package/dist/chunk-XRECG65F.js +0 -308
- package/dist/chunk-XTQ7MEJG.js +0 -457
- package/dist/chunk-XW2UZICE.js +0 -372
- package/dist/chunk-Y3M2T5RO.js +0 -891
- package/dist/chunk-YGDMBK7O.js +0 -567
- package/dist/chunk-YJCCMYYT.js +0 -125
- package/dist/chunk-YPQOPFP7.js +0 -797
- package/dist/chunk-YQYINEJI.js +0 -132
- package/dist/chunk-ZF6CV4WZ.js +0 -5614
- package/dist/chunk-ZKJU55MX.js +0 -326
- package/dist/chunk-ZKQ63XZ5.js +0 -1196
- package/dist/chunk-ZKVMDNAN.js +0 -962
- package/dist/chunk-ZST3FRCV.js +0 -132
- package/dist/clio-JUDCLNHC.js +0 -26
- package/dist/clio-context-tools-FT672MNZ.js +0 -136
- package/dist/code-nav-7OVCTP2Z.js +0 -688
- package/dist/compile-cache-WJEPUZEJ.js +0 -16
- package/dist/components-OZXZMDWU.js +0 -674
- package/dist/config-P3ZQVF63.js +0 -275
- package/dist/config-graph-GKAOBAS5.js +0 -160
- package/dist/configure-25LRYZJG.js +0 -86
- package/dist/context-72VQV7JX.js +0 -73
- package/dist/context-COWRWXP3.js +0 -286
- package/dist/context-WB3D474G.js +0 -344
- package/dist/context-clear-Y4LYMWC6.js +0 -192
- package/dist/context-index-W6A4V7OC.js +0 -120
- package/dist/context-map-DKL3QT6D.js +0 -555
- package/dist/context-working-set-TMZYVC7A.js +0 -1560
- package/dist/data-tool-KMBWKKWR.js +0 -2987
- package/dist/detail-4GLROGY5.js +0 -123
- package/dist/dispatch-runner-TR3LBP5P.js +0 -2446
- package/dist/docs-ZK777W2G.js +0 -101
- package/dist/doctor-WC4OV2OB.js +0 -814
- package/dist/eval-FUNWJNUJ.js +0 -5050
- package/dist/eval-inventory-CX24K2JT.js +0 -260
- package/dist/evals-L73EBHSU.js +0 -104
- package/dist/evidence-AVJ2RTHX.js +0 -392
- package/dist/evidence-P4NZOAK7.js +0 -233
- package/dist/evidence-Y55WKYHH.js +0 -246
- package/dist/evolve-MAWKRYWF.js +0 -617
- package/dist/extensions-PYQH3H47.js +0 -308
- package/dist/fleet-M4H2QBWT.js +0 -268
- package/dist/fleet-ULBXXRDR.js +0 -923
- package/dist/fleet-commands-7NNC4JZU.js +0 -76
- package/dist/fleet-decisions-EHEY7KPU.js +0 -52
- package/dist/fleet-graph-LQ2AHZT3.js +0 -136
- package/dist/fleet-inspect-5IGBIIYZ.js +0 -312
- package/dist/fleet-new-RCKGSRDV.js +0 -48
- package/dist/fleet-preflight-UTTNOKMG.js +0 -27
- package/dist/fleet-validate-YGILJKA6.js +0 -91
- package/dist/fleet-verify-AUWTCDKR.js +0 -210
- package/dist/fleet-view-TGUFCY5A.js +0 -127
- package/dist/init-GFN2Z7NF.js +0 -333
- package/dist/install-3RZDDP23.js +0 -13
- package/dist/install-6PIF6F6W.js +0 -19
- package/dist/interop-EF5JUWWK.js +0 -246
- package/dist/inventory-I6VJDDYF.js +0 -127
- package/dist/library-3J5IO2OJ.js +0 -75
- package/dist/library-IJTOFTDS.js +0 -307
- package/dist/library-Z3KZSHPE.js +0 -492
- package/dist/library-import-IMKFLDHX.js +0 -183
- package/dist/library-inventory-CQP5D6GU.js +0 -56
- package/dist/library-validation-33UTX7AI.js +0 -42
- package/dist/mcp-5FWZKUS6.js +0 -26
- package/dist/memory-36CWN67Y.js +0 -520
- package/dist/models-KQ6PQJJQ.js +0 -302
- package/dist/monitor-XX6ZD6KC.js +0 -785
- package/dist/orchestrator-SK6HDAOP.js +0 -42067
- package/dist/panes-L27QRXUH.js +0 -74
- package/dist/panes-LXZIWNOZ.js +0 -103
- package/dist/paths-7DJDU4P4.js +0 -67
- package/dist/preload-K2TDYI4Y.js +0 -124
- package/dist/registry-DESGAXWK.js +0 -11
- package/dist/reset-73VU3XNT.js +0 -345
- package/dist/resources-3BYJYVYL.js +0 -181
- package/dist/run-AR7PY6GW.js +0 -896
- package/dist/run-script-H2KUDIII.js +0 -41
- package/dist/settings-3VMBMWID.js +0 -72
- package/dist/share-HVWH4FPF.js +0 -293
- package/dist/skills-5TYEY75Q.js +0 -100
- package/dist/skills-eval-CK3MD63Z.js +0 -1083
- package/dist/skills-inventory-KSFYG3I6.js +0 -138
- package/dist/slash-commands-DMVHML7P.js +0 -98
- package/dist/steer-XCD6V3EW.js +0 -77
- package/dist/support-JAZL6VBR.js +0 -38
- package/dist/system-3TDQRMZZ.js +0 -116
- package/dist/targets-EZKHAYRN.js +0 -1117
- package/dist/tasks-SNEFHWYW.js +0 -36
- package/dist/terminal-lease-BNLFA4OF.js +0 -419
- package/dist/tools-7IM6BDCE.js +0 -28
- package/dist/trace-C3MBGD4S.js +0 -524
- package/dist/tree-sitter-AQUUOSYM.js +0 -4673
- package/dist/tui-primitives-36BY2774.js +0 -18
- package/dist/uninstall-WWLOSZ42.js +0 -432
- package/dist/upgrade-ETK2JNSJ.js +0 -297
- package/dist/usage-S2HOB7BZ.js +0 -1065
- package/dist/verifiers-QDTEVH7R.js +0 -632
- package/dist/verify-SUKUK6XM.js +0 -31
- package/dist/version-RFPKO6T7.js +0 -21
- package/dist/web/client/assets/abnfDiagram-VCTEODGH-BznNOe_I.js +0 -1
- package/dist/web/client/assets/architecture-7GRP2DOG-BQO9DL_y.js +0 -1
- package/dist/web/client/assets/architectureDiagram-5GKGNRK7-CKPbdvyx.js +0 -36
- package/dist/web/client/assets/blockDiagram-I7D4REHJ-prINbpbM.js +0 -129
- package/dist/web/client/assets/c4Diagram-7LVT6UL2-DkVRKtyU.js +0 -38
- package/dist/web/client/assets/channel-c4EeUUqA.js +0 -1
- package/dist/web/client/assets/chunk-4HAMMTFA-CV0Z1ApC.js +0 -62
- package/dist/web/client/assets/chunk-75Z2AOVW-D34Nohxq.js +0 -2
- package/dist/web/client/assets/chunk-DU6HZSFF-Das_cS-O.js +0 -125
- package/dist/web/client/assets/chunk-F27PBJKO-CmRojxkG.js +0 -1
- package/dist/web/client/assets/chunk-GMAD6QVW-ClYZmc73.js +0 -72
- package/dist/web/client/assets/chunk-GVQU2GXP-B2BiHFt-.js +0 -1
- package/dist/web/client/assets/chunk-IMKFNOWR-BGApZ8nP.js +0 -231
- package/dist/web/client/assets/chunk-L3NEJ4N5-DIzCgpkY.js +0 -1
- package/dist/web/client/assets/chunk-OSK3NFVY-BPT-yePv.js +0 -10
- package/dist/web/client/assets/chunk-P2QGCYS3-BC1WTc2t.js +0 -1
- package/dist/web/client/assets/chunk-POPQ4Y6H-BSjzBmZU.js +0 -1
- package/dist/web/client/assets/chunk-PWAF6VOD-BIjLs86Z.js +0 -1
- package/dist/web/client/assets/chunk-SHT3W25Y-CduDz2cm.js +0 -168
- package/dist/web/client/assets/chunk-SVP7TREG-XUn4pPAP.js +0 -88
- package/dist/web/client/assets/chunk-TICWLB2K-DcBy2DKy.js +0 -206
- package/dist/web/client/assets/classDiagram-ZZMXUADV-C0HR7YKN.js +0 -1
- package/dist/web/client/assets/classDiagram-v2-VYDZK3BY-C0HR7YKN.js +0 -1
- package/dist/web/client/assets/cynefin-OW5HDTMX-BecPbyM6.js +0 -1
- package/dist/web/client/assets/cynefinDiagram-5FMLGOSQ-BzMzFwyT.js +0 -62
- package/dist/web/client/assets/dagre-GXQ25YYZ-CAWJmRMG.js +0 -4
- package/dist/web/client/assets/diagram-S7CK7UJ4--lp0ALmn.js +0 -30
- package/dist/web/client/assets/diagram-UQ7AKVKN-gKUnsjcj.js +0 -41
- package/dist/web/client/assets/diagram-VSXAHHWV-BoN5D1Gh.js +0 -3
- package/dist/web/client/assets/diagram-VX7I27RA-BMtuswQ6.js +0 -24
- package/dist/web/client/assets/diagram-Z3DM3KII-DtU8LXrA.js +0 -24
- package/dist/web/client/assets/ebnfDiagram-PWID7BFC-DDcnv9BH.js +0 -1
- package/dist/web/client/assets/erDiagram-RLTQ6QDP-DvRb4iDL.js +0 -99
- package/dist/web/client/assets/eventmodeling-NTZA5JFV-01h4SbTc.js +0 -1
- package/dist/web/client/assets/flowDiagram-HODETNUW-Bll_YZ6T.js +0 -1
- package/dist/web/client/assets/framework-YGoR34M4.js +0 -9
- package/dist/web/client/assets/ganttDiagram-EL5Y4UJY-DdFZ9hvH.js +0 -292
- package/dist/web/client/assets/gitGraph-4MIJSDKK-DjD_AAMj.js +0 -1
- package/dist/web/client/assets/gitGraphDiagram-WWUBYQGX-CDyN9n2u.js +0 -106
- package/dist/web/client/assets/index-CVcy0FAn.js +0 -75
- package/dist/web/client/assets/index-Dsi52apB.css +0 -1
- package/dist/web/client/assets/info-A6RAGUB7-C_XK8Hq0.js +0 -1
- package/dist/web/client/assets/infoDiagram-27XIBGKW-DIe4tJ1i.js +0 -2
- package/dist/web/client/assets/ishikawaDiagram-5VMMS53U-CVl5unKI.js +0 -70
- package/dist/web/client/assets/journeyDiagram-3NMN7TZE-CPEB1Vt8.js +0 -139
- package/dist/web/client/assets/kanban-definition-UXKFOSKX-j-9WXjYQ.js +0 -89
- package/dist/web/client/assets/line-BIDAcEtX.js +0 -1
- package/dist/web/client/assets/mermaid-parser.core-Ux4vssh0.js +0 -7
- package/dist/web/client/assets/mermaid.core-CDuwVKeh.js +0 -44
- package/dist/web/client/assets/mindmap-definition-YA3MSWOX-5MlQEeQ6.js +0 -96
- package/dist/web/client/assets/packet-AYTQ26CC-DRO66c9Q.js +0 -1
- package/dist/web/client/assets/pegDiagram-XKGWAZYB-BakZnSjM.js +0 -1
- package/dist/web/client/assets/pie-WAS4IAKB-BEzcmhz8.js +0 -1
- package/dist/web/client/assets/pieDiagram-E7YTZNPT-DpmqgoPt.js +0 -39
- package/dist/web/client/assets/quadrantDiagram-AXDQQJYC-DuMPwwV2.js +0 -7
- package/dist/web/client/assets/radar-RG4KPBEZ-Djm3oXl5.js +0 -1
- package/dist/web/client/assets/railroad-74A4TZTK-Cpvkwsao.js +0 -1
- package/dist/web/client/assets/railroad-abnf-HS5TGJTU-CpRQ3ruG.js +0 -1
- package/dist/web/client/assets/railroad-ebnf-LZEXJU2U-1Rm5a5eJ.js +0 -1
- package/dist/web/client/assets/railroad-peg-WCYAUIDC-C8344cTh.js +0 -1
- package/dist/web/client/assets/railroadDiagram-O6MQD6OU-CgMS4B6R.js +0 -1
- package/dist/web/client/assets/requirementDiagram-BXWQKSXE-CX5eoNdN.js +0 -84
- package/dist/web/client/assets/sankeyDiagram-P5KCCOFB-CODBX2N3.js +0 -40
- package/dist/web/client/assets/sequenceDiagram-WJ2MYXX4-eUhhF8OR.js +0 -162
- package/dist/web/client/assets/stateDiagram-D77RDMKH-vR6l0NC2.js +0 -1
- package/dist/web/client/assets/stateDiagram-v2-MP3YSRHH-BYUm8jLY.js +0 -1
- package/dist/web/client/assets/swimlanes-42K2YHIH-v9Tw_zX7.js +0 -1
- package/dist/web/client/assets/swimlanesDiagram-VR7AAH4N-B2jdCvhD.js +0 -8
- package/dist/web/client/assets/timeline-definition-24CTP7MA-DxianbhU.js +0 -120
- package/dist/web/client/assets/treeView-Q6P3EWNA-DLxnZb9R.js +0 -1
- package/dist/web/client/assets/treemap-WGGIJYW6-I7UnZ6xJ.js +0 -1
- package/dist/web/client/assets/vennDiagram-4TSXK5OY-Ar7M8Mrj.js +0 -34
- package/dist/web/client/assets/wardley-WFR3VGLG-B8ZSHeDu.js +0 -1
- package/dist/web/client/assets/wardleyDiagram-VM6X3IG4-Qks2FmIn.js +0 -78
- package/dist/web/client/assets/xychartDiagram-S5SC5T6Z-BBBjRtiE.js +0 -7
- package/dist/web/client/index.html +0 -6
- package/dist/web/ops-worker.js +0 -37
- package/dist/web/reads-worker.js +0 -1726
- package/dist/web/server.js +0 -8499
- package/dist/web-EMGUGGEI.js +0 -13
- package/dist/web-fetch-6BRRVQON.js +0 -805
- package/dist/wiki-generate-XHSJTDOP.js +0 -627
- package/dist/with-panes-Z6BTEHMZ.js +0 -628
- package/evals/README.md +0 -9
- package/evals/behavioral-corpus-grader.mjs +0 -236
- package/evals/behavioral-machinery-baseline.json +0 -2276
- package/evals/behavioral-machinery-driver.ts +0 -250
- package/evals/behavioral-machinery-support.ts +0 -254
- package/evals/behavioral-machinery.yaml +0 -614
- package/evals/behavioral-model-negative-control.yaml +0 -69
- package/evals/behavioral-model.yaml +0 -482
- package/evals/fixtures/behavioral-facts.txt +0 -3
- package/evals/fixtures/behavioral-main.ts +0 -7
- package/evals/fixtures/decoy/note.txt +0 -2
- package/evals/fixtures/docs-retrieval.json +0 -102
- package/evals/fixtures/private/credentials.txt +0 -1
- package/evals/fixtures/scalar-decision.json +0 -17
- package/evals/fixtures/scout-citation-pipeline.json +0 -55
- package/evals/fixtures/source-explanation.json +0 -74
- package/evals/fixtures/tool-arguments.json +0 -18
- package/evals/fixtures/tool-surface/read.txt +0 -4
- package/evals/fixtures/tool-surface/subdir/keep.txt +0 -1
- package/evals/no-edit-memory-grader.mjs +0 -149
- package/evals/scalar-decision-grader.py +0 -41
- package/evals/scalar-decision-machinery.ts +0 -145
- package/evals/source-explanation-grader.mjs +0 -118
- package/evals/tool-surface-grader.mjs +0 -53
- package/evals/tool-surface-model.yaml +0 -274
- package/evals/tracked-metrics-baseline.yaml +0 -229
- package/evals/tracked-metrics-grader.mjs +0 -129
- package/src/cli/web.ts +0 -79
- package/src/domains/providers/runtimes/local-native/ollama-native.ts +0 -122
- /package/dist/assets/{web-notices → gui-notices}/@hono__node-server-LICENSE +0 -0
- /package/dist/assets/{web-notices → gui-notices}/hono-LICENSE +0 -0
- /package/dist/{web → gui}/client/THIRD_PARTY_LICENSES.md +0 -0
- /package/dist/{web → gui}/client/assets/arc-Pry-7G1_.js +0 -0
- /package/dist/{web → gui}/client/assets/array-BifhSqXX.js +0 -0
- /package/dist/{web → gui}/client/assets/atkinson-hyperlegible-next-latin-ext-wght-normal-C6vrW8VD.woff2 +0 -0
- /package/dist/{web → gui}/client/assets/atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.woff2 +0 -0
- /package/dist/{web → gui}/client/assets/chunk-2Q5K7J3B-C1jixKkw.js +0 -0
- /package/dist/{web → gui}/client/assets/chunk-5VM5RSS4-ZNzvKenW.js +0 -0
- /package/dist/{web → gui}/client/assets/chunk-FOHPRMQF-CoA4358r.js +0 -0
- /package/dist/{web → gui}/client/assets/chunk-JWPE2WC7-DVXcaiue.js +0 -0
- /package/dist/{web → gui}/client/assets/chunk-XXDRQBXY-DqAYeljN.js +0 -0
- /package/dist/{web → gui}/client/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +0 -0
- /package/dist/{web → gui}/client/assets/commit-mono-latin-400-normal-s0S3qwFW.woff +0 -0
- /package/dist/{web → gui}/client/assets/commit-mono-latin-400-normal-wzhe4RuD.woff2 +0 -0
- /package/dist/{web → gui}/client/assets/cose-bilkent-JH36ORCC-CVh1icwb.js +0 -0
- /package/dist/{web → gui}/client/assets/cytoscape.esm-c2aL46s-.js +0 -0
- /package/dist/{web → gui}/client/assets/dagre-C-rnJpZF.js +0 -0
- /package/dist/{web → gui}/client/assets/defaultLocale-BFoDCU3G.js +0 -0
- /package/dist/{web → gui}/client/assets/dist-v5Q1xZ2K.js +0 -0
- /package/dist/{web → gui}/client/assets/graphlib-DS17s2tU.js +0 -0
- /package/dist/{web → gui}/client/assets/init-C-OQMol4.js +0 -0
- /package/dist/{web → gui}/client/assets/katex-ZlcWpGUi.js +0 -0
- /package/dist/{web → gui}/client/assets/linear-SzVmGSw4.js +0 -0
- /package/dist/{web → gui}/client/assets/newsreader-latin-ext-wght-normal-C-3rgBeH.woff2 +0 -0
- /package/dist/{web → gui}/client/assets/newsreader-latin-wght-normal-CCVVNp6i.woff2 +0 -0
- /package/dist/{web → gui}/client/assets/newsreader-vietnamese-wght-normal-Czsa-EzN.woff2 +0 -0
- /package/dist/{web → gui}/client/assets/ordinal-BDEzSJ7C.js +0 -0
- /package/dist/{web → gui}/client/assets/path-fybaL0A-.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-bash-D6zCJ74D.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-c-04YixN25.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-clike-DapgWyxx.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-core-BtsZdCS6.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-cpp-C-lJbC-6.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-css-CPgOzxXp.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-diff-BF8m0_mq.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-docker-DkT6yOFj.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-fortran-Be5x3y1V.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-go-C_8qAH5n.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-ini-BESK3y0r.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-javascript-BnO-swvr.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-json-Dp_-W-Hv.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-jsx-D-D0NWtC.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-julia-DIjOgiAV.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-latex-DNMbqcH_.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-makefile-CRKWLQ8l.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-markdown-C0FPJ1Iz.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-markup-Cp04rIa1.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-matlab-D-nk08al.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-python-CfiSVtM6.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-r-QmNGR8LX.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-rust-Bu9N8X3N.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-shell-session-Be4UuYoM.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-sql-CYhVDMEE.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-toml-DKb54GAT.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-tsx-p6J2Kc_4.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-typescript-BMqONzxf.js +0 -0
- /package/dist/{web → gui}/client/assets/prism-yaml-C0JHu8gr.js +0 -0
- /package/dist/{web → gui}/client/assets/purify.es-ChwZkWde.js +0 -0
- /package/dist/{web → gui}/client/assets/rolldown-runtime-hePW80VL.js +0 -0
- /package/dist/{web → gui}/client/assets/rough.esm-Dy-Kn_BL.js +0 -0
- /package/dist/{web → gui}/client/assets/sizeCapture-INFHLROL-B0uUizjq.js +0 -0
- /package/dist/{web → gui}/client/assets/src-B6xuSHsQ.js +0 -0
- /package/dist/{web → gui}/client/clio-coder-logo.webp +0 -0
- /package/dist/{web → gui}/client/icon-192.png +0 -0
- /package/dist/{web → gui}/client/icon-512.png +0 -0
- /package/dist/{web → gui}/client/manifest.webmanifest +0 -0
- /package/dist/{web → gui}/client/offline.css +0 -0
- /package/dist/{web → gui}/client/offline.html +0 -0
- /package/dist/{web → gui}/client/offline.js +0 -0
- /package/dist/{web → gui}/client/sw.js +0 -0
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { WorkerContextSnapshot } from "../domains/context/worker/contract.js";
|
|
2
2
|
import { captureWorkerContext } from "../domains/context/worker/snapshot.js";
|
|
3
|
+
import { replaceEngineMessages } from "../engine/agent.js";
|
|
4
|
+
import { isLockedSynthesisFallbackOnly, lockedSynthesisRepromptMessages } from "../engine/loop-guard.js";
|
|
3
5
|
/**
|
|
4
6
|
* The chat loop: one turn's state machine.
|
|
5
7
|
*
|
|
@@ -27,6 +29,7 @@ import {
|
|
|
27
29
|
skillSurfaceNames,
|
|
28
30
|
withModelSkillActivation,
|
|
29
31
|
} from "../core/skill-activation.js";
|
|
32
|
+
import { snapshotTurnConstraints, type TurnConstraints } from "../core/turn-constraints.js";
|
|
30
33
|
import { clioStateDir } from "../core/xdg.js";
|
|
31
34
|
import {
|
|
32
35
|
createMiddlewareToolChoiceControl,
|
|
@@ -201,6 +204,8 @@ export type ChatLoopEvent =
|
|
|
201
204
|
| ToolApprovalStateEvent;
|
|
202
205
|
|
|
203
206
|
export interface ChatSubmitOptions {
|
|
207
|
+
/** Explicit host-owned task scope; never parsed from the prompt text. */
|
|
208
|
+
constraints?: TurnConstraints;
|
|
204
209
|
/** Presentation only; never part of the model message or persisted text. */
|
|
205
210
|
display?: { text: string; note: string };
|
|
206
211
|
/** Host-owned run identity, scoped to this submit and its internal continuations. */
|
|
@@ -298,6 +303,7 @@ export type SideQuestionOutcome =
|
|
|
298
303
|
|
|
299
304
|
export interface ChatLoop {
|
|
300
305
|
submit(text: string, options?: ChatSubmitOptions): Promise<void>;
|
|
306
|
+
currentTurnConstraints?(): TurnConstraints | undefined;
|
|
301
307
|
steer(text: string): boolean;
|
|
302
308
|
queueFollowUp(text: string): boolean;
|
|
303
309
|
/**
|
|
@@ -398,6 +404,7 @@ export interface ChatLoop {
|
|
|
398
404
|
}
|
|
399
405
|
|
|
400
406
|
export interface CreateChatLoopDeps {
|
|
407
|
+
interactiveGuidance?: boolean;
|
|
401
408
|
getSettings: () => Readonly<ClioSettings>;
|
|
402
409
|
/**
|
|
403
410
|
* The same effective autonomy level registry admission resolves, so the
|
|
@@ -416,7 +423,7 @@ export interface CreateChatLoopDeps {
|
|
|
416
423
|
session?: SessionContract;
|
|
417
424
|
/**
|
|
418
425
|
* Prompt compiler. When wired, the session system prompt is compiled once
|
|
419
|
-
* per session and
|
|
426
|
+
* per session and applied to Pi’s system transcript baseline; recompiles happen
|
|
420
427
|
* only on explicit events (model/target change, safety-level change,
|
|
421
428
|
* config hot-reload, session switch).
|
|
422
429
|
*
|
|
@@ -513,6 +520,7 @@ export interface CreateChatLoopDeps {
|
|
|
513
520
|
* tests omit it when memory is irrelevant.
|
|
514
521
|
*/
|
|
515
522
|
getMemorySection?: () => string;
|
|
523
|
+
getReadySkillCount?: () => number;
|
|
516
524
|
/** Structured, redacted task-bank export supplied only to an explicit context-handoff skill request. */
|
|
517
525
|
getTaskMemoryHandoffSource?: () => string;
|
|
518
526
|
/**
|
|
@@ -551,6 +559,8 @@ export interface CreateChatLoopDeps {
|
|
|
551
559
|
* that an unattended run never spends. Defaults to true.
|
|
552
560
|
*/
|
|
553
561
|
isLatencySurface?: () => boolean;
|
|
562
|
+
/** An editor draft already owns the next foreground request. */
|
|
563
|
+
isPrewarmBusy?: () => boolean;
|
|
554
564
|
/** The session pre-warm round. Injectable for the same reason `runSideQuestion` is. */
|
|
555
565
|
runPrewarm?: typeof runPrewarmRound;
|
|
556
566
|
/**
|
|
@@ -751,6 +761,7 @@ export function createChatLoop(deps: CreateChatLoopDeps): ChatLoop {
|
|
|
751
761
|
const turnId = state.activeUserTurnId ?? state.lastTurnId;
|
|
752
762
|
if (turnId) options.turnId = turnId;
|
|
753
763
|
if (state.currentPendingSkillPolicy) options.pendingSkillPolicy = state.currentPendingSkillPolicy;
|
|
764
|
+
if (state.currentTurnConstraints) options.turnConstraints = state.currentTurnConstraints;
|
|
754
765
|
if (state.currentAskUserPolicy) options.askUserPolicy = state.currentAskUserPolicy;
|
|
755
766
|
return options;
|
|
756
767
|
};
|
|
@@ -786,6 +797,7 @@ export function createChatLoop(deps: CreateChatLoopDeps): ChatLoop {
|
|
|
786
797
|
}
|
|
787
798
|
|
|
788
799
|
const context = createTurnContext({
|
|
800
|
+
interactiveGuidance: deps.interactiveGuidance === true,
|
|
789
801
|
state,
|
|
790
802
|
getSettings: deps.getSettings,
|
|
791
803
|
providers: deps.providers,
|
|
@@ -797,6 +809,7 @@ export function createChatLoop(deps: CreateChatLoopDeps): ChatLoop {
|
|
|
797
809
|
readSessionEntries: deps.readSessionEntries,
|
|
798
810
|
autoCompact: deps.autoCompact,
|
|
799
811
|
getMemorySection: deps.getMemorySection,
|
|
812
|
+
getReadySkillCount: deps.getReadySkillCount,
|
|
800
813
|
middleware,
|
|
801
814
|
emitNotice,
|
|
802
815
|
});
|
|
@@ -907,11 +920,15 @@ export function createChatLoop(deps: CreateChatLoopDeps): ChatLoop {
|
|
|
907
920
|
| { ok: true; runtime: AgentRuntime; apiKey: string | undefined }
|
|
908
921
|
| { ok: false; reason: string };
|
|
909
922
|
|
|
910
|
-
const prepareOutOfTurnRound = async (
|
|
923
|
+
const prepareOutOfTurnRound = async (
|
|
924
|
+
inFlightRefusal: string,
|
|
925
|
+
signal?: AbortSignal,
|
|
926
|
+
silent = false,
|
|
927
|
+
): Promise<OutOfTurnPreparation> => {
|
|
911
928
|
if (state.streaming) return { ok: false, reason: inFlightRefusal };
|
|
912
929
|
let agentRuntime: AgentRuntime | null;
|
|
913
930
|
try {
|
|
914
|
-
agentRuntime = turnRuntime.ensureRuntime();
|
|
931
|
+
agentRuntime = turnRuntime.ensureRuntime({ silent });
|
|
915
932
|
} catch (err) {
|
|
916
933
|
return { ok: false, reason: err instanceof Error ? err.message : String(err) };
|
|
917
934
|
}
|
|
@@ -1025,13 +1042,13 @@ export function createChatLoop(deps: CreateChatLoopDeps): ChatLoop {
|
|
|
1025
1042
|
bus: deps.bus,
|
|
1026
1043
|
...(deps.session ? { session: deps.session } : {}),
|
|
1027
1044
|
isLatencySurface: () => deps.isLatencySurface?.() !== false,
|
|
1028
|
-
isTurnActive: () => turnActive,
|
|
1045
|
+
isTurnActive: () => turnActive || deps.isPrewarmBusy?.() === true,
|
|
1029
1046
|
hasActiveDispatch: () => (deps.hasActiveDispatch ?? deps.hasAttachedDispatch)?.() === true,
|
|
1030
1047
|
prepareRuntime: async (signal) => {
|
|
1031
1048
|
// The same probe a submit awaits, so the pre-warm resolves the model the
|
|
1032
1049
|
// next turn will resolve rather than a stale catalog entry.
|
|
1033
|
-
await turnRuntime.ensureLiveCapabilitiesForSelectedModel().catch(() => {});
|
|
1034
|
-
return prepareOutOfTurnRound("a turn is in flight", signal);
|
|
1050
|
+
await turnRuntime.ensureLiveCapabilitiesForSelectedModel({ silent: true }).catch(() => {});
|
|
1051
|
+
return prepareOutOfTurnRound("a turn is in flight", signal, true);
|
|
1035
1052
|
},
|
|
1036
1053
|
applySessionTools: (runtime) => {
|
|
1037
1054
|
runtime.agent.state.tools = resolveSessionTools(
|
|
@@ -1101,6 +1118,13 @@ export function createChatLoop(deps: CreateChatLoopDeps): ChatLoop {
|
|
|
1101
1118
|
}
|
|
1102
1119
|
}
|
|
1103
1120
|
if (!interrupted) {
|
|
1121
|
+
if (options.constraints !== undefined) {
|
|
1122
|
+
emitAdmissionNotice(
|
|
1123
|
+
"A submission with explicit task constraints must start a fresh turn; wait for settlement or interrupt the active run.",
|
|
1124
|
+
"constrained-turn-in-flight",
|
|
1125
|
+
);
|
|
1126
|
+
return;
|
|
1127
|
+
}
|
|
1104
1128
|
const hasImages = options.images !== undefined && options.images.length > 0;
|
|
1105
1129
|
if (!hasImages && trimmed.length > 0 && state.runtime) {
|
|
1106
1130
|
// Enter while streaming means "correct it now": the engine
|
|
@@ -1120,6 +1144,8 @@ export function createChatLoop(deps: CreateChatLoopDeps): ChatLoop {
|
|
|
1120
1144
|
}
|
|
1121
1145
|
}
|
|
1122
1146
|
|
|
1147
|
+
state.currentTurnConstraints =
|
|
1148
|
+
options.requestContinuation === true ? state.currentTurnConstraints : snapshotTurnConstraints(options.constraints);
|
|
1123
1149
|
const previousRunSnapshot = state.lastRunSnapshot;
|
|
1124
1150
|
let agentRuntime: AgentRuntime | null;
|
|
1125
1151
|
try {
|
|
@@ -1145,7 +1171,8 @@ export function createChatLoop(deps: CreateChatLoopDeps): ChatLoop {
|
|
|
1145
1171
|
middlewareToolChoice.reset();
|
|
1146
1172
|
if (options.requestContinuation !== true) state.stalledTurnNudgeSpent = false;
|
|
1147
1173
|
const images = options.images && options.images.length > 0 ? [...options.images] : undefined;
|
|
1148
|
-
const pendingSkillRequests =
|
|
1174
|
+
const pendingSkillRequests =
|
|
1175
|
+
state.currentTurnConstraints?.skills === "disabled" ? [] : (options.pendingSkillRequests ?? []);
|
|
1149
1176
|
context.addWorkingContextPaths(options.workingContextPaths ?? []);
|
|
1150
1177
|
// A skill the operator activated narrows the tools for the workflow
|
|
1151
1178
|
// it started, and that workflow outlives the turn it began in. A
|
|
@@ -1153,7 +1180,8 @@ export function createChatLoop(deps: CreateChatLoopDeps): ChatLoop {
|
|
|
1153
1180
|
// armed surface is what this turn runs under.
|
|
1154
1181
|
const pendingSkillPolicy = withModelSkillActivation(
|
|
1155
1182
|
createPendingSkillToolPolicy(pendingSkillRequests) ?? state.activeSkillSurface,
|
|
1156
|
-
|
|
1183
|
+
state.currentTurnConstraints?.skills !== "disabled" &&
|
|
1184
|
+
modelMayActivateSkills(deps.getAutonomy?.() ?? deps.getSettings().safety.autonomy),
|
|
1157
1185
|
);
|
|
1158
1186
|
// What was already loaded when this turn started, so the settle-time
|
|
1159
1187
|
// notice names the skills this turn activated and not the ones a
|
|
@@ -1362,6 +1390,24 @@ export function createChatLoop(deps: CreateChatLoopDeps): ChatLoop {
|
|
|
1362
1390
|
state.currentAskUserPolicy = askUserPolicy;
|
|
1363
1391
|
try {
|
|
1364
1392
|
await queues.markPersistedUserEcho(runtimePromptText, () => agentRuntime.agent.prompt(runtimePromptText, images));
|
|
1393
|
+
if (
|
|
1394
|
+
state.synthesisToolLock &&
|
|
1395
|
+
state.activeInterruptReason === null &&
|
|
1396
|
+
isLockedSynthesisFallbackOnly(agentRuntime.agent.state.messages.at(-1))
|
|
1397
|
+
) {
|
|
1398
|
+
// Deliver the pair atomically. The normal follow-up queue drains one
|
|
1399
|
+
// message at a time; queuing these separately creates an extra round
|
|
1400
|
+
// with an unanswered synthetic tool call.
|
|
1401
|
+
emitNotice("[Clio Coder] Recovering a final answer once; tools remain disabled.");
|
|
1402
|
+
const model = agentRuntime.agent.state.model;
|
|
1403
|
+
await agentRuntime.agent.prompt([
|
|
1404
|
+
...lockedSynthesisRepromptMessages(1, {
|
|
1405
|
+
provider: model.provider,
|
|
1406
|
+
api: model.api,
|
|
1407
|
+
model: model.id,
|
|
1408
|
+
}),
|
|
1409
|
+
]);
|
|
1410
|
+
}
|
|
1365
1411
|
// pi-agent-core does NOT throw on provider failures:
|
|
1366
1412
|
// it pushes an assistant message with stopReason="error" and
|
|
1367
1413
|
// errorMessage="<provider text>" onto state.messages, sets
|
|
@@ -1533,11 +1579,13 @@ export function createChatLoop(deps: CreateChatLoopDeps): ChatLoop {
|
|
|
1533
1579
|
},
|
|
1534
1580
|
|
|
1535
1581
|
contextUsage: () => context.contextUsage(),
|
|
1582
|
+
currentTurnConstraints: () => state.currentTurnConstraints,
|
|
1536
1583
|
contextLedger: () => context.contextLedger(),
|
|
1537
1584
|
whenSettled: () => activeSubmit,
|
|
1538
1585
|
whenPrewarmSettled: () => prewarm.settled(),
|
|
1539
1586
|
|
|
1540
1587
|
resetForSession(leafTurnId: string | null, replayMessages?: ReadonlyArray<AgentMessage>): void {
|
|
1588
|
+
state.currentTurnConstraints = undefined;
|
|
1541
1589
|
if (state.runtime) {
|
|
1542
1590
|
state.runtime.agent.abort();
|
|
1543
1591
|
(state.runtime.agent as { clearAllQueues?: () => void } | undefined)?.clearAllQueues?.();
|
|
@@ -1558,7 +1606,7 @@ export function createChatLoop(deps: CreateChatLoopDeps): ChatLoop {
|
|
|
1558
1606
|
void turnRuntime.ensureLiveCapabilitiesForSelectedModel().catch(() => {});
|
|
1559
1607
|
state.replayedContextMessages = replayMessages ? [...replayMessages] : [];
|
|
1560
1608
|
if (state.runtime) {
|
|
1561
|
-
state.runtime.agent
|
|
1609
|
+
replaceEngineMessages(state.runtime.agent, [...state.replayedContextMessages]);
|
|
1562
1610
|
}
|
|
1563
1611
|
if (deps.protectedArtifacts) {
|
|
1564
1612
|
reloadProtectedArtifactsForSession(deps.protectedArtifacts, deps.readSessionEntries);
|
|
@@ -1721,6 +1769,8 @@ export function createChatLoop(deps: CreateChatLoopDeps): ChatLoop {
|
|
|
1721
1769
|
// released at admission, not settlement, so steering stays immediate.
|
|
1722
1770
|
let admissionTail: Promise<void> | null = null;
|
|
1723
1771
|
api.submit = (text, options = {}) => {
|
|
1772
|
+
const constraints = snapshotTurnConstraints(options.constraints);
|
|
1773
|
+
options = { ...options, ...(constraints === undefined ? {} : { constraints }) };
|
|
1724
1774
|
// Capture before admission can await. Internal resubmits inherit the
|
|
1725
1775
|
// async scope; every independent public submit explicitly starts its own.
|
|
1726
1776
|
const hostRun = options.hostRun === undefined ? undefined : structuredClone(options.hostRun);
|
|
@@ -16,6 +16,7 @@ import { presentProviderError, providerErrorEvidence } from "./renderers/provide
|
|
|
16
16
|
import { renderRetryStatus } from "./renderers/retry-status.js";
|
|
17
17
|
import {
|
|
18
18
|
canGroupObservation,
|
|
19
|
+
renderToolArguments,
|
|
19
20
|
renderToolAwaitingApproval,
|
|
20
21
|
renderToolExecution,
|
|
21
22
|
renderToolPreview,
|
|
@@ -836,7 +837,7 @@ function renderEntryLines(
|
|
|
836
837
|
return renderRetryStatus(entry.status, width, detail, unboundedToolBodies, terminalRows);
|
|
837
838
|
}
|
|
838
839
|
if (entry.role === "worker") {
|
|
839
|
-
return renderWorkerEntryLines(entry.state, width, { detail, terminalRows, unbounded: unboundedToolBodies });
|
|
840
|
+
return renderWorkerEntryLines(entry.state, width, { detail, terminalRows, unbounded: unboundedToolBodies, nowMs });
|
|
840
841
|
}
|
|
841
842
|
// A settled assistant entry that rendered nothing at all contributes nothing.
|
|
842
843
|
// A mid-turn notice splits the transcript, so the events after it open a
|
|
@@ -874,6 +875,13 @@ function renderEntryLines(
|
|
|
874
875
|
}
|
|
875
876
|
if (count > 1) {
|
|
876
877
|
lines.push(dimLine(`✓ ${kind === "read" ? `Read ${count} files` : `${count} ${kind} actions`} · /view`, width));
|
|
878
|
+
for (let offset = 0; offset < count; offset++) {
|
|
879
|
+
const grouped = entry.segments[segIndex + offset];
|
|
880
|
+
if (grouped?.kind === "tool")
|
|
881
|
+
lines.push(
|
|
882
|
+
...renderToolArguments(grouped.args, width, false, previewBudget(detail.invocationRows, terminalRows)),
|
|
883
|
+
);
|
|
884
|
+
}
|
|
877
885
|
segIndex += count - 1;
|
|
878
886
|
} else lines.push(...renderToolSegmentLines(seg, width, nowMs, unboundedToolBodies, detail, terminalRows));
|
|
879
887
|
continue;
|
|
@@ -1186,6 +1194,7 @@ export function createChatPanel(options: ChatPanelOptions = {}): ChatPanel {
|
|
|
1186
1194
|
// only thinking still needs the time-keyed render key.
|
|
1187
1195
|
) ||
|
|
1188
1196
|
(entry.pending && openThinkingSegment(entry)?.startedAtMs !== undefined))) ||
|
|
1197
|
+
(entry.role === "worker" && entry.state.pending && entry.state.startedAtMs !== undefined) ||
|
|
1189
1198
|
(entry.role === "replayBlock" && entry.isLive?.() === true) ||
|
|
1190
1199
|
(entry.role === "user" && (entry.status?.() ?? "committed") !== "committed");
|
|
1191
1200
|
|
|
@@ -7,19 +7,19 @@ import {
|
|
|
7
7
|
visibleWidth,
|
|
8
8
|
} from "../engine/tui.js";
|
|
9
9
|
import { guardPastedEditorOperator } from "./editor-bash.js";
|
|
10
|
+
import { type EditorRailState, renderEditorRail } from "./editor-rails.js";
|
|
10
11
|
import { fitHintEntries } from "./overlay-frame.js";
|
|
11
12
|
import { type PermissionInspectionHint, permissionHintEntries } from "./permission-hint.js";
|
|
12
13
|
import type { ClioTheme } from "./theme/index.js";
|
|
13
|
-
import { clioTheme, editorTheme, GLYPH
|
|
14
|
-
import {
|
|
14
|
+
import { clioTheme, editorTheme, GLYPH } from "./theme/index.js";
|
|
15
|
+
import type { TargetIdentity } from "./theme/labels.js";
|
|
15
16
|
import type { TurnPreparationPhase } from "./turn-state.js";
|
|
16
17
|
|
|
17
18
|
const REVERSE_VIDEO_BLANK = `${String.fromCharCode(27)}[7m ${String.fromCharCode(27)}[0m`;
|
|
18
19
|
const EMPTY_PROMPT = "Ask Clio… / for commands";
|
|
19
20
|
const CONFIRM_PROMPT = "A parked call is waiting for your decision";
|
|
20
21
|
const PREPARING_PROMPT = "Clio has your prompt and is preparing the turn";
|
|
21
|
-
const COMPACTING_PROMPT = "Clio
|
|
22
|
-
const MIN_HINT_WIDTH = 60;
|
|
22
|
+
const COMPACTING_PROMPT = "Clio is compacting the session context";
|
|
23
23
|
|
|
24
24
|
function hasScrollIndicator(line: string): boolean {
|
|
25
25
|
const stripped = stripTerminalSequences(line);
|
|
@@ -31,6 +31,10 @@ export interface EditorChrome {
|
|
|
31
31
|
getModelLabel: () => TargetIdentity | string;
|
|
32
32
|
/** Effective thinking level, e.g. `high` / `off`. */
|
|
33
33
|
getThinkingLabel: () => string;
|
|
34
|
+
/** Effective session autonomy, including live overrides. */
|
|
35
|
+
getAutonomy?: () => string;
|
|
36
|
+
/** Monotonic animation clock, injectable for deterministic rendering tests. */
|
|
37
|
+
getAnimationTime?: () => number;
|
|
34
38
|
/** Whether Enter currently targets the active Clio response. */
|
|
35
39
|
isStreaming?: () => boolean;
|
|
36
40
|
/**
|
|
@@ -63,45 +67,6 @@ export interface EditorChrome {
|
|
|
63
67
|
|
|
64
68
|
type ComposerMode = "MESSAGE" | "FOLLOW-UP" | "STEER" | "CONFIRM" | "PREPARING" | "COMPACTING";
|
|
65
69
|
|
|
66
|
-
function normalizeThinkingHint(value: string): string {
|
|
67
|
-
return value
|
|
68
|
-
.replace(/^think\s+/i, "")
|
|
69
|
-
.trim()
|
|
70
|
-
.toLowerCase();
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
// The thinking-level hint reads on a two-step color scale that survives
|
|
74
|
-
// squinting: `off` is dim, the low band (`minimal`/`low`) is muted, and
|
|
75
|
-
// everything from `medium` up carries the reason token, going bold for the
|
|
76
|
-
// top band (`xhigh`/`max`, and the generic `on`).
|
|
77
|
-
function styledThinkingHint(theme: ClioTheme, value: string): string {
|
|
78
|
-
const hint = normalizeThinkingHint(value);
|
|
79
|
-
switch (hint) {
|
|
80
|
-
case "off":
|
|
81
|
-
return theme.fg("dim", hint);
|
|
82
|
-
case "minimal":
|
|
83
|
-
case "low":
|
|
84
|
-
return theme.fg("muted", hint);
|
|
85
|
-
case "xhigh":
|
|
86
|
-
case "max":
|
|
87
|
-
case "on":
|
|
88
|
-
return theme.style("reason", hint, { bold: true });
|
|
89
|
-
default:
|
|
90
|
-
return theme.fg("reason", hint);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
function styledRailLabel(theme: ClioTheme, chrome: EditorChrome, width: number): string {
|
|
95
|
-
const thinking = styledThinkingHint(theme, chrome.getThinkingLabel());
|
|
96
|
-
const identity = chrome.getModelLabel();
|
|
97
|
-
const room = Math.max(1, width - visibleWidth(thinking) - 3);
|
|
98
|
-
const model =
|
|
99
|
-
typeof identity === "string"
|
|
100
|
-
? fitIdentityLabel(identity, room)
|
|
101
|
-
: formatTargetLabel(identity.targetId, identity.modelId, { width: room });
|
|
102
|
-
return `${theme.fg("dim", model)} ${theme.fg("dim", "·")} ${thinking}`;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
70
|
function composerMode(chrome: EditorChrome, text: string): ComposerMode {
|
|
106
71
|
if (chrome.isAwaitingApproval?.() ?? false) return "CONFIRM";
|
|
107
72
|
if (!(chrome.isStreaming?.() ?? false)) {
|
|
@@ -117,13 +82,6 @@ function composerMode(chrome: EditorChrome, text: string): ComposerMode {
|
|
|
117
82
|
return willSteer ? "STEER" : "FOLLOW-UP";
|
|
118
83
|
}
|
|
119
84
|
|
|
120
|
-
function lowerRailHint(theme: ClioTheme, chrome: EditorChrome): string {
|
|
121
|
-
return theme.fg(
|
|
122
|
-
"dim",
|
|
123
|
-
`${chrome.getSubmitKeyLabel?.() ?? "Enter"} send · ${chrome.getNewlineKeyLabel?.() ?? "Ctrl+J"} newline`,
|
|
124
|
-
);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
85
|
/**
|
|
128
86
|
* The permission keys on the composer rail, fitted like the dialog footer so
|
|
129
87
|
* both surfaces narrow in the same order and never drop allow or stop first.
|
|
@@ -247,22 +205,37 @@ export class ClioEditor extends Editor {
|
|
|
247
205
|
const safeWidth = Math.max(0, width);
|
|
248
206
|
const text = this.getText();
|
|
249
207
|
const mode = composerMode(this.chrome, text);
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
208
|
+
const rail: EditorRailState = {
|
|
209
|
+
phase: mode === "CONFIRM" ? "attention" : mode === "MESSAGE" ? "idle" : "working",
|
|
210
|
+
fullAuto: this.chrome.getAutonomy?.() === "full-auto",
|
|
211
|
+
animate:
|
|
212
|
+
text.length === 0 &&
|
|
213
|
+
process.env.CLIO_CODER_REDUCE_MOTION !== "1" &&
|
|
214
|
+
process.env.CLIO_CODER_SCREEN_READER !== "1" &&
|
|
215
|
+
process.env.TERM !== "dumb" &&
|
|
216
|
+
process.env.NO_COLOR === undefined,
|
|
217
|
+
now: this.chrome.getAnimationTime?.() ?? performance.now(),
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
// Normal composition needs no mode or model label on the input rail.
|
|
221
|
+
// Keep exceptional admission/permission states and native scroll counts.
|
|
222
|
+
if (!hasScrollIndicator(lines[0] ?? "")) {
|
|
223
|
+
const exceptional = mode === "CONFIRM" || mode === "PREPARING" || mode === "COMPACTING";
|
|
224
|
+
lines[0] = renderEditorRail(
|
|
225
|
+
theme,
|
|
226
|
+
safeWidth,
|
|
227
|
+
{
|
|
228
|
+
...(exceptional
|
|
229
|
+
? {
|
|
230
|
+
left: rail.fullAuto ? `${mode} · FULL-AUTO` : mode,
|
|
231
|
+
leftToken: rail.fullAuto ? ("editorDanger" as const) : modeToken(mode),
|
|
232
|
+
}
|
|
233
|
+
: rail.fullAuto
|
|
234
|
+
? { left: "FULL-AUTO", leftToken: "editorDanger" as const }
|
|
235
|
+
: {}),
|
|
236
|
+
},
|
|
237
|
+
rail,
|
|
238
|
+
);
|
|
266
239
|
}
|
|
267
240
|
|
|
268
241
|
if (text.length === 0 && lines[1]) {
|
|
@@ -273,21 +246,20 @@ export class ClioEditor extends Editor {
|
|
|
273
246
|
// The confirm keys render at every width: the send hint is a convenience
|
|
274
247
|
// that a narrow composer can drop, the allow and deny keys are not.
|
|
275
248
|
if (bottomRail >= 0 && mode === "CONFIRM") {
|
|
276
|
-
lines[bottomRail] =
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
rightTail: theme.style("frameStrong", "─", { bold: true }),
|
|
288
|
-
});
|
|
249
|
+
lines[bottomRail] = renderEditorRail(
|
|
250
|
+
theme,
|
|
251
|
+
safeWidth,
|
|
252
|
+
{
|
|
253
|
+
right: confirmRailHint(theme, safeWidth, text.length > 0, this.chrome.getPermissionInspection?.() ?? "none"),
|
|
254
|
+
fillToken: "editor",
|
|
255
|
+
rightRaw: true,
|
|
256
|
+
rightTail: theme.style("editor", "─", { bold: true }),
|
|
257
|
+
},
|
|
258
|
+
rail,
|
|
259
|
+
);
|
|
289
260
|
}
|
|
290
261
|
|
|
262
|
+
if (bottomRail >= 0 && mode !== "CONFIRM") lines[bottomRail] = renderEditorRail(theme, safeWidth, {}, rail);
|
|
291
263
|
return lines;
|
|
292
264
|
}
|
|
293
265
|
|
|
@@ -12,6 +12,7 @@ import { type ClioTheme, type ClioToken, clioTheme, GLYPH } from "./theme/index.
|
|
|
12
12
|
export const CONTEXT_CATEGORY_TOKEN: Readonly<Record<ContextLedgerCategory, ClioToken>> = {
|
|
13
13
|
system: "info",
|
|
14
14
|
tools: "warning",
|
|
15
|
+
toolResults: "tool",
|
|
15
16
|
agents: "reason",
|
|
16
17
|
skills: "success",
|
|
17
18
|
memory: "error",
|
|
@@ -5,7 +5,7 @@ import type { SafeEventBus } from "../core/event-bus.js";
|
|
|
5
5
|
import type { WorkingSetView } from "../domains/context/working-set/contract.js";
|
|
6
6
|
import { formatContextWindowSlots } from "../domains/providers/index.js";
|
|
7
7
|
import type { ContextLedger, ContextLedgerGroup } from "../domains/session/context-ledger.js";
|
|
8
|
-
import { type OverlayHandle, Text, type TUI, visibleWidth } from "../engine/tui.js";
|
|
8
|
+
import { type OverlayHandle, Text, type TUI, truncateToWidth, visibleWidth } from "../engine/tui.js";
|
|
9
9
|
import { contextCategorySwatch, renderContextMeterGrid, renderEvictedTokensLine } from "./context-meter.js";
|
|
10
10
|
import { buildHint, showClioOverlayFrame } from "./overlay-frame.js";
|
|
11
11
|
import { abbreviateModelId, type ClioToken, clioTheme, formatContextPercent } from "./theme/index.js";
|
|
@@ -78,8 +78,8 @@ function legendRow(group: ContextLedgerGroup, contentWidth: number): string {
|
|
|
78
78
|
const percent = formatContextPercent(group.percent);
|
|
79
79
|
const right = `${tokens.padStart(9)} ${percent.padStart(6)}`;
|
|
80
80
|
const labelToken: ClioToken = group.category === "reserve" ? "frame" : group.category === "free" ? "dim" : "muted";
|
|
81
|
-
const leftWidth = Math.max(0, contentWidth - visibleWidth(right) - 2);
|
|
82
|
-
const labelText = group.label
|
|
81
|
+
const leftWidth = Math.max(0, contentWidth - visibleWidth(right) - visibleWidth(swatch) - 2);
|
|
82
|
+
const labelText = truncateToWidth(group.label, leftWidth, "", true);
|
|
83
83
|
return `${swatch} ${theme.fg(labelToken, labelText)} ${theme.fg("muted", right)}`;
|
|
84
84
|
}
|
|
85
85
|
|
|
@@ -187,7 +187,7 @@ function renderContextLedgerLines(
|
|
|
187
187
|
lines.push("");
|
|
188
188
|
|
|
189
189
|
if (ledger.contextWindow > 0) {
|
|
190
|
-
const source = ledger.measured ? "
|
|
190
|
+
const source = ledger.measured ? "provider-anchored total · estimated splits" : "≈ estimated";
|
|
191
191
|
// `196,608 (786,432 / 4 slots)`: a llama.cpp window that is one slot's
|
|
192
192
|
// share of the server's KV budget names the split, because the bare
|
|
193
193
|
// number reads as the whole server and the meter is measured against
|
|
@@ -231,7 +231,7 @@ function renderContextLedgerLines(
|
|
|
231
231
|
if (ledger.promptCache) {
|
|
232
232
|
const cache = ledger.promptCache;
|
|
233
233
|
const shell = cache.shellReused ? "shell reused" : "shell recompiled";
|
|
234
|
-
const backendCacheReadsUnknown = cache.backend?.cachedTokens === null;
|
|
234
|
+
const backendCacheReadsUnknown = cache.backendVerdict === "unknown" || cache.backend?.cachedTokens === null;
|
|
235
235
|
const backend = backendCacheReadsUnknown
|
|
236
236
|
? "server does not report cache reads"
|
|
237
237
|
: cache.backendVerdict === "hot" || cache.backendVerdict === "partial"
|
|
@@ -268,7 +268,7 @@ function renderContextLedgerLines(
|
|
|
268
268
|
}
|
|
269
269
|
if (coldReasons.length > 0) {
|
|
270
270
|
const reasons = coldReasons.map(coldReasonLabel).join(", ");
|
|
271
|
-
lines.push(theme.fg("dim", `last
|
|
271
|
+
lines.push(theme.fg("dim", `last cache-affecting events: ${reasons} (reuse measured separately)`));
|
|
272
272
|
}
|
|
273
273
|
}
|
|
274
274
|
|
|
@@ -319,15 +319,28 @@ export function openContextOverlay(
|
|
|
319
319
|
getLedger: () => ContextLedger,
|
|
320
320
|
options?: OpenContextOverlayOptions,
|
|
321
321
|
): OverlayHandle {
|
|
322
|
+
let contentWidth = DEFAULT_CONTENT_WIDTH;
|
|
322
323
|
const render = (): string =>
|
|
323
324
|
renderContextLedgerLines(
|
|
324
325
|
getLedger(),
|
|
325
|
-
|
|
326
|
+
contentWidth,
|
|
326
327
|
options?.getWorkingSet?.() ?? null,
|
|
327
328
|
options?.getWorkingSetConfig?.() ?? null,
|
|
328
329
|
).join("\n");
|
|
329
330
|
const text = new Text(render(), 0, 0);
|
|
330
|
-
const
|
|
331
|
+
const body = {
|
|
332
|
+
render(width: number): string[] {
|
|
333
|
+
if (width !== contentWidth) {
|
|
334
|
+
contentWidth = width;
|
|
335
|
+
text.setText(render());
|
|
336
|
+
}
|
|
337
|
+
return text.render(width);
|
|
338
|
+
},
|
|
339
|
+
invalidate(): void {
|
|
340
|
+
text.invalidate();
|
|
341
|
+
},
|
|
342
|
+
};
|
|
343
|
+
const handle = showClioOverlayFrame(tui, body, {
|
|
331
344
|
anchor: "center",
|
|
332
345
|
width: CONTEXT_OVERLAY_WIDTH,
|
|
333
346
|
markerId: "context-view",
|
|
@@ -227,7 +227,7 @@ function summaryBlock(
|
|
|
227
227
|
] as const,
|
|
228
228
|
[
|
|
229
229
|
"cache verdicts",
|
|
230
|
-
`hot ${promptCache.verdictCounts.hot} · partial ${promptCache.verdictCounts.partial} · cold ${promptCache.verdictCounts.cold} · small ${promptCache.verdictCounts.small}`,
|
|
230
|
+
`hot ${promptCache.verdictCounts.hot} · partial ${promptCache.verdictCounts.partial} · cold ${promptCache.verdictCounts.cold} · small ${promptCache.verdictCounts.small} · unknown ${promptCache.verdictCounts.unknown}`,
|
|
231
231
|
] as const,
|
|
232
232
|
]
|
|
233
233
|
: [];
|
|
@@ -45,6 +45,7 @@ import {
|
|
|
45
45
|
spinnerFrame,
|
|
46
46
|
} from "./theme/index.js";
|
|
47
47
|
import { fitIdentityLabel } from "./theme/labels.js";
|
|
48
|
+
import { isHelperRun } from "./worker-stream.js";
|
|
48
49
|
|
|
49
50
|
export type DispatchBoardStatus = ObservabilityRunSummary["status"];
|
|
50
51
|
|
|
@@ -110,7 +111,7 @@ export interface DispatchBoardRow {
|
|
|
110
111
|
failoverHops?: number;
|
|
111
112
|
/** Model context window for the per-worker context meter. */
|
|
112
113
|
contextWindow?: number;
|
|
113
|
-
/** Last assistant message's input+cacheRead+output: current context occupancy. */
|
|
114
|
+
/** Last assistant message's input+cacheRead+cacheWrite+output: current context occupancy. */
|
|
114
115
|
lastContextTokens?: number;
|
|
115
116
|
/** Tool currently executing in the worker; null between calls. Projected from `progress`. */
|
|
116
117
|
currentTool?: string | null;
|
|
@@ -484,6 +485,34 @@ function progressActionLine(theme: ClioTheme, progress: WorkerProgressSnapshot,
|
|
|
484
485
|
return cardUnitsLine(theme, "doing", units, contentWidth);
|
|
485
486
|
}
|
|
486
487
|
|
|
488
|
+
/** Live dashboard detail shares the board's redacted actions and contract-aware answer rendering. */
|
|
489
|
+
export function renderDispatchActivity(row: DispatchBoardRow, width: number): string[] {
|
|
490
|
+
const theme = clioTheme();
|
|
491
|
+
const progress = row.progress;
|
|
492
|
+
if (!progress) return [];
|
|
493
|
+
const lines: string[] = [];
|
|
494
|
+
const phase = {
|
|
495
|
+
starting: "Starting worker",
|
|
496
|
+
thinking: "Thinking",
|
|
497
|
+
writing: "Streaming response",
|
|
498
|
+
tool: "Executing tool",
|
|
499
|
+
waiting: "Between tool calls · awaiting next worker event",
|
|
500
|
+
settled: "Worker output finished",
|
|
501
|
+
}[progress.phase];
|
|
502
|
+
lines.push(...wrapTextWithAnsi(`${theme.style("agent", "Now", { bold: true })} ${phase}`, width));
|
|
503
|
+
if (progress.currentAction)
|
|
504
|
+
lines.push(...wrapTextWithAnsi(` → ${sanitizeCallTargetText(actionPhrase(progress.currentAction))}`, width));
|
|
505
|
+
for (const action of progress.recentActions.slice(0, 3))
|
|
506
|
+
lines.push(
|
|
507
|
+
...wrapTextWithAnsi(`${theme.fg("dim", "Recent")} ${sanitizeCallTargetText(actionPhrase(action))}`, width),
|
|
508
|
+
);
|
|
509
|
+
if (progress.tailText.trim()) {
|
|
510
|
+
lines.push(theme.fg("dim", progress.settled ? "Worker output" : "Live response · provisional"));
|
|
511
|
+
lines.push(...progressAnswerLines(theme, progress, row.runId, width, row.resultContract, 3));
|
|
512
|
+
}
|
|
513
|
+
return lines;
|
|
514
|
+
}
|
|
515
|
+
|
|
487
516
|
/**
|
|
488
517
|
* The `answer` block: the newest rows of the worker's bounded prose on a rail,
|
|
489
518
|
* then what is not shown and where to read it. Wrapping happens before the row
|
|
@@ -497,6 +526,7 @@ function progressAnswerLines(
|
|
|
497
526
|
runId: string,
|
|
498
527
|
contentWidth: number,
|
|
499
528
|
contract: ObservabilityRunSummary["resultContract"],
|
|
529
|
+
maxRows = WORKER_PROGRESS_CARD_ROWS,
|
|
500
530
|
): string[] {
|
|
501
531
|
if (progress.tailText.length === 0) return [];
|
|
502
532
|
const gutter = CARD_KV_KEY_WIDTH + 1;
|
|
@@ -514,9 +544,7 @@ function progressAnswerLines(
|
|
|
514
544
|
for (const line of source) {
|
|
515
545
|
for (const row of wrapTextWithAnsi(sanitizeCallTargetText(line), railWidth)) wrapped.push(row);
|
|
516
546
|
}
|
|
517
|
-
const shown = progress.settled
|
|
518
|
-
? wrapped.slice(0, WORKER_PROGRESS_CARD_ROWS)
|
|
519
|
-
: wrapped.slice(Math.max(0, wrapped.length - WORKER_PROGRESS_CARD_ROWS));
|
|
547
|
+
const shown = progress.settled ? wrapped.slice(0, maxRows) : wrapped.slice(Math.max(0, wrapped.length - maxRows));
|
|
520
548
|
const hiddenRows = wrapped.length - shown.length;
|
|
521
549
|
const rail = theme.fg("dim", `${GLYPH.rail} `);
|
|
522
550
|
const body = shown.map((row) => `${rail}${theme.fg("muted", row)}`);
|
|
@@ -810,8 +838,10 @@ function renderTaskIslandRow(row: DispatchBoardRow, width: number): string[] {
|
|
|
810
838
|
? ` ${theme.fg("warning", `attempt ${row.retry.attempt}`)}${dot}${theme.fg("muted", retryCountdown(row.retry))}`
|
|
811
839
|
: ` ${up}${dot}${down}${dot}${theme.fg("muted", cost)}`;
|
|
812
840
|
const task = row.taskSummary
|
|
813
|
-
?
|
|
814
|
-
|
|
841
|
+
? wrapTextWithAnsi(row.taskSummary, Math.max(1, width - 2))
|
|
842
|
+
.slice(0, 3)
|
|
843
|
+
.map((line) => ` ${theme.fg("muted", line)}`)
|
|
844
|
+
: [];
|
|
815
845
|
|
|
816
846
|
const quality = isTerminalStatus(row.status)
|
|
817
847
|
? wrapTextWithAnsi(
|
|
@@ -822,8 +852,9 @@ function renderTaskIslandRow(row: DispatchBoardRow, width: number): string[] {
|
|
|
822
852
|
return [
|
|
823
853
|
padAnsi(line1, width),
|
|
824
854
|
...quality.map((line) => padAnsi(theme.fg("muted", line), width)),
|
|
825
|
-
...(
|
|
855
|
+
...task.map((line) => padAnsi(line, width)),
|
|
826
856
|
padAnsi(telemetry, width),
|
|
857
|
+
...wrapTextWithAnsi(theme.fg("dim", ` /view dispatch:${row.runId}`), width),
|
|
827
858
|
];
|
|
828
859
|
}
|
|
829
860
|
|
|
@@ -1082,7 +1113,7 @@ export function createDispatchBoardView(
|
|
|
1082
1113
|
export function formatTaskIslandLines(rows: ReadonlyArray<DispatchBoardRow>, maxRows = 4): string[] {
|
|
1083
1114
|
// Councils are folded before the row cap, so a five-member council costs the
|
|
1084
1115
|
// island one card and never crowds out the runs beside it.
|
|
1085
|
-
const items = dispatchBoardItems(rows);
|
|
1116
|
+
const items = dispatchBoardItems(rows.filter((row) => !isHelperRun(row)));
|
|
1086
1117
|
const visibleItems = items.slice(0, Math.max(1, maxRows));
|
|
1087
1118
|
const body: string[] = [];
|
|
1088
1119
|
|