zames_pro 2.82.129 → 2.82.131

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.131] - 2026-10-24
11
+
12
+ ### Fixed
13
+
14
+ - **status:** a negative MCP tool count is not printed
15
+
16
+ ## [2.82.130] - 2026-10-24
17
+
18
+ ### Fixed
19
+
20
+ - **goal:** a prose answer mentioning DSML still yields its verdict
21
+
10
22
  ## [2.82.129] - 2026-10-24
11
23
 
12
24
  ### Fixed
package/dist/goal.js CHANGED
@@ -86,7 +86,11 @@ function argumentReason(reason) {
86
86
  function toolCallVerdictText(raw) {
87
87
  const hasCallMarkers = /"tool"\s*:/.test(raw) ||
88
88
  /<[^>]*\b(?:invoke|parameter)\b/i.test(raw) ||
89
- /DSML/i.test(raw);
89
+ // Only a REAL DSML marker means a call: the bare word `DSML` in a prose
90
+ // answer ("the DSML invoke branch was checked") was taken for a call, its
91
+ // text was then discarded as "not a judgement", and a real VERDICT line
92
+ // right below never parsed — the goal loop continued until the budget.
93
+ /<[||]DSML[||]/i.test(raw);
90
94
  if (!hasCallMarkers)
91
95
  return raw;
92
96
  // `respond` carries the operator-facing text; unwrap its message only.
@@ -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.129",
3
+ "version": "2.82.131",
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": {