@selesai/code 0.9.15 → 0.10.1

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 (269) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +6 -9
  3. package/dist/defaults/models.json +2 -2
  4. package/dist/defaults/settings.json +3 -7
  5. package/dist/extensions/package.json +2 -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/modes/interactive/components/settings-selector.d.ts +1 -1
  118. package/dist/modes/interactive/interactive-mode.js +1 -1
  119. package/dist/skills/design-references/SKILL.md +31 -0
  120. package/dist/skills/design-references/references/clickhouse/DESIGN.md +544 -0
  121. package/dist/themes/adventure.json +84 -0
  122. package/dist/themes/adwaita-dark.json +84 -0
  123. package/dist/themes/arcoiris.json +84 -0
  124. package/dist/themes/arthur.json +84 -0
  125. package/dist/themes/atom.json +84 -0
  126. package/dist/themes/aura.json +84 -0
  127. package/dist/themes/black-metal-bathory.json +84 -0
  128. package/dist/themes/black-metal-burzum.json +84 -0
  129. package/dist/themes/black-metal-khold.json +84 -0
  130. package/dist/themes/box.json +84 -0
  131. package/dist/themes/brogrammer.json +84 -0
  132. package/dist/themes/carbonfox.json +84 -0
  133. package/dist/themes/catppuccin-mocha.json +84 -0
  134. package/dist/themes/citruszest.json +84 -0
  135. package/dist/themes/cursor-dark.json +84 -0
  136. package/dist/themes/cutie-pro.json +84 -0
  137. package/dist/themes/dark-modern.json +84 -0
  138. package/dist/themes/dark-pastel.json +84 -0
  139. package/dist/themes/dimmed-monokai.json +84 -0
  140. package/dist/themes/doom-peacock.json +84 -0
  141. package/dist/themes/dracula-plus.json +84 -0
  142. package/dist/themes/dracula.json +80 -0
  143. package/dist/themes/earthsong.json +84 -0
  144. package/dist/themes/everforest-dark-hard.json +84 -0
  145. package/dist/themes/everforest-dark.json +80 -0
  146. package/dist/themes/fahrenheit.json +84 -0
  147. package/dist/themes/flatland.json +84 -0
  148. package/dist/themes/flexoki-dark.json +84 -0
  149. package/dist/themes/front-end-delight.json +84 -0
  150. package/dist/themes/fun-forrest.json +84 -0
  151. package/dist/themes/galizur.json +84 -0
  152. package/dist/themes/github-dark-colorblind.json +84 -0
  153. package/dist/themes/github-dark-high-contrast.json +84 -0
  154. package/dist/themes/glacier.json +84 -0
  155. package/dist/themes/gruber-darker.json +84 -0
  156. package/dist/themes/gruvbox-dark-hard.json +84 -0
  157. package/dist/themes/gruvbox-dark.json +84 -0
  158. package/dist/themes/gruvbox-material.json +84 -0
  159. package/dist/themes/guezwhoz.json +84 -0
  160. package/dist/themes/hacktober.json +84 -0
  161. package/dist/themes/hardcore.json +84 -0
  162. package/dist/themes/havn-skumring.json +84 -0
  163. package/dist/themes/ic-orange-ppl.json +84 -0
  164. package/dist/themes/iterm2-smoooooth.json +84 -0
  165. package/dist/themes/iterm2-tango-dark.json +84 -0
  166. package/dist/themes/japanesque.json +84 -0
  167. package/dist/themes/jellybeans.json +84 -0
  168. package/dist/themes/kanagawa-wave.json +84 -0
  169. package/dist/themes/kurokula.json +84 -0
  170. package/dist/themes/later-this-evening.json +84 -0
  171. package/dist/themes/lovelace.json +84 -0
  172. package/dist/themes/material-darker.json +84 -0
  173. package/dist/themes/matte-black.json +84 -0
  174. package/dist/themes/mellow.json +84 -0
  175. package/dist/themes/miasma.json +84 -0
  176. package/dist/themes/nord.json +80 -0
  177. package/dist/themes/nvim-dark.json +84 -0
  178. package/dist/themes/one-dark.json +80 -0
  179. package/dist/themes/popping-and-locking.json +84 -0
  180. package/dist/themes/rose-pine.json +80 -0
  181. package/dist/themes/sea-shells.json +84 -0
  182. package/dist/themes/sleepy-hollow.json +84 -0
  183. package/dist/themes/smyck.json +84 -0
  184. package/dist/themes/solarized-dark.json +80 -0
  185. package/dist/themes/tokyo-night.json +80 -0
  186. package/dist/themes/tomorrow-night-bright.json +84 -0
  187. package/dist/themes/tomorrow-night-burns.json +84 -0
  188. package/dist/themes/tomorrow-night.json +84 -0
  189. package/dist/themes/twilight.json +84 -0
  190. package/dist/themes/vague.json +84 -0
  191. package/dist/themes/vesper.json +84 -0
  192. package/dist/themes/xcode-dark-hc.json +84 -0
  193. package/docs/custom-provider.md +0 -1
  194. package/package.json +3 -3
  195. package/dist/extensions/auto-model/auto-model.test.ts +0 -18
  196. package/dist/extensions/auto-model/classifier.ts +0 -23
  197. package/dist/extensions/auto-model/config.ts +0 -51
  198. package/dist/extensions/auto-model/index.ts +0 -22
  199. package/dist/extensions/auto-model/lifecycle.test.ts +0 -24
  200. package/dist/extensions/pi-powerline-footer/.github/workflows/test.yml +0 -27
  201. package/dist/extensions/pi-powerline-footer/CHANGELOG.md +0 -687
  202. package/dist/extensions/pi-powerline-footer/CONTRIBUTING.md +0 -16
  203. package/dist/extensions/pi-powerline-footer/README.md +0 -513
  204. package/dist/extensions/pi-powerline-footer/banner.png +0 -0
  205. package/dist/extensions/pi-powerline-footer/bash-mode/completion.ts +0 -586
  206. package/dist/extensions/pi-powerline-footer/bash-mode/editor.ts +0 -583
  207. package/dist/extensions/pi-powerline-footer/bash-mode/history.ts +0 -204
  208. package/dist/extensions/pi-powerline-footer/bash-mode/shell-session.ts +0 -286
  209. package/dist/extensions/pi-powerline-footer/bash-mode/transcript.ts +0 -108
  210. package/dist/extensions/pi-powerline-footer/bash-mode/types.ts +0 -60
  211. package/dist/extensions/pi-powerline-footer/cd-command.ts +0 -190
  212. package/dist/extensions/pi-powerline-footer/colors.ts +0 -70
  213. package/dist/extensions/pi-powerline-footer/context-usage.ts +0 -156
  214. package/dist/extensions/pi-powerline-footer/currency-rates.ts +0 -142
  215. package/dist/extensions/pi-powerline-footer/editor-composition.ts +0 -32
  216. package/dist/extensions/pi-powerline-footer/editor-performance.ts +0 -99
  217. package/dist/extensions/pi-powerline-footer/git-status.ts +0 -329
  218. package/dist/extensions/pi-powerline-footer/guide.ts +0 -220
  219. package/dist/extensions/pi-powerline-footer/icons.ts +0 -190
  220. package/dist/extensions/pi-powerline-footer/index.ts +0 -3428
  221. package/dist/extensions/pi-powerline-footer/lifecycle.ts +0 -10
  222. package/dist/extensions/pi-powerline-footer/package.json +0 -49
  223. package/dist/extensions/pi-powerline-footer/paths.ts +0 -22
  224. package/dist/extensions/pi-powerline-footer/powerline-config.ts +0 -446
  225. package/dist/extensions/pi-powerline-footer/presets.ts +0 -102
  226. package/dist/extensions/pi-powerline-footer/queue/store.ts +0 -313
  227. package/dist/extensions/pi-powerline-footer/queue/types.ts +0 -53
  228. package/dist/extensions/pi-powerline-footer/render-scheduler.ts +0 -29
  229. package/dist/extensions/pi-powerline-footer/segments.ts +0 -570
  230. package/dist/extensions/pi-powerline-footer/separators.ts +0 -57
  231. package/dist/extensions/pi-powerline-footer/session-usage.ts +0 -44
  232. package/dist/extensions/pi-powerline-footer/shortcuts.ts +0 -61
  233. package/dist/extensions/pi-powerline-footer/tests/bash-mode.test.ts +0 -1905
  234. package/dist/extensions/pi-powerline-footer/tests/cd-command.test.ts +0 -144
  235. package/dist/extensions/pi-powerline-footer/tests/context-usage.test.ts +0 -156
  236. package/dist/extensions/pi-powerline-footer/tests/custom-items.test.ts +0 -344
  237. package/dist/extensions/pi-powerline-footer/tests/editor-composition.test.ts +0 -48
  238. package/dist/extensions/pi-powerline-footer/tests/editor-performance.test.ts +0 -43
  239. package/dist/extensions/pi-powerline-footer/tests/editor-responsiveness.test.ts +0 -136
  240. package/dist/extensions/pi-powerline-footer/tests/fixed-editor-border.test.ts +0 -39
  241. package/dist/extensions/pi-powerline-footer/tests/git-optional-locks.test.ts +0 -64
  242. package/dist/extensions/pi-powerline-footer/tests/git-status.test.ts +0 -92
  243. package/dist/extensions/pi-powerline-footer/tests/guide.test.ts +0 -129
  244. package/dist/extensions/pi-powerline-footer/tests/jump-shortcuts.test.ts +0 -116
  245. package/dist/extensions/pi-powerline-footer/tests/mode-aware-trigger.test.ts +0 -79
  246. package/dist/extensions/pi-powerline-footer/tests/paths.test.ts +0 -63
  247. package/dist/extensions/pi-powerline-footer/tests/queue-store.test.ts +0 -65
  248. package/dist/extensions/pi-powerline-footer/tests/quit-cursor.test.ts +0 -14
  249. package/dist/extensions/pi-powerline-footer/tests/remaining-regressions.test.ts +0 -173
  250. package/dist/extensions/pi-powerline-footer/tests/session-usage.test.ts +0 -47
  251. package/dist/extensions/pi-powerline-footer/tests/stash-shortcut.test.ts +0 -37
  252. package/dist/extensions/pi-powerline-footer/tests/thinking-segment.test.ts +0 -76
  253. package/dist/extensions/pi-powerline-footer/tests/token-stats.test.ts +0 -249
  254. package/dist/extensions/pi-powerline-footer/tests/tps.test.ts +0 -39
  255. package/dist/extensions/pi-powerline-footer/tests/usage-display.test.ts +0 -237
  256. package/dist/extensions/pi-powerline-footer/tests/welcome.test.ts +0 -199
  257. package/dist/extensions/pi-powerline-footer/tests/working-vibes.test.ts +0 -317
  258. package/dist/extensions/pi-powerline-footer/theme.example.json +0 -24
  259. package/dist/extensions/pi-powerline-footer/theme.json +0 -12
  260. package/dist/extensions/pi-powerline-footer/theme.ts +0 -241
  261. package/dist/extensions/pi-powerline-footer/token-stats.ts +0 -304
  262. package/dist/extensions/pi-powerline-footer/tsconfig.json +0 -13
  263. package/dist/extensions/pi-powerline-footer/types.ts +0 -235
  264. package/dist/extensions/pi-powerline-footer/welcome-dismiss.ts +0 -34
  265. package/dist/extensions/pi-powerline-footer/welcome.ts +0 -709
  266. package/dist/extensions/pi-powerline-footer/working-vibes.ts +0 -721
  267. package/dist/extensions/preview-tools-disabled.test.ts +0 -37
  268. package/dist/extensions/preview-tools-disabled.ts +0 -11
  269. 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.1] - 2026-08-28
6
+
7
+ ### Fixed
8
+ - **Vision caption model picker in `/settings`.** Selecting a model (or `off`) in the "Vision caption model" submenu now updates the displayed value and closes the submenu correctly. Previously the selection was saved to `settings.json` but the settings row kept showing the old model, making the change appear to have no effect.
9
+
10
+ ## [0.10.0] - 2026-08-27
11
+
12
+ ### Added
13
+ - **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`.
14
+ - **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.
15
+ - **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/`.
16
+ - **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.
17
+
18
+ ### Changed
19
+ - **Default thinking level** is now `high` (was `max`).
20
+ - **Default image caption model** is now `tokenin/qwen3.8-27b` (was `tokenin/gemma-4`).
21
+ - **Celestial Max and Celestial Ultra** now accept image input.
22
+ - **Default packages** no longer include `pi-markdown-preview`; `pi-tool-display` remains.
23
+ - **Docs redesign.** The documentation site now uses a ClickHouse-inspired black-and-yellow design language, and capability cards gained a "core differentiator" badge variant.
24
+
25
+ ### Removed
26
+ - **`auto-model` extension.** Automatic model routing (added in 0.9.15) has been removed from the bundled manifest.
27
+ - **`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.
28
+ - **`preview-tools-disabled` extension.**
29
+ - **`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.
30
+ - **Orphaned `powerline` setting.** The `powerline` default setting, consumed only by the removed footer extension, was dropped.
31
+
5
32
  ## [0.9.15] - 2026-08-26
6
33
 
7
34
  ### Added
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
 
@@ -30,7 +30,7 @@
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": {
@@ -46,7 +46,7 @@
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": {
@@ -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,11 +6,9 @@
6
6
  "pi": {
7
7
  "extensions": [
8
8
  "./agent-browser.ts",
9
- "./auto-model",
10
9
  "./copy-turn.ts",
11
10
  "./context-compaction-reminder.ts",
12
11
  "./enable-readonly-tools.ts",
13
- "./preview-tools-disabled.ts",
14
12
  "./pi-intercom/index.ts",
15
13
  "./ponytail/index.js",
16
14
  "./question",
@@ -24,8 +22,8 @@
24
22
  "./pi-subagents",
25
23
  "./pi-web-agent",
26
24
  "./web-agent-onboarding.ts",
27
- "./pi-powerline-footer",
28
- "./custom-provider-ollama"
25
+ "./tps.ts",
26
+ "./pi-zentui/extensions/zentui/index.ts"
29
27
  ]
30
28
  }
31
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
@@ -0,0 +1,103 @@
1
+ name: Runtime/language detection
2
+ description: Request or report runtime/language detection behavior
3
+ title: "runtime: "
4
+ labels: ["runtime", "needs-triage"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Use this for Zentui footer runtime/language segments: missing runtimes, incorrect detection, version display, or new runtime support.
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 whether the relevant runtime/version command is available in the same shell where Pi runs.
19
+ required: true
20
+
21
+ - type: dropdown
22
+ id: kind
23
+ attributes:
24
+ label: Request type
25
+ options:
26
+ - Existing runtime not detected
27
+ - Existing runtime detected incorrectly
28
+ - Add a new runtime/language
29
+ - Version command/display issue
30
+ validations:
31
+ required: true
32
+
33
+ - type: input
34
+ id: runtime
35
+ attributes:
36
+ label: Runtime or language
37
+ placeholder: "Node.js, Python, Rust, Zig, etc."
38
+ validations:
39
+ required: true
40
+
41
+ - type: textarea
42
+ id: project-files
43
+ attributes:
44
+ label: Project files and detection signals
45
+ description: List relevant files in the project root and subdirectories that should influence detection.
46
+ placeholder: |
47
+ package.json
48
+ .node-version
49
+ pyproject.toml
50
+ src/...
51
+ validations:
52
+ required: true
53
+
54
+ - type: textarea
55
+ id: version-output
56
+ attributes:
57
+ label: Version command output
58
+ description: Include the command and output, if applicable.
59
+ placeholder: |
60
+ $ node --version
61
+ v20.11.1
62
+ render: shell
63
+
64
+ - type: textarea
65
+ id: expected
66
+ attributes:
67
+ label: Expected Zentui segment
68
+ placeholder: "via v20.11.1"
69
+ validations:
70
+ required: true
71
+
72
+ - type: textarea
73
+ id: actual
74
+ attributes:
75
+ label: Actual Zentui segment
76
+ validations:
77
+ required: true
78
+
79
+ - type: input
80
+ id: zentui-version
81
+ attributes:
82
+ label: Zentui version
83
+ placeholder: "0.2.7 / main@abc123 / local checkout"
84
+ validations:
85
+ required: true
86
+
87
+ - type: input
88
+ id: pi-version
89
+ attributes:
90
+ label: Pi version
91
+ placeholder: "0.74.x"
92
+ validations:
93
+ required: true
94
+
95
+ - type: textarea
96
+ id: environment
97
+ attributes:
98
+ label: Environment
99
+ placeholder: |
100
+ OS:
101
+ Shell:
102
+ Terminal app:
103
+ Install source:
@@ -0,0 +1,47 @@
1
+ version: 2
2
+
3
+ updates:
4
+ # npm dependencies in this package
5
+ - package-ecosystem: "npm"
6
+ directory: "/"
7
+ schedule:
8
+ interval: "weekly"
9
+ target-branch: "main"
10
+ open-pull-requests-limit: 5
11
+ groups:
12
+ # Low-noise grouped PRs for minor and patch updates.
13
+ minor-and-patch:
14
+ patterns:
15
+ - "*"
16
+ update-types:
17
+ - "minor"
18
+ - "patch"
19
+ # Major npm updates are intentionally not auto-merged; keep them visible
20
+ # as a separate stream so reviewers can evaluate breaking changes.
21
+ major:
22
+ patterns:
23
+ - "*"
24
+ update-types:
25
+ - "major"
26
+
27
+ # GitHub Actions workflow versions
28
+ - package-ecosystem: "github-actions"
29
+ directory: "/"
30
+ schedule:
31
+ interval: "weekly"
32
+ target-branch: "main"
33
+ open-pull-requests-limit: 5
34
+ groups:
35
+ first-party-and-known:
36
+ patterns:
37
+ - "actions/*"
38
+ - "github/*"
39
+ update-types:
40
+ - "minor"
41
+ - "patch"
42
+ third-party-actions:
43
+ patterns:
44
+ - "*"
45
+ update-types:
46
+ - "minor"
47
+ - "patch"
@@ -0,0 +1,34 @@
1
+ ## Summary
2
+
3
+ <!--
4
+ Briefly describe what this PR changes and why.
5
+ Focus on user-facing behavior: footer, editor, user-message styling, runtime/git detection, `/zentui` settings, config, or packaging.
6
+ Link related issues with "Closes #123" or "Refs #123" where applicable.
7
+ -->
8
+
9
+ ## Screenshots / recordings
10
+
11
+ <!--
12
+ Required for footer, editor, user-message, or rendering changes whenever practical.
13
+ A short terminal recording (asciinema, GIF, or video) is preferred over a still image.
14
+ If the change is purely internal (build, types, tests, docs), say "N/A" and explain.
15
+ -->
16
+
17
+ ## Testing
18
+
19
+ <!--
20
+ Run these locally before requesting review. Tick everything that applies.
21
+ -->
22
+
23
+ - [ ] `npm run verify`
24
+ - [ ] `npm run pack:check`
25
+ - [ ] Manual Pi test via `npm run pi:dev` (required for UI behavior changes)
26
+ - [ ] Added or updated tests where practical
27
+
28
+ ## Checklist
29
+
30
+ - [ ] Preserved Nerd Font / private-use icon glyphs (no empty strings or replaced characters).
31
+ - [ ] Updated `README.md` or config docs if user-facing behavior changed.
32
+ - [ ] Kept the diff surgical: no unrelated refactors, formatting, or dependency churn.
33
+ - [ ] `extensions/zentui/index.ts` stays mostly orchestration; new logic lives in a focused module.
34
+ - [ ] Used a conventional commit-style PR title (e.g. `feat: add ...`, `fix: handle ...`).