claude-code-session-manager 0.54.0 → 0.55.0

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.
@@ -263,12 +263,29 @@ export interface AgentPersona {
263
263
  name: string;
264
264
  description: string | null;
265
265
  tools: string[];
266
+ model: string | null;
267
+ color: string | null;
268
+ /** Epic intent tags (tagLibrary.ts's TAG_LIBRARY) this persona is associated with. */
269
+ tags: string[];
266
270
  path: string;
267
271
  body: string;
268
272
  /** Project names (basename of cwd) whose currently-open tab overlays this agent. */
269
273
  overridingProjects: string[];
270
274
  }
271
275
 
276
+ /** Payload for `agents.savePersona` — creates or overwrites a global persona file. */
277
+ export interface AgentPersonaSaveInput {
278
+ name: string;
279
+ /** Previous filename, when renaming an existing persona. Omit when creating. */
280
+ originalName?: string;
281
+ description: string;
282
+ tools: string[];
283
+ model: string;
284
+ color: string;
285
+ tags: string[];
286
+ body: string;
287
+ }
288
+
272
289
  export interface VoiceHotkeyConfig {
273
290
  accelerator: string;
274
291
  mode: 'hold' | 'toggle';
@@ -1329,6 +1346,9 @@ export interface SessionManagerAPI {
1329
1346
  };
1330
1347
  agents: {
1331
1348
  listPersonas: () => Promise<AgentPersona[]>;
1349
+ savePersona: (payload: AgentPersonaSaveInput) => Promise<{ ok: boolean; path: string }>;
1350
+ deletePersona: (payload: { name: string }) => Promise<{ ok: boolean }>;
1351
+ removeOverride: (payload: { name: string; projectName: string }) => Promise<{ ok: boolean }>;
1332
1352
  };
1333
1353
  logs: {
1334
1354
  write: (
@@ -148,6 +148,9 @@ contextBridge.exposeInMainWorld('api', {
148
148
  },
149
149
  agents: {
150
150
  listPersonas: () => ipcRenderer.invoke('agents:list-personas'),
151
+ savePersona: (payload) => ipcRenderer.invoke('agents:save-persona', payload),
152
+ deletePersona: (payload) => ipcRenderer.invoke('agents:delete-persona', payload),
153
+ removeOverride: (payload) => ipcRenderer.invoke('agents:remove-override', payload),
151
154
  },
152
155
  logs: {
153
156
  // ctx is optional: { cwd, tabId, epicId, tags } — when present and