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.
- package/dist/api/routes/memories.js +5 -4
- package/dist/api/routes/memories.js.map +1 -1
- package/dist/api/websocket.d.ts +0 -6
- package/dist/api/websocket.js +1 -1
- package/dist/api/websocket.js.map +1 -1
- package/dist/engine/analytics.js +4 -33
- package/dist/engine/analytics.js.map +1 -1
- package/dist/engine/conflict.js +2 -4
- package/dist/engine/conflict.js.map +1 -1
- package/dist/engine/consolidation.js +3 -21
- package/dist/engine/consolidation.js.map +1 -1
- package/dist/engine/constellation.js +6 -14
- package/dist/engine/constellation.js.map +1 -1
- package/dist/engine/corona.js +3 -1
- package/dist/engine/corona.js.map +1 -1
- package/dist/engine/multiproject.js +6 -73
- package/dist/engine/multiproject.js.map +1 -1
- package/dist/engine/observation.d.ts +1 -42
- package/dist/engine/observation.js +4 -23
- package/dist/engine/observation.js.map +1 -1
- package/dist/engine/orbit.js +50 -11
- package/dist/engine/orbit.js.map +1 -1
- package/dist/engine/planet.d.ts +3 -0
- package/dist/engine/planet.js +16 -11
- package/dist/engine/planet.js.map +1 -1
- package/dist/engine/procedural.d.ts +0 -13
- package/dist/engine/procedural.js +2 -47
- package/dist/engine/procedural.js.map +1 -1
- package/dist/engine/services/commit-service.d.ts +29 -0
- package/dist/engine/services/commit-service.js +35 -0
- package/dist/engine/services/commit-service.js.map +1 -0
- package/dist/engine/services/index.d.ts +4 -0
- package/dist/engine/services/index.js +4 -0
- package/dist/engine/services/index.js.map +1 -0
- package/dist/engine/services/memory-service.d.ts +48 -0
- package/dist/engine/services/memory-service.js +85 -0
- package/dist/engine/services/memory-service.js.map +1 -0
- package/dist/engine/services/recall-service.d.ts +31 -0
- package/dist/engine/services/recall-service.js +35 -0
- package/dist/engine/services/recall-service.js.map +1 -0
- package/dist/engine/session-policy.d.ts +15 -0
- package/dist/engine/session-policy.js +103 -0
- package/dist/engine/session-policy.js.map +1 -0
- package/dist/engine/sun.d.ts +9 -5
- package/dist/engine/sun.js +128 -23
- package/dist/engine/sun.js.map +1 -1
- package/dist/engine/temporal.js +8 -67
- package/dist/engine/temporal.js.map +1 -1
- package/dist/engine/types.d.ts +0 -15
- package/dist/engine/types.js +0 -7
- package/dist/engine/types.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.js +88 -123
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/analytics-handlers.d.ts +20 -0
- package/dist/mcp/tools/analytics-handlers.js +292 -0
- package/dist/mcp/tools/analytics-handlers.js.map +1 -0
- package/dist/mcp/tools/graph-handlers.d.ts +20 -0
- package/dist/mcp/tools/graph-handlers.js +126 -0
- package/dist/mcp/tools/graph-handlers.js.map +1 -0
- package/dist/mcp/tools/memory-handlers.d.ts +27 -0
- package/dist/mcp/tools/memory-handlers.js +177 -0
- package/dist/mcp/tools/memory-handlers.js.map +1 -0
- package/dist/mcp/tools/memory-tools.d.ts +19 -117
- package/dist/mcp/tools/memory-tools.js +19 -1032
- package/dist/mcp/tools/memory-tools.js.map +1 -1
- package/dist/mcp/tools/observation-handlers.d.ts +15 -0
- package/dist/mcp/tools/observation-handlers.js +74 -0
- package/dist/mcp/tools/observation-handlers.js.map +1 -0
- package/dist/mcp/tools/shared.d.ts +36 -0
- package/dist/mcp/tools/shared.js +71 -0
- package/dist/mcp/tools/shared.js.map +1 -0
- package/dist/mcp/tools/sun-handler.d.ts +12 -0
- package/dist/mcp/tools/sun-handler.js +35 -0
- package/dist/mcp/tools/sun-handler.js.map +1 -0
- package/dist/mcp/tools/system-handlers.d.ts +27 -0
- package/dist/mcp/tools/system-handlers.js +259 -0
- package/dist/mcp/tools/system-handlers.js.map +1 -0
- package/dist/mcp/tools/temporal-handlers.d.ts +15 -0
- package/dist/mcp/tools/temporal-handlers.js +82 -0
- package/dist/mcp/tools/temporal-handlers.js.map +1 -0
- package/dist/scanner/local/filesystem.d.ts +0 -2
- package/dist/scanner/local/filesystem.js +1 -5
- package/dist/scanner/local/filesystem.js.map +1 -1
- package/dist/scanner/local/git.d.ts +0 -5
- package/dist/scanner/local/git.js +1 -1
- package/dist/scanner/local/git.js.map +1 -1
- package/dist/scanner/metadata-scanner.d.ts +3 -14
- package/dist/scanner/metadata-scanner.js +10 -10
- package/dist/scanner/metadata-scanner.js.map +1 -1
- package/dist/service/scheduler.js +32 -13
- package/dist/service/scheduler.js.map +1 -1
- package/dist/storage/database.js +81 -2
- package/dist/storage/database.js.map +1 -1
- package/dist/storage/queries/analytics-queries.d.ts +59 -0
- package/dist/storage/queries/analytics-queries.js +265 -0
- package/dist/storage/queries/analytics-queries.js.map +1 -0
- package/dist/storage/queries/conflict-queries.d.ts +16 -0
- package/dist/storage/queries/conflict-queries.js +56 -0
- package/dist/storage/queries/conflict-queries.js.map +1 -0
- package/dist/storage/queries/constellation-queries.d.ts +18 -0
- package/dist/storage/queries/constellation-queries.js +101 -0
- package/dist/storage/queries/constellation-queries.js.map +1 -0
- package/dist/storage/queries/datasource-queries.d.ts +9 -0
- package/dist/storage/queries/datasource-queries.js +53 -0
- package/dist/storage/queries/datasource-queries.js.map +1 -0
- package/dist/storage/queries/memory-queries.d.ts +53 -0
- package/dist/storage/queries/memory-queries.js +415 -0
- package/dist/storage/queries/memory-queries.js.map +1 -0
- package/dist/storage/queries/observation-queries.d.ts +7 -0
- package/dist/storage/queries/observation-queries.js +23 -0
- package/dist/storage/queries/observation-queries.js.map +1 -0
- package/dist/storage/queries/orbit-queries.d.ts +7 -0
- package/dist/storage/queries/orbit-queries.js +23 -0
- package/dist/storage/queries/orbit-queries.js.map +1 -0
- package/dist/storage/queries/shared.d.ts +106 -0
- package/dist/storage/queries/shared.js +120 -0
- package/dist/storage/queries/shared.js.map +1 -0
- package/dist/storage/queries/sun-queries.d.ts +9 -0
- package/dist/storage/queries/sun-queries.js +43 -0
- package/dist/storage/queries/sun-queries.js.map +1 -0
- package/dist/storage/queries/temporal-queries.d.ts +32 -0
- package/dist/storage/queries/temporal-queries.js +112 -0
- package/dist/storage/queries/temporal-queries.js.map +1 -0
- package/dist/storage/queries.d.ts +15 -84
- package/dist/storage/queries.js +15 -896
- package/dist/storage/queries.js.map +1 -1
- package/dist/storage/vec.d.ts +5 -1
- package/dist/storage/vec.js +48 -24
- package/dist/storage/vec.js.map +1 -1
- package/dist/utils/config.d.ts +0 -1
- package/dist/utils/config.js +1 -1
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/logger.d.ts +0 -2
- package/dist/utils/logger.js +0 -2
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/stopwords.d.ts +6 -0
- package/dist/utils/stopwords.js +22 -0
- package/dist/utils/stopwords.js.map +1 -0
- package/dist/utils/tokenizer.d.ts +2 -1
- package/dist/utils/tokenizer.js +7 -5
- package/dist/utils/tokenizer.js.map +1 -1
- package/package.json +78 -78
package/dist/engine/sun.js
CHANGED
|
@@ -11,12 +11,14 @@
|
|
|
11
11
|
* - getSunContent: produce the formatted MCP resource text within token budget.
|
|
12
12
|
* - formatSunContent: pure formatter used by getSunContent and tests.
|
|
13
13
|
*/
|
|
14
|
-
import { getSunState, upsertSunState, getRecentMemories, } from '../storage/queries.js';
|
|
14
|
+
import { getSunState, upsertSunState, getRecentMemories, getConflicts, } from '../storage/queries.js';
|
|
15
|
+
import { getDatabase } from '../storage/database.js';
|
|
15
16
|
import { estimateTokens } from '../utils/tokenizer.js';
|
|
16
17
|
import { getConfig } from '../utils/config.js';
|
|
17
18
|
import { filterActiveMemories } from './validity.js';
|
|
18
19
|
import { createMemory } from './planet.js';
|
|
19
20
|
import { corona } from './corona.js';
|
|
21
|
+
import { getSessionCommitDraft } from './session-policy.js';
|
|
20
22
|
// ---------------------------------------------------------------------------
|
|
21
23
|
// Public API
|
|
22
24
|
// ---------------------------------------------------------------------------
|
|
@@ -85,6 +87,93 @@ export function commitToSun(project, data) {
|
|
|
85
87
|
upsertSunState(updated);
|
|
86
88
|
}
|
|
87
89
|
// ---------------------------------------------------------------------------
|
|
90
|
+
// Proactive alerts
|
|
91
|
+
// ---------------------------------------------------------------------------
|
|
92
|
+
/**
|
|
93
|
+
* Build an array of single-line alert strings (max 100 chars each) for the
|
|
94
|
+
* ALERTS section of the sun context. Priorities:
|
|
95
|
+
* 1. Unresolved conflicts (high urgency)
|
|
96
|
+
* 2. Stale task memories (> 7 days old, never accessed)
|
|
97
|
+
* 3. Core/near decision memories related to current work
|
|
98
|
+
*
|
|
99
|
+
* Returns at most MAX_ALERTS entries.
|
|
100
|
+
*/
|
|
101
|
+
function generateProactiveAlerts(project, coreMemories, nearMemories, sun) {
|
|
102
|
+
const MAX_ALERTS = 5;
|
|
103
|
+
const MAX_ALERT_LEN = 100;
|
|
104
|
+
const alerts = [];
|
|
105
|
+
const trunc = (s) => s.length > MAX_ALERT_LEN ? s.slice(0, MAX_ALERT_LEN - 3).trimEnd() + '...' : s;
|
|
106
|
+
// 1. Unresolved conflicts
|
|
107
|
+
try {
|
|
108
|
+
const conflicts = getConflicts(project, 'open');
|
|
109
|
+
for (const c of conflicts.slice(0, 2)) {
|
|
110
|
+
const desc = c.description.slice(0, 60);
|
|
111
|
+
alerts.push(trunc(`! CONFLICT: ${desc}`));
|
|
112
|
+
if (alerts.length >= MAX_ALERTS)
|
|
113
|
+
return alerts;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
// Non-fatal: conflicts table may not exist in older DBs.
|
|
118
|
+
}
|
|
119
|
+
// 2. Stale tasks (> 7 days old, access_count <= 1)
|
|
120
|
+
try {
|
|
121
|
+
const db = getDatabase();
|
|
122
|
+
const cutoff = new Date(Date.now() - 7 * 24 * 60 * 60 * 1000).toISOString();
|
|
123
|
+
const rows = db.prepare(`
|
|
124
|
+
SELECT id, summary, created_at, access_count
|
|
125
|
+
FROM memories
|
|
126
|
+
WHERE project = ?
|
|
127
|
+
AND type = 'task'
|
|
128
|
+
AND access_count <= 1
|
|
129
|
+
AND created_at < ?
|
|
130
|
+
AND deleted_at IS NULL
|
|
131
|
+
ORDER BY created_at ASC
|
|
132
|
+
LIMIT 3
|
|
133
|
+
`).all(project, cutoff);
|
|
134
|
+
for (const row of rows) {
|
|
135
|
+
const ageMs = Date.now() - new Date(/[Zz]$|[+-]\d{2}:\d{2}$/.test(row.created_at)
|
|
136
|
+
? row.created_at
|
|
137
|
+
: row.created_at + 'Z').getTime();
|
|
138
|
+
const ageDays = Math.floor(ageMs / (1000 * 60 * 60 * 24));
|
|
139
|
+
const accessed = row.access_count === 0 ? 'never accessed' : 'rarely accessed';
|
|
140
|
+
const summary = row.summary.length > 40
|
|
141
|
+
? row.summary.slice(0, 40).trimEnd() + '...'
|
|
142
|
+
: row.summary;
|
|
143
|
+
alerts.push(trunc(`STALE TASK: "${summary}" (${ageDays}d ago, ${accessed})`));
|
|
144
|
+
if (alerts.length >= MAX_ALERTS)
|
|
145
|
+
return alerts;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
// Non-fatal: skip stale task alerts if DB query fails.
|
|
150
|
+
}
|
|
151
|
+
// 3. Recent decisions in core/near that may relate to current work
|
|
152
|
+
if (sun.current_work && sun.current_work.trim().length > 0) {
|
|
153
|
+
const currentWorkWords = new Set(sun.current_work.toLowerCase().split(/\s+/).filter(w => w.length > 3));
|
|
154
|
+
const decisionCandidates = [...coreMemories, ...nearMemories]
|
|
155
|
+
.filter(m => m.type === 'decision');
|
|
156
|
+
for (const m of decisionCandidates) {
|
|
157
|
+
if (alerts.length >= MAX_ALERTS)
|
|
158
|
+
break;
|
|
159
|
+
const summaryWords = m.summary.toLowerCase().split(/\s+/);
|
|
160
|
+
const hasOverlap = summaryWords.some(w => w.length > 3 && currentWorkWords.has(w));
|
|
161
|
+
if (!hasOverlap)
|
|
162
|
+
continue;
|
|
163
|
+
const ageMs = Date.now() - new Date(/[Zz]$|[+-]\d{2}:\d{2}$/.test(m.created_at)
|
|
164
|
+
? m.created_at
|
|
165
|
+
: m.created_at + 'Z').getTime();
|
|
166
|
+
const ageDays = Math.floor(ageMs / (1000 * 60 * 60 * 24));
|
|
167
|
+
const ageStr = ageDays === 0 ? 'today' : `${ageDays}d ago`;
|
|
168
|
+
const summary = m.summary.length > 45
|
|
169
|
+
? m.summary.slice(0, 45).trimEnd() + '...'
|
|
170
|
+
: m.summary;
|
|
171
|
+
alerts.push(trunc(`DECISION: "${summary}" (${ageStr}) -- may relate to current work`));
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return alerts;
|
|
175
|
+
}
|
|
176
|
+
// ---------------------------------------------------------------------------
|
|
88
177
|
// Formatter
|
|
89
178
|
// ---------------------------------------------------------------------------
|
|
90
179
|
/**
|
|
@@ -94,12 +183,16 @@ export function commitToSun(project, data) {
|
|
|
94
183
|
* remaining token budget before being appended (progressive truncation).
|
|
95
184
|
* This ensures the most critical context always fits regardless of budget.
|
|
96
185
|
*
|
|
97
|
-
*
|
|
186
|
+
* Priority order (Corona-aware):
|
|
98
187
|
* 1. Header
|
|
99
|
-
* 2.
|
|
100
|
-
* 3.
|
|
101
|
-
* 4.
|
|
102
|
-
* 5.
|
|
188
|
+
* 2. ALERTS -- proactive conflict/stale-task/decision notices (high priority)
|
|
189
|
+
* 3. CORE -- core zone memories (instant recall, ~40% budget)
|
|
190
|
+
* 4. WORKING ON (current_work, ~10%)
|
|
191
|
+
* 5. NEAR -- near zone memories (~25%)
|
|
192
|
+
* 6. RECENT DECISIONS / NEXT STEPS / ACTIVE ISSUES (~25%)
|
|
193
|
+
*
|
|
194
|
+
* IMPORTANT: Callers must NOT append additional content to the result.
|
|
195
|
+
* All sections (alerts, core, near, working state) are budget-managed here.
|
|
103
196
|
*/
|
|
104
197
|
export function formatSunContent(sun, coreMemories, nearMemories) {
|
|
105
198
|
const config = getConfig();
|
|
@@ -125,7 +218,14 @@ export function formatSunContent(sun, coreMemories, nearMemories) {
|
|
|
125
218
|
}
|
|
126
219
|
}
|
|
127
220
|
sections.push(header);
|
|
128
|
-
// 2.
|
|
221
|
+
// 2. ALERTS -- proactive notices (conflicts, stale tasks, related decisions).
|
|
222
|
+
// Generated before CORE so high-priority alerts appear near the top of output
|
|
223
|
+
// and are subject to the same progressive budget truncation as other sections.
|
|
224
|
+
const alertLines = generateProactiveAlerts(sun.project, activeCoreMemories, activeNearMemories, sun);
|
|
225
|
+
if (alertLines.length > 0) {
|
|
226
|
+
sections.push(`\nALERTS:\n${alertLines.map(a => ` ${a}`).join('\n')}`);
|
|
227
|
+
}
|
|
228
|
+
// 3. CORE IDENTITY -- core zone memories (distance < 1.0 AU).
|
|
129
229
|
// Compressed format: [TYPE] summary (no AU distance ??saves tokens)
|
|
130
230
|
if (activeCoreMemories.length > 0) {
|
|
131
231
|
const displayed = activeCoreMemories.slice(0, MAX_CORE_DISPLAY);
|
|
@@ -137,11 +237,11 @@ export function formatSunContent(sun, coreMemories, nearMemories) {
|
|
|
137
237
|
: '';
|
|
138
238
|
sections.push(`\nCORE (${activeCoreMemories.length}):\n${lines}${overflow}`);
|
|
139
239
|
}
|
|
140
|
-
//
|
|
240
|
+
// 4. Current work.
|
|
141
241
|
if (sun.current_work && sun.current_work.trim().length > 0) {
|
|
142
242
|
sections.push(`\nWORKING ON:\n${sun.current_work.trim()}`);
|
|
143
243
|
}
|
|
144
|
-
//
|
|
244
|
+
// 5. NEAR zone memories (1.0-5.0 AU).
|
|
145
245
|
if (activeNearMemories.length > 0) {
|
|
146
246
|
const displayed = activeNearMemories.slice(0, MAX_NEAR_DISPLAY);
|
|
147
247
|
const lines = displayed
|
|
@@ -152,19 +252,19 @@ export function formatSunContent(sun, coreMemories, nearMemories) {
|
|
|
152
252
|
: '';
|
|
153
253
|
sections.push(`\nNEAR (${activeNearMemories.length}):\n${lines}${overflow}`);
|
|
154
254
|
}
|
|
155
|
-
//
|
|
255
|
+
// 6. Recent decisions (max 3).
|
|
156
256
|
const decisions = sun.recent_decisions.slice(0, 3);
|
|
157
257
|
if (decisions.length > 0) {
|
|
158
258
|
const lines = decisions.map((d, i) => ` ${i + 1}. ${d}`).join('\n');
|
|
159
259
|
sections.push(`\nRECENT DECISIONS:\n${lines}`);
|
|
160
260
|
}
|
|
161
|
-
//
|
|
261
|
+
// 7. Next steps (max 3).
|
|
162
262
|
const steps = sun.next_steps.slice(0, 3);
|
|
163
263
|
if (steps.length > 0) {
|
|
164
264
|
const lines = steps.map((s, i) => ` ${i + 1}. ${s}`).join('\n');
|
|
165
265
|
sections.push(`\nNEXT STEPS:\n${lines}`);
|
|
166
266
|
}
|
|
167
|
-
//
|
|
267
|
+
// 8. Active issues (max 2).
|
|
168
268
|
const errors = sun.active_errors.slice(0, 2);
|
|
169
269
|
if (errors.length > 0) {
|
|
170
270
|
const lines = errors.map((e, i) => ` ${i + 1}. ${e}`).join('\n');
|
|
@@ -207,6 +307,7 @@ export function formatSunContent(sun, coreMemories, nearMemories) {
|
|
|
207
307
|
export function autoCommitOnClose(project, mode = 'shutdown') {
|
|
208
308
|
try {
|
|
209
309
|
const existing = getSunState(project);
|
|
310
|
+
const sessionDraft = getSessionCommitDraft(project, existing);
|
|
210
311
|
// Protect recent manual commits from being overwritten by auto-generated content.
|
|
211
312
|
// Shutdown: skip if commit < 30 min ago. Periodic: skip if commit < 10 min ago.
|
|
212
313
|
if (existing?.last_commit_at) {
|
|
@@ -219,7 +320,7 @@ export function autoCommitOnClose(project, mode = 'shutdown') {
|
|
|
219
320
|
return;
|
|
220
321
|
}
|
|
221
322
|
const recent = getRecentMemories(project, 3);
|
|
222
|
-
if (recent.length === 0)
|
|
323
|
+
if (recent.length === 0 && !sessionDraft)
|
|
223
324
|
return;
|
|
224
325
|
// Group by type
|
|
225
326
|
const byType = new Map();
|
|
@@ -231,19 +332,23 @@ export function autoCommitOnClose(project, mode = 'shutdown') {
|
|
|
231
332
|
// Always merge with existing sun state ??never overwrite.
|
|
232
333
|
// Keep existing current_work/decisions and supplement with new memories.
|
|
233
334
|
const current_work = existing?.current_work
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
335
|
+
|| sessionDraft?.current_work
|
|
336
|
+
|| byType.get('context')?.slice(0, 3).join('; ')
|
|
337
|
+
|| byType.get('task')?.slice(0, 3).join('; ')
|
|
338
|
+
|| `${recent.length} memories from last session`;
|
|
238
339
|
const newDecisions = byType.get('decision')?.slice(0, 5) ?? [];
|
|
340
|
+
const sessionDecisions = sessionDraft?.decisions ?? [];
|
|
239
341
|
const decisions = existing?.recent_decisions?.length
|
|
240
|
-
? [...existing.recent_decisions, ...newDecisions.filter(d => !existing.recent_decisions.includes(d))].slice(0, 10)
|
|
241
|
-
: newDecisions;
|
|
342
|
+
? [...existing.recent_decisions, ...sessionDecisions.filter(d => !existing.recent_decisions.includes(d)), ...newDecisions.filter(d => !existing.recent_decisions.includes(d) && !sessionDecisions.includes(d))].slice(0, 10)
|
|
343
|
+
: [...sessionDecisions, ...newDecisions.filter(d => !sessionDecisions.includes(d))].slice(0, 10);
|
|
242
344
|
const newSteps = byType.get('task')?.slice(0, 5) ?? [];
|
|
345
|
+
const sessionSteps = sessionDraft?.next_steps ?? [];
|
|
243
346
|
const next_steps = existing?.next_steps?.length
|
|
244
|
-
? [...existing.next_steps, ...newSteps.filter(s => !existing.next_steps.includes(s))].slice(0, 10)
|
|
245
|
-
: newSteps;
|
|
246
|
-
const
|
|
347
|
+
? [...existing.next_steps, ...sessionSteps.filter(s => !existing.next_steps.includes(s)), ...newSteps.filter(s => !existing.next_steps.includes(s) && !sessionSteps.includes(s))].slice(0, 10)
|
|
348
|
+
: [...sessionSteps, ...newSteps.filter(s => !sessionSteps.includes(s))].slice(0, 10);
|
|
349
|
+
const recentErrors = byType.get('error')?.slice(0, 3) ?? [];
|
|
350
|
+
const sessionErrors = sessionDraft?.errors ?? [];
|
|
351
|
+
const errors = [...sessionErrors, ...recentErrors.filter(e => !sessionErrors.includes(e))].slice(0, 5);
|
|
247
352
|
const now = new Date().toISOString();
|
|
248
353
|
const updated = {
|
|
249
354
|
project,
|
|
@@ -252,7 +357,7 @@ export function autoCommitOnClose(project, mode = 'shutdown') {
|
|
|
252
357
|
recent_decisions: decisions,
|
|
253
358
|
next_steps,
|
|
254
359
|
active_errors: errors.length > 0 ? errors : (existing?.active_errors ?? []),
|
|
255
|
-
project_context: existing?.project_context
|
|
360
|
+
project_context: existing?.project_context || sessionDraft?.context || '',
|
|
256
361
|
token_count: 0,
|
|
257
362
|
last_commit_at: now,
|
|
258
363
|
updated_at: now,
|
package/dist/engine/sun.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sun.js","sourceRoot":"","sources":["../../src/engine/sun.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sun.js","sourceRoot":"","sources":["../../src/engine/sun.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/temporal.js
CHANGED
|
@@ -7,8 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* All functions are pure (no classes), following the project style.
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
11
|
-
import { getMemoriesAtTime, supersedMemory as queriesSupersedMemory, getSupersessionChain, } from '../storage/queries.js';
|
|
10
|
+
import { getMemoriesAtTime, supersedMemory as queriesSupersedMemory, getSupersessionChain, setTemporalBoundsQuery, findSupersessionChainRoot, getTemporalStats, } from '../storage/queries.js';
|
|
12
11
|
import { createLogger } from '../utils/logger.js';
|
|
13
12
|
const log = createLogger('temporal');
|
|
14
13
|
// ---------------------------------------------------------------------------
|
|
@@ -21,20 +20,7 @@ const log = createLogger('temporal');
|
|
|
21
20
|
* - validUntil: ISO date string. Setting this marks the fact as no longer current.
|
|
22
21
|
*/
|
|
23
22
|
export function setTemporalBounds(memoryId, validFrom, validUntil) {
|
|
24
|
-
|
|
25
|
-
const now = new Date().toISOString();
|
|
26
|
-
const sets = ['updated_at = ?'];
|
|
27
|
-
const values = [now];
|
|
28
|
-
if (validFrom !== undefined) {
|
|
29
|
-
sets.push('valid_from = ?');
|
|
30
|
-
values.push(validFrom);
|
|
31
|
-
}
|
|
32
|
-
if (validUntil !== undefined) {
|
|
33
|
-
sets.push('valid_until = ?');
|
|
34
|
-
values.push(validUntil);
|
|
35
|
-
}
|
|
36
|
-
values.push(memoryId);
|
|
37
|
-
db.prepare(`UPDATE memories SET ${sets.join(', ')} WHERE id = ?`).run(...values);
|
|
23
|
+
setTemporalBoundsQuery(memoryId, validFrom, validUntil);
|
|
38
24
|
log.debug('Temporal bounds set', { memoryId, validFrom, validUntil });
|
|
39
25
|
}
|
|
40
26
|
// ---------------------------------------------------------------------------
|
|
@@ -76,33 +62,11 @@ export function getContextAtTime(project, timestamp) {
|
|
|
76
62
|
* Returns the full lineage in chronological order (oldest first).
|
|
77
63
|
*/
|
|
78
64
|
export function getEvolutionChain(memoryId) {
|
|
79
|
-
//
|
|
80
|
-
|
|
81
|
-
const root = findChainRoot(memoryId);
|
|
82
|
-
// Now walk forward from root using getSupersessionChain (follows superseded_by).
|
|
65
|
+
// Walk backward to find the root, then forward using getSupersessionChain.
|
|
66
|
+
const root = findSupersessionChainRoot(memoryId);
|
|
83
67
|
const chain = getSupersessionChain(root);
|
|
84
|
-
// Sort chronologically by created_at
|
|
85
68
|
return chain.sort((a, b) => a.created_at.localeCompare(b.created_at));
|
|
86
69
|
}
|
|
87
|
-
/**
|
|
88
|
-
* Walk backward to find the oldest ancestor in the supersession chain.
|
|
89
|
-
* A memory is a root if no other non-deleted memory has superseded_by = its id.
|
|
90
|
-
*/
|
|
91
|
-
function findChainRoot(memoryId) {
|
|
92
|
-
const db = getDatabase();
|
|
93
|
-
let currentId = memoryId;
|
|
94
|
-
for (let depth = 0; depth < 50; depth++) {
|
|
95
|
-
const row = db.prepare(`
|
|
96
|
-
SELECT id FROM memories
|
|
97
|
-
WHERE superseded_by = ? AND deleted_at IS NULL
|
|
98
|
-
LIMIT 1
|
|
99
|
-
`).get(currentId);
|
|
100
|
-
if (!row)
|
|
101
|
-
break;
|
|
102
|
-
currentId = row.id;
|
|
103
|
-
}
|
|
104
|
-
return currentId;
|
|
105
|
-
}
|
|
106
70
|
// ---------------------------------------------------------------------------
|
|
107
71
|
// Auto-detect supersession
|
|
108
72
|
// ---------------------------------------------------------------------------
|
|
@@ -187,36 +151,13 @@ export function detectSupersession(newMemory, existingMemories) {
|
|
|
187
151
|
* - Recent supersession events (last 5)
|
|
188
152
|
*/
|
|
189
153
|
export function getTemporalSummary(project) {
|
|
190
|
-
const
|
|
191
|
-
const now = new Date().toISOString();
|
|
192
|
-
// Active: not deleted, valid_from ≤ now, valid_until IS NULL or > now
|
|
193
|
-
const activeRow = db.prepare(`
|
|
194
|
-
SELECT COUNT(*) as count FROM memories
|
|
195
|
-
WHERE project = ?
|
|
196
|
-
AND deleted_at IS NULL
|
|
197
|
-
AND (valid_from IS NULL OR valid_from <= ?)
|
|
198
|
-
AND (valid_until IS NULL OR valid_until > ?)
|
|
199
|
-
`).get(project, now, now);
|
|
200
|
-
// Superseded: has superseded_by set
|
|
201
|
-
const supersededRow = db.prepare(`
|
|
202
|
-
SELECT COUNT(*) as count FROM memories
|
|
203
|
-
WHERE project = ? AND deleted_at IS NULL AND superseded_by IS NOT NULL
|
|
204
|
-
`).get(project);
|
|
205
|
-
// Recent supersessions
|
|
206
|
-
const recentRows = db.prepare(`
|
|
207
|
-
SELECT id, summary, superseded_by, updated_at FROM memories
|
|
208
|
-
WHERE project = ?
|
|
209
|
-
AND deleted_at IS NULL
|
|
210
|
-
AND superseded_by IS NOT NULL
|
|
211
|
-
ORDER BY updated_at DESC
|
|
212
|
-
LIMIT 5
|
|
213
|
-
`).all(project);
|
|
154
|
+
const { activeCount, supersededCount, recentSupersessions } = getTemporalStats(project);
|
|
214
155
|
const lines = [
|
|
215
|
-
`Temporal: ${
|
|
156
|
+
`Temporal: ${activeCount} active, ${supersededCount} superseded`,
|
|
216
157
|
];
|
|
217
|
-
if (
|
|
158
|
+
if (recentSupersessions.length > 0) {
|
|
218
159
|
lines.push('Recent supersessions:');
|
|
219
|
-
for (const row of
|
|
160
|
+
for (const row of recentSupersessions) {
|
|
220
161
|
const date = row.updated_at.slice(0, 10);
|
|
221
162
|
lines.push(` [${date}] "${row.summary}" → superseded by ${row.superseded_by.slice(0, 8)}`);
|
|
222
163
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temporal.js","sourceRoot":"","sources":["../../src/engine/temporal.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"temporal.js","sourceRoot":"","sources":["../../src/engine/temporal.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/types.d.ts
CHANGED
|
@@ -33,12 +33,6 @@ export declare const ORBIT_ZONES: {
|
|
|
33
33
|
};
|
|
34
34
|
export type OrbitZone = keyof typeof ORBIT_ZONES;
|
|
35
35
|
export declare const IMPACT_DEFAULTS: Record<MemoryType, number>;
|
|
36
|
-
export declare const DEFAULT_WEIGHTS: {
|
|
37
|
-
readonly recency: 0.3;
|
|
38
|
-
readonly frequency: 0.2;
|
|
39
|
-
readonly impact: 0.3;
|
|
40
|
-
readonly relevance: 0.2;
|
|
41
|
-
};
|
|
42
36
|
export type MemoryValidityState = 'active' | 'future' | 'expired' | 'superseded';
|
|
43
37
|
export interface Memory {
|
|
44
38
|
id: string;
|
|
@@ -69,10 +63,6 @@ export interface Memory {
|
|
|
69
63
|
quality_score?: number;
|
|
70
64
|
is_universal?: boolean;
|
|
71
65
|
}
|
|
72
|
-
export interface VectorSearchResult {
|
|
73
|
-
memoryId: string;
|
|
74
|
-
distance: number;
|
|
75
|
-
}
|
|
76
66
|
export interface SunState {
|
|
77
67
|
project: string;
|
|
78
68
|
content: string;
|
|
@@ -117,11 +107,6 @@ export interface ConstellationEdge {
|
|
|
117
107
|
created_at: string;
|
|
118
108
|
metadata?: Record<string, unknown>;
|
|
119
109
|
}
|
|
120
|
-
export interface TemporalInfo {
|
|
121
|
-
valid_from?: string;
|
|
122
|
-
valid_until?: string;
|
|
123
|
-
superseded_by?: string;
|
|
124
|
-
}
|
|
125
110
|
export interface MemoryConflict {
|
|
126
111
|
id: string;
|
|
127
112
|
memory_id: string;
|
package/dist/engine/types.js
CHANGED
|
@@ -17,11 +17,4 @@ export const IMPACT_DEFAULTS = {
|
|
|
17
17
|
observation: 0.3,
|
|
18
18
|
procedural: 0.5,
|
|
19
19
|
};
|
|
20
|
-
// Importance weights
|
|
21
|
-
export const DEFAULT_WEIGHTS = {
|
|
22
|
-
recency: 0.30,
|
|
23
|
-
frequency: 0.20,
|
|
24
|
-
impact: 0.30,
|
|
25
|
-
relevance: 0.20,
|
|
26
|
-
};
|
|
27
20
|
//# sourceMappingURL=types.js.map
|
package/dist/engine/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/engine/types.ts"],"names":[],"mappings":"AAGA,cAAc;AACd,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAO,EAAE,GAAG,EAAE,GAAG,EAAG,GAAG,EAAE,GAAG,EAAG,KAAK,EAAE,aAAa,EAAE;IACzD,IAAI,EAAO,EAAE,GAAG,EAAE,GAAG,EAAG,GAAG,EAAE,GAAG,EAAG,KAAK,EAAE,eAAe,EAAE;IAC3D,MAAM,EAAK,EAAE,GAAG,EAAE,GAAG,EAAG,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE;IAC3D,OAAO,EAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE;IAC3D,MAAM,EAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE;IAC3D,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE;CACvD,CAAC;AAIX,gCAAgC;AAChC,MAAM,CAAC,MAAM,eAAe,GAA+B;IACzD,QAAQ,EAAK,GAAG;IAChB,SAAS,EAAI,GAAG;IAChB,KAAK,EAAQ,GAAG;IAChB,IAAI,EAAS,GAAG;IAChB,OAAO,EAAM,GAAG;IAChB,WAAW,EAAE,GAAG;IAChB,UAAU,EAAG,GAAG;CACjB,CAAC
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/engine/types.ts"],"names":[],"mappings":"AAGA,cAAc;AACd,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAO,EAAE,GAAG,EAAE,GAAG,EAAG,GAAG,EAAE,GAAG,EAAG,KAAK,EAAE,aAAa,EAAE;IACzD,IAAI,EAAO,EAAE,GAAG,EAAE,GAAG,EAAG,GAAG,EAAE,GAAG,EAAG,KAAK,EAAE,eAAe,EAAE;IAC3D,MAAM,EAAK,EAAE,GAAG,EAAE,GAAG,EAAG,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE;IAC3D,OAAO,EAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE;IAC3D,MAAM,EAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE;IAC3D,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE;CACvD,CAAC;AAIX,gCAAgC;AAChC,MAAM,CAAC,MAAM,eAAe,GAA+B;IACzD,QAAQ,EAAK,GAAG;IAChB,SAAS,EAAI,GAAG;IAChB,KAAK,EAAQ,GAAG;IAChB,IAAI,EAAS,GAAG;IAChB,OAAO,EAAM,GAAG;IAChB,WAAW,EAAE,GAAG;IAChB,UAAU,EAAG,GAAG;CACjB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { createStellarServer } from './mcp/server.js';
|
|
|
3
3
|
import { initDatabase } from './storage/database.js';
|
|
4
4
|
import { getConfig } from './utils/config.js';
|
|
5
5
|
import { autoCommitOnClose } from './engine/sun.js';
|
|
6
|
-
import { switchProject } from './engine/multiproject.js';
|
|
6
|
+
import { switchProject, getCurrentProject } from './engine/multiproject.js';
|
|
7
7
|
/**
|
|
8
8
|
* Validate that the runtime environment meets Stellar Memory's requirements.
|
|
9
9
|
* Exits with a human-readable error message if anything is missing.
|
|
@@ -47,7 +47,7 @@ async function main() {
|
|
|
47
47
|
if (shutdownDone)
|
|
48
48
|
return;
|
|
49
49
|
shutdownDone = true;
|
|
50
|
-
autoCommitOnClose(
|
|
50
|
+
autoCommitOnClose(getCurrentProject());
|
|
51
51
|
};
|
|
52
52
|
process.on('exit', onShutdown);
|
|
53
53
|
process.on('SIGTERM', () => { onShutdown(); process.exit(0); });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|