zames_pro 2.86.0 → 2.86.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.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [2.86.1] - 2026-10-27
11
+
12
+ ### Fixed
13
+
14
+ - **ui:** the operator bar on every row, screenshots for all themes
15
+
10
16
  ## [2.86.0] - 2026-10-27
11
17
 
12
18
  ### Added
package/README.md CHANGED
@@ -643,10 +643,12 @@ Terminal and others; where it is not supported nothing happens). Opt out with
643
643
  `ZAMES_NO_BG=1` or `NO_COLOR`.
644
644
  To make the choice
645
645
  concrete, a SAMPLE SESSION in that palette is shown before you pick (in `/theme`
646
- below the list, in `/config` press `p` on the theme row); after
647
- `/theme <id>` the sample is printed too. The frame itself is a separate
646
+ below the list, in `/config` press `p` on the theme row); it is not dumped into
647
+ the chat after a pick. Every one of the 24 themes has a screenshot in
648
+ `docs/shots/`. The frame itself is a separate
648
649
  setting: `/config set ui.inputBorder <round|single|double|bold|none>`
649
- (default `round`; `none` removes it).
650
+ (default `round`; `none` removes it). A multi-line operator message keeps its
651
+ `▌` bar on every row.
650
652
 
651
653
  Agent data is stored in `~/.zames`: browser profile, logs, undo history, sessions.
652
654
 
@@ -1380,10 +1382,11 @@ kitty, WezTerm, Alacritty, GNOME Terminal и др.; где не поддержи
1380
1382
  ничего не происходит). Отключить фон: `ZAMES_NO_BG=1` или `NO_COLOR`.
1381
1383
  Чтобы было видно, ЧТО меняется, перед выбором
1382
1384
  показывается образец сессии в этой палитре (в `/theme` — под списком, в
1383
- `/config` — клавиша `p` на строке темы). После применения `/theme <id>`
1384
- образец печатается в терминал. Саму рамку можно менять отдельно:
1385
+ `/config` — клавиша `p` на строке темы); он не печатается в чат после выбора.
1386
+ Все 24 темы есть на скриншотах в `docs/shots/`. Саму рамку можно менять отдельно:
1385
1387
  `/config set ui.inputBorder <round|single|double|bold|none>` (по умолчанию
1386
- `round`, `none` — без рамки).
1388
+ `round`, `none` — без рамки). Рамку (маркер `▌`) у многострочного сообщения
1389
+ пользователя видно на каждой строке.
1387
1390
 
1388
1391
  Данные агента хранятся в `~/.zames`: профиль браузера, логи, история undo,
1389
1392
  сессии.
package/dist/input.js CHANGED
@@ -1192,9 +1192,14 @@ export class LineEditor {
1192
1192
  // to the browser layer to be attached to the chat.
1193
1193
  const attached = this.attachments.items.slice();
1194
1194
  // A turn separator + a BAR-marked operator message (same look as the TUI).
1195
+ // The bar goes on EVERY visual row: a long message wrapped to N lines used
1196
+ // to mark only the first one, and the continuation rows looked shifted.
1195
1197
  this.printAbove(theme.turnRule('─'.repeat(contentWidth())));
1196
- this.printAbove(theme.userBar('▌ ') +
1197
- theme.user(wrapToWidth(display, contentWidth() - 2)));
1198
+ const wrapped = wrapToWidth(display, contentWidth() - 2);
1199
+ this.printAbove(wrapped
1200
+ .split(String.fromCharCode(10))
1201
+ .map((line) => theme.userBar('▌ ') + theme.user(line))
1202
+ .join(String.fromCharCode(10)));
1198
1203
  this.pastes = [];
1199
1204
  this.attachments.reset();
1200
1205
  if (this.onSubmit)
@@ -9,6 +9,12 @@ function LogRow({ entry }) {
9
9
  // embedded ANSI escape sequences through to the terminal.
10
10
  return _jsx(Text, { children: entry.text });
11
11
  }
12
+ if (entry.bar) {
13
+ // An operator turn: `▌` on EVERY visual row. Applying the bar to the whole
14
+ // (already wrapped) block keeps the indent equal on continuation lines —
15
+ // prefixing only the first line made a multi-line message look ragged.
16
+ return _jsx(Text, { children: theme.userBar('▌ ') + theme.user(entry.text) });
17
+ }
12
18
  switch (entry.kind) {
13
19
  case 'user':
14
20
  return _jsx(Text, { children: theme.user('❯ ') + entry.text });
@@ -258,8 +258,9 @@ export class TuiEditor {
258
258
  // A turn separator + a BAR-marked, clearly-colored operator message, so an
259
259
  // operator turn never blends with the model's answer (operator request).
260
260
  this.printAbove(theme.turnRule('─'.repeat(contentWidth())));
261
- this.printAbove(theme.userBar('▌ ') +
262
- theme.user(wrapToWidth(display, contentWidth() - 2)));
261
+ // The BAR is a per-row marker, drawn by LogView (entry.bar), so every
262
+ // visual row of a long message starts with `▌` instead of only the first.
263
+ this.store.pushLog('user', wrapToWidth(display, contentWidth() - 2), false, { bar: true });
263
264
  this.store.set({ pastes: [] });
264
265
  // Sending a message pins the log back to the newest content: the operator
265
266
  // expects their message (and the answer) at the BOTTOM, so a viewport left
package/dist/tui/store.js CHANGED
@@ -83,8 +83,14 @@ export class TuiStore {
83
83
  this.set(fn(this.state));
84
84
  }
85
85
  /** Append one permanent log entry (an Ink `<Static>` item). */
86
- pushLog(kind, text, raw = false) {
87
- const entry = { id: this.nextLogId++, kind, text, raw };
86
+ pushLog(kind, text, raw = false, extra) {
87
+ const entry = {
88
+ id: this.nextLogId++,
89
+ kind,
90
+ text,
91
+ raw,
92
+ ...extra,
93
+ };
88
94
  this.state = { ...this.state, log: [...this.state.log, entry] };
89
95
  this.emit();
90
96
  }
package/llms-full.txt CHANGED
@@ -628,10 +628,12 @@ Terminal and others; where it is not supported nothing happens). Opt out with
628
628
  `ZAMES_NO_BG=1` or `NO_COLOR`.
629
629
  To make the choice
630
630
  concrete, a SAMPLE SESSION in that palette is shown before you pick (in `/theme`
631
- below the list, in `/config` press `p` on the theme row); after
632
- `/theme <id>` the sample is printed too. The frame itself is a separate
631
+ below the list, in `/config` press `p` on the theme row); it is not dumped into
632
+ the chat after a pick. Every one of the 24 themes has a screenshot in
633
+ `docs/shots/`. The frame itself is a separate
633
634
  setting: `/config set ui.inputBorder <round|single|double|bold|none>`
634
- (default `round`; `none` removes it).
635
+ (default `round`; `none` removes it). A multi-line operator message keeps its
636
+ `▌` bar on every row.
635
637
 
636
638
  Agent data is stored in `~/.zames`: browser profile, logs, undo history, sessions.
637
639
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zames_pro",
3
- "version": "2.86.0",
3
+ "version": "2.86.1",
4
4
  "description": "Terminal coding agent that drives a real browser to chat with DeepSeek, Qwen or GLM — no API key required. Reads and edits files, runs commands, commits to git, like Claude Code / Codex CLI.",
5
5
  "type": "module",
6
6
  "bin": {