@ccpocket/bridge 1.48.0 → 1.49.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.
@@ -0,0 +1,322 @@
1
+ import { createHash, randomUUID } from "node:crypto";
2
+ import { mkdir, readFile, rename, writeFile } from "node:fs/promises";
3
+ import { homedir } from "node:os";
4
+ import { dirname, join } from "node:path";
5
+ const DEFAULT_STORE_FILE = join(homedir(), ".ccpocket", "prompt-history-v2.json");
6
+ const DEFAULT_BRIDGE_PORT = 8765;
7
+ export function promptHistoryStoreFileForPort(port, explicitFile) {
8
+ if (explicitFile?.trim())
9
+ return explicitFile.trim();
10
+ const parsedPort = typeof port === "number" ? port : Number.parseInt(port ?? "", 10);
11
+ if (!Number.isInteger(parsedPort) || parsedPort === DEFAULT_BRIDGE_PORT) {
12
+ return DEFAULT_STORE_FILE;
13
+ }
14
+ return join(homedir(), ".ccpocket", `prompt-history-v2-${parsedPort}.json`);
15
+ }
16
+ function isoNow() {
17
+ return new Date().toISOString();
18
+ }
19
+ function maxIso(left, right) {
20
+ if (!left)
21
+ return right ?? isoNow();
22
+ if (!right)
23
+ return left;
24
+ return left >= right ? left : right;
25
+ }
26
+ function minIso(left, right) {
27
+ if (!left)
28
+ return right ?? isoNow();
29
+ if (!right)
30
+ return left;
31
+ return left <= right ? left : right;
32
+ }
33
+ function normalizeText(text) {
34
+ return text.trim().replace(/\r\n/g, "\n");
35
+ }
36
+ function normalizeProjectPath(projectPath) {
37
+ return (projectPath ?? "").trim();
38
+ }
39
+ export function promptHistoryId(text, projectPath = "") {
40
+ const stableKey = `${normalizeProjectPath(projectPath)}\u0000${normalizeText(text)}`;
41
+ const digest = createHash("sha256").update(stableKey).digest("hex");
42
+ return `ph_${digest.slice(0, 24)}`;
43
+ }
44
+ export function detectPromptCommandKind(text) {
45
+ const trimmed = text.trimStart();
46
+ if (trimmed.startsWith("$"))
47
+ return "skill";
48
+ if (trimmed.startsWith("/"))
49
+ return "slash";
50
+ const commandMatch = /<command-name>\s*(.*?)\s*<\/command-name>/s.exec(text);
51
+ const commandName = commandMatch?.[1]?.trim();
52
+ if (commandName?.startsWith("$"))
53
+ return "skill";
54
+ if (commandName?.startsWith("/"))
55
+ return "slash";
56
+ return "none";
57
+ }
58
+ function cloneEntry(entry) {
59
+ return {
60
+ ...entry,
61
+ clientStats: { ...entry.clientStats },
62
+ sessionStats: { ...entry.sessionStats },
63
+ };
64
+ }
65
+ export class PromptHistoryStore {
66
+ data = {
67
+ version: 2,
68
+ bridgeInstanceId: randomUUID(),
69
+ revision: 0,
70
+ entries: [],
71
+ };
72
+ filePath;
73
+ constructor(filePath) {
74
+ this.filePath = filePath ?? DEFAULT_STORE_FILE;
75
+ }
76
+ async init() {
77
+ await mkdir(dirname(this.filePath), { recursive: true });
78
+ try {
79
+ const raw = await readFile(this.filePath, "utf-8");
80
+ const parsed = JSON.parse(raw);
81
+ if (parsed.version === 2 && Array.isArray(parsed.entries)) {
82
+ this.data = {
83
+ version: 2,
84
+ bridgeInstanceId: typeof parsed.bridgeInstanceId === "string" &&
85
+ parsed.bridgeInstanceId.length > 0
86
+ ? parsed.bridgeInstanceId
87
+ : randomUUID(),
88
+ revision: Number.isInteger(parsed.revision) ? parsed.revision : 0,
89
+ entries: parsed.entries.map((entry) => ({
90
+ ...entry,
91
+ clientStats: entry.clientStats ?? {},
92
+ sessionStats: entry.sessionStats ?? {},
93
+ commandKind: entry.commandKind ?? detectPromptCommandKind(entry.text),
94
+ })),
95
+ };
96
+ if (!parsed.bridgeInstanceId)
97
+ await this.save();
98
+ }
99
+ }
100
+ catch {
101
+ this.data = {
102
+ version: 2,
103
+ bridgeInstanceId: randomUUID(),
104
+ revision: 0,
105
+ entries: [],
106
+ };
107
+ await this.save();
108
+ }
109
+ }
110
+ get revision() {
111
+ return this.data.revision;
112
+ }
113
+ get bridgeInstanceId() {
114
+ return this.data.bridgeInstanceId;
115
+ }
116
+ list(includeDeleted = false) {
117
+ return this.data.entries
118
+ .filter((entry) => includeDeleted || !entry.deletedAt)
119
+ .map(cloneEntry);
120
+ }
121
+ async record(input) {
122
+ const text = normalizeText(input.text);
123
+ if (!text)
124
+ throw new Error("Prompt text is required");
125
+ const projectPath = normalizeProjectPath(input.projectPath);
126
+ const id = promptHistoryId(text, projectPath);
127
+ const usedAt = input.usedAt ?? isoNow();
128
+ const existing = this.findMutable(id);
129
+ if (existing) {
130
+ existing.totalUseCount += 1;
131
+ existing.lastUsedAt = maxIso(existing.lastUsedAt, usedAt);
132
+ existing.updatedAt = maxIso(existing.updatedAt, usedAt);
133
+ existing.deletedAt = undefined;
134
+ this.incrementClientStat(existing, input.clientId, input.clientName, usedAt, 1);
135
+ if (input.sessionId)
136
+ this.incrementSessionStat(existing, input.sessionId, usedAt, 1);
137
+ await this.saveBumped();
138
+ return cloneEntry(existing);
139
+ }
140
+ const entry = {
141
+ id,
142
+ text,
143
+ projectPath,
144
+ totalUseCount: 1,
145
+ isFavorite: false,
146
+ createdAt: usedAt,
147
+ lastUsedAt: usedAt,
148
+ updatedAt: usedAt,
149
+ commandKind: detectPromptCommandKind(text),
150
+ clientStats: {},
151
+ sessionStats: {},
152
+ };
153
+ this.incrementClientStat(entry, input.clientId, input.clientName, usedAt, 1);
154
+ if (input.sessionId)
155
+ this.incrementSessionStat(entry, input.sessionId, usedAt, 1);
156
+ this.data.entries.push(entry);
157
+ await this.saveBumped();
158
+ return cloneEntry(entry);
159
+ }
160
+ async mutate(input) {
161
+ const id = input.id ?? (input.text ? promptHistoryId(input.text, input.projectPath ?? "") : undefined);
162
+ if (!id)
163
+ return null;
164
+ const entry = this.findMutable(id);
165
+ if (!entry)
166
+ return null;
167
+ const updatedAt = input.updatedAt ?? isoNow();
168
+ switch (input.action) {
169
+ case "favorite":
170
+ entry.isFavorite = input.isFavorite ?? !entry.isFavorite;
171
+ entry.favoriteUpdatedAt = updatedAt;
172
+ entry.updatedAt = maxIso(entry.updatedAt, updatedAt);
173
+ break;
174
+ case "delete":
175
+ entry.deletedAt = updatedAt;
176
+ entry.updatedAt = maxIso(entry.updatedAt, updatedAt);
177
+ break;
178
+ case "restore":
179
+ entry.deletedAt = undefined;
180
+ entry.updatedAt = maxIso(entry.updatedAt, updatedAt);
181
+ break;
182
+ }
183
+ await this.saveBumped();
184
+ return cloneEntry(entry);
185
+ }
186
+ async importEntries(entries, clientId, clientName) {
187
+ this.data.entries = [];
188
+ let imported = 0;
189
+ for (const raw of entries) {
190
+ const text = normalizeText(raw.text);
191
+ if (!text)
192
+ continue;
193
+ const projectPath = normalizeProjectPath(raw.projectPath);
194
+ const id = raw.id ?? promptHistoryId(text, projectPath);
195
+ const now = isoNow();
196
+ const useCount = Math.max(1, raw.totalUseCount ?? raw.useCount ?? 1);
197
+ const createdAt = raw.createdAt ?? now;
198
+ const lastUsedAt = raw.lastUsedAt ?? raw.updatedAt ?? now;
199
+ const updatedAt = raw.updatedAt ?? lastUsedAt;
200
+ const incoming = {
201
+ id,
202
+ text,
203
+ projectPath,
204
+ totalUseCount: useCount,
205
+ isFavorite: raw.isFavorite ?? false,
206
+ createdAt,
207
+ lastUsedAt,
208
+ updatedAt,
209
+ favoriteUpdatedAt: raw.favoriteUpdatedAt ?? (raw.isFavorite ? updatedAt : undefined),
210
+ deletedAt: raw.deletedAt,
211
+ commandKind: raw.commandKind ?? detectPromptCommandKind(text),
212
+ clientStats: raw.clientStats ?? {},
213
+ sessionStats: raw.sessionStats ?? {},
214
+ };
215
+ this.incrementClientStat(incoming, clientId, clientName, lastUsedAt, useCount);
216
+ this.mergeEntry(incoming);
217
+ imported += 1;
218
+ }
219
+ await this.saveBumped();
220
+ return { imported, entries: this.list() };
221
+ }
222
+ async mergeClientEntries(entries) {
223
+ if (entries.length === 0)
224
+ return;
225
+ for (const raw of entries) {
226
+ const text = normalizeText(raw.text);
227
+ if (!text)
228
+ continue;
229
+ const projectPath = normalizeProjectPath(raw.projectPath);
230
+ this.mergeEntry({
231
+ id: raw.id ?? promptHistoryId(text, projectPath),
232
+ text,
233
+ projectPath,
234
+ totalUseCount: Math.max(1, raw.totalUseCount ?? raw.useCount ?? 1),
235
+ isFavorite: raw.isFavorite ?? false,
236
+ createdAt: raw.createdAt ?? isoNow(),
237
+ lastUsedAt: raw.lastUsedAt ?? raw.updatedAt ?? isoNow(),
238
+ updatedAt: raw.updatedAt ?? raw.lastUsedAt ?? isoNow(),
239
+ favoriteUpdatedAt: raw.favoriteUpdatedAt,
240
+ deletedAt: raw.deletedAt,
241
+ commandKind: raw.commandKind ?? detectPromptCommandKind(text),
242
+ clientStats: raw.clientStats ?? {},
243
+ sessionStats: raw.sessionStats ?? {},
244
+ });
245
+ }
246
+ await this.saveBumped();
247
+ }
248
+ findMutable(id) {
249
+ return this.data.entries.find((entry) => entry.id === id);
250
+ }
251
+ incrementClientStat(entry, clientId, clientName, lastUsedAt, increment) {
252
+ const current = entry.clientStats[clientId] ?? { useCount: 0, lastUsedAt };
253
+ entry.clientStats[clientId] = {
254
+ useCount: current.useCount + increment,
255
+ lastUsedAt: maxIso(current.lastUsedAt, lastUsedAt),
256
+ clientName: clientName ?? current.clientName,
257
+ };
258
+ }
259
+ incrementSessionStat(entry, sessionId, lastUsedAt, increment) {
260
+ const current = entry.sessionStats[sessionId] ?? { useCount: 0, lastUsedAt };
261
+ entry.sessionStats[sessionId] = {
262
+ useCount: current.useCount + increment,
263
+ lastUsedAt: maxIso(current.lastUsedAt, lastUsedAt),
264
+ };
265
+ }
266
+ mergeEntry(incoming) {
267
+ const existing = this.findMutable(incoming.id);
268
+ if (!existing) {
269
+ this.data.entries.push(cloneEntry(incoming));
270
+ return;
271
+ }
272
+ existing.totalUseCount += incoming.totalUseCount;
273
+ existing.createdAt = minIso(existing.createdAt, incoming.createdAt);
274
+ existing.lastUsedAt = maxIso(existing.lastUsedAt, incoming.lastUsedAt);
275
+ existing.updatedAt = maxIso(existing.updatedAt, incoming.updatedAt);
276
+ existing.commandKind =
277
+ existing.commandKind === "none" ? incoming.commandKind : existing.commandKind;
278
+ if (incoming.favoriteUpdatedAt &&
279
+ (!existing.favoriteUpdatedAt ||
280
+ incoming.favoriteUpdatedAt >= existing.favoriteUpdatedAt)) {
281
+ existing.isFavorite = incoming.isFavorite;
282
+ existing.favoriteUpdatedAt = incoming.favoriteUpdatedAt;
283
+ }
284
+ else if (incoming.isFavorite && !existing.favoriteUpdatedAt) {
285
+ existing.isFavorite = true;
286
+ existing.favoriteUpdatedAt = incoming.updatedAt;
287
+ }
288
+ if (incoming.deletedAt && (!existing.deletedAt || incoming.deletedAt >= existing.deletedAt)) {
289
+ existing.deletedAt = incoming.deletedAt;
290
+ }
291
+ for (const [clientId, stat] of Object.entries(incoming.clientStats)) {
292
+ const current = existing.clientStats[clientId];
293
+ existing.clientStats[clientId] = current
294
+ ? {
295
+ useCount: current.useCount + stat.useCount,
296
+ lastUsedAt: maxIso(current.lastUsedAt, stat.lastUsedAt),
297
+ clientName: stat.clientName ?? current.clientName,
298
+ }
299
+ : { ...stat };
300
+ }
301
+ for (const [sessionId, stat] of Object.entries(incoming.sessionStats)) {
302
+ const current = existing.sessionStats[sessionId];
303
+ existing.sessionStats[sessionId] = current
304
+ ? {
305
+ useCount: current.useCount + stat.useCount,
306
+ lastUsedAt: maxIso(current.lastUsedAt, stat.lastUsedAt),
307
+ }
308
+ : { ...stat };
309
+ }
310
+ }
311
+ async saveBumped() {
312
+ this.data.revision += 1;
313
+ await this.save();
314
+ }
315
+ async save() {
316
+ await mkdir(dirname(this.filePath), { recursive: true });
317
+ const tmp = `${this.filePath}.${randomUUID()}.tmp`;
318
+ await writeFile(tmp, JSON.stringify(this.data, null, 2), "utf-8");
319
+ await rename(tmp, this.filePath);
320
+ }
321
+ }
322
+ //# sourceMappingURL=prompt-history-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-history-store.js","sourceRoot":"","sources":["../src/prompt-history-store.ts"],"names":[],"mappings":"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"}
package/dist/session.js CHANGED
@@ -514,13 +514,12 @@ export class SessionManager {
514
514
  }
515
515
  trimHistory(session) {
516
516
  while (session.history.length > MAX_HISTORY_PER_SESSION) {
517
- // Protect user_input and system messages from eviction so they remain
518
- // available when the client reconnects. System messages carry slash
519
- // commands, permission modes, and other metadata needed to restore state.
520
- const idx = session.history.findIndex((m) => m.type !== "user_input" && m.type !== "system");
521
- const removeIndex = idx >= 0 ? idx : 0;
522
- session.history.splice(removeIndex, 1);
523
- session.historyEntries.splice(removeIndex, 1);
517
+ // Keep the retained in-memory history as a chronological tail. The
518
+ // mobile client renders history snapshots directly; preferentially
519
+ // preserving user_input/system entries makes long sessions degrade into
520
+ // a run of user bubbles after compaction.
521
+ session.history.shift();
522
+ session.historyEntries.shift();
524
523
  }
525
524
  session.historyLowWatermark =
526
525
  session.historyEntries[0]?.seq ?? session.historyRevision + 1;
@@ -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;