@londer/cortex 0.1.0 → 0.2.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 (83) hide show
  1. package/CHANGELOG.md +30 -1
  2. package/README.md +43 -14
  3. package/dist/cli.js +139 -29
  4. package/dist/cli.js.map +1 -1
  5. package/dist/config-store.d.ts.map +1 -1
  6. package/dist/config-store.js +3 -0
  7. package/dist/config-store.js.map +1 -1
  8. package/dist/config.d.ts +5 -0
  9. package/dist/config.d.ts.map +1 -1
  10. package/dist/config.js +6 -0
  11. package/dist/config.js.map +1 -1
  12. package/dist/extraction/extractor.d.ts +5 -2
  13. package/dist/extraction/extractor.d.ts.map +1 -1
  14. package/dist/extraction/extractor.js +38 -2
  15. package/dist/extraction/extractor.js.map +1 -1
  16. package/dist/extraction/tier25-ollama.d.ts +8 -0
  17. package/dist/extraction/tier25-ollama.d.ts.map +1 -0
  18. package/dist/extraction/tier25-ollama.js +56 -0
  19. package/dist/extraction/tier25-ollama.js.map +1 -0
  20. package/dist/index.js +115 -10
  21. package/dist/index.js.map +1 -1
  22. package/dist/llm/ollama-client.d.ts +39 -0
  23. package/dist/llm/ollama-client.d.ts.map +1 -0
  24. package/dist/llm/ollama-client.js +172 -0
  25. package/dist/llm/ollama-client.js.map +1 -0
  26. package/dist/orchestration/ranker.d.ts +2 -1
  27. package/dist/orchestration/ranker.d.ts.map +1 -1
  28. package/dist/orchestration/ranker.js +11 -1
  29. package/dist/orchestration/ranker.js.map +1 -1
  30. package/dist/orchestration/scope.d.ts +4 -3
  31. package/dist/orchestration/scope.d.ts.map +1 -1
  32. package/dist/orchestration/scope.js +16 -2
  33. package/dist/orchestration/scope.js.map +1 -1
  34. package/dist/sharing/cross-project.d.ts +15 -0
  35. package/dist/sharing/cross-project.d.ts.map +1 -0
  36. package/dist/sharing/cross-project.js +35 -0
  37. package/dist/sharing/cross-project.js.map +1 -0
  38. package/dist/storage/neo4j.d.ts +1 -0
  39. package/dist/storage/neo4j.d.ts.map +1 -1
  40. package/dist/storage/neo4j.js +10 -0
  41. package/dist/storage/neo4j.js.map +1 -1
  42. package/dist/storage/sqlite.d.ts +41 -1
  43. package/dist/storage/sqlite.d.ts.map +1 -1
  44. package/dist/storage/sqlite.js +233 -3
  45. package/dist/storage/sqlite.js.map +1 -1
  46. package/dist/templates/claude-instructions.d.ts +1 -1
  47. package/dist/templates/claude-instructions.d.ts.map +1 -1
  48. package/dist/templates/claude-instructions.js +2 -1
  49. package/dist/templates/claude-instructions.js.map +1 -1
  50. package/dist/tools/config.d.ts +2 -0
  51. package/dist/tools/config.d.ts.map +1 -1
  52. package/dist/tools/config.js +12 -1
  53. package/dist/tools/config.js.map +1 -1
  54. package/dist/tools/context.d.ts +2 -1
  55. package/dist/tools/context.d.ts.map +1 -1
  56. package/dist/tools/context.js +13 -4
  57. package/dist/tools/context.js.map +1 -1
  58. package/dist/tools/graph-query.d.ts +2 -1
  59. package/dist/tools/graph-query.d.ts.map +1 -1
  60. package/dist/tools/graph-query.js +5 -1
  61. package/dist/tools/graph-query.js.map +1 -1
  62. package/dist/tools/search.d.ts +2 -1
  63. package/dist/tools/search.d.ts.map +1 -1
  64. package/dist/tools/search.js +16 -3
  65. package/dist/tools/search.js.map +1 -1
  66. package/dist/tools/share.d.ts +4 -0
  67. package/dist/tools/share.d.ts.map +1 -0
  68. package/dist/tools/share.js +51 -0
  69. package/dist/tools/share.js.map +1 -0
  70. package/dist/tools/stats.d.ts +5 -0
  71. package/dist/tools/stats.d.ts.map +1 -0
  72. package/dist/tools/stats.js +30 -0
  73. package/dist/tools/stats.js.map +1 -0
  74. package/dist/tools/store.d.ts.map +1 -1
  75. package/dist/tools/store.js +2 -0
  76. package/dist/tools/store.js.map +1 -1
  77. package/dist/tracking/access-tracker.d.ts +36 -0
  78. package/dist/tracking/access-tracker.d.ts.map +1 -0
  79. package/dist/tracking/access-tracker.js +68 -0
  80. package/dist/tracking/access-tracker.js.map +1 -0
  81. package/dist/types/index.d.ts +63 -4
  82. package/dist/types/index.d.ts.map +1 -1
  83. package/package.json +73 -69
package/CHANGELOG.md CHANGED
@@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [0.2.0] - 2026-03-15
8
+ ## [0.2.0] - 2026-03-16
9
9
 
10
10
  ### Added
11
11
 
@@ -37,6 +37,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
37
37
  - **npm package** — Published as `@londer/cortex` with proper build step
38
38
  - **Conventional commits** — commitlint + husky for commit message enforcement
39
39
  - **Build infrastructure** — TypeScript compilation to `dist/`, declaration maps, source maps
40
+ - **Access tracking & staleness scoring** — Memories now track access count, last access time, and staleness score
41
+ - Staleness formula: base decay from days since last access, with frequency and graph-connectivity discounts
42
+ - Ranker applies staleness penalty: `final_score = score * (1 - staleness * 0.3)`
43
+ - Batch staleness recalculation for all memories
44
+ - `CORTEX_STALENESS_THRESHOLD_DAYS` config (default: 90)
45
+ - **`memory_stats` MCP tool** — Aggregate statistics: totals, by type/project, most/least accessed, staleness, graph stats
46
+ - **`cortex stats` CLI command** — Formatted statistics with live staleness update
47
+ - **Ollama support (Tier 2.5)** — Local LLM extraction via Ollama
48
+ - `OllamaClient` with robust JSON repair (markdown fences, trailing commas, single quotes, unquoted keys)
49
+ - `Tier25Ollama` extractor with explicit JSON prompts for smaller models
50
+ - Fallback chain: Tier 3 (Anthropic) → Tier 2.5 (Ollama) → Tier 2 (NLP) → Tier 1 (Regex)
51
+ - Auto-extraction and consolidation use Ollama when Anthropic unavailable
52
+ - `cortex ollama status` and `cortex ollama pull` CLI commands
53
+ - Runtime-settable: `ollama_enabled`, `ollama_url`, `ollama_model` via `memory_config`
54
+ - Config: `CORTEX_OLLAMA_URL`, `CORTEX_OLLAMA_MODEL`, `CORTEX_OLLAMA_ENABLED`
55
+ - **Cross-project memory sharing** — Share memories across linked projects
56
+ - Memory visibility: `project-only` (default), `cross-project`, `global`
57
+ - `project_links` table for bidirectional project linking
58
+ - `CROSS_PROJECT` scope tier (1.2x boost) for shared memories
59
+ - `memory_share` MCP tool: promote visibility, link/unlink projects, list links
60
+ - `memory_store` accepts optional `visibility` parameter
61
+ - `memory_search` and `memory_context` respect visibility and include shared/global memories
62
+ - Shared entity auto-detection (logs suggestions to stderr, never auto-shares)
63
+ - **`cortex setup --dev`** — Separate dev container management (ports 26333/27687)
40
64
 
41
65
  ### Changed
42
66
 
@@ -46,6 +70,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
46
70
  - MCP server version bumped to 0.2.0
47
71
  - Package renamed to `@londer/cortex`
48
72
  - Added `CONTRIBUTING.md` with branching strategy, commit rules, and merge policy
73
+ - `memory_search`, `memory_context`, `memory_graph_query` now log access for returned results
74
+ - `memory_config` output includes Ollama status
75
+ - `cortex init` template documents Tier 2.5 (Ollama) and updated fallback chain
76
+ - Dev environment fix: `.env.dev` properly configured, `docker:dev` scripts use `--env-file .env.dev`
77
+ - `cortex setup` always copies a fresh compose file and supports `--dev` flag
49
78
 
50
79
  ## [0.1.0] - 2026-03-15
51
80
 
package/README.md CHANGED
@@ -65,6 +65,21 @@ cortex config set anthropic_api_key sk-ant-your-key-here
65
65
  export ANTHROPIC_API_KEY=sk-ant-your-key-here
66
66
  ```
67
67
 
68
+ ### Ollama (Local LLM)
69
+
70
+ For privacy-first LLM extraction without an API key, install [Ollama](https://ollama.ai):
71
+
72
+ ```bash
73
+ # Check Ollama status
74
+ cortex ollama status
75
+
76
+ # Pull the default model
77
+ cortex ollama pull
78
+
79
+ # Or configure a different model
80
+ cortex config set ollama_model mistral
81
+ ```
82
+
68
83
  ## Extraction Tiers
69
84
 
70
85
  Cortex uses a tiered entity extraction system:
@@ -73,22 +88,24 @@ Cortex uses a tiered entity extraction system:
73
88
  |------|--------|---------|---------|------|-------------|
74
89
  | 1 | Regex + Heuristics | Basic | < 1ms | Free | Always available |
75
90
  | 2 | NLP (compromise.js) | Good | < 50ms | Free | Always available |
91
+ | 2.5 | Ollama (local LLM) | Good+ | 1-5s | Free | Ollama running locally |
76
92
  | 3 | LLM (Claude API) | Best | 500ms-2s | ~$0.002/call | API key required |
77
93
 
78
- The system automatically selects the best available tier and falls back gracefully.
94
+ The system automatically selects the best available tier (3 → 2.5 → 2 → 1) and falls back gracefully.
79
95
 
80
96
  ## Capability Matrix
81
97
 
82
- | Feature | No API Key | With API Key |
83
- |---------|-----------|-------------|
84
- | Entity extraction | Tier 1-2 (regex + NLP) | Tier 3 (LLM) |
85
- | Relationship detection | Basic verb patterns | Full semantic understanding |
86
- | Auto-extraction | Local heuristics | LLM-powered analysis |
87
- | Consolidation: near-identical dedup | Yes (> 0.95 similarity) | Yes |
88
- | Consolidation: smart merge | Flagged for review | Yes |
89
- | Consolidation: contradiction resolution | No | Yes |
90
- | memory_ingest | Tier 1-2 extraction | Tier 3 extraction |
91
- | memory_config | Full access | Full access |
98
+ | Feature | No API Key | With Ollama | With API Key |
99
+ |---------|-----------|-------------|-------------|
100
+ | Entity extraction | Tier 1-2 (regex + NLP) | Tier 2.5 (local LLM) | Tier 3 (Claude) |
101
+ | Relationship detection | Basic verb patterns | LLM-powered | Full semantic understanding |
102
+ | Auto-extraction | Local heuristics | Ollama-powered | LLM-powered analysis |
103
+ | Consolidation: near-identical dedup | Yes (> 0.95 similarity) | Yes | Yes |
104
+ | Consolidation: smart merge | Flagged for review | Yes | Yes |
105
+ | Consolidation: contradiction resolution | No | Yes | Yes |
106
+ | memory_ingest | Tier 1-2 extraction | Tier 2.5 extraction | Tier 3 extraction |
107
+ | Cross-project sharing | Full access | Full access | Full access |
108
+ | Access tracking & stats | Full access | Full access | Full access |
92
109
 
93
110
  ## Available Tools
94
111
 
@@ -103,18 +120,24 @@ The system automatically selects the best available tier and falls back graceful
103
120
  | `memory_ingest` | Ingest raw text and extract memories/entities/relationships. |
104
121
  | `memory_consolidate` | Merge redundant memories. Supports dry_run preview. |
105
122
  | `memory_config` | View/modify runtime configuration (including API key). |
123
+ | `memory_stats` | Aggregate statistics: totals, breakdowns, access patterns, staleness. |
124
+ | `memory_share` | Cross-project sharing: promote visibility, link/unlink projects. |
106
125
 
107
126
  ## CLI Reference
108
127
 
109
128
  ```
110
129
  cortex serve Start the MCP server (stdio transport)
111
- cortex setup Pull Docker images, start Qdrant + Neo4j
112
- cortex setup --stop Stop Docker containers
130
+ cortex setup Start production Qdrant + Neo4j (ports 16333/17687)
131
+ cortex setup --dev Start dev Qdrant + Neo4j (ports 26333/27687)
132
+ cortex setup --stop Stop containers
113
133
  cortex init Generate Cortex instructions for project CLAUDE.md
114
134
  cortex init --global Generate global instructions (~/.claude/CLAUDE.md)
115
135
  cortex config get Show current configuration
116
136
  cortex config set <key> <value> Set a runtime config value
117
137
  cortex consolidate Run manual consolidation
138
+ cortex stats Show memory statistics and staleness info
139
+ cortex ollama status Check Ollama availability and installed models
140
+ cortex ollama pull [model] Pull an Ollama model
118
141
  cortex version Show version
119
142
  cortex help Show help
120
143
  ```
@@ -134,6 +157,10 @@ Key settings:
134
157
  | `CORTEX_EXTRACTION_TIER` | `auto` | `auto`, `local-only`, or `llm-preferred` |
135
158
  | `CORTEX_AUTO_EXTRACT` | `true` | Enable auto-extraction from conversations |
136
159
  | `CORTEX_CONSOLIDATION_ENABLED` | `true` | Enable periodic memory consolidation |
160
+ | `CORTEX_STALENESS_THRESHOLD_DAYS` | `90` | Days before a memory is considered stale |
161
+ | `CORTEX_OLLAMA_ENABLED` | `true` | Enable Ollama local LLM |
162
+ | `CORTEX_OLLAMA_URL` | `http://localhost:11434` | Ollama server URL |
163
+ | `CORTEX_OLLAMA_MODEL` | `llama3.2` | Ollama model name |
137
164
 
138
165
  Runtime overrides persist to `~/.cortex/runtime-config.json`.
139
166
 
@@ -164,7 +191,7 @@ Claude Code
164
191
  │ (TypeScript) │
165
192
  ├──────────────────────────────────────┤
166
193
  │ Extraction │ Consolidation │
167
- │ Tier 1-3 │ LLM / Local
194
+ │ Tier 1-3+ │ LLM / Ollama / Local│
168
195
  │ Auto-extract │ Cluster + Merge │
169
196
  ├──────────────────────────────────────┤
170
197
  │ Orchestration Layer │
@@ -176,6 +203,8 @@ Claude Code
176
203
  ▲ ▲
177
204
  HuggingFace Anthropic API
178
205
  Transformers.js (optional)
206
+ Ollama
207
+ (optional)
179
208
  ```
180
209
 
181
210
  ## License
package/dist/cli.js CHANGED
@@ -5,7 +5,8 @@ import { join, dirname } from 'node:path';
5
5
  import { homedir } from 'node:os';
6
6
  import { fileURLToPath } from 'node:url';
7
7
  const CORTEX_DIR = join(homedir(), '.cortex');
8
- const COMPOSE_DEST = join(CORTEX_DIR, 'docker-compose.yml');
8
+ const COMPOSE_PROD_DEST = join(CORTEX_DIR, 'docker-compose.yml');
9
+ const COMPOSE_DEV_DEST = join(CORTEX_DIR, 'docker-compose.dev.yml');
9
10
  function getVersion() {
10
11
  try {
11
12
  const __dirname = dirname(fileURLToPath(import.meta.url));
@@ -29,13 +30,18 @@ cortex — AI memory system with MCP integration
29
30
 
30
31
  Usage:
31
32
  cortex serve Start the MCP server (stdio transport)
32
- cortex setup Pull Docker images and start Qdrant + Neo4j
33
- cortex setup --stop Stop Docker containers
33
+ cortex setup Start production Qdrant + Neo4j (ports 16333/17687)
34
+ cortex setup --dev Start dev Qdrant + Neo4j (ports 26333/27687)
35
+ cortex setup --stop Stop production containers
36
+ cortex setup --dev --stop Stop dev containers
34
37
  cortex init Generate Cortex instructions for project CLAUDE.md
35
38
  cortex init --global Generate global Cortex instructions (~/.claude/CLAUDE.md)
36
39
  cortex config get Show current configuration
37
40
  cortex config set <key> <value> Set a runtime config value
38
41
  cortex consolidate Run manual consolidation
42
+ cortex stats Show memory statistics and staleness info
43
+ cortex ollama status Check Ollama availability and installed models
44
+ cortex ollama pull [model] Pull the configured (or specified) Ollama model
39
45
  cortex version Show version
40
46
  cortex help Show this help message
41
47
 
@@ -70,7 +76,7 @@ function checkDockerCompose() {
70
76
  }
71
77
  }
72
78
  }
73
- async function setup(stop) {
79
+ async function setup(stop, isDev) {
74
80
  if (!checkDocker()) {
75
81
  console.error('Error: Docker is not installed or not in PATH');
76
82
  process.exit(1);
@@ -81,39 +87,44 @@ async function setup(stop) {
81
87
  process.exit(1);
82
88
  }
83
89
  mkdirSync(CORTEX_DIR, { recursive: true });
84
- if (!existsSync(COMPOSE_DEST)) {
85
- const __dirname = dirname(fileURLToPath(import.meta.url));
86
- const sourcePaths = [
87
- join(__dirname, '..', 'docker-compose.yml'),
88
- join(__dirname, '..', '..', 'docker-compose.yml'),
89
- ];
90
- let copied = false;
91
- for (const src of sourcePaths) {
92
- if (existsSync(src)) {
93
- copyFileSync(src, COMPOSE_DEST);
94
- console.log(`Copied docker-compose.yml to ${COMPOSE_DEST}`);
95
- copied = true;
96
- break;
97
- }
98
- }
99
- if (!copied) {
100
- console.error('Warning: Could not find docker-compose.yml to copy');
90
+ // Determine which compose file to use
91
+ const composeSourceName = isDev ? 'docker-compose.dev.yml' : 'docker-compose.yml';
92
+ const composeDest = isDev ? COMPOSE_DEV_DEST : COMPOSE_PROD_DEST;
93
+ // Always copy fresh — ensures the compose file matches the installed version
94
+ const __dirname = dirname(fileURLToPath(import.meta.url));
95
+ const sourcePaths = [
96
+ join(__dirname, '..', composeSourceName),
97
+ join(__dirname, '..', '..', composeSourceName),
98
+ ];
99
+ let copied = false;
100
+ for (const src of sourcePaths) {
101
+ if (existsSync(src)) {
102
+ copyFileSync(src, composeDest);
103
+ copied = true;
104
+ break;
101
105
  }
102
106
  }
107
+ if (!copied) {
108
+ console.error(`Warning: Could not find ${composeSourceName} to copy`);
109
+ }
103
110
  const composeArgs = composeCmd === 'compose'
104
- ? ['docker', 'compose', '-f', COMPOSE_DEST]
105
- : ['docker-compose', '-f', COMPOSE_DEST];
111
+ ? ['docker', 'compose', '-f', composeDest]
112
+ : ['docker-compose', '-f', composeDest];
113
+ const mode = isDev ? 'dev' : 'production';
106
114
  if (stop) {
107
- console.log('Stopping Cortex containers...');
115
+ console.log(`Stopping Cortex ${mode} containers...`);
108
116
  execSync([...composeArgs, 'down'].join(' '), { stdio: 'inherit' });
109
117
  console.log('Containers stopped.');
110
118
  return;
111
119
  }
112
- console.log('Starting Cortex containers...');
120
+ console.log(`Starting Cortex ${mode} containers...`);
113
121
  execSync([...composeArgs, 'up', '-d'].join(' '), { stdio: 'inherit' });
114
122
  console.log('Waiting for services to be ready...');
115
- const qdrantUrl = process.env.QDRANT_URL ?? 'http://localhost:16333';
116
- const neo4jUri = process.env.NEO4J_URI ?? 'bolt://localhost:17687';
123
+ // Use the correct ports for the chosen environment
124
+ const defaultQdrantPort = isDev ? '26333' : '16333';
125
+ const defaultNeo4jPort = isDev ? '27687' : '17687';
126
+ const qdrantUrl = process.env.QDRANT_URL ?? `http://localhost:${defaultQdrantPort}`;
127
+ const neo4jUri = process.env.NEO4J_URI ?? `bolt://localhost:${defaultNeo4jPort}`;
117
128
  let qdrantReady = false;
118
129
  for (let i = 0; i < 30; i++) {
119
130
  try {
@@ -139,7 +150,7 @@ async function setup(stop) {
139
150
  }
140
151
  catch { /* not ready */ }
141
152
  console.log(`Neo4j: ${neo4jReady ? 'ready' : 'not responding (check manually)'}`);
142
- console.log('\nSetup complete. Run "cortex serve" to start the MCP server.');
153
+ console.log(`\n${mode.charAt(0).toUpperCase() + mode.slice(1)} setup complete. Run "cortex serve" to start the MCP server.`);
143
154
  }
144
155
  async function configAction(args) {
145
156
  const subAction = args[0];
@@ -235,6 +246,99 @@ async function consolidate() {
235
246
  console.log('Use the memory_consolidate MCP tool for consolidation.');
236
247
  console.log('Example: cortex serve, then call memory_consolidate through Claude Code.');
237
248
  }
249
+ async function ollamaCommand(args) {
250
+ const subCommand = args[0];
251
+ const { loadConfig } = await import('./config.js');
252
+ const { OllamaClient } = await import('./llm/ollama-client.js');
253
+ const config = loadConfig();
254
+ const client = new OllamaClient(config.ollamaUrl, config.ollamaModel, config.ollamaEnabled);
255
+ if (subCommand === 'status') {
256
+ console.log('Ollama Status');
257
+ console.log('─'.repeat(40));
258
+ console.log(` Enabled: ${config.ollamaEnabled}`);
259
+ console.log(` URL: ${config.ollamaUrl}`);
260
+ console.log(` Model: ${config.ollamaModel}`);
261
+ const available = await client.checkAvailability();
262
+ console.log(` Available: ${available}`);
263
+ const models = await client.listModels();
264
+ if (models.length > 0) {
265
+ console.log(`\nInstalled models:`);
266
+ for (const model of models) {
267
+ const marker = model === config.ollamaModel || model.startsWith(config.ollamaModel + ':') ? ' ←' : '';
268
+ console.log(` - ${model}${marker}`);
269
+ }
270
+ }
271
+ else {
272
+ console.log('\n No models found (is Ollama running?)');
273
+ }
274
+ return;
275
+ }
276
+ if (subCommand === 'pull') {
277
+ const model = args[1] ?? config.ollamaModel;
278
+ console.log(`Pulling model: ${model}...`);
279
+ const success = await client.pullModel(model);
280
+ if (success) {
281
+ console.log(`Model ${model} pulled successfully.`);
282
+ }
283
+ else {
284
+ console.error(`Failed to pull model ${model}. Is Ollama running?`);
285
+ process.exit(1);
286
+ }
287
+ return;
288
+ }
289
+ console.error('Usage: cortex ollama <status|pull> [model]');
290
+ process.exit(1);
291
+ }
292
+ async function statsCommand() {
293
+ const { loadConfig } = await import('./config.js');
294
+ const { SQLiteStore } = await import('./storage/sqlite.js');
295
+ const { AccessTracker } = await import('./tracking/access-tracker.js');
296
+ const config = loadConfig();
297
+ const sqlite = new SQLiteStore(config.sqlitePath);
298
+ sqlite.init();
299
+ // Update staleness scores first
300
+ const tracker = new AccessTracker(sqlite, config.stalenessThresholdDays);
301
+ const { updated, averageStaleness } = tracker.updateAllStaleness();
302
+ const stats = sqlite.getStats();
303
+ const byType = sqlite.getMemoryCountByType();
304
+ const byProject = sqlite.getMemoryCountByProject();
305
+ const { mostAccessed, leastAccessed } = sqlite.getMemoryAccessStats(5);
306
+ const staleCount = sqlite.getStaleMemoryCount(0.7);
307
+ console.log('Cortex Memory Statistics');
308
+ console.log('─'.repeat(40));
309
+ console.log(` Total memories: ${stats.totalMemories}`);
310
+ console.log(` Total entities: ${stats.totalEntities}`);
311
+ console.log(` Average staleness: ${(averageStaleness * 100).toFixed(1)}%`);
312
+ console.log(` Stale memories: ${staleCount} (score >= 0.7)`);
313
+ console.log(` Staleness updated: ${updated} memories`);
314
+ if (Object.keys(byType).length > 0) {
315
+ console.log('\nBy Type:');
316
+ for (const [type, count] of Object.entries(byType)) {
317
+ console.log(` ${type}: ${count}`);
318
+ }
319
+ }
320
+ if (Object.keys(byProject).length > 0) {
321
+ console.log('\nBy Project:');
322
+ for (const [project, count] of Object.entries(byProject)) {
323
+ console.log(` ${project}: ${count}`);
324
+ }
325
+ }
326
+ if (mostAccessed.length > 0) {
327
+ console.log('\nMost Accessed:');
328
+ for (const mem of mostAccessed) {
329
+ const preview = mem.content.slice(0, 60) + (mem.content.length > 60 ? '...' : '');
330
+ console.log(` [${mem.access_count}x] ${preview}`);
331
+ }
332
+ }
333
+ if (leastAccessed.length > 0) {
334
+ console.log('\nLeast Accessed:');
335
+ for (const mem of leastAccessed) {
336
+ const preview = mem.content.slice(0, 60) + (mem.content.length > 60 ? '...' : '');
337
+ console.log(` [${mem.access_count}x] ${preview}`);
338
+ }
339
+ }
340
+ sqlite.close();
341
+ }
238
342
  async function main() {
239
343
  const args = process.argv.slice(2);
240
344
  const command = args[0];
@@ -243,7 +347,7 @@ async function main() {
243
347
  await serve();
244
348
  break;
245
349
  case 'setup':
246
- await setup(args.includes('--stop'));
350
+ await setup(args.includes('--stop'), args.includes('--dev'));
247
351
  break;
248
352
  case 'init':
249
353
  await initCommand(args.includes('--global'));
@@ -254,6 +358,12 @@ async function main() {
254
358
  case 'consolidate':
255
359
  await consolidate();
256
360
  break;
361
+ case 'stats':
362
+ await statsCommand();
363
+ break;
364
+ case 'ollama':
365
+ await ollamaCommand(args.slice(1));
366
+ break;
257
367
  case 'version':
258
368
  case '--version':
259
369
  case '-v':
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../src/config-store.ts"],"names":[],"mappings":"AAeA,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,SAAS,CAAkC;;IAMnD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI/B,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAYhC,YAAY,IAAI,MAAM,GAAG,IAAI;IAI7B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAa7E,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIhC,OAAO,CAAC,OAAO;IAaf,OAAO,CAAC,aAAa;CActB"}
1
+ {"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../src/config-store.ts"],"names":[],"mappings":"AAkBA,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,SAAS,CAAkC;;IAMnD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI/B,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAYhC,YAAY,IAAI,MAAM,GAAG,IAAI;IAI7B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAa7E,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIhC,OAAO,CAAC,OAAO;IAaf,OAAO,CAAC,aAAa;CActB"}
@@ -9,6 +9,9 @@ const SETTABLE_KEYS = new Set([
9
9
  'extraction_tier',
10
10
  'auto_extract',
11
11
  'consolidation_enabled',
12
+ 'ollama_enabled',
13
+ 'ollama_url',
14
+ 'ollama_model',
12
15
  ]);
13
16
  export class RuntimeConfigStore {
14
17
  overrides = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"config-store.js","sourceRoot":"","sources":["../src/config-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-store.js","sourceRoot":"","sources":["../src/config-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;AAE5D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,mBAAmB;IACnB,iBAAiB;IACjB,cAAc;IACd,uBAAuB;IACvB,gBAAgB;IAChB,YAAY;IACZ,cAAc;CACf,CAAC,CAAC;AAEH,MAAM,OAAO,kBAAkB;IACrB,SAAS,GAAwB,IAAI,GAAG,EAAE,CAAC;IAEnD;QACE,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IACzC,CAAC;IAED,MAAM;QACJ,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1C,IAAI,GAAG,KAAK,mBAAmB,EAAE,CAAC;gBAChC,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACtB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC;IACzD,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAa;QAC5B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,gDAAgD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrH,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QACjD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO;YACL,QAAQ,EAAE,GAAG,KAAK,mBAAmB,IAAI,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ;YACnF,OAAO,EAAE,GAAG,KAAK,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;SACjE,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,GAAW;QACpB,OAAO,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAEO,OAAO;QACb,IAAI,CAAC;YACH,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,MAAM,IAAI,GAA2B,EAAE,CAAC;YACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC1C,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACpB,CAAC;YACD,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8CAA8C,KAAK,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;gBAAE,OAAO;YACrC,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA2B,CAAC;YACvD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,oDAAoD;QACtD,CAAC;IACH,CAAC;CACF;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC"}
package/dist/config.d.ts CHANGED
@@ -18,10 +18,15 @@ export interface CortexConfig {
18
18
  consolidationEnabled: boolean;
19
19
  consolidationIntervalMs: number;
20
20
  consolidationBatchSize: number;
21
+ stalenessThresholdDays: number;
22
+ ollamaUrl: string;
23
+ ollamaModel: string;
24
+ ollamaEnabled: boolean;
21
25
  }
22
26
  export declare function loadConfig(): CortexConfig;
23
27
  export declare const SCOPE_BOOST: {
24
28
  readonly PROJECT_LOCAL: 1.5;
29
+ readonly CROSS_PROJECT: 1.2;
25
30
  readonly RELATED_PROJECT: 1.1;
26
31
  readonly GLOBAL: 1;
27
32
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AASvD,MAAM,WAAW,YAAY;IAE3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IAEzB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,wBAAgB,UAAU,IAAI,YAAY,CAuBzC;AAGD,eAAO,MAAM,WAAW;;;;CAId,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AASvD,MAAM,WAAW,YAAY;IAE3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IAEzB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAE/B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,UAAU,IAAI,YAAY,CA4BzC;AAGD,eAAO,MAAM,WAAW;;;;;CAKd,CAAC"}
package/dist/config.js CHANGED
@@ -28,11 +28,17 @@ export function loadConfig() {
28
28
  consolidationEnabled: process.env.CORTEX_CONSOLIDATION_ENABLED !== 'false',
29
29
  consolidationIntervalMs: parseInt(process.env.CORTEX_CONSOLIDATION_INTERVAL_MS ?? '3600000', 10),
30
30
  consolidationBatchSize: parseInt(process.env.CORTEX_CONSOLIDATION_BATCH_SIZE ?? '50', 10),
31
+ // Phase 3
32
+ stalenessThresholdDays: parseInt(process.env.CORTEX_STALENESS_THRESHOLD_DAYS ?? '90', 10),
33
+ ollamaUrl: process.env.CORTEX_OLLAMA_URL ?? 'http://localhost:11434',
34
+ ollamaModel: process.env.CORTEX_OLLAMA_MODEL ?? 'llama3.2',
35
+ ollamaEnabled: process.env.CORTEX_OLLAMA_ENABLED !== 'false',
31
36
  };
32
37
  }
33
38
  // Scope boost weights (from spec Section 4)
34
39
  export const SCOPE_BOOST = {
35
40
  PROJECT_LOCAL: 1.5,
41
+ CROSS_PROJECT: 1.2,
36
42
  RELATED_PROJECT: 1.1,
37
43
  GLOBAL: 1.0,
38
44
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,SAAS,WAAW,CAAC,CAAS;IAC5B,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAyBD,MAAM,UAAU,UAAU;IACxB,OAAO;QACL,UAAU;QACV,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,wBAAwB;QAC7D,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,wBAAwB;QAC3D,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO;QAC5C,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,YAAY;QACzD,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,qBAAqB,CAAC;QACzE,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,yBAAyB;QACxE,iBAAiB,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,sBAAsB,CAAC;QACxF,cAAc,EAAE,iBAAiB;QACjC,gBAAgB,EAAE,GAAG;QACrB,UAAU;QACV,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE;QACpD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,0BAA0B;QACpE,cAAc,EAAG,OAAO,CAAC,GAAG,CAAC,sBAAyC,IAAI,MAAM;QAChF,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,OAAO;QACxD,iBAAiB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,GAAG,EAAE,EAAE,CAAC;QAC9E,iBAAiB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,OAAO,EAAE,EAAE,CAAC;QAClF,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,OAAO;QAC1E,uBAAuB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,SAAS,EAAE,EAAE,CAAC;QAChG,sBAAsB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,IAAI,EAAE,EAAE,CAAC;KAC1F,CAAC;AACJ,CAAC;AAED,4CAA4C;AAC5C,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,aAAa,EAAE,GAAG;IAClB,eAAe,EAAE,GAAG;IACpB,MAAM,EAAE,GAAG;CACH,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,SAAS,WAAW,CAAC,CAAS;IAC5B,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AA8BD,MAAM,UAAU,UAAU;IACxB,OAAO;QACL,UAAU;QACV,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,wBAAwB;QAC7D,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,wBAAwB;QAC3D,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO;QAC5C,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,YAAY;QACzD,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,qBAAqB,CAAC;QACzE,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,yBAAyB;QACxE,iBAAiB,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,sBAAsB,CAAC;QACxF,cAAc,EAAE,iBAAiB;QACjC,gBAAgB,EAAE,GAAG;QACrB,UAAU;QACV,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE;QACpD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,0BAA0B;QACpE,cAAc,EAAG,OAAO,CAAC,GAAG,CAAC,sBAAyC,IAAI,MAAM;QAChF,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,OAAO;QACxD,iBAAiB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,GAAG,EAAE,EAAE,CAAC;QAC9E,iBAAiB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,OAAO,EAAE,EAAE,CAAC;QAClF,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,OAAO;QAC1E,uBAAuB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,SAAS,EAAE,EAAE,CAAC;QAChG,sBAAsB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,IAAI,EAAE,EAAE,CAAC;QACzF,UAAU;QACV,sBAAsB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,IAAI,EAAE,EAAE,CAAC;QACzF,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,wBAAwB;QACpE,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,UAAU;QAC1D,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,OAAO;KAC7D,CAAC;AACJ,CAAC;AAED,4CAA4C;AAC5C,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,aAAa,EAAE,GAAG;IAClB,aAAa,EAAE,GAAG;IAClB,eAAe,EAAE,GAAG;IACpB,MAAM,EAAE,GAAG;CACH,CAAC"}
@@ -2,17 +2,20 @@ import type { ExtractionResult, ExtractionTier } from '../types/index.js';
2
2
  import { Tier1Regex } from './tier1-regex.js';
3
3
  import { Tier2NLP } from './tier2-nlp.js';
4
4
  import type { Tier3LLM } from './tier3-llm.js';
5
+ import type { Tier25Ollama } from './tier25-ollama.js';
5
6
  export declare class EntityExtractor {
6
7
  private tier1;
7
8
  private tier2;
9
+ private tier25;
8
10
  private tier3;
9
11
  private extractionTier;
10
12
  private cache;
11
13
  private cacheOrder;
12
- constructor(tier1: Tier1Regex, tier2: Tier2NLP, tier3: Tier3LLM | null, extractionTier: ExtractionTier);
14
+ constructor(tier1: Tier1Regex, tier2: Tier2NLP, tier3: Tier3LLM | null, extractionTier: ExtractionTier, tier25?: Tier25Ollama | null);
13
15
  setExtractionTier(tier: ExtractionTier): void;
14
16
  setTier3(tier3: Tier3LLM | null): void;
15
- getActiveTier(): 1 | 2 | 3;
17
+ setTier25(tier25: Tier25Ollama | null): void;
18
+ getActiveTier(): 1 | 2 | 2.5 | 3;
16
19
  extract(text: string, project?: string): Promise<ExtractionResult>;
17
20
  private selectTier;
18
21
  private runWithFallback;
@@ -1 +1 @@
1
- {"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../src/extraction/extractor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAU/C,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,UAAU,CAAgB;gBAGhC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,QAAQ,GAAG,IAAI,EACtB,cAAc,EAAE,cAAc;IAQhC,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAI7C,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;IAItC,aAAa,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAIpB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyBxE,OAAO,CAAC,UAAU;YAUJ,eAAe;IAuB7B,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,UAAU;CAUnB"}
1
+ {"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../src/extraction/extractor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAUvD,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,UAAU,CAAgB;gBAGhC,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,QAAQ,GAAG,IAAI,EACtB,cAAc,EAAE,cAAc,EAC9B,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI;IAS9B,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAI7C,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;IAItC,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI;IAI5C,aAAa,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;IAI1B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA4BxE,OAAO,CAAC,UAAU;YAaJ,eAAe;IA2C7B,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,UAAU;CAUnB"}