@vortex-os/memory-extended 0.5.3 → 0.7.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/sessionArchive/ingest.d.ts +10 -1
- package/dist/sessionArchive/ingest.d.ts.map +1 -1
- package/dist/sessionArchive/ingest.js +15 -0
- package/dist/sessionArchive/ingest.js.map +1 -1
- package/dist/sessionArchive/store.d.ts +26 -2
- package/dist/sessionArchive/store.d.ts.map +1 -1
- package/dist/sessionArchive/store.js +117 -13
- package/dist/sessionArchive/store.js.map +1 -1
- package/dist/vector/session.d.ts +16 -1
- package/dist/vector/session.d.ts.map +1 -1
- package/dist/vector/session.js +44 -13
- package/dist/vector/session.js.map +1 -1
- package/package.json +1 -1
- package/scripts/rebuild-memory-vector.mjs +1 -1
|
@@ -12,6 +12,15 @@ export interface IngestParams {
|
|
|
12
12
|
readonly options?: AdapterOptions;
|
|
13
13
|
/** Skip sessions whose source mtime is within this many ms of `now`. Default 30 seconds. */
|
|
14
14
|
readonly liveSessionSkipMs?: number;
|
|
15
|
+
/**
|
|
16
|
+
* Skip sessions with fewer than this many `user_message` events (default 1):
|
|
17
|
+
* a session that was opened and closed without the user ever typing has no
|
|
18
|
+
* recall value and would only pollute the archive and search results. Set 0
|
|
19
|
+
* to archive everything. Note a skipped-as-empty session is re-listed and
|
|
20
|
+
* re-read on every run (it never gets a store row) — acceptable because such
|
|
21
|
+
* transcripts are tiny and the host prunes them on its own schedule.
|
|
22
|
+
*/
|
|
23
|
+
readonly minUserMessages?: number;
|
|
15
24
|
/** Optional progress callback for UI / logging. */
|
|
16
25
|
readonly onProgress?: (event: ProgressEvent) => void;
|
|
17
26
|
/** Optional env overrides — for testing or running against a fake home. */
|
|
@@ -33,7 +42,7 @@ export type ProgressEvent = {
|
|
|
33
42
|
kind: "skip";
|
|
34
43
|
host: HostId;
|
|
35
44
|
sessionId: string;
|
|
36
|
-
reason: "live" | "already-ingested" | "oversize";
|
|
45
|
+
reason: "live" | "already-ingested" | "oversize" | "no-user-input";
|
|
37
46
|
} | {
|
|
38
47
|
kind: "host-skip";
|
|
39
48
|
host: HostId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingest.d.ts","sourceRoot":"","sources":["../../src/sessionArchive/ingest.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,MAAM,EAGN,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,sFAAsF;IACtF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,gGAAgG;IAChG,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAClC,4FAA4F;IAC5F,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,mDAAmD;IACnD,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACrD,2EAA2E;IAC3E,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CACpC;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACjD;
|
|
1
|
+
{"version":3,"file":"ingest.d.ts","sourceRoot":"","sources":["../../src/sessionArchive/ingest.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,MAAM,EAGN,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,sFAAsF;IACtF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,gGAAgG;IAChG,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAClC,4FAA4F;IAC5F,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC;;;;;;;OAOG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,mDAAmD;IACnD,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IACrD,2EAA2E;IAC3E,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CACpC;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACjD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,kBAAkB,GAAG,UAAU,GAAG,eAAe,CAAC;CACpE,GACD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAEtE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,CAAC;CACpF;AAED;;;;;;;;GAQG;AACH,wBAAsB,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAyIxE"}
|
|
@@ -19,6 +19,7 @@ export async function ingest(params) {
|
|
|
19
19
|
now: params.env?.now ?? (() => new Date()),
|
|
20
20
|
};
|
|
21
21
|
const liveSkipMs = params.liveSessionSkipMs ?? DEFAULT_LIVE_SKIP_MS;
|
|
22
|
+
const minUserMessages = params.minUserMessages ?? 1;
|
|
22
23
|
const nowMs = env.now().getTime();
|
|
23
24
|
const emit = params.onProgress ?? (() => { });
|
|
24
25
|
const store = new SessionArchiveStore(params.dataDir);
|
|
@@ -105,6 +106,20 @@ export async function ingest(params) {
|
|
|
105
106
|
emit({ kind: "read", host: adapter.host, sessionId: descriptor.sessionId });
|
|
106
107
|
try {
|
|
107
108
|
const session = await adapter.read(descriptor, env);
|
|
109
|
+
// Empty-session gate: nothing the user ever said → nothing to recall.
|
|
110
|
+
// Checked after read (the descriptor can't know) and before any write,
|
|
111
|
+
// so an opened-and-abandoned session leaves no archive footprint.
|
|
112
|
+
if (minUserMessages > 0 &&
|
|
113
|
+
session.events.filter((e) => e.kind === "user_message").length < minUserMessages) {
|
|
114
|
+
sessionsSkipped++;
|
|
115
|
+
emit({
|
|
116
|
+
kind: "skip",
|
|
117
|
+
host: adapter.host,
|
|
118
|
+
sessionId: descriptor.sessionId,
|
|
119
|
+
reason: "no-user-input",
|
|
120
|
+
});
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
108
123
|
const normalized = applyRedact(session, params.options);
|
|
109
124
|
store.writeSession(normalized, descriptor.path, descriptor.mtimeMs);
|
|
110
125
|
sessionsIngested++;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../src/sessionArchive/ingest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAU7E,MAAM,oBAAoB,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../src/sessionArchive/ingest.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,13 @@ export interface SessionMetadataRow {
|
|
|
12
12
|
readonly endedAt: string | null;
|
|
13
13
|
readonly model: string | null;
|
|
14
14
|
readonly eventCount: number;
|
|
15
|
-
|
|
15
|
+
/**
|
|
16
|
+
* ISO-8601 of the LAST (re-)ingest — `indexSession` rewrites it on every
|
|
17
|
+
* refresh, so a session whose content was updated carries a newer value.
|
|
18
|
+
* (Was typed `number` before 0.7.0, but the column has always stored ISO
|
|
19
|
+
* text; the type now tells the truth.)
|
|
20
|
+
*/
|
|
21
|
+
readonly ingestedAt: string;
|
|
16
22
|
/** ISO-8601 of the last curate review, or null if not yet reviewed. */
|
|
17
23
|
readonly reviewedAt: string | null;
|
|
18
24
|
}
|
|
@@ -103,7 +109,16 @@ export declare class SessionArchiveStore {
|
|
|
103
109
|
* sqlite DB is local, derived, and gitignored. So a session created on another
|
|
104
110
|
* machine arrives here as a normalized file (via git pull) with no DB row
|
|
105
111
|
* until this runs — this is what makes a pulled conversation searchable on
|
|
106
|
-
* this machine.
|
|
112
|
+
* this machine. A PULLED row (`origin = 'pulled'` — stamped by this method;
|
|
113
|
+
* `writeSession` stamps 'local') is re-indexed when its normalized file
|
|
114
|
+
* mtime is strictly newer than the stored one - a session streamed mid-life
|
|
115
|
+
* from its home machine keeps growing, and before this check the local
|
|
116
|
+
* index stayed stuck on the first snapshot forever. LOCAL rows are skipped
|
|
117
|
+
* unconditionally: their stored clock is the SOURCE's own (possibly a
|
|
118
|
+
* LOGICAL time a directory-backed adapter parsed from content, nothing to
|
|
119
|
+
* do with any file's wall clock), and the local ingest path handles their
|
|
120
|
+
* updates via `hasIngested`. Never inferred from `raw_path` — a local row
|
|
121
|
+
* can legitimately have no raw copy.
|
|
107
122
|
*/
|
|
108
123
|
reindexFromNormalized(): {
|
|
109
124
|
indexed: number;
|
|
@@ -135,5 +150,14 @@ export declare class SessionArchiveStore {
|
|
|
135
150
|
close(): void;
|
|
136
151
|
private writeRawCopy;
|
|
137
152
|
private writeNormalized;
|
|
153
|
+
/**
|
|
154
|
+
* Path for an atomic-write temp file in the archive's staging dir
|
|
155
|
+
* (`_session-archive/.tmp/`). Temps deliberately never live inside `raw/` or
|
|
156
|
+
* `normalized/`: those subtrees are committed/synced by the archive sync, and
|
|
157
|
+
* a temp orphaned by a crash (created, never renamed) must not be eligible
|
|
158
|
+
* for that commit under ANY timing. The name carries the pid for
|
|
159
|
+
* cross-process uniqueness; one process writes sessions sequentially.
|
|
160
|
+
*/
|
|
161
|
+
private stagingTempPath;
|
|
138
162
|
}
|
|
139
163
|
//# sourceMappingURL=store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/sessionArchive/store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAyB,uBAAuB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/sessionArchive/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Database from "better-sqlite3";
|
|
2
|
-
import { chmodSync, copyFileSync, mkdirSync, readdirSync, readFileSync, rmSync, statSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { chmodSync, copyFileSync, mkdirSync, readdirSync, readFileSync, renameSync, rmSync, statSync, writeFileSync } from "node:fs";
|
|
3
3
|
import { basename, dirname, join, relative, resolve, sep } from "node:path";
|
|
4
4
|
import { MAX_TRANSCRIPT_BYTES } from "./types.js";
|
|
5
5
|
import { buildFtsQuery } from "../recall/ftsQuery.js";
|
|
@@ -17,6 +17,7 @@ CREATE TABLE IF NOT EXISTS ingested_sessions (
|
|
|
17
17
|
ingested_at TEXT NOT NULL,
|
|
18
18
|
reviewed_at TEXT,
|
|
19
19
|
source_mtime_ms INTEGER NOT NULL,
|
|
20
|
+
origin TEXT NOT NULL DEFAULT '',
|
|
20
21
|
PRIMARY KEY (host, session_id)
|
|
21
22
|
);
|
|
22
23
|
|
|
@@ -119,8 +120,11 @@ export class SessionArchiveStore {
|
|
|
119
120
|
const wheres = [];
|
|
120
121
|
const params = [];
|
|
121
122
|
if (options?.sinceMs !== undefined) {
|
|
123
|
+
// `ingested_at` stores ISO text; bind ISO text. Binding the raw number
|
|
124
|
+
// compared INTEGER-vs-TEXT, which SQLite orders as "every text is
|
|
125
|
+
// greater" — the filter silently matched everything.
|
|
122
126
|
wheres.push("ingested_at > ?");
|
|
123
|
-
params.push(options.sinceMs);
|
|
127
|
+
params.push(new Date(options.sinceMs).toISOString());
|
|
124
128
|
}
|
|
125
129
|
if (options?.hosts && options.hosts.length > 0) {
|
|
126
130
|
wheres.push(`host IN (${options.hosts.map(() => "?").join(", ")})`);
|
|
@@ -186,7 +190,12 @@ export class SessionArchiveStore {
|
|
|
186
190
|
// writeRawCopy returns "" when the source is a directory or missing — treat as no raw.
|
|
187
191
|
const rawRel = rawAbs ? relative(this.archiveDir, rawAbs).replace(/\\/g, "/") : "";
|
|
188
192
|
const normalizedRel = relative(this.archiveDir, normalizedAbs).replace(/\\/g, "/");
|
|
189
|
-
|
|
193
|
+
// The stored clock is ALWAYS the source's own (possibly LOGICAL — a
|
|
194
|
+
// directory-backed host parses times from content) so `hasIngested` keeps
|
|
195
|
+
// detecting later source updates exactly as the adapter reports them.
|
|
196
|
+
// Pulled-vs-local is carried by `origin`, never inferred from clocks or
|
|
197
|
+
// from raw_path.
|
|
198
|
+
this.indexSession(session, rawRel, normalizedRel, sourceMtimeMs, "local");
|
|
190
199
|
}
|
|
191
200
|
/**
|
|
192
201
|
* DB-only upsert of a session's metadata + events — no file writes. Shared
|
|
@@ -197,13 +206,13 @@ export class SessionArchiveStore {
|
|
|
197
206
|
* re-indexed session has new content since any prior review, so curate
|
|
198
207
|
* should surface it again.
|
|
199
208
|
*/
|
|
200
|
-
indexSession(session, rawRel, normalizedRel, sourceMtimeMs) {
|
|
209
|
+
indexSession(session, rawRel, normalizedRel, sourceMtimeMs, origin) {
|
|
201
210
|
const deleteOld = this.db.prepare(`DELETE FROM events WHERE host = ? AND session_id = ?`);
|
|
202
211
|
const insertSession = this.db.prepare(`
|
|
203
212
|
INSERT OR REPLACE INTO ingested_sessions
|
|
204
213
|
(host, session_id, cwd, started_at, ended_at, model, event_count,
|
|
205
|
-
raw_path, normalized_path, ingested_at, source_mtime_ms)
|
|
206
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
214
|
+
raw_path, normalized_path, ingested_at, source_mtime_ms, origin)
|
|
215
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
207
216
|
`);
|
|
208
217
|
const insertEvent = this.db.prepare(`
|
|
209
218
|
INSERT INTO events (host, session_id, idx, turn_id, kind, at, text, tool_use_id)
|
|
@@ -211,7 +220,7 @@ export class SessionArchiveStore {
|
|
|
211
220
|
`);
|
|
212
221
|
const tx = this.db.transaction(() => {
|
|
213
222
|
deleteOld.run(session.host, session.sessionId);
|
|
214
|
-
insertSession.run(session.host, session.sessionId, session.cwd, session.startedAt, session.endedAt ?? null, session.model ?? null, session.events.length, rawRel, normalizedRel, new Date().toISOString(), sourceMtimeMs);
|
|
223
|
+
insertSession.run(session.host, session.sessionId, session.cwd, session.startedAt, session.endedAt ?? null, session.model ?? null, session.events.length, rawRel, normalizedRel, new Date().toISOString(), sourceMtimeMs, origin);
|
|
215
224
|
session.events.forEach((ev, idx) => {
|
|
216
225
|
insertEvent.run(session.host, session.sessionId, idx, getTurnId(ev), ev.kind, ev.at, getEventText(ev), getToolUseId(ev));
|
|
217
226
|
});
|
|
@@ -226,10 +235,22 @@ export class SessionArchiveStore {
|
|
|
226
235
|
* sqlite DB is local, derived, and gitignored. So a session created on another
|
|
227
236
|
* machine arrives here as a normalized file (via git pull) with no DB row
|
|
228
237
|
* until this runs — this is what makes a pulled conversation searchable on
|
|
229
|
-
* this machine.
|
|
238
|
+
* this machine. A PULLED row (`origin = 'pulled'` — stamped by this method;
|
|
239
|
+
* `writeSession` stamps 'local') is re-indexed when its normalized file
|
|
240
|
+
* mtime is strictly newer than the stored one - a session streamed mid-life
|
|
241
|
+
* from its home machine keeps growing, and before this check the local
|
|
242
|
+
* index stayed stuck on the first snapshot forever. LOCAL rows are skipped
|
|
243
|
+
* unconditionally: their stored clock is the SOURCE's own (possibly a
|
|
244
|
+
* LOGICAL time a directory-backed adapter parsed from content, nothing to
|
|
245
|
+
* do with any file's wall clock), and the local ingest path handles their
|
|
246
|
+
* updates via `hasIngested`. Never inferred from `raw_path` — a local row
|
|
247
|
+
* can legitimately have no raw copy.
|
|
230
248
|
*/
|
|
231
249
|
reindexFromNormalized() {
|
|
232
|
-
const
|
|
250
|
+
const knownRows = this.db
|
|
251
|
+
.prepare("SELECT host, session_id, source_mtime_ms, origin FROM ingested_sessions")
|
|
252
|
+
.all();
|
|
253
|
+
const known = new Map(knownRows.map((r) => [`${r.host}\u0000${r.session_id}`, { mtimeMs: r.source_mtime_ms, pulled: r.origin === "pulled" }]));
|
|
233
254
|
// Choose at most one file per (host, sessionId): a host-segregated path
|
|
234
255
|
// (`normalized/YYYY/MM/<host>/<id>.jsonl`) deterministically wins over a
|
|
235
256
|
// legacy host-less sibling, so a stale pre-upgrade copy can never shadow the
|
|
@@ -253,7 +274,13 @@ export class SessionArchiveStore {
|
|
|
253
274
|
if (!session)
|
|
254
275
|
continue;
|
|
255
276
|
const key = `${session.host}\u0000${session.sessionId}`;
|
|
256
|
-
|
|
277
|
+
// Skip locally-owned rows always; skip pulled rows unless the file is
|
|
278
|
+
// strictly newer than what was indexed (mtime 0 = unreadable stat -
|
|
279
|
+
// never treated as newer). Locally-owned rows store the SOURCE
|
|
280
|
+
// transcript mtime (a different clock than this file) and are
|
|
281
|
+
// re-ingested by the local path instead.
|
|
282
|
+
const existing = known.get(key);
|
|
283
|
+
if (existing && (!existing.pulled || !(mtimeMs > existing.mtimeMs)))
|
|
257
284
|
continue;
|
|
258
285
|
// Host-segregated iff the file's parent directory is named for its host.
|
|
259
286
|
const hostSegregated = basename(dirname(file)) === session.host;
|
|
@@ -265,7 +292,7 @@ export class SessionArchiveStore {
|
|
|
265
292
|
const ids = [];
|
|
266
293
|
for (const { session, file, mtimeMs } of chosen.values()) {
|
|
267
294
|
const normalizedRel = relative(this.archiveDir, file).replace(/\\/g, "/");
|
|
268
|
-
this.indexSession(session, "", normalizedRel, mtimeMs);
|
|
295
|
+
this.indexSession(session, "", normalizedRel, mtimeMs, "pulled");
|
|
269
296
|
ids.push(session.sessionId);
|
|
270
297
|
}
|
|
271
298
|
return { indexed: ids.length, sessionIds: ids };
|
|
@@ -370,6 +397,25 @@ export class SessionArchiveStore {
|
|
|
370
397
|
if (!cols.some((c) => c.name === "reviewed_at")) {
|
|
371
398
|
this.db.exec("ALTER TABLE ingested_sessions ADD COLUMN reviewed_at TEXT");
|
|
372
399
|
}
|
|
400
|
+
// `origin` ('local' | 'pulled'; '' = unknown) — the ownership marker
|
|
401
|
+
// reindex uses for update detection. raw_path="" is NOT a reliable
|
|
402
|
+
// discriminator: a LOCAL ingest whose source has no copyable raw file
|
|
403
|
+
// (e.g. a directory-backed host like Claude Desktop, whose mtimes are
|
|
404
|
+
// LOGICAL times parsed from content) also stores "". One-time backfill
|
|
405
|
+
// for pre-existing rows: a raw copy proves local; raw-less rows of
|
|
406
|
+
// FILE-backed hosts are overwhelmingly pulled (the rare vanished-source
|
|
407
|
+
// misread costs one redundant re-index, after which file-clock advance
|
|
408
|
+
// still detects local updates); raw-less rows of the directory-backed
|
|
409
|
+
// host are left UNKNOWN ('') on purpose — both readings are plausible
|
|
410
|
+
// there and both wrong stampings can silently miss updates, so unknowns
|
|
411
|
+
// keep the exact pre-`origin` behavior (no mid-life refresh) until the
|
|
412
|
+
// row's home machine re-ingests it and stamps it 'local' for real.
|
|
413
|
+
// Update detection consults `origin = 'pulled'` ONLY; unknowns are never
|
|
414
|
+
// refreshed and never hijacked.
|
|
415
|
+
if (!cols.some((c) => c.name === "origin")) {
|
|
416
|
+
this.db.exec("ALTER TABLE ingested_sessions ADD COLUMN origin TEXT NOT NULL DEFAULT ''");
|
|
417
|
+
this.db.exec("UPDATE ingested_sessions SET origin = CASE WHEN raw_path <> '' THEN 'local' WHEN host = 'claude-desktop' THEN '' ELSE 'pulled' END WHERE origin = ''");
|
|
418
|
+
}
|
|
373
419
|
// events_fts tokenizer upgrade (unicode61 -> trigram) for P3 keyword search.
|
|
374
420
|
// FTS5 cannot ALTER a tokenizer, so rebuild the external-content vtable + its
|
|
375
421
|
// 3 triggers in one transaction, guarded by a trigram-detect on the stored
|
|
@@ -431,7 +477,23 @@ export class SessionArchiveStore {
|
|
|
431
477
|
const ext = sourcePath.toLowerCase().endsWith(".json") ? ".json" : ".jsonl";
|
|
432
478
|
const target = join(hostDir, `${sessionId}${ext}`);
|
|
433
479
|
assertContained(target, this.rawDir);
|
|
434
|
-
|
|
480
|
+
// Copy-temp-then-rename, same rationale as writeNormalized: never leave a
|
|
481
|
+
// torn raw copy at the real name if this process is killed mid-copy. The
|
|
482
|
+
// temp lives in the `.tmp/` staging dir, outside the committed subtrees.
|
|
483
|
+
const tmp = this.stagingTempPath(`raw-${host}-${sessionId}${ext}`);
|
|
484
|
+
try {
|
|
485
|
+
copyFileSync(sourcePath, tmp);
|
|
486
|
+
renameSync(tmp, target);
|
|
487
|
+
}
|
|
488
|
+
catch (e) {
|
|
489
|
+
try {
|
|
490
|
+
rmSync(tmp, { force: true });
|
|
491
|
+
}
|
|
492
|
+
catch {
|
|
493
|
+
/* best-effort tmp cleanup */
|
|
494
|
+
}
|
|
495
|
+
throw e;
|
|
496
|
+
}
|
|
435
497
|
chmodFileQuietly(target); // 0o600 — verbatim copy of the host transcript
|
|
436
498
|
return target;
|
|
437
499
|
}
|
|
@@ -480,10 +542,52 @@ export class SessionArchiveStore {
|
|
|
480
542
|
cliVersion: session.cliVersion,
|
|
481
543
|
});
|
|
482
544
|
const eventLines = session.events.map((ev) => JSON.stringify(ev));
|
|
483
|
-
|
|
545
|
+
// Write-temp-then-rename: the normalized file is the synced source of
|
|
546
|
+
// truth, and a hook process can be killed mid-write (e.g. Claude Code's
|
|
547
|
+
// SessionEnd timeout) — a torn write must never leave a half transcript at
|
|
548
|
+
// the real name. The temp lives in the `.tmp/` STAGING dir (never inside
|
|
549
|
+
// `normalized/` itself), so a crash orphan can never sit in a subtree that
|
|
550
|
+
// gets committed/synced; see {@link stagingTempPath}. Same volume, so the
|
|
551
|
+
// rename replaces atomically on POSIX and on Windows (libuv uses
|
|
552
|
+
// MOVEFILE_REPLACE_EXISTING).
|
|
553
|
+
const tmp = this.stagingTempPath(`${session.host}-${session.sessionId}.jsonl`);
|
|
554
|
+
try {
|
|
555
|
+
writeFileSync(tmp, [headerLine, ...eventLines].join("\n") + "\n", {
|
|
556
|
+
encoding: "utf8",
|
|
557
|
+
mode: 0o600,
|
|
558
|
+
});
|
|
559
|
+
renameSync(tmp, target);
|
|
560
|
+
}
|
|
561
|
+
catch (e) {
|
|
562
|
+
try {
|
|
563
|
+
rmSync(tmp, { force: true });
|
|
564
|
+
}
|
|
565
|
+
catch {
|
|
566
|
+
/* best-effort tmp cleanup */
|
|
567
|
+
}
|
|
568
|
+
throw e;
|
|
569
|
+
}
|
|
484
570
|
chmodFileQuietly(target); // ensure 0o600 even if the file pre-existed with looser perms
|
|
485
571
|
return target;
|
|
486
572
|
}
|
|
573
|
+
/**
|
|
574
|
+
* Path for an atomic-write temp file in the archive's staging dir
|
|
575
|
+
* (`_session-archive/.tmp/`). Temps deliberately never live inside `raw/` or
|
|
576
|
+
* `normalized/`: those subtrees are committed/synced by the archive sync, and
|
|
577
|
+
* a temp orphaned by a crash (created, never renamed) must not be eligible
|
|
578
|
+
* for that commit under ANY timing. The name carries the pid for
|
|
579
|
+
* cross-process uniqueness; one process writes sessions sequentially.
|
|
580
|
+
*/
|
|
581
|
+
stagingTempPath(name) {
|
|
582
|
+
const dir = join(this.archiveDir, ".tmp");
|
|
583
|
+
mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
584
|
+
chmodDirQuietly(dir);
|
|
585
|
+
const target = join(dir, `${name}.tmp-${process.pid}`);
|
|
586
|
+
// Same containment check as the real write targets: `name` derives from
|
|
587
|
+
// validated host/sessionId segments, but keep the belt with the suspenders.
|
|
588
|
+
assertContained(target, this.archiveDir);
|
|
589
|
+
return target;
|
|
590
|
+
}
|
|
487
591
|
}
|
|
488
592
|
// chmod helpers — best-effort POSIX hardening. On Windows (and other platforms
|
|
489
593
|
// where chmod is unsupported / the path is gone) these are intentional no-ops:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/sessionArchive/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/sessionArchive/store.ts"],"names":[],"mappings":"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"}
|
package/dist/vector/session.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ import type { EmbedFn, VectorBackend } from "./types.js";
|
|
|
17
17
|
* sessionArchive `metadata.sqlite` remains the source of truth and is only
|
|
18
18
|
* read here.
|
|
19
19
|
*/
|
|
20
|
-
export declare const SESSION_CHUNK_SCHEMA = "\nCREATE TABLE IF NOT EXISTS session_chunks (\n id
|
|
20
|
+
export declare const SESSION_CHUNK_SCHEMA = "\nCREATE TABLE IF NOT EXISTS session_chunks (\n id TEXT PRIMARY KEY,\n host TEXT NOT NULL,\n session_id TEXT NOT NULL,\n chunk_idx INTEGER NOT NULL,\n started_at TEXT,\n ended_at TEXT,\n excerpt TEXT NOT NULL DEFAULT '',\n source_ingested_at TEXT\n);\nCREATE INDEX IF NOT EXISTS idx_session_chunks_session ON session_chunks(host, session_id);\n";
|
|
21
21
|
export interface SessionChunkRow {
|
|
22
22
|
readonly id: string;
|
|
23
23
|
readonly host: string;
|
|
@@ -26,6 +26,15 @@ export interface SessionChunkRow {
|
|
|
26
26
|
readonly startedAt: string | null;
|
|
27
27
|
readonly endedAt: string | null;
|
|
28
28
|
readonly excerpt: string;
|
|
29
|
+
/**
|
|
30
|
+
* The archive row's `ingested_at` AT EMBED TIME — the staleness marker that
|
|
31
|
+
* lets an `onlyMissing` rebuild notice a session whose content was
|
|
32
|
+
* re-ingested after its vectors were built (mid-life streaming updates the
|
|
33
|
+
* same session repeatedly). Null on rows embedded before this column
|
|
34
|
+
* existed; those keep the legacy skip behavior until a full rebuild stamps
|
|
35
|
+
* them.
|
|
36
|
+
*/
|
|
37
|
+
readonly sourceIngestedAt: string | null;
|
|
29
38
|
}
|
|
30
39
|
/** Metadata store for session chunks — lives alongside the vectors in memory.sqlite. */
|
|
31
40
|
export declare class SessionChunkStore {
|
|
@@ -35,6 +44,12 @@ export declare class SessionChunkStore {
|
|
|
35
44
|
constructor(db: string | Database.Database);
|
|
36
45
|
upsert(row: SessionChunkRow): void;
|
|
37
46
|
getById(id: string): SessionChunkRow | null;
|
|
47
|
+
/**
|
|
48
|
+
* The `source_ingested_at` this session's chunks were embedded against
|
|
49
|
+
* (MAX across chunks — they are written in one pass, so any of them works).
|
|
50
|
+
* Null when the session has no chunks or only pre-migration ones.
|
|
51
|
+
*/
|
|
52
|
+
sessionSourceIngestedAt(host: string, sessionId: string): string | null;
|
|
38
53
|
/** Distinct (host, sessionId) keys currently indexed. */
|
|
39
54
|
sessionKeys(): readonly {
|
|
40
55
|
host: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/vector/session.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAgB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAElF,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEzD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/vector/session.ts"],"names":[],"mappings":"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"}
|
package/dist/vector/session.js
CHANGED
|
@@ -20,13 +20,14 @@ import { normalize } from "./math.js";
|
|
|
20
20
|
*/
|
|
21
21
|
export const SESSION_CHUNK_SCHEMA = `
|
|
22
22
|
CREATE TABLE IF NOT EXISTS session_chunks (
|
|
23
|
-
id
|
|
24
|
-
host
|
|
25
|
-
session_id
|
|
26
|
-
chunk_idx
|
|
27
|
-
started_at
|
|
28
|
-
ended_at
|
|
29
|
-
excerpt
|
|
23
|
+
id TEXT PRIMARY KEY,
|
|
24
|
+
host TEXT NOT NULL,
|
|
25
|
+
session_id TEXT NOT NULL,
|
|
26
|
+
chunk_idx INTEGER NOT NULL,
|
|
27
|
+
started_at TEXT,
|
|
28
|
+
ended_at TEXT,
|
|
29
|
+
excerpt TEXT NOT NULL DEFAULT '',
|
|
30
|
+
source_ingested_at TEXT
|
|
30
31
|
);
|
|
31
32
|
CREATE INDEX IF NOT EXISTS idx_session_chunks_session ON session_chunks(host, session_id);
|
|
32
33
|
`;
|
|
@@ -49,21 +50,41 @@ export class SessionChunkStore {
|
|
|
49
50
|
this.ownsHandle = false;
|
|
50
51
|
}
|
|
51
52
|
this.db.exec(SESSION_CHUNK_SCHEMA);
|
|
53
|
+
// Additive migration for DBs created before `source_ingested_at` existed
|
|
54
|
+
// (derived store — an added column starts null, which the staleness check
|
|
55
|
+
// treats as "legacy, keep the old skip behavior").
|
|
56
|
+
try {
|
|
57
|
+
this.db.exec("ALTER TABLE session_chunks ADD COLUMN source_ingested_at TEXT");
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
// column already exists — fresh schema or already migrated
|
|
61
|
+
}
|
|
52
62
|
}
|
|
53
63
|
upsert(row) {
|
|
54
64
|
this.db
|
|
55
65
|
.prepare(`INSERT OR REPLACE INTO session_chunks
|
|
56
|
-
(id, host, session_id, chunk_idx, started_at, ended_at, excerpt)
|
|
57
|
-
VALUES (@id, @host, @sessionId, @chunkIdx, @startedAt, @endedAt, @excerpt)`)
|
|
66
|
+
(id, host, session_id, chunk_idx, started_at, ended_at, excerpt, source_ingested_at)
|
|
67
|
+
VALUES (@id, @host, @sessionId, @chunkIdx, @startedAt, @endedAt, @excerpt, @sourceIngestedAt)`)
|
|
58
68
|
.run(row);
|
|
59
69
|
}
|
|
60
70
|
getById(id) {
|
|
61
71
|
const r = this.db
|
|
62
|
-
.prepare(`SELECT id, host, session_id, chunk_idx, started_at, ended_at, excerpt
|
|
72
|
+
.prepare(`SELECT id, host, session_id, chunk_idx, started_at, ended_at, excerpt, source_ingested_at
|
|
63
73
|
FROM session_chunks WHERE id = ?`)
|
|
64
74
|
.get(id);
|
|
65
75
|
return r ? hydrate(r) : null;
|
|
66
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* The `source_ingested_at` this session's chunks were embedded against
|
|
79
|
+
* (MAX across chunks — they are written in one pass, so any of them works).
|
|
80
|
+
* Null when the session has no chunks or only pre-migration ones.
|
|
81
|
+
*/
|
|
82
|
+
sessionSourceIngestedAt(host, sessionId) {
|
|
83
|
+
const r = this.db
|
|
84
|
+
.prepare(`SELECT MAX(source_ingested_at) AS v FROM session_chunks WHERE host = ? AND session_id = ?`)
|
|
85
|
+
.get(host, sessionId);
|
|
86
|
+
return r?.v ?? null;
|
|
87
|
+
}
|
|
67
88
|
/** Distinct (host, sessionId) keys currently indexed. */
|
|
68
89
|
sessionKeys() {
|
|
69
90
|
const rows = this.db
|
|
@@ -97,6 +118,7 @@ function hydrate(r) {
|
|
|
97
118
|
startedAt: r.started_at,
|
|
98
119
|
endedAt: r.ended_at,
|
|
99
120
|
excerpt: r.excerpt,
|
|
121
|
+
sourceIngestedAt: r.source_ingested_at,
|
|
100
122
|
};
|
|
101
123
|
}
|
|
102
124
|
/** Build the vector id for a session chunk. host/sessionId carry no `/` or `#`. */
|
|
@@ -189,9 +211,17 @@ export async function rebuildSessionVectors(backend, chunks, sessions, embed, op
|
|
|
189
211
|
let sessionCount = 0;
|
|
190
212
|
let chunkCount = 0;
|
|
191
213
|
for (const m of metas) {
|
|
192
|
-
// Lazy backlog: leave already-vectorized sessions untouched
|
|
193
|
-
|
|
194
|
-
|
|
214
|
+
// Lazy backlog: leave already-vectorized sessions untouched — UNLESS the
|
|
215
|
+
// archive row was re-ingested after the chunks were embedded (mid-life
|
|
216
|
+
// streaming re-ingests the same session as it grows; before this check,
|
|
217
|
+
// semantic recall stayed stuck on the first embedded snapshot forever).
|
|
218
|
+
// Legacy chunks with no marker (null) keep the old skip behavior and get
|
|
219
|
+
// stamped by the next full rebuild.
|
|
220
|
+
if (options?.onlyMissing && chunks.chunkIds(m.host, m.sessionId).length > 0) {
|
|
221
|
+
const embeddedFor = chunks.sessionSourceIngestedAt(m.host, m.sessionId);
|
|
222
|
+
if (embeddedFor === null || embeddedFor >= m.ingestedAt)
|
|
223
|
+
continue;
|
|
224
|
+
}
|
|
195
225
|
const units = buildTurnUnits(sessions.readSessionEvents(m.host, m.sessionId));
|
|
196
226
|
if (units.length === 0)
|
|
197
227
|
continue;
|
|
@@ -216,6 +246,7 @@ export async function rebuildSessionVectors(backend, chunks, sessions, embed, op
|
|
|
216
246
|
startedAt: seg.startedAt ?? m.startedAt,
|
|
217
247
|
endedAt: seg.endedAt ?? m.endedAt,
|
|
218
248
|
excerpt: excerpt(seg.text),
|
|
249
|
+
sourceIngestedAt: m.ingestedAt,
|
|
219
250
|
});
|
|
220
251
|
chunkCount++;
|
|
221
252
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/vector/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAkC,MAAM,cAAc,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/vector/session.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vortex-os/memory-extended",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Add-on cluster — extended memory namespaces (sqlite, vector, sessionArchive, recall, consolidate) layered on @vortex-os/base.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "vortex-os-project",
|