@clawos-dev/clawd 0.2.39-beta.57.0ca5b06 → 0.2.40-beta.58.9fda551

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 +23 -9
  2. package/package.json +1 -1
package/dist/cli.cjs CHANGED
@@ -8607,6 +8607,9 @@ var init_persona_schemas = __esm({
8607
8607
  label: external_exports.string(),
8608
8608
  model: external_exports.string().optional(),
8609
8609
  public: external_exports.boolean(),
8610
+ // 8-key set defined UI-side in `lib/session-icons.ts`; protocol stays plain string
8611
+ // for forward compatibility, consumer fallbacks to default when key not found.
8612
+ iconKey: external_exports.string().optional(),
8610
8613
  tokenMap: external_exports.record(external_exports.string(), PersonaTokenEntrySchema),
8611
8614
  createdAt: external_exports.number(),
8612
8615
  updatedAt: external_exports.number()
@@ -8615,7 +8618,8 @@ var init_persona_schemas = __esm({
8615
8618
  label: external_exports.string().min(1),
8616
8619
  personality: external_exports.string(),
8617
8620
  model: external_exports.string().optional(),
8618
- public: external_exports.boolean().optional()
8621
+ public: external_exports.boolean().optional(),
8622
+ iconKey: external_exports.string().optional()
8619
8623
  }).strict();
8620
8624
  PersonaIdArgsSchema = external_exports.object({
8621
8625
  personaId: external_exports.string().min(1)
@@ -8626,7 +8630,9 @@ var init_persona_schemas = __esm({
8626
8630
  label: external_exports.string().min(1).optional(),
8627
8631
  model: external_exports.string().optional(),
8628
8632
  personality: external_exports.string().optional(),
8629
- public: external_exports.boolean().optional()
8633
+ public: external_exports.boolean().optional(),
8634
+ // pass `null` to clear; daemon strips the field from PersonaFile on null
8635
+ iconKey: external_exports.string().nullable().optional()
8630
8636
  }).strict()
8631
8637
  }).strict();
8632
8638
  PersonaIssueTokenArgsSchema = external_exports.object({
@@ -8738,9 +8744,10 @@ var init_schemas = __esm({
8738
8744
  // NewSessionDialog 勾选 worktree 创建的 session 才会持久化这两个字段
8739
8745
  worktreeRoot: external_exports.string().min(1).optional(),
8740
8746
  worktreeBranch: external_exports.string().min(1).optional(),
8741
- // 由 session:fork 派生的 session 在 create 时记录源 transcripttoolSessionId;
8742
- // sidebar 据此挂 fork 图标。非 fork session 该字段缺省
8743
- forkedFromToolSessionId: external_exports.string().min(1).optional(),
8747
+ // 由 session:fork 派生的 session 在 create 时记录源 sessionsessionId(稳定 key,
8748
+ // 不受 parent clear / re-spawn 影响);sidebar 据此挂 fork 图标。非 fork session 该字段缺省。
8749
+ // 旧字段 forkedFromToolSessionId 已弃用,daemon 启动时一次性迁移老数据
8750
+ forkedFromSessionId: external_exports.string().min(1).optional(),
8744
8751
  // owner-mode persona session 身份标识;UI 用它在 SessionList 过滤 + jump,
8745
8752
  // daemon 用它做 idempotent dedupe + spawn 时派生 ctx.personaMode='owner'
8746
8753
  ownerPersonaId: external_exports.string().min(1).optional(),
@@ -8955,8 +8962,8 @@ var init_schemas = __esm({
8955
8962
  // NewSessionDialog 勾选 worktree 时由 UI 传入,daemon 原样持久化,不做额外副作用
8956
8963
  worktreeRoot: external_exports.string().min(1).optional(),
8957
8964
  worktreeBranch: external_exports.string().min(1).optional(),
8958
- // session:fork 派生 session 时由 UI 传入,daemon 写到 SessionFile.forkedFromToolSessionId
8959
- forkedFromToolSessionId: external_exports.string().min(1).optional(),
8965
+ // session:fork 派生 session 时由 UI 传入源 sessionId,daemon 写到 SessionFile.forkedFromSessionId
8966
+ forkedFromSessionId: external_exports.string().min(1).optional(),
8960
8967
  // owner-mode persona session:传此字段时 daemon 自行派生 cwd 和启动参数,
8961
8968
  // 且按 ownerPersonaId 做 idempotent dedupe(每 persona 永远只有一个 owner session)
8962
8969
  ownerPersonaId: external_exports.string().min(1).optional()
@@ -16789,7 +16796,7 @@ var SessionManager = class {
16789
16796
  iconKey: args.iconKey,
16790
16797
  worktreeRoot: args.worktreeRoot,
16791
16798
  worktreeBranch: args.worktreeBranch,
16792
- forkedFromToolSessionId: args.forkedFromToolSessionId,
16799
+ forkedFromSessionId: args.forkedFromSessionId,
16793
16800
  ownerPersonaId: args.ownerPersonaId,
16794
16801
  createdAt: iso,
16795
16802
  updatedAt: iso
@@ -17624,6 +17631,7 @@ var PersonaManager = class {
17624
17631
  label: args.label,
17625
17632
  model: args.model,
17626
17633
  public: args.public ?? false,
17634
+ iconKey: args.iconKey,
17627
17635
  tokenMap: {},
17628
17636
  createdAt: now,
17629
17637
  updatedAt: now
@@ -17635,11 +17643,17 @@ var PersonaManager = class {
17635
17643
  update(personaId, patch, personality) {
17636
17644
  const existing = this.deps.registry.get(personaId);
17637
17645
  if (!existing) throw new Error(`persona not found: ${personaId}`);
17646
+ const { iconKey: iconKeyPatch, ...restPatch } = patch;
17638
17647
  const updated = {
17639
17648
  ...existing,
17640
- ...patch,
17649
+ ...restPatch,
17641
17650
  updatedAt: Date.now()
17642
17651
  };
17652
+ if (iconKeyPatch === null) {
17653
+ delete updated.iconKey;
17654
+ } else if (iconKeyPatch !== void 0) {
17655
+ updated.iconKey = iconKeyPatch;
17656
+ }
17643
17657
  if (personality !== void 0) {
17644
17658
  this.deps.store.write(updated, personality);
17645
17659
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clawos-dev/clawd",
3
- "version": "0.2.39-beta.57.0ca5b06",
3
+ "version": "0.2.40-beta.58.9fda551",
4
4
  "description": "Standalone clawd daemon — Claude Code (and future Codex) session server over WebSocket",
5
5
  "type": "module",
6
6
  "license": "MIT",