@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
|
@@ -4,6 +4,7 @@ import { createWorkerObservationStore } from "../domains/context/worker/recall.j
|
|
|
4
4
|
import { seededWorkerMessages } from "../worker/context-seed.js";
|
|
5
5
|
import { engineStreamSimple } from "./api-registry.js";
|
|
6
6
|
import { estimateInputTokensFromContext, resolveReservedOutputTokens } from "./apis/output-budget.js";
|
|
7
|
+
import { resolvedRequestContext } from "./context.js";
|
|
7
8
|
/**
|
|
8
9
|
* Worker-subprocess engine boundary.
|
|
9
10
|
*
|
|
@@ -16,6 +17,7 @@ import { estimateInputTokensFromContext, resolveReservedOutputTokens } from "./a
|
|
|
16
17
|
*/
|
|
17
18
|
|
|
18
19
|
import path from "node:path";
|
|
20
|
+
import { Type } from "typebox";
|
|
19
21
|
import {
|
|
20
22
|
configureGuardrails,
|
|
21
23
|
guardrailValuesFromSettings,
|
|
@@ -27,13 +29,18 @@ import { readLayeredSettings } from "../core/settings-layers.js";
|
|
|
27
29
|
import { agentSkillToolPolicy } from "../core/skill-activation.js";
|
|
28
30
|
import { type ToolName, ToolNames } from "../core/tool-names.js";
|
|
29
31
|
import {
|
|
32
|
+
internalHelperResultSchema,
|
|
30
33
|
type ObservedReadRanges,
|
|
31
34
|
type ObservedRunEffects,
|
|
32
35
|
parseWorkerResultContract,
|
|
33
36
|
RESULT_CONTRACT_REPAIR_LIMIT,
|
|
34
37
|
type ResultContract,
|
|
35
38
|
resultContractRepairMessages,
|
|
39
|
+
resultContractRepairUserMessage,
|
|
40
|
+
resultContractShape,
|
|
41
|
+
type StructuredHelperResult,
|
|
36
42
|
validateResultContract,
|
|
43
|
+
validateStructuredHelperResult,
|
|
37
44
|
} from "../domains/agents/result-contract.js";
|
|
38
45
|
import { nodeResultContractFilesystem } from "../domains/agents/result-contract-filesystem.js";
|
|
39
46
|
import type { AgentProduct } from "../domains/agents/spec.js";
|
|
@@ -54,9 +61,10 @@ import {
|
|
|
54
61
|
type KnowledgeBase,
|
|
55
62
|
type KnowledgeBaseHit,
|
|
56
63
|
} from "../domains/providers/types/knowledge-base.js";
|
|
57
|
-
import type { ActionClass } from "../domains/safety/action-classifier.js";
|
|
64
|
+
import type { ActionClass, ClassifierCall } from "../domains/safety/action-classifier.js";
|
|
58
65
|
import type { AutonomyLevel } from "../domains/safety/autonomy.js";
|
|
59
66
|
import { describeCallTarget } from "../domains/safety/call-target.js";
|
|
67
|
+
import type { SafetyDecision } from "../domains/safety/contract.js";
|
|
60
68
|
import { createProtectedArtifactsRegistration } from "../domains/safety/protected-artifacts-registration.js";
|
|
61
69
|
import { createRunEffectsRecorder } from "../domains/safety/run-effects.js";
|
|
62
70
|
import { resolveAgentTools, type ToolTelemetry } from "../tools/agent-tools.js";
|
|
@@ -83,14 +91,28 @@ import {
|
|
|
83
91
|
isLoopGuardSynthesisBackstopReason,
|
|
84
92
|
lockedSynthesisFallbackText,
|
|
85
93
|
lockedSynthesisRepromptMessages,
|
|
94
|
+
lockedSynthesisSystemPrompt,
|
|
86
95
|
resolveDeliveryTools,
|
|
87
96
|
sanitizeLockedSynthesisMessage,
|
|
88
97
|
workerLoopBlockBudget,
|
|
89
98
|
} from "./loop-guard.js";
|
|
90
|
-
import { patchWorkerRequestPayload } from "./provider-payload.js";
|
|
99
|
+
import { patchWorkerRequestPayload, supportsNamedToolChoice } from "./provider-payload.js";
|
|
91
100
|
import type { AgentEvent, AgentMessage, EngineModel } from "./types.js";
|
|
92
101
|
import type { ClioWorkerEvent } from "./worker-events.js";
|
|
93
|
-
import { createWorkerSafety, createWorkerToolRegistry } from "./worker-tools.js";
|
|
102
|
+
import { createWorkerSafety, createWorkerToolRegistry, INTERNAL_HELPER_RESULT_TOOL } from "./worker-tools.js";
|
|
103
|
+
|
|
104
|
+
/** Exact call and enforced permission conditions; never reuse an answer across asking axes. */
|
|
105
|
+
export function workerPermissionCacheKey(call: ClassifierCall, decision: SafetyDecision, axis: string): string {
|
|
106
|
+
return canonicalJson({
|
|
107
|
+
tool: call.tool,
|
|
108
|
+
args: call.args ?? {},
|
|
109
|
+
axis,
|
|
110
|
+
actionClass: decision.classification.actionClass,
|
|
111
|
+
policyReason: decision.policy?.reasonCode,
|
|
112
|
+
policySource: decision.policy?.policySource,
|
|
113
|
+
policyHash: decision.policy?.policyHash,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
94
116
|
|
|
95
117
|
export interface WorkerRunInput {
|
|
96
118
|
sessionId?: string;
|
|
@@ -116,6 +138,8 @@ export interface WorkerRunInput {
|
|
|
116
138
|
* orchestrator for a recoverable shape mistake it was never told about.
|
|
117
139
|
*/
|
|
118
140
|
resultContract?: ResultContract;
|
|
141
|
+
/** Host-declared internal helper protocol; never inferred from agent names. */
|
|
142
|
+
helperResult?: true;
|
|
119
143
|
/** What this run delivers; decides which delivery tools the reserve keeps live. */
|
|
120
144
|
product?: AgentProduct;
|
|
121
145
|
/**
|
|
@@ -143,6 +167,7 @@ export interface WorkerRunInput {
|
|
|
143
167
|
protectedArtifactState?: WorkerProtectedArtifactState;
|
|
144
168
|
signal?: AbortSignal;
|
|
145
169
|
noSkills?: boolean;
|
|
170
|
+
turnConstraints?: import("../core/turn-constraints.js").TurnConstraints;
|
|
146
171
|
skillPaths?: ReadonlyArray<string>;
|
|
147
172
|
/** Recipe-bound skill names; context(scope=skills) admits exactly these for the run. */
|
|
148
173
|
agentSkills?: ReadonlyArray<string>;
|
|
@@ -255,7 +280,7 @@ function terminalContractViolation(
|
|
|
255
280
|
// through 45 tool calls and lost its answer to the lockout was reported as
|
|
256
281
|
// "result must be valid JSON".
|
|
257
282
|
if (text.trim() === lockedSynthesisFallbackText()) {
|
|
258
|
-
return "the reply after the tool-call lockout held only tool-call markup and was removed; tools are off, so
|
|
283
|
+
return "the reply after the tool-call lockout held only tool-call markup and was removed; tools are off, so emit the required terminal result format";
|
|
259
284
|
}
|
|
260
285
|
const stopReason = message.stopReason;
|
|
261
286
|
if (
|
|
@@ -326,7 +351,13 @@ function taskMessage(task: string): AgentMessage {
|
|
|
326
351
|
|
|
327
352
|
function promptMessagesForWorker(input: WorkerRunInput): AgentMessage[] {
|
|
328
353
|
const messages = (input.dynamicPromptMessages ?? []).map(promptMessage);
|
|
329
|
-
messages.push(
|
|
354
|
+
messages.push(
|
|
355
|
+
taskMessage(
|
|
356
|
+
input.contextSeed
|
|
357
|
+
? `# Your worker assignment\nYou are already the dispatched ${input.agentId} worker. The preceding conversation is inherited background; its requests to dispatch a worker were addressed to the parent. Carry out the assignment below, preserving safety and operator scope constraints. Do not dispatch yourself again.\n\n${input.task}`
|
|
358
|
+
: input.task,
|
|
359
|
+
),
|
|
360
|
+
);
|
|
330
361
|
return messages;
|
|
331
362
|
}
|
|
332
363
|
|
|
@@ -376,6 +407,11 @@ export function startWorkerRun(input: WorkerRunInput, emit: WorkerEventEmit): Wo
|
|
|
376
407
|
// with a kind the coordinator authors, and the recipe parser refusing those
|
|
377
408
|
// killed every council vote member with a fatal spec error.
|
|
378
409
|
if (input.resultContract !== undefined) parseWorkerResultContract(input.resultContract, "WorkerSpec.resultContract");
|
|
410
|
+
const helperSchema =
|
|
411
|
+
input.helperResult === true && input.resultContract ? internalHelperResultSchema(input.resultContract) : null;
|
|
412
|
+
if (input.helperResult === true && (helperSchema === null || input.runtime.kind !== "http")) {
|
|
413
|
+
throw new Error("helperResult requires a supported internal JSON contract and native HTTP worker");
|
|
414
|
+
}
|
|
379
415
|
if (input.runtime.id === "claude-sdk") {
|
|
380
416
|
return startClaudeSdkWorkerRun(input, emit);
|
|
381
417
|
}
|
|
@@ -389,7 +425,7 @@ export function startWorkerRun(input: WorkerRunInput, emit: WorkerEventEmit): Wo
|
|
|
389
425
|
// pi-ai is process-local. The orchestrator registers Clio API providers in
|
|
390
426
|
// providers/extension.ts, but the worker subprocess starts a fresh process,
|
|
391
427
|
// so it must register them here before any agent.prompt() touches a local
|
|
392
|
-
// runtime (lmstudio, ollama
|
|
428
|
+
// runtime (lmstudio, ollama).
|
|
393
429
|
registerClioApiProviders();
|
|
394
430
|
// The worker is a fresh process. Resolve its workspace's trusted settings
|
|
395
431
|
// layers so project output limits and guardrails survive dispatch. Keep the
|
|
@@ -458,6 +494,7 @@ export function startWorkerRun(input: WorkerRunInput, emit: WorkerEventEmit): Wo
|
|
|
458
494
|
let workerModelRound = 0;
|
|
459
495
|
const loopGuardRegistration = createLoopGuardRegistration({
|
|
460
496
|
safety,
|
|
497
|
+
readResultMaxBytes: workerSettings.context.toolResultMaxBytes,
|
|
461
498
|
toolCallCap: workerBudget.hardCap,
|
|
462
499
|
toolBudgetAdvisory: workerBudget.mode === "advisory",
|
|
463
500
|
toolCallSoftLimit: workerBudget.toolCalls,
|
|
@@ -527,12 +564,31 @@ export function startWorkerRun(input: WorkerRunInput, emit: WorkerEventEmit): Wo
|
|
|
527
564
|
const contractCwd = input.cwd ?? process.cwd();
|
|
528
565
|
let resultContractRepairsQueued = 0;
|
|
529
566
|
let resultContractRevisionActive = false;
|
|
567
|
+
let acceptedHelperResult: StructuredHelperResult | null = null;
|
|
568
|
+
let helperTerminalPhase = false;
|
|
569
|
+
let helperTurnFailure: string | null = null;
|
|
530
570
|
/** Read tool call id -> what was asked for, pending that call's result. */
|
|
531
571
|
const pendingReadCitations = new Map<string, { path: string; offset: number | null; tail: boolean }>();
|
|
532
572
|
const observedReadRanges = new Map<string, Array<readonly [number, number]>>();
|
|
533
573
|
// The write-side equivalent: what this run changed and what it validated,
|
|
534
574
|
// so a mutation report is judged against the run instead of believed.
|
|
535
575
|
const runEffects = createRunEffectsRecorder(contractCwd);
|
|
576
|
+
const acceptHelperResult = (data: unknown): string | null => {
|
|
577
|
+
if (!input.resultContract) return "missing helper result contract";
|
|
578
|
+
const checked = validateStructuredHelperResult({
|
|
579
|
+
contract: input.resultContract,
|
|
580
|
+
data,
|
|
581
|
+
cwd: contractCwd,
|
|
582
|
+
observedReadRanges,
|
|
583
|
+
observedRunEffects: runEffects.snapshot(),
|
|
584
|
+
networkAllowed: true,
|
|
585
|
+
filesystem: nodeResultContractFilesystem(),
|
|
586
|
+
});
|
|
587
|
+
if (checked.structured === null) return checked.validation.reason ?? "invalid helper result";
|
|
588
|
+
acceptedHelperResult = checked.structured;
|
|
589
|
+
emit({ type: "clio_coder_helper_result", payload: checked.structured });
|
|
590
|
+
return null;
|
|
591
|
+
};
|
|
536
592
|
|
|
537
593
|
/**
|
|
538
594
|
* Fold one successful read into the observed spans. The request says where
|
|
@@ -612,12 +668,14 @@ export function startWorkerRun(input: WorkerRunInput, emit: WorkerEventEmit): Wo
|
|
|
612
668
|
};
|
|
613
669
|
const tools = resolveAgentTools({
|
|
614
670
|
registry,
|
|
671
|
+
...(input.turnConstraints ? { turnConstraints: input.turnConstraints } : {}),
|
|
615
672
|
telemetry,
|
|
616
673
|
allowedTools: activeWorkerTools,
|
|
617
674
|
agentId: input.agentId,
|
|
618
675
|
task: input.task,
|
|
619
676
|
includeInteractiveTools: false,
|
|
620
677
|
invokeOptions: () => ({
|
|
678
|
+
...(input.turnConstraints ? { turnConstraints: input.turnConstraints } : {}),
|
|
621
679
|
correlationId: `worker-model-round-${workerModelRound}`,
|
|
622
680
|
toolResultMaxBytes: workerSettings.context.toolResultMaxBytes,
|
|
623
681
|
supportsImages: model.input.includes("image"),
|
|
@@ -627,6 +685,33 @@ export function startWorkerRun(input: WorkerRunInput, emit: WorkerEventEmit): Wo
|
|
|
627
685
|
...(agentSkillPolicy ? { pendingSkillPolicy: agentSkillPolicy } : {}),
|
|
628
686
|
}),
|
|
629
687
|
});
|
|
688
|
+
const helperToolAvailable = helperSchema !== null && workerProviderSupportsTools(input);
|
|
689
|
+
const helperForcedChoiceAvailable = helperToolAvailable && supportsNamedToolChoice(model.api);
|
|
690
|
+
if (helperToolAvailable) {
|
|
691
|
+
tools.push({
|
|
692
|
+
name: INTERNAL_HELPER_RESULT_TOOL,
|
|
693
|
+
label: "Submit helper result",
|
|
694
|
+
description:
|
|
695
|
+
"Submit the final internal result as this tool's arguments. Call alone, after gathering evidence. A validated submission finishes the run; no prose response follows.",
|
|
696
|
+
parameters: Type.Unsafe<Record<string, unknown>>(helperSchema),
|
|
697
|
+
async execute(_id, args) {
|
|
698
|
+
if (acceptedHelperResult !== null || workerBoundFailure !== null) {
|
|
699
|
+
return {
|
|
700
|
+
content: [{ type: "text", text: "The terminal result is already sealed." }],
|
|
701
|
+
details: { kind: "error" },
|
|
702
|
+
terminate: true,
|
|
703
|
+
};
|
|
704
|
+
}
|
|
705
|
+
helperTerminalPhase = true;
|
|
706
|
+
synthesisToolLock = true;
|
|
707
|
+
helperTurnFailure = acceptHelperResult(args);
|
|
708
|
+
if (helperTurnFailure !== null) {
|
|
709
|
+
return { content: [{ type: "text", text: helperTurnFailure }], details: { kind: "error" } };
|
|
710
|
+
}
|
|
711
|
+
return { content: [{ type: "text", text: "Internal result accepted." }], details: { kind: "ok" }, terminate: true };
|
|
712
|
+
},
|
|
713
|
+
});
|
|
714
|
+
}
|
|
630
715
|
if (tools.length === 0 && activeWorkerTools.length > 0) {
|
|
631
716
|
process.stderr.write(`[worker] warning: no tools resolved for allowed=[${activeWorkerTools.join(",")}]\n`);
|
|
632
717
|
}
|
|
@@ -636,16 +721,50 @@ export function startWorkerRun(input: WorkerRunInput, emit: WorkerEventEmit): Wo
|
|
|
636
721
|
);
|
|
637
722
|
|
|
638
723
|
const inheritedMessages = seededWorkerMessages(input.contextSeed);
|
|
639
|
-
const inheritedCount = inheritedMessages.length;
|
|
640
724
|
const contextGuard = createWorkerContextGuard(observations.archive);
|
|
641
725
|
const options: EngineAgentOptions = {
|
|
642
|
-
|
|
726
|
+
beforeToolCall: async ({ assistantMessage, toolCall }) => {
|
|
727
|
+
if (helperSchema === null) return undefined;
|
|
728
|
+
if (acceptedHelperResult !== null || workerBoundFailure !== null)
|
|
729
|
+
return { block: true, reason: "The helper result is sealed.", terminate: true };
|
|
730
|
+
const calls = assistantMessage.content.filter((block) => block.type === "toolCall");
|
|
731
|
+
if (calls.some((call) => call.name === INTERNAL_HELPER_RESULT_TOOL) && calls.length !== 1) {
|
|
732
|
+
helperTurnFailure =
|
|
733
|
+
"Submit exactly one terminal handoff, alone; mixed or duplicate handoff batches are rejected without executing work.";
|
|
734
|
+
return { block: true, reason: helperTurnFailure };
|
|
735
|
+
}
|
|
736
|
+
if ((helperTerminalPhase || synthesisToolLock) && toolCall.name !== INTERNAL_HELPER_RESULT_TOOL) {
|
|
737
|
+
helperTurnFailure = "Work tools are disabled. Submit only the internal terminal result.";
|
|
738
|
+
return { block: true, reason: helperTurnFailure };
|
|
739
|
+
}
|
|
740
|
+
return undefined;
|
|
741
|
+
},
|
|
742
|
+
afterToolCall: async ({ toolCall, result }) =>
|
|
743
|
+
toolCall.name === INTERNAL_HELPER_RESULT_TOOL && (result.details as { kind?: string } | undefined)?.kind === "error"
|
|
744
|
+
? { isError: true }
|
|
745
|
+
: undefined,
|
|
746
|
+
shouldStopAfterTurn: () => helperSchema !== null && (acceptedHelperResult !== null || workerBoundFailure !== null),
|
|
747
|
+
streamFn: (currentModel, transcript, streamOptions) => {
|
|
748
|
+
const currentContext = resolvedRequestContext(transcript);
|
|
749
|
+
const helperPrompt =
|
|
750
|
+
helperToolAvailable && (!(synthesisToolLock || helperTerminalPhase) || helperForcedChoiceAvailable)
|
|
751
|
+
? `${currentContext.systemPrompt ?? ""}\n\n# Internal helper protocol\nReturn the result by calling ${INTERNAL_HELPER_RESULT_TOOL} alone with the result object as arguments. Successful submission ends the run; no narrative report is needed.${synthesisToolLock || helperTerminalPhase ? " Work tools are disabled. Earlier tool-use instructions apply only to the completed work phase; only the terminal handoff remains available. Do not invent missing evidence." : ""}`
|
|
752
|
+
: currentContext.systemPrompt;
|
|
753
|
+
const systemPrompt =
|
|
754
|
+
helperToolAvailable && (!(synthesisToolLock || helperTerminalPhase) || helperForcedChoiceAvailable)
|
|
755
|
+
? helperPrompt
|
|
756
|
+
: synthesisToolLock
|
|
757
|
+
? lockedSynthesisSystemPrompt(
|
|
758
|
+
currentContext.systemPrompt ?? "",
|
|
759
|
+
input.resultContract ? resultContractShape(input.resultContract) : undefined,
|
|
760
|
+
)
|
|
761
|
+
: currentContext.systemPrompt;
|
|
643
762
|
const window = input.runtimeResolution?.capabilities.contextWindow ?? currentModel.contextWindow;
|
|
644
763
|
let messages: AgentMessage[];
|
|
645
764
|
try {
|
|
646
765
|
messages = contextGuard({
|
|
647
766
|
messages: currentContext.messages,
|
|
648
|
-
systemPrompt:
|
|
767
|
+
systemPrompt: systemPrompt ?? "",
|
|
649
768
|
tools: currentContext.tools ?? [],
|
|
650
769
|
contextWindow: window,
|
|
651
770
|
threshold: workerSettings.context.compaction.threshold,
|
|
@@ -665,7 +784,11 @@ export function startWorkerRun(input: WorkerRunInput, emit: WorkerEventEmit): Wo
|
|
|
665
784
|
}
|
|
666
785
|
return engineStreamSimple(
|
|
667
786
|
currentModel,
|
|
668
|
-
{
|
|
787
|
+
{
|
|
788
|
+
...currentContext,
|
|
789
|
+
...(systemPrompt !== undefined ? { systemPrompt } : {}),
|
|
790
|
+
messages: messages as typeof currentContext.messages,
|
|
791
|
+
},
|
|
669
792
|
streamOptions,
|
|
670
793
|
);
|
|
671
794
|
},
|
|
@@ -683,6 +806,9 @@ export function startWorkerRun(input: WorkerRunInput, emit: WorkerEventEmit): Wo
|
|
|
683
806
|
thinkingLevel: effectiveThinkingLevel,
|
|
684
807
|
...(input.responseSchema !== undefined ? { responseSchema: input.responseSchema } : {}),
|
|
685
808
|
toolSurfaceLocked: synthesisToolLock,
|
|
809
|
+
...(helperToolAvailable && (synthesisToolLock || helperTerminalPhase) && supportsNamedToolChoice(currentModel.api)
|
|
810
|
+
? { terminalToolName: INTERNAL_HELPER_RESULT_TOOL }
|
|
811
|
+
: {}),
|
|
686
812
|
toolChoiceNone: middlewareChoice.kind === "none",
|
|
687
813
|
...(middlewareChoice.kind === "required" ? { toolChoiceName: middlewareChoice.toolName } : {}),
|
|
688
814
|
});
|
|
@@ -692,12 +818,65 @@ export function startWorkerRun(input: WorkerRunInput, emit: WorkerEventEmit): Wo
|
|
|
692
818
|
if (input.sessionId) options.sessionId = input.sessionId;
|
|
693
819
|
|
|
694
820
|
const { agent } = createEngineAgent(options);
|
|
821
|
+
// Pi adds a leading prompt/tool declaration; exclude the entire inherited baseline.
|
|
822
|
+
const inheritedCount = agent.state.messages.length;
|
|
695
823
|
// The result-contract repair queues a call/result pair that must land in
|
|
696
824
|
// one drain, or the provider sees a lone assistant tool call.
|
|
697
825
|
agent.followUpMode = "all";
|
|
698
826
|
abortWorkerForBound = () => agent.abort();
|
|
827
|
+
const repairHelperResult = (reason: string): void => {
|
|
828
|
+
if (!input.resultContract || acceptedHelperResult !== null || workerBoundFailure !== null) return;
|
|
829
|
+
helperTerminalPhase = true;
|
|
830
|
+
synthesisToolLock = true;
|
|
831
|
+
if (resultContractRepairsQueued >= RESULT_CONTRACT_REPAIR_LIMIT) {
|
|
832
|
+
workerBoundFailure = `result contract failed after ${RESULT_CONTRACT_REPAIR_LIMIT} bounded repair rounds: ${reason}`;
|
|
833
|
+
emit({ type: "clio_coder_run_outcome", payload: { outcomeCode: "result_contract_exhausted" } });
|
|
834
|
+
return;
|
|
835
|
+
}
|
|
836
|
+
resultContractRepairsQueued += 1;
|
|
837
|
+
const instruction = helperForcedChoiceAvailable
|
|
838
|
+
? `${reason} Work tools remain disabled. Repair the result by calling ${INTERNAL_HELPER_RESULT_TOOL} exactly once, alone, with the complete result object. Do not emit prose.`
|
|
839
|
+
: reason;
|
|
840
|
+
for (const message of resultContractRepairMessages(
|
|
841
|
+
{
|
|
842
|
+
contract: input.resultContract,
|
|
843
|
+
reason: instruction,
|
|
844
|
+
attempt: resultContractRepairsQueued,
|
|
845
|
+
anchors: observedReadAnchors(),
|
|
846
|
+
},
|
|
847
|
+
{ provider: model.provider, api: model.api, model: model.id },
|
|
848
|
+
)) {
|
|
849
|
+
const repairMessage =
|
|
850
|
+
helperForcedChoiceAvailable && message.role === "toolResult"
|
|
851
|
+
? {
|
|
852
|
+
...message,
|
|
853
|
+
content: [
|
|
854
|
+
{
|
|
855
|
+
type: "text" as const,
|
|
856
|
+
text: `${instruction}\nRequired arguments schema: ${JSON.stringify(helperSchema)}\nObserved read ranges: ${observedReadAnchors().join(", ") || "none"}`,
|
|
857
|
+
},
|
|
858
|
+
],
|
|
859
|
+
}
|
|
860
|
+
: message;
|
|
861
|
+
agent.followUp(repairMessage as unknown as AgentMessage);
|
|
862
|
+
}
|
|
863
|
+
};
|
|
699
864
|
const unsubscribe = agent.subscribe(async (event) => {
|
|
700
|
-
if (event.type === "turn_start")
|
|
865
|
+
if (event.type === "turn_start") {
|
|
866
|
+
workerModelRound += 1;
|
|
867
|
+
helperTurnFailure = null;
|
|
868
|
+
}
|
|
869
|
+
// Detect the whole terminal batch before any call is prepared/executed.
|
|
870
|
+
// beforeToolCall rejects every sibling, regardless of ordering or parallelism.
|
|
871
|
+
if (helperSchema !== null && event.type === "message_end" && isAssistantMessage(event.message)) {
|
|
872
|
+
const calls = event.message.content.filter((block) => block.type === "toolCall");
|
|
873
|
+
if (calls.some((call) => call.name === INTERNAL_HELPER_RESULT_TOOL)) {
|
|
874
|
+
helperTerminalPhase = true;
|
|
875
|
+
synthesisToolLock = true;
|
|
876
|
+
if (calls.length !== 1)
|
|
877
|
+
helperTurnFailure = "Submit exactly one terminal handoff, alone; mixed or duplicate batches cannot execute work.";
|
|
878
|
+
}
|
|
879
|
+
}
|
|
701
880
|
if (event.type === "tool_execution_start") middlewareToolChoice.toolStarted(event.toolName);
|
|
702
881
|
// Read spans this run actually observed. They ground the terminal result
|
|
703
882
|
// (a cited line has to fall inside one) and they are handed back verbatim
|
|
@@ -734,24 +913,27 @@ export function startWorkerRun(input: WorkerRunInput, emit: WorkerEventEmit): Wo
|
|
|
734
913
|
// the same message and the run then ran out of repairs on a later
|
|
735
914
|
// grounding violation).
|
|
736
915
|
let repromptedThisMessage = false;
|
|
737
|
-
if (synthesisToolLock && event.type === "message_end") {
|
|
916
|
+
if (synthesisToolLock && !helperToolAvailable && event.type === "message_end") {
|
|
738
917
|
const stripped = sanitizeLockedSynthesisMessage(event.message);
|
|
739
918
|
// A model that calls a tool anyway hands its markup back as text and
|
|
740
919
|
// the sanitizer leaves only the fallback notice: the training habit
|
|
741
920
|
// survives the strip (Qwen3.8 did it in 1 of 5 stripped runs). One
|
|
742
921
|
// re-prompt, delivered as a tool exchange like the result-contract
|
|
743
|
-
// repair, asks for the
|
|
922
|
+
// repair, asks for the required result format; a second markup-only reply
|
|
744
923
|
// keeps the notice.
|
|
745
924
|
if (stripped && lockedSynthesisReprompts < 1 && isLockedSynthesisFallbackOnly(event.message)) {
|
|
746
925
|
lockedSynthesisReprompts += 1;
|
|
747
926
|
repromptedThisMessage = true;
|
|
748
|
-
process.stderr.write(
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
927
|
+
process.stderr.write(
|
|
928
|
+
"[worker] synthesis lock: reply was tool-call markup only; re-prompting once for the required final format\n",
|
|
929
|
+
);
|
|
930
|
+
const directive = lockedSynthesisRepromptMessages(
|
|
931
|
+
lockedSynthesisReprompts,
|
|
932
|
+
{ provider: model.provider, api: model.api, model: model.id },
|
|
933
|
+
input.resultContract ? resultContractShape(input.resultContract) : undefined,
|
|
934
|
+
).find((message) => message.role === "toolResult");
|
|
935
|
+
if (directive?.role === "toolResult") {
|
|
936
|
+
agent.followUp({ role: "user", content: directive.content, timestamp: Date.now() } as AgentMessage);
|
|
755
937
|
}
|
|
756
938
|
}
|
|
757
939
|
}
|
|
@@ -762,7 +944,46 @@ export function startWorkerRun(input: WorkerRunInput, emit: WorkerEventEmit): Wo
|
|
|
762
944
|
// same contract against the sealed receipt; this is the only point at
|
|
763
945
|
// which the model can still act on the validator's reason.
|
|
764
946
|
const contract = input.resultContract;
|
|
765
|
-
if (
|
|
947
|
+
if (
|
|
948
|
+
helperSchema !== null &&
|
|
949
|
+
contract &&
|
|
950
|
+
!repromptedThisMessage &&
|
|
951
|
+
event.type === "message_end" &&
|
|
952
|
+
isTerminalAssistantMessage(event.message)
|
|
953
|
+
) {
|
|
954
|
+
const text = assistantMessageText(event.message);
|
|
955
|
+
let reason: string | null;
|
|
956
|
+
try {
|
|
957
|
+
reason = acceptHelperResult(JSON.parse(text ?? ""));
|
|
958
|
+
} catch {
|
|
959
|
+
reason = "The internal result must be a JSON object conforming to the declared contract.";
|
|
960
|
+
}
|
|
961
|
+
if (reason !== null) repairHelperResult(reason);
|
|
962
|
+
}
|
|
963
|
+
if (
|
|
964
|
+
helperSchema !== null &&
|
|
965
|
+
event.type === "turn_end" &&
|
|
966
|
+
acceptedHelperResult === null &&
|
|
967
|
+
event.toolResults.length > 0 &&
|
|
968
|
+
(helperTerminalPhase || synthesisToolLock)
|
|
969
|
+
) {
|
|
970
|
+
const error = event.toolResults.find((result) => result.isError);
|
|
971
|
+
const reason =
|
|
972
|
+
helperTurnFailure ??
|
|
973
|
+
error?.content
|
|
974
|
+
.filter((block) => block.type === "text")
|
|
975
|
+
.map((block) => block.text)
|
|
976
|
+
.join("\n") ??
|
|
977
|
+
"The terminal handoff was not accepted.";
|
|
978
|
+
repairHelperResult(reason);
|
|
979
|
+
}
|
|
980
|
+
if (
|
|
981
|
+
helperSchema === null &&
|
|
982
|
+
contract &&
|
|
983
|
+
!repromptedThisMessage &&
|
|
984
|
+
event.type === "message_end" &&
|
|
985
|
+
isTerminalAssistantMessage(event.message)
|
|
986
|
+
) {
|
|
766
987
|
const violation = terminalContractViolation(
|
|
767
988
|
contract,
|
|
768
989
|
event.message,
|
|
@@ -785,23 +1006,24 @@ export function startWorkerRun(input: WorkerRunInput, emit: WorkerEventEmit): Wo
|
|
|
785
1006
|
(workerBudget.mode === "advisory" || resultContractRevisionActive) && !synthesisToolLock;
|
|
786
1007
|
// Legacy enforced budgets need preauthorized growth to retain repair tools.
|
|
787
1008
|
if (!revisionToolsAvailable) synthesisToolLock = true;
|
|
788
|
-
//
|
|
1009
|
+
// Active revision retains the paired tool exchange. Final-only
|
|
1010
|
+
// repair starts a fresh user turn to break local tool-call fixation. Templates
|
|
789
1011
|
// that key history rendering off the last `user` message re-render
|
|
790
1012
|
// every earlier assistant turn when one is appended mid-run, which
|
|
791
1013
|
// invalidates the whole prompt cache: Nemotron reprocessed 11,352
|
|
792
1014
|
// tokens for this directive as `user` against 407 for the same
|
|
793
1015
|
// bytes as a tool result (#55). The synthetic assistant call gives
|
|
794
1016
|
// the result a real tool_call_id for strict endpoints (#62).
|
|
795
|
-
const
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
{ provider: model.provider, api: model.api, model: model.id }
|
|
804
|
-
|
|
1017
|
+
const repairInput = {
|
|
1018
|
+
contract,
|
|
1019
|
+
reason: violation,
|
|
1020
|
+
attempt: resultContractRepairsQueued,
|
|
1021
|
+
anchors: observedReadAnchors(),
|
|
1022
|
+
toolsAvailable: revisionToolsAvailable,
|
|
1023
|
+
};
|
|
1024
|
+
const repair = revisionToolsAvailable
|
|
1025
|
+
? resultContractRepairMessages(repairInput, { provider: model.provider, api: model.api, model: model.id })
|
|
1026
|
+
: [resultContractRepairUserMessage(repairInput)];
|
|
805
1027
|
for (const message of repair) agent.followUp(message as unknown as AgentMessage);
|
|
806
1028
|
} else if (workerBoundFailure === null) {
|
|
807
1029
|
workerBoundFailure = `result contract failed after ${RESULT_CONTRACT_REPAIR_LIMIT} bounded repair rounds: ${violation}`;
|
|
@@ -853,20 +1075,22 @@ export function startWorkerRun(input: WorkerRunInput, emit: WorkerEventEmit): Wo
|
|
|
853
1075
|
requestId: string;
|
|
854
1076
|
tool: string;
|
|
855
1077
|
actionClass: ActionClass;
|
|
856
|
-
/** Identity of the
|
|
1078
|
+
/** Identity of the exact call and permission conditions for the answered-escalation memory. */
|
|
857
1079
|
callKey: string;
|
|
858
1080
|
timer: ReturnType<typeof setTimeout>;
|
|
859
1081
|
}
|
|
860
1082
|
let activeEscalation: ActiveEscalation | null = null;
|
|
861
|
-
// Answered escalations, keyed by the exact call. A worker that re-issues
|
|
1083
|
+
// Answered escalations, keyed by the exact call and permission conditions. A worker that re-issues
|
|
862
1084
|
// the identical call after the operator already decided it gets the same
|
|
863
1085
|
// answer without a new card: a live coder re-asked one bash approval eight
|
|
864
1086
|
// times after its edits were done, and each approval only bought the next
|
|
865
1087
|
// identical card (#79). The memory is per run and per exact (tool, args)
|
|
866
|
-
// tuple; a different command
|
|
867
|
-
|
|
868
|
-
const
|
|
869
|
-
|
|
1088
|
+
// tuple and asking axis/classification; a different command or safety-net
|
|
1089
|
+
// requirement is a new decision. Denials have the same bounded identity.
|
|
1090
|
+
const answeredEscalations = new Map<
|
|
1091
|
+
string,
|
|
1092
|
+
{ decision: "approve" | "deny"; requestId: string; source: "operator" | "timeout" }
|
|
1093
|
+
>();
|
|
870
1094
|
const clearActiveEscalation = (): void => {
|
|
871
1095
|
if (activeEscalation) {
|
|
872
1096
|
clearTimeout(activeEscalation.timer);
|
|
@@ -887,7 +1111,7 @@ export function startWorkerRun(input: WorkerRunInput, emit: WorkerEventEmit): Wo
|
|
|
887
1111
|
const active = activeEscalation;
|
|
888
1112
|
if (!active || active.requestId !== requestId) return false;
|
|
889
1113
|
clearActiveEscalation();
|
|
890
|
-
answeredEscalations.set(active.callKey, { decision, requestId });
|
|
1114
|
+
answeredEscalations.set(active.callKey, { decision, requestId, source });
|
|
891
1115
|
if (decision === "approve") {
|
|
892
1116
|
emit({
|
|
893
1117
|
type: "clio_coder_permission_resolved",
|
|
@@ -962,13 +1186,13 @@ export function startWorkerRun(input: WorkerRunInput, emit: WorkerEventEmit): Wo
|
|
|
962
1186
|
const unsubscribePermission = registry.onPermissionRequired((call, decision, meta) => {
|
|
963
1187
|
const actionClass = decision.classification.actionClass;
|
|
964
1188
|
if (escalationConfig) {
|
|
965
|
-
const callKey =
|
|
1189
|
+
const callKey = workerPermissionCacheKey(call, decision, meta.axis);
|
|
966
1190
|
const remembered = answeredEscalations.get(callKey);
|
|
967
1191
|
if (remembered !== undefined) {
|
|
968
1192
|
const approved = remembered.decision === "approve";
|
|
969
1193
|
const reason = approved
|
|
970
|
-
? `operator approved an identical ${call.tool} call earlier in this run (request ${remembered.requestId}); the answer stands without a new prompt`
|
|
971
|
-
: `permission denied by operator: an identical ${call.tool} call was already denied earlier in this run (request ${remembered.requestId}); the answer stands, so do not repeat this call`;
|
|
1194
|
+
? `operator approved an identical ${call.tool} call under the same permission conditions earlier in this run (request ${remembered.requestId}); the answer stands without a new prompt`
|
|
1195
|
+
: `permission denied by ${remembered.source === "timeout" ? "escalation timeout fallback" : "operator"}: an identical ${call.tool} call under the same permission conditions was already denied earlier in this run (request ${remembered.requestId}); the answer stands, so do not repeat this call`;
|
|
972
1196
|
emit({
|
|
973
1197
|
type: "clio_coder_permission_resolved",
|
|
974
1198
|
payload: {
|
|
@@ -1056,6 +1280,9 @@ export function startWorkerRun(input: WorkerRunInput, emit: WorkerEventEmit): Wo
|
|
|
1056
1280
|
return { messages: agent.state.messages.slice(inheritedCount), exitCode: WORKER_EXIT_PERMISSION_REQUIRED };
|
|
1057
1281
|
}
|
|
1058
1282
|
const messages = agent.state.messages.slice(inheritedCount);
|
|
1283
|
+
if (helperSchema !== null && acceptedHelperResult === null) {
|
|
1284
|
+
return { messages, exitCode: 1 };
|
|
1285
|
+
}
|
|
1059
1286
|
const errorMessage = getTerminalAgentError(messages);
|
|
1060
1287
|
if (errorMessage !== null) {
|
|
1061
1288
|
if (errorMessage.length > 0) {
|
|
@@ -37,6 +37,9 @@ import { type AgentLedgerPort, toolSignatureOf } from "../worker/protocol.js";
|
|
|
37
37
|
|
|
38
38
|
export { WORKER_RUNTIME_MEDIATES_CLIO_DISPATCH } from "./worker-runtime-capabilities.js";
|
|
39
39
|
|
|
40
|
+
/** Host-owned terminal protocol, never an additional workspace capability. */
|
|
41
|
+
export const INTERNAL_HELPER_RESULT_TOOL = "clio_submit_result";
|
|
42
|
+
|
|
40
43
|
/**
|
|
41
44
|
* Build a worker-local SafetyContract that owns its own loop-detector state.
|
|
42
45
|
* The state is per-worker-run (one subprocess per run) so two concurrent
|
|
@@ -192,6 +195,7 @@ export function createWorkerToolRegistry(
|
|
|
192
195
|
*/
|
|
193
196
|
export interface AttestedToolIdentityInput {
|
|
194
197
|
allowedTools: ReadonlyArray<ToolName>;
|
|
198
|
+
helperResult?: true;
|
|
195
199
|
/** False when the resolved runtime mediates no tool calls at all. */
|
|
196
200
|
toolsSupported: boolean;
|
|
197
201
|
toolProfile?: ToolProfileName;
|
|
@@ -206,8 +210,8 @@ export interface AttestedToolIdentityInput {
|
|
|
206
210
|
*/
|
|
207
211
|
export function attestedToolSignature(input: AttestedToolIdentityInput): string {
|
|
208
212
|
const registry = createWorkerToolRegistry();
|
|
209
|
-
return toolSignatureOf(
|
|
210
|
-
effectiveToolNames({
|
|
213
|
+
return toolSignatureOf([
|
|
214
|
+
...effectiveToolNames({
|
|
211
215
|
registry,
|
|
212
216
|
allowedTools: input.toolsSupported ? input.allowedTools : [],
|
|
213
217
|
includeInteractiveTools: false,
|
|
@@ -215,5 +219,6 @@ export function attestedToolSignature(input: AttestedToolIdentityInput): string
|
|
|
215
219
|
...(input.agentId !== undefined ? { agentId: input.agentId } : {}),
|
|
216
220
|
...(input.task !== undefined ? { task: input.task } : {}),
|
|
217
221
|
}),
|
|
218
|
-
|
|
222
|
+
...(input.helperResult === true && input.toolsSupported ? [INTERNAL_HELPER_RESULT_TOOL] : []),
|
|
223
|
+
]);
|
|
219
224
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/** Type-only boot contract kept outside the heavyweight orchestrator graph. */
|
|
2
2
|
|
|
3
3
|
import type { ClioSettings } from "../core/config.js";
|
|
4
|
+
import type { TurnConstraints } from "../core/turn-constraints.js";
|
|
4
5
|
import type { ThinkingLevel } from "../domains/providers/index.js";
|
|
5
6
|
import type { AutonomyLevel } from "../domains/safety/index.js";
|
|
6
7
|
import type { AcpJsonRpcPeerTransport, StdioServerTransportOptions } from "../engine/acp/transport.js";
|
|
@@ -17,7 +18,24 @@ export interface HeadlessSamplingOverrides {
|
|
|
17
18
|
repeatPenalty?: number;
|
|
18
19
|
}
|
|
19
20
|
|
|
21
|
+
/**
|
|
22
|
+
* The wall-clock limit `clio-coder run --timeout` arms before boot. The CLI owns
|
|
23
|
+
* the timer; on expiry it starts the same coordinated shutdown a SIGTERM does,
|
|
24
|
+
* with exit code 124. The headless turn reads it to seal a timed-out receipt
|
|
25
|
+
* rather than a canceled one, and settles it once the turn has settled so a
|
|
26
|
+
* late expiry cannot contradict a receipt already sealed.
|
|
27
|
+
*/
|
|
28
|
+
export interface HeadlessRunDeadline {
|
|
29
|
+
readonly seconds: number;
|
|
30
|
+
/** True once the limit elapsed and the deadline started the shutdown. */
|
|
31
|
+
expired(): boolean;
|
|
32
|
+
/** Disarm the timer; a run that settled on its own is no longer bounded. */
|
|
33
|
+
settle(): void;
|
|
34
|
+
}
|
|
35
|
+
|
|
20
36
|
export interface BootOptions {
|
|
37
|
+
/** Interactive demo guidance override for this session. */
|
|
38
|
+
demo?: boolean;
|
|
21
39
|
apiKey?: string;
|
|
22
40
|
noContextFiles?: boolean;
|
|
23
41
|
noSkills?: boolean;
|
|
@@ -32,6 +50,7 @@ export interface BootOptions {
|
|
|
32
50
|
autonomy?: AutonomyLevel;
|
|
33
51
|
headless?: {
|
|
34
52
|
prompt: string;
|
|
53
|
+
constraints?: TurnConstraints;
|
|
35
54
|
images?: ReadonlyArray<ImageContent>;
|
|
36
55
|
workingContextPaths?: ReadonlyArray<string>;
|
|
37
56
|
mode?: "text" | "json";
|
|
@@ -45,6 +64,10 @@ export interface BootOptions {
|
|
|
45
64
|
skillPaths?: ReadonlyArray<string>;
|
|
46
65
|
steerChannel?: string;
|
|
47
66
|
resumeSession?: { kind: "id"; id: string } | { kind: "latest" };
|
|
67
|
+
/** `clio-coder run --fail-on-noop`: a no-op run exits 1 with outcome failed. */
|
|
68
|
+
failOnNoop?: boolean;
|
|
69
|
+
/** `clio-coder run --timeout`: the armed wall-clock limit for the whole run. */
|
|
70
|
+
deadline?: HeadlessRunDeadline;
|
|
48
71
|
};
|
|
49
72
|
acp?: {
|
|
50
73
|
transport?: AcpJsonRpcPeerTransport;
|