@iowarp/clio-coder 0.4.1 → 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 (604) hide show
  1. package/CHANGELOG.md +127 -0
  2. package/CONTRIBUTING.md +142 -52
  3. package/README.md +434 -473
  4. package/SECURITY.md +2 -1
  5. package/dist/{acp-ZILU3AUO.js → acp-H2NGRPWO.js} +12 -12
  6. package/dist/{agents-HYWGBGQR.js → agents-TL5LLUQP.js} +56 -55
  7. package/dist/assets/codewiki.json +1 -1
  8. package/dist/{auth-N3QT7CBO.js → auth-E5SW4HMS.js} +23 -21
  9. package/dist/builtins-IA7V7FUC.js +22 -0
  10. package/dist/{chunk-7RY5VZPH.js → chunk-2APPQIER.js} +8 -8
  11. package/dist/{chunk-72GZI5EV.js → chunk-2JH2WHGE.js} +2 -2
  12. package/dist/{chunk-JA5QWE4Z.js → chunk-2UG5F4C5.js} +1973 -1664
  13. package/dist/{chunk-5YHDIDBP.js → chunk-2UH2KFUP.js} +2 -2
  14. package/dist/{chunk-CTJ4RNAA.js → chunk-2VIKGWFZ.js} +2 -2
  15. package/dist/{chunk-I66EAJFY.js → chunk-2WZ546HR.js} +267 -232
  16. package/dist/{chunk-GIZNH63R.js → chunk-35MSIRKH.js} +9 -4
  17. package/dist/chunk-3EBYEESD.js +314 -0
  18. package/dist/{chunk-J5LZHVIT.js → chunk-3M6DQK6S.js} +113 -35
  19. package/dist/{chunk-RKSR6VSF.js → chunk-4IUZQIJ3.js} +29 -1
  20. package/dist/{chunk-6FN3E6KX.js → chunk-4O6MANBS.js} +2 -2
  21. package/dist/chunk-4UVU7BJ5.js +39 -0
  22. package/dist/{chunk-VKRH2TCS.js → chunk-4WR7VSYB.js} +2 -2
  23. package/dist/{chunk-BBTJOK6Y.js → chunk-54CBCGIR.js} +5 -5
  24. package/dist/{chunk-AP73CFDC.js → chunk-5ICU3EUH.js} +2 -2
  25. package/dist/chunk-5MEZN6CB.js +1334 -0
  26. package/dist/{chunk-O42A54GG.js → chunk-5OIVVPHF.js} +2 -2
  27. package/dist/{chunk-ABLSQ6JX.js → chunk-64I3JVYM.js} +8 -2
  28. package/dist/{chunk-AFKWHWXF.js → chunk-6PTFB5VS.js} +39 -22
  29. package/dist/{chunk-VN3SHNBN.js → chunk-7DICMOS6.js} +2 -2
  30. package/dist/chunk-7DRAWPTZ.js +360 -0
  31. package/dist/chunk-7E7I3WLS.js +3762 -0
  32. package/dist/{chunk-BJGUKIG4.js → chunk-7ZYNNDKC.js} +7 -7
  33. package/dist/{chunk-XKA2ICR3.js → chunk-AF4YM7Z4.js} +652 -252
  34. package/dist/{chunk-GVQJ5CCZ.js → chunk-AX2THNSA.js} +12 -12
  35. package/dist/{chunk-IG7BCQBA.js → chunk-B4OAX3SI.js} +65 -3
  36. package/dist/{chunk-TD3PGPQA.js → chunk-B4VEBZKF.js} +3 -3
  37. package/dist/{chunk-74YWRRU5.js → chunk-BEPZRGGU.js} +10 -10
  38. package/dist/{chunk-FEFIFZTL.js → chunk-CE5AX47J.js} +2 -2
  39. package/dist/{chunk-UAPGZHYC.js → chunk-DWUOQKRU.js} +25 -11
  40. package/dist/{chunk-THYWACCR.js → chunk-E3TPLWFX.js} +3 -3
  41. package/dist/{chunk-7EPLI7VL.js → chunk-EKCHAPYA.js} +2 -2
  42. package/dist/{chunk-HLW2MRKE.js → chunk-F4EKGO4N.js} +3 -1
  43. package/dist/{chunk-PJJ6MY27.js → chunk-F5JHEYZM.js} +7 -7
  44. package/dist/{chunk-6CCS4G3W.js → chunk-FTMGRKEF.js} +3 -3
  45. package/dist/{chunk-SINK3QR6.js → chunk-G76U63X4.js} +17 -17
  46. package/dist/{chunk-EIMVLWB3.js → chunk-GHS5EBTQ.js} +64 -9
  47. package/dist/{chunk-QMXC4JB7.js → chunk-GI7YYQ3F.js} +187 -1419
  48. package/dist/{chunk-TZSKNMZG.js → chunk-GTUD2WMY.js} +2 -1
  49. package/dist/{chunk-6HMJX2VU.js → chunk-GWZNEVM2.js} +44 -12
  50. package/dist/chunk-GYV6VZOC.js +26 -0
  51. package/dist/{chunk-MQXIVJ35.js → chunk-HAXOFFRH.js} +5 -5
  52. package/dist/{chunk-UXN6JT4W.js → chunk-HEQY7ZFI.js} +3 -3
  53. package/dist/{chunk-7PWAODYW.js → chunk-I7XBWTYH.js} +2 -2
  54. package/dist/{chunk-GCSMB2KY.js → chunk-I7ZPNEJM.js} +145 -102
  55. package/dist/{chunk-WNP7O5WZ.js → chunk-ID64D7PE.js} +4 -4
  56. package/dist/{chunk-QTFGO774.js → chunk-IGLP3ODT.js} +29 -16
  57. package/dist/chunk-IJNZMHLA.js +101 -0
  58. package/dist/{chunk-BDPT6GTK.js → chunk-INY6HTFL.js} +7 -7
  59. package/dist/{chunk-PBP4B7XR.js → chunk-IUE3Y34X.js} +2 -2
  60. package/dist/{chunk-6NJQITNH.js → chunk-IWT4SF4R.js} +6 -3
  61. package/dist/{chunk-R23Z6K6I.js → chunk-JDAY6FIL.js} +19 -19
  62. package/dist/chunk-JEQ3XTHC.js +42 -0
  63. package/dist/{chunk-FSP7CMNU.js → chunk-JGRC33J2.js} +50 -4
  64. package/dist/{chunk-TVH4ONAM.js → chunk-JKKCYP3C.js} +10 -10
  65. package/dist/{chunk-HJWWJ6IL.js → chunk-JSC3U7TI.js} +16 -4
  66. package/dist/{chunk-C537JADH.js → chunk-KK4JZPBQ.js} +19 -141
  67. package/dist/{chunk-K6BF4U2H.js → chunk-KKOJXO6R.js} +62 -14
  68. package/dist/{chunk-IHXBNWMM.js → chunk-KXDSS5WJ.js} +7 -3
  69. package/dist/{chunk-6DWBAZ5U.js → chunk-L47TF46W.js} +5 -7
  70. package/dist/{chunk-HUAS7ITX.js → chunk-LDJG7DW3.js} +91 -42
  71. package/dist/{chunk-CDNVLKUX.js → chunk-LLDJM5XK.js} +13 -7
  72. package/dist/{chunk-YPI3QQCF.js → chunk-MCEPRMZW.js} +2 -4
  73. package/dist/{chunk-Y4CAGMM6.js → chunk-MNJGS2IN.js} +5 -6
  74. package/dist/{chunk-VKFQTNDV.js → chunk-MUW2BDDH.js} +4 -4
  75. package/dist/{chunk-E67WX76H.js → chunk-MWUZBSAQ.js} +104 -152
  76. package/dist/{chunk-OJTRZGR3.js → chunk-N2Z7HLVY.js} +21 -21
  77. package/dist/{chunk-TVHHYFHE.js → chunk-NEDJ26B5.js} +2 -2
  78. package/dist/{chunk-FYUN5KZ3.js → chunk-NIQJ66N4.js} +21 -21
  79. package/dist/{chunk-U2WB7TZS.js → chunk-NMJXSHBJ.js} +97 -85
  80. package/dist/{chunk-CWVRRIEI.js → chunk-NZMNUPZZ.js} +2 -2
  81. package/dist/{chunk-VEGN6WIQ.js → chunk-O5CVSAG5.js} +3 -3
  82. package/dist/{chunk-MOPSG2X7.js → chunk-OML5D5V5.js} +8 -8
  83. package/dist/{chunk-2VG7KLYV.js → chunk-PAJQJ7BS.js} +5816 -3255
  84. package/dist/{chunk-ZW55JB7N.js → chunk-PUVDKJ2Y.js} +2 -2
  85. package/dist/{chunk-BTGG6BG2.js → chunk-QWGDJJYJ.js} +158 -19
  86. package/dist/chunk-R6Q67RJH.js +134 -0
  87. package/dist/{chunk-ZJLUDYFY.js → chunk-RRNP2ANY.js} +6 -6
  88. package/dist/{chunk-PVAMAVBB.js → chunk-RSJ25QSL.js} +102 -2
  89. package/dist/{chunk-NLFAQR7Z.js → chunk-S66XZJOF.js} +3 -23
  90. package/dist/chunk-SKHCAU7K.js +385 -0
  91. package/dist/chunk-SZAA6XDG.js +30 -0
  92. package/dist/{chunk-J4HBWF6Y.js → chunk-TM6LQDI3.js} +131 -28
  93. package/dist/chunk-UOIZ7DA4.js +41 -0
  94. package/dist/{chunk-MA3H6DM5.js → chunk-UPZU6GE4.js} +25 -3
  95. package/dist/{chunk-BWW4HLO4.js → chunk-UXCU4E3T.js} +8 -6
  96. package/dist/{chunk-N5UK64DP.js → chunk-V2ANDPVT.js} +4 -4
  97. package/dist/{chunk-AK5XEFVZ.js → chunk-VA5FNYMT.js} +26 -13
  98. package/dist/{chunk-6VC4OV3Z.js → chunk-VIA6RFQZ.js} +3 -11
  99. package/dist/{chunk-ZAZB4JMW.js → chunk-VKPAQYEB.js} +27 -8
  100. package/dist/{chunk-QKIFBZKT.js → chunk-VW6DOEDG.js} +497 -81
  101. package/dist/{chunk-SCYB3HA4.js → chunk-W6RRQCPQ.js} +63 -19
  102. package/dist/{chunk-2NM363SV.js → chunk-WBKFA554.js} +10 -10
  103. package/dist/{chunk-R32CLGZ6.js → chunk-WCXUNS7U.js} +82 -21
  104. package/dist/{chunk-GPPB3JBE.js → chunk-WRBAGUNF.js} +3 -3
  105. package/dist/{chunk-IXJT6DCX.js → chunk-XIVNBFZS.js} +85 -30
  106. package/dist/{chunk-UEDMSP56.js → chunk-XPWWI35G.js} +417 -201
  107. package/dist/chunk-XRZT5WY5.js +47 -0
  108. package/dist/{chunk-3QSOM6PA.js → chunk-Y3CBHOR6.js} +2 -2
  109. package/dist/{chunk-VXMFAE2W.js → chunk-YPC6ZR5L.js} +19 -6
  110. package/dist/{chunk-AKB4GYDL.js → chunk-YQWYVTMC.js} +5 -5
  111. package/dist/{chunk-6I5ILFOF.js → chunk-ZA4VCIGV.js} +3 -3
  112. package/dist/{chunk-7OBGU7UB.js → chunk-ZDN3Y73Y.js} +12 -18
  113. package/dist/{chunk-3I5NY75V.js → chunk-ZWPRK62N.js} +8 -5
  114. package/dist/cli/index.js +41 -39
  115. package/dist/{clio-IT3G3VQH.js → clio-CMMK4KRR.js} +9 -9
  116. package/dist/{code-nav-RK6S7F6E.js → code-nav-MDZNQS33.js} +89 -21
  117. package/dist/{components-UBWCQSRW.js → components-UCUQ4QXW.js} +4 -4
  118. package/dist/{config-3QZRWZJF.js → config-SVM5P5YI.js} +131 -84
  119. package/dist/{configure-FL7Y3KJF.js → configure-LE3IK2TJ.js} +28 -26
  120. package/dist/{context-5HE7ODYK.js → context-2OHRKS42.js} +69 -64
  121. package/dist/{context-KYQFRVDC.js → context-E3VC7RX5.js} +15 -11
  122. package/dist/{context-XNHL75JV.js → context-VNCR7KAG.js} +93 -65
  123. package/dist/{context-clear-N545L53A.js → context-clear-BW4O37TG.js} +64 -60
  124. package/dist/context-map-COB37XXN.js +505 -0
  125. package/dist/{context-working-set-QHKXSV2F.js → context-working-set-VDS25HXZ.js} +19 -18
  126. package/dist/{dispatch-runner-RGIE5PCT.js → dispatch-runner-5AHT53RF.js} +93 -82
  127. package/dist/{docs-5NAF6AU7.js → docs-PD3EXDKU.js} +21 -20
  128. package/dist/{doctor-ZGPEGHIP.js → doctor-WNNVO6FY.js} +48 -47
  129. package/dist/{eval-GXLL44RD.js → eval-7G7SGAYO.js} +287 -115
  130. package/dist/{eval-inventory-HBWSWQOK.js → eval-inventory-Y6QRFOH5.js} +4 -4
  131. package/dist/{evidence-HWLBRH3Q.js → evidence-VD6736FQ.js} +67 -64
  132. package/dist/{evolve-FTZBMNVW.js → evolve-AL3NGVRL.js} +65 -62
  133. package/dist/{extensions-VHRBEID7.js → extensions-MOVJ32NM.js} +9 -7
  134. package/dist/{fleet-CKZHJWZJ.js → fleet-QZHUMAGI.js} +114 -111
  135. package/dist/{fleet-commands-EXDXBMV6.js → fleet-commands-BAYT5FJZ.js} +10 -10
  136. package/dist/{fleet-decisions-OTHB6KRL.js → fleet-decisions-IREVMRU4.js} +7 -6
  137. package/dist/{fleet-graph-YTEZUCUT.js → fleet-graph-YCTT3HTI.js} +22 -19
  138. package/dist/{fleet-inspect-SS6YMDCK.js → fleet-inspect-QVJTDAVB.js} +58 -55
  139. package/dist/{fleet-preflight-PBY4VYOM.js → fleet-preflight-25QAFPK4.js} +4 -4
  140. package/dist/{fleet-validate-KMEM5L3S.js → fleet-validate-5O57AAJ7.js} +26 -23
  141. package/dist/{fleet-verify-QD5M7E7Q.js → fleet-verify-CPH2W2T6.js} +59 -56
  142. package/dist/{fleet-view-WAMJYNDT.js → fleet-view-SWBR3VGQ.js} +58 -55
  143. package/dist/{init-5XQRBOFV.js → init-J477LKZH.js} +82 -79
  144. package/dist/{interop-34TVO25M.js → interop-3FCM6XLG.js} +11 -11
  145. package/dist/{library-3QY6KF57.js → library-QUQEIUG6.js} +30 -27
  146. package/dist/{memory-L4UTIIIW.js → memory-SGGSEP65.js} +67 -64
  147. package/dist/{models-ZVX3QOWE.js → models-HEKUAXXK.js} +53 -46
  148. package/dist/{monitor-CEKVSYTS.js → monitor-HKU57TYQ.js} +63 -60
  149. package/dist/{orchestrator-77BAP6BC.js → orchestrator-VDFAEFAI.js} +1831 -1057
  150. package/dist/{panes-7STHOAUJ.js → panes-DN2SSFOH.js} +5 -5
  151. package/dist/{panes-SHAUIRXY.js → panes-TALGNPZT.js} +29 -14
  152. package/dist/{paths-L7LGY6RN.js → paths-NBMFAIEZ.js} +5 -5
  153. package/dist/reset-EAJFFJVB.js +344 -0
  154. package/dist/{resources-74GKTLSF.js → resources-OVKSEFVE.js} +29 -20
  155. package/dist/{run-HBAUJNNZ.js → run-7DP7ZF2J.js} +120 -115
  156. package/dist/{share-G3APVLVP.js → share-WML67FT3.js} +32 -27
  157. package/dist/{skills-35HHUKCR.js → skills-SG662R2K.js} +41 -31
  158. package/dist/{skills-eval-QN4HSHDC.js → skills-eval-VVZEUU46.js} +78 -77
  159. package/dist/{skills-inventory-J357J34F.js → skills-inventory-I2E23GET.js} +23 -20
  160. package/dist/{slash-commands-JZZCQA32.js → slash-commands-S7MBJDQK.js} +40 -36
  161. package/dist/{steer-XAVHJM22.js → steer-2LQOMCPB.js} +3 -3
  162. package/dist/{support-U7QOWY26.js → support-CC2UJBJ6.js} +6 -6
  163. package/dist/{targets-DSM6CY3M.js → targets-4QC3HIEW.js} +54 -54
  164. package/dist/{terminal-lease-JOPFUVEM.js → terminal-lease-TUHIJ6Y2.js} +5 -5
  165. package/dist/{tools-MKNWVPBH.js → tools-TFGJICCU.js} +10 -10
  166. package/dist/{trace-ECQ7TIYZ.js → trace-FXMXUZUF.js} +55 -7
  167. package/dist/uninstall-5PEVOE5B.js +408 -0
  168. package/dist/upgrade-M4WXY6KN.js +303 -0
  169. package/dist/{usage-X52N3IDJ.js → usage-N7ZNVLEM.js} +151 -104
  170. package/dist/{verifiers-EJTVVSMA.js → verifiers-DJTP4XX6.js} +15 -15
  171. package/dist/{verify-YJL6XET2.js → verify-RWE4PPEK.js} +9 -9
  172. package/dist/{web-fetch-MPIFL3LL.js → web-fetch-MPARV2K7.js} +2 -2
  173. package/dist/{wiki-generate-4NDZTQ4B.js → wiki-generate-C7IQOXSP.js} +89 -86
  174. package/dist/{with-panes-OBOBFIIR.js → with-panes-4GCGSL7J.js} +53 -257
  175. package/dist/worker/entry.js +90 -74
  176. package/docs/README.md +176 -81
  177. package/docs/{acp.md → architecture/acp.md} +36 -20
  178. package/docs/{alcf-provider.md → architecture/alcf-provider.md} +8 -5
  179. package/docs/{architecture.md → architecture/architecture.md} +43 -22
  180. package/docs/{artifact-placement.md → architecture/artifact-placement.md} +27 -23
  181. package/docs/architecture/artifact-versions.md +90 -0
  182. package/docs/{capacity-and-scheduling.md → architecture/capacity-and-scheduling.md} +26 -13
  183. package/docs/{context-engine.md → architecture/context-engine.md} +29 -25
  184. package/docs/{context-working-set.md → architecture/context-working-set.md} +13 -10
  185. package/docs/{dispatch-architecture-rationale.md → architecture/dispatch-architecture-rationale.md} +12 -9
  186. package/docs/{dispatch-typed-intent.md → architecture/dispatch-typed-intent.md} +68 -46
  187. package/docs/{evidence-and-memory.md → architecture/evidence-and-memory.md} +23 -16
  188. package/docs/{middleware-and-components.md → architecture/middleware-and-components.md} +11 -5
  189. package/docs/{model-catalog.md → architecture/model-catalog.md} +61 -27
  190. package/docs/{observability.md → architecture/observability.md} +38 -14
  191. package/docs/{pi-boundary.md → architecture/pi-boundary.md} +24 -11
  192. package/docs/{prompt-envelope-and-tools.md → architecture/prompt-envelope-and-tools.md} +57 -20
  193. package/docs/{provider-adapter-cookbook.md → architecture/provider-adapter-cookbook.md} +99 -25
  194. package/docs/{safety-model.md → architecture/safety-model.md} +35 -20
  195. package/docs/{session-lifecycle.md → architecture/session-lifecycle.md} +8 -5
  196. package/docs/architecture/time-conventions.md +125 -0
  197. package/docs/{trace-store.md → architecture/trace-store.md} +13 -5
  198. package/docs/{tui-design.md → architecture/tui-design.md} +13 -13
  199. package/docs/{worker-dispatch-mechanics.md → architecture/worker-dispatch-mechanics.md} +27 -30
  200. package/docs/{built-in-agents.md → guide/built-in-agents.md} +65 -35
  201. package/docs/{commands-and-modes.md → guide/commands-and-modes.md} +66 -61
  202. package/docs/{configuration-and-targets.md → guide/configuration-and-targets.md} +323 -297
  203. package/docs/guide/configuration-reference.md +1163 -0
  204. package/docs/{environment-variables.md → guide/environment-variables.md} +33 -28
  205. package/docs/{exit-codes-and-output.md → guide/exit-codes-and-output.md} +6 -3
  206. package/docs/{extensions-and-sharing.md → guide/extensions-and-sharing.md} +41 -14
  207. package/docs/{fleet-dispatch.md → guide/fleet-dispatch.md} +39 -43
  208. package/docs/{glossary.md → guide/glossary.md} +14 -11
  209. package/docs/{installation-and-lifecycle.md → guide/installation-and-lifecycle.md} +81 -17
  210. package/docs/guide/panes-and-files.md +290 -0
  211. package/docs/{proactive-memory.md → guide/proactive-memory.md} +131 -107
  212. package/docs/{resource-library.md → guide/resource-library.md} +13 -4
  213. package/docs/{skills-marketplace.md → guide/skills-marketplace.md} +25 -3
  214. package/docs/{tool-usage.md → guide/tool-usage.md} +87 -23
  215. package/docs/{troubleshooting.md → guide/troubleshooting.md} +9 -4
  216. package/docs/{config-knobs-audit.md → history/config-knobs-audit.md} +11 -11
  217. package/docs/{release-cut-checklist.md → history/release-cut-checklist.md} +29 -2
  218. package/docs/process/development-pipeline.md +152 -0
  219. package/docs/process/documentation-coverage.md +100 -0
  220. package/docs/process/documentation-guide.md +187 -0
  221. package/docs/{eval-runner.md → process/eval-runner.md} +108 -53
  222. package/docs/{evals-internal.md → process/evals-internal.md} +10 -10
  223. package/docs/{evolution.md → process/evolution.md} +2 -2
  224. package/docs/{fleet-demo-runbook.md → process/fleet-demo-runbook.md} +11 -7
  225. package/docs/{git-commit-provenance.md → process/git-commit-provenance.md} +11 -4
  226. package/docs/{performance-methodology.md → process/performance-methodology.md} +87 -69
  227. package/docs/{scientific-validation.md → process/scientific-validation.md} +4 -4
  228. package/evals/README.md +2 -2
  229. package/evals/behavioral-model.yaml +3 -2
  230. package/package.json +10 -8
  231. package/skills/README.md +52 -41
  232. package/skills/coding/ast-grep/SKILL.md +102 -31
  233. package/skills/coding/ast-grep/evals.md +26 -0
  234. package/skills/coding/coding-standards/SKILL.md +41 -6
  235. package/skills/coding/coding-standards/evals.md +23 -0
  236. package/skills/coding/prototype/SKILL.md +88 -29
  237. package/skills/coding/prototype/evals.md +19 -0
  238. package/skills/coding/tdd/SKILL.md +81 -54
  239. package/skills/coding/tdd/evals.md +20 -0
  240. package/skills/context/context-handoff/SKILL.md +44 -3
  241. package/skills/context/context-handoff/evals.md +44 -0
  242. package/skills/context/context-prime/SKILL.md +46 -16
  243. package/skills/context/context-prime/evals.md +45 -0
  244. package/skills/git/branch-closeout/SKILL.md +132 -0
  245. package/skills/git/branch-closeout/evals.md +133 -0
  246. package/skills/git/branch-closeout/references/closeout-checklist.md +81 -0
  247. package/skills/git/file-ticket/SKILL.md +78 -64
  248. package/skills/git/file-ticket/assets/issue-template.md +22 -0
  249. package/skills/git/file-ticket/evals.md +31 -26
  250. package/skills/git/file-ticket/references/issue-discovery.md +49 -0
  251. package/skills/git/fix-issue/SKILL.md +88 -65
  252. package/skills/git/fix-issue/evals.md +35 -31
  253. package/skills/git/fix-issue/references/diagnosis-and-rca.md +46 -0
  254. package/skills/git/resolve-merge-conflicts/SKILL.md +101 -52
  255. package/skills/git/resolve-merge-conflicts/evals.md +52 -25
  256. package/skills/git/resolve-merge-conflicts/references/conflict-matrix.md +126 -0
  257. package/skills/git/ship/SKILL.md +103 -67
  258. package/skills/git/ship/assets/pr-template.md +21 -0
  259. package/skills/git/ship/evals.md +44 -28
  260. package/skills/git/ship/references/remote-and-branch-policy.md +62 -0
  261. package/skills/git/worktree-create/SKILL.md +80 -50
  262. package/skills/git/worktree-create/evals.md +40 -33
  263. package/skills/git/worktree-create/references/worktree-setup.md +62 -66
  264. package/skills/git/worktree-merge/SKILL.md +112 -65
  265. package/skills/git/worktree-merge/evals.md +42 -34
  266. package/skills/git/worktree-merge/references/merge-strategies.md +52 -0
  267. package/skills/meta/clio-coder-dev/SKILL.md +9 -5
  268. package/skills/meta/clio-coder-dev/evals.md +3 -2
  269. package/skills/meta/clio-coder-test/SKILL.md +102 -95
  270. package/skills/meta/clio-coder-test/evals.md +9 -4
  271. package/skills/meta/clio-coder-test/references/harness.md +100 -124
  272. package/skills/meta/clio-coder-test/references/test-map.md +77 -50
  273. package/skills/meta/credentials/SKILL.md +2 -2
  274. package/skills/meta/find-skills/SKILL.md +2 -2
  275. package/skills/meta/herdr/SKILL.md +2 -2
  276. package/skills/meta/skill-craft/SKILL.md +22 -16
  277. package/skills/planning/archify/SKILL.md +196 -0
  278. package/skills/planning/archify/evals.md +65 -0
  279. package/skills/planning/architecture/SKILL.md +62 -13
  280. package/skills/planning/architecture/evals.md +65 -0
  281. package/skills/planning/backlog/SKILL.md +131 -15
  282. package/skills/planning/backlog/evals.md +142 -0
  283. package/skills/planning/prd/SKILL.md +47 -7
  284. package/skills/planning/prd/evals.md +54 -0
  285. package/skills/planning/product-intent/SKILL.md +58 -3
  286. package/skills/planning/product-intent/evals.md +70 -0
  287. package/skills/planning/tech-spec/SKILL.md +54 -3
  288. package/skills/planning/tech-spec/evals.md +73 -0
  289. package/skills/registry.yaml +70 -62
  290. package/skills/remote.yaml +13 -0
  291. package/skills/research/arxiv-literature/SKILL.md +77 -19
  292. package/skills/research/arxiv-literature/evals.md +50 -0
  293. package/skills/research/experiment-protocol/SKILL.md +21 -2
  294. package/skills/research/experiment-protocol/evals.md +23 -0
  295. package/skills/research/scientific-debugging/SKILL.md +24 -2
  296. package/skills/research/scientific-debugging/evals.md +18 -0
  297. package/skills/research/scientific-modernization/SKILL.md +27 -2
  298. package/skills/research/scientific-modernization/evals.md +27 -0
  299. package/skills/skill-marketplace.json +97 -62
  300. package/skills/workflow/cut-it/SKILL.md +66 -6
  301. package/skills/workflow/cut-it/evals.md +101 -0
  302. package/skills/workflow/design-council/SKILL.md +118 -28
  303. package/skills/workflow/design-council/evals.md +161 -0
  304. package/skills/workflow/grill-me/SKILL.md +87 -11
  305. package/skills/workflow/grill-me/evals.md +153 -0
  306. package/skills/workflow/workflow-distiller/SKILL.md +77 -18
  307. package/skills/workflow/workflow-distiller/evals.md +118 -0
  308. package/src/cli/args.ts +2 -2
  309. package/src/cli/bootstrap-generate.ts +1 -1
  310. package/src/cli/config-inspect.ts +65 -12
  311. package/src/cli/configure-interop.ts +105 -13
  312. package/src/cli/configure-oauth.ts +57 -0
  313. package/src/cli/configure-onboarding.ts +980 -0
  314. package/src/cli/configure-target.ts +594 -0
  315. package/src/cli/configure.ts +1082 -532
  316. package/src/cli/context-map.ts +114 -0
  317. package/src/cli/context.ts +4 -0
  318. package/src/cli/docs.ts +22 -14
  319. package/src/cli/doctor-naming.ts +5 -5
  320. package/src/cli/doctor-toolchain.ts +3 -3
  321. package/src/cli/eval.ts +1 -2
  322. package/src/cli/extensions.ts +2 -1
  323. package/src/cli/fleet.ts +1 -1
  324. package/src/cli/index.ts +3 -1
  325. package/src/cli/internal-dispatch.ts +3 -4
  326. package/src/cli/lifecycle-presenter.ts +436 -0
  327. package/src/cli/models.ts +10 -2
  328. package/src/cli/modes/print.ts +5 -1
  329. package/src/cli/panes.ts +19 -5
  330. package/src/cli/reset.ts +228 -106
  331. package/src/cli/run.ts +9 -4
  332. package/src/cli/select.ts +664 -0
  333. package/src/cli/share.ts +5 -1
  334. package/src/cli/skills-eval.ts +3 -3
  335. package/src/cli/skills.ts +9 -2
  336. package/src/cli/targets.ts +5 -6
  337. package/src/cli/trace.ts +55 -4
  338. package/src/cli/uninstall.ts +233 -165
  339. package/src/cli/upgrade.ts +204 -149
  340. package/src/cli/usage.ts +86 -27
  341. package/src/cli/validate-model.ts +3 -3
  342. package/src/cli/wiki-generate.ts +1 -1
  343. package/src/core/artifact-paths.ts +1 -1
  344. package/src/core/bash-exec.ts +131 -86
  345. package/src/core/bus-events.ts +51 -6
  346. package/src/core/config.ts +61 -1
  347. package/src/core/defaults.ts +7 -4
  348. package/src/core/dispatch-outcome.ts +16 -0
  349. package/src/core/external-diagnostic.ts +44 -0
  350. package/src/core/gateway-routing.ts +157 -0
  351. package/src/core/guardrails.ts +10 -49
  352. package/src/core/prompt-hint.ts +9 -0
  353. package/src/core/safe-exec.ts +17 -2
  354. package/src/core/skill-activation.ts +89 -2
  355. package/src/domains/agents/builtins/architect.md +2 -3
  356. package/src/domains/agents/builtins/coder.md +3 -2
  357. package/src/domains/agents/builtins/debugger.md +2 -2
  358. package/src/domains/agents/builtins/documenter.md +2 -2
  359. package/src/domains/agents/builtins/git-master.md +1 -1
  360. package/src/domains/agents/builtins/oracle.md +1 -1
  361. package/src/domains/agents/builtins/provenance.md +1 -1
  362. package/src/domains/agents/builtins/researcher.md +1 -1
  363. package/src/domains/agents/builtins/scout.md +1 -1
  364. package/src/domains/agents/builtins/tester.md +2 -2
  365. package/src/domains/agents/builtins/verifier.md +2 -2
  366. package/src/domains/agents/builtins/wiki-writer.md +1 -1
  367. package/src/domains/agents/builtins/world-knowledge.md +31 -0
  368. package/src/domains/agents/catalog.ts +13 -15
  369. package/src/domains/agents/contract.ts +2 -0
  370. package/src/domains/agents/extension.ts +23 -1
  371. package/src/domains/agents/result-contract.ts +70 -0
  372. package/src/domains/config/keybindings.ts +8 -0
  373. package/src/domains/context/extension.ts +0 -3
  374. package/src/domains/context/wiki/map-seed.ts +589 -0
  375. package/src/domains/context/wiki/plan.ts +2 -2
  376. package/src/domains/context/working-set/path-index.ts +1 -0
  377. package/src/domains/dispatch/admission.ts +29 -0
  378. package/src/domains/dispatch/agent-candidates.ts +10 -0
  379. package/src/domains/dispatch/budget-envelope.ts +86 -1
  380. package/src/domains/dispatch/capability-match.ts +11 -0
  381. package/src/domains/dispatch/capacity-lease.ts +17 -0
  382. package/src/domains/dispatch/contract.ts +11 -1
  383. package/src/domains/dispatch/extension.ts +237 -49
  384. package/src/domains/dispatch/host-verification.ts +435 -39
  385. package/src/domains/dispatch/intent-requirements.ts +10 -0
  386. package/src/domains/dispatch/intent.ts +18 -1
  387. package/src/domains/dispatch/path-scope.ts +235 -24
  388. package/src/domains/dispatch/run-event-journal.ts +4 -15
  389. package/src/domains/dispatch/state.ts +2 -3
  390. package/src/domains/dispatch/transport.ts +45 -21
  391. package/src/domains/dispatch/types.ts +58 -3
  392. package/src/domains/dispatch/worker-model-metadata.ts +38 -0
  393. package/src/domains/eval/artifacts/store.ts +5 -0
  394. package/src/domains/eval/metrics/call-ledger-stream.ts +34 -11
  395. package/src/domains/eval/metrics/token-stream.ts +201 -31
  396. package/src/domains/eval/metrics/tracked.ts +40 -4
  397. package/src/domains/eval/runners/clio-run.ts +5 -2
  398. package/src/domains/eval/schema/suite.ts +28 -0
  399. package/src/domains/eval/schema/verdict.ts +2 -2
  400. package/src/domains/eval/store.ts +8 -1
  401. package/src/domains/eval/suites/resolve.ts +13 -1
  402. package/src/domains/eval/suites/run.ts +24 -3
  403. package/src/domains/evidence/trust-status.ts +10 -1
  404. package/src/domains/extensions/contract.ts +15 -1
  405. package/src/domains/extensions/discovery.ts +238 -41
  406. package/src/domains/extensions/extension.ts +105 -6
  407. package/src/domains/extensions/index.ts +24 -0
  408. package/src/domains/extensions/integrity.ts +189 -0
  409. package/src/domains/extensions/manager.ts +17 -1
  410. package/src/domains/extensions/resource-path.ts +27 -0
  411. package/src/domains/extensions/resources.ts +18 -38
  412. package/src/domains/extensions/snapshot-store.ts +39 -0
  413. package/src/domains/extensions/snapshot.ts +180 -0
  414. package/src/domains/extensions/state.ts +385 -57
  415. package/src/domains/extensions/types.ts +118 -1
  416. package/src/domains/interop/registry.ts +6 -2
  417. package/src/domains/interop/types.ts +4 -0
  418. package/src/domains/lifecycle/migrations/2026-09-01-extension-install-digests.ts +27 -0
  419. package/src/domains/lifecycle/migrations/index.ts +6 -0
  420. package/src/domains/lifecycle/naming-resources.ts +19 -4
  421. package/src/domains/lifecycle/naming-yazi.ts +10 -5
  422. package/src/domains/memory/task-memory-policy.ts +70 -26
  423. package/src/domains/memory/task-memory-telemetry.ts +1 -0
  424. package/src/domains/middleware/contract.ts +26 -0
  425. package/src/domains/middleware/extension.ts +24 -24
  426. package/src/domains/middleware/hook-receipts.ts +27 -4
  427. package/src/domains/middleware/hooks-io.ts +65 -32
  428. package/src/domains/middleware/hooks.ts +64 -0
  429. package/src/domains/middleware/index.ts +28 -5
  430. package/src/domains/middleware/marketplace-offer.ts +3 -35
  431. package/src/domains/middleware/memory-intervention.ts +127 -32
  432. package/src/domains/middleware/memory-step-endpoint.ts +3 -2
  433. package/src/domains/middleware/registrations.ts +326 -0
  434. package/src/domains/middleware/runtime.ts +28 -0
  435. package/src/domains/middleware/skills-reminder.ts +31 -2
  436. package/src/domains/middleware/snapshot.ts +20 -7
  437. package/src/domains/mux/contract.ts +38 -0
  438. package/src/domains/mux/detect.ts +6 -13
  439. package/src/domains/mux/index.ts +1 -1
  440. package/src/domains/mux/operations.ts +44 -5
  441. package/src/domains/mux/yazi/assets/yazi.toml +2 -2
  442. package/src/domains/mux/yazi/session.ts +53 -4
  443. package/src/domains/mux/yazi/theme.ts +117 -17
  444. package/src/domains/observability/compaction-usage.ts +118 -0
  445. package/src/domains/observability/contract.ts +10 -11
  446. package/src/domains/observability/cost.ts +1 -1
  447. package/src/domains/observability/extension.ts +17 -4
  448. package/src/domains/observability/out-of-turn-usage.ts +52 -21
  449. package/src/domains/observability/projection.ts +14 -90
  450. package/src/domains/observability/trace-store.ts +43 -7
  451. package/src/domains/prompts/compiler.ts +73 -53
  452. package/src/domains/prompts/contract.ts +15 -3
  453. package/src/domains/prompts/extension.ts +97 -9
  454. package/src/domains/prompts/fragments/identity/clio-worker.md +1 -3
  455. package/src/domains/prompts/fragments/identity/clio.md +6 -12
  456. package/src/domains/prompts/fragments/identity/docs-routing.md +1 -2
  457. package/src/domains/prompts/fragments/identity/self-awareness.md +3 -11
  458. package/src/domains/prompts/fragments/operating/contract.md +7 -15
  459. package/src/domains/prompts/fragments/operating/delegation.md +32 -34
  460. package/src/domains/prompts/fragments/operating/skills.md +10 -24
  461. package/src/domains/prompts/fragments/operating/worker.md +1 -8
  462. package/src/domains/providers/contract.ts +4 -1
  463. package/src/domains/providers/extension.ts +40 -9
  464. package/src/domains/providers/index.ts +1 -1
  465. package/src/domains/providers/model-capabilities.ts +9 -0
  466. package/src/domains/providers/model-discovery.ts +2 -0
  467. package/src/domains/providers/model-runtime-capabilities.ts +99 -25
  468. package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +699 -114
  469. package/src/domains/providers/runtime-resolution.ts +31 -0
  470. package/src/domains/providers/runtimes/antigravity/antigravity-code.ts +225 -45
  471. package/src/domains/providers/runtimes/common/lmstudio-http.ts +6 -2
  472. package/src/domains/providers/runtimes/common/local-synth.ts +2 -0
  473. package/src/domains/providers/runtimes/common/probe-helpers.ts +7 -2
  474. package/src/domains/providers/runtimes/local-native/llamacpp.ts +9 -1
  475. package/src/domains/providers/runtimes/protocol/litellm.ts +119 -29
  476. package/src/domains/providers/support.ts +11 -5
  477. package/src/domains/providers/target-model-cache.ts +25 -2
  478. package/src/domains/providers/types/capability-flags.ts +2 -0
  479. package/src/domains/providers/types/cost-provenance.ts +19 -0
  480. package/src/domains/providers/types/local-model-quirks.ts +85 -37
  481. package/src/domains/providers/types/runtime-descriptor.ts +20 -1
  482. package/src/domains/providers/types/target-descriptor.ts +19 -0
  483. package/src/domains/resources/index.ts +3 -0
  484. package/src/domains/resources/skills/install.ts +72 -7
  485. package/src/domains/resources/skills/loader.ts +23 -19
  486. package/src/domains/resources/skills/marketplace.ts +63 -11
  487. package/src/domains/safety/autonomy.ts +15 -0
  488. package/src/domains/safety/call-target.ts +1 -1
  489. package/src/domains/safety/index.ts +1 -0
  490. package/src/domains/safety/loop-detector.ts +7 -4
  491. package/src/domains/safety/path-policy.ts +1 -1
  492. package/src/domains/safety/policy-engine.ts +34 -11
  493. package/src/domains/safety/protected-artifacts.ts +191 -88
  494. package/src/domains/safety/run-effects.ts +2 -22
  495. package/src/domains/safety/skill-authority.ts +55 -0
  496. package/src/domains/session/compaction/compact.ts +72 -22
  497. package/src/domains/session/entries.ts +6 -0
  498. package/src/domains/session/task-board.ts +10 -9
  499. package/src/domains/session/usage.ts +3 -3
  500. package/src/domains/share/archive.ts +164 -7
  501. package/src/engine/acp/server.ts +62 -9
  502. package/src/engine/agent.ts +13 -3
  503. package/src/engine/ai.ts +26 -8
  504. package/src/engine/antigravity/subprocess-runtime.ts +386 -120
  505. package/src/engine/api-registry.ts +3 -0
  506. package/src/engine/apis/llamacpp-residency.ts +3 -4
  507. package/src/engine/apis/lmstudio.ts +3 -3
  508. package/src/engine/apis/ollama-native.ts +6 -6
  509. package/src/engine/apis/openai-completions.ts +145 -39
  510. package/src/engine/apis/output-budget.ts +8 -18
  511. package/src/engine/apis/residency.ts +8 -27
  512. package/src/engine/external-subprocess.ts +114 -6
  513. package/src/engine/gemma-channel-filter.ts +19 -0
  514. package/src/engine/loop-guard.ts +92 -12
  515. package/src/engine/worker-runtime.ts +40 -11
  516. package/src/engine/worker-tools.ts +3 -1
  517. package/src/entry/background-model-metadata.ts +18 -0
  518. package/src/entry/compaction-prompt.ts +57 -0
  519. package/src/entry/extension-hook-sources.ts +28 -0
  520. package/src/entry/extension-reload.ts +309 -0
  521. package/src/entry/orchestrator.ts +464 -251
  522. package/src/entry/task-memory-lifecycle.ts +35 -0
  523. package/src/interactive/application-controller.ts +2 -1
  524. package/src/interactive/bus-notices.ts +8 -1
  525. package/src/interactive/chat-loop-messages.ts +16 -17
  526. package/src/interactive/chat-loop.ts +75 -3
  527. package/src/interactive/chat-panel.ts +36 -13
  528. package/src/interactive/chat-renderer.ts +72 -7
  529. package/src/interactive/cost-overlay.ts +26 -2
  530. package/src/interactive/dispatch-board.ts +6 -11
  531. package/src/interactive/footer/widgets.ts +13 -0
  532. package/src/interactive/interactive-application.ts +39 -4
  533. package/src/interactive/interactive-input-runtime.ts +4 -0
  534. package/src/interactive/interactive-presentation.ts +2 -2
  535. package/src/interactive/interactive-slash-runtime.ts +4 -1
  536. package/src/interactive/overlays/extensions.ts +9 -1
  537. package/src/interactive/overlays/help-reference.ts +13 -0
  538. package/src/interactive/overlays/settings.ts +27 -16
  539. package/src/interactive/panes-runtime.ts +111 -35
  540. package/src/interactive/prompt-cache-identity.ts +88 -0
  541. package/src/interactive/renderers/worker-entry.ts +32 -0
  542. package/src/interactive/slash-commands.ts +153 -20
  543. package/src/interactive/stream-pacing-policy.ts +0 -23
  544. package/src/interactive/theme/labels.ts +19 -13
  545. package/src/interactive/turn-context.ts +39 -20
  546. package/src/interactive/turn-recovery.ts +8 -0
  547. package/src/interactive/turn-runtime.ts +27 -11
  548. package/src/interactive/turn-state.ts +7 -0
  549. package/src/interactive/worker-receipts.ts +1 -0
  550. package/src/interactive/worker-stream.ts +6 -1
  551. package/src/interactive/yazi-bridge.ts +60 -6
  552. package/src/tools/agent-tools.ts +30 -1
  553. package/src/tools/artifact.ts +2 -2
  554. package/src/tools/ask-user.ts +3 -3
  555. package/src/tools/bash.ts +1 -1
  556. package/src/tools/bootstrap.ts +4 -0
  557. package/src/tools/builtin-tool-catalog.ts +52 -22
  558. package/src/tools/codewiki/code-nav-surface.ts +6 -0
  559. package/src/tools/codewiki/code-nav.ts +99 -13
  560. package/src/tools/context/docs-engine.ts +20 -7
  561. package/src/tools/context/index.ts +59 -21
  562. package/src/tools/core-bootstrap.ts +28 -6
  563. package/src/tools/credential-present.ts +1 -2
  564. package/src/tools/dispatch-arguments.ts +6 -1
  565. package/src/tools/dispatch-event-text.ts +10 -0
  566. package/src/tools/dispatch-plan.ts +49 -4
  567. package/src/tools/dispatch-run-events.ts +1 -1
  568. package/src/tools/dispatch-runner.ts +12 -0
  569. package/src/tools/dispatch-schema.ts +338 -0
  570. package/src/tools/dispatch-types.ts +3 -0
  571. package/src/tools/dispatch.ts +9 -254
  572. package/src/tools/ledger.ts +3 -5
  573. package/src/tools/monitor-surface.ts +5 -13
  574. package/src/tools/observation.ts +4 -5
  575. package/src/tools/panes-surface.ts +4 -11
  576. package/src/tools/panes.ts +4 -2
  577. package/src/tools/policy.ts +15 -2
  578. package/src/tools/read.ts +5 -6
  579. package/src/tools/registry.ts +41 -12
  580. package/src/tools/result-shaping.ts +18 -14
  581. package/src/tools/steer-surface.ts +1 -1
  582. package/src/tools/tasks.ts +1 -1
  583. package/src/tools/truncate.ts +6 -5
  584. package/src/tools/verify/surface.ts +6 -12
  585. package/src/tools/web-fetch-surface.ts +1 -3
  586. package/src/tools/worker-evidence.ts +3 -1
  587. package/src/worker/spec-contract.ts +4 -0
  588. package/dist/builtins-UJLMOVOV.js +0 -17
  589. package/dist/chunk-5QIAJV2D.js +0 -48
  590. package/dist/chunk-JZWT5J3Y.js +0 -814
  591. package/dist/chunk-K7VKOLQQ.js +0 -15
  592. package/dist/chunk-PMZCIOCJ.js +0 -25
  593. package/dist/chunk-SUW5DORT.js +0 -819
  594. package/dist/chunk-UOV2BYIW.js +0 -107
  595. package/dist/chunk-WR6U3OVP.js +0 -45
  596. package/dist/chunk-Y45G3AXC.js +0 -1558
  597. package/dist/reset-EOLM7GVE.js +0 -230
  598. package/dist/uninstall-N34PCTGJ.js +0 -331
  599. package/dist/upgrade-H7TOM7YL.js +0 -323
  600. package/docs/artifact-versions.md +0 -67
  601. package/docs/development-pipeline.md +0 -121
  602. package/docs/documentation-coverage.md +0 -46
  603. package/docs/documentation-guide.md +0 -167
  604. package/docs/time-conventions.md +0 -101
@@ -1,58 +1,73 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  runContextClear
4
- } from "./chunk-C537JADH.js";
5
- import "./chunk-3QSOM6PA.js";
6
- import "./chunk-74YWRRU5.js";
7
- import "./chunk-LCGCVYZ4.js";
4
+ } from "./chunk-KK4JZPBQ.js";
5
+ import "./chunk-R6Q67RJH.js";
6
+ import "./chunk-Y3CBHOR6.js";
7
+ import "./chunk-BEPZRGGU.js";
8
8
  import "./chunk-NDINPTJ4.js";
9
9
  import "./chunk-MXHC5QYU.js";
10
- import "./chunk-XKA2ICR3.js";
11
- import "./chunk-GPPB3JBE.js";
12
- import "./chunk-6NJQITNH.js";
13
- import "./chunk-TVH4ONAM.js";
14
- import "./chunk-TD3PGPQA.js";
15
- import "./chunk-THYWACCR.js";
10
+ import "./chunk-AF4YM7Z4.js";
11
+ import "./chunk-B4VEBZKF.js";
12
+ import "./chunk-E3TPLWFX.js";
13
+ import "./chunk-WRBAGUNF.js";
14
+ import "./chunk-IWT4SF4R.js";
15
+ import "./chunk-JKKCYP3C.js";
16
+ import "./chunk-FTMGRKEF.js";
17
+ import "./chunk-XRZT5WY5.js";
16
18
  import "./chunk-RVG5JXAL.js";
17
- import "./chunk-3DPEIQKN.js";
18
- import "./chunk-6CCS4G3W.js";
19
- import "./chunk-6VC4OV3Z.js";
19
+ import "./chunk-VIA6RFQZ.js";
20
20
  import "./chunk-T56WDKA5.js";
21
21
  import "./chunk-W6GROXXM.js";
22
- import "./chunk-JVCV3ICN.js";
23
- import "./chunk-AFKWHWXF.js";
22
+ import "./chunk-2VIKGWFZ.js";
23
+ import "./chunk-RKKLTLYB.js";
24
+ import "./chunk-6PTFB5VS.js";
24
25
  import "./chunk-TXOTCRLG.js";
26
+ import "./chunk-LCGCVYZ4.js";
27
+ import "./chunk-3DPEIQKN.js";
28
+ import "./chunk-7DRAWPTZ.js";
29
+ import "./chunk-5MEZN6CB.js";
30
+ import "./chunk-JVCV3ICN.js";
25
31
  import "./chunk-HVDIIIQW.js";
26
- import "./chunk-CTJ4RNAA.js";
27
- import "./chunk-RKKLTLYB.js";
28
- import "./chunk-SUW5DORT.js";
29
- import "./chunk-I66EAJFY.js";
32
+ import "./chunk-2WZ546HR.js";
30
33
  import "./chunk-VG7TBQIY.js";
31
- import "./chunk-2VG7KLYV.js";
32
- import "./chunk-7EPLI7VL.js";
33
- import "./chunk-6DWBAZ5U.js";
34
- import "./chunk-PVAMAVBB.js";
35
- import "./chunk-IXJT6DCX.js";
36
- import "./chunk-TVHHYFHE.js";
34
+ import "./chunk-PAJQJ7BS.js";
35
+ import "./chunk-EKCHAPYA.js";
36
+ import "./chunk-L47TF46W.js";
37
+ import "./chunk-RSJ25QSL.js";
38
+ import "./chunk-XIVNBFZS.js";
39
+ import "./chunk-NEDJ26B5.js";
37
40
  import "./chunk-42FMPA75.js";
38
41
  import "./chunk-H7IXIC72.js";
39
- import "./chunk-VN3SHNBN.js";
42
+ import "./chunk-7DICMOS6.js";
40
43
  import "./chunk-OQE5J4C6.js";
41
- import "./chunk-FSP7CMNU.js";
42
- import "./chunk-R23Z6K6I.js";
43
- import "./chunk-OZNBF4L3.js";
44
- import "./chunk-4BJ5BYCE.js";
45
- import "./chunk-6XLNIQDB.js";
46
- import "./chunk-U2WB7TZS.js";
47
- import "./chunk-VAVR4IJY.js";
48
- import "./chunk-2LEAKD4C.js";
49
44
  import "./chunk-HHV2GANA.js";
50
- import "./chunk-IG7BCQBA.js";
51
- import "./chunk-GCSMB2KY.js";
45
+ import "./chunk-B4OAX3SI.js";
46
+ import "./chunk-I7ZPNEJM.js";
47
+ import "./chunk-GYV6VZOC.js";
52
48
  import "./chunk-UL3WSD3F.js";
49
+ import "./chunk-JDAY6FIL.js";
50
+ import "./chunk-OZNBF4L3.js";
53
51
  import "./chunk-ECH6PKUQ.js";
52
+ import "./chunk-6XLNIQDB.js";
54
53
  import "./chunk-5B2AEOW5.js";
54
+ import "./chunk-VAVR4IJY.js";
55
+ import "./chunk-JGRC33J2.js";
56
+ import "./chunk-4BJ5BYCE.js";
55
57
  import "./chunk-K6BSR66V.js";
58
+ import "./chunk-XPWWI35G.js";
59
+ import "./chunk-CFGTUFWB.js";
60
+ import "./chunk-NZMNUPZZ.js";
61
+ import "./chunk-2JH2WHGE.js";
62
+ import "./chunk-HAXOFFRH.js";
63
+ import "./chunk-R346GLFC.js";
64
+ import "./chunk-KXDSS5WJ.js";
65
+ import "./chunk-GHS5EBTQ.js";
66
+ import "./chunk-D7E7WCDF.js";
67
+ import "./chunk-BTK3SSSK.js";
68
+ import "./chunk-NMJXSHBJ.js";
69
+ import "./chunk-PMZVFWSR.js";
70
+ import "./chunk-F4EKGO4N.js";
56
71
  import "./chunk-BWH6N36D.js";
57
72
  import "./chunk-UUVG37B4.js";
58
73
  import "./chunk-LBMZMYH2.js";
@@ -60,39 +75,28 @@ import "./chunk-XAKHZX5N.js";
60
75
  import "./chunk-33YXPOE3.js";
61
76
  import "./chunk-7CR24IG7.js";
62
77
  import "./chunk-XPLRXC72.js";
63
- import "./chunk-UEDMSP56.js";
64
- import "./chunk-CFGTUFWB.js";
65
- import "./chunk-72GZI5EV.js";
66
- import "./chunk-CWVRRIEI.js";
67
- import "./chunk-MQXIVJ35.js";
68
- import "./chunk-R346GLFC.js";
69
- import "./chunk-PMZVFWSR.js";
70
- import "./chunk-HLW2MRKE.js";
71
- import "./chunk-BTK3SSSK.js";
72
- import "./chunk-IHXBNWMM.js";
73
- import "./chunk-EIMVLWB3.js";
74
- import "./chunk-D7E7WCDF.js";
75
- import "./chunk-HJWWJ6IL.js";
78
+ import "./chunk-IWHMRKLL.js";
79
+ import "./chunk-VW6DOEDG.js";
80
+ import "./chunk-UXCU4E3T.js";
81
+ import "./chunk-LL4KHSZI.js";
82
+ import "./chunk-JSC3U7TI.js";
83
+ import "./chunk-S66XZJOF.js";
76
84
  import "./chunk-JIEGK6UF.js";
77
85
  import "./chunk-EBY63B7G.js";
78
86
  import "./chunk-6EJMN2Y3.js";
79
- import "./chunk-IWHMRKLL.js";
80
- import "./chunk-QKIFBZKT.js";
81
- import "./chunk-BWW4HLO4.js";
82
- import "./chunk-LL4KHSZI.js";
83
- import "./chunk-NLFAQR7Z.js";
84
- import "./chunk-CDNVLKUX.js";
85
- import "./chunk-WNP7O5WZ.js";
87
+ import "./chunk-LLDJM5XK.js";
88
+ import "./chunk-ID64D7PE.js";
86
89
  import "./chunk-336NSSKI.js";
87
90
  import "./chunk-IKCO5N3L.js";
88
91
  import "./chunk-3I7MS7N2.js";
89
92
  import "./chunk-APJ265NV.js";
90
- import "./chunk-BYP5D4HI.js";
91
93
  import "./chunk-WEPFGWHJ.js";
92
94
  import "./chunk-NUGM5KR6.js";
93
- import "./chunk-O42A54GG.js";
94
- import "./chunk-VXMFAE2W.js";
95
+ import "./chunk-5OIVVPHF.js";
96
+ import "./chunk-YPC6ZR5L.js";
95
97
  import "./chunk-YXLYO42X.js";
98
+ import "./chunk-2LEAKD4C.js";
99
+ import "./chunk-BYP5D4HI.js";
96
100
  import {
97
101
  init_esm_shims
98
102
  } from "./chunk-3R73A4XB.js";
@@ -169,4 +173,4 @@ async function runContextClearCommand(args) {
169
173
  export {
170
174
  runContextClearCommand
171
175
  };
172
- //# sourceMappingURL=context-clear-N545L53A.js.map
176
+ //# sourceMappingURL=context-clear-BW4O37TG.js.map
@@ -0,0 +1,505 @@
1
+ import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ WIKI_DEPTH_STRATEGY,
4
+ areaForPath,
5
+ classifyDepth
6
+ } from "./chunk-R6Q67RJH.js";
7
+ import {
8
+ CLIO_ARTIFACT_DIR
9
+ } from "./chunk-GYV6VZOC.js";
10
+ import {
11
+ readCodewiki
12
+ } from "./chunk-LBMZMYH2.js";
13
+ import "./chunk-WEPFGWHJ.js";
14
+ import {
15
+ init_esm_shims
16
+ } from "./chunk-3R73A4XB.js";
17
+
18
+ // src/cli/context-map.ts
19
+ init_esm_shims();
20
+ import { execFileSync } from "node:child_process";
21
+ import { mkdirSync, writeFileSync } from "node:fs";
22
+ import path from "node:path";
23
+
24
+ // src/domains/context/wiki/map-seed.ts
25
+ init_esm_shims();
26
+ var MAX_SEED_COMPONENTS = 12;
27
+ var MAX_SEED_EXTERNALS = 3;
28
+ var MAX_SEED_CONNECTIONS = 16;
29
+ var MAX_SEED_SOURCES = 3;
30
+ var GRID_COLS = 4;
31
+ var CELL_W = 220;
32
+ var CELL_H = 72;
33
+ var GAP_X = 70;
34
+ var LANE_STEP = 16;
35
+ var LANE_MARGIN = 24;
36
+ var LABEL_BESIDE_OFFSET = 48;
37
+ var GITHUB_REPOSITORY_URL = /^https:\/\/github\.com\/[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+(?:\.git)?\/?$/;
38
+ var FULL_REVISION = /^[a-fA-F0-9]{40}$/;
39
+ var DATABASE_DIR = /^(?:store|stores|storage|persistence|persist|db|database|databases|repository|repositories|dao)$/i;
40
+ function areaId(key) {
41
+ const slug = key.replace(/[^A-Za-z0-9]+/g, "-").replace(/^-+|-+$/g, "").toLowerCase();
42
+ const body = slug.length > 0 ? slug : "root";
43
+ return /^[a-z]/.test(body) ? body : `a-${body}`;
44
+ }
45
+ function uniqueIds(preferred) {
46
+ const reserved = new Set(preferred);
47
+ const used = /* @__PURE__ */ new Set();
48
+ return preferred.map((base) => {
49
+ let id = base;
50
+ if (used.has(id)) {
51
+ let suffix = 2;
52
+ do {
53
+ id = `${base}-${suffix++}`;
54
+ } while (reserved.has(id) || used.has(id));
55
+ }
56
+ used.add(id);
57
+ return id;
58
+ });
59
+ }
60
+ function componentTypeFor(area) {
61
+ const last = area.key.split("/").filter(Boolean).at(-1) ?? "";
62
+ if (DATABASE_DIR.test(last)) return "database";
63
+ if (area.files.some((file) => file.role === "entry")) return "frontend";
64
+ return "backend";
65
+ }
66
+ function collectAreas(files, areaDepth) {
67
+ const byKey = /* @__PURE__ */ new Map();
68
+ for (const file of files) {
69
+ const key = areaForPath(file.path, areaDepth);
70
+ const area = byKey.get(key) ?? { key, files: [], loc: 0 };
71
+ area.files.push(file);
72
+ area.loc += Math.max(0, file.loc);
73
+ byKey.set(key, area);
74
+ }
75
+ return [...byKey.values()].sort(
76
+ (a, b) => b.files.length - a.files.length || b.loc - a.loc || a.key.localeCompare(b.key)
77
+ );
78
+ }
79
+ function firstSymbolLines(symbols) {
80
+ const lines = /* @__PURE__ */ new Map();
81
+ for (const symbol of symbols) {
82
+ if (!Number.isInteger(symbol.line) || symbol.line < 1) continue;
83
+ const current = lines.get(symbol.fileId);
84
+ if (current === void 0 || symbol.line < current) lines.set(symbol.fileId, symbol.line);
85
+ }
86
+ return lines;
87
+ }
88
+ function sourcesFor(area, lines) {
89
+ return [...area.files].sort((a, b) => b.loc - a.loc || a.path.localeCompare(b.path)).slice(0, MAX_SEED_SOURCES).map((file) => {
90
+ const line = lines.get(file.id);
91
+ return line === void 0 ? { path: file.path } : { line, path: file.path };
92
+ });
93
+ }
94
+ function isInternalEdge(edge) {
95
+ return "toFileId" in edge;
96
+ }
97
+ function externalPackage(specifier) {
98
+ if (specifier.startsWith("node:") || NODE_BUILTINS.has(specifier)) return null;
99
+ const segments = specifier.split("/");
100
+ if (specifier.startsWith("@")) return segments.length >= 2 ? `${segments[0]}/${segments[1]}` : null;
101
+ return segments[0] && segments[0].length > 0 ? segments[0] : null;
102
+ }
103
+ var NODE_BUILTINS = /* @__PURE__ */ new Set([
104
+ "assert",
105
+ "buffer",
106
+ "child_process",
107
+ "crypto",
108
+ "events",
109
+ "fs",
110
+ "http",
111
+ "https",
112
+ "module",
113
+ "net",
114
+ "os",
115
+ "path",
116
+ "process",
117
+ "readline",
118
+ "stream",
119
+ "url",
120
+ "util",
121
+ "zlib"
122
+ ]);
123
+ function serializeArchitectureSeed(seed) {
124
+ const sortKeys = (value) => {
125
+ if (Array.isArray(value)) return value.map(sortKeys);
126
+ if (value && typeof value === "object") {
127
+ return Object.fromEntries(
128
+ Object.keys(value).sort().map((key) => [key, sortKeys(value[key])])
129
+ );
130
+ }
131
+ return value;
132
+ };
133
+ return `${JSON.stringify(sortKeys(seed), null, 2)}
134
+ `;
135
+ }
136
+ function assignRows(nodes, edges) {
137
+ const ids = nodes.filter((node) => node.type !== "external").map((node) => node.id);
138
+ const successors = new Map(ids.map((id) => [id, /* @__PURE__ */ new Set()]));
139
+ const reaches = (from, to) => {
140
+ const stack = [from];
141
+ const seen = /* @__PURE__ */ new Set();
142
+ while (stack.length > 0) {
143
+ const current = stack.pop();
144
+ if (current === to) return true;
145
+ if (seen.has(current)) continue;
146
+ seen.add(current);
147
+ for (const next of successors.get(current) ?? []) stack.push(next);
148
+ }
149
+ return false;
150
+ };
151
+ for (const edge of edges) {
152
+ if (!successors.has(edge.from) || !successors.has(edge.to)) continue;
153
+ if (reaches(edge.to, edge.from)) continue;
154
+ successors.get(edge.from)?.add(edge.to);
155
+ }
156
+ const layer = /* @__PURE__ */ new Map();
157
+ const depth = (id) => {
158
+ const known = layer.get(id);
159
+ if (known !== void 0) return known;
160
+ let best = 0;
161
+ for (const node of ids) {
162
+ if (successors.get(node)?.has(id)) best = Math.max(best, depth(node) + 1);
163
+ }
164
+ layer.set(id, best);
165
+ return best;
166
+ };
167
+ for (const id of ids) depth(id);
168
+ const rows = /* @__PURE__ */ new Map();
169
+ let row = 0;
170
+ const layers = [...new Set(ids.map((id) => layer.get(id)))].sort((a, b) => a - b);
171
+ for (const current of layers) {
172
+ const members = ids.filter((id) => layer.get(id) === current);
173
+ members.forEach((id, index) => {
174
+ rows.set(id, row + Math.floor(index / GRID_COLS));
175
+ });
176
+ row += Math.ceil(members.length / GRID_COLS);
177
+ }
178
+ const externals = nodes.filter((node) => node.type === "external");
179
+ externals.forEach((node, index) => {
180
+ rows.set(node.id, row + Math.floor(index / GRID_COLS));
181
+ });
182
+ return rows;
183
+ }
184
+ function placeAndRoute(nodes, edges) {
185
+ const rowOf = assignRows(nodes, edges);
186
+ const colOf = /* @__PURE__ */ new Map();
187
+ const used = /* @__PURE__ */ new Map();
188
+ for (const node of nodes) {
189
+ const row = rowOf.get(node.id);
190
+ const col = used.get(row) ?? 0;
191
+ colOf.set(node.id, col);
192
+ used.set(row, col + 1);
193
+ }
194
+ const gapLanes = /* @__PURE__ */ new Map();
195
+ const leftLanes = { count: 0 };
196
+ const rightLanes = { count: 0 };
197
+ const takeGap = (row) => {
198
+ const lane = gapLanes.get(row) ?? 0;
199
+ gapLanes.set(row, lane + 1);
200
+ return lane;
201
+ };
202
+ const plans = edges.map((edge) => {
203
+ const fromRow = rowOf.get(edge.from);
204
+ const toRow = rowOf.get(edge.to);
205
+ const sameCol = colOf.get(edge.from) === colOf.get(edge.to);
206
+ if (fromRow === toRow) {
207
+ return { edge, fromSide: "bottom", toSide: "bottom", straight: false, gaps: [[fromRow, takeGap(fromRow)]] };
208
+ }
209
+ if (fromRow < toRow) {
210
+ if (toRow === fromRow + 1) {
211
+ return {
212
+ edge,
213
+ fromSide: "bottom",
214
+ toSide: "top",
215
+ straight: sameCol,
216
+ gaps: sameCol ? [] : [[fromRow, takeGap(fromRow)]]
217
+ };
218
+ }
219
+ return {
220
+ edge,
221
+ fromSide: "bottom",
222
+ toSide: "top",
223
+ straight: false,
224
+ gaps: [
225
+ [fromRow, takeGap(fromRow)],
226
+ [toRow - 1, takeGap(toRow - 1)]
227
+ ],
228
+ margin: { side: "left", lane: leftLanes.count++ }
229
+ };
230
+ }
231
+ if (fromRow === toRow + 1) {
232
+ return {
233
+ edge,
234
+ fromSide: "top",
235
+ toSide: "bottom",
236
+ straight: sameCol,
237
+ gaps: sameCol ? [] : [[toRow, takeGap(toRow)]]
238
+ };
239
+ }
240
+ return {
241
+ edge,
242
+ fromSide: "top",
243
+ toSide: "bottom",
244
+ straight: false,
245
+ gaps: [
246
+ [fromRow - 1, takeGap(fromRow - 1)],
247
+ [toRow, takeGap(toRow)]
248
+ ],
249
+ margin: { side: "right", lane: rightLanes.count++ }
250
+ };
251
+ });
252
+ const maxGapLanes = Math.max(0, ...gapLanes.values());
253
+ const gapY = Math.max(90, 2 * LANE_MARGIN + Math.max(1, maxGapLanes) * LANE_STEP);
254
+ const originX = LANE_MARGIN + Math.max(1, leftLanes.count) * LANE_STEP + LANE_MARGIN;
255
+ const layout = {
256
+ mode: "grid",
257
+ origin: [originX, 80],
258
+ cols: GRID_COLS,
259
+ cellW: CELL_W,
260
+ cellH: CELL_H,
261
+ gapX: GAP_X,
262
+ gapY
263
+ };
264
+ const centerX = (id) => originX + colOf.get(id) * (CELL_W + GAP_X) + CELL_W / 2;
265
+ const topY = (row) => layout.origin[1] + row * (CELL_H + gapY);
266
+ const laneY = (row, lane) => topY(row) + CELL_H + LANE_MARGIN + lane * LANE_STEP;
267
+ const gridRight = originX + GRID_COLS * (CELL_W + GAP_X) - GAP_X;
268
+ const marginX = (margin) => margin.side === "left" ? originX - LANE_MARGIN - margin.lane * LANE_STEP : gridRight + LANE_MARGIN + margin.lane * LANE_STEP;
269
+ const components = nodes.map((node) => ({
270
+ id: node.id,
271
+ type: node.type,
272
+ label: node.label,
273
+ sublabel: node.sublabel,
274
+ row: rowOf.get(node.id),
275
+ col: colOf.get(node.id),
276
+ size: [CELL_W, CELL_H],
277
+ ...node.sources ? { sources: node.sources } : {}
278
+ }));
279
+ const connectionIds = uniqueIds(plans.map(({ edge }) => `${edge.from}-to-${edge.to}`));
280
+ const connections = plans.map((plan, index) => {
281
+ const { edge } = plan;
282
+ const base = {
283
+ id: connectionIds[index],
284
+ from: edge.from,
285
+ to: edge.to,
286
+ label: `${edge.weight} import${edge.weight === 1 ? "" : "s"}`,
287
+ fromSide: plan.fromSide,
288
+ toSide: plan.toSide
289
+ };
290
+ const xa = centerX(edge.from);
291
+ const xb = centerX(edge.to);
292
+ if (plan.straight) {
293
+ const upperRow = Math.min(rowOf.get(edge.from), rowOf.get(edge.to));
294
+ const gapMid = topY(upperRow) + CELL_H + gapY / 2;
295
+ return { ...base, route: "straight", labelAt: [xa + LABEL_BESIDE_OFFSET, gapMid] };
296
+ }
297
+ const [first, second] = plan.gaps;
298
+ if (!first) return { ...base, route: "straight" };
299
+ const y1 = laneY(first[0], first[1]);
300
+ if (!plan.margin || !second)
301
+ return {
302
+ ...base,
303
+ via: [
304
+ [xa, y1],
305
+ [xb, y1]
306
+ ]
307
+ };
308
+ const y2 = laneY(second[0], second[1]);
309
+ const mx = marginX(plan.margin);
310
+ return {
311
+ ...base,
312
+ via: [
313
+ [xa, y1],
314
+ [mx, y1],
315
+ [mx, y2],
316
+ [xb, y2]
317
+ ]
318
+ };
319
+ });
320
+ return { layout, components, connections };
321
+ }
322
+ function buildArchitectureSeed(codewiki, options) {
323
+ const source = codewiki.files.filter((file) => file.lang !== "config");
324
+ const sourceLines = source.reduce((total, file) => total + Math.max(0, file.loc), 0);
325
+ const { areaDepth } = WIKI_DEPTH_STRATEGY[classifyDepth(source.length, sourceLines)];
326
+ const areas = collectAreas(source, areaDepth).slice(0, MAX_SEED_COMPONENTS);
327
+ const lines = firstSymbolLines(codewiki.symbols);
328
+ const areaByFile = /* @__PURE__ */ new Map();
329
+ for (const area of areas) for (const file of area.files) areaByFile.set(file.id, area.key);
330
+ const repository = options.repository;
331
+ const pinned = repository && GITHUB_REPOSITORY_URL.test(repository.url) && FULL_REVISION.test(repository.revision) ? { url: repository.url, revision: repository.revision.toLowerCase() } : void 0;
332
+ const externalCounts = /* @__PURE__ */ new Map();
333
+ const externalWeights = /* @__PURE__ */ new Map();
334
+ for (const edge of codewiki.edges) {
335
+ if (isInternalEdge(edge)) continue;
336
+ const fromArea = areaByFile.get(edge.fileId);
337
+ const pkg = externalPackage(edge.externalModule);
338
+ if (fromArea === void 0 || pkg === null) continue;
339
+ externalCounts.set(pkg, (externalCounts.get(pkg) ?? 0) + 1);
340
+ const key = `${fromArea}\0${pkg}`;
341
+ externalWeights.set(key, (externalWeights.get(key) ?? 0) + 1);
342
+ }
343
+ const externals = [...externalCounts.entries()].sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0])).slice(0, MAX_SEED_EXTERNALS).map(([module]) => module);
344
+ const componentIds = uniqueIds([
345
+ ...areas.map((area) => areaId(area.key)),
346
+ ...externals.map((module) => `ext-${areaId(module)}`)
347
+ ]);
348
+ const idByArea = new Map(areas.map((area, index) => [area.key, componentIds[index]]));
349
+ const idByExternal = new Map(externals.map((module, index) => [module, componentIds[areas.length + index]]));
350
+ const nodes = areas.map((area) => {
351
+ const sources = pinned ? sourcesFor(area, lines) : [];
352
+ return {
353
+ id: idByArea.get(area.key),
354
+ type: componentTypeFor(area),
355
+ label: area.key,
356
+ sublabel: `${area.files.length} file${area.files.length === 1 ? "" : "s"}, ${area.loc} LOC`,
357
+ ...sources.length > 0 ? { sources } : {}
358
+ };
359
+ });
360
+ for (const module of externals) {
361
+ const count = externalCounts.get(module) ?? 0;
362
+ nodes.push({
363
+ id: idByExternal.get(module),
364
+ type: "external",
365
+ label: module,
366
+ sublabel: `${count} import${count === 1 ? "" : "s"}`
367
+ });
368
+ }
369
+ const weights = /* @__PURE__ */ new Map();
370
+ for (const edge of codewiki.edges) {
371
+ if (!isInternalEdge(edge)) continue;
372
+ const from = areaByFile.get(edge.fileId);
373
+ const to = areaByFile.get(edge.toFileId);
374
+ if (from === void 0 || to === void 0 || from === to) continue;
375
+ const key = `${from}\0${to}\0internal`;
376
+ weights.set(key, (weights.get(key) ?? 0) + 1);
377
+ }
378
+ for (const module of externals) {
379
+ for (const area of areas) {
380
+ const weight = externalWeights.get(`${area.key}\0${module}`);
381
+ if (weight) weights.set(`${area.key}\0${module}\0external`, weight);
382
+ }
383
+ }
384
+ const edges = [...weights.entries()].sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0])).slice(0, MAX_SEED_CONNECTIONS).map(([key, weight]) => {
385
+ const [fromKey, toKey, kind] = key.split("\0");
386
+ const from = idByArea.get(fromKey);
387
+ const to = (kind === "internal" ? idByArea : idByExternal).get(toKey);
388
+ return { from, to, weight };
389
+ });
390
+ const { layout, components, connections } = placeAndRoute(nodes, edges);
391
+ const meta = {
392
+ title: options.title,
393
+ quality_profile: "standard",
394
+ ...pinned ? { repository: pinned } : {}
395
+ };
396
+ return {
397
+ schema_version: 1,
398
+ diagram_type: "architecture",
399
+ meta,
400
+ layout,
401
+ components,
402
+ connections
403
+ };
404
+ }
405
+
406
+ // src/cli/context-map.ts
407
+ var HELP = `Usage:
408
+ clio-coder context map [--out <path>] [--json]
409
+
410
+ Write an archify architecture seed for the current repository from the codewiki
411
+ index, without model calls. The seed is the starting spec for the archify skill:
412
+ components are the largest directory areas, connections are collapsed import
413
+ edges, and sources point at indexed files and lines.
414
+
415
+ Options:
416
+ --out <path> where to write the seed (default: ${CLIO_ARTIFACT_DIR}/maps/<repo>.architecture.json)
417
+ --json print machine-readable details about the written seed
418
+ `;
419
+ function defaultMapSeedPath(cwd) {
420
+ return path.join(cwd, CLIO_ARTIFACT_DIR, "maps", `${path.basename(cwd)}.architecture.json`);
421
+ }
422
+ function gitValue(cwd, args) {
423
+ try {
424
+ const out = execFileSync("git", args, { cwd, timeout: 5e3, stdio: ["ignore", "pipe", "ignore"] }).toString("utf8").trim();
425
+ return out.length > 0 ? out : null;
426
+ } catch {
427
+ return null;
428
+ }
429
+ }
430
+ function repositoryFacts(cwd) {
431
+ const remote = gitValue(cwd, ["remote", "get-url", "origin"]);
432
+ const revision = gitValue(cwd, ["rev-parse", "--verify", "HEAD"]);
433
+ if (!remote || !revision) return void 0;
434
+ let url = remote.endsWith(".git") ? remote.slice(0, -4) : remote;
435
+ const ssh = /^git@([^:]+):(.+)$/.exec(url);
436
+ if (ssh) url = `https://${ssh[1]}/${ssh[2]}`;
437
+ return { url, revision };
438
+ }
439
+ async function runContextMapCommand(args) {
440
+ if (args.includes("--help") || args.includes("-h")) {
441
+ process.stdout.write(HELP);
442
+ return 0;
443
+ }
444
+ let out = null;
445
+ let json = false;
446
+ for (let index = 0; index < args.length; index += 1) {
447
+ const arg = args[index];
448
+ if (arg === "--json") {
449
+ json = true;
450
+ continue;
451
+ }
452
+ if (arg === "--out") {
453
+ const value = args[index + 1];
454
+ if (!value || value.startsWith("--")) {
455
+ process.stderr.write("clio-coder context map: --out requires a path\n");
456
+ return 2;
457
+ }
458
+ out = value;
459
+ index += 1;
460
+ continue;
461
+ }
462
+ process.stderr.write(`clio-coder context map: unknown flag ${arg}
463
+ `);
464
+ return 2;
465
+ }
466
+ const cwd = process.cwd();
467
+ const codewiki = readCodewiki(cwd);
468
+ if (!codewiki) {
469
+ process.stderr.write(
470
+ "clio-coder context map: no codewiki index in .clio-coder/codewiki.json; run `clio-coder context index` first\n"
471
+ );
472
+ return 1;
473
+ }
474
+ const seed = buildArchitectureSeed(codewiki, {
475
+ title: path.basename(cwd),
476
+ repository: repositoryFacts(cwd)
477
+ });
478
+ const target = out ? path.resolve(cwd, out) : defaultMapSeedPath(cwd);
479
+ mkdirSync(path.dirname(target), { recursive: true });
480
+ writeFileSync(target, serializeArchitectureSeed(seed), "utf8");
481
+ const payload = {
482
+ path: target,
483
+ components: seed.components.length,
484
+ connections: seed.connections.length,
485
+ repository: seed.meta.repository ?? null
486
+ };
487
+ if (json) {
488
+ process.stdout.write(`${JSON.stringify(payload, null, 2)}
489
+ `);
490
+ return 0;
491
+ }
492
+ process.stdout.write(
493
+ [
494
+ `clio-coder context map wrote ${target}`,
495
+ ` ${payload.components} components, ${payload.connections} connections${payload.repository ? `, sources pinned at ${payload.repository.revision.slice(0, 12)}` : "; no GitHub origin at a full revision, so no source citations"}`,
496
+ payload.repository ? " next: validate and deliver it with the archify skill, passing --repo-root ." : " next: validate and deliver it with the archify skill (without --repo-root)",
497
+ ""
498
+ ].join("\n")
499
+ );
500
+ return 0;
501
+ }
502
+ export {
503
+ runContextMapCommand
504
+ };
505
+ //# sourceMappingURL=context-map-COB37XXN.js.map