clay-server 3.4.0-beta.13 → 3.4.0-beta.14
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/lib/daemon.js +58 -58
- package/package.json +1 -1
package/lib/daemon.js
CHANGED
|
@@ -1041,64 +1041,6 @@ function shutdownProjects() {
|
|
|
1041
1041
|
|
|
1042
1042
|
// Worktree tracking extracted to daemon-projects.js
|
|
1043
1043
|
|
|
1044
|
-
// --- Register projects ---
|
|
1045
|
-
var projects = config.projects || [];
|
|
1046
|
-
for (var i = 0; i < projects.length; i++) {
|
|
1047
|
-
var p = projects[i];
|
|
1048
|
-
if (fs.existsSync(p.path)) {
|
|
1049
|
-
console.log("[daemon] Adding project:", p.slug, "→", p.path);
|
|
1050
|
-
relay.addProject(p.path, p.slug, p.title, p.icon, p.ownerId);
|
|
1051
|
-
// Discover and register worktrees for this project
|
|
1052
|
-
scanAndRegisterWorktrees(relay, p.path, p.slug, p.icon, p.ownerId);
|
|
1053
|
-
} else {
|
|
1054
|
-
console.log("[daemon] Skipping missing project:", p.path);
|
|
1055
|
-
}
|
|
1056
|
-
}
|
|
1057
|
-
|
|
1058
|
-
// Migrate legacy mates storage before registration
|
|
1059
|
-
mates.migrateLegacyMates();
|
|
1060
|
-
|
|
1061
|
-
// Register existing mates as projects
|
|
1062
|
-
if (usersModule.isMultiUser()) {
|
|
1063
|
-
// Multi-user mode: iterate over all users and load each user's mates
|
|
1064
|
-
var allUsers = usersModule.getAllUsers();
|
|
1065
|
-
for (var ui = 0; ui < allUsers.length; ui++) {
|
|
1066
|
-
var mateCtx = mates.buildMateCtx(allUsers[ui].id);
|
|
1067
|
-
var userMates = mates.getAllMates(mateCtx);
|
|
1068
|
-
for (var mi = 0; mi < userMates.length; mi++) {
|
|
1069
|
-
var m = userMates[mi];
|
|
1070
|
-
var mateDir = mates.getMateDir(mateCtx, m.id);
|
|
1071
|
-
var mateSlug = "mate-" + m.id;
|
|
1072
|
-
var mateName = (m.profile && m.profile.displayName) || m.name || "New Mate";
|
|
1073
|
-
if (fs.existsSync(mateDir)) {
|
|
1074
|
-
var mateDef = m.builtinKey ? require("./builtin-mates").getBuiltinByKey(m.builtinKey) : null;
|
|
1075
|
-
var isHost = !!(mateDef && mateDef.hostAgent);
|
|
1076
|
-
console.log("[daemon] Adding mate project:", mateSlug + (isHost ? " (host agent)" : ""));
|
|
1077
|
-
relay.addProject(mateDir, mateSlug, mateName, null, m.createdBy, null, { isMate: true, mateDisplayName: mateName, isHostAgent: isHost });
|
|
1078
|
-
}
|
|
1079
|
-
}
|
|
1080
|
-
}
|
|
1081
|
-
} else {
|
|
1082
|
-
// Single-user mode: use null ctx
|
|
1083
|
-
var mateCtx = mates.buildMateCtx(null);
|
|
1084
|
-
var allMates = mates.getAllMates(mateCtx);
|
|
1085
|
-
for (var mi = 0; mi < allMates.length; mi++) {
|
|
1086
|
-
var m = allMates[mi];
|
|
1087
|
-
var mateDir = mates.getMateDir(mateCtx, m.id);
|
|
1088
|
-
var mateSlug = "mate-" + m.id;
|
|
1089
|
-
var mateName = (m.profile && m.profile.displayName) || m.name || "New Mate";
|
|
1090
|
-
if (fs.existsSync(mateDir)) {
|
|
1091
|
-
var mateDef2 = m.builtinKey ? require("./builtin-mates").getBuiltinByKey(m.builtinKey) : null;
|
|
1092
|
-
var isHost2 = !!(mateDef2 && mateDef2.hostAgent);
|
|
1093
|
-
console.log("[daemon] Adding mate project:", mateSlug + (isHost2 ? " (host agent)" : ""));
|
|
1094
|
-
relay.addProject(mateDir, mateSlug, mateName, null, m.createdBy, null, { isMate: true, mateDisplayName: mateName, isHostAgent: isHost2 });
|
|
1095
|
-
}
|
|
1096
|
-
}
|
|
1097
|
-
}
|
|
1098
|
-
|
|
1099
|
-
// Sync ~/.clayrc on startup
|
|
1100
|
-
try { syncClayrc(config.projects); } catch (e) {}
|
|
1101
|
-
|
|
1102
1044
|
// --- IPC server ---
|
|
1103
1045
|
// Clean up stale socket/config left by a previously killed daemon
|
|
1104
1046
|
var existingConfig = loadConfig();
|
|
@@ -1334,6 +1276,64 @@ var ipc = createIPCServer(socketPath(), function (msg) {
|
|
|
1334
1276
|
}
|
|
1335
1277
|
});
|
|
1336
1278
|
|
|
1279
|
+
// --- Register projects ---
|
|
1280
|
+
var projects = config.projects || [];
|
|
1281
|
+
for (var i = 0; i < projects.length; i++) {
|
|
1282
|
+
var p = projects[i];
|
|
1283
|
+
if (fs.existsSync(p.path)) {
|
|
1284
|
+
console.log("[daemon] Adding project:", p.slug, "→", p.path);
|
|
1285
|
+
relay.addProject(p.path, p.slug, p.title, p.icon, p.ownerId);
|
|
1286
|
+
// Discover and register worktrees for this project
|
|
1287
|
+
scanAndRegisterWorktrees(relay, p.path, p.slug, p.icon, p.ownerId);
|
|
1288
|
+
} else {
|
|
1289
|
+
console.log("[daemon] Skipping missing project:", p.path);
|
|
1290
|
+
}
|
|
1291
|
+
}
|
|
1292
|
+
|
|
1293
|
+
// Migrate legacy mates storage before registration
|
|
1294
|
+
mates.migrateLegacyMates();
|
|
1295
|
+
|
|
1296
|
+
// Register existing mates as projects
|
|
1297
|
+
if (usersModule.isMultiUser()) {
|
|
1298
|
+
// Multi-user mode: iterate over all users and load each user's mates
|
|
1299
|
+
var allUsers = usersModule.getAllUsers();
|
|
1300
|
+
for (var ui = 0; ui < allUsers.length; ui++) {
|
|
1301
|
+
var mateCtx = mates.buildMateCtx(allUsers[ui].id);
|
|
1302
|
+
var userMates = mates.getAllMates(mateCtx);
|
|
1303
|
+
for (var mi = 0; mi < userMates.length; mi++) {
|
|
1304
|
+
var m = userMates[mi];
|
|
1305
|
+
var mateDir = mates.getMateDir(mateCtx, m.id);
|
|
1306
|
+
var mateSlug = "mate-" + m.id;
|
|
1307
|
+
var mateName = (m.profile && m.profile.displayName) || m.name || "New Mate";
|
|
1308
|
+
if (fs.existsSync(mateDir)) {
|
|
1309
|
+
var mateDef = m.builtinKey ? require("./builtin-mates").getBuiltinByKey(m.builtinKey) : null;
|
|
1310
|
+
var isHost = !!(mateDef && mateDef.hostAgent);
|
|
1311
|
+
console.log("[daemon] Adding mate project:", mateSlug + (isHost ? " (host agent)" : ""));
|
|
1312
|
+
relay.addProject(mateDir, mateSlug, mateName, null, m.createdBy, null, { isMate: true, mateDisplayName: mateName, isHostAgent: isHost });
|
|
1313
|
+
}
|
|
1314
|
+
}
|
|
1315
|
+
}
|
|
1316
|
+
} else {
|
|
1317
|
+
// Single-user mode: use null ctx
|
|
1318
|
+
var mateCtx = mates.buildMateCtx(null);
|
|
1319
|
+
var allMates = mates.getAllMates(mateCtx);
|
|
1320
|
+
for (var mi = 0; mi < allMates.length; mi++) {
|
|
1321
|
+
var m = allMates[mi];
|
|
1322
|
+
var mateDir = mates.getMateDir(mateCtx, m.id);
|
|
1323
|
+
var mateSlug = "mate-" + m.id;
|
|
1324
|
+
var mateName = (m.profile && m.profile.displayName) || m.name || "New Mate";
|
|
1325
|
+
if (fs.existsSync(mateDir)) {
|
|
1326
|
+
var mateDef2 = m.builtinKey ? require("./builtin-mates").getBuiltinByKey(m.builtinKey) : null;
|
|
1327
|
+
var isHost2 = !!(mateDef2 && mateDef2.hostAgent);
|
|
1328
|
+
console.log("[daemon] Adding mate project:", mateSlug + (isHost2 ? " (host agent)" : ""));
|
|
1329
|
+
relay.addProject(mateDir, mateSlug, mateName, null, m.createdBy, null, { isMate: true, mateDisplayName: mateName, isHostAgent: isHost2 });
|
|
1330
|
+
}
|
|
1331
|
+
}
|
|
1332
|
+
}
|
|
1333
|
+
|
|
1334
|
+
// Sync ~/.clayrc on startup
|
|
1335
|
+
try { syncClayrc(config.projects); } catch (e) {}
|
|
1336
|
+
|
|
1337
1337
|
// --- Cleanup stale SDK warmup CLI session files ---
|
|
1338
1338
|
//
|
|
1339
1339
|
// On adapter init the SDK is given a dummy "hi" prompt to discover models,
|
package/package.json
CHANGED