@devflow-tools/memory-engine 0.16.17 → 0.16.19

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 (42) hide show
  1. package/dist/explicit-memory-enricher.d.ts +9 -0
  2. package/dist/explicit-memory-enricher.d.ts.map +1 -1
  3. package/dist/explicit-memory-enricher.js +25 -5
  4. package/dist/explicit-memory-enricher.js.map +1 -1
  5. package/dist/hybrid-search.d.ts.map +1 -1
  6. package/dist/hybrid-search.js +20 -1
  7. package/dist/hybrid-search.js.map +1 -1
  8. package/dist/index.d.ts +3 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +1 -0
  11. package/dist/index.js.map +1 -1
  12. package/dist/memory-engine.d.ts.map +1 -1
  13. package/dist/memory-engine.js +6 -0
  14. package/dist/memory-engine.js.map +1 -1
  15. package/dist/memory-gate.d.ts.map +1 -1
  16. package/dist/memory-gate.js +54 -31
  17. package/dist/memory-gate.js.map +1 -1
  18. package/dist/memory-relevance.js +2 -2
  19. package/dist/memory-store.d.ts +40 -0
  20. package/dist/memory-store.d.ts.map +1 -1
  21. package/dist/memory-store.js +329 -9
  22. package/dist/memory-store.js.map +1 -1
  23. package/dist/migrations/v9-to-v10.d.ts +3 -0
  24. package/dist/migrations/v9-to-v10.d.ts.map +1 -0
  25. package/dist/migrations/v9-to-v10.js +45 -0
  26. package/dist/migrations/v9-to-v10.js.map +1 -0
  27. package/dist/migrations/v9-to-v10.test.d.ts +2 -0
  28. package/dist/migrations/v9-to-v10.test.d.ts.map +1 -0
  29. package/dist/migrations/v9-to-v10.test.js +40 -0
  30. package/dist/migrations/v9-to-v10.test.js.map +1 -0
  31. package/dist/semantic-memory.d.ts +38 -0
  32. package/dist/semantic-memory.d.ts.map +1 -0
  33. package/dist/semantic-memory.js +205 -0
  34. package/dist/semantic-memory.js.map +1 -0
  35. package/dist/semantic-memory.test.d.ts +2 -0
  36. package/dist/semantic-memory.test.d.ts.map +1 -0
  37. package/dist/semantic-memory.test.js +39 -0
  38. package/dist/semantic-memory.test.js.map +1 -0
  39. package/dist/session-summarizer.d.ts +2 -1
  40. package/dist/session-summarizer.d.ts.map +1 -1
  41. package/dist/session-summarizer.js.map +1 -1
  42. package/package.json +3 -3
@@ -0,0 +1,205 @@
1
+ import { createHash } from 'node:crypto';
2
+ const MAX_FIELD_LENGTH = 160;
3
+ const MAX_GENERIC_TARGET_LENGTH = 120;
4
+ const MAX_ENTITY_LENGTH = 120;
5
+ const PACKAGE_MANAGERS = new Set(['npm', 'pnpm', 'yarn', 'bun']);
6
+ const TEST_RUNNERS = new Set(['vitest', 'jest', 'mocha']);
7
+ const BUILD_TOOLS = new Set(['vite', 'webpack', 'rspack', 'rsbuild', 'esbuild', 'rollup']);
8
+ const GENERIC_IDENTIFIERS = new Set([
9
+ 'always', 'never', 'project', 'repository', 'codebase', 'dependency', 'dependencies',
10
+ 'install', 'update', 'using', 'default', 'config', 'configuration', 'memory', 'remember',
11
+ ]);
12
+ const NEGATIVE_INTENT = /(?:\b(?:do\s+not|don't|dont|never|avoid)\b|(?:不要再|不要|不再|避免|不使用|禁用))/iu;
13
+ const REQUIRE_INTENT = /(?:\b(?:must|required?|need(?:s|ed)?\s+to)\b|必须|需要)/iu;
14
+ const PREFERENCE_INTENT = /(?:\bprefer\b|偏好|更喜欢|优先)/iu;
15
+ const VERSION_INTENT = /(?:\bversion\b|\bv\s*\d|版本|\b(?:react|vue|angular|node(?:\.js)?|typescript)\s*\d)/iu;
16
+ const USE_INTENT = /(?:\b(?:use|using|adopt|choose|standardize\s+on)\b|使用|采用|选择)/iu;
17
+ const DEPENDENCY_CONTEXT = /(?:\b(?:dependency|dependencies|package|packages)\b|依赖|安装|更新)/iu;
18
+ const API_CONTEXT = /(?:\bapi\b|data\s*fetch|request|接口|请求|数据获取)/iu;
19
+ const ANIMATION_CONTEXT = /(?:\banimation\b|动画)/iu;
20
+ const STYLE_CONTEXT = /(?:\b(?:style|styling|css)\b|样式)/iu;
21
+ export function normalizeSemanticMemory(input) {
22
+ const sourceText = [input.title, input.narrative].filter(Boolean).join('\n');
23
+ const entities = mergeSemanticEntities(input.entities ?? [], extractTechnicalEntities(sourceText));
24
+ const inferred = inferSemanticFacet(input.narrative || input.title, entities);
25
+ const subject = normalizeField(input.subject) || inferred.subject || primaryEntity(entities) || normalizeField(input.title);
26
+ const predicate = normalizePredicate(input.predicate) || inferred.predicate || 'state';
27
+ const value = normalizeField(input.value) || inferred.value || primaryEntity(entities) || subject;
28
+ const polarity = input.polarity === 'positive' || input.polarity === 'negative' || input.polarity === 'neutral'
29
+ ? input.polarity
30
+ : inferred.polarity;
31
+ const temporal = normalizeTemporal(input.temporal);
32
+ const facetMaterial = [input.project, input.type, subject, predicate]
33
+ .map(normalizeKeyPart)
34
+ .join('\0');
35
+ const semanticMaterial = [facetMaterial, polarity, value].map(normalizeKeyPart).join('\0');
36
+ return {
37
+ subject,
38
+ predicate,
39
+ value,
40
+ polarity,
41
+ entities,
42
+ temporal,
43
+ semanticKey: hashKey('semantic', semanticMaterial),
44
+ facetKey: hashKey('facet', facetMaterial),
45
+ };
46
+ }
47
+ export function extractTechnicalEntities(text) {
48
+ const normalized = text.normalize('NFKC');
49
+ const candidates = [];
50
+ const patterns = [
51
+ { expression: /@[a-z0-9][a-z0-9._-]*\/[a-z0-9][a-z0-9._-]*/giu, priority: 0 },
52
+ { expression: /--[a-z0-9][a-z0-9-]*/giu, priority: 0 },
53
+ { expression: /\b[a-z_$][\w$-]*(?:\.[a-z_$][\w$-]*)+\b/giu, priority: 1 },
54
+ { expression: /\b[a-z][a-z0-9]*(?:-[a-z0-9]+)+\b/giu, priority: 1 },
55
+ { expression: /\b[A-Za-z][a-z0-9]+(?:[A-Z][A-Za-z0-9]*)+\b/gu, priority: 1 },
56
+ { expression: /\b[A-Za-z_$][A-Za-z0-9$]*(?:_[A-Za-z0-9$]+)+\b/gu, priority: 1 },
57
+ { expression: /\b(?:react|vue|angular|node(?:\.js)?|typescript)\s*v?\d+(?:\.\d+){0,2}\b/giu, priority: 1 },
58
+ { expression: /(?:^|[\s`'"(])((?:src|app|apps|packages|plugins|lib|test|tests)\/[A-Za-z0-9_./@-]+)/gmu, priority: 2 },
59
+ { expression: /\b(?:npm|pnpm|yarn|bun|npx|vitest|jest|mocha|vite|webpack|rspack|rsbuild|esbuild|rollup|react|vue|angular|typescript|tailwindcss?|shadcn(?:\/ui)?|motion)\b/giu, priority: 3 },
60
+ ];
61
+ for (const { expression, priority } of patterns) {
62
+ for (const match of normalized.matchAll(expression)) {
63
+ const value = cleanEntity(match[1] ?? match[0]);
64
+ if (!value || GENERIC_IDENTIFIERS.has(value.toLocaleLowerCase('en-US')))
65
+ continue;
66
+ candidates.push({ value, index: match.index ?? 0, priority });
67
+ }
68
+ }
69
+ candidates.sort((left, right) => left.index - right.index || left.priority - right.priority || right.value.length - left.value.length);
70
+ return mergeSemanticEntities(candidates.map(candidate => candidate.value));
71
+ }
72
+ export function mergeSemanticEntities(...groups) {
73
+ const accepted = [];
74
+ const normalized = new Set();
75
+ for (const raw of groups.flat()) {
76
+ const entity = cleanEntity(raw);
77
+ const key = normalizeEntityKey(entity);
78
+ if (!entity || !key || normalized.has(key))
79
+ continue;
80
+ const lessSpecificIndex = accepted.findIndex(existing => {
81
+ const existingKey = normalizeEntityKey(existing);
82
+ return existingKey !== key && isIdentifierPart(existingKey, key);
83
+ });
84
+ if (lessSpecificIndex >= 0) {
85
+ normalized.delete(normalizeEntityKey(accepted[lessSpecificIndex]));
86
+ accepted.splice(lessSpecificIndex, 1, entity);
87
+ normalized.add(key);
88
+ continue;
89
+ }
90
+ if (accepted.some(existing => isIdentifierPart(key, normalizeEntityKey(existing))))
91
+ continue;
92
+ accepted.push(entity);
93
+ normalized.add(key);
94
+ }
95
+ return accepted.slice(0, 32);
96
+ }
97
+ export function normalizeEntityKey(value) {
98
+ return value.normalize('NFKC').trim().toLocaleLowerCase('en-US').replace(/\s+/gu, ' ');
99
+ }
100
+ function inferSemanticFacet(text, entities) {
101
+ const polarity = NEGATIVE_INTENT.test(text) ? 'negative' : 'positive';
102
+ const entity = primaryEntity(entities);
103
+ const entityKey = normalizeEntityKey(entity);
104
+ if (PACKAGE_MANAGERS.has(entityKey)) {
105
+ return { subject: 'package manager', predicate: 'use', value: entity, polarity };
106
+ }
107
+ if (TEST_RUNNERS.has(entityKey)) {
108
+ return { subject: 'test runner', predicate: 'use', value: entity, polarity };
109
+ }
110
+ if (BUILD_TOOLS.has(entityKey)) {
111
+ return { subject: 'build tool', predicate: 'use', value: entity, polarity };
112
+ }
113
+ if (entity.startsWith('--') && DEPENDENCY_CONTEXT.test(text)) {
114
+ return { subject: 'dependency installation', predicate: 'require', value: entity, polarity };
115
+ }
116
+ const version = text.match(/\b(react|vue|angular|node(?:\.js)?|typescript)\s*v?(\d+(?:\.\d+){0,2})\b/iu);
117
+ if (version) {
118
+ return {
119
+ subject: `${version[1].toLocaleLowerCase('en-US')} version`,
120
+ predicate: 'version',
121
+ value: version[2],
122
+ polarity,
123
+ };
124
+ }
125
+ const genericTarget = inferGenericTarget(text);
126
+ const subject = API_CONTEXT.test(text)
127
+ ? 'API data fetching'
128
+ : ANIMATION_CONTEXT.test(text)
129
+ ? 'animation'
130
+ : STYLE_CONTEXT.test(text)
131
+ ? 'styling'
132
+ : entity || genericTarget || normalizeField(text.split(/(?<!\d)\.(?!\d)|[。!!??\n]/u)[0] ?? text);
133
+ const predicate = VERSION_INTENT.test(text)
134
+ ? 'version'
135
+ : PREFERENCE_INTENT.test(text)
136
+ ? 'prefer'
137
+ : USE_INTENT.test(text) || polarity === 'negative'
138
+ ? 'use'
139
+ : REQUIRE_INTENT.test(text)
140
+ ? 'require'
141
+ : 'state';
142
+ return { subject, predicate, value: entity || genericTarget || subject, polarity };
143
+ }
144
+ function inferGenericTarget(text) {
145
+ const english = text.match(/\b(?:(?:do\s+not|don't|dont|never)\s+)?(?:use|prefer|require|avoid)\s+([^.!?\n]+)/iu)?.[1];
146
+ const chinese = text.match(/(?:(?:统一|一律|不要再|不要|不再|不)?(?:使用|采用|选择|避免使用))\s*([^。!!??\n]+)/u)?.[1];
147
+ const target = normalizeField(english ?? chinese)
148
+ .replace(/\s+(?:in|for)\s+(?:this|the)\s+(?:project|repository|repo)$/iu, '')
149
+ .replace(/(?:在)?(?:这个|该|本)?项目中?$/u, '')
150
+ .trim();
151
+ return target.slice(0, MAX_GENERIC_TARGET_LENGTH);
152
+ }
153
+ function primaryEntity(entities) {
154
+ return entities.find(entity => entity.startsWith('--'))
155
+ ?? entities.find(entity => entity.startsWith('@'))
156
+ ?? entities.find(entity => entity.includes('-') || entity.includes('/') || entity.includes('.'))
157
+ ?? entities[0]
158
+ ?? '';
159
+ }
160
+ function normalizePredicate(value) {
161
+ const normalized = normalizeField(value).toLocaleLowerCase('en-US');
162
+ if (['uses', 'using', 'adopt', 'choose', 'avoid', 'avoids'].includes(normalized))
163
+ return 'use';
164
+ if (['requires', 'required', 'must'].includes(normalized))
165
+ return 'require';
166
+ if (['prefers', 'preference'].includes(normalized))
167
+ return 'prefer';
168
+ return normalized;
169
+ }
170
+ function normalizeField(value) {
171
+ return (value ?? '').normalize('NFKC').trim().replace(/\s+/gu, ' ').slice(0, MAX_FIELD_LENGTH);
172
+ }
173
+ function normalizeTemporal(value) {
174
+ if (!value || typeof value !== 'object')
175
+ return null;
176
+ const temporal = {};
177
+ for (const key of ['observedAt', 'validFrom', 'validUntil']) {
178
+ if (typeof value[key] === 'string' && value[key].trim())
179
+ temporal[key] = value[key].trim().slice(0, 64);
180
+ }
181
+ if (value.status === 'current' || value.status === 'temporary' || value.status === 'historical') {
182
+ temporal.status = value.status;
183
+ }
184
+ return Object.keys(temporal).length > 0 ? temporal : null;
185
+ }
186
+ function cleanEntity(value) {
187
+ return value.normalize('NFKC').trim().replace(/^[`'"(]+|[`'"),.;:。;,]+$/gu, '').slice(0, MAX_ENTITY_LENGTH);
188
+ }
189
+ function isIdentifierPart(shorter, longer) {
190
+ if (!shorter || shorter.length >= longer.length)
191
+ return false;
192
+ if (longer === `--${shorter}`)
193
+ return true;
194
+ if (/[-./:@]/u.test(shorter))
195
+ return false;
196
+ const escaped = shorter.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
197
+ return new RegExp(`(^|[-./:@])${escaped}(?=$|[-./:@])`, 'u').test(longer);
198
+ }
199
+ function normalizeKeyPart(value) {
200
+ return value.normalize('NFKC').trim().toLocaleLowerCase('en-US').replace(/\s+/gu, ' ');
201
+ }
202
+ function hashKey(namespace, value) {
203
+ return createHash('sha256').update(`${namespace}\0${value}`).digest('hex');
204
+ }
205
+ //# sourceMappingURL=semantic-memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-memory.js","sourceRoot":"","sources":["../src/semantic-memory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=semantic-memory.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-memory.test.d.ts","sourceRoot":"","sources":["../src/semantic-memory.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { extractTechnicalEntities, mergeSemanticEntities, normalizeSemanticMemory, } from './semantic-memory.js';
3
+ describe('semantic memory normalization', () => {
4
+ it('preserves exact technical identifiers instead of collapsing to a parent framework', () => {
5
+ expect(extractTechnicalEntities('Use react-query and @tanstack/react-query; install with --legacy-peer-deps.')).toEqual([
6
+ 'react-query',
7
+ '@tanstack/react-query',
8
+ '--legacy-peer-deps',
9
+ ]);
10
+ expect(mergeSemanticEntities(['react'], ['react-query'])).toEqual(['react-query']);
11
+ expect(extractTechnicalEntities('VideoPlayer reads current_time from playerRef.current.'))
12
+ .toEqual(expect.arrayContaining(['VideoPlayer', 'current_time', 'playerRef.current']));
13
+ });
14
+ it('gives equivalent Chinese and English conventions the same semantic identity', () => {
15
+ const base = { project: '/project', type: 'project_convention', title: 'API convention' };
16
+ const english = normalizeSemanticMemory({ ...base, narrative: 'Use react-query as the API solution.' });
17
+ const chinese = normalizeSemanticMemory({ ...base, narrative: '在项目中使用 react-query 作为 API 方案。' });
18
+ expect(english).toMatchObject({
19
+ subject: 'API data fetching', predicate: 'use', value: 'react-query', polarity: 'positive',
20
+ });
21
+ expect(chinese.semanticKey).toBe(english.semanticKey);
22
+ expect(chinese.facetKey).toBe(english.facetKey);
23
+ });
24
+ it('normalizes dependency install flags into a stable requirement facet', () => {
25
+ const semantic = normalizeSemanticMemory({
26
+ project: '/project',
27
+ type: 'project_convention',
28
+ title: 'Dependency installation',
29
+ narrative: '安装或更新依赖时统一使用 --legacy-peer-deps。',
30
+ });
31
+ expect(semantic).toMatchObject({
32
+ subject: 'dependency installation',
33
+ predicate: 'require',
34
+ value: '--legacy-peer-deps',
35
+ entities: ['--legacy-peer-deps'],
36
+ });
37
+ });
38
+ });
39
+ //# sourceMappingURL=semantic-memory.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-memory.test.js","sourceRoot":"","sources":["../src/semantic-memory.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAE9B,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,EAAE,CAAC,mFAAmF,EAAE,GAAG,EAAE;QAC3F,MAAM,CAAC,wBAAwB,CAC7B,6EAA6E,CAC9E,CAAC,CAAC,OAAO,CAAC;YACT,aAAa;YACb,uBAAuB;YACvB,oBAAoB;SACrB,CAAC,CAAC;QACH,MAAM,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QACnF,MAAM,CAAC,wBAAwB,CAAC,wDAAwD,CAAC,CAAC;aACvF,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,aAAa,EAAE,cAAc,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE,GAAG,EAAE;QACrF,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,oBAA6B,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;QACnG,MAAM,OAAO,GAAG,uBAAuB,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,sCAAsC,EAAE,CAAC,CAAC;QACxG,MAAM,OAAO,GAAG,uBAAuB,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,+BAA+B,EAAE,CAAC,CAAC;QAEjG,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC;YAC5B,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU;SAC3F,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,QAAQ,GAAG,uBAAuB,CAAC;YACvC,OAAO,EAAE,UAAU;YACnB,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,yBAAyB;YAChC,SAAS,EAAE,kCAAkC;SAC9C,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC;YAC7B,OAAO,EAAE,yBAAyB;YAClC,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,oBAAoB;YAC3B,QAAQ,EAAE,CAAC,oBAAoB,CAAC;SACjC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import { type EventGroup } from './event-grouper.js';
2
2
  import { type ObservationType } from './observation-types.js';
3
+ import type { SemanticMemoryFields } from './semantic-memory.js';
3
4
  export { OBSERVATION_TYPES } from './observation-types.js';
4
5
  export type { ObservationType } from './observation-types.js';
5
6
  export declare const DEFAULT_PROMPT_TOKEN_BUDGET = 4000;
6
7
  export declare const SUMMARY_SYSTEM = "You are a session summarizer for DevFlow, a developer toolchain AI.\nYour task is to analyze groups of tool-call events from a coding session and extract structured observations.\n\nFor each group, produce ONE observation (omit groups with no meaningful insight).\n\nOutput a JSON array of observations. Each observation:\n- type: exactly one of \"project_convention\" | \"error_resolution\" | \"config_discovery\" | \"user_preference\" | \"decision_made\" | \"file_relationship\" | \"api_shape\"\n- title: short summary (max 80 chars, in English)\n- narrative: 1-2 sentence description of what happened and why it matters\n- facts: array of strings - specific factual statements\n- concepts: array of 1-5 key concepts/topics (lowercase, single words or short phrases)\n- importance: 1-10 (10 = critical fix or key decision, 5 = notable, 1 = trivial)\n- confidence: 0.0-1.0\n\nRules:\n- Focus on WHAT WAS LEARNED, not what was executed\n- Every claim must be directly supported by at least one source event in the supplied batch\n- Ignore hook/daemon fallback chatter, retries, acknowledgements, and other operational noise\n- Do not turn generic success messages into observations\n- Errors + their fixes = high signal (importance 7-10)\n- Config discoveries = medium signal (importance 5-7)\n- Routine operations (ls, cat, cd) = skip\n- Classify only durable, reusable project knowledge. Use project_convention for repository rules,\n user_preference for explicit user choices, file_relationship for meaningful file dependencies,\n and api_shape for interfaces, schemas, or call contracts.\n- If a group cannot be assigned to exactly one of the seven types, omit it. If the whole batch\n has no classifiable project knowledge, return [] rather than a session recap or tool log.\n- Translate non-English content to English\n- Return ONLY the JSON array, no markdown, no explanation\n\nGOOD example:\n[{\"type\":\"project_convention\",\"title\":\"Tests run through the workspace Vitest script\",\"narrative\":\"The repository defines its test entry point as npm test in the package workspace.\",\"facts\":[\"packages/memory-engine/package.json defines test as vitest run\",\"Tests should be invoked through the workspace script\"],\"concepts\":[\"vitest\",\"npm\",\"workspace\"],\"importance\":7,\"confidence\":0.95}]\n\nBAD examples (do not emit these):\n[{\"type\":\"session_summary\",\"title\":\"Worked on the memory engine\",\"narrative\":\"The developer inspected files, ran commands, and made changes.\",\"facts\":[\"Several tools were used\"],\"concepts\":[\"session\"],\"importance\":3,\"confidence\":0.9}]\n[{\"type\":\"user_insight\",\"title\":\"The session had an error\",\"narrative\":\"An error happened and was investigated.\",\"facts\":[\"A command failed\"],\"concepts\":[\"error\"],\"importance\":4,\"confidence\":0.8}]\n[{\"type\":\"file_operation\",\"title\":\"Read and edited files\",\"narrative\":\"The developer read files and then edited them.\",\"facts\":[\"Files were changed\"],\"concepts\":[\"files\"],\"importance\":2,\"confidence\":0.99}]";
7
8
  export declare function buildSummaryPrompt(groups: EventGroup[], tokenBudget?: number): string;
8
- export interface ParsedObservation {
9
+ export interface ParsedObservation extends SemanticMemoryFields {
9
10
  type: ObservationType;
10
11
  title: string;
11
12
  narrative?: string;
@@ -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,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,iBAAiB;IAChC,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;CACrB;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;CACrB;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-summarizer.js","sourceRoot":"","sources":["../src/session-summarizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-summarizer.js","sourceRoot":"","sources":["../src/session-summarizer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devflow-tools/memory-engine",
3
- "version": "0.16.17",
3
+ "version": "0.16.19",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -17,14 +17,14 @@
17
17
  "clean": "rm -rf dist"
18
18
  },
19
19
  "dependencies": {
20
- "@devflow-tools/sdk": "0.16.17",
20
+ "@devflow-tools/sdk": "0.16.19",
21
21
  "@xenova/transformers": "^2.17.0",
22
22
  "better-sqlite3": "^12.0.0",
23
23
  "sqlite-vec": "^0.1.9",
24
24
  "ulidx": "^2.4.1"
25
25
  },
26
26
  "devDependencies": {
27
- "@devflow-tools/knowledge-engine": "0.16.17",
27
+ "@devflow-tools/knowledge-engine": "0.16.19",
28
28
  "typescript": "^5.5.0",
29
29
  "vitest": "^2.0.0"
30
30
  },