@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.
Files changed (75) hide show
  1. package/README.md +37 -14
  2. package/dist/commands/default.d.ts +3 -1
  3. package/dist/commands/default.d.ts.map +1 -1
  4. package/dist/commands/default.js +25 -0
  5. package/dist/commands/default.js.map +1 -1
  6. package/dist/commands/doctor.d.ts +51 -0
  7. package/dist/commands/doctor.d.ts.map +1 -0
  8. package/dist/commands/doctor.js +219 -0
  9. package/dist/commands/doctor.js.map +1 -0
  10. package/dist/commands/execute.d.ts +24 -1
  11. package/dist/commands/execute.d.ts.map +1 -1
  12. package/dist/commands/execute.js +53 -21
  13. package/dist/commands/execute.js.map +1 -1
  14. package/dist/commands/logs.d.ts +12 -0
  15. package/dist/commands/logs.d.ts.map +1 -0
  16. package/dist/commands/logs.js +27 -0
  17. package/dist/commands/logs.js.map +1 -0
  18. package/dist/commands/menu.d.ts +52 -0
  19. package/dist/commands/menu.d.ts.map +1 -0
  20. package/dist/commands/menu.js +185 -0
  21. package/dist/commands/menu.js.map +1 -0
  22. package/dist/commands/setup.d.ts +7 -0
  23. package/dist/commands/setup.d.ts.map +1 -1
  24. package/dist/commands/setup.js +94 -5
  25. package/dist/commands/setup.js.map +1 -1
  26. package/dist/commands/status.d.ts +8 -1
  27. package/dist/commands/status.d.ts.map +1 -1
  28. package/dist/commands/status.js +89 -4
  29. package/dist/commands/status.js.map +1 -1
  30. package/dist/commands/test.d.ts.map +1 -1
  31. package/dist/commands/test.js +25 -4
  32. package/dist/commands/test.js.map +1 -1
  33. package/dist/commands/uninstall.d.ts.map +1 -1
  34. package/dist/commands/uninstall.js +15 -0
  35. package/dist/commands/uninstall.js.map +1 -1
  36. package/dist/config.d.ts +23 -1
  37. package/dist/config.d.ts.map +1 -1
  38. package/dist/config.js +38 -0
  39. package/dist/config.js.map +1 -1
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +32 -3
  42. package/dist/index.js.map +1 -1
  43. package/dist/notify.d.ts +14 -0
  44. package/dist/notify.d.ts.map +1 -0
  45. package/dist/notify.js +91 -0
  46. package/dist/notify.js.map +1 -0
  47. package/dist/runtime.d.ts +10 -0
  48. package/dist/runtime.d.ts.map +1 -1
  49. package/dist/runtime.js +39 -8
  50. package/dist/runtime.js.map +1 -1
  51. package/dist/scheduler/index.d.ts +17 -0
  52. package/dist/scheduler/index.d.ts.map +1 -1
  53. package/dist/scheduler/index.js +42 -0
  54. package/dist/scheduler/index.js.map +1 -1
  55. package/dist/scheduler/linux.d.ts.map +1 -1
  56. package/dist/scheduler/linux.js +3 -10
  57. package/dist/scheduler/linux.js.map +1 -1
  58. package/dist/scheduler/macos.d.ts +38 -0
  59. package/dist/scheduler/macos.d.ts.map +1 -1
  60. package/dist/scheduler/macos.js +158 -23
  61. package/dist/scheduler/macos.js.map +1 -1
  62. package/dist/scheduler/script.d.ts +18 -0
  63. package/dist/scheduler/script.d.ts.map +1 -0
  64. package/dist/scheduler/script.js +62 -0
  65. package/dist/scheduler/script.js.map +1 -0
  66. package/dist/scheduler/windows.js +1 -1
  67. package/dist/ui.d.ts +50 -4
  68. package/dist/ui.d.ts.map +1 -1
  69. package/dist/ui.js +250 -38
  70. package/dist/ui.js.map +1 -1
  71. package/dist/warmup.d.ts +52 -4
  72. package/dist/warmup.d.ts.map +1 -1
  73. package/dist/warmup.js +194 -79
  74. package/dist/warmup.js.map +1 -1
  75. 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":"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"}
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
- const BRAND = (0, gradient_string_1.default)(['#6C5CE7', '#A29BFE', '#74B9FF']);
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('v1.0.0')}`,
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
- const statusIcon = lastLog.status === 'success'
348
- ? SUCCESS(figures_1.default.tick)
349
- : lastLog.status === 'boot-recovery'
350
- ? WARNING(figures_1.default.warning)
351
- : ERROR(figures_1.default.cross);
352
- const statusText = lastLog.status === 'success'
353
- ? SUCCESS('success')
354
- : lastLog.status === 'boot-recovery'
355
- ? WARNING('boot-recovery')
356
- : ERROR('failed');
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
- /** Execute the pre-warm: send a minimal message through Claude Code */
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
@@ -1 +1 @@
1
- {"version":3,"file":"warmup.d.ts","sourceRoot":"","sources":["../src/warmup.ts"],"names":[],"mappings":"AAWA,4CAA4C;AAC5C,wBAAgB,iBAAiB,IAAI,OAAO,CAW3C;AAED,gEAAgE;AAChE,wBAAgB,qBAAqB,IAAI,OAAO,CAY/C;AAED,qCAAqC;AACrC,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAchD;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;AAED,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,cAAc,GAAE,OAAe,EAAE,MAAM,GAAE,OAAe,GAAG,YAAY,CAyFpG;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"}
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"}