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.
Files changed (2) hide show
  1. package/lib/daemon.js +58 -58
  2. 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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clay-server",
3
- "version": "3.4.0-beta.13",
3
+ "version": "3.4.0-beta.14",
4
4
  "description": "Self-hosted team workspace for Claude Code and Codex. Multi-user, browser-based, with persistent AI mates.",
5
5
  "bin": {
6
6
  "clay-server": "./bin/cli.js",