claude-coder 1.5.4 → 1.5.5

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/package.json +1 -1
  2. package/src/indicator.js +12 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-coder",
3
- "version": "1.5.4",
3
+ "version": "1.5.5",
4
4
  "description": "Claude Coder — Autonomous coding agent harness powered by Claude Code SDK. Scan, plan, code, validate, git-commit in a loop.",
5
5
  "bin": {
6
6
  "claude-coder": "bin/cli.js"
package/src/indicator.js CHANGED
@@ -17,11 +17,13 @@ class Indicator {
17
17
  this.sessionNum = 0;
18
18
  this.startTime = Date.now();
19
19
  this._lastContentKey = '';
20
+ this._lastRenderTime = 0;
20
21
  }
21
22
 
22
23
  start(sessionNum) {
23
24
  this.sessionNum = sessionNum;
24
25
  this.startTime = Date.now();
26
+ this._lastRenderTime = Date.now();
25
27
  this.timer = setInterval(() => this._render(), 500);
26
28
  }
27
29
 
@@ -87,6 +89,16 @@ class Indicator {
87
89
 
88
90
  _render() {
89
91
  this.spinnerIndex++;
92
+ const contentKey = `${this.phase}|${this.step}|${this.toolTarget}`;
93
+ const now = Date.now();
94
+ const contentChanged = contentKey !== this._lastContentKey;
95
+
96
+ if (!contentChanged && now - this._lastRenderTime < 3000) {
97
+ return;
98
+ }
99
+ this._lastContentKey = contentKey;
100
+ this._lastRenderTime = now;
101
+
90
102
  const line = this.getStatusLine();
91
103
  const maxWidth = process.stderr.columns || 80;
92
104
  const truncated = line.length > maxWidth + 20 ? line.slice(0, maxWidth + 20) : line;