stellar-memory 0.8.3 → 1.0.0

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 (144) hide show
  1. package/dist/api/routes/memories.js +5 -4
  2. package/dist/api/routes/memories.js.map +1 -1
  3. package/dist/api/websocket.d.ts +0 -6
  4. package/dist/api/websocket.js +1 -1
  5. package/dist/api/websocket.js.map +1 -1
  6. package/dist/engine/analytics.js +4 -33
  7. package/dist/engine/analytics.js.map +1 -1
  8. package/dist/engine/conflict.js +2 -4
  9. package/dist/engine/conflict.js.map +1 -1
  10. package/dist/engine/consolidation.js +3 -21
  11. package/dist/engine/consolidation.js.map +1 -1
  12. package/dist/engine/constellation.js +6 -14
  13. package/dist/engine/constellation.js.map +1 -1
  14. package/dist/engine/corona.js +3 -1
  15. package/dist/engine/corona.js.map +1 -1
  16. package/dist/engine/multiproject.js +6 -73
  17. package/dist/engine/multiproject.js.map +1 -1
  18. package/dist/engine/observation.d.ts +1 -42
  19. package/dist/engine/observation.js +4 -23
  20. package/dist/engine/observation.js.map +1 -1
  21. package/dist/engine/orbit.js +50 -11
  22. package/dist/engine/orbit.js.map +1 -1
  23. package/dist/engine/planet.d.ts +3 -0
  24. package/dist/engine/planet.js +16 -11
  25. package/dist/engine/planet.js.map +1 -1
  26. package/dist/engine/procedural.d.ts +0 -13
  27. package/dist/engine/procedural.js +2 -47
  28. package/dist/engine/procedural.js.map +1 -1
  29. package/dist/engine/services/commit-service.d.ts +29 -0
  30. package/dist/engine/services/commit-service.js +35 -0
  31. package/dist/engine/services/commit-service.js.map +1 -0
  32. package/dist/engine/services/index.d.ts +4 -0
  33. package/dist/engine/services/index.js +4 -0
  34. package/dist/engine/services/index.js.map +1 -0
  35. package/dist/engine/services/memory-service.d.ts +48 -0
  36. package/dist/engine/services/memory-service.js +85 -0
  37. package/dist/engine/services/memory-service.js.map +1 -0
  38. package/dist/engine/services/recall-service.d.ts +31 -0
  39. package/dist/engine/services/recall-service.js +35 -0
  40. package/dist/engine/services/recall-service.js.map +1 -0
  41. package/dist/engine/session-policy.d.ts +15 -0
  42. package/dist/engine/session-policy.js +103 -0
  43. package/dist/engine/session-policy.js.map +1 -0
  44. package/dist/engine/sun.d.ts +9 -5
  45. package/dist/engine/sun.js +128 -23
  46. package/dist/engine/sun.js.map +1 -1
  47. package/dist/engine/temporal.js +8 -67
  48. package/dist/engine/temporal.js.map +1 -1
  49. package/dist/engine/types.d.ts +0 -15
  50. package/dist/engine/types.js +0 -7
  51. package/dist/engine/types.js.map +1 -1
  52. package/dist/index.js +2 -2
  53. package/dist/index.js.map +1 -1
  54. package/dist/mcp/server.js +88 -123
  55. package/dist/mcp/server.js.map +1 -1
  56. package/dist/mcp/tools/analytics-handlers.d.ts +20 -0
  57. package/dist/mcp/tools/analytics-handlers.js +292 -0
  58. package/dist/mcp/tools/analytics-handlers.js.map +1 -0
  59. package/dist/mcp/tools/graph-handlers.d.ts +20 -0
  60. package/dist/mcp/tools/graph-handlers.js +126 -0
  61. package/dist/mcp/tools/graph-handlers.js.map +1 -0
  62. package/dist/mcp/tools/memory-handlers.d.ts +27 -0
  63. package/dist/mcp/tools/memory-handlers.js +177 -0
  64. package/dist/mcp/tools/memory-handlers.js.map +1 -0
  65. package/dist/mcp/tools/memory-tools.d.ts +19 -117
  66. package/dist/mcp/tools/memory-tools.js +19 -1032
  67. package/dist/mcp/tools/memory-tools.js.map +1 -1
  68. package/dist/mcp/tools/observation-handlers.d.ts +15 -0
  69. package/dist/mcp/tools/observation-handlers.js +74 -0
  70. package/dist/mcp/tools/observation-handlers.js.map +1 -0
  71. package/dist/mcp/tools/shared.d.ts +36 -0
  72. package/dist/mcp/tools/shared.js +71 -0
  73. package/dist/mcp/tools/shared.js.map +1 -0
  74. package/dist/mcp/tools/sun-handler.d.ts +12 -0
  75. package/dist/mcp/tools/sun-handler.js +35 -0
  76. package/dist/mcp/tools/sun-handler.js.map +1 -0
  77. package/dist/mcp/tools/system-handlers.d.ts +27 -0
  78. package/dist/mcp/tools/system-handlers.js +259 -0
  79. package/dist/mcp/tools/system-handlers.js.map +1 -0
  80. package/dist/mcp/tools/temporal-handlers.d.ts +15 -0
  81. package/dist/mcp/tools/temporal-handlers.js +82 -0
  82. package/dist/mcp/tools/temporal-handlers.js.map +1 -0
  83. package/dist/scanner/local/filesystem.d.ts +0 -2
  84. package/dist/scanner/local/filesystem.js +1 -5
  85. package/dist/scanner/local/filesystem.js.map +1 -1
  86. package/dist/scanner/local/git.d.ts +0 -5
  87. package/dist/scanner/local/git.js +1 -1
  88. package/dist/scanner/local/git.js.map +1 -1
  89. package/dist/scanner/metadata-scanner.d.ts +3 -14
  90. package/dist/scanner/metadata-scanner.js +10 -10
  91. package/dist/scanner/metadata-scanner.js.map +1 -1
  92. package/dist/service/scheduler.js +32 -13
  93. package/dist/service/scheduler.js.map +1 -1
  94. package/dist/storage/database.js +81 -2
  95. package/dist/storage/database.js.map +1 -1
  96. package/dist/storage/queries/analytics-queries.d.ts +59 -0
  97. package/dist/storage/queries/analytics-queries.js +265 -0
  98. package/dist/storage/queries/analytics-queries.js.map +1 -0
  99. package/dist/storage/queries/conflict-queries.d.ts +16 -0
  100. package/dist/storage/queries/conflict-queries.js +56 -0
  101. package/dist/storage/queries/conflict-queries.js.map +1 -0
  102. package/dist/storage/queries/constellation-queries.d.ts +18 -0
  103. package/dist/storage/queries/constellation-queries.js +101 -0
  104. package/dist/storage/queries/constellation-queries.js.map +1 -0
  105. package/dist/storage/queries/datasource-queries.d.ts +9 -0
  106. package/dist/storage/queries/datasource-queries.js +53 -0
  107. package/dist/storage/queries/datasource-queries.js.map +1 -0
  108. package/dist/storage/queries/memory-queries.d.ts +53 -0
  109. package/dist/storage/queries/memory-queries.js +415 -0
  110. package/dist/storage/queries/memory-queries.js.map +1 -0
  111. package/dist/storage/queries/observation-queries.d.ts +7 -0
  112. package/dist/storage/queries/observation-queries.js +23 -0
  113. package/dist/storage/queries/observation-queries.js.map +1 -0
  114. package/dist/storage/queries/orbit-queries.d.ts +7 -0
  115. package/dist/storage/queries/orbit-queries.js +23 -0
  116. package/dist/storage/queries/orbit-queries.js.map +1 -0
  117. package/dist/storage/queries/shared.d.ts +106 -0
  118. package/dist/storage/queries/shared.js +120 -0
  119. package/dist/storage/queries/shared.js.map +1 -0
  120. package/dist/storage/queries/sun-queries.d.ts +9 -0
  121. package/dist/storage/queries/sun-queries.js +43 -0
  122. package/dist/storage/queries/sun-queries.js.map +1 -0
  123. package/dist/storage/queries/temporal-queries.d.ts +32 -0
  124. package/dist/storage/queries/temporal-queries.js +112 -0
  125. package/dist/storage/queries/temporal-queries.js.map +1 -0
  126. package/dist/storage/queries.d.ts +15 -84
  127. package/dist/storage/queries.js +15 -896
  128. package/dist/storage/queries.js.map +1 -1
  129. package/dist/storage/vec.d.ts +5 -1
  130. package/dist/storage/vec.js +48 -24
  131. package/dist/storage/vec.js.map +1 -1
  132. package/dist/utils/config.d.ts +0 -1
  133. package/dist/utils/config.js +1 -1
  134. package/dist/utils/config.js.map +1 -1
  135. package/dist/utils/logger.d.ts +0 -2
  136. package/dist/utils/logger.js +0 -2
  137. package/dist/utils/logger.js.map +1 -1
  138. package/dist/utils/stopwords.d.ts +6 -0
  139. package/dist/utils/stopwords.js +22 -0
  140. package/dist/utils/stopwords.js.map +1 -0
  141. package/dist/utils/tokenizer.d.ts +2 -1
  142. package/dist/utils/tokenizer.js +7 -5
  143. package/dist/utils/tokenizer.js.map +1 -1
  144. package/package.json +78 -78
@@ -7,8 +7,7 @@
7
7
  * State: currentProject is the one mutable singleton in this module.
8
8
  * All other functions are pure queries or side-effectful writes to the DB.
9
9
  */
10
- import { getUniversalMemories, setUniversal, listProjects, upsertSunState, getSunState, getMemoriesByProject, } from '../storage/queries.js';
11
- import { getDatabase } from '../storage/database.js';
10
+ import { getUniversalMemories, setUniversal, listProjects, upsertSunState, getSunState, getMemoriesByProject, getProjectMemoryCount, getProjectLastUpdated, getProjectHasUniversal, getProjectDistributions, } from '../storage/queries.js';
12
11
  import { createLogger } from '../utils/logger.js';
13
12
  import { getConfig } from '../utils/config.js';
14
13
  import { corona } from './corona.js';
@@ -48,12 +47,7 @@ export function switchProject(project) {
48
47
  const previous = currentProject;
49
48
  currentProject = project;
50
49
  log.info('Switched project', { previous, current: project });
51
- const db = getDatabase();
52
- const row = db.prepare(`
53
- SELECT COUNT(*) as count FROM memories
54
- WHERE project = ? AND deleted_at IS NULL
55
- `).get(project);
56
- const memoryCount = row?.count ?? 0;
50
+ const memoryCount = getProjectMemoryCount(project);
57
51
  // Reload the corona cache for the new project.
58
52
  corona.switchProject(project);
59
53
  return { previous, current: project, memoryCount };
@@ -91,20 +85,9 @@ export function listAllProjects() {
91
85
  if (!countMap.has('default')) {
92
86
  countMap.set('default', 0);
93
87
  }
94
- const db = getDatabase();
95
88
  return [...countMap.entries()].map(([project, memoryCount]) => {
96
- // Get last updated timestamp for this project
97
- const lastRow = db.prepare(`
98
- SELECT MAX(updated_at) as last_updated FROM memories
99
- WHERE project = ? AND deleted_at IS NULL
100
- `).get(project);
101
- const lastUpdated = lastRow?.last_updated ?? new Date().toISOString();
102
- // Check if this project has any universal memories
103
- const univRow = db.prepare(`
104
- SELECT COUNT(*) as count FROM memories
105
- WHERE project = ? AND is_universal = 1 AND deleted_at IS NULL
106
- `).get(project);
107
- const hasUniversal = (univRow?.count ?? 0) > 0;
89
+ const lastUpdated = getProjectLastUpdated(project) ?? new Date().toISOString();
90
+ const hasUniversal = getProjectHasUniversal(project);
108
91
  return { project, memoryCount, lastUpdated, hasUniversal };
109
92
  }).sort((a, b) => b.memoryCount - a.memoryCount);
110
93
  }
@@ -178,58 +161,8 @@ export function detectUniversalCandidates(project) {
178
161
  * Detailed statistics for a single project.
179
162
  */
180
163
  export function getProjectStats(project) {
181
- const db = getDatabase();
182
- // Basic count
183
- const countRow = db.prepare(`
184
- SELECT COUNT(*) as count FROM memories
185
- WHERE project = ? AND deleted_at IS NULL
186
- `).get(project);
187
- const memoryCount = countRow?.count ?? 0;
188
- // Zone distribution
189
- const zoneRows = db.prepare(`
190
- SELECT
191
- CASE
192
- WHEN distance < 1.0 THEN 'core'
193
- WHEN distance < 5.0 THEN 'near'
194
- WHEN distance < 15.0 THEN 'active'
195
- WHEN distance < 40.0 THEN 'archive'
196
- WHEN distance < 70.0 THEN 'fading'
197
- ELSE 'forgotten'
198
- END as zone,
199
- COUNT(*) as count
200
- FROM memories
201
- WHERE project = ? AND deleted_at IS NULL
202
- GROUP BY zone
203
- `).all(project);
204
- const zoneDistribution = {};
205
- for (const row of zoneRows) {
206
- zoneDistribution[row.zone] = row.count;
207
- }
208
- // Type distribution
209
- const typeRows = db.prepare(`
210
- SELECT type, COUNT(*) as count
211
- FROM memories
212
- WHERE project = ? AND deleted_at IS NULL
213
- GROUP BY type
214
- `).all(project);
215
- const typeDistribution = {};
216
- for (const row of typeRows) {
217
- typeDistribution[row.type] = row.count;
218
- }
219
- // Universal count
220
- const univRow = db.prepare(`
221
- SELECT COUNT(*) as count FROM memories
222
- WHERE project = ? AND is_universal = 1 AND deleted_at IS NULL
223
- `).get(project);
224
- const universalCount = univRow?.count ?? 0;
225
- // Date range
226
- const rangeRow = db.prepare(`
227
- SELECT MIN(created_at) as oldest, MAX(created_at) as newest
228
- FROM memories
229
- WHERE project = ? AND deleted_at IS NULL
230
- `).get(project);
231
- const oldestMemory = rangeRow?.oldest ?? '';
232
- const newestMemory = rangeRow?.newest ?? '';
164
+ const memoryCount = getProjectMemoryCount(project);
165
+ const { zoneDistribution, typeDistribution, universalCount, oldestMemory, newestMemory, } = getProjectDistributions(project);
233
166
  return {
234
167
  memoryCount,
235
168
  zoneDistribution,
@@ -1 +1 @@
1
- {"version":3,"file":"multiproject.js","sourceRoot":"","sources":["../../src/engine/multiproject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multiproject.js","sourceRoot":"","sources":["../../src/engine/multiproject.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@
13
13
  *
14
14
  * No LLM is used — all extraction is done via keyword matching and heuristics.
15
15
  */
16
- import type { Memory, MemoryType } from './types.js';
16
+ import type { MemoryType } from './types.js';
17
17
  /**
18
18
  * Extract meaningful key terms from text.
19
19
  *
@@ -24,47 +24,6 @@ import type { Memory, MemoryType } from './types.js';
24
24
  */
25
25
  export declare function extractKeyTerms(text: string): string[];
26
26
  export declare function shouldPersistObservation(sentence: string, type: MemoryType): boolean;
27
- /**
28
- * Split a conversation into chunks suitable for observation.
29
- *
30
- * Splits on:
31
- * - Common turn markers: "User:", "Assistant:", "Human:", "AI:", "System:"
32
- * - Double newlines (paragraph breaks)
33
- *
34
- * Filters out empty or very short chunks.
35
- * Chunks are bounded to 100-500 words each.
36
- */
37
- export declare function splitConversation(text: string): string[];
38
- /**
39
- * Observe a conversation chunk and extract structured memories from it.
40
- *
41
- * For each sentence that matches a known pattern (decision, error, milestone,
42
- * task, context), a memory is created and stored.
43
- *
44
- * Returns the text observations extracted and the Memory objects created.
45
- */
46
- export declare function observe(conversationChunk: string, project: string): {
47
- observations: string[];
48
- memories: Memory[];
49
- };
50
- /**
51
- * Reflect on a list of observations against the existing memory store.
52
- *
53
- * Categorizes each observation string as:
54
- * - novel : not found in existing memories (truly new)
55
- * - reinforcing : confirms an existing memory (we boost that memory)
56
- * - conflicting : appears to contradict an existing memory
57
- *
58
- * Heuristics:
59
- * - If an existing memory contains most of the same key terms → reinforcing
60
- * - If an existing memory uses contradicting signals (negation patterns) → conflicting
61
- * - Otherwise → novel
62
- */
63
- export declare function reflect(newObservations: string[], project: string): Promise<{
64
- novel: string[];
65
- reinforcing: string[];
66
- conflicting: string[];
67
- }>;
68
27
  /**
69
28
  * Process a full conversation through the observe → reflect pipeline.
70
29
  *
@@ -20,6 +20,7 @@ import { createObservation } from '../storage/queries.js';
20
20
  import { updateMemoryOrbit, updateMemoryAccess } from '../storage/queries.js';
21
21
  import { applyAccessBoost } from './orbit.js';
22
22
  import { createLogger } from '../utils/logger.js';
23
+ import { STOP_WORDS } from '../utils/stopwords.js';
23
24
  const log = createLogger('observation');
24
25
  // ---------------------------------------------------------------------------
25
26
  // Keyword dictionaries
@@ -54,26 +55,6 @@ const LOW_SIGNAL_PATTERNS = [
54
55
  /\b(?:let me know|please check|can you check|follow up later)\b/i,
55
56
  ];
56
57
  // ---------------------------------------------------------------------------
57
- // Stop words — filtered out during key term extraction
58
- // ---------------------------------------------------------------------------
59
- const STOP_WORDS = new Set([
60
- // English
61
- 'the', 'a', 'an', 'is', 'are', 'was', 'were', 'be', 'been', 'being',
62
- 'have', 'has', 'had', 'do', 'does', 'did', 'will', 'would', 'could',
63
- 'should', 'may', 'might', 'shall', 'can', 'need', 'must', 'ought',
64
- 'to', 'of', 'in', 'on', 'at', 'by', 'for', 'with', 'about', 'as',
65
- 'into', 'through', 'from', 'up', 'down', 'out', 'off', 'over', 'under',
66
- 'and', 'or', 'but', 'if', 'then', 'that', 'this', 'it', 'its',
67
- 'i', 'we', 'you', 'he', 'she', 'they', 'them', 'their', 'our', 'my',
68
- 'so', 'than', 'when', 'where', 'who', 'which', 'what', 'how', 'why',
69
- 'not', 'no', 'all', 'each', 'both', 'few', 'more', 'other', 'some',
70
- 'such', 'only', 'own', 'same', 'also', 'just', 'now', 'very', 'too',
71
- // Korean particles
72
- '은', '는', '이', '가', '을', '를', '의', '에', '에서', '로', '으로',
73
- '와', '과', '도', '만', '가', '께', '한테', '에게', '부터', '까지',
74
- '이다', '입니다', '있다', '없다', '이라', '이면', '라면', '같은',
75
- ]);
76
- // ---------------------------------------------------------------------------
77
58
  // Key term extraction
78
59
  // ---------------------------------------------------------------------------
79
60
  /**
@@ -152,7 +133,7 @@ function detectType(sentence) {
152
133
  * Filters out empty or very short chunks.
153
134
  * Chunks are bounded to 100-500 words each.
154
135
  */
155
- export function splitConversation(text) {
136
+ function splitConversation(text) {
156
137
  const TURN_PATTERN = /^(?:User|Assistant|Human|AI|System|사용자|어시스턴트):/im;
157
138
  // First try turn-based splitting
158
139
  const turnChunks = text
@@ -182,7 +163,7 @@ export function splitConversation(text) {
182
163
  *
183
164
  * Returns the text observations extracted and the Memory objects created.
184
165
  */
185
- export function observe(conversationChunk, project) {
166
+ function observe(conversationChunk, project) {
186
167
  // Split into sentences
187
168
  const sentences = conversationChunk
188
169
  .split(/(?<=[.!?])\s+|\n/)
@@ -263,7 +244,7 @@ export function observe(conversationChunk, project) {
263
244
  * - If an existing memory uses contradicting signals (negation patterns) → conflicting
264
245
  * - Otherwise → novel
265
246
  */
266
- export async function reflect(newObservations, project) {
247
+ async function reflect(newObservations, project) {
267
248
  const novel = [];
268
249
  const reinforcing = [];
269
250
  const conflicting = [];
@@ -1 +1 @@
1
- {"version":3,"file":"observation.js","sourceRoot":"","sources":["../../src/engine/observation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observation.js","sourceRoot":"","sources":["../../src/engine/observation.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,27 @@ import { getMemoryValidityState } from './validity.js';
22
22
  // ---------------------------------------------------------------------------
23
23
  // Scoring primitives
24
24
  // ---------------------------------------------------------------------------
25
+ /**
26
+ * Type-differentiated base half-lives (hours).
27
+ *
28
+ * Architecture decisions persist for weeks; ephemeral observations fade in days.
29
+ * Falls back to the config value (`decayHalfLifeHours`) for unknown types.
30
+ * Procedural memories are handled separately via getProceduralDecayMultiplier().
31
+ */
32
+ const TYPE_HALF_LIVES = {
33
+ decision: 720, // 30 days — architecture decisions persist
34
+ milestone: 360, // 15 days — important but can be superseded
35
+ error: 168, // 7 days — relevant until fixed
36
+ procedural: 720, // 30 days — behavioral patterns are stable (also slowed by multiplier)
37
+ context: 168, // 7 days — background knowledge
38
+ task: 72, // 3 days — time-sensitive
39
+ observation: 48, // 2 days — ephemeral unless proved useful
40
+ };
41
+ /**
42
+ * Importance floor — memories never auto-decay below this value.
43
+ * Only an explicit `forget` (push mode, sets distance ≥ 95 AU) can go lower.
44
+ */
45
+ const IMPORTANCE_FLOOR = 0.15;
25
46
  /**
26
47
  * Calculate recency score using ACT-R adaptive half-life.
27
48
  *
@@ -48,11 +69,13 @@ export function recencyScore(lastAccessedAt, createdAt, halfLifeHours = 72, memo
48
69
  throw new Error(`Invalid reference date: "${referenceTime}"`);
49
70
  const now = new Date();
50
71
  const hoursSince = (now.getTime() - refMs) / (1000 * 60 * 60);
51
- // Adaptive half-life: grows with access frequency, capped at maxStabilityHours
52
- // Procedural memories use a slower base decay rate (~3.3× slower than normal)
72
+ // Adaptive half-life: grows with access frequency, capped at maxStabilityHours.
73
+ // Type-differentiated: each memory type has its own base half-life.
74
+ // Procedural memories additionally use a slower decay multiplier on top.
75
+ const typeBase = memoryType ? (TYPE_HALF_LIVES[memoryType] ?? halfLifeHours) : halfLifeHours;
53
76
  const baseHalfLife = memoryType === 'procedural'
54
- ? halfLifeHours / getProceduralDecayMultiplier()
55
- : halfLifeHours;
77
+ ? typeBase / getProceduralDecayMultiplier()
78
+ : typeBase;
56
79
  const effectiveHalflife = Math.min(maxStabilityHours, baseHalfLife * Math.pow(stabilityGrowth, Math.min(accessCount, 15)));
57
80
  return Math.pow(0.5, Math.max(0, hoursSince) / effectiveHalflife);
58
81
  }
@@ -90,10 +113,11 @@ export function calculateImportance(memory, sunText, config, contentWeight) {
90
113
  const maxStabilityHours = config.maxStabilityHours ?? 8760;
91
114
  const recencyWeight = config.activationRecencyWeight ?? 0.6;
92
115
  const frequencyWeight = config.activationFrequencyWeight ?? 0.4;
93
- // Effective half-life exposed for callers
116
+ // Effective half-life exposed for callers — type-differentiated base
117
+ const typeBase = TYPE_HALF_LIVES[memory.type] ?? config.decayHalfLifeHours;
94
118
  const baseHalfLife = memory.type === 'procedural'
95
- ? config.decayHalfLifeHours / getProceduralDecayMultiplier()
96
- : config.decayHalfLifeHours;
119
+ ? typeBase / getProceduralDecayMultiplier()
120
+ : typeBase;
97
121
  const effectiveHalflife = Math.min(maxStabilityHours, baseHalfLife * Math.pow(stabilityGrowth, Math.min(memory.access_count, 15)));
98
122
  const rec = recencyScore(memory.last_accessed_at, memory.created_at, config.decayHalfLifeHours, memory.type, memory.access_count, stabilityGrowth, maxStabilityHours);
99
123
  const freq = frequencyScore(memory.access_count, config.frequencySaturationPoint);
@@ -110,15 +134,23 @@ export function calculateImportance(memory, sunText, config, contentWeight) {
110
134
  let rel;
111
135
  try {
112
136
  const db = getDatabase();
113
- const memRow = db.prepare('SELECT embedding FROM memory_vec WHERE memory_id = ?').get(memory.id);
137
+ // Join memory_embedding_map (vec_rowid) memory_embeddings to get the embedding
138
+ const memRow = db.prepare(`SELECT e.embedding
139
+ FROM memory_embeddings e
140
+ JOIN memory_embedding_map m ON m.vec_rowid = e.rowid
141
+ WHERE m.memory_id = ?`).get(memory.id);
114
142
  const sunState = getSunState(memory.project);
115
143
  const sunText2 = sunState
116
144
  ? [sunState.current_work, ...sunState.recent_decisions, ...sunState.next_steps].join(' ')
117
145
  : sunText;
118
146
  if (memRow?.embedding) {
119
147
  const memEmbedding = new Float32Array(memRow.embedding.buffer, memRow.embedding.byteOffset, memRow.embedding.byteLength / 4);
120
- const sunRow = db.prepare(`SELECT mv.embedding FROM memory_vec mv
121
- JOIN memories m ON m.id = mv.memory_id
148
+ // Get embedding of the highest-importance active memory in this project as
149
+ // a proxy for the current "sun" embedding.
150
+ const sunRow = db.prepare(`SELECT e.embedding
151
+ FROM memory_embeddings e
152
+ JOIN memory_embedding_map map ON map.vec_rowid = e.rowid
153
+ JOIN memories m ON m.id = map.memory_id
122
154
  WHERE m.project = ? AND m.deleted_at IS NULL
123
155
  ORDER BY m.importance DESC LIMIT 1`).get(memory.project);
124
156
  const sunEmbedding = sunRow?.embedding
@@ -141,7 +173,14 @@ export function calculateImportance(memory, sunText, config, contentWeight) {
141
173
  : null;
142
174
  const recentlyReused = lastAccessMs !== null && (Date.now() - lastAccessMs) <= 24 * 60 * 60 * 1000;
143
175
  const reuseBoost = recentlyReused && rel >= 0.2 ? 1.05 : 1;
144
- const total = Math.max(0, Math.min(1, activation * cw * qualityModifier * taskBoost * reuseBoost * validityModifier));
176
+ let total = Math.max(0, Math.min(1, activation * cw * qualityModifier * taskBoost * reuseBoost * validityModifier));
177
+ // Importance floor: auto-decay never pushes below IMPORTANCE_FLOOR (≈ Archive zone).
178
+ // Exceptions: explicit forget (distance > 70 AU) or non-active validity (superseded/expired).
179
+ const isExplicitlyForgotten = memory.distance > 70.0;
180
+ const isNonActive = validityModifier === 0;
181
+ if (total < IMPORTANCE_FLOOR && !isExplicitlyForgotten && !isNonActive) {
182
+ total = IMPORTANCE_FLOOR;
183
+ }
145
184
  return {
146
185
  // Sub-components
147
186
  recency: rec,
@@ -1 +1 @@
1
- {"version":3,"file":"orbit.js","sourceRoot":"","sources":["../../src/engine/orbit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orbit.js","sourceRoot":"","sources":["../../src/engine/orbit.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,8 @@
15
15
  * Reciprocal Rank Fusion (RRF), then deduplicates and re-ranks.
16
16
  */
17
17
  import type { Memory, MemoryType } from './types.js';
18
+ type ErrorReporter = (category: string) => void;
19
+ export declare function setErrorReporter(fn: ErrorReporter): void;
18
20
  /**
19
21
  * Create a new memory planet and place it in initial orbit.
20
22
  *
@@ -61,4 +63,5 @@ export declare function recallMemoriesAsync(project: string, query: string, opti
61
63
  limit?: number;
62
64
  excludeIds?: Set<string>;
63
65
  }): Promise<Memory[]>;
66
+ export {};
64
67
  //# sourceMappingURL=planet.d.ts.map
@@ -26,8 +26,14 @@ import { getDatabase, withTransaction } from '../storage/database.js';
26
26
  import { createLogger } from '../utils/logger.js';
27
27
  import { corona } from './corona.js';
28
28
  import { calculateQuality } from './quality.js';
29
- import { trackBgError } from '../mcp/tools/memory-tools.js';
30
29
  import { runConsolidation, findSimilarMemory, enrichMemory } from './consolidation.js';
30
+ let _errorReporter = (category) => {
31
+ // Default: log to stderr. MCP layer overrides this via setErrorReporter().
32
+ console.error(`[stellar-memory] Background error in category: ${category}`);
33
+ };
34
+ export function setErrorReporter(fn) {
35
+ _errorReporter = fn;
36
+ }
31
37
  const log = createLogger('planet');
32
38
  // ---------------------------------------------------------------------------
33
39
  // createMemory
@@ -147,10 +153,7 @@ export function createMemory(data) {
147
153
  const projectMemories = getMemoriesByProject(data.project);
148
154
  if (projectMemories.length > 100) {
149
155
  runConsolidation(data.project).catch(() => {
150
- try {
151
- trackBgError('consolidation');
152
- }
153
- catch { /* ignore */ }
156
+ _errorReporter('consolidation');
154
157
  });
155
158
  }
156
159
  }
@@ -213,10 +216,7 @@ function scheduleEmbedding(memoryId, text) {
213
216
  })
214
217
  .catch(() => {
215
218
  // Model not loaded / network error — FTS5 fallback remains active
216
- try {
217
- trackBgError('embedding');
218
- }
219
- catch { /* ignore circular import at startup */ }
219
+ _errorReporter('embedding');
220
220
  });
221
221
  }
222
222
  // ---------------------------------------------------------------------------
@@ -388,7 +388,7 @@ export async function recallMemoriesAsync(project, query, options) {
388
388
  try {
389
389
  const db = getDatabase();
390
390
  queryEmbedding = await generateEmbedding(query);
391
- const vecResults = searchByVector(db, queryEmbedding, fetchN);
391
+ const vecResults = searchByVector(db, queryEmbedding, fetchN, project);
392
392
  vecIds = vecResults.map(r => r.memoryId);
393
393
  }
394
394
  catch {
@@ -408,7 +408,12 @@ export async function recallMemoriesAsync(project, query, options) {
408
408
  if (queryEmbedding) {
409
409
  try {
410
410
  const db = getDatabase();
411
- const rows = db.prepare(`SELECT memory_id, embedding FROM memory_vec WHERE memory_id IN (${merged.map(() => '?').join(',')})`).all(...merged.map(m => m.id));
411
+ // Join memory_embedding_map (vec_rowid) memory_embeddings to recover embeddings by memory_id
412
+ const placeholders = merged.map(() => '?').join(',');
413
+ const rows = db.prepare(`SELECT map.memory_id, e.embedding
414
+ FROM memory_embedding_map map
415
+ JOIN memory_embeddings e ON e.rowid = map.vec_rowid
416
+ WHERE map.memory_id IN (${placeholders})`).all(...merged.map(m => m.id));
412
417
  memEmbeddingMap = new Map(rows.map(r => [
413
418
  r.memory_id,
414
419
  new Float32Array(r.embedding.buffer, r.embedding.byteOffset, r.embedding.byteLength / 4),
@@ -1 +1 @@
1
- {"version":3,"file":"planet.js","sourceRoot":"","sources":["../../src/engine/planet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"planet.js","sourceRoot":"","sources":["../../src/engine/planet.ts"],"names":[],"mappings":"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"}
@@ -55,17 +55,4 @@ export declare function formatProceduralSection(memories: Memory[]): string;
55
55
  * effectiveHalfLife = baseHalfLife / getProceduralDecayMultiplier()
56
56
  */
57
57
  export declare function getProceduralDecayMultiplier(): number;
58
- /**
59
- * Analyse the last 50 memories and suggest concrete procedural rules.
60
- *
61
- * Returns candidates sorted by confidence (highest first). Confidence is
62
- * the proportion of the tag-group that supports a consistent pattern.
63
- *
64
- * Skips rules that already exist as procedural memories (by rule text match).
65
- */
66
- export declare function suggestRules(recentMemories: Memory[]): Array<{
67
- rule: string;
68
- confidence: number;
69
- evidence: Memory[];
70
- }>;
71
58
  //# sourceMappingURL=procedural.d.ts.map