@lore-co/core 0.1.10 → 0.1.11

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":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/dist/engine.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { createHash, randomUUID } from "node:crypto";
2
- import { AgentInteractionSchema, AgentTaskSchema, CandidateMemorySchema, CorrectMemoryDtoSchema, CreateMemoryDtoSchema, ForgetMemoryDtoSchema, GetMemoryDtoSchema, ListMemoriesDtoSchema, MemoryConflictSchema, MemorySchema, normalizeInteractionScope, ProposalMetadataSchema, RecordProposalConflictDtoSchema, ReviewProposalDtoSchema, UpdateWorkspaceLearningPolicySchema, WorkspaceLearningPolicySchema, } from "./schemas.js";
3
- import { redactSensitiveText, redactUnknown } from "./redaction.js";
2
+ import { AgentInteractionSchema, AgentTaskSchema, CandidateMemorySchema, CorrectMemoryDtoSchema, CreateMemoryDtoSchema, ForgetMemoryDtoSchema, GetMemoryDtoSchema, ListMemoriesDtoSchema, MemoryConflictSchema, MemorySchema, normalizeInteractionScope, ProposalMetadataSchema, ProposalRecordSchema, RecordProposalConflictDtoSchema, ReviewProposalDtoSchema, ReviewProposalResponseSchema, UpdateWorkspaceLearningPolicySchema, WorkspaceLearningPolicySchema, } from "./schemas.js";
3
+ import { redactMemoryForDelivery, redactRetrievalHitForDelivery, redactSensitiveText, redactUnknown, } from "./redaction.js";
4
4
  import { ScopedMemoryConflictDetector } from "./conflict-detector.js";
5
5
  function normalizedContent(content) {
6
6
  return content.trim().replace(/\s+/gu, " ");
@@ -202,7 +202,8 @@ export class SharedMemoryEngine {
202
202
  this.#minimumConfidence = 0.8;
203
203
  }
204
204
  async observe(interactionInput) {
205
- const parsedInteraction = AgentInteractionSchema.parse(interactionInput);
205
+ const interactionRedaction = redactUnknown(AgentInteractionSchema.parse(interactionInput));
206
+ const parsedInteraction = AgentInteractionSchema.parse(interactionRedaction.value);
206
207
  const { interaction, redactedMessageIds, } = redactInteraction(parsedInteraction);
207
208
  const scope = normalizeInteractionScope(interaction);
208
209
  if (Object.keys(scope).length === 0) {
@@ -213,34 +214,7 @@ export class SharedMemoryEngine {
213
214
  : await this.#repository.getWorkspaceLearningPolicy(interaction.workspaceId);
214
215
  const learningMode = workspacePolicy?.learningMode ?? "trust_tiered";
215
216
  const candidates = (await this.#extractor.extract(interaction))
216
- .map((candidate) => {
217
- const content = redactSensitiveText(candidate.content);
218
- const rawText = candidate.rawText === undefined
219
- ? undefined
220
- : redactSensitiveText(candidate.rawText);
221
- const supersedesContent = candidate.supersedesContent === undefined
222
- ? undefined
223
- : redactSensitiveText(candidate.supersedesContent);
224
- const scopeEvidence = candidate.scopeEvidence === undefined
225
- ? undefined
226
- : redactSensitiveText(candidate.scopeEvidence.excerpt);
227
- return CandidateMemorySchema.parse({
228
- ...candidate,
229
- content: content.text,
230
- ...(rawText === undefined ? {} : { rawText: rawText.text }),
231
- ...(supersedesContent === undefined
232
- ? {}
233
- : { supersedesContent: supersedesContent.text }),
234
- ...(scopeEvidence === undefined
235
- ? {}
236
- : {
237
- scopeEvidence: {
238
- ...candidate.scopeEvidence,
239
- excerpt: scopeEvidence.text,
240
- },
241
- }),
242
- });
243
- })
217
+ .map((candidate) => CandidateMemorySchema.parse(redactUnknown(candidate).value))
244
218
  .filter((candidate) => candidate.confidence >= this.#minimumConfidence);
245
219
  const stored = [];
246
220
  let created = 0;
@@ -257,8 +231,10 @@ export class SharedMemoryEngine {
257
231
  const triggeringMessageIndex = triggeringMessage === undefined
258
232
  ? -1
259
233
  : interaction.messages.indexOf(triggeringMessage);
260
- const sourceWasRedacted = triggeringMessage !== undefined &&
261
- redactedMessageIds.has(triggeringMessage.id ?? `index:${triggeringMessageIndex}`);
234
+ const sourceWasRedacted = interactionRedaction.redacted ||
235
+ (triggeringMessage !== undefined &&
236
+ redactedMessageIds.has(triggeringMessage.id ?? `index:${triggeringMessageIndex}`));
237
+ const candidateWasRedacted = redactUnknown(candidate).redacted;
262
238
  const source = {
263
239
  agent: interaction.agent,
264
240
  ...(interaction.sessionId === undefined
@@ -276,7 +252,9 @@ export class SharedMemoryEngine {
276
252
  ...(interaction.eventId === undefined
277
253
  ? {}
278
254
  : { eventId: interaction.eventId }),
279
- ...(sourceWasRedacted ? { redacted: true } : {}),
255
+ ...(sourceWasRedacted || candidateWasRedacted
256
+ ? { redacted: true }
257
+ : {}),
280
258
  };
281
259
  const explicitTarget = candidate.supersedesMemoryId === undefined
282
260
  ? undefined
@@ -304,7 +282,6 @@ export class SharedMemoryEngine {
304
282
  const shouldPropose = interaction.workspaceId !== undefined &&
305
283
  (learningMode === "proposal_only" ||
306
284
  supersedesMemoryId !== undefined ||
307
- candidate.category !== "correction" ||
308
285
  candidate.confirmation !== "explicit");
309
286
  const memory = createMemory({
310
287
  ...(interaction.workspaceId === undefined
@@ -334,7 +311,7 @@ export class SharedMemoryEngine {
334
311
  reason: learningMode === "proposal_only"
335
312
  ? "Workspace policy requires review for automatic captures."
336
313
  : supersedesMemoryId === undefined
337
- ? "Automatic capture was not an explicit human correction."
314
+ ? "Automatic capture was not explicitly confirmed by the user."
338
315
  : "A deterministic replacement target requires conflict review.",
339
316
  provenance: source,
340
317
  proposedAt: memory.createdAt,
@@ -399,7 +376,7 @@ export class SharedMemoryEngine {
399
376
  }
400
377
  }
401
378
  return {
402
- memories: stored,
379
+ memories: stored.map((memory) => redactMemoryForDelivery(memory).memory),
403
380
  created,
404
381
  duplicates: stored.length - created,
405
382
  reconciled,
@@ -408,7 +385,9 @@ export class SharedMemoryEngine {
408
385
  }
409
386
  async getContext(taskInput, context) {
410
387
  const task = AgentTaskSchema.parse(taskInput);
411
- const hits = (await this.#retriever.retrieve(task, context)).filter((hit) => hit.memory.status === "active");
388
+ const hits = (await this.#retriever.retrieve(task, context))
389
+ .filter((hit) => hit.memory.status === "active")
390
+ .map((hit) => redactRetrievalHitForDelivery(hit).hit);
412
391
  return {
413
392
  memories: hits.map((hit) => hit.memory),
414
393
  hits,
@@ -425,7 +404,10 @@ export class SharedMemoryEngine {
425
404
  }
426
405
  async getProposal(proposalMemoryId, context) {
427
406
  const memoryId = ReviewProposalDtoSchema.shape.proposalMemoryId.parse(proposalMemoryId);
428
- return this.#repository.getProposal(memoryId, context);
407
+ const proposal = await this.#repository.getProposal(memoryId, context);
408
+ return proposal === null
409
+ ? null
410
+ : ProposalRecordSchema.parse(redactUnknown(proposal).value);
429
411
  }
430
412
  async recordProposalConflict(inputValue, context) {
431
413
  const input = RecordProposalConflictDtoSchema.parse(inputValue);
@@ -445,39 +427,36 @@ export class SharedMemoryEngine {
445
427
  return (await this.#repository.addProposalConflict(conflict, context)).conflict;
446
428
  }
447
429
  async reviewProposal(inputValue, context) {
448
- const input = ReviewProposalDtoSchema.parse(inputValue);
449
- return this.#repository.reviewProposal({
450
- ...input,
451
- reason: redactSensitiveText(input.reason).text,
452
- }, context);
430
+ const input = ReviewProposalDtoSchema.parse(redactUnknown(ReviewProposalDtoSchema.parse(inputValue)).value);
431
+ const result = await this.#repository.reviewProposal(input, context);
432
+ return ReviewProposalResponseSchema.parse(redactUnknown(result).value);
453
433
  }
454
434
  async remember(input) {
455
- const value = CreateMemoryDtoSchema.parse(input);
456
- const content = redactSensitiveText(value.content);
457
- const rawText = value.source.rawText === undefined || value.source.rawText === null
458
- ? undefined
459
- : redactSensitiveText(value.source.rawText);
435
+ const redaction = redactUnknown(CreateMemoryDtoSchema.parse(input));
436
+ const value = CreateMemoryDtoSchema.parse(redaction.value);
460
437
  const source = {
461
438
  ...value.source,
462
- ...(rawText === undefined ? {} : { rawText: rawText.text }),
463
- ...((content.redacted || rawText?.redacted) === true
464
- ? { redacted: true }
465
- : {}),
439
+ ...(redaction.redacted ? { redacted: true } : {}),
466
440
  };
467
- return this.#repository.insert(createMemory({
441
+ const result = await this.#repository.insert(createMemory({
468
442
  ...(source.workspaceId === undefined
469
443
  ? {}
470
444
  : { workspaceId: source.workspaceId }),
471
- content: content.text,
445
+ content: value.content,
472
446
  scope: value.scope,
473
447
  category: value.category ?? "other",
474
448
  source,
475
449
  confidence: 1,
476
450
  confirmation: "explicit",
477
451
  }));
452
+ return {
453
+ ...result,
454
+ memory: redactMemoryForDelivery(result.memory).memory,
455
+ };
478
456
  }
479
457
  async correct(input, context = {}) {
480
- const value = CorrectMemoryDtoSchema.parse(input);
458
+ const inputRedaction = redactUnknown(CorrectMemoryDtoSchema.parse(input));
459
+ const value = CorrectMemoryDtoSchema.parse(inputRedaction.value);
481
460
  const current = await this.#repository.get(value.memoryId, context);
482
461
  if (current === null) {
483
462
  throw new Error(`Memory not found: ${value.memoryId}`);
@@ -485,16 +464,15 @@ export class SharedMemoryEngine {
485
464
  if (current.status !== "active" && current.status !== "suppressed") {
486
465
  throw new Error(`Only active or suppressed memories can be corrected: ${value.memoryId} is ${current.status}`);
487
466
  }
488
- const content = redactSensitiveText(value.content);
489
- const requestedSource = value.source ?? current.source;
490
- const rawText = requestedSource.rawText === undefined ||
491
- requestedSource.rawText === null
492
- ? undefined
493
- : redactSensitiveText(requestedSource.rawText);
467
+ const sourceRedaction = redactUnknown(value.source ?? current.source);
468
+ const requestedSource = MemorySchema.shape.source.parse(sourceRedaction.value);
469
+ const scopeRedaction = redactUnknown(value.scope ?? current.scope);
470
+ const requestedScope = MemorySchema.shape.scope.parse(scopeRedaction.value);
494
471
  const source = {
495
472
  ...requestedSource,
496
- ...(rawText === undefined ? {} : { rawText: rawText.text }),
497
- ...((content.redacted || rawText?.redacted) === true
473
+ ...(inputRedaction.redacted ||
474
+ sourceRedaction.redacted ||
475
+ scopeRedaction.redacted
498
476
  ? { redacted: true }
499
477
  : {}),
500
478
  };
@@ -502,15 +480,19 @@ export class SharedMemoryEngine {
502
480
  ...(current.workspaceId === undefined
503
481
  ? {}
504
482
  : { workspaceId: current.workspaceId }),
505
- content: content.text,
506
- scope: value.scope ?? current.scope,
483
+ content: value.content,
484
+ scope: requestedScope,
507
485
  category: value.category ?? "correction",
508
486
  source,
509
487
  confidence: 1,
510
488
  confirmation: "explicit",
511
489
  supersedesMemoryId: current.id,
512
490
  });
513
- return this.#repository.supersede(current.id, replacement, context);
491
+ const result = await this.#repository.supersede(current.id, replacement, context);
492
+ return {
493
+ memory: redactMemoryForDelivery(result.memory).memory,
494
+ supersededMemory: redactMemoryForDelivery(result.supersededMemory).memory,
495
+ };
514
496
  }
515
497
  async forget(input, context = {}) {
516
498
  const value = ForgetMemoryDtoSchema.parse(typeof input === "string" ? { id: input } : input);
@@ -518,14 +500,21 @@ export class SharedMemoryEngine {
518
500
  if (memory === null) {
519
501
  throw new Error(`Memory not found: ${value.id}`);
520
502
  }
521
- return { memory };
503
+ return { memory: redactMemoryForDelivery(memory).memory };
522
504
  }
523
505
  async listMemories(input = {}, context = {}) {
524
- return this.#repository.list(ListMemoriesDtoSchema.parse(input), context);
506
+ const result = await this.#repository.list(ListMemoriesDtoSchema.parse(input), context);
507
+ return {
508
+ ...result,
509
+ memories: result.memories.map((memory) => redactMemoryForDelivery(memory).memory),
510
+ };
525
511
  }
526
512
  async getMemory(input, context = {}) {
527
513
  const value = GetMemoryDtoSchema.parse(typeof input === "string" ? { id: input } : input);
528
- return { memory: await this.#repository.get(value.id, context) };
514
+ const memory = await this.#repository.get(value.id, context);
515
+ return {
516
+ memory: memory === null ? null : redactMemoryForDelivery(memory).memory,
517
+ };
529
518
  }
530
519
  }
531
520
  export { SharedMemoryEngine as LoreEngine };
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare const NATIVE_CODING_AGENT_NAMES: readonly ["claude", "codex", "opencode"];
1
+ export declare const NATIVE_CODING_AGENT_NAMES: readonly ["claude", "codex", "cursor", "opencode", "polytoken"];
2
2
  export type NativeCodingAgentName = (typeof NATIVE_CODING_AGENT_NAMES)[number];
3
3
  export declare function isNativeCodingAgent(agent: string): agent is NativeCodingAgentName;
4
4
  //# sourceMappingURL=native-coding-agents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"native-coding-agents.d.ts","sourceRoot":"","sources":["../src/native-coding-agents.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,0CAI5B,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAC/B,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAI7C,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,GACZ,KAAK,IAAI,qBAAqB,CAEhC"}
1
+ {"version":3,"file":"native-coding-agents.d.ts","sourceRoot":"","sources":["../src/native-coding-agents.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,iEAM5B,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAC/B,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAI7C,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,GACZ,KAAK,IAAI,qBAAqB,CAEhC"}
@@ -1,7 +1,9 @@
1
1
  export const NATIVE_CODING_AGENT_NAMES = [
2
2
  "claude",
3
3
  "codex",
4
+ "cursor",
4
5
  "opencode",
6
+ "polytoken",
5
7
  ];
6
8
  const NATIVE_CODING_AGENTS = new Set(NATIVE_CODING_AGENT_NAMES);
7
9
  export function isNativeCodingAgent(agent) {
@@ -1 +1 @@
1
- {"version":3,"file":"native-coding-agents.js","sourceRoot":"","sources":["../src/native-coding-agents.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,QAAQ;IACR,OAAO;IACP,UAAU;CACF,CAAC;AAKX,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAS,yBAAyB,CAAC,CAAC;AAExE,MAAM,UAAU,mBAAmB,CACjC,KAAa;IAEb,OAAO,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"native-coding-agents.js","sourceRoot":"","sources":["../src/native-coding-agents.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,UAAU;IACV,WAAW;CACH,CAAC;AAKX,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAS,yBAAyB,CAAC,CAAC;AAExE,MAAM,UAAU,mBAAmB,CACjC,KAAa;IAEb,OAAO,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC"}
@@ -1,4 +1,5 @@
1
- export type RedactionKind = "private_key" | "authorization" | "connection_url" | "jwt" | "provider_token" | "credential";
1
+ import { type Memory, type RetrievalHit } from "./schemas.js";
2
+ export type RedactionKind = "circular" | "pre_redacted" | "private_key" | "authorization" | "connection_url" | "jwt" | "provider_token" | "credential";
2
3
  export interface RedactionFinding {
3
4
  kind: RedactionKind;
4
5
  count: number;
@@ -9,6 +10,16 @@ export interface RedactionResult {
9
10
  findings: RedactionFinding[];
10
11
  }
11
12
  export declare function redactSensitiveText(value: string): RedactionResult;
13
+ export declare function redactMemoryForDelivery(memory: Memory): {
14
+ memory: Memory;
15
+ redacted: boolean;
16
+ findings: RedactionFinding[];
17
+ };
18
+ export declare function redactRetrievalHitForDelivery(hit: RetrievalHit): {
19
+ hit: RetrievalHit;
20
+ redacted: boolean;
21
+ findings: RedactionFinding[];
22
+ };
12
23
  export declare function redactUnknown(value: unknown): {
13
24
  value: unknown;
14
25
  redacted: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"redaction.d.ts","sourceRoot":"","sources":["../src/redaction.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GACrB,aAAa,GACb,eAAe,GACf,gBAAgB,GAChB,KAAK,GACL,gBAAgB,GAChB,YAAY,CAAC;AAEjB,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAkDD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CA2BlE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG;IAC7C,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B,CA8CA"}
1
+ {"version":3,"file":"redaction.d.ts","sourceRoot":"","sources":["../src/redaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,MAAM,EACX,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,aAAa,GACrB,UAAU,GACV,cAAc,GACd,aAAa,GACb,eAAe,GACf,gBAAgB,GAChB,KAAK,GACL,gBAAgB,GAChB,YAAY,CAAC;AAEjB,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AA6ID,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAiClE;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B,CAcA;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,YAAY,GAAG;IAChE,GAAG,EAAE,YAAY,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B,CAOA;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG;IAC7C,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B,CAyDA"}
package/dist/redaction.js CHANGED
@@ -1,7 +1,51 @@
1
+ import { MemorySchema, RetrievalHitSchema, } from "./schemas.js";
2
+ const NON_SECRET_TOKEN_VALUES = new Set([
3
+ "available",
4
+ "configured",
5
+ "generated",
6
+ "optional",
7
+ "placeholder",
8
+ "redacted",
9
+ "required",
10
+ "undefined",
11
+ ]);
12
+ function isRedactionMarker(value) {
13
+ return /^\[REDACTED(?::[A-Z_]+|_[A-Z_]+)?\][.,!?]*$/u.test(value);
14
+ }
15
+ function looksLikeOpaqueToken(value) {
16
+ if (isRedactionMarker(value)) {
17
+ return false;
18
+ }
19
+ const normalized = value
20
+ .replace(/^["']|["']$/gu, "")
21
+ .replace(/[.,!?]+$/gu, "");
22
+ if (NON_SECRET_TOKEN_VALUES.has(normalized.toLowerCase())) {
23
+ return false;
24
+ }
25
+ if (normalized.length >= 16) {
26
+ return true;
27
+ }
28
+ const classes = [
29
+ /[a-z]/u,
30
+ /[A-Z]/u,
31
+ /[0-9]/u,
32
+ /[^A-Za-z0-9]/u,
33
+ ].filter((pattern) => pattern.test(normalized)).length;
34
+ return normalized.length >= 10 && classes >= 2;
35
+ }
36
+ function redactedCredential(value) {
37
+ const trailing = /[.,!?]+$/u.exec(value)?.[0] ?? "";
38
+ return `[REDACTED:CREDENTIAL]${trailing}`;
39
+ }
1
40
  const RULES = [
41
+ {
42
+ kind: "pre_redacted",
43
+ pattern: /\[REDACTED(?::[A-Z_]+|_[A-Z_]+)?\]/gu,
44
+ replacement: (match) => match,
45
+ },
2
46
  {
3
47
  kind: "private_key",
4
- pattern: /-----BEGIN (?:RSA |EC |OPENSSH |DSA )?PRIVATE KEY-----[\s\S]*?-----END (?:RSA |EC |OPENSSH |DSA )?PRIVATE KEY-----/gu,
48
+ pattern: /-----BEGIN (?:RSA |EC |OPENSSH |DSA |ENCRYPTED )?PRIVATE KEY-----[\s\S]*?-----END (?:RSA |EC |OPENSSH |DSA |ENCRYPTED )?PRIVATE KEY-----/gu,
5
49
  replacement: "[REDACTED:PRIVATE_KEY]",
6
50
  },
7
51
  {
@@ -11,7 +55,8 @@ const RULES = [
11
55
  },
12
56
  {
13
57
  kind: "connection_url",
14
- pattern: /\b((?:postgres(?:ql)?|mysql|mongodb(?:\+srv)?|redis):\/\/[^:\s/@]+:)[^@\s/]+@/giu,
58
+ pattern: /\b((?:postgres(?:ql)?|mysql|mariadb|mongodb(?:\+srv)?|redis|amqps?):\/\/[^:\s/@]+:)([^@\s/]+)@/giu,
59
+ shouldRedact: (_match, _prefix, password) => !isRedactionMarker(password),
15
60
  replacement: (_match, prefix) => `${prefix}[REDACTED:PASSWORD]@`,
16
61
  },
17
62
  {
@@ -21,28 +66,54 @@ const RULES = [
21
66
  },
22
67
  {
23
68
  kind: "provider_token",
24
- pattern: /\b(?:sk-(?:proj-)?[A-Za-z0-9_-]{16,}|gh[pousr]_[A-Za-z0-9_]{20,}|github_pat_[A-Za-z0-9_]{20,}|AKIA[0-9A-Z]{16})\b/gu,
69
+ pattern: /\b(?:sk-(?:proj-)?[A-Za-z0-9_-]{16,}|gh[pousr]_[A-Za-z0-9_]{20,}|github_pat_[A-Za-z0-9_]{20,}|xox[baprs]-[A-Za-z0-9-]{10,}|glpat-[A-Za-z0-9_-]{16,}|npm_[A-Za-z0-9_-]{16,}|pypi-[A-Za-z0-9_-]{16,}|AIza[A-Za-z0-9_-]{20,}|AKIA[0-9A-Z]{16})\b/gu,
25
70
  replacement: "[REDACTED:API_KEY]",
26
71
  },
27
72
  {
28
73
  kind: "credential",
29
- pattern: /(["']?)\b(api[_-]?key|access[_-]?token|auth[_-]?token|client[_-]?secret|password|passwd|secret)\b\1(\s*[:=]\s*)(["']?)([^\s,"'};]{8,})\4/giu,
30
- replacement: (_match, keyQuote, name, separator, valueQuote) => `${keyQuote}${name}${keyQuote}${separator}${valueQuote}[REDACTED:CREDENTIAL]${valueQuote}`,
74
+ pattern: /(["']?)\b((?:(?:[A-Za-z][A-Za-z0-9]*[_-])*(?:api[_-]?key|access[_-]?token|auth[_-]?token|client[_-]?secret|private[_-]?key|connection[_-]?(?:string|url)|database[_-]?url|token|secret|password|passwd|credential)|[A-Za-z][A-Za-z0-9]*(?:token|secret|password|passwd|credential|apiKey|privateKey|connectionString|databaseUrl)))\b\1(\s*[:=]\s*)(["']?)([^\s,"'};]{4,})\4/giu,
75
+ shouldRedact: (_match, _keyQuote, _name, _separator, _valueQuote, value) => !isRedactionMarker(value),
76
+ replacement: (_match, keyQuote, name, separator, valueQuote, value) => `${keyQuote}${name}${keyQuote}${separator}${valueQuote}${redactedCredential(value)}${valueQuote}`,
77
+ },
78
+ {
79
+ kind: "credential",
80
+ pattern: /(["']?)\b(api[ _-]?key|access[ _-]?token|auth[ _-]?token|client[ _-]?secret|private[ _-]?key|verification[ _-]?token|password|passwd|secret|credential)\b\1(\s+(?:is|was|equals?)\s+)(["']?)([^\s,"'};]{4,})\4/giu,
81
+ shouldRedact: (_match, _keyQuote, _name, _separator, _valueQuote, value) => !isRedactionMarker(value),
82
+ replacement: (_match, keyQuote, name, separator, valueQuote, value) => `${keyQuote}${name}${keyQuote}${separator}${valueQuote}${redactedCredential(value)}${valueQuote}`,
83
+ },
84
+ {
85
+ kind: "credential",
86
+ pattern: /\b(token|credential)\b(\s+(?:is|was|equals?)\s+)(["']?)([^\s,"'};]{8,})\3/giu,
87
+ shouldRedact: (_match, _name, _separator, _valueQuote, value) => looksLikeOpaqueToken(value),
88
+ replacement: (_match, name, separator, valueQuote, value) => `${name}${separator}${valueQuote}${redactedCredential(value)}${valueQuote}`,
89
+ },
90
+ {
91
+ kind: "authorization",
92
+ pattern: /\b((?:set-)?cookie\s*:\s*)([^\r\n]+)/giu,
93
+ shouldRedact: (_match, _prefix, value) => !isRedactionMarker(value.trim()),
94
+ replacement: (_match, prefix) => `${prefix}[REDACTED:AUTHORIZATION]`,
31
95
  },
32
96
  ];
33
- const SENSITIVE_KEY_PATTERN = /^(?:api[_-]?key|access[_-]?token|auth[_-]?token|client[_-]?secret|password|passwd|secret|token)$/iu;
97
+ const SENSITIVE_KEY_PATTERN = /^(?:(?:[A-Za-z][A-Za-z0-9]*[_-])*(?:api[_-]?key|access[_-]?token|auth[_-]?token|client[_-]?secret|private[_-]?key|connection[_-]?(?:string|url)|database[_-]?url|token|secret|password|passwd|credential)|[A-Za-z][A-Za-z0-9]*(?:token|secret|password|passwd|credential|apiKey|privateKey|connectionString|databaseUrl)|authorization|cookie)$/iu;
34
98
  export function redactSensitiveText(value) {
35
99
  let text = value;
36
100
  const findings = [];
37
101
  for (const rule of RULES) {
38
102
  let count = 0;
39
103
  text = text.replace(rule.pattern, (...args) => {
104
+ const [match, ...rest] = args;
105
+ const groups = rest
106
+ .slice(0, -2)
107
+ .map((group) => (group === undefined ? "" : String(group)));
108
+ if (rule.shouldRedact !== undefined &&
109
+ !rule.shouldRedact(String(match), ...groups)) {
110
+ return String(match);
111
+ }
40
112
  count += 1;
41
113
  if (typeof rule.replacement === "string") {
42
114
  return rule.replacement;
43
115
  }
44
- const [match, ...rest] = args;
45
- return rule.replacement(String(match), ...rest.filter((value) => typeof value === "string"));
116
+ return rule.replacement(String(match), ...groups);
46
117
  });
47
118
  if (count > 0) {
48
119
  findings.push({ kind: rule.kind, count });
@@ -54,9 +125,32 @@ export function redactSensitiveText(value) {
54
125
  findings,
55
126
  };
56
127
  }
128
+ export function redactMemoryForDelivery(memory) {
129
+ const result = redactUnknown(memory);
130
+ const redactedMemory = MemorySchema.parse(result.value);
131
+ return {
132
+ memory: MemorySchema.parse({
133
+ ...redactedMemory,
134
+ source: {
135
+ ...redactedMemory.source,
136
+ ...(result.redacted ? { redacted: true } : {}),
137
+ },
138
+ }),
139
+ redacted: result.redacted,
140
+ findings: result.findings,
141
+ };
142
+ }
143
+ export function redactRetrievalHitForDelivery(hit) {
144
+ const result = redactMemoryForDelivery(hit.memory);
145
+ return {
146
+ hit: RetrievalHitSchema.parse({ ...hit, memory: result.memory }),
147
+ redacted: result.redacted,
148
+ findings: result.findings,
149
+ };
150
+ }
57
151
  export function redactUnknown(value) {
58
152
  const findings = new Map();
59
- const seen = new WeakSet();
153
+ const active = new WeakSet();
60
154
  const visit = (current) => {
61
155
  if (typeof current === "string") {
62
156
  const result = redactSensitiveText(current);
@@ -68,22 +162,31 @@ export function redactUnknown(value) {
68
162
  if (current === null || typeof current !== "object") {
69
163
  return current;
70
164
  }
71
- if (seen.has(current)) {
165
+ if (active.has(current)) {
166
+ findings.set("circular", (findings.get("circular") ?? 0) + 1);
72
167
  return "[REDACTED:CIRCULAR]";
73
168
  }
74
- seen.add(current);
75
- if (Array.isArray(current)) {
76
- return current.map(visit);
77
- }
78
- return Object.fromEntries(Object.entries(current).map(([key, entry]) => {
79
- if (SENSITIVE_KEY_PATTERN.test(key) &&
80
- entry !== null &&
81
- entry !== undefined) {
82
- findings.set("credential", (findings.get("credential") ?? 0) + 1);
83
- return [key, "[REDACTED:CREDENTIAL]"];
169
+ active.add(current);
170
+ try {
171
+ if (Array.isArray(current)) {
172
+ return current.map(visit);
84
173
  }
85
- return [key, visit(entry)];
86
- }));
174
+ return Object.fromEntries(Object.entries(current).map(([key, entry]) => {
175
+ if (SENSITIVE_KEY_PATTERN.test(key) &&
176
+ entry !== null &&
177
+ entry !== undefined) {
178
+ if (typeof entry === "string" && isRedactionMarker(entry)) {
179
+ return [key, visit(entry)];
180
+ }
181
+ findings.set("credential", (findings.get("credential") ?? 0) + 1);
182
+ return [key, "[REDACTED:CREDENTIAL]"];
183
+ }
184
+ return [key, visit(entry)];
185
+ }));
186
+ }
187
+ finally {
188
+ active.delete(current);
189
+ }
87
190
  };
88
191
  const redactedValue = visit(value);
89
192
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"redaction.js","sourceRoot":"","sources":["../src/redaction.ts"],"names":[],"mappings":"AAyBA,MAAM,KAAK,GAA6B;IACtC;QACE,IAAI,EAAE,aAAa;QACnB,OAAO,EACL,sHAAsH;QACxH,WAAW,EAAE,wBAAwB;KACtC;IACD;QACE,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,8CAA8C;QACvD,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,2BAA2B;KACtE;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,OAAO,EACL,kFAAkF;QACpF,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,sBAAsB;KACjE;IACD;QACE,IAAI,EAAE,KAAK;QACX,OAAO,EACL,kEAAkE;QACpE,WAAW,EAAE,gBAAgB;KAC9B;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,OAAO,EACL,qHAAqH;QACvH,WAAW,EAAE,oBAAoB;KAClC;IACD;QACE,IAAI,EAAE,YAAY;QAClB,OAAO,EACL,6IAA6I;QAC/I,WAAW,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAC7D,GAAG,QAAQ,GAAG,IAAI,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,wBAAwB,UAAU,EAAE;KAC7F;CACF,CAAC;AAEF,MAAM,qBAAqB,GACzB,oGAAoG,CAAC;AAEvG,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,MAAM,QAAQ,GAAuB,EAAE,CAAC;IAExC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;YACvD,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBACzC,OAAO,IAAI,CAAC,WAAW,CAAC;YAC1B,CAAC;YACD,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;YAC9B,OAAO,IAAI,CAAC,WAAW,CACrB,MAAM,CAAC,KAAK,CAAC,EACb,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CACtE,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI;QACJ,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC;QAC7B,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAc;IAK1C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAClD,MAAM,IAAI,GAAG,IAAI,OAAO,EAAU,CAAC;IAEnC,MAAM,KAAK,GAAG,CAAC,OAAgB,EAAW,EAAE;QAC1C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC5C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACtC,QAAQ,CAAC,GAAG,CACV,OAAO,CAAC,IAAI,EACZ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAClD,CAAC;YACJ,CAAC;YACD,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;QACD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACpD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACtB,OAAO,qBAAqB,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC3C,IACE,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC/B,KAAK,KAAK,IAAI;gBACd,KAAK,KAAK,SAAS,EACnB,CAAC;gBACD,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClE,OAAO,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;YACxC,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO;QACL,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,QAAQ,CAAC,IAAI,GAAG,CAAC;QAC3B,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;KAC5E,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"redaction.js","sourceRoot":"","sources":["../src/redaction.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lore-co/core",
3
- "version": "0.1.10",
3
+ "version": "0.1.11",
4
4
  "description": "Schemas and primitives for auditable Lore engineering memory",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -21,6 +21,10 @@
21
21
  "./auth-schemas": {
22
22
  "types": "./dist/auth-schemas.d.ts",
23
23
  "import": "./dist/auth-schemas.js"
24
+ },
25
+ "./redaction": {
26
+ "types": "./dist/redaction.d.ts",
27
+ "import": "./dist/redaction.js"
24
28
  }
25
29
  },
26
30
  "files": [