@iowarp/clio-coder 0.4.5 → 0.4.6

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 (188) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/CONTRIBUTING.md +14 -9
  3. package/NOTICE +16 -0
  4. package/README.md +312 -685
  5. package/dist/{acp-H3CU2HBQ.js → acp-UVEVWSDL.js} +6 -6
  6. package/dist/{agents-IXQQZ7BD.js → agents-VWY37DTK.js} +31 -30
  7. package/dist/assets/codewiki.json +1 -1
  8. package/dist/{auth-R7KYF7N3.js → auth-PCV2XQDV.js} +6 -6
  9. package/dist/{builtins-CRFDQUVP.js → builtins-PD652MTK.js} +3 -3
  10. package/dist/{chunk-SDWNDICN.js → chunk-24T2YZ7A.js} +58 -56
  11. package/dist/{chunk-FSTIBAGM.js → chunk-2AKYFREM.js} +7 -7
  12. package/dist/{chunk-SE4ZKILO.js → chunk-3BJGMT2D.js} +30 -9
  13. package/dist/{chunk-GVYWZNRK.js → chunk-3HQVBIKD.js} +2 -2
  14. package/dist/{chunk-EWD5P3GK.js → chunk-3JLFK5MW.js} +4 -4
  15. package/dist/{chunk-O2RQ7LCK.js → chunk-3O2ZAUGQ.js} +2 -2
  16. package/dist/{chunk-GXCCHKN6.js → chunk-3QKXHCGS.js} +4 -4
  17. package/dist/{chunk-YEJIG7LN.js → chunk-3WBALRQH.js} +7 -7
  18. package/dist/{chunk-I7VLWRK2.js → chunk-4DU2TVI4.js} +5 -5
  19. package/dist/{chunk-TEG3RYVZ.js → chunk-4U4TKZFR.js} +3 -3
  20. package/dist/{chunk-EHCPSZJF.js → chunk-4VMV6OS6.js} +2 -2
  21. package/dist/{chunk-T7FDXNRU.js → chunk-536HXRFE.js} +4 -4
  22. package/dist/{chunk-ZMZQEBKI.js → chunk-5QRX7SLS.js} +8 -8
  23. package/dist/{chunk-RXIOCVBZ.js → chunk-6HAO6X5B.js} +4 -4
  24. package/dist/{chunk-HGSLRG33.js → chunk-6OII3LOK.js} +2 -2
  25. package/dist/{chunk-U2JOLB7O.js → chunk-6RYDAVQT.js} +32 -32
  26. package/dist/{chunk-T53XI6I7.js → chunk-6VRRJT7L.js} +2 -2
  27. package/dist/{chunk-RLTT5GVY.js → chunk-7JSSKXG2.js} +4 -4
  28. package/dist/{chunk-633EXGZA.js → chunk-ACCKVSHU.js} +3 -3
  29. package/dist/{chunk-6SYEGZI3.js → chunk-B3MOMLJ4.js} +2 -2
  30. package/dist/{chunk-UXAC2FX4.js → chunk-BLTEAUCB.js} +3 -3
  31. package/dist/{chunk-DRD2A54W.js → chunk-BT7HGDOX.js} +15 -15
  32. package/dist/{chunk-F34AR6O3.js → chunk-DXLUVUD4.js} +5 -5
  33. package/dist/{chunk-HR3HPQ76.js → chunk-E7RF4KBO.js} +2 -2
  34. package/dist/chunk-EM2WNQS2.js +93 -0
  35. package/dist/{chunk-KYKNBD4Y.js → chunk-F5Z7EWMN.js} +953 -233
  36. package/dist/{chunk-VLPTKCKT.js → chunk-GLYBJ4RQ.js} +3 -3
  37. package/dist/{chunk-KDWLXVMN.js → chunk-HPTJF6DG.js} +16 -39
  38. package/dist/{chunk-6CDNRHWH.js → chunk-HZ2T2YED.js} +2 -2
  39. package/dist/{chunk-UTUNT5QL.js → chunk-HZFBVU5X.js} +7 -7
  40. package/dist/{chunk-KF6GFW6O.js → chunk-I2K2NCZQ.js} +7 -7
  41. package/dist/{chunk-5DDOTTG4.js → chunk-IGLVVNEG.js} +2 -2
  42. package/dist/{chunk-4SVIVOMC.js → chunk-IKRWLEDA.js} +5 -5
  43. package/dist/{chunk-R6MAYTMS.js → chunk-JMPL7NUB.js} +3 -3
  44. package/dist/{chunk-5ZMXGW7P.js → chunk-KAFMW7WM.js} +4 -85
  45. package/dist/{chunk-R6MICQYU.js → chunk-LIN2K3EL.js} +4 -4
  46. package/dist/{chunk-QEQISF75.js → chunk-LK2FN5JY.js} +1 -1
  47. package/dist/{chunk-YYB3MC65.js → chunk-N2OKBREN.js} +2 -2
  48. package/dist/{chunk-XXBQKW32.js → chunk-NNWJYUNO.js} +4 -4
  49. package/dist/{chunk-TZ7MFRG4.js → chunk-P5JMBPDJ.js} +22 -20
  50. package/dist/{chunk-WFKDPU7U.js → chunk-P6M7RKMI.js} +2 -2
  51. package/dist/{chunk-MDU3C27C.js → chunk-PZN2LQY6.js} +5 -5
  52. package/dist/{chunk-S32UQ5GL.js → chunk-Q7NNUHQV.js} +15 -15
  53. package/dist/{chunk-U7VQ4NI4.js → chunk-QCOV5DFY.js} +5 -5
  54. package/dist/{chunk-MC3JSVR6.js → chunk-QJMRYTCX.js} +7 -7
  55. package/dist/{chunk-DIMRLNIC.js → chunk-QNWRHOMF.js} +3 -3
  56. package/dist/{chunk-ILJ7DWGE.js → chunk-QXFBABFJ.js} +4 -4
  57. package/dist/chunk-R2CT5YDO.js +66 -0
  58. package/dist/{chunk-E3BQTQUP.js → chunk-RGZNQ5CT.js} +3 -3
  59. package/dist/{chunk-SBZX6ARC.js → chunk-SXQKNKRA.js} +7 -7
  60. package/dist/{chunk-WLMSOT73.js → chunk-TJFDL26W.js} +3 -3
  61. package/dist/{chunk-EQEJJ53P.js → chunk-VAHLPXPY.js} +2 -2
  62. package/dist/{chunk-7TKWWPD7.js → chunk-VANN3GDP.js} +3 -23
  63. package/dist/{chunk-GNQRWTMY.js → chunk-VHMX7SXF.js} +2 -2
  64. package/dist/{chunk-UL36QJX6.js → chunk-WKUYQBCG.js} +6 -6
  65. package/dist/{chunk-FKIOX6DS.js → chunk-WNGF5AJX.js} +9 -4
  66. package/dist/{chunk-ICO4TQ2F.js → chunk-WV6TDAPN.js} +36 -20
  67. package/dist/{chunk-K6RDB7IA.js → chunk-X3BI7HTV.js} +9 -9
  68. package/dist/{chunk-NY6IWDVU.js → chunk-XWMSPJYN.js} +2 -2
  69. package/dist/{chunk-7HBHHVCK.js → chunk-YPRSNUTC.js} +2 -2
  70. package/dist/{chunk-ONRTXOZY.js → chunk-ZS43Y2FT.js} +2 -2
  71. package/dist/cli/index.js +27 -27
  72. package/dist/{clio-5I2IBFYL.js → clio-QQCMTUZE.js} +6 -6
  73. package/dist/{code-nav-YXIAEZVS.js → code-nav-GUPM6766.js} +8 -8
  74. package/dist/{config-Y2JDJ3JJ.js → config-IIM7YOD3.js} +42 -41
  75. package/dist/{configure-SML6UBZ5.js → configure-4ZM5HWJX.js} +28 -10
  76. package/dist/{context-S2EEC3EJ.js → context-44BZLJ3J.js} +12 -12
  77. package/dist/{context-P5YSEO55.js → context-AIDVQKMW.js} +34 -33
  78. package/dist/{context-QQ53HSGJ.js → context-OL5P3HEP.js} +25 -24
  79. package/dist/{context-clear-TMEQCOTH.js → context-clear-OQV76MYP.js} +34 -33
  80. package/dist/{context-working-set-CNLSQN5K.js → context-working-set-ZUW3EGLS.js} +10 -9
  81. package/dist/{detail-5572VLBO.js → detail-UXPWRANG.js} +35 -34
  82. package/dist/{dispatch-runner-FRHD6P2O.js → dispatch-runner-P3ZW6G77.js} +38 -37
  83. package/dist/{doctor-N3LCM2LG.js → doctor-JJVGPZWT.js} +18 -17
  84. package/dist/{eval-BUU3ZOUZ.js → eval-V2RTN3UH.js} +26 -25
  85. package/dist/{evidence-DTGEN456.js → evidence-35PYWGSO.js} +34 -33
  86. package/dist/{evidence-SQ5DNFEN.js → evidence-CIGGKI6J.js} +36 -35
  87. package/dist/{evolve-IJNUFZDS.js → evolve-33SM3NJP.js} +34 -33
  88. package/dist/{fleet-ZNNVSYFO.js → fleet-LFO7SIPC.js} +62 -61
  89. package/dist/{fleet-commands-5YE7NPJL.js → fleet-commands-RLK72GU3.js} +9 -9
  90. package/dist/fleet-decisions-3SBSCTCW.js +1 -1
  91. package/dist/{fleet-graph-6HHPWF5T.js → fleet-graph-JZIBCGMW.js} +11 -11
  92. package/dist/{fleet-inspect-JEYMGCGC.js → fleet-inspect-2L5YGGZJ.js} +35 -34
  93. package/dist/{fleet-validate-4PM4GDDL.js → fleet-validate-LIAVKDUU.js} +12 -12
  94. package/dist/{fleet-verify-NJDTHTO3.js → fleet-verify-JIK3OQZR.js} +34 -33
  95. package/dist/{fleet-view-UP2BWQQY.js → fleet-view-IWHYGQKK.js} +35 -34
  96. package/dist/{init-S3GZQ5ZF.js → init-NJEDOTQW.js} +46 -45
  97. package/dist/{interop-YOTGXFJM.js → interop-RVCAYECG.js} +4 -4
  98. package/dist/{inventory-K2OZ36YJ.js → inventory-74UL7UHU.js} +35 -34
  99. package/dist/{library-GJI6W6OK.js → library-CTKZA7K3.js} +10 -10
  100. package/dist/{memory-OQOXQGYD.js → memory-I76I5VUH.js} +34 -33
  101. package/dist/{models-3IK2Y5WE.js → models-D4YDIQZQ.js} +19 -18
  102. package/dist/{monitor-FTJLTKCQ.js → monitor-NKVD55HX.js} +40 -39
  103. package/dist/{orchestrator-N47O7SFD.js → orchestrator-I6OATVPK.js} +658 -1092
  104. package/dist/{preload-65U34NG6.js → preload-EJAWJEIO.js} +34 -33
  105. package/dist/{reset-MUVQDLNL.js → reset-4XMQKDNZ.js} +5 -3
  106. package/dist/{resources-LM76COAO.js → resources-TVYVXK3Q.js} +10 -10
  107. package/dist/{run-3VFZQ33N.js → run-OWQNNSJU.js} +61 -60
  108. package/dist/{share-4JUB4BL7.js → share-NPZZMUXG.js} +11 -11
  109. package/dist/{skills-S36AAJHU.js → skills-OXFEAWMT.js} +12 -12
  110. package/dist/{skills-eval-G6T57L7M.js → skills-eval-J5TCKSJA.js} +38 -37
  111. package/dist/{skills-inventory-WLM46PJH.js → skills-inventory-7II4DM57.js} +10 -10
  112. package/dist/{slash-commands-GBARG3Y7.js → slash-commands-MDSDSWYF.js} +26 -25
  113. package/dist/{targets-N5REUETU.js → targets-KILZEOCE.js} +36 -20
  114. package/dist/{tasks-6BVY5YZF.js → tasks-R6P6OV22.js} +7 -7
  115. package/dist/{terminal-lease-57UEOJKS.js → terminal-lease-LZCG2KN3.js} +2 -2
  116. package/dist/{upgrade-4HD5HAIV.js → upgrade-D2OZH6IQ.js} +9 -9
  117. package/dist/{usage-4GWM2WWP.js → usage-PIASNUS4.js} +40 -39
  118. package/dist/{verifiers-GSKWKWVG.js → verifiers-LTHUY2PX.js} +9 -9
  119. package/dist/{verify-3AS3ULCY.js → verify-HYF7KBVE.js} +7 -7
  120. package/dist/{wiki-generate-7BV7XWIY.js → wiki-generate-RK7JQ5NP.js} +51 -50
  121. package/dist/worker/entry.js +41 -39
  122. package/docs/architecture/context-engine.md +1 -1
  123. package/docs/architecture/tui-design.md +45 -30
  124. package/docs/guide/commands-and-modes.md +26 -25
  125. package/docs/guide/configuration-and-targets.md +122 -27
  126. package/docs/guide/configuration-reference.md +9 -4
  127. package/docs/guide/fleet-dispatch.md +1 -6
  128. package/docs/guide/glossary.md +1 -1
  129. package/docs/guide/installation-and-lifecycle.md +44 -11
  130. package/docs/process/development-pipeline.md +1 -1
  131. package/docs/process/documentation-coverage.md +1 -1
  132. package/docs/process/release-cut-checklist.md +18 -6
  133. package/package.json +1 -1
  134. package/src/cli/ask.ts +10 -10
  135. package/src/cli/configure-editor.ts +51 -0
  136. package/src/cli/configure-interop.ts +1 -1
  137. package/src/cli/configure-oauth.ts +1 -1
  138. package/src/cli/configure-onboarding.ts +232 -96
  139. package/src/cli/configure-prompts.ts +76 -0
  140. package/src/cli/configure-quick.ts +274 -0
  141. package/src/cli/configure-target.ts +14 -2
  142. package/src/cli/configure.ts +413 -174
  143. package/src/cli/oauth-manual-input.ts +1 -1
  144. package/src/cli/reset.ts +2 -0
  145. package/src/cli/select.ts +35 -4
  146. package/src/cli/upgrade.ts +2 -2
  147. package/src/core/config.ts +6 -1
  148. package/src/core/defaults.ts +33 -11
  149. package/src/{interactive → core}/external-editor.ts +4 -4
  150. package/src/domains/config/classify.ts +1 -1
  151. package/src/domains/config/keybindings.ts +3 -31
  152. package/src/domains/providers/probe/fingerprint.ts +13 -6
  153. package/src/domains/providers/probe/reasoning.ts +2 -0
  154. package/src/domains/providers/runtimes/common/probe-helpers.ts +23 -7
  155. package/src/domains/providers/runtimes/protocol/anthropic-compat.ts +7 -2
  156. package/src/domains/providers/runtimes/protocol/openai-compat.ts +10 -4
  157. package/src/interactive/application-controller.ts +1 -31
  158. package/src/interactive/chat-panel.ts +163 -637
  159. package/src/interactive/chat-renderer.ts +13 -30
  160. package/src/interactive/dispatch-board.ts +1 -3
  161. package/src/interactive/editor-submit.ts +8 -31
  162. package/src/interactive/footer/dashboard.ts +8 -3
  163. package/src/interactive/footer/widgets.ts +50 -91
  164. package/src/interactive/interactive-application.ts +16 -42
  165. package/src/interactive/interactive-event-projection.ts +2 -44
  166. package/src/interactive/interactive-input-runtime.ts +3 -28
  167. package/src/interactive/interactive-presentation.ts +30 -9
  168. package/src/interactive/interactive-slash-runtime.ts +3 -40
  169. package/src/interactive/layout.ts +29 -4
  170. package/src/interactive/overlay-general-openers.ts +2 -0
  171. package/src/interactive/overlay-lifecycle.ts +1 -0
  172. package/src/interactive/overlay-session-lifecycle.ts +1 -1
  173. package/src/interactive/overlays/settings.ts +9 -8
  174. package/src/interactive/renderers/preview.ts +16 -0
  175. package/src/interactive/renderers/tool-execution.ts +67 -160
  176. package/src/interactive/renderers/worker-entry.ts +57 -41
  177. package/src/interactive/slash-autocomplete.ts +1 -6
  178. package/src/interactive/slash-commands.ts +7 -39
  179. package/src/interactive/status/controller.ts +0 -5
  180. package/src/interactive/status/state-machine.ts +44 -26
  181. package/src/interactive/status/types.ts +3 -0
  182. package/src/interactive/status/verbs.ts +13 -12
  183. package/src/interactive/transcript-detail.ts +50 -112
  184. package/src/interactive/view/artifacts.ts +4 -0
  185. package/src/interactive/view/view-overlay.ts +44 -34
  186. package/src/tools/presentation.ts +1 -1
  187. package/src/tools/registry.ts +1 -1
  188. package/src/tools/verify/numeric.ts +4 -4
package/CHANGELOG.md CHANGED
@@ -2,6 +2,30 @@
2
2
 
3
3
  All notable changes to Clio Coder are documented in this file. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and versions follow Semantic Versioning; pre-1.0 minor releases may include incompatible changes.
4
4
 
5
+ ## 0.4.6 - 2026-09-08
6
+
7
+ This release restores reliable setup with Quick Connect and simplifies the terminal transcript with three consistent output styles. New users can connect a model and start working, while existing users retain their saved settings and can inspect more detail when needed.
8
+
9
+ ### Added
10
+ - Make Quick Connect the first launcher option, with Settings and Diagnostics alongside it. Connect an endpoint, supply a key when needed, filter the live model list, review, and Connect. A single model skips selection; reconnecting preserves existing preferences and fleet assignments. Add `--quick` and `--settings` shortcuts.
11
+
12
+ ### Changed
13
+ - Simplify rendering to Compact, Standard (default), and Detailed output styles. Alt+O cycles the session; Settings saves a default. Accept legacy output preferences and retire `/output` with migration guidance.
14
+ - Bound reasoning, shell output, diffs, and worker previews after terminal wrapping. Inspect full available content through `/view transcript`; keep failures and validation outcomes visible in every style.
15
+ - Give the footer sole ownership of live activity, with accurate concurrent-tool state and background worker counts. Remove separate reasoning, tool expansion, and live-output toggles.
16
+ - Simplify the README around installation, the first session, scientific software, and HPC. Keep advanced configuration and multi-agent workflows in collapsible sections, and expand dependency and integration acknowledgements.
17
+ - Use one worker, no prompt prewarm, and automatic TTY streaming as shipped defaults. Preserve explicitly saved values and document the full recommended default policy.
18
+ - Check the ACP registry version against package metadata during release audits, and make version alignment and issue reconciliation explicit release-cut steps.
19
+
20
+ ### Fixed
21
+ - Preserve every own JSON measurement field in numerical verification, including names inherited by ordinary JavaScript objects. Mismatched measurements can no longer disappear during parsing and produce a false pass in ordinary or host verification (#332).
22
+ - Fix `configure` exiting successfully at the first question after an arrow-key menu. Scope readline to active questions, use arrow selectors and editable text fields for settings, and preserve menu position on Back.
23
+ - Use the canonical autonomy levels in the configuration menu, so saved choices match the settings schema and existing `full-auto` configurations open on the correct selection.
24
+ - Share the target wizard across first setup, Add, and Edit, with a review and explicit Save. Preserve existing role defaults, credential references, and capability overrides; reject duplicate target ids and allow clearing model overrides. Save pasted keys per target and review optional delegation peers after the primary setup is saved.
25
+ - Authenticate generic OpenAI- and Anthropic-compatible discovery probes with the resolved target credential, including a pasted key before the target is saved.
26
+ - Add `configure --edit` and All Settings for validated editing of the complete user settings schema, including repair of malformed YAML, a previous-file backup, and protection against overwriting concurrent changes.
27
+ - Keep configuration inspection and upgrade dry runs from initializing user state. Give reset explicit setup/reconnection guidance and simplify the source installer's next step to `clio-coder configure`.
28
+
5
29
  ## 0.4.5 - 2026-09-07
6
30
 
7
31
  ### Added
package/CONTRIBUTING.md CHANGED
@@ -95,22 +95,23 @@ historical record, not a reusable current checklist.
95
95
 
96
96
  1. During development, keep the top changelog section at `## Unreleased`. A
97
97
  maintainer collects release work on a **local-only** compact candidate
98
- branch (`v043` for `v0.4.3`) and bumps `version` there. Never push this
98
+ branch (`v046` for `v0.4.6`) and bumps `version` there. Never push this
99
99
  candidate branch to the canonical repository. Before the cut, retitle the
100
- changelog section `## <version> - YYYY-MM-DD`.
100
+ changelog section `## <version> - YYYY-MM-DD`, align the ACP registry manifest
101
+ version, and update the README's install tag and release notices.
101
102
  2. Run `pnpm run ci:release` on the exact candidate. It runs the full `ci` gate,
102
103
  then `scripts/check-release.mjs`, which verifies the built `dist/` and
103
104
  audits the exact npm package contents.
104
105
  3. Fetch `origin`, require the fetched `origin/main` to be the candidate's
105
- ancestor, then fast-forward local `main` with `git merge --ff-only v043`.
106
+ ancestor, then fast-forward local `main` with `git merge --ff-only v046`.
106
107
  Re-run the release gate if the candidate changed and verify local `main`
107
108
  equals the reviewed candidate SHA.
108
109
  4. Fetch once more and stop on unexpected movement. With explicit maintainer
109
110
  authorization, push only `refs/heads/main:refs/heads/main`; no topic or
110
111
  release-candidate branch is pushed to canonical `origin`.
111
112
  5. Require CI for that exact `main` SHA to pass. Create the annotated tag on
112
- that commit and push only it: `git tag -a v0.4.3` followed by
113
- `git push origin refs/tags/v0.4.3`. The tag must match `package.json`; the
113
+ that commit and push only it: `git tag -a v0.4.6` followed by
114
+ `git push origin refs/tags/v0.4.6`. The tag must match `package.json`; the
114
115
  release workflow refuses mismatches.
115
116
  6. `.github/workflows/release.yml` verifies the tag against `package.json`,
116
117
  runs `pnpm run ci:release` on the tagged tree, and creates the GitHub release
@@ -118,7 +119,11 @@ historical record, not a reusable current checklist.
118
119
  body. It does not publish to npm.
119
120
  7. A maintainer publishes from the tagged commit with `npm publish`;
120
121
  `prepublishOnly` runs the same `ci:release` gate in release mode first.
121
- 8. Verify the release and tag, then delete the local compact candidate branch.
122
+ 8. Verify the release and tag. Reconcile milestone tickets against tagged
123
+ implementation and acceptance evidence; plain issue references and release
124
+ tags do not close tickets. Verify automatic closures, explicitly close
125
+ completed tickets that remain open, and carry incomplete work forward before
126
+ closing the milestone. Then delete the local compact candidate branch.
122
127
  The canonical remote returns to its steady state: `main` plus immutable
123
128
  release tags and GitHub releases, with no release branch.
124
129
 
@@ -210,8 +215,8 @@ Examples:
210
215
  - `docs/github-governance`
211
216
 
212
217
  Maintainer branches are local-only. A temporary release candidate uses the
213
- compact version spelling with no dots: `v043` for release tag `v0.4.3`. Never
214
- create or push a branch named `v0.4.3`; dotted `vX.Y.Z` names belong exclusively
218
+ compact version spelling with no dots: `v046` for release tag `v0.4.6`. Never
219
+ create or push a branch named `v0.4.6`; dotted `vX.Y.Z` names belong exclusively
215
220
  to immutable release tags. The compact branch is local scaffolding and is
216
221
  deleted after its reviewed commit reaches `main` and the release succeeds.
217
222
 
@@ -244,7 +249,7 @@ verification and teardown safely. After a PR is merged or a release is tagged:
244
249
  `refs/heads/main`; every additional head is a cleanup failure.
245
250
 
246
251
  For a release, first verify `refs/tags/vX.Y.Z^{commit}` equals the reviewed
247
- commit on `main`, then close the compact candidate branch such as `v043`.
252
+ commit on `main`, then close the compact candidate branch such as `v046`.
248
253
  Published tags are never deleted, moved, or recreated during cleanup.
249
254
 
250
255
  ## Commits
package/NOTICE CHANGED
@@ -8,6 +8,22 @@ Illinois Institute of Technology.
8
8
  Licensed under the Apache License, Version 2.0. See the LICENSE file
9
9
  distributed with this work for the full license text.
10
10
 
11
+ --------------------------------------------------------------------
12
+ Technology acknowledgements
13
+
14
+ Clio Coder builds on Earendil Works' Pi framework and, for optional Claude
15
+ workers, Anthropic's Claude Agent SDK. Its runtime and development tools
16
+ include Node.js, TypeScript, node-pty, Tree-sitter, Ollama's JavaScript
17
+ client, esbuild, tsup, and Biome. The source GUI uses React, Deno, Vite,
18
+ and community libraries for Markdown, diagrams, syntax highlighting,
19
+ sanitization, images, and fonts.
20
+
21
+ We thank these projects and their maintainers. Exact dependencies and
22
+ versions are recorded in the package manifests and pnpm-lock.yaml;
23
+ third-party components retain their upstream copyrights and licenses.
24
+ README.md also acknowledges the optional inference and tool integrations
25
+ that operators can connect to Clio.
26
+
11
27
  --------------------------------------------------------------------
12
28
  Pinned external tools
13
29