zames_pro 2.82.107 → 2.82.109
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 +12 -0
- package/dist/diagnostics.js +7 -3
- package/dist/tool-summary.js +8 -2
- package/package.json +1 -1
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.109] - 2026-10-24
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **tui:** a failure phrase inside the output does not mark the call failed
|
|
15
|
+
|
|
16
|
+
## [2.82.108] - 2026-10-24
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- **diagnostics:** a mid-line tsc error is not hidden by a zero banner
|
|
21
|
+
|
|
10
22
|
## [2.82.107] - 2026-10-24
|
|
11
23
|
|
|
12
24
|
### Fixed
|
package/dist/diagnostics.js
CHANGED
|
@@ -34,11 +34,15 @@ export function summarizeDiagnostics(raw, maxChars) {
|
|
|
34
34
|
// appended a pointless diagnostics block.
|
|
35
35
|
const plain = text.replace(/\x1b\[[0-9;?]*[A-Za-z]/g, '');
|
|
36
36
|
const cleanCheck = plain.replace(/^\[[^\]]*\]\s*/, '');
|
|
37
|
-
// The banner is only CLEAN when the output carries NO error-looking
|
|
37
|
+
// The banner is only CLEAN when the output carries NO error-looking text:
|
|
38
38
|
// a webpack/build log prints `ERROR in …` AND its own `Found 0 errors`
|
|
39
39
|
// summary, and the old whole-text check reported that run as clean — the
|
|
40
|
-
// real error never reached the model.
|
|
41
|
-
|
|
40
|
+
// real error never reached the model. The check is NOT anchored to the
|
|
41
|
+
// start of a line: a normal tsc failure is `src/a.ts(1,1): error TS2322: …`
|
|
42
|
+
// and `error` sits MID-LINE; an anchored pattern missed it and a stray
|
|
43
|
+
// `Found 0 errors` (a watch banner in the same buffer) swallowed the real
|
|
44
|
+
// error.
|
|
45
|
+
const hasErrorLine = /\berror\b|✖|✗|TS\d{4}\b/i.test(cleanCheck);
|
|
42
46
|
if (!hasErrorLine) {
|
|
43
47
|
if (/^(?:found\s+)?0\s+errors?\b/im.test(cleanCheck))
|
|
44
48
|
return null;
|
package/dist/tool-summary.js
CHANGED
|
@@ -84,11 +84,17 @@ export function looksLikeToolError(result) {
|
|
|
84
84
|
.toLowerCase();
|
|
85
85
|
if (!head)
|
|
86
86
|
return false;
|
|
87
|
+
const whole = String(result ?? '').toLowerCase();
|
|
87
88
|
return (head.startsWith('error') ||
|
|
88
89
|
head.startsWith('missing required argument') ||
|
|
89
90
|
head.startsWith('failed') ||
|
|
90
|
-
|
|
91
|
-
|
|
91
|
+
// The run's OWN failure lines are anchored at the start of a line
|
|
92
|
+
// (`Exit code: N`, the `stdout:/stderr:` blocks follow). A phrase that
|
|
93
|
+
// merely APPEARS in the output (a log line, a diff, a test summary) is
|
|
94
|
+
// data, not a failure: a red ✖ on a successful call is just as wrong as a
|
|
95
|
+
// green ✔ on a refused one.
|
|
96
|
+
/^exit code\b/m.test(whole) ||
|
|
97
|
+
/^command failed\b/m.test(whole) ||
|
|
92
98
|
// NOT every failure is a THROWN error: a PreToolUse hook, the permission
|
|
93
99
|
// policy and the operator's denial BLOCK the call and return their message
|
|
94
100
|
// as the result; an unknown tool and an aborted/timed-out run are reported
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zames_pro",
|
|
3
|
-
"version": "2.82.
|
|
3
|
+
"version": "2.82.109",
|
|
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": {
|