zames_pro 2.82.5 → 2.82.8
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 +18 -0
- package/dist/commands.js +10 -1
- package/dist/config.js +9 -0
- package/dist/mcp.js +13 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [2.82.8] - 2026-10-22
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **mcp:** --isolated=false no longer counts as an isolated profile
|
|
15
|
+
|
|
16
|
+
## [2.82.7] - 2026-10-22
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- **queue:** a truncated queued message keeps no lone surrogate
|
|
21
|
+
|
|
22
|
+
## [2.82.6] - 2026-10-22
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
|
|
26
|
+
- **config:** a numeric setting rejects a fractional value
|
|
27
|
+
|
|
10
28
|
## [2.82.5] - 2026-10-22
|
|
11
29
|
|
|
12
30
|
### Fixed
|
package/dist/commands.js
CHANGED
|
@@ -894,7 +894,16 @@ export function formatQueueList(msgs) {
|
|
|
894
894
|
const one = String(m.text || '')
|
|
895
895
|
.replace(/\s+/g, ' ')
|
|
896
896
|
.trim();
|
|
897
|
-
|
|
897
|
+
// The cut is in UTF-16 units: a surrogate PAIR (an emoji / astral CJK
|
|
898
|
+
// char) straddling the boundary would leave a lone HIGH surrogate at the
|
|
899
|
+
// end of the line — a broken code point in the /queue listing and in the
|
|
900
|
+
// transcript. Step back one unit so the pair is dropped WHOLE (the same
|
|
901
|
+
// rule as truncateToolResult / capReport).
|
|
902
|
+
let cut = 80;
|
|
903
|
+
const last = one.charCodeAt(cut - 1);
|
|
904
|
+
if (last >= 0xd800 && last <= 0xdbff)
|
|
905
|
+
cut--;
|
|
906
|
+
const shown = one.length > 80 ? one.slice(0, cut) + ' …' : one;
|
|
898
907
|
const att = m.attachments?.length ? ' [+' + m.attachments.length + ']' : '';
|
|
899
908
|
return ' ' + (i + 1) + '. ' + shown + att;
|
|
900
909
|
});
|
package/dist/config.js
CHANGED
|
@@ -644,6 +644,15 @@ function parseConfigValue(field, raw) {
|
|
|
644
644
|
const n = Number(raw);
|
|
645
645
|
if (!Number.isFinite(n))
|
|
646
646
|
throw new Error('number');
|
|
647
|
+
// Every numeric setting is a COUNT or a MILLISECOND amount, and the code
|
|
648
|
+
// that consumes it compares/loops it as an integer (`attempt <
|
|
649
|
+
// this.askRetries`, `used >= maxSubagents`, a setTimeout delay). A
|
|
650
|
+
// fraction was accepted and then behaved unpredictably: a budget of
|
|
651
|
+
// 0.4 subagents printed "0.4" while refusing nothing on the first run,
|
|
652
|
+
// and 5.7 retries meant "5 attempts plus half an attempt". `5.0` is a
|
|
653
|
+
// legitimate way to type 5, so only a REAL fraction is rejected.
|
|
654
|
+
if (!Number.isInteger(n))
|
|
655
|
+
throw new Error('number');
|
|
647
656
|
if (field.min !== undefined && n < field.min)
|
|
648
657
|
throw new Error('number');
|
|
649
658
|
if (field.max !== undefined && n > field.max)
|
package/dist/mcp.js
CHANGED
|
@@ -44,10 +44,19 @@ export function hardenPlaywrightArgs(command, args) {
|
|
|
44
44
|
const hay = (String(command || '') + ' ' + args.join(' ')).toLowerCase();
|
|
45
45
|
if (!hay.includes('playwright') || !hay.includes('mcp'))
|
|
46
46
|
return args;
|
|
47
|
-
if (args.some((a) =>
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
47
|
+
if (args.some((a) =>
|
|
48
|
+
// A PREFIX match treated `--isolated=false` as the isolated flag, so
|
|
49
|
+
// the hardener added nothing and the MCP browser opened the agent's
|
|
50
|
+
// live profile anyway. Only a flag EXPLICITLY ON, or a value-taking
|
|
51
|
+
// profile flag, counts; `=false` does not.
|
|
52
|
+
a === '--isolated' ||
|
|
53
|
+
/^--isolated=(?!false$)/.test(a) ||
|
|
54
|
+
a === '--user-data-dir' ||
|
|
55
|
+
a.startsWith('--user-data-dir=') ||
|
|
56
|
+
a === '--extension' ||
|
|
57
|
+
a.startsWith('--extension=') ||
|
|
58
|
+
a === '--cdp-endpoint' ||
|
|
59
|
+
a.startsWith('--cdp-endpoint='))) {
|
|
51
60
|
return args;
|
|
52
61
|
}
|
|
53
62
|
return [...args, '--isolated'];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zames_pro",
|
|
3
|
-
"version": "2.82.
|
|
3
|
+
"version": "2.82.8",
|
|
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": {
|