@iowarp/clio-coder 0.4.2 → 0.4.3

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 (369) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/CONTRIBUTING.md +86 -19
  3. package/README.md +35 -6
  4. package/dist/{acp-TMDQZDIG.js → acp-H2NGRPWO.js} +11 -11
  5. package/dist/{agents-5N5NG3XG.js → agents-TL5LLUQP.js} +54 -53
  6. package/dist/assets/codewiki.json +1 -1
  7. package/dist/{auth-Z5CCBXKQ.js → auth-E5SW4HMS.js} +19 -16
  8. package/dist/{builtins-K6TNDT24.js → builtins-IA7V7FUC.js} +9 -4
  9. package/dist/{chunk-ZW4HH5JJ.js → chunk-2APPQIER.js} +6 -6
  10. package/dist/{chunk-72GZI5EV.js → chunk-2JH2WHGE.js} +2 -2
  11. package/dist/{chunk-UBRFI4HS.js → chunk-2UG5F4C5.js} +127 -47
  12. package/dist/{chunk-UH632ZYL.js → chunk-2UH2KFUP.js} +2 -2
  13. package/dist/{chunk-3F7VUY77.js → chunk-2VIKGWFZ.js} +2 -2
  14. package/dist/{chunk-I66EAJFY.js → chunk-2WZ546HR.js} +267 -232
  15. package/dist/{chunk-RKSR6VSF.js → chunk-4IUZQIJ3.js} +29 -1
  16. package/dist/{chunk-2X4RYJTJ.js → chunk-4UVU7BJ5.js} +2 -2
  17. package/dist/{chunk-M2DAX4F6.js → chunk-4WR7VSYB.js} +2 -2
  18. package/dist/{chunk-5KW52TEP.js → chunk-54CBCGIR.js} +5 -5
  19. package/dist/{chunk-3KIPBMUA.js → chunk-5ICU3EUH.js} +2 -2
  20. package/dist/{chunk-77QIVUZB.js → chunk-5MEZN6CB.js} +4 -4
  21. package/dist/{chunk-O42A54GG.js → chunk-5OIVVPHF.js} +2 -2
  22. package/dist/{chunk-LJID3DYZ.js → chunk-64I3JVYM.js} +2 -2
  23. package/dist/{chunk-4JDLP6ZS.js → chunk-6PTFB5VS.js} +7 -7
  24. package/dist/{chunk-VN3SHNBN.js → chunk-7DICMOS6.js} +2 -2
  25. package/dist/{chunk-HLAFFSEK.js → chunk-7DRAWPTZ.js} +2 -2
  26. package/dist/chunk-7E7I3WLS.js +3762 -0
  27. package/dist/{chunk-YJISEZKC.js → chunk-7ZYNNDKC.js} +6 -6
  28. package/dist/{chunk-I66ZTYNP.js → chunk-AF4YM7Z4.js} +236 -101
  29. package/dist/{chunk-2HFQNRV3.js → chunk-AX2THNSA.js} +12 -12
  30. package/dist/{chunk-PGF63K6I.js → chunk-B4OAX3SI.js} +65 -3
  31. package/dist/{chunk-W6NIE6OW.js → chunk-B4VEBZKF.js} +3 -3
  32. package/dist/{chunk-JBCS7CRR.js → chunk-BEPZRGGU.js} +10 -10
  33. package/dist/{chunk-XGDPUNND.js → chunk-CE5AX47J.js} +2 -2
  34. package/dist/{chunk-I64IFBLB.js → chunk-DWUOQKRU.js} +17 -10
  35. package/dist/{chunk-DZAW46HP.js → chunk-E3TPLWFX.js} +3 -3
  36. package/dist/{chunk-HIICAHCJ.js → chunk-EKCHAPYA.js} +2 -2
  37. package/dist/{chunk-XE3PCIXH.js → chunk-F5JHEYZM.js} +7 -7
  38. package/dist/{chunk-5PFYMY2V.js → chunk-FTMGRKEF.js} +2 -2
  39. package/dist/{chunk-ZNT2M6TG.js → chunk-G76U63X4.js} +17 -17
  40. package/dist/{chunk-34BHNEE3.js → chunk-GHS5EBTQ.js} +58 -7
  41. package/dist/{chunk-2NHR3NAY.js → chunk-GI7YYQ3F.js} +40 -34
  42. package/dist/{chunk-DYHAXKHD.js → chunk-GWZNEVM2.js} +12 -8
  43. package/dist/chunk-GYV6VZOC.js +26 -0
  44. package/dist/{chunk-MQXIVJ35.js → chunk-HAXOFFRH.js} +5 -5
  45. package/dist/{chunk-W4YEMFBX.js → chunk-HEQY7ZFI.js} +2 -2
  46. package/dist/{chunk-IKOZFYBN.js → chunk-I7ZPNEJM.js} +145 -102
  47. package/dist/{chunk-WNP7O5WZ.js → chunk-ID64D7PE.js} +4 -4
  48. package/dist/{chunk-XQRY4DTA.js → chunk-IGLP3ODT.js} +10 -10
  49. package/dist/chunk-IJNZMHLA.js +101 -0
  50. package/dist/{chunk-JWJGP5DQ.js → chunk-INY6HTFL.js} +7 -7
  51. package/dist/{chunk-PBP4B7XR.js → chunk-IUE3Y34X.js} +2 -2
  52. package/dist/{chunk-B74PXLU7.js → chunk-IWT4SF4R.js} +3 -3
  53. package/dist/{chunk-B7HM5Z7T.js → chunk-JDAY6FIL.js} +5 -5
  54. package/dist/{chunk-PJX3WQUQ.js → chunk-JEQ3XTHC.js} +2 -2
  55. package/dist/{chunk-FSP7CMNU.js → chunk-JGRC33J2.js} +50 -4
  56. package/dist/{chunk-X7IARSHT.js → chunk-JKKCYP3C.js} +9 -9
  57. package/dist/{chunk-HJWWJ6IL.js → chunk-JSC3U7TI.js} +16 -4
  58. package/dist/{chunk-SSEYRH53.js → chunk-KK4JZPBQ.js} +19 -140
  59. package/dist/{chunk-IHXBNWMM.js → chunk-KXDSS5WJ.js} +7 -3
  60. package/dist/{chunk-Q4XWMHX6.js → chunk-L47TF46W.js} +2 -2
  61. package/dist/{chunk-O3YUNJZ2.js → chunk-LDJG7DW3.js} +81 -24
  62. package/dist/{chunk-CDNVLKUX.js → chunk-LLDJM5XK.js} +13 -7
  63. package/dist/{chunk-F2I26BDK.js → chunk-MUW2BDDH.js} +4 -4
  64. package/dist/{chunk-HKMD33FO.js → chunk-MWUZBSAQ.js} +79 -76
  65. package/dist/{chunk-QQLGQY2A.js → chunk-N2Z7HLVY.js} +20 -20
  66. package/dist/{chunk-DZEK6CJN.js → chunk-NIQJ66N4.js} +19 -19
  67. package/dist/{chunk-CWVRRIEI.js → chunk-NZMNUPZZ.js} +2 -2
  68. package/dist/{chunk-462T4EGZ.js → chunk-O5CVSAG5.js} +2 -2
  69. package/dist/{chunk-TPEQIQIE.js → chunk-OML5D5V5.js} +8 -8
  70. package/dist/{chunk-IKSLQ4XV.js → chunk-PAJQJ7BS.js} +558 -216
  71. package/dist/{chunk-ZW55JB7N.js → chunk-PUVDKJ2Y.js} +2 -2
  72. package/dist/{chunk-UH347SHR.js → chunk-QWGDJJYJ.js} +11 -11
  73. package/dist/chunk-R6Q67RJH.js +134 -0
  74. package/dist/{chunk-CRFOIAX3.js → chunk-RRNP2ANY.js} +6 -6
  75. package/dist/{chunk-IDNA72AH.js → chunk-RSJ25QSL.js} +2 -2
  76. package/dist/chunk-SKHCAU7K.js +385 -0
  77. package/dist/{chunk-RLYRBIYQ.js → chunk-TM6LQDI3.js} +20 -12
  78. package/dist/chunk-UOIZ7DA4.js +41 -0
  79. package/dist/{chunk-P75RZCJW.js → chunk-UPZU6GE4.js} +3 -3
  80. package/dist/{chunk-MCMZMDAC.js → chunk-V2ANDPVT.js} +4 -4
  81. package/dist/{chunk-AK5XEFVZ.js → chunk-VA5FNYMT.js} +26 -13
  82. package/dist/{chunk-IMXMHHMQ.js → chunk-VW6DOEDG.js} +332 -57
  83. package/dist/{chunk-XOXV5GKE.js → chunk-W6RRQCPQ.js} +16 -7
  84. package/dist/{chunk-CYZW7JHJ.js → chunk-WBKFA554.js} +8 -8
  85. package/dist/{chunk-BO7Y52RY.js → chunk-WCXUNS7U.js} +7 -7
  86. package/dist/{chunk-ZGNYYXQ6.js → chunk-WRBAGUNF.js} +3 -3
  87. package/dist/{chunk-FVDGR2ZL.js → chunk-XIVNBFZS.js} +85 -30
  88. package/dist/{chunk-BYMNWQ7O.js → chunk-XPWWI35G.js} +299 -58
  89. package/dist/{chunk-KPXDY6QF.js → chunk-XRZT5WY5.js} +2 -2
  90. package/dist/{chunk-AZ4WMN4W.js → chunk-Y3CBHOR6.js} +2 -2
  91. package/dist/{chunk-VXMFAE2W.js → chunk-YPC6ZR5L.js} +19 -6
  92. package/dist/{chunk-54ODD65L.js → chunk-YQWYVTMC.js} +4 -4
  93. package/dist/{chunk-M2WXEHER.js → chunk-ZA4VCIGV.js} +2 -2
  94. package/dist/{chunk-7BHIY2MW.js → chunk-ZDN3Y73Y.js} +6 -6
  95. package/dist/{chunk-E7GT7O5N.js → chunk-ZWPRK62N.js} +7 -4
  96. package/dist/cli/index.js +38 -37
  97. package/dist/{clio-7VB377CC.js → clio-CMMK4KRR.js} +7 -7
  98. package/dist/{code-nav-YVLCYA7V.js → code-nav-MDZNQS33.js} +7 -7
  99. package/dist/{components-UBWCQSRW.js → components-UCUQ4QXW.js} +4 -4
  100. package/dist/{config-4HVOS65E.js → config-SVM5P5YI.js} +76 -74
  101. package/dist/{configure-PIWO7B24.js → configure-LE3IK2TJ.js} +26 -24
  102. package/dist/{context-IYEHL3WQ.js → context-2OHRKS42.js} +66 -63
  103. package/dist/{context-N6ZE3LGJ.js → context-E3VC7RX5.js} +15 -11
  104. package/dist/{context-KQYIWPWT.js → context-VNCR7KAG.js} +60 -45
  105. package/dist/{context-clear-G4OGZJDS.js → context-clear-BW4O37TG.js} +61 -59
  106. package/dist/context-map-COB37XXN.js +505 -0
  107. package/dist/{context-working-set-BWLF6LJP.js → context-working-set-VDS25HXZ.js} +17 -16
  108. package/dist/{dispatch-runner-2QQAITS3.js → dispatch-runner-5AHT53RF.js} +85 -74
  109. package/dist/{doctor-LHBD36VU.js → doctor-WNNVO6FY.js} +37 -37
  110. package/dist/{eval-C45FYRJ6.js → eval-7G7SGAYO.js} +285 -114
  111. package/dist/{eval-inventory-6DEJPLBF.js → eval-inventory-Y6QRFOH5.js} +4 -4
  112. package/dist/{evidence-6SHONYAF.js → evidence-VD6736FQ.js} +63 -62
  113. package/dist/{evolve-KRKMV72X.js → evolve-AL3NGVRL.js} +62 -61
  114. package/dist/{extensions-KPZ2UHBB.js → extensions-MOVJ32NM.js} +7 -7
  115. package/dist/{fleet-IVTCKDHT.js → fleet-QZHUMAGI.js} +110 -108
  116. package/dist/{fleet-commands-EDWL3IT7.js → fleet-commands-BAYT5FJZ.js} +10 -10
  117. package/dist/{fleet-decisions-YP3YEFGK.js → fleet-decisions-IREVMRU4.js} +7 -6
  118. package/dist/{fleet-graph-ZFWKHY2M.js → fleet-graph-YCTT3HTI.js} +19 -18
  119. package/dist/{fleet-inspect-FVUNCBML.js → fleet-inspect-QVJTDAVB.js} +55 -54
  120. package/dist/{fleet-preflight-UN5XED4R.js → fleet-preflight-25QAFPK4.js} +4 -4
  121. package/dist/{fleet-validate-XOWC4HSX.js → fleet-validate-5O57AAJ7.js} +23 -22
  122. package/dist/{fleet-verify-UN3SODEL.js → fleet-verify-CPH2W2T6.js} +56 -55
  123. package/dist/{fleet-view-TWHJKCN6.js → fleet-view-SWBR3VGQ.js} +55 -54
  124. package/dist/{init-T2QORQ3Y.js → init-J477LKZH.js} +78 -76
  125. package/dist/{interop-IN5I2A66.js → interop-3FCM6XLG.js} +11 -11
  126. package/dist/{library-LSCATDLZ.js → library-QUQEIUG6.js} +28 -27
  127. package/dist/{memory-HYOKAGGJ.js → memory-SGGSEP65.js} +64 -63
  128. package/dist/{models-2GPMFYCM.js → models-HEKUAXXK.js} +49 -43
  129. package/dist/{monitor-E4ASVUJH.js → monitor-HKU57TYQ.js} +61 -60
  130. package/dist/{orchestrator-DDMPR3PY.js → orchestrator-VDFAEFAI.js} +919 -546
  131. package/dist/{panes-E3RUXOW5.js → panes-DN2SSFOH.js} +3 -3
  132. package/dist/{panes-IXKLOKA2.js → panes-TALGNPZT.js} +8 -8
  133. package/dist/{paths-L7LGY6RN.js → paths-NBMFAIEZ.js} +5 -5
  134. package/dist/reset-EAJFFJVB.js +344 -0
  135. package/dist/{resources-OTRSN34L.js → resources-OVKSEFVE.js} +27 -20
  136. package/dist/{run-5DEYH5QK.js → run-7DP7ZF2J.js} +113 -109
  137. package/dist/{share-IHWTLO3M.js → share-WML67FT3.js} +26 -25
  138. package/dist/{skills-IYMXMKW4.js → skills-SG662R2K.js} +39 -31
  139. package/dist/{skills-eval-DROHSJAR.js → skills-eval-VVZEUU46.js} +74 -73
  140. package/dist/{skills-inventory-D7X4L4ZX.js → skills-inventory-I2E23GET.js} +21 -20
  141. package/dist/{slash-commands-QBM7UZ3B.js → slash-commands-S7MBJDQK.js} +35 -34
  142. package/dist/{steer-Z5DO23FJ.js → steer-2LQOMCPB.js} +3 -3
  143. package/dist/{support-U7QOWY26.js → support-CC2UJBJ6.js} +6 -6
  144. package/dist/{targets-P2FUC4IL.js → targets-4QC3HIEW.js} +48 -45
  145. package/dist/{terminal-lease-YREJ3JX2.js → terminal-lease-TUHIJ6Y2.js} +2 -2
  146. package/dist/{tools-5B7RO6MV.js → tools-TFGJICCU.js} +8 -8
  147. package/dist/{trace-YMGMUM6A.js → trace-FXMXUZUF.js} +7 -7
  148. package/dist/uninstall-5PEVOE5B.js +408 -0
  149. package/dist/upgrade-M4WXY6KN.js +303 -0
  150. package/dist/{usage-ME5MPXGX.js → usage-N7ZNVLEM.js} +147 -102
  151. package/dist/{verifiers-BVZ7IWOO.js → verifiers-DJTP4XX6.js} +15 -15
  152. package/dist/{verify-5K7ZKQFC.js → verify-RWE4PPEK.js} +9 -9
  153. package/dist/{wiki-generate-F5W5QTYY.js → wiki-generate-C7IQOXSP.js} +84 -82
  154. package/dist/{with-panes-BYOJCLAM.js → with-panes-4GCGSL7J.js} +9 -9
  155. package/dist/worker/entry.js +61 -60
  156. package/docs/architecture/artifact-placement.md +1 -0
  157. package/docs/architecture/artifact-versions.md +1 -1
  158. package/docs/architecture/context-engine.md +4 -0
  159. package/docs/architecture/middleware-and-components.md +1 -1
  160. package/docs/architecture/model-catalog.md +21 -10
  161. package/docs/architecture/observability.md +12 -1
  162. package/docs/architecture/prompt-envelope-and-tools.md +2 -0
  163. package/docs/architecture/provider-adapter-cookbook.md +63 -0
  164. package/docs/architecture/safety-model.md +15 -5
  165. package/docs/guide/built-in-agents.md +17 -3
  166. package/docs/guide/commands-and-modes.md +1 -1
  167. package/docs/guide/configuration-and-targets.md +97 -9
  168. package/docs/guide/configuration-reference.md +7 -2
  169. package/docs/guide/environment-variables.md +2 -0
  170. package/docs/guide/installation-and-lifecycle.md +37 -4
  171. package/docs/guide/proactive-memory.md +66 -55
  172. package/docs/guide/skills-marketplace.md +18 -0
  173. package/docs/process/development-pipeline.md +34 -1
  174. package/docs/process/eval-runner.md +67 -3
  175. package/evals/behavioral-model.yaml +3 -2
  176. package/package.json +2 -2
  177. package/skills/README.md +7 -5
  178. package/skills/coding/ast-grep/SKILL.md +101 -30
  179. package/skills/coding/ast-grep/evals.md +26 -0
  180. package/skills/coding/coding-standards/SKILL.md +40 -5
  181. package/skills/coding/coding-standards/evals.md +23 -0
  182. package/skills/coding/prototype/SKILL.md +87 -28
  183. package/skills/coding/prototype/evals.md +19 -0
  184. package/skills/coding/tdd/SKILL.md +80 -53
  185. package/skills/coding/tdd/evals.md +20 -0
  186. package/skills/context/context-handoff/SKILL.md +43 -2
  187. package/skills/context/context-handoff/evals.md +44 -0
  188. package/skills/context/context-prime/SKILL.md +45 -15
  189. package/skills/context/context-prime/evals.md +45 -0
  190. package/skills/git/branch-closeout/SKILL.md +132 -0
  191. package/skills/git/branch-closeout/evals.md +133 -0
  192. package/skills/git/branch-closeout/references/closeout-checklist.md +81 -0
  193. package/skills/git/file-ticket/SKILL.md +77 -63
  194. package/skills/git/file-ticket/assets/issue-template.md +22 -0
  195. package/skills/git/file-ticket/evals.md +31 -26
  196. package/skills/git/file-ticket/references/issue-discovery.md +49 -0
  197. package/skills/git/fix-issue/SKILL.md +87 -64
  198. package/skills/git/fix-issue/evals.md +35 -31
  199. package/skills/git/fix-issue/references/diagnosis-and-rca.md +46 -0
  200. package/skills/git/resolve-merge-conflicts/SKILL.md +100 -51
  201. package/skills/git/resolve-merge-conflicts/evals.md +52 -25
  202. package/skills/git/resolve-merge-conflicts/references/conflict-matrix.md +126 -0
  203. package/skills/git/ship/SKILL.md +103 -67
  204. package/skills/git/ship/assets/pr-template.md +21 -0
  205. package/skills/git/ship/evals.md +44 -28
  206. package/skills/git/ship/references/remote-and-branch-policy.md +62 -0
  207. package/skills/git/worktree-create/SKILL.md +80 -50
  208. package/skills/git/worktree-create/evals.md +40 -33
  209. package/skills/git/worktree-create/references/worktree-setup.md +62 -66
  210. package/skills/git/worktree-merge/SKILL.md +112 -65
  211. package/skills/git/worktree-merge/evals.md +42 -34
  212. package/skills/git/worktree-merge/references/merge-strategies.md +52 -0
  213. package/skills/planning/archify/SKILL.md +196 -0
  214. package/skills/planning/archify/evals.md +65 -0
  215. package/skills/planning/architecture/SKILL.md +61 -12
  216. package/skills/planning/architecture/evals.md +65 -0
  217. package/skills/planning/backlog/SKILL.md +130 -14
  218. package/skills/planning/backlog/evals.md +142 -0
  219. package/skills/planning/prd/SKILL.md +46 -6
  220. package/skills/planning/prd/evals.md +54 -0
  221. package/skills/planning/product-intent/SKILL.md +57 -2
  222. package/skills/planning/product-intent/evals.md +70 -0
  223. package/skills/planning/tech-spec/SKILL.md +53 -2
  224. package/skills/planning/tech-spec/evals.md +73 -0
  225. package/skills/registry.yaml +58 -50
  226. package/skills/remote.yaml +13 -0
  227. package/skills/research/arxiv-literature/SKILL.md +76 -18
  228. package/skills/research/arxiv-literature/evals.md +50 -0
  229. package/skills/research/experiment-protocol/SKILL.md +20 -1
  230. package/skills/research/experiment-protocol/evals.md +23 -0
  231. package/skills/research/scientific-debugging/SKILL.md +23 -1
  232. package/skills/research/scientific-debugging/evals.md +18 -0
  233. package/skills/research/scientific-modernization/SKILL.md +26 -1
  234. package/skills/research/scientific-modernization/evals.md +27 -0
  235. package/skills/skill-marketplace.json +63 -28
  236. package/skills/workflow/cut-it/SKILL.md +65 -5
  237. package/skills/workflow/cut-it/evals.md +101 -0
  238. package/skills/workflow/design-council/SKILL.md +117 -27
  239. package/skills/workflow/design-council/evals.md +161 -0
  240. package/skills/workflow/grill-me/SKILL.md +86 -10
  241. package/skills/workflow/grill-me/evals.md +153 -0
  242. package/skills/workflow/workflow-distiller/SKILL.md +76 -17
  243. package/skills/workflow/workflow-distiller/evals.md +118 -0
  244. package/src/cli/configure-interop.ts +105 -13
  245. package/src/cli/configure-oauth.ts +57 -0
  246. package/src/cli/configure-onboarding.ts +980 -0
  247. package/src/cli/configure-target.ts +594 -0
  248. package/src/cli/configure.ts +1082 -528
  249. package/src/cli/context-map.ts +114 -0
  250. package/src/cli/context.ts +4 -0
  251. package/src/cli/index.ts +1 -0
  252. package/src/cli/lifecycle-presenter.ts +436 -0
  253. package/src/cli/models.ts +10 -2
  254. package/src/cli/modes/print.ts +5 -1
  255. package/src/cli/reset.ts +228 -106
  256. package/src/cli/run.ts +7 -2
  257. package/src/cli/select.ts +664 -0
  258. package/src/cli/skills.ts +9 -2
  259. package/src/cli/targets.ts +3 -0
  260. package/src/cli/uninstall.ts +233 -165
  261. package/src/cli/upgrade.ts +204 -149
  262. package/src/cli/usage.ts +86 -27
  263. package/src/cli/validate-model.ts +3 -3
  264. package/src/core/config.ts +56 -0
  265. package/src/core/external-diagnostic.ts +44 -0
  266. package/src/core/gateway-routing.ts +157 -0
  267. package/src/core/safe-exec.ts +17 -2
  268. package/src/core/skill-activation.ts +89 -2
  269. package/src/domains/agents/builtins/world-knowledge.md +31 -0
  270. package/src/domains/agents/catalog.ts +1 -1
  271. package/src/domains/agents/result-contract.ts +70 -0
  272. package/src/domains/context/wiki/map-seed.ts +589 -0
  273. package/src/domains/context/wiki/plan.ts +2 -2
  274. package/src/domains/dispatch/admission.ts +29 -0
  275. package/src/domains/dispatch/agent-candidates.ts +10 -0
  276. package/src/domains/dispatch/budget-envelope.ts +86 -1
  277. package/src/domains/dispatch/capability-match.ts +1 -0
  278. package/src/domains/dispatch/capacity-lease.ts +17 -0
  279. package/src/domains/dispatch/contract.ts +11 -1
  280. package/src/domains/dispatch/extension.ts +134 -29
  281. package/src/domains/dispatch/types.ts +3 -0
  282. package/src/domains/dispatch/worker-model-metadata.ts +38 -0
  283. package/src/domains/eval/metrics/call-ledger-stream.ts +34 -11
  284. package/src/domains/eval/metrics/token-stream.ts +201 -31
  285. package/src/domains/eval/metrics/tracked.ts +40 -4
  286. package/src/domains/eval/runners/clio-run.ts +5 -2
  287. package/src/domains/eval/schema/suite.ts +28 -0
  288. package/src/domains/eval/schema/verdict.ts +2 -2
  289. package/src/domains/eval/suites/resolve.ts +13 -1
  290. package/src/domains/eval/suites/run.ts +24 -3
  291. package/src/domains/interop/registry.ts +6 -2
  292. package/src/domains/interop/types.ts +4 -0
  293. package/src/domains/lifecycle/migrations/index.ts +4 -0
  294. package/src/domains/memory/task-memory-policy.ts +70 -26
  295. package/src/domains/memory/task-memory-telemetry.ts +1 -0
  296. package/src/domains/middleware/index.ts +0 -1
  297. package/src/domains/middleware/marketplace-offer.ts +3 -35
  298. package/src/domains/middleware/memory-intervention.ts +127 -32
  299. package/src/domains/middleware/memory-step-endpoint.ts +3 -2
  300. package/src/domains/middleware/skills-reminder.ts +31 -2
  301. package/src/domains/observability/compaction-usage.ts +118 -0
  302. package/src/domains/observability/cost.ts +1 -1
  303. package/src/domains/observability/extension.ts +6 -1
  304. package/src/domains/observability/out-of-turn-usage.ts +52 -21
  305. package/src/domains/providers/contract.ts +4 -1
  306. package/src/domains/providers/extension.ts +40 -9
  307. package/src/domains/providers/model-capabilities.ts +9 -0
  308. package/src/domains/providers/model-discovery.ts +2 -0
  309. package/src/domains/providers/model-runtime-capabilities.ts +15 -5
  310. package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +32 -12
  311. package/src/domains/providers/runtimes/antigravity/antigravity-code.ts +225 -45
  312. package/src/domains/providers/runtimes/common/lmstudio-http.ts +6 -2
  313. package/src/domains/providers/runtimes/common/local-synth.ts +2 -0
  314. package/src/domains/providers/runtimes/protocol/litellm.ts +119 -29
  315. package/src/domains/providers/support.ts +11 -5
  316. package/src/domains/providers/target-model-cache.ts +25 -2
  317. package/src/domains/providers/types/capability-flags.ts +2 -0
  318. package/src/domains/providers/types/runtime-descriptor.ts +20 -1
  319. package/src/domains/providers/types/target-descriptor.ts +19 -0
  320. package/src/domains/resources/index.ts +3 -0
  321. package/src/domains/resources/skills/install.ts +72 -7
  322. package/src/domains/resources/skills/loader.ts +7 -0
  323. package/src/domains/resources/skills/marketplace.ts +63 -11
  324. package/src/domains/safety/autonomy.ts +15 -0
  325. package/src/domains/safety/index.ts +1 -0
  326. package/src/domains/safety/path-policy.ts +1 -1
  327. package/src/domains/safety/policy-engine.ts +34 -11
  328. package/src/domains/safety/protected-artifacts.ts +191 -88
  329. package/src/domains/safety/run-effects.ts +2 -22
  330. package/src/domains/safety/skill-authority.ts +55 -0
  331. package/src/domains/session/compaction/compact.ts +72 -22
  332. package/src/domains/session/entries.ts +6 -0
  333. package/src/domains/session/usage.ts +3 -3
  334. package/src/engine/agent.ts +13 -3
  335. package/src/engine/ai.ts +26 -8
  336. package/src/engine/antigravity/subprocess-runtime.ts +386 -120
  337. package/src/engine/api-registry.ts +3 -0
  338. package/src/engine/apis/openai-completions.ts +117 -14
  339. package/src/engine/external-subprocess.ts +114 -6
  340. package/src/entry/background-model-metadata.ts +18 -0
  341. package/src/entry/compaction-prompt.ts +57 -0
  342. package/src/entry/orchestrator.ts +405 -216
  343. package/src/entry/task-memory-lifecycle.ts +35 -0
  344. package/src/interactive/chat-loop-messages.ts +13 -4
  345. package/src/interactive/chat-loop.ts +65 -2
  346. package/src/interactive/chat-renderer.ts +1 -0
  347. package/src/interactive/cost-overlay.ts +26 -2
  348. package/src/interactive/interactive-slash-runtime.ts +2 -1
  349. package/src/interactive/renderers/worker-entry.ts +32 -0
  350. package/src/interactive/slash-commands.ts +24 -6
  351. package/src/interactive/theme/labels.ts +19 -13
  352. package/src/interactive/turn-context.ts +9 -5
  353. package/src/interactive/turn-recovery.ts +8 -0
  354. package/src/interactive/turn-runtime.ts +27 -11
  355. package/src/interactive/turn-state.ts +7 -0
  356. package/src/interactive/worker-receipts.ts +1 -0
  357. package/src/interactive/worker-stream.ts +6 -1
  358. package/src/tools/context/index.ts +30 -9
  359. package/src/tools/dispatch-arguments.ts +1 -0
  360. package/src/tools/dispatch-event-text.ts +10 -0
  361. package/src/tools/dispatch-plan.ts +1 -0
  362. package/src/tools/dispatch-runner.ts +12 -0
  363. package/src/tools/registry.ts +11 -5
  364. package/src/tools/worker-evidence.ts +3 -1
  365. package/src/worker/spec-contract.ts +4 -0
  366. package/dist/chunk-2Z2IKEXI.js +0 -1554
  367. package/dist/reset-OAQP3W4O.js +0 -230
  368. package/dist/uninstall-N34PCTGJ.js +0 -331
  369. package/dist/upgrade-PXK3S2YM.js +0 -325
@@ -2,26 +2,26 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  readLayeredSettings,
4
4
  readStrictLayeredSettings
5
- } from "./chunk-M2DAX4F6.js";
6
- import {
7
- formatBootTrace
8
- } from "./chunk-ZTJUVLTU.js";
5
+ } from "./chunk-4WR7VSYB.js";
9
6
  import {
10
7
  initializeClioHome
11
8
  } from "./chunk-I7XBWTYH.js";
9
+ import {
10
+ formatBootTrace
11
+ } from "./chunk-ZTJUVLTU.js";
12
12
  import {
13
13
  readSettings
14
- } from "./chunk-34BHNEE3.js";
14
+ } from "./chunk-GHS5EBTQ.js";
15
15
  import {
16
16
  require_dist
17
17
  } from "./chunk-APJ265NV.js";
18
- import {
19
- clioConfigDir
20
- } from "./chunk-BYP5D4HI.js";
21
18
  import {
22
19
  findEngineEnvKeys,
23
20
  getEngineEnvApiKey
24
21
  } from "./chunk-YXLYO42X.js";
22
+ import {
23
+ clioConfigDir
24
+ } from "./chunk-BYP5D4HI.js";
25
25
  import {
26
26
  __toESM,
27
27
  init_esm_shims
@@ -159,7 +159,7 @@ Run \`clio-coder auth login ${verdict.store}\` if the endpoint requires one; loc
159
159
  } else if (verdict.kind !== "usable") {
160
160
  process.stdout.write(`${describeVerdict(verdict)} Starting \`clio-coder configure\`.
161
161
  `);
162
- const { runConfigureCommand } = await import("./configure-PIWO7B24.js");
162
+ const { runConfigureCommand } = await import("./configure-LE3IK2TJ.js");
163
163
  const configured = await runConfigureCommand([]);
164
164
  if (configured !== 0) return configured;
165
165
  startupSettings = readStrictLayeredSettings(process.cwd()).settings;
@@ -174,7 +174,7 @@ Run \`clio-coder auth login ${verdict.store}\` if the endpoint requires one; loc
174
174
  let terminalLease;
175
175
  try {
176
176
  if (terminalLeaseEligible(options)) {
177
- const { createProcessTerminalLease, instantShellEnabled } = await import("./terminal-lease-YREJ3JX2.js");
177
+ const { createProcessTerminalLease, instantShellEnabled } = await import("./terminal-lease-TUHIJ6Y2.js");
178
178
  if (instantShellEnabled()) {
179
179
  let stage0FrameId = null;
180
180
  terminalLease = createProcessTerminalLease({
@@ -197,7 +197,7 @@ Run \`clio-coder auth login ${verdict.store}\` if the endpoint requires one; loc
197
197
  throw new Error("injected Stage 1 hydration failure");
198
198
  }
199
199
  }
200
- const { bootOrchestrator } = await import("./orchestrator-DDMPR3PY.js");
200
+ const { bootOrchestrator } = await import("./orchestrator-VDFAEFAI.js");
201
201
  const result = await bootOrchestrator({
202
202
  ...options,
203
203
  ...startupSettings ? { startupSettings } : {},
@@ -220,4 +220,4 @@ Run \`clio-coder auth login ${verdict.store}\` if the endpoint requires one; loc
220
220
  export {
221
221
  runClioCommand
222
222
  };
223
- //# sourceMappingURL=chunk-2HFQNRV3.js.map
223
+ //# sourceMappingURL=chunk-AX2THNSA.js.map
@@ -1,9 +1,11 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
- artifactDefaultPath,
4
3
  extractCommandCdTargets,
5
4
  extractCommandWriteTargets
6
- } from "./chunk-IKOZFYBN.js";
5
+ } from "./chunk-I7ZPNEJM.js";
6
+ import {
7
+ artifactDefaultPath
8
+ } from "./chunk-GYV6VZOC.js";
7
9
  import {
8
10
  canonicalizeExistingPath
9
11
  } from "./chunk-ECH6PKUQ.js";
@@ -648,6 +650,7 @@ var RESULT_CONTRACT_KINDS = [
648
650
  "council-report",
649
651
  "debugger-report",
650
652
  "research-report",
653
+ "world-knowledge-report",
651
654
  "mutation-report",
652
655
  "provenance-report",
653
656
  "external-delegation"
@@ -1082,6 +1085,60 @@ function validateResearch(contract, output, networkAllowed) {
1082
1085
  }
1083
1086
  return success(contract, "unmeasured", value);
1084
1087
  }
1088
+ function validateWorldKnowledge(contract, output, externalSourcesAllowed) {
1089
+ const parsed = parseJson(output);
1090
+ if (!parsed.ok) return failure(contract, "unmeasured", `World-knowledge payload failed: ${parsed.reason}`);
1091
+ const value = parsed.value;
1092
+ const legal = ["discovery", "facts", "synthesis", "uncertainties", "followUpVerification"];
1093
+ const unknown = Object.keys(value).filter((key) => !legal.includes(key));
1094
+ if (unknown.length > 0) {
1095
+ return failure(contract, "unmeasured", `World-knowledge field '${unknown[0]}' is not legal`);
1096
+ }
1097
+ if (value.discovery !== "performed" && value.discovery !== "caller-supplied-only" && value.discovery !== "unavailable") {
1098
+ return failure(
1099
+ contract,
1100
+ "unmeasured",
1101
+ 'World-knowledge field "discovery" must be one of: performed | caller-supplied-only | unavailable'
1102
+ );
1103
+ }
1104
+ if (value.discovery === "performed" && !externalSourcesAllowed) {
1105
+ return failure(
1106
+ contract,
1107
+ "unmeasured",
1108
+ 'World-knowledge field "discovery" is performed but this run had no external-source posture'
1109
+ );
1110
+ }
1111
+ if (!Array.isArray(value.facts)) {
1112
+ return failure(contract, "unmeasured", 'World-knowledge field "facts" must be an array');
1113
+ }
1114
+ for (const [index, finding] of value.facts.entries()) {
1115
+ if (!finding || typeof finding !== "object" || Array.isArray(finding)) {
1116
+ return failure(contract, "unmeasured", `World-knowledge field "facts[${index}]" must be an object`);
1117
+ }
1118
+ const fact = finding;
1119
+ const factUnknown = Object.keys(fact).filter((key) => !["claim", "evidence", "sources"].includes(key));
1120
+ if (factUnknown.length > 0) {
1121
+ return failure(contract, "unmeasured", `World-knowledge field "facts[${index}].${factUnknown[0]}" is not legal`);
1122
+ }
1123
+ if (!string(fact.claim) || !string(fact.evidence) || !Array.isArray(fact.sources)) {
1124
+ return failure(
1125
+ contract,
1126
+ "unmeasured",
1127
+ `World-knowledge field "facts[${index}]" requires non-empty claim/evidence strings and a sources array`
1128
+ );
1129
+ }
1130
+ if (fact.sources.some((source) => !string(source))) {
1131
+ return failure(contract, "unmeasured", `World-knowledge field "facts[${index}].sources" must contain strings`);
1132
+ }
1133
+ }
1134
+ for (const field of ["synthesis", "uncertainties", "followUpVerification"]) {
1135
+ const entries = value[field];
1136
+ if (!Array.isArray(entries) || entries.some((entry) => !string(entry))) {
1137
+ return failure(contract, "unmeasured", `World-knowledge field "${field}" must be an array of non-empty strings`);
1138
+ }
1139
+ }
1140
+ return success(contract, "unmeasured", value);
1141
+ }
1085
1142
  function describeWriteSet(effects, cwd) {
1086
1143
  if (effects.mutatedPaths.size === 0) return "this run wrote nothing";
1087
1144
  const written = [...effects.mutatedPaths].map((target) => path2.relative(cwd, target) || target).sort().slice(0, MUTATION_WRITE_SET_REASON_LIMIT);
@@ -1203,6 +1260,8 @@ function validateResultContract(input) {
1203
1260
  return validateDebugger(input.contract, input.output);
1204
1261
  case "research-report":
1205
1262
  return validateResearch(input.contract, input.output, input.networkAllowed);
1263
+ case "world-knowledge-report":
1264
+ return validateWorldKnowledge(input.contract, input.output, input.networkAllowed);
1206
1265
  case "mutation-report":
1207
1266
  return validateMutation(input.contract, input);
1208
1267
  case "provenance-report":
@@ -1277,6 +1336,8 @@ function resultContractShape(contract) {
1277
1336
  return 'one of {"diagnosis":"...","reproduction":"reproduced","evidence":["..."]}, {"diagnosis":"...","reproduction":"not-reproduced","evidence":["..."]}, or {"diagnosis":"...","reproduction":"unknown","evidence":["..."]}; reproduction legal values are reproduced | not-reproduced | unknown';
1278
1337
  case "research-report":
1279
1338
  return 'one of {"source":"local","findings":[{"claim":"...","evidence":"..."}]} or {"source":"external","findings":[{"claim":"...","evidence":"..."}]}; source legal values are local | external';
1339
+ case "world-knowledge-report":
1340
+ return '{"discovery":"performed|caller-supplied-only|unavailable","facts":[{"claim":"...","evidence":"...","sources":["URL or document id"]}],"synthesis":["comparison or advisory conclusion"],"uncertainties":["..."],"followUpVerification":["..."]}';
1280
1341
  case "mutation-report":
1281
1342
  return '{"mutatedPaths":["src/file.ts"],"validations":[{"name":"npm test","passed":true,"evidence":"exit 0"}],"commitMessage":"optional: the commit message for this change","summary":"optional: one line"}';
1282
1343
  case "provenance-report":
@@ -1349,6 +1410,7 @@ var RECIPE_DECLARABLE_KINDS = [
1349
1410
  "council-report",
1350
1411
  "debugger-report",
1351
1412
  "research-report",
1413
+ "world-knowledge-report",
1352
1414
  "mutation-report",
1353
1415
  "provenance-report",
1354
1416
  "oracle-report",
@@ -1419,4 +1481,4 @@ export {
1419
1481
  parseResultContract,
1420
1482
  parseWorkerResultContract
1421
1483
  };
1422
- //# sourceMappingURL=chunk-PGF63K6I.js.map
1484
+ //# sourceMappingURL=chunk-B4OAX3SI.js.map
@@ -4,14 +4,14 @@ import {
4
4
  normalizeWriteBoundary,
5
5
  normalizeWriteBoundaryEntry,
6
6
  writeBoundaryCovers
7
- } from "./chunk-3F7VUY77.js";
7
+ } from "./chunk-2VIKGWFZ.js";
8
8
  import {
9
9
  asDirectoryPathBoundary,
10
10
  pathBoundaryEntryCovers
11
11
  } from "./chunk-HHV2GANA.js";
12
12
  import {
13
13
  atomicWrite
14
- } from "./chunk-MQXIVJ35.js";
14
+ } from "./chunk-HAXOFFRH.js";
15
15
  import {
16
16
  clioStateDir
17
17
  } from "./chunk-BYP5D4HI.js";
@@ -1199,4 +1199,4 @@ export {
1199
1199
  preflightWriteBoundaries,
1200
1200
  createWriteBoundaryEnforcer
1201
1201
  };
1202
- //# sourceMappingURL=chunk-W6NIE6OW.js.map
1202
+ //# sourceMappingURL=chunk-B4VEBZKF.js.map
@@ -1,30 +1,30 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  inspectEvidence
4
- } from "./chunk-I66ZTYNP.js";
4
+ } from "./chunk-AF4YM7Z4.js";
5
5
  import {
6
6
  TASK_MEMORY_CONTENT_MAX_CHARS,
7
7
  TASK_MEMORY_DEFAULT_KNOWLEDGE_CAP,
8
8
  TASK_MEMORY_DEFAULT_PROCEDURAL_CAP,
9
9
  TASK_MEMORY_TELEMETRY_FILE,
10
10
  parseTaskMemoryTelemetryRecord
11
- } from "./chunk-I66EAJFY.js";
11
+ } from "./chunk-2WZ546HR.js";
12
+ import {
13
+ canonicalizeExistingPath
14
+ } from "./chunk-ECH6PKUQ.js";
12
15
  import {
13
16
  createRedactionTally,
14
17
  redactSecretsText
15
18
  } from "./chunk-4BJ5BYCE.js";
16
- import {
17
- canonicalizeExistingPath
18
- } from "./chunk-ECH6PKUQ.js";
19
19
  import {
20
20
  ceilChars
21
- } from "./chunk-CWVRRIEI.js";
22
- import {
23
- clioStateDir
24
- } from "./chunk-BYP5D4HI.js";
21
+ } from "./chunk-NZMNUPZZ.js";
25
22
  import {
26
23
  safeResourceWrite
27
24
  } from "./chunk-WEPFGWHJ.js";
25
+ import {
26
+ clioStateDir
27
+ } from "./chunk-BYP5D4HI.js";
28
28
  import {
29
29
  init_esm_shims
30
30
  } from "./chunk-3R73A4XB.js";
@@ -1557,4 +1557,4 @@ export {
1557
1557
  taskMemoryTracePath,
1558
1558
  createTaskMemoryTrace
1559
1559
  };
1560
- //# sourceMappingURL=chunk-JBCS7CRR.js.map
1560
+ //# sourceMappingURL=chunk-BEPZRGGU.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
  enabledExtensionResourceRoots
4
- } from "./chunk-HLAFFSEK.js";
4
+ } from "./chunk-7DRAWPTZ.js";
5
5
  import {
6
6
  require_dist
7
7
  } from "./chunk-APJ265NV.js";
@@ -120,4 +120,4 @@ export {
120
120
  splitYamlFrontmatter,
121
121
  stringField
122
122
  };
123
- //# sourceMappingURL=chunk-XGDPUNND.js.map
123
+ //# sourceMappingURL=chunk-CE5AX47J.js.map
@@ -465,18 +465,25 @@ function editorTheme(theme) {
465
465
  // src/interactive/theme/labels.ts
466
466
  init_esm_shims();
467
467
  function abbreviateModelId(modelId) {
468
- const base = (modelId ?? "").trim().split("/").filter(Boolean).pop() ?? "";
468
+ const segments = (modelId ?? "").trim().split("/").filter(Boolean);
469
+ const base = segments.pop() ?? "";
469
470
  if (base.length === 0) return "model";
471
+ const prefix = segments[0];
472
+ const maxLeaf = prefix ? Math.max(8, 24 - prefix.length - 1) : 18;
470
473
  const parts = base.split("-").filter((part) => part.length > 0);
471
- if (parts.length <= 1) return base.length > 18 ? base.slice(0, 18) : base;
472
- const kept = [];
473
- for (const part of parts) {
474
- const next = [...kept, part].join("-");
475
- if (kept.length > 0 && next.length > 18) break;
476
- kept.push(part);
474
+ let leaf;
475
+ if (parts.length <= 1) leaf = base.length > maxLeaf ? base.slice(0, maxLeaf) : base;
476
+ else {
477
+ const kept = [];
478
+ for (const part of parts) {
479
+ const next = [...kept, part].join("-");
480
+ if (kept.length > 0 && next.length > maxLeaf) break;
481
+ kept.push(part);
482
+ }
483
+ const joined = kept.join("-");
484
+ leaf = joined.length > maxLeaf ? joined.slice(0, maxLeaf) : joined;
477
485
  }
478
- const joined = kept.join("-");
479
- return joined.length > 18 ? joined.slice(0, 18) : joined;
486
+ return prefix ? `${prefix}/${leaf}` : leaf;
480
487
  }
481
488
  function formatTargetLabel(targetId, modelId, options = {}) {
482
489
  const target = (targetId ?? "").trim();
@@ -2497,4 +2504,4 @@ export {
2497
2504
  formatPlatformKeybindingNotice,
2498
2505
  createKeybindingManager
2499
2506
  };
2500
- //# sourceMappingURL=chunk-I64IFBLB.js.map
2507
+ //# sourceMappingURL=chunk-DWUOQKRU.js.map
@@ -3,10 +3,10 @@ import {
3
3
  fleetLoopCheckStepId,
4
4
  fleetLoopRepairStepId,
5
5
  fleetStepWriteBoundary
6
- } from "./chunk-3F7VUY77.js";
6
+ } from "./chunk-2VIKGWFZ.js";
7
7
  import {
8
8
  resultContractShape
9
- } from "./chunk-PGF63K6I.js";
9
+ } from "./chunk-B4OAX3SI.js";
10
10
  import {
11
11
  init_esm_shims
12
12
  } from "./chunk-3R73A4XB.js";
@@ -435,4 +435,4 @@ export {
435
435
  spliceExecutionPlan,
436
436
  compileFleetExecutionPlan
437
437
  };
438
- //# sourceMappingURL=chunk-DZAW46HP.js.map
438
+ //# sourceMappingURL=chunk-E3TPLWFX.js.map
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-H7IXIC72.js";
6
6
  import {
7
7
  isAgentCapabilityClass
8
- } from "./chunk-PGF63K6I.js";
8
+ } from "./chunk-B4OAX3SI.js";
9
9
  import {
10
10
  init_esm_shims
11
11
  } from "./chunk-3R73A4XB.js";
@@ -995,4 +995,4 @@ export {
995
995
  routingIntentRejection,
996
996
  explainRouteDecision
997
997
  };
998
- //# sourceMappingURL=chunk-HIICAHCJ.js.map
998
+ //# sourceMappingURL=chunk-EKCHAPYA.js.map
@@ -4,31 +4,31 @@ import {
4
4
  listChecks,
5
5
  runProjectCheck,
6
6
  runScriptCheck
7
- } from "./chunk-MCMZMDAC.js";
7
+ } from "./chunk-V2ANDPVT.js";
8
8
  import {
9
9
  BROWSER_MODES,
10
10
  maxOutputArg,
11
11
  prepareVerifyArguments,
12
12
  timeoutArg,
13
13
  verifyToolSurface
14
- } from "./chunk-7BHIY2MW.js";
14
+ } from "./chunk-ZDN3Y73Y.js";
15
15
  import {
16
16
  escapeRegExp
17
17
  } from "./chunk-VG7TBQIY.js";
18
18
  import {
19
19
  resolveReadPath
20
20
  } from "./chunk-OQE5J4C6.js";
21
- import {
22
- truncateUtf8
23
- } from "./chunk-6XLNIQDB.js";
24
21
  import {
25
22
  VERIFICATION_SCRIPT_FAMILY_HINT,
26
23
  isVerificationScriptName
27
24
  } from "./chunk-UL3WSD3F.js";
25
+ import {
26
+ truncateUtf8
27
+ } from "./chunk-6XLNIQDB.js";
28
28
  import {
29
29
  combineSafeOutput,
30
30
  runCommandVector
31
- } from "./chunk-HJWWJ6IL.js";
31
+ } from "./chunk-JSC3U7TI.js";
32
32
  import {
33
33
  init_esm_shims
34
34
  } from "./chunk-3R73A4XB.js";
@@ -633,4 +633,4 @@ var verifyTool = {
633
633
  export {
634
634
  verifyTool
635
635
  };
636
- //# sourceMappingURL=chunk-XE3PCIXH.js.map
636
+ //# sourceMappingURL=chunk-F5JHEYZM.js.map
@@ -700,7 +700,7 @@ function parseTrackedMetrics(value, source) {
700
700
  reasoningTokens: readSourcedNullableNumber(record.reasoningTokens, `${source}.reasoningTokens`),
701
701
  toolCalls: readSourcedNumber(record.toolCalls, `${source}.toolCalls`),
702
702
  toolErrors: readSourcedNumber(record.toolErrors, `${source}.toolErrors`),
703
- ttftMsFirstCall: readSourcedNumber(record.ttftMsFirstCall, `${source}.ttftMsFirstCall`),
703
+ ttftMsFirstCall: readSourcedNullableNumber(record.ttftMsFirstCall, `${source}.ttftMsFirstCall`),
704
704
  wallClockMs: readSourcedNumber(record.wallClockMs, `${source}.wallClockMs`),
705
705
  contextTokensAtEnd: readSourcedNumber(record.contextTokensAtEnd, `${source}.contextTokensAtEnd`),
706
706
  compactions: readSourcedNumber(record.compactions, `${source}.compactions`),
@@ -1526,4 +1526,4 @@ export {
1526
1526
  loadEvalArtifactV4,
1527
1527
  parseEvalArtifactV4
1528
1528
  };
1529
- //# sourceMappingURL=chunk-5PFYMY2V.js.map
1529
+ //# sourceMappingURL=chunk-FTMGRKEF.js.map
@@ -1,7 +1,13 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  parseAgentRecipeSchema
4
- } from "./chunk-CRFOIAX3.js";
4
+ } from "./chunk-RRNP2ANY.js";
5
+ import {
6
+ parseFleetContract
7
+ } from "./chunk-2VIKGWFZ.js";
8
+ import {
9
+ parseFrontmatter
10
+ } from "./chunk-RKKLTLYB.js";
5
11
  import {
6
12
  discoverMarketplaceSkills,
7
13
  expandSkillInvocationInput,
@@ -9,7 +15,7 @@ import {
9
15
  loadSkills,
10
16
  parsePendingSkillRequests,
11
17
  projectCompatTrusted
12
- } from "./chunk-O3YUNJZ2.js";
18
+ } from "./chunk-LDJG7DW3.js";
13
19
  import {
14
20
  normalizedSkillHash
15
21
  } from "./chunk-NDDGJUXD.js";
@@ -19,39 +25,33 @@ import {
19
25
  sourceInfoForRoot,
20
26
  splitYamlFrontmatter,
21
27
  stringField
22
- } from "./chunk-XGDPUNND.js";
23
- import {
24
- parseFleetContract
25
- } from "./chunk-3F7VUY77.js";
26
- import {
27
- parseFrontmatter
28
- } from "./chunk-RKKLTLYB.js";
28
+ } from "./chunk-CE5AX47J.js";
29
29
  import {
30
30
  assertAgentSpecPolicy,
31
31
  normalizeAgentSpec
32
- } from "./chunk-PGF63K6I.js";
32
+ } from "./chunk-B4OAX3SI.js";
33
33
  import {
34
34
  INTEROP_AGENT_KINDS
35
- } from "./chunk-IHXBNWMM.js";
35
+ } from "./chunk-KXDSS5WJ.js";
36
36
  import {
37
37
  readSettings,
38
38
  updateSettings
39
- } from "./chunk-34BHNEE3.js";
39
+ } from "./chunk-GHS5EBTQ.js";
40
40
  import {
41
41
  runCommandVector
42
- } from "./chunk-HJWWJ6IL.js";
42
+ } from "./chunk-JSC3U7TI.js";
43
43
  import {
44
44
  expandConfigPath
45
45
  } from "./chunk-336NSSKI.js";
46
46
  import {
47
47
  require_dist
48
48
  } from "./chunk-APJ265NV.js";
49
- import {
50
- clioConfigDir
51
- } from "./chunk-BYP5D4HI.js";
52
49
  import {
53
50
  safeResourceWrite
54
51
  } from "./chunk-WEPFGWHJ.js";
52
+ import {
53
+ clioConfigDir
54
+ } from "./chunk-BYP5D4HI.js";
55
55
  import {
56
56
  __toESM,
57
57
  init_esm_shims
@@ -908,4 +908,4 @@ export {
908
908
  ResourcesDomainModule,
909
909
  createResourcesDomainModule
910
910
  };
911
- //# sourceMappingURL=chunk-ZNT2M6TG.js.map
911
+ //# sourceMappingURL=chunk-G76U63X4.js.map
@@ -2,9 +2,6 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  warnLegacyNaming
4
4
  } from "./chunk-D7E7WCDF.js";
5
- import {
6
- MAX_TIMER_DELAY_MS
7
- } from "./chunk-EBY63B7G.js";
8
5
  import {
9
6
  ACTIVE_AGENT_AUTOMATION_ROLES,
10
7
  ACTIVE_ROUTING_POSTURES,
@@ -14,19 +11,22 @@ import {
14
11
  THEME_NAMED_COLORS,
15
12
  THINKING_LEVELS
16
13
  } from "./chunk-UXCU4E3T.js";
14
+ import {
15
+ MAX_TIMER_DELAY_MS
16
+ } from "./chunk-EBY63B7G.js";
17
17
  import {
18
18
  withStateFileLockSync
19
19
  } from "./chunk-IKCO5N3L.js";
20
20
  import {
21
21
  require_dist
22
22
  } from "./chunk-APJ265NV.js";
23
+ import {
24
+ safeResourceWrite
25
+ } from "./chunk-WEPFGWHJ.js";
23
26
  import {
24
27
  clioConfigDir,
25
28
  resolveClioDirs
26
29
  } from "./chunk-BYP5D4HI.js";
27
- import {
28
- safeResourceWrite
29
- } from "./chunk-WEPFGWHJ.js";
30
30
  import {
31
31
  __toESM,
32
32
  init_esm_shims
@@ -393,6 +393,52 @@ function validateLmStudioSettings(issues, path, value) {
393
393
  }
394
394
  return Object.keys(out).length > 0 ? out : void 0;
395
395
  }
396
+ function validateLiteLLMSettings(issues, path, value) {
397
+ if (!isPlainObject(value)) {
398
+ issues.add(path, `expected a map, got ${describe(value)}`);
399
+ return void 0;
400
+ }
401
+ issues.unknownKeys(path, value, ["request"]);
402
+ const out = {};
403
+ if ("request" in value) {
404
+ if (!isPlainObject(value.request)) {
405
+ issues.add(`${path}.request`, `expected a map, got ${describe(value.request)}`);
406
+ } else {
407
+ issues.unknownKeys(`${path}.request`, value.request, [
408
+ "tags",
409
+ "sendSessionId",
410
+ "timeoutSeconds",
411
+ "streamTimeoutSeconds",
412
+ "numRetries"
413
+ ]);
414
+ const request = {};
415
+ if ("tags" in value.request) {
416
+ const parsed = expectStringArray(issues, `${path}.request.tags`, value.request.tags);
417
+ if (parsed !== void 0) {
418
+ const invalidTag = parsed.find((tag) => tag.includes(","));
419
+ if (invalidTag) issues.add(`${path}.request.tags`, "tags may not contain commas");
420
+ else if (parsed.length > 0) request.tags = [...new Set(parsed)];
421
+ }
422
+ }
423
+ if ("sendSessionId" in value.request) {
424
+ const parsed = expectBoolean(issues, `${path}.request.sendSessionId`, value.request.sendSessionId);
425
+ if (parsed !== void 0) request.sendSessionId = parsed;
426
+ }
427
+ for (const key of ["timeoutSeconds", "streamTimeoutSeconds"]) {
428
+ if (key in value.request) {
429
+ const parsed = expectNumber(issues, `${path}.request.${key}`, value.request[key], { min: 1e-3, max: 86400 });
430
+ if (parsed !== void 0) request[key] = parsed;
431
+ }
432
+ }
433
+ if ("numRetries" in value.request) {
434
+ const parsed = expectInteger(issues, `${path}.request.numRetries`, value.request.numRetries, { min: 0, max: 100 });
435
+ if (parsed !== void 0) request.numRetries = parsed;
436
+ }
437
+ if (Object.keys(request).length > 0) out.request = request;
438
+ }
439
+ }
440
+ return Object.keys(out).length > 0 ? out : void 0;
441
+ }
396
442
  function validateTarget(issues, path, value) {
397
443
  if (!isPlainObject(value)) {
398
444
  issues.add(path, `expected a map, got ${describe(value)}`);
@@ -410,6 +456,7 @@ function validateTarget(issues, path, value) {
410
456
  "gateway",
411
457
  "pricing",
412
458
  "lmstudio",
459
+ "litellm",
413
460
  "maxConcurrentRequests"
414
461
  ]);
415
462
  const id = "id" in value ? expectString(issues, `${path}.id`, value.id) : void 0;
@@ -461,6 +508,10 @@ function validateTarget(issues, path, value) {
461
508
  const v = validateLmStudioSettings(issues, `${path}.lmstudio`, value.lmstudio);
462
509
  if (v !== void 0) target.lmstudio = v;
463
510
  }
511
+ if ("litellm" in value) {
512
+ const v = validateLiteLLMSettings(issues, `${path}.litellm`, value.litellm);
513
+ if (v !== void 0) target.litellm = v;
514
+ }
464
515
  if ("maxConcurrentRequests" in value) {
465
516
  const v = expectInteger(issues, `${path}.maxConcurrentRequests`, value.maxConcurrentRequests, { min: 1 });
466
517
  if (v !== void 0) target.maxConcurrentRequests = v;
@@ -1843,4 +1894,4 @@ export {
1843
1894
  removeFleetProfileFromSettings,
1844
1895
  bindAgentProfileInSettings
1845
1896
  };
1846
- //# sourceMappingURL=chunk-34BHNEE3.js.map
1897
+ //# sourceMappingURL=chunk-GHS5EBTQ.js.map