@iowarp/clio-coder 0.5.0 → 0.5.2

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 (312) hide show
  1. package/.claude-plugin/marketplace.json +4 -4
  2. package/CHANGELOG.md +35 -0
  3. package/CONTRIBUTING.md +9 -0
  4. package/README.md +12 -9
  5. package/ROADMAP.md +30 -5
  6. package/dist/{acp-KS7ARGV6.js → acp-F6PGOFZ4.js} +2 -2
  7. package/dist/{agents-YOGJ2YEJ.js → agents-ZHP4R6EX.js} +22 -21
  8. package/dist/assets/codewiki.json +1 -1
  9. package/dist/{auth-CEDCO6O6.js → auth-N75U2H3Z.js} +4 -4
  10. package/dist/{chunk-D3KWFOUT.js → chunk-23UIXH6Z.js} +3 -3
  11. package/dist/{chunk-ZR5YA6ZF.js → chunk-36XVK5P5.js} +5 -5
  12. package/dist/{chunk-AVSR2HKI.js → chunk-3DZ4LPLS.js} +6 -6
  13. package/dist/{chunk-LYJJ6546.js → chunk-3GSPCWFX.js} +12 -12
  14. package/dist/{chunk-CRHPCPZP.js → chunk-4KC4CHKJ.js} +2 -2
  15. package/dist/{chunk-4VDHLCF5.js → chunk-4WJBWKMI.js} +2 -2
  16. package/dist/{chunk-KBUTSJSR.js → chunk-4XBYHXGK.js} +2 -2
  17. package/dist/{chunk-6W75D37F.js → chunk-53P775GE.js} +6 -3
  18. package/dist/{chunk-XZWSP67B.js → chunk-5APYAXCB.js} +2 -2
  19. package/dist/{chunk-D65E25JG.js → chunk-67HPYNTJ.js} +2 -2
  20. package/dist/{chunk-5JQR5B4D.js → chunk-6KV4KCQZ.js} +4 -4
  21. package/dist/{chunk-V4XJWDHR.js → chunk-6UKFRTXI.js} +2 -1
  22. package/dist/{chunk-NDPF2N2L.js → chunk-7DW7CJW2.js} +2 -2
  23. package/dist/{chunk-5KQEUIWM.js → chunk-7LUEQODV.js} +4 -4
  24. package/dist/{chunk-LNOXCGN2.js → chunk-7UFDIOBT.js} +3 -3
  25. package/dist/{chunk-DXSETN72.js → chunk-7WUGNN43.js} +2 -2
  26. package/dist/{chunk-V35KZDUZ.js → chunk-AA3GRZWS.js} +2 -2
  27. package/dist/{chunk-X4CEFOSG.js → chunk-ADO3OQIC.js} +4 -4
  28. package/dist/{chunk-UX2L5CUD.js → chunk-AI36V3ON.js} +3 -3
  29. package/dist/{chunk-B7GY6QER.js → chunk-B26OUMJW.js} +2 -2
  30. package/dist/{chunk-LAR7DX5E.js → chunk-B5TASTCK.js} +153 -62
  31. package/dist/{chunk-TGWZXJ7L.js → chunk-BEMQK5Q7.js} +92 -84
  32. package/dist/{chunk-RNDCROSG.js → chunk-CNXU7TR2.js} +3 -3
  33. package/dist/{chunk-3JLTRPN7.js → chunk-CVMUXT64.js} +35 -66
  34. package/dist/{chunk-733ZBT5P.js → chunk-E74MJF6G.js} +4 -4
  35. package/dist/{chunk-T2MDZES3.js → chunk-EBMTBE76.js} +3 -3
  36. package/dist/{chunk-OZ76TLGU.js → chunk-EEITU7S6.js} +2 -2
  37. package/dist/{chunk-GRHOXDKB.js → chunk-ELDJWJKM.js} +97 -14
  38. package/dist/{chunk-GCQFN7YI.js → chunk-EMYEQLWO.js} +2 -2
  39. package/dist/{chunk-LTWH2ACR.js → chunk-EQPFEDFV.js} +222 -127
  40. package/dist/{chunk-TDGYTWM6.js → chunk-F4I3H56H.js} +2 -2
  41. package/dist/chunk-F6KCJO3U.js +523 -0
  42. package/dist/{chunk-FGSQHUCK.js → chunk-F6VKWTTY.js} +5 -5
  43. package/dist/{chunk-UJD5MPP6.js → chunk-FLNXQQ5B.js} +2 -2
  44. package/dist/{chunk-EX57VVWW.js → chunk-FOSRJ2VZ.js} +4 -4
  45. package/dist/{chunk-ZARZ4POR.js → chunk-G5ZDQQE3.js} +3 -3
  46. package/dist/{chunk-HQVN7G4F.js → chunk-G62JBPXN.js} +7 -7
  47. package/dist/{chunk-ZJPORZTC.js → chunk-GIAI7A2K.js} +2 -2
  48. package/dist/chunk-GPTR6OTU.js +2551 -0
  49. package/dist/{chunk-EZD2BXGP.js → chunk-GUFQPTQK.js} +2 -2
  50. package/dist/{chunk-OPD7GL6F.js → chunk-H6FQVNZC.js} +8 -7
  51. package/dist/chunk-H7REJ7L5.js +80 -0
  52. package/dist/{chunk-EYTLV3W3.js → chunk-HTWTORF7.js} +2 -2
  53. package/dist/{chunk-DF6PI6GN.js → chunk-I6UKQPGS.js} +3 -3
  54. package/dist/{chunk-ISHUS7HC.js → chunk-JRW236JT.js} +3 -3
  55. package/dist/{chunk-DE2LU267.js → chunk-KKAJGT3B.js} +3 -2
  56. package/dist/{chunk-OV62D6KO.js → chunk-KQMYL5GR.js} +3 -3
  57. package/dist/{chunk-QDUUOZ3S.js → chunk-KWMFC7FN.js} +3 -3
  58. package/dist/{chunk-R7FGRZNF.js → chunk-LXYHCCIZ.js} +9 -9
  59. package/dist/{chunk-NFSK2VNU.js → chunk-LZMTVVN4.js} +2 -2
  60. package/dist/{chunk-62UK7AGW.js → chunk-M5PMRZSR.js} +397 -44
  61. package/dist/chunk-MMZMM6SW.js +131 -0
  62. package/dist/{chunk-FFYTC2KQ.js → chunk-MNABNEBX.js} +2 -2
  63. package/dist/{chunk-XMDBTYCH.js → chunk-N3CWOGVF.js} +3 -3
  64. package/dist/{chunk-VYRQHORQ.js → chunk-NMQSO6Z6.js} +4 -3
  65. package/dist/{chunk-R2UUNSNQ.js → chunk-O3ZAF7UY.js} +18 -5
  66. package/dist/{chunk-4SYHGVDE.js → chunk-OQNCLZI4.js} +4 -4
  67. package/dist/{chunk-EG4ARXPC.js → chunk-OX6QTA4N.js} +3 -3
  68. package/dist/{chunk-P4GNZPXO.js → chunk-OYUS3UZP.js} +2 -2
  69. package/dist/{chunk-OQ2EOAHA.js → chunk-PF36KOGI.js} +291 -112
  70. package/dist/{chunk-55RMDDFM.js → chunk-PGQG7ZMW.js} +2 -2
  71. package/dist/{chunk-CBAQPTDU.js → chunk-PIU6BXXW.js} +2 -2
  72. package/dist/{chunk-EKV4UBCM.js → chunk-PZBQUJ2F.js} +2 -2
  73. package/dist/{chunk-7RET77VB.js → chunk-Q2HKY32Y.js} +2 -2
  74. package/dist/{chunk-U6YTUVOX.js → chunk-Q4RMNWMZ.js} +4 -4
  75. package/dist/chunk-Q6FRR3AQ.js +48 -0
  76. package/dist/{chunk-6RJMYYIE.js → chunk-QJSIAJBY.js} +3 -3
  77. package/dist/{chunk-DOUISWEE.js → chunk-QOJ4ERMU.js} +5 -5
  78. package/dist/{chunk-IFPDAD7R.js → chunk-RWSRKXLT.js} +3 -3
  79. package/dist/{chunk-T33IYTZM.js → chunk-SAASVMIY.js} +3 -3
  80. package/dist/{chunk-2DTIWSAW.js → chunk-SEQDH6JC.js} +3 -3
  81. package/dist/{chunk-BRCOSE7O.js → chunk-SZUO5BSE.js} +2 -2
  82. package/dist/{chunk-HOEDA42N.js → chunk-T7HZ7KJF.js} +2 -2
  83. package/dist/{chunk-OJXOA6YU.js → chunk-TL6LNERH.js} +2 -2
  84. package/dist/{chunk-UCINIRHW.js → chunk-TPCZXWLT.js} +3 -3
  85. package/dist/{chunk-ZUKUCZYZ.js → chunk-TQ2KTH4A.js} +2 -2
  86. package/dist/{chunk-4WOOTKFD.js → chunk-U3FETNQB.js} +341 -20
  87. package/dist/{chunk-5B3RTYAK.js → chunk-UGDSB4AN.js} +2 -2
  88. package/dist/{chunk-VKHLUZNO.js → chunk-UZ7YBL43.js} +3 -3
  89. package/dist/{chunk-QNUQ7K7D.js → chunk-VKMSEO7Y.js} +4 -4
  90. package/dist/{chunk-IN7DGBVS.js → chunk-VLX5VZ35.js} +5 -5
  91. package/dist/{chunk-SJGS3GDI.js → chunk-WAGBMMNX.js} +5 -5
  92. package/dist/{chunk-BFOSV5EZ.js → chunk-WX2YCH7F.js} +2 -2
  93. package/dist/{chunk-3LT34CAM.js → chunk-XBIGUILU.js} +32 -17
  94. package/dist/{chunk-XDHUDE5K.js → chunk-XKYBFRWR.js} +5 -5
  95. package/dist/{chunk-U5QU5ZOD.js → chunk-XYPWFSU5.js} +3 -3
  96. package/dist/{chunk-YBUECLAF.js → chunk-YEJQDODA.js} +2 -2
  97. package/dist/{chunk-YQ6XEFVK.js → chunk-Z74OGONW.js} +39 -7
  98. package/dist/{chunk-I4ELN5BX.js → chunk-ZTNOEJRI.js} +2 -2
  99. package/dist/cli/index.js +26 -26
  100. package/dist/{clio-K2PBVCEM.js → clio-4IKFE25F.js} +2 -2
  101. package/dist/{clio-context-tools-GR4OHFSO.js → clio-context-tools-OHJXYX4R.js} +25 -23
  102. package/dist/{code-nav-4X3OI6DK.js → code-nav-XPM3MY5I.js} +7 -7
  103. package/dist/{config-Q5J7UBAB.js → config-343YS25T.js} +43 -41
  104. package/dist/{config-graph-P3555574.js → config-graph-WI263KDX.js} +43 -41
  105. package/dist/{configure-KIJ32ZO6.js → configure-GZDG4HER.js} +21 -21
  106. package/dist/{context-LFBQOSXT.js → context-4OFO7N7Y.js} +12 -12
  107. package/dist/{context-WBH3KSVR.js → context-JLK2RLOG.js} +42 -40
  108. package/dist/{context-NNLBES2Y.js → context-O6DIWCF6.js} +23 -21
  109. package/dist/{context-clear-YOHMQ6SQ.js → context-clear-MR7KOGQI.js} +42 -40
  110. package/dist/{context-working-set-MRAEVDNV.js → context-working-set-YZAD3KWO.js} +14 -13
  111. package/dist/{data-tool-JJPBGMQJ.js → data-tool-EKD7DFHG.js} +7 -7
  112. package/dist/{detail-RHJOTGN4.js → detail-YZPHFEVJ.js} +43 -41
  113. package/dist/{dispatch-runner-NC7PYNIO.js → dispatch-runner-VKVXVTWJ.js} +44 -42
  114. package/dist/{doctor-S5KZ2GTN.js → doctor-53AVQXAO.js} +17 -16
  115. package/dist/{doctor-deep-2EJQSHIZ.js → doctor-deep-BLRB2NCG.js} +5 -5
  116. package/dist/{eval-3D6M36N7.js → eval-P3BQSLQE.js} +21 -20
  117. package/dist/{evidence-XNVPPLVK.js → evidence-6LLI6SZH.js} +44 -42
  118. package/dist/{evidence-6IYN52ET.js → evidence-HTN3JLUO.js} +42 -40
  119. package/dist/{evidence-JVECPI3F.js → evidence-NJRE3R5H.js} +42 -40
  120. package/dist/{evolve-TLPUDJDM.js → evolve-WWZHJVJP.js} +42 -40
  121. package/dist/{fleet-WKVBF5SZ.js → fleet-GGZ4BVJE.js} +64 -62
  122. package/dist/{fleet-6RJWIOEO.js → fleet-QG3IIWWM.js} +44 -42
  123. package/dist/{fleet-commands-L6WFT7KZ.js → fleet-commands-J2ZIKISQ.js} +7 -7
  124. package/dist/{fleet-decisions-BTQMWU5A.js → fleet-decisions-Y2Q7375Q.js} +8 -8
  125. package/dist/{fleet-graph-553DZ67Q.js → fleet-graph-TCBCCCBP.js} +11 -11
  126. package/dist/{fleet-inspect-236FZPRB.js → fleet-inspect-KOLKBC56.js} +44 -42
  127. package/dist/{fleet-preflight-NZQHABWO.js → fleet-preflight-44UNCC4Y.js} +27 -25
  128. package/dist/{fleet-validate-7NLAE26R.js → fleet-validate-K2FXRZVA.js} +13 -13
  129. package/dist/{fleet-verify-E3RO6A5W.js → fleet-verify-AS444WDW.js} +42 -40
  130. package/dist/{fleet-view-KMZQY7YJ.js → fleet-view-X4JU4J6O.js} +43 -41
  131. package/dist/gui/ops-worker.js +9 -9
  132. package/dist/gui/reads-worker.js +9 -8
  133. package/dist/{init-DV5B6HQG.js → init-VSOWFHVL.js} +54 -52
  134. package/dist/{interactive-OXGYZYAS.js → interactive-JRCBENLZ.js} +1733 -577
  135. package/dist/{interop-J7UOBOSF.js → interop-JR6BCY7R.js} +10 -10
  136. package/dist/{inventory-OEGIL6PY.js → inventory-3JUGLVJI.js} +43 -41
  137. package/dist/{library-ROZAMUIL.js → library-7BOH3Y7N.js} +15 -15
  138. package/dist/{library-B3UPGY4V.js → library-7PFONXUI.js} +9 -9
  139. package/dist/{library-MXQA5DLT.js → library-TUYZMFIA.js} +7 -7
  140. package/dist/{library-import-2LTWOVBD.js → library-import-TJVXKLDK.js} +10 -10
  141. package/dist/{library-inventory-LJ3XHLWO.js → library-inventory-MD3AYTP4.js} +9 -9
  142. package/dist/{library-validation-DARHHUNW.js → library-validation-ZDLITEA3.js} +7 -7
  143. package/dist/{mcp-2GSPYQ54.js → mcp-EFCWUPUR.js} +3 -3
  144. package/dist/{memory-J3STUUIK.js → memory-Q2YVOKK5.js} +42 -40
  145. package/dist/{models-Y3GMFJ2V.js → models-M7BOCW7F.js} +17 -16
  146. package/dist/{monitor-LHNH577J.js → monitor-2HD3MC67.js} +47 -45
  147. package/dist/{orchestrator-DTAPXULA.js → orchestrator-OUW3ZN6Y.js} +1894 -226
  148. package/dist/{panes-A743ONZ5.js → panes-TTPPSYCL.js} +3 -3
  149. package/dist/{preload-OJBMAIXF.js → preload-A47C2NUF.js} +42 -40
  150. package/dist/{providers-CMETPZNS.js → providers-T43W7EL4.js} +4 -4
  151. package/dist/{resources-FY6XYFN2.js → resources-TP6X2V6W.js} +20 -11
  152. package/dist/{run-H64MEVTA.js → run-LDSBPMCS.js} +61 -59
  153. package/dist/{share-CAFMMQLM.js → share-URHKKMHR.js} +9 -9
  154. package/dist/{skills-ERKQUC7L.js → skills-E477MOOO.js} +13 -11
  155. package/dist/{skills-eval-CQ23MYQK.js → skills-eval-AIBR2L7H.js} +583 -93
  156. package/dist/{skills-inventory-TVUYJDVN.js → skills-inventory-HLMKY3R5.js} +13 -11
  157. package/dist/{slash-commands-ROG3KIFJ.js → slash-commands-LIIZKA5Y.js} +28 -26
  158. package/dist/{startup-background-KDWCQMWT.js → startup-background-JR2KDK6R.js} +43 -41
  159. package/dist/{steer-KKYXJSH4.js → steer-D7RTAPCM.js} +3 -3
  160. package/dist/{system-ZDW44ZGX.js → system-X2P5N4IY.js} +14 -13
  161. package/dist/{targets-AJWA6E7Z.js → targets-VFFAKUFM.js} +25 -24
  162. package/dist/{tasks-6L2JJRC5.js → tasks-ERAWZA22.js} +6 -6
  163. package/dist/{terminal-lease-YFUSDPAD.js → terminal-lease-V2N2BIKQ.js} +2 -2
  164. package/dist/{trace-LA5MVR4Y.js → trace-MA5BT7XY.js} +3 -3
  165. package/dist/{usage-XSILDHKF.js → usage-WYFY2L6M.js} +50 -48
  166. package/dist/{verifiers-ECA5GIHL.js → verifiers-TYIW2XKF.js} +7 -7
  167. package/dist/{verify-R6QQCCEB.js → verify-242UFYTP.js} +6 -6
  168. package/dist/{web-fetch-PVZNMBOB.js → web-fetch-LRAGYU6Y.js} +3 -3
  169. package/dist/{wiki-generate-RP22WP5K.js → wiki-generate-OFKOX2T6.js} +53 -51
  170. package/dist/worker/entry.js +31 -29
  171. package/docs/architecture/architecture.md +1 -0
  172. package/docs/architecture/context-engine.md +4 -2
  173. package/docs/architecture/observability.md +6 -4
  174. package/docs/architecture/prompt-envelope-and-tools.md +1 -1
  175. package/docs/architecture/session-lifecycle.md +1 -1
  176. package/docs/architecture/tui-design.md +12 -9
  177. package/docs/gui/parity/02-slash-and-surfaces.md +1 -1
  178. package/docs/guide/commands-and-modes.md +91 -5
  179. package/docs/guide/configuration-and-targets.md +2 -2
  180. package/docs/guide/context-continuity.md +49 -0
  181. package/docs/guide/proactive-memory.md +6 -3
  182. package/library/registry.yaml +292 -32
  183. package/library/skills/README.md +27 -2
  184. package/library/skills/context/context-handoff/SKILL.md +10 -4
  185. package/library/skills/meta/clio-coder-dev/SKILL.md +92 -88
  186. package/library/skills/meta/clio-coder-dev/evals.md +51 -46
  187. package/library/skills/meta/clio-coder-dev/plugin.json +2 -2
  188. package/library/skills/meta/clio-coder-dev/references/change-map.md +49 -0
  189. package/library/skills/meta/clio-coder-test/SKILL.md +89 -142
  190. package/library/skills/meta/clio-coder-test/evals.md +58 -62
  191. package/library/skills/meta/clio-coder-test/plugin.json +2 -2
  192. package/library/skills/meta/clio-coder-test/references/harness.md +3 -3
  193. package/library/skills/meta/clio-coder-test/references/lifecycle-validation.md +30 -0
  194. package/library/skills/meta/clio-coder-test/references/test-map.md +60 -89
  195. package/library/skills/registry.yaml +5 -5
  196. package/library/skills/skill-marketplace.json +12 -14
  197. package/package.json +1 -1
  198. package/src/cli/skills-eval.ts +1064 -54
  199. package/src/cli/usage.ts +2 -2
  200. package/src/core/clio-repo.ts +3 -0
  201. package/src/core/tool-names.ts +1 -0
  202. package/src/domains/context/budget/inspection.ts +9 -0
  203. package/src/domains/context/budget/live-view.ts +418 -0
  204. package/src/domains/context/budget/pressure.ts +393 -0
  205. package/src/domains/context/budget/request-fit.ts +15 -0
  206. package/src/domains/evidence/build.ts +24 -0
  207. package/src/domains/gateway/mcp/client.ts +1 -1
  208. package/src/domains/memory/commit-state.ts +160 -0
  209. package/src/domains/memory/operations.ts +18 -10
  210. package/src/domains/memory/prompt-cache.ts +95 -0
  211. package/src/domains/memory/prompt-section.ts +50 -7
  212. package/src/domains/memory/relevance.ts +93 -0
  213. package/src/domains/memory/restoration.ts +78 -0
  214. package/src/domains/memory/store.ts +39 -1
  215. package/src/domains/middleware/memory-intervention.ts +116 -24
  216. package/src/domains/observability/background-memory-usage.ts +1 -1
  217. package/src/domains/observability/cost.ts +3 -3
  218. package/src/domains/observability/extension.ts +1 -1
  219. package/src/domains/observability/metrics.ts +1 -1
  220. package/src/domains/prompts/compiler.ts +1 -1
  221. package/src/domains/prompts/extension.ts +38 -1
  222. package/src/domains/quota/anthropic-max-provider.ts +134 -0
  223. package/src/domains/quota/anthropic-usage.ts +220 -0
  224. package/src/domains/quota/antigravity-provider.ts +339 -0
  225. package/src/domains/quota/cache.ts +87 -0
  226. package/src/domains/quota/claude-code-provider.ts +169 -0
  227. package/src/domains/quota/codex-provider.ts +237 -0
  228. package/src/domains/quota/presentation.ts +240 -0
  229. package/src/domains/quota/registry.ts +23 -0
  230. package/src/domains/quota/service.ts +93 -0
  231. package/src/domains/quota/summary-feed.ts +86 -0
  232. package/src/domains/quota/types.ts +84 -0
  233. package/src/domains/resources/index.ts +11 -0
  234. package/src/domains/resources/skills/catalog-view.ts +571 -0
  235. package/src/domains/resources/skills/lexical-match.ts +136 -0
  236. package/src/domains/resources/skills/loader.ts +38 -0
  237. package/src/domains/resources/skills/promotion.ts +1 -55
  238. package/src/domains/resources/skills/provenance-pin.ts +50 -20
  239. package/src/domains/safety/action-classifier.ts +1 -0
  240. package/src/domains/session/compaction/branch-summary.ts +4 -1
  241. package/src/domains/session/compaction/compact.ts +18 -2
  242. package/src/domains/session/compaction/cut-point.ts +20 -1
  243. package/src/domains/session/compaction/tokens.ts +48 -3
  244. package/src/domains/session/context-accounting.ts +8 -1
  245. package/src/domains/session/continuity/carry.ts +59 -0
  246. package/src/domains/session/continuity/contract.ts +592 -0
  247. package/src/domains/session/continuity/evidence.ts +290 -0
  248. package/src/domains/session/continuity/fold.ts +1075 -0
  249. package/src/domains/session/continuity/note.ts +79 -0
  250. package/src/domains/session/continuity/operator-request.ts +104 -0
  251. package/src/domains/session/continuity/persistence.ts +408 -0
  252. package/src/domains/session/continuity/ports.ts +231 -0
  253. package/src/domains/session/continuity/projection.ts +538 -0
  254. package/src/domains/session/continuity/validate.ts +352 -0
  255. package/src/domains/session/entries.ts +50 -3
  256. package/src/domains/session/index.ts +48 -0
  257. package/src/domains/session/migrations/index.ts +7 -3
  258. package/src/domains/session/tree/fork.ts +15 -1
  259. package/src/domains/session/usage.ts +2 -2
  260. package/src/engine/acp/commands.ts +1 -1
  261. package/src/engine/agent.ts +133 -9
  262. package/src/engine/session.ts +13 -6
  263. package/src/entry/orchestrator.ts +116 -33
  264. package/src/interactive/chat-loop-messages.ts +2 -2
  265. package/src/interactive/chat-loop.ts +219 -63
  266. package/src/interactive/chat-renderer.ts +99 -8
  267. package/src/interactive/context-overlay.ts +24 -3
  268. package/src/interactive/continuity-controller.ts +526 -0
  269. package/src/interactive/dispatch-board.ts +21 -3
  270. package/src/interactive/footer/dashboard.ts +25 -1
  271. package/src/interactive/footer/key-hints.ts +2 -2
  272. package/src/interactive/footer/pages.ts +70 -27
  273. package/src/interactive/footer/widgets.ts +32 -7
  274. package/src/interactive/footer-panel.ts +1 -1
  275. package/src/interactive/interactive-application.ts +7 -2
  276. package/src/interactive/interactive-input-runtime.ts +2 -2
  277. package/src/interactive/interactive-presentation.ts +15 -0
  278. package/src/interactive/interactive-slash-runtime.ts +45 -8
  279. package/src/interactive/interactive-tickers.ts +7 -1
  280. package/src/interactive/model-session-replay.ts +130 -3
  281. package/src/interactive/output-reserve.ts +35 -0
  282. package/src/interactive/overlay-general-openers.ts +12 -8
  283. package/src/interactive/overlay-key-routing.ts +6 -9
  284. package/src/interactive/overlay-lifecycle.ts +10 -6
  285. package/src/interactive/overlay-session-lifecycle.ts +21 -14
  286. package/src/interactive/quota-view.ts +229 -0
  287. package/src/interactive/session-last-turn.ts +1 -1
  288. package/src/interactive/session-transcript.ts +2 -1
  289. package/src/interactive/session-usage-reseed.ts +2 -2
  290. package/src/interactive/side-question.ts +2 -2
  291. package/src/interactive/slash-commands.ts +28 -9
  292. package/src/interactive/turn-context.ts +686 -63
  293. package/src/interactive/turn-middleware.ts +39 -6
  294. package/src/interactive/turn-persistence.ts +15 -2
  295. package/src/interactive/turn-prewarm.ts +1 -1
  296. package/src/interactive/turn-runtime.ts +48 -5
  297. package/src/interactive/{cost-overlay.ts → usage-overlay.ts} +121 -33
  298. package/src/interactive/welcome-dashboard.ts +26 -3
  299. package/src/tools/agent-tools.ts +3 -1
  300. package/src/tools/bootstrap.ts +6 -0
  301. package/src/tools/builtin-tool-catalog.ts +9 -0
  302. package/src/tools/context/index.ts +148 -113
  303. package/src/tools/context/surface.ts +11 -7
  304. package/src/tools/core-bootstrap.ts +4 -0
  305. package/src/tools/observation.ts +8 -2
  306. package/src/tools/policy.ts +3 -0
  307. package/src/tools/self-compact.ts +31 -0
  308. package/src/tools/surface.ts +1 -0
  309. package/src/tools/tasks.ts +1 -1
  310. package/dist/chunk-CTFPFW3H.js +0 -44
  311. package/dist/chunk-EOJPDNUP.js +0 -1325
  312. package/dist/chunk-I4Y4WKZR.js +0 -386
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-O5F25NIE.js";
5
5
  import {
6
6
  effectiveToolCall
7
- } from "./chunk-DE2LU267.js";
7
+ } from "./chunk-KKAJGT3B.js";
8
8
  import {
9
9
  init_esm_shims
10
10
  } from "./chunk-ECBHH7LU.js";
@@ -472,4 +472,4 @@ export {
472
472
  compactionCut,
473
473
  selectVisibleEntries
474
474
  };
475
- //# sourceMappingURL=chunk-EZD2BXGP.js.map
475
+ //# sourceMappingURL=chunk-GUFQPTQK.js.map
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  createSafetyPolicyEngine
4
- } from "./chunk-733ZBT5P.js";
4
+ } from "./chunk-E74MJF6G.js";
5
5
  import {
6
6
  DEFAULT_MAX_BYTES,
7
7
  DEFAULT_MAX_LINES,
@@ -1049,11 +1049,12 @@ function observationBudgetExhausted(input) {
1049
1049
  const streak = bumpExhaustedStreak(reservation.key);
1050
1050
  const spent = `${formatSize(reservation.usedBeforeBytes)} already returned of ${formatSize(reservation.limitBytes)}`;
1051
1051
  if (streak > MAX_EXHAUSTED_NOTICES_PER_TURN) {
1052
- const message = `observation budget exhausted for this turn before ${tool} ${subject}: ${spent}. This is the ${streak}th call to hit it, so no observation tool can return content until the next turn. Do not retry this call and do not substitute another one. Re-plan with what you already have: say what you found, name what is still unread, and propose the next step.`;
1053
- recordSpentBytes(reservation, byteLength(message));
1054
- return { kind: "error", message };
1052
+ const message2 = `observation budget exhausted for this turn before ${tool} ${subject}: ${spent}. This is the ${streak}th call to hit it, so no observation tool can return content until the next turn. Do not retry this call and do not substitute another one. Re-plan with what you already have: say what you found, name what is still unread, and propose the next step.`;
1053
+ recordSpentBytes(reservation, byteLength(message2));
1054
+ return { kind: "error", message: message2 };
1055
1055
  }
1056
- const output = `[observation budget exhausted for this turn before ${tool} ${subject}: ${spent}. ${hint}]`;
1056
+ const message = `observation budget exhausted for this turn before ${tool} ${subject}: ${spent}. ${hint}`;
1057
+ const output = input.format === "json" ? JSON.stringify({ status: "unavailable", reason: "observation-budget-exhausted", message }) : `[${message}]`;
1057
1058
  const shownBytes = byteLength(output);
1058
1059
  recordSpentBytes(reservation, shownBytes);
1059
1060
  const budget = budgetDetails(reservation);
@@ -1067,7 +1068,7 @@ function observationBudgetExhausted(input) {
1067
1068
  // the full size is the message itself; keep totalBytes >= shownBytes.
1068
1069
  totalBytes: shownBytes,
1069
1070
  truncated: true,
1070
- format: "text",
1071
+ format: input.format ?? "text",
1071
1072
  ...budget !== null ? { budget } : {}
1072
1073
  };
1073
1074
  return { kind: "ok", output, details: { observation } };
@@ -1193,4 +1194,4 @@ export {
1193
1194
  finalizeObservation,
1194
1195
  createObservationPathFilter
1195
1196
  };
1196
- //# sourceMappingURL=chunk-OPD7GL6F.js.map
1197
+ //# sourceMappingURL=chunk-H6FQVNZC.js.map
@@ -0,0 +1,80 @@
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
+ // src/domains/resources/skills/lexical-match.ts
7
+ init_esm_shims();
8
+ var TOKEN_STOPWORDS = /* @__PURE__ */ new Set([
9
+ "the",
10
+ "a",
11
+ "an",
12
+ "and",
13
+ "or",
14
+ "for",
15
+ "with",
16
+ "this",
17
+ "that",
18
+ "when",
19
+ "what",
20
+ "how",
21
+ "into",
22
+ "from",
23
+ "use",
24
+ "used",
25
+ "using",
26
+ "one",
27
+ "not",
28
+ "skill",
29
+ "skills",
30
+ "clio",
31
+ "please",
32
+ "can",
33
+ "you",
34
+ "should",
35
+ "would",
36
+ "about",
37
+ "need",
38
+ "want",
39
+ "help",
40
+ "make",
41
+ "file",
42
+ "files",
43
+ "code"
44
+ ]);
45
+ function normalize(text) {
46
+ return text.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu, " ").replace(/\s+/g, " ").trim();
47
+ }
48
+ function distinctiveTokens(text) {
49
+ return new Set(
50
+ normalize(text).split(" ").filter((token) => token.length >= 4 && !TOKEN_STOPWORDS.has(token))
51
+ );
52
+ }
53
+ function queryTokens(normalizedQuery) {
54
+ return normalizedQuery.split(" ").filter((token) => token.length >= 2 && !TOKEN_STOPWORDS.has(token));
55
+ }
56
+ function wordMatches(words, token) {
57
+ if (words.has(token)) return true;
58
+ if (token.length < 3) return false;
59
+ for (const word of words) {
60
+ if (word.startsWith(token)) return true;
61
+ }
62
+ return false;
63
+ }
64
+ function lexicalMatches(query, haystack, mode = "all") {
65
+ const normalizedQuery = normalize(query.normalize("NFC"));
66
+ if (normalizedQuery.length === 0) return true;
67
+ const normalizedHaystack = normalize(haystack.normalize("NFC"));
68
+ if (` ${normalizedHaystack} `.includes(` ${normalizedQuery} `)) return true;
69
+ const tokens = queryTokens(normalizedQuery);
70
+ if (tokens.length === 0) return false;
71
+ const words = new Set(normalizedHaystack.split(" ").filter((word) => word.length > 0));
72
+ return mode === "all" ? tokens.every((token) => wordMatches(words, token)) : tokens.some((token) => wordMatches(words, token));
73
+ }
74
+
75
+ export {
76
+ normalize,
77
+ distinctiveTokens,
78
+ lexicalMatches
79
+ };
80
+ //# sourceMappingURL=chunk-H7REJ7L5.js.map
@@ -20,7 +20,7 @@ import {
20
20
  ceilChars,
21
21
  estimateAgentMessageTokens,
22
22
  toolSchemaChars
23
- } from "./chunk-6W75D37F.js";
23
+ } from "./chunk-53P775GE.js";
24
24
  import {
25
25
  CLIO_CONTEXT_WINDOW_WARN_BELOW,
26
26
  CLIO_MIN_CONTEXT_WINDOW,
@@ -5934,4 +5934,4 @@ export {
5934
5934
  runtimeResolutionWarningsBesideThinkingNotice,
5935
5935
  ProvidersDomainModule
5936
5936
  };
5937
- //# sourceMappingURL=chunk-EYTLV3W3.js.map
5937
+ //# sourceMappingURL=chunk-HTWTORF7.js.map
@@ -1,10 +1,10 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  compileExecutionPlan
4
- } from "./chunk-NFSK2VNU.js";
4
+ } from "./chunk-LZMTVVN4.js";
5
5
  import {
6
6
  deriveExecutionRole
7
- } from "./chunk-BRCOSE7O.js";
7
+ } from "./chunk-SZUO5BSE.js";
8
8
  import {
9
9
  init_esm_shims
10
10
  } from "./chunk-ECBHH7LU.js";
@@ -94,4 +94,4 @@ function compileScoutTransition(input) {
94
94
  export {
95
95
  compileScoutTransition
96
96
  };
97
- //# sourceMappingURL=chunk-DF6PI6GN.js.map
97
+ //# sourceMappingURL=chunk-I6UKQPGS.js.map
@@ -2,7 +2,7 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  discoverDeclaredChecksAtRoot,
4
4
  discoverDeclaredProjectEntriesAtRoot
5
- } from "./chunk-7RET77VB.js";
5
+ } from "./chunk-Q2HKY32Y.js";
6
6
  import {
7
7
  printError
8
8
  } from "./chunk-NBXFPI7U.js";
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-6CTHLZFB.js";
17
17
  import {
18
18
  atomicWrite
19
- } from "./chunk-EKV4UBCM.js";
19
+ } from "./chunk-PZBQUJ2F.js";
20
20
  import {
21
21
  CLIO_PROJECT_DIR
22
22
  } from "./chunk-NTTS3O53.js";
@@ -393,4 +393,4 @@ export {
393
393
  acceptanceFromTaskFlags,
394
394
  runTasksCommand
395
395
  };
396
- //# sourceMappingURL=chunk-ISHUS7HC.js.map
396
+ //# sourceMappingURL=chunk-JRW236JT.js.map
@@ -4,7 +4,7 @@ import {
4
4
  isBuiltinToolName,
5
5
  isHarnessExtensionToolName,
6
6
  isMcpToolName
7
- } from "./chunk-V4XJWDHR.js";
7
+ } from "./chunk-6UKFRTXI.js";
8
8
  import {
9
9
  init_esm_shims
10
10
  } from "./chunk-ECBHH7LU.js";
@@ -19,6 +19,7 @@ var TOOL_PLACEMENT = {
19
19
  [ToolNames.Ls]: "direct",
20
20
  [ToolNames.CodeNav]: "direct",
21
21
  [ToolNames.Context]: "direct",
22
+ [ToolNames.SelfCompact]: "direct",
22
23
  [ToolNames.CredentialPresent]: "gateway",
23
24
  [ToolNames.ClioDocs]: "gateway",
24
25
  [ToolNames.ClioLibrary]: "gateway",
@@ -103,4 +104,4 @@ export {
103
104
  directSurfaceNames,
104
105
  effectiveToolCall
105
106
  };
106
- //# sourceMappingURL=chunk-DE2LU267.js.map
107
+ //# sourceMappingURL=chunk-KKAJGT3B.js.map
@@ -1,11 +1,11 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  atomicWrite
4
- } from "./chunk-EKV4UBCM.js";
4
+ } from "./chunk-PZBQUJ2F.js";
5
5
  import {
6
6
  parseJsonObjectPayload,
7
7
  parseVerifierResult
8
- } from "./chunk-LNOXCGN2.js";
8
+ } from "./chunk-7UFDIOBT.js";
9
9
  import {
10
10
  clioStateDir
11
11
  } from "./chunk-CTTI7G3T.js";
@@ -685,4 +685,4 @@ export {
685
685
  readGateDecisionArtifacts,
686
686
  readGateDecisionArtifactsForRunIds
687
687
  };
688
- //# sourceMappingURL=chunk-OV62D6KO.js.map
688
+ //# sourceMappingURL=chunk-KQMYL5GR.js.map
@@ -6,10 +6,10 @@ import {
6
6
  EVIDENCE_TAGS,
7
7
  listEvidenceOverviews,
8
8
  loadEvidenceTrustStatus
9
- } from "./chunk-LTWH2ACR.js";
9
+ } from "./chunk-EQPFEDFV.js";
10
10
  import {
11
11
  trustVerdict
12
- } from "./chunk-OZ76TLGU.js";
12
+ } from "./chunk-EEITU7S6.js";
13
13
  import {
14
14
  sanitizeCallTargetText
15
15
  } from "./chunk-XNIZBOFV.js";
@@ -105,4 +105,4 @@ export {
105
105
  EVIDENCE_INVENTORY_MAX_IDS,
106
106
  evidenceInventorySnapshot
107
107
  };
108
- //# sourceMappingURL=chunk-QDUUOZ3S.js.map
108
+ //# sourceMappingURL=chunk-KWMFC7FN.js.map
@@ -1,24 +1,24 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  typedValidationSummary
4
- } from "./chunk-DOUISWEE.js";
4
+ } from "./chunk-QOJ4ERMU.js";
5
5
  import {
6
6
  assertValidResponseSchema,
7
7
  runtimeSpeaksResponseSchemaDialect,
8
8
  snapshotTurnConstraints
9
- } from "./chunk-OQ2EOAHA.js";
9
+ } from "./chunk-PF36KOGI.js";
10
10
  import {
11
11
  completeHistoryLength,
12
12
  contextHash,
13
13
  messageToolCalls,
14
14
  parseWorkerContextSeed
15
- } from "./chunk-T33IYTZM.js";
15
+ } from "./chunk-SAASVMIY.js";
16
16
  import {
17
17
  describeCallAction
18
18
  } from "./chunk-XNIZBOFV.js";
19
19
  import {
20
20
  assertToolProfileEnforceable
21
- } from "./chunk-XZWSP67B.js";
21
+ } from "./chunk-5APYAXCB.js";
22
22
  import {
23
23
  boundedExternalDiagnostic
24
24
  } from "./chunk-77DCC6JZ.js";
@@ -30,20 +30,20 @@ import {
30
30
  } from "./chunk-UZVYEF57.js";
31
31
  import {
32
32
  INTERNAL_HELPER_RESULT_KINDS
33
- } from "./chunk-LNOXCGN2.js";
33
+ } from "./chunk-7UFDIOBT.js";
34
34
  import {
35
35
  classify
36
- } from "./chunk-VYRQHORQ.js";
36
+ } from "./chunk-NMQSO6Z6.js";
37
37
  import {
38
38
  commandArgumentSegments,
39
39
  detectValidationCommand,
40
40
  extractCommandDeleteTargets,
41
41
  extractCommandWriteTargets,
42
42
  toolMutationPaths
43
- } from "./chunk-P4GNZPXO.js";
43
+ } from "./chunk-OYUS3UZP.js";
44
44
  import {
45
45
  ToolNames
46
- } from "./chunk-V4XJWDHR.js";
46
+ } from "./chunk-6UKFRTXI.js";
47
47
  import {
48
48
  THINKING_LEVELS
49
49
  } from "./chunk-QZTTRSJE.js";
@@ -1791,4 +1791,4 @@ export {
1791
1791
  nodeResultContractFilesystem,
1792
1792
  createRunEffectsRecorder
1793
1793
  };
1794
- //# sourceMappingURL=chunk-R7FGRZNF.js.map
1794
+ //# sourceMappingURL=chunk-LXYHCCIZ.js.map
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-5LP5FNNR.js";
10
10
  import {
11
11
  resultContractShape
12
- } from "./chunk-LNOXCGN2.js";
12
+ } from "./chunk-7UFDIOBT.js";
13
13
  import {
14
14
  init_esm_shims
15
15
  } from "./chunk-ECBHH7LU.js";
@@ -443,4 +443,4 @@ export {
443
443
  spliceExecutionPlan,
444
444
  compileFleetExecutionPlan
445
445
  };
446
- //# sourceMappingURL=chunk-NFSK2VNU.js.map
446
+ //# sourceMappingURL=chunk-LZMTVVN4.js.map