ds4-context-core 0.2.0-rc.1 → 0.3.0-alpha.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.
- package/dist/memory/memory-manager.d.ts +10 -2
- package/dist/memory/memory-manager.d.ts.map +1 -1
- package/dist/memory/memory-manager.js +71 -0
- package/dist/memory/memory-manager.js.map +1 -1
- package/dist/persistence/repositories/memory-repository.d.ts +53 -0
- package/dist/persistence/repositories/memory-repository.d.ts.map +1 -1
- package/dist/persistence/repositories/memory-repository.js +365 -26
- package/dist/persistence/repositories/memory-repository.js.map +1 -1
- package/dist/persistence/sqlite.js +4 -4
- package/dist/persistence/sqlite.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { MemoryConfig } from "../config/config.ts";
|
|
2
2
|
import type { MemoryManifestRef, PinManifestRef } from "../manifest/context-manifest.ts";
|
|
3
|
-
import type { MemoryRepository } from "../persistence/repositories/memory-repository.ts";
|
|
3
|
+
import type { BoundedRead, MemoryListCursor, MemoryRepository, PinListCursor, ProjectMemorySourceCursor, ReadPage } from "../persistence/repositories/memory-repository.ts";
|
|
4
4
|
import type { PrivacyClassification } from "../privacy/privacy-policy.ts";
|
|
5
5
|
import { type RankingFeatureVector } from "../ranking/learned-ranker.ts";
|
|
6
|
-
import { type CrossSessionMemoryDiagnostics, type MemoryItem, type MemoryMaterializationResult, type MemoryMutation, type MemoryScope, type PinItem, type PinMutation, type PinScope, type SessionMutationProjection } from "./memory-types.ts";
|
|
6
|
+
import { type CrossSessionMemoryDiagnostics, type MemoryItem, type MemoryMaterializationResult, type MemoryMutation, type MemoryScope, type PinItem, type PinMutation, type PinScope, type ProjectMemorySource, type SessionMutationProjection } from "./memory-types.ts";
|
|
7
7
|
interface ContextMessage {
|
|
8
8
|
role: "user";
|
|
9
9
|
content: string;
|
|
@@ -109,6 +109,14 @@ export declare class MemoryManager {
|
|
|
109
109
|
getPin(id: string): PinItem | undefined;
|
|
110
110
|
getMemory(id: string): MemoryItem | undefined;
|
|
111
111
|
applyPlannerSelection(pinIds: ReadonlySet<string>, memoryIds: ReadonlySet<string>): void;
|
|
112
|
+
resolveVisiblePin(id: string, activeOnly?: boolean): PinItem | undefined;
|
|
113
|
+
resolveVisibleMemory(id: string, activeOnly?: boolean): MemoryItem | undefined;
|
|
114
|
+
listPinsPage(activeOnly: boolean, activeBranchEntryIds: readonly string[], limit: number, cursor?: PinListCursor): ReadPage<PinItem, PinListCursor>;
|
|
115
|
+
listMemoriesPage(activeOnly: boolean, limit: number, cursor?: MemoryListCursor): ReadPage<MemoryItem, MemoryListCursor>;
|
|
116
|
+
scanPinsBounded(activeOnly: boolean, pageSize: number, scanCap: number, shouldContinue?: () => boolean): BoundedRead<PinItem>;
|
|
117
|
+
scanMemoriesBounded(activeOnly: boolean, pageSize: number, scanCap: number, shouldContinue?: () => boolean): BoundedRead<MemoryItem>;
|
|
118
|
+
resolveProjectMemorySource(sessionId: string): ProjectMemorySource | undefined;
|
|
119
|
+
projectMemorySourcesPage(limit: number, cursor?: ProjectMemorySourceCursor): ReadPage<ProjectMemorySource, ProjectMemorySourceCursor>;
|
|
112
120
|
listPins(activeOnly?: boolean): PinItem[];
|
|
113
121
|
listMemories(activeOnly?: boolean): MemoryItem[];
|
|
114
122
|
diagnostics(): MemoryDiagnostics;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-manager.d.ts","sourceRoot":"","sources":["../../src/memory/memory-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACzF,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"memory-manager.d.ts","sourceRoot":"","sources":["../../src/memory/memory-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -532,6 +532,77 @@ export class MemoryManager {
|
|
|
532
532
|
memoryTokens: memories.reduce((total, item) => total + item.estimatedTokens, 0),
|
|
533
533
|
};
|
|
534
534
|
}
|
|
535
|
+
resolveVisiblePin(id, activeOnly = true) {
|
|
536
|
+
return this.repository.getVisiblePin(id, {
|
|
537
|
+
sessionId: this.sessionId,
|
|
538
|
+
projectPath: this.projectPath,
|
|
539
|
+
includeProject: this.projectTrusted,
|
|
540
|
+
includeCrossSessionProject: true,
|
|
541
|
+
activeOnly,
|
|
542
|
+
});
|
|
543
|
+
}
|
|
544
|
+
resolveVisibleMemory(id, activeOnly = true) {
|
|
545
|
+
return this.repository.getVisibleMemory(id, {
|
|
546
|
+
sessionId: this.sessionId,
|
|
547
|
+
projectPath: this.projectPath,
|
|
548
|
+
includeProject: this.projectTrusted,
|
|
549
|
+
includeCrossSessionProject: true,
|
|
550
|
+
activeOnly,
|
|
551
|
+
});
|
|
552
|
+
}
|
|
553
|
+
listPinsPage(activeOnly, activeBranchEntryIds, limit, cursor) {
|
|
554
|
+
return this.repository.listPinsPage({
|
|
555
|
+
sessionId: this.sessionId,
|
|
556
|
+
projectPath: this.projectPath,
|
|
557
|
+
includeProject: this.projectTrusted,
|
|
558
|
+
includeCrossSessionProject: true,
|
|
559
|
+
activeOnly,
|
|
560
|
+
activeBranchEntryIds,
|
|
561
|
+
limit,
|
|
562
|
+
...(cursor ? { cursor } : {}),
|
|
563
|
+
});
|
|
564
|
+
}
|
|
565
|
+
listMemoriesPage(activeOnly, limit, cursor) {
|
|
566
|
+
return this.repository.listMemoriesPage({
|
|
567
|
+
sessionId: this.sessionId,
|
|
568
|
+
projectPath: this.projectPath,
|
|
569
|
+
includeProject: this.projectTrusted,
|
|
570
|
+
includeCrossSessionProject: true,
|
|
571
|
+
activeOnly,
|
|
572
|
+
limit,
|
|
573
|
+
...(cursor ? { cursor } : {}),
|
|
574
|
+
});
|
|
575
|
+
}
|
|
576
|
+
scanPinsBounded(activeOnly, pageSize, scanCap, shouldContinue) {
|
|
577
|
+
return this.repository.scanPinsBounded({
|
|
578
|
+
sessionId: this.sessionId,
|
|
579
|
+
projectPath: this.projectPath,
|
|
580
|
+
includeProject: this.projectTrusted,
|
|
581
|
+
includeCrossSessionProject: true,
|
|
582
|
+
activeOnly,
|
|
583
|
+
pageSize,
|
|
584
|
+
scanCap,
|
|
585
|
+
...(shouldContinue ? { shouldContinue } : {}),
|
|
586
|
+
});
|
|
587
|
+
}
|
|
588
|
+
scanMemoriesBounded(activeOnly, pageSize, scanCap, shouldContinue) {
|
|
589
|
+
return this.repository.scanMemoriesBounded({
|
|
590
|
+
sessionId: this.sessionId,
|
|
591
|
+
projectPath: this.projectPath,
|
|
592
|
+
includeProject: this.projectTrusted,
|
|
593
|
+
includeCrossSessionProject: true,
|
|
594
|
+
activeOnly,
|
|
595
|
+
pageSize,
|
|
596
|
+
scanCap,
|
|
597
|
+
...(shouldContinue ? { shouldContinue } : {}),
|
|
598
|
+
});
|
|
599
|
+
}
|
|
600
|
+
resolveProjectMemorySource(sessionId) {
|
|
601
|
+
return this.repository.getProjectSource(this.projectPath, sessionId);
|
|
602
|
+
}
|
|
603
|
+
projectMemorySourcesPage(limit, cursor) {
|
|
604
|
+
return this.repository.listProjectSourcesPage(this.projectPath, limit, cursor);
|
|
605
|
+
}
|
|
535
606
|
listPins(activeOnly = false) {
|
|
536
607
|
return this.repository.listPins({
|
|
537
608
|
sessionId: this.sessionId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-manager.js","sourceRoot":"","sources":["../../src/memory/memory-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memory-manager.js","sourceRoot":"","sources":["../../src/memory/memory-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,49 @@ export interface ProjectMemorySourceCheckpoint {
|
|
|
18
18
|
lastError?: string;
|
|
19
19
|
indexedAt: number;
|
|
20
20
|
}
|
|
21
|
+
interface VisibleItemsOptions {
|
|
22
|
+
sessionId: string;
|
|
23
|
+
projectPath: string;
|
|
24
|
+
includeProject: boolean;
|
|
25
|
+
includeCrossSessionProject?: boolean;
|
|
26
|
+
activeOnly?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface MemoryListCursor {
|
|
29
|
+
statusRank: number;
|
|
30
|
+
updatedAt: number;
|
|
31
|
+
id: string;
|
|
32
|
+
}
|
|
33
|
+
export interface PinListCursor extends MemoryListCursor {
|
|
34
|
+
applicableRank: number;
|
|
35
|
+
}
|
|
36
|
+
export interface ProjectMemorySourceCursor {
|
|
37
|
+
indexedAt: number;
|
|
38
|
+
sessionId: string;
|
|
39
|
+
}
|
|
40
|
+
export interface ReadPage<T, C> {
|
|
41
|
+
items: T[];
|
|
42
|
+
hasMore: boolean;
|
|
43
|
+
nextCursor?: C;
|
|
44
|
+
}
|
|
45
|
+
export interface BoundedRead<T> {
|
|
46
|
+
items: T[];
|
|
47
|
+
incomplete: boolean;
|
|
48
|
+
aborted: boolean;
|
|
49
|
+
}
|
|
50
|
+
export interface PinPageOptions extends VisibleItemsOptions {
|
|
51
|
+
activeBranchEntryIds: readonly string[];
|
|
52
|
+
limit: number;
|
|
53
|
+
cursor?: PinListCursor;
|
|
54
|
+
}
|
|
55
|
+
export interface MemoryPageOptions extends VisibleItemsOptions {
|
|
56
|
+
limit: number;
|
|
57
|
+
cursor?: MemoryListCursor;
|
|
58
|
+
}
|
|
59
|
+
export interface BoundedScanOptions extends VisibleItemsOptions {
|
|
60
|
+
pageSize: number;
|
|
61
|
+
scanCap: number;
|
|
62
|
+
shouldContinue?: () => boolean;
|
|
63
|
+
}
|
|
21
64
|
export declare class MemoryRepository {
|
|
22
65
|
private readonly database;
|
|
23
66
|
private readonly writes;
|
|
@@ -29,7 +72,12 @@ export declare class MemoryRepository {
|
|
|
29
72
|
markProjectSourceUnavailable(projectPath: string, sessionId: string, status: "missing" | "corrupt", error: string, indexedAt: number): MemoryMaterializationResult | undefined;
|
|
30
73
|
setProjectSourceExcluded(projectPath: string, sessionId: string, excluded: boolean, excludedAt: number, reason?: string): MemoryMaterializationResult;
|
|
31
74
|
listProjectSources(projectPath: string): ProjectMemorySource[];
|
|
75
|
+
getProjectSource(projectPath: string, sessionId: string): ProjectMemorySource | undefined;
|
|
76
|
+
listProjectSourcesPage(projectPath: string, limit: number, cursor?: ProjectMemorySourceCursor): ReadPage<ProjectMemorySource, ProjectMemorySourceCursor>;
|
|
32
77
|
getMemory(id: string): MemoryItem | undefined;
|
|
78
|
+
getVisibleMemory(id: string, options: VisibleItemsOptions): MemoryItem | undefined;
|
|
79
|
+
listMemoriesPage(options: MemoryPageOptions): ReadPage<MemoryItem, MemoryListCursor>;
|
|
80
|
+
scanMemoriesBounded(options: BoundedScanOptions): BoundedRead<MemoryItem>;
|
|
33
81
|
listMemories(options: {
|
|
34
82
|
sessionId: string;
|
|
35
83
|
projectPath: string;
|
|
@@ -38,6 +86,9 @@ export declare class MemoryRepository {
|
|
|
38
86
|
activeOnly?: boolean;
|
|
39
87
|
}): MemoryItem[];
|
|
40
88
|
getPin(id: string): PinItem | undefined;
|
|
89
|
+
getVisiblePin(id: string, options: VisibleItemsOptions): PinItem | undefined;
|
|
90
|
+
listPinsPage(options: PinPageOptions): ReadPage<PinItem, PinListCursor>;
|
|
91
|
+
scanPinsBounded(options: BoundedScanOptions): BoundedRead<PinItem>;
|
|
41
92
|
listPins(options: {
|
|
42
93
|
sessionId: string;
|
|
43
94
|
projectPath: string;
|
|
@@ -57,8 +108,10 @@ export declare class MemoryRepository {
|
|
|
57
108
|
private insertMemoryMutations;
|
|
58
109
|
private insertPinMutations;
|
|
59
110
|
private writeProjectSourceState;
|
|
111
|
+
private readSnapshot;
|
|
60
112
|
private mapProjectSourceCheckpoint;
|
|
61
113
|
private memorySourceIds;
|
|
62
114
|
private memorySources;
|
|
63
115
|
}
|
|
116
|
+
export {};
|
|
64
117
|
//# sourceMappingURL=memory-repository.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-repository.d.ts","sourceRoot":"","sources":["../../../src/persistence/repositories/memory-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,2BAA2B,EAGhC,KAAK,OAAO,EAIZ,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACvB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,WAAW,6BAA6B;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"memory-repository.d.ts","sourceRoot":"","sources":["../../../src/persistence/repositories/memory-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -128,6 +128,28 @@ function mapPin(row) {
|
|
|
128
128
|
},
|
|
129
129
|
};
|
|
130
130
|
}
|
|
131
|
+
function mapProjectSource(row) {
|
|
132
|
+
return {
|
|
133
|
+
projectPath: row.project_path,
|
|
134
|
+
sessionId: row.session_id,
|
|
135
|
+
sessionFile: row.session_file,
|
|
136
|
+
status: row.excluded_at !== null ? "excluded" : row.status,
|
|
137
|
+
indexedRecords: row.indexed_records,
|
|
138
|
+
indexedMutations: row.indexed_mutations,
|
|
139
|
+
malformedLines: row.malformed_lines,
|
|
140
|
+
activeProjectMemories: row.active_project_memories ?? 0,
|
|
141
|
+
activeProjectPins: row.active_project_pins ?? 0,
|
|
142
|
+
indexedAt: row.indexed_at,
|
|
143
|
+
...(row.last_error ? { lastError: row.last_error } : {}),
|
|
144
|
+
...(row.exclusion_reason ? { exclusionReason: row.exclusion_reason } : {}),
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
function boundedInteger(value, name, maximum) {
|
|
148
|
+
if (!Number.isSafeInteger(value) || value < 1 || value > maximum) {
|
|
149
|
+
throw new Error(`${name} must be an integer between 1 and ${maximum}`);
|
|
150
|
+
}
|
|
151
|
+
return value;
|
|
152
|
+
}
|
|
131
153
|
export class MemoryRepository {
|
|
132
154
|
database;
|
|
133
155
|
writes;
|
|
@@ -244,25 +266,195 @@ export class MemoryRepository {
|
|
|
244
266
|
WHERE state.project_path = ?
|
|
245
267
|
ORDER BY state.indexed_at DESC, state.session_id
|
|
246
268
|
`).all(projectPath);
|
|
247
|
-
return rows.map(
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
269
|
+
return rows.map(mapProjectSource);
|
|
270
|
+
}
|
|
271
|
+
getProjectSource(projectPath, sessionId) {
|
|
272
|
+
const row = this.database.prepare(`
|
|
273
|
+
SELECT state.project_path, state.session_id, state.session_file, state.header_hash,
|
|
274
|
+
state.file_size, state.file_mtime_ms, state.checkpoint_offset,
|
|
275
|
+
state.checkpoint_hash_start, state.checkpoint_hash, state.indexed_records,
|
|
276
|
+
state.indexed_mutations, state.malformed_lines, state.status, state.last_error,
|
|
277
|
+
state.indexed_at, exclusion.excluded_at, exclusion.reason AS exclusion_reason,
|
|
278
|
+
(SELECT count(*) FROM memory_items AS memory
|
|
279
|
+
WHERE memory.scope = 'project' AND memory.project_path = state.project_path
|
|
280
|
+
AND memory.origin_session_id = state.session_id AND memory.status = 'active')
|
|
281
|
+
AS active_project_memories,
|
|
282
|
+
(SELECT count(*) FROM pins AS pin
|
|
283
|
+
WHERE pin.scope = 'project' AND pin.project_path = state.project_path
|
|
284
|
+
AND pin.session_id = state.session_id AND pin.status = 'active')
|
|
285
|
+
AS active_project_pins
|
|
286
|
+
FROM project_memory_sessions AS state
|
|
287
|
+
LEFT JOIN project_memory_source_exclusions AS exclusion
|
|
288
|
+
ON exclusion.project_path = state.project_path AND exclusion.session_id = state.session_id
|
|
289
|
+
WHERE state.project_path = ? AND state.session_id = ?
|
|
290
|
+
`).get(projectPath, sessionId);
|
|
291
|
+
return row ? mapProjectSource(row) : undefined;
|
|
292
|
+
}
|
|
293
|
+
listProjectSourcesPage(projectPath, limit, cursor) {
|
|
294
|
+
boundedInteger(limit, "limit", 1_000);
|
|
295
|
+
return this.readSnapshot(() => {
|
|
296
|
+
const cursorFilter = cursor
|
|
297
|
+
? "AND (state.indexed_at < ? OR (state.indexed_at = ? AND state.session_id > ?))"
|
|
298
|
+
: "";
|
|
299
|
+
const rows = this.database.prepare(`
|
|
300
|
+
SELECT state.project_path, state.session_id, state.session_file, state.header_hash,
|
|
301
|
+
state.file_size, state.file_mtime_ms, state.checkpoint_offset,
|
|
302
|
+
state.checkpoint_hash_start, state.checkpoint_hash, state.indexed_records,
|
|
303
|
+
state.indexed_mutations, state.malformed_lines, state.status, state.last_error,
|
|
304
|
+
state.indexed_at, exclusion.excluded_at, exclusion.reason AS exclusion_reason,
|
|
305
|
+
(SELECT count(*) FROM memory_items AS memory
|
|
306
|
+
WHERE memory.scope = 'project' AND memory.project_path = state.project_path
|
|
307
|
+
AND memory.origin_session_id = state.session_id AND memory.status = 'active')
|
|
308
|
+
AS active_project_memories,
|
|
309
|
+
(SELECT count(*) FROM pins AS pin
|
|
310
|
+
WHERE pin.scope = 'project' AND pin.project_path = state.project_path
|
|
311
|
+
AND pin.session_id = state.session_id AND pin.status = 'active')
|
|
312
|
+
AS active_project_pins
|
|
313
|
+
FROM project_memory_sessions AS state
|
|
314
|
+
LEFT JOIN project_memory_source_exclusions AS exclusion
|
|
315
|
+
ON exclusion.project_path = state.project_path AND exclusion.session_id = state.session_id
|
|
316
|
+
WHERE state.project_path = ? ${cursorFilter}
|
|
317
|
+
ORDER BY state.indexed_at DESC, state.session_id ASC
|
|
318
|
+
LIMIT ?
|
|
319
|
+
`).all(projectPath, ...(cursor ? [cursor.indexedAt, cursor.indexedAt, cursor.sessionId] : []), limit + 1);
|
|
320
|
+
const hasMore = rows.length > limit;
|
|
321
|
+
const selected = rows.slice(0, limit);
|
|
322
|
+
const last = selected.at(-1);
|
|
323
|
+
return {
|
|
324
|
+
items: selected.map(mapProjectSource),
|
|
325
|
+
hasMore,
|
|
326
|
+
...(hasMore && last
|
|
327
|
+
? { nextCursor: { indexedAt: last.indexed_at, sessionId: last.session_id } }
|
|
328
|
+
: {}),
|
|
329
|
+
};
|
|
330
|
+
});
|
|
261
331
|
}
|
|
262
332
|
getMemory(id) {
|
|
263
333
|
const row = this.database.prepare("SELECT * FROM memory_items WHERE memory_id = ?").get(id);
|
|
264
334
|
return row ? mapMemory(row, this.memorySourceIds(id)) : undefined;
|
|
265
335
|
}
|
|
336
|
+
getVisibleMemory(id, options) {
|
|
337
|
+
return this.readSnapshot(() => {
|
|
338
|
+
const status = options.activeOnly === false ? "" : "AND status = 'active'";
|
|
339
|
+
const row = this.database.prepare(`
|
|
340
|
+
SELECT * FROM memory_items
|
|
341
|
+
WHERE memory_id = ?
|
|
342
|
+
AND length(memory_id) BETWEEN 1 AND 128
|
|
343
|
+
AND memory_id NOT GLOB '*[^A-Za-z0-9._:-]*'
|
|
344
|
+
AND (
|
|
345
|
+
(scope = 'session' AND session_id = ?)
|
|
346
|
+
OR (scope = 'project' AND project_path = ? AND ? = 1
|
|
347
|
+
AND (? = 1 OR origin_session_id = ?))
|
|
348
|
+
) ${status}
|
|
349
|
+
`).get(id, options.sessionId, options.projectPath, options.includeProject ? 1 : 0, options.includeCrossSessionProject ? 1 : 0, options.sessionId);
|
|
350
|
+
return row ? mapMemory(row, this.memorySourceIds(id)) : undefined;
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
listMemoriesPage(options) {
|
|
354
|
+
const limit = boundedInteger(options.limit, "limit", 1_000);
|
|
355
|
+
return this.readSnapshot(() => {
|
|
356
|
+
const status = options.activeOnly === false ? "" : "AND status = 'active'";
|
|
357
|
+
const cursorFilter = options.cursor
|
|
358
|
+
? `WHERE (status_rank > ?
|
|
359
|
+
OR (status_rank = ? AND updated_at < ?)
|
|
360
|
+
OR (status_rank = ? AND updated_at = ? AND memory_id > ?))`
|
|
361
|
+
: "";
|
|
362
|
+
const rows = this.database.prepare(`
|
|
363
|
+
WITH visible AS (
|
|
364
|
+
SELECT *, CASE WHEN status = 'active' THEN 0 ELSE 1 END AS status_rank
|
|
365
|
+
FROM memory_items
|
|
366
|
+
WHERE length(memory_id) BETWEEN 1 AND 128
|
|
367
|
+
AND memory_id NOT GLOB '*[^A-Za-z0-9._:-]*'
|
|
368
|
+
AND (
|
|
369
|
+
(scope = 'session' AND session_id = ?)
|
|
370
|
+
OR (scope = 'project' AND project_path = ? AND ? = 1
|
|
371
|
+
AND (? = 1 OR origin_session_id = ?))
|
|
372
|
+
) ${status}
|
|
373
|
+
)
|
|
374
|
+
SELECT * FROM visible
|
|
375
|
+
${cursorFilter}
|
|
376
|
+
ORDER BY status_rank ASC, updated_at DESC, memory_id ASC
|
|
377
|
+
LIMIT ?
|
|
378
|
+
`).all(options.sessionId, options.projectPath, options.includeProject ? 1 : 0, options.includeCrossSessionProject ? 1 : 0, options.sessionId, ...(options.cursor
|
|
379
|
+
? [
|
|
380
|
+
options.cursor.statusRank,
|
|
381
|
+
options.cursor.statusRank,
|
|
382
|
+
options.cursor.updatedAt,
|
|
383
|
+
options.cursor.statusRank,
|
|
384
|
+
options.cursor.updatedAt,
|
|
385
|
+
options.cursor.id,
|
|
386
|
+
]
|
|
387
|
+
: []), limit + 1);
|
|
388
|
+
const hasMore = rows.length > limit;
|
|
389
|
+
const selected = rows.slice(0, limit);
|
|
390
|
+
const sources = this.memorySources(new Set(selected.map((row) => row.memory_id)));
|
|
391
|
+
const last = selected.at(-1);
|
|
392
|
+
return {
|
|
393
|
+
items: selected.map((row) => mapMemory(row, sources.get(row.memory_id) ?? [])),
|
|
394
|
+
hasMore,
|
|
395
|
+
...(hasMore && last
|
|
396
|
+
? {
|
|
397
|
+
nextCursor: {
|
|
398
|
+
statusRank: last.status_rank,
|
|
399
|
+
updatedAt: last.updated_at,
|
|
400
|
+
id: last.memory_id,
|
|
401
|
+
},
|
|
402
|
+
}
|
|
403
|
+
: {}),
|
|
404
|
+
};
|
|
405
|
+
});
|
|
406
|
+
}
|
|
407
|
+
scanMemoriesBounded(options) {
|
|
408
|
+
const pageSize = boundedInteger(options.pageSize, "pageSize", 1_000);
|
|
409
|
+
const scanCap = boundedInteger(options.scanCap, "scanCap", 100_000);
|
|
410
|
+
return this.readSnapshot(() => {
|
|
411
|
+
const selected = [];
|
|
412
|
+
let cursor;
|
|
413
|
+
const status = options.activeOnly === false ? "" : "AND status = 'active'";
|
|
414
|
+
while (selected.length <= scanCap) {
|
|
415
|
+
if (options.shouldContinue && !options.shouldContinue()) {
|
|
416
|
+
const sources = this.memorySources(new Set(selected.map((row) => row.memory_id)));
|
|
417
|
+
return {
|
|
418
|
+
items: selected.map((row) => mapMemory(row, sources.get(row.memory_id) ?? [])),
|
|
419
|
+
incomplete: false,
|
|
420
|
+
aborted: true,
|
|
421
|
+
};
|
|
422
|
+
}
|
|
423
|
+
const cursorFilter = cursor
|
|
424
|
+
? "AND (updated_at < ? OR (updated_at = ? AND memory_id > ?))"
|
|
425
|
+
: "";
|
|
426
|
+
const requested = Math.min(pageSize, scanCap + 1 - selected.length);
|
|
427
|
+
const rows = this.database.prepare(`
|
|
428
|
+
SELECT * FROM memory_items
|
|
429
|
+
WHERE length(memory_id) BETWEEN 1 AND 128
|
|
430
|
+
AND memory_id NOT GLOB '*[^A-Za-z0-9._:-]*'
|
|
431
|
+
AND (
|
|
432
|
+
(scope = 'session' AND session_id = ?)
|
|
433
|
+
OR (scope = 'project' AND project_path = ? AND ? = 1
|
|
434
|
+
AND (? = 1 OR origin_session_id = ?))
|
|
435
|
+
) ${status} ${cursorFilter}
|
|
436
|
+
ORDER BY updated_at DESC, memory_id ASC
|
|
437
|
+
LIMIT ?
|
|
438
|
+
`).all(options.sessionId, options.projectPath, options.includeProject ? 1 : 0, options.includeCrossSessionProject ? 1 : 0, options.sessionId, ...(cursor ? [cursor.updatedAt, cursor.updatedAt, cursor.id] : []), requested);
|
|
439
|
+
selected.push(...rows);
|
|
440
|
+
if (selected.length > scanCap || rows.length < requested)
|
|
441
|
+
break;
|
|
442
|
+
const last = rows.at(-1);
|
|
443
|
+
if (!last)
|
|
444
|
+
break;
|
|
445
|
+
cursor = { updatedAt: last.updated_at, id: last.memory_id };
|
|
446
|
+
}
|
|
447
|
+
const incomplete = selected.length > scanCap;
|
|
448
|
+
if (incomplete)
|
|
449
|
+
selected.length = scanCap;
|
|
450
|
+
const sources = this.memorySources(new Set(selected.map((row) => row.memory_id)));
|
|
451
|
+
return {
|
|
452
|
+
items: selected.map((row) => mapMemory(row, sources.get(row.memory_id) ?? [])),
|
|
453
|
+
incomplete,
|
|
454
|
+
aborted: false,
|
|
455
|
+
};
|
|
456
|
+
});
|
|
457
|
+
}
|
|
266
458
|
listMemories(options) {
|
|
267
459
|
const status = options.activeOnly === false ? "" : "AND status = 'active'";
|
|
268
460
|
const rows = this.database.prepare(`
|
|
@@ -281,6 +473,129 @@ export class MemoryRepository {
|
|
|
281
473
|
const row = this.database.prepare("SELECT * FROM pins WHERE pin_id = ?").get(id);
|
|
282
474
|
return row ? mapPin(row) : undefined;
|
|
283
475
|
}
|
|
476
|
+
getVisiblePin(id, options) {
|
|
477
|
+
return this.readSnapshot(() => {
|
|
478
|
+
const status = options.activeOnly === false ? "" : "AND status = 'active'";
|
|
479
|
+
const row = this.database.prepare(`
|
|
480
|
+
SELECT * FROM pins
|
|
481
|
+
WHERE pin_id = ?
|
|
482
|
+
AND length(pin_id) BETWEEN 1 AND 128
|
|
483
|
+
AND pin_id NOT GLOB '*[^A-Za-z0-9._:-]*'
|
|
484
|
+
AND (
|
|
485
|
+
(scope IN ('session', 'branch') AND session_id = ?)
|
|
486
|
+
OR (scope = 'project' AND project_path = ? AND ? = 1
|
|
487
|
+
AND (? = 1 OR session_id = ?))
|
|
488
|
+
) ${status}
|
|
489
|
+
`).get(id, options.sessionId, options.projectPath, options.includeProject ? 1 : 0, options.includeCrossSessionProject ? 1 : 0, options.sessionId);
|
|
490
|
+
return row ? mapPin(row) : undefined;
|
|
491
|
+
});
|
|
492
|
+
}
|
|
493
|
+
listPinsPage(options) {
|
|
494
|
+
const limit = boundedInteger(options.limit, "limit", 1_000);
|
|
495
|
+
return this.readSnapshot(() => {
|
|
496
|
+
const status = options.activeOnly === false ? "" : "AND status = 'active'";
|
|
497
|
+
const cursorFilter = options.cursor
|
|
498
|
+
? `WHERE (status_rank > ?
|
|
499
|
+
OR (status_rank = ? AND applicable_rank > ?)
|
|
500
|
+
OR (status_rank = ? AND applicable_rank = ? AND updated_at < ?)
|
|
501
|
+
OR (status_rank = ? AND applicable_rank = ? AND updated_at = ? AND pin_id > ?))`
|
|
502
|
+
: "";
|
|
503
|
+
const rows = this.database.prepare(`
|
|
504
|
+
WITH visible AS (
|
|
505
|
+
SELECT *,
|
|
506
|
+
CASE WHEN status = 'active' THEN 0 ELSE 1 END AS status_rank,
|
|
507
|
+
CASE
|
|
508
|
+
WHEN scope <> 'branch'
|
|
509
|
+
OR branch_leaf_id IN (SELECT value FROM json_each(?))
|
|
510
|
+
THEN 0 ELSE 1
|
|
511
|
+
END AS applicable_rank
|
|
512
|
+
FROM pins
|
|
513
|
+
WHERE length(pin_id) BETWEEN 1 AND 128
|
|
514
|
+
AND pin_id NOT GLOB '*[^A-Za-z0-9._:-]*'
|
|
515
|
+
AND (
|
|
516
|
+
(scope IN ('session', 'branch') AND session_id = ?)
|
|
517
|
+
OR (scope = 'project' AND project_path = ? AND ? = 1
|
|
518
|
+
AND (? = 1 OR session_id = ?))
|
|
519
|
+
) ${status}
|
|
520
|
+
)
|
|
521
|
+
SELECT * FROM visible
|
|
522
|
+
${cursorFilter}
|
|
523
|
+
ORDER BY status_rank ASC, applicable_rank ASC, updated_at DESC, pin_id ASC
|
|
524
|
+
LIMIT ?
|
|
525
|
+
`).all(JSON.stringify([...new Set(options.activeBranchEntryIds)]), options.sessionId, options.projectPath, options.includeProject ? 1 : 0, options.includeCrossSessionProject ? 1 : 0, options.sessionId, ...(options.cursor
|
|
526
|
+
? [
|
|
527
|
+
options.cursor.statusRank,
|
|
528
|
+
options.cursor.statusRank,
|
|
529
|
+
options.cursor.applicableRank,
|
|
530
|
+
options.cursor.statusRank,
|
|
531
|
+
options.cursor.applicableRank,
|
|
532
|
+
options.cursor.updatedAt,
|
|
533
|
+
options.cursor.statusRank,
|
|
534
|
+
options.cursor.applicableRank,
|
|
535
|
+
options.cursor.updatedAt,
|
|
536
|
+
options.cursor.id,
|
|
537
|
+
]
|
|
538
|
+
: []), limit + 1);
|
|
539
|
+
const hasMore = rows.length > limit;
|
|
540
|
+
const selected = rows.slice(0, limit);
|
|
541
|
+
const last = selected.at(-1);
|
|
542
|
+
return {
|
|
543
|
+
items: selected.map(mapPin),
|
|
544
|
+
hasMore,
|
|
545
|
+
...(hasMore && last
|
|
546
|
+
? {
|
|
547
|
+
nextCursor: {
|
|
548
|
+
statusRank: last.status_rank,
|
|
549
|
+
applicableRank: last.applicable_rank,
|
|
550
|
+
updatedAt: last.updated_at,
|
|
551
|
+
id: last.pin_id,
|
|
552
|
+
},
|
|
553
|
+
}
|
|
554
|
+
: {}),
|
|
555
|
+
};
|
|
556
|
+
});
|
|
557
|
+
}
|
|
558
|
+
scanPinsBounded(options) {
|
|
559
|
+
const pageSize = boundedInteger(options.pageSize, "pageSize", 1_000);
|
|
560
|
+
const scanCap = boundedInteger(options.scanCap, "scanCap", 100_000);
|
|
561
|
+
return this.readSnapshot(() => {
|
|
562
|
+
const selected = [];
|
|
563
|
+
let cursor;
|
|
564
|
+
const status = options.activeOnly === false ? "" : "AND status = 'active'";
|
|
565
|
+
while (selected.length <= scanCap) {
|
|
566
|
+
if (options.shouldContinue && !options.shouldContinue()) {
|
|
567
|
+
return { items: selected.map(mapPin), incomplete: false, aborted: true };
|
|
568
|
+
}
|
|
569
|
+
const cursorFilter = cursor
|
|
570
|
+
? "AND (updated_at < ? OR (updated_at = ? AND pin_id > ?))"
|
|
571
|
+
: "";
|
|
572
|
+
const requested = Math.min(pageSize, scanCap + 1 - selected.length);
|
|
573
|
+
const rows = this.database.prepare(`
|
|
574
|
+
SELECT * FROM pins
|
|
575
|
+
WHERE length(pin_id) BETWEEN 1 AND 128
|
|
576
|
+
AND pin_id NOT GLOB '*[^A-Za-z0-9._:-]*'
|
|
577
|
+
AND (
|
|
578
|
+
(scope IN ('session', 'branch') AND session_id = ?)
|
|
579
|
+
OR (scope = 'project' AND project_path = ? AND ? = 1
|
|
580
|
+
AND (? = 1 OR session_id = ?))
|
|
581
|
+
) ${status} ${cursorFilter}
|
|
582
|
+
ORDER BY updated_at DESC, pin_id ASC
|
|
583
|
+
LIMIT ?
|
|
584
|
+
`).all(options.sessionId, options.projectPath, options.includeProject ? 1 : 0, options.includeCrossSessionProject ? 1 : 0, options.sessionId, ...(cursor ? [cursor.updatedAt, cursor.updatedAt, cursor.id] : []), requested);
|
|
585
|
+
selected.push(...rows);
|
|
586
|
+
if (selected.length > scanCap || rows.length < requested)
|
|
587
|
+
break;
|
|
588
|
+
const last = rows.at(-1);
|
|
589
|
+
if (!last)
|
|
590
|
+
break;
|
|
591
|
+
cursor = { updatedAt: last.updated_at, id: last.pin_id };
|
|
592
|
+
}
|
|
593
|
+
const incomplete = selected.length > scanCap;
|
|
594
|
+
if (incomplete)
|
|
595
|
+
selected.length = scanCap;
|
|
596
|
+
return { items: selected.map(mapPin), incomplete, aborted: false };
|
|
597
|
+
});
|
|
598
|
+
}
|
|
284
599
|
listPins(options) {
|
|
285
600
|
const status = options.activeOnly === false ? "" : "AND status = 'active'";
|
|
286
601
|
const rows = this.database.prepare(`
|
|
@@ -746,6 +1061,26 @@ export class MemoryRepository {
|
|
|
746
1061
|
indexed_at = excluded.indexed_at
|
|
747
1062
|
`).run(checkpoint.projectPath, checkpoint.sessionId, checkpoint.sessionFile, checkpoint.headerHash, checkpoint.fileSize, checkpoint.fileMtimeMs, checkpoint.checkpointOffset, checkpoint.checkpointHashStart, checkpoint.checkpointHash ?? null, checkpoint.indexedRecords, checkpoint.indexedMutations, checkpoint.malformedLines, checkpoint.status, checkpoint.lastError ?? null, checkpoint.indexedAt);
|
|
748
1063
|
}
|
|
1064
|
+
readSnapshot(read) {
|
|
1065
|
+
this.database.exec("SAVEPOINT ds4_memory_read_snapshot");
|
|
1066
|
+
try {
|
|
1067
|
+
const value = read();
|
|
1068
|
+
this.database.exec("RELEASE SAVEPOINT ds4_memory_read_snapshot");
|
|
1069
|
+
return value;
|
|
1070
|
+
}
|
|
1071
|
+
catch (error) {
|
|
1072
|
+
try {
|
|
1073
|
+
this.database.exec(`
|
|
1074
|
+
ROLLBACK TO SAVEPOINT ds4_memory_read_snapshot;
|
|
1075
|
+
RELEASE SAVEPOINT ds4_memory_read_snapshot;
|
|
1076
|
+
`);
|
|
1077
|
+
}
|
|
1078
|
+
catch {
|
|
1079
|
+
// Preserve the original read failure; the owning operation remains fail-closed.
|
|
1080
|
+
}
|
|
1081
|
+
throw error;
|
|
1082
|
+
}
|
|
1083
|
+
}
|
|
749
1084
|
mapProjectSourceCheckpoint(row) {
|
|
750
1085
|
return {
|
|
751
1086
|
projectPath: row.project_path,
|
|
@@ -771,19 +1106,23 @@ export class MemoryRepository {
|
|
|
771
1106
|
memorySources(memoryIds) {
|
|
772
1107
|
if (memoryIds.size === 0)
|
|
773
1108
|
return new Map();
|
|
774
|
-
const rows = this.database.prepare(`
|
|
775
|
-
SELECT source.memory_id, entry.entry_id
|
|
776
|
-
FROM memory_sources AS source
|
|
777
|
-
JOIN entries AS entry ON entry.entry_key = source.entry_key
|
|
778
|
-
ORDER BY entry.created_at, entry.entry_id
|
|
779
|
-
`).all();
|
|
780
1109
|
const result = new Map();
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
const
|
|
785
|
-
|
|
786
|
-
|
|
1110
|
+
const ids = [...memoryIds];
|
|
1111
|
+
for (let offset = 0; offset < ids.length; offset += 500) {
|
|
1112
|
+
const chunk = ids.slice(offset, offset + 500);
|
|
1113
|
+
const placeholders = chunk.map(() => "?").join(", ");
|
|
1114
|
+
const rows = this.database.prepare(`
|
|
1115
|
+
SELECT source.memory_id, entry.entry_id
|
|
1116
|
+
FROM memory_sources AS source
|
|
1117
|
+
JOIN entries AS entry ON entry.entry_key = source.entry_key
|
|
1118
|
+
WHERE source.memory_id IN (${placeholders})
|
|
1119
|
+
ORDER BY source.memory_id, entry.created_at, entry.entry_id
|
|
1120
|
+
`).all(...chunk);
|
|
1121
|
+
for (const row of rows) {
|
|
1122
|
+
const values = result.get(row.memory_id) ?? [];
|
|
1123
|
+
values.push(row.entry_id);
|
|
1124
|
+
result.set(row.memory_id, values);
|
|
1125
|
+
}
|
|
787
1126
|
}
|
|
788
1127
|
return result;
|
|
789
1128
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-repository.js","sourceRoot":"","sources":["../../../src/persistence/repositories/memory-repository.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memory-repository.js","sourceRoot":"","sources":["../../../src/persistence/repositories/memory-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -97,15 +97,15 @@ export class ContextDatabase {
|
|
|
97
97
|
try {
|
|
98
98
|
database.exec("PRAGMA foreign_keys = ON");
|
|
99
99
|
database.exec(`PRAGMA busy_timeout = ${writes.busyTimeoutMs}`);
|
|
100
|
-
database.exec("PRAGMA synchronous = NORMAL");
|
|
100
|
+
writes.execute("configure-synchronous", () => database.exec("PRAGMA synchronous = NORMAL"));
|
|
101
101
|
database.exec("PRAGMA trusted_schema = OFF");
|
|
102
|
-
database.exec("PRAGMA secure_delete = FAST");
|
|
102
|
+
writes.execute("configure-secure-delete", () => database.exec("PRAGMA secure_delete = FAST"));
|
|
103
103
|
if (!memory)
|
|
104
104
|
writes.execute("enable-wal", () => database.exec("PRAGMA journal_mode = WAL"));
|
|
105
105
|
const migrations = applyMigrations(database, options.now, writes);
|
|
106
106
|
if (!memory)
|
|
107
107
|
bestEffortChmod(path, 0o600);
|
|
108
|
-
logger.
|
|
108
|
+
logger.debug("database.opened", {
|
|
109
109
|
databasePath: path,
|
|
110
110
|
schemaVersion: CURRENT_SCHEMA_VERSION,
|
|
111
111
|
migrations: migrations.length,
|
|
@@ -156,7 +156,7 @@ export class ContextDatabase {
|
|
|
156
156
|
return;
|
|
157
157
|
this.closed = true;
|
|
158
158
|
this.database.close();
|
|
159
|
-
this.logger.
|
|
159
|
+
this.logger.debug("database.closed", { databasePath: this.path });
|
|
160
160
|
}
|
|
161
161
|
assertOpen() {
|
|
162
162
|
if (this.closed)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/persistence/sqlite.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/persistence/sqlite.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED