zames_pro 2.82.130 → 2.82.132

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,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [2.82.132] - 2026-10-24
11
+
12
+ ### Fixed
13
+
14
+ - **backlog:** a heading with no text after the id keeps a usable title
15
+
16
+ ## [2.82.131] - 2026-10-24
17
+
18
+ ### Fixed
19
+
20
+ - **status:** a negative MCP tool count is not printed
21
+
10
22
  ## [2.82.130] - 2026-10-24
11
23
 
12
24
  ### Fixed
package/dist/commands.js CHANGED
@@ -1107,10 +1107,15 @@ export function parseBacklogItems(text) {
1107
1107
  const done = /^\[x\]/i.test(rest.trim());
1108
1108
  // The title is the heading text with the [x] marker and the `~~` strike
1109
1109
  // wrappers removed, so a done item still has a clean label.
1110
- const title = rest
1110
+ const stripped = rest
1111
1111
  .replace(/^\[x\]\s*/i, '')
1112
1112
  .replace(/~~/g, '')
1113
1113
  .trim();
1114
+ // A heading with NO text after the id (`### A3. [x]`) must not become an
1115
+ // item with an EMPTY title: `/improve` hands the title to the model as the
1116
+ // task, so an empty one produced an empty task, while the `[x]` marked the
1117
+ // item DONE and it silently vanished from the pickable list.
1118
+ const title = stripped || id;
1114
1119
  out.push({ id, title, status: done ? 'done' : 'open', priority });
1115
1120
  }
1116
1121
  return out;
@@ -33,7 +33,11 @@ export function formatStatus(s, t = translate('en')) {
33
33
  const oneLine = (v) => String(v ?? '').replace(/\s+/g, ' ');
34
34
  lines.push(t('status.goal', { v: s.goal ? oneLine(s.goal) : none }));
35
35
  lines.push(t('status.locale', { v: s.localeName }));
36
- lines.push(t('status.mcp', { v: s.mcpToolCount === null ? none : s.mcpToolCount }));
36
+ // A NEGATIVE tool count is nonsense (a broken MCP server status, a
37
+ // hand-edited value): "MCP tools: -2" reads like a real measurement, the
38
+ // same rule the token counter below already follows.
39
+ const mcpCount = s.mcpToolCount === null || s.mcpToolCount < 0 ? none : s.mcpToolCount;
40
+ lines.push(t('status.mcp', { v: mcpCount }));
37
41
  // A NEGATIVE count is nonsense (a broken provider counter): show "unknown"
38
42
  // rather than a number that reads like a real measurement.
39
43
  const tokens = s.tokenUsage === null || s.tokenUsage < 0 ? null : s.tokenUsage;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zames_pro",
3
- "version": "2.82.130",
3
+ "version": "2.82.132",
4
4
  "description": "Terminal coding agent that drives a real browser to chat with DeepSeek, Qwen and other web LLMs — 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": {