steroids-cli 0.4.54 → 0.4.55
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/commands/web.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/commands/web.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAkKnD,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAiFlF"}
|
package/dist/commands/web.js
CHANGED
|
@@ -98,6 +98,9 @@ function installAndBuild(out) {
|
|
|
98
98
|
out.log('Error: API/ or WebUI/ directory not found in the cloned repository.');
|
|
99
99
|
process.exit(1);
|
|
100
100
|
}
|
|
101
|
+
// Install root dependencies first (needed for ../src/ imports in API)
|
|
102
|
+
out.log('Installing root dependencies...');
|
|
103
|
+
run('npm install', WEB_DIR);
|
|
101
104
|
out.log('Installing API dependencies...');
|
|
102
105
|
run('npm install', apiDir);
|
|
103
106
|
out.log('Building API...');
|
|
@@ -129,7 +132,7 @@ function launchProcesses(out) {
|
|
|
129
132
|
// Start WebUI
|
|
130
133
|
const webUiLogPath = (0, node_path_1.join)(LOGS_DIR, 'webui.log');
|
|
131
134
|
const webUiLog = (0, node_fs_1.openSync)(webUiLogPath, node_fs_1.constants.O_WRONLY | node_fs_1.constants.O_CREAT | node_fs_1.constants.O_TRUNC);
|
|
132
|
-
const webUiProcess = (0, node_child_process_1.spawn)('
|
|
135
|
+
const webUiProcess = (0, node_child_process_1.spawn)('npm', ['run', 'dev', '--', '--port', String(WEBUI_PORT)], {
|
|
133
136
|
cwd: webUiDir,
|
|
134
137
|
detached: true,
|
|
135
138
|
stdio: ['ignore', webUiLog, webUiLog],
|
package/dist/commands/web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/commands/web.ts"],"names":[],"mappings":";AAAA;;;GAGG;;
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/commands/web.ts"],"names":[],"mappings":"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"}
|
package/dist/runners/cron.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Cron management for runner wake-up
|
|
3
|
+
* Uses launchd on macOS (no permissions needed), cron on Linux
|
|
3
4
|
*/
|
|
4
5
|
export interface CronStatus {
|
|
5
6
|
installed: boolean;
|
|
@@ -12,15 +13,18 @@ export interface CronResult {
|
|
|
12
13
|
error?: string;
|
|
13
14
|
}
|
|
14
15
|
/**
|
|
15
|
-
* Check cron installation status
|
|
16
|
+
* Check cron/launchd installation status
|
|
17
|
+
* Uses launchd on macOS, cron on Linux
|
|
16
18
|
*/
|
|
17
19
|
export declare function cronStatus(): CronStatus;
|
|
18
20
|
/**
|
|
19
|
-
* Install cron job for runner wake-up
|
|
21
|
+
* Install cron/launchd job for runner wake-up
|
|
22
|
+
* Uses launchd on macOS (no permissions needed), cron on Linux
|
|
20
23
|
*/
|
|
21
24
|
export declare function cronInstall(): CronResult;
|
|
22
25
|
/**
|
|
23
|
-
* Uninstall cron job
|
|
26
|
+
* Uninstall cron/launchd job
|
|
27
|
+
* Uses launchd on macOS, cron on Linux
|
|
24
28
|
*/
|
|
25
29
|
export declare function cronUninstall(): CronResult;
|
|
26
30
|
//# sourceMappingURL=cron.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cron.d.ts","sourceRoot":"","sources":["../../src/runners/cron.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cron.d.ts","sourceRoot":"","sources":["../../src/runners/cron.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA6MD;;;GAGG;AACH,wBAAgB,UAAU,IAAI,UAAU,CAoCvC;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,UAAU,CAsDxC;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,UAAU,CAmD1C"}
|
package/dist/runners/cron.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
3
|
* Cron management for runner wake-up
|
|
4
|
+
* Uses launchd on macOS (no permissions needed), cron on Linux
|
|
4
5
|
*/
|
|
5
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
7
|
exports.cronStatus = cronStatus;
|
|
@@ -8,8 +9,12 @@ exports.cronInstall = cronInstall;
|
|
|
8
9
|
exports.cronUninstall = cronUninstall;
|
|
9
10
|
const node_child_process_1 = require("node:child_process");
|
|
10
11
|
const node_os_1 = require("node:os");
|
|
12
|
+
const node_fs_1 = require("node:fs");
|
|
13
|
+
const node_path_1 = require("node:path");
|
|
11
14
|
const CRON_COMMENT = '# steroids-runners-wakeup';
|
|
12
15
|
const CRON_ENTRY = '* * * * * steroids runners wakeup --quiet';
|
|
16
|
+
const LAUNCHD_LABEL = 'com.unlikeotherai.steroids.wakeup';
|
|
17
|
+
const LAUNCHD_PLIST = (0, node_path_1.join)((0, node_os_1.homedir)(), 'Library', 'LaunchAgents', `${LAUNCHD_LABEL}.plist`);
|
|
13
18
|
/**
|
|
14
19
|
* Get current crontab contents
|
|
15
20
|
*/
|
|
@@ -61,7 +66,147 @@ function findSteroidsPath() {
|
|
|
61
66
|
}
|
|
62
67
|
}
|
|
63
68
|
/**
|
|
64
|
-
*
|
|
69
|
+
* Generate launchd plist content
|
|
70
|
+
*/
|
|
71
|
+
function generateLaunchdPlist() {
|
|
72
|
+
const steroidsPath = findSteroidsPath();
|
|
73
|
+
return `<?xml version="1.0" encoding="UTF-8"?>
|
|
74
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
75
|
+
<plist version="1.0">
|
|
76
|
+
<dict>
|
|
77
|
+
<key>Label</key>
|
|
78
|
+
<string>${LAUNCHD_LABEL}</string>
|
|
79
|
+
<key>ProgramArguments</key>
|
|
80
|
+
<array>
|
|
81
|
+
<string>${steroidsPath}</string>
|
|
82
|
+
<string>runners</string>
|
|
83
|
+
<string>wakeup</string>
|
|
84
|
+
<string>--quiet</string>
|
|
85
|
+
</array>
|
|
86
|
+
<key>EnvironmentVariables</key>
|
|
87
|
+
<dict>
|
|
88
|
+
<key>PATH</key>
|
|
89
|
+
<string>/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
|
|
90
|
+
</dict>
|
|
91
|
+
<key>StartInterval</key>
|
|
92
|
+
<integer>60</integer>
|
|
93
|
+
<key>RunAtLoad</key>
|
|
94
|
+
<true/>
|
|
95
|
+
<key>StandardOutPath</key>
|
|
96
|
+
<string>${(0, node_os_1.homedir)()}/Library/Logs/steroids-wakeup.log</string>
|
|
97
|
+
<key>StandardErrorPath</key>
|
|
98
|
+
<string>${(0, node_os_1.homedir)()}/Library/Logs/steroids-wakeup-error.log</string>
|
|
99
|
+
</dict>
|
|
100
|
+
</plist>`;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Check launchd installation status (macOS)
|
|
104
|
+
*/
|
|
105
|
+
function launchdStatus() {
|
|
106
|
+
try {
|
|
107
|
+
// Check if plist file exists
|
|
108
|
+
if (!(0, node_fs_1.existsSync)(LAUNCHD_PLIST)) {
|
|
109
|
+
return { installed: false };
|
|
110
|
+
}
|
|
111
|
+
// Check if loaded
|
|
112
|
+
const result = (0, node_child_process_1.spawnSync)('launchctl', ['list', LAUNCHD_LABEL], {
|
|
113
|
+
encoding: 'utf-8',
|
|
114
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
115
|
+
});
|
|
116
|
+
const isLoaded = result.status === 0;
|
|
117
|
+
return {
|
|
118
|
+
installed: isLoaded,
|
|
119
|
+
entry: isLoaded ? `launchd: ${LAUNCHD_LABEL}` : undefined,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
return {
|
|
124
|
+
installed: false,
|
|
125
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Install launchd job (macOS)
|
|
131
|
+
*/
|
|
132
|
+
function launchdInstall() {
|
|
133
|
+
try {
|
|
134
|
+
// Check if already installed and loaded
|
|
135
|
+
const status = launchdStatus();
|
|
136
|
+
if (status.installed) {
|
|
137
|
+
return {
|
|
138
|
+
success: true,
|
|
139
|
+
message: 'Launchd job already installed',
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
// Generate and write plist
|
|
143
|
+
const plistContent = generateLaunchdPlist();
|
|
144
|
+
(0, node_fs_1.writeFileSync)(LAUNCHD_PLIST, plistContent, 'utf-8');
|
|
145
|
+
// Load the job
|
|
146
|
+
const result = (0, node_child_process_1.spawnSync)('launchctl', ['load', LAUNCHD_PLIST], {
|
|
147
|
+
encoding: 'utf-8',
|
|
148
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
149
|
+
});
|
|
150
|
+
if (result.status !== 0) {
|
|
151
|
+
return {
|
|
152
|
+
success: false,
|
|
153
|
+
message: 'Failed to load launchd job',
|
|
154
|
+
error: result.stderr || 'Unknown error',
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
return {
|
|
158
|
+
success: true,
|
|
159
|
+
message: 'Launchd job installed. Wake-up runs every minute.',
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
catch (error) {
|
|
163
|
+
return {
|
|
164
|
+
success: false,
|
|
165
|
+
message: 'Failed to install launchd job',
|
|
166
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Uninstall launchd job (macOS)
|
|
172
|
+
*/
|
|
173
|
+
function launchdUninstall() {
|
|
174
|
+
try {
|
|
175
|
+
// Unload if loaded
|
|
176
|
+
const status = launchdStatus();
|
|
177
|
+
if (status.installed) {
|
|
178
|
+
const result = (0, node_child_process_1.spawnSync)('launchctl', ['unload', LAUNCHD_PLIST], {
|
|
179
|
+
encoding: 'utf-8',
|
|
180
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
181
|
+
});
|
|
182
|
+
if (result.status !== 0 && !result.stderr?.includes('Could not find')) {
|
|
183
|
+
return {
|
|
184
|
+
success: false,
|
|
185
|
+
message: 'Failed to unload launchd job',
|
|
186
|
+
error: result.stderr || 'Unknown error',
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
// Remove plist file
|
|
191
|
+
if ((0, node_fs_1.existsSync)(LAUNCHD_PLIST)) {
|
|
192
|
+
(0, node_fs_1.unlinkSync)(LAUNCHD_PLIST);
|
|
193
|
+
}
|
|
194
|
+
return {
|
|
195
|
+
success: true,
|
|
196
|
+
message: 'Launchd job removed',
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
catch (error) {
|
|
200
|
+
return {
|
|
201
|
+
success: false,
|
|
202
|
+
message: 'Failed to uninstall launchd job',
|
|
203
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Check cron/launchd installation status
|
|
209
|
+
* Uses launchd on macOS, cron on Linux
|
|
65
210
|
*/
|
|
66
211
|
function cronStatus() {
|
|
67
212
|
if ((0, node_os_1.platform)() === 'win32') {
|
|
@@ -70,6 +215,11 @@ function cronStatus() {
|
|
|
70
215
|
error: 'Cron is not supported on Windows. Use Task Scheduler instead.',
|
|
71
216
|
};
|
|
72
217
|
}
|
|
218
|
+
// Use launchd on macOS (no permissions needed)
|
|
219
|
+
if ((0, node_os_1.platform)() === 'darwin') {
|
|
220
|
+
return launchdStatus();
|
|
221
|
+
}
|
|
222
|
+
// Use cron on Linux
|
|
73
223
|
const crontab = getCrontab();
|
|
74
224
|
if (crontab === null) {
|
|
75
225
|
return {
|
|
@@ -88,7 +238,8 @@ function cronStatus() {
|
|
|
88
238
|
return { installed: false };
|
|
89
239
|
}
|
|
90
240
|
/**
|
|
91
|
-
* Install cron job for runner wake-up
|
|
241
|
+
* Install cron/launchd job for runner wake-up
|
|
242
|
+
* Uses launchd on macOS (no permissions needed), cron on Linux
|
|
92
243
|
*/
|
|
93
244
|
function cronInstall() {
|
|
94
245
|
if ((0, node_os_1.platform)() === 'win32') {
|
|
@@ -98,6 +249,11 @@ function cronInstall() {
|
|
|
98
249
|
error: 'Use Task Scheduler to run: steroids runners wakeup --quiet',
|
|
99
250
|
};
|
|
100
251
|
}
|
|
252
|
+
// Use launchd on macOS (no permissions needed)
|
|
253
|
+
if ((0, node_os_1.platform)() === 'darwin') {
|
|
254
|
+
return launchdInstall();
|
|
255
|
+
}
|
|
256
|
+
// Use cron on Linux
|
|
101
257
|
// Check if already installed
|
|
102
258
|
const status = cronStatus();
|
|
103
259
|
if (status.installed) {
|
|
@@ -134,7 +290,8 @@ function cronInstall() {
|
|
|
134
290
|
};
|
|
135
291
|
}
|
|
136
292
|
/**
|
|
137
|
-
* Uninstall cron job
|
|
293
|
+
* Uninstall cron/launchd job
|
|
294
|
+
* Uses launchd on macOS, cron on Linux
|
|
138
295
|
*/
|
|
139
296
|
function cronUninstall() {
|
|
140
297
|
if ((0, node_os_1.platform)() === 'win32') {
|
|
@@ -144,6 +301,11 @@ function cronUninstall() {
|
|
|
144
301
|
error: 'Remove the Task Scheduler entry manually.',
|
|
145
302
|
};
|
|
146
303
|
}
|
|
304
|
+
// Use launchd on macOS
|
|
305
|
+
if ((0, node_os_1.platform)() === 'darwin') {
|
|
306
|
+
return launchdUninstall();
|
|
307
|
+
}
|
|
308
|
+
// Use cron on Linux
|
|
147
309
|
const crontab = getCrontab();
|
|
148
310
|
if (crontab === null) {
|
|
149
311
|
return {
|
package/dist/runners/cron.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cron.js","sourceRoot":"","sources":["../../src/runners/cron.ts"],"names":[],"mappings":";AAAA;;
|
|
1
|
+
{"version":3,"file":"cron.js","sourceRoot":"","sources":["../../src/runners/cron.ts"],"names":[],"mappings":"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"}
|