@clawos-dev/clawd 0.2.135-beta.280.568890f → 0.2.135-beta.281.fb1ead2

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/dist/cli.cjs +32 -0
  2. package/package.json +1 -1
package/dist/cli.cjs CHANGED
@@ -34511,6 +34511,20 @@ var PersonaStore = class {
34511
34511
  this.atomicWrite(this.claudeMdPath(personaId), personality);
34512
34512
  this.atomicWrite(this.agentsMdPath(personaId), personality);
34513
34513
  }
34514
+ /**
34515
+ * 历史 persona 补 AGENTS.md:人格双写镜像是 codex 适配后才加的,更早落盘的 persona 只有
34516
+ * CLAUDE.md。codex 原生读 cwd 的 AGENTS.md,缺失则切到 codex 后人格丢失。daemon 启动跑一次
34517
+ * migrate(见 seed.migrateAgentsMirror)。幂等:已有 AGENTS.md(含用户手改的)不覆盖;
34518
+ * 无 CLAUDE.md 不凭空造。返回是否实际补写。
34519
+ */
34520
+ ensureAgentsMirror(personaId) {
34521
+ const claudeMd = this.claudeMdPath(personaId);
34522
+ const agentsMd = this.agentsMdPath(personaId);
34523
+ if (!fs7.existsSync(claudeMd)) return false;
34524
+ if (fs7.existsSync(agentsMd)) return false;
34525
+ this.atomicWrite(agentsMd, fs7.readFileSync(claudeMd, "utf8"));
34526
+ return true;
34527
+ }
34514
34528
  /**
34515
34529
  * 覆盖式写 persona 级 sandbox 配置(seed 给有 profile 的 persona 写 base⊕profile;owner 之后可手编)。
34516
34530
  * 这份是 guest 沙箱的 **base 真源**:manager spawn 时 composeGuestSandbox 读它 + 叠强制底座
@@ -35225,6 +35239,23 @@ function refreshDaemonManagedDirs(args) {
35225
35239
  }
35226
35240
  }
35227
35241
  }
35242
+ function migrateAgentsMirror(args) {
35243
+ let mirrored = 0;
35244
+ for (const personaId of args.store.list()) {
35245
+ try {
35246
+ if (args.store.ensureAgentsMirror(personaId)) {
35247
+ mirrored++;
35248
+ args.logger.info("persona.agents-mirror.synced", { personaId });
35249
+ }
35250
+ } catch (err) {
35251
+ args.logger.warn("persona.agents-mirror.failed", {
35252
+ personaId,
35253
+ error: err instanceof Error ? err.message : String(err)
35254
+ });
35255
+ }
35256
+ }
35257
+ if (mirrored > 0) args.logger.info("persona.agents-mirror.done", { mirrored });
35258
+ }
35228
35259
 
35229
35260
  // src/index.ts
35230
35261
  init_claude();
@@ -45252,6 +45283,7 @@ async function startDaemon(config) {
45252
45283
  } else {
45253
45284
  logger.warn("persona.seed.skip", { reason: "defaults-root-not-found" });
45254
45285
  }
45286
+ migrateAgentsMirror({ store: personaStore, logger });
45255
45287
  const groupFileStore = new GroupFileStore({ dataDir: config.dataDir, logger });
45256
45288
  const manager = new SessionManager({
45257
45289
  store,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clawos-dev/clawd",
3
- "version": "0.2.135-beta.280.568890f",
3
+ "version": "0.2.135-beta.281.fb1ead2",
4
4
  "description": "Standalone clawd daemon — Claude Code (and future Codex) session server over WebSocket",
5
5
  "type": "module",
6
6
  "license": "MIT",