@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.
- package/dist/cli.cjs +23 -9
- 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 时记录源
|
|
8742
|
-
// sidebar 据此挂 fork 图标。非 fork session
|
|
8743
|
-
forkedFromToolSessionId
|
|
8747
|
+
// 由 session:fork 派生的 session 在 create 时记录源 session 的 sessionId(稳定 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
|
|
8959
|
-
|
|
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
|
-
|
|
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
|
-
...
|
|
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