@traqr/memory 0.2.21 → 0.2.23

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/index.d.ts CHANGED
@@ -6,6 +6,8 @@
6
6
  */
7
7
  export { createMemoryServer } from './server.js';
8
8
  export { getVectorDB, resetVectorDB } from './vectordb/index.js';
9
+ export { checkDbHealth } from './lib/health.js';
10
+ export type { DbHealthResult } from './lib/health.js';
9
11
  export type { VectorDBProvider, Memory, MemoryInput, MemorySearchResult, MemoryUpdate, MemoryExport, MemoryDomain, SearchOptions, MemoryCategory, MemorySourceType, MemoryDurability, MemoryType, MemoryClassification, MemoryAccessLevel, MemoryRetentionPolicy, BM25SearchResult, TemporalSearchResult, GraphSearchResult, BrowseResult, ProviderConfig, } from './vectordb/types.js';
10
12
  export { BOOTSTRAP_CONFIDENCE, DECAY_CONFIG, ACCESS_LEVEL_MAX_CLASSIFICATION, CLASSIFICATION_RANK } from './vectordb/types.js';
11
13
  export { deriveAll, deriveDomain, deriveCategory, deriveTopic, deriveSummary, deriveTags, deriveMemoryType, deriveForgetAfter, extractEntityCandidates, } from './lib/auto-derive.js';
package/dist/index.js CHANGED
@@ -8,6 +8,8 @@
8
8
  export { createMemoryServer } from './server.js';
9
9
  // VectorDB layer
10
10
  export { getVectorDB, resetVectorDB } from './vectordb/index.js';
11
+ // Liveness health probe (bounded DB ping for HTTP /health endpoints)
12
+ export { checkDbHealth } from './lib/health.js';
11
13
  export { BOOTSTRAP_CONFIDENCE, DECAY_CONFIG, ACCESS_LEVEL_MAX_CLASSIFICATION, CLASSIFICATION_RANK } from './vectordb/types.js';
12
14
  // Auto-derive v2
13
15
  export { deriveAll, deriveDomain, deriveCategory, deriveTopic, deriveSummary, deriveTags, deriveMemoryType, deriveForgetAfter, extractEntityCandidates, } from './lib/auto-derive.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,SAAS;AACT,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEhD,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAuBhE,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,+BAA+B,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE9H,iBAAiB;AACjB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,cAAc,EACd,WAAW,EACX,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,sBAAsB,CAAA;AAG7B,0BAA0B;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAGxD,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAG9C,+BAA+B;AAC/B,OAAO,EACL,WAAW,EACX,cAAc,EACd,SAAS,EACT,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,QAAQ,EACR,MAAM,EACN,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,mBAAmB,GACpB,MAAM,iBAAiB,CAAA;AAExB,sBAAsB;AACtB,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,oBAAoB,CAAA;AAG3B,6BAA6B;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAcnE,gCAAgC;AAChC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,oBAAoB,CAAA;AAS3B,aAAa;AACb,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,0BAA0B,EAC1B,0BAA0B,EAC1B,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,qBAAqB,CAAA;AAG5B,aAAa;AACb,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,qBAAqB,CAAA;AAE5B,uBAAuB;AACvB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAG7I,kBAAkB;AAClB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAE1E,mBAAmB;AACnB,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAGzD,qBAAqB;AACrB,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,2BAA2B,EAC3B,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,6BAA6B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,SAAS;AACT,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEhD,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEhE,qEAAqE;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAwB/C,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,+BAA+B,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE9H,iBAAiB;AACjB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,cAAc,EACd,WAAW,EACX,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,sBAAsB,CAAA;AAG7B,0BAA0B;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAGxD,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAG9C,+BAA+B;AAC/B,OAAO,EACL,WAAW,EACX,cAAc,EACd,SAAS,EACT,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,QAAQ,EACR,MAAM,EACN,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,mBAAmB,GACpB,MAAM,iBAAiB,CAAA;AAExB,sBAAsB;AACtB,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,oBAAoB,CAAA;AAG3B,6BAA6B;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAcnE,gCAAgC;AAChC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,oBAAoB,CAAA;AAS3B,aAAa;AACb,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,0BAA0B,EAC1B,0BAA0B,EAC1B,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,qBAAqB,CAAA;AAG5B,aAAa;AACb,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,qBAAqB,CAAA;AAE5B,uBAAuB;AACvB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAG7I,kBAAkB;AAClB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAE1E,mBAAmB;AACnB,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAGzD,qBAAqB;AACrB,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,2BAA2B,EAC3B,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,6BAA6B,CAAA"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Classification Ceiling — defense-in-depth post-filter tests (TD-810).
3
+ *
4
+ * Pins applyClassificationCeiling: the choke point at the END of searchMemoriesV2
5
+ * that drops over-tier rows surfaced by the classification-BLIND strategies
6
+ * (bm25/temporal/graph + getById hydration). Only `semantic` threaded accessLevel
7
+ * to the DB, so any non-semantic strategy could leak confidential/restricted rows
8
+ * past the accessLevel ceiling — this filter closes that gap at the result edge.
9
+ *
10
+ * Pure/deterministic: no DB, no embeddings. Matches the tsx-script convention of
11
+ * retrieval.test.ts / context.test.ts.
12
+ *
13
+ * Run: npx tsx packages/memory/src/lib/classification-ceiling.test.ts
14
+ */
15
+ export {};
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Classification Ceiling — defense-in-depth post-filter tests (TD-810).
3
+ *
4
+ * Pins applyClassificationCeiling: the choke point at the END of searchMemoriesV2
5
+ * that drops over-tier rows surfaced by the classification-BLIND strategies
6
+ * (bm25/temporal/graph + getById hydration). Only `semantic` threaded accessLevel
7
+ * to the DB, so any non-semantic strategy could leak confidential/restricted rows
8
+ * past the accessLevel ceiling — this filter closes that gap at the result edge.
9
+ *
10
+ * Pure/deterministic: no DB, no embeddings. Matches the tsx-script convention of
11
+ * retrieval.test.ts / context.test.ts.
12
+ *
13
+ * Run: npx tsx packages/memory/src/lib/classification-ceiling.test.ts
14
+ */
15
+ import { applyClassificationCeiling } from './retrieval.js';
16
+ let passed = 0;
17
+ let failed = 0;
18
+ function assert(label, condition) {
19
+ if (condition) {
20
+ console.log(` PASS ${label}`);
21
+ passed++;
22
+ }
23
+ else {
24
+ console.log(` FAIL ${label}`);
25
+ failed++;
26
+ }
27
+ }
28
+ const rows = [
29
+ { id: 'pub', classification: 'public' },
30
+ { id: 'int', classification: 'internal' },
31
+ { id: 'conf', classification: 'confidential' },
32
+ { id: 'restr', classification: 'restricted' },
33
+ ];
34
+ console.log('\n--- applyClassificationCeiling (TD-810) ---');
35
+ // 1. The TD-810 leak shape: a confidential row surfaced by a non-semantic
36
+ // strategy is excluded at exploration tier. Exploration ceiling = 'internal',
37
+ // so confidential + restricted are dropped; public + internal are kept.
38
+ {
39
+ const out = applyClassificationCeiling(rows, 'exploration');
40
+ const ids = out.map((r) => r.id);
41
+ assert('exploration keeps public + internal', ids.includes('pub') && ids.includes('int'));
42
+ assert('exploration drops confidential (the TD-810 leak shape)', !ids.includes('conf'));
43
+ assert('exploration drops restricted', !ids.includes('restr'));
44
+ assert('exploration result count is 2', out.length === 2);
45
+ }
46
+ // 2. Fail-safe: no accessLevel + no maxClassification → input unchanged.
47
+ {
48
+ const out = applyClassificationCeiling(rows);
49
+ assert('no ceiling → same length', out.length === rows.length);
50
+ assert('no ceiling → same order/identity', out.map((r) => r.id).join() === rows.map((r) => r.id).join());
51
+ assert('no ceiling → returns the same array reference (zero-copy pass-through)', out === rows);
52
+ }
53
+ // 3. admin ceiling (restricted) keeps everything.
54
+ {
55
+ const out = applyClassificationCeiling(rows, 'admin');
56
+ assert('admin keeps all 4 rows', out.length === 4);
57
+ assert('admin keeps restricted', out.some((r) => r.id === 'restr'));
58
+ }
59
+ // 4. A row with classification: undefined is treated as public (kept) even at
60
+ // the lowest tier.
61
+ {
62
+ const withUndefined = [{ id: 'noclass' }, { id: 'conf', classification: 'confidential' }];
63
+ const out = applyClassificationCeiling(withUndefined, 'exploration');
64
+ const ids = out.map((r) => r.id);
65
+ assert('undefined classification treated as public → kept', ids.includes('noclass'));
66
+ assert('undefined-class row kept while confidential dropped', !ids.includes('conf') && out.length === 1);
67
+ }
68
+ // 5. Explicit maxClassification overrides accessLevel.
69
+ // accessLevel=admin would keep all, but maxClassification=internal lowers it.
70
+ {
71
+ const out = applyClassificationCeiling(rows, 'admin', 'internal');
72
+ const ids = out.map((r) => r.id);
73
+ assert('maxClassification overrides accessLevel (admin → internal ceiling)', out.length === 2);
74
+ assert('override keeps public + internal only', ids.includes('pub') && ids.includes('int') && !ids.includes('conf'));
75
+ }
76
+ // 6. standard ceiling (confidential) keeps public/internal/confidential, drops restricted.
77
+ {
78
+ const out = applyClassificationCeiling(rows, 'standard');
79
+ const ids = out.map((r) => r.id);
80
+ assert('standard keeps confidential', ids.includes('conf'));
81
+ assert('standard drops restricted', !ids.includes('restr') && out.length === 3);
82
+ }
83
+ // 7. Fail-closed: an unknown classification string (not in CLASSIFICATION_RANK)
84
+ // is dropped rather than leaked.
85
+ {
86
+ const weird = [
87
+ { id: 'pub', classification: 'public' },
88
+ { id: 'bogus', classification: 'topsecret' },
89
+ ];
90
+ const out = applyClassificationCeiling(weird, 'admin');
91
+ const ids = out.map((r) => r.id);
92
+ assert('unknown classification fails closed (dropped even at admin)', !ids.includes('bogus'));
93
+ assert('known row alongside unknown still kept', ids.includes('pub') && out.length === 1);
94
+ }
95
+ console.log(`\n${'='.repeat(50)}`);
96
+ console.log(`Results: ${passed} passed, ${failed} failed`);
97
+ if (failed > 0) {
98
+ console.log('CLASSIFICATION-CEILING TESTS FAILED');
99
+ process.exit(1);
100
+ }
101
+ else {
102
+ console.log('All classification-ceiling tests passed!');
103
+ }
104
+ //# sourceMappingURL=classification-ceiling.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classification-ceiling.test.js","sourceRoot":"","sources":["../../src/lib/classification-ceiling.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Liveness health probe for the memory DB.
3
+ *
4
+ * The HTTP `/health` endpoints must answer "can this service actually reach the
5
+ * DB it exists to serve?" — not "is the process up" or "are env vars set". A
6
+ * static `{status:'ok'}` false-passes a resource-starved DB (the 2026-06-14
7
+ * traqr-db starvation outage: every real query timed out for ~3h while the
8
+ * cheap probes stayed green — TD-862). Feature4 closed this at the raw-pg
9
+ * `ping()` level (#1974); this closes it at the HTTP layer the fleet polls.
10
+ *
11
+ * The probe is BOUNDED: under starvation the underlying `ping()` (a `LIMIT 1`
12
+ * read of the memories table) can block until the pg statement timeout (~25s
13
+ * observed). A health endpoint that hangs that long is itself a degraded
14
+ * signal, so we race the ping against a short budget and report `degraded`
15
+ * fast. The default (1800ms) sits below the only in-repo consumer's patience —
16
+ * the CLI `status` command aborts its fetch at 2000ms (status.ts pingEndpoint)
17
+ * — so the route's honest 503 wins the race and reaches the client.
18
+ *
19
+ * The `ping` fn is injected so this is pure/deterministic and unit-testable
20
+ * without a live DB (mirrors `timedSearch`'s injected-searcher convention).
21
+ */
22
+ export interface DbHealthResult {
23
+ status: 'healthy' | 'degraded';
24
+ db: 'ok' | 'unreachable';
25
+ }
26
+ export declare function checkDbHealth(ping: () => Promise<boolean>, timeoutMs?: number): Promise<DbHealthResult>;
27
+ /**
28
+ * HTTP status for a health result: 200 healthy, 503 degraded. Pulled out so the
29
+ * load-bearing "degraded must surface as 503, not 200" contract is unit-tested
30
+ * independent of a live DB / HTTP layer — a route silently regressing to 200
31
+ * would re-hide a starved DB, which is the exact 6/14 failure this fix targets.
32
+ */
33
+ export declare function healthStatusCode(result: DbHealthResult): 200 | 503;
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Liveness health probe for the memory DB.
3
+ *
4
+ * The HTTP `/health` endpoints must answer "can this service actually reach the
5
+ * DB it exists to serve?" — not "is the process up" or "are env vars set". A
6
+ * static `{status:'ok'}` false-passes a resource-starved DB (the 2026-06-14
7
+ * traqr-db starvation outage: every real query timed out for ~3h while the
8
+ * cheap probes stayed green — TD-862). Feature4 closed this at the raw-pg
9
+ * `ping()` level (#1974); this closes it at the HTTP layer the fleet polls.
10
+ *
11
+ * The probe is BOUNDED: under starvation the underlying `ping()` (a `LIMIT 1`
12
+ * read of the memories table) can block until the pg statement timeout (~25s
13
+ * observed). A health endpoint that hangs that long is itself a degraded
14
+ * signal, so we race the ping against a short budget and report `degraded`
15
+ * fast. The default (1800ms) sits below the only in-repo consumer's patience —
16
+ * the CLI `status` command aborts its fetch at 2000ms (status.ts pingEndpoint)
17
+ * — so the route's honest 503 wins the race and reaches the client.
18
+ *
19
+ * The `ping` fn is injected so this is pure/deterministic and unit-testable
20
+ * without a live DB (mirrors `timedSearch`'s injected-searcher convention).
21
+ */
22
+ const TIMEOUT = Symbol('db-health-timeout');
23
+ export async function checkDbHealth(ping, timeoutMs = 1800) {
24
+ let timer;
25
+ try {
26
+ // Defer invocation so a SYNCHRONOUS throw from `ping` (e.g. getVectorDB()
27
+ // throwing on missing config) and an async rejection BOTH route into the
28
+ // .catch. The .catch stays attached regardless of who wins the race, so a
29
+ // late rejection (after the timeout already won) can never surface as an
30
+ // unhandled rejection. Probes fail honest as `degraded`, never silent.
31
+ const probe = Promise.resolve().then(ping).catch(() => false);
32
+ const timeout = new Promise((resolve) => {
33
+ timer = setTimeout(() => resolve(TIMEOUT), timeoutMs);
34
+ });
35
+ const result = await Promise.race([probe, timeout]);
36
+ return result === true
37
+ ? { status: 'healthy', db: 'ok' }
38
+ : { status: 'degraded', db: 'unreachable' };
39
+ }
40
+ finally {
41
+ if (timer)
42
+ clearTimeout(timer);
43
+ }
44
+ }
45
+ /**
46
+ * HTTP status for a health result: 200 healthy, 503 degraded. Pulled out so the
47
+ * load-bearing "degraded must surface as 503, not 200" contract is unit-tested
48
+ * independent of a live DB / HTTP layer — a route silently regressing to 200
49
+ * would re-hide a starved DB, which is the exact 6/14 failure this fix targets.
50
+ */
51
+ export function healthStatusCode(result) {
52
+ return result.status === 'healthy' ? 200 : 503;
53
+ }
54
+ //# sourceMappingURL=health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/lib/health.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,MAAM,OAAO,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAA;AAE3C,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAA4B,EAC5B,SAAS,GAAG,IAAI;IAEhB,IAAI,KAAgD,CAAA;IACpD,IAAI,CAAC;QACH,0EAA0E;QAC1E,yEAAyE;QACzE,0EAA0E;QAC1E,yEAAyE;QACzE,uEAAuE;QACvE,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAA;QAC7D,MAAM,OAAO,GAAG,IAAI,OAAO,CAAiB,CAAC,OAAO,EAAE,EAAE;YACtD,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAA;QACvD,CAAC,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;QACnD,OAAO,MAAM,KAAK,IAAI;YACpB,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE;YACjC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,CAAA;IAC/C,CAAC;YAAS,CAAC;QACT,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAA;IAChC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAsB;IACrD,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;AAChD,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Health — checkDbHealth liveness-probe tests (lying-probe class, TD-862 lineage).
3
+ *
4
+ * The HTTP `/health` endpoints (memory + combined server) returned a static
5
+ * `{status:'ok'}` based on nothing (memory) or on env-var presence (server) —
6
+ * so during the 2026-06-14 traqr-db starvation outage they reported green while
7
+ * the DB couldn't serve a `count(*)`. That's the same "SELECT-1 false-passes a
8
+ * sick DB" class Feature4 closed at the raw-pg ping() level (#1974), still open
9
+ * at the HTTP layer that `traqr status` + any monitor polls. checkDbHealth is
10
+ * the shared, bounded liveness primitive the routes call.
11
+ *
12
+ * Load-bearing case: a HANGING db (ping never resolves within the budget) must
13
+ * yield `degraded` FAST — not block the health endpoint for the pg statement
14
+ * timeout (~25s observed on 6/14). The ping fn is injected, so no live DB.
15
+ *
16
+ * Run: npx tsx packages/memory/src/lib/health.test.ts
17
+ */
18
+ export {};
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Health — checkDbHealth liveness-probe tests (lying-probe class, TD-862 lineage).
3
+ *
4
+ * The HTTP `/health` endpoints (memory + combined server) returned a static
5
+ * `{status:'ok'}` based on nothing (memory) or on env-var presence (server) —
6
+ * so during the 2026-06-14 traqr-db starvation outage they reported green while
7
+ * the DB couldn't serve a `count(*)`. That's the same "SELECT-1 false-passes a
8
+ * sick DB" class Feature4 closed at the raw-pg ping() level (#1974), still open
9
+ * at the HTTP layer that `traqr status` + any monitor polls. checkDbHealth is
10
+ * the shared, bounded liveness primitive the routes call.
11
+ *
12
+ * Load-bearing case: a HANGING db (ping never resolves within the budget) must
13
+ * yield `degraded` FAST — not block the health endpoint for the pg statement
14
+ * timeout (~25s observed on 6/14). The ping fn is injected, so no live DB.
15
+ *
16
+ * Run: npx tsx packages/memory/src/lib/health.test.ts
17
+ */
18
+ import { checkDbHealth, healthStatusCode } from './health.js';
19
+ let passed = 0;
20
+ let failed = 0;
21
+ function assert(label, condition) {
22
+ if (condition) {
23
+ console.log(` PASS ${label}`);
24
+ passed++;
25
+ }
26
+ else {
27
+ console.log(` FAIL ${label}`);
28
+ failed++;
29
+ }
30
+ }
31
+ console.log('\n--- checkDbHealth liveness probe ---');
32
+ // 1. Reachable DB → healthy.
33
+ {
34
+ const r = await checkDbHealth(async () => true);
35
+ assert('ping true → status healthy', r.status === 'healthy');
36
+ assert('ping true → db ok', r.db === 'ok');
37
+ }
38
+ // 2. ping returns false (honest "I touched the table and it failed") → degraded.
39
+ {
40
+ const r = await checkDbHealth(async () => false);
41
+ assert('ping false → status degraded', r.status === 'degraded');
42
+ assert('ping false → db unreachable', r.db === 'unreachable');
43
+ }
44
+ // 3. THE load-bearing case: a hanging DB. The ping would eventually resolve true
45
+ // but only after a delay that dwarfs the budget. checkDbHealth must return
46
+ // degraded within ~the timeout, not wait for the slow ping.
47
+ {
48
+ const slowPing = () => new Promise((resolve) => setTimeout(() => resolve(true), 5000));
49
+ const start = Date.now();
50
+ const r = await checkDbHealth(slowPing, 50);
51
+ const elapsed = Date.now() - start;
52
+ assert('hanging ping → status degraded (does not false-pass)', r.status === 'degraded');
53
+ assert('hanging ping → returns within the budget, not the 5s ping', elapsed < 1000);
54
+ }
55
+ // 4. Defensive: a ping that throws (shouldn't happen — ping() catches internally,
56
+ // but the probe must never propagate) → degraded, not an unhandled rejection.
57
+ {
58
+ const r = await checkDbHealth(async () => {
59
+ throw new Error('connection terminated due to connection timeout');
60
+ });
61
+ assert('throwing ping → status degraded (no propagation)', r.status === 'degraded');
62
+ }
63
+ // 5. The load-bearing HTTP contract: degraded MUST map to 503, healthy to 200.
64
+ // A route regressing to 200-on-degraded silently re-hides a starved DB —
65
+ // the exact 6/14 failure. This locks it independent of the live DB/HTTP layer.
66
+ {
67
+ assert('healthy → HTTP 200', healthStatusCode({ status: 'healthy', db: 'ok' }) === 200);
68
+ assert('degraded → HTTP 503', healthStatusCode({ status: 'degraded', db: 'unreachable' }) === 503);
69
+ }
70
+ console.log(`\n${passed} passed, ${failed} failed`);
71
+ if (failed > 0)
72
+ process.exit(1);
73
+ //# sourceMappingURL=health.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.test.js","sourceRoot":"","sources":["../../src/lib/health.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE7D,IAAI,MAAM,GAAG,CAAC,CAAA;AACd,IAAI,MAAM,GAAG,CAAC,CAAA;AAEd,SAAS,MAAM,CAAC,KAAa,EAAE,SAAkB;IAC/C,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,EAAE,CAAC,CAAA;QAC/B,MAAM,EAAE,CAAA;IACV,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,EAAE,CAAC,CAAA;QAC/B,MAAM,EAAE,CAAA;IACV,CAAC;AACH,CAAC;AAED,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAA;AAErD,6BAA6B;AAC7B,CAAC;IACC,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,CAAA;IAC/C,MAAM,CAAC,4BAA4B,EAAE,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAA;IAC5D,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAA;AAC5C,CAAC;AAED,iFAAiF;AACjF,CAAC;IACC,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,CAAA;IAChD,MAAM,CAAC,8BAA8B,EAAE,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAA;IAC/D,MAAM,CAAC,6BAA6B,EAAE,CAAC,CAAC,EAAE,KAAK,aAAa,CAAC,CAAA;AAC/D,CAAC;AAED,iFAAiF;AACjF,8EAA8E;AAC9E,+DAA+D;AAC/D,CAAC;IACC,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;IAC/F,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACxB,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;IAClC,MAAM,CAAC,sDAAsD,EAAE,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAA;IACvF,MAAM,CAAC,2DAA2D,EAAE,OAAO,GAAG,IAAI,CAAC,CAAA;AACrF,CAAC;AAED,kFAAkF;AAClF,iFAAiF;AACjF,CAAC;IACC,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,KAAK,IAAI,EAAE;QACvC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;IACpE,CAAC,CAAC,CAAA;IACF,MAAM,CAAC,kDAAkD,EAAE,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAA;AACrF,CAAC;AAED,+EAA+E;AAC/E,4EAA4E;AAC5E,kFAAkF;AAClF,CAAC;IACC,MAAM,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC,CAAA;IACvF,MAAM,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,KAAK,GAAG,CAAC,CAAA;AACpG,CAAC;AAED,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,YAAY,MAAM,SAAS,CAAC,CAAA;AACnD,IAAI,MAAM,GAAG,CAAC;IAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA"}
@@ -5,7 +5,7 @@
5
5
  * Combines semantic, BM25, temporal, and graph search via
6
6
  * Reciprocal Rank Fusion. Replaces single-strategy semantic search.
7
7
  */
8
- import type { VectorDBProvider, MemorySearchResult, SearchOptions } from '../vectordb/types.js';
8
+ import type { VectorDBProvider, MemorySearchResult, SearchOptions, MemoryClassification, MemoryAccessLevel } from '../vectordb/types.js';
9
9
  export type SearchStrategy = 'semantic' | 'bm25' | 'temporal' | 'graph';
10
10
  export interface StrategyResult {
11
11
  strategy: string;
@@ -44,6 +44,28 @@ export interface SearchV2Options extends SearchOptions {
44
44
  * @param topN - Max results to return
45
45
  */
46
46
  export declare function reciprocalRankFusion(strategyResults: StrategyResult[], k?: number, topN?: number): FusedItem[];
47
+ /**
48
+ * Drop any result whose classification exceeds the ceiling for the caller.
49
+ *
50
+ * TD-810: of the 4 retrieval strategies fused in searchMemoriesV2, only
51
+ * `semantic` threads accessLevel to the DB (search_memories has
52
+ * p_max_classification). bm25/temporal/graph — and the getById hydration of
53
+ * BM25/graph-only hits — are classification-BLIND. So a confidential/restricted
54
+ * row surfaced by any non-semantic strategy leaks regardless of accessLevel.
55
+ * This is the post-filter that closes that gap at the result boundary.
56
+ *
57
+ * FAIL-SAFE: when neither maxClassification nor accessLevel is provided there is
58
+ * no ceiling, so the input is returned UNCHANGED (byte-identical to pre-TD-810).
59
+ * FAIL-CLOSED: an unknown classification string (not in CLASSIFICATION_RANK) is
60
+ * dropped; a missing/undefined classification is treated as 'public' (kept).
61
+ *
62
+ * @param results - hydrated, sorted results to filter
63
+ * @param accessLevel - caller's access level → resolves a max classification
64
+ * @param maxClassification - explicit ceiling; overrides accessLevel when set
65
+ */
66
+ export declare function applyClassificationCeiling<T extends {
67
+ classification?: MemoryClassification;
68
+ }>(results: T[], accessLevel?: MemoryAccessLevel, maxClassification?: MemoryClassification): T[];
47
69
  /**
48
70
  * Detect which search strategies should be activated for a query.
49
71
  * Semantic + BM25 always run. Temporal activates on date patterns.
@@ -8,6 +8,7 @@
8
8
  import { getVectorDB } from '../vectordb/index.js';
9
9
  import { generateEmbedding, formatEmbeddingForPgVector } from './embeddings.js';
10
10
  import { cohereRerank } from './rerank.js';
11
+ import { CLASSIFICATION_RANK, ACCESS_LEVEL_MAX_CLASSIFICATION } from '../vectordb/types.js';
11
12
  // ---------------------------------------------------------------------------
12
13
  // Reciprocal Rank Fusion (TD-158)
13
14
  // ---------------------------------------------------------------------------
@@ -48,6 +49,45 @@ export function reciprocalRankFusion(strategyResults, k = 60, topN = 20) {
48
49
  return sorted;
49
50
  }
50
51
  // ---------------------------------------------------------------------------
52
+ // Classification Ceiling — defense-in-depth choke point (TD-810)
53
+ // ---------------------------------------------------------------------------
54
+ /**
55
+ * Drop any result whose classification exceeds the ceiling for the caller.
56
+ *
57
+ * TD-810: of the 4 retrieval strategies fused in searchMemoriesV2, only
58
+ * `semantic` threads accessLevel to the DB (search_memories has
59
+ * p_max_classification). bm25/temporal/graph — and the getById hydration of
60
+ * BM25/graph-only hits — are classification-BLIND. So a confidential/restricted
61
+ * row surfaced by any non-semantic strategy leaks regardless of accessLevel.
62
+ * This is the post-filter that closes that gap at the result boundary.
63
+ *
64
+ * FAIL-SAFE: when neither maxClassification nor accessLevel is provided there is
65
+ * no ceiling, so the input is returned UNCHANGED (byte-identical to pre-TD-810).
66
+ * FAIL-CLOSED: an unknown classification string (not in CLASSIFICATION_RANK) is
67
+ * dropped; a missing/undefined classification is treated as 'public' (kept).
68
+ *
69
+ * @param results - hydrated, sorted results to filter
70
+ * @param accessLevel - caller's access level → resolves a max classification
71
+ * @param maxClassification - explicit ceiling; overrides accessLevel when set
72
+ */
73
+ export function applyClassificationCeiling(results, accessLevel, maxClassification) {
74
+ // Resolve the ceiling. Explicit maxClassification wins; else derive from
75
+ // accessLevel; else no ceiling → fail-safe pass-through.
76
+ const ceiling = maxClassification ??
77
+ (accessLevel ? ACCESS_LEVEL_MAX_CLASSIFICATION[accessLevel] : undefined);
78
+ if (!ceiling)
79
+ return results;
80
+ const ceilingRank = CLASSIFICATION_RANK[ceiling];
81
+ return results.filter((row) => {
82
+ const cls = row.classification ?? 'public';
83
+ const rank = CLASSIFICATION_RANK[cls];
84
+ // Unknown classification string → not in the rank table → fail closed.
85
+ if (rank === undefined)
86
+ return false;
87
+ return rank <= ceilingRank;
88
+ });
89
+ }
90
+ // ---------------------------------------------------------------------------
51
91
  // Strategy Detection (TD-159)
52
92
  // ---------------------------------------------------------------------------
53
93
  const DATE_PATTERNS = [
@@ -315,7 +355,11 @@ export async function searchMemoriesV2(query, options = {}) {
315
355
  const strategyLog = strategyResults.map((sr) => `${sr.strategy}:${sr.items.length}`).join(', ');
316
356
  console.log(`[retrieval] q="${query.slice(0, 50)}" strategies=[${strategyLog}] entities=${resolvedEntityIds.length}`);
317
357
  }
318
- const fused = reciprocalRankFusion(strategyResults, k, topN);
358
+ // TD-810: when a classification ceiling will apply, over-fetch the fused pool
359
+ // so the post-filter can drop over-tier rows and still return up to topN.
360
+ // No accessLevel/maxClassification → fuseLimit === topN → behavior unchanged.
361
+ const fuseLimit = options.accessLevel || options.maxClassification ? overFetchLimit : topN;
362
+ const fused = reciprocalRankFusion(strategyResults, k, fuseLimit);
319
363
  if (fused.length === 0) {
320
364
  return [];
321
365
  }
@@ -370,7 +414,11 @@ export async function searchMemoriesV2(query, options = {}) {
370
414
  }
371
415
  // 6. Final sort by RRF score
372
416
  hydratedResults.sort((a, b) => b.relevanceScore - a.relevanceScore);
373
- const finalResults = hydratedResults.slice(0, topN);
417
+ // 6.5 TD-810: defense-in-depth classification choke point. Drops any row above
418
+ // the caller's ceiling — closing the leak from classification-blind strategies
419
+ // (bm25/temporal/graph + getById hydration). Fail-safe: no ceiling → unchanged.
420
+ const filtered = applyClassificationCeiling(hydratedResults, options.accessLevel, options.maxClassification);
421
+ const finalResults = filtered.slice(0, topN);
374
422
  // 7. TD-817: feedback write path — bump times_returned on what was ACTUALLY
375
423
  // returned to the caller (not the 2x over-fetched strategy candidates).
376
424
  // Awaited but guarded: a counter failure must never fail the search, and
@@ -1 +1 @@
1
- {"version":3,"file":"retrieval.js","sourceRoot":"","sources":["../../src/lib/retrieval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retrieval.js","sourceRoot":"","sources":["../../src/lib/retrieval.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -35,6 +35,8 @@
35
35
  */
36
36
  import { Hono } from 'hono';
37
37
  import { serve } from '@hono/node-server';
38
+ import { getVectorDB } from './vectordb/index.js';
39
+ import { checkDbHealth, healthStatusCode } from './lib/health.js';
38
40
  import searchRoutes from './routes/search.js';
39
41
  import storeRoutes from './routes/store.js';
40
42
  import crudRoutes from './routes/crud.js';
@@ -57,8 +59,15 @@ import forgetCronRoutes from './routes/forget-cron.js';
57
59
  import entityCronRoutes from './routes/entity-cron.js';
58
60
  export function createMemoryServer() {
59
61
  const app = new Hono();
60
- // Health check
61
- app.get('/health', (c) => c.json({ status: 'ok', service: '@traqr/memory' }));
62
+ // Health check — a real bounded liveness probe, not a static `ok`. The memory
63
+ // service exists to serve the vector DB, so "healthy" must mean "the DB is
64
+ // reachable", not "the process is up". A static ok false-passed the 6/14
65
+ // starvation outage; this exercises the same LIMIT-1 path store/search use and
66
+ // returns 503 (degraded) so `traqr status` + monitors read it as DOWN.
67
+ app.get('/health', async (c) => {
68
+ const health = await checkDbHealth(() => getVectorDB().ping());
69
+ return c.json({ ...health, service: '@traqr/memory' }, healthStatusCode(health));
70
+ });
62
71
  // Core routes (existing)
63
72
  app.route('/search', searchRoutes);
64
73
  app.route('/store', storeRoutes);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -137,7 +137,7 @@ export class PostgresVectorProvider {
137
137
  ]);
138
138
  return rows.map((row) => rowToSearchResult(row));
139
139
  }
140
- const rows = await query('SELECT * FROM search_memories($1::vector, $2, $3, $4, $5, $6, $7, $8)', [
140
+ const rows = await query('SELECT * FROM search_memories($1::vector, $2, $3, $4, $5, $6, $7, $8, $9, $10)', [
141
141
  embeddingStr,
142
142
  options.domainId || null,
143
143
  options.category || null,
@@ -146,6 +146,15 @@ export class PostgresVectorProvider {
146
146
  options.limit || 10,
147
147
  options.similarityThreshold || 0.3,
148
148
  options.latestOnly ?? true,
149
+ // Security parameters (TD-810) — the single-project branch previously
150
+ // omitted these, so p_max_classification defaulted to 'restricted'
151
+ // (= unfiltered), leaking confidential/restricted rows to lower-tier
152
+ // callers (e.g. memory_context at exploration). The cross-project
153
+ // branch above and the supabase provider already pass them; this
154
+ // restores parity. Fail-safe: no accessLevel → maxClassification
155
+ // resolves to 'restricted' → identical to the prior default.
156
+ maxClassification,
157
+ options.clientNamespace || null,
149
158
  ]);
150
159
  return rows.map((row) => rowToSearchResult(row));
151
160
  }
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../src/vectordb/postgres.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../src/vectordb/postgres.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@traqr/memory",
3
- "version": "0.2.21",
3
+ "version": "0.2.23",
4
4
  "description": "Persistent memory for AI agents. Multi-strategy retrieval (semantic + BM25 + RRF), 3-zone cosine triage, type-aware lifecycle, entity canonicalization. Postgres + pgvector.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -15,7 +15,7 @@
15
15
  "scripts": {
16
16
  "build": "tsc",
17
17
  "dev": "tsc --watch",
18
- "test": "tsx src/lib/quality-gate.test.ts && tsx src/lib/retrieval.test.ts && tsx src/lib/context.test.ts && tsx src/lib/pii-detection.test.ts",
18
+ "test": "tsx src/lib/quality-gate.test.ts && tsx src/lib/retrieval.test.ts && tsx src/lib/classification-ceiling.test.ts && tsx src/lib/context.test.ts && tsx src/lib/pii-detection.test.ts && tsx src/lib/health.test.ts",
19
19
  "migrate": "tsx src/migrate.ts"
20
20
  },
21
21
  "files": [