@turingfocus/chat-runtime 0.8.0 → 0.8.1

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,501 @@
1
+ import { compareTimelineItems, getTimelineItemKey, } from "@turingfocus/chat-protocol";
2
+ import { createTimelineState, mergeHistoryTimeline } from "./timeline.js";
3
+ import { cloneImmutable } from "./immutable.js";
4
+ import { emptyComposerDraft } from "./composer-draft.js";
5
+ import { createCacheRecord, parseCacheRecord, } from "./cache-record.js";
6
+ const emptyDisk = () => ({
7
+ version: 1,
8
+ epoch: 0,
9
+ entries: Object.create(null),
10
+ });
11
+ const positive = (value, fallback) => {
12
+ const resolved = value ?? fallback;
13
+ if (!Number.isSafeInteger(resolved) || resolved <= 0)
14
+ throw new TypeError("Cache limits must be positive safe integers");
15
+ return resolved;
16
+ };
17
+ const encodedBytes = (value) => {
18
+ const text = JSON.stringify(value);
19
+ let bytes = 0;
20
+ for (const character of text) {
21
+ const point = character.codePointAt(0);
22
+ bytes += point < 128 ? 1 : point < 2048 ? 2 : point < 65536 ? 3 : 4;
23
+ }
24
+ return bytes;
25
+ };
26
+ /** Instance-local bounded LRU and persistence coordinator. No background polling. */
27
+ export class ConversationCache {
28
+ scope;
29
+ #options;
30
+ #entries = new Map();
31
+ #expired = new Set();
32
+ #versions = new Map();
33
+ #pendingSaves = new Map();
34
+ #saveScheduled = false;
35
+ #maxConversations;
36
+ #maxItems;
37
+ #maxBytes;
38
+ #staleAfterMs;
39
+ #expireAfterMs;
40
+ #onEvict;
41
+ #epoch = 0;
42
+ #scopeEpoch = 0;
43
+ #conversationEpochs = new Map();
44
+ #diskEpoch = 0;
45
+ #disk;
46
+ #read;
47
+ #writes = Promise.resolve();
48
+ #closed = false;
49
+ #storageError = false;
50
+ #clearedIds = new Set();
51
+ #clearedAll = false;
52
+ #savedAfterClear = new Set();
53
+ constructor(options, onEvict) {
54
+ this.#options = options;
55
+ this.scope = options.scope ?? "default";
56
+ if (this.scope.length === 0)
57
+ throw new TypeError("Cache scope must not be empty");
58
+ this.#maxConversations = positive(options.maxConversations, 20);
59
+ this.#maxItems = positive(options.maxItems, 10_000);
60
+ this.#maxBytes = positive(options.maxBytes, 8_000_000);
61
+ this.#staleAfterMs = positive(options.staleAfterMs, 300_000);
62
+ this.#expireAfterMs = positive(options.expireAfterMs, 86_400_000);
63
+ if (this.#staleAfterMs > this.#expireAfterMs)
64
+ throw new TypeError("Cache freshness must not exceed expiry");
65
+ this.#onEvict = onEvict;
66
+ }
67
+ wasExpired(id) {
68
+ return this.#expired.has(id);
69
+ }
70
+ get hasStorage() {
71
+ return this.#options.storage !== undefined;
72
+ }
73
+ epochFor(id) {
74
+ return Math.max(this.#scopeEpoch, this.#conversationEpochs.get(id) ?? 0);
75
+ }
76
+ get storageError() {
77
+ return this.#storageError;
78
+ }
79
+ now() {
80
+ return (this.#options.now ?? Date.now)();
81
+ }
82
+ freshness(savedAt) {
83
+ const age = this.now() - savedAt;
84
+ return age < 0 || age >= this.#expireAfterMs
85
+ ? "expired"
86
+ : age >= this.#staleAfterMs
87
+ ? "stale"
88
+ : "fresh";
89
+ }
90
+ peek(id) {
91
+ const entry = this.#entries.get(id);
92
+ if (entry === undefined)
93
+ return undefined;
94
+ if (this.freshness(entry.savedAt) === "expired") {
95
+ this.#entries.delete(id);
96
+ this.#expired.add(id);
97
+ this.#notify({
98
+ kind: "expired",
99
+ conversationId: id,
100
+ hadDraft: this.#hasDraft(entry),
101
+ });
102
+ return undefined;
103
+ }
104
+ this.#entries.delete(id);
105
+ this.#entries.set(id, entry);
106
+ return entry;
107
+ }
108
+ async restore(id, options) {
109
+ const epoch = this.epochFor(id);
110
+ await this.#readDisk(options);
111
+ if (this.#closed || epoch !== this.epochFor(id))
112
+ return undefined;
113
+ if ((this.#clearedAll && !this.#savedAfterClear.has(id)) ||
114
+ this.#clearedIds.has(id))
115
+ return undefined;
116
+ const record = this.#disk?.entries[id]?.record;
117
+ if (record === undefined)
118
+ return undefined;
119
+ if (this.freshness(record.savedAt) === "expired") {
120
+ this.#expired.add(id);
121
+ this.#notify({
122
+ kind: "expired",
123
+ conversationId: id,
124
+ hadDraft: record.draft.text.length > 0 ||
125
+ record.draft.attachmentKeys.length > 0 ||
126
+ record.draft.unavailableAttachments > 0,
127
+ });
128
+ return undefined;
129
+ }
130
+ const entry = {
131
+ snapshot: record.snapshot,
132
+ draft: { ...emptyComposerDraft(id), text: record.draft.text },
133
+ savedAt: record.savedAt,
134
+ bytes: encodedBytes(record),
135
+ attachmentKeys: record.draft.attachmentKeys,
136
+ unavailableAttachments: record.draft.unavailableAttachments,
137
+ };
138
+ this.#entries.set(id, entry);
139
+ this.#trim(id);
140
+ return entry;
141
+ }
142
+ async restoreAttachments(entry, options) {
143
+ const attachments = [];
144
+ let unavailable = entry.unavailableAttachments ?? 0;
145
+ for (const key of entry.attachmentKeys ?? []) {
146
+ try {
147
+ const attachment = await this.#options.attachments?.resolve(key, options);
148
+ if (attachment === undefined)
149
+ unavailable += 1;
150
+ else
151
+ attachments.push(attachment);
152
+ }
153
+ catch {
154
+ unavailable += 1;
155
+ }
156
+ }
157
+ return { attachments, unavailable };
158
+ }
159
+ updateDraft(conversationId, draft, options, preserveAttachmentKeys = true) {
160
+ const entry = this.#entries.get(conversationId);
161
+ if (entry !== undefined) {
162
+ if (!preserveAttachmentKeys) {
163
+ const resolved = {
164
+ snapshot: entry.snapshot,
165
+ draft: entry.draft,
166
+ savedAt: entry.savedAt,
167
+ bytes: entry.bytes,
168
+ };
169
+ this.#entries.set(conversationId, resolved);
170
+ }
171
+ this.put(entry.snapshot, draft, options, entry.savedAt);
172
+ }
173
+ }
174
+ setUnavailableAttachments(id, count, options) {
175
+ const current = this.#entries.get(id);
176
+ if (current === undefined)
177
+ return;
178
+ const entry = { ...current, unavailableAttachments: count };
179
+ this.#entries.set(id, entry);
180
+ if (this.#options.storage !== undefined) {
181
+ this.#pendingSaves.set(id, { entry, options });
182
+ this.#scheduleSaves();
183
+ }
184
+ }
185
+ put(snapshot, draft, options, savedAt = this.now()) {
186
+ if (this.#closed)
187
+ return;
188
+ const id = snapshot.conversation.id;
189
+ const previous = this.#entries.get(id);
190
+ if (previous?.snapshot === snapshot && previous.draft === draft)
191
+ return;
192
+ const bytes = encodedBytes({ snapshot, draft });
193
+ if (bytes > this.#maxBytes || snapshot.timeline.length > this.#maxItems) {
194
+ this.#entries.delete(id);
195
+ this.#notify({
196
+ kind: "evicted",
197
+ conversationId: id,
198
+ hadDraft: this.#hasDraft({ draft }),
199
+ });
200
+ return;
201
+ }
202
+ this.#expired.delete(id);
203
+ const entry = {
204
+ snapshot,
205
+ draft,
206
+ savedAt,
207
+ bytes,
208
+ ...(previous?.attachmentKeys === undefined
209
+ ? {}
210
+ : {
211
+ attachmentKeys: previous.attachmentKeys,
212
+ }),
213
+ ...(previous?.unavailableAttachments === undefined
214
+ ? {}
215
+ : { unavailableAttachments: previous.unavailableAttachments }),
216
+ };
217
+ this.#entries.delete(id);
218
+ this.#entries.set(id, entry);
219
+ this.#trim(id);
220
+ if (this.#options.storage === undefined)
221
+ return;
222
+ this.#pendingSaves.set(id, { entry, options });
223
+ this.#scheduleSaves();
224
+ }
225
+ #scheduleSaves() {
226
+ if (this.#saveScheduled || this.#pendingSaves.size === 0)
227
+ return;
228
+ this.#saveScheduled = true;
229
+ void this.#queue(async () => {
230
+ const batch = [...this.#pendingSaves];
231
+ this.#pendingSaves.clear();
232
+ try {
233
+ for (const [id, pending] of batch)
234
+ await this.#save(id, pending.entry, pending.options);
235
+ }
236
+ finally {
237
+ this.#saveScheduled = false;
238
+ this.#scheduleSaves();
239
+ }
240
+ }).catch(() => undefined);
241
+ }
242
+ async #save(id, entry, options) {
243
+ const epoch = this.#epoch;
244
+ const { snapshot, draft, savedAt } = entry;
245
+ await this.#readDisk(options);
246
+ const keys = entry.attachmentKeys ??
247
+ draft.attachments.flatMap((attachment) => {
248
+ const key = this.#options.attachments?.identify(attachment);
249
+ return key === undefined ||
250
+ key.length === 0 ||
251
+ key.length > 1024 ||
252
+ /[:/?#\s]/.test(key)
253
+ ? []
254
+ : [key];
255
+ });
256
+ const projected = createCacheRecord(this.scope, snapshot, draft, savedAt, keys);
257
+ const record = {
258
+ ...projected,
259
+ draft: {
260
+ ...projected.draft,
261
+ unavailableAttachments: entry.unavailableAttachments ??
262
+ projected.draft.unavailableAttachments,
263
+ },
264
+ };
265
+ const expected = this.#versions.get(id) ?? 0;
266
+ const expectedEpoch = this.#diskEpoch;
267
+ let committed;
268
+ await this.#options.storage.update(this.scope, (raw) => {
269
+ const disk = this.#parseDisk(raw);
270
+ if (disk.epoch !== expectedEpoch ||
271
+ (disk.entries[id]?.revision ?? 0) !== expected) {
272
+ this.#notify({ kind: "write-conflict", conversationId: id });
273
+ return raw;
274
+ }
275
+ disk.entries[id] = { revision: expected + 1, record };
276
+ this.#trimDisk(disk, id);
277
+ const encoded = JSON.stringify(disk);
278
+ if (encodedBytes(disk) > this.#maxBytes)
279
+ return raw;
280
+ committed = disk;
281
+ return encoded;
282
+ }, options);
283
+ if (committed !== undefined) {
284
+ if (epoch === this.#epoch) {
285
+ this.#clearedIds.delete(id);
286
+ this.#savedAfterClear.add(id);
287
+ }
288
+ this.#versions.clear();
289
+ for (const [key, value] of Object.entries(committed.entries))
290
+ this.#versions.set(key, value.revision);
291
+ this.#disk = committed;
292
+ }
293
+ }
294
+ async clear(id, options) {
295
+ this.#epoch += 1;
296
+ if (id === undefined) {
297
+ this.#scopeEpoch = this.#epoch;
298
+ this.#conversationEpochs.clear();
299
+ }
300
+ else
301
+ this.#conversationEpochs.set(id, this.#epoch);
302
+ if (id === undefined) {
303
+ this.#clearedAll = true;
304
+ this.#savedAfterClear.clear();
305
+ }
306
+ else {
307
+ this.#clearedIds.add(id);
308
+ this.#savedAfterClear.delete(id);
309
+ }
310
+ if (id === undefined) {
311
+ this.#entries.clear();
312
+ this.#pendingSaves.clear();
313
+ }
314
+ else {
315
+ this.#entries.delete(id);
316
+ this.#pendingSaves.delete(id);
317
+ }
318
+ this.#notify(id === undefined
319
+ ? { kind: "cleared" }
320
+ : { kind: "cleared", conversationId: id });
321
+ await this.#queue(async () => {
322
+ await this.#readDisk(options);
323
+ let committed;
324
+ await this.#options.storage?.update(this.scope, (raw) => {
325
+ let disk;
326
+ try {
327
+ disk = this.#parseDisk(raw);
328
+ }
329
+ catch {
330
+ disk = emptyDisk();
331
+ }
332
+ disk.epoch += 1;
333
+ if (id === undefined)
334
+ disk.entries = Object.create(null);
335
+ else
336
+ delete disk.entries[id];
337
+ committed = disk;
338
+ return JSON.stringify(disk);
339
+ }, options);
340
+ if (committed !== undefined) {
341
+ this.#diskEpoch = committed.epoch;
342
+ this.#disk = committed;
343
+ this.#versions.clear();
344
+ for (const [key, entry] of Object.entries(committed.entries))
345
+ this.#versions.set(key, entry.revision);
346
+ }
347
+ if (this.#options.storage === undefined)
348
+ this.#disk = undefined;
349
+ });
350
+ }
351
+ async flush() {
352
+ let pending;
353
+ do {
354
+ pending = this.#writes;
355
+ await pending;
356
+ } while (pending !== this.#writes);
357
+ }
358
+ close() {
359
+ this.#closed = true;
360
+ this.#epoch += 1;
361
+ this.#entries.clear();
362
+ return this.flush();
363
+ }
364
+ #hasDraft(entry) {
365
+ return entry.draft.text.length > 0 || entry.draft.attachments.length > 0;
366
+ }
367
+ #trim(active) {
368
+ let items = 0;
369
+ let bytes = 0;
370
+ for (const entry of this.#entries.values()) {
371
+ items += entry.snapshot.timeline.length;
372
+ bytes += entry.bytes;
373
+ }
374
+ for (const [id, entry] of this.#entries) {
375
+ if (this.#entries.size <= this.#maxConversations &&
376
+ items <= this.#maxItems &&
377
+ bytes <= this.#maxBytes)
378
+ break;
379
+ if (id === active)
380
+ continue;
381
+ this.#entries.delete(id);
382
+ this.#pendingSaves.delete(id);
383
+ items -= entry.snapshot.timeline.length;
384
+ bytes -= entry.bytes;
385
+ this.#onEvict(id);
386
+ this.#notify({
387
+ kind: "evicted",
388
+ conversationId: id,
389
+ hadDraft: this.#hasDraft(entry),
390
+ });
391
+ }
392
+ }
393
+ #trimDisk(disk, active) {
394
+ const entries = Object.entries(disk.entries).sort((a, b) => a[1].record.savedAt - b[1].record.savedAt);
395
+ let items = entries.reduce((sum, [, entry]) => sum + entry.record.snapshot.timeline.length, 0);
396
+ for (const [id, entry] of entries) {
397
+ if (Object.keys(disk.entries).length <= this.#maxConversations &&
398
+ items <= this.#maxItems &&
399
+ encodedBytes(disk) <= this.#maxBytes)
400
+ break;
401
+ if (id === active)
402
+ continue;
403
+ delete disk.entries[id];
404
+ items -= entry.record.snapshot.timeline.length;
405
+ }
406
+ }
407
+ #parseDisk(raw) {
408
+ if (raw === null)
409
+ return emptyDisk();
410
+ if (raw.length > this.#maxBytes || encodedBytes(raw) > this.#maxBytes * 2)
411
+ throw new TypeError("Cache record exceeds size limit");
412
+ const value = JSON.parse(raw);
413
+ if (typeof value !== "object" ||
414
+ value === null ||
415
+ !("version" in value) ||
416
+ value.version !== 1 ||
417
+ !("epoch" in value) ||
418
+ !Number.isSafeInteger(value.epoch) ||
419
+ Number(value.epoch) < 0 ||
420
+ !("entries" in value) ||
421
+ typeof value.entries !== "object" ||
422
+ value.entries === null ||
423
+ Array.isArray(value.entries)) {
424
+ throw new TypeError("Cache record version or shape is invalid");
425
+ }
426
+ const result = emptyDisk();
427
+ result.epoch = Number(value.epoch);
428
+ for (const [id, candidate] of Object.entries(value.entries)) {
429
+ if (typeof candidate !== "object" ||
430
+ candidate === null ||
431
+ !("record" in candidate) ||
432
+ !("revision" in candidate) ||
433
+ !Number.isSafeInteger(candidate.revision) ||
434
+ Number(candidate.revision) <= 0)
435
+ continue;
436
+ const record = parseCacheRecord(candidate.record, this.scope, id);
437
+ if (record !== undefined &&
438
+ record.snapshot.timeline.length <= this.#maxItems &&
439
+ encodedBytes(record) <= this.#maxBytes)
440
+ result.entries[id] = { revision: Number(candidate.revision), record };
441
+ else
442
+ this.#notify({ kind: "invalid-record", conversationId: id });
443
+ }
444
+ return result;
445
+ }
446
+ #readDisk(options) {
447
+ if (this.#read !== undefined)
448
+ return this.#read;
449
+ this.#read = (async () => {
450
+ const raw = (await this.#options.storage?.read(this.scope, options)) ?? null;
451
+ this.#disk = this.#parseDisk(raw);
452
+ this.#diskEpoch = this.#disk.epoch;
453
+ for (const [id, entry] of Object.entries(this.#disk.entries))
454
+ this.#versions.set(id, entry.revision);
455
+ })().catch(() => {
456
+ this.#storageError = true;
457
+ this.#notify({ kind: "storage-error" });
458
+ });
459
+ return this.#read;
460
+ }
461
+ #queue(operation) {
462
+ const task = this.#writes.then(operation);
463
+ this.#writes = task.catch(() => {
464
+ this.#storageError = true;
465
+ this.#notify({ kind: "storage-error" });
466
+ });
467
+ return task;
468
+ }
469
+ #notify(event) {
470
+ if (event.kind === "storage-error" ||
471
+ event.kind === "invalid-record" ||
472
+ event.kind === "write-conflict")
473
+ this.#storageError = true;
474
+ try {
475
+ this.#options.onEvent?.(cloneImmutable(event));
476
+ }
477
+ catch {
478
+ /* Diagnostic consumers cannot stop cache operations. */
479
+ }
480
+ }
481
+ }
482
+ /** Latest pages replace overlapping items, while retaining already loaded older coverage. */
483
+ export const mergeCachedHistory = (latest, cached) => {
484
+ if (cached === undefined || !latest.pageInfo.hasPreviousPage)
485
+ return latest;
486
+ const cachedOldest = cached.timeline[0];
487
+ const latestOldest = latest.timeline[0];
488
+ const cachedKeys = new Set(cached.timeline.map(getTimelineItemKey));
489
+ const overlaps = latest.timeline.some((item) => cachedKeys.has(getTimelineItemKey(item)));
490
+ return {
491
+ ...latest,
492
+ timeline: mergeHistoryTimeline(createTimelineState(latest.timeline), cached.timeline).items,
493
+ pageInfo: overlaps &&
494
+ cachedOldest !== undefined &&
495
+ latestOldest !== undefined &&
496
+ compareTimelineItems(cachedOldest, latestOldest) < 0
497
+ ? cached.pageInfo
498
+ : latest.pageInfo,
499
+ };
500
+ };
501
+ //# sourceMappingURL=conversation-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-cache.js","sourceRoot":"","sources":["../src/conversation-cache.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-workspace.d.ts","sourceRoot":"","sources":["../src/conversation-workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-workspace.d.ts","sourceRoot":"","sources":["../src/conversation-workspace.ts"],"names":[],"mappings":"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"}
@@ -544,7 +544,11 @@ export class ConversationWorkspaceController {
544
544
  ...this.#snapshot,
545
545
  pendingConversationId: undefined,
546
546
  selectionError: error,
547
- selectionStatus: "error",
547
+ selectionStatus: this.#client.getCacheState().source !== "none" &&
548
+ this.#client.getSnapshot()?.conversation.id ===
549
+ this.#snapshot.selectedConversationId
550
+ ? "ready"
551
+ : "error",
548
552
  });
549
553
  }
550
554
  #upsertConversation(conversation) {
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-workspace.js","sourceRoot":"","sources":["../src/conversation-workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-workspace.js","sourceRoot":"","sources":["../src/conversation-workspace.ts"],"names":[],"mappings":"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"}