zames_pro 2.82.54 → 2.82.55

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,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [2.82.55] - 2026-10-23
11
+
12
+ ### Fixed
13
+
14
+ - **deepseek:** require a boundary around HTTP status codes in the busy matcher
15
+ - **toolcall:** require an attribute boundary before the tool name
16
+
10
17
  ## [2.82.54] - 2026-10-23
11
18
 
12
19
  ### Fixed
@@ -242,7 +242,7 @@ export const RATE_LIMIT_RE = /(messages? too frequent|too many requests|rate lim
242
242
  // Transient server-side hiccups (DeepSeek overloaded / hiccup). Unlike the
243
243
  // rate limit, these usually clear in seconds, so we retry quickly instead of
244
244
  // waiting minutes.
245
- export const SERVER_BUSY_RE = /(server (is )?busy|server error|service (is )?unavailable|temporarily unavailable|internal server error|502|503|504|server overloaded|сервер занят|сервер перегружен|сервис недоступен|внутренняя ошибка|попробуйте позже)/i;
245
+ export const SERVER_BUSY_RE = /(server (is )?busy|server error|service (is )?unavailable|temporarily unavailable|internal server error|\b50[234]\b|server overloaded|сервер занят|сервер перегружен|сервис недоступен|внутренняя ошибка|попробуйте позже)/i;
246
246
  // The chat's CONTEXT WINDOW is exhausted. DeepSeek refuses to continue the
247
247
  // conversation and answers with a non-retryable notice instead of a model
248
248
  // turn: "Length limit reached. Please start a new chat." (the Russian UI:
@@ -14,7 +14,10 @@ function unescapeXml(s) {
14
14
  }
15
15
  function readAttr(attrs, name) {
16
16
  const Q = String.fromCharCode(34);
17
- const re = new RegExp(name + '[ ]*=[ ]*([' + Q + ']([^' + Q + ']*)[' + Q + '])');
17
+ // A boundary BEFORE the name: without it `name` matched the TAIL of
18
+ // `tool_name="Bash"`, so an invoke tag that restated the tool was dispatched
19
+ // to `Bash` and the real `name="Write"` was ignored.
20
+ const re = new RegExp('(?:^|[\\s])' + name + '[ ]*=[ ]*([' + Q + ']([^' + Q + ']*)[' + Q + '])');
18
21
  const m = attrs.match(re);
19
22
  return m ? m[2] : null;
20
23
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zames_pro",
3
- "version": "2.82.54",
3
+ "version": "2.82.55",
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": {