@delt/claude-alarm 0.6.23 → 0.6.25

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.js CHANGED
@@ -142,6 +142,25 @@ var init_session_manager = __esm({
142
142
  SessionManager = class {
143
143
  sessions = /* @__PURE__ */ new Map();
144
144
  register(session) {
145
+ const baseName = session.cwd?.replace(/^.*[/\\]/, "") || session.name;
146
+ const existing = Array.from(this.sessions.values()).filter(
147
+ (s) => s.id !== session.id && (s.cwd?.replace(/^.*[/\\]/, "") || s.name) === baseName
148
+ );
149
+ if (existing.length > 0) {
150
+ const usedNums = existing.map((s) => {
151
+ const m = s.displayName?.match(/\((\d+)\)$/);
152
+ return m ? parseInt(m[1], 10) : 1;
153
+ });
154
+ for (const s of existing) {
155
+ if (!s.displayName?.match(/\(\d+\)$/)) {
156
+ s.displayName = `${baseName} (1)`;
157
+ }
158
+ }
159
+ const nextNum = Math.max(...usedNums, 1) + 1;
160
+ session.displayName = `${baseName} (${nextNum})`;
161
+ } else {
162
+ session.displayName = baseName;
163
+ }
145
164
  this.sessions.set(session.id, { ...session });
146
165
  }
147
166
  unregister(sessionId2) {
@@ -531,7 +550,7 @@ ${this.mdToHtml(message)}`;
531
550
  }
532
551
  }
533
552
  getLabel(session) {
534
- return session.cwd?.replace(/^.*[/\\]/, "") || session.name;
553
+ return session.displayName || session.cwd?.replace(/^.*[/\\]/, "") || session.name;
535
554
  }
536
555
  /** Send a permission request with inline buttons */
537
556
  async sendPermissionRequest(sessionId2, sessionLabel, requestId, toolName, description, inputPreview) {
@@ -1279,7 +1298,7 @@ var init_server = __esm({
1279
1298
  }
1280
1299
  getSessionLabel(session) {
1281
1300
  if (!session) return "unknown";
1282
- return session.cwd?.replace(/^.*[/\\]/, "") || session.name;
1301
+ return session.displayName || session.cwd?.replace(/^.*[/\\]/, "") || session.name;
1283
1302
  }
1284
1303
  jsonResponse(res, status, body) {
1285
1304
  res.writeHead(status, { "Content-Type": "application/json" });