cortex-mcp 2.6.0 → 2.7.1
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/CHANGELOG.md +58 -279
- package/README.md +224 -393
- package/dist/cli/setup.js +60 -58
- package/dist/cli/setup.js.map +1 -1
- package/dist/config/config.js +2 -2
- package/dist/config/config.js.map +1 -1
- package/dist/db/database.d.ts +0 -8
- package/dist/db/database.d.ts.map +1 -1
- package/dist/db/database.js +2 -34
- package/dist/db/database.js.map +1 -1
- package/dist/db/event-log.d.ts +0 -4
- package/dist/db/event-log.d.ts.map +1 -1
- package/dist/db/event-log.js +10 -14
- package/dist/db/event-log.js.map +1 -1
- package/dist/db/memory-store.d.ts +3 -30
- package/dist/db/memory-store.d.ts.map +1 -1
- package/dist/db/memory-store.js +44 -140
- package/dist/db/memory-store.js.map +1 -1
- package/dist/embedding-worker.js +1 -1
- package/dist/embedding-worker.js.map +1 -1
- package/dist/hooks/git-capture.js +3 -3
- package/dist/hooks/git-hooks.js +2 -5
- package/dist/mcp-stdio.js +3 -34
- package/dist/mcp-stdio.js.map +1 -1
- package/dist/memory/anticipation-engine.d.ts.map +1 -1
- package/dist/memory/anticipation-engine.js +10 -18
- package/dist/memory/anticipation-engine.js.map +1 -1
- package/dist/memory/auto-learner.d.ts.map +1 -1
- package/dist/memory/auto-learner.js +43 -190
- package/dist/memory/auto-learner.js.map +1 -1
- package/dist/memory/confidence-decay.d.ts.map +1 -1
- package/dist/memory/confidence-decay.js +9 -13
- package/dist/memory/confidence-decay.js.map +1 -1
- package/dist/memory/embedding-manager.d.ts.map +1 -1
- package/dist/memory/embedding-manager.js +4 -6
- package/dist/memory/embedding-manager.js.map +1 -1
- package/dist/memory/export-import.js +2 -2
- package/dist/memory/export-import.js.map +1 -1
- package/dist/memory/git-memory.d.ts.map +1 -1
- package/dist/memory/git-memory.js +26 -20
- package/dist/memory/git-memory.js.map +1 -1
- package/dist/memory/learning-rate.js +7 -8
- package/dist/memory/learning-rate.js.map +1 -1
- package/dist/memory/llm-enhancer.d.ts +14 -2
- package/dist/memory/llm-enhancer.d.ts.map +1 -1
- package/dist/memory/llm-enhancer.js +46 -66
- package/dist/memory/llm-enhancer.js.map +1 -1
- package/dist/memory/memory-cache.d.ts.map +1 -1
- package/dist/memory/memory-cache.js +0 -10
- package/dist/memory/memory-cache.js.map +1 -1
- package/dist/memory/memory-consolidator.d.ts.map +1 -1
- package/dist/memory/memory-consolidator.js +14 -20
- package/dist/memory/memory-consolidator.js.map +1 -1
- package/dist/memory/memory-decay.d.ts.map +1 -1
- package/dist/memory/memory-decay.js +52 -82
- package/dist/memory/memory-decay.js.map +1 -1
- package/dist/memory/memory-quality.d.ts +1 -1
- package/dist/memory/memory-quality.d.ts.map +1 -1
- package/dist/memory/memory-quality.js +6 -9
- package/dist/memory/memory-quality.js.map +1 -1
- package/dist/memory/memory-ranker.d.ts.map +1 -1
- package/dist/memory/memory-ranker.js +3 -12
- package/dist/memory/memory-ranker.js.map +1 -1
- package/dist/memory/meta-memory.js +3 -3
- package/dist/memory/meta-memory.js.map +1 -1
- package/dist/memory/session-tracker.d.ts +0 -2
- package/dist/memory/session-tracker.d.ts.map +1 -1
- package/dist/memory/session-tracker.js +8 -26
- package/dist/memory/session-tracker.js.map +1 -1
- package/dist/memory/temporal-engine.d.ts.map +1 -1
- package/dist/memory/temporal-engine.js +13 -9
- package/dist/memory/temporal-engine.js.map +1 -1
- package/dist/retrieval/hybrid-retriever.d.ts +2 -0
- package/dist/retrieval/hybrid-retriever.d.ts.map +1 -1
- package/dist/retrieval/hybrid-retriever.js +13 -3
- package/dist/retrieval/hybrid-retriever.js.map +1 -1
- package/dist/scanners/architecture-graph.js +2 -2
- package/dist/scanners/architecture-graph.js.map +1 -1
- package/dist/scanners/code-verifier.d.ts +0 -1
- package/dist/scanners/code-verifier.d.ts.map +1 -1
- package/dist/scanners/code-verifier.js +14 -14
- package/dist/scanners/code-verifier.js.map +1 -1
- package/dist/scanners/context-builder.d.ts.map +1 -1
- package/dist/scanners/context-builder.js +45 -33
- package/dist/scanners/context-builder.js.map +1 -1
- package/dist/scanners/export-map.js +2 -2
- package/dist/scanners/export-map.js.map +1 -1
- package/dist/scanners/project-scanner.js +2 -2
- package/dist/scanners/project-scanner.js.map +1 -1
- package/dist/security/encryption.js +1 -1
- package/dist/security/encryption.js.map +1 -1
- package/dist/security/feature-gate.d.ts.map +1 -1
- package/dist/security/feature-gate.js +20 -62
- package/dist/security/feature-gate.js.map +1 -1
- package/dist/security/license.js +35 -282
- package/dist/security/license.js.map +1 -1
- package/dist/security/rate-limiter.d.ts +3 -4
- package/dist/security/rate-limiter.d.ts.map +1 -1
- package/dist/security/rate-limiter.js +29 -11
- package/dist/security/rate-limiter.js.map +1 -1
- package/dist/server/dashboard.js +327 -166
- package/dist/server/dashboard.js.map +1 -1
- package/dist/server/mcp-handler.d.ts.map +1 -1
- package/dist/server/mcp-handler.js +827 -1002
- package/dist/server/mcp-handler.js.map +1 -1
- package/package.json +8 -18
- package/dist/memory/access-pattern-tracker.d.ts +0 -51
- package/dist/memory/access-pattern-tracker.d.ts.map +0 -1
- package/dist/memory/access-pattern-tracker.js +0 -92
- package/dist/memory/access-pattern-tracker.js.map +0 -1
- package/dist/memory/completion-resolver.d.ts +0 -38
- package/dist/memory/completion-resolver.d.ts.map +0 -1
- package/dist/memory/completion-resolver.js +0 -127
- package/dist/memory/completion-resolver.js.map +0 -1
- package/dist/memory/convention-detector.d.ts +0 -11
- package/dist/memory/convention-detector.d.ts.map +0 -1
- package/dist/memory/convention-detector.js +0 -294
- package/dist/memory/convention-detector.js.map +0 -1
- package/dist/memory/correction-detector.d.ts +0 -33
- package/dist/memory/correction-detector.d.ts.map +0 -1
- package/dist/memory/correction-detector.js +0 -129
- package/dist/memory/correction-detector.js.map +0 -1
- package/dist/memory/cross-memory-linker.d.ts +0 -18
- package/dist/memory/cross-memory-linker.d.ts.map +0 -1
- package/dist/memory/cross-memory-linker.js +0 -115
- package/dist/memory/cross-memory-linker.js.map +0 -1
- package/dist/memory/daily-diary.d.ts +0 -30
- package/dist/memory/daily-diary.d.ts.map +0 -1
- package/dist/memory/daily-diary.js +0 -159
- package/dist/memory/daily-diary.js.map +0 -1
- package/dist/memory/embedding-cache.d.ts +0 -32
- package/dist/memory/embedding-cache.d.ts.map +0 -1
- package/dist/memory/embedding-cache.js +0 -76
- package/dist/memory/embedding-cache.js.map +0 -1
- package/dist/memory/error-learner.d.ts +0 -26
- package/dist/memory/error-learner.d.ts.map +0 -1
- package/dist/memory/error-learner.js +0 -145
- package/dist/memory/error-learner.js.map +0 -1
- package/dist/memory/file-relationships.d.ts +0 -47
- package/dist/memory/file-relationships.d.ts.map +0 -1
- package/dist/memory/file-relationships.js +0 -130
- package/dist/memory/file-relationships.js.map +0 -1
- package/dist/memory/impact-analyzer.d.ts +0 -16
- package/dist/memory/impact-analyzer.d.ts.map +0 -1
- package/dist/memory/impact-analyzer.js +0 -189
- package/dist/memory/impact-analyzer.js.map +0 -1
- package/dist/memory/instructions-generator.d.ts +0 -30
- package/dist/memory/instructions-generator.d.ts.map +0 -1
- package/dist/memory/instructions-generator.js +0 -117
- package/dist/memory/instructions-generator.js.map +0 -1
- package/dist/memory/memory-export-md.d.ts +0 -12
- package/dist/memory/memory-export-md.d.ts.map +0 -1
- package/dist/memory/memory-export-md.js +0 -188
- package/dist/memory/memory-export-md.js.map +0 -1
- package/dist/memory/mmr-reranker.d.ts +0 -39
- package/dist/memory/mmr-reranker.d.ts.map +0 -1
- package/dist/memory/mmr-reranker.js +0 -115
- package/dist/memory/mmr-reranker.js.map +0 -1
- package/dist/memory/pre-flight.d.ts +0 -24
- package/dist/memory/pre-flight.d.ts.map +0 -1
- package/dist/memory/pre-flight.js +0 -121
- package/dist/memory/pre-flight.js.map +0 -1
- package/dist/memory/preference-learner.d.ts +0 -28
- package/dist/memory/preference-learner.d.ts.map +0 -1
- package/dist/memory/preference-learner.js +0 -144
- package/dist/memory/preference-learner.js.map +0 -1
- package/dist/memory/query-expansion.d.ts +0 -28
- package/dist/memory/query-expansion.d.ts.map +0 -1
- package/dist/memory/query-expansion.js +0 -140
- package/dist/memory/query-expansion.js.map +0 -1
- package/dist/memory/regression-guard.d.ts +0 -35
- package/dist/memory/regression-guard.d.ts.map +0 -1
- package/dist/memory/regression-guard.js +0 -90
- package/dist/memory/regression-guard.js.map +0 -1
- package/dist/memory/resume-work.d.ts +0 -37
- package/dist/memory/resume-work.d.ts.map +0 -1
- package/dist/memory/resume-work.js +0 -141
- package/dist/memory/resume-work.js.map +0 -1
- package/dist/memory/soul-manager.d.ts +0 -30
- package/dist/memory/soul-manager.d.ts.map +0 -1
- package/dist/memory/soul-manager.js +0 -171
- package/dist/memory/soul-manager.js.map +0 -1
- package/dist/memory/success-tracker.d.ts +0 -33
- package/dist/memory/success-tracker.d.ts.map +0 -1
- package/dist/memory/success-tracker.js +0 -75
- package/dist/memory/success-tracker.js.map +0 -1
- package/dist/memory/tool-recommender.d.ts +0 -29
- package/dist/memory/tool-recommender.d.ts.map +0 -1
- package/dist/memory/tool-recommender.js +0 -117
- package/dist/memory/tool-recommender.js.map +0 -1
- package/dist/memory/usage-stats.d.ts +0 -98
- package/dist/memory/usage-stats.d.ts.map +0 -1
- package/dist/memory/usage-stats.js +0 -345
- package/dist/memory/usage-stats.js.map +0 -1
- package/dist/utils/extract-tags.d.ts +0 -16
- package/dist/utils/extract-tags.d.ts.map +0 -1
- package/dist/utils/extract-tags.js +0 -40
- package/dist/utils/extract-tags.js.map +0 -1
package/dist/cli/setup.js
CHANGED
|
@@ -86,18 +86,8 @@ const CLIENTS = {
|
|
|
86
86
|
// ─── Server Entry ─────────────────────────────────────────────────────────────
|
|
87
87
|
const SERVER_ENTRY = {
|
|
88
88
|
command: 'npx',
|
|
89
|
-
args: ['-y', 'cortex-mcp
|
|
90
|
-
transportType: 'stdio',
|
|
89
|
+
args: ['-y', 'cortex-mcp'],
|
|
91
90
|
};
|
|
92
|
-
// Entry with optional env vars (for users who set up OpenRouter)
|
|
93
|
-
function getServerEntryWithEnv() {
|
|
94
|
-
const entry = { ...SERVER_ENTRY };
|
|
95
|
-
// Check if OPENROUTER_API_KEY is set in the system environment
|
|
96
|
-
if (process.env.OPENROUTER_API_KEY) {
|
|
97
|
-
entry.env = { OPENROUTER_API_KEY: process.env.OPENROUTER_API_KEY };
|
|
98
|
-
}
|
|
99
|
-
return entry;
|
|
100
|
-
}
|
|
101
91
|
// ─── Helpers ──────────────────────────────────────────────────────────────────
|
|
102
92
|
function readJSON(filePath) {
|
|
103
93
|
try {
|
|
@@ -134,7 +124,7 @@ function configureClient(clientKey) {
|
|
|
134
124
|
return false;
|
|
135
125
|
}
|
|
136
126
|
const config = readJSON(client.configPath);
|
|
137
|
-
const updated = setNestedKey(config, client.configKey,
|
|
127
|
+
const updated = setNestedKey(config, client.configKey, SERVER_ENTRY);
|
|
138
128
|
writeJSON(client.configPath, updated);
|
|
139
129
|
console.log(`[OK] ${client.name} configured!`);
|
|
140
130
|
console.log(` Config: ${client.configPath}`);
|
|
@@ -151,9 +141,9 @@ function autoDetect() {
|
|
|
151
141
|
}
|
|
152
142
|
// ─── Git Hook Installation ────────────────────────────────────────────────────
|
|
153
143
|
const HOOKS = {
|
|
154
|
-
'post-commit': '#!/bin/sh\n# Cortex — Auto-capture commits\
|
|
155
|
-
'post-checkout': '#!/bin/sh\n# Cortex — Track branch switches\
|
|
156
|
-
'post-merge': '#!/bin/sh\n# Cortex — Track merges\
|
|
144
|
+
'post-commit': '#!/bin/sh\n# Cortex — Auto-capture commits\ncortex-capture 2>/dev/null || true\n',
|
|
145
|
+
'post-checkout': '#!/bin/sh\n# Cortex — Track branch switches\ncortex-hooks checkout "$@" 2>/dev/null || true\n',
|
|
146
|
+
'post-merge': '#!/bin/sh\n# Cortex — Track merges\ncortex-hooks merge "$@" 2>/dev/null || true\n',
|
|
157
147
|
};
|
|
158
148
|
function installGitHooks(workspaceRoot) {
|
|
159
149
|
const gitDir = path.join(workspaceRoot, '.git');
|
|
@@ -174,12 +164,7 @@ function installGitHooks(workspaceRoot) {
|
|
|
174
164
|
fs.appendFileSync(hookPath, `\n# Cortex MCP\n${appendLine}\n`);
|
|
175
165
|
}
|
|
176
166
|
else {
|
|
177
|
-
fs.writeFileSync(hookPath, hookContent);
|
|
178
|
-
// Make executable on Unix (safe no-op on Windows)
|
|
179
|
-
try {
|
|
180
|
-
fs.chmodSync(hookPath, 0o755);
|
|
181
|
-
}
|
|
182
|
-
catch { /* Windows ignores chmod */ }
|
|
167
|
+
fs.writeFileSync(hookPath, hookContent, { mode: 0o755 });
|
|
183
168
|
}
|
|
184
169
|
installed++;
|
|
185
170
|
}
|
|
@@ -188,35 +173,35 @@ function installGitHooks(workspaceRoot) {
|
|
|
188
173
|
// ─── Prompt Rules Installation ────────────────────────────────────────────────
|
|
189
174
|
// Each AI client has its own rules file. These tell the AI to auto-call
|
|
190
175
|
// force_recall at conversation start and auto_learn after every response.
|
|
191
|
-
const CORTEX_RULES = `# Cortex Memory Rules
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
-
|
|
209
|
-
-
|
|
210
|
-
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
##
|
|
219
|
-
|
|
176
|
+
const CORTEX_RULES = `# Cortex Memory Rules
|
|
177
|
+
|
|
178
|
+
You have access to Cortex MCP — a persistent memory system that remembers everything across sessions.
|
|
179
|
+
|
|
180
|
+
## At Conversation Start (ALWAYS do this first)
|
|
181
|
+
Call \`force_recall\` with the topic of the user's request.
|
|
182
|
+
- Returns all stored corrections, decisions, conventions, and bug fixes
|
|
183
|
+
- Prevents repeating past mistakes and re-making decisions already made
|
|
184
|
+
- Example: force_recall({ query: "authentication", currentFile: "auth.ts" })
|
|
185
|
+
|
|
186
|
+
## After EVERY Response (ALWAYS do this last)
|
|
187
|
+
Call \`auto_learn\` with the full text of your response.
|
|
188
|
+
- Automatically extracts and stores decisions, corrections, conventions, bug fixes
|
|
189
|
+
- Zero effort — Cortex learns passively just from reading your replies
|
|
190
|
+
- Example: auto_learn({ content: "We decided to use Prisma over TypeORM because..." })
|
|
191
|
+
|
|
192
|
+
## Store Critical Items Explicitly (when significant)
|
|
193
|
+
Call \`store_memory\` for high-importance items that must never be forgotten:
|
|
194
|
+
- Critical architecture decisions → type: decision
|
|
195
|
+
- Mistakes that must never be repeated → type: correction
|
|
196
|
+
- Project-wide coding rules → type: convention
|
|
197
|
+
- Hard bugs and their root cause → type: bug_fix
|
|
198
|
+
|
|
199
|
+
## Before Writing Code
|
|
200
|
+
Call \`verify_code\` to check that packages exist in package.json and functions are exported.
|
|
201
|
+
Call \`verify_files\` to confirm file paths are real before referencing them.
|
|
202
|
+
|
|
203
|
+
## Memory Budget
|
|
204
|
+
Cortex resets daily limits automatically every 24 hours.
|
|
220
205
|
`;
|
|
221
206
|
// Map of client → rules file path (relative to project root)
|
|
222
207
|
const RULES_FILES = {
|
|
@@ -235,8 +220,8 @@ function installPromptRules(workspaceRoot, detectedClients) {
|
|
|
235
220
|
// Don't overwrite — check if Cortex rules already present
|
|
236
221
|
if (fs.existsSync(fullPath)) {
|
|
237
222
|
const existing = fs.readFileSync(fullPath, 'utf-8');
|
|
238
|
-
if (existing.includes('mcp_cortex_force_recall'))
|
|
239
|
-
continue; // Already installed
|
|
223
|
+
if (existing.includes('mcp_cortex_force_recall') || existing.includes('force_recall') || existing.includes('Cortex Memory Rules'))
|
|
224
|
+
continue; // Already installed (old or new format)
|
|
240
225
|
// Append to existing rules
|
|
241
226
|
fs.appendFileSync(fullPath, '\n\n' + CORTEX_RULES);
|
|
242
227
|
console.log(`[OK] Cortex rules appended to ${rulesFile}`);
|
|
@@ -292,7 +277,7 @@ function main() {
|
|
|
292
277
|
const count = installGitHooks(cwd);
|
|
293
278
|
if (count > 0) {
|
|
294
279
|
console.log(`[OK] ${count} git hook(s) installed (commits, branches, merges)`);
|
|
295
|
-
console.log(' Every
|
|
280
|
+
console.log(' Every commit will now be auto-captured as a memory!');
|
|
296
281
|
}
|
|
297
282
|
else {
|
|
298
283
|
console.log('[OK] Git hooks already installed');
|
|
@@ -302,12 +287,29 @@ function main() {
|
|
|
302
287
|
console.log('[INFO] No git repo detected in current directory.');
|
|
303
288
|
console.log(' Run "cortex-setup" inside a git repo to enable auto-capture.');
|
|
304
289
|
}
|
|
305
|
-
console.log('\nDone! Restart your AI client to activate Cortex.');
|
|
306
290
|
console.log('');
|
|
307
|
-
console.log('
|
|
308
|
-
console.log('
|
|
309
|
-
console.log('
|
|
310
|
-
console.log('
|
|
291
|
+
console.log('══════════════════════════════════════════════════════════');
|
|
292
|
+
console.log(' ✅ Cortex MCP is Ready!');
|
|
293
|
+
console.log('══════════════════════════════════════════════════════════');
|
|
294
|
+
console.log('');
|
|
295
|
+
console.log(' NEXT STEPS:');
|
|
296
|
+
console.log(' 1. Restart your AI client (Cursor, Claude, etc.)');
|
|
297
|
+
console.log(' 2. Start a new conversation — Cortex activates automatically');
|
|
298
|
+
console.log(' 3. Open your brain dashboard anytime:');
|
|
299
|
+
console.log(' http://localhost:3456');
|
|
300
|
+
console.log('');
|
|
301
|
+
console.log(' VERIFY IT\'S WORKING:');
|
|
302
|
+
console.log(' Ask your AI: "What does Cortex know about this project?"');
|
|
303
|
+
console.log(' Or ask: "Call force_recall with topic: test"');
|
|
304
|
+
console.log('');
|
|
305
|
+
console.log(' HOW MEMORIES ARE STORED:');
|
|
306
|
+
console.log(' • Auto: AI calls auto_learn after every response (passive)');
|
|
307
|
+
console.log(' • Auto: Git commits captured on every push');
|
|
308
|
+
console.log(' • Manual: Tell AI "remember that we use TypeScript strict mode"');
|
|
309
|
+
console.log('');
|
|
310
|
+
console.log(' RESOURCE URI (for clients that support resource auto-read):');
|
|
311
|
+
console.log(' memory://brain/context');
|
|
312
|
+
console.log('══════════════════════════════════════════════════════════');
|
|
311
313
|
console.log('');
|
|
312
314
|
}
|
|
313
315
|
main();
|
package/dist/cli/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":";;AACA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAEzB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;AAU1B,MAAM,OAAO,GAAiC;IAC1C,WAAW,EAAE;QACT,IAAI,EAAE,sBAAsB;QAC5B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,CAAC;QACxE,SAAS,EAAE,YAAY;KAC1B;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,gBAAgB;QACtB,UAAU,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;YACpC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,4BAA4B,CAAC;YAC/E,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,qBAAqB,EAAE,QAAQ,EAAE,4BAA4B,CAAC;QAC/F,SAAS,EAAE,YAAY;KAC1B;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC;QAClD,SAAS,EAAE,YAAY;KAC1B;IACD,OAAO,EAAE;QACL,IAAI,EAAE,0BAA0B;QAChC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,eAAe,CAAC;QACvD,SAAS,EAAE,gCAAgC;KAC9C;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,CAAC;QACtE,SAAS,EAAE,YAAY;KAC1B;IACD,GAAG,EAAE;QACD,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;YACpC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,CAAC;YAC/D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,CAAC;QACxD,SAAS,EAAE,YAAY;KAC1B;CACJ,CAAC;AAEF,iFAAiF;AAEjF,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
|
package/dist/config/config.js
CHANGED
|
@@ -18,14 +18,14 @@ exports.CONFIG = {
|
|
|
18
18
|
// Memory decay
|
|
19
19
|
INSIGHT_MAX_AGE_DAYS: 30,
|
|
20
20
|
UNUSED_MAX_AGE_DAYS: 60,
|
|
21
|
-
MEMORY_CAP:
|
|
21
|
+
MEMORY_CAP: 10000,
|
|
22
22
|
// Cache
|
|
23
23
|
CACHE_TTL: 60_000, // 1 minute
|
|
24
24
|
CACHE_MAX: 50,
|
|
25
25
|
// Embeddings
|
|
26
26
|
EMBEDDING_TIMEOUT: 30_000, // 30 seconds
|
|
27
27
|
// Context
|
|
28
|
-
MAX_CONTEXT_CHARS:
|
|
28
|
+
MAX_CONTEXT_CHARS: parseInt(process.env.CORTEX_MAX_CONTEXT_CHARS || "12000", 10),
|
|
29
29
|
MAX_RECALL_RESULTS: 10,
|
|
30
30
|
// Server
|
|
31
31
|
DASHBOARD_PORT: 3456,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,oCAAsC;AAEzB,QAAA,MAAM,GAAG;IAClB,gCAAgC;IAChC,UAAU,EAAE;QACR,CAAC,kBAAU,CAAC,UAAU,CAAC,EAAE,GAAG;QAC5B,CAAC,kBAAU,CAAC,QAAQ,CAAC,EAAE,GAAG;QAC1B,CAAC,kBAAU,CAAC,UAAU,CAAC,EAAE,GAAG;QAC5B,CAAC,kBAAU,CAAC,OAAO,CAAC,EAAE,GAAG;QACzB,CAAC,kBAAU,CAAC,OAAO,CAAC,EAAE,GAAG;QACzB,CAAC,kBAAU,CAAC,UAAU,CAAC,EAAE,GAAG;KACL;IAE3B,eAAe;IACf,oBAAoB,EAAE,EAAE;IACxB,mBAAmB,EAAE,EAAE;IACvB,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,oCAAsC;AAEzB,QAAA,MAAM,GAAG;IAClB,gCAAgC;IAChC,UAAU,EAAE;QACR,CAAC,kBAAU,CAAC,UAAU,CAAC,EAAE,GAAG;QAC5B,CAAC,kBAAU,CAAC,QAAQ,CAAC,EAAE,GAAG;QAC1B,CAAC,kBAAU,CAAC,UAAU,CAAC,EAAE,GAAG;QAC5B,CAAC,kBAAU,CAAC,OAAO,CAAC,EAAE,GAAG;QACzB,CAAC,kBAAU,CAAC,OAAO,CAAC,EAAE,GAAG;QACzB,CAAC,kBAAU,CAAC,UAAU,CAAC,EAAE,GAAG;KACL;IAE3B,eAAe;IACf,oBAAoB,EAAE,EAAE;IACxB,mBAAmB,EAAE,EAAE;IACvB,UAAU,EAAE,GAAG;IAEf,QAAQ;IACR,SAAS,EAAE,MAAM,EAAM,WAAW;IAClC,SAAS,EAAE,EAAE;IAEb,aAAa;IACb,iBAAiB,EAAE,MAAM,EAAE,aAAa;IAExC,UAAU;IACV,iBAAiB,EAAE,IAAI;IACvB,kBAAkB,EAAE,EAAE;IAEtB,SAAS;IACT,cAAc,EAAE,IAAI;CACvB,CAAC"}
|
package/dist/db/database.d.ts
CHANGED
|
@@ -2,17 +2,9 @@ import type { SqliteDatabase } from '../types';
|
|
|
2
2
|
export declare class CognitiveDatabase {
|
|
3
3
|
private db;
|
|
4
4
|
private _dbPath;
|
|
5
|
-
private _writeCount;
|
|
6
|
-
private _checkpointTimer;
|
|
7
|
-
private static readonly CHECKPOINT_WRITE_THRESHOLD;
|
|
8
|
-
private static readonly CHECKPOINT_INTERVAL_MS;
|
|
9
5
|
constructor(storagePath: string);
|
|
10
6
|
private initialize;
|
|
11
7
|
private migrate;
|
|
12
|
-
/** Start periodic WAL checkpointing (every 30 min) */
|
|
13
|
-
private startCheckpointTimer;
|
|
14
|
-
/** Track a write operation and auto-checkpoint if threshold reached */
|
|
15
|
-
trackWrite(): void;
|
|
16
8
|
/** Get the raw database connection for direct queries */
|
|
17
9
|
get connection(): SqliteDatabase;
|
|
18
10
|
/** Get database file path */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AA0I/C,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,OAAO,CAAS;
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AA0I/C,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,OAAO,CAAS;gBAEZ,WAAW,EAAE,MAAM;IAiB/B,OAAO,CAAC,UAAU;IA2BlB,OAAO,CAAC,OAAO;IAMf,yDAAyD;IACzD,IAAI,UAAU,IAAI,cAAc,CAE/B;IAED,6BAA6B;IAC7B,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,iCAAiC;IACjC,IAAI,SAAS,IAAI,MAAM,CAOtB;IAED,sCAAsC;IACtC,UAAU,IAAI,IAAI;IAIlB,oCAAoC;IACpC,KAAK,IAAI,IAAI;CAId"}
|
package/dist/db/database.js
CHANGED
|
@@ -144,6 +144,7 @@ CREATE TABLE IF NOT EXISTS user_signals (
|
|
|
144
144
|
correction TEXT,
|
|
145
145
|
timestamp INTEGER NOT NULL
|
|
146
146
|
);
|
|
147
|
+
CREATE INDEX IF NOT EXISTS idx_signals_memory ON user_signals(memory_id);
|
|
147
148
|
|
|
148
149
|
-- ═══ RETRIEVAL FEEDBACK ═══
|
|
149
150
|
CREATE TABLE IF NOT EXISTS feedback_log (
|
|
@@ -181,10 +182,6 @@ CREATE TABLE IF NOT EXISTS adaptive_config (
|
|
|
181
182
|
class CognitiveDatabase {
|
|
182
183
|
db;
|
|
183
184
|
_dbPath;
|
|
184
|
-
_writeCount = 0;
|
|
185
|
-
_checkpointTimer = null;
|
|
186
|
-
static CHECKPOINT_WRITE_THRESHOLD = 100;
|
|
187
|
-
static CHECKPOINT_INTERVAL_MS = 30 * 60 * 1000; // 30 minutes
|
|
188
185
|
constructor(storagePath) {
|
|
189
186
|
const dataDir = path.join(storagePath, 'data');
|
|
190
187
|
if (!fs.existsSync(dataDir)) {
|
|
@@ -197,7 +194,6 @@ class CognitiveDatabase {
|
|
|
197
194
|
: undefined;
|
|
198
195
|
this.db = new better_sqlite3_1.default(this._dbPath, { nativeBinding });
|
|
199
196
|
this.initialize();
|
|
200
|
-
this.startCheckpointTimer();
|
|
201
197
|
}
|
|
202
198
|
initialize() {
|
|
203
199
|
// Execute pragmas first (they can't be in a transaction)
|
|
@@ -222,35 +218,11 @@ class CognitiveDatabase {
|
|
|
222
218
|
}
|
|
223
219
|
}
|
|
224
220
|
}
|
|
225
|
-
migrate(
|
|
221
|
+
migrate(fromVersion) {
|
|
226
222
|
// Future migrations go here
|
|
227
223
|
// if (fromVersion < 2) { ... }
|
|
228
224
|
this.db.prepare('UPDATE schema_version SET version = ?').run(SCHEMA_VERSION);
|
|
229
225
|
}
|
|
230
|
-
/** Start periodic WAL checkpointing (every 30 min) */
|
|
231
|
-
startCheckpointTimer() {
|
|
232
|
-
this._checkpointTimer = setInterval(() => {
|
|
233
|
-
try {
|
|
234
|
-
this.checkpoint();
|
|
235
|
-
}
|
|
236
|
-
catch { }
|
|
237
|
-
}, CognitiveDatabase.CHECKPOINT_INTERVAL_MS);
|
|
238
|
-
// Don't block process exit
|
|
239
|
-
if (this._checkpointTimer.unref) {
|
|
240
|
-
this._checkpointTimer.unref();
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
/** Track a write operation and auto-checkpoint if threshold reached */
|
|
244
|
-
trackWrite() {
|
|
245
|
-
this._writeCount++;
|
|
246
|
-
if (this._writeCount >= CognitiveDatabase.CHECKPOINT_WRITE_THRESHOLD) {
|
|
247
|
-
this._writeCount = 0;
|
|
248
|
-
try {
|
|
249
|
-
this.checkpoint();
|
|
250
|
-
}
|
|
251
|
-
catch { }
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
226
|
/** Get the raw database connection for direct queries */
|
|
255
227
|
get connection() {
|
|
256
228
|
return this.db;
|
|
@@ -275,10 +247,6 @@ class CognitiveDatabase {
|
|
|
275
247
|
}
|
|
276
248
|
/** Close the database connection */
|
|
277
249
|
close() {
|
|
278
|
-
if (this._checkpointTimer) {
|
|
279
|
-
clearInterval(this._checkpointTimer);
|
|
280
|
-
this._checkpointTimer = null;
|
|
281
|
-
}
|
|
282
250
|
this.checkpoint();
|
|
283
251
|
this.db.close();
|
|
284
252
|
}
|
package/dist/db/database.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;GAGG;AACH,oEAAsC;AACtC,2CAA6B;AAC7B,uCAAyB;AAGzB,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoIlB,CAAC;AAEF,MAAa,iBAAiB;IACpB,EAAE,CAAiB;IACnB,OAAO,CAAS;
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"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"}
|
package/dist/db/event-log.d.ts
CHANGED
|
@@ -8,10 +8,6 @@ export declare class EventLog {
|
|
|
8
8
|
private db;
|
|
9
9
|
private appendStmt;
|
|
10
10
|
private markProcessedStmt;
|
|
11
|
-
private getUnprocessedStmt;
|
|
12
|
-
private getByFileStmt;
|
|
13
|
-
private getRecentStmt;
|
|
14
|
-
private countStmt;
|
|
15
11
|
constructor(database: CognitiveDatabase);
|
|
16
12
|
/** Append a new event (immutable — never modified after insert) */
|
|
17
13
|
append(event: BrainEvent): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-log.d.ts","sourceRoot":"","sources":["../../src/db/event-log.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,UAAU,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,qBAAa,QAAQ;IACjB,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,UAAU,CAAwC;IAC1D,OAAO,CAAC,iBAAiB,CAAwC;
|
|
1
|
+
{"version":3,"file":"event-log.d.ts","sourceRoot":"","sources":["../../src/db/event-log.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,UAAU,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,qBAAa,QAAQ;IACjB,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,UAAU,CAAwC;IAC1D,OAAO,CAAC,iBAAiB,CAAwC;gBAErD,QAAQ,EAAE,iBAAiB;IAavC,mEAAmE;IACnE,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM;IAcjC,qDAAqD;IACrD,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE;IAW3C,iCAAiC;IACjC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIpC,4CAA4C;IAC5C,cAAc,CAAC,KAAK,GAAE,MAAY,GAAG,UAAU,EAAE;IAQjD,yBAAyB;IACzB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,UAAU,EAAE;IAQ7D,wBAAwB;IACxB,SAAS,CAAC,KAAK,GAAE,MAAW,GAAG,UAAU,EAAE;IAQ3C,wBAAwB;IACxB,KAAK,IAAI,MAAM;IAKf,OAAO,CAAC,UAAU;CAarB"}
|
package/dist/db/event-log.js
CHANGED
|
@@ -5,11 +5,6 @@ class EventLog {
|
|
|
5
5
|
db;
|
|
6
6
|
appendStmt;
|
|
7
7
|
markProcessedStmt;
|
|
8
|
-
// Cached read-query prepared statements
|
|
9
|
-
getUnprocessedStmt;
|
|
10
|
-
getByFileStmt;
|
|
11
|
-
getRecentStmt;
|
|
12
|
-
countStmt;
|
|
13
8
|
constructor(database) {
|
|
14
9
|
this.db = database.connection;
|
|
15
10
|
this.appendStmt = this.db.prepare(`
|
|
@@ -19,11 +14,6 @@ class EventLog {
|
|
|
19
14
|
this.markProcessedStmt = this.db.prepare(`
|
|
20
15
|
UPDATE events SET processed = 1 WHERE id = ?
|
|
21
16
|
`);
|
|
22
|
-
// Cache read query statements
|
|
23
|
-
this.getUnprocessedStmt = this.db.prepare('SELECT * FROM events WHERE processed = 0 ORDER BY timestamp ASC LIMIT ?');
|
|
24
|
-
this.getByFileStmt = this.db.prepare('SELECT * FROM events WHERE file = ? ORDER BY timestamp DESC LIMIT ?');
|
|
25
|
-
this.getRecentStmt = this.db.prepare('SELECT * FROM events ORDER BY timestamp DESC LIMIT ?');
|
|
26
|
-
this.countStmt = this.db.prepare('SELECT COUNT(*) as cnt FROM events');
|
|
27
17
|
}
|
|
28
18
|
/** Append a new event (immutable — never modified after insert) */
|
|
29
19
|
append(event) {
|
|
@@ -55,22 +45,28 @@ class EventLog {
|
|
|
55
45
|
}
|
|
56
46
|
/** Get unprocessed events (oldest first) */
|
|
57
47
|
getUnprocessed(limit = 100) {
|
|
58
|
-
const rows = this.
|
|
48
|
+
const rows = this.db
|
|
49
|
+
.prepare('SELECT * FROM events WHERE processed = 0 ORDER BY timestamp ASC LIMIT ?')
|
|
50
|
+
.all(limit);
|
|
59
51
|
return rows.map(this.rowToEvent);
|
|
60
52
|
}
|
|
61
53
|
/** Get events by file */
|
|
62
54
|
getByFile(filePath, limit = 50) {
|
|
63
|
-
const rows = this.
|
|
55
|
+
const rows = this.db
|
|
56
|
+
.prepare('SELECT * FROM events WHERE file = ? ORDER BY timestamp DESC LIMIT ?')
|
|
57
|
+
.all(filePath, limit);
|
|
64
58
|
return rows.map(this.rowToEvent);
|
|
65
59
|
}
|
|
66
60
|
/** Get recent events */
|
|
67
61
|
getRecent(limit = 50) {
|
|
68
|
-
const rows = this.
|
|
62
|
+
const rows = this.db
|
|
63
|
+
.prepare('SELECT * FROM events ORDER BY timestamp DESC LIMIT ?')
|
|
64
|
+
.all(limit);
|
|
69
65
|
return rows.map(this.rowToEvent);
|
|
70
66
|
}
|
|
71
67
|
/** Total event count */
|
|
72
68
|
count() {
|
|
73
|
-
const row = this.
|
|
69
|
+
const row = this.db.prepare('SELECT COUNT(*) as cnt FROM events').get();
|
|
74
70
|
return row.cnt;
|
|
75
71
|
}
|
|
76
72
|
rowToEvent(row) {
|
package/dist/db/event-log.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-log.js","sourceRoot":"","sources":["../../src/db/event-log.ts"],"names":[],"mappings":";;;AAOA,MAAa,QAAQ;IACT,EAAE,CAAiB;IACnB,UAAU,CAAwC;IAClD,iBAAiB,CAAwC;
|
|
1
|
+
{"version":3,"file":"event-log.js","sourceRoot":"","sources":["../../src/db/event-log.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,25 +9,8 @@ export declare class MemoryStore {
|
|
|
9
9
|
private touchStmt;
|
|
10
10
|
private insertEdgeStmt;
|
|
11
11
|
private insertVectorStmt;
|
|
12
|
-
private getActiveStmt;
|
|
13
|
-
private getByTypeStmt;
|
|
14
|
-
private getByFileStmt;
|
|
15
|
-
private searchFTSStmt;
|
|
16
|
-
private findByTagStmt;
|
|
17
|
-
private getByTimestampRangeStmt;
|
|
18
|
-
private getByDirectoryStmt;
|
|
19
|
-
private getStaleStmt;
|
|
20
|
-
private getLeastImportantStmt;
|
|
21
|
-
private activeCountStmt;
|
|
22
|
-
private totalCountStmt;
|
|
23
|
-
private findDuplicateStmt;
|
|
24
|
-
private getEdgesFromStmt;
|
|
25
|
-
private getEdgesToStmt;
|
|
26
12
|
private vectors;
|
|
27
|
-
private _transaction;
|
|
28
13
|
constructor(database: CognitiveDatabase);
|
|
29
|
-
/** Run multiple operations in a single SQLite transaction (10-100x faster for bulk writes) */
|
|
30
|
-
runTransaction(fn: () => void): void;
|
|
31
14
|
/** Create a new memory unit (with deduplication) */
|
|
32
15
|
add(memory: Partial<MemoryUnit> & {
|
|
33
16
|
type: MemoryType;
|
|
@@ -36,8 +19,8 @@ export declare class MemoryStore {
|
|
|
36
19
|
}): MemoryUnit;
|
|
37
20
|
/**
|
|
38
21
|
* Find a duplicate memory by type + intent similarity.
|
|
39
|
-
* Uses
|
|
40
|
-
* Returns existing memory if similarity >
|
|
22
|
+
* Uses word-overlap (Jaccard similarity) — no ML needed.
|
|
23
|
+
* Returns existing memory if similarity > 0.7, else undefined.
|
|
41
24
|
*/
|
|
42
25
|
private findDuplicate;
|
|
43
26
|
/** Tokenize text into lowercase words (stop-word filtered) */
|
|
@@ -56,7 +39,7 @@ export declare class MemoryStore {
|
|
|
56
39
|
getByType(type: MemoryType, limit?: number): MemoryUnit[];
|
|
57
40
|
/** Get memories related to a file */
|
|
58
41
|
getByFile(filePath: string, limit?: number): MemoryUnit[];
|
|
59
|
-
/** Full-text search via FTS5
|
|
42
|
+
/** Full-text search via FTS5 */
|
|
60
43
|
searchFTS(query: string, limit?: number): ScoredMemory[];
|
|
61
44
|
/** Store a vector embedding */
|
|
62
45
|
storeVector(id: string, embedding: Float32Array): void;
|
|
@@ -72,16 +55,6 @@ export declare class MemoryStore {
|
|
|
72
55
|
getEdgesTo(targetId: string): GraphEdge[];
|
|
73
56
|
/** Graph traversal — find related memories within N hops */
|
|
74
57
|
getRelated(memoryId: string, maxHops?: number, limit?: number): ScoredMemory[];
|
|
75
|
-
/** Find active memories by tag (SQL LIKE on JSON tags column) */
|
|
76
|
-
findByTag(tag: string, limit?: number): MemoryUnit[];
|
|
77
|
-
/** Get active memories within a timestamp range */
|
|
78
|
-
getActiveByTimestampRange(start: number, end: number, limit?: number): MemoryUnit[];
|
|
79
|
-
/** Get active memories related to files in a directory (SQL LIKE prefix) */
|
|
80
|
-
getByDirectory(dirPrefix: string, limit?: number): MemoryUnit[];
|
|
81
|
-
/** Get active memories with 0 access older than a given age */
|
|
82
|
-
getStaleMemories(maxAgeMs: number, limit?: number): MemoryUnit[];
|
|
83
|
-
/** Get active memories sorted by importance ASC (for cap enforcement) */
|
|
84
|
-
getLeastImportant(limit: number): MemoryUnit[];
|
|
85
58
|
/** Total active memories */
|
|
86
59
|
activeCount(): number;
|
|
87
60
|
/** Total memories (including inactive) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-store.d.ts","sourceRoot":"","sources":["../../src/db/memory-store.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,YAAY,EAEf,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"memory-store.d.ts","sourceRoot":"","sources":["../../src/db/memory-store.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,YAAY,EAEf,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,qBAAa,WAAW;IACpB,OAAO,CAAC,EAAE,CAAiB;IAG3B,OAAO,CAAC,gBAAgB,CAAwC;IAChE,OAAO,CAAC,gBAAgB,CAAwC;IAChE,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,cAAc,CAAwC;IAC9D,OAAO,CAAC,SAAS,CAAwC;IACzD,OAAO,CAAC,cAAc,CAAwC;IAC9D,OAAO,CAAC,gBAAgB,CAAwC;IAGhE,OAAO,CAAC,OAAO,CAAwC;gBAE3C,QAAQ,EAAE,iBAAiB;IAkEvC,oDAAoD;IACpD,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU;IAuDnG;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAoBrB,8DAA8D;IAC9D,OAAO,CAAC,QAAQ;IAUhB,gCAAgC;IAChC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI;IAoBtD,yBAAyB;IACzB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAKvC,wCAAwC;IACxC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IAInD,iDAAiD;IACjD,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIvB,8BAA8B;IAC9B,SAAS,CAAC,KAAK,GAAE,MAAa,GAAG,UAAU,EAAE;IAO7C,2BAA2B;IAC3B,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,GAAE,MAAY,GAAG,UAAU,EAAE;IAO9D,qCAAqC;IACrC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,UAAU,EAAE;IAS7D,gCAAgC;IAChC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,YAAY,EAAE;IAqB5D,+BAA+B;IAC/B,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,IAAI;IAMtD,kCAAkC;IAClC,YAAY,CAAC,cAAc,EAAE,YAAY,EAAE,KAAK,GAAE,MAAW,GAAG,YAAY,EAAE;IAoB9E,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,WAAW;IAWnB,mCAAmC;IACnC,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAU9B,qCAAqC;IACrC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE;IAM3C,mCAAmC;IACnC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE;IAMzC,4DAA4D;IAC5D,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,MAAU,EAAE,KAAK,GAAE,MAAW,GAAG,YAAY,EAAE;IAgCrF,4BAA4B;IAC5B,WAAW,IAAI,MAAM;IAOrB,0CAA0C;IAC1C,UAAU,IAAI,MAAM;IASpB,OAAO,CAAC,WAAW;IAwBZ,YAAY,IAAI,IAAI;CAU9B"}
|