@ccpocket/bridge 1.48.1 → 1.50.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.
package/dist/session.js CHANGED
@@ -7,6 +7,7 @@ import { pathToSlug, renameClaudeSession, renameCodexSession, saveCodexSessionAd
7
7
  import { SdkProcess, } from "./sdk-process.js";
8
8
  import { CodexProcess } from "./codex-process.js";
9
9
  import { createWorktree } from "./worktree.js";
10
+ import { buildAutoRenameTranscript, generateAutoRenameName, } from "./auto-rename.js";
10
11
  const MAX_HISTORY_PER_SESSION = 100;
11
12
  function mergeCodexSettings(current, msg) {
12
13
  const model = sanitizeCodexModel(msg.model);
@@ -65,14 +66,16 @@ export class SessionManager {
65
66
  galleryStore;
66
67
  onGalleryImage;
67
68
  worktreeStore;
69
+ onSessionUpdated;
68
70
  /** Cache slash commands per project path for early loading on subsequent sessions. */
69
71
  commandCache = new Map();
70
- constructor(onMessage, imageStore, galleryStore, onGalleryImage, worktreeStore) {
72
+ constructor(onMessage, imageStore, galleryStore, onGalleryImage, worktreeStore, onSessionUpdated) {
71
73
  this.onMessage = onMessage;
72
74
  this.imageStore = imageStore ?? null;
73
75
  this.galleryStore = galleryStore ?? null;
74
76
  this.onGalleryImage = onGalleryImage ?? null;
75
77
  this.worktreeStore = worktreeStore ?? null;
78
+ this.onSessionUpdated = onSessionUpdated ?? null;
76
79
  }
77
80
  create(projectPath, options, pastMessages, worktreeOpts, provider, codexOptions) {
78
81
  const id = randomUUID().slice(0, 8);
@@ -128,6 +131,10 @@ export class SessionManager {
128
131
  gitBranch,
129
132
  worktreePath: wtPath,
130
133
  worktreeBranch: wtBranch,
134
+ autoRename: options?.autoRename === true &&
135
+ !options.sessionId &&
136
+ !options.continueMode &&
137
+ !codexOptions?.threadId,
131
138
  // Pre-populate claudeSessionId for resumed sessions so that get_history
132
139
  // can return it immediately (before the SDK sends a system/result event).
133
140
  claudeSessionId: options?.sessionId,
@@ -310,6 +317,7 @@ export class SessionManager {
310
317
  // conversation file always has them.
311
318
  if (msg.type === "result") {
312
319
  this.backfillUserUuidsFromDisk(session);
320
+ this.scheduleAutoRename(session);
313
321
  }
314
322
  }
315
323
  catch (err) {
@@ -524,6 +532,68 @@ export class SessionManager {
524
532
  session.historyLowWatermark =
525
533
  session.historyEntries[0]?.seq ?? session.historyRevision + 1;
526
534
  }
535
+ scheduleAutoRename(session) {
536
+ if (!this.shouldAutoRename(session))
537
+ return;
538
+ session.autoRenameAttempted = true;
539
+ setTimeout(() => {
540
+ void this.autoRenameSession(session).catch((err) => {
541
+ console.warn(`[session] Failed to auto-rename session ${session.id}:`, err);
542
+ });
543
+ }, 0);
544
+ }
545
+ shouldAutoRename(session) {
546
+ if (!session.autoRename || session.autoRenameAttempted || session.name) {
547
+ return false;
548
+ }
549
+ if (this.isInternalAutoRenameSession(session))
550
+ return false;
551
+ return buildAutoRenameTranscript(session.history) !== null;
552
+ }
553
+ isInternalAutoRenameSession(session) {
554
+ if (session.codexSettings?.model === "codex-auto-review")
555
+ return true;
556
+ const firstUser = session.history.find((msg) => msg.type === "user_input");
557
+ return (firstUser?.type === "user_input" &&
558
+ firstUser.text.startsWith("The following is the Codex agent history whose request action"));
559
+ }
560
+ async autoRenameSession(session) {
561
+ if (session.name)
562
+ return;
563
+ const transcript = buildAutoRenameTranscript(session.history);
564
+ if (!transcript)
565
+ return;
566
+ const name = generateAutoRenameName(session.worktreePath ?? session.projectPath, transcript);
567
+ if (!name || session.name)
568
+ return;
569
+ const persisted = await this.persistSessionName(session, name);
570
+ if (!persisted || session.name)
571
+ return;
572
+ session.name = name;
573
+ this.onSessionUpdated?.(session.id);
574
+ }
575
+ async persistSessionName(session, name) {
576
+ if (session.provider === "claude" && session.claudeSessionId) {
577
+ await renameClaudeSession(session.worktreePath ?? session.projectPath, session.claudeSessionId, name);
578
+ return true;
579
+ }
580
+ if (session.provider !== "codex")
581
+ return false;
582
+ if (session.process instanceof CodexProcess) {
583
+ try {
584
+ await session.process.renameThread(name);
585
+ return true;
586
+ }
587
+ catch (err) {
588
+ console.warn(`[session] Failed to auto-rename Codex thread:`, err);
589
+ }
590
+ }
591
+ if (session.claudeSessionId) {
592
+ await renameCodexSession(session.claudeSessionId, name);
593
+ return true;
594
+ }
595
+ return false;
596
+ }
527
597
  extractLastMessage(s) {
528
598
  // Search in-memory history (newest first) for assistant text
529
599
  for (let i = s.history.length - 1; i >= 0; i--) {
@@ -899,6 +969,7 @@ export class SessionManager {
899
969
  if (!session)
900
970
  return false;
901
971
  session.name = name ?? undefined;
972
+ session.autoRenameAttempted = true;
902
973
  return true;
903
974
  }
904
975
  destroy(id) {
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { DebugTraceStore } from "./debug-trace-store.js";
6
6
  import { RecordingStore } from "./recording-store.js";
7
7
  import type { FirebaseAuthClient } from "./firebase-auth.js";
8
8
  import type { PromptHistoryBackupStore } from "./prompt-history-backup.js";
9
+ import type { PromptHistoryStore } from "./prompt-history-store.js";
9
10
  export interface BridgeServerOptions {
10
11
  server: HttpServer;
11
12
  apiKey?: string;
@@ -17,6 +18,7 @@ export interface BridgeServerOptions {
17
18
  recordingStore?: RecordingStore;
18
19
  firebaseAuth?: FirebaseAuthClient;
19
20
  promptHistoryBackup?: PromptHistoryBackupStore;
21
+ promptHistoryStore?: PromptHistoryStore;
20
22
  platform?: NodeJS.Platform;
21
23
  }
22
24
  export declare class BridgeWebSocketServer {
@@ -34,6 +36,7 @@ export declare class BridgeWebSocketServer {
34
36
  private worktreeStore;
35
37
  private pushRelay;
36
38
  private promptHistoryBackup;
39
+ private promptHistoryStore;
37
40
  private recentSessionsRequestId;
38
41
  private debugEvents;
39
42
  private notifiedPermissionToolUses;
@@ -83,8 +86,10 @@ export declare class BridgeWebSocketServer {
83
86
  private resolveSession;
84
87
  private getFirstSession;
85
88
  private sendSessionList;
89
+ private sendPromptHistoryStatus;
86
90
  /** Broadcast session list to all connected clients. */
87
91
  private broadcastSessionList;
92
+ private broadcastPromptHistoryStatus;
88
93
  private broadcastSessionMessage;
89
94
  private listRecentSessions;
90
95
  private refreshCodexProfiles;
package/dist/websocket.js CHANGED
@@ -38,6 +38,10 @@ const CODEX_MODELS = [
38
38
  "gpt-5.3-codex",
39
39
  "gpt-5.3-codex-spark",
40
40
  ];
41
+ const OPT_IN_SERVER_MESSAGES = new Set([
42
+ "conversation_queue",
43
+ "prompt_history_status",
44
+ ]);
41
45
  // ---- Codex mode mapping helpers ----
42
46
  /** Map unified PermissionMode to Codex approval_policy.
43
47
  * Only "bypassPermissions" maps to "never"; all others use "on-request". */
@@ -166,6 +170,7 @@ export class BridgeWebSocketServer {
166
170
  worktreeStore;
167
171
  pushRelay;
168
172
  promptHistoryBackup;
173
+ promptHistoryStore;
169
174
  recentSessionsRequestId = 0;
170
175
  debugEvents = new Map();
171
176
  notifiedPermissionToolUses = new Map();
@@ -181,7 +186,7 @@ export class BridgeWebSocketServer {
181
186
  platform;
182
187
  clientSupportedServerMessages = new WeakMap();
183
188
  constructor(options) {
184
- const { server, apiKey, allowedDirs, imageStore, galleryStore, projectHistory, debugTraceStore, recordingStore, firebaseAuth, promptHistoryBackup, platform, } = options;
189
+ const { server, apiKey, allowedDirs, imageStore, galleryStore, projectHistory, debugTraceStore, recordingStore, firebaseAuth, promptHistoryBackup, promptHistoryStore, platform, } = options;
185
190
  this.apiKey = apiKey ?? null;
186
191
  this.allowedDirs = allowedDirs ?? [];
187
192
  this.imageStore = imageStore ?? null;
@@ -192,6 +197,7 @@ export class BridgeWebSocketServer {
192
197
  this.worktreeStore = new WorktreeStore();
193
198
  this.pushRelay = new PushRelayClient({ firebaseAuth });
194
199
  this.promptHistoryBackup = promptHistoryBackup ?? null;
200
+ this.promptHistoryStore = promptHistoryStore ?? null;
195
201
  this.platform = platform ?? process.platform;
196
202
  this.archiveStore = new ArchiveStore();
197
203
  void this.debugTraceStore.init().catch((err) => {
@@ -221,7 +227,7 @@ export class BridgeWebSocketServer {
221
227
  const info = this.galleryStore.metaToInfo(meta);
222
228
  this.broadcast({ type: "gallery_new_image", image: info });
223
229
  }
224
- }, this.worktreeStore);
230
+ }, this.worktreeStore, () => this.broadcastSessionList());
225
231
  this.wss.on("connection", (ws, req) => {
226
232
  // API key authentication
227
233
  if (this.apiKey) {
@@ -544,6 +550,7 @@ export class BridgeWebSocketServer {
544
550
  async handleClientMessage(msg, ws) {
545
551
  if (msg.type === "client_capabilities") {
546
552
  this.clientSupportedServerMessages.set(ws, new Set(msg.supportedServerMessages ?? []));
553
+ this.sendPromptHistoryStatus(ws);
547
554
  return;
548
555
  }
549
556
  const incomingSessionId = this.extractSessionIdFromClientMessage(msg);
@@ -624,6 +631,7 @@ export class BridgeWebSocketServer {
624
631
  fallbackModel: msg.fallbackModel,
625
632
  forkSession: msg.forkSession,
626
633
  persistSession: msg.persistSession,
634
+ autoRename: msg.autoRename,
627
635
  ...(msg.sandboxMode
628
636
  ? { sandboxEnabled: msg.sandboxMode === "on" }
629
637
  : {}),
@@ -635,7 +643,7 @@ export class BridgeWebSocketServer {
635
643
  },
636
644
  })
637
645
  : {
638
- sessionId: this.sessionManager.create(projectPath, undefined, undefined, {
646
+ sessionId: this.sessionManager.create(projectPath, { autoRename: msg.autoRename }, undefined, {
639
647
  useWorktree: msg.useWorktree,
640
648
  worktreeBranch: msg.worktreeBranch,
641
649
  existingWorktreePath: msg.existingWorktreePath,
@@ -3205,6 +3213,144 @@ export class BridgeWebSocketServer {
3205
3213
  });
3206
3214
  break;
3207
3215
  }
3216
+ case "record_prompt_history": {
3217
+ if (!this.promptHistoryStore) {
3218
+ this.send(ws, {
3219
+ type: "prompt_history_mutation_result",
3220
+ success: false,
3221
+ error: "Prompt history store not available",
3222
+ });
3223
+ break;
3224
+ }
3225
+ try {
3226
+ const entry = await this.promptHistoryStore.record({
3227
+ text: msg.text,
3228
+ projectPath: msg.projectPath,
3229
+ clientId: msg.clientId,
3230
+ clientName: msg.clientName,
3231
+ sessionId: msg.sessionId,
3232
+ usedAt: msg.usedAt,
3233
+ });
3234
+ this.send(ws, {
3235
+ type: "prompt_history_mutation_result",
3236
+ success: true,
3237
+ bridgeInstanceId: this.promptHistoryStore.bridgeInstanceId,
3238
+ revision: this.promptHistoryStore.revision,
3239
+ entry,
3240
+ });
3241
+ this.broadcastPromptHistoryStatus();
3242
+ }
3243
+ catch (err) {
3244
+ this.send(ws, {
3245
+ type: "prompt_history_mutation_result",
3246
+ success: false,
3247
+ error: err instanceof Error ? err.message : String(err),
3248
+ });
3249
+ }
3250
+ break;
3251
+ }
3252
+ case "sync_prompt_history": {
3253
+ if (!this.promptHistoryStore) {
3254
+ this.send(ws, {
3255
+ type: "prompt_history_sync_result",
3256
+ success: false,
3257
+ error: "Prompt history store not available",
3258
+ });
3259
+ break;
3260
+ }
3261
+ try {
3262
+ if (msg.entries?.length) {
3263
+ await this.promptHistoryStore.mergeClientEntries(msg.entries);
3264
+ }
3265
+ this.send(ws, {
3266
+ type: "prompt_history_sync_result",
3267
+ success: true,
3268
+ bridgeInstanceId: this.promptHistoryStore.bridgeInstanceId,
3269
+ revision: this.promptHistoryStore.revision,
3270
+ syncedAt: new Date().toISOString(),
3271
+ fullSnapshot: true,
3272
+ entries: this.promptHistoryStore.list(msg.includeDeleted ?? true),
3273
+ });
3274
+ this.broadcastPromptHistoryStatus();
3275
+ }
3276
+ catch (err) {
3277
+ this.send(ws, {
3278
+ type: "prompt_history_sync_result",
3279
+ success: false,
3280
+ error: err instanceof Error ? err.message : String(err),
3281
+ });
3282
+ }
3283
+ break;
3284
+ }
3285
+ case "mutate_prompt_history": {
3286
+ if (!this.promptHistoryStore) {
3287
+ this.send(ws, {
3288
+ type: "prompt_history_mutation_result",
3289
+ success: false,
3290
+ error: "Prompt history store not available",
3291
+ });
3292
+ break;
3293
+ }
3294
+ try {
3295
+ const entry = await this.promptHistoryStore.mutate({
3296
+ id: msg.id,
3297
+ text: msg.text,
3298
+ projectPath: msg.projectPath,
3299
+ action: msg.action,
3300
+ isFavorite: msg.isFavorite,
3301
+ updatedAt: msg.updatedAt,
3302
+ });
3303
+ this.send(ws, {
3304
+ type: "prompt_history_mutation_result",
3305
+ success: entry != null,
3306
+ bridgeInstanceId: this.promptHistoryStore.bridgeInstanceId,
3307
+ revision: this.promptHistoryStore.revision,
3308
+ entry: entry ?? undefined,
3309
+ error: entry == null ? "Prompt not found" : undefined,
3310
+ });
3311
+ if (entry)
3312
+ this.broadcastPromptHistoryStatus();
3313
+ }
3314
+ catch (err) {
3315
+ this.send(ws, {
3316
+ type: "prompt_history_mutation_result",
3317
+ success: false,
3318
+ error: err instanceof Error ? err.message : String(err),
3319
+ });
3320
+ }
3321
+ break;
3322
+ }
3323
+ case "import_prompt_history_v1": {
3324
+ if (!this.promptHistoryStore) {
3325
+ this.send(ws, {
3326
+ type: "prompt_history_sync_result",
3327
+ success: false,
3328
+ error: "Prompt history store not available",
3329
+ });
3330
+ break;
3331
+ }
3332
+ try {
3333
+ const result = await this.promptHistoryStore.importEntries(msg.entries, msg.clientId, msg.clientName);
3334
+ this.send(ws, {
3335
+ type: "prompt_history_sync_result",
3336
+ success: true,
3337
+ bridgeInstanceId: this.promptHistoryStore.bridgeInstanceId,
3338
+ revision: this.promptHistoryStore.revision,
3339
+ syncedAt: new Date().toISOString(),
3340
+ fullSnapshot: true,
3341
+ entries: result.entries,
3342
+ });
3343
+ this.broadcastPromptHistoryStatus();
3344
+ }
3345
+ catch (err) {
3346
+ this.send(ws, {
3347
+ type: "prompt_history_sync_result",
3348
+ success: false,
3349
+ error: err instanceof Error ? err.message : String(err),
3350
+ });
3351
+ }
3352
+ break;
3353
+ }
3208
3354
  case "rename_session": {
3209
3355
  const name = msg.name || null;
3210
3356
  await this.handleRenameSession(ws, msg.sessionId, name, msg);
@@ -3308,6 +3454,19 @@ export class BridgeWebSocketServer {
3308
3454
  bridgeVersion: getPackageVersion(),
3309
3455
  });
3310
3456
  }
3457
+ sendPromptHistoryStatus(ws) {
3458
+ if (!this.promptHistoryStore)
3459
+ return;
3460
+ const entries = this.promptHistoryStore.list(true);
3461
+ const updatedAt = entries.reduce((latest, entry) => !latest || entry.updatedAt > latest ? entry.updatedAt : latest, undefined);
3462
+ this.send(ws, {
3463
+ type: "prompt_history_status",
3464
+ bridgeInstanceId: this.promptHistoryStore.bridgeInstanceId,
3465
+ revision: this.promptHistoryStore.revision,
3466
+ entryCount: entries.filter((entry) => !entry.deletedAt).length,
3467
+ updatedAt,
3468
+ });
3469
+ }
3311
3470
  /** Broadcast session list to all connected clients. */
3312
3471
  broadcastSessionList() {
3313
3472
  this.pruneDebugEvents();
@@ -3323,6 +3482,19 @@ export class BridgeWebSocketServer {
3323
3482
  bridgeVersion: getPackageVersion(),
3324
3483
  });
3325
3484
  }
3485
+ broadcastPromptHistoryStatus() {
3486
+ if (!this.promptHistoryStore)
3487
+ return;
3488
+ const entries = this.promptHistoryStore.list(true);
3489
+ const updatedAt = entries.reduce((latest, entry) => !latest || entry.updatedAt > latest ? entry.updatedAt : latest, undefined);
3490
+ this.broadcast({
3491
+ type: "prompt_history_status",
3492
+ bridgeInstanceId: this.promptHistoryStore.bridgeInstanceId,
3493
+ revision: this.promptHistoryStore.revision,
3494
+ entryCount: entries.filter((entry) => !entry.deletedAt).length,
3495
+ updatedAt,
3496
+ });
3497
+ }
3326
3498
  broadcastSessionMessage(sessionId, msg) {
3327
3499
  this.maybeSendPushNotification(sessionId, msg);
3328
3500
  this.recordDebugEvent(sessionId, {
@@ -3681,11 +3853,10 @@ export class BridgeWebSocketServer {
3681
3853
  }
3682
3854
  }
3683
3855
  shouldSendToClient(ws, msg) {
3684
- if (msg.type !== "conversation_queue")
3856
+ const type = typeof msg.type === "string" ? msg.type : "";
3857
+ if (!OPT_IN_SERVER_MESSAGES.has(type))
3685
3858
  return true;
3686
- return (this.clientSupportedServerMessages
3687
- .get(ws)
3688
- ?.has("conversation_queue") ?? false);
3859
+ return (this.clientSupportedServerMessages.get(ws)?.has(type) ?? false);
3689
3860
  }
3690
3861
  hasInputConflictSince(sessionId, baseSeq) {
3691
3862
  const delta = this.sessionManager.getHistorySince(sessionId, baseSeq);