@iowarp/clio-coder 0.4.1 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (437) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/CONTRIBUTING.md +59 -36
  3. package/README.md +404 -472
  4. package/SECURITY.md +2 -1
  5. package/dist/{acp-ZILU3AUO.js → acp-TMDQZDIG.js} +7 -7
  6. package/dist/{agents-HYWGBGQR.js → agents-5N5NG3XG.js} +28 -28
  7. package/dist/assets/codewiki.json +1 -1
  8. package/dist/{auth-N3QT7CBO.js → auth-Z5CCBXKQ.js} +8 -9
  9. package/dist/{builtins-UJLMOVOV.js → builtins-K6TNDT24.js} +4 -4
  10. package/dist/{chunk-GVQJ5CCZ.js → chunk-2HFQNRV3.js} +7 -7
  11. package/dist/{chunk-QMXC4JB7.js → chunk-2NHR3NAY.js} +163 -1401
  12. package/dist/chunk-2X4RYJTJ.js +39 -0
  13. package/dist/{chunk-Y45G3AXC.js → chunk-2Z2IKEXI.js} +6 -10
  14. package/dist/{chunk-EIMVLWB3.js → chunk-34BHNEE3.js} +7 -3
  15. package/dist/{chunk-GIZNH63R.js → chunk-35MSIRKH.js} +9 -4
  16. package/dist/chunk-3EBYEESD.js +314 -0
  17. package/dist/{chunk-CTJ4RNAA.js → chunk-3F7VUY77.js} +2 -2
  18. package/dist/{chunk-AP73CFDC.js → chunk-3KIPBMUA.js} +2 -2
  19. package/dist/{chunk-J5LZHVIT.js → chunk-3M6DQK6S.js} +113 -35
  20. package/dist/{chunk-VEGN6WIQ.js → chunk-462T4EGZ.js} +2 -2
  21. package/dist/{chunk-AFKWHWXF.js → chunk-4JDLP6ZS.js} +33 -16
  22. package/dist/{chunk-6FN3E6KX.js → chunk-4O6MANBS.js} +2 -2
  23. package/dist/{chunk-AKB4GYDL.js → chunk-54ODD65L.js} +5 -5
  24. package/dist/{chunk-BBTJOK6Y.js → chunk-5KW52TEP.js} +3 -3
  25. package/dist/{chunk-6CCS4G3W.js → chunk-5PFYMY2V.js} +2 -2
  26. package/dist/chunk-77QIVUZB.js +1334 -0
  27. package/dist/{chunk-7OBGU7UB.js → chunk-7BHIY2MW.js} +7 -13
  28. package/dist/{chunk-3QSOM6PA.js → chunk-AZ4WMN4W.js} +2 -2
  29. package/dist/{chunk-6NJQITNH.js → chunk-B74PXLU7.js} +6 -3
  30. package/dist/{chunk-R23Z6K6I.js → chunk-B7HM5Z7T.js} +15 -15
  31. package/dist/{chunk-R32CLGZ6.js → chunk-BO7Y52RY.js} +81 -20
  32. package/dist/{chunk-UEDMSP56.js → chunk-BYMNWQ7O.js} +123 -148
  33. package/dist/{chunk-ZJLUDYFY.js → chunk-CRFOIAX3.js} +4 -4
  34. package/dist/{chunk-2NM363SV.js → chunk-CYZW7JHJ.js} +7 -7
  35. package/dist/{chunk-6HMJX2VU.js → chunk-DYHAXKHD.js} +38 -10
  36. package/dist/{chunk-THYWACCR.js → chunk-DZAW46HP.js} +3 -3
  37. package/dist/{chunk-FYUN5KZ3.js → chunk-DZEK6CJN.js} +17 -17
  38. package/dist/{chunk-3I5NY75V.js → chunk-E7GT7O5N.js} +5 -5
  39. package/dist/{chunk-VKFQTNDV.js → chunk-F2I26BDK.js} +4 -4
  40. package/dist/{chunk-HLW2MRKE.js → chunk-F4EKGO4N.js} +3 -1
  41. package/dist/{chunk-IXJT6DCX.js → chunk-FVDGR2ZL.js} +3 -3
  42. package/dist/{chunk-TZSKNMZG.js → chunk-GTUD2WMY.js} +2 -1
  43. package/dist/{chunk-7EPLI7VL.js → chunk-HIICAHCJ.js} +2 -2
  44. package/dist/{chunk-E67WX76H.js → chunk-HKMD33FO.js} +29 -80
  45. package/dist/chunk-HLAFFSEK.js +360 -0
  46. package/dist/{chunk-UAPGZHYC.js → chunk-I64IFBLB.js} +9 -2
  47. package/dist/{chunk-XKA2ICR3.js → chunk-I66ZTYNP.js} +440 -175
  48. package/dist/{chunk-7PWAODYW.js → chunk-I7XBWTYH.js} +2 -2
  49. package/dist/{chunk-PVAMAVBB.js → chunk-IDNA72AH.js} +102 -2
  50. package/dist/{chunk-GCSMB2KY.js → chunk-IKOZFYBN.js} +1 -1
  51. package/dist/{chunk-2VG7KLYV.js → chunk-IKSLQ4XV.js} +5460 -3241
  52. package/dist/{chunk-QKIFBZKT.js → chunk-IMXMHHMQ.js} +166 -25
  53. package/dist/{chunk-74YWRRU5.js → chunk-JBCS7CRR.js} +2 -2
  54. package/dist/{chunk-BDPT6GTK.js → chunk-JWJGP5DQ.js} +2 -2
  55. package/dist/{chunk-K6BF4U2H.js → chunk-KKOJXO6R.js} +62 -14
  56. package/dist/chunk-KPXDY6QF.js +47 -0
  57. package/dist/{chunk-ABLSQ6JX.js → chunk-LJID3DYZ.js} +7 -1
  58. package/dist/{chunk-VKRH2TCS.js → chunk-M2DAX4F6.js} +2 -2
  59. package/dist/{chunk-6I5ILFOF.js → chunk-M2WXEHER.js} +2 -2
  60. package/dist/{chunk-YPI3QQCF.js → chunk-MCEPRMZW.js} +2 -4
  61. package/dist/{chunk-N5UK64DP.js → chunk-MCMZMDAC.js} +2 -2
  62. package/dist/{chunk-Y4CAGMM6.js → chunk-MNJGS2IN.js} +5 -6
  63. package/dist/{chunk-TVHHYFHE.js → chunk-NEDJ26B5.js} +2 -2
  64. package/dist/{chunk-U2WB7TZS.js → chunk-NMJXSHBJ.js} +97 -85
  65. package/dist/{chunk-HUAS7ITX.js → chunk-O3YUNJZ2.js} +13 -21
  66. package/dist/{chunk-MA3H6DM5.js → chunk-P75RZCJW.js} +25 -3
  67. package/dist/{chunk-IG7BCQBA.js → chunk-PGF63K6I.js} +2 -2
  68. package/dist/chunk-PJX3WQUQ.js +42 -0
  69. package/dist/{chunk-6DWBAZ5U.js → chunk-Q4XWMHX6.js} +4 -6
  70. package/dist/{chunk-OJTRZGR3.js → chunk-QQLGQY2A.js} +8 -8
  71. package/dist/{chunk-J4HBWF6Y.js → chunk-RLYRBIYQ.js} +115 -20
  72. package/dist/{chunk-NLFAQR7Z.js → chunk-S66XZJOF.js} +3 -23
  73. package/dist/{chunk-C537JADH.js → chunk-SSEYRH53.js} +6 -7
  74. package/dist/chunk-SZAA6XDG.js +30 -0
  75. package/dist/{chunk-MOPSG2X7.js → chunk-TPEQIQIE.js} +6 -6
  76. package/dist/{chunk-JA5QWE4Z.js → chunk-UBRFI4HS.js} +1879 -1650
  77. package/dist/{chunk-BTGG6BG2.js → chunk-UH347SHR.js} +154 -15
  78. package/dist/{chunk-5YHDIDBP.js → chunk-UH632ZYL.js} +2 -2
  79. package/dist/{chunk-BWW4HLO4.js → chunk-UXCU4E3T.js} +8 -6
  80. package/dist/{chunk-6VC4OV3Z.js → chunk-VIA6RFQZ.js} +3 -11
  81. package/dist/{chunk-ZAZB4JMW.js → chunk-VKPAQYEB.js} +27 -8
  82. package/dist/{chunk-UXN6JT4W.js → chunk-W4YEMFBX.js} +2 -2
  83. package/dist/{chunk-TD3PGPQA.js → chunk-W6NIE6OW.js} +2 -2
  84. package/dist/{chunk-TVH4ONAM.js → chunk-X7IARSHT.js} +3 -3
  85. package/dist/{chunk-PJJ6MY27.js → chunk-XE3PCIXH.js} +3 -3
  86. package/dist/{chunk-FEFIFZTL.js → chunk-XGDPUNND.js} +2 -2
  87. package/dist/{chunk-SCYB3HA4.js → chunk-XOXV5GKE.js} +51 -16
  88. package/dist/{chunk-QTFGO774.js → chunk-XQRY4DTA.js} +24 -11
  89. package/dist/{chunk-BJGUKIG4.js → chunk-YJISEZKC.js} +2 -2
  90. package/dist/{chunk-GPPB3JBE.js → chunk-ZGNYYXQ6.js} +2 -2
  91. package/dist/{chunk-SINK3QR6.js → chunk-ZNT2M6TG.js} +7 -7
  92. package/dist/{chunk-7RY5VZPH.js → chunk-ZW4HH5JJ.js} +6 -6
  93. package/dist/cli/index.js +33 -32
  94. package/dist/{clio-IT3G3VQH.js → clio-7VB377CC.js} +7 -7
  95. package/dist/{code-nav-RK6S7F6E.js → code-nav-YVLCYA7V.js} +85 -17
  96. package/dist/{config-3QZRWZJF.js → config-4HVOS65E.js} +88 -43
  97. package/dist/{configure-FL7Y3KJF.js → configure-PIWO7B24.js} +10 -10
  98. package/dist/{context-5HE7ODYK.js → context-IYEHL3WQ.js} +33 -31
  99. package/dist/{context-XNHL75JV.js → context-KQYIWPWT.js} +47 -34
  100. package/dist/{context-KYQFRVDC.js → context-N6ZE3LGJ.js} +11 -11
  101. package/dist/{context-clear-N545L53A.js → context-clear-G4OGZJDS.js} +33 -31
  102. package/dist/{context-working-set-QHKXSV2F.js → context-working-set-BWLF6LJP.js} +7 -7
  103. package/dist/{dispatch-runner-RGIE5PCT.js → dispatch-runner-2QQAITS3.js} +38 -38
  104. package/dist/{docs-5NAF6AU7.js → docs-PD3EXDKU.js} +21 -20
  105. package/dist/{doctor-ZGPEGHIP.js → doctor-LHBD36VU.js} +23 -22
  106. package/dist/{eval-GXLL44RD.js → eval-C45FYRJ6.js} +21 -20
  107. package/dist/{eval-inventory-HBWSWQOK.js → eval-inventory-6DEJPLBF.js} +2 -2
  108. package/dist/{evidence-HWLBRH3Q.js → evidence-6SHONYAF.js} +30 -28
  109. package/dist/{evolve-FTZBMNVW.js → evolve-KRKMV72X.js} +30 -28
  110. package/dist/{extensions-VHRBEID7.js → extensions-KPZ2UHBB.js} +5 -3
  111. package/dist/{fleet-CKZHJWZJ.js → fleet-IVTCKDHT.js} +62 -61
  112. package/dist/{fleet-commands-EXDXBMV6.js → fleet-commands-EDWL3IT7.js} +5 -5
  113. package/dist/{fleet-decisions-OTHB6KRL.js → fleet-decisions-YP3YEFGK.js} +4 -4
  114. package/dist/{fleet-graph-YTEZUCUT.js → fleet-graph-ZFWKHY2M.js} +16 -14
  115. package/dist/{fleet-inspect-SS6YMDCK.js → fleet-inspect-FVUNCBML.js} +31 -29
  116. package/dist/{fleet-preflight-PBY4VYOM.js → fleet-preflight-UN5XED4R.js} +2 -2
  117. package/dist/{fleet-validate-KMEM5L3S.js → fleet-validate-XOWC4HSX.js} +17 -15
  118. package/dist/{fleet-verify-QD5M7E7Q.js → fleet-verify-UN3SODEL.js} +30 -28
  119. package/dist/{fleet-view-WAMJYNDT.js → fleet-view-TWHJKCN6.js} +31 -29
  120. package/dist/{init-5XQRBOFV.js → init-T2QORQ3Y.js} +50 -49
  121. package/dist/{interop-34TVO25M.js → interop-IN5I2A66.js} +5 -5
  122. package/dist/{library-3QY6KF57.js → library-LSCATDLZ.js} +15 -13
  123. package/dist/{memory-L4UTIIIW.js → memory-HYOKAGGJ.js} +31 -29
  124. package/dist/{models-ZVX3QOWE.js → models-2GPMFYCM.js} +22 -21
  125. package/dist/{monitor-CEKVSYTS.js → monitor-E4ASVUJH.js} +34 -32
  126. package/dist/{orchestrator-77BAP6BC.js → orchestrator-DDMPR3PY.js} +984 -583
  127. package/dist/{panes-7STHOAUJ.js → panes-E3RUXOW5.js} +4 -4
  128. package/dist/{panes-SHAUIRXY.js → panes-IXKLOKA2.js} +23 -8
  129. package/dist/{reset-EOLM7GVE.js → reset-OAQP3W4O.js} +4 -4
  130. package/dist/{resources-74GKTLSF.js → resources-OTRSN34L.js} +15 -13
  131. package/dist/{run-HBAUJNNZ.js → run-5DEYH5QK.js} +60 -59
  132. package/dist/{share-G3APVLVP.js → share-IHWTLO3M.js} +19 -15
  133. package/dist/{skills-35HHUKCR.js → skills-IYMXMKW4.js} +17 -15
  134. package/dist/{skills-eval-QN4HSHDC.js → skills-eval-DROHSJAR.js} +36 -36
  135. package/dist/{skills-inventory-J357J34F.js → skills-inventory-D7X4L4ZX.js} +15 -13
  136. package/dist/{slash-commands-JZZCQA32.js → slash-commands-QBM7UZ3B.js} +21 -18
  137. package/dist/{steer-XAVHJM22.js → steer-Z5DO23FJ.js} +2 -2
  138. package/dist/{targets-DSM6CY3M.js → targets-P2FUC4IL.js} +25 -28
  139. package/dist/{terminal-lease-JOPFUVEM.js → terminal-lease-YREJ3JX2.js} +5 -5
  140. package/dist/{tools-MKNWVPBH.js → tools-5B7RO6MV.js} +4 -4
  141. package/dist/{trace-ECQ7TIYZ.js → trace-YMGMUM6A.js} +55 -7
  142. package/dist/{upgrade-H7TOM7YL.js → upgrade-PXK3S2YM.js} +11 -9
  143. package/dist/{usage-X52N3IDJ.js → usage-ME5MPXGX.js} +36 -34
  144. package/dist/{verifiers-EJTVVSMA.js → verifiers-BVZ7IWOO.js} +5 -5
  145. package/dist/{verify-YJL6XET2.js → verify-5K7ZKQFC.js} +4 -4
  146. package/dist/{web-fetch-MPIFL3LL.js → web-fetch-MPARV2K7.js} +2 -2
  147. package/dist/{wiki-generate-4NDZTQ4B.js → wiki-generate-F5W5QTYY.js} +48 -47
  148. package/dist/{with-panes-OBOBFIIR.js → with-panes-BYOJCLAM.js} +51 -255
  149. package/dist/worker/entry.js +45 -30
  150. package/docs/README.md +176 -81
  151. package/docs/{acp.md → architecture/acp.md} +36 -20
  152. package/docs/{alcf-provider.md → architecture/alcf-provider.md} +8 -5
  153. package/docs/{architecture.md → architecture/architecture.md} +43 -22
  154. package/docs/{artifact-placement.md → architecture/artifact-placement.md} +26 -23
  155. package/docs/architecture/artifact-versions.md +90 -0
  156. package/docs/{capacity-and-scheduling.md → architecture/capacity-and-scheduling.md} +26 -13
  157. package/docs/{context-engine.md → architecture/context-engine.md} +25 -25
  158. package/docs/{context-working-set.md → architecture/context-working-set.md} +13 -10
  159. package/docs/{dispatch-architecture-rationale.md → architecture/dispatch-architecture-rationale.md} +12 -9
  160. package/docs/{dispatch-typed-intent.md → architecture/dispatch-typed-intent.md} +68 -46
  161. package/docs/{evidence-and-memory.md → architecture/evidence-and-memory.md} +23 -16
  162. package/docs/{middleware-and-components.md → architecture/middleware-and-components.md} +11 -5
  163. package/docs/{model-catalog.md → architecture/model-catalog.md} +40 -17
  164. package/docs/{observability.md → architecture/observability.md} +26 -13
  165. package/docs/{pi-boundary.md → architecture/pi-boundary.md} +24 -11
  166. package/docs/{prompt-envelope-and-tools.md → architecture/prompt-envelope-and-tools.md} +55 -20
  167. package/docs/{provider-adapter-cookbook.md → architecture/provider-adapter-cookbook.md} +35 -24
  168. package/docs/{safety-model.md → architecture/safety-model.md} +20 -15
  169. package/docs/{session-lifecycle.md → architecture/session-lifecycle.md} +8 -5
  170. package/docs/architecture/time-conventions.md +125 -0
  171. package/docs/{trace-store.md → architecture/trace-store.md} +13 -5
  172. package/docs/{tui-design.md → architecture/tui-design.md} +13 -13
  173. package/docs/{worker-dispatch-mechanics.md → architecture/worker-dispatch-mechanics.md} +27 -30
  174. package/docs/{built-in-agents.md → guide/built-in-agents.md} +50 -34
  175. package/docs/{commands-and-modes.md → guide/commands-and-modes.md} +65 -60
  176. package/docs/{configuration-and-targets.md → guide/configuration-and-targets.md} +227 -289
  177. package/docs/guide/configuration-reference.md +1158 -0
  178. package/docs/{environment-variables.md → guide/environment-variables.md} +31 -28
  179. package/docs/{exit-codes-and-output.md → guide/exit-codes-and-output.md} +6 -3
  180. package/docs/{extensions-and-sharing.md → guide/extensions-and-sharing.md} +41 -14
  181. package/docs/{fleet-dispatch.md → guide/fleet-dispatch.md} +39 -43
  182. package/docs/{glossary.md → guide/glossary.md} +14 -11
  183. package/docs/{installation-and-lifecycle.md → guide/installation-and-lifecycle.md} +44 -13
  184. package/docs/guide/panes-and-files.md +290 -0
  185. package/docs/{proactive-memory.md → guide/proactive-memory.md} +79 -66
  186. package/docs/{resource-library.md → guide/resource-library.md} +13 -4
  187. package/docs/{skills-marketplace.md → guide/skills-marketplace.md} +7 -3
  188. package/docs/{tool-usage.md → guide/tool-usage.md} +87 -23
  189. package/docs/{troubleshooting.md → guide/troubleshooting.md} +9 -4
  190. package/docs/{config-knobs-audit.md → history/config-knobs-audit.md} +11 -11
  191. package/docs/{release-cut-checklist.md → history/release-cut-checklist.md} +29 -2
  192. package/docs/{development-pipeline.md → process/development-pipeline.md} +24 -26
  193. package/docs/process/documentation-coverage.md +100 -0
  194. package/docs/process/documentation-guide.md +187 -0
  195. package/docs/{eval-runner.md → process/eval-runner.md} +41 -50
  196. package/docs/{evals-internal.md → process/evals-internal.md} +10 -10
  197. package/docs/{evolution.md → process/evolution.md} +2 -2
  198. package/docs/{fleet-demo-runbook.md → process/fleet-demo-runbook.md} +11 -7
  199. package/docs/{git-commit-provenance.md → process/git-commit-provenance.md} +11 -4
  200. package/docs/{performance-methodology.md → process/performance-methodology.md} +87 -69
  201. package/docs/{scientific-validation.md → process/scientific-validation.md} +4 -4
  202. package/evals/README.md +2 -2
  203. package/package.json +9 -7
  204. package/skills/README.md +46 -37
  205. package/skills/coding/ast-grep/SKILL.md +2 -2
  206. package/skills/coding/coding-standards/SKILL.md +2 -2
  207. package/skills/coding/prototype/SKILL.md +2 -2
  208. package/skills/coding/tdd/SKILL.md +2 -2
  209. package/skills/context/context-handoff/SKILL.md +2 -2
  210. package/skills/context/context-prime/SKILL.md +2 -2
  211. package/skills/git/file-ticket/SKILL.md +2 -2
  212. package/skills/git/fix-issue/SKILL.md +3 -3
  213. package/skills/git/resolve-merge-conflicts/SKILL.md +2 -2
  214. package/skills/git/ship/SKILL.md +2 -2
  215. package/skills/git/worktree-create/SKILL.md +2 -2
  216. package/skills/git/worktree-merge/SKILL.md +2 -2
  217. package/skills/meta/clio-coder-dev/SKILL.md +9 -5
  218. package/skills/meta/clio-coder-dev/evals.md +3 -2
  219. package/skills/meta/clio-coder-test/SKILL.md +102 -95
  220. package/skills/meta/clio-coder-test/evals.md +9 -4
  221. package/skills/meta/clio-coder-test/references/harness.md +100 -124
  222. package/skills/meta/clio-coder-test/references/test-map.md +77 -50
  223. package/skills/meta/credentials/SKILL.md +2 -2
  224. package/skills/meta/find-skills/SKILL.md +2 -2
  225. package/skills/meta/herdr/SKILL.md +2 -2
  226. package/skills/meta/skill-craft/SKILL.md +22 -16
  227. package/skills/planning/architecture/SKILL.md +2 -2
  228. package/skills/planning/backlog/SKILL.md +2 -2
  229. package/skills/planning/prd/SKILL.md +2 -2
  230. package/skills/planning/product-intent/SKILL.md +2 -2
  231. package/skills/planning/tech-spec/SKILL.md +2 -2
  232. package/skills/registry.yaml +62 -62
  233. package/skills/research/arxiv-literature/SKILL.md +2 -2
  234. package/skills/research/experiment-protocol/SKILL.md +2 -2
  235. package/skills/research/scientific-debugging/SKILL.md +2 -2
  236. package/skills/research/scientific-modernization/SKILL.md +2 -2
  237. package/skills/skill-marketplace.json +62 -62
  238. package/skills/workflow/cut-it/SKILL.md +2 -2
  239. package/skills/workflow/design-council/SKILL.md +2 -2
  240. package/skills/workflow/grill-me/SKILL.md +2 -2
  241. package/skills/workflow/workflow-distiller/SKILL.md +2 -2
  242. package/src/cli/args.ts +2 -2
  243. package/src/cli/bootstrap-generate.ts +1 -1
  244. package/src/cli/config-inspect.ts +65 -12
  245. package/src/cli/configure.ts +0 -4
  246. package/src/cli/docs.ts +22 -14
  247. package/src/cli/doctor-naming.ts +5 -5
  248. package/src/cli/doctor-toolchain.ts +3 -3
  249. package/src/cli/eval.ts +1 -2
  250. package/src/cli/extensions.ts +2 -1
  251. package/src/cli/fleet.ts +1 -1
  252. package/src/cli/index.ts +2 -1
  253. package/src/cli/internal-dispatch.ts +3 -4
  254. package/src/cli/panes.ts +19 -5
  255. package/src/cli/run.ts +2 -2
  256. package/src/cli/share.ts +5 -1
  257. package/src/cli/skills-eval.ts +3 -3
  258. package/src/cli/targets.ts +2 -6
  259. package/src/cli/trace.ts +55 -4
  260. package/src/cli/wiki-generate.ts +1 -1
  261. package/src/core/artifact-paths.ts +1 -1
  262. package/src/core/bash-exec.ts +131 -86
  263. package/src/core/bus-events.ts +51 -6
  264. package/src/core/config.ts +5 -1
  265. package/src/core/defaults.ts +7 -4
  266. package/src/core/dispatch-outcome.ts +16 -0
  267. package/src/core/guardrails.ts +10 -49
  268. package/src/core/prompt-hint.ts +9 -0
  269. package/src/domains/agents/builtins/architect.md +2 -3
  270. package/src/domains/agents/builtins/coder.md +3 -2
  271. package/src/domains/agents/builtins/debugger.md +2 -2
  272. package/src/domains/agents/builtins/documenter.md +2 -2
  273. package/src/domains/agents/builtins/git-master.md +1 -1
  274. package/src/domains/agents/builtins/oracle.md +1 -1
  275. package/src/domains/agents/builtins/provenance.md +1 -1
  276. package/src/domains/agents/builtins/researcher.md +1 -1
  277. package/src/domains/agents/builtins/scout.md +1 -1
  278. package/src/domains/agents/builtins/tester.md +2 -2
  279. package/src/domains/agents/builtins/verifier.md +2 -2
  280. package/src/domains/agents/builtins/wiki-writer.md +1 -1
  281. package/src/domains/agents/catalog.ts +12 -14
  282. package/src/domains/agents/contract.ts +2 -0
  283. package/src/domains/agents/extension.ts +23 -1
  284. package/src/domains/config/keybindings.ts +8 -0
  285. package/src/domains/context/extension.ts +0 -3
  286. package/src/domains/context/working-set/path-index.ts +1 -0
  287. package/src/domains/dispatch/capability-match.ts +10 -0
  288. package/src/domains/dispatch/extension.ts +105 -22
  289. package/src/domains/dispatch/host-verification.ts +435 -39
  290. package/src/domains/dispatch/intent-requirements.ts +10 -0
  291. package/src/domains/dispatch/intent.ts +18 -1
  292. package/src/domains/dispatch/path-scope.ts +235 -24
  293. package/src/domains/dispatch/run-event-journal.ts +4 -15
  294. package/src/domains/dispatch/state.ts +2 -3
  295. package/src/domains/dispatch/transport.ts +45 -21
  296. package/src/domains/dispatch/types.ts +55 -3
  297. package/src/domains/eval/artifacts/store.ts +5 -0
  298. package/src/domains/eval/store.ts +8 -1
  299. package/src/domains/evidence/trust-status.ts +10 -1
  300. package/src/domains/extensions/contract.ts +15 -1
  301. package/src/domains/extensions/discovery.ts +238 -41
  302. package/src/domains/extensions/extension.ts +105 -6
  303. package/src/domains/extensions/index.ts +24 -0
  304. package/src/domains/extensions/integrity.ts +189 -0
  305. package/src/domains/extensions/manager.ts +17 -1
  306. package/src/domains/extensions/resource-path.ts +27 -0
  307. package/src/domains/extensions/resources.ts +18 -38
  308. package/src/domains/extensions/snapshot-store.ts +39 -0
  309. package/src/domains/extensions/snapshot.ts +180 -0
  310. package/src/domains/extensions/state.ts +385 -57
  311. package/src/domains/extensions/types.ts +118 -1
  312. package/src/domains/lifecycle/migrations/2026-09-01-extension-install-digests.ts +27 -0
  313. package/src/domains/lifecycle/migrations/index.ts +2 -0
  314. package/src/domains/lifecycle/naming-resources.ts +19 -4
  315. package/src/domains/lifecycle/naming-yazi.ts +10 -5
  316. package/src/domains/middleware/contract.ts +26 -0
  317. package/src/domains/middleware/extension.ts +24 -24
  318. package/src/domains/middleware/hook-receipts.ts +27 -4
  319. package/src/domains/middleware/hooks-io.ts +65 -32
  320. package/src/domains/middleware/hooks.ts +64 -0
  321. package/src/domains/middleware/index.ts +28 -4
  322. package/src/domains/middleware/registrations.ts +326 -0
  323. package/src/domains/middleware/runtime.ts +28 -0
  324. package/src/domains/middleware/snapshot.ts +20 -7
  325. package/src/domains/mux/contract.ts +38 -0
  326. package/src/domains/mux/detect.ts +6 -13
  327. package/src/domains/mux/index.ts +1 -1
  328. package/src/domains/mux/operations.ts +44 -5
  329. package/src/domains/mux/yazi/assets/yazi.toml +2 -2
  330. package/src/domains/mux/yazi/session.ts +53 -4
  331. package/src/domains/mux/yazi/theme.ts +117 -17
  332. package/src/domains/observability/contract.ts +10 -11
  333. package/src/domains/observability/extension.ts +11 -3
  334. package/src/domains/observability/projection.ts +14 -90
  335. package/src/domains/observability/trace-store.ts +43 -7
  336. package/src/domains/prompts/compiler.ts +73 -53
  337. package/src/domains/prompts/contract.ts +15 -3
  338. package/src/domains/prompts/extension.ts +97 -9
  339. package/src/domains/prompts/fragments/identity/clio-worker.md +1 -3
  340. package/src/domains/prompts/fragments/identity/clio.md +6 -12
  341. package/src/domains/prompts/fragments/identity/docs-routing.md +1 -2
  342. package/src/domains/prompts/fragments/identity/self-awareness.md +3 -11
  343. package/src/domains/prompts/fragments/operating/contract.md +7 -15
  344. package/src/domains/prompts/fragments/operating/delegation.md +32 -34
  345. package/src/domains/prompts/fragments/operating/skills.md +10 -24
  346. package/src/domains/prompts/fragments/operating/worker.md +1 -8
  347. package/src/domains/providers/index.ts +1 -1
  348. package/src/domains/providers/model-runtime-capabilities.ts +85 -21
  349. package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +669 -104
  350. package/src/domains/providers/runtime-resolution.ts +31 -0
  351. package/src/domains/providers/runtimes/common/probe-helpers.ts +7 -2
  352. package/src/domains/providers/runtimes/local-native/llamacpp.ts +9 -1
  353. package/src/domains/providers/types/cost-provenance.ts +19 -0
  354. package/src/domains/providers/types/local-model-quirks.ts +85 -37
  355. package/src/domains/resources/skills/loader.ts +16 -19
  356. package/src/domains/safety/call-target.ts +1 -1
  357. package/src/domains/safety/loop-detector.ts +7 -4
  358. package/src/domains/session/task-board.ts +10 -9
  359. package/src/domains/share/archive.ts +164 -7
  360. package/src/engine/acp/server.ts +62 -9
  361. package/src/engine/apis/llamacpp-residency.ts +3 -4
  362. package/src/engine/apis/lmstudio.ts +3 -3
  363. package/src/engine/apis/ollama-native.ts +6 -6
  364. package/src/engine/apis/openai-completions.ts +28 -25
  365. package/src/engine/apis/output-budget.ts +8 -18
  366. package/src/engine/apis/residency.ts +8 -27
  367. package/src/engine/gemma-channel-filter.ts +19 -0
  368. package/src/engine/loop-guard.ts +92 -12
  369. package/src/engine/worker-runtime.ts +40 -11
  370. package/src/engine/worker-tools.ts +3 -1
  371. package/src/entry/extension-hook-sources.ts +28 -0
  372. package/src/entry/extension-reload.ts +309 -0
  373. package/src/entry/orchestrator.ts +59 -35
  374. package/src/interactive/application-controller.ts +2 -1
  375. package/src/interactive/bus-notices.ts +8 -1
  376. package/src/interactive/chat-loop-messages.ts +3 -13
  377. package/src/interactive/chat-loop.ts +10 -1
  378. package/src/interactive/chat-panel.ts +36 -13
  379. package/src/interactive/chat-renderer.ts +71 -7
  380. package/src/interactive/dispatch-board.ts +6 -11
  381. package/src/interactive/footer/widgets.ts +13 -0
  382. package/src/interactive/interactive-application.ts +39 -4
  383. package/src/interactive/interactive-input-runtime.ts +4 -0
  384. package/src/interactive/interactive-presentation.ts +2 -2
  385. package/src/interactive/interactive-slash-runtime.ts +2 -0
  386. package/src/interactive/overlays/extensions.ts +9 -1
  387. package/src/interactive/overlays/help-reference.ts +13 -0
  388. package/src/interactive/overlays/settings.ts +27 -16
  389. package/src/interactive/panes-runtime.ts +111 -35
  390. package/src/interactive/prompt-cache-identity.ts +88 -0
  391. package/src/interactive/slash-commands.ts +129 -14
  392. package/src/interactive/stream-pacing-policy.ts +0 -23
  393. package/src/interactive/turn-context.ts +30 -15
  394. package/src/interactive/yazi-bridge.ts +60 -6
  395. package/src/tools/agent-tools.ts +30 -1
  396. package/src/tools/artifact.ts +2 -2
  397. package/src/tools/ask-user.ts +3 -3
  398. package/src/tools/bash.ts +1 -1
  399. package/src/tools/bootstrap.ts +4 -0
  400. package/src/tools/builtin-tool-catalog.ts +52 -22
  401. package/src/tools/codewiki/code-nav-surface.ts +6 -0
  402. package/src/tools/codewiki/code-nav.ts +99 -13
  403. package/src/tools/context/docs-engine.ts +20 -7
  404. package/src/tools/context/index.ts +29 -12
  405. package/src/tools/core-bootstrap.ts +28 -6
  406. package/src/tools/credential-present.ts +1 -2
  407. package/src/tools/dispatch-arguments.ts +5 -1
  408. package/src/tools/dispatch-plan.ts +48 -4
  409. package/src/tools/dispatch-run-events.ts +1 -1
  410. package/src/tools/dispatch-schema.ts +338 -0
  411. package/src/tools/dispatch-types.ts +3 -0
  412. package/src/tools/dispatch.ts +9 -254
  413. package/src/tools/ledger.ts +3 -5
  414. package/src/tools/monitor-surface.ts +5 -13
  415. package/src/tools/observation.ts +4 -5
  416. package/src/tools/panes-surface.ts +4 -11
  417. package/src/tools/panes.ts +4 -2
  418. package/src/tools/policy.ts +15 -2
  419. package/src/tools/read.ts +5 -6
  420. package/src/tools/registry.ts +30 -7
  421. package/src/tools/result-shaping.ts +18 -14
  422. package/src/tools/steer-surface.ts +1 -1
  423. package/src/tools/tasks.ts +1 -1
  424. package/src/tools/truncate.ts +6 -5
  425. package/src/tools/verify/surface.ts +6 -12
  426. package/src/tools/web-fetch-surface.ts +1 -3
  427. package/dist/chunk-5QIAJV2D.js +0 -48
  428. package/dist/chunk-JZWT5J3Y.js +0 -814
  429. package/dist/chunk-K7VKOLQQ.js +0 -15
  430. package/dist/chunk-PMZCIOCJ.js +0 -25
  431. package/dist/chunk-SUW5DORT.js +0 -819
  432. package/dist/chunk-UOV2BYIW.js +0 -107
  433. package/dist/chunk-WR6U3OVP.js +0 -45
  434. package/docs/artifact-versions.md +0 -67
  435. package/docs/documentation-coverage.md +0 -46
  436. package/docs/documentation-guide.md +0 -167
  437. package/docs/time-conventions.md +0 -101
@@ -4,36 +4,28 @@ import {
4
4
  createYaziSession,
5
5
  resolveYaziBinaries,
6
6
  watchViewerCommand
7
- } from "./chunk-K6BF4U2H.js";
7
+ } from "./chunk-KKOJXO6R.js";
8
8
  import {
9
- paneWatchDecision
10
- } from "./chunk-PMZCIOCJ.js";
9
+ createPanesRuntime
10
+ } from "./chunk-3EBYEESD.js";
11
11
  import {
12
12
  ensureYaziProfile,
13
13
  yaziProfileDir
14
- } from "./chunk-J5LZHVIT.js";
15
- import {
16
- PANES_PRESETS
17
- } from "./chunk-GIZNH63R.js";
14
+ } from "./chunk-3M6DQK6S.js";
15
+ import "./chunk-35MSIRKH.js";
18
16
  import "./chunk-LCGCVYZ4.js";
19
- import {
20
- newestRunEventJournalRunId,
21
- runEventJournalPath,
22
- runEventJournalRoot
23
- } from "./chunk-6VC4OV3Z.js";
24
- import {
25
- resolveBinary
26
- } from "./chunk-BMS5RKQY.js";
17
+ import "./chunk-VIA6RFQZ.js";
18
+ import "./chunk-BMS5RKQY.js";
27
19
  import "./chunk-QSNYB6ZV.js";
28
20
  import "./chunk-QDC3K2U3.js";
29
21
  import {
30
22
  sanitizeCallTargetText
31
- } from "./chunk-TVHHYFHE.js";
32
- import {
33
- BusChannels
34
- } from "./chunk-HLW2MRKE.js";
23
+ } from "./chunk-NEDJ26B5.js";
35
24
  import "./chunk-BTK3SSSK.js";
36
25
  import "./chunk-D7E7WCDF.js";
26
+ import {
27
+ BusChannels
28
+ } from "./chunk-F4EKGO4N.js";
37
29
  import "./chunk-IWHMRKLL.js";
38
30
  import {
39
31
  clioCacheDir,
@@ -171,235 +163,6 @@ function createMuxBridge(deps) {
171
163
  };
172
164
  }
173
165
 
174
- // src/interactive/panes-runtime.ts
175
- init_esm_shims();
176
- var UNAVAILABLE = "the pane layer is not available in this session";
177
- function matchOwnedPane(owned, target) {
178
- const needle = target.trim().toLowerCase();
179
- const newestFirst = [...owned].reverse();
180
- return newestFirst.find((record) => record.ref.paneId.toLowerCase() === needle) ?? newestFirst.find((record) => record.label.toLowerCase().includes(needle)) ?? newestFirst.find((record) => record.purpose === needle) ?? null;
181
- }
182
- function inventory(records) {
183
- return records.map((record) => ({
184
- paneId: record.ref.paneId,
185
- tabId: record.ref.tabId,
186
- purpose: record.purpose,
187
- label: record.label,
188
- adopted: record.adopted === true
189
- }));
190
- }
191
- function createPanesRuntime(deps) {
192
- const probe = deps.resolveBinaryPath ?? resolveBinary;
193
- const journalRoot = deps.journalRoot ?? runEventJournalRoot;
194
- let yaziController = null;
195
- let watchController = null;
196
- let nextPendingOpen = 0;
197
- const pendingOpens = /* @__PURE__ */ new Map();
198
- const beginPendingOpen = (label) => {
199
- nextPendingOpen += 1;
200
- const id = `pending:${nextPendingOpen}`;
201
- pendingOpens.set(id, {
202
- paneId: id,
203
- tabId: "pending",
204
- purpose: "utility",
205
- label,
206
- adopted: false,
207
- pending: true
208
- });
209
- return id;
210
- };
211
- const closedYaziStatus = () => ({
212
- mode: "closed",
213
- paneId: null,
214
- paneCwd: null,
215
- lastLineAt: null,
216
- droppedLines: 0
217
- });
218
- const matchRun = (target) => {
219
- const needle = target.trim().toLowerCase();
220
- if (needle.length === 0) return null;
221
- const snapshot = deps.getDispatchSnapshot();
222
- const live = [
223
- ...snapshot.running.map((run) => ({ runId: run.runId, agentId: run.agentId, status: "running" })),
224
- ...snapshot.retrying.map((run) => ({ runId: run.runId, agentId: run.agentId, status: "retrying" }))
225
- ];
226
- const newestFirst = [...live].reverse();
227
- const byAgent = newestFirst.find((run) => run.agentId.toLowerCase().includes(needle));
228
- if (byAgent) return byAgent;
229
- return newestFirst.find((run) => run.runId.toLowerCase().startsWith(needle)) ?? null;
230
- };
231
- const presetArgv = (presetId, binaryPath) => {
232
- if (presetId === "shell") return [binaryPath, "-l"];
233
- if (presetId === "logs") {
234
- const runId = (deps.newestJournalRunId ?? (() => newestRunEventJournalRunId(journalRoot())))();
235
- if (runId === null) return null;
236
- return [binaryPath, "-n", "200", "-F", runEventJournalPath(runId, journalRoot())];
237
- }
238
- return null;
239
- };
240
- const show = async (target, source) => {
241
- if (!deps.mux.available()) return { status: "unavailable", reason: UNAVAILABLE };
242
- const match = matchRun(target);
243
- if (match === null) {
244
- const snapshot = deps.getDispatchSnapshot();
245
- const candidates = [
246
- .../* @__PURE__ */ new Set([...snapshot.running.map((run) => run.agentId), ...snapshot.retrying.map((run) => run.agentId)])
247
- ];
248
- return { status: "not-found", target, candidates };
249
- }
250
- const decision = paneWatchDecision({ source, runStatus: match.status });
251
- if (!decision.open) return { status: "refused", reason: decision.reason };
252
- if (watchController === null) {
253
- return { status: "unavailable", reason: "the watch pane is not wired in this session" };
254
- }
255
- const watched = await watchController.watch(match.runId);
256
- if (watched.status !== "watching") return { status: "unavailable", reason: watched.reason };
257
- return { status: "watching", runId: match.runId, agentId: match.agentId, opened: watched.opened };
258
- };
259
- return {
260
- status() {
261
- const detection = deps.mux.detection();
262
- const settings = deps.getSettings();
263
- const panes = settings.interface.panes;
264
- return {
265
- mode: deps.mux.mode,
266
- available: deps.mux.available(),
267
- reason: detection.reason,
268
- socketPath: detection.socketPath,
269
- server: detection.server,
270
- settings: {
271
- enabled: panes.enabled,
272
- notifications: panes.notifications,
273
- layout: panes.layout,
274
- journal: settings.fleet.history.journal,
275
- yazi: { ...panes.files }
276
- },
277
- yazi: yaziController?.status() ?? closedYaziStatus(),
278
- docks: deps.mux.docks().map((dock) => ({
279
- slot: dock.slot,
280
- paneId: dock.paneId,
281
- targetShare: dock.targetShare
282
- })),
283
- panes: [...inventory(deps.mux.list()), ...pendingOpens.values()]
284
- };
285
- },
286
- show(target) {
287
- return show(target, "slash");
288
- },
289
- async open(request) {
290
- const cwd = deps.getCwd();
291
- if (request.preset !== void 0) {
292
- const preset = PANES_PRESETS.find((entry) => entry.id === request.preset);
293
- if (!preset) {
294
- return { status: "refused", reason: `unknown preset: ${request.preset}` };
295
- }
296
- if (preset.id === "yazi") {
297
- if (!deps.getSettings().interface.panes.files.enabled) {
298
- return { status: "refused", reason: "the files pane is disabled by panes.yazi.enabled" };
299
- }
300
- if (!yaziController) {
301
- return { status: "unavailable", reason: "the files-pane return path is not ready" };
302
- }
303
- const pendingId3 = beginPendingOpen(preset.id);
304
- try {
305
- const result = await yaziController.open(request.once ? { once: true } : void 0);
306
- if (result.status === "opened") {
307
- return { status: "opened", label: preset.id, paneId: result.paneId };
308
- }
309
- if (result.status === "missing-binary") {
310
- return {
311
- status: "missing-binary",
312
- preset: preset.id,
313
- binary: result.binary,
314
- installHint: preset.installHint,
315
- detail: result.detail
316
- };
317
- }
318
- return {
319
- status: result.status === "profile-error" ? "refused" : "unavailable",
320
- reason: result.reason
321
- };
322
- } finally {
323
- pendingOpens.delete(pendingId3);
324
- }
325
- }
326
- if (!deps.mux.available()) return { status: "unavailable", reason: UNAVAILABLE };
327
- const binaryPath = probe(preset.binary);
328
- if (binaryPath === null) {
329
- return {
330
- status: "missing-binary",
331
- preset: preset.id,
332
- binary: preset.binary,
333
- installHint: preset.installHint,
334
- detail: `${preset.binary} was not found (install with \`${preset.installHint}\`)`
335
- };
336
- }
337
- const argv2 = presetArgv(preset.id, binaryPath);
338
- if (argv2 === null) {
339
- return { status: "refused", reason: `preset ${preset.id} has nothing to show yet` };
340
- }
341
- const pendingId2 = beginPendingOpen(preset.id);
342
- try {
343
- const ref = await deps.mux.openUtilityPane({ argv: argv2, cwd, label: preset.id });
344
- if (ref === null) return { status: "unavailable", reason: `pane host refused to open ${preset.id}` };
345
- return { status: "opened", label: preset.id, paneId: ref.paneId };
346
- } finally {
347
- pendingOpens.delete(pendingId2);
348
- }
349
- }
350
- if (!deps.mux.available()) return { status: "unavailable", reason: UNAVAILABLE };
351
- const argv = request.argv ?? [];
352
- if (argv.length === 0) return { status: "refused", reason: "nothing to run" };
353
- const label = argv[0] ?? "pane";
354
- const pendingId = beginPendingOpen(label);
355
- try {
356
- const ref = await deps.mux.openUtilityPane({ argv, cwd, label });
357
- if (ref === null) return { status: "unavailable", reason: `pane host refused to open ${label}` };
358
- return { status: "opened", label, paneId: ref.paneId };
359
- } finally {
360
- pendingOpens.delete(pendingId);
361
- }
362
- },
363
- async zoom(target) {
364
- if (!deps.mux.available()) return { status: "unavailable", reason: UNAVAILABLE };
365
- const match = matchOwnedPane(deps.mux.list(), target.trim().length === 0 ? "watch" : target);
366
- if (!match) return { status: "not-found", target: target.trim().length === 0 ? "watch" : target };
367
- const changed = await deps.mux.zoomPane(match.ref.paneId, "toggle");
368
- if (!changed) {
369
- return { status: "unavailable", reason: "the pane host does not support zoom (protocol below pane.zoom)" };
370
- }
371
- return { status: "zoomed", paneId: match.ref.paneId, label: match.label };
372
- },
373
- async close(target) {
374
- if (!deps.mux.available()) return { status: "unavailable", reason: UNAVAILABLE };
375
- const owned = deps.mux.list();
376
- if (target === "all") {
377
- const labels = [];
378
- for (const record of [...owned]) {
379
- if (await deps.mux.closePane(record.ref.paneId)) labels.push(record.label);
380
- }
381
- return { status: "closed", closed: labels.length, labels };
382
- }
383
- const match = matchOwnedPane(owned, target);
384
- if (!match) return { status: "not-found", target };
385
- const closed = await deps.mux.closePane(match.ref.paneId);
386
- return closed ? { status: "closed", closed: 1, labels: [match.label] } : { status: "not-found", target };
387
- },
388
- attachYazi(controller) {
389
- yaziController = controller;
390
- return () => {
391
- if (yaziController === controller) yaziController = null;
392
- };
393
- },
394
- attachWatch(controller) {
395
- watchController = controller;
396
- return () => {
397
- if (watchController === controller) watchController = null;
398
- };
399
- }
400
- };
401
- }
402
-
403
166
  // src/interactive/watch-pane.ts
404
167
  init_esm_shims();
405
168
  import { mkdirSync, renameSync, writeFileSync } from "node:fs";
@@ -679,9 +442,10 @@ function createYaziBridge(deps) {
679
442
  }
680
443
  deps.setDraft(appendDraft(draft, batch.text));
681
444
  deps.requestRender();
445
+ void deps.mux?.focusSelf();
682
446
  deps.notice(
683
447
  "info",
684
- `${batch.inserted} ${batch.inserted === 1 ? "path" : "paths"} from the file pane added to the draft`
448
+ `${batch.inserted} ${batch.inserted === 1 ? "path" : "paths"} from the files pane added to the draft`
685
449
  );
686
450
  if (batch.plainPaths > 0) {
687
451
  deps.notice(
@@ -728,6 +492,7 @@ function createYaziBridge(deps) {
728
492
  if (disposed || ownGeneration !== generation) return;
729
493
  paneCwd = choice.cwd;
730
494
  if (choice.paths.length > 0) insert(choice.paths, choice.cwd);
495
+ else void deps.mux?.focusSelf();
731
496
  },
732
497
  onStopped: () => {
733
498
  if (ownGeneration !== generation) return;
@@ -741,12 +506,13 @@ function createYaziBridge(deps) {
741
506
  return { status: "unavailable", reason: "the file pane was closed while it was opening" };
742
507
  }
743
508
  active = result.session;
509
+ await mux.focusPane(result.session.pane.paneId);
744
510
  if (mode === "companion") {
745
511
  livenessTimer = setTimeout(() => {
746
512
  if (disposed || ownGeneration !== generation || sawLine || active === null) return;
747
513
  const stale = active;
748
514
  active = null;
749
- deps.notice("warning", "the file-pane event stream did not start; reopening yazi in chooser mode");
515
+ deps.notice("warning", "the files pane did not report back in time; reopening it in pick mode");
750
516
  void stale.close().finally(() => {
751
517
  if (!disposed && ownGeneration === generation) void start("chooser", profileMode, dockShare);
752
518
  });
@@ -755,16 +521,38 @@ function createYaziBridge(deps) {
755
521
  }
756
522
  return { status: "opened", mode, paneId: result.session.pane.paneId, existing: false };
757
523
  };
524
+ const liveSession = () => {
525
+ if (active === null) return null;
526
+ const mux = deps.mux;
527
+ if (mux?.available() && !mux.list().some((record) => record.ref.paneId === active?.pane.paneId)) {
528
+ active = null;
529
+ return null;
530
+ }
531
+ return active;
532
+ };
533
+ const closeActive = async () => {
534
+ const session = liveSession();
535
+ if (session === null) return false;
536
+ generation += 1;
537
+ clearLiveness();
538
+ active = null;
539
+ await session.close();
540
+ await deps.mux?.focusSelf();
541
+ return true;
542
+ };
758
543
  return {
759
544
  async open(options = {}) {
760
- if (disposed) return { status: "unavailable", reason: "the file-pane bridge is closed" };
545
+ if (disposed) return { status: "unavailable", reason: "the files pane bridge is closed" };
761
546
  const settings = deps.getSettings?.() ?? { mode: "companion", profile: "managed", followCwd: true };
762
- if (active) {
547
+ const existing = liveSession();
548
+ if (existing) {
763
549
  if (settings.followCwd) {
764
550
  const cwd = deps.getCwd();
765
- if (await active.pushCwd(cwd)) paneCwd = cwd;
551
+ if (await existing.pushCwd(cwd)) paneCwd = cwd;
766
552
  }
767
- return { status: "opened", mode: active.mode, paneId: active.pane.paneId, existing: true };
553
+ await deps.mux?.unzoomSelf();
554
+ await deps.mux?.focusPane(existing.pane.paneId);
555
+ return { status: "opened", mode: existing.mode, paneId: existing.pane.paneId, existing: true };
768
556
  }
769
557
  const mode = options.once || settings.profile === "user" ? "chooser" : settings.mode;
770
558
  if (!deps.mux?.available()) {
@@ -785,8 +573,16 @@ function createYaziBridge(deps) {
785
573
  }
786
574
  return result;
787
575
  }
576
+ await deps.mux.unzoomSelf();
788
577
  return await start(mode, settings.profile, settings.ratio);
789
578
  },
579
+ close() {
580
+ if (disposed) return Promise.resolve(false);
581
+ return closeActive();
582
+ },
583
+ isOpen() {
584
+ return liveSession() !== null;
585
+ },
790
586
  status() {
791
587
  const snapshot = active?.snapshot();
792
588
  return {
@@ -815,4 +611,4 @@ export {
815
611
  createWatchPaneController,
816
612
  createYaziBridge
817
613
  };
818
- //# sourceMappingURL=with-panes-OBOBFIIR.js.map
614
+ //# sourceMappingURL=with-panes-BYOJCLAM.js.map
@@ -5,42 +5,37 @@ import {
5
5
  createEngineAgent,
6
6
  createLoopGuardRegistration,
7
7
  createProtectedArtifactsRegistration,
8
- createRegistry,
9
8
  effectiveToolNames,
9
+ isLockedSynthesisFallbackOnly,
10
10
  isLoopGuardSynthesisBackstopReason,
11
11
  isReserveAdmittedTool,
12
12
  lockedSynthesisFallbackText,
13
+ lockedSynthesisRepromptMessages,
13
14
  patchWorkerRequestPayload,
14
15
  registerCoreTools,
15
16
  resolveAgentTools,
16
17
  resolveDeliveryTools,
17
18
  sanitizeLockedSynthesisMessage,
18
19
  workerLoopBlockBudget
19
- } from "../chunk-QMXC4JB7.js";
20
- import "../chunk-K7VKOLQQ.js";
20
+ } from "../chunk-2NHR3NAY.js";
21
21
  import {
22
22
  createMiddlewareContractFromSnapshot,
23
23
  createMiddlewareToolChoiceControl,
24
24
  shouldRequestStalledTurnContinuation
25
- } from "../chunk-JA5QWE4Z.js";
25
+ } from "../chunk-UBRFI4HS.js";
26
26
  import {
27
27
  CONFIRMED_SCOPE,
28
28
  READONLY_SCOPE,
29
29
  WORKSPACE_SCOPE,
30
30
  isSubset
31
31
  } from "../chunk-5PSMVOLM.js";
32
- import {
33
- createLoopState,
34
- observe
35
- } from "../chunk-UOV2BYIW.js";
36
32
  import "../chunk-BMS5RKQY.js";
37
33
  import "../chunk-QSNYB6ZV.js";
38
34
  import "../chunk-QDC3K2U3.js";
39
- import "../chunk-YPI3QQCF.js";
40
- import "../chunk-7OBGU7UB.js";
41
- import "../chunk-ABLSQ6JX.js";
35
+ import "../chunk-MCEPRMZW.js";
36
+ import "../chunk-7BHIY2MW.js";
37
+ import "../chunk-LJID3DYZ.js";
42
38
  import "../chunk-PBP4B7XR.js";
43
- import "../chunk-JZWT5J3Y.js";
44
39
  import "../chunk-I66EAJFY.js";
45
40
  import "../chunk-VG7TBQIY.js";
46
41
  import {
@@ -49,6 +44,7 @@ import {
49
44
  WORKER_EXIT_PERMISSION_REQUIRED,
50
45
  claudeToolsOutsideProfile,
51
46
  coerceToolInput,
47
+ createRegistry,
52
48
  createRunEffectsRecorder,
53
49
  emitClaudeToolPermissionDecision,
54
50
  isClaudeCodeSessionId,
@@ -58,16 +54,19 @@ import {
58
54
  startAntigravityWorkerRun,
59
55
  startClaudeCodeWorkerRun,
60
56
  validateRehydratedWorkerRuntime
61
- } from "../chunk-2VG7KLYV.js";
62
- import "../chunk-7EPLI7VL.js";
63
- import "../chunk-6DWBAZ5U.js";
64
- import "../chunk-PVAMAVBB.js";
57
+ } from "../chunk-IKSLQ4XV.js";
58
+ import "../chunk-HIICAHCJ.js";
59
+ import "../chunk-Q4XWMHX6.js";
60
+ import {
61
+ createLoopState,
62
+ observe
63
+ } from "../chunk-IDNA72AH.js";
65
64
  import {
66
65
  createSafetyPolicyEngine
67
- } from "../chunk-IXJT6DCX.js";
66
+ } from "../chunk-FVDGR2ZL.js";
68
67
  import {
69
68
  describeCallTarget
70
- } from "../chunk-TVHHYFHE.js";
69
+ } from "../chunk-NEDJ26B5.js";
71
70
  import "../chunk-42FMPA75.js";
72
71
  import "../chunk-H7IXIC72.js";
73
72
  import "../chunk-VN3SHNBN.js";
@@ -76,11 +75,11 @@ import {
76
75
  DEFAULT_AUTONOMY_LEVEL,
77
76
  agentSkillToolPolicy
78
77
  } from "../chunk-FSP7CMNU.js";
79
- import "../chunk-R23Z6K6I.js";
78
+ import "../chunk-B7HM5Z7T.js";
80
79
  import "../chunk-OZNBF4L3.js";
81
80
  import "../chunk-4BJ5BYCE.js";
82
81
  import "../chunk-6XLNIQDB.js";
83
- import "../chunk-U2WB7TZS.js";
82
+ import "../chunk-NMJXSHBJ.js";
84
83
  import {
85
84
  UNKNOWN_RESOURCE,
86
85
  WORKER_PROTOCOL_VERSION,
@@ -106,10 +105,10 @@ import {
106
105
  parseWorkerResultContract,
107
106
  resultContractRepairMessages,
108
107
  validateResultContract
109
- } from "../chunk-IG7BCQBA.js";
108
+ } from "../chunk-PGF63K6I.js";
110
109
  import {
111
110
  protectedArtifactMutationBlockReason
112
- } from "../chunk-GCSMB2KY.js";
111
+ } from "../chunk-IKOZFYBN.js";
113
112
  import "../chunk-UL3WSD3F.js";
114
113
  import "../chunk-ECH6PKUQ.js";
115
114
  import "../chunk-5B2AEOW5.js";
@@ -127,22 +126,22 @@ import {
127
126
  setGlobalDefaultMaxOutputTokens,
128
127
  setProtectedModelsProvider,
129
128
  setResidencyNoticeSink
130
- } from "../chunk-UEDMSP56.js";
129
+ } from "../chunk-BYMNWQ7O.js";
131
130
  import "../chunk-CFGTUFWB.js";
132
131
  import "../chunk-72GZI5EV.js";
133
132
  import "../chunk-CWVRRIEI.js";
134
133
  import "../chunk-MQXIVJ35.js";
135
134
  import "../chunk-R346GLFC.js";
136
135
  import "../chunk-PMZVFWSR.js";
137
- import "../chunk-HLW2MRKE.js";
138
136
  import "../chunk-BTK3SSSK.js";
139
137
  import "../chunk-IHXBNWMM.js";
140
138
  import {
141
139
  readSettings,
142
140
  validateSettingsFile
143
- } from "../chunk-EIMVLWB3.js";
141
+ } from "../chunk-34BHNEE3.js";
144
142
  import "../chunk-D7E7WCDF.js";
145
143
  import "../chunk-HJWWJ6IL.js";
144
+ import "../chunk-F4EKGO4N.js";
146
145
  import {
147
146
  setGitCommitAttributionEnabled,
148
147
  withManagedGitCommitAttributionEnvironment
@@ -156,15 +155,15 @@ import {
156
155
  } from "../chunk-IWHMRKLL.js";
157
156
  import {
158
157
  registerBuiltinRuntimes
159
- } from "../chunk-QKIFBZKT.js";
160
- import "../chunk-BWW4HLO4.js";
158
+ } from "../chunk-IMXMHHMQ.js";
159
+ import "../chunk-UXCU4E3T.js";
161
160
  import "../chunk-LL4KHSZI.js";
162
161
  import {
163
162
  configureGuardrails,
164
163
  guardrailValuesFromSettings,
165
164
  isWorkerToolCallCapExceededReason,
166
165
  isWorkerToolCallCapSynthesisReason
167
- } from "../chunk-NLFAQR7Z.js";
166
+ } from "../chunk-S66XZJOF.js";
168
167
  import "../chunk-CDNVLKUX.js";
169
168
  import "../chunk-WNP7O5WZ.js";
170
169
  import "../chunk-336NSSKI.js";
@@ -287,6 +286,7 @@ function createWorkerToolRegistry(middlewareSnapshot, safety = createWorkerSafet
287
286
  ...onMiddlewareEffects ? { onMiddlewareEffects } : {}
288
287
  });
289
288
  const registration = registerCoreTools(registry, {
289
+ includeLedgerTools: true,
290
290
  ...agentLedger ? { agentLedger } : {},
291
291
  // A worker cannot install a skill or reach the operator who could, so
292
292
  // its skill listing carries installed (or bound) skills only; the
@@ -1016,6 +1016,7 @@ function startWorkerRun(input, emit) {
1016
1016
  ...input.protectedArtifactState !== void 0 ? { protectedArtifactState: { artifacts: [...input.protectedArtifactState.artifacts] } } : {}
1017
1017
  });
1018
1018
  let synthesisToolLock = false;
1019
+ let lockedSynthesisReprompts = 0;
1019
1020
  let workerBoundFailure = null;
1020
1021
  let workerBoundAborted = false;
1021
1022
  let abortWorkerForBound = null;
@@ -1151,6 +1152,7 @@ function startWorkerRun(input, emit) {
1151
1152
  includeInteractiveTools: false,
1152
1153
  invokeOptions: () => ({
1153
1154
  correlationId: `worker-model-round-${workerModelRound}`,
1155
+ toolResultMaxBytes: workerSettings.context.toolResultMaxBytes,
1154
1156
  ...agentSkillPolicy ? { pendingSkillPolicy: agentSkillPolicy } : {}
1155
1157
  })
1156
1158
  });
@@ -1209,11 +1211,24 @@ function startWorkerRun(input, emit) {
1209
1211
  pendingReadCitations.delete(event.toolCallId);
1210
1212
  if (request !== void 0 && event.isError !== true) recordObservedRead(request, event.result);
1211
1213
  }
1214
+ let repromptedThisMessage = false;
1212
1215
  if (synthesisToolLock && event.type === "message_end") {
1213
- sanitizeLockedSynthesisMessage(event.message);
1216
+ const stripped = sanitizeLockedSynthesisMessage(event.message);
1217
+ if (stripped && lockedSynthesisReprompts < 1 && isLockedSynthesisFallbackOnly(event.message)) {
1218
+ lockedSynthesisReprompts += 1;
1219
+ repromptedThisMessage = true;
1220
+ process.stderr.write("[worker] synthesis lock: reply was tool-call markup only; re-prompting once for prose\n");
1221
+ for (const message of lockedSynthesisRepromptMessages(lockedSynthesisReprompts, {
1222
+ provider: model.provider,
1223
+ api: model.api,
1224
+ model: model.id
1225
+ })) {
1226
+ agent.followUp(message);
1227
+ }
1228
+ }
1214
1229
  }
1215
1230
  const contract = input.resultContract;
1216
- if (contract && event.type === "message_end" && isTerminalAssistantMessage(event.message)) {
1231
+ if (contract && !repromptedThisMessage && event.type === "message_end" && isTerminalAssistantMessage(event.message)) {
1217
1232
  const violation = terminalContractViolation(
1218
1233
  contract,
1219
1234
  event.message,