@traqr/memory 0.2.16 → 0.2.17
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/lib/embeddings.d.ts +10 -0
- package/dist/lib/embeddings.js +18 -2
- package/dist/lib/embeddings.js.map +1 -1
- package/dist/lib/pii-detection.d.ts +23 -3
- package/dist/lib/pii-detection.js +25 -6
- package/dist/lib/pii-detection.js.map +1 -1
- package/dist/lib/pii-detection.test.d.ts +16 -0
- package/dist/lib/pii-detection.test.js +56 -0
- package/dist/lib/pii-detection.test.js.map +1 -0
- package/package.json +2 -2
package/dist/lib/embeddings.d.ts
CHANGED
|
@@ -50,6 +50,16 @@ export declare const EMBEDDING_CONFIG: {
|
|
|
50
50
|
readonly PROVIDER: string;
|
|
51
51
|
readonly MAX_TOKENS: 8191;
|
|
52
52
|
};
|
|
53
|
+
/**
|
|
54
|
+
* Apply TD-856 PII redaction to embedding input. Default ON; set
|
|
55
|
+
* `MEMORY_REDACT_EMBEDDINGS=false` (or `0`) to disable as a kill-switch without
|
|
56
|
+
* a redeploy if a recall regression surfaces. Redaction runs on a local copy,
|
|
57
|
+
* so only the embedding vector + provider egress are affected — the caller's
|
|
58
|
+
* original text (→ raw `content` column, → BM25 tsvector) is left untouched.
|
|
59
|
+
* Because store AND query embeds both funnel through here, redaction stays
|
|
60
|
+
* consistent across the two, preserving recall.
|
|
61
|
+
*/
|
|
62
|
+
export declare function redactEmbeddingInput(text: string): string;
|
|
53
63
|
/**
|
|
54
64
|
* Generate embedding for a single text (backward-compatible entry point)
|
|
55
65
|
*/
|
package/dist/lib/embeddings.js
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* If not set, auto-detects from available API keys.
|
|
13
13
|
*/
|
|
14
14
|
import OpenAI from 'openai';
|
|
15
|
+
import { redactForEmbedding } from './pii-detection.js';
|
|
15
16
|
// ---------------------------------------------------------------------------
|
|
16
17
|
// OpenAI Provider
|
|
17
18
|
// ---------------------------------------------------------------------------
|
|
@@ -320,17 +321,32 @@ export const EMBEDDING_CONFIG = {
|
|
|
320
321
|
get PROVIDER() { return getEmbeddingConfig().PROVIDER; },
|
|
321
322
|
MAX_TOKENS: 8191,
|
|
322
323
|
};
|
|
324
|
+
/**
|
|
325
|
+
* Apply TD-856 PII redaction to embedding input. Default ON; set
|
|
326
|
+
* `MEMORY_REDACT_EMBEDDINGS=false` (or `0`) to disable as a kill-switch without
|
|
327
|
+
* a redeploy if a recall regression surfaces. Redaction runs on a local copy,
|
|
328
|
+
* so only the embedding vector + provider egress are affected — the caller's
|
|
329
|
+
* original text (→ raw `content` column, → BM25 tsvector) is left untouched.
|
|
330
|
+
* Because store AND query embeds both funnel through here, redaction stays
|
|
331
|
+
* consistent across the two, preserving recall.
|
|
332
|
+
*/
|
|
333
|
+
export function redactEmbeddingInput(text) {
|
|
334
|
+
const flag = process.env.MEMORY_REDACT_EMBEDDINGS;
|
|
335
|
+
if (flag === 'false' || flag === '0')
|
|
336
|
+
return text;
|
|
337
|
+
return redactForEmbedding(text);
|
|
338
|
+
}
|
|
323
339
|
/**
|
|
324
340
|
* Generate embedding for a single text (backward-compatible entry point)
|
|
325
341
|
*/
|
|
326
342
|
export async function generateEmbedding(text) {
|
|
327
|
-
return getEmbeddingProvider().generate(text);
|
|
343
|
+
return getEmbeddingProvider().generate(redactEmbeddingInput(text));
|
|
328
344
|
}
|
|
329
345
|
/**
|
|
330
346
|
* Generate embeddings for multiple texts in batch
|
|
331
347
|
*/
|
|
332
348
|
export async function generateEmbeddingsBatch(texts) {
|
|
333
|
-
return getEmbeddingProvider().generateBatch(texts);
|
|
349
|
+
return getEmbeddingProvider().generateBatch(texts.map(redactEmbeddingInput));
|
|
334
350
|
}
|
|
335
351
|
// ---------------------------------------------------------------------------
|
|
336
352
|
// Utility functions (provider-agnostic)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../src/lib/embeddings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../src/lib/embeddings.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,8 +19,28 @@ export interface PiiDetectionResult {
|
|
|
19
19
|
*/
|
|
20
20
|
export declare function detectPii(content: string): PiiDetectionResult;
|
|
21
21
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
22
|
+
* Redact high-sensitivity PII from text before it reaches the embedding
|
|
23
|
+
* provider and lands in vector space (TD-856).
|
|
24
|
+
*
|
|
25
|
+
* Scope is deliberately the four "never searched by value" types — credit
|
|
26
|
+
* card, SSN, phone, email — because:
|
|
27
|
+
* - they carry ~zero semantic search weight (you search by the surrounding
|
|
28
|
+
* context, not by the literal value), so redacting them costs ~nothing in
|
|
29
|
+
* recall; and
|
|
30
|
+
* - leaving them raw was a real EGRESS leak — the literal values were being
|
|
31
|
+
* sent to the embedding API and encoded into vector space.
|
|
32
|
+
*
|
|
33
|
+
* `financialAmount` and `address` are intentionally NOT redacted here: dollar
|
|
34
|
+
* figures and street addresses are search-load-bearing for jiggy / life-CRM
|
|
35
|
+
* memories, and redacting them would degrade recall. (`detectPii` still FLAGS
|
|
36
|
+
* all six types for classification — this function governs only what reaches
|
|
37
|
+
* the embedding vector.)
|
|
38
|
+
*
|
|
39
|
+
* Wired inside `generateEmbedding`, so store and query text redact through the
|
|
40
|
+
* same path: a query containing an email embeds as `[EMAIL]` and still matches
|
|
41
|
+
* a stored `[EMAIL]`, keeping recall consistent even for the looser phone/ssn
|
|
42
|
+
* patterns. This does NOT touch the raw `content` column or the BM25 lexical
|
|
43
|
+
* index — those stay plaintext (governed by classification tiers + TD-715
|
|
44
|
+
* encryption); this is purely the vector-space / provider-egress layer.
|
|
25
45
|
*/
|
|
26
46
|
export declare function redactForEmbedding(content: string): string;
|
|
@@ -67,19 +67,38 @@ export function detectPii(content) {
|
|
|
67
67
|
};
|
|
68
68
|
}
|
|
69
69
|
/**
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
70
|
+
* Redact high-sensitivity PII from text before it reaches the embedding
|
|
71
|
+
* provider and lands in vector space (TD-856).
|
|
72
|
+
*
|
|
73
|
+
* Scope is deliberately the four "never searched by value" types — credit
|
|
74
|
+
* card, SSN, phone, email — because:
|
|
75
|
+
* - they carry ~zero semantic search weight (you search by the surrounding
|
|
76
|
+
* context, not by the literal value), so redacting them costs ~nothing in
|
|
77
|
+
* recall; and
|
|
78
|
+
* - leaving them raw was a real EGRESS leak — the literal values were being
|
|
79
|
+
* sent to the embedding API and encoded into vector space.
|
|
80
|
+
*
|
|
81
|
+
* `financialAmount` and `address` are intentionally NOT redacted here: dollar
|
|
82
|
+
* figures and street addresses are search-load-bearing for jiggy / life-CRM
|
|
83
|
+
* memories, and redacting them would degrade recall. (`detectPii` still FLAGS
|
|
84
|
+
* all six types for classification — this function governs only what reaches
|
|
85
|
+
* the embedding vector.)
|
|
86
|
+
*
|
|
87
|
+
* Wired inside `generateEmbedding`, so store and query text redact through the
|
|
88
|
+
* same path: a query containing an email embeds as `[EMAIL]` and still matches
|
|
89
|
+
* a stored `[EMAIL]`, keeping recall consistent even for the looser phone/ssn
|
|
90
|
+
* patterns. This does NOT touch the raw `content` column or the BM25 lexical
|
|
91
|
+
* index — those stay plaintext (governed by classification tiers + TD-715
|
|
92
|
+
* encryption); this is purely the vector-space / provider-egress layer.
|
|
73
93
|
*/
|
|
74
94
|
export function redactForEmbedding(content) {
|
|
75
95
|
let redacted = content;
|
|
76
|
-
//
|
|
96
|
+
// Order matters: consume a credit-card number before the ssn/phone patterns
|
|
97
|
+
// can match a sub-run of its digits.
|
|
77
98
|
redacted = redacted.replace(PII_PATTERNS.creditCard, '[CREDIT_CARD]');
|
|
78
99
|
redacted = redacted.replace(PII_PATTERNS.ssn, '[SSN]');
|
|
79
100
|
redacted = redacted.replace(PII_PATTERNS.phone, '[PHONE]');
|
|
80
101
|
redacted = redacted.replace(PII_PATTERNS.email, '[EMAIL]');
|
|
81
|
-
redacted = redacted.replace(PII_PATTERNS.financialAmount, '[AMOUNT]');
|
|
82
|
-
redacted = redacted.replace(PII_PATTERNS.address, '[ADDRESS]');
|
|
83
102
|
return redacted;
|
|
84
103
|
}
|
|
85
104
|
//# sourceMappingURL=pii-detection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pii-detection.js","sourceRoot":"","sources":["../../src/lib/pii-detection.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,oCAAoC;AACpC,MAAM,YAAY,GAA2B;IAC3C,qCAAqC;IACrC,KAAK,EAAE,0DAA0D;IACjE,kBAAkB;IAClB,KAAK,EAAE,qDAAqD;IAC5D,+BAA+B;IAC/B,GAAG,EAAE,kCAAkC;IACvC,2BAA2B;IAC3B,eAAe,EAAE,4DAA4D;IAC7E,oEAAoE;IACpE,OAAO,EAAE,+HAA+H;IACxI,oDAAoD;IACpD,UAAU,EAAE,6CAA6C;CAC1D,CAAA;AAED,kEAAkE;AAClE,MAAM,mBAAmB,GAAG;IAC1B,gBAAgB,EAAE,uBAAuB,EAAE,YAAY;IACvD,SAAS,EAAE,eAAe,EAAE,WAAW;IACvC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB;IAClD,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa;CACnD,CAAA;AAED,8BAA8B;AAC9B,MAAM,qBAAqB,GAAG;IAC5B,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa;IAC/C,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB;IACpD,YAAY,EAAE,SAAS;CACxB,CAAA;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,IAAI,uBAAuB,GAAyB,UAAU,CAAA;IAE9D,uBAAuB;IACvB,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAC3D,mCAAmC;QACnC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAA;QACrB,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;IAC1C,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/E,MAAM,eAAe,GAAG,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;IAEnF,2BAA2B;IAC3B,IAAI,aAAa,EAAE,CAAC;QAClB,uBAAuB,GAAG,YAAY,CAAA;IACxC,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC;QAClD,uBAAuB,GAAG,cAAc,CAAA;IAC1C,CAAC;IAED,OAAO;QACL,WAAW,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC;QAChC,QAAQ;QACR,uBAAuB;KACxB,CAAA;AACH,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"pii-detection.js","sourceRoot":"","sources":["../../src/lib/pii-detection.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,oCAAoC;AACpC,MAAM,YAAY,GAA2B;IAC3C,qCAAqC;IACrC,KAAK,EAAE,0DAA0D;IACjE,kBAAkB;IAClB,KAAK,EAAE,qDAAqD;IAC5D,+BAA+B;IAC/B,GAAG,EAAE,kCAAkC;IACvC,2BAA2B;IAC3B,eAAe,EAAE,4DAA4D;IAC7E,oEAAoE;IACpE,OAAO,EAAE,+HAA+H;IACxI,oDAAoD;IACpD,UAAU,EAAE,6CAA6C;CAC1D,CAAA;AAED,kEAAkE;AAClE,MAAM,mBAAmB,GAAG;IAC1B,gBAAgB,EAAE,uBAAuB,EAAE,YAAY;IACvD,SAAS,EAAE,eAAe,EAAE,WAAW;IACvC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB;IAClD,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa;CACnD,CAAA;AAED,8BAA8B;AAC9B,MAAM,qBAAqB,GAAG;IAC5B,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa;IAC/C,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB;IACpD,YAAY,EAAE,SAAS;CACxB,CAAA;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,IAAI,uBAAuB,GAAyB,UAAU,CAAA;IAE9D,uBAAuB;IACvB,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAC3D,mCAAmC;QACnC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAA;QACrB,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;IAC1C,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/E,MAAM,eAAe,GAAG,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;IAEnF,2BAA2B;IAC3B,IAAI,aAAa,EAAE,CAAC;QAClB,uBAAuB,GAAG,YAAY,CAAA;IACxC,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC;QAClD,uBAAuB,GAAG,cAAc,CAAA;IAC1C,CAAC;IAED,OAAO;QACL,WAAW,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC;QAChC,QAAQ;QACR,uBAAuB;KACxB,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,IAAI,QAAQ,GAAG,OAAO,CAAA;IAEtB,4EAA4E;IAC5E,qCAAqC;IACrC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;IACrE,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACtD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAC1D,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAE1D,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PII redaction for embeddings (TD-856).
|
|
3
|
+
*
|
|
4
|
+
* Pins the redaction contract wired into `generateEmbedding`: the four
|
|
5
|
+
* high-sensitivity, never-searched-by-value types (credit card, SSN, phone,
|
|
6
|
+
* email) are replaced with placeholders before reaching the embedding
|
|
7
|
+
* provider; `financialAmount` + `address` are deliberately left RAW (they are
|
|
8
|
+
* search-load-bearing for jiggy / life-CRM); and the
|
|
9
|
+
* `MEMORY_REDACT_EMBEDDINGS` flag (default ON) is the kill-switch.
|
|
10
|
+
*
|
|
11
|
+
* Pure/deterministic — no live embedding provider or DB. Matches the
|
|
12
|
+
* tsx-script convention of context.test.ts / retrieval.test.ts.
|
|
13
|
+
*
|
|
14
|
+
* Run: npx tsx packages/memory/src/lib/pii-detection.test.ts
|
|
15
|
+
*/
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PII redaction for embeddings (TD-856).
|
|
3
|
+
*
|
|
4
|
+
* Pins the redaction contract wired into `generateEmbedding`: the four
|
|
5
|
+
* high-sensitivity, never-searched-by-value types (credit card, SSN, phone,
|
|
6
|
+
* email) are replaced with placeholders before reaching the embedding
|
|
7
|
+
* provider; `financialAmount` + `address` are deliberately left RAW (they are
|
|
8
|
+
* search-load-bearing for jiggy / life-CRM); and the
|
|
9
|
+
* `MEMORY_REDACT_EMBEDDINGS` flag (default ON) is the kill-switch.
|
|
10
|
+
*
|
|
11
|
+
* Pure/deterministic — no live embedding provider or DB. Matches the
|
|
12
|
+
* tsx-script convention of context.test.ts / retrieval.test.ts.
|
|
13
|
+
*
|
|
14
|
+
* Run: npx tsx packages/memory/src/lib/pii-detection.test.ts
|
|
15
|
+
*/
|
|
16
|
+
import { redactForEmbedding } from './pii-detection.js';
|
|
17
|
+
import { redactEmbeddingInput } from './embeddings.js';
|
|
18
|
+
let passed = 0;
|
|
19
|
+
let failed = 0;
|
|
20
|
+
function assert(label, condition) {
|
|
21
|
+
if (condition) {
|
|
22
|
+
console.log(` PASS ${label}`);
|
|
23
|
+
passed++;
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
console.log(` FAIL ${label}`);
|
|
27
|
+
failed++;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
console.log('\n--- redactForEmbedding: high-sensitivity types redacted (TD-856) ---');
|
|
31
|
+
assert('email → [EMAIL]', redactForEmbedding('reach me at john.doe@example.com today') === 'reach me at [EMAIL] today');
|
|
32
|
+
assert('credit card → [CREDIT_CARD]', redactForEmbedding('card 4111 1111 1111 1111 declined').includes('[CREDIT_CARD]'));
|
|
33
|
+
assert('ssn → [SSN]', redactForEmbedding('ssn 123-45-6789 on file').includes('[SSN]'));
|
|
34
|
+
assert('phone → [PHONE]', redactForEmbedding('call (555) 123-4567 now').includes('[PHONE]'));
|
|
35
|
+
console.log('\n--- redactForEmbedding: search-load-bearing types stay RAW ---');
|
|
36
|
+
assert('financial amount preserved', redactForEmbedding('bought AVGO at $1,400.00') === 'bought AVGO at $1,400.00');
|
|
37
|
+
assert('address preserved', redactForEmbedding('lives at 123 Main Street') === 'lives at 123 Main Street');
|
|
38
|
+
console.log('\n--- redactForEmbedding: non-PII untouched + idempotent ---');
|
|
39
|
+
const clean = 'NVDA estimate revisions trending up, 34 up / 3 down';
|
|
40
|
+
assert('clean text untouched', redactForEmbedding(clean) === clean);
|
|
41
|
+
const once = redactForEmbedding('email a@b.co and a@b.co');
|
|
42
|
+
assert('all occurrences replaced', !once.includes('@'));
|
|
43
|
+
assert('idempotent', redactForEmbedding(once) === once);
|
|
44
|
+
console.log('\n--- redactEmbeddingInput: MEMORY_REDACT_EMBEDDINGS flag (default ON) ---');
|
|
45
|
+
delete process.env.MEMORY_REDACT_EMBEDDINGS;
|
|
46
|
+
assert('default (unset) redacts', redactEmbeddingInput('mail x@y.com') === 'mail [EMAIL]');
|
|
47
|
+
process.env.MEMORY_REDACT_EMBEDDINGS = 'false';
|
|
48
|
+
assert('flag=false passes through raw', redactEmbeddingInput('mail x@y.com') === 'mail x@y.com');
|
|
49
|
+
process.env.MEMORY_REDACT_EMBEDDINGS = '0';
|
|
50
|
+
assert('flag=0 passes through raw', redactEmbeddingInput('mail x@y.com') === 'mail x@y.com');
|
|
51
|
+
process.env.MEMORY_REDACT_EMBEDDINGS = 'true';
|
|
52
|
+
assert('flag=true redacts', redactEmbeddingInput('mail x@y.com') === 'mail [EMAIL]');
|
|
53
|
+
delete process.env.MEMORY_REDACT_EMBEDDINGS;
|
|
54
|
+
console.log(`\n${passed} passed, ${failed} failed`);
|
|
55
|
+
process.exit(failed > 0 ? 1 : 0);
|
|
56
|
+
//# sourceMappingURL=pii-detection.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pii-detection.test.js","sourceRoot":"","sources":["../../src/lib/pii-detection.test.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.
|
|
3
|
+
"version": "0.2.17",
|
|
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",
|
|
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",
|
|
19
19
|
"migrate": "tsx src/migrate.ts"
|
|
20
20
|
},
|
|
21
21
|
"files": [
|