@mohitkumawat/warmup-cli 1.2.16 → 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 +33 -10
- 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/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/status.d.ts +8 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +85 -11
- 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/config.d.ts +7 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +21 -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/ui.d.ts +49 -4
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +210 -27
- package/dist/ui.js.map +1 -1
- package/dist/warmup.d.ts +13 -4
- package/dist/warmup.d.ts.map +1 -1
- package/dist/warmup.js +139 -79
- package/dist/warmup.js.map +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.buildMenuChoices = buildMenuChoices;
|
|
7
|
+
exports.filterMenuChoices = filterMenuChoices;
|
|
8
|
+
exports.runInteractiveHome = runInteractiveHome;
|
|
9
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
10
|
+
const inquirer_autocomplete_prompt_1 = __importDefault(require("inquirer-autocomplete-prompt"));
|
|
11
|
+
const config_1 = require("../config");
|
|
12
|
+
const ui_1 = require("../ui");
|
|
13
|
+
const status_1 = require("./status");
|
|
14
|
+
const update_1 = require("./update");
|
|
15
|
+
const test_1 = require("./test");
|
|
16
|
+
const pause_1 = require("./pause");
|
|
17
|
+
const resume_1 = require("./resume");
|
|
18
|
+
const uninstall_1 = require("./uninstall");
|
|
19
|
+
const doctor_1 = require("./doctor");
|
|
20
|
+
// Enable the slash-command-style "type to filter" menu (substring match over
|
|
21
|
+
// the visible labels). Registered once; harmless in tests, which inject prompt.
|
|
22
|
+
inquirer_1.default.registerPrompt('autocomplete', inquirer_autocomplete_prompt_1.default);
|
|
23
|
+
/**
|
|
24
|
+
* Build the interactive home-menu choices for the current config state.
|
|
25
|
+
* Pure and synchronous so the menu contents can be unit-tested without a TTY.
|
|
26
|
+
* The pause/resume entry flips to match whether the schedule is enabled.
|
|
27
|
+
*/
|
|
28
|
+
function buildMenuChoices(config) {
|
|
29
|
+
const paused = !config.schedule.enabled;
|
|
30
|
+
return [
|
|
31
|
+
{ name: 'View status', value: 'status' },
|
|
32
|
+
{ name: 'View recent runs', value: 'logs' },
|
|
33
|
+
{ name: 'Run health check', value: 'doctor' },
|
|
34
|
+
{ name: 'Change schedule', value: 'update' },
|
|
35
|
+
{ name: 'Run a pre-warm now', value: 'test' },
|
|
36
|
+
paused
|
|
37
|
+
? { name: 'Resume daily schedule', value: 'toggle' }
|
|
38
|
+
: { name: 'Pause daily schedule', value: 'toggle' },
|
|
39
|
+
{ name: 'Help / about', value: 'help' },
|
|
40
|
+
{ name: 'Uninstall warmup', value: 'uninstall' },
|
|
41
|
+
{ name: 'Exit', value: 'exit' },
|
|
42
|
+
];
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Autocomplete source: substring-filter the menu by what the user types (case-
|
|
46
|
+
* insensitive). Empty input shows everything. Returned as a factory so the
|
|
47
|
+
* choices are captured per frame.
|
|
48
|
+
*/
|
|
49
|
+
function filterMenuChoices(choices) {
|
|
50
|
+
return async (_answers, input) => {
|
|
51
|
+
const term = (input || '').trim().toLowerCase();
|
|
52
|
+
if (!term)
|
|
53
|
+
return choices;
|
|
54
|
+
return choices.filter(choice => choice.name.toLowerCase().includes(term));
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
const defaultActions = {
|
|
58
|
+
status: status_1.statusCommand,
|
|
59
|
+
logs: async () => {
|
|
60
|
+
const config = (0, config_1.readConfig)();
|
|
61
|
+
(0, ui_1.printRecentRuns)((0, config_1.getRecentLogs)(), config?.schedule.timezone);
|
|
62
|
+
},
|
|
63
|
+
doctor: doctor_1.doctorCommand,
|
|
64
|
+
update: update_1.updateCommand,
|
|
65
|
+
test: () => (0, test_1.testCommand)({}),
|
|
66
|
+
pause: pause_1.pauseCommand,
|
|
67
|
+
resume: resume_1.resumeCommand,
|
|
68
|
+
help: async () => { (0, ui_1.printHubHelp)(); },
|
|
69
|
+
uninstall: uninstall_1.uninstallCommand,
|
|
70
|
+
};
|
|
71
|
+
const inquirerPrompt = inquirer_1.default.prompt;
|
|
72
|
+
const defaultWaitForKey = async () => {
|
|
73
|
+
await inquirerPrompt([{
|
|
74
|
+
type: 'input',
|
|
75
|
+
name: 'continue',
|
|
76
|
+
message: 'Press enter to return to the menu',
|
|
77
|
+
}]);
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Interactive "home" hub shown when a configured user runs bare `warmup` in a
|
|
81
|
+
* terminal. Each frame repaints from a clean screen: the status dashboard
|
|
82
|
+
* (persistent header + live context), a keyboard-hint footer, then an arrow-key
|
|
83
|
+
* menu. Selecting an action runs it, pauses so the output is readable, then
|
|
84
|
+
* returns to a fresh frame — so the whole tool is browsable without retyping
|
|
85
|
+
* subcommands, until the user picks Exit (or confirms Uninstall).
|
|
86
|
+
*
|
|
87
|
+
* The caller gates this on an interactive TTY; non-interactive contexts keep
|
|
88
|
+
* the one-shot status print, so `warmup` stays scriptable and never blocks on a
|
|
89
|
+
* prompt (launchd/systemd/CI/pipes). The cursor is always restored on exit.
|
|
90
|
+
*/
|
|
91
|
+
async function runInteractiveHome(deps = {}) {
|
|
92
|
+
const prompt = deps.prompt ?? inquirerPrompt;
|
|
93
|
+
const loadConfig = deps.readConfig ?? config_1.readConfig;
|
|
94
|
+
const actions = deps.actions ?? defaultActions;
|
|
95
|
+
const clear = deps.clearScreen ?? ui_1.clearScreen;
|
|
96
|
+
const waitForKey = deps.waitForKey ?? defaultWaitForKey;
|
|
97
|
+
try {
|
|
98
|
+
for (;;) {
|
|
99
|
+
const config = loadConfig();
|
|
100
|
+
if (!config) {
|
|
101
|
+
// Config went away mid-session (e.g. the user just uninstalled).
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
// Repaint a clean frame: the dashboard is the persistent header/context.
|
|
105
|
+
clear();
|
|
106
|
+
await actions.status();
|
|
107
|
+
(0, ui_1.printMenuHint)();
|
|
108
|
+
const { action } = await prompt([{
|
|
109
|
+
type: 'autocomplete',
|
|
110
|
+
name: 'action',
|
|
111
|
+
message: 'What would you like to do?',
|
|
112
|
+
source: filterMenuChoices(buildMenuChoices(config)),
|
|
113
|
+
pageSize: 10,
|
|
114
|
+
}]);
|
|
115
|
+
switch (action) {
|
|
116
|
+
case 'status':
|
|
117
|
+
// The dashboard is already shown at the top of every frame; selecting
|
|
118
|
+
// this simply repaints (next loop iteration), so nothing else to do.
|
|
119
|
+
break;
|
|
120
|
+
case 'logs':
|
|
121
|
+
await actions.logs();
|
|
122
|
+
await waitForKey();
|
|
123
|
+
break;
|
|
124
|
+
case 'doctor':
|
|
125
|
+
await actions.doctor();
|
|
126
|
+
await waitForKey();
|
|
127
|
+
break;
|
|
128
|
+
case 'update':
|
|
129
|
+
await actions.update();
|
|
130
|
+
await waitForKey();
|
|
131
|
+
break;
|
|
132
|
+
case 'test': {
|
|
133
|
+
// Firing here consumes a real 5-hour window — never one keystroke away
|
|
134
|
+
// by accident. Confirm before spending it.
|
|
135
|
+
const { confirmTest } = await prompt([{
|
|
136
|
+
type: 'confirm',
|
|
137
|
+
name: 'confirmTest',
|
|
138
|
+
message: 'Send a real pre-warm now? This starts a fresh 5-hour window.',
|
|
139
|
+
default: false,
|
|
140
|
+
}]);
|
|
141
|
+
if (confirmTest) {
|
|
142
|
+
await actions.test();
|
|
143
|
+
await waitForKey();
|
|
144
|
+
}
|
|
145
|
+
break;
|
|
146
|
+
}
|
|
147
|
+
case 'toggle':
|
|
148
|
+
if (config.schedule.enabled) {
|
|
149
|
+
await actions.pause();
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
await actions.resume();
|
|
153
|
+
}
|
|
154
|
+
await waitForKey();
|
|
155
|
+
break;
|
|
156
|
+
case 'help':
|
|
157
|
+
await actions.help();
|
|
158
|
+
await waitForKey();
|
|
159
|
+
break;
|
|
160
|
+
case 'uninstall': {
|
|
161
|
+
// Destructive — confirm before removing the scheduled task.
|
|
162
|
+
const { confirmUninstall } = await prompt([{
|
|
163
|
+
type: 'confirm',
|
|
164
|
+
name: 'confirmUninstall',
|
|
165
|
+
message: 'Remove the scheduled task? (your config is preserved)',
|
|
166
|
+
default: false,
|
|
167
|
+
}]);
|
|
168
|
+
if (confirmUninstall) {
|
|
169
|
+
await actions.uninstall();
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
break;
|
|
173
|
+
}
|
|
174
|
+
case 'exit':
|
|
175
|
+
default:
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
finally {
|
|
181
|
+
// inquirer hides the cursor; make sure it's back on any exit path.
|
|
182
|
+
(0, ui_1.showCursor)();
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../src/commands/menu.ts"],"names":[],"mappings":";;;;;AAmCA,4CAeC;AAOD,8CAMC;AA6DD,gDAiGC;AA7ND,wDAAgC;AAChC,gGAA8D;AAC9D,sCAAyE;AACzE,8BAMe;AACf,qCAAyC;AACzC,qCAAyC;AACzC,iCAAqC;AACrC,mCAAuC;AACvC,qCAAyC;AACzC,2CAA+C;AAC/C,qCAAyC;AAEzC,6EAA6E;AAC7E,gFAAgF;AAChF,kBAAQ,CAAC,cAAc,CAAC,cAAc,EAAE,sCAAkB,CAAC,CAAC;AAU5D;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,MAAoB;IACnD,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;IACxC,OAAO;QACL,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE;QACxC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE;QAC3C,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE;QAC7C,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE;QAC5C,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,EAAE;QAC7C,MAAM;YACJ,CAAC,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,QAAQ,EAAE;YACpD,CAAC,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,QAAQ,EAAE;QACrD,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE;QACvC,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,WAAW,EAAE;QAChD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;KAChC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,OAAqB;IACrD,OAAO,KAAK,EAAE,QAAiB,EAAE,KAAc,EAAyB,EAAE;QACxE,MAAM,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAChD,IAAI,CAAC,IAAI;YAAE,OAAO,OAAO,CAAC;QAC1B,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC;AACJ,CAAC;AAwBD,MAAM,cAAc,GAA2B;IAC7C,MAAM,EAAE,sBAAa;IACrB,IAAI,EAAE,KAAK,IAAI,EAAE;QACf,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;QAC5B,IAAA,oBAAe,EAAC,IAAA,sBAAa,GAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,EAAE,sBAAa;IACrB,MAAM,EAAE,sBAAa;IACrB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAA,kBAAW,EAAC,EAAE,CAAC;IAC3B,KAAK,EAAE,oBAAY;IACnB,MAAM,EAAE,sBAAa;IACrB,IAAI,EAAE,KAAK,IAAI,EAAE,GAAG,IAAA,iBAAY,GAAE,CAAC,CAAC,CAAC;IACrC,SAAS,EAAE,4BAAgB;CAC5B,CAAC;AAEF,MAAM,cAAc,GAAI,kBAAQ,CAAC,MAA2D,CAAC;AAE7F,MAAM,iBAAiB,GAAG,KAAK,IAAmB,EAAE;IAClD,MAAM,cAAc,CAAC,CAAC;YACpB,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,mCAAmC;SAC7C,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AAEF;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,kBAAkB,CACtC,OAA6C,EAAE;IAE/C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,cAAc,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,mBAAU,CAAC;IACjD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,cAAc,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,IAAI,gBAAW,CAAC;IAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC;IAExD,IAAI,CAAC;QACH,SAAS,CAAC;YACR,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,iEAAiE;gBACjE,OAAO;YACT,CAAC;YAED,yEAAyE;YACzE,KAAK,EAAE,CAAC;YACR,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;YACvB,IAAA,kBAAa,GAAE,CAAC;YAEhB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,CAAC;oBAC/B,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,4BAA4B;oBACrC,MAAM,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;oBACnD,QAAQ,EAAE,EAAE;iBACb,CAAC,CAA2B,CAAC;YAE9B,QAAQ,MAAM,EAAE,CAAC;gBACf,KAAK,QAAQ;oBACX,sEAAsE;oBACtE,qEAAqE;oBACrE,MAAM;gBACR,KAAK,MAAM;oBACT,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;oBACrB,MAAM,UAAU,EAAE,CAAC;oBACnB,MAAM;gBACR,KAAK,QAAQ;oBACX,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;oBACvB,MAAM,UAAU,EAAE,CAAC;oBACnB,MAAM;gBACR,KAAK,QAAQ;oBACX,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;oBACvB,MAAM,UAAU,EAAE,CAAC;oBACnB,MAAM;gBACR,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,uEAAuE;oBACvE,2CAA2C;oBAC3C,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,CAAC;4BACpC,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE,aAAa;4BACnB,OAAO,EAAE,8DAA8D;4BACvE,OAAO,EAAE,KAAK;yBACf,CAAC,CAA6B,CAAC;oBAChC,IAAI,WAAW,EAAE,CAAC;wBAChB,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;wBACrB,MAAM,UAAU,EAAE,CAAC;oBACrB,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,QAAQ;oBACX,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;wBAC5B,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;oBACxB,CAAC;yBAAM,CAAC;wBACN,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;oBACzB,CAAC;oBACD,MAAM,UAAU,EAAE,CAAC;oBACnB,MAAM;gBACR,KAAK,MAAM;oBACT,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;oBACrB,MAAM,UAAU,EAAE,CAAC;oBACnB,MAAM;gBACR,KAAK,WAAW,CAAC,CAAC,CAAC;oBACjB,4DAA4D;oBAC5D,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,CAAC;4BACzC,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE,kBAAkB;4BACxB,OAAO,EAAE,uDAAuD;4BAChE,OAAO,EAAE,KAAK;yBACf,CAAC,CAAkC,CAAC;oBACrC,IAAI,gBAAgB,EAAE,CAAC;wBACrB,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;wBAC1B,OAAO;oBACT,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,MAAM,CAAC;gBACZ;oBACE,OAAO;YACX,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,mEAAmE;QACnE,IAAA,eAAU,GAAE,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -1,2 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
import { type WarmupConfig } from '../config';
|
|
2
|
+
export interface StatusCommandOptions {
|
|
3
|
+
watch?: boolean;
|
|
4
|
+
json?: boolean;
|
|
5
|
+
}
|
|
6
|
+
/** Structured, scriptable view of the current state (`status --json`). */
|
|
7
|
+
export declare function buildStatusReport(config: WarmupConfig): Record<string, unknown>;
|
|
8
|
+
export declare function statusCommand(options?: StatusCommandOptions): Promise<void>;
|
|
2
9
|
//# sourceMappingURL=status.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,YAAY,EAClB,MAAM,WAAW,CAAC;AAWnB,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAWD,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqB/E;AAED,wBAAsB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAerF"}
|
package/dist/commands/status.js
CHANGED
|
@@ -1,25 +1,99 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildStatusReport = buildStatusReport;
|
|
3
4
|
exports.statusCommand = statusCommand;
|
|
4
5
|
const config_1 = require("../config");
|
|
5
6
|
const ui_1 = require("../ui");
|
|
6
7
|
const scheduler_1 = require("../scheduler");
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
|
|
9
|
+
/** Whether warmup owns a live macOS wake (undefined on other platforms). */
|
|
10
|
+
function wakeState(config) {
|
|
11
|
+
return (0, scheduler_1.detectPlatform)() === 'macos'
|
|
12
|
+
? Boolean(config.wake) && (0, scheduler_1.isWakeScheduleActive)()
|
|
13
|
+
: undefined;
|
|
14
|
+
}
|
|
15
|
+
/** Structured, scriptable view of the current state (`status --json`). */
|
|
16
|
+
function buildStatusReport(config) {
|
|
17
|
+
const lastLog = (0, config_1.getLatestLog)();
|
|
18
|
+
const warmed = lastLog && (lastLog.status === 'success' || lastLog.status === 'boot-recovery')
|
|
19
|
+
? new Date(lastLog.timestamp)
|
|
20
|
+
: null;
|
|
21
|
+
return {
|
|
22
|
+
version: require('../../package.json').version,
|
|
23
|
+
schedule: {
|
|
24
|
+
time: config.schedule.time,
|
|
25
|
+
timezone: config.schedule.timezone,
|
|
26
|
+
enabled: config.schedule.enabled,
|
|
27
|
+
},
|
|
28
|
+
nextFireAt: (0, config_1.getNextFireTime)(config).toISOString(),
|
|
29
|
+
window: warmed
|
|
30
|
+
? { active: true, resetAt: (0, config_1.getWindowResetTime)(warmed).toISOString(), progress: (0, config_1.getWindowProgress)(warmed) }
|
|
31
|
+
: { active: false, resetAt: null, progress: null },
|
|
32
|
+
lastRun: lastLog
|
|
33
|
+
? { status: lastLog.status, timestamp: lastLog.timestamp, actualTime: lastLog.actualTime ?? null, message: lastLog.message }
|
|
34
|
+
: null,
|
|
35
|
+
wakeScheduled: wakeState(config) ?? null,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
async function statusCommand(options = {}) {
|
|
39
|
+
if (options.json) {
|
|
40
|
+
const config = (0, config_1.readConfig)();
|
|
41
|
+
process.stdout.write(`${JSON.stringify(config ? buildStatusReport(config) : { configured: false }, null, 2)}\n`);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
// Live mode only in a real terminal; piped/CI gets the one-shot print so it
|
|
45
|
+
// stays scriptable and never spins forever.
|
|
46
|
+
if (options.watch && process.stdout.isTTY) {
|
|
47
|
+
await runStatusWatch();
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
await renderStatusOnce();
|
|
51
|
+
}
|
|
52
|
+
async function renderStatusOnce(existingConfig) {
|
|
53
|
+
const config = existingConfig ?? (0, config_1.readConfig)();
|
|
9
54
|
if (!config) {
|
|
10
55
|
(0, ui_1.printNotSetup)();
|
|
11
|
-
return;
|
|
56
|
+
return false;
|
|
12
57
|
}
|
|
13
|
-
// Only macOS exposes a separately-managed wake
|
|
14
|
-
//
|
|
15
|
-
//
|
|
16
|
-
// must not be attributed to warmup.
|
|
17
|
-
const wakeScheduleActive = (0, scheduler_1.detectPlatform)() === 'macos'
|
|
18
|
-
? Boolean(config.wake) && (0, scheduler_1.isWakeScheduleActive)()
|
|
19
|
-
: undefined;
|
|
58
|
+
// Only macOS exposes a separately-managed wake (wakeState returns undefined
|
|
59
|
+
// elsewhere, so the row is omitted); report "scheduled" only when warmup owns
|
|
60
|
+
// the live wake — a foreign pmset repeat must not be attributed to warmup.
|
|
20
61
|
await (0, ui_1.displayStatus)(config, {
|
|
21
62
|
needsRuntimeRefresh: !config.runtime,
|
|
22
|
-
wakeScheduleActive,
|
|
63
|
+
wakeScheduleActive: wakeState(config),
|
|
23
64
|
});
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* `warmup status --watch`: repaint the dashboard every second so the rate-limit
|
|
69
|
+
* window bar and the "next in …" countdown stay live. TTY-only. Ctrl+C restores
|
|
70
|
+
* the cursor (hidden during the ticker) and exits cleanly. Bails immediately if
|
|
71
|
+
* warmup isn't set up rather than looping on the not-set-up screen.
|
|
72
|
+
*/
|
|
73
|
+
async function runStatusWatch() {
|
|
74
|
+
const onSigint = () => {
|
|
75
|
+
(0, ui_1.showCursor)();
|
|
76
|
+
process.exit(0);
|
|
77
|
+
};
|
|
78
|
+
process.on('SIGINT', onSigint);
|
|
79
|
+
process.stdout.write('\x1b[?25l'); // hide cursor for a stable ticker
|
|
80
|
+
try {
|
|
81
|
+
for (;;) {
|
|
82
|
+
const config = (0, config_1.readConfig)();
|
|
83
|
+
(0, ui_1.repaintFrame)();
|
|
84
|
+
if (!config) {
|
|
85
|
+
(0, ui_1.printNotSetup)();
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
console.log((0, ui_1.renderStatusLine)(config));
|
|
89
|
+
await renderStatusOnce(config); // reuse the config we just read (one read/frame)
|
|
90
|
+
(0, ui_1.printWatchFooter)();
|
|
91
|
+
await sleep(1000);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
finally {
|
|
95
|
+
(0, ui_1.showCursor)();
|
|
96
|
+
process.removeListener('SIGINT', onSigint);
|
|
97
|
+
}
|
|
24
98
|
}
|
|
25
99
|
//# sourceMappingURL=status.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCjF"}
|
package/dist/commands/test.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.testCommand = testCommand;
|
|
7
|
+
const ora_1 = __importDefault(require("ora"));
|
|
4
8
|
const config_1 = require("../config");
|
|
5
9
|
const warmup_1 = require("../warmup");
|
|
6
10
|
const ui_1 = require("../ui");
|
|
@@ -16,13 +20,30 @@ async function testCommand(options = {}) {
|
|
|
16
20
|
(0, ui_1.printNoClaudeCode)();
|
|
17
21
|
return;
|
|
18
22
|
}
|
|
19
|
-
|
|
20
|
-
|
|
23
|
+
// Spinner tied to the REAL ping latency (async spawn) — it ticks live elapsed
|
|
24
|
+
// time during the actual round-trip rather than playing a canned animation
|
|
25
|
+
// that finishes before or after the request really does.
|
|
26
|
+
const label = isDryRun ? 'Simulating pre-warm' : 'Pinging Claude';
|
|
27
|
+
const spinner = (0, ora_1.default)({ text: `${label}…`, color: 'magenta' }).start();
|
|
28
|
+
const startedAt = Date.now();
|
|
29
|
+
const ticker = setInterval(() => {
|
|
30
|
+
spinner.text = `${label}… ${((Date.now() - startedAt) / 1000).toFixed(1)}s`;
|
|
31
|
+
}, 100);
|
|
32
|
+
let result;
|
|
33
|
+
try {
|
|
34
|
+
result = await (0, warmup_1.executeWarmupAsync)(false, isDryRun);
|
|
35
|
+
}
|
|
36
|
+
finally {
|
|
37
|
+
clearInterval(ticker);
|
|
38
|
+
}
|
|
21
39
|
if (result.success) {
|
|
22
|
-
|
|
40
|
+
const secs = (result.duration / 1000).toFixed(1);
|
|
41
|
+
spinner.succeed(isDryRun
|
|
42
|
+
? 'Dry run complete — no request sent, no limits used.'
|
|
43
|
+
: `Pre-warm landed in ${secs}s — your 5-hour window has started.`);
|
|
23
44
|
}
|
|
24
45
|
else {
|
|
25
|
-
|
|
46
|
+
spinner.fail(result.message);
|
|
26
47
|
}
|
|
27
48
|
}
|
|
28
49
|
//# sourceMappingURL=test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":";;;;;AASA,kCAwCC;AAjDD,8CAAsB;AACtB,sCAAuC;AACvC,sCAAkE;AAClE,8BAAwE;AAMjE,KAAK,UAAU,WAAW,CAAC,UAA8B,EAAE;IAChE,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAClC,IAAA,kBAAa,GAAE,CAAC;IAEhB,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,IAAA,kBAAa,GAAE,CAAC;QAChB,OAAO;IACT,CAAC;IAED,IAAI,CAAC,IAAA,0BAAiB,GAAE,EAAE,CAAC;QACzB,IAAA,sBAAiB,GAAE,CAAC;QACpB,OAAO;IACT,CAAC;IAED,8EAA8E;IAC9E,2EAA2E;IAC3E,yDAAyD;IACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAClE,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,EAAE,IAAI,EAAE,GAAG,KAAK,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IACrE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,OAAO,CAAC,IAAI,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC9E,CAAC,EAAE,GAAG,CAAC,CAAC;IAER,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,IAAA,2BAAkB,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC;YAAS,CAAC;QACT,aAAa,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,OAAO,CAAC,QAAQ;YACtB,CAAC,CAAC,qDAAqD;YACvD,CAAC,CAAC,sBAAsB,IAAI,qCAAqC,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC"}
|
package/dist/config.d.ts
CHANGED
|
@@ -38,6 +38,13 @@ export declare function getDateStringInTimezone(date: Date, timezone: string): s
|
|
|
38
38
|
export declare function writeLog(entry: LogEntry, timezone: string): void;
|
|
39
39
|
export declare function getLatestLog(): LogEntry | null;
|
|
40
40
|
export declare function getLogsForDate(date: string): LogEntry[];
|
|
41
|
+
/**
|
|
42
|
+
* The most recent log entries across all dated files, newest first, capped at
|
|
43
|
+
* `limit`. Dated files are already sorted newest-first; within a day entries
|
|
44
|
+
* are appended oldest-first, so we walk each day's slice in reverse as we
|
|
45
|
+
* collect. Powers the hub's "Recent runs" view and `warmup logs`.
|
|
46
|
+
*/
|
|
47
|
+
export declare function getRecentLogs(limit?: number): LogEntry[];
|
|
41
48
|
export declare function hasSuccessfulRunSince(since: Date): boolean;
|
|
42
49
|
/**
|
|
43
50
|
* Whether any actionable outcome (a run, a recorded skip, OR a failure) exists
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -48,6 +48,7 @@ exports.getDateStringInTimezone = getDateStringInTimezone;
|
|
|
48
48
|
exports.writeLog = writeLog;
|
|
49
49
|
exports.getLatestLog = getLatestLog;
|
|
50
50
|
exports.getLogsForDate = getLogsForDate;
|
|
51
|
+
exports.getRecentLogs = getRecentLogs;
|
|
51
52
|
exports.hasSuccessfulRunSince = hasSuccessfulRunSince;
|
|
52
53
|
exports.hasOutcomeSince = hasOutcomeSince;
|
|
53
54
|
exports.detectTimezone = detectTimezone;
|
|
@@ -195,6 +196,26 @@ function getLatestLog() {
|
|
|
195
196
|
function getLogsForDate(date) {
|
|
196
197
|
return readLogFile(`${date}.log`);
|
|
197
198
|
}
|
|
199
|
+
/**
|
|
200
|
+
* The most recent log entries across all dated files, newest first, capped at
|
|
201
|
+
* `limit`. Dated files are already sorted newest-first; within a day entries
|
|
202
|
+
* are appended oldest-first, so we walk each day's slice in reverse as we
|
|
203
|
+
* collect. Powers the hub's "Recent runs" view and `warmup logs`.
|
|
204
|
+
*/
|
|
205
|
+
function getRecentLogs(limit = 10) {
|
|
206
|
+
if (limit <= 0)
|
|
207
|
+
return [];
|
|
208
|
+
const recent = [];
|
|
209
|
+
for (const file of getDatedLogFiles()) {
|
|
210
|
+
const entries = readLogFile(file);
|
|
211
|
+
for (let i = entries.length - 1; i >= 0; i--) {
|
|
212
|
+
recent.push(entries[i]);
|
|
213
|
+
if (recent.length >= limit)
|
|
214
|
+
return recent;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return recent;
|
|
218
|
+
}
|
|
198
219
|
function hasSuccessfulRunSince(since) {
|
|
199
220
|
const threshold = since.getTime();
|
|
200
221
|
return getDatedLogFiles().some(file => readLogFile(file).some(entry => {
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,wBAAgB,aAAa,IAAI,OAAO,CAuGvC"}
|
package/dist/index.js
CHANGED
|
@@ -11,6 +11,8 @@ const pause_1 = require("./commands/pause");
|
|
|
11
11
|
const resume_1 = require("./commands/resume");
|
|
12
12
|
const update_1 = require("./commands/update");
|
|
13
13
|
const uninstall_1 = require("./commands/uninstall");
|
|
14
|
+
const logs_1 = require("./commands/logs");
|
|
15
|
+
const doctor_1 = require("./commands/doctor");
|
|
14
16
|
const execute_1 = require("./commands/execute");
|
|
15
17
|
function createProgram() {
|
|
16
18
|
const program = new commander_1.Command();
|
|
@@ -18,7 +20,17 @@ function createProgram() {
|
|
|
18
20
|
.name('warmup')
|
|
19
21
|
.description('Pre-warm your Claude rate limits while you sleep.')
|
|
20
22
|
.version(require("../package.json").version);
|
|
21
|
-
|
|
23
|
+
program.addHelpText('after', `
|
|
24
|
+
Examples:
|
|
25
|
+
$ warmup Open the interactive hub (or first-run setup)
|
|
26
|
+
$ warmup setup Run the guided setup wizard
|
|
27
|
+
$ warmup status Show schedule + live rate-limit window
|
|
28
|
+
$ warmup doctor Health-check your setup
|
|
29
|
+
$ warmup test --dry-run Simulate a pre-warm (no real request)
|
|
30
|
+
$ warmup logs -n 20 Show the last 20 runs
|
|
31
|
+
$ warmup pause / resume Pause or resume the daily schedule
|
|
32
|
+
|
|
33
|
+
Run a command with no setup yet? warmup walks you through it.`);
|
|
22
34
|
program
|
|
23
35
|
.command('setup')
|
|
24
36
|
.description('Set up warmup with your preferred pre-warm time')
|
|
@@ -28,8 +40,10 @@ function createProgram() {
|
|
|
28
40
|
program
|
|
29
41
|
.command('status')
|
|
30
42
|
.description('Show your schedule, last run, and rate limit window progress')
|
|
31
|
-
.
|
|
32
|
-
|
|
43
|
+
.option('-w, --watch', 'Continuously refresh the dashboard (ctrl-c to exit)')
|
|
44
|
+
.option('--json', 'Output the status as JSON (scriptable; no colors)')
|
|
45
|
+
.action(async (options) => {
|
|
46
|
+
await (0, status_1.statusCommand)({ watch: options.watch, json: options.json });
|
|
33
47
|
});
|
|
34
48
|
program
|
|
35
49
|
.command('test')
|
|
@@ -63,6 +77,21 @@ function createProgram() {
|
|
|
63
77
|
.action(async () => {
|
|
64
78
|
await (0, uninstall_1.uninstallCommand)();
|
|
65
79
|
});
|
|
80
|
+
program
|
|
81
|
+
.command('logs')
|
|
82
|
+
.description('Show recent pre-warm run history')
|
|
83
|
+
.option('-n, --limit <count>', 'How many recent runs to show', (v) => parseInt(v, 10))
|
|
84
|
+
.option('--json', 'Output the run history as JSON (scriptable)')
|
|
85
|
+
.action(async (options) => {
|
|
86
|
+
await (0, logs_1.logsCommand)({ limit: options.limit, json: options.json });
|
|
87
|
+
});
|
|
88
|
+
program
|
|
89
|
+
.command('doctor')
|
|
90
|
+
.description('Run a health check on your warmup setup')
|
|
91
|
+
.option('--json', 'Output the health check as JSON; exits non-zero on failures')
|
|
92
|
+
.action(async (options) => {
|
|
93
|
+
await (0, doctor_1.doctorCommand)({ json: options.json });
|
|
94
|
+
});
|
|
66
95
|
program
|
|
67
96
|
.command('_execute-warmup', { hidden: true })
|
|
68
97
|
.description('Internal: execute pre-warm (called by OS scheduler)')
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|