@selesai/code 0.9.14 → 0.10.0

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 (263) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +6 -9
  3. package/dist/defaults/models.json +79 -29
  4. package/dist/defaults/settings.json +3 -7
  5. package/dist/extensions/package.json +3 -4
  6. package/dist/extensions/pi-zentui/.editorconfig +12 -0
  7. package/dist/extensions/pi-zentui/.github/CODEOWNERS +1 -0
  8. package/dist/extensions/pi-zentui/.github/ISSUE_TEMPLATE/bug_report.yml +110 -0
  9. package/dist/extensions/pi-zentui/.github/ISSUE_TEMPLATE/config.yml +8 -0
  10. package/dist/extensions/pi-zentui/.github/ISSUE_TEMPLATE/config_question.yml +56 -0
  11. package/dist/extensions/pi-zentui/.github/ISSUE_TEMPLATE/feature_request.yml +63 -0
  12. package/dist/extensions/pi-zentui/.github/ISSUE_TEMPLATE/rendering_issue.yml +106 -0
  13. package/dist/extensions/pi-zentui/.github/ISSUE_TEMPLATE/runtime_detection.yml +103 -0
  14. package/dist/extensions/pi-zentui/.github/dependabot.yml +47 -0
  15. package/dist/extensions/pi-zentui/.github/pull_request_template.md +34 -0
  16. package/dist/extensions/pi-zentui/.github/release.yml +18 -0
  17. package/dist/extensions/pi-zentui/.github/workflows/ci.yml +79 -0
  18. package/dist/extensions/pi-zentui/.github/workflows/publish.yml +63 -0
  19. package/dist/extensions/pi-zentui/AGENTS.md +107 -0
  20. package/dist/extensions/pi-zentui/CONTRIBUTING.md +68 -0
  21. package/dist/extensions/pi-zentui/LICENSE +21 -0
  22. package/dist/extensions/pi-zentui/README.md +188 -0
  23. package/dist/extensions/pi-zentui/SECURITY.md +18 -0
  24. package/dist/extensions/pi-zentui/assets/main-cover.png +0 -0
  25. package/dist/extensions/pi-zentui/assets/screenshots/editor-accent-rail.png +0 -0
  26. package/dist/extensions/pi-zentui/assets/screenshots/editor-minimalist.png +0 -0
  27. package/dist/extensions/pi-zentui/assets/screenshots/editor-opencode-copy-friendly.png +0 -0
  28. package/dist/extensions/pi-zentui/assets/screenshots/editor-opencode.png +0 -0
  29. package/dist/extensions/pi-zentui/assets/screenshots/user-message-compact.png +0 -0
  30. package/dist/extensions/pi-zentui/assets/screenshots/user-message-framed-copy-friendly.png +0 -0
  31. package/dist/extensions/pi-zentui/assets/screenshots/user-message-framed.png +0 -0
  32. package/dist/extensions/pi-zentui/assets/screenshots/user-message-labeled.png +0 -0
  33. package/dist/extensions/pi-zentui/assets/zentui.png +0 -0
  34. package/dist/extensions/pi-zentui/biome.json +31 -0
  35. package/dist/extensions/pi-zentui/docs/configuration.md +509 -0
  36. package/dist/extensions/pi-zentui/docs/footer-format.md +162 -0
  37. package/dist/extensions/pi-zentui/extensions/zentui/accent-rail-editor.ts +99 -0
  38. package/dist/extensions/pi-zentui/extensions/zentui/accent-rail-layout-patch.ts +457 -0
  39. package/dist/extensions/pi-zentui/extensions/zentui/completion-menu.ts +157 -0
  40. package/dist/extensions/pi-zentui/extensions/zentui/config.ts +2100 -0
  41. package/dist/extensions/pi-zentui/extensions/zentui/editor-metadata-format.ts +321 -0
  42. package/dist/extensions/pi-zentui/extensions/zentui/editor-transfer.ts +73 -0
  43. package/dist/extensions/pi-zentui/extensions/zentui/extension-status.ts +89 -0
  44. package/dist/extensions/pi-zentui/extensions/zentui/footer-format.ts +364 -0
  45. package/dist/extensions/pi-zentui/extensions/zentui/footer-layout.ts +122 -0
  46. package/dist/extensions/pi-zentui/extensions/zentui/footer.ts +812 -0
  47. package/dist/extensions/pi-zentui/extensions/zentui/format.ts +568 -0
  48. package/dist/extensions/pi-zentui/extensions/zentui/git.ts +384 -0
  49. package/dist/extensions/pi-zentui/extensions/zentui/icons.ts +252 -0
  50. package/dist/extensions/pi-zentui/extensions/zentui/index.ts +1406 -0
  51. package/dist/extensions/pi-zentui/extensions/zentui/interaction-summary.ts +1049 -0
  52. package/dist/extensions/pi-zentui/extensions/zentui/live-context.ts +75 -0
  53. package/dist/extensions/pi-zentui/extensions/zentui/minimalist-editor.ts +463 -0
  54. package/dist/extensions/pi-zentui/extensions/zentui/package-version.ts +651 -0
  55. package/dist/extensions/pi-zentui/extensions/zentui/project-refresh.ts +120 -0
  56. package/dist/extensions/pi-zentui/extensions/zentui/project-state.ts +59 -0
  57. package/dist/extensions/pi-zentui/extensions/zentui/prototype-patch-registry.ts +166 -0
  58. package/dist/extensions/pi-zentui/extensions/zentui/repository-root.ts +98 -0
  59. package/dist/extensions/pi-zentui/extensions/zentui/runtime.ts +841 -0
  60. package/dist/extensions/pi-zentui/extensions/zentui/selector-border.ts +93 -0
  61. package/dist/extensions/pi-zentui/extensions/zentui/session-lifecycle.ts +60 -0
  62. package/dist/extensions/pi-zentui/extensions/zentui/settings-command.ts +1796 -0
  63. package/dist/extensions/pi-zentui/extensions/zentui/settings-previews.ts +128 -0
  64. package/dist/extensions/pi-zentui/extensions/zentui/state.ts +94 -0
  65. package/dist/extensions/pi-zentui/extensions/zentui/style.ts +424 -0
  66. package/dist/extensions/pi-zentui/extensions/zentui/telemetry.ts +82 -0
  67. package/dist/extensions/pi-zentui/extensions/zentui/ui.ts +1290 -0
  68. package/dist/extensions/pi-zentui/extensions/zentui/user-message-osc.ts +248 -0
  69. package/dist/extensions/pi-zentui/extensions/zentui/user-message-styles.ts +215 -0
  70. package/dist/extensions/pi-zentui/extensions/zentui/user-message.ts +206 -0
  71. package/dist/extensions/pi-zentui/extensions/zentui/working-line-messages.ts +24 -0
  72. package/dist/extensions/pi-zentui/extensions/zentui/working-line-spinners.ts +54 -0
  73. package/dist/extensions/pi-zentui/extensions/zentui/working-line.ts +1433 -0
  74. package/dist/extensions/pi-zentui/package-lock.json +5311 -0
  75. package/dist/extensions/pi-zentui/package.json +60 -0
  76. package/dist/extensions/pi-zentui/test/accent-rail-editor.test.ts +232 -0
  77. package/dist/extensions/pi-zentui/test/accent-rail-layout-patch.test.ts +669 -0
  78. package/dist/extensions/pi-zentui/test/completion-menu.test.ts +265 -0
  79. package/dist/extensions/pi-zentui/test/config.test.ts +3119 -0
  80. package/dist/extensions/pi-zentui/test/editor-metadata-format.test.ts +405 -0
  81. package/dist/extensions/pi-zentui/test/editor-transfer.test.ts +260 -0
  82. package/dist/extensions/pi-zentui/test/editor-viewport-indicators.test.ts +1286 -0
  83. package/dist/extensions/pi-zentui/test/extension-compliance.test.ts +7196 -0
  84. package/dist/extensions/pi-zentui/test/extension-status.test.ts +182 -0
  85. package/dist/extensions/pi-zentui/test/fixtures/starship-nerd-font-symbols.toml +172 -0
  86. package/dist/extensions/pi-zentui/test/footer-format.test.ts +431 -0
  87. package/dist/extensions/pi-zentui/test/footer-layout.test.ts +113 -0
  88. package/dist/extensions/pi-zentui/test/footer-repository-path.test.ts +123 -0
  89. package/dist/extensions/pi-zentui/test/format.test.ts +865 -0
  90. package/dist/extensions/pi-zentui/test/git.test.ts +212 -0
  91. package/dist/extensions/pi-zentui/test/icons.test.ts +69 -0
  92. package/dist/extensions/pi-zentui/test/interaction-summary.test.ts +1402 -0
  93. package/dist/extensions/pi-zentui/test/live-context-integration.test.ts +378 -0
  94. package/dist/extensions/pi-zentui/test/live-context.test.ts +139 -0
  95. package/dist/extensions/pi-zentui/test/minimalist-editor.test.ts +811 -0
  96. package/dist/extensions/pi-zentui/test/package-version.test.ts +321 -0
  97. package/dist/extensions/pi-zentui/test/project-refresh.test.ts +250 -0
  98. package/dist/extensions/pi-zentui/test/project-state.test.ts +159 -0
  99. package/dist/extensions/pi-zentui/test/repository-root.test.ts +108 -0
  100. package/dist/extensions/pi-zentui/test/responsive-dependencies.test.ts +825 -0
  101. package/dist/extensions/pi-zentui/test/runtime.test.ts +183 -0
  102. package/dist/extensions/pi-zentui/test/session-lifecycle.test.ts +40 -0
  103. package/dist/extensions/pi-zentui/test/settings-command.test.ts +1381 -0
  104. package/dist/extensions/pi-zentui/test/settings-previews.test.ts +347 -0
  105. package/dist/extensions/pi-zentui/test/state.test.ts +84 -0
  106. package/dist/extensions/pi-zentui/test/telemetry-lifecycle-integration.test.ts +276 -0
  107. package/dist/extensions/pi-zentui/test/telemetry.test.ts +105 -0
  108. package/dist/extensions/pi-zentui/test/turn-summary-lifecycle.integration.test.ts +327 -0
  109. package/dist/extensions/pi-zentui/test/user-message-osc.test.ts +164 -0
  110. package/dist/extensions/pi-zentui/test/user-message-styles.test.ts +292 -0
  111. package/dist/extensions/pi-zentui/test/working-line-lifecycle.integration.test.ts +730 -0
  112. package/dist/extensions/pi-zentui/test/working-line-messages.test.ts +34 -0
  113. package/dist/extensions/pi-zentui/test/working-line.test.ts +1990 -0
  114. package/dist/extensions/pi-zentui/tsconfig.json +16 -0
  115. package/dist/extensions/tps.test.ts +38 -0
  116. package/dist/extensions/{pi-powerline-footer/tps.ts → tps.ts} +4 -0
  117. package/dist/skills/design-references/SKILL.md +31 -0
  118. package/dist/skills/design-references/references/clickhouse/DESIGN.md +544 -0
  119. package/dist/themes/adventure.json +84 -0
  120. package/dist/themes/adwaita-dark.json +84 -0
  121. package/dist/themes/arcoiris.json +84 -0
  122. package/dist/themes/arthur.json +84 -0
  123. package/dist/themes/atom.json +84 -0
  124. package/dist/themes/aura.json +84 -0
  125. package/dist/themes/black-metal-bathory.json +84 -0
  126. package/dist/themes/black-metal-burzum.json +84 -0
  127. package/dist/themes/black-metal-khold.json +84 -0
  128. package/dist/themes/box.json +84 -0
  129. package/dist/themes/brogrammer.json +84 -0
  130. package/dist/themes/carbonfox.json +84 -0
  131. package/dist/themes/catppuccin-mocha.json +84 -0
  132. package/dist/themes/citruszest.json +84 -0
  133. package/dist/themes/cursor-dark.json +84 -0
  134. package/dist/themes/cutie-pro.json +84 -0
  135. package/dist/themes/dark-modern.json +84 -0
  136. package/dist/themes/dark-pastel.json +84 -0
  137. package/dist/themes/dimmed-monokai.json +84 -0
  138. package/dist/themes/doom-peacock.json +84 -0
  139. package/dist/themes/dracula-plus.json +84 -0
  140. package/dist/themes/dracula.json +80 -0
  141. package/dist/themes/earthsong.json +84 -0
  142. package/dist/themes/everforest-dark-hard.json +84 -0
  143. package/dist/themes/everforest-dark.json +80 -0
  144. package/dist/themes/fahrenheit.json +84 -0
  145. package/dist/themes/flatland.json +84 -0
  146. package/dist/themes/flexoki-dark.json +84 -0
  147. package/dist/themes/front-end-delight.json +84 -0
  148. package/dist/themes/fun-forrest.json +84 -0
  149. package/dist/themes/galizur.json +84 -0
  150. package/dist/themes/github-dark-colorblind.json +84 -0
  151. package/dist/themes/github-dark-high-contrast.json +84 -0
  152. package/dist/themes/glacier.json +84 -0
  153. package/dist/themes/gruber-darker.json +84 -0
  154. package/dist/themes/gruvbox-dark-hard.json +84 -0
  155. package/dist/themes/gruvbox-dark.json +84 -0
  156. package/dist/themes/gruvbox-material.json +84 -0
  157. package/dist/themes/guezwhoz.json +84 -0
  158. package/dist/themes/hacktober.json +84 -0
  159. package/dist/themes/hardcore.json +84 -0
  160. package/dist/themes/havn-skumring.json +84 -0
  161. package/dist/themes/ic-orange-ppl.json +84 -0
  162. package/dist/themes/iterm2-smoooooth.json +84 -0
  163. package/dist/themes/iterm2-tango-dark.json +84 -0
  164. package/dist/themes/japanesque.json +84 -0
  165. package/dist/themes/jellybeans.json +84 -0
  166. package/dist/themes/kanagawa-wave.json +84 -0
  167. package/dist/themes/kurokula.json +84 -0
  168. package/dist/themes/later-this-evening.json +84 -0
  169. package/dist/themes/lovelace.json +84 -0
  170. package/dist/themes/material-darker.json +84 -0
  171. package/dist/themes/matte-black.json +84 -0
  172. package/dist/themes/mellow.json +84 -0
  173. package/dist/themes/miasma.json +84 -0
  174. package/dist/themes/nord.json +80 -0
  175. package/dist/themes/nvim-dark.json +84 -0
  176. package/dist/themes/one-dark.json +80 -0
  177. package/dist/themes/popping-and-locking.json +84 -0
  178. package/dist/themes/rose-pine.json +80 -0
  179. package/dist/themes/sea-shells.json +84 -0
  180. package/dist/themes/sleepy-hollow.json +84 -0
  181. package/dist/themes/smyck.json +84 -0
  182. package/dist/themes/solarized-dark.json +80 -0
  183. package/dist/themes/tokyo-night.json +80 -0
  184. package/dist/themes/tomorrow-night-bright.json +84 -0
  185. package/dist/themes/tomorrow-night-burns.json +84 -0
  186. package/dist/themes/tomorrow-night.json +84 -0
  187. package/dist/themes/twilight.json +84 -0
  188. package/dist/themes/vague.json +84 -0
  189. package/dist/themes/vesper.json +84 -0
  190. package/dist/themes/xcode-dark-hc.json +84 -0
  191. package/docs/custom-provider.md +0 -1
  192. package/docs/plans/auto-model-routing-extension.md +490 -0
  193. package/package.json +3 -3
  194. package/dist/extensions/pi-powerline-footer/.github/workflows/test.yml +0 -27
  195. package/dist/extensions/pi-powerline-footer/CHANGELOG.md +0 -687
  196. package/dist/extensions/pi-powerline-footer/CONTRIBUTING.md +0 -16
  197. package/dist/extensions/pi-powerline-footer/README.md +0 -513
  198. package/dist/extensions/pi-powerline-footer/banner.png +0 -0
  199. package/dist/extensions/pi-powerline-footer/bash-mode/completion.ts +0 -586
  200. package/dist/extensions/pi-powerline-footer/bash-mode/editor.ts +0 -583
  201. package/dist/extensions/pi-powerline-footer/bash-mode/history.ts +0 -204
  202. package/dist/extensions/pi-powerline-footer/bash-mode/shell-session.ts +0 -286
  203. package/dist/extensions/pi-powerline-footer/bash-mode/transcript.ts +0 -108
  204. package/dist/extensions/pi-powerline-footer/bash-mode/types.ts +0 -60
  205. package/dist/extensions/pi-powerline-footer/cd-command.ts +0 -190
  206. package/dist/extensions/pi-powerline-footer/colors.ts +0 -70
  207. package/dist/extensions/pi-powerline-footer/context-usage.ts +0 -156
  208. package/dist/extensions/pi-powerline-footer/currency-rates.ts +0 -142
  209. package/dist/extensions/pi-powerline-footer/editor-composition.ts +0 -32
  210. package/dist/extensions/pi-powerline-footer/editor-performance.ts +0 -99
  211. package/dist/extensions/pi-powerline-footer/git-status.ts +0 -329
  212. package/dist/extensions/pi-powerline-footer/guide.ts +0 -220
  213. package/dist/extensions/pi-powerline-footer/icons.ts +0 -190
  214. package/dist/extensions/pi-powerline-footer/index.ts +0 -3428
  215. package/dist/extensions/pi-powerline-footer/lifecycle.ts +0 -10
  216. package/dist/extensions/pi-powerline-footer/package.json +0 -49
  217. package/dist/extensions/pi-powerline-footer/paths.ts +0 -22
  218. package/dist/extensions/pi-powerline-footer/powerline-config.ts +0 -446
  219. package/dist/extensions/pi-powerline-footer/presets.ts +0 -102
  220. package/dist/extensions/pi-powerline-footer/queue/store.ts +0 -313
  221. package/dist/extensions/pi-powerline-footer/queue/types.ts +0 -53
  222. package/dist/extensions/pi-powerline-footer/render-scheduler.ts +0 -29
  223. package/dist/extensions/pi-powerline-footer/segments.ts +0 -570
  224. package/dist/extensions/pi-powerline-footer/separators.ts +0 -57
  225. package/dist/extensions/pi-powerline-footer/session-usage.ts +0 -44
  226. package/dist/extensions/pi-powerline-footer/shortcuts.ts +0 -61
  227. package/dist/extensions/pi-powerline-footer/tests/bash-mode.test.ts +0 -1905
  228. package/dist/extensions/pi-powerline-footer/tests/cd-command.test.ts +0 -144
  229. package/dist/extensions/pi-powerline-footer/tests/context-usage.test.ts +0 -156
  230. package/dist/extensions/pi-powerline-footer/tests/custom-items.test.ts +0 -344
  231. package/dist/extensions/pi-powerline-footer/tests/editor-composition.test.ts +0 -48
  232. package/dist/extensions/pi-powerline-footer/tests/editor-performance.test.ts +0 -43
  233. package/dist/extensions/pi-powerline-footer/tests/editor-responsiveness.test.ts +0 -136
  234. package/dist/extensions/pi-powerline-footer/tests/fixed-editor-border.test.ts +0 -39
  235. package/dist/extensions/pi-powerline-footer/tests/git-optional-locks.test.ts +0 -64
  236. package/dist/extensions/pi-powerline-footer/tests/git-status.test.ts +0 -92
  237. package/dist/extensions/pi-powerline-footer/tests/guide.test.ts +0 -129
  238. package/dist/extensions/pi-powerline-footer/tests/jump-shortcuts.test.ts +0 -116
  239. package/dist/extensions/pi-powerline-footer/tests/mode-aware-trigger.test.ts +0 -79
  240. package/dist/extensions/pi-powerline-footer/tests/paths.test.ts +0 -63
  241. package/dist/extensions/pi-powerline-footer/tests/queue-store.test.ts +0 -65
  242. package/dist/extensions/pi-powerline-footer/tests/quit-cursor.test.ts +0 -14
  243. package/dist/extensions/pi-powerline-footer/tests/remaining-regressions.test.ts +0 -173
  244. package/dist/extensions/pi-powerline-footer/tests/session-usage.test.ts +0 -47
  245. package/dist/extensions/pi-powerline-footer/tests/stash-shortcut.test.ts +0 -37
  246. package/dist/extensions/pi-powerline-footer/tests/thinking-segment.test.ts +0 -76
  247. package/dist/extensions/pi-powerline-footer/tests/token-stats.test.ts +0 -249
  248. package/dist/extensions/pi-powerline-footer/tests/tps.test.ts +0 -39
  249. package/dist/extensions/pi-powerline-footer/tests/usage-display.test.ts +0 -237
  250. package/dist/extensions/pi-powerline-footer/tests/welcome.test.ts +0 -199
  251. package/dist/extensions/pi-powerline-footer/tests/working-vibes.test.ts +0 -317
  252. package/dist/extensions/pi-powerline-footer/theme.example.json +0 -24
  253. package/dist/extensions/pi-powerline-footer/theme.json +0 -12
  254. package/dist/extensions/pi-powerline-footer/theme.ts +0 -241
  255. package/dist/extensions/pi-powerline-footer/token-stats.ts +0 -304
  256. package/dist/extensions/pi-powerline-footer/tsconfig.json +0 -13
  257. package/dist/extensions/pi-powerline-footer/types.ts +0 -235
  258. package/dist/extensions/pi-powerline-footer/welcome-dismiss.ts +0 -34
  259. package/dist/extensions/pi-powerline-footer/welcome.ts +0 -709
  260. package/dist/extensions/pi-powerline-footer/working-vibes.ts +0 -721
  261. package/dist/extensions/preview-tools-disabled.test.ts +0 -37
  262. package/dist/extensions/preview-tools-disabled.ts +0 -11
  263. package/dist/themes/powerline-footer/theme.json +0 -33
package/CHANGELOG.md CHANGED
@@ -2,6 +2,33 @@
2
2
 
3
3
  All notable changes to `@selesai/code` will be documented in this file.
4
4
 
5
+ ## [0.10.0] - 2026-08-27
6
+
7
+ ### Added
8
+ - **Zentui TUI.** The bundled `pi-zentui` extension brings a Starship-inspired statusline, Opencode-style editor and user-message surfaces, working-line takeover, and a hidden zero-row footer option. Editor, user messages, working line, and selector borders have independent `enabled` fields; the footer uses one `style` (`native`, `starship`, or `hidden`). Configure live via `/zentui`, which persists to `~/.selesai/agent/zentui.json`.
9
+ - **TPS tracker.** The bundled `tps` extension shows live tokens-per-second for the main model and subagent runs in the status area. Final main-model TPS is gated against stalls, short streams, sparse updates, and implausible rates; tool-call-bound measurements are excluded.
10
+ - **Broader theme catalog.** Added 58 new terminal themes (including Catppuccin Mocha, Dracula, Gruvbox, Nord, Rose Pine, Solarized Dark, and Tokyo Night), shipped under `src/themes/`.
11
+ - **Design-reference skill.** The bundled `design-references` skill looks up `DESIGN.md` references from VoltAgent's awesome-design-md collection when asked for design references or a "feel like <site>" direction.
12
+
13
+ ### Changed
14
+ - **Default thinking level** is now `high` (was `max`).
15
+ - **Default image caption model** is now `tokenin/qwen3.8-27b` (was `tokenin/gemma-4`).
16
+ - **Celestial Max and Celestial Ultra** now accept image input.
17
+ - **Default packages** no longer include `pi-markdown-preview`; `pi-tool-display` remains.
18
+ - **Docs redesign.** The documentation site now uses a ClickHouse-inspired black-and-yellow design language, and capability cards gained a "core differentiator" badge variant.
19
+
20
+ ### Removed
21
+ - **`auto-model` extension.** Automatic model routing (added in 0.9.15) has been removed from the bundled manifest.
22
+ - **`pi-powerline-footer` extension.** The powerline footer, guide tour, queue/inbox, bash mode, and stash features were removed; Zentui and the TPS tracker cover the display surface.
23
+ - **`preview-tools-disabled` extension.**
24
+ - **`custom-provider-ollama` bundled provider.** The bundled Ollama provider was removed from the manifest; use the model-prompt-injector surface for provider plumbing or install the provider separately.
25
+ - **Orphaned `powerline` setting.** The `powerline` default setting, consumed only by the removed footer extension, was dropped.
26
+
27
+ ## [0.9.15] - 2026-08-26
28
+
29
+ ### Added
30
+ - **Bundled automatic model routing.** The new `auto-model` extension is disabled by default and can be configured with `/auto-model-settings`. It classifies eligible idle prompts into four tiers (`simple`, `medium`, `complex`, and `reasoning`), selects configured models limited to the current scope, and falls back to the current model when no target is available. Manual model selection suspends routing until explicitly enabled again; routing is serialized and does not run while the session is busy.
31
+
5
32
  ## [0.9.14] - 2026-08-26
6
33
 
7
34
  ### Changed
package/README.md CHANGED
@@ -89,15 +89,12 @@ This is the interaction layer used by the workflow modes and available to normal
89
89
 
90
90
  The interactive terminal runs Pi's native **fullscreen TUI mode** by default: the chat scrolls inside an alternate-screen viewport while the input editor, status line, and widgets stay fixed in a dock at the bottom. Choose `regular` (inline output) at any time with `--tui-mode regular`, the `tuiMode` setting, or the `TUI mode` entry in `/settings`.
91
91
 
92
- The bundled `pi-powerline-footer` improves the interactive display with:
93
-
94
- - a powerline status bar for model, thinking level, path, git state, context, tokens, cost, cache, and session data
95
- - status, editor, and widgets that live in Pi's native fixed dock (the old terminal-split compositor was decommissioned)
96
- - a file-backed queue/inbox for deferred ideas and compaction-safe prompts (`# <idea>`, `/idea`, `/ideas`, and `/queue`), plus session-aware `/cd`
97
- - a recurring `/guide` tour with compact and remembered-dismissal modes, covering workflows, delegation/research prompts, skills, handoff, and recovery
98
- - persistent bash mode with shell state, transcript output, history, and ghost suggestions
99
- - editor stash/restore, prompt history, clipboard shortcuts, and editor boundary navigation
100
- - themed working-vibe messages, Nerd Font detection, configurable presets, layout, placement, and cost display
92
+ The bundled `pi-zentui` and TPS tracker improve the interactive display with:
93
+
94
+ - a Starship-inspired statusline or a hidden zero-row footer, plus Opencode-style editor and user-message surfaces, configured live via `/zentui` (saved to `~/.selesai/agent/zentui.json`)
95
+ - independent `enabled` controls for the editor, user messages, working line, and selector borders, so each surface can be styled or turned off without coupling to the others
96
+ - live tokens-per-second status for the main model and subagent runs, with reliability gates against stalls and tool calls
97
+ - a compact footer format template covering cwd, git state, runtime, context, and token segments
101
98
 
102
99
  ### Coordination between sessions
103
100
 
@@ -21,7 +21,7 @@
21
21
  "minimal": null,
22
22
  "low": null,
23
23
  "medium": null,
24
- "high": null,
24
+ "high": "high",
25
25
  "xhigh": null,
26
26
  "max": "max"
27
27
  }
@@ -30,14 +30,14 @@
30
30
  "id": "celestial-max",
31
31
  "name": "Celestial Max",
32
32
  "reasoning": true,
33
- "input": ["text"],
33
+ "input": ["text", "image"],
34
34
  "contextWindow": 393216,
35
35
  "maxTokens": 64000,
36
36
  "thinkingLevelMap": {
37
37
  "minimal": null,
38
38
  "low": null,
39
39
  "medium": null,
40
- "high": null,
40
+ "high": "high",
41
41
  "xhigh": null,
42
42
  "max": "max"
43
43
  }
@@ -46,14 +46,14 @@
46
46
  "id": "celestial-ultra",
47
47
  "name": "Celestial Ultra",
48
48
  "reasoning": true,
49
- "input": ["text"],
49
+ "input": ["text", "image"],
50
50
  "contextWindow": 393216,
51
51
  "maxTokens": 64000,
52
52
  "thinkingLevelMap": {
53
53
  "minimal": null,
54
54
  "low": null,
55
55
  "medium": null,
56
- "high": null,
56
+ "high": "high",
57
57
  "xhigh": null,
58
58
  "max": "max"
59
59
  }
@@ -69,14 +69,25 @@
69
69
  "minimal": null,
70
70
  "low": null,
71
71
  "medium": null,
72
- "high": null,
72
+ "high": "high",
73
+ "xhigh": null,
74
+ "max": "max"
75
+ }
76
+ },
77
+ {
78
+ "id": "deepseek-v4-flash-vision-exp",
79
+ "name": "DeepSeek V4 Flash Vision Exp",
80
+ "reasoning": true,
81
+ "input": ["text", "image"],
82
+ "contextWindow": 512000,
83
+ "maxTokens": 128000,
84
+ "thinkingLevelMap": {
85
+ "minimal": null,
86
+ "low": null,
87
+ "medium": null,
88
+ "high": "high",
73
89
  "xhigh": null,
74
90
  "max": "max"
75
- },
76
- "compat": {
77
- "supportsDeveloperRole": false,
78
- "requiresReasoningContentOnAssistantMessages": true,
79
- "thinkingFormat": "deepseek"
80
91
  }
81
92
  },
82
93
  {
@@ -90,16 +101,35 @@
90
101
  "minimal": null,
91
102
  "low": null,
92
103
  "medium": null,
93
- "high": null,
104
+ "high": "high",
94
105
  "xhigh": null,
95
106
  "max": "max"
96
- },
97
- "compat": {
98
- "supportsDeveloperRole": false,
99
- "requiresReasoningContentOnAssistantMessages": true,
100
- "thinkingFormat": "deepseek"
101
107
  }
102
108
  },
109
+ {
110
+ "id": "gpt-5.6-luna",
111
+ "name": "GPT-5.6 Luna",
112
+ "reasoning": true,
113
+ "input": ["text", "image"],
114
+ "contextWindow": 512000,
115
+ "maxTokens": 128000
116
+ },
117
+ {
118
+ "id": "gpt-5.6-terra",
119
+ "name": "GPT-5.6 Terra",
120
+ "reasoning": true,
121
+ "input": ["text", "image"],
122
+ "contextWindow": 512000,
123
+ "maxTokens": 128000
124
+ },
125
+ {
126
+ "id": "gpt-5.6-sol",
127
+ "name": "GPT-5.6 Sol",
128
+ "reasoning": true,
129
+ "input": ["text", "image"],
130
+ "contextWindow": 512000,
131
+ "maxTokens": 128000
132
+ },
103
133
  {
104
134
  "id": "kimi-k3",
105
135
  "name": "Kimi K3",
@@ -114,10 +144,6 @@
114
144
  "high": "high",
115
145
  "xhigh": null,
116
146
  "max": "max"
117
- },
118
- "compat": {
119
- "supportsDeveloperRole": false,
120
- "supportsReasoningEffort": false
121
147
  }
122
148
  },
123
149
  {
@@ -134,10 +160,6 @@
134
160
  "high": "high",
135
161
  "xhigh": null,
136
162
  "max": "max"
137
- },
138
- "compat": {
139
- "supportsDeveloperRole": false,
140
- "supportsReasoningEffort": false
141
163
  }
142
164
  },
143
165
  {
@@ -154,12 +176,40 @@
154
176
  "high": "high",
155
177
  "xhigh": null,
156
178
  "max": null
157
- },
158
- "compat": {
159
- "supportsDeveloperRole": false,
160
- "supportsReasoningEffort": true
161
179
  }
162
180
  },
181
+ {
182
+ "id": "glm-5.3-flash",
183
+ "name": "GLM-5.3 Flash",
184
+ "reasoning": true,
185
+ "input": ["text"],
186
+ "contextWindow": 1000000,
187
+ "maxTokens": 64000,
188
+ "thinkingLevelMap": {
189
+ "minimal": null,
190
+ "low": "low",
191
+ "medium": null,
192
+ "high": "high",
193
+ "xhigh": null,
194
+ "max": null
195
+ }
196
+ },
197
+ {
198
+ "id": "qwen3.8-27b",
199
+ "name": "Qwen3.8 27B",
200
+ "reasoning": false,
201
+ "input": ["text", "image"],
202
+ "contextWindow": 256000,
203
+ "maxTokens": 64000
204
+ },
205
+ {
206
+ "id": "gemini-3.7-flash",
207
+ "name": "Gemini 3.7 Flash",
208
+ "reasoning": false,
209
+ "input": ["text", "image" ],
210
+ "contextWindow": 512000,
211
+ "maxTokens": 64000
212
+ },
163
213
  {
164
214
  "id": "Qwen3-VL",
165
215
  "name": "Qwen3 VL (Vision)",
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "defaultModel": "celestial-pro",
13
13
  "defaultProvider": "tokenin",
14
- "defaultThinkingLevel": "max",
14
+ "defaultThinkingLevel": "high",
15
15
  "doubleEscapeAction": "tree",
16
16
  "editorPaddingX": 0,
17
17
  "outputPad": 0,
@@ -20,12 +20,11 @@
20
20
  "hideThinkingBlock": false,
21
21
  "images": {
22
22
  "autoResize": true,
23
- "imageCaptionModel": "tokenin/gemma-4",
23
+ "imageCaptionModel": "tokenin/qwen3.8-27b",
24
24
  "imageCaptionContextTokens": 16384
25
25
  },
26
26
  "packages": [
27
- "git:github.com/MasuRii/pi-tool-display",
28
- "git:github.com/omaclaren/pi-markdown-preview"
27
+ "git:github.com/MasuRii/pi-tool-display"
29
28
  ],
30
29
  "quietStartup": true,
31
30
  "retry": {
@@ -37,9 +36,6 @@
37
36
  "clearOnShrink": false,
38
37
  "showImages": true
39
38
  },
40
- "powerline": {
41
- "cache_read": { "format": "both" }
42
- },
43
39
  "subagents": {
44
40
  "agentOverrides": {
45
41
  "architect": {
@@ -6,10 +6,9 @@
6
6
  "pi": {
7
7
  "extensions": [
8
8
  "./agent-browser.ts",
9
- "./copy-turn.ts",
9
+ "./copy-turn.ts",
10
10
  "./context-compaction-reminder.ts",
11
11
  "./enable-readonly-tools.ts",
12
- "./preview-tools-disabled.ts",
13
12
  "./pi-intercom/index.ts",
14
13
  "./ponytail/index.js",
15
14
  "./question",
@@ -23,8 +22,8 @@
23
22
  "./pi-subagents",
24
23
  "./pi-web-agent",
25
24
  "./web-agent-onboarding.ts",
26
- "./pi-powerline-footer",
27
- "./custom-provider-ollama"
25
+ "./tps.ts",
26
+ "./pi-zentui/extensions/zentui/index.ts"
28
27
  ]
29
28
  }
30
29
  }
@@ -0,0 +1,12 @@
1
+ root = true
2
+
3
+ [*]
4
+ charset = utf-8
5
+ end_of_line = lf
6
+ insert_final_newline = true
7
+ indent_style = tab
8
+ indent_size = 4
9
+ trim_trailing_whitespace = true
10
+
11
+ [*.md]
12
+ trim_trailing_whitespace = false
@@ -0,0 +1 @@
1
+ * @lmilojevicc
@@ -0,0 +1,110 @@
1
+ name: Bug report
2
+ description: Report Zentui behavior that appears broken
3
+ title: "bug: "
4
+ labels: ["bug", "needs-triage"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Thanks for reporting a pi-zentui bug. Please include enough Pi, terminal, font, and config detail to reproduce the issue.
10
+
11
+ - type: checkboxes
12
+ id: preflight
13
+ attributes:
14
+ label: Pre-flight checks
15
+ options:
16
+ - label: I searched existing issues before opening this one.
17
+ required: true
18
+ - label: I can reproduce this with the latest published pi-zentui version or current main.
19
+ required: false
20
+ - label: I am using a Nerd Font when reporting icon or glyph issues.
21
+ required: false
22
+
23
+ - type: input
24
+ id: zentui-version
25
+ attributes:
26
+ label: Zentui version
27
+ description: npm package version, git commit, or install source.
28
+ placeholder: "0.2.7 / main@abc123 / local checkout"
29
+ validations:
30
+ required: true
31
+
32
+ - type: input
33
+ id: pi-version
34
+ attributes:
35
+ label: Pi version
36
+ placeholder: "0.74.x"
37
+ validations:
38
+ required: true
39
+
40
+ - type: dropdown
41
+ id: install-source
42
+ attributes:
43
+ label: Install source
44
+ options:
45
+ - npm
46
+ - git
47
+ - local checkout
48
+ - other
49
+ validations:
50
+ required: true
51
+
52
+ - type: textarea
53
+ id: environment
54
+ attributes:
55
+ label: Environment
56
+ description: Include the terminal/UI details that can affect Zentui rendering or behavior.
57
+ placeholder: |
58
+ OS:
59
+ Terminal app:
60
+ Shell:
61
+ Node version:
62
+ Font:
63
+ Pi theme/settings:
64
+ validations:
65
+ required: true
66
+
67
+ - type: textarea
68
+ id: config
69
+ attributes:
70
+ label: Zentui config
71
+ description: Paste relevant values from ~/.pi/agent/zentui.json. Remove secrets if any.
72
+ render: json
73
+
74
+ - type: textarea
75
+ id: steps
76
+ attributes:
77
+ label: Steps to reproduce
78
+ placeholder: |
79
+ 1.
80
+ 2.
81
+ 3.
82
+ validations:
83
+ required: true
84
+
85
+ - type: textarea
86
+ id: expected
87
+ attributes:
88
+ label: Expected behavior
89
+ validations:
90
+ required: true
91
+
92
+ - type: textarea
93
+ id: actual
94
+ attributes:
95
+ label: Actual behavior
96
+ description: Screenshots or terminal recordings are especially useful for terminal UI bugs.
97
+ validations:
98
+ required: true
99
+
100
+ - type: textarea
101
+ id: logs
102
+ attributes:
103
+ label: Logs or errors
104
+ description: Include relevant Pi output, stack traces, or extension errors.
105
+ render: text
106
+
107
+ - type: textarea
108
+ id: extra
109
+ attributes:
110
+ label: Additional context
@@ -0,0 +1,8 @@
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: pi-zentui npm package
4
+ url: https://www.npmjs.com/package/pi-zentui
5
+ about: Check the latest published pi-zentui version.
6
+ - name: Pi project
7
+ url: https://github.com/earendil-works/pi
8
+ about: Use the Pi project for issues in core Pi behavior outside Zentui's footer, editor, and message styling.
@@ -0,0 +1,56 @@
1
+ name: Config or usage question
2
+ description: Ask about Zentui configuration or expected behavior
3
+ title: "question: "
4
+ labels: ["question", "needs-triage"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Use this for questions about pi-zentui configuration, /zentui settings, color sources, or expected terminal UI behavior.
10
+
11
+ - type: checkboxes
12
+ id: preflight
13
+ attributes:
14
+ label: Pre-flight checks
15
+ options:
16
+ - label: I searched existing issues before opening this one.
17
+ required: true
18
+ - label: I checked the README configuration section.
19
+ required: true
20
+
21
+ - type: textarea
22
+ id: question
23
+ attributes:
24
+ label: Question
25
+ description: What are you trying to configure or understand?
26
+ validations:
27
+ required: true
28
+
29
+ - type: textarea
30
+ id: config
31
+ attributes:
32
+ label: Relevant Zentui config
33
+ description: Paste relevant values from ~/.pi/agent/zentui.json. Remove secrets if any.
34
+ render: json
35
+
36
+ - type: textarea
37
+ id: environment
38
+ attributes:
39
+ label: Environment
40
+ description: Include details that may affect config, colors, or rendering.
41
+ placeholder: |
42
+ Zentui version:
43
+ Pi version:
44
+ Install source:
45
+ OS:
46
+ Terminal app:
47
+ Font:
48
+ Theme/colorscheme:
49
+ validations:
50
+ required: true
51
+
52
+ - type: textarea
53
+ id: context
54
+ attributes:
55
+ label: Context
56
+ description: Describe the behavior you see, the behavior you expected, and any commands or settings you already tried.
@@ -0,0 +1,63 @@
1
+ name: Feature request
2
+ description: Suggest a new Zentui capability or configuration option
3
+ title: "feat: "
4
+ labels: ["enhancement", "needs-triage"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Use this for proposed changes to pi-zentui's Pi footer, editor, previous-message styling, config, or runtime/git segments.
10
+
11
+ - type: checkboxes
12
+ id: preflight
13
+ attributes:
14
+ label: Pre-flight checks
15
+ options:
16
+ - label: I searched existing issues before opening this one.
17
+ required: true
18
+ - label: This request is specific to Zentui's Pi footer, editor, user-message styling, config, or status segments.
19
+ required: true
20
+
21
+ - type: textarea
22
+ id: problem
23
+ attributes:
24
+ label: Problem or use case
25
+ description: What workflow does this improve in Pi with Zentui enabled?
26
+ validations:
27
+ required: true
28
+
29
+ - type: textarea
30
+ id: proposal
31
+ attributes:
32
+ label: Proposed behavior
33
+ description: Describe the desired UI, config, or behavior change.
34
+ validations:
35
+ required: true
36
+
37
+ - type: dropdown
38
+ id: area
39
+ attributes:
40
+ label: Area
41
+ options:
42
+ - Footer/status line
43
+ - Runtime/language detection
44
+ - Git status
45
+ - Editor/input box
46
+ - User message styling
47
+ - Config or /zentui settings
48
+ - Packaging/install
49
+ - Other
50
+ validations:
51
+ required: true
52
+
53
+ - type: textarea
54
+ id: alternatives
55
+ attributes:
56
+ label: Alternatives considered
57
+ description: Existing Zentui config, Pi settings, or workarounds considered.
58
+
59
+ - type: textarea
60
+ id: examples
61
+ attributes:
62
+ label: Examples or prior art
63
+ description: Starship, Opencode, terminal themes, screenshots, mockups, or links that explain the request.
@@ -0,0 +1,106 @@
1
+ name: Rendering, icon, or color issue
2
+ description: Report visual glitches, missing glyphs, layout issues, or color/theme problems
3
+ title: "rendering: "
4
+ labels: ["bug", "rendering", "needs-triage"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Use this for Zentui footer, editor, previous-message, icon, color, or terminal layout problems.
10
+
11
+ - type: checkboxes
12
+ id: preflight
13
+ attributes:
14
+ label: Pre-flight checks
15
+ options:
16
+ - label: I searched existing issues before opening this one.
17
+ required: true
18
+ - label: I am using a Nerd Font or verified whether the issue reproduces with one.
19
+ required: true
20
+ - label: I checked whether switching the affected component style or disabling custom styling changes the behavior, if relevant.
21
+ required: false
22
+
23
+ - type: input
24
+ id: zentui-version
25
+ attributes:
26
+ label: Zentui version
27
+ placeholder: "0.2.7 / main@abc123 / local checkout"
28
+ validations:
29
+ required: true
30
+
31
+ - type: input
32
+ id: pi-version
33
+ attributes:
34
+ label: Pi version
35
+ placeholder: "0.74.x"
36
+ validations:
37
+ required: true
38
+
39
+ - type: dropdown
40
+ id: install-source
41
+ attributes:
42
+ label: Install source
43
+ options:
44
+ - npm
45
+ - git
46
+ - local checkout
47
+ - other
48
+ validations:
49
+ required: true
50
+
51
+ - type: textarea
52
+ id: terminal
53
+ attributes:
54
+ label: Terminal and display environment
55
+ placeholder: |
56
+ OS:
57
+ Terminal app:
58
+ Font name/version:
59
+ Terminal width:
60
+ Theme/colorscheme:
61
+ Multiplexer, if any (tmux, screen, etc.):
62
+ validations:
63
+ required: true
64
+
65
+ - type: dropdown
66
+ id: affected-area
67
+ attributes:
68
+ label: Affected area
69
+ options:
70
+ - Footer/status line
71
+ - Editor/input box
72
+ - Previous user message styling
73
+ - Runtime/git segment
74
+ - Colors/theme mapping
75
+ - Opencode (copy-friendly) editor style
76
+ - Framed (copy-friendly) user-message style
77
+ - Other
78
+ validations:
79
+ required: true
80
+
81
+ - type: textarea
82
+ id: screenshot
83
+ attributes:
84
+ label: Screenshot or recording
85
+ description: Drag an image or recording here if possible. Please avoid secrets in terminal output.
86
+
87
+ - type: textarea
88
+ id: config
89
+ attributes:
90
+ label: Relevant Zentui config
91
+ description: Paste relevant values from ~/.pi/agent/zentui.json.
92
+ render: json
93
+
94
+ - type: textarea
95
+ id: expected
96
+ attributes:
97
+ label: Expected rendering
98
+ validations:
99
+ required: true
100
+
101
+ - type: textarea
102
+ id: actual
103
+ attributes:
104
+ label: Actual rendering
105
+ validations:
106
+ required: true