switchroom 0.13.40 → 0.13.41

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.
@@ -47747,8 +47747,8 @@ var {
47747
47747
  } = import__.default;
47748
47748
 
47749
47749
  // src/build-info.ts
47750
- var VERSION = "0.13.40";
47751
- var COMMIT_SHA = "1f8f075b";
47750
+ var VERSION = "0.13.41";
47751
+ var COMMIT_SHA = "c5897e47";
47752
47752
 
47753
47753
  // src/cli/agent.ts
47754
47754
  init_source();
@@ -49552,6 +49552,20 @@ ${body}
49552
49552
  writeFileSync5(mdPath, content, "utf-8");
49553
49553
  }
49554
49554
  }
49555
+ {
49556
+ const telegramDir = join8(agentDir, "telegram");
49557
+ if (existsSync11(telegramDir)) {
49558
+ for (const file of readdirSync5(telegramDir)) {
49559
+ const isCronScript = CRON_SCRIPT_BASENAME_RE.test(file) || LEGACY_CRON_SCRIPT_BASENAME_RE.test(file);
49560
+ if (isCronScript) {
49561
+ unlinkSync4(join8(telegramDir, file));
49562
+ const sidecar = join8(telegramDir, file.replace(/\.sh$/, ".source"));
49563
+ if (existsSync11(sidecar))
49564
+ unlinkSync4(sidecar);
49565
+ }
49566
+ }
49567
+ }
49568
+ }
49555
49569
  copyProfileSkills(profilePath, join8(agentDir, ".claude", "skills"));
49556
49570
  renderProfileClaudeTemplate(agentConfig.extends ?? DEFAULT_PROFILE);
49557
49571
  if (agentConfig.skills && agentConfig.skills.length > 0) {
@@ -774,16 +774,24 @@
774
774
  // usage % cell: live 5h/7d utilization from the last cached
775
775
  // probe (cost-gated — see refreshQuota). null → "—" + a per-
776
776
  // account ↻ that force-probes. quotaStale → value shown muted
777
- // with ↻ to refresh.
778
- const pctCell = (pct, label, stale) => {
777
+ // with ↻ to refresh. When `resetAt` is provided we append a
778
+ // muted "resets in Xh" line so the operator can see WHEN the
779
+ // window rolls over without hovering for a tooltip — matches
780
+ // anthropic-ratelimit-unified-{5h,7d}-reset headers exposed by
781
+ // the broker probe (src/auth/quota.ts:97-98).
782
+ const pctCell = (pct, label, stale, resetAt) => {
779
783
  if (pct == null) return '<span style="color:var(--text-dim)">—</span>';
780
784
  let cls = 'quota-pct';
781
785
  if (pct >= 90) cls += ' high';
782
786
  else if (pct >= 70) cls += ' mid';
783
787
  const v = `${Math.round(pct)}%`;
784
- return stale
788
+ const reset = resetAt
789
+ ? `<div style="font-size:.72rem;color:var(--text-dim);font-weight:normal;margin-top:.1rem">resets ${formatTimestamp(resetAt)}</div>`
790
+ : '';
791
+ const pctSpan = stale
785
792
  ? `<span class="${cls}" title="stale — click ↻" style="opacity:.55">${v}</span>`
786
793
  : `<span class="${cls}">${v}</span>`;
794
+ return reset ? `<div>${pctSpan}${reset}</div>` : pctSpan;
787
795
  };
788
796
  const enriched = accounts.map(a => {
789
797
  const q = a.quota || null;
@@ -792,9 +800,8 @@
792
800
  return {
793
801
  a,
794
802
  usedBy: a.usedBy || [],
795
- fiveH: pctCell(u ? u.fiveHourPct : null, '5h', a.quotaStale),
796
- sevenD: pctCell(u ? u.sevenDayPct : null, '7d', a.quotaStale),
797
- fiveReset: u && u.fiveHourResetAt ? formatTimestamp(u.fiveHourResetAt) : '<span style="color:var(--text-dim)">—</span>',
803
+ fiveH: pctCell(u ? u.fiveHourPct : null, '5h', a.quotaStale, u ? u.fiveHourResetAt : null),
804
+ sevenD: pctCell(u ? u.sevenDayPct : null, '7d', a.quotaStale, u ? u.sevenDayResetAt : null),
798
805
  captured: u && u.capturedAt
799
806
  ? formatTimestamp(u.capturedAt)
800
807
  : '<span style="color:var(--text-dim)">never</span>',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "switchroom",
3
- "version": "0.13.40",
3
+ "version": "0.13.41",
4
4
  "description": "Run Claude Code 24/7 on your Claude Pro/Max subscription over Telegram. Open-source alternative to OpenClaw and NanoClaw — no API keys.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -48730,10 +48730,10 @@ function sweepStaleTurnActiveMarker(stateDir, opts) {
48730
48730
  }
48731
48731
 
48732
48732
  // ../src/build-info.ts
48733
- var VERSION = "0.13.40";
48734
- var COMMIT_SHA = "1f8f075b";
48735
- var COMMIT_DATE = "2026-05-25T07:28:32Z";
48736
- var LATEST_PR = 1800;
48733
+ var VERSION = "0.13.41";
48734
+ var COMMIT_SHA = "c5897e47";
48735
+ var COMMIT_DATE = "2026-05-25T07:56:53Z";
48736
+ var LATEST_PR = 1803;
48737
48737
  var COMMITS_AHEAD_OF_TAG = 0;
48738
48738
 
48739
48739
  // gateway/boot-version.ts