@devflow-tools/memory-engine 0.17.0 → 0.17.2

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 (58) hide show
  1. package/dist/consolidator.d.ts.map +1 -1
  2. package/dist/consolidator.js +24 -15
  3. package/dist/consolidator.js.map +1 -1
  4. package/dist/durable-memory-text.d.ts +8 -0
  5. package/dist/durable-memory-text.d.ts.map +1 -0
  6. package/dist/durable-memory-text.js +35 -0
  7. package/dist/durable-memory-text.js.map +1 -0
  8. package/dist/event-grouper.d.ts +1 -0
  9. package/dist/event-grouper.d.ts.map +1 -1
  10. package/dist/event-grouper.js +18 -13
  11. package/dist/event-grouper.js.map +1 -1
  12. package/dist/explicit-memory-enricher.d.ts.map +1 -1
  13. package/dist/explicit-memory-enricher.js +2 -1
  14. package/dist/explicit-memory-enricher.js.map +1 -1
  15. package/dist/hybrid-search.d.ts +23 -0
  16. package/dist/hybrid-search.d.ts.map +1 -1
  17. package/dist/hybrid-search.js +171 -17
  18. package/dist/hybrid-search.js.map +1 -1
  19. package/dist/index.d.ts +3 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +2 -0
  22. package/dist/index.js.map +1 -1
  23. package/dist/memory-capsule.d.ts +3 -0
  24. package/dist/memory-capsule.d.ts.map +1 -1
  25. package/dist/memory-capsule.js +27 -0
  26. package/dist/memory-capsule.js.map +1 -1
  27. package/dist/memory-engine.d.ts +1 -0
  28. package/dist/memory-engine.d.ts.map +1 -1
  29. package/dist/memory-engine.js +83 -37
  30. package/dist/memory-engine.js.map +1 -1
  31. package/dist/memory-gate.d.ts +6 -0
  32. package/dist/memory-gate.d.ts.map +1 -1
  33. package/dist/memory-gate.js +293 -30
  34. package/dist/memory-gate.js.map +1 -1
  35. package/dist/memory-maintenance.d.ts +3 -1
  36. package/dist/memory-maintenance.d.ts.map +1 -1
  37. package/dist/memory-maintenance.js +46 -1
  38. package/dist/memory-maintenance.js.map +1 -1
  39. package/dist/memory-relevance.d.ts +7 -1
  40. package/dist/memory-relevance.d.ts.map +1 -1
  41. package/dist/memory-relevance.js +54 -2
  42. package/dist/memory-relevance.js.map +1 -1
  43. package/dist/memory-store.d.ts +1 -0
  44. package/dist/memory-store.d.ts.map +1 -1
  45. package/dist/memory-store.js +57 -18
  46. package/dist/memory-store.js.map +1 -1
  47. package/dist/migrations/v11-to-v12.d.ts +15 -1
  48. package/dist/migrations/v11-to-v12.d.ts.map +1 -1
  49. package/dist/migrations/v11-to-v12.js +215 -15
  50. package/dist/migrations/v11-to-v12.js.map +1 -1
  51. package/dist/semantic-memory-compiler.d.ts +29 -0
  52. package/dist/semantic-memory-compiler.d.ts.map +1 -0
  53. package/dist/semantic-memory-compiler.js +149 -0
  54. package/dist/semantic-memory-compiler.js.map +1 -0
  55. package/dist/session-summarizer.d.ts +2 -0
  56. package/dist/session-summarizer.d.ts.map +1 -1
  57. package/dist/session-summarizer.js.map +1 -1
  58. package/package.json +4 -3
@@ -1,5 +1,6 @@
1
1
  import { createHash, randomUUID } from 'node:crypto';
2
2
  import { enrichExplicitMemory } from '../explicit-memory-enricher.js';
3
+ import { isExecutionNarration, sanitizeDurableMemoryNarrative, } from '../durable-memory-text.js';
3
4
  export function applyV11ToV12Migration(db, projectRoot) {
4
5
  ensureRepairAuditTable(db);
5
6
  const applied = db.prepare('SELECT 1 FROM schema_versions WHERE version = 12').get();
@@ -28,6 +29,8 @@ export function repairHistoricalMemoryData(db, options) {
28
29
  generatedAt,
29
30
  sourceEvents: { before: sourceEventsBefore, after: sourceEventsBefore, preserved: true },
30
31
  ruleEngineQuarantines: [],
32
+ consolidatedMemoriesSanitized: [],
33
+ duplicateConsolidatedMemoriesMerged: [],
31
34
  explicitSemanticsReenriched: [],
32
35
  duplicateExplicitMemoriesMerged: [],
33
36
  legacyAdoptionsMarked: [],
@@ -42,8 +45,10 @@ export function repairHistoricalMemoryData(db, options) {
42
45
  },
43
46
  };
44
47
  quarantineHistoricalRuleMemories(db, report, generatedAt, runId);
48
+ repairConsolidatedMemoryProjections(db, report, options.projectRoot, generatedAt, runId);
45
49
  repairExplicitSemanticRecords(db, report, options.projectRoot, generatedAt);
46
- mergeLegacyPeerDependencyPolicies(db, report, generatedAt);
50
+ mergeDuplicateExplicitMemories(db, report, generatedAt);
51
+ mergeDuplicateExplicitTurnObservations(db, report, generatedAt);
47
52
  markLegacyUnknownAdoptions(db, report);
48
53
  rebuildDerivedIndexes(db, report);
49
54
  report.sourceEvents.after = countRows(db, 'session_events');
@@ -58,6 +63,92 @@ export function repairHistoricalMemoryData(db, options) {
58
63
  return report;
59
64
  })();
60
65
  }
66
+ function repairConsolidatedMemoryProjections(db, report, projectRoot, now, runId) {
67
+ const rows = db.prepare(`
68
+ SELECT id, title, content, original_text, source, status, scope, strength,
69
+ confidence, created_at, updated_at
70
+ FROM memories
71
+ WHERE source = 'consolidation' AND status IN ('active', 'approved')
72
+ AND superseded_by IS NULL
73
+ ORDER BY updated_at DESC, id DESC
74
+ `).all();
75
+ const update = db.prepare(`
76
+ UPDATE memories SET content = ?, scope = ?, original_text = COALESCE(original_text, ?),
77
+ updated_at = ? WHERE id = ?
78
+ `);
79
+ const insertHistory = db.prepare(`
80
+ INSERT OR IGNORE INTO memory_history
81
+ (id, memory_id, event, old_content, new_content, old_strength, new_strength, reason, created_at)
82
+ VALUES (?, ?, 'UPDATE', ?, ?, ?, ?, 'durable_projection_cleanup', ?)
83
+ `);
84
+ const deleteVector = db.prepare('DELETE FROM memories_vec WHERE id = ?');
85
+ const deleteEmbedding = db.prepare("DELETE FROM embeddings WHERE source_type = 'memory' AND source_id = ?");
86
+ const currentRows = [];
87
+ for (const row of rows) {
88
+ const content = sanitizeDurableMemoryNarrative(row.content || row.title);
89
+ const scope = row.scope.trim() || projectRoot;
90
+ if (!content) {
91
+ db.prepare(`
92
+ UPDATE memories SET status = 'rejected', updated_at = ? WHERE id = ?
93
+ `).run(now, row.id);
94
+ deleteVector.run(row.id);
95
+ deleteEmbedding.run(row.id);
96
+ continue;
97
+ }
98
+ if (content !== row.content.normalize('NFKC').trim() || scope !== row.scope) {
99
+ report.consolidatedMemoriesSanitized.push({
100
+ id: row.id,
101
+ previousContent: row.content,
102
+ content,
103
+ previousScope: row.scope,
104
+ scope,
105
+ });
106
+ update.run(content, scope, row.content, now, row.id);
107
+ const historyId = `history:${createHash('sha256')
108
+ .update(`${runId}\0${row.id}\0durable_projection_cleanup`)
109
+ .digest('hex').slice(0, 24)}`;
110
+ insertHistory.run(historyId, row.id, row.content, content, row.strength, row.strength, now);
111
+ report.indexes.vectorsRemoved += deleteVector.run(row.id).changes;
112
+ report.indexes.vectorsRemoved += deleteEmbedding.run(row.id).changes;
113
+ }
114
+ currentRows.push({ ...row, content, scope });
115
+ }
116
+ const groups = new Map();
117
+ for (const row of currentRows) {
118
+ const semantic = enrichExplicitMemory({
119
+ projectRoot: row.scope,
120
+ content: row.content,
121
+ });
122
+ const key = `${row.scope}\0${semantic.facetKey}\0${semantic.semanticKey}`;
123
+ const group = groups.get(key) ?? [];
124
+ group.push({ ...row, semanticKey: semantic.semanticKey, facetKey: semantic.facetKey });
125
+ groups.set(key, group);
126
+ }
127
+ for (const group of groups.values()) {
128
+ if (group.length < 2)
129
+ continue;
130
+ group.sort((left, right) => right.confidence - left.confidence
131
+ || right.updated_at - left.updated_at || right.id.localeCompare(left.id));
132
+ const [winner, ...duplicates] = group;
133
+ for (const duplicate of duplicates) {
134
+ db.prepare(`
135
+ UPDATE memories SET status = 'superseded', superseded_by = ?, updated_at = ?
136
+ WHERE id = ? AND status IN ('active', 'approved')
137
+ `).run(winner.id, now, duplicate.id);
138
+ deleteVector.run(duplicate.id);
139
+ deleteEmbedding.run(duplicate.id);
140
+ }
141
+ db.prepare(`
142
+ UPDATE memories SET supersedes = COALESCE(supersedes, ?), updated_at = ? WHERE id = ?
143
+ `).run(duplicates[0].id, now, winner.id);
144
+ report.duplicateConsolidatedMemoriesMerged.push({
145
+ winnerId: winner.id,
146
+ supersededIds: duplicates.map(row => row.id),
147
+ semanticKey: winner.semanticKey,
148
+ facetKey: winner.facetKey,
149
+ });
150
+ }
151
+ }
61
152
  function ensureRepairAuditTable(db) {
62
153
  db.exec(`
63
154
  CREATE TABLE IF NOT EXISTS memory_data_repair_runs (
@@ -119,9 +210,12 @@ function repairExplicitSemanticRecords(db, report, defaultProjectRoot, now) {
119
210
  `);
120
211
  const deleteEmbedding = db.prepare("DELETE FROM embeddings WHERE source_type = 'observation' AND source_id = ?");
121
212
  for (const row of rows) {
213
+ const durableNarrative = sanitizeDurableMemoryNarrative(row.narrative || row.title);
214
+ if (!durableNarrative)
215
+ continue;
122
216
  const enrichment = enrichExplicitMemory({
123
217
  projectRoot: row.project || defaultProjectRoot,
124
- content: row.narrative || row.title,
218
+ content: durableNarrative,
125
219
  sourceEventIds: parseStringArray(row.source_event_ids),
126
220
  });
127
221
  const mergedFacts = uniqueStrings([...parseStringArray(row.facts), ...enrichment.facts]);
@@ -165,23 +259,27 @@ function repairExplicitSemanticRecords(db, report, defaultProjectRoot, now) {
165
259
  report.indexes.vectorsRemoved += deleteEmbedding.run(row.id).changes;
166
260
  }
167
261
  }
168
- function mergeLegacyPeerDependencyPolicies(db, report, now) {
262
+ function mergeDuplicateExplicitMemories(db, report, now) {
169
263
  const rows = db.prepare(`
170
264
  SELECT * FROM observations
171
265
  WHERE source = 'explicit_intent'
172
266
  AND quality_status = 'accepted'
173
267
  AND resolution_state = 'current'
174
- AND lower(title || ' ' || narrative || ' ' || entities) LIKE '%--legacy-peer-deps%'
175
- ORDER BY project, semantic_key, COALESCE(explicit_accepted_at, timestamp) DESC, id DESC
268
+ AND semantic_key IS NOT NULL
269
+ AND facet_key IS NOT NULL
270
+ ORDER BY project, facet_key, semantic_key, COALESCE(explicit_accepted_at, timestamp) DESC, id DESC
176
271
  `).all();
177
272
  const groups = new Map();
178
273
  for (const row of rows) {
179
- const key = `${row.project}\0${row.semantic_key ?? row.facet_key ?? '--legacy-peer-deps'}`;
274
+ const key = `${row.project}\0${row.facet_key}\0${row.semantic_key}`;
180
275
  const group = groups.get(key) ?? [];
181
276
  group.push(row);
182
277
  groups.set(key, group);
183
278
  }
184
- for (const group of groups.values()) {
279
+ for (const unsortedGroup of groups.values()) {
280
+ const group = [...unsortedGroup].sort((left, right) => semanticWinnerScore(right) - semanticWinnerScore(left)
281
+ || (right.explicit_accepted_at ?? right.timestamp) - (left.explicit_accepted_at ?? left.timestamp)
282
+ || right.id.localeCompare(left.id));
185
283
  if (group.length < 2)
186
284
  continue;
187
285
  const [winner, ...duplicates] = group;
@@ -191,12 +289,9 @@ function mergeLegacyPeerDependencyPolicies(db, report, now) {
191
289
  const entities = uniqueStrings(group.flatMap(row => parseStringArray(row.entities)));
192
290
  const evidence = uniqueObjects(group.flatMap(row => parseObjectArray(row.evidence_details)));
193
291
  const reinforceCount = group.reduce((sum, row) => sum + row.reinforce_count, 0) + duplicates.length;
194
- db.prepare(`
195
- UPDATE observations
196
- SET source_event_ids = ?, facts = ?, concepts = ?, entities = ?, evidence_details = ?,
197
- reinforce_count = ?, last_reinforced_at = ?, updated_at = ?, dedup_key = semantic_key
198
- WHERE id = ?
199
- `).run(JSON.stringify(sourceEventIds), JSON.stringify(facts), JSON.stringify(concepts), JSON.stringify(entities), JSON.stringify(evidence), reinforceCount, now, now, winner.id);
292
+ const durableNarrative = sanitizeDurableMemoryNarrative(winner.narrative || winner.title);
293
+ const releaseDerivedKeys = db.prepare(`UPDATE observations SET dedup_key = NULL WHERE id IN (${group.map(() => '?').join(', ')})`);
294
+ releaseDerivedKeys.run(...group.map(row => row.id));
200
295
  const supersede = db.prepare(`
201
296
  UPDATE observations
202
297
  SET resolution_state = 'superseded', superseded_by_observation = ?, dedup_key = NULL,
@@ -208,17 +303,29 @@ function mergeLegacyPeerDependencyPolicies(db, report, now) {
208
303
  supersede.run(winner.id, JSON.stringify({
209
304
  ...priorDetails,
210
305
  memoryRepair: {
211
- reason: 'duplicate_legacy_peer_deps_policy',
306
+ reason: 'duplicate_semantic_memory',
212
307
  previousResolutionState: duplicate.resolution_state,
213
308
  winnerId: winner.id,
214
309
  },
215
310
  }), now, duplicate.id);
311
+ db.prepare(`
312
+ INSERT OR IGNORE INTO observation_relations
313
+ (source_observation_id, target_observation_id, type, created_at)
314
+ VALUES (?, ?, 'supersedes', ?)
315
+ `).run(winner.id, duplicate.id, now);
216
316
  }
317
+ db.prepare(`
318
+ UPDATE observations
319
+ SET narrative = ?, source_event_ids = ?, facts = ?, concepts = ?, entities = ?, evidence_details = ?,
320
+ reinforce_count = ?, last_reinforced_at = ?, updated_at = ?, dedup_key = semantic_key
321
+ WHERE id = ?
322
+ `).run(durableNarrative, JSON.stringify(sourceEventIds), JSON.stringify(facts), JSON.stringify(concepts), JSON.stringify(entities), JSON.stringify(evidence), reinforceCount, now, now, winner.id);
217
323
  report.duplicateExplicitMemoriesMerged.push({
218
324
  winnerId: winner.id,
219
325
  supersededIds: duplicates.map(row => row.id),
220
326
  semanticKey: winner.semantic_key,
221
- reason: 'duplicate_legacy_peer_deps_policy',
327
+ facetKey: winner.facet_key,
328
+ reason: 'duplicate_semantic_memory',
222
329
  });
223
330
  }
224
331
  db.exec(`
@@ -241,6 +348,99 @@ function mergeLegacyPeerDependencyPolicies(db, report, now) {
241
348
  );
242
349
  `);
243
350
  }
351
+ function mergeDuplicateExplicitTurnObservations(db, report, now) {
352
+ const rows = db.prepare(`
353
+ SELECT * FROM observations
354
+ WHERE source = 'explicit_intent'
355
+ AND quality_status = 'accepted'
356
+ AND resolution_state = 'current'
357
+ ORDER BY project, facet_key, timestamp DESC, id DESC
358
+ `).all();
359
+ const groups = new Map();
360
+ for (const row of rows) {
361
+ const sourceEvents = parseStringArray(row.source_event_ids).sort().join('\0');
362
+ if (!sourceEvents)
363
+ continue;
364
+ const key = `${row.project}\0${sourceEvents}`;
365
+ const group = groups.get(key) ?? [];
366
+ group.push(row);
367
+ groups.set(key, group);
368
+ }
369
+ for (const group of groups.values()) {
370
+ if (group.length < 2)
371
+ continue;
372
+ const winner = [...group].sort((left, right) => semanticWinnerScore(right) - semanticWinnerScore(left))[0];
373
+ const duplicates = group.filter(candidate => candidate.id !== winner.id
374
+ && textSimilarity(winner.narrative, candidate.narrative) >= 0.55);
375
+ if (duplicates.length === 0)
376
+ continue;
377
+ for (const duplicate of duplicates) {
378
+ db.prepare(`
379
+ UPDATE observations
380
+ SET resolution_state = 'superseded', superseded_by_observation = ?, dedup_key = NULL,
381
+ quality_details = ?, updated_at = ?
382
+ WHERE id = ? AND resolution_state = 'current'
383
+ `).run(winner.id, JSON.stringify({
384
+ ...parseObject(duplicate.quality_details),
385
+ memoryRepair: {
386
+ reason: 'duplicate_explicit_turn_observation',
387
+ winnerId: winner.id,
388
+ sourceEventIds: parseStringArray(duplicate.source_event_ids),
389
+ },
390
+ }), now, duplicate.id);
391
+ db.prepare(`
392
+ INSERT OR IGNORE INTO observation_relations
393
+ (source_observation_id, target_observation_id, type, created_at)
394
+ VALUES (?, ?, 'supersedes', ?)
395
+ `).run(winner.id, duplicate.id, now);
396
+ }
397
+ report.duplicateExplicitMemoriesMerged.push({
398
+ winnerId: winner.id,
399
+ supersededIds: duplicates.map(candidate => candidate.id),
400
+ semanticKey: winner.semantic_key ?? '',
401
+ facetKey: winner.facet_key ?? '',
402
+ reason: 'duplicate_semantic_memory',
403
+ });
404
+ }
405
+ }
406
+ function textSimilarity(left, right) {
407
+ const leftTerms = new Set([
408
+ ...cjkBigrams(left),
409
+ ...(left.match(/[a-z][a-z0-9_-]{2,}|\d+(?:\.\d+)*/giu) ?? []).map(value => value.toLocaleLowerCase('en-US')),
410
+ ]);
411
+ const rightTerms = new Set([
412
+ ...cjkBigrams(right),
413
+ ...(right.match(/[a-z][a-z0-9_-]{2,}|\d+(?:\.\d+)*/giu) ?? []).map(value => value.toLocaleLowerCase('en-US')),
414
+ ]);
415
+ if (leftTerms.size === 0 || rightTerms.size === 0)
416
+ return 0;
417
+ let overlap = 0;
418
+ for (const term of leftTerms)
419
+ if (rightTerms.has(term))
420
+ overlap += 1;
421
+ return overlap / Math.min(leftTerms.size, rightTerms.size);
422
+ }
423
+ function cjkBigrams(value) {
424
+ const result = [];
425
+ for (const run of value.normalize('NFKC').match(/[\p{Script=Han}]+/gu) ?? []) {
426
+ const characters = [...run];
427
+ for (let index = 0; index + 1 < characters.length; index += 1) {
428
+ result.push(`${characters[index]}${characters[index + 1]}`);
429
+ }
430
+ }
431
+ return result;
432
+ }
433
+ function semanticWinnerScore(row) {
434
+ let score = 0;
435
+ if (!isExecutionNarration(row.narrative))
436
+ score += 4;
437
+ if (sanitizeDurableMemoryNarrative(row.narrative) === row.narrative.normalize('NFKC').trim())
438
+ score += 3;
439
+ if (row.evidence_status === 'verified')
440
+ score += 2;
441
+ score += Math.min(2, parseStringArray(row.source_event_ids).length);
442
+ return score;
443
+ }
244
444
  function markLegacyUnknownAdoptions(db, report) {
245
445
  const rows = db.prepare(`
246
446
  SELECT id, source_type, source_id, outcome_reason
@@ -1 +1 @@
1
- {"version":3,"file":"v11-to-v12.js","sourceRoot":"","sources":["../../src/migrations/v11-to-v12.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"v11-to-v12.js","sourceRoot":"","sources":["../../src/migrations/v11-to-v12.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { MemoryLifecycleOperation, SemanticDecisionStatus } from '@devflow-tools/sdk';
2
+ import { type ExplicitMemoryEvidence } from './explicit-memory-enricher.js';
3
+ export interface ExistingSemanticMemory {
4
+ id: string;
5
+ semanticKey?: string | null;
6
+ facetKey?: string | null;
7
+ resolutionState?: string | null;
8
+ }
9
+ export interface CompiledMemoryFact {
10
+ enrichment: ExplicitMemoryEvidence;
11
+ operation: MemoryLifecycleOperation;
12
+ existingId?: string;
13
+ relationToPrimary?: 'related_to' | 'continues';
14
+ }
15
+ export interface SemanticMemoryCompilation {
16
+ status: SemanticDecisionStatus;
17
+ facts: CompiledMemoryFact[];
18
+ rejected: Array<{
19
+ narrative: string;
20
+ reason: string;
21
+ }>;
22
+ }
23
+ export declare function compileSemanticMemory(input: {
24
+ projectRoot: string;
25
+ narrative: string;
26
+ sourceEventIds: string[];
27
+ existing: ExistingSemanticMemory[];
28
+ }): SemanticMemoryCompilation;
29
+ //# sourceMappingURL=semantic-memory-compiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-memory-compiler.d.ts","sourceRoot":"","sources":["../src/semantic-memory-compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EAAwB,KAAK,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAIlG,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,sBAAsB,CAAC;IACnC,SAAS,EAAE,wBAAwB,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;CAChD;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,sBAAsB,CAAC;IAC/B,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,sBAAsB,EAAE,CAAC;CACpC,GAAG,yBAAyB,CAiC5B"}
@@ -0,0 +1,149 @@
1
+ import { enrichExplicitMemory } from './explicit-memory-enricher.js';
2
+ import { extractTechnicalEntities, normalizeSemanticMemory } from './semantic-memory.js';
3
+ import { sanitizeDurableMemoryNarrative } from './durable-memory-text.js';
4
+ export function compileSemanticMemory(input) {
5
+ const narrative = sanitizeDurableMemoryNarrative(input.narrative).slice(0, 4_000);
6
+ if (!narrative)
7
+ return { status: 'semantic_invalid', facts: [], rejected: [{ narrative, reason: 'empty_narrative' }] };
8
+ const facts = [];
9
+ const rejected = [];
10
+ for (const [index, candidate] of deriveFactNarratives(narrative).entries()) {
11
+ try {
12
+ const base = enrichExplicitMemory({
13
+ projectRoot: input.projectRoot,
14
+ content: candidate.narrative,
15
+ sourceEventIds: input.sourceEventIds,
16
+ });
17
+ const enrichment = candidate.semantic
18
+ ? applySemanticOverride(base, candidate.semantic, input.projectRoot)
19
+ : base;
20
+ const exact = input.existing.find(item => item.resolutionState !== 'superseded' && item.semanticKey === enrichment.semanticKey);
21
+ const facet = input.existing.find(item => item.resolutionState !== 'superseded' && item.facetKey === enrichment.facetKey);
22
+ facts.push({
23
+ enrichment,
24
+ operation: exact ? 'reinforce' : facet ? 'supersede' : index === 0 ? 'add' : 'link',
25
+ ...(exact || facet ? { existingId: (exact ?? facet).id } : {}),
26
+ ...(index > 0 ? { relationToPrimary: candidate.relation ?? 'related_to' } : {}),
27
+ });
28
+ }
29
+ catch (error) {
30
+ rejected.push({ narrative: candidate.narrative, reason: error instanceof Error ? error.message : String(error) });
31
+ }
32
+ }
33
+ if (facts.length === 0) {
34
+ return { status: rejected.length > 0 ? 'semantic_invalid' : 'semantic_empty', facts, rejected };
35
+ }
36
+ return { status: rejected.length > 0 ? 'semantic_rejected' : 'semantic_ready', facts, rejected };
37
+ }
38
+ function deriveFactNarratives(narrative) {
39
+ const candidates = [];
40
+ const clauses = narrative.split(/[。!?!?;;\n]+/u)
41
+ .map(value => stripDeclaredFactPrefix(value.trim()))
42
+ .filter(value => value.length >= 6 && hasDurableModality(value));
43
+ const declaredCount = extractDeclaredFactCount(narrative);
44
+ const selectedClauses = declaredCount === null ? clauses : clauses.slice(0, declaredCount);
45
+ if (selectedClauses.length > 1) {
46
+ candidates.push(...selectedClauses.map((value, index) => ({
47
+ narrative: value,
48
+ ...(index > 0 ? { relation: 'continues' } : {}),
49
+ })));
50
+ }
51
+ else {
52
+ candidates.push({ narrative });
53
+ }
54
+ const entities = extractTechnicalEntities(narrative);
55
+ const used = extractUsedTarget(narrative) ?? entities[0];
56
+ const wrapper = extractWrapperTarget(narrative);
57
+ if (used && wrapper && normalize(used) !== normalize(wrapper)) {
58
+ candidates.push({
59
+ narrative: `${wrapper} wraps access to ${used}.`,
60
+ relation: 'related_to',
61
+ semantic: { subject: wrapper, value: used, entities: [wrapper, used] },
62
+ });
63
+ }
64
+ if (selectedClauses.length <= 1) {
65
+ for (const clause of clauses) {
66
+ if (normalize(clause) === normalize(narrative))
67
+ continue;
68
+ candidates.push({ narrative: clause, relation: 'continues' });
69
+ }
70
+ }
71
+ const seen = new Set();
72
+ return candidates.filter(candidate => {
73
+ const key = normalize(candidate.narrative);
74
+ if (!key || seen.has(key))
75
+ return false;
76
+ seen.add(key);
77
+ return true;
78
+ }).slice(0, 8);
79
+ }
80
+ function applySemanticOverride(enrichment, semantic, projectRoot) {
81
+ const normalized = normalizeSemanticMemory({
82
+ project: projectRoot,
83
+ type: enrichment.type,
84
+ title: enrichment.title,
85
+ narrative: enrichment.narrative,
86
+ subject: semantic.subject,
87
+ predicate: 'use',
88
+ value: semantic.value,
89
+ entities: semantic.entities,
90
+ polarity: 'positive',
91
+ });
92
+ return {
93
+ ...enrichment,
94
+ facts: [...new Set([...enrichment.facts, `${semantic.subject} wraps access to ${semantic.value}.`])],
95
+ concepts: [...new Set([...enrichment.concepts, ...semantic.entities, 'architecture'])],
96
+ ...normalized,
97
+ facet: 'architecture',
98
+ };
99
+ }
100
+ function extractUsedTarget(value) {
101
+ return value.match(/\b(?:use|using|adopt|choose)\s+([@A-Za-z_$][A-Za-z0-9_.$/@-]*)/iu)?.[1]
102
+ ?? value.match(/(?:使用|采用|选择)\s*([@A-Za-z_$][A-Za-z0-9_.$/@-]*)/u)?.[1];
103
+ }
104
+ function extractWrapperTarget(value) {
105
+ return value.match(/\b(?:through|via|wrapped\s+(?:in|by)|behind)\s+(?:a\s+)?(?:custom\s+)?([A-Za-z_$][A-Za-z0-9_$.-]*)/iu)?.[1]
106
+ ?? value.match(/(?:封装(?:在|为|到)?|通过)\s*(?:自定义)?\s*([A-Za-z_$][A-Za-z0-9_$.-]*|[\p{L}\p{N}_-]+钩子)/u)?.[1];
107
+ }
108
+ function hasDurableModality(value) {
109
+ return /\b(?:use|prefer|require|must|avoid|never|always|decided?|unless)\b|\bonly\s+(?:if|when)\b|使用|采用|偏好|必须|需要|避免|统一|一律|决定|除非|仅当|只有.{0,120}才(?:能)?/iu.test(value);
110
+ }
111
+ function extractDeclaredFactCount(value) {
112
+ const chinese = value.match(/^(?:以下|这些|这)?\s*([一二两三四五六七八九十\d]+)\s*条(?:项目)?(?:约定|规则|偏好|事实|决定|记忆)/u)?.[1];
113
+ const english = value.match(/^(?:the\s+following\s+|these\s+)?(one|two|three|four|five|six|seven|eight|\d+)\s+(?:project\s+)?(?:conventions?|rules?|preferences?|facts?|decisions?|memories)\b/iu)?.[1];
114
+ const count = chinese ? parseChineseCount(chinese) : english ? parseEnglishCount(english) : null;
115
+ return count !== null && count > 0 ? Math.min(8, count) : null;
116
+ }
117
+ function stripDeclaredFactPrefix(value) {
118
+ return value
119
+ .replace(/^(?:以下|这些|这)?\s*(?:[一二两三四五六七八九十\d]+)\s*条(?:项目)?(?:约定|规则|偏好|事实|决定|记忆)\s*[::,,-]?\s*/u, '')
120
+ .replace(/^(?:the\s+following\s+|these\s+)?(?:one|two|three|four|five|six|seven|eight|\d+)\s+(?:project\s+)?(?:conventions?|rules?|preferences?|facts?|decisions?|memories)\s*[::,,-]?\s*/iu, '')
121
+ .trim();
122
+ }
123
+ function parseEnglishCount(value) {
124
+ const named = {
125
+ one: 1, two: 2, three: 3, four: 4, five: 5, six: 6, seven: 7, eight: 8,
126
+ };
127
+ return /^\d+$/u.test(value) ? Number(value) : named[value.toLocaleLowerCase('en-US')] ?? null;
128
+ }
129
+ function parseChineseCount(value) {
130
+ if (/^\d+$/u.test(value))
131
+ return Number(value);
132
+ const digits = {
133
+ 一: 1, 二: 2, 两: 2, 三: 3, 四: 4, 五: 5, 六: 6, 七: 7, 八: 8, 九: 9,
134
+ };
135
+ if (value === '十')
136
+ return 10;
137
+ if (value.startsWith('十'))
138
+ return 10 + (digits[value[1]] ?? 0);
139
+ if (value.endsWith('十'))
140
+ return (digits[value[0]] ?? 0) * 10;
141
+ const parts = value.split('十');
142
+ if (parts.length === 2)
143
+ return (digits[parts[0]] ?? 0) * 10 + (digits[parts[1]] ?? 0);
144
+ return digits[value] ?? null;
145
+ }
146
+ function normalize(value) {
147
+ return value.normalize('NFKC').trim().replace(/[。!?!?;;,.,]+$/gu, '').trim().toLocaleLowerCase('en-US');
148
+ }
149
+ //# sourceMappingURL=semantic-memory-compiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-memory-compiler.js","sourceRoot":"","sources":["../src/semantic-memory-compiler.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,8 @@ export interface ParsedObservation extends SemanticMemoryFields {
15
15
  importance?: number;
16
16
  confidence?: number;
17
17
  sourceEventIds?: string[];
18
+ evidenceSpans?: string[];
19
+ disposition?: 'durable_memory' | 'turn_constraint';
18
20
  }
19
21
  export declare function estimatePromptTokens(text: string): number;
20
22
  //# sourceMappingURL=session-summarizer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-summarizer.d.ts","sourceRoot":"","sources":["../src/session-summarizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAGhD,eAAO,MAAM,cAAc,mgGAoCmL,CAAC;AAE/M,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,UAAU,EAAE,EACpB,WAAW,SAA8B,GACxC,MAAM,CAyBR;AAqBD,MAAM,WAAW,iBAAkB,SAAQ,oBAAoB;IAC7D,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD"}
1
+ {"version":3,"file":"session-summarizer.d.ts","sourceRoot":"","sources":["../src/session-summarizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAGhD,eAAO,MAAM,cAAc,mgGAoCmL,CAAC;AAE/M,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,UAAU,EAAE,EACpB,WAAW,SAA8B,GACxC,MAAM,CAyBR;AAqBD,MAAM,WAAW,iBAAkB,SAAQ,oBAAoB;IAC7D,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,CAAC;CACpD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD"}