claude-auto-continue 1.0.3 → 1.0.7
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/dist/PatternDetector.js +4 -3
- package/dist/PatternDetector.js.map +1 -1
- package/dist/ProcessSupervisor.js +20 -1
- package/dist/ProcessSupervisor.js.map +1 -1
- package/dist/cli.js +44 -22
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
package/dist/PatternDetector.js
CHANGED
|
@@ -8,12 +8,13 @@ const events_1 = require("events");
|
|
|
8
8
|
const strip_ansi_1 = __importDefault(require("strip-ansi"));
|
|
9
9
|
const config_js_1 = require("./config.js");
|
|
10
10
|
/**
|
|
11
|
-
* Default regex that matches all
|
|
11
|
+
* Default regex that matches all known Claude rate-limit message formats:
|
|
12
12
|
* Format A (legacy): "Claude AI usage limit reached|1760000400"
|
|
13
13
|
* Format B (mid-era): "Claude usage limit reached. Your limit will reset at 3pm (America/Santiago)."
|
|
14
|
-
* Format C
|
|
14
|
+
* Format C: "You've hit your limit · resets 4pm (Europe/Berlin)"
|
|
15
|
+
* Format D (current): "You're out of extra usage · resets 4am (Europe/Istanbul)"
|
|
15
16
|
*/
|
|
16
|
-
const DEFAULT_PATTERN = /(?:Claude(?:\s+AI)?\s+usage\s+limit\s+reached[|.]|you(?:'ve| have)\s+hit\s+your\s+limit)/i;
|
|
17
|
+
const DEFAULT_PATTERN = /(?:Claude(?:\s+AI)?\s+usage\s+limit\s+reached[|.]|you(?:'ve| have)\s+hit\s+your\s+limit|you(?:'re| are)\s+out\s+of\s+extra\s+usage)/i;
|
|
17
18
|
/** Matches a 10+ digit unix timestamp after a pipe: |1760000400 */
|
|
18
19
|
const UNIX_TS_PATTERN = /\|(\d{10,})/;
|
|
19
20
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PatternDetector.js","sourceRoot":"","sources":["../src/PatternDetector.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAsC;AACtC,4DAAmC;AACnC,2CAAyC;AAYzC
|
|
1
|
+
{"version":3,"file":"PatternDetector.js","sourceRoot":"","sources":["../src/PatternDetector.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAsC;AACtC,4DAAmC;AACnC,2CAAyC;AAYzC;;;;;;GAMG;AACH,MAAM,eAAe,GACnB,sIAAsI,CAAC;AAEzI,mEAAmE;AACnE,MAAM,eAAe,GAAG,aAAa,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,kBAAkB,GACtB,8EAA8E,CAAC;AAEjF,gDAAgD;AAChD,MAAM,UAAU,GAAG,IAAI,CAAC;AASxB;;;GAGG;AACH,MAAa,eAAgB,SAAQ,qBAAY;IACtC,QAAQ,CAAS;IACjB,MAAM,CAAU;IACzB,OAAO,GAAW,EAAE,CAAC;IACrB,SAAS,GAAY,KAAK,CAAC;IAE3B,YAAY,UAAkC,EAAE;QAC9C,KAAK,EAAE,CAAC;QAER,uDAAuD;QACvD,MAAM,MAAM,GAAG,IAAA,sBAAU,GAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,IAAI,eAAe,CAAC;QACrE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,QAAgB;QACnB,wDAAwD;QACxD,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAE3B,uDAAuD;QACvD,MAAM,KAAK,GAAG,IAAA,oBAAS,EAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;QAEtB,sEAAsE;QACtE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;YACrC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,OAAO,CAAC,MAAM,MAAM,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QAC9F,CAAC;QAED,8CAA8C;QAC9C,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAuB,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,IAAY;QAC1B,6CAA6C;QAC7C,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3C,OAAO,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,0CAA0C;QAC1C,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CAAC,IAAY;QAC1B,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,8BAA8B;QAC/D,MAAM,SAAS,GAAG,qCAAqC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtE,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAE5B,IAAI,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAE5C,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,IAAI,KAAK,KAAK,EAAE;gBAAE,KAAK,GAAG,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,KAAK,EAAE;gBAAE,KAAK,IAAI,EAAE,CAAC;QAChC,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,IAAI,IAAI,CACxB,GAAG,CAAC,WAAW,EAAE,EACjB,GAAG,CAAC,QAAQ,EAAE,EACd,GAAG,CAAC,OAAO,EAAE,EACb,KAAK,EACL,OAAO,EACP,CAAC,EACD,CAAC,CACF,CAAC;QAEF,8DAA8D;QAC9D,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;YACzC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAjHD,0CAiHC"}
|
|
@@ -124,10 +124,23 @@ class ProcessSupervisor extends events_1.EventEmitter {
|
|
|
124
124
|
if (process.stdin.isTTY) {
|
|
125
125
|
process.stdin.setRawMode(true);
|
|
126
126
|
process.stdin.resume();
|
|
127
|
+
let lastCtrlC = 0;
|
|
127
128
|
process.stdin.on('data', (chunk) => {
|
|
129
|
+
const str = chunk.toString('binary');
|
|
130
|
+
// Detect Ctrl+C (0x03) — double press within 1s exits clac
|
|
131
|
+
if (str === '\x03') {
|
|
132
|
+
const now = Date.now();
|
|
133
|
+
if (now - lastCtrlC < 1000) {
|
|
134
|
+
// Double Ctrl+C — force exit
|
|
135
|
+
this.shutdown();
|
|
136
|
+
this.#onExitCallback(130);
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
lastCtrlC = now;
|
|
140
|
+
}
|
|
128
141
|
// Forward keystrokes to PTY only during RUNNING state
|
|
129
142
|
if (this.#state === "RUNNING" /* SessionState.RUNNING */) {
|
|
130
|
-
this.#writer.write(
|
|
143
|
+
this.#writer.write(str);
|
|
131
144
|
}
|
|
132
145
|
// Silently discard during WAITING / RESUMING / LIMIT_DETECTED
|
|
133
146
|
});
|
|
@@ -148,6 +161,12 @@ class ProcessSupervisor extends events_1.EventEmitter {
|
|
|
148
161
|
}
|
|
149
162
|
this.#resetTime = event.resetTime;
|
|
150
163
|
this.#setState("LIMIT_DETECTED" /* SessionState.LIMIT_DETECTED */);
|
|
164
|
+
// Dismiss the /rate-limit-options interactive menu by selecting option 1
|
|
165
|
+
// ("Stop and wait for limit to reset"). Option 1 is pre-selected, so Enter confirms it.
|
|
166
|
+
// Small delay lets the menu render before we send the keystroke.
|
|
167
|
+
setTimeout(() => {
|
|
168
|
+
this.#writer.write('\r');
|
|
169
|
+
}, 500);
|
|
151
170
|
// Schedule the resume callback
|
|
152
171
|
this.#scheduler.scheduleAt(event.resetTime, () => this.#onResumeReady());
|
|
153
172
|
this.#setState("WAITING" /* SessionState.WAITING */);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProcessSupervisor.js","sourceRoot":"","sources":["../src/ProcessSupervisor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ProcessSupervisor.js","sourceRoot":"","sources":["../src/ProcessSupervisor.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -96,6 +96,13 @@ function resolveClaudePath() {
|
|
|
96
96
|
// Fall back to bare command — let node-pty attempt PATH resolution
|
|
97
97
|
return 'claude';
|
|
98
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* Set the terminal window/tab title via OSC escape sequence.
|
|
101
|
+
* Works in most terminal emulators without interfering with app content.
|
|
102
|
+
*/
|
|
103
|
+
function setTerminalTitle(title) {
|
|
104
|
+
process.stdout.write(`\x1b]2;${title}\x07`);
|
|
105
|
+
}
|
|
99
106
|
/**
|
|
100
107
|
* Main entry point — wires ProcessSupervisor to the status display.
|
|
101
108
|
*/
|
|
@@ -117,13 +124,12 @@ function main() {
|
|
|
117
124
|
// Create display components
|
|
118
125
|
const statusBar = new StatusBar_js_1.StatusBar({ cols: cols() });
|
|
119
126
|
const countdownCard = new CountdownCard_js_1.CountdownCard({ cols: cols(), rows: rows() });
|
|
120
|
-
//
|
|
121
|
-
|
|
122
|
-
process.stdout.write(statusBar.initScrollRegion(rows()));
|
|
123
|
-
// Initial status bar render
|
|
124
|
-
process.stdout.write(statusBar.render('RUNNING', { cwd }));
|
|
127
|
+
// Set terminal title to show running status (non-intrusive)
|
|
128
|
+
setTerminalTitle(`clac | Running | ${cwd}`);
|
|
125
129
|
// Countdown timer handle
|
|
126
130
|
let countdownInterval = null;
|
|
131
|
+
// Track whether we own the terminal (WAITING/DEAD) or Claude Code does (RUNNING)
|
|
132
|
+
let ownsTerminal = false;
|
|
127
133
|
// Create supervisor with output routed through the standard handler
|
|
128
134
|
const supervisor = new ProcessSupervisor_js_1.ProcessSupervisor({
|
|
129
135
|
onOutput: (data) => {
|
|
@@ -139,49 +145,62 @@ function main() {
|
|
|
139
145
|
countdownInterval = null;
|
|
140
146
|
}
|
|
141
147
|
if (state === 'DEAD') {
|
|
142
|
-
|
|
148
|
+
setTerminalTitle(`clac | Dead | ${cwd}`);
|
|
149
|
+
if (!ownsTerminal) {
|
|
150
|
+
// Take over the terminal for dead state display
|
|
151
|
+
ownsTerminal = true;
|
|
152
|
+
process.stdout.write('\x1b[2J\x1b[H');
|
|
153
|
+
}
|
|
154
|
+
process.stdout.write(statusBar.initScrollRegion(rows()));
|
|
143
155
|
process.stdout.write(statusBar.render('DEAD', { cwd }));
|
|
144
156
|
process.stdout.write(countdownCard.clear());
|
|
145
|
-
// Wait 5 seconds to show "Dead" status, then cleanup
|
|
157
|
+
// Wait 5 seconds to show "Dead" status, then cleanup
|
|
146
158
|
setTimeout(() => {
|
|
147
159
|
process.stdout.write(statusBar.cleanup());
|
|
148
160
|
}, 5000);
|
|
149
161
|
return;
|
|
150
162
|
}
|
|
151
|
-
// Re-render status bar for the current state
|
|
152
|
-
process.stdout.write(statusBar.render(state, { resetTime: resetTime ?? undefined, cwd }));
|
|
153
163
|
if (state === 'WAITING' && resetTime) {
|
|
154
|
-
|
|
164
|
+
setTerminalTitle(`clac | Waiting | ${cwd}`);
|
|
165
|
+
// Take over the terminal for countdown display
|
|
166
|
+
if (!ownsTerminal) {
|
|
167
|
+
ownsTerminal = true;
|
|
168
|
+
process.stdout.write('\x1b[2J\x1b[H');
|
|
169
|
+
}
|
|
170
|
+
process.stdout.write(statusBar.initScrollRegion(rows()));
|
|
171
|
+
process.stdout.write(statusBar.render('WAITING', { resetTime, cwd }));
|
|
155
172
|
process.stdout.write(countdownCard.render({ resetTime, cwd }));
|
|
156
173
|
// Start 1-second countdown tick
|
|
157
174
|
countdownInterval = setInterval(() => {
|
|
158
|
-
// Race protection: if state has moved on, stop ticking
|
|
159
175
|
if (supervisor.state !== 'WAITING') {
|
|
160
176
|
clearInterval(countdownInterval);
|
|
161
177
|
countdownInterval = null;
|
|
162
178
|
return;
|
|
163
179
|
}
|
|
164
|
-
// Recalculate from resetTime - Date.now() each tick (no drift)
|
|
165
180
|
process.stdout.write(statusBar.render('WAITING', { resetTime, cwd }));
|
|
166
181
|
process.stdout.write(countdownCard.render({ resetTime, cwd }));
|
|
167
182
|
}, 1000);
|
|
168
183
|
}
|
|
169
|
-
else {
|
|
170
|
-
|
|
171
|
-
|
|
184
|
+
else if (state === 'RUNNING' || state === 'RESUMING') {
|
|
185
|
+
setTerminalTitle(`clac | ${state === 'RESUMING' ? 'Resuming' : 'Running'} | ${cwd}`);
|
|
186
|
+
if (ownsTerminal) {
|
|
187
|
+
// Give terminal back to Claude Code
|
|
188
|
+
ownsTerminal = false;
|
|
189
|
+
process.stdout.write(statusBar.cleanup());
|
|
190
|
+
process.stdout.write('\x1b[2J\x1b[H');
|
|
191
|
+
}
|
|
172
192
|
}
|
|
173
193
|
});
|
|
174
194
|
// Handle terminal resize
|
|
175
195
|
process.stdout.on('resize', () => {
|
|
176
|
-
// Update display component dimensions
|
|
177
196
|
statusBar.cols = cols();
|
|
178
197
|
countdownCard.cols = cols();
|
|
179
198
|
countdownCard.rows = rows();
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
199
|
+
if (ownsTerminal) {
|
|
200
|
+
process.stdout.write(statusBar.initScrollRegion(rows()));
|
|
201
|
+
const currentState = supervisor.state;
|
|
202
|
+
process.stdout.write(statusBar.render(currentState, { cwd }));
|
|
203
|
+
}
|
|
185
204
|
});
|
|
186
205
|
// Terminal cleanup on all exit paths
|
|
187
206
|
const cleanup = () => {
|
|
@@ -189,7 +208,10 @@ function main() {
|
|
|
189
208
|
clearInterval(countdownInterval);
|
|
190
209
|
countdownInterval = null;
|
|
191
210
|
}
|
|
192
|
-
|
|
211
|
+
if (ownsTerminal) {
|
|
212
|
+
process.stdout.write(statusBar.cleanup());
|
|
213
|
+
}
|
|
214
|
+
setTerminalTitle('');
|
|
193
215
|
};
|
|
194
216
|
process.on('exit', cleanup);
|
|
195
217
|
process.on('SIGINT', () => {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|