@claude-flow/memory 3.0.2 → 3.0.4

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.
Files changed (39) hide show
  1. package/dist/agentdb-backend-lock.test.d.ts +2 -0
  2. package/dist/agentdb-backend-lock.test.d.ts.map +1 -0
  3. package/dist/agentdb-backend-lock.test.js +60 -0
  4. package/dist/agentdb-backend-lock.test.js.map +1 -0
  5. package/dist/agentdb-backend.d.ts.map +1 -1
  6. package/dist/agentdb-backend.js +26 -9
  7. package/dist/agentdb-backend.js.map +1 -1
  8. package/dist/agentdb-lock-guard.d.ts +72 -0
  9. package/dist/agentdb-lock-guard.d.ts.map +1 -0
  10. package/dist/agentdb-lock-guard.js +226 -0
  11. package/dist/agentdb-lock-guard.js.map +1 -0
  12. package/dist/agentdb-lock-guard.test.d.ts +2 -0
  13. package/dist/agentdb-lock-guard.test.d.ts.map +1 -0
  14. package/dist/agentdb-lock-guard.test.js +219 -0
  15. package/dist/agentdb-lock-guard.test.js.map +1 -0
  16. package/dist/agentdb-native-driver.d.ts +21 -0
  17. package/dist/agentdb-native-driver.d.ts.map +1 -0
  18. package/dist/agentdb-native-driver.js +68 -0
  19. package/dist/agentdb-native-driver.js.map +1 -0
  20. package/dist/agentdb-native-driver.test.d.ts +9 -0
  21. package/dist/agentdb-native-driver.test.d.ts.map +1 -0
  22. package/dist/agentdb-native-driver.test.js +271 -0
  23. package/dist/agentdb-native-driver.test.js.map +1 -0
  24. package/dist/controller-registry-lock.test.d.ts +2 -0
  25. package/dist/controller-registry-lock.test.d.ts.map +1 -0
  26. package/dist/controller-registry-lock.test.js +73 -0
  27. package/dist/controller-registry-lock.test.js.map +1 -0
  28. package/dist/controller-registry.d.ts +1 -0
  29. package/dist/controller-registry.d.ts.map +1 -1
  30. package/dist/controller-registry.js +32 -5
  31. package/dist/controller-registry.js.map +1 -1
  32. package/dist/hybrid-backend.d.ts.map +1 -1
  33. package/dist/hybrid-backend.js +7 -1
  34. package/dist/hybrid-backend.js.map +1 -1
  35. package/dist/index.d.ts +3 -0
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +2 -0
  38. package/dist/index.js.map +1 -1
  39. package/package.json +2 -2
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=agentdb-backend-lock.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentdb-backend-lock.test.d.ts","sourceRoot":"","sources":["../src/agentdb-backend-lock.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Unmocked end-to-end: AgentDBBackend (forceWasm) -> real AgentDB -> real
3
+ * agentdb sql.js save with a stale dead-PID `<db>.agentdb.lock`.
4
+ * Persistence is verified with better-sqlite3 (not sql.js).
5
+ */
6
+ import { describe, it, expect, beforeAll, beforeEach, afterEach } from 'vitest';
7
+ import * as fs from 'node:fs';
8
+ import * as os from 'node:os';
9
+ import * as path from 'node:path';
10
+ import Database from 'better-sqlite3';
11
+ import { AgentDBBackend } from './agentdb-backend.js';
12
+ import { AgentdbLockError } from './agentdb-lock-guard.js';
13
+ const DEAD_PID = 2_147_483_000;
14
+ let dir;
15
+ let dbFile;
16
+ let lockFile;
17
+ function plant(pid) {
18
+ fs.writeFileSync(lockFile, `${pid}\n`);
19
+ const old = new Date(Date.now() - 3600_000);
20
+ fs.utimesSync(lockFile, old, old);
21
+ }
22
+ const mk = () => new AgentDBBackend({ dbPath: dbFile, namespace: 'lock', vectorDimension: 384, forceWasm: true });
23
+ // AgentDB's forceWasm still picks better-sqlite3 inside db-fallback unless this is set.
24
+ beforeAll(() => { process.env.AGENTDB_FORCE_SQLJS = '1'; });
25
+ beforeEach(() => {
26
+ dir = fs.mkdtempSync(path.join(os.tmpdir(), 'backend-lock-'));
27
+ dbFile = path.join(dir, 'agentdb-memory.db');
28
+ lockFile = `${dbFile}.agentdb.lock`;
29
+ });
30
+ afterEach(() => fs.rmSync(dir, { recursive: true, force: true }));
31
+ describe('AgentDBBackend with real sql.js agentdb and a lock file', () => {
32
+ it('dead-PID lock: initialize + store + shutdown persists the row and clears the lock', async () => {
33
+ plant(DEAD_PID);
34
+ const b = mk();
35
+ await b.initialize();
36
+ const raw = b.getAgentDB().database;
37
+ expect(raw.constructor.name).toBe('SqlJsDatabase'); // proves the locked sql.js path is exercised
38
+ raw.exec('CREATE TABLE memory_entries(content TEXT)');
39
+ raw.exec("INSERT INTO memory_entries VALUES('survives stale lock')");
40
+ await b.shutdown();
41
+ expect(fs.existsSync(lockFile)).toBe(false);
42
+ const db = new Database(dbFile, { readonly: true });
43
+ try {
44
+ const rows = db.prepare('SELECT content FROM memory_entries').all();
45
+ expect(rows.map((r) => r.content)).toContain('survives stale lock');
46
+ }
47
+ finally {
48
+ db.close();
49
+ }
50
+ });
51
+ it('live-holder lock: shutdown rejects with AgentdbLockError and leaves the lock', async () => {
52
+ const b = mk();
53
+ await b.initialize();
54
+ b.getAgentDB().database.exec('CREATE TABLE t(x)');
55
+ plant(process.ppid);
56
+ await expect(b.shutdown()).rejects.toBeInstanceOf(AgentdbLockError);
57
+ expect(fs.existsSync(lockFile)).toBe(true);
58
+ });
59
+ });
60
+ //# sourceMappingURL=agentdb-backend-lock.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentdb-backend-lock.test.js","sourceRoot":"","sources":["../src/agentdb-backend-lock.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agentdb-backend.d.ts","sourceRoot":"","sources":["../src/agentdb-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentdb-backend.d.ts","sourceRoot":"","sources":["../src/agentdb-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EACL,cAAc,EACd,WAAW,EAEX,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,iBAAiB,EAGjB,kBAAkB,EAKnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,8BAA8B,CAAC;AA6BtC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAEhD,wCAAwC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,uBAAuB;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,oCAAoC;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,8BAA8B;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,qBAAqB;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,mCAAmC;IACnC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IAExC,sBAAsB;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,oBAAoB,GAAG,KAAK,CAAC;CAC/C;AAqBD;;;;;;;;;;;;GAYG;AACH,qBAAa,cAAe,SAAQ,YAAa,YAAW,cAAc;IACxE,OAAO,CAAC,MAAM,CAKZ;IACF,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA+B;IAG9D,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,cAAc,CAAuC;IAC7D,OAAO,CAAC,QAAQ,CAAkC;IAGlD,OAAO,CAAC,oBAAoB,CAAkC;IAC9D,OAAO,CAAC,oBAAoB,CAAkC;IAG9D,OAAO,CAAC,KAAK,CAKX;gBAEU,MAAM,GAAE,oBAAyB;IAU7C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA8DjC;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB/B;;OAEG;IACG,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB9C;;OAEG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAalD;;OAEG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAO3E;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IA6ChF;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB1C;;OAEG;IACG,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAoBvD;;OAEG;IACG,MAAM,CACV,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,EAAE,CAAC;IAuB1B;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAevD;;OAEG;IACG,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAchD;;OAEG;IACG,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOhD;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAIzC;;OAEG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASxD;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;IAuDvC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC;IA8C/C;;OAEG;YACW,YAAY;IA4C1B;;OAEG;YACW,cAAc;IAyE5B;;OAEG;YACW,cAAc;IAsB5B;;OAEG;IACH,OAAO,CAAC,WAAW;IAuBnB;;OAEG;YACW,eAAe;IAI7B;;OAEG;YACW,iBAAiB;IAoB/B;;OAEG;YACW,iBAAiB;IAuC/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAuBxB;;OAEG;YACW,cAAc;IAkB5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAyBrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACH,OAAO,CAAC,UAAU;IAwBlB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAoBpB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAexB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,UAAU,IAAI,GAAG;CAGlB;AAED,eAAe,cAAc,CAAC"}
@@ -9,8 +9,10 @@
9
9
  *
10
10
  * @module v3/memory/agentdb-backend
11
11
  */
12
+ import { withAgentdbLockRecovery, closeWithAgentdbLockRecovery } from './agentdb-lock-guard.js';
12
13
  import { EventEmitter } from 'node:events';
13
14
  import { safeJsonParse } from './json-security.js';
15
+ import { useHostSqliteDriver } from './agentdb-native-driver.js';
14
16
  import { AgentDbRetrievalGuard, isRetrievalGuardEnabled, } from './agentdb-retrieval-guard.js';
15
17
  // ===== AgentDB Optional Import =====
16
18
  let AgentDB;
@@ -107,13 +109,6 @@ export class AgentDBBackend extends EventEmitter {
107
109
  }
108
110
  try {
109
111
  // Initialize AgentDB with config
110
- this.agentdb = new AgentDB({
111
- dbPath: this.config.dbPath || ':memory:',
112
- namespace: this.config.namespace,
113
- forceWasm: this.config.forceWasm,
114
- vectorBackend: this.config.vectorBackend,
115
- vectorDimension: this.config.vectorDimension,
116
- });
117
112
  // Suppress agentdb's noisy console.log during init
118
113
  // (EmbeddingService, AgentDB core emit info-level logs we don't need)
119
114
  const origLog = console.log;
@@ -127,7 +122,20 @@ export class AgentDBBackend extends EventEmitter {
127
122
  origLog.apply(console, args);
128
123
  };
129
124
  try {
130
- await this.agentdb.initialize();
125
+ // A stale `<db>.agentdb.lock` left by a dead writer is cleared (only
126
+ // when provably stale) and init retried once with a fresh instance.
127
+ await withAgentdbLockRecovery(this.config.dbPath, async () => {
128
+ this.agentdb = new AgentDB({
129
+ dbPath: this.config.dbPath || ':memory:',
130
+ namespace: this.config.namespace,
131
+ forceWasm: this.config.forceWasm,
132
+ vectorBackend: this.config.vectorBackend,
133
+ vectorDimension: this.config.vectorDimension,
134
+ });
135
+ // Keep agentdb's nested better-sqlite3 11.x out of the process (Node 24 abort).
136
+ useHostSqliteDriver(this.agentdb);
137
+ await this.agentdb.initialize();
138
+ });
131
139
  }
132
140
  finally {
133
141
  console.log = origLog;
@@ -154,7 +162,16 @@ export class AgentDBBackend extends EventEmitter {
154
162
  if (!this.initialized)
155
163
  return;
156
164
  if (this.agentdb) {
157
- await this.agentdb.close();
165
+ // Clears a provably stale lock first; a persist failure is surfaced
166
+ // (AgentdbLockError), never swallowed.
167
+ try {
168
+ await closeWithAgentdbLockRecovery(this.config.dbPath, () => this.agentdb.close());
169
+ }
170
+ finally {
171
+ this.initialized = false;
172
+ this.emit('shutdown');
173
+ }
174
+ return;
158
175
  }
159
176
  this.initialized = false;
160
177
  this.emit('shutdown');
@@ -1 +1 @@
1
- {"version":3,"file":"agentdb-backend.js","sourceRoot":"","sources":["../src/agentdb-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentdb-backend.js","sourceRoot":"","sources":["../src/agentdb-backend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * AgentDB sql.js lock guard.
3
+ *
4
+ * agentdb >= 3.0.0-alpha.20 protects sql.js saves with an exclusive
5
+ * `<db>.agentdb.lock` file (created with `wx`, content: the holder's PID) and
6
+ * throws `AGENTDB_SQLJS_CONCURRENT_MODIFICATION` when the lock exists or the
7
+ * database file changed under an open handle. A writer that dies between
8
+ * creating and removing the lock leaves a lock that nothing ever clears, and
9
+ * every later save then fails.
10
+ *
11
+ * This module (1) recognises that error, (2) removes a lock ONLY when it is
12
+ * provably stale (regular file, exactly `<db>.agentdb.lock`, numeric PID that
13
+ * is dead, old enough), and (3) retries once. Anything else surfaces as an
14
+ * actionable `AgentdbLockError`. Writes are never dropped or silently
15
+ * swallowed here.
16
+ *
17
+ * @module v3/memory/agentdb-lock-guard
18
+ */
19
+ export declare const AGENTDB_CONCURRENT_MODIFICATION_CODE = "AGENTDB_SQLJS_CONCURRENT_MODIFICATION";
20
+ export declare const AGENTDB_LOCK_SUFFIX = ".agentdb.lock";
21
+ /** A lock younger than this is never considered stale (saves take milliseconds). */
22
+ export declare const DEFAULT_MIN_STALE_AGE_MS = 10000;
23
+ export type LockState = 'absent' | 'live' | 'stale' | 'unverifiable';
24
+ export interface LockInspection {
25
+ state: LockState;
26
+ /** Path of the lock file that was inspected (the db path plus `.agentdb.lock`). */
27
+ lockPath: string;
28
+ pid?: number;
29
+ reason: string;
30
+ }
31
+ export interface LockGuardOptions {
32
+ /** Minimum lock age before it may be treated as stale. */
33
+ minStaleAgeMs?: number;
34
+ /** Injectable for tests. */
35
+ isPidAlive?: (pid: number) => boolean;
36
+ now?: () => number;
37
+ }
38
+ /** Thrown when a lock/concurrency failure cannot be (or was not) safely recovered. */
39
+ export declare class AgentdbLockError extends Error {
40
+ readonly lockState: LockState;
41
+ readonly code = "AGENTDB_LOCK_UNRECOVERABLE";
42
+ constructor(message: string, lockState: LockState, options?: {
43
+ cause?: unknown;
44
+ });
45
+ }
46
+ export declare function isConcurrentModificationError(error: unknown): boolean;
47
+ export declare function inspectAgentdbLock(dbPath: string, options?: LockGuardOptions): LockInspection;
48
+ /**
49
+ * Remove the lock only if it is provably stale. Returns true when a stale lock
50
+ * was removed. The lock is first renamed aside (atomic) and re-verified as the
51
+ * very same file that was inspected, so a lock recreated by a live writer in
52
+ * the meantime is restored instead of deleted.
53
+ */
54
+ export declare function clearStaleAgentdbLock(dbPath: string, options?: LockGuardOptions): {
55
+ cleared: boolean;
56
+ inspection: LockInspection;
57
+ };
58
+ /**
59
+ * Run `fn`. If it fails with the AgentDB concurrent-modification error AND the
60
+ * cause is a provably stale lock, clear it and retry exactly once. Otherwise
61
+ * throw an actionable AgentdbLockError. Errors of other kinds pass through.
62
+ */
63
+ export declare function withAgentdbLockRecovery<T>(dbPath: string | undefined, fn: () => Promise<T> | T, options?: LockGuardOptions): Promise<T>;
64
+ /**
65
+ * Close an AgentDB / sql.js handle safely. sql.js `close()` saves and then
66
+ * destroys the handle even when the save fails, so a failed close cannot be
67
+ * retried; the only safe recovery is to clear a provably stale lock BEFORE
68
+ * closing. A concurrency failure that remains is surfaced as AgentdbLockError
69
+ * (the caller must treat it as "not persisted"), never swallowed.
70
+ */
71
+ export declare function closeWithAgentdbLockRecovery(dbPath: string | undefined, close: () => Promise<unknown> | unknown, options?: LockGuardOptions): Promise<void>;
72
+ //# sourceMappingURL=agentdb-lock-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentdb-lock-guard.d.ts","sourceRoot":"","sources":["../src/agentdb-lock-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,eAAO,MAAM,oCAAoC,0CAA0C,CAAC;AAC5F,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AAEnD,oFAAoF;AACpF,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAE/C,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,cAAc,CAAC;AAErE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,SAAS,CAAC;IACjB,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACtC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,sFAAsF;AACtF,qBAAa,gBAAiB,SAAQ,KAAK;IAEZ,QAAQ,CAAC,SAAS,EAAE,SAAS;IAD1D,QAAQ,CAAC,IAAI,gCAAgC;gBACjC,OAAO,EAAE,MAAM,EAAW,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAK1F;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAMrE;AA8DD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,cAAc,CAwBjG;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,cAAc,CAAA;CAAE,CA0BtI;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,CAAC,EAC7C,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EACxB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,CAAC,CAAC,CAiCZ;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,KAAK,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,EACvC,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAaf"}
@@ -0,0 +1,226 @@
1
+ /**
2
+ * AgentDB sql.js lock guard.
3
+ *
4
+ * agentdb >= 3.0.0-alpha.20 protects sql.js saves with an exclusive
5
+ * `<db>.agentdb.lock` file (created with `wx`, content: the holder's PID) and
6
+ * throws `AGENTDB_SQLJS_CONCURRENT_MODIFICATION` when the lock exists or the
7
+ * database file changed under an open handle. A writer that dies between
8
+ * creating and removing the lock leaves a lock that nothing ever clears, and
9
+ * every later save then fails.
10
+ *
11
+ * This module (1) recognises that error, (2) removes a lock ONLY when it is
12
+ * provably stale (regular file, exactly `<db>.agentdb.lock`, numeric PID that
13
+ * is dead, old enough), and (3) retries once. Anything else surfaces as an
14
+ * actionable `AgentdbLockError`. Writes are never dropped or silently
15
+ * swallowed here.
16
+ *
17
+ * @module v3/memory/agentdb-lock-guard
18
+ */
19
+ import * as fs from 'node:fs';
20
+ import * as path from 'node:path';
21
+ import { randomBytes } from 'node:crypto';
22
+ export const AGENTDB_CONCURRENT_MODIFICATION_CODE = 'AGENTDB_SQLJS_CONCURRENT_MODIFICATION';
23
+ export const AGENTDB_LOCK_SUFFIX = '.agentdb.lock';
24
+ /** A lock younger than this is never considered stale (saves take milliseconds). */
25
+ export const DEFAULT_MIN_STALE_AGE_MS = 10_000;
26
+ /** Thrown when a lock/concurrency failure cannot be (or was not) safely recovered. */
27
+ export class AgentdbLockError extends Error {
28
+ lockState;
29
+ code = 'AGENTDB_LOCK_UNRECOVERABLE';
30
+ constructor(message, lockState, options) {
31
+ super(message);
32
+ this.lockState = lockState;
33
+ this.name = 'AgentdbLockError';
34
+ if (options?.cause !== undefined)
35
+ this.cause = options.cause;
36
+ }
37
+ }
38
+ export function isConcurrentModificationError(error) {
39
+ return (typeof error === 'object' &&
40
+ error !== null &&
41
+ error.code === AGENTDB_CONCURRENT_MODIFICATION_CODE);
42
+ }
43
+ function defaultIsPidAlive(pid) {
44
+ try {
45
+ process.kill(pid, 0);
46
+ return true;
47
+ }
48
+ catch (e) {
49
+ // ESRCH: no such process. EPERM: exists but owned by someone else -> alive.
50
+ return e.code !== 'ESRCH';
51
+ }
52
+ }
53
+ function lockPathFor(dbPath) {
54
+ const resolved = path.resolve(dbPath);
55
+ const lockPath = path.join(path.dirname(resolved), path.basename(resolved) + AGENTDB_LOCK_SUFFIX);
56
+ return lockPath;
57
+ }
58
+ function readLockNoFollow(lockPath) {
59
+ let st;
60
+ try {
61
+ st = fs.lstatSync(lockPath);
62
+ }
63
+ catch (e) {
64
+ if (e.code === 'ENOENT')
65
+ return 'absent';
66
+ throw e;
67
+ }
68
+ if (!st.isFile())
69
+ return 'not-regular'; // symlink, directory, device...
70
+ const flags = fs.constants.O_RDONLY | (fs.constants.O_NOFOLLOW ?? 0);
71
+ let fd;
72
+ try {
73
+ fd = fs.openSync(lockPath, flags);
74
+ }
75
+ catch (e) {
76
+ const code = e.code;
77
+ if (code === 'ENOENT')
78
+ return 'absent';
79
+ if (code === 'ELOOP')
80
+ return 'not-regular';
81
+ throw e;
82
+ }
83
+ try {
84
+ const fst = fs.fstatSync(fd);
85
+ if (!fst.isFile() || fst.size > 64)
86
+ return 'not-regular';
87
+ const buf = Buffer.alloc(Math.max(1, fst.size));
88
+ const n = fs.readSync(fd, buf, 0, buf.length, 0);
89
+ return { dev: fst.dev, ino: fst.ino, content: buf.subarray(0, n).toString('utf8'), mtimeMs: fst.mtimeMs };
90
+ }
91
+ finally {
92
+ fs.closeSync(fd);
93
+ }
94
+ }
95
+ function parsePid(content) {
96
+ const m = /^(\d{1,10})\n?$/.exec(content);
97
+ if (!m)
98
+ return null;
99
+ const pid = Number(m[1]);
100
+ return Number.isSafeInteger(pid) && pid > 0 ? pid : null;
101
+ }
102
+ export function inspectAgentdbLock(dbPath, options = {}) {
103
+ const lockPath = lockPathFor(dbPath);
104
+ const isAlive = options.isPidAlive ?? defaultIsPidAlive;
105
+ const now = (options.now ?? Date.now)();
106
+ const minAge = options.minStaleAgeMs ?? DEFAULT_MIN_STALE_AGE_MS;
107
+ let snap;
108
+ try {
109
+ snap = readLockNoFollow(lockPath);
110
+ }
111
+ catch (e) {
112
+ return { state: 'unverifiable', lockPath, reason: `cannot read lock file (${e.code ?? 'error'})` };
113
+ }
114
+ if (snap === 'absent')
115
+ return { state: 'absent', lockPath, reason: 'no lock file present' };
116
+ if (snap === 'not-regular') {
117
+ return { state: 'unverifiable', lockPath, reason: 'lock path is not a small regular file (symlink or unexpected type); refusing to touch it' };
118
+ }
119
+ const pid = parsePid(snap.content);
120
+ if (pid === null)
121
+ return { state: 'unverifiable', lockPath, reason: 'lock content is not a PID; refusing to touch it' };
122
+ if (pid === process.pid || isAlive(pid))
123
+ return { state: 'live', lockPath, pid, reason: `lock holder PID ${pid} is alive` };
124
+ const age = now - snap.mtimeMs;
125
+ if (age < minAge) {
126
+ return { state: 'live', lockPath, pid, reason: `holder PID ${pid} is dead but the lock is only ${Math.round(age)}ms old` };
127
+ }
128
+ return { state: 'stale', lockPath, pid, reason: `holder PID ${pid} is dead and the lock is ${Math.round(age / 1000)}s old` };
129
+ }
130
+ /**
131
+ * Remove the lock only if it is provably stale. Returns true when a stale lock
132
+ * was removed. The lock is first renamed aside (atomic) and re-verified as the
133
+ * very same file that was inspected, so a lock recreated by a live writer in
134
+ * the meantime is restored instead of deleted.
135
+ */
136
+ export function clearStaleAgentdbLock(dbPath, options = {}) {
137
+ const inspection = inspectAgentdbLock(dbPath, options);
138
+ if (inspection.state !== 'stale')
139
+ return { cleared: false, inspection };
140
+ const lockPath = inspection.lockPath;
141
+ const before = readLockNoFollow(lockPath);
142
+ if (typeof before === 'string')
143
+ return { cleared: false, inspection: { ...inspection, state: 'unverifiable', reason: 'lock changed during inspection' } };
144
+ const aside = path.join(path.dirname(lockPath), `.${path.basename(lockPath)}.stale-${process.pid}-${randomBytes(6).toString('hex')}`);
145
+ try {
146
+ fs.renameSync(lockPath, aside);
147
+ }
148
+ catch (e) {
149
+ if (e.code === 'ENOENT')
150
+ return { cleared: false, inspection: { ...inspection, state: 'absent', reason: 'lock vanished before removal' } };
151
+ return { cleared: false, inspection: { ...inspection, state: 'unverifiable', reason: `cannot move lock aside (${e.code ?? 'error'})` } };
152
+ }
153
+ const moved = readLockNoFollow(aside);
154
+ const same = typeof moved !== 'string' && moved.ino === before.ino && moved.dev === before.dev && moved.content === before.content;
155
+ if (!same) {
156
+ // We displaced a different (possibly live) lock. Put it back; never delete it.
157
+ try {
158
+ fs.linkSync(aside, lockPath);
159
+ }
160
+ catch { /* a newer lock already exists; the displaced one is discarded below */ }
161
+ try {
162
+ fs.unlinkSync(aside);
163
+ }
164
+ catch { /* best effort */ }
165
+ return { cleared: false, inspection: { ...inspection, state: 'live', reason: 'lock was replaced during removal; left in place' } };
166
+ }
167
+ try {
168
+ fs.unlinkSync(aside);
169
+ }
170
+ catch { /* the stale lock is already out of the way */ }
171
+ return { cleared: true, inspection };
172
+ }
173
+ /**
174
+ * Run `fn`. If it fails with the AgentDB concurrent-modification error AND the
175
+ * cause is a provably stale lock, clear it and retry exactly once. Otherwise
176
+ * throw an actionable AgentdbLockError. Errors of other kinds pass through.
177
+ */
178
+ export async function withAgentdbLockRecovery(dbPath, fn, options = {}) {
179
+ try {
180
+ return await fn();
181
+ }
182
+ catch (error) {
183
+ if (!isConcurrentModificationError(error) || !dbPath || dbPath === ':memory:')
184
+ throw error;
185
+ const { cleared, inspection } = clearStaleAgentdbLock(dbPath, options);
186
+ if (!cleared) {
187
+ throw new AgentdbLockError(`AgentDB could not save "${path.basename(dbPath)}": ${inspection.reason}. ` +
188
+ (inspection.state === 'live'
189
+ ? 'Another process is writing this database; retry when it finishes.'
190
+ : inspection.state === 'absent'
191
+ ? 'The database changed on disk after it was opened; reopen it and retry (no data was overwritten).'
192
+ : `If no other process uses this database, remove "${path.basename(inspection.lockPath)}" manually and retry.`), inspection.state, { cause: error });
193
+ }
194
+ try {
195
+ return await fn();
196
+ }
197
+ catch (retryError) {
198
+ if (isConcurrentModificationError(retryError)) {
199
+ throw new AgentdbLockError(`AgentDB could not save "${path.basename(dbPath)}" even after removing a stale lock (${inspection.reason}); ` +
200
+ 'another process is writing it. Retry later.', 'live', { cause: retryError });
201
+ }
202
+ throw retryError;
203
+ }
204
+ }
205
+ }
206
+ /**
207
+ * Close an AgentDB / sql.js handle safely. sql.js `close()` saves and then
208
+ * destroys the handle even when the save fails, so a failed close cannot be
209
+ * retried; the only safe recovery is to clear a provably stale lock BEFORE
210
+ * closing. A concurrency failure that remains is surfaced as AgentdbLockError
211
+ * (the caller must treat it as "not persisted"), never swallowed.
212
+ */
213
+ export async function closeWithAgentdbLockRecovery(dbPath, close, options = {}) {
214
+ if (dbPath && dbPath !== ':memory:')
215
+ clearStaleAgentdbLock(dbPath, options);
216
+ try {
217
+ await close();
218
+ }
219
+ catch (error) {
220
+ if (!isConcurrentModificationError(error) || !dbPath || dbPath === ':memory:')
221
+ throw error;
222
+ const inspection = inspectAgentdbLock(dbPath, options);
223
+ throw new AgentdbLockError(`AgentDB failed to persist "${path.basename(dbPath)}" on close and the pending changes were NOT saved: ${inspection.reason}.`, inspection.state, { cause: error });
224
+ }
225
+ }
226
+ //# sourceMappingURL=agentdb-lock-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentdb-lock-guard.js","sourceRoot":"","sources":["../src/agentdb-lock-guard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=agentdb-lock-guard.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentdb-lock-guard.test.d.ts","sourceRoot":"","sources":["../src/agentdb-lock-guard.test.ts"],"names":[],"mappings":""}