@clawos-dev/clawd 0.2.497 → 0.2.499

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.
@@ -22551,12 +22551,16 @@ var PersonaFileSchema = external_exports.object({
22551
22551
  createdAt: external_exports.number(),
22552
22552
  updatedAt: external_exports.number(),
22553
22553
  /**
22554
- * 云上 persona(design 2026-09-09-cloud-persona-in-clawd):这个 persona 跑在哪台 gateway 上。
22554
+ * 云上 persona(design 2026-09-09-cloud-persona-in-clawd):这个 persona 跑在哪台 gateway 上、在那台 gateway 上叫什么。
22555
22555
  * 有这个字段 = 条目来自 gateway 的登记表(daemon 每次 persona:list 拉 /healthz 合进 registry),
22556
- * 本机没有它的目录;会话的 cwd 是 `<gatewayUrl>/p/<personaId>`,tool 是 `codex-cloud`。
22556
+ * 本机没有它的目录;会话的 cwd 是 `<gatewayUrl>/p/<cloud.personaId>`,tool 是 `codex-cloud`。
22557
22557
  * 没有 = 本机 persona,一切照旧。UI 按它分组、隐藏设置 / 上云 / 删除入口。
22558
+ *
22559
+ * 顶层 `personaId` 是本机列表里的键,固定为 `<cloud.personaId>-cloud`(design 2026-09-11-cloud-persona-slug):
22560
+ * 上云的就是本机同名 persona,不加后缀发布者自己永远看不到「云上」组。gateway 不认识带后缀的名字,
22561
+ * 跟它说话(路径段、登记表)一律用 `cloud.personaId`。
22558
22562
  */
22559
- cloud: external_exports.object({ gatewayUrl: external_exports.string().min(1) }).strict().optional()
22563
+ cloud: external_exports.object({ gatewayUrl: external_exports.string().min(1), personaId: external_exports.string().min(1) }).strict().optional()
22560
22564
  }).strict();
22561
22565
  var PersonaSkillSummarySchema = external_exports.object({
22562
22566
  // 目录名作为 skill name(对齐 CC:frontmatter `name:` 仅作 displayName 用)
package/dist/cli.cjs CHANGED
@@ -7418,12 +7418,16 @@ var init_persona_schemas = __esm({
7418
7418
  createdAt: external_exports.number(),
7419
7419
  updatedAt: external_exports.number(),
7420
7420
  /**
7421
- * 云上 persona(design 2026-09-09-cloud-persona-in-clawd):这个 persona 跑在哪台 gateway 上。
7421
+ * 云上 persona(design 2026-09-09-cloud-persona-in-clawd):这个 persona 跑在哪台 gateway 上、在那台 gateway 上叫什么。
7422
7422
  * 有这个字段 = 条目来自 gateway 的登记表(daemon 每次 persona:list 拉 /healthz 合进 registry),
7423
- * 本机没有它的目录;会话的 cwd 是 `<gatewayUrl>/p/<personaId>`,tool 是 `codex-cloud`。
7423
+ * 本机没有它的目录;会话的 cwd 是 `<gatewayUrl>/p/<cloud.personaId>`,tool 是 `codex-cloud`。
7424
7424
  * 没有 = 本机 persona,一切照旧。UI 按它分组、隐藏设置 / 上云 / 删除入口。
7425
+ *
7426
+ * 顶层 `personaId` 是本机列表里的键,固定为 `<cloud.personaId>-cloud`(design 2026-09-11-cloud-persona-slug):
7427
+ * 上云的就是本机同名 persona,不加后缀发布者自己永远看不到「云上」组。gateway 不认识带后缀的名字,
7428
+ * 跟它说话(路径段、登记表)一律用 `cloud.personaId`。
7425
7429
  */
7426
- cloud: external_exports.object({ gatewayUrl: external_exports.string().min(1) }).strict().optional()
7430
+ cloud: external_exports.object({ gatewayUrl: external_exports.string().min(1), personaId: external_exports.string().min(1) }).strict().optional()
7427
7431
  }).strict();
7428
7432
  PersonaSkillSummarySchema = external_exports.object({
7429
7433
  // 目录名作为 skill name(对齐 CC:frontmatter `name:` 仅作 displayName 用)
@@ -47300,7 +47304,7 @@ dispatchId for this task: ${args.dispatchId}`;
47300
47304
  function derivePersonaSpawnCwd(file, personaRoot, cloud) {
47301
47305
  const personaId2 = file.ownerPersonaId;
47302
47306
  if (!personaId2) return file.cwd;
47303
- if (cloud) return `${cloud.gatewayUrl.replace(/\/+$/, "")}/p/${personaId2}`;
47307
+ if (cloud) return `${cloud.gatewayUrl.replace(/\/+$/, "")}/p/${cloud.personaId}`;
47304
47308
  if (!personaRoot) {
47305
47309
  throw new Error(
47306
47310
  `derivePersonaSpawnCwd: personaRoot missing for owner session ${file.sessionId} (ownerPersonaId=${personaId2})`
@@ -51889,7 +51893,12 @@ function driveCodexThread(opts) {
51889
51893
  // TurnStartParams 字段是 `effort`(不是 `reasoningEffort`,0.138 改名)——传错名字
51890
51894
  // codex 静默忽略, reasoning effort 改了不生效。"override for this turn and subsequent turns"。
51891
51895
  ...effort ? { effort } : {}
51892
- }).catch((e) => sink.onError(`turn/start failed: ${e.message}`));
51896
+ }).catch(
51897
+ (e) => sink.pushEvents([
51898
+ { kind: "error", message: `turn/start failed: ${e.message}` },
51899
+ { kind: "turn_end" }
51900
+ ])
51901
+ );
51893
51902
  });
51894
51903
  },
51895
51904
  respondPermission(requestId, allow) {
@@ -58193,10 +58202,11 @@ var GATEWAY_ROUTES = {
58193
58202
  thread: (personaId2, threadId) => `/p/${encodeURIComponent(personaId2)}/threads/${encodeURIComponent(threadId)}`
58194
58203
  };
58195
58204
  var trimSlash = (u) => u.replace(/\/+$/, "");
58205
+ var CLOUD_PERSONA_ID_SUFFIX = "-cloud";
58196
58206
  function cloudPersonaToFile(p2) {
58197
58207
  const at2 = p2.registeredAt ?? 0;
58198
58208
  return {
58199
- personaId: p2.personaId,
58209
+ personaId: p2.personaId + CLOUD_PERSONA_ID_SUFFIX,
58200
58210
  label: p2.personaId,
58201
58211
  tool: CODEX_CLOUD_TOOL_ID,
58202
58212
  ...p2.model ? { model: p2.model } : {},
@@ -58204,7 +58214,7 @@ function cloudPersonaToFile(p2) {
58204
58214
  public: false,
58205
58215
  createdAt: at2,
58206
58216
  updatedAt: at2,
58207
- cloud: { gatewayUrl: p2.gatewayUrl }
58217
+ cloud: { gatewayUrl: p2.gatewayUrl, personaId: p2.personaId }
58208
58218
  };
58209
58219
  }
58210
58220
  var CloudGatewayClient = class {
@@ -58554,7 +58564,7 @@ function deferredLineStream() {
58554
58564
  };
58555
58565
  }
58556
58566
  function createCloudCodexSession(ctx, sink, deps) {
58557
- const personaId2 = ctx.personaId ?? personaIdFromCloudCwd(ctx.cwd);
58567
+ const personaId2 = personaIdFromCloudCwd(ctx.cwd);
58558
58568
  const stream = deferredLineStream();
58559
58569
  const driver = driveCodexThread({
58560
58570
  ctx,
@@ -65638,7 +65648,7 @@ function computeMethodAccess(args) {
65638
65648
  }
65639
65649
 
65640
65650
  // src/version.ts
65641
- var version = "0.2.497".length > 0 ? "0.2.497" : "dev";
65651
+ var version = "0.2.499".length > 0 ? "0.2.499" : "dev";
65642
65652
 
65643
65653
  // src/cli-probe/probe.ts
65644
65654
  var fs72 = __toESM(require("fs"), 1);
@@ -22544,12 +22544,16 @@ var PersonaFileSchema = external_exports.object({
22544
22544
  createdAt: external_exports.number(),
22545
22545
  updatedAt: external_exports.number(),
22546
22546
  /**
22547
- * 云上 persona(design 2026-09-09-cloud-persona-in-clawd):这个 persona 跑在哪台 gateway 上。
22547
+ * 云上 persona(design 2026-09-09-cloud-persona-in-clawd):这个 persona 跑在哪台 gateway 上、在那台 gateway 上叫什么。
22548
22548
  * 有这个字段 = 条目来自 gateway 的登记表(daemon 每次 persona:list 拉 /healthz 合进 registry),
22549
- * 本机没有它的目录;会话的 cwd 是 `<gatewayUrl>/p/<personaId>`,tool 是 `codex-cloud`。
22549
+ * 本机没有它的目录;会话的 cwd 是 `<gatewayUrl>/p/<cloud.personaId>`,tool 是 `codex-cloud`。
22550
22550
  * 没有 = 本机 persona,一切照旧。UI 按它分组、隐藏设置 / 上云 / 删除入口。
22551
+ *
22552
+ * 顶层 `personaId` 是本机列表里的键,固定为 `<cloud.personaId>-cloud`(design 2026-09-11-cloud-persona-slug):
22553
+ * 上云的就是本机同名 persona,不加后缀发布者自己永远看不到「云上」组。gateway 不认识带后缀的名字,
22554
+ * 跟它说话(路径段、登记表)一律用 `cloud.personaId`。
22551
22555
  */
22552
- cloud: external_exports.object({ gatewayUrl: external_exports.string().min(1) }).strict().optional()
22556
+ cloud: external_exports.object({ gatewayUrl: external_exports.string().min(1), personaId: external_exports.string().min(1) }).strict().optional()
22553
22557
  }).strict();
22554
22558
  var PersonaSkillSummarySchema = external_exports.object({
22555
22559
  // 目录名作为 skill name(对齐 CC:frontmatter `name:` 仅作 displayName 用)