zames_pro 2.82.108 → 2.82.110
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/commands.js +24 -2
- 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.110] - 2026-10-24
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **commands:** a dollar token inside a custom-command argument is not expanded twice
|
|
15
|
+
|
|
16
|
+
## [2.82.109] - 2026-10-24
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- **tui:** a failure phrase inside the output does not mark the call failed
|
|
21
|
+
|
|
10
22
|
## [2.82.108] - 2026-10-24
|
|
11
23
|
|
|
12
24
|
### Fixed
|
package/dist/commands.js
CHANGED
|
@@ -886,10 +886,32 @@ function replaceDollarTokens(s, parts, names) {
|
|
|
886
886
|
// it is unit-tested.
|
|
887
887
|
export function expandCommandArgs(body, rest, names = []) {
|
|
888
888
|
const parts = splitCommandArgs(rest);
|
|
889
|
+
// Scan the BODY only: the operator's arguments are DATA and must not be
|
|
890
|
+
// re-scanned for `$1`/`$name`. Substituting them into the text FIRST and
|
|
891
|
+
// running the dollar pass over the result rewrote an argument that merely
|
|
892
|
+
// contained `$1` (`/cmd real $1` sent `real real`). A unique placeholder is
|
|
893
|
+
// parked for every `{{args}}`/`$ARGUMENTS` occurrence and restored after the
|
|
894
|
+
// positional pass.
|
|
895
|
+
const parked = [];
|
|
889
896
|
let out = String(body ?? '');
|
|
890
|
-
|
|
891
|
-
|
|
897
|
+
const park = () => {
|
|
898
|
+
const key = String.fromCharCode(0x1f) +
|
|
899
|
+
'a' +
|
|
900
|
+
parked.length +
|
|
901
|
+
String.fromCharCode(0x1f);
|
|
902
|
+
parked.push(rest);
|
|
903
|
+
return key;
|
|
904
|
+
};
|
|
905
|
+
out = out.split('{{args}}').join(park());
|
|
906
|
+
out = out.split('$ARGUMENTS').join(park());
|
|
892
907
|
out = replaceDollarTokens(out, parts, names);
|
|
908
|
+
for (let i = 0; i < parked.length; i++) {
|
|
909
|
+
const key = String.fromCharCode(0x1f) + 'a' + i + String.fromCharCode(0x1f);
|
|
910
|
+
out = out.split(key).join(parked[i]);
|
|
911
|
+
}
|
|
912
|
+
// The placeholder uses a control character that cannot appear in a normal
|
|
913
|
+
// body; a body that DOES contain it (a binary snippet) is left untouched
|
|
914
|
+
// because its text is not a generated key.
|
|
893
915
|
return out.trim();
|
|
894
916
|
}
|
|
895
917
|
// Names declared in `arguments:` but not supplied on the command line (by
|
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.110",
|
|
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": {
|