cc-claw 0.20.20 → 0.20.21

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.
Files changed (2) hide show
  1. package/dist/cli.js +7 -15
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -33,7 +33,7 @@ var VERSION;
33
33
  var init_version = __esm({
34
34
  "src/version.ts"() {
35
35
  "use strict";
36
- VERSION = true ? "0.20.20" : (() => {
36
+ VERSION = true ? "0.20.21" : (() => {
37
37
  try {
38
38
  return JSON.parse(readFileSync(join(process.cwd(), "package.json"), "utf-8")).version ?? "unknown";
39
39
  } catch {
@@ -13694,6 +13694,12 @@ function spawnQuery(adapter, config2, model2, cancelState, thinkingLevel, timeou
13694
13694
  if (contentSilenceTimer) clearTimeout(contentSilenceTimer);
13695
13695
  contentSilenceTimer = setTimeout(() => {
13696
13696
  if (cancelState.cancelled || timedOut) return;
13697
+ if (pendingTools.size > 0) {
13698
+ const tools2 = Array.from(pendingTools.values()).map((t) => typeof t === "string" ? t : t.name).join(", ");
13699
+ log(`[agent] Content silence timer fired but ${pendingTools.size} tool(s) still running (${tools2}) \u2014 resetting`);
13700
+ resetContentSilenceTimer();
13701
+ return;
13702
+ }
13697
13703
  warn(`[agent] Content silence timeout after ${silenceTimeoutMs / 1e3}s for ${adapter.id} \u2014 no content events, killing`);
13698
13704
  timedOut = true;
13699
13705
  timeoutState.contentSilence = true;
@@ -28070,20 +28076,6 @@ var init_telegram2 = __esm({
28070
28076
  this.allowedChatIds = new Set(ids);
28071
28077
  this.bot = new Bot(token);
28072
28078
  this.throttle = new TelegramThrottle();
28073
- this.throttle.setResumeNotifier(async (chatId, pausedSec, queuedCount) => {
28074
- if (pausedSec > 60) {
28075
- log(`[telegram] Skipping resume notification (paused ${pausedSec}s \u2014 too long, would risk another 429)`);
28076
- return;
28077
- }
28078
- try {
28079
- await this.bot.api.sendMessage(
28080
- numericChatId(chatId),
28081
- `\u26A0\uFE0F Rate-limited by Telegram for ${pausedSec}s \u2014 delivering ${queuedCount} pending message(s) now.`
28082
- );
28083
- } catch (err) {
28084
- warn("[telegram] Resume notification failed:", err instanceof Error ? err.message : err);
28085
- }
28086
- });
28087
28079
  }
28088
28080
  /** The first ID in ALLOWED_CHAT_ID — used for heartbeat, notifications, etc. */
28089
28081
  getPrimaryChatId() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cc-claw",
3
- "version": "0.20.20",
3
+ "version": "0.20.21",
4
4
  "description": "CC-Claw: Personal AI assistant on Telegram — multi-backend (Claude, Gemini, Codex, Cursor), sub-agent orchestration, MCP management",
5
5
  "type": "module",
6
6
  "main": "dist/cli.js",