@iowarp/clio-coder 0.4.7 → 0.4.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (675) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +111 -0
  3. package/CONTRIBUTING.md +83 -74
  4. package/README.md +69 -47
  5. package/dist/{acp-W3Y3TRHD.js → acp-ZWZCPS2A.js} +15 -15
  6. package/dist/{agents-J4ICNLQ3.js → agents-LYSOWZUE.js} +61 -59
  7. package/dist/assets/codewiki.json +1 -1
  8. package/dist/assets/web-notices/@hono__node-server-LICENSE +21 -0
  9. package/dist/assets/web-notices/hono-LICENSE +21 -0
  10. package/dist/{auth-X2UJUMOC.js → auth-WBQGKWQ5.js} +27 -27
  11. package/dist/background-BUMOBAQN.js +37 -0
  12. package/dist/{builtins-XLXWWSRF.js → builtins-ODRJOEDI.js} +7 -7
  13. package/dist/{chunk-C3G5PNUO.js → chunk-2DRRZ57Q.js} +36 -27
  14. package/dist/chunk-2JBZYUPY.js +105 -0
  15. package/dist/chunk-2KUBKL63.js +336 -0
  16. package/dist/chunk-2VBWFXYE.js +198 -0
  17. package/dist/{chunk-XZ6UFQ52.js → chunk-2X2R3UTH.js} +25 -15
  18. package/dist/{chunk-M6Z2V6YU.js → chunk-37LW32LZ.js} +5 -5
  19. package/dist/{chunk-6LRLOJHQ.js → chunk-3AND2EFU.js} +11 -62
  20. package/dist/{chunk-FQOOGXBH.js → chunk-3RDHGNU7.js} +101 -33
  21. package/dist/{chunk-D2T66PDV.js → chunk-3SUDBGEI.js} +41 -208
  22. package/dist/{chunk-5AJPUR72.js → chunk-3TQN67I2.js} +9 -9
  23. package/dist/{chunk-LBFQMYS3.js → chunk-3U4BL2EV.js} +5 -3
  24. package/dist/{chunk-UFYNOQK4.js → chunk-3UQADNG2.js} +7 -7
  25. package/dist/{chunk-V4ZKOKRB.js → chunk-434LRQ6Z.js} +61 -53
  26. package/dist/{chunk-NO7J45X6.js → chunk-4ATBOFRP.js} +713 -218
  27. package/dist/{chunk-ECOMVOHP.js → chunk-4DNL43EZ.js} +3 -3
  28. package/dist/{chunk-WT5TRMO4.js → chunk-4HFJKRGZ.js} +255 -82
  29. package/dist/{chunk-5A6XR3RJ.js → chunk-555E2WVV.js} +16 -2
  30. package/dist/{chunk-WURGVOZJ.js → chunk-5RTEFNBP.js} +18 -14
  31. package/dist/{config-YXARKGTX.js → chunk-64XJW7NT.js} +24 -268
  32. package/dist/{chunk-24S3DN22.js → chunk-6TKOFFGE.js} +4 -4
  33. package/dist/{chunk-YKRJTYNP.js → chunk-6UJ7RDI7.js} +4 -4
  34. package/dist/{chunk-MZNWZUJM.js → chunk-7FBCRWVT.js} +288 -288
  35. package/dist/{chunk-UA6W4XFJ.js → chunk-7JSOSVLP.js} +2 -2
  36. package/dist/chunk-7N3OLLSL.js +637 -0
  37. package/dist/{chunk-KKEYGFX4.js → chunk-7QQRPB2E.js} +11 -11
  38. package/dist/{chunk-N37QC5FV.js → chunk-A6DULIMH.js} +21 -9
  39. package/dist/{fleet-decisions-S3PTZV2D.js → chunk-AB3QXXBC.js} +5 -41
  40. package/dist/chunk-ACCECAH4.js +49 -0
  41. package/dist/{chunk-CP3HIR5H.js → chunk-AM6CEP2K.js} +20 -19
  42. package/dist/chunk-AUHVBIDW.js +19 -0
  43. package/dist/{chunk-BQQ5MXUC.js → chunk-AY4XE6GN.js} +19 -13
  44. package/dist/{chunk-ISNCCX42.js → chunk-BBA2TAWV.js} +10 -9
  45. package/dist/chunk-BFPHMSK7.js +169 -0
  46. package/dist/{chunk-LVFANMOH.js → chunk-BHJMMCXS.js} +4 -4
  47. package/dist/{chunk-DO7M3LSX.js → chunk-BMNVVKEW.js} +40 -93
  48. package/dist/{chunk-VTYHHQ57.js → chunk-CTGZCEI6.js} +2 -2
  49. package/dist/{chunk-RTLNFZMD.js → chunk-DIAJYJYG.js} +3 -3
  50. package/dist/chunk-EHZRAB4U.js +63 -0
  51. package/dist/{chunk-KS7ETA3P.js → chunk-EM2DIQAJ.js} +3 -3
  52. package/dist/{chunk-MNQN3X6Y.js → chunk-ETF4ROKH.js} +5 -5
  53. package/dist/{chunk-WN552PKN.js → chunk-F2YM3JY4.js} +744 -1134
  54. package/dist/{chunk-7EEGBKV4.js → chunk-FEBQWHJT.js} +24 -19
  55. package/dist/{chunk-4QKAITQT.js → chunk-FPS4R2RN.js} +74 -10
  56. package/dist/chunk-G5R53COU.js +68 -0
  57. package/dist/chunk-GHXGMFQ5.js +40 -0
  58. package/dist/{chunk-GFQ7P2UF.js → chunk-GJDRMBDI.js} +10 -10
  59. package/dist/{chunk-LZBMXNLP.js → chunk-GM4TY6VN.js} +43 -6
  60. package/dist/{chunk-NCCQ6DVS.js → chunk-GREYLTZ5.js} +8 -8
  61. package/dist/{chunk-HOX4YZ2K.js → chunk-H2WSCZZT.js} +19 -3
  62. package/dist/{chunk-3LXJOICS.js → chunk-H6IUCY6Q.js} +2 -2
  63. package/dist/{chunk-BO4XV5VX.js → chunk-H72DCH3E.js} +95 -206
  64. package/dist/{chunk-SEDI5K5B.js → chunk-H7TXJR23.js} +20 -20
  65. package/dist/chunk-HBJQQTKM.js +40 -0
  66. package/dist/chunk-HCVKSGNZ.js +990 -0
  67. package/dist/chunk-HVCAY2FH.js +67 -0
  68. package/dist/{chunk-34XHRVKG.js → chunk-I47EJPYL.js} +3 -3
  69. package/dist/{chunk-4N2RZ4TO.js → chunk-IALGWTLO.js} +3 -3
  70. package/dist/{chunk-IQCNVLO6.js → chunk-IALZJE37.js} +10 -7
  71. package/dist/{chunk-DLIYANB7.js → chunk-IC7JXLOM.js} +16 -11
  72. package/dist/{chunk-G4LGUTOE.js → chunk-IOSVTTCD.js} +5 -5
  73. package/dist/{chunk-DBREN25X.js → chunk-IPTPMLA6.js} +8 -3
  74. package/dist/{chunk-V552WL53.js → chunk-IZZI3SKQ.js} +3 -67
  75. package/dist/{chunk-TN5FW4XY.js → chunk-JIYWMQZ5.js} +12 -9
  76. package/dist/{chunk-T7QQBNLH.js → chunk-JKU34ACI.js} +10 -8
  77. package/dist/chunk-JOBN2YQQ.js +176 -0
  78. package/dist/chunk-JOL2QRLE.js +152 -0
  79. package/dist/{chunk-GXIWHXDB.js → chunk-JTR3VSV3.js} +3 -3
  80. package/dist/{chunk-T334FW2H.js → chunk-JU6MAMRJ.js} +7 -7
  81. package/dist/chunk-JURMQWVJ.js +15 -0
  82. package/dist/{chunk-CULVKYTK.js → chunk-K3XN4LZ4.js} +5 -5
  83. package/dist/{chunk-3T4DXWP6.js → chunk-KIVFXGBM.js} +27 -7
  84. package/dist/chunk-KKRXONXG.js +43 -0
  85. package/dist/{chunk-YPRSNUTC.js → chunk-KOAHT3N2.js} +2 -2
  86. package/dist/chunk-KP5BPXR3.js +73 -0
  87. package/dist/{chunk-UA3W4FGC.js → chunk-KRJQG47M.js} +6 -6
  88. package/dist/{chunk-GI5RRMAH.js → chunk-KW6OJ7IY.js} +19 -21
  89. package/dist/{chunk-A46ILRS2.js → chunk-L3NBWLSN.js} +4 -4
  90. package/dist/{chunk-MZHXENL7.js → chunk-L4RUTLRL.js} +8 -8
  91. package/dist/{chunk-P5SC4DLJ.js → chunk-LGTVWPRN.js} +2 -2
  92. package/dist/{chunk-65BGHOUR.js → chunk-LSQW6KZO.js} +5 -5
  93. package/dist/{chunk-TZHN5ITX.js → chunk-LWJYOHT3.js} +8 -8
  94. package/dist/{chunk-U3TPUXOQ.js → chunk-M6YLF66Z.js} +74 -40
  95. package/dist/chunk-MJ4QEJVT.js +185 -0
  96. package/dist/{chunk-T4TY5GG3.js → chunk-MO65K5CH.js} +5 -5
  97. package/dist/{chunk-TZ6UVP2H.js → chunk-MTOZEQHL.js} +8 -8
  98. package/dist/chunk-MZDPF35R.js +45 -0
  99. package/dist/{chunk-P4DL2LM5.js → chunk-MZKYVIWW.js} +8 -119
  100. package/dist/{chunk-KAFMW7WM.js → chunk-NBPA5QM6.js} +2 -2
  101. package/dist/{chunk-EUEXGXXR.js → chunk-NMBEW4PP.js} +5 -5
  102. package/dist/{chunk-SELG4SUR.js → chunk-NPLLK3HO.js} +72 -89
  103. package/dist/{chunk-VCRVEDUC.js → chunk-NSYGPIVW.js} +5 -5
  104. package/dist/{context-7HJEWTTP.js → chunk-NXTV5OI5.js} +36 -90
  105. package/dist/{chunk-IMOD2YPV.js → chunk-NYDG4QP4.js} +9 -19
  106. package/dist/{chunk-6CA2BHOR.js → chunk-OA2GDACN.js} +5 -5
  107. package/dist/{chunk-A67NR5AT.js → chunk-PJI57EC6.js} +14 -11
  108. package/dist/{chunk-IJMW64DX.js → chunk-PJJBUGMR.js} +50 -50
  109. package/dist/{chunk-CPXGJI2A.js → chunk-PNJE7JPS.js} +20 -5
  110. package/dist/chunk-PP23PZEV.js +1347 -0
  111. package/dist/chunk-PPIFDSBK.js +409 -0
  112. package/dist/{chunk-T52TPHYC.js → chunk-PTFISXQO.js} +8 -7
  113. package/dist/{chunk-C6GEXX4L.js → chunk-QB33Z5S7.js} +5 -5
  114. package/dist/{chunk-VMATUZB6.js → chunk-QGNII5VC.js} +10 -10
  115. package/dist/{chunk-TLTGZTXI.js → chunk-QI72X67S.js} +104 -27
  116. package/dist/chunk-QKHZZFKH.js +98 -0
  117. package/dist/{chunk-PFLOULP3.js → chunk-RDKX2PME.js} +4 -4
  118. package/dist/{chunk-B5ZTR6KZ.js → chunk-RL7LJYN4.js} +1 -1
  119. package/dist/chunk-RPMNIFRY.js +65 -0
  120. package/dist/{chunk-L3Z5ANCV.js → chunk-RQROVOV3.js} +13 -11
  121. package/dist/{chunk-6YHPAAZR.js → chunk-S34A7BSP.js} +3 -3
  122. package/dist/{chunk-5ZSZEYJK.js → chunk-SJETVJHX.js} +2 -2
  123. package/dist/{chunk-77CZRFTE.js → chunk-SJMNU4ZS.js} +2 -2
  124. package/dist/chunk-SLLG2G44.js +85 -0
  125. package/dist/{chunk-GVZFCJHE.js → chunk-SQAZN2V3.js} +48 -22
  126. package/dist/{chunk-2O2LVQQK.js → chunk-SQBT46OF.js} +2 -2
  127. package/dist/{chunk-ZGIGW4ZG.js → chunk-TCUOGIL2.js} +5 -5
  128. package/dist/{chunk-DACXIVVF.js → chunk-TIWPKCVO.js} +5 -5
  129. package/dist/{chunk-5CMARGPF.js → chunk-UIU7MGZ3.js} +11 -2
  130. package/dist/chunk-USBBEKHW.js +177 -0
  131. package/dist/{chunk-WLHX3MM5.js → chunk-V4XJWDHR.js} +21 -11
  132. package/dist/{chunk-MBJO5VNZ.js → chunk-VPWGADBG.js} +33 -33
  133. package/dist/{chunk-UUQ5G6EZ.js → chunk-VWFCAK34.js} +6 -6
  134. package/dist/{chunk-6CB2IL4N.js → chunk-W5RM7YAH.js} +1 -1
  135. package/dist/{chunk-4MFBBY2Z.js → chunk-W72LLZAV.js} +3 -3
  136. package/dist/{chunk-4UHVS5T7.js → chunk-WGRDABW7.js} +8 -8
  137. package/dist/{chunk-XR3XJN2M.js → chunk-WWRV5RJI.js} +4 -4
  138. package/dist/{chunk-24TOGHPO.js → chunk-X6FLVUM5.js} +4 -4
  139. package/dist/{chunk-6YA46L5A.js → chunk-XFLSL7BT.js} +2 -2
  140. package/dist/{chunk-QKWL7SYE.js → chunk-XJZEDCNT.js} +50 -39
  141. package/dist/{chunk-UWD3JD5X.js → chunk-XLLEL3K7.js} +10 -10
  142. package/dist/{chunk-2GPGAE5W.js → chunk-XNIZBOFV.js} +15 -1
  143. package/dist/chunk-XNZWWDC3.js +686 -0
  144. package/dist/{chunk-WBVKKTUT.js → chunk-XRECG65F.js} +2 -2
  145. package/dist/chunk-XTQ7MEJG.js +457 -0
  146. package/dist/{chunk-GEVQNST4.js → chunk-XZWSP67B.js} +2 -2
  147. package/dist/{chunk-WB7POC6M.js → chunk-Y3M2T5RO.js} +6 -6
  148. package/dist/{chunk-RXFPB32E.js → chunk-YJCCMYYT.js} +2 -2
  149. package/dist/{chunk-EUZRMP4Y.js → chunk-YPQOPFP7.js} +20 -20
  150. package/dist/{chunk-USZA7GWL.js → chunk-YQ3GFEUY.js} +2 -2
  151. package/dist/{chunk-BAU36233.js → chunk-YQYINEJI.js} +9 -9
  152. package/dist/{chunk-CE64C5K5.js → chunk-ZF6CV4WZ.js} +1356 -235
  153. package/dist/{chunk-3XE4NRLF.js → chunk-ZKJU55MX.js} +4 -2
  154. package/dist/{chunk-IZYTT3CD.js → chunk-ZKQ63XZ5.js} +16 -39
  155. package/dist/{chunk-6TAATXXH.js → chunk-ZKVMDNAN.js} +7 -7
  156. package/dist/chunk-ZST3FRCV.js +132 -0
  157. package/dist/cli/index.js +50 -38
  158. package/dist/{clio-L2P7S2R2.js → clio-JUDCLNHC.js} +11 -11
  159. package/dist/clio-context-tools-FT672MNZ.js +136 -0
  160. package/dist/{code-nav-B5LNX4KU.js → code-nav-7OVCTP2Z.js} +39 -37
  161. package/dist/{components-63MMQKUT.js → components-OZXZMDWU.js} +11 -11
  162. package/dist/config-P3ZQVF63.js +275 -0
  163. package/dist/config-graph-GKAOBAS5.js +160 -0
  164. package/dist/{configure-LMVQJ46J.js → configure-25LRYZJG.js} +56 -55
  165. package/dist/context-72VQV7JX.js +73 -0
  166. package/dist/{context-YG2LZDYZ.js → context-COWRWXP3.js} +89 -83
  167. package/dist/{context-XSZKKFBW.js → context-WB3D474G.js} +16 -16
  168. package/dist/{context-clear-AC5NXHM2.js → context-clear-Y4LYMWC6.js} +88 -82
  169. package/dist/{context-index-KKTPRV5G.js → context-index-W6A4V7OC.js} +4 -4
  170. package/dist/{context-map-T7ROR5D5.js → context-map-DKL3QT6D.js} +3 -3
  171. package/dist/{context-working-set-F4Q4J3NS.js → context-working-set-TMZYVC7A.js} +27 -25
  172. package/dist/data-tool-KMBWKKWR.js +2987 -0
  173. package/dist/{detail-H73BEF2N.js → detail-4GLROGY5.js} +89 -83
  174. package/dist/{dispatch-runner-3RY5FSJC.js → dispatch-runner-TR3LBP5P.js} +113 -107
  175. package/dist/docs-ZK777W2G.js +101 -0
  176. package/dist/{doctor-EQYJOGUG.js → doctor-WC4OV2OB.js} +76 -73
  177. package/dist/{eval-4P7O6CCE.js → eval-FUNWJNUJ.js} +88 -73
  178. package/dist/{eval-inventory-QOYZERXJ.js → eval-inventory-CX24K2JT.js} +5 -60
  179. package/dist/evals-L73EBHSU.js +104 -0
  180. package/dist/{evidence-O76QF7TZ.js → evidence-AVJ2RTHX.js} +99 -93
  181. package/dist/{evidence-D6GUSYJW.js → evidence-P4NZOAK7.js} +88 -82
  182. package/dist/evidence-Y55WKYHH.js +246 -0
  183. package/dist/{evolve-H47BCETS.js → evolve-MAWKRYWF.js} +93 -87
  184. package/dist/{extensions-NNL3ZOCU.js → extensions-PYQH3H47.js} +14 -13
  185. package/dist/fleet-M4H2QBWT.js +268 -0
  186. package/dist/{fleet-KMNS6NOM.js → fleet-ULBXXRDR.js} +146 -138
  187. package/dist/{fleet-commands-DOWSYCBX.js → fleet-commands-7NNC4JZU.js} +18 -17
  188. package/dist/fleet-decisions-EHEY7KPU.js +52 -0
  189. package/dist/{fleet-graph-F2DE2TME.js → fleet-graph-LQ2AHZT3.js} +24 -24
  190. package/dist/{fleet-inspect-EN2Q6IVB.js → fleet-inspect-5IGBIIYZ.js} +98 -258
  191. package/dist/{fleet-preflight-FRLETDD3.js → fleet-preflight-UTTNOKMG.js} +9 -4
  192. package/dist/{fleet-validate-B2XDLS57.js → fleet-validate-YGILJKA6.js} +29 -29
  193. package/dist/{fleet-verify-4JKUWGJ7.js → fleet-verify-AUWTCDKR.js} +88 -82
  194. package/dist/{fleet-view-BHJFW26B.js → fleet-view-TGUFCY5A.js} +90 -84
  195. package/dist/{init-XAT5N5YM.js → init-GFN2Z7NF.js} +111 -104
  196. package/dist/install-6PIF6F6W.js +19 -0
  197. package/dist/{interop-FVECHFKG.js → interop-EF5JUWWK.js} +29 -29
  198. package/dist/{inventory-7KFQGLCV.js → inventory-I6VJDDYF.js} +90 -84
  199. package/dist/library-3J5IO2OJ.js +75 -0
  200. package/dist/{library-QAPAO23R.js → library-IJTOFTDS.js} +20 -19
  201. package/dist/{library-NY2XOT75.js → library-Z3KZSHPE.js} +35 -35
  202. package/dist/{library-import-5Y6MAS3R.js → library-import-IMKFLDHX.js} +29 -29
  203. package/dist/{library-inventory-JT6HWITQ.js → library-inventory-CQP5D6GU.js} +21 -21
  204. package/dist/{library-validation-EQUH25DC.js → library-validation-33UTX7AI.js} +19 -19
  205. package/dist/mcp-5FWZKUS6.js +26 -0
  206. package/dist/{memory-DYVTTCP6.js → memory-36CWN67Y.js} +93 -87
  207. package/dist/{models-MASFJ6Y2.js → models-KQ6PQJJQ.js} +57 -56
  208. package/dist/{monitor-YMP4NXJJ.js → monitor-XX6ZD6KC.js} +98 -91
  209. package/dist/{orchestrator-AFQRRTEI.js → orchestrator-SK6HDAOP.js} +1537 -832
  210. package/dist/{panes-NICTHQCV.js → panes-L27QRXUH.js} +14 -14
  211. package/dist/{panes-D3Y2KFG5.js → panes-LXZIWNOZ.js} +4 -4
  212. package/dist/{paths-PSFAUIGO.js → paths-7DJDU4P4.js} +6 -6
  213. package/dist/{preload-5Q7VXRFJ.js → preload-K2TDYI4Y.js} +88 -82
  214. package/dist/{reset-7NKZK7JN.js → reset-73VU3XNT.js} +13 -13
  215. package/dist/{resources-NILSIZAT.js → resources-3BYJYVYL.js} +24 -24
  216. package/dist/{run-BPZGEBZV.js → run-AR7PY6GW.js} +144 -136
  217. package/dist/run-script-H2KUDIII.js +41 -0
  218. package/dist/settings-3VMBMWID.js +72 -0
  219. package/dist/{share-EZ6ERBMH.js → share-HVWH4FPF.js} +30 -30
  220. package/dist/{skills-BTVVNYVM.js → skills-5TYEY75Q.js} +30 -30
  221. package/dist/{skills-eval-UY34MNK7.js → skills-eval-CK3MD63Z.js} +114 -103
  222. package/dist/{skills-inventory-JDHSIA7I.js → skills-inventory-KSFYG3I6.js} +24 -24
  223. package/dist/{slash-commands-K4FNQ2AT.js → slash-commands-DMVHML7P.js} +60 -57
  224. package/dist/{steer-2B3EQGFH.js → steer-XCD6V3EW.js} +4 -4
  225. package/dist/{support-L2SOL3IE.js → support-JAZL6VBR.js} +7 -7
  226. package/dist/system-3TDQRMZZ.js +116 -0
  227. package/dist/{targets-44VKGFLN.js → targets-EZKHAYRN.js} +74 -72
  228. package/dist/{tasks-3KODKFU7.js → tasks-SNEFHWYW.js} +18 -18
  229. package/dist/{terminal-lease-LXA7MMPO.js → terminal-lease-BNLFA4OF.js} +8 -7
  230. package/dist/{tools-3UB7TEVR.js → tools-7IM6BDCE.js} +12 -12
  231. package/dist/{trace-TAMIU4OJ.js → trace-C3MBGD4S.js} +16 -65
  232. package/dist/{tui-primitives-A6MUW32V.js → tui-primitives-36BY2774.js} +2 -2
  233. package/dist/{uninstall-QYVRPEM4.js → uninstall-WWLOSZ42.js} +35 -10
  234. package/dist/{upgrade-7PMKM2JH.js → upgrade-ETK2JNSJ.js} +42 -51
  235. package/dist/{usage-6EQV7EQK.js → usage-S2HOB7BZ.js} +112 -102
  236. package/dist/{verifiers-JLITWSHU.js → verifiers-QDTEVH7R.js} +26 -24
  237. package/dist/{verify-T7NAEVIG.js → verify-SUKUK6XM.js} +16 -15
  238. package/dist/web/client/THIRD_PARTY_LICENSES.md +1809 -0
  239. package/dist/web/client/assets/abnfDiagram-VCTEODGH-BznNOe_I.js +1 -0
  240. package/dist/web/client/assets/arc-Pry-7G1_.js +1 -0
  241. package/dist/web/client/assets/architecture-7GRP2DOG-BQO9DL_y.js +1 -0
  242. package/dist/web/client/assets/architectureDiagram-5GKGNRK7-CKPbdvyx.js +36 -0
  243. package/dist/web/client/assets/array-BifhSqXX.js +1 -0
  244. package/dist/web/client/assets/atkinson-hyperlegible-next-latin-ext-wght-normal-C6vrW8VD.woff2 +0 -0
  245. package/dist/web/client/assets/atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.woff2 +0 -0
  246. package/dist/web/client/assets/blockDiagram-I7D4REHJ-prINbpbM.js +129 -0
  247. package/dist/web/client/assets/c4Diagram-7LVT6UL2-DkVRKtyU.js +38 -0
  248. package/dist/web/client/assets/channel-c4EeUUqA.js +1 -0
  249. package/dist/web/client/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
  250. package/dist/web/client/assets/chunk-4HAMMTFA-CV0Z1ApC.js +62 -0
  251. package/dist/web/client/assets/chunk-5VM5RSS4-ZNzvKenW.js +15 -0
  252. package/dist/web/client/assets/chunk-75Z2AOVW-D34Nohxq.js +2 -0
  253. package/dist/web/client/assets/chunk-DU6HZSFF-Das_cS-O.js +125 -0
  254. package/dist/web/client/assets/chunk-F27PBJKO-CmRojxkG.js +1 -0
  255. package/dist/web/client/assets/chunk-FOHPRMQF-CoA4358r.js +161 -0
  256. package/dist/web/client/assets/chunk-GMAD6QVW-ClYZmc73.js +72 -0
  257. package/dist/web/client/assets/chunk-GVQU2GXP-B2BiHFt-.js +1 -0
  258. package/dist/web/client/assets/chunk-IMKFNOWR-BGApZ8nP.js +231 -0
  259. package/dist/web/client/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
  260. package/dist/web/client/assets/chunk-L3NEJ4N5-DIzCgpkY.js +1 -0
  261. package/dist/web/client/assets/chunk-OSK3NFVY-BPT-yePv.js +10 -0
  262. package/dist/web/client/assets/chunk-P2QGCYS3-BC1WTc2t.js +1 -0
  263. package/dist/web/client/assets/chunk-POPQ4Y6H-BSjzBmZU.js +1 -0
  264. package/dist/web/client/assets/chunk-PWAF6VOD-BIjLs86Z.js +1 -0
  265. package/dist/web/client/assets/chunk-SHT3W25Y-CduDz2cm.js +168 -0
  266. package/dist/web/client/assets/chunk-SVP7TREG-XUn4pPAP.js +88 -0
  267. package/dist/web/client/assets/chunk-TICWLB2K-DcBy2DKy.js +206 -0
  268. package/dist/web/client/assets/chunk-XXDRQBXY-DqAYeljN.js +1 -0
  269. package/dist/web/client/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +1 -0
  270. package/dist/web/client/assets/classDiagram-ZZMXUADV-C0HR7YKN.js +1 -0
  271. package/dist/web/client/assets/classDiagram-v2-VYDZK3BY-C0HR7YKN.js +1 -0
  272. package/dist/web/client/assets/commit-mono-latin-400-normal-s0S3qwFW.woff +0 -0
  273. package/dist/web/client/assets/commit-mono-latin-400-normal-wzhe4RuD.woff2 +0 -0
  274. package/dist/web/client/assets/cose-bilkent-JH36ORCC-CVh1icwb.js +1 -0
  275. package/dist/web/client/assets/cynefin-OW5HDTMX-BecPbyM6.js +1 -0
  276. package/dist/web/client/assets/cynefinDiagram-5FMLGOSQ-BzMzFwyT.js +62 -0
  277. package/dist/web/client/assets/cytoscape.esm-c2aL46s-.js +321 -0
  278. package/dist/web/client/assets/dagre-C-rnJpZF.js +1 -0
  279. package/dist/web/client/assets/dagre-GXQ25YYZ-CAWJmRMG.js +4 -0
  280. package/dist/web/client/assets/defaultLocale-BFoDCU3G.js +1 -0
  281. package/dist/web/client/assets/diagram-S7CK7UJ4--lp0ALmn.js +30 -0
  282. package/dist/web/client/assets/diagram-UQ7AKVKN-gKUnsjcj.js +41 -0
  283. package/dist/web/client/assets/diagram-VSXAHHWV-BoN5D1Gh.js +3 -0
  284. package/dist/web/client/assets/diagram-VX7I27RA-BMtuswQ6.js +24 -0
  285. package/dist/web/client/assets/diagram-Z3DM3KII-DtU8LXrA.js +24 -0
  286. package/dist/web/client/assets/dist-v5Q1xZ2K.js +1 -0
  287. package/dist/web/client/assets/ebnfDiagram-PWID7BFC-DDcnv9BH.js +1 -0
  288. package/dist/web/client/assets/erDiagram-RLTQ6QDP-DvRb4iDL.js +99 -0
  289. package/dist/web/client/assets/eventmodeling-NTZA5JFV-01h4SbTc.js +1 -0
  290. package/dist/web/client/assets/flowDiagram-HODETNUW-Bll_YZ6T.js +1 -0
  291. package/dist/web/client/assets/framework-YGoR34M4.js +9 -0
  292. package/dist/web/client/assets/ganttDiagram-EL5Y4UJY-DdFZ9hvH.js +292 -0
  293. package/dist/web/client/assets/gitGraph-4MIJSDKK-DjD_AAMj.js +1 -0
  294. package/dist/web/client/assets/gitGraphDiagram-WWUBYQGX-CDyN9n2u.js +106 -0
  295. package/dist/web/client/assets/graphlib-DS17s2tU.js +1 -0
  296. package/dist/web/client/assets/index-CVcy0FAn.js +75 -0
  297. package/dist/web/client/assets/index-Dsi52apB.css +1 -0
  298. package/dist/web/client/assets/info-A6RAGUB7-C_XK8Hq0.js +1 -0
  299. package/dist/web/client/assets/infoDiagram-27XIBGKW-DIe4tJ1i.js +2 -0
  300. package/dist/web/client/assets/init-C-OQMol4.js +1 -0
  301. package/dist/web/client/assets/ishikawaDiagram-5VMMS53U-CVl5unKI.js +70 -0
  302. package/dist/web/client/assets/journeyDiagram-3NMN7TZE-CPEB1Vt8.js +139 -0
  303. package/dist/web/client/assets/kanban-definition-UXKFOSKX-j-9WXjYQ.js +89 -0
  304. package/dist/web/client/assets/katex-ZlcWpGUi.js +257 -0
  305. package/dist/web/client/assets/line-BIDAcEtX.js +1 -0
  306. package/dist/web/client/assets/linear-SzVmGSw4.js +1 -0
  307. package/dist/web/client/assets/mermaid-parser.core-Ux4vssh0.js +7 -0
  308. package/dist/web/client/assets/mermaid.core-CDuwVKeh.js +44 -0
  309. package/dist/web/client/assets/mindmap-definition-YA3MSWOX-5MlQEeQ6.js +96 -0
  310. package/dist/web/client/assets/newsreader-latin-ext-wght-normal-C-3rgBeH.woff2 +0 -0
  311. package/dist/web/client/assets/newsreader-latin-wght-normal-CCVVNp6i.woff2 +0 -0
  312. package/dist/web/client/assets/newsreader-vietnamese-wght-normal-Czsa-EzN.woff2 +0 -0
  313. package/dist/web/client/assets/ordinal-BDEzSJ7C.js +1 -0
  314. package/dist/web/client/assets/packet-AYTQ26CC-DRO66c9Q.js +1 -0
  315. package/dist/web/client/assets/path-fybaL0A-.js +1 -0
  316. package/dist/web/client/assets/pegDiagram-XKGWAZYB-BakZnSjM.js +1 -0
  317. package/dist/web/client/assets/pie-WAS4IAKB-BEzcmhz8.js +1 -0
  318. package/dist/web/client/assets/pieDiagram-E7YTZNPT-DpmqgoPt.js +39 -0
  319. package/dist/web/client/assets/prism-bash-D6zCJ74D.js +1 -0
  320. package/dist/web/client/assets/prism-c-04YixN25.js +1 -0
  321. package/dist/web/client/assets/prism-clike-DapgWyxx.js +1 -0
  322. package/dist/web/client/assets/prism-core-BtsZdCS6.js +1 -0
  323. package/dist/web/client/assets/prism-cpp-C-lJbC-6.js +1 -0
  324. package/dist/web/client/assets/prism-css-CPgOzxXp.js +1 -0
  325. package/dist/web/client/assets/prism-diff-BF8m0_mq.js +3 -0
  326. package/dist/web/client/assets/prism-docker-DkT6yOFj.js +1 -0
  327. package/dist/web/client/assets/prism-fortran-Be5x3y1V.js +1 -0
  328. package/dist/web/client/assets/prism-go-C_8qAH5n.js +1 -0
  329. package/dist/web/client/assets/prism-ini-BESK3y0r.js +1 -0
  330. package/dist/web/client/assets/prism-javascript-BnO-swvr.js +1 -0
  331. package/dist/web/client/assets/prism-json-Dp_-W-Hv.js +1 -0
  332. package/dist/web/client/assets/prism-jsx-D-D0NWtC.js +1 -0
  333. package/dist/web/client/assets/prism-julia-DIjOgiAV.js +1 -0
  334. package/dist/web/client/assets/prism-latex-DNMbqcH_.js +1 -0
  335. package/dist/web/client/assets/prism-makefile-CRKWLQ8l.js +1 -0
  336. package/dist/web/client/assets/prism-markdown-C0FPJ1Iz.js +1 -0
  337. package/dist/web/client/assets/prism-markup-Cp04rIa1.js +1 -0
  338. package/dist/web/client/assets/prism-matlab-D-nk08al.js +1 -0
  339. package/dist/web/client/assets/prism-python-CfiSVtM6.js +1 -0
  340. package/dist/web/client/assets/prism-r-QmNGR8LX.js +1 -0
  341. package/dist/web/client/assets/prism-rust-Bu9N8X3N.js +1 -0
  342. package/dist/web/client/assets/prism-shell-session-Be4UuYoM.js +1 -0
  343. package/dist/web/client/assets/prism-sql-CYhVDMEE.js +1 -0
  344. package/dist/web/client/assets/prism-toml-DKb54GAT.js +1 -0
  345. package/dist/web/client/assets/prism-tsx-p6J2Kc_4.js +1 -0
  346. package/dist/web/client/assets/prism-typescript-BMqONzxf.js +1 -0
  347. package/dist/web/client/assets/prism-yaml-C0JHu8gr.js +1 -0
  348. package/dist/web/client/assets/purify.es-ChwZkWde.js +3 -0
  349. package/dist/web/client/assets/quadrantDiagram-AXDQQJYC-DuMPwwV2.js +7 -0
  350. package/dist/web/client/assets/radar-RG4KPBEZ-Djm3oXl5.js +1 -0
  351. package/dist/web/client/assets/railroad-74A4TZTK-Cpvkwsao.js +1 -0
  352. package/dist/web/client/assets/railroad-abnf-HS5TGJTU-CpRQ3ruG.js +1 -0
  353. package/dist/web/client/assets/railroad-ebnf-LZEXJU2U-1Rm5a5eJ.js +1 -0
  354. package/dist/web/client/assets/railroad-peg-WCYAUIDC-C8344cTh.js +1 -0
  355. package/dist/web/client/assets/railroadDiagram-O6MQD6OU-CgMS4B6R.js +1 -0
  356. package/dist/web/client/assets/requirementDiagram-BXWQKSXE-CX5eoNdN.js +84 -0
  357. package/dist/web/client/assets/rolldown-runtime-hePW80VL.js +1 -0
  358. package/dist/web/client/assets/rough.esm-Dy-Kn_BL.js +1 -0
  359. package/dist/web/client/assets/sankeyDiagram-P5KCCOFB-CODBX2N3.js +40 -0
  360. package/dist/web/client/assets/sequenceDiagram-WJ2MYXX4-eUhhF8OR.js +162 -0
  361. package/dist/web/client/assets/sizeCapture-INFHLROL-B0uUizjq.js +1 -0
  362. package/dist/web/client/assets/src-B6xuSHsQ.js +1 -0
  363. package/dist/web/client/assets/stateDiagram-D77RDMKH-vR6l0NC2.js +1 -0
  364. package/dist/web/client/assets/stateDiagram-v2-MP3YSRHH-BYUm8jLY.js +1 -0
  365. package/dist/web/client/assets/swimlanes-42K2YHIH-v9Tw_zX7.js +1 -0
  366. package/dist/web/client/assets/swimlanesDiagram-VR7AAH4N-B2jdCvhD.js +8 -0
  367. package/dist/web/client/assets/timeline-definition-24CTP7MA-DxianbhU.js +120 -0
  368. package/dist/web/client/assets/treeView-Q6P3EWNA-DLxnZb9R.js +1 -0
  369. package/dist/web/client/assets/treemap-WGGIJYW6-I7UnZ6xJ.js +1 -0
  370. package/dist/web/client/assets/vennDiagram-4TSXK5OY-Ar7M8Mrj.js +34 -0
  371. package/dist/web/client/assets/wardley-WFR3VGLG-B8ZSHeDu.js +1 -0
  372. package/dist/web/client/assets/wardleyDiagram-VM6X3IG4-Qks2FmIn.js +78 -0
  373. package/dist/web/client/assets/xychartDiagram-S5SC5T6Z-BBBjRtiE.js +7 -0
  374. package/dist/web/client/clio-coder-logo.webp +0 -0
  375. package/dist/web/client/icon-192.png +0 -0
  376. package/dist/web/client/icon-512.png +0 -0
  377. package/dist/web/client/index.html +6 -0
  378. package/dist/web/client/manifest.webmanifest +15 -0
  379. package/dist/web/client/offline.css +55 -0
  380. package/dist/web/client/offline.html +5 -0
  381. package/dist/web/client/offline.js +27 -0
  382. package/dist/web/client/sw.js +34 -0
  383. package/dist/web/ops-worker.js +37 -0
  384. package/dist/web/reads-worker.js +1726 -0
  385. package/dist/web/server.js +8499 -0
  386. package/dist/web-EMGUGGEI.js +13 -0
  387. package/dist/{web-fetch-W4TNW4Q7.js → web-fetch-6BRRVQON.js} +22 -5
  388. package/dist/{wiki-generate-T2TJQJUA.js → wiki-generate-XHSJTDOP.js} +120 -113
  389. package/dist/{with-panes-CHFC7HGI.js → with-panes-Z6BTEHMZ.js} +12 -12
  390. package/dist/worker/entry.js +113 -99
  391. package/docs/README.md +28 -27
  392. package/docs/architecture/acp.md +5 -9
  393. package/docs/architecture/alcf-provider.md +0 -3
  394. package/docs/architecture/architecture.md +0 -3
  395. package/docs/architecture/artifact-placement.md +12 -4
  396. package/docs/architecture/artifact-versions.md +0 -3
  397. package/docs/architecture/capacity-and-scheduling.md +0 -3
  398. package/docs/architecture/context-engine.md +0 -3
  399. package/docs/architecture/context-working-set.md +0 -3
  400. package/docs/architecture/dispatch-architecture-rationale.md +0 -3
  401. package/docs/architecture/dispatch-typed-intent.md +0 -3
  402. package/docs/architecture/evidence-and-memory.md +0 -3
  403. package/docs/architecture/library.md +1 -3
  404. package/docs/architecture/middleware-and-components.md +0 -3
  405. package/docs/architecture/model-catalog.md +1 -4
  406. package/docs/architecture/observability.md +0 -3
  407. package/docs/architecture/pi-boundary.md +6 -9
  408. package/docs/architecture/prompt-envelope-and-tools.md +37 -30
  409. package/docs/architecture/provider-adapter-cookbook.md +1 -4
  410. package/docs/architecture/safety-model.md +19 -9
  411. package/docs/architecture/session-lifecycle.md +10 -7
  412. package/docs/architecture/time-conventions.md +0 -3
  413. package/docs/architecture/trace-store.md +28 -20
  414. package/docs/architecture/tui-design.md +38 -18
  415. package/docs/architecture/worker-context.md +1 -3
  416. package/docs/architecture/worker-dispatch-mechanics.md +1 -4
  417. package/docs/guide/authoring-plugins.md +1 -3
  418. package/docs/guide/built-in-agents.md +0 -3
  419. package/docs/guide/commands-and-modes.md +41 -25
  420. package/docs/guide/configuration-and-targets.md +204 -9
  421. package/docs/guide/configuration-reference.md +125 -17
  422. package/docs/guide/environment-variables.md +2 -8
  423. package/docs/guide/exit-codes-and-output.md +0 -3
  424. package/docs/guide/extensions-and-sharing.md +0 -3
  425. package/docs/guide/fleet-dispatch.md +3 -5
  426. package/docs/guide/glossary.md +1 -4
  427. package/docs/guide/harness-extensions.md +0 -2
  428. package/docs/guide/installation-and-lifecycle.md +3 -6
  429. package/docs/guide/interop.md +0 -2
  430. package/docs/guide/panes-and-files.md +0 -3
  431. package/docs/guide/plugins.md +0 -3
  432. package/docs/guide/proactive-memory.md +0 -3
  433. package/docs/guide/resource-library.md +1 -3
  434. package/docs/guide/skills-marketplace.md +0 -2
  435. package/docs/guide/tool-usage.md +166 -67
  436. package/docs/guide/troubleshooting.md +1 -4
  437. package/docs/history/config-knobs-audit.md +0 -3
  438. package/docs/history/release-cut-checklist.md +0 -3
  439. package/docs/process/development-pipeline.md +0 -3
  440. package/docs/process/documentation-coverage.md +3 -3
  441. package/docs/process/documentation-guide.md +16 -22
  442. package/docs/process/eval-runner.md +0 -3
  443. package/docs/process/evals-internal.md +0 -3
  444. package/docs/process/evolution.md +0 -3
  445. package/docs/process/fleet-demo-runbook.md +6 -9
  446. package/docs/process/git-commit-provenance.md +0 -3
  447. package/docs/process/performance-methodology.md +1 -4
  448. package/docs/process/release-cut-checklist.md +114 -221
  449. package/docs/process/scientific-validation.md +23 -6
  450. package/docs/process/tool-audit-v0.4.9.md +357 -0
  451. package/library/registry.yaml +2 -2
  452. package/library/skills/meta/clio-coder-test/SKILL.md +25 -15
  453. package/library/skills/meta/clio-coder-test/evals.md +16 -2
  454. package/library/skills/meta/clio-coder-test/plugin.json +1 -1
  455. package/library/skills/meta/clio-coder-test/references/test-map.md +19 -18
  456. package/library/skills/registry.yaml +2 -2
  457. package/library/skills/skill-marketplace.json +1 -1
  458. package/package.json +13 -11
  459. package/src/cli/argv.ts +31 -0
  460. package/src/cli/clio.ts +17 -13
  461. package/src/cli/config.ts +4 -0
  462. package/src/cli/docs.ts +65 -328
  463. package/src/cli/doctor-panes.ts +1 -1
  464. package/src/cli/doctor.ts +3 -1
  465. package/src/cli/index.ts +17 -2
  466. package/src/cli/mcp.ts +106 -0
  467. package/src/cli/skills-eval.ts +8 -2
  468. package/src/cli/trace.ts +4 -65
  469. package/src/cli/uninstall.ts +26 -0
  470. package/src/cli/upgrade.ts +34 -38
  471. package/src/cli/usage.ts +3 -0
  472. package/src/cli/verifiers.ts +1 -1
  473. package/src/cli/web.ts +79 -0
  474. package/src/core/bash-exec.ts +27 -4
  475. package/src/core/bus-events.ts +3 -4
  476. package/src/core/config.ts +73 -1
  477. package/src/core/defaults.ts +10 -1
  478. package/src/core/domain-loader.ts +37 -28
  479. package/src/core/event-bus.ts +1 -1
  480. package/src/core/run-records.ts +438 -0
  481. package/src/core/safe-exec.ts +506 -56
  482. package/src/core/skill-activation.ts +5 -3
  483. package/src/core/termination.ts +16 -12
  484. package/src/core/tool-names.ts +33 -12
  485. package/src/domains/agents/contract.ts +1 -1
  486. package/src/domains/agents/extension.ts +18 -10
  487. package/src/domains/config/extension.ts +5 -4
  488. package/src/domains/context/clio-md.ts +1 -1
  489. package/src/domains/context/worker/pressure.ts +6 -2
  490. package/src/domains/context/working-set/path-index.ts +7 -2
  491. package/src/domains/dispatch/code-step.ts +7 -2
  492. package/src/domains/dispatch/contract.ts +7 -0
  493. package/src/domains/dispatch/execution-role.ts +3 -3
  494. package/src/domains/dispatch/execution-scheduler.ts +204 -79
  495. package/src/domains/dispatch/extension.ts +206 -26
  496. package/src/domains/dispatch/fleet-preflight.ts +18 -3
  497. package/src/domains/dispatch/fleet-run.ts +1 -0
  498. package/src/domains/dispatch/gate-decisions.ts +3 -3
  499. package/src/domains/dispatch/heartbeat.ts +1 -1
  500. package/src/domains/dispatch/host-verification.ts +16 -14
  501. package/src/domains/dispatch/index.ts +1 -0
  502. package/src/domains/dispatch/orphan-recovery.ts +1 -0
  503. package/src/domains/dispatch/receipt-findings.ts +3 -4
  504. package/src/domains/dispatch/receipt-integrity.ts +3 -0
  505. package/src/domains/dispatch/reservation-store.ts +7 -9
  506. package/src/domains/dispatch/route-facts.ts +1 -1
  507. package/src/domains/dispatch/state.ts +4 -5
  508. package/src/domains/dispatch/types.ts +3 -1
  509. package/src/domains/eval/metrics/tracked.ts +22 -2
  510. package/src/domains/evidence/build.ts +35 -7
  511. package/src/domains/extensions/operator-runtime.ts +3 -1
  512. package/src/domains/gateway/mcp/client.ts +923 -0
  513. package/src/domains/gateway/mcp/config.ts +456 -0
  514. package/src/domains/gateway/mcp/index.ts +88 -0
  515. package/src/domains/gateway/mcp/protocol.ts +273 -0
  516. package/src/domains/gateway/mcp/trust.ts +263 -0
  517. package/src/domains/lifecycle/doctor.ts +17 -3
  518. package/src/domains/middleware/hooks.ts +2 -2
  519. package/src/domains/mux/contract.ts +5 -9
  520. package/src/domains/mux/detect.ts +1 -1
  521. package/src/domains/mux/extension.ts +1 -1
  522. package/src/domains/mux/protocol.ts +5 -7
  523. package/src/domains/mux/socket-client.ts +3 -3
  524. package/src/domains/observability/accountability.ts +2 -2
  525. package/src/domains/observability/background-memory-usage.ts +3 -0
  526. package/src/domains/observability/compaction-usage.ts +2 -0
  527. package/src/domains/observability/contract.ts +7 -3
  528. package/src/domains/observability/cost.ts +5 -0
  529. package/src/domains/observability/evidence-index.ts +2 -2
  530. package/src/domains/observability/extension.ts +1 -0
  531. package/src/domains/observability/out-of-turn-usage.ts +2 -0
  532. package/src/domains/observability/projection.ts +10 -0
  533. package/src/domains/observability/trace-store.ts +65 -5
  534. package/src/domains/prompts/compiler.ts +41 -23
  535. package/src/domains/prompts/extension.ts +4 -17
  536. package/src/domains/prompts/fragments/identity/docs-routing.md +2 -2
  537. package/src/domains/prompts/fragments/operating/skills.md +12 -10
  538. package/src/domains/providers/cache-deployment.ts +147 -0
  539. package/src/domains/providers/catalog.ts +12 -7
  540. package/src/domains/providers/extension.ts +27 -5
  541. package/src/domains/providers/index.ts +6 -1
  542. package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +42 -10
  543. package/src/domains/providers/plugins.ts +3 -13
  544. package/src/domains/providers/probe/http.ts +44 -59
  545. package/src/domains/providers/probe/reasoning.ts +2 -0
  546. package/src/domains/providers/runtimes/common/local-synth.ts +4 -0
  547. package/src/domains/providers/runtimes/local-native/llamacpp-embed.ts +20 -31
  548. package/src/domains/providers/runtimes/local-native/llamacpp-rerank.ts +9 -4
  549. package/src/domains/providers/types/target-descriptor.ts +17 -0
  550. package/src/domains/safety/action-classifier.ts +17 -1
  551. package/src/domains/safety/call-target.ts +14 -0
  552. package/src/domains/safety/contract.ts +1 -1
  553. package/src/domains/safety/finish-contract.ts +9 -3
  554. package/src/domains/safety/loop-detector.ts +1 -1
  555. package/src/domains/safety/policy-engine.ts +7 -0
  556. package/src/domains/safety/protected-artifacts.ts +3 -4
  557. package/src/domains/safety/rejection-feedback.ts +1 -1
  558. package/src/domains/safety/scope.ts +2 -3
  559. package/src/domains/safety/validation-contract.ts +3 -2
  560. package/src/domains/scheduling/budget.ts +5 -3
  561. package/src/domains/scheduling/contract.ts +2 -1
  562. package/src/domains/scheduling/extension.ts +3 -3
  563. package/src/domains/session/compaction/branch-summary.ts +1 -1
  564. package/src/domains/session/compaction/compact.ts +29 -3
  565. package/src/domains/session/compaction/cut-point.ts +1 -1
  566. package/src/domains/session/compaction/tokens.ts +5 -10
  567. package/src/domains/session/contract.ts +1 -1
  568. package/src/domains/session/cwd-fallback.ts +2 -2
  569. package/src/domains/session/entries.ts +1 -0
  570. package/src/domains/session/handoff.ts +5 -1
  571. package/src/domains/session/history.ts +6 -0
  572. package/src/domains/session/manager.ts +14 -7
  573. package/src/domains/session/retry.ts +2 -1
  574. package/src/domains/session/session-artifacts.ts +12 -7
  575. package/src/domains/session/task-board.ts +2 -3
  576. package/src/domains/session/usage.ts +6 -7
  577. package/src/engine/acp/server.ts +11 -0
  578. package/src/engine/ai.ts +2 -0
  579. package/src/engine/apis/openai-completions.ts +17 -4
  580. package/src/engine/loop-guard.ts +7 -0
  581. package/src/engine/prewarm.ts +232 -0
  582. package/src/engine/provider-diagnostics.ts +6 -1
  583. package/src/engine/provider-error-body.ts +65 -0
  584. package/src/engine/session.ts +118 -29
  585. package/src/engine/worker-runtime.ts +3 -0
  586. package/src/entry/boot-options.ts +2 -0
  587. package/src/entry/orchestrator.ts +38 -18
  588. package/src/interactive/chat-loop-messages.ts +3 -0
  589. package/src/interactive/chat-loop-policy.ts +1 -0
  590. package/src/interactive/chat-loop.ts +10 -12
  591. package/src/interactive/chat-panel.ts +23 -9
  592. package/src/interactive/chat-renderer.ts +33 -11
  593. package/src/interactive/clio-editor.ts +13 -5
  594. package/src/interactive/dispatch-board.ts +70 -30
  595. package/src/interactive/editor-submit.ts +30 -25
  596. package/src/interactive/footer/widgets.ts +12 -9
  597. package/src/interactive/interactive-presentation.ts +2 -3
  598. package/src/interactive/mux-bridge.ts +3 -7
  599. package/src/interactive/overlay-general-openers.ts +14 -7
  600. package/src/interactive/overlays/cwd-fallback.ts +1 -1
  601. package/src/interactive/overlays/library-model.ts +114 -35
  602. package/src/interactive/overlays/library.ts +52 -5
  603. package/src/interactive/overlays/list-overlay.ts +4 -1
  604. package/src/interactive/overlays/session-selector.ts +28 -23
  605. package/src/interactive/overlays/settings.ts +20 -1
  606. package/src/interactive/overlays/tree-selector.ts +47 -10
  607. package/src/interactive/panes-runtime.ts +1 -1
  608. package/src/interactive/prewarm.ts +11 -197
  609. package/src/interactive/renderers/compaction-summary.ts +1 -1
  610. package/src/interactive/renderers/provider-error.ts +118 -0
  611. package/src/interactive/renderers/retry-status.ts +59 -23
  612. package/src/interactive/renderers/tool-execution.ts +67 -7
  613. package/src/interactive/renderers/worker-answer.ts +198 -0
  614. package/src/interactive/renderers/worker-entry.ts +57 -163
  615. package/src/interactive/session-usage-reseed.ts +2 -0
  616. package/src/interactive/side-question.ts +2 -0
  617. package/src/interactive/slash-commands.ts +26 -1
  618. package/src/interactive/slash-spec.ts +2 -2
  619. package/src/interactive/theme/labels.ts +66 -30
  620. package/src/interactive/turn-context.ts +1 -0
  621. package/src/interactive/turn-persistence.ts +9 -1
  622. package/src/interactive/turn-prewarm.ts +126 -19
  623. package/src/interactive/turn-recovery.ts +2 -1
  624. package/src/interactive/turn-runtime.ts +36 -5
  625. package/src/interactive/view/artifacts.ts +3 -2
  626. package/src/interactive/view/view-overlay.ts +96 -20
  627. package/src/tools/agent-tools.ts +21 -7
  628. package/src/tools/artifact.ts +16 -8
  629. package/src/tools/bash.ts +90 -11
  630. package/src/tools/bootstrap.ts +42 -4
  631. package/src/tools/builtin-tool-catalog.ts +80 -11
  632. package/src/tools/context/index.ts +27 -31
  633. package/src/tools/context/library.ts +3 -1
  634. package/src/tools/context/surface.ts +12 -26
  635. package/src/tools/core-bootstrap.ts +72 -1
  636. package/src/tools/data/csv.ts +1189 -0
  637. package/src/tools/data/index.ts +308 -0
  638. package/src/tools/data/json.ts +1799 -0
  639. package/src/tools/data/jsonl.ts +561 -0
  640. package/src/tools/data/shared.ts +452 -0
  641. package/src/tools/edit-diff.ts +0 -7
  642. package/src/tools/edit.ts +115 -18
  643. package/src/tools/file-mutation-queue.ts +114 -4
  644. package/src/tools/find.ts +108 -29
  645. package/src/tools/gateway/caps.ts +11 -0
  646. package/src/tools/gateway/clio-context-surface.ts +41 -0
  647. package/src/tools/gateway/clio-context-tools.ts +77 -0
  648. package/src/tools/gateway/data-surface.ts +138 -0
  649. package/src/tools/gateway/data-tool.ts +201 -0
  650. package/src/tools/gateway/index.ts +342 -0
  651. package/src/tools/gateway/mcp-capabilities.ts +469 -0
  652. package/src/tools/grep.ts +88 -33
  653. package/src/tools/harness-extensions.ts +3 -0
  654. package/src/tools/ignore-policy.ts +7 -5
  655. package/src/tools/ls.ts +111 -20
  656. package/src/tools/policy.ts +35 -13
  657. package/src/tools/presentation.ts +6 -0
  658. package/src/tools/read.ts +634 -156
  659. package/src/tools/registry.ts +106 -8
  660. package/src/tools/run-script.ts +997 -0
  661. package/src/tools/spawn-hygiene.ts +157 -5
  662. package/src/tools/surface.ts +163 -0
  663. package/src/tools/verify/authoring.ts +8 -3
  664. package/src/tools/verify/catalog.ts +14 -1
  665. package/src/tools/verify/numeric.ts +367 -59
  666. package/src/tools/verify/perf.ts +171 -9
  667. package/src/tools/verify/scripts.ts +178 -26
  668. package/src/tools/web-fetch-surface.ts +22 -0
  669. package/src/tools/web-fetch.ts +26 -1
  670. package/src/tools/write.ts +45 -19
  671. package/src/worker/spec-contract.ts +27 -0
  672. package/dist/chunk-B6UM3OZC.js +0 -15
  673. package/dist/chunk-GJ24ODAX.js +0 -196
  674. package/dist/chunk-HRAKUPIH.js +0 -57
  675. package/dist/docs-BL7ROUFN.js +0 -292
@@ -1,20 +1,20 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  settings_v2_default
4
- } from "./chunk-WBVKKTUT.js";
4
+ } from "./chunk-XRECG65F.js";
5
5
  import {
6
6
  clio_coder_naming_default
7
- } from "./chunk-DO7M3LSX.js";
8
- import {
9
- authStoragePath,
10
- openAuthStorage
11
- } from "./chunk-6TAATXXH.js";
7
+ } from "./chunk-BMNVVKEW.js";
12
8
  import {
13
9
  readSettings,
14
10
  settingsPath,
15
11
  updateSettings,
16
12
  withSettingsLock
17
- } from "./chunk-4QKAITQT.js";
13
+ } from "./chunk-FPS4R2RN.js";
14
+ import {
15
+ authStoragePath,
16
+ openAuthStorage
17
+ } from "./chunk-ZKVMDNAN.js";
18
18
  import {
19
19
  require_dist
20
20
  } from "./chunk-B5GGDIHT.js";
@@ -162,4 +162,4 @@ export {
162
162
  readMigrationManifest,
163
163
  runPending
164
164
  };
165
- //# sourceMappingURL=chunk-TZHN5ITX.js.map
165
+ //# sourceMappingURL=chunk-LWJYOHT3.js.map
@@ -15,10 +15,13 @@ import {
15
15
  stripTerminalSequences,
16
16
  truncateToWidth,
17
17
  visibleWidth
18
- } from "./chunk-V4ZKOKRB.js";
18
+ } from "./chunk-434LRQ6Z.js";
19
19
  import {
20
20
  combineBashOutput
21
- } from "./chunk-5A6XR3RJ.js";
21
+ } from "./chunk-555E2WVV.js";
22
+ import {
23
+ sanitizeCallTargetText
24
+ } from "./chunk-XNIZBOFV.js";
22
25
  import {
23
26
  init_esm_shims
24
27
  } from "./chunk-ECBHH7LU.js";
@@ -449,34 +452,60 @@ function editorTheme(theme) {
449
452
 
450
453
  // src/interactive/theme/labels.ts
451
454
  init_esm_shims();
455
+ var identitySegments = new Intl.Segmenter(void 0, { granularity: "grapheme" });
456
+ function fitIdentityLabel(value, width) {
457
+ value = sanitizeCallTargetText(value);
458
+ const room = Math.max(0, Math.floor(width));
459
+ if (visibleWidth(value) <= room) return value;
460
+ if (room <= 1) return room === 1 ? "\u2026" : "";
461
+ const tailBudget = Math.ceil((room - 1) / 2);
462
+ let tail = "";
463
+ for (const { segment } of [...identitySegments.segment(value)].reverse()) {
464
+ if (visibleWidth(segment + tail) > tailBudget) break;
465
+ tail = segment + tail;
466
+ }
467
+ const headBudget = room - 1 - visibleWidth(tail);
468
+ let head = "";
469
+ for (const { segment } of identitySegments.segment(value)) {
470
+ if (visibleWidth(head + segment) > headBudget) break;
471
+ head += segment;
472
+ }
473
+ return `${head}\u2026${tail}`;
474
+ }
452
475
  function abbreviateModelId(modelId) {
453
- const segments = (modelId ?? "").trim().split("/").filter(Boolean);
454
- const base = segments.pop() ?? "";
455
- if (base.length === 0) return "model";
456
- const prefix = segments[0];
457
- const maxLeaf = prefix ? Math.max(8, 24 - prefix.length - 1) : 18;
458
- const parts = base.split("-").filter((part) => part.length > 0);
459
- let leaf;
460
- if (parts.length <= 1) leaf = base.length > maxLeaf ? base.slice(0, maxLeaf) : base;
461
- else {
462
- const kept = [];
463
- for (const part of parts) {
464
- const next = [...kept, part].join("-");
465
- if (kept.length > 0 && next.length > maxLeaf) break;
466
- kept.push(part);
467
- }
468
- const joined = kept.join("-");
469
- leaf = joined.length > maxLeaf ? joined.slice(0, maxLeaf) : joined;
470
- }
471
- return prefix ? `${prefix}/${leaf}` : leaf;
476
+ const value = sanitizeCallTargetText(modelId ?? "");
477
+ if (value.length === 0) return "model";
478
+ if (visibleWidth(value) <= 24) return value;
479
+ const slash = value.lastIndexOf("/");
480
+ if (slash < 0) return fitIdentityLabel(value, 24);
481
+ const placement = value.slice(0, slash);
482
+ const model = value.slice(slash + 1);
483
+ const modelBudget = Math.min(18, visibleWidth(model));
484
+ return `${fitIdentityPrefix(placement, 23 - modelBudget)}/${fitIdentityLabel(model, modelBudget)}`;
485
+ }
486
+ function fitIdentityPrefix(value, width) {
487
+ return stripTerminalSequences(truncateToWidth(value, Math.max(0, width), "\u2026", false));
472
488
  }
473
489
  function formatTargetLabel(targetId, modelId, options = {}) {
474
- const target = (targetId ?? "").trim();
475
- const model = (modelId ?? "").trim();
476
- if (target.length === 0 && model.length === 0) return "not configured";
490
+ const target = sanitizeCallTargetText(targetId ?? "");
491
+ const model = sanitizeCallTargetText(modelId ?? "");
492
+ const fit = (label) => options.width === void 0 ? label : fitIdentityLabel(label, options.width);
493
+ if (target.length === 0 && model.length === 0) return fit("not configured");
494
+ if (options.width !== void 0 && target.length > 0 && model.length > 0) {
495
+ const width = Math.max(0, Math.floor(options.width));
496
+ const separator = options.separator ?? " \xB7 ";
497
+ const full = `${target}${separator}${model}`;
498
+ if (visibleWidth(full) <= width) return full;
499
+ const leaf = model.slice(model.lastIndexOf("/") + 1);
500
+ const available = width - visibleWidth(separator);
501
+ if (available < 9) return fitIdentityLabel(leaf, width);
502
+ const modelBudget = Math.min(visibleWidth(leaf), Math.max(8, Math.ceil(available * 0.7)));
503
+ const targetBudget = Math.min(visibleWidth(target), available - modelBudget);
504
+ return `${fitIdentityPrefix(target, targetBudget)}${separator}${fitIdentityLabel(leaf, available - targetBudget)}`;
505
+ }
477
506
  const shown = options.abbreviate === false ? model : abbreviateModelId(model);
478
- if (target.length === 0) return `no target \xB7 ${shown}`;
479
- if (model.length === 0) return `${target} \xB7 no model`;
507
+ if (target.length === 0) return fit(`no target \xB7 ${shown}`);
508
+ if (model.length === 0) return fit(`${target} \xB7 no model`);
480
509
  return `${target}${options.separator ?? " \xB7 "}${shown}`;
481
510
  }
482
511
  function formatCompactMs(value) {
@@ -1032,8 +1061,12 @@ function styledThinkingHint(theme, value) {
1032
1061
  return theme.fg("reason", hint);
1033
1062
  }
1034
1063
  }
1035
- function styledRailLabel(theme, chrome) {
1036
- return `${theme.fg("dim", chrome.getModelLabel())} ${theme.fg("dim", "\xB7")} ${styledThinkingHint(theme, chrome.getThinkingLabel())}`;
1064
+ function styledRailLabel(theme, chrome, width) {
1065
+ const thinking = styledThinkingHint(theme, chrome.getThinkingLabel());
1066
+ const identity2 = chrome.getModelLabel();
1067
+ const room = Math.max(1, width - visibleWidth(thinking) - 3);
1068
+ const model = typeof identity2 === "string" ? fitIdentityLabel(identity2, room) : formatTargetLabel(identity2.targetId, identity2.modelId, { width: room });
1069
+ return `${theme.fg("dim", model)} ${theme.fg("dim", "\xB7")} ${thinking}`;
1037
1070
  }
1038
1071
  function composerMode(chrome, text) {
1039
1072
  if (chrome.isAwaitingApproval?.() ?? false) return "CONFIRM";
@@ -1151,7 +1184,7 @@ var ClioEditor = class extends Editor {
1151
1184
  lines[0] = rule(theme, safeWidth, {
1152
1185
  left: mode,
1153
1186
  leftToken: modeToken(mode),
1154
- right: styledRailLabel(theme, this.chrome),
1187
+ right: styledRailLabel(theme, this.chrome, Math.max(1, safeWidth - visibleWidth(mode) - 5)),
1155
1188
  fillToken: "frameStrong",
1156
1189
  rightRaw: true,
1157
1190
  rightTail: theme.style("frameStrong", "\u2500", { bold: true })
@@ -2590,12 +2623,6 @@ function createKeybindingManager(settings, env = process.env) {
2590
2623
  export {
2591
2624
  SelectList2 as SelectList,
2592
2625
  createAgentProgress,
2593
- unguardPastedEditorOperator,
2594
- parseEditorBashCommand,
2595
- bashExecutionEntryInput,
2596
- keyboardOwner,
2597
- focusedComponent,
2598
- localKey,
2599
2626
  SGR_RESET,
2600
2627
  SGR_DIM,
2601
2628
  fgSequence,
@@ -2614,6 +2641,7 @@ export {
2614
2641
  markdownTheme,
2615
2642
  selectListTheme,
2616
2643
  editorTheme,
2644
+ fitIdentityLabel,
2617
2645
  abbreviateModelId,
2618
2646
  formatTargetLabel,
2619
2647
  formatCompactMs,
@@ -2625,6 +2653,12 @@ export {
2625
2653
  frame,
2626
2654
  innerDivider,
2627
2655
  clioTheme,
2656
+ MUTATION_PREVIEW_KEY,
2657
+ PERMISSION_TERMS_KEY,
2658
+ permissionHintEntries,
2659
+ keyboardOwner,
2660
+ focusedComponent,
2661
+ localKey,
2628
2662
  DEFAULT_SELECT_THEME,
2629
2663
  FocusBox,
2630
2664
  clioError,
@@ -2635,14 +2669,14 @@ export {
2635
2669
  formatRuntimeResolutionDiagnostic,
2636
2670
  diagnosticSeverityToken,
2637
2671
  showClioOverlayFrame,
2638
- MUTATION_PREVIEW_KEY,
2639
- PERMISSION_TERMS_KEY,
2640
- permissionHintEntries,
2672
+ unguardPastedEditorOperator,
2673
+ parseEditorBashCommand,
2674
+ bashExecutionEntryInput,
2675
+ CLIO_APP_KEYBINDING_IDS,
2641
2676
  ClioEditor,
2642
2677
  writeInputWedgeDump,
2643
2678
  getActiveRenderTrace,
2644
2679
  createProcessInteractiveShell,
2645
- CLIO_APP_KEYBINDING_IDS,
2646
2680
  validateKeybindings,
2647
2681
  formatInvalidKeybindingNotice,
2648
2682
  detectTerminalKeySupport,
@@ -2650,4 +2684,4 @@ export {
2650
2684
  formatPlatformKeybindingNotice,
2651
2685
  createKeybindingManager
2652
2686
  };
2653
- //# sourceMappingURL=chunk-U3TPUXOQ.js.map
2687
+ //# sourceMappingURL=chunk-M6YLF66Z.js.map
@@ -0,0 +1,185 @@
1
+ import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ COUNCIL_MAX_MEMBERS
4
+ } from "./chunk-4ATBOFRP.js";
5
+ import {
6
+ init_esm_shims
7
+ } from "./chunk-ECBHH7LU.js";
8
+
9
+ // src/domains/dispatch/council-topology.ts
10
+ init_esm_shims();
11
+ var COUNCIL_TOPOLOGY_MAX_COUNCILS = 4;
12
+ var COUNCIL_TOPOLOGY_MAX_MEMBERS = COUNCIL_MAX_MEMBERS;
13
+ var COUNCIL_TOPOLOGY_MAX_TURNS = 3;
14
+ var COUNCIL_TOPOLOGY_MAX_SCAN = 256;
15
+ var SYNTHESIS_LABEL = "synthesis";
16
+ var SEALED_REPORT_AGENT_ID = "council-synthesis";
17
+ var SEALED_REPORT_TASKS = [
18
+ ["Council none synthesis", "none"],
19
+ ["Council vote synthesis", "vote"],
20
+ ["Council judge synthesis", "judge"]
21
+ ];
22
+ var COUNCIL_MEMBER_LABEL = /^[a-z][a-z0-9_-]{0,31}$/u;
23
+ function isRunStatus(value) {
24
+ return value === "queued" || value === "running" || value === "completed" || value === "failed" || value === "interrupted" || value === "stale" || value === "dead";
25
+ }
26
+ function isRunOutcome(value) {
27
+ return value === "succeeded" || value === "failed" || value === "timed_out" || value === "stalled" || value === "canceled" || value === "denied_by_policy" || value === "spawn_failed";
28
+ }
29
+ function outcomeOf(row) {
30
+ return isRunOutcome(row.outcome) ? row.outcome : null;
31
+ }
32
+ function statusOf(row) {
33
+ return isRunStatus(row.status) ? row.status : "stale";
34
+ }
35
+ function synthesisKindOf(task) {
36
+ return SEALED_REPORT_TASKS.find(([text]) => text === task)?.[1] ?? null;
37
+ }
38
+ function byRound(a, b) {
39
+ return a.round - b.round || (a.runId < b.runId ? -1 : a.runId > b.runId ? 1 : 0);
40
+ }
41
+ function partition(group, rows) {
42
+ const members = [];
43
+ const judges = [];
44
+ const sealed = [];
45
+ for (const row of rows) {
46
+ if (row.council?.label !== SYNTHESIS_LABEL) {
47
+ members.push(row);
48
+ continue;
49
+ }
50
+ if (row.agentId === SEALED_REPORT_AGENT_ID) sealed.push(row);
51
+ else judges.push(row);
52
+ }
53
+ return { group, members, judges, sealed };
54
+ }
55
+ function projectMembers(rows) {
56
+ const byLabel = /* @__PURE__ */ new Map();
57
+ let rejected = 0;
58
+ for (const row of rows) {
59
+ const label = row.council?.label ?? "";
60
+ if (!COUNCIL_MEMBER_LABEL.test(label)) {
61
+ rejected += 1;
62
+ continue;
63
+ }
64
+ const bucket = byLabel.get(label);
65
+ if (bucket === void 0) byLabel.set(label, [row]);
66
+ else bucket.push(row);
67
+ }
68
+ const labels = [...byLabel.keys()].sort();
69
+ const named = labels.slice(0, COUNCIL_TOPOLOGY_MAX_MEMBERS);
70
+ const members = [];
71
+ for (const label of named) {
72
+ const bucket = byLabel.get(label) ?? [];
73
+ const head = bucket[0];
74
+ if (head === void 0) continue;
75
+ const turns = bucket.map(
76
+ (row) => ({
77
+ round: row.council?.round ?? 1,
78
+ runId: row.id,
79
+ status: statusOf(row),
80
+ outcome: outcomeOf(row),
81
+ terminal: row.endedAt !== null
82
+ })
83
+ ).sort(byRound);
84
+ const visible = turns.slice(0, COUNCIL_TOPOLOGY_MAX_TURNS);
85
+ members.push({
86
+ label,
87
+ agentId: head.agentId,
88
+ targetId: head.targetId,
89
+ wireModelId: head.wireModelId,
90
+ executionRole: head.executionRole,
91
+ turns: visible,
92
+ turnsTruncated: turns.length > visible.length
93
+ });
94
+ }
95
+ return { members, truncated: labels.length > named.length, rejected };
96
+ }
97
+ function projectSynthesis(rows) {
98
+ const sealed = rows.sealed[0] ?? null;
99
+ const judge = rows.judges[0] ?? null;
100
+ return {
101
+ kind: sealed === null ? null : synthesisKindOf(sealed.task),
102
+ sealedRunId: sealed?.id ?? null,
103
+ judge: judge === null ? null : {
104
+ runId: judge.id,
105
+ agentId: judge.agentId,
106
+ targetId: judge.targetId,
107
+ wireModelId: judge.wireModelId,
108
+ status: statusOf(judge),
109
+ outcome: outcomeOf(judge)
110
+ }
111
+ };
112
+ }
113
+ function originOf(rows) {
114
+ const value = rows.find((row) => row.requestOrigin !== void 0)?.requestOrigin;
115
+ return value === "user" || value === "agent" || value === "internal" ? value : null;
116
+ }
117
+ function approvalOf(rows) {
118
+ const value = rows.find((row) => row.plan !== void 0)?.plan?.approval;
119
+ return value === "operator" || value === "full-auto" ? value : null;
120
+ }
121
+ function firstStart(rows) {
122
+ let earliest = rows[0]?.startedAt ?? (/* @__PURE__ */ new Date(0)).toISOString();
123
+ for (const row of rows) if (row.startedAt < earliest) earliest = row.startedAt;
124
+ return earliest;
125
+ }
126
+ function lastEnd(rows) {
127
+ let latest = null;
128
+ for (const row of rows) {
129
+ if (row.endedAt === null) return null;
130
+ if (latest === null || row.endedAt > latest) latest = row.endedAt;
131
+ }
132
+ return latest;
133
+ }
134
+ function councilTopologies(rows) {
135
+ const grouped = /* @__PURE__ */ new Map();
136
+ for (const row of rows.slice(0, COUNCIL_TOPOLOGY_MAX_SCAN)) {
137
+ const group = row.council?.group;
138
+ if (typeof group !== "string" || group.length === 0) continue;
139
+ const bucket = grouped.get(group);
140
+ if (bucket === void 0) grouped.set(group, [row]);
141
+ else bucket.push(row);
142
+ }
143
+ const groups = [...grouped.entries()];
144
+ const window = groups.slice(0, COUNCIL_TOPOLOGY_MAX_COUNCILS);
145
+ const councils = [];
146
+ for (const [group, rowsInGroup] of window) {
147
+ const parts = partition(group, rowsInGroup);
148
+ const { members, truncated, rejected } = projectMembers(parts.members);
149
+ const synthesis = projectSynthesis(parts);
150
+ const roundsObserved = members.reduce(
151
+ (highest, member) => member.turns.reduce((inner, turn) => Math.max(inner, turn.round), highest),
152
+ 0
153
+ );
154
+ const sealedRound = parts.sealed[0]?.council?.round;
155
+ const roundsPlanned = typeof sealedRound === "number" && Number.isInteger(sealedRound) && sealedRound > 0 ? sealedRound : null;
156
+ councils.push({
157
+ group,
158
+ startedAt: firstStart(rowsInGroup),
159
+ endedAt: lastEnd(rowsInGroup),
160
+ running: rowsInGroup.some((row) => row.endedAt === null),
161
+ // A sealed report stamps the configured round count, so a member seen in
162
+ // a later round than the report claims means the two disagree about the
163
+ // same council. Reporting the higher of the two keeps the invariant that
164
+ // observed never exceeds planned without hiding the member row.
165
+ roundsPlanned: roundsPlanned === null ? null : Math.max(roundsPlanned, roundsObserved),
166
+ roundsObserved,
167
+ origin: originOf(rowsInGroup),
168
+ approval: approvalOf(rowsInGroup),
169
+ members,
170
+ membersTruncated: truncated,
171
+ membersRejected: rejected,
172
+ synthesis
173
+ });
174
+ }
175
+ return { councils, truncated: groups.length > window.length };
176
+ }
177
+
178
+ export {
179
+ COUNCIL_TOPOLOGY_MAX_COUNCILS,
180
+ COUNCIL_TOPOLOGY_MAX_MEMBERS,
181
+ COUNCIL_TOPOLOGY_MAX_TURNS,
182
+ COUNCIL_TOPOLOGY_MAX_SCAN,
183
+ councilTopologies
184
+ };
185
+ //# sourceMappingURL=chunk-MJ4QEJVT.js.map
@@ -2,13 +2,13 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  gateRouteCorrelation,
4
4
  isExecutionRole
5
- } from "./chunk-3LXJOICS.js";
5
+ } from "./chunk-H6IUCY6Q.js";
6
+ import {
7
+ isAgentCapabilityClass
8
+ } from "./chunk-I47EJPYL.js";
6
9
  import {
7
10
  canonicalJson
8
11
  } from "./chunk-VQD7NH7Z.js";
9
- import {
10
- isAgentCapabilityClass
11
- } from "./chunk-34XHRVKG.js";
12
12
  import {
13
13
  init_esm_shims
14
14
  } from "./chunk-ECBHH7LU.js";
@@ -1145,4 +1145,4 @@ export {
1145
1145
  routingIntentRejection,
1146
1146
  explainRouteDecision
1147
1147
  };
1148
- //# sourceMappingURL=chunk-T4TY5GG3.js.map
1148
+ //# sourceMappingURL=chunk-MO65K5CH.js.map
@@ -1,30 +1,30 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
- import {
3
- expandConfigPath
4
- } from "./chunk-VNBICSS2.js";
5
2
  import {
6
3
  expandPromptTemplateInput,
7
4
  loadPromptTemplates
8
- } from "./chunk-WB7POC6M.js";
5
+ } from "./chunk-Y3M2T5RO.js";
9
6
  import {
10
7
  expandSkillInvocationInput,
11
8
  loadSkills,
12
9
  parsePendingSkillRequests
13
- } from "./chunk-MZNWZUJM.js";
10
+ } from "./chunk-7FBCRWVT.js";
14
11
  import {
15
12
  frontmatterRegion,
16
13
  normalizedSkillHash,
17
14
  stripProvenanceLines
18
15
  } from "./chunk-DNCE23JJ.js";
19
16
  import {
20
- resolvePackageRoot
21
- } from "./chunk-E3LEPLQ2.js";
17
+ expandConfigPath
18
+ } from "./chunk-VNBICSS2.js";
22
19
  import {
23
20
  require_dist
24
21
  } from "./chunk-B5GGDIHT.js";
25
22
  import {
26
23
  fsyncDirectory
27
24
  } from "./chunk-ZZFWWYLX.js";
25
+ import {
26
+ resolvePackageRoot
27
+ } from "./chunk-E3LEPLQ2.js";
28
28
  import {
29
29
  __toESM,
30
30
  init_esm_shims
@@ -634,4 +634,4 @@ export {
634
634
  ResourcesDomainModule,
635
635
  createResourcesDomainModule
636
636
  };
637
- //# sourceMappingURL=chunk-TZ6UVP2H.js.map
637
+ //# sourceMappingURL=chunk-MTOZEQHL.js.map
@@ -0,0 +1,45 @@
1
+ import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ init_esm_shims
4
+ } from "./chunk-ECBHH7LU.js";
5
+
6
+ // apps/clio-coder-web/server/services/problem.ts
7
+ init_esm_shims();
8
+ import { randomUUID } from "node:crypto";
9
+ var statusByCode = {
10
+ validation: 422,
11
+ unauthorized: 401,
12
+ not_found: 404,
13
+ conflict: 409,
14
+ unsupported: 409,
15
+ unavailable: 503,
16
+ upstream_acp: 409,
17
+ operation_failed: 500,
18
+ internal: 500
19
+ };
20
+ var AppProblem = class extends Error {
21
+ problem;
22
+ constructor(code, detail, status = statusByCode[code], instance = randomUUID()) {
23
+ super(detail);
24
+ this.problem = {
25
+ type: `urn:clio-coder:problem:${code}`,
26
+ title: code.replaceAll("_", " "),
27
+ status,
28
+ detail,
29
+ code,
30
+ instance
31
+ };
32
+ }
33
+ };
34
+ function problemOf(error) {
35
+ if (error instanceof AppProblem) return error.problem;
36
+ const problem = new AppProblem("internal", "The request could not be completed.").problem;
37
+ console.error(`[clio-coder:web] ${problem.instance}`, error);
38
+ return problem;
39
+ }
40
+
41
+ export {
42
+ AppProblem,
43
+ problemOf
44
+ };
45
+ //# sourceMappingURL=chunk-MZDPF35R.js.map
@@ -3,14 +3,8 @@ import {
3
3
  isLoadableExtension
4
4
  } from "./chunk-OH3YYA3B.js";
5
5
  import {
6
- disableExtension,
7
- discoverExtensionPackages,
8
- enableExtension,
9
- installExtension,
10
- listInstalledExtensionRecords,
11
- listInstalledExtensions,
12
- removeExtension
13
- } from "./chunk-24S3DN22.js";
6
+ listInstalledExtensionRecords
7
+ } from "./chunk-6TKOFFGE.js";
14
8
  import {
15
9
  require_dist
16
10
  } from "./chunk-B5GGDIHT.js";
@@ -183,117 +177,12 @@ function extensionSnapshotFor(cwd = process.cwd()) {
183
177
  return buildExtensionSnapshot({ cwd, generation: 0 });
184
178
  }
185
179
 
186
- // src/domains/extensions/index.ts
187
- init_esm_shims();
188
-
189
- // src/domains/extensions/extension.ts
190
- init_esm_shims();
191
- function failureDiagnostics(error) {
192
- const message = error instanceof Error ? error.message : String(error);
193
- return {
194
- entries: [{ type: "error", message: message.slice(0, EXTENSION_SNAPSHOT_DIAGNOSTIC_MESSAGE_CAP) }],
195
- truncated: 0
196
- };
197
- }
198
- function createExtensionsBundle(_context, options = {}) {
199
- const store = createExtensionSnapshotStore();
200
- const cwd = options.cwd ?? (() => process.cwd());
201
- const build = (generation) => buildExtensionSnapshot({
202
- cwd: cwd(),
203
- generation,
204
- ...options.now !== void 0 ? { now: options.now } : {},
205
- ...options.listRecords !== void 0 ? { listRecords: options.listRecords } : {}
206
- });
207
- let inFlight = null;
208
- const rejected = (reason, diagnostics) => ({
209
- status: "rejected",
210
- reason,
211
- generation: store.current()?.generation ?? 0,
212
- diagnostics
213
- });
214
- const extension = {
215
- start() {
216
- bindExtensionSnapshotStore(store);
217
- },
218
- stop() {
219
- inFlight = null;
220
- bindExtensionSnapshotStore(null);
221
- }
222
- };
223
- const contract = {
224
- list(cwd2, options2 = {}) {
225
- return listInstalledExtensions(cwd2, options2);
226
- },
227
- discover(root) {
228
- return discoverExtensionPackages(root);
229
- },
230
- install(root, options2 = {}) {
231
- return installExtension(root, options2);
232
- },
233
- enable(id, options2 = {}) {
234
- return enableExtension(id, options2);
235
- },
236
- disable(id, options2 = {}) {
237
- return disableExtension(id, options2);
238
- },
239
- remove(id, options2 = {}) {
240
- return removeExtension(id, options2);
241
- },
242
- snapshot() {
243
- return store.current();
244
- },
245
- generation() {
246
- return store.current()?.generation ?? 0;
247
- },
248
- prepareReload() {
249
- if (inFlight !== null) return rejected("reentrant", { entries: [], truncated: 0 });
250
- const previous = store.current();
251
- const generation = store.nextGeneration();
252
- let snapshot;
253
- try {
254
- snapshot = build(generation);
255
- } catch (error) {
256
- return rejected("build-failed", failureDiagnostics(error));
257
- }
258
- const candidate = {
259
- generation,
260
- previousGeneration: previous?.generation ?? 0,
261
- snapshot,
262
- ...diffExtensionSnapshots(previous, snapshot),
263
- // Identity on the committed reference covers every intervening
264
- // publish; the in-flight check covers discard and double publish.
265
- current: () => inFlight === candidate && store.current() === previous,
266
- publish() {
267
- store.publish(snapshot);
268
- inFlight = null;
269
- },
270
- discard() {
271
- if (inFlight === candidate) inFlight = null;
272
- }
273
- };
274
- inFlight = candidate;
275
- return { status: "prepared", candidate };
276
- }
277
- };
278
- return { extension, contract };
279
- }
280
-
281
- // src/domains/extensions/manifest.ts
282
- init_esm_shims();
283
- var ExtensionsManifest = {
284
- name: "extensions",
285
- dependsOn: ["config"]
286
- };
287
-
288
- // src/domains/extensions/index.ts
289
- var ExtensionsDomainModule = {
290
- manifest: ExtensionsManifest,
291
- createExtension: createExtensionsBundle
292
- };
293
-
294
180
  export {
295
181
  EXTENSION_SNAPSHOT_DIAGNOSTIC_MESSAGE_CAP,
296
- extensionSnapshotFor,
297
- ExtensionsDomainModule
182
+ buildExtensionSnapshot,
183
+ diffExtensionSnapshots,
184
+ createExtensionSnapshotStore,
185
+ bindExtensionSnapshotStore,
186
+ extensionSnapshotFor
298
187
  };
299
- //# sourceMappingURL=chunk-P4DL2LM5.js.map
188
+ //# sourceMappingURL=chunk-MZKYVIWW.js.map
@@ -51,7 +51,7 @@ function withModelSkillActivation(policy, enabled) {
51
51
  modelActivation: true
52
52
  };
53
53
  }
54
- var SKILL_SURFACE_EXEMPT_TOOLS = /* @__PURE__ */ new Set(["context", "ask_user"]);
54
+ var SKILL_SURFACE_EXEMPT_TOOLS = /* @__PURE__ */ new Set(["context", "ask_user", "gateway"]);
55
55
  function evaluateSkillToolSurface(policy, tool) {
56
56
  if (!policy || policy.loadedSkillPolicies.size === 0) return null;
57
57
  if (SKILL_SURFACE_EXEMPT_TOOLS.has(tool)) return null;
@@ -383,4 +383,4 @@ export {
383
383
  isSessionHeader,
384
384
  isSessionEntry
385
385
  };
386
- //# sourceMappingURL=chunk-KAFMW7WM.js.map
386
+ //# sourceMappingURL=chunk-NBPA5QM6.js.map