zames_pro 2.82.87 → 2.82.89
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 +5 -1
- package/dist/self-review.js +16 -3
- 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.89] - 2026-10-24
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **self-review:** collapse whitespace in the focus text
|
|
15
|
+
|
|
16
|
+
## [2.82.88] - 2026-10-24
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- **cost:** a non-finite elapsed no longer makes the duration Infinity
|
|
21
|
+
|
|
10
22
|
## [2.82.87] - 2026-10-24
|
|
11
23
|
|
|
12
24
|
### Fixed
|
package/dist/commands.js
CHANGED
|
@@ -130,7 +130,11 @@ export function summarizeTranscript(entries) {
|
|
|
130
130
|
stats.toolTime[tool] = (stats.toolTime[tool] || 0) + ms;
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
|
-
|
|
133
|
+
// A FINITE, non-negative elapsed only: `Infinity > 0` is true, so one
|
|
134
|
+
// entry with a broken timestamp made /cost report `duration: Infinity`.
|
|
135
|
+
if (typeof e.elapsed === 'number' &&
|
|
136
|
+
Number.isFinite(e.elapsed) &&
|
|
137
|
+
e.elapsed > stats.durationMs) {
|
|
134
138
|
stats.durationMs = e.elapsed;
|
|
135
139
|
}
|
|
136
140
|
if (!stats.startedAt && typeof e.ts === 'string')
|
package/dist/self-review.js
CHANGED
|
@@ -297,10 +297,23 @@ async function diffFiles(origDir, newDir) {
|
|
|
297
297
|
}
|
|
298
298
|
return changed;
|
|
299
299
|
}
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
300
|
+
/**
|
|
301
|
+
* The focus line of the self-review prompt. PURE. A NEWLINE in the focus used
|
|
302
|
+
* to start new lines of the prompt, so the operator's text could inject a
|
|
303
|
+
* whole extra instruction; collapse all whitespace into one sentence.
|
|
304
|
+
*/
|
|
305
|
+
export function selfReviewFocusLine(focus) {
|
|
306
|
+
const f = String(focus ?? '')
|
|
307
|
+
.trim()
|
|
308
|
+
.replace(/\s+/g, ' ');
|
|
309
|
+
return f
|
|
310
|
+
? `
|
|
311
|
+
The user asked you to focus especially on: ${f}
|
|
312
|
+
`
|
|
303
313
|
: '';
|
|
314
|
+
}
|
|
315
|
+
function buildReviewPrompt({ focus, snapDir, }) {
|
|
316
|
+
const focusLine = selfReviewFocusLine(focus);
|
|
304
317
|
return `You are a senior JavaScript/Node.js engineer. You are reviewing your own source code — a Playwright-based coding agent that talks to the DeepSeek web chat as an LLM backend.
|
|
305
318
|
|
|
306
319
|
All source files are in your working directory: ${snapDir}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zames_pro",
|
|
3
|
-
"version": "2.82.
|
|
3
|
+
"version": "2.82.89",
|
|
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": {
|