@slycode/slycode 0.2.14 → 0.2.15
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/dist/bridge/claude-utils.d.ts +2 -3
- package/dist/bridge/claude-utils.js +28 -17
- package/dist/bridge/claude-utils.js.map +1 -1
- package/dist/bridge/pty-handler.js +40 -0
- package/dist/bridge/pty-handler.js.map +1 -1
- package/dist/scripts/slycode-env-wrapper.sh +10 -1
- package/dist/web/.next/BUILD_ID +1 -1
- package/dist/web/.next/build-manifest.json +2 -2
- package/dist/web/.next/server/app/_global-error.html +2 -2
- package/dist/web/.next/server/app/_global-error.rsc +1 -1
- package/dist/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/dist/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dist/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dist/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.html +1 -1
- package/dist/web/.next/server/app/_not-found.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/dist/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/web/.next/server/app/project/[id]/page_client-reference-manifest.js +1 -1
- package/dist/web/.next/server/chunks/ssr/[root-of-the-server]__1f5fc489._.js +1 -1
- package/dist/web/.next/server/chunks/ssr/[root-of-the-server]__bcbe4bf2._.js +1 -1
- package/dist/web/.next/server/pages/404.html +1 -1
- package/dist/web/.next/server/pages/500.html +2 -2
- package/dist/web/.next/static/chunks/{cfec56fdddd52361.js → 68a737843232927b.js} +1 -1
- package/dist/web/.next/static/chunks/7b456abf0afeeb60.js +4 -0
- package/dist/web/src/components/ClaudeTerminalPanel.tsx +30 -0
- package/lib/cli/restart.d.ts.map +1 -1
- package/lib/cli/restart.js +5 -9
- package/lib/cli/restart.js.map +1 -1
- package/lib/cli/start.d.ts.map +1 -1
- package/lib/cli/start.js +38 -10
- package/lib/cli/start.js.map +1 -1
- package/lib/cli/update.js +1 -1
- package/lib/cli/update.js.map +1 -1
- package/lib/platform/service-common.d.ts +24 -0
- package/lib/platform/service-common.d.ts.map +1 -0
- package/lib/platform/service-common.js +119 -0
- package/lib/platform/service-common.js.map +1 -0
- package/lib/platform/service-detect.d.ts.map +1 -1
- package/lib/platform/service-detect.js +32 -20
- package/lib/platform/service-detect.js.map +1 -1
- package/lib/platform/service-linux.d.ts +1 -1
- package/lib/platform/service-linux.d.ts.map +1 -1
- package/lib/platform/service-linux.js +10 -77
- package/lib/platform/service-linux.js.map +1 -1
- package/lib/platform/service-macos.d.ts +1 -1
- package/lib/platform/service-macos.d.ts.map +1 -1
- package/lib/platform/service-macos.js +176 -49
- package/lib/platform/service-macos.js.map +1 -1
- package/package.json +1 -1
- package/templates/kanban-seed.json +1 -1
- package/dist/web/.next/static/chunks/c5d50c930f4e26a6.js +0 -4
- /package/dist/web/.next/static/{y4wg5RLBkOtdMpGszS8Fs → du1bb9CKBc_rQF_UArbIP}/_buildManifest.js +0 -0
- /package/dist/web/.next/static/{y4wg5RLBkOtdMpGszS8Fs → du1bb9CKBc_rQF_UArbIP}/_clientMiddlewareManifest.json +0 -0
- /package/dist/web/.next/static/{y4wg5RLBkOtdMpGszS8Fs → du1bb9CKBc_rQF_UArbIP}/_ssgManifest.js +0 -0
|
@@ -38,8 +38,7 @@ const path = __importStar(require("path"));
|
|
|
38
38
|
const fs = __importStar(require("fs"));
|
|
39
39
|
const os = __importStar(require("os"));
|
|
40
40
|
const child_process_1 = require("child_process");
|
|
41
|
-
const
|
|
42
|
-
const SERVICES = ['web', 'bridge', 'messaging'];
|
|
41
|
+
const service_common_1 = require("./service-common");
|
|
43
42
|
function hasSystemd() {
|
|
44
43
|
try {
|
|
45
44
|
(0, child_process_1.execSync)('systemctl --user --version', { stdio: 'pipe' });
|
|
@@ -64,40 +63,10 @@ function getUnitDir() {
|
|
|
64
63
|
}
|
|
65
64
|
return dir;
|
|
66
65
|
}
|
|
67
|
-
/**
|
|
68
|
-
* Load .env from the workspace and return key=value pairs.
|
|
69
|
-
* Needed because systemd services don't inherit the user's .env.
|
|
70
|
-
*/
|
|
71
|
-
function loadEnvFile(workspace) {
|
|
72
|
-
const envFile = path.join(workspace, '.env');
|
|
73
|
-
const vars = {};
|
|
74
|
-
if (!fs.existsSync(envFile))
|
|
75
|
-
return vars;
|
|
76
|
-
for (const line of fs.readFileSync(envFile, 'utf-8').split('\n')) {
|
|
77
|
-
const trimmed = line.trim();
|
|
78
|
-
if (!trimmed || trimmed.startsWith('#'))
|
|
79
|
-
continue;
|
|
80
|
-
const eq = trimmed.indexOf('=');
|
|
81
|
-
if (eq > 0) {
|
|
82
|
-
const key = trimmed.slice(0, eq);
|
|
83
|
-
const val = trimmed.slice(eq + 1);
|
|
84
|
-
if (val)
|
|
85
|
-
vars[key] = val; // Only include non-empty values
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
return vars;
|
|
89
|
-
}
|
|
90
|
-
function resolveWrapperScript(workspace) {
|
|
91
|
-
const packageDir = (0, workspace_1.resolvePackageDir)(workspace);
|
|
92
|
-
const wrapperPath = packageDir
|
|
93
|
-
? path.join(packageDir, 'dist', 'scripts', 'slycode-env-wrapper.sh')
|
|
94
|
-
: path.join(workspace, 'packages', 'slycode', 'src', 'platform', 'slycode-env-wrapper.sh');
|
|
95
|
-
return wrapperPath;
|
|
96
|
-
}
|
|
97
66
|
function generateUnit(service, workspace, config) {
|
|
98
67
|
const nodePath = process.execPath;
|
|
99
|
-
const resolvedPackage = resolveEntryPoint(service, workspace);
|
|
100
|
-
const wrapperScript = resolveWrapperScript(workspace);
|
|
68
|
+
const resolvedPackage = (0, service_common_1.resolveEntryPoint)(service, workspace);
|
|
69
|
+
const wrapperScript = (0, service_common_1.resolveWrapperScript)(workspace);
|
|
101
70
|
const bridgeUrl = `http://127.0.0.1:${config.ports.bridge}`;
|
|
102
71
|
const host = config.host || '127.0.0.1';
|
|
103
72
|
let description;
|
|
@@ -148,22 +117,6 @@ ${envLines.join('\n')}
|
|
|
148
117
|
WantedBy=default.target
|
|
149
118
|
`;
|
|
150
119
|
}
|
|
151
|
-
function resolveEntryPoint(service, workspace) {
|
|
152
|
-
const packageDir = (0, workspace_1.resolvePackageDir)(workspace);
|
|
153
|
-
const distDir = packageDir ? path.join(packageDir, 'dist') : null;
|
|
154
|
-
// Web uses server.js (Next.js standalone), others use index.js
|
|
155
|
-
const entryFile = service === 'web' ? 'server.js' : 'index.js';
|
|
156
|
-
if (distDir) {
|
|
157
|
-
const distPath = path.join(distDir, service, entryFile);
|
|
158
|
-
if (fs.existsSync(distPath))
|
|
159
|
-
return distPath;
|
|
160
|
-
}
|
|
161
|
-
// Fallback to local dev build
|
|
162
|
-
if (service === 'web') {
|
|
163
|
-
return path.join(workspace, 'web', 'node_modules', '.bin', 'next');
|
|
164
|
-
}
|
|
165
|
-
return path.join(workspace, service, 'dist', 'index.js');
|
|
166
|
-
}
|
|
167
120
|
function checkLinger() {
|
|
168
121
|
try {
|
|
169
122
|
const output = (0, child_process_1.execSync)(`loginctl show-user ${os.userInfo().username} -p Linger --value 2>/dev/null`, { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
|
|
@@ -173,26 +126,6 @@ function checkLinger() {
|
|
|
173
126
|
return false;
|
|
174
127
|
}
|
|
175
128
|
}
|
|
176
|
-
/**
|
|
177
|
-
* Determine which services should be installed.
|
|
178
|
-
* Skips messaging if no channel tokens are configured.
|
|
179
|
-
*/
|
|
180
|
-
function getEnabledServices(config, envVars) {
|
|
181
|
-
const enabled = [];
|
|
182
|
-
for (const svc of SERVICES) {
|
|
183
|
-
if (!config.services[svc]) {
|
|
184
|
-
console.log(` ⊘ ${svc}: disabled in config — skipping`);
|
|
185
|
-
continue;
|
|
186
|
-
}
|
|
187
|
-
if (svc === 'messaging' && !envVars.TELEGRAM_BOT_TOKEN && !envVars.SLACK_TOKEN) {
|
|
188
|
-
console.log(` ⊘ messaging: no channels configured — skipping`);
|
|
189
|
-
console.log(' (add TELEGRAM_BOT_TOKEN to .env, then run service install again)');
|
|
190
|
-
continue;
|
|
191
|
-
}
|
|
192
|
-
enabled.push(svc);
|
|
193
|
-
}
|
|
194
|
-
return enabled;
|
|
195
|
-
}
|
|
196
129
|
async function install(workspace, config) {
|
|
197
130
|
if (!hasSystemd()) {
|
|
198
131
|
console.error('systemd is not available on this system.');
|
|
@@ -201,10 +134,10 @@ async function install(workspace, config) {
|
|
|
201
134
|
}
|
|
202
135
|
ensureXdgRuntime();
|
|
203
136
|
const unitDir = getUnitDir();
|
|
204
|
-
const envVars = loadEnvFile(workspace);
|
|
137
|
+
const envVars = (0, service_common_1.loadEnvFile)(workspace);
|
|
205
138
|
console.log('Installing systemd user services...');
|
|
206
139
|
console.log('');
|
|
207
|
-
const enabled = getEnabledServices(config, envVars);
|
|
140
|
+
const enabled = (0, service_common_1.getEnabledServices)(config, envVars);
|
|
208
141
|
if (enabled.length === 0) {
|
|
209
142
|
console.error('No services to install.');
|
|
210
143
|
return;
|
|
@@ -213,7 +146,7 @@ async function install(workspace, config) {
|
|
|
213
146
|
// Validate entry points before installing
|
|
214
147
|
const installable = [];
|
|
215
148
|
for (const svc of enabled) {
|
|
216
|
-
const entryPoint = resolveEntryPoint(svc, workspace);
|
|
149
|
+
const entryPoint = (0, service_common_1.resolveEntryPoint)(svc, workspace);
|
|
217
150
|
if (!fs.existsSync(entryPoint)) {
|
|
218
151
|
console.warn(` \u2717 ${svc}: entry point not found: ${entryPoint}`);
|
|
219
152
|
continue;
|
|
@@ -226,7 +159,7 @@ async function install(workspace, config) {
|
|
|
226
159
|
return;
|
|
227
160
|
}
|
|
228
161
|
// Ensure env wrapper script is executable
|
|
229
|
-
const wrapperScript = resolveWrapperScript(workspace);
|
|
162
|
+
const wrapperScript = (0, service_common_1.resolveWrapperScript)(workspace);
|
|
230
163
|
if (!fs.existsSync(wrapperScript)) {
|
|
231
164
|
console.error(` ✗ env wrapper not found: ${wrapperScript}`);
|
|
232
165
|
console.error('Is slycode installed correctly?');
|
|
@@ -294,7 +227,7 @@ async function remove() {
|
|
|
294
227
|
ensureXdgRuntime();
|
|
295
228
|
console.log('Removing systemd user services...');
|
|
296
229
|
// Disable first (prevents restart loops), then stop with timeout
|
|
297
|
-
for (const svc of SERVICES) {
|
|
230
|
+
for (const svc of service_common_1.SERVICES) {
|
|
298
231
|
try {
|
|
299
232
|
(0, child_process_1.execSync)(`systemctl --user disable slycode-${svc}`, { stdio: 'pipe' });
|
|
300
233
|
}
|
|
@@ -324,13 +257,13 @@ async function status() {
|
|
|
324
257
|
}
|
|
325
258
|
// Check if any unit files exist
|
|
326
259
|
const unitDir = getUnitDir();
|
|
327
|
-
const hasUnits = SERVICES.some(svc => fs.existsSync(path.join(unitDir, `slycode-${svc}.service`)));
|
|
260
|
+
const hasUnits = service_common_1.SERVICES.some(svc => fs.existsSync(path.join(unitDir, `slycode-${svc}.service`)));
|
|
328
261
|
if (!hasUnits) {
|
|
329
262
|
console.log(' No services installed.');
|
|
330
263
|
console.log(' Install with: slycode service install');
|
|
331
264
|
return;
|
|
332
265
|
}
|
|
333
|
-
for (const svc of SERVICES) {
|
|
266
|
+
for (const svc of service_common_1.SERVICES) {
|
|
334
267
|
const unitPath = path.join(unitDir, `slycode-${svc}.service`);
|
|
335
268
|
if (!fs.existsSync(unitPath)) {
|
|
336
269
|
console.log(` slycode-${svc}: not installed`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-linux.js","sourceRoot":"","sources":["../../src/platform/service-linux.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service-linux.js","sourceRoot":"","sources":["../../src/platform/service-linux.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { SlyCodeConfig } from '../cli/workspace';
|
|
2
2
|
export declare function serviceMacos(action: 'install' | 'remove' | 'status', workspace: string, config: SlyCodeConfig): Promise<void>;
|
|
3
3
|
//# sourceMappingURL=service-macos.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-macos.d.ts","sourceRoot":"","sources":["../../src/platform/service-macos.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"service-macos.d.ts","sourceRoot":"","sources":["../../src/platform/service-macos.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAiTtD,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,EACvC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,IAAI,CAAC,CAMf"}
|
|
@@ -38,8 +38,7 @@ const path = __importStar(require("path"));
|
|
|
38
38
|
const fs = __importStar(require("fs"));
|
|
39
39
|
const os = __importStar(require("os"));
|
|
40
40
|
const child_process_1 = require("child_process");
|
|
41
|
-
const
|
|
42
|
-
const SERVICES = ['web', 'bridge', 'messaging'];
|
|
41
|
+
const service_common_1 = require("./service-common");
|
|
43
42
|
function getLaunchAgentsDir() {
|
|
44
43
|
const dir = path.join(os.homedir(), 'Library', 'LaunchAgents');
|
|
45
44
|
if (!fs.existsSync(dir)) {
|
|
@@ -50,45 +49,48 @@ function getLaunchAgentsDir() {
|
|
|
50
49
|
function plistPath(service) {
|
|
51
50
|
return path.join(getLaunchAgentsDir(), `com.slycode.${service}.plist`);
|
|
52
51
|
}
|
|
53
|
-
function resolveEntryPoint(service, workspace) {
|
|
54
|
-
const distPath = path.join(workspace, 'node_modules', '@slycode', 'slycode', 'dist', service, 'index.js');
|
|
55
|
-
if (fs.existsSync(distPath))
|
|
56
|
-
return distPath;
|
|
57
|
-
return path.join(workspace, service, 'dist', 'index.js');
|
|
58
|
-
}
|
|
59
|
-
function resolveWrapperScript(workspace) {
|
|
60
|
-
const packageDir = (0, workspace_1.resolvePackageDir)(workspace);
|
|
61
|
-
const wrapperPath = packageDir
|
|
62
|
-
? path.join(packageDir, 'dist', 'scripts', 'slycode-env-wrapper.sh')
|
|
63
|
-
: path.join(workspace, 'packages', 'slycode', 'src', 'platform', 'slycode-env-wrapper.sh');
|
|
64
|
-
return wrapperPath;
|
|
65
|
-
}
|
|
66
52
|
function generatePlist(service, workspace, config) {
|
|
67
53
|
const nodePath = process.execPath;
|
|
68
|
-
const entryPoint = resolveEntryPoint(service, workspace);
|
|
69
|
-
const wrapperScript = resolveWrapperScript(workspace);
|
|
54
|
+
const entryPoint = (0, service_common_1.resolveEntryPoint)(service, workspace);
|
|
55
|
+
const wrapperScript = (0, service_common_1.resolveWrapperScript)(workspace);
|
|
70
56
|
const label = `com.slycode.${service}`;
|
|
71
57
|
const logDir = path.join(os.homedir(), '.slycode', 'logs');
|
|
72
58
|
const logPath = path.join(logDir, `${service}.log`);
|
|
73
59
|
const bridgeUrl = `http://127.0.0.1:${config.ports.bridge}`;
|
|
60
|
+
const host = config.host || '127.0.0.1';
|
|
74
61
|
if (!fs.existsSync(logDir)) {
|
|
75
62
|
fs.mkdirSync(logDir, { recursive: true });
|
|
76
63
|
}
|
|
64
|
+
// Build service-specific env entries matching Linux systemd units
|
|
77
65
|
let envEntries;
|
|
78
66
|
switch (service) {
|
|
79
67
|
case 'web':
|
|
80
68
|
envEntries = ` <key>PORT</key>
|
|
81
69
|
<string>${config.ports.web}</string>
|
|
70
|
+
<key>HOST</key>
|
|
71
|
+
<string>${host}</string>
|
|
72
|
+
<key>HOSTNAME</key>
|
|
73
|
+
<string>${host}</string>
|
|
82
74
|
<key>BRIDGE_URL</key>
|
|
83
75
|
<string>${bridgeUrl}</string>`;
|
|
84
76
|
break;
|
|
85
77
|
case 'bridge':
|
|
86
|
-
envEntries = ` <key>
|
|
87
|
-
<string>${config.ports.bridge}</string
|
|
78
|
+
envEntries = ` <key>PORT</key>
|
|
79
|
+
<string>${config.ports.bridge}</string>
|
|
80
|
+
<key>BRIDGE_PORT</key>
|
|
81
|
+
<string>${config.ports.bridge}</string>
|
|
82
|
+
<key>BRIDGE_HOST</key>
|
|
83
|
+
<string>127.0.0.1</string>
|
|
84
|
+
<key>HOST</key>
|
|
85
|
+
<string>127.0.0.1</string>`;
|
|
88
86
|
break;
|
|
89
87
|
case 'messaging':
|
|
90
|
-
envEntries = ` <key>
|
|
88
|
+
envEntries = ` <key>PORT</key>
|
|
91
89
|
<string>${config.ports.messaging}</string>
|
|
90
|
+
<key>MESSAGING_SERVICE_PORT</key>
|
|
91
|
+
<string>${config.ports.messaging}</string>
|
|
92
|
+
<key>HOST</key>
|
|
93
|
+
<string>127.0.0.1</string>
|
|
92
94
|
<key>BRIDGE_URL</key>
|
|
93
95
|
<string>${bridgeUrl}</string>`;
|
|
94
96
|
break;
|
|
@@ -112,6 +114,10 @@ function generatePlist(service, workspace, config) {
|
|
|
112
114
|
</array>
|
|
113
115
|
<key>EnvironmentVariables</key>
|
|
114
116
|
<dict>
|
|
117
|
+
<key>HOME</key>
|
|
118
|
+
<string>${os.homedir()}</string>
|
|
119
|
+
<key>PATH</key>
|
|
120
|
+
<string>${process.env.PATH}</string>
|
|
115
121
|
<key>NODE_ENV</key>
|
|
116
122
|
<string>production</string>
|
|
117
123
|
<key>SLYCODE_HOME</key>
|
|
@@ -122,6 +128,8 @@ ${envEntries}
|
|
|
122
128
|
<true/>
|
|
123
129
|
<key>RunAtLoad</key>
|
|
124
130
|
<true/>
|
|
131
|
+
<key>ThrottleInterval</key>
|
|
132
|
+
<integer>10</integer>
|
|
125
133
|
<key>StandardOutPath</key>
|
|
126
134
|
<string>${logPath}</string>
|
|
127
135
|
<key>StandardErrorPath</key>
|
|
@@ -130,12 +138,66 @@ ${envEntries}
|
|
|
130
138
|
</plist>
|
|
131
139
|
`;
|
|
132
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* Check if a launchd agent is loaded (regardless of whether it's running).
|
|
143
|
+
*/
|
|
144
|
+
function isAgentLoaded(service) {
|
|
145
|
+
try {
|
|
146
|
+
(0, child_process_1.execSync)(`launchctl list com.slycode.${service} 2>/dev/null`, {
|
|
147
|
+
encoding: 'utf-8',
|
|
148
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
149
|
+
});
|
|
150
|
+
return true;
|
|
151
|
+
}
|
|
152
|
+
catch {
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Check if a launchd agent is running (has a PID).
|
|
158
|
+
*/
|
|
159
|
+
function getAgentPid(service) {
|
|
160
|
+
try {
|
|
161
|
+
const output = (0, child_process_1.execSync)(`launchctl list com.slycode.${service} 2>/dev/null`, {
|
|
162
|
+
encoding: 'utf-8',
|
|
163
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
164
|
+
});
|
|
165
|
+
const pidMatch = output.match(/"PID"\s*=\s*(\d+)/);
|
|
166
|
+
return pidMatch ? parseInt(pidMatch[1], 10) : null;
|
|
167
|
+
}
|
|
168
|
+
catch {
|
|
169
|
+
return null;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
133
172
|
async function install(workspace, config) {
|
|
173
|
+
const envVars = (0, service_common_1.loadEnvFile)(workspace);
|
|
134
174
|
console.log('Installing launchd user agents...');
|
|
175
|
+
console.log('');
|
|
176
|
+
const enabled = (0, service_common_1.getEnabledServices)(config, envVars);
|
|
177
|
+
if (enabled.length === 0) {
|
|
178
|
+
console.error('No services to install.');
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
console.log('');
|
|
182
|
+
// Validate entry points before installing
|
|
183
|
+
const installable = [];
|
|
184
|
+
for (const svc of enabled) {
|
|
185
|
+
const entryPoint = (0, service_common_1.resolveEntryPoint)(svc, workspace);
|
|
186
|
+
if (!fs.existsSync(entryPoint)) {
|
|
187
|
+
console.warn(` \u2717 ${svc}: entry point not found: ${entryPoint}`);
|
|
188
|
+
continue;
|
|
189
|
+
}
|
|
190
|
+
installable.push(svc);
|
|
191
|
+
}
|
|
192
|
+
if (installable.length === 0) {
|
|
193
|
+
console.error('No services have valid entry points. Is slycode installed?');
|
|
194
|
+
console.error('Try: cd ' + workspace + ' && npm install');
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
135
197
|
// Ensure env wrapper script is executable
|
|
136
|
-
const wrapperScript = resolveWrapperScript(workspace);
|
|
198
|
+
const wrapperScript = (0, service_common_1.resolveWrapperScript)(workspace);
|
|
137
199
|
if (!fs.existsSync(wrapperScript)) {
|
|
138
|
-
console.error(`
|
|
200
|
+
console.error(` \u2717 env wrapper not found: ${wrapperScript}`);
|
|
139
201
|
console.error('Is slycode installed correctly?');
|
|
140
202
|
return;
|
|
141
203
|
}
|
|
@@ -143,52 +205,117 @@ async function install(workspace, config) {
|
|
|
143
205
|
fs.chmodSync(wrapperScript, 0o755);
|
|
144
206
|
}
|
|
145
207
|
catch { /* ok if already executable */ }
|
|
146
|
-
for (const svc of
|
|
208
|
+
for (const svc of installable) {
|
|
147
209
|
const plist = generatePlist(svc, workspace, config);
|
|
148
210
|
const dest = plistPath(svc);
|
|
211
|
+
// Unload first for idempotency (ignore errors — may not be loaded)
|
|
212
|
+
try {
|
|
213
|
+
(0, child_process_1.execSync)(`launchctl unload "${dest}"`, { stdio: 'pipe' });
|
|
214
|
+
}
|
|
215
|
+
catch { /* ok */ }
|
|
149
216
|
fs.writeFileSync(dest, plist);
|
|
150
|
-
|
|
151
|
-
|
|
217
|
+
try {
|
|
218
|
+
(0, child_process_1.execSync)(`launchctl load "${dest}"`, { stdio: 'pipe' });
|
|
219
|
+
console.log(` \u2713 Loaded com.slycode.${svc}`);
|
|
220
|
+
}
|
|
221
|
+
catch (e) {
|
|
222
|
+
console.error(` \u2717 Failed to load com.slycode.${svc}: ${e.message || e}`);
|
|
223
|
+
}
|
|
152
224
|
}
|
|
225
|
+
// Clean up stale plists for services not in the enabled set
|
|
226
|
+
for (const svc of service_common_1.SERVICES) {
|
|
227
|
+
if (!installable.includes(svc)) {
|
|
228
|
+
const dest = plistPath(svc);
|
|
229
|
+
if (fs.existsSync(dest)) {
|
|
230
|
+
try {
|
|
231
|
+
(0, child_process_1.execSync)(`launchctl unload "${dest}"`, { stdio: 'pipe' });
|
|
232
|
+
}
|
|
233
|
+
catch { /* ok */ }
|
|
234
|
+
fs.unlinkSync(dest);
|
|
235
|
+
console.log(` \u2298 Removed stale plist for ${svc}`);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
// Wait for services to stabilize
|
|
153
240
|
console.log('');
|
|
154
|
-
console.log('
|
|
241
|
+
console.log('Waiting for services to start...');
|
|
242
|
+
await new Promise((r) => setTimeout(r, 3000));
|
|
243
|
+
// Verify each service
|
|
244
|
+
let allOk = true;
|
|
245
|
+
for (const svc of installable) {
|
|
246
|
+
const pid = getAgentPid(svc);
|
|
247
|
+
if (pid) {
|
|
248
|
+
console.log(` \u2713 com.slycode.${svc} is running (PID ${pid})`);
|
|
249
|
+
}
|
|
250
|
+
else if (isAgentLoaded(svc)) {
|
|
251
|
+
console.warn(` \u2717 com.slycode.${svc} loaded but not running (crashed?)`);
|
|
252
|
+
console.log(` Check logs: ~/.slycode/logs/${svc}.log`);
|
|
253
|
+
allOk = false;
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
console.warn(` \u2717 com.slycode.${svc} failed to load`);
|
|
257
|
+
console.log(` Check logs: ~/.slycode/logs/${svc}.log`);
|
|
258
|
+
allOk = false;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
console.log('');
|
|
262
|
+
if (allOk) {
|
|
263
|
+
console.log('All launchd agents installed and running.');
|
|
264
|
+
}
|
|
265
|
+
else {
|
|
266
|
+
console.log('Some services failed. Check ~/.slycode/logs/<service>.log for details.');
|
|
267
|
+
}
|
|
155
268
|
}
|
|
156
269
|
async function remove() {
|
|
157
270
|
console.log('Removing launchd user agents...');
|
|
158
|
-
|
|
271
|
+
let removedAny = false;
|
|
272
|
+
for (const svc of service_common_1.SERVICES) {
|
|
159
273
|
const dest = plistPath(svc);
|
|
160
|
-
if (fs.existsSync(dest))
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
274
|
+
if (!fs.existsSync(dest))
|
|
275
|
+
continue;
|
|
276
|
+
// Unload first, then delete plist
|
|
277
|
+
try {
|
|
278
|
+
(0, child_process_1.execSync)(`launchctl unload "${dest}"`, { stdio: 'pipe' });
|
|
279
|
+
}
|
|
280
|
+
catch (e) {
|
|
281
|
+
console.warn(` ! Could not unload com.slycode.${svc}: ${e.message || 'unknown error'}`);
|
|
167
282
|
}
|
|
283
|
+
fs.unlinkSync(dest);
|
|
284
|
+
console.log(` \u2713 Removed com.slycode.${svc}`);
|
|
285
|
+
removedAny = true;
|
|
286
|
+
}
|
|
287
|
+
if (removedAny) {
|
|
288
|
+
console.log('');
|
|
289
|
+
console.log('Launchd agents removed.');
|
|
290
|
+
}
|
|
291
|
+
else {
|
|
292
|
+
console.log(' No agents were installed.');
|
|
168
293
|
}
|
|
169
|
-
console.log(' \u2713 Launchd agents removed');
|
|
170
294
|
}
|
|
171
295
|
async function status() {
|
|
172
|
-
|
|
296
|
+
const logDir = path.join(os.homedir(), '.slycode', 'logs');
|
|
297
|
+
// Check if any plists exist
|
|
298
|
+
const hasAny = service_common_1.SERVICES.some(svc => fs.existsSync(plistPath(svc)));
|
|
299
|
+
if (!hasAny) {
|
|
300
|
+
console.log(' No services installed.');
|
|
301
|
+
console.log(' Install with: slycode service install');
|
|
302
|
+
return;
|
|
303
|
+
}
|
|
304
|
+
for (const svc of service_common_1.SERVICES) {
|
|
173
305
|
const dest = plistPath(svc);
|
|
174
306
|
if (!fs.existsSync(dest)) {
|
|
175
307
|
console.log(` com.slycode.${svc}: not installed`);
|
|
176
308
|
continue;
|
|
177
309
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
console.log(` com.slycode.${svc}: running (PID ${pidMatch[1]})`);
|
|
186
|
-
}
|
|
187
|
-
else {
|
|
188
|
-
console.log(` com.slycode.${svc}: loaded but not running`);
|
|
189
|
-
}
|
|
310
|
+
const pid = getAgentPid(svc);
|
|
311
|
+
if (pid) {
|
|
312
|
+
console.log(` com.slycode.${svc}: running (PID ${pid})`);
|
|
313
|
+
}
|
|
314
|
+
else if (isAgentLoaded(svc)) {
|
|
315
|
+
console.log(` com.slycode.${svc}: loaded but not running`);
|
|
316
|
+
console.log(` Check logs: ${path.join(logDir, `${svc}.log`)}`);
|
|
190
317
|
}
|
|
191
|
-
|
|
318
|
+
else {
|
|
192
319
|
console.log(` com.slycode.${svc}: not loaded`);
|
|
193
320
|
}
|
|
194
321
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-macos.js","sourceRoot":"","sources":["../../src/platform/service-macos.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"service-macos.js","sourceRoot":"","sources":["../../src/platform/service-macos.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED