@mohitkumawat/warmup-cli 1.2.15 → 1.2.16

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 (53) hide show
  1. package/README.md +5 -5
  2. package/dist/commands/execute.d.ts +24 -1
  3. package/dist/commands/execute.d.ts.map +1 -1
  4. package/dist/commands/execute.js +53 -21
  5. package/dist/commands/execute.js.map +1 -1
  6. package/dist/commands/setup.d.ts +7 -0
  7. package/dist/commands/setup.d.ts.map +1 -1
  8. package/dist/commands/setup.js +94 -5
  9. package/dist/commands/setup.js.map +1 -1
  10. package/dist/commands/status.d.ts.map +1 -1
  11. package/dist/commands/status.js +12 -1
  12. package/dist/commands/status.js.map +1 -1
  13. package/dist/commands/uninstall.d.ts.map +1 -1
  14. package/dist/commands/uninstall.js +15 -0
  15. package/dist/commands/uninstall.js.map +1 -1
  16. package/dist/config.d.ts +16 -1
  17. package/dist/config.d.ts.map +1 -1
  18. package/dist/config.js +17 -0
  19. package/dist/config.js.map +1 -1
  20. package/dist/index.js +0 -0
  21. package/dist/notify.d.ts +14 -0
  22. package/dist/notify.d.ts.map +1 -0
  23. package/dist/notify.js +91 -0
  24. package/dist/notify.js.map +1 -0
  25. package/dist/runtime.d.ts +10 -0
  26. package/dist/runtime.d.ts.map +1 -1
  27. package/dist/runtime.js +39 -8
  28. package/dist/runtime.js.map +1 -1
  29. package/dist/scheduler/index.d.ts +17 -0
  30. package/dist/scheduler/index.d.ts.map +1 -1
  31. package/dist/scheduler/index.js +42 -0
  32. package/dist/scheduler/index.js.map +1 -1
  33. package/dist/scheduler/linux.d.ts.map +1 -1
  34. package/dist/scheduler/linux.js +3 -10
  35. package/dist/scheduler/linux.js.map +1 -1
  36. package/dist/scheduler/macos.d.ts +38 -0
  37. package/dist/scheduler/macos.d.ts.map +1 -1
  38. package/dist/scheduler/macos.js +158 -23
  39. package/dist/scheduler/macos.js.map +1 -1
  40. package/dist/scheduler/script.d.ts +18 -0
  41. package/dist/scheduler/script.d.ts.map +1 -0
  42. package/dist/scheduler/script.js +62 -0
  43. package/dist/scheduler/script.js.map +1 -0
  44. package/dist/scheduler/windows.js +1 -1
  45. package/dist/ui.d.ts +1 -0
  46. package/dist/ui.d.ts.map +1 -1
  47. package/dist/ui.js +40 -11
  48. package/dist/ui.js.map +1 -1
  49. package/dist/warmup.d.ts +39 -0
  50. package/dist/warmup.d.ts.map +1 -1
  51. package/dist/warmup.js +55 -0
  52. package/dist/warmup.js.map +1 -1
  53. package/package.json +1 -1
@@ -34,6 +34,12 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.buildMacWarmupScript = buildMacWarmupScript;
37
+ exports.buildMacWakeSchedule = buildMacWakeSchedule;
38
+ exports.buildPmsetWakeCommand = buildPmsetWakeCommand;
39
+ exports.applyMacWakeSchedule = applyMacWakeSchedule;
40
+ exports.clearMacWakeSchedule = clearMacWakeSchedule;
41
+ exports.parseWakeScheduleActive = parseWakeScheduleActive;
42
+ exports.isMacWakeScheduleActive = isMacWakeScheduleActive;
37
43
  exports.installMacSchedule = installMacSchedule;
38
44
  exports.uninstallMacSchedule = uninstallMacSchedule;
39
45
  exports.isMacScheduleInstalled = isMacScheduleInstalled;
@@ -43,9 +49,13 @@ const fs = __importStar(require("fs"));
43
49
  const path = __importStar(require("path"));
44
50
  const os = __importStar(require("os"));
45
51
  const child_process_1 = require("child_process");
52
+ const script_1 = require("./script");
46
53
  const PLIST_NAME = 'com.warmup.prewarm';
47
54
  const PLIST_DIR = path.join(os.homedir(), 'Library', 'LaunchAgents');
48
55
  const PLIST_PATH = path.join(PLIST_DIR, `${PLIST_NAME}.plist`);
56
+ /** Wake the Mac this many minutes before the launchd fire time, so it is awake
57
+ * and ready when the pre-warm runs. */
58
+ const WAKE_LEAD_MINUTES = 3;
49
59
  /**
50
60
  * Get the path to the warmup script.
51
61
  * We generate a small shell script that warmup's launchd plist will execute.
@@ -53,17 +63,92 @@ const PLIST_PATH = path.join(PLIST_DIR, `${PLIST_NAME}.plist`);
53
63
  function getWarmupScriptPath() {
54
64
  return path.join(os.homedir(), '.warmup', 'warmup.sh');
55
65
  }
56
- function shellQuote(value) {
57
- return `'${value.replace(/'/g, `'\\''`)}'`;
58
- }
59
66
  function buildMacWarmupScript(runtime) {
60
- return `#!/bin/bash
61
- set -euo pipefail
62
-
63
- mkdir -p "$HOME/.warmup/logs"
64
-
65
- ${shellQuote(runtime.nodePath)} ${shellQuote(runtime.cliEntry)} _execute-warmup >> "$HOME/.warmup/logs/launchd.log" 2>&1
66
- `;
67
+ return (0, script_1.buildWarmupShellScript)(runtime, 'launchd.log');
68
+ }
69
+ function pad2(value) {
70
+ return value.toString().padStart(2, '0');
71
+ }
72
+ /** Compute the wake time (fire time minus the lead), wrapping past midnight. */
73
+ function buildMacWakeSchedule(hour, minute, leadMinutes = WAKE_LEAD_MINUTES) {
74
+ const total = (((hour * 60 + minute - leadMinutes) % 1440) + 1440) % 1440;
75
+ return {
76
+ days: 'MTWRFSU',
77
+ time: `${pad2(Math.floor(total / 60))}:${pad2(total % 60)}:00`,
78
+ };
79
+ }
80
+ function pmsetRepeatArgs(wake) {
81
+ return ['repeat', 'wakeorpoweron', wake.days, wake.time];
82
+ }
83
+ /** Human-readable command shown to the user when sudo is required. */
84
+ function buildPmsetWakeCommand(hour, minute) {
85
+ const wake = buildMacWakeSchedule(hour, minute);
86
+ return `sudo pmset ${pmsetRepeatArgs(wake).join(' ')}`;
87
+ }
88
+ function runSudoPmset(args, interactive) {
89
+ const command = `sudo pmset ${args.join(' ')}`;
90
+ try {
91
+ // Non-interactive (`-n`) never blocks on a password prompt; interactive
92
+ // inherits the TTY so the user can authenticate during `warmup setup`.
93
+ const sudoArgs = interactive ? ['pmset', ...args] : ['-n', 'pmset', ...args];
94
+ const result = (0, child_process_1.spawnSync)('sudo', sudoArgs, {
95
+ stdio: interactive ? 'inherit' : 'pipe',
96
+ timeout: interactive ? 120000 : 10000,
97
+ });
98
+ if (result.error)
99
+ return { status: 'failed', command };
100
+ if (result.status === 0)
101
+ return { status: 'applied', command };
102
+ // Non-zero from `sudo -n` almost always means a password is required.
103
+ return { status: interactive ? 'failed' : 'needs-sudo', command };
104
+ }
105
+ catch {
106
+ return { status: 'failed', command };
107
+ }
108
+ }
109
+ /**
110
+ * Schedule a daily system wake a few minutes before the pre-warm fires.
111
+ * `pmset repeat` requires root; if a password is needed and we are not running
112
+ * interactively, returns 'needs-sudo' with the command for the user to run.
113
+ *
114
+ * Note: macOS supports only ONE `pmset repeat` schedule and it is global, so
115
+ * this overwrites any existing repeating wake the user may have set.
116
+ */
117
+ function applyMacWakeSchedule(hour, minute, options = {}) {
118
+ return runSudoPmset(pmsetRepeatArgs(buildMacWakeSchedule(hour, minute)), !!options.interactive);
119
+ }
120
+ /** Remove the daily wake schedule (best-effort). */
121
+ function clearMacWakeSchedule(options = {}) {
122
+ return runSudoPmset(['repeat', 'cancel'], !!options.interactive);
123
+ }
124
+ /**
125
+ * Parse `pmset -g sched` output for an active *repeating* wake/poweron event.
126
+ * Only the "Repeating power events" section is inspected — one-time entries in
127
+ * the "Scheduled power events" section (e.g. macOS's own maintenance wakes)
128
+ * must not register as a false positive.
129
+ */
130
+ function parseWakeScheduleActive(pmsetOutput) {
131
+ const afterRepeating = pmsetOutput.split(/Repeating power events:/i)[1];
132
+ if (!afterRepeating)
133
+ return false;
134
+ const repeatingSection = afterRepeating.split(/Scheduled power events:/i)[0];
135
+ return /wakepoweron|wakeorpoweron/i.test(repeatingSection);
136
+ }
137
+ /** Whether a repeating wake/poweron event is currently registered. */
138
+ function isMacWakeScheduleActive() {
139
+ try {
140
+ const result = (0, child_process_1.spawnSync)('pmset', ['-g', 'sched'], {
141
+ encoding: 'utf-8',
142
+ timeout: 10000,
143
+ stdio: ['pipe', 'pipe', 'pipe'],
144
+ });
145
+ if (result.status !== 0)
146
+ return false;
147
+ return parseWakeScheduleActive(result.stdout || '');
148
+ }
149
+ catch {
150
+ return false;
151
+ }
67
152
  }
68
153
  /** Create the warmup shell script that launchd will execute */
69
154
  function createWarmupScript(runtime) {
@@ -105,7 +190,8 @@ function installMacSchedule(options) {
105
190
  <integer>${minute}</integer>
106
191
  </dict>
107
192
 
108
- <!-- BOOT RECOVERY: Run immediately on load if scheduled time was missed -->
193
+ <!-- Run once at load (login/boot) and on the next wake after a missed fire.
194
+ NOTE: this does NOT wake a sleeping Mac — a pmset wake handles that. -->
109
195
  <key>RunAtLoad</key>
110
196
  <true/>
111
197
 
@@ -125,20 +211,72 @@ function installMacSchedule(options) {
125
211
  </dict>
126
212
  </plist>`;
127
213
  fs.writeFileSync(PLIST_PATH, plist);
128
- // Unload first if already loaded (ignore errors)
214
+ loadAgent();
215
+ }
216
+ /** GUI domain target for the modern `launchctl bootstrap`/`bootout` API. */
217
+ function domainTarget() {
218
+ const uid = typeof process.getuid === 'function' ? process.getuid() : undefined;
219
+ return uid === undefined ? null : `gui/${uid}`;
220
+ }
221
+ /** Whether the LaunchAgent is currently registered with launchd. */
222
+ function isAgentLoaded() {
223
+ try {
224
+ const result = (0, child_process_1.spawnSync)('launchctl', ['list', PLIST_NAME], { stdio: 'pipe', timeout: 10000 });
225
+ return result.status === 0;
226
+ }
227
+ catch {
228
+ return false;
229
+ }
230
+ }
231
+ /** (Re)load the LaunchAgent, preferring the modern bootstrap API with a
232
+ * fallback to the legacy `launchctl load` for older macOS. */
233
+ function loadAgent() {
234
+ const target = domainTarget();
235
+ if (target) {
236
+ try {
237
+ (0, child_process_1.execSync)(`launchctl bootout ${target}/${PLIST_NAME} 2>/dev/null`, { stdio: 'pipe' });
238
+ }
239
+ catch { }
240
+ try {
241
+ (0, child_process_1.execSync)(`launchctl bootstrap ${target} "${PLIST_PATH}"`, { stdio: 'pipe' });
242
+ return;
243
+ }
244
+ catch {
245
+ // Fall through to legacy API.
246
+ }
247
+ }
129
248
  try {
130
- (0, child_process_1.execSync)(`launchctl unload ${PLIST_PATH} 2>/dev/null`, { stdio: 'pipe' });
249
+ (0, child_process_1.execSync)(`launchctl unload "${PLIST_PATH}" 2>/dev/null`, { stdio: 'pipe' });
131
250
  }
132
251
  catch { }
133
- // Load the plist
134
- (0, child_process_1.execSync)(`launchctl load ${PLIST_PATH}`);
252
+ try {
253
+ (0, child_process_1.execSync)(`launchctl load "${PLIST_PATH}"`, { stdio: 'pipe' });
254
+ }
255
+ catch (err) {
256
+ // Tolerate "already loaded"; only fail if the agent truly isn't registered.
257
+ if (!isAgentLoaded()) {
258
+ const detail = (err?.stderr || err?.message || '').toString().trim();
259
+ throw new Error(`Failed to load warmup LaunchAgent: ${detail}`);
260
+ }
261
+ }
135
262
  }
136
- /** Remove the launchd plist */
137
- function uninstallMacSchedule() {
263
+ /** Unload the LaunchAgent via modern then legacy APIs (best-effort). */
264
+ function unloadAgent() {
265
+ const target = domainTarget();
266
+ if (target) {
267
+ try {
268
+ (0, child_process_1.execSync)(`launchctl bootout ${target}/${PLIST_NAME} 2>/dev/null`, { stdio: 'pipe' });
269
+ }
270
+ catch { }
271
+ }
138
272
  try {
139
- (0, child_process_1.execSync)(`launchctl unload ${PLIST_PATH} 2>/dev/null`, { stdio: 'pipe' });
273
+ (0, child_process_1.execSync)(`launchctl unload "${PLIST_PATH}" 2>/dev/null`, { stdio: 'pipe' });
140
274
  }
141
275
  catch { }
276
+ }
277
+ /** Remove the launchd plist */
278
+ function uninstallMacSchedule() {
279
+ unloadAgent();
142
280
  if (fs.existsSync(PLIST_PATH)) {
143
281
  fs.unlinkSync(PLIST_PATH);
144
282
  }
@@ -153,16 +291,13 @@ function isMacScheduleInstalled() {
153
291
  }
154
292
  /** Temporarily disable by unloading (don't delete) */
155
293
  function pauseMacSchedule() {
156
- try {
157
- (0, child_process_1.execSync)(`launchctl unload ${PLIST_PATH} 2>/dev/null`, { stdio: 'pipe' });
158
- }
159
- catch { }
294
+ unloadAgent();
160
295
  }
161
296
  /** Re-enable by loading */
162
297
  function resumeMacSchedule() {
163
298
  if (fs.existsSync(PLIST_PATH)) {
164
299
  try {
165
- (0, child_process_1.execSync)(`launchctl load ${PLIST_PATH}`, { stdio: 'pipe' });
300
+ loadAgent();
166
301
  }
167
302
  catch { }
168
303
  }
@@ -1 +1 @@
1
- {"version":3,"file":"macos.js","sourceRoot":"","sources":["../../src/scheduler/macos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"macos.js","sourceRoot":"","sources":["../../src/scheduler/macos.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { RuntimePaths } from '../runtime';
2
+ /**
3
+ * Build the resilient bash launcher shared by launchd (macOS) and
4
+ * systemd/cron (Linux).
5
+ *
6
+ * Hardening over a bare `node cli _execute-warmup` invocation:
7
+ * - If the recorded Node.js interpreter has vanished (e.g. after
8
+ * `brew upgrade node` removed the pinned Cellar build, or an nvm version
9
+ * was uninstalled), fall back to a PATH-resolved `node`.
10
+ * - If node or the CLI entry still cannot be found, append a dated JSON
11
+ * failure entry to the logs so it surfaces in `warmup status` instead of
12
+ * failing silently into a log nobody reads.
13
+ *
14
+ * `set -e` is intentionally omitted so the fallback/logging branches run; the
15
+ * script's exit status is that of the final node invocation.
16
+ */
17
+ export declare function buildWarmupShellScript(runtime: RuntimePaths, logFileName: string): string;
18
+ //# sourceMappingURL=script.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../src/scheduler/script.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAuCzF"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildWarmupShellScript = buildWarmupShellScript;
4
+ function shellQuote(value) {
5
+ return `'${value.replace(/'/g, `'\\''`)}'`;
6
+ }
7
+ /**
8
+ * Build the resilient bash launcher shared by launchd (macOS) and
9
+ * systemd/cron (Linux).
10
+ *
11
+ * Hardening over a bare `node cli _execute-warmup` invocation:
12
+ * - If the recorded Node.js interpreter has vanished (e.g. after
13
+ * `brew upgrade node` removed the pinned Cellar build, or an nvm version
14
+ * was uninstalled), fall back to a PATH-resolved `node`.
15
+ * - If node or the CLI entry still cannot be found, append a dated JSON
16
+ * failure entry to the logs so it surfaces in `warmup status` instead of
17
+ * failing silently into a log nobody reads.
18
+ *
19
+ * `set -e` is intentionally omitted so the fallback/logging branches run; the
20
+ * script's exit status is that of the final node invocation.
21
+ */
22
+ function buildWarmupShellScript(runtime, logFileName) {
23
+ return `#!/bin/bash
24
+ set -uo pipefail
25
+
26
+ WARMUP_LOG_DIR="$HOME/.warmup/logs"
27
+ mkdir -p "$WARMUP_LOG_DIR"
28
+
29
+ NODE_BIN=${shellQuote(runtime.nodePath)}
30
+ CLI_ENTRY=${shellQuote(runtime.cliEntry)}
31
+
32
+ # Recover if the recorded interpreter was removed by a toolchain upgrade.
33
+ # launchd runs with a minimal PATH (/usr/bin:/bin:/usr/sbin:/sbin), so we check
34
+ # common install locations explicitly rather than relying on \`command -v\`.
35
+ if [ ! -x "$NODE_BIN" ]; then
36
+ for candidate in /opt/homebrew/bin/node /usr/local/bin/node /usr/bin/node "$(command -v node 2>/dev/null || true)"; do
37
+ if [ -n "$candidate" ] && [ -x "$candidate" ]; then NODE_BIN="$candidate"; break; fi
38
+ done
39
+ fi
40
+
41
+ warmup_log_failure() {
42
+ ts="$(date -u +%Y-%m-%dT%H:%M:%S.000Z)"
43
+ day="$(date +%Y-%m-%d)"
44
+ printf '{"timestamp":"%s","status":"failed","message":"%s"}\\n' "$ts" "$1" >> "$WARMUP_LOG_DIR/$day.log"
45
+ }
46
+
47
+ if [ ! -x "$NODE_BIN" ]; then
48
+ warmup_log_failure "Node.js runtime not found - re-run: warmup setup"
49
+ echo "warmup: Node.js runtime not found" >&2
50
+ exit 1
51
+ fi
52
+
53
+ if [ ! -e "$CLI_ENTRY" ]; then
54
+ warmup_log_failure "warmup CLI entry missing - re-run: warmup setup"
55
+ echo "warmup: CLI entry not found at $CLI_ENTRY" >&2
56
+ exit 1
57
+ fi
58
+
59
+ "$NODE_BIN" "$CLI_ENTRY" _execute-warmup >> "$WARMUP_LOG_DIR/${logFileName}" 2>&1
60
+ `;
61
+ }
62
+ //# sourceMappingURL=script.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script.js","sourceRoot":"","sources":["../../src/scheduler/script.ts"],"names":[],"mappings":";;AAqBA,wDAuCC;AA1DD,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,sBAAsB,CAAC,OAAqB,EAAE,WAAmB;IAC/E,OAAO;;;;;;WAME,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC3B,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+DA6BuB,WAAW;CACzE,CAAC;AACF,CAAC"}
@@ -92,7 +92,7 @@ function installWindowsSchedule(options) {
92
92
  const psCommand = `
93
93
  $task = Get-ScheduledTask -TaskName '${TASK_NAME}'
94
94
  $task.Settings.StartWhenAvailable = $true
95
- $task.Settings.WakeToRun = $false
95
+ $task.Settings.WakeToRun = $true
96
96
  $task.Settings.DisallowStartIfOnBatteries = $false
97
97
  $task.Settings.StopIfGoingOnBatteries = $false
98
98
  Set-ScheduledTask -InputObject $task
package/dist/ui.d.ts CHANGED
@@ -41,6 +41,7 @@ export declare function printSetupDeferred(): void;
41
41
  export declare function animateSetupComplete(config: WarmupConfig): Promise<void>;
42
42
  export declare function displayStatus(config: WarmupConfig, options?: {
43
43
  needsRuntimeRefresh?: boolean;
44
+ wakeScheduleActive?: boolean;
44
45
  }): Promise<void>;
45
46
  export declare function animateBootRecovery(scheduledTime: string, actualTime: string): Promise<void>;
46
47
  export declare function animateBootRecoverySuccess(resetTime: string): Promise<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,EAMb,MAAM,UAAU,CAAC;AAgClB,UAAU,SAAS;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAQD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAOD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnE;AAMD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,EAAE,EACjB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GACxD,MAAM,EAAE,CAOV;AA0BD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,CA0CjF;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,iBAAiB,CAenB;AAQD,wBAAgB,SAAS,IAAI,IAAI,CAKhC;AAED,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAM9C;AAED,wBAAgB,aAAa,IAAI,IAAI,CAIpC;AAED,wBAAgB,4BAA4B,IAAI,MAAM,EAAE,CASvD;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC;AAED,wBAAgB,sBAAsB,IAAI,IAAI,CAqB7C;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM,EAAE,CAUlF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAwBxE;AAED,wBAAgB,4BAA4B,IAAI,MAAM,EAAE,CAMvD;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAY5C;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAIzC;AAGD,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB9E;AAGD,wBAAsB,aAAa,CACjC,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE;IAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9C,OAAO,CAAC,IAAI,CAAC,CAoIf;AAGD,wBAAsB,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMlG;AAED,wBAAsB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQjF;AAGD,wBAAsB,iBAAiB,CAAC,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAKhF;AAED,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAUnG;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvE;AAGD,wBAAgB,WAAW,IAAI,IAAI,CAKlC;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAQvD;AAGD,wBAAgB,gBAAgB,IAAI,IAAI,CAMvC;AAGD,wBAAgB,iBAAiB,IAAI,IAAI,CAcxC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAKpC;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAS5D"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
package/dist/ui.js CHANGED
@@ -72,6 +72,7 @@ const gradient_string_1 = __importDefault(require("gradient-string"));
72
72
  const figures_1 = __importDefault(require("figures"));
73
73
  const config_1 = require("./config");
74
74
  const stringWidth = require('string-width');
75
+ const VERSION = require('../package.json').version;
75
76
  // ── Brand Colors ──
76
77
  const BRAND = (0, gradient_string_1.default)(['#6C5CE7', '#A29BFE', '#74B9FF']);
77
78
  const ACCENT = chalk_1.default.hex('#6C5CE7');
@@ -201,7 +202,7 @@ function printLogo() {
201
202
  function renderMiniLogoLines() {
202
203
  return [
203
204
  '',
204
- ` ${BRIGHT('warmup')} ${DIM('v1.0.0')}`,
205
+ ` ${BRIGHT('warmup')} ${DIM(`v${VERSION}`)}`,
205
206
  '',
206
207
  ];
207
208
  }
@@ -343,17 +344,39 @@ async function displayStatus(config, options = {}) {
343
344
  value: `${ACCENT(warmTime)} daily ${DIM(`(${tz})`)} ${enabledStr}`,
344
345
  },
345
346
  ];
347
+ if (options.wakeScheduleActive !== undefined) {
348
+ let wakeValue;
349
+ if (!options.wakeScheduleActive) {
350
+ wakeValue = `${WARNING('not scheduled')} ${DIM("(won't run while asleep)")}`;
351
+ }
352
+ else if (!config.schedule.enabled) {
353
+ wakeValue = `${WARNING('scheduled')} ${DIM('(paused)')}`;
354
+ }
355
+ else {
356
+ wakeValue = `${SUCCESS('scheduled')} ${DIM('(runs while asleep)')}`;
357
+ }
358
+ rows.push({ label: 'Wake', value: wakeValue });
359
+ }
346
360
  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');
361
+ let statusIcon;
362
+ let statusText;
363
+ switch (lastLog.status) {
364
+ case 'success':
365
+ statusIcon = SUCCESS(figures_1.default.tick);
366
+ statusText = SUCCESS('success');
367
+ break;
368
+ case 'boot-recovery':
369
+ statusIcon = WARNING(figures_1.default.warning);
370
+ statusText = WARNING('boot-recovery');
371
+ break;
372
+ case 'skipped':
373
+ statusIcon = DIM(figures_1.default.line);
374
+ statusText = DIM('skipped');
375
+ break;
376
+ default:
377
+ statusIcon = ERROR(figures_1.default.cross);
378
+ statusText = ERROR('failed');
379
+ }
357
380
  const logDate = new Date(lastLog.timestamp);
358
381
  const timeStr = lastLog.actualTime || (0, config_1.formatTimeLocal)(logDate, tz);
359
382
  rows.push({
@@ -366,6 +389,12 @@ async function displayStatus(config, options = {}) {
366
389
  value: WARNING('machine was off at scheduled time'),
367
390
  });
368
391
  }
392
+ else if (lastLog.status === 'skipped') {
393
+ rows.push({
394
+ label: 'Missed',
395
+ value: WARNING('opened too late to pre-warm'),
396
+ });
397
+ }
369
398
  }
370
399
  else {
371
400
  rows.push({
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
@@ -29,4 +29,43 @@ export declare function shouldBootRecover(config: {
29
29
  enabled: boolean;
30
30
  };
31
31
  }, now?: Date): boolean;
32
+ /** Tolerance (minutes) around the scheduled time for a "normal" run. Must stay
33
+ * in sync with the default passed to isNearScheduledTime below. */
34
+ export declare const NEAR_SCHEDULE_TOLERANCE_MINUTES = 5;
35
+ /**
36
+ * Dedup window (minutes) for the near-schedule run. Two near-schedule fires for
37
+ * the same occurrence both fall within ±tolerance of the scheduled minute, so
38
+ * they are at most 2*tolerance apart; the window must exceed that to dedup a
39
+ * re-fire. 15 > 2*5 leaves a 5-minute margin. If the tolerance grows, grow this.
40
+ */
41
+ export declare const NEAR_SCHEDULE_DEDUP_WINDOW_MINUTES = 15;
42
+ /**
43
+ * Whether to run a normal (near-schedule) pre-warm now: within tolerance of the
44
+ * scheduled time AND no successful run in the recent dedup window. A recency
45
+ * window — not the most-recent scheduled occurrence — is used so a fire a few
46
+ * minutes BEFORE the scheduled minute is not wrongly suppressed by yesterday's
47
+ * success (which getMostRecentScheduledOccurrence would round back to). A
48
+ * RunAtLoad login moments after the scheduled fire is still deduped.
49
+ */
50
+ export declare function shouldRunNearSchedule(config: {
51
+ schedule: {
52
+ time: string;
53
+ timezone: string;
54
+ enabled: boolean;
55
+ };
56
+ }, now?: Date): boolean;
57
+ /**
58
+ * Whether to record a "skipped" entry: the scheduled time passed, the 5-hour
59
+ * recovery window has expired (so {@link shouldBootRecover} declined), and no
60
+ * run or skip has been recorded yet for this occurrence. This turns the old
61
+ * silent no-op — the literal "never runs even if I open my pc later" — into a
62
+ * visible signal, recorded at most once per day.
63
+ */
64
+ export declare function shouldLogSkip(config: {
65
+ schedule: {
66
+ time: string;
67
+ timezone: string;
68
+ enabled: boolean;
69
+ };
70
+ }, now?: Date): boolean;
32
71
  //# 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":"AAaA,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;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"}