chat-recall 0.7.14 → 0.7.15

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.
@@ -1 +1 @@
1
- {"version":3,"file":"sync-ledger.d.ts","sourceRoot":"","sources":["../src/sync-ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-ledger.d.ts","sourceRoot":"","sources":["../src/sync-ledger.ts"],"names":[],"mappings":"AAoCA;;;uEAGuE;AACvE,MAAM,WAAW,aAAa;IAAG,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE;AAClE;;;;uEAIuE;AACvE,MAAM,WAAW,SAAS;IACxB,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACxD;mFAC+E;IAC/E,CAAC,CAAC,EAAE,MAAM,CAAC;IACX;kEAC8D;IAC9D,CAAC,CAAC,EAAE,MAAM,CAAC;IACX;;;;;uFAKmF;IACnF,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ;AACD,8EAA8E;AAC9E,KAAK,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;AAWtC;wDACwD;AACxD,wBAAgB,cAAc,IAAI,MAAM,CAAyB;AA6IjE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,EAAE,GAAG,MAAM,CAiCtE;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAIlC;AAuBD,uEAAuE;AACvE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEvE;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAQvF;AAQD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAK1E;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAUxF;AAED,sEAAsE;AACtE,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAKnE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAKpE;AAED,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAGzE;AAED,2CAA2C;AAC3C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAI,CAI/F;AAoCD,wBAAgB,yBAAyB,IAAI,MAAM,CAAkC;AACrF,wBAAgB,wBAAwB,IAAI,IAAI,CAA+B;AAE/E,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,KAAK,CAAC;IACV,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACzE;kEAC8D;IAC9D,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC,GACD,IAAI,CAmCN;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,SAAS,GAAG,SAAS,EAC1B,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAE,EACjE,KAAK,EAAE,MAAM,EACb,KAAK,UAAQ,GACZ,OAAO,CAOT;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EACxC,IAAI,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GAC3D,IAAI,CAWN;AAkCD;wEACwE;AACxE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAGpG;AAED;sEACsE;AACtE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAMpG;AAED;yEACyE;AACzE,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CASzE;AAED,mFAAmF;AACnF,wBAAgB,yBAAyB,IAAI,IAAI,CAUhD;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAOtE;AAOD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAElD;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,SAAS,GAAG,SAAS,EAC1B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,OAAO,GACpB,QAAQ,CAgCV"}
@@ -29,7 +29,7 @@
29
29
  * ledgers written before versioning, a bare <syncedMtime> number (read as
30
30
  * version 0 so every legacy row is treated as extractor-stale once).
31
31
  */
32
- import { readFileSync, writeFileSync, renameSync, mkdirSync } from 'node:fs';
32
+ import { readFileSync, writeFileSync, renameSync, mkdirSync, statSync } from 'node:fs';
33
33
  import { join, dirname } from 'node:path';
34
34
  import { getDataDir } from '@chat-recall/engine/core/paths.js';
35
35
  import { extractorVersionForId } from '@chat-recall/engine/core/extractor-version.js';
@@ -43,28 +43,121 @@ const ledgerPath = () => join(getDataDir(), 'sync-ledger.json');
43
43
  /** Where the ledger lives — exposed so repair tooling can back it up before
44
44
  * editing the file that decides what gets uploaded. */
45
45
  export function ledgerFilePath() { return ledgerPath(); }
46
- // In-memory cache so a sync walk doesn't re-read the file per batch. Loaded
47
- // lazily; writes go through atomic tmp+rename so a crash mid-write can't
48
- // corrupt the ledger (worst case: a session re-uploads, which is safe).
46
+ // In-memory cache so a sync walk doesn't re-read the file per batch. Writes go
47
+ // through atomic tmp+rename so a crash mid-write can't corrupt the ledger
48
+ // (worst case: a session re-uploads, which is safe).
49
+ //
50
+ // SEVERAL PROCESSES SHARE THIS FILE: the watch daemon, each MCP daemon, a
51
+ // manual `chat-recall sync`, `verify --repair`. Each one used to load the file
52
+ // once and later write its whole copy back, so a long-running daemon put back
53
+ // rows another process had changed and never saw them itself. Measured on
54
+ // 2026-10-02: `verify --repair` cleared the cursor of 23 stranded sessions,
55
+ // and within a minute the watch daemon's write restored all 23.
56
+ //
57
+ // So the cache keeps `base`, each row as it was on disk when this process last
58
+ // read or wrote the file. A row whose cached value differs from `base` is this
59
+ // process's change; every other row takes the disk's value. load() does that
60
+ // merge when the file changed on disk, and every write does it before writing.
49
61
  let cache = null;
50
- function load() {
51
- if (cache)
52
- return cache;
62
+ /** `${server}\u0000${id}` → that row's JSON as this process last saw it on disk. */
63
+ let base = new Map();
64
+ /** mtime and size of the file when this process last read or wrote it. */
65
+ let diskStamp = null;
66
+ const rowKey = (server, id) => `${server}\u0000${id}`;
67
+ function stampOf(path) {
68
+ try {
69
+ const st = statSync(path);
70
+ return `${st.mtimeMs}:${st.size}`;
71
+ }
72
+ catch {
73
+ return null;
74
+ }
75
+ }
76
+ function readDisk(path) {
53
77
  try {
54
- const parsed = JSON.parse(readFileSync(ledgerPath(), 'utf-8'));
55
- cache = parsed && typeof parsed === 'object' ? parsed : {};
78
+ const parsed = JSON.parse(readFileSync(path, 'utf-8'));
79
+ return parsed && typeof parsed === 'object' ? parsed : {};
56
80
  }
57
81
  catch {
58
- cache = {};
82
+ return {};
59
83
  }
84
+ }
85
+ function snapshot(data) {
86
+ const out = new Map();
87
+ for (const [server, rows] of Object.entries(data)) {
88
+ for (const [id, entry] of Object.entries(rows))
89
+ out.set(rowKey(server, id), JSON.stringify(entry));
90
+ }
91
+ return out;
92
+ }
93
+ /** This process's changes (cached rows that differ from `base`) on top of `disk`. */
94
+ function mergeOnto(disk) {
95
+ const out = {};
96
+ const put = (server, id, entry) => { (out[server] ??= {})[id] = entry; };
97
+ const mine = cache ?? {};
98
+ for (const [server, rows] of Object.entries(disk)) {
99
+ for (const [id, entry] of Object.entries(rows)) {
100
+ const k = rowKey(server, id);
101
+ const own = mine[server]?.[id];
102
+ const was = base.get(k);
103
+ if (own === undefined) {
104
+ // Absent here: this process deleted it only when its base held it.
105
+ if (was === undefined)
106
+ put(server, id, entry);
107
+ }
108
+ else {
109
+ put(server, id, JSON.stringify(own) === was ? entry : own);
110
+ }
111
+ }
112
+ }
113
+ for (const [server, rows] of Object.entries(mine)) {
114
+ for (const [id, entry] of Object.entries(rows)) {
115
+ if (disk[server]?.[id] !== undefined)
116
+ continue;
117
+ // Absent on disk: another process deleted it unless this process changed it.
118
+ if (JSON.stringify(entry) !== base.get(rowKey(server, id)))
119
+ put(server, id, entry);
120
+ }
121
+ }
122
+ return out;
123
+ }
124
+ function load() {
125
+ const path = ledgerPath();
126
+ const stamp = stampOf(path);
127
+ if (cache && stamp === diskStamp)
128
+ return cache;
129
+ const disk = readDisk(path);
130
+ // Callers hold the per-server objects across a call, so the merged rows are
131
+ // written back into the existing cache objects.
132
+ const merged = cache ? mergeOnto(disk) : disk;
133
+ if (cache) {
134
+ for (const server of Object.keys(cache))
135
+ if (!(server in merged))
136
+ delete cache[server];
137
+ for (const [server, rows] of Object.entries(merged)) {
138
+ const target = cache[server] ?? (cache[server] = {});
139
+ for (const id of Object.keys(target))
140
+ if (!(id in rows))
141
+ delete target[id];
142
+ Object.assign(target, rows);
143
+ }
144
+ }
145
+ else {
146
+ cache = merged;
147
+ }
148
+ base = snapshot(disk);
149
+ diskStamp = stamp;
60
150
  return cache;
61
151
  }
62
- function persistNow(data) {
152
+ function persistNow() {
63
153
  const path = ledgerPath();
64
154
  mkdirSync(dirname(path), { recursive: true });
65
- const tmp = `${path}.tmp`;
66
- writeFileSync(tmp, JSON.stringify(data));
155
+ load(); // merge whatever another process wrote since this one last looked
156
+ const tmp = `${path}.tmp-${process.pid}`;
157
+ writeFileSync(tmp, JSON.stringify(cache ?? {}));
67
158
  renameSync(tmp, path);
159
+ base = snapshot(cache ?? {});
160
+ diskStamp = stampOf(path);
68
161
  pendingWrite = false;
69
162
  }
70
163
  /**
@@ -87,7 +180,7 @@ function persistNow(data) {
87
180
  const LEDGER_FLUSH_MS = 2000;
88
181
  let pendingWrite = false;
89
182
  let flushTimer = null;
90
- function persist(data) {
183
+ function persist(_data) {
91
184
  pendingWrite = true;
92
185
  if (flushTimer)
93
186
  return;
@@ -95,7 +188,7 @@ function persist(data) {
95
188
  flushTimer = null;
96
189
  if (pendingWrite) {
97
190
  try {
98
- persistNow(data);
191
+ persistNow();
99
192
  }
100
193
  catch { /* retried on the next ack */ }
101
194
  }
@@ -158,7 +251,7 @@ export function pruneLedgerTargets(configuredServers) {
158
251
  console.error(`[sync] tidied local bookkeeping: ${rows} already-synced marker(s) for `
159
252
  + `${names.length} server(s) you no longer sync to (${names.join(', ')}) moved to ${side}. `
160
253
  + 'Nothing was uploaded there; the file is kept so logging back in re-ships nothing.');
161
- persistNow(data);
254
+ persistNow();
162
255
  return names.length;
163
256
  }
164
257
  /**
@@ -172,7 +265,7 @@ export function flushLedger() {
172
265
  }
173
266
  if (!pendingWrite || !cache)
174
267
  return;
175
- persistNow(cache);
268
+ persistNow();
176
269
  }
177
270
  const itemVersionsPath = () => join(getDataDir(), 'item-versions.json');
178
271
  let itemVersionsCache = null;
@@ -434,6 +527,8 @@ export function _resetLedgerCacheForTests() {
434
527
  // file read" test exists to catch.
435
528
  flushLedger();
436
529
  cache = null;
530
+ base = new Map();
531
+ diskStamp = null;
437
532
  reconcileCache = null;
438
533
  }
439
534
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sync-ledger.js","sourceRoot":"","sources":["../src/sync-ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-ledger.js","sourceRoot":"","sources":["../src/sync-ledger.ts"],"names":[],"mappings":"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"}