@mohitkumawat/warmup-cli 1.2.15 → 1.3.0
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/README.md +37 -14
- package/dist/commands/default.d.ts +3 -1
- package/dist/commands/default.d.ts.map +1 -1
- package/dist/commands/default.js +25 -0
- package/dist/commands/default.js.map +1 -1
- package/dist/commands/doctor.d.ts +51 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +219 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/execute.d.ts +24 -1
- package/dist/commands/execute.d.ts.map +1 -1
- package/dist/commands/execute.js +53 -21
- package/dist/commands/execute.js.map +1 -1
- package/dist/commands/logs.d.ts +12 -0
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/commands/logs.js +27 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/menu.d.ts +52 -0
- package/dist/commands/menu.d.ts.map +1 -0
- package/dist/commands/menu.js +185 -0
- package/dist/commands/menu.js.map +1 -0
- package/dist/commands/setup.d.ts +7 -0
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +94 -5
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/status.d.ts +8 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +89 -4
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/test.d.ts.map +1 -1
- package/dist/commands/test.js +25 -4
- package/dist/commands/test.js.map +1 -1
- package/dist/commands/uninstall.d.ts.map +1 -1
- package/dist/commands/uninstall.js +15 -0
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/config.d.ts +23 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +38 -0
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -3
- package/dist/index.js.map +1 -1
- package/dist/notify.d.ts +14 -0
- package/dist/notify.d.ts.map +1 -0
- package/dist/notify.js +91 -0
- package/dist/notify.js.map +1 -0
- package/dist/runtime.d.ts +10 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +39 -8
- package/dist/runtime.js.map +1 -1
- package/dist/scheduler/index.d.ts +17 -0
- package/dist/scheduler/index.d.ts.map +1 -1
- package/dist/scheduler/index.js +42 -0
- package/dist/scheduler/index.js.map +1 -1
- package/dist/scheduler/linux.d.ts.map +1 -1
- package/dist/scheduler/linux.js +3 -10
- package/dist/scheduler/linux.js.map +1 -1
- package/dist/scheduler/macos.d.ts +38 -0
- package/dist/scheduler/macos.d.ts.map +1 -1
- package/dist/scheduler/macos.js +158 -23
- package/dist/scheduler/macos.js.map +1 -1
- package/dist/scheduler/script.d.ts +18 -0
- package/dist/scheduler/script.d.ts.map +1 -0
- package/dist/scheduler/script.js +62 -0
- package/dist/scheduler/script.js.map +1 -0
- package/dist/scheduler/windows.js +1 -1
- package/dist/ui.d.ts +50 -4
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +250 -38
- package/dist/ui.js.map +1 -1
- package/dist/warmup.d.ts +52 -4
- package/dist/warmup.d.ts.map +1 -1
- package/dist/warmup.js +194 -79
- package/dist/warmup.js.map +1 -1
- package/package.json +3 -1
package/dist/ui.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { WarmupConfig } from './config';
|
|
1
|
+
import { WarmupConfig, LogEntry } from './config';
|
|
2
2
|
interface DetailRow {
|
|
3
3
|
label: string;
|
|
4
4
|
value: string;
|
|
@@ -30,6 +30,54 @@ export declare function renderWindowMarkerLines(barWidth: number, progress: numb
|
|
|
30
30
|
export declare function printLogo(): void;
|
|
31
31
|
export declare function renderMiniLogoLines(): string[];
|
|
32
32
|
export declare function printMiniLogo(): void;
|
|
33
|
+
/**
|
|
34
|
+
* Render a compact "Recent runs" history (newest first). Pure (returns lines)
|
|
35
|
+
* so it can be unit-tested; `printRecentRuns` is the console wrapper. Empty
|
|
36
|
+
* history gets a friendly first-run hint instead of a blank screen.
|
|
37
|
+
*/
|
|
38
|
+
export declare function renderRecentRunsLines(logs: LogEntry[], timezone?: string): string[];
|
|
39
|
+
export declare function printRecentRuns(logs: LogEntry[], timezone?: string): void;
|
|
40
|
+
/**
|
|
41
|
+
* Clear the screen + scrollback and home the cursor, so the interactive hub
|
|
42
|
+
* repaints a clean frame instead of an ever-growing transcript. Strictly
|
|
43
|
+
* TTY-gated: emitting these escapes into a pipe/CI/file would corrupt output.
|
|
44
|
+
*/
|
|
45
|
+
export declare function clearScreen(): void;
|
|
46
|
+
/** Restore the cursor (inquirer/ora hide it; an early exit can leave it off). */
|
|
47
|
+
export declare function showCursor(): void;
|
|
48
|
+
/**
|
|
49
|
+
* In-place repaint for high-frequency redraws (the `status --watch` ticker):
|
|
50
|
+
* home the cursor and clear forward, WITHOUT the scrollback-erasing `3J` that
|
|
51
|
+
* `clearScreen` uses — so a once-per-second refresh doesn't wipe the user's
|
|
52
|
+
* terminal history. TTY-gated.
|
|
53
|
+
*/
|
|
54
|
+
export declare function repaintFrame(): void;
|
|
55
|
+
/**
|
|
56
|
+
* Compact one-line context/breadcrumb: `warmup · 9:30 AM (tz) · active · next in
|
|
57
|
+
* 4h 12m`. Pure (inject `now`) so it's unit-testable. Used by `status --watch`
|
|
58
|
+
* as the live header (the countdown ticks); the hub already shows the full
|
|
59
|
+
* dashboard each frame, which serves the same always-visible-context purpose.
|
|
60
|
+
*/
|
|
61
|
+
export declare function renderStatusLine(config: WarmupConfig, now?: Date): string;
|
|
62
|
+
/** Dim footer for `status --watch`, telling the user how to leave. */
|
|
63
|
+
export declare function printWatchFooter(): void;
|
|
64
|
+
/** Dim keyboard-affordance footer printed under the dashboard in the hub. */
|
|
65
|
+
export declare function printMenuHint(): void;
|
|
66
|
+
export declare function renderHubHelpLines(): string[];
|
|
67
|
+
export declare function printHubHelp(): void;
|
|
68
|
+
interface DiagnosticCheckView {
|
|
69
|
+
label: string;
|
|
70
|
+
status: 'ok' | 'warn' | 'fail';
|
|
71
|
+
detail: string;
|
|
72
|
+
fix?: string;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Render a `warmup doctor` health report (pure → testable). Each check gets a
|
|
76
|
+
* status glyph, a dim detail, and (when not OK) an indented "→ fix" hint, then
|
|
77
|
+
* a one-line overall verdict tallying failures and warnings.
|
|
78
|
+
*/
|
|
79
|
+
export declare function renderDiagnosticsLines(checks: DiagnosticCheckView[]): string[];
|
|
80
|
+
export declare function printDiagnostics(checks: DiagnosticCheckView[]): void;
|
|
33
81
|
export declare function renderSetupTransparencyLines(): string[];
|
|
34
82
|
export declare function printFirstRunIntro(): void;
|
|
35
83
|
export declare function printSetupTransparency(): void;
|
|
@@ -41,12 +89,10 @@ export declare function printSetupDeferred(): void;
|
|
|
41
89
|
export declare function animateSetupComplete(config: WarmupConfig): Promise<void>;
|
|
42
90
|
export declare function displayStatus(config: WarmupConfig, options?: {
|
|
43
91
|
needsRuntimeRefresh?: boolean;
|
|
92
|
+
wakeScheduleActive?: boolean;
|
|
44
93
|
}): Promise<void>;
|
|
45
94
|
export declare function animateBootRecovery(scheduledTime: string, actualTime: string): Promise<void>;
|
|
46
95
|
export declare function animateBootRecoverySuccess(resetTime: string): Promise<void>;
|
|
47
|
-
export declare function animateTestWarmup(isDryRun?: boolean): Promise<void>;
|
|
48
|
-
export declare function animateTestSuccess(duration: number, isDryRun?: boolean): Promise<void>;
|
|
49
|
-
export declare function animateTestFailure(message: string): Promise<void>;
|
|
50
96
|
export declare function printPaused(): void;
|
|
51
97
|
export declare function printResumed(config: WarmupConfig): void;
|
|
52
98
|
export declare function printUninstalled(): void;
|
package/dist/ui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,YAAY,
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
|
package/dist/ui.js
CHANGED
|
@@ -44,6 +44,18 @@ exports.renderWindowMarkerLines = renderWindowMarkerLines;
|
|
|
44
44
|
exports.printLogo = printLogo;
|
|
45
45
|
exports.renderMiniLogoLines = renderMiniLogoLines;
|
|
46
46
|
exports.printMiniLogo = printMiniLogo;
|
|
47
|
+
exports.renderRecentRunsLines = renderRecentRunsLines;
|
|
48
|
+
exports.printRecentRuns = printRecentRuns;
|
|
49
|
+
exports.clearScreen = clearScreen;
|
|
50
|
+
exports.showCursor = showCursor;
|
|
51
|
+
exports.repaintFrame = repaintFrame;
|
|
52
|
+
exports.renderStatusLine = renderStatusLine;
|
|
53
|
+
exports.printWatchFooter = printWatchFooter;
|
|
54
|
+
exports.printMenuHint = printMenuHint;
|
|
55
|
+
exports.renderHubHelpLines = renderHubHelpLines;
|
|
56
|
+
exports.printHubHelp = printHubHelp;
|
|
57
|
+
exports.renderDiagnosticsLines = renderDiagnosticsLines;
|
|
58
|
+
exports.printDiagnostics = printDiagnostics;
|
|
47
59
|
exports.renderSetupTransparencyLines = renderSetupTransparencyLines;
|
|
48
60
|
exports.printFirstRunIntro = printFirstRunIntro;
|
|
49
61
|
exports.printSetupTransparency = printSetupTransparency;
|
|
@@ -56,9 +68,6 @@ exports.animateSetupComplete = animateSetupComplete;
|
|
|
56
68
|
exports.displayStatus = displayStatus;
|
|
57
69
|
exports.animateBootRecovery = animateBootRecovery;
|
|
58
70
|
exports.animateBootRecoverySuccess = animateBootRecoverySuccess;
|
|
59
|
-
exports.animateTestWarmup = animateTestWarmup;
|
|
60
|
-
exports.animateTestSuccess = animateTestSuccess;
|
|
61
|
-
exports.animateTestFailure = animateTestFailure;
|
|
62
71
|
exports.printPaused = printPaused;
|
|
63
72
|
exports.printResumed = printResumed;
|
|
64
73
|
exports.printUninstalled = printUninstalled;
|
|
@@ -72,8 +81,14 @@ const gradient_string_1 = __importDefault(require("gradient-string"));
|
|
|
72
81
|
const figures_1 = __importDefault(require("figures"));
|
|
73
82
|
const config_1 = require("./config");
|
|
74
83
|
const stringWidth = require('string-width');
|
|
84
|
+
const VERSION = require('../package.json').version;
|
|
75
85
|
// ── Brand Colors ──
|
|
76
|
-
|
|
86
|
+
// gradient-string does NOT honor NO_COLOR / non-color terminals the way chalk
|
|
87
|
+
// does, so it would spray ANSI escapes into dumb terminals, CI logs, and pipes.
|
|
88
|
+
// Gate it on chalk's own resolved color level (which respects NO_COLOR,
|
|
89
|
+
// FORCE_COLOR, and TTY detection) and fall back to plain text when color is off.
|
|
90
|
+
const brandGradient = (0, gradient_string_1.default)(['#6C5CE7', '#A29BFE', '#74B9FF']);
|
|
91
|
+
const BRAND = (text) => (chalk_1.default.level > 0 ? brandGradient(text) : text);
|
|
77
92
|
const ACCENT = chalk_1.default.hex('#6C5CE7');
|
|
78
93
|
const SUCCESS = chalk_1.default.hex('#00B894');
|
|
79
94
|
const WARNING = chalk_1.default.hex('#FDCB6E');
|
|
@@ -201,7 +216,7 @@ function printLogo() {
|
|
|
201
216
|
function renderMiniLogoLines() {
|
|
202
217
|
return [
|
|
203
218
|
'',
|
|
204
|
-
` ${BRIGHT('warmup')} ${DIM(
|
|
219
|
+
` ${BRIGHT('warmup')} ${DIM(`v${VERSION}`)}`,
|
|
205
220
|
'',
|
|
206
221
|
];
|
|
207
222
|
}
|
|
@@ -210,6 +225,198 @@ function printMiniLogo() {
|
|
|
210
225
|
console.log(line);
|
|
211
226
|
}
|
|
212
227
|
}
|
|
228
|
+
// ── Recent Runs (log history) ──
|
|
229
|
+
function formatLogStamp(iso, timezone) {
|
|
230
|
+
const date = new Date(iso);
|
|
231
|
+
if (Number.isNaN(date.getTime()))
|
|
232
|
+
return '—';
|
|
233
|
+
try {
|
|
234
|
+
return new Intl.DateTimeFormat('en-US', {
|
|
235
|
+
timeZone: timezone,
|
|
236
|
+
month: 'short',
|
|
237
|
+
day: 'numeric',
|
|
238
|
+
hour: 'numeric',
|
|
239
|
+
minute: '2-digit',
|
|
240
|
+
hour12: true,
|
|
241
|
+
}).format(date);
|
|
242
|
+
}
|
|
243
|
+
catch {
|
|
244
|
+
return date.toISOString();
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
function renderLogStatusBadge(status) {
|
|
248
|
+
switch (status) {
|
|
249
|
+
case 'success':
|
|
250
|
+
return { icon: SUCCESS(figures_1.default.tick), label: SUCCESS('success') };
|
|
251
|
+
case 'boot-recovery':
|
|
252
|
+
return { icon: WARNING(figures_1.default.warning), label: WARNING('boot-recovery') };
|
|
253
|
+
case 'skipped':
|
|
254
|
+
return { icon: DIM(figures_1.default.line), label: DIM('skipped') };
|
|
255
|
+
default:
|
|
256
|
+
return { icon: ERROR(figures_1.default.cross), label: ERROR('failed') };
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Render a compact "Recent runs" history (newest first). Pure (returns lines)
|
|
261
|
+
* so it can be unit-tested; `printRecentRuns` is the console wrapper. Empty
|
|
262
|
+
* history gets a friendly first-run hint instead of a blank screen.
|
|
263
|
+
*/
|
|
264
|
+
function renderRecentRunsLines(logs, timezone) {
|
|
265
|
+
const lines = ['', ` ${BRIGHT('Recent runs')}`, ''];
|
|
266
|
+
if (logs.length === 0) {
|
|
267
|
+
lines.push(` ${DIM('No runs yet — your first pre-warm will show up here.')}`, '');
|
|
268
|
+
return lines;
|
|
269
|
+
}
|
|
270
|
+
for (const entry of logs) {
|
|
271
|
+
const { icon, label } = renderLogStatusBadge(entry.status);
|
|
272
|
+
const stamp = formatLogStamp(entry.timestamp, timezone);
|
|
273
|
+
lines.push(` ${icon} ${padVisibleText(label, 14)} ${DIM(stamp)}`);
|
|
274
|
+
if (entry.message) {
|
|
275
|
+
lines.push(` ${DIM(entry.message)}`);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
lines.push('');
|
|
279
|
+
return lines;
|
|
280
|
+
}
|
|
281
|
+
function printRecentRuns(logs, timezone) {
|
|
282
|
+
for (const line of renderRecentRunsLines(logs, timezone)) {
|
|
283
|
+
console.log(line);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
// ── Interactive hub chrome ──
|
|
287
|
+
/**
|
|
288
|
+
* Clear the screen + scrollback and home the cursor, so the interactive hub
|
|
289
|
+
* repaints a clean frame instead of an ever-growing transcript. Strictly
|
|
290
|
+
* TTY-gated: emitting these escapes into a pipe/CI/file would corrupt output.
|
|
291
|
+
*/
|
|
292
|
+
function clearScreen() {
|
|
293
|
+
if (!process.stdout.isTTY)
|
|
294
|
+
return;
|
|
295
|
+
process.stdout.write('\x1b[2J\x1b[3J\x1b[H');
|
|
296
|
+
}
|
|
297
|
+
/** Restore the cursor (inquirer/ora hide it; an early exit can leave it off). */
|
|
298
|
+
function showCursor() {
|
|
299
|
+
if (!process.stdout.isTTY)
|
|
300
|
+
return;
|
|
301
|
+
process.stdout.write('\x1b[?25h');
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* In-place repaint for high-frequency redraws (the `status --watch` ticker):
|
|
305
|
+
* home the cursor and clear forward, WITHOUT the scrollback-erasing `3J` that
|
|
306
|
+
* `clearScreen` uses — so a once-per-second refresh doesn't wipe the user's
|
|
307
|
+
* terminal history. TTY-gated.
|
|
308
|
+
*/
|
|
309
|
+
function repaintFrame() {
|
|
310
|
+
if (!process.stdout.isTTY)
|
|
311
|
+
return;
|
|
312
|
+
process.stdout.write('\x1b[H\x1b[J');
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Compact one-line context/breadcrumb: `warmup · 9:30 AM (tz) · active · next in
|
|
316
|
+
* 4h 12m`. Pure (inject `now`) so it's unit-testable. Used by `status --watch`
|
|
317
|
+
* as the live header (the countdown ticks); the hub already shows the full
|
|
318
|
+
* dashboard each frame, which serves the same always-visible-context purpose.
|
|
319
|
+
*/
|
|
320
|
+
function renderStatusLine(config, now = new Date()) {
|
|
321
|
+
const [h, m] = config.schedule.time.split(':').map(Number);
|
|
322
|
+
const sep = DIM(' · ');
|
|
323
|
+
const segments = [
|
|
324
|
+
BRIGHT('warmup'),
|
|
325
|
+
`${ACCENT((0, config_1.formatHour)(h, m))} ${DIM(`(${config.schedule.timezone})`)}`,
|
|
326
|
+
];
|
|
327
|
+
if (config.schedule.enabled) {
|
|
328
|
+
const diffMs = Math.max(0, (0, config_1.getNextFireTime)(config, now).getTime() - now.getTime());
|
|
329
|
+
const hrs = Math.floor(diffMs / 3600000);
|
|
330
|
+
const mins = Math.floor((diffMs % 3600000) / 60000);
|
|
331
|
+
segments.push(SUCCESS('active'), DIM(`next in ${hrs > 0 ? `${hrs}h ${mins}m` : `${mins}m`}`));
|
|
332
|
+
}
|
|
333
|
+
else {
|
|
334
|
+
segments.push(WARNING('paused'));
|
|
335
|
+
}
|
|
336
|
+
return ` ${segments.join(sep)}`;
|
|
337
|
+
}
|
|
338
|
+
/** Dim footer for `status --watch`, telling the user how to leave. */
|
|
339
|
+
function printWatchFooter() {
|
|
340
|
+
if (!process.stdout.isTTY)
|
|
341
|
+
return;
|
|
342
|
+
console.log('');
|
|
343
|
+
console.log(` ${DIM(`${figures_1.default.pointer} live — refreshes every second · ctrl-c to exit`)}`);
|
|
344
|
+
}
|
|
345
|
+
/** Dim keyboard-affordance footer printed under the dashboard in the hub. */
|
|
346
|
+
function printMenuHint() {
|
|
347
|
+
if (!process.stdout.isTTY)
|
|
348
|
+
return;
|
|
349
|
+
console.log(` ${DIM(`${figures_1.default.arrowUp}${figures_1.default.arrowDown} navigate · type to filter · ↵ select · ctrl-c exit`)}`);
|
|
350
|
+
console.log('');
|
|
351
|
+
}
|
|
352
|
+
function renderHubHelpLines() {
|
|
353
|
+
return [
|
|
354
|
+
'',
|
|
355
|
+
` ${BRIGHT('warmup — quick help')}`,
|
|
356
|
+
'',
|
|
357
|
+
` ${ACCENT('View status')} Schedule, wake, last run, and live window progress.`,
|
|
358
|
+
` ${ACCENT('View recent runs')} History of your recent pre-warms.`,
|
|
359
|
+
` ${ACCENT('Change schedule')} Re-run the smart wizard to pick a new pre-warm time.`,
|
|
360
|
+
` ${ACCENT('Run a pre-warm now')} ${WARNING('Spends a real 5-hour window')} — for testing, not daily use.`,
|
|
361
|
+
` ${ACCENT('Pause / Resume')} Stop or restart the daily schedule (config is kept).`,
|
|
362
|
+
` ${ACCENT('Uninstall')} Remove the scheduled task; your config is preserved.`,
|
|
363
|
+
'',
|
|
364
|
+
` ${DIM('Tip: you can also run')} ${ACCENT('warmup status')}${DIM(',')} ${ACCENT('warmup logs')}${DIM(', etc. directly from your shell.')}`,
|
|
365
|
+
'',
|
|
366
|
+
];
|
|
367
|
+
}
|
|
368
|
+
function printHubHelp() {
|
|
369
|
+
for (const line of renderHubHelpLines()) {
|
|
370
|
+
console.log(line);
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* Render a `warmup doctor` health report (pure → testable). Each check gets a
|
|
375
|
+
* status glyph, a dim detail, and (when not OK) an indented "→ fix" hint, then
|
|
376
|
+
* a one-line overall verdict tallying failures and warnings.
|
|
377
|
+
*/
|
|
378
|
+
function renderDiagnosticsLines(checks) {
|
|
379
|
+
const lines = ['', ` ${BRIGHT('Health check')}`, ''];
|
|
380
|
+
let fails = 0;
|
|
381
|
+
let warns = 0;
|
|
382
|
+
for (const check of checks) {
|
|
383
|
+
let icon;
|
|
384
|
+
if (check.status === 'ok') {
|
|
385
|
+
icon = SUCCESS(figures_1.default.tick);
|
|
386
|
+
}
|
|
387
|
+
else if (check.status === 'warn') {
|
|
388
|
+
icon = WARNING(figures_1.default.warning);
|
|
389
|
+
warns += 1;
|
|
390
|
+
}
|
|
391
|
+
else {
|
|
392
|
+
icon = ERROR(figures_1.default.cross);
|
|
393
|
+
fails += 1;
|
|
394
|
+
}
|
|
395
|
+
lines.push(` ${icon} ${padVisibleText(BRIGHT(check.label), 18)} ${DIM(check.detail)}`);
|
|
396
|
+
if (check.fix && check.status !== 'ok') {
|
|
397
|
+
lines.push(` ${DIM(`${figures_1.default.arrowRight} ${check.fix}`)}`);
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
lines.push('');
|
|
401
|
+
if (fails > 0) {
|
|
402
|
+
const warnNote = warns > 0 ? DIM(`, ${warns} warning${warns > 1 ? 's' : ''}`) : '';
|
|
403
|
+
const issueClause = fails === 1 ? '1 issue needs attention' : `${fails} issues need attention`;
|
|
404
|
+
lines.push(` ${ERROR(figures_1.default.cross)} ${ERROR.bold(issueClause)}${warnNote}.`);
|
|
405
|
+
}
|
|
406
|
+
else if (warns > 0) {
|
|
407
|
+
lines.push(` ${WARNING(figures_1.default.warning)} ${WARNING(`${warns} warning${warns > 1 ? 's' : ''}`)} ${DIM('— warmup will still run; see the hints above.')}`);
|
|
408
|
+
}
|
|
409
|
+
else {
|
|
410
|
+
lines.push(` ${SUCCESS(figures_1.default.tick)} ${SUCCESS.bold("Everything looks healthy.")} ${DIM("You're all set.")}`);
|
|
411
|
+
}
|
|
412
|
+
lines.push('');
|
|
413
|
+
return lines;
|
|
414
|
+
}
|
|
415
|
+
function printDiagnostics(checks) {
|
|
416
|
+
for (const line of renderDiagnosticsLines(checks)) {
|
|
417
|
+
console.log(line);
|
|
418
|
+
}
|
|
419
|
+
}
|
|
213
420
|
function renderSetupTransparencyLines() {
|
|
214
421
|
return [
|
|
215
422
|
'warmup schedules one tiny Claude Code ping each day:',
|
|
@@ -343,17 +550,39 @@ async function displayStatus(config, options = {}) {
|
|
|
343
550
|
value: `${ACCENT(warmTime)} daily ${DIM(`(${tz})`)} ${enabledStr}`,
|
|
344
551
|
},
|
|
345
552
|
];
|
|
553
|
+
if (options.wakeScheduleActive !== undefined) {
|
|
554
|
+
let wakeValue;
|
|
555
|
+
if (!options.wakeScheduleActive) {
|
|
556
|
+
wakeValue = `${WARNING('not scheduled')} ${DIM("(won't run while asleep)")}`;
|
|
557
|
+
}
|
|
558
|
+
else if (!config.schedule.enabled) {
|
|
559
|
+
wakeValue = `${WARNING('scheduled')} ${DIM('(paused)')}`;
|
|
560
|
+
}
|
|
561
|
+
else {
|
|
562
|
+
wakeValue = `${SUCCESS('scheduled')} ${DIM('(runs while asleep)')}`;
|
|
563
|
+
}
|
|
564
|
+
rows.push({ label: 'Wake', value: wakeValue });
|
|
565
|
+
}
|
|
346
566
|
if (lastLog) {
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
567
|
+
let statusIcon;
|
|
568
|
+
let statusText;
|
|
569
|
+
switch (lastLog.status) {
|
|
570
|
+
case 'success':
|
|
571
|
+
statusIcon = SUCCESS(figures_1.default.tick);
|
|
572
|
+
statusText = SUCCESS('success');
|
|
573
|
+
break;
|
|
574
|
+
case 'boot-recovery':
|
|
575
|
+
statusIcon = WARNING(figures_1.default.warning);
|
|
576
|
+
statusText = WARNING('boot-recovery');
|
|
577
|
+
break;
|
|
578
|
+
case 'skipped':
|
|
579
|
+
statusIcon = DIM(figures_1.default.line);
|
|
580
|
+
statusText = DIM('skipped');
|
|
581
|
+
break;
|
|
582
|
+
default:
|
|
583
|
+
statusIcon = ERROR(figures_1.default.cross);
|
|
584
|
+
statusText = ERROR('failed');
|
|
585
|
+
}
|
|
357
586
|
const logDate = new Date(lastLog.timestamp);
|
|
358
587
|
const timeStr = lastLog.actualTime || (0, config_1.formatTimeLocal)(logDate, tz);
|
|
359
588
|
rows.push({
|
|
@@ -366,6 +595,12 @@ async function displayStatus(config, options = {}) {
|
|
|
366
595
|
value: WARNING('machine was off at scheduled time'),
|
|
367
596
|
});
|
|
368
597
|
}
|
|
598
|
+
else if (lastLog.status === 'skipped') {
|
|
599
|
+
rows.push({
|
|
600
|
+
label: 'Missed',
|
|
601
|
+
value: WARNING('opened too late to pre-warm'),
|
|
602
|
+
});
|
|
603
|
+
}
|
|
369
604
|
}
|
|
370
605
|
else {
|
|
371
606
|
rows.push({
|
|
@@ -450,29 +685,6 @@ async function animateBootRecoverySuccess(resetTime) {
|
|
|
450
685
|
console.log(DIM(' or enable auto-wake in System Settings.'));
|
|
451
686
|
console.log('');
|
|
452
687
|
}
|
|
453
|
-
// ── Test Animation ──
|
|
454
|
-
async function animateTestWarmup(isDryRun = false) {
|
|
455
|
-
console.log('');
|
|
456
|
-
const label = isDryRun ? DIM('[Dry Run]') : ACCENT('⚡');
|
|
457
|
-
console.log(` ${label} Sending ${isDryRun ? 'simulated ' : ''}test pre-warm...`);
|
|
458
|
-
await sleep(500);
|
|
459
|
-
}
|
|
460
|
-
async function animateTestSuccess(duration, isDryRun = false) {
|
|
461
|
-
const label = isDryRun ? DIM('[Dry Run]') : SUCCESS(figures_1.default.tick);
|
|
462
|
-
console.log(` ${label} ${SUCCESS.bold('Pre-warm ' + (isDryRun ? 'simulated!' : 'sent!'))} ${DIM(`(${duration}ms)`)}`);
|
|
463
|
-
if (isDryRun) {
|
|
464
|
-
console.log(` ${DIM('No real request was sent. Your rate limit window was NOT affected.')}`);
|
|
465
|
-
}
|
|
466
|
-
else {
|
|
467
|
-
console.log(` ${DIM('This counted as a real pre-warm and started your rate limit window.')}`);
|
|
468
|
-
}
|
|
469
|
-
console.log('');
|
|
470
|
-
}
|
|
471
|
-
async function animateTestFailure(message) {
|
|
472
|
-
console.log(` ${ERROR(figures_1.default.cross)} ${ERROR.bold('Pre-warm failed!')}`);
|
|
473
|
-
console.log(` ${DIM(message)}`);
|
|
474
|
-
console.log('');
|
|
475
|
-
}
|
|
476
688
|
// ── Pause/Resume Messages ──
|
|
477
689
|
function printPaused() {
|
|
478
690
|
console.log('');
|
package/dist/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
|
package/dist/warmup.d.ts
CHANGED
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
/** Check if Claude Code CLI is installed */
|
|
2
|
-
export declare function isClaudeInstalled(): boolean;
|
|
2
|
+
export declare function isClaudeInstalled(binary?: string): boolean;
|
|
3
3
|
/** Check if Claude Code is authenticated (has valid session) */
|
|
4
|
-
export declare function isClaudeAuthenticated(): boolean;
|
|
4
|
+
export declare function isClaudeAuthenticated(binary?: string): boolean;
|
|
5
5
|
/** Get Claude Code version string */
|
|
6
|
-
export declare function getClaudeVersion(): string | null;
|
|
6
|
+
export declare function getClaudeVersion(binary?: string): string | null;
|
|
7
7
|
export interface WarmupResult {
|
|
8
8
|
success: boolean;
|
|
9
9
|
message: string;
|
|
10
10
|
duration: number;
|
|
11
11
|
isBootRecovery: boolean;
|
|
12
12
|
}
|
|
13
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* Execute the pre-warm synchronously. This is the path the OS scheduler
|
|
15
|
+
* (`_execute-warmup`) uses — it must stay blocking and side-effect-identical.
|
|
16
|
+
*/
|
|
14
17
|
export declare function executeWarmup(isBootRecovery?: boolean, dryRun?: boolean): WarmupResult;
|
|
18
|
+
/**
|
|
19
|
+
* Execute the pre-warm asynchronously (non-blocking) so an interactive caller
|
|
20
|
+
* can animate a live spinner tied to the REAL ping latency. Used by `warmup
|
|
21
|
+
* test`; the scheduler keeps the sync path above. Logs/reports identically.
|
|
22
|
+
*/
|
|
23
|
+
export declare function executeWarmupAsync(isBootRecovery?: boolean, dryRun?: boolean): Promise<WarmupResult>;
|
|
15
24
|
/**
|
|
16
25
|
* Boot-recovery check: determine if we should fire a pre-warm now
|
|
17
26
|
* because the scheduled time was missed (machine was off).
|
|
@@ -29,4 +38,43 @@ export declare function shouldBootRecover(config: {
|
|
|
29
38
|
enabled: boolean;
|
|
30
39
|
};
|
|
31
40
|
}, now?: Date): boolean;
|
|
41
|
+
/** Tolerance (minutes) around the scheduled time for a "normal" run. Must stay
|
|
42
|
+
* in sync with the default passed to isNearScheduledTime below. */
|
|
43
|
+
export declare const NEAR_SCHEDULE_TOLERANCE_MINUTES = 5;
|
|
44
|
+
/**
|
|
45
|
+
* Dedup window (minutes) for the near-schedule run. Two near-schedule fires for
|
|
46
|
+
* the same occurrence both fall within ±tolerance of the scheduled minute, so
|
|
47
|
+
* they are at most 2*tolerance apart; the window must exceed that to dedup a
|
|
48
|
+
* re-fire. 15 > 2*5 leaves a 5-minute margin. If the tolerance grows, grow this.
|
|
49
|
+
*/
|
|
50
|
+
export declare const NEAR_SCHEDULE_DEDUP_WINDOW_MINUTES = 15;
|
|
51
|
+
/**
|
|
52
|
+
* Whether to run a normal (near-schedule) pre-warm now: within tolerance of the
|
|
53
|
+
* scheduled time AND no successful run in the recent dedup window. A recency
|
|
54
|
+
* window — not the most-recent scheduled occurrence — is used so a fire a few
|
|
55
|
+
* minutes BEFORE the scheduled minute is not wrongly suppressed by yesterday's
|
|
56
|
+
* success (which getMostRecentScheduledOccurrence would round back to). A
|
|
57
|
+
* RunAtLoad login moments after the scheduled fire is still deduped.
|
|
58
|
+
*/
|
|
59
|
+
export declare function shouldRunNearSchedule(config: {
|
|
60
|
+
schedule: {
|
|
61
|
+
time: string;
|
|
62
|
+
timezone: string;
|
|
63
|
+
enabled: boolean;
|
|
64
|
+
};
|
|
65
|
+
}, now?: Date): boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Whether to record a "skipped" entry: the scheduled time passed, the 5-hour
|
|
68
|
+
* recovery window has expired (so {@link shouldBootRecover} declined), and no
|
|
69
|
+
* run or skip has been recorded yet for this occurrence. This turns the old
|
|
70
|
+
* silent no-op — the literal "never runs even if I open my pc later" — into a
|
|
71
|
+
* visible signal, recorded at most once per day.
|
|
72
|
+
*/
|
|
73
|
+
export declare function shouldLogSkip(config: {
|
|
74
|
+
schedule: {
|
|
75
|
+
time: string;
|
|
76
|
+
timezone: string;
|
|
77
|
+
enabled: boolean;
|
|
78
|
+
};
|
|
79
|
+
}, now?: Date): boolean;
|
|
32
80
|
//# sourceMappingURL=warmup.d.ts.map
|
package/dist/warmup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warmup.d.ts","sourceRoot":"","sources":["../src/warmup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"warmup.d.ts","sourceRoot":"","sources":["../src/warmup.ts"],"names":[],"mappings":"AAiBA,4CAA4C;AAC5C,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,MAAiB,GAAG,OAAO,CAWpE;AAED,gEAAgE;AAChE,wBAAgB,qBAAqB,CAAC,MAAM,GAAE,MAAiB,GAAG,OAAO,CAYxE;AAED,qCAAqC;AACrC,wBAAgB,gBAAgB,CAAC,MAAM,GAAE,MAAiB,GAAG,MAAM,GAAG,IAAI,CAczE;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;CACzB;AAoFD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,cAAc,GAAE,OAAe,EAAE,MAAM,GAAE,OAAe,GAAG,YAAY,CAmBpG;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,cAAc,GAAE,OAAe,EAC/B,MAAM,GAAE,OAAe,GACtB,OAAO,CAAC,YAAY,CAAC,CAkDvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CAChE,EAAE,GAAG,GAAE,IAAiB,GAAG,OAAO,CAoBlC;AAED;oEACoE;AACpE,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,KAAK,CAAC;AAErD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAC5C,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CAChE,EAAE,GAAG,GAAE,IAAiB,GAAG,OAAO,CAYlC;AAMD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CAChE,EAAE,GAAG,GAAE,IAAiB,GAAG,OAAO,CAyBlC"}
|