@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.
- package/dist/cli.cjs +32 -0
- 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