context-vault 3.2.3 → 3.4.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/bin/cli.js +378 -25
- package/dist/register-tools.d.ts.map +1 -1
- package/dist/register-tools.js +8 -5
- package/dist/register-tools.js.map +1 -1
- package/dist/server.js +18 -0
- package/dist/server.js.map +1 -1
- package/node_modules/@context-vault/core/dist/categories.d.ts.map +1 -1
- package/node_modules/@context-vault/core/dist/categories.js +1 -0
- package/node_modules/@context-vault/core/dist/categories.js.map +1 -1
- package/node_modules/@context-vault/core/dist/db.d.ts.map +1 -1
- package/node_modules/@context-vault/core/dist/db.js +33 -3
- package/node_modules/@context-vault/core/dist/db.js.map +1 -1
- package/node_modules/@context-vault/core/package.json +1 -1
- package/node_modules/@context-vault/core/src/categories.ts +1 -0
- package/node_modules/@context-vault/core/src/db.ts +34 -3
- package/package.json +2 -2
- package/src/register-tools.ts +9 -6
- package/src/server.ts +16 -0
package/bin/cli.js
CHANGED
|
@@ -3,13 +3,30 @@
|
|
|
3
3
|
// Node.js version guard — must run before any ESM imports
|
|
4
4
|
const nodeVersion = parseInt(process.versions.node.split('.')[0], 10);
|
|
5
5
|
if (nodeVersion < 22) {
|
|
6
|
-
process.
|
|
7
|
-
|
|
6
|
+
const p = process.platform;
|
|
7
|
+
let upgradeHint;
|
|
8
|
+
if (p === 'darwin') {
|
|
9
|
+
upgradeHint =
|
|
8
10
|
` Upgrade options:\n` +
|
|
11
|
+
` brew install node # Homebrew (recommended)\n` +
|
|
9
12
|
` nvm install 22 # if using nvm\n` +
|
|
13
|
+
` fnm install 22 # if using fnm\n`;
|
|
14
|
+
} else if (p === 'win32') {
|
|
15
|
+
upgradeHint =
|
|
16
|
+
` Upgrade options:\n` +
|
|
17
|
+
` winget install OpenJS.NodeJS.LTS # Windows Package Manager\n` +
|
|
18
|
+
` nvm install 22 # if using nvm-windows\n` +
|
|
19
|
+
` https://nodejs.org/ # manual download\n`;
|
|
20
|
+
} else {
|
|
21
|
+
upgradeHint =
|
|
22
|
+
` Upgrade options:\n` +
|
|
23
|
+
` nvm install 22 # recommended\n` +
|
|
10
24
|
` fnm install 22 # if using fnm\n` +
|
|
11
|
-
`
|
|
12
|
-
|
|
25
|
+
` # or via NodeSource: https://github.com/nodesource/distributions\n`;
|
|
26
|
+
}
|
|
27
|
+
process.stderr.write(
|
|
28
|
+
`\ncontext-vault requires Node.js >= 22 (you have ${process.versions.node}).\n\n` +
|
|
29
|
+
upgradeHint + `\n`
|
|
13
30
|
);
|
|
14
31
|
process.exit(1);
|
|
15
32
|
}
|
|
@@ -27,7 +44,7 @@ import {
|
|
|
27
44
|
} from 'node:fs';
|
|
28
45
|
import { join, resolve, dirname } from 'node:path';
|
|
29
46
|
import { homedir, platform } from 'node:os';
|
|
30
|
-
import { execSync, execFile, execFileSync } from 'node:child_process';
|
|
47
|
+
import { execSync, execFile, execFileSync, spawn } from 'node:child_process';
|
|
31
48
|
import { fileURLToPath } from 'node:url';
|
|
32
49
|
import { APP_URL, API_URL, MARKETING_URL } from '@context-vault/core/constants';
|
|
33
50
|
|
|
@@ -57,6 +74,42 @@ function isNpx() {
|
|
|
57
74
|
return ROOT.includes('/_npx/') || ROOT.includes('\\_npx\\');
|
|
58
75
|
}
|
|
59
76
|
|
|
77
|
+
/** Detect user experience level based on dev environment signals */
|
|
78
|
+
function detectUserExperience() {
|
|
79
|
+
if (isNonInteractive) return 'developer';
|
|
80
|
+
try {
|
|
81
|
+
let signals = 0;
|
|
82
|
+
// Check for version manager dirs
|
|
83
|
+
const vmDirs = ['.nvm', '.fnm', '.volta'].map((d) => join(HOME, d));
|
|
84
|
+
if (vmDirs.some((d) => existsSync(d))) signals++;
|
|
85
|
+
// Check for 3+ global npm packages
|
|
86
|
+
try {
|
|
87
|
+
const out = execSync('npm ls -g --depth=0 --json 2>/dev/null', {
|
|
88
|
+
encoding: 'utf-8',
|
|
89
|
+
timeout: 5000,
|
|
90
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
91
|
+
});
|
|
92
|
+
const deps = JSON.parse(out).dependencies || {};
|
|
93
|
+
if (Object.keys(deps).length >= 3) signals++;
|
|
94
|
+
} catch {}
|
|
95
|
+
// Check for git config
|
|
96
|
+
try {
|
|
97
|
+
execSync('git config user.email', { encoding: 'utf-8', timeout: 3000, stdio: 'pipe' });
|
|
98
|
+
signals++;
|
|
99
|
+
} catch {}
|
|
100
|
+
return signals >= 2 ? 'developer' : 'beginner';
|
|
101
|
+
} catch {
|
|
102
|
+
return 'developer';
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/** Print a verbose hint — only shown to beginners */
|
|
107
|
+
function verbose(userLevel, msg) {
|
|
108
|
+
if (userLevel === 'beginner') {
|
|
109
|
+
console.log(dim(` ${msg}`));
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
60
113
|
const MARKER_FILE = '.context-vault';
|
|
61
114
|
|
|
62
115
|
function writeMarkerFile(vaultDir) {
|
|
@@ -304,6 +357,7 @@ ${bold('Commands:')}
|
|
|
304
357
|
${cyan('status')} Show vault diagnostics
|
|
305
358
|
${cyan('doctor')} Diagnose and repair common issues
|
|
306
359
|
${cyan('debug')} Generate AI-pasteable debug report
|
|
360
|
+
${cyan('daemon')} start|stop|status Run vault as a shared HTTP daemon (one process, all sessions)
|
|
307
361
|
${cyan('restart')} Stop running MCP server processes (client auto-restarts)
|
|
308
362
|
${cyan('search')} Search vault entries from CLI
|
|
309
363
|
${cyan('save')} Save an entry to the vault from CLI
|
|
@@ -348,6 +402,7 @@ ${bold('Commands:')}
|
|
|
348
402
|
|
|
349
403
|
async function runSetup() {
|
|
350
404
|
const setupStart = Date.now();
|
|
405
|
+
const userLevel = detectUserExperience();
|
|
351
406
|
|
|
352
407
|
// Banner
|
|
353
408
|
console.log();
|
|
@@ -518,12 +573,21 @@ async function runSetup() {
|
|
|
518
573
|
|
|
519
574
|
// Detect tools
|
|
520
575
|
console.log(dim(` [1/6]`) + bold(' Detecting tools...\n'));
|
|
576
|
+
verbose(userLevel, 'Scanning for AI tools on this machine.');
|
|
577
|
+
if (userLevel === 'beginner') console.log();
|
|
521
578
|
const { detected, results: detectionResults } = await detectAllTools();
|
|
522
579
|
printDetectionResults(detectionResults);
|
|
523
580
|
console.log();
|
|
524
581
|
|
|
525
582
|
if (detected.length === 0) {
|
|
526
583
|
console.log(yellow(' No supported tools detected.\n'));
|
|
584
|
+
if (userLevel === 'beginner') {
|
|
585
|
+
console.log(' Install an AI tool first:');
|
|
586
|
+
console.log(dim(' Claude Code: https://docs.anthropic.com/en/docs/claude-code'));
|
|
587
|
+
console.log(dim(' Cursor: https://cursor.com'));
|
|
588
|
+
console.log(dim(' Windsurf: https://codeium.com/windsurf'));
|
|
589
|
+
console.log();
|
|
590
|
+
}
|
|
527
591
|
console.log(" To manually configure, add to your tool's MCP config:\n");
|
|
528
592
|
if (isInstalledPackage() || isNpx()) {
|
|
529
593
|
console.log(` ${dim('{')}
|
|
@@ -581,6 +645,8 @@ async function runSetup() {
|
|
|
581
645
|
|
|
582
646
|
// Vault directory (content files)
|
|
583
647
|
console.log(dim(` [2/6]`) + bold(' Configuring vault...\n'));
|
|
648
|
+
verbose(userLevel, 'Your vault is a folder of plain markdown files — you own it.');
|
|
649
|
+
if (userLevel === 'beginner') console.log();
|
|
584
650
|
|
|
585
651
|
// Scan for existing vaults via marker file
|
|
586
652
|
let defaultVaultDir = getFlag('--vault-dir') || join(HOME, '.vault');
|
|
@@ -722,6 +788,7 @@ async function runSetup() {
|
|
|
722
788
|
|
|
723
789
|
// Telemetry opt-in
|
|
724
790
|
console.log(`\n ${dim('[3/6]')}${bold(' Anonymous error reporting\n')}`);
|
|
791
|
+
verbose(userLevel, 'Entirely optional — works identically either way.\n');
|
|
725
792
|
console.log(dim(' When enabled, unhandled errors send a minimal event (type, tool name,'));
|
|
726
793
|
console.log(dim(' version, platform) to help diagnose issues. No vault content,'));
|
|
727
794
|
console.log(dim(' file paths, or personal data is ever sent. Off by default.'));
|
|
@@ -754,6 +821,7 @@ async function runSetup() {
|
|
|
754
821
|
console.log(dim(' To enable later: context-vault setup (without --skip-embeddings)'));
|
|
755
822
|
} else {
|
|
756
823
|
console.log(`\n ${dim('[4/6]')}${bold(' Downloading embedding model...')}`);
|
|
824
|
+
verbose(userLevel, 'Enables meaning-based search. ~22MB download, runs fully offline.');
|
|
757
825
|
console.log(dim(' all-MiniLM-L6-v2 (~22MB, one-time download)'));
|
|
758
826
|
console.log(dim(` Slow connection? Re-run with --skip-embeddings (enables FTS-only mode)\n`));
|
|
759
827
|
{
|
|
@@ -816,6 +884,11 @@ async function runSetup() {
|
|
|
816
884
|
}
|
|
817
885
|
console.log(dim(` Retry: ${isNpx() ? 'npx context-vault' : 'context-vault'} setup`));
|
|
818
886
|
console.log(dim(` Semantic search disabled — full-text search still works.`));
|
|
887
|
+
if (userLevel === 'beginner') {
|
|
888
|
+
console.log();
|
|
889
|
+
console.log(dim(` Don't worry — your vault works fine without this.`));
|
|
890
|
+
console.log(dim(` Keyword search is active. Meaning-based search can be added later.`));
|
|
891
|
+
}
|
|
819
892
|
}
|
|
820
893
|
}
|
|
821
894
|
}
|
|
@@ -831,6 +904,7 @@ async function runSetup() {
|
|
|
831
904
|
|
|
832
905
|
// Configure each tool — pass vault dir as arg if non-default
|
|
833
906
|
console.log(`\n ${dim('[5/6]')}${bold(' Configuring tools...\n')}`);
|
|
907
|
+
verbose(userLevel, 'Writing config so your AI tool can find your vault.\n');
|
|
834
908
|
const results = [];
|
|
835
909
|
const defaultVDir = join(HOME, 'vault');
|
|
836
910
|
const customVaultDir = resolvedVaultDir !== resolve(defaultVDir) ? resolvedVaultDir : null;
|
|
@@ -961,6 +1035,7 @@ async function runSetup() {
|
|
|
961
1035
|
|
|
962
1036
|
// Health check
|
|
963
1037
|
console.log(`\n ${dim('[6/6]')}${bold(' Health check...')}\n`);
|
|
1038
|
+
verbose(userLevel, 'Verifying vault, config, and database are accessible.\n');
|
|
964
1039
|
const okResults = results.filter((r) => r.ok);
|
|
965
1040
|
|
|
966
1041
|
// Verify DB is accessible
|
|
@@ -993,29 +1068,66 @@ async function runSetup() {
|
|
|
993
1068
|
}
|
|
994
1069
|
}
|
|
995
1070
|
|
|
1071
|
+
// Smoke test — write and read a test file to verify vault I/O
|
|
1072
|
+
{
|
|
1073
|
+
const testFile = join(resolvedVaultDir, '.smoke-test-' + Date.now() + '.md');
|
|
1074
|
+
try {
|
|
1075
|
+
writeFileSync(testFile, '# Smoke test\n');
|
|
1076
|
+
const content = readFileSync(testFile, 'utf-8');
|
|
1077
|
+
unlinkSync(testFile);
|
|
1078
|
+
if (content.includes('Smoke test')) {
|
|
1079
|
+
console.log(` ${green('✓')} Smoke test: vault read/write verified`);
|
|
1080
|
+
} else {
|
|
1081
|
+
console.log(` ${red('✗')} Smoke test: file written but content mismatch`);
|
|
1082
|
+
}
|
|
1083
|
+
} catch (e) {
|
|
1084
|
+
try { unlinkSync(testFile); } catch {}
|
|
1085
|
+
console.log(` ${red('✗')} Smoke test failed: ${e.message}`);
|
|
1086
|
+
console.log(` ${dim('Check permissions on ' + resolvedVaultDir)}`);
|
|
1087
|
+
}
|
|
1088
|
+
}
|
|
1089
|
+
|
|
996
1090
|
// Completion box
|
|
997
1091
|
const elapsed = ((Date.now() - setupStart) / 1000).toFixed(1);
|
|
998
1092
|
const toolName = okResults.length ? okResults[0].tool.name : 'your AI tool';
|
|
999
|
-
const
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
:
|
|
1018
|
-
|
|
1093
|
+
const cli = isNpx() ? 'npx context-vault' : 'context-vault';
|
|
1094
|
+
|
|
1095
|
+
let boxLines;
|
|
1096
|
+
if (userLevel === 'beginner') {
|
|
1097
|
+
boxLines = [
|
|
1098
|
+
` ✓ Setup complete — ${passed}/${checks.length} checks passed (${elapsed}s)`,
|
|
1099
|
+
``,
|
|
1100
|
+
` ${bold('What to do next:')}`,
|
|
1101
|
+
``,
|
|
1102
|
+
` 1. Restart ${toolName}`,
|
|
1103
|
+
` ${dim('(required for it to see the vault)')}`,
|
|
1104
|
+
``,
|
|
1105
|
+
` 2. Ask your AI: ${cyan('"Search my vault for getting started"')}`,
|
|
1106
|
+
` ${dim('This confirms everything is working.')}`,
|
|
1107
|
+
``,
|
|
1108
|
+
` 3. Try: ${cyan('"Save an insight about [any topic]"')}`,
|
|
1109
|
+
` ${dim('Your first vault entry!')}`,
|
|
1110
|
+
``,
|
|
1111
|
+
` ${dim(`Your vault: ${resolvedVaultDir}`)}`,
|
|
1112
|
+
` ${dim('These are plain markdown files — open them in any text editor.')}`,
|
|
1113
|
+
];
|
|
1114
|
+
} else {
|
|
1115
|
+
boxLines = [
|
|
1116
|
+
` ✓ Setup complete — ${passed}/${checks.length} checks passed (${elapsed}s)`,
|
|
1117
|
+
``,
|
|
1118
|
+
` ${bold('Next:')} restart ${toolName} to activate the vault`,
|
|
1119
|
+
``,
|
|
1120
|
+
` ${bold('Try:')}`,
|
|
1121
|
+
` "Search my vault for getting started"`,
|
|
1122
|
+
` "Save an insight about [topic]"`,
|
|
1123
|
+
` "Show my vault status"`,
|
|
1124
|
+
``,
|
|
1125
|
+
` ${bold('CLI:')} ${cli} status · ${cli} doctor`,
|
|
1126
|
+
...(isNpx()
|
|
1127
|
+
? [``, ` ${dim('Tip: npm i -g context-vault for faster MCP startup')}`]
|
|
1128
|
+
: []),
|
|
1129
|
+
];
|
|
1130
|
+
}
|
|
1019
1131
|
const innerWidth = Math.max(...boxLines.map((l) => l.length)) + 2;
|
|
1020
1132
|
const pad = (s) => s + ' '.repeat(Math.max(0, innerWidth - s.length));
|
|
1021
1133
|
console.log();
|
|
@@ -5178,6 +5290,244 @@ async function runDebug() {
|
|
|
5178
5290
|
console.log(lines.join('\n'));
|
|
5179
5291
|
}
|
|
5180
5292
|
|
|
5293
|
+
async function runDaemon() {
|
|
5294
|
+
const sub = args[1];
|
|
5295
|
+
const pidPath = join(HOME, '.context-mcp', 'daemon.pid');
|
|
5296
|
+
const defaultPort = 3377;
|
|
5297
|
+
|
|
5298
|
+
function readPid() {
|
|
5299
|
+
try {
|
|
5300
|
+
return JSON.parse(readFileSync(pidPath, 'utf-8'));
|
|
5301
|
+
} catch {
|
|
5302
|
+
return null;
|
|
5303
|
+
}
|
|
5304
|
+
}
|
|
5305
|
+
|
|
5306
|
+
function isAlive(pid) {
|
|
5307
|
+
try {
|
|
5308
|
+
process.kill(pid, 0);
|
|
5309
|
+
return true;
|
|
5310
|
+
} catch {
|
|
5311
|
+
return false;
|
|
5312
|
+
}
|
|
5313
|
+
}
|
|
5314
|
+
|
|
5315
|
+
async function pollHealth(port, timeoutMs = 5000) {
|
|
5316
|
+
const start = Date.now();
|
|
5317
|
+
while (Date.now() - start < timeoutMs) {
|
|
5318
|
+
try {
|
|
5319
|
+
const res = await fetch(`http://localhost:${port}/health`);
|
|
5320
|
+
if (res.ok) return await res.json();
|
|
5321
|
+
} catch {}
|
|
5322
|
+
await new Promise((r) => setTimeout(r, 200));
|
|
5323
|
+
}
|
|
5324
|
+
return null;
|
|
5325
|
+
}
|
|
5326
|
+
|
|
5327
|
+
function configureClaudeDaemon(port) {
|
|
5328
|
+
const env = { ...process.env };
|
|
5329
|
+
delete env.CLAUDECODE;
|
|
5330
|
+
|
|
5331
|
+
for (const oldName of ['context-mcp', 'context-vault']) {
|
|
5332
|
+
try {
|
|
5333
|
+
execFileSync('claude', ['mcp', 'remove', oldName, '-s', 'user'], {
|
|
5334
|
+
stdio: 'pipe',
|
|
5335
|
+
env,
|
|
5336
|
+
});
|
|
5337
|
+
} catch {}
|
|
5338
|
+
}
|
|
5339
|
+
|
|
5340
|
+
try {
|
|
5341
|
+
execFileSync(
|
|
5342
|
+
'claude',
|
|
5343
|
+
[
|
|
5344
|
+
'mcp', 'add', '-s', 'user',
|
|
5345
|
+
'--transport', 'http',
|
|
5346
|
+
'context-vault',
|
|
5347
|
+
`http://localhost:${port}/mcp`,
|
|
5348
|
+
],
|
|
5349
|
+
{ stdio: 'pipe', env }
|
|
5350
|
+
);
|
|
5351
|
+
} catch (e) {
|
|
5352
|
+
const stderr = e.stderr?.toString().trim();
|
|
5353
|
+
throw new Error(stderr || e.message);
|
|
5354
|
+
}
|
|
5355
|
+
}
|
|
5356
|
+
|
|
5357
|
+
if (!sub || sub === '--help') {
|
|
5358
|
+
console.log(`
|
|
5359
|
+
${bold('◇ context-vault daemon')} ${dim('— shared HTTP daemon')}
|
|
5360
|
+
|
|
5361
|
+
${bold('Subcommands:')}
|
|
5362
|
+
${cyan('start')} [--port PORT] Start the daemon (default port: ${defaultPort})
|
|
5363
|
+
${cyan('stop')} Stop the running daemon
|
|
5364
|
+
${cyan('status')} Show daemon status
|
|
5365
|
+
${cyan('install')} Start daemon + configure Claude Code to use it
|
|
5366
|
+
${cyan('uninstall')} Stop daemon + revert Claude Code to stdio mode
|
|
5367
|
+
`);
|
|
5368
|
+
return;
|
|
5369
|
+
}
|
|
5370
|
+
|
|
5371
|
+
if (sub === 'start') {
|
|
5372
|
+
const port = parseInt(getFlag('--port') || String(defaultPort), 10);
|
|
5373
|
+
const existing = readPid();
|
|
5374
|
+
|
|
5375
|
+
if (existing && isAlive(existing.pid)) {
|
|
5376
|
+
console.log(` ${green('✓')} Daemon already running (PID ${existing.pid} on port ${existing.port})`);
|
|
5377
|
+
return;
|
|
5378
|
+
}
|
|
5379
|
+
|
|
5380
|
+
if (existing) {
|
|
5381
|
+
try { unlinkSync(pidPath); } catch {}
|
|
5382
|
+
}
|
|
5383
|
+
|
|
5384
|
+
console.log(` Starting daemon on port ${port}...`);
|
|
5385
|
+
|
|
5386
|
+
const vaultDir = getFlag('--vault-dir');
|
|
5387
|
+
const serverArgs = [SERVER_PATH, '--http', '--port', String(port)];
|
|
5388
|
+
if (vaultDir) serverArgs.push('--vault-dir', vaultDir);
|
|
5389
|
+
|
|
5390
|
+
const child = spawn(process.execPath, serverArgs, {
|
|
5391
|
+
detached: true,
|
|
5392
|
+
stdio: 'ignore',
|
|
5393
|
+
env: { ...process.env, NODE_OPTIONS: '--no-warnings=ExperimentalWarning' },
|
|
5394
|
+
});
|
|
5395
|
+
child.unref();
|
|
5396
|
+
|
|
5397
|
+
const health = await pollHealth(port);
|
|
5398
|
+
if (health) {
|
|
5399
|
+
console.log(` ${green('✓')} Daemon started on http://localhost:${port}/mcp (PID ${health.pid})`);
|
|
5400
|
+
} else {
|
|
5401
|
+
console.error(red(` Failed to start daemon. Check error log: ~/.context-mcp/error.log`));
|
|
5402
|
+
process.exit(1);
|
|
5403
|
+
}
|
|
5404
|
+
|
|
5405
|
+
} else if (sub === 'stop') {
|
|
5406
|
+
const existing = readPid();
|
|
5407
|
+
if (!existing) {
|
|
5408
|
+
console.log(dim(' No daemon running.'));
|
|
5409
|
+
return;
|
|
5410
|
+
}
|
|
5411
|
+
|
|
5412
|
+
if (!isAlive(existing.pid)) {
|
|
5413
|
+
console.log(dim(' Stale PID file (process not running). Cleaning up.'));
|
|
5414
|
+
try { unlinkSync(pidPath); } catch {}
|
|
5415
|
+
return;
|
|
5416
|
+
}
|
|
5417
|
+
|
|
5418
|
+
console.log(` Stopping daemon (PID ${existing.pid})...`);
|
|
5419
|
+
process.kill(existing.pid, 'SIGTERM');
|
|
5420
|
+
|
|
5421
|
+
const deadline = Date.now() + 3000;
|
|
5422
|
+
while (Date.now() < deadline && isAlive(existing.pid)) {
|
|
5423
|
+
await new Promise((r) => setTimeout(r, 200));
|
|
5424
|
+
}
|
|
5425
|
+
|
|
5426
|
+
if (isAlive(existing.pid)) {
|
|
5427
|
+
console.log(` ${yellow('!')} Still alive, sending SIGKILL...`);
|
|
5428
|
+
try { process.kill(existing.pid, 'SIGKILL'); } catch {}
|
|
5429
|
+
}
|
|
5430
|
+
|
|
5431
|
+
try { unlinkSync(pidPath); } catch {}
|
|
5432
|
+
console.log(` ${green('✓')} Daemon stopped.`);
|
|
5433
|
+
|
|
5434
|
+
} else if (sub === 'status') {
|
|
5435
|
+
const existing = readPid();
|
|
5436
|
+
if (!existing) {
|
|
5437
|
+
console.log(dim(' Not running.'));
|
|
5438
|
+
return;
|
|
5439
|
+
}
|
|
5440
|
+
|
|
5441
|
+
if (!isAlive(existing.pid)) {
|
|
5442
|
+
console.log(` ${yellow('!')} Stale PID file (PID ${existing.pid} not found).`);
|
|
5443
|
+
return;
|
|
5444
|
+
}
|
|
5445
|
+
|
|
5446
|
+
try {
|
|
5447
|
+
const res = await fetch(`http://localhost:${existing.port}/health`);
|
|
5448
|
+
const health = await res.json();
|
|
5449
|
+
const uptimeMin = Math.floor(health.uptime / 60);
|
|
5450
|
+
console.log(
|
|
5451
|
+
` ${green('●')} Running (PID ${health.pid}, port ${existing.port}, v${health.version}, ` +
|
|
5452
|
+
`${health.sessions} session${health.sessions === 1 ? '' : 's'}, uptime ${uptimeMin}m)`
|
|
5453
|
+
);
|
|
5454
|
+
} catch (e) {
|
|
5455
|
+
console.log(` ${yellow('!')} Process alive (PID ${existing.pid}) but health check failed: ${e.message}`);
|
|
5456
|
+
}
|
|
5457
|
+
|
|
5458
|
+
} else if (sub === 'install') {
|
|
5459
|
+
const port = parseInt(getFlag('--port') || String(defaultPort), 10);
|
|
5460
|
+
const existing = readPid();
|
|
5461
|
+
|
|
5462
|
+
if (!existing || !isAlive(existing.pid)) {
|
|
5463
|
+
if (existing) try { unlinkSync(pidPath); } catch {}
|
|
5464
|
+
|
|
5465
|
+
console.log(` Starting daemon on port ${port}...`);
|
|
5466
|
+
const vaultDir = getFlag('--vault-dir');
|
|
5467
|
+
const serverArgs = [SERVER_PATH, '--http', '--port', String(port)];
|
|
5468
|
+
if (vaultDir) serverArgs.push('--vault-dir', vaultDir);
|
|
5469
|
+
|
|
5470
|
+
const child = spawn(process.execPath, serverArgs, {
|
|
5471
|
+
detached: true,
|
|
5472
|
+
stdio: 'ignore',
|
|
5473
|
+
env: { ...process.env, NODE_OPTIONS: '--no-warnings=ExperimentalWarning' },
|
|
5474
|
+
});
|
|
5475
|
+
child.unref();
|
|
5476
|
+
|
|
5477
|
+
const health = await pollHealth(port);
|
|
5478
|
+
if (!health) {
|
|
5479
|
+
console.error(red(` Failed to start daemon.`));
|
|
5480
|
+
process.exit(1);
|
|
5481
|
+
}
|
|
5482
|
+
console.log(` ${green('✓')} Daemon started (PID ${health.pid})`);
|
|
5483
|
+
} else {
|
|
5484
|
+
console.log(` ${green('✓')} Daemon already running (PID ${existing.pid})`);
|
|
5485
|
+
}
|
|
5486
|
+
|
|
5487
|
+
console.log(` Configuring Claude Code to use HTTP transport...`);
|
|
5488
|
+
try {
|
|
5489
|
+
configureClaudeDaemon(port);
|
|
5490
|
+
console.log(` ${green('✓')} Claude Code configured for http://localhost:${port}/mcp`);
|
|
5491
|
+
console.log();
|
|
5492
|
+
console.log(dim(' Restart any open Claude Code sessions for the change to take effect.'));
|
|
5493
|
+
} catch (e) {
|
|
5494
|
+
console.error(red(` Failed to configure Claude Code: ${e.message}`));
|
|
5495
|
+
process.exit(1);
|
|
5496
|
+
}
|
|
5497
|
+
|
|
5498
|
+
} else if (sub === 'uninstall') {
|
|
5499
|
+
console.log(` Reverting Claude Code to stdio mode...`);
|
|
5500
|
+
try {
|
|
5501
|
+
const vaultDir = getFlag('--vault-dir') || join(HOME, '.vault');
|
|
5502
|
+
const tool = { name: 'Claude Code', configPath: null };
|
|
5503
|
+
await configureClaude(tool, vaultDir);
|
|
5504
|
+
console.log(` ${green('✓')} Claude Code reverted to stdio`);
|
|
5505
|
+
} catch (e) {
|
|
5506
|
+
console.error(red(` Failed to reconfigure Claude Code: ${e.message}`));
|
|
5507
|
+
}
|
|
5508
|
+
|
|
5509
|
+
const existing = readPid();
|
|
5510
|
+
if (existing && isAlive(existing.pid)) {
|
|
5511
|
+
console.log(` Stopping daemon (PID ${existing.pid})...`);
|
|
5512
|
+
process.kill(existing.pid, 'SIGTERM');
|
|
5513
|
+
const deadline = Date.now() + 3000;
|
|
5514
|
+
while (Date.now() < deadline && isAlive(existing.pid)) {
|
|
5515
|
+
await new Promise((r) => setTimeout(r, 200));
|
|
5516
|
+
}
|
|
5517
|
+
if (isAlive(existing.pid)) {
|
|
5518
|
+
try { process.kill(existing.pid, 'SIGKILL'); } catch {}
|
|
5519
|
+
}
|
|
5520
|
+
try { unlinkSync(pidPath); } catch {}
|
|
5521
|
+
console.log(` ${green('✓')} Daemon stopped.`);
|
|
5522
|
+
}
|
|
5523
|
+
|
|
5524
|
+
} else {
|
|
5525
|
+
console.error(red(` Unknown daemon subcommand: ${sub}`));
|
|
5526
|
+
console.error(` Run ${cyan('context-vault daemon --help')} for usage.`);
|
|
5527
|
+
process.exit(1);
|
|
5528
|
+
}
|
|
5529
|
+
}
|
|
5530
|
+
|
|
5181
5531
|
async function runServe() {
|
|
5182
5532
|
await import('../dist/server.js');
|
|
5183
5533
|
}
|
|
@@ -5213,6 +5563,9 @@ async function main() {
|
|
|
5213
5563
|
case 'switch':
|
|
5214
5564
|
await runSwitch();
|
|
5215
5565
|
break;
|
|
5566
|
+
case 'daemon':
|
|
5567
|
+
await runDaemon();
|
|
5568
|
+
break;
|
|
5216
5569
|
case 'serve':
|
|
5217
5570
|
await runServe();
|
|
5218
5571
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-tools.d.ts","sourceRoot":"","sources":["../src/register-tools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAyB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"register-tools.d.ts","sourceRoot":"","sources":["../src/register-tools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAyB,MAAM,YAAY,CAAC;AA6ClE,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAwI9D"}
|
package/dist/register-tools.js
CHANGED
|
@@ -32,6 +32,14 @@ const toolModules = [
|
|
|
32
32
|
listBuckets,
|
|
33
33
|
];
|
|
34
34
|
const TOOL_TIMEOUT_MS = 120_000;
|
|
35
|
+
// Reindex state hoisted to module scope so that in HTTP daemon mode
|
|
36
|
+
// (where registerTools is called once per session), the reindex only
|
|
37
|
+
// runs once for the entire process rather than once per connecting session.
|
|
38
|
+
let reindexDone = false;
|
|
39
|
+
let reindexPromise = null;
|
|
40
|
+
let reindexAttempts = 0;
|
|
41
|
+
let reindexFailed = false;
|
|
42
|
+
const MAX_REINDEX_ATTEMPTS = 2;
|
|
35
43
|
export function registerTools(server, ctx) {
|
|
36
44
|
function tracked(handler, toolName) {
|
|
37
45
|
return async (...args) => {
|
|
@@ -110,11 +118,6 @@ export function registerTools(server, ctx) {
|
|
|
110
118
|
}
|
|
111
119
|
};
|
|
112
120
|
}
|
|
113
|
-
let reindexDone = false;
|
|
114
|
-
let reindexPromise = null;
|
|
115
|
-
let reindexAttempts = 0;
|
|
116
|
-
let reindexFailed = false;
|
|
117
|
-
const MAX_REINDEX_ATTEMPTS = 2;
|
|
118
121
|
async function ensureIndexed({ blocking = true } = {}) {
|
|
119
122
|
if (reindexDone)
|
|
120
123
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-tools.js","sourceRoot":"","sources":["../src/register-tools.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"register-tools.js","sourceRoot":"","sources":["../src/register-tools.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -126,6 +126,10 @@ async function main() {
|
|
|
126
126
|
}
|
|
127
127
|
function shutdown(signal) {
|
|
128
128
|
console.error(`[context-vault] Received ${signal}, shutting down...`);
|
|
129
|
+
try {
|
|
130
|
+
unlinkSync(join(homedir(), '.context-mcp', 'daemon.pid'));
|
|
131
|
+
}
|
|
132
|
+
catch { }
|
|
129
133
|
if (ctx.activeOps.count > 0) {
|
|
130
134
|
console.error(`[context-vault] Waiting for ${ctx.activeOps.count} in-flight operation(s)...`);
|
|
131
135
|
const check = setInterval(() => {
|
|
@@ -155,6 +159,16 @@ async function main() {
|
|
|
155
159
|
: 3377;
|
|
156
160
|
const app = createMcpExpressApp();
|
|
157
161
|
const transports = {};
|
|
162
|
+
app.get('/health', (_req, res) => {
|
|
163
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
164
|
+
res.end(JSON.stringify({
|
|
165
|
+
ok: true,
|
|
166
|
+
version: pkg.version,
|
|
167
|
+
pid: process.pid,
|
|
168
|
+
uptime: process.uptime(),
|
|
169
|
+
sessions: Object.keys(transports).length,
|
|
170
|
+
}));
|
|
171
|
+
});
|
|
158
172
|
app.post('/mcp', async (req, res) => {
|
|
159
173
|
const sessionId = req.headers['mcp-session-id'];
|
|
160
174
|
try {
|
|
@@ -223,6 +237,9 @@ async function main() {
|
|
|
223
237
|
});
|
|
224
238
|
app.listen(port, () => {
|
|
225
239
|
console.error(`[context-vault] Serving on http://localhost:${port}/mcp`);
|
|
240
|
+
const pidDir = join(homedir(), '.context-mcp');
|
|
241
|
+
mkdirSync(pidDir, { recursive: true });
|
|
242
|
+
writeFileSync(join(pidDir, 'daemon.pid'), JSON.stringify({ pid: process.pid, port }));
|
|
226
243
|
});
|
|
227
244
|
}
|
|
228
245
|
else {
|
|
@@ -280,6 +297,7 @@ async function main() {
|
|
|
280
297
|
console.error('');
|
|
281
298
|
console.error(err.message);
|
|
282
299
|
console.error('');
|
|
300
|
+
console.error(` Platform: ${process.platform}/${process.arch}`);
|
|
283
301
|
console.error(` Node.js path: ${process.execPath}`);
|
|
284
302
|
console.error(` Node.js version: ${process.version}`);
|
|
285
303
|
console.error(` Error log: ${join(dataDir, 'error.log')}`);
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../src/categories.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../src/categories.ts"],"names":[],"mappings":"AA8BA,eAAO,MAAM,aAAa,aAA6C,CAAC;AAExE,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAItD,CAAC;AAKF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAInD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGnD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"categories.js","sourceRoot":"","sources":["../src/categories.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAA2B;IAC5C,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,WAAW;IACrB,OAAO,EAAE,WAAW;IACpB,MAAM,EAAE,WAAW;IACnB,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,YAAY,EAAE,OAAO;IACrB,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,OAAO;IACb,GAAG,EAAE,OAAO;IACZ,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,OAAO;CACf,CAAC;AAEF,MAAM,kBAAkB,GAA2B;IACjD,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,QAAQ;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,GAAG;IACb,SAAS,EAAE,EAAE;CACd,CAAC;AAEF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;AACvE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;AAE5D,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,WAAW,CAAC;IAClD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,kBAAkB,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC;AAChD,CAAC"}
|
|
1
|
+
{"version":3,"file":"categories.js","sourceRoot":"","sources":["../src/categories.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAA2B;IAC5C,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,WAAW;IACrB,OAAO,EAAE,WAAW;IACpB,MAAM,EAAE,WAAW;IACnB,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,QAAQ;IACjB,GAAG,EAAE,QAAQ;IACb,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,YAAY,EAAE,OAAO;IACrB,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,OAAO;IACb,GAAG,EAAE,OAAO;IACZ,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,OAAO;CACf,CAAC;AAEF,MAAM,kBAAkB,GAA2B;IACjD,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,QAAQ;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,GAAG;IACb,SAAS,EAAE,EAAE;CACd,CAAC;AAEF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;AACvE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;AAE5D,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,WAAW,CAAC;IAClD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,kBAAkB,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC;AAChD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAiDrD,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,aAAa,EAAE,KAAK,CAAC;gBACT,aAAa,EAAE,KAAK;CAMjC;
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAiDrD,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,aAAa,EAAE,KAAK,CAAC;gBACT,aAAa,EAAE,KAAK;CAMjC;AAiED,eAAO,MAAM,UAAU,szEAoDtB,CAAC;AAIF,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAyExE;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,YAAY,GAAG,kBAAkB,CAiCtE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,IAAI,CAIjG;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIxE;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAOxD"}
|
|
@@ -64,15 +64,45 @@ export class NativeModuleError extends Error {
|
|
|
64
64
|
this.originalError = originalError;
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
+
function platformFixCommands() {
|
|
68
|
+
const p = process.platform;
|
|
69
|
+
if (p === 'darwin') {
|
|
70
|
+
return [
|
|
71
|
+
' Fix options:',
|
|
72
|
+
' brew reinstall node && npm rebuild sqlite-vec',
|
|
73
|
+
' nvm install 22 && npm rebuild sqlite-vec',
|
|
74
|
+
' npx -y context-vault@latest setup',
|
|
75
|
+
];
|
|
76
|
+
}
|
|
77
|
+
if (p === 'win32') {
|
|
78
|
+
return [
|
|
79
|
+
' Fix options:',
|
|
80
|
+
' Verify architecture matches: node -p process.arch (expect x64)',
|
|
81
|
+
' winget install OpenJS.NodeJS.LTS && npm rebuild sqlite-vec',
|
|
82
|
+
' npx -y context-vault@latest setup',
|
|
83
|
+
];
|
|
84
|
+
}
|
|
85
|
+
// linux and others
|
|
86
|
+
return [
|
|
87
|
+
' Fix options:',
|
|
88
|
+
' nvm install 22 && npm rebuild sqlite-vec',
|
|
89
|
+
' npx -y context-vault@latest setup',
|
|
90
|
+
];
|
|
91
|
+
}
|
|
67
92
|
function formatNativeModuleError(err) {
|
|
68
93
|
const msg = err.message || '';
|
|
69
94
|
return [
|
|
70
95
|
`sqlite-vec extension failed to load: ${msg}`,
|
|
71
96
|
'',
|
|
72
|
-
`
|
|
97
|
+
` Platform: ${process.platform}/${process.arch}`,
|
|
98
|
+
` Node.js: ${process.version} (${process.execPath})`,
|
|
73
99
|
'',
|
|
74
|
-
'
|
|
75
|
-
'
|
|
100
|
+
' This means the native binary was compiled for a different',
|
|
101
|
+
' Node.js version or CPU architecture than the one running.',
|
|
102
|
+
'',
|
|
103
|
+
...platformFixCommands(),
|
|
104
|
+
'',
|
|
105
|
+
' Known issues: https://github.com/fellanH/context-vault/issues?q=sqlite-vec',
|
|
76
106
|
].join('\n');
|
|
77
107
|
}
|
|
78
108
|
let _sqliteVec = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACzG,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C;;;;;;;;GAQG;AACH,SAAS,eAAe,CAAC,MAAc,EAAE,SAAS,GAAG,MAAM;IACzD,MAAM,QAAQ,GAAG,MAAM,GAAG,YAAY,CAAC;IACvC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAElD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACpC,SAAS,CAAC,EAAE,CAAC,CAAC;YACd,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC;oBAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YACxC,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,GAAG,CAAC;YAErC,qFAAqF;YACrF,IAAI,CAAC;gBACH,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC;oBAClC,IAAI,CAAC;wBAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAA,CAAC;oBACtC,SAAS;gBACX,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YAEV,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,SAAS,EAAE,CAAC;gBACnC,qEAAqE;gBACrE,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;gBAC1E,IAAI,CAAC;oBAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;gBACtC,SAAS;YACX,CAAC;YAED,qEAAqE;YACrE,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,aAAa,CAAQ;IACrB,YAAY,aAAoB;QAC9B,MAAM,UAAU,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAC;QAC1D,KAAK,CAAC,UAAU,CAAC,CAAC;QAClB,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;CACF;AAED,SAAS,uBAAuB,CAAC,GAAU;IACzC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;IAC9B,OAAO;QACL,wCAAwC,GAAG,EAAE;QAC7C,EAAE;QACF,
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,15 +60,46 @@ export class NativeModuleError extends Error {
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
+
function platformFixCommands(): string[] {
|
|
64
|
+
const p = process.platform;
|
|
65
|
+
if (p === 'darwin') {
|
|
66
|
+
return [
|
|
67
|
+
' Fix options:',
|
|
68
|
+
' brew reinstall node && npm rebuild sqlite-vec',
|
|
69
|
+
' nvm install 22 && npm rebuild sqlite-vec',
|
|
70
|
+
' npx -y context-vault@latest setup',
|
|
71
|
+
];
|
|
72
|
+
}
|
|
73
|
+
if (p === 'win32') {
|
|
74
|
+
return [
|
|
75
|
+
' Fix options:',
|
|
76
|
+
' Verify architecture matches: node -p process.arch (expect x64)',
|
|
77
|
+
' winget install OpenJS.NodeJS.LTS && npm rebuild sqlite-vec',
|
|
78
|
+
' npx -y context-vault@latest setup',
|
|
79
|
+
];
|
|
80
|
+
}
|
|
81
|
+
// linux and others
|
|
82
|
+
return [
|
|
83
|
+
' Fix options:',
|
|
84
|
+
' nvm install 22 && npm rebuild sqlite-vec',
|
|
85
|
+
' npx -y context-vault@latest setup',
|
|
86
|
+
];
|
|
87
|
+
}
|
|
88
|
+
|
|
63
89
|
function formatNativeModuleError(err: Error): string {
|
|
64
90
|
const msg = err.message || '';
|
|
65
91
|
return [
|
|
66
92
|
`sqlite-vec extension failed to load: ${msg}`,
|
|
67
93
|
'',
|
|
68
|
-
`
|
|
94
|
+
` Platform: ${process.platform}/${process.arch}`,
|
|
95
|
+
` Node.js: ${process.version} (${process.execPath})`,
|
|
69
96
|
'',
|
|
70
|
-
'
|
|
71
|
-
'
|
|
97
|
+
' This means the native binary was compiled for a different',
|
|
98
|
+
' Node.js version or CPU architecture than the one running.',
|
|
99
|
+
'',
|
|
100
|
+
...platformFixCommands(),
|
|
101
|
+
'',
|
|
102
|
+
' Known issues: https://github.com/fellanH/context-vault/issues?q=sqlite-vec',
|
|
72
103
|
].join('\n');
|
|
73
104
|
}
|
|
74
105
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "context-vault",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Persistent memory for AI agents — saves and searches knowledge across sessions",
|
|
6
6
|
"bin": {
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"@context-vault/core"
|
|
64
64
|
],
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"@context-vault/core": "^3.
|
|
66
|
+
"@context-vault/core": "^3.4.0",
|
|
67
67
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
68
68
|
"adm-zip": "^0.5.16",
|
|
69
69
|
"sqlite-vec": "^0.1.0"
|
package/src/register-tools.ts
CHANGED
|
@@ -38,6 +38,15 @@ const toolModules = [
|
|
|
38
38
|
|
|
39
39
|
const TOOL_TIMEOUT_MS = 120_000;
|
|
40
40
|
|
|
41
|
+
// Reindex state hoisted to module scope so that in HTTP daemon mode
|
|
42
|
+
// (where registerTools is called once per session), the reindex only
|
|
43
|
+
// runs once for the entire process rather than once per connecting session.
|
|
44
|
+
let reindexDone = false;
|
|
45
|
+
let reindexPromise: Promise<void> | null = null;
|
|
46
|
+
let reindexAttempts = 0;
|
|
47
|
+
let reindexFailed = false;
|
|
48
|
+
const MAX_REINDEX_ATTEMPTS = 2;
|
|
49
|
+
|
|
41
50
|
export function registerTools(server: any, ctx: LocalCtx): void {
|
|
42
51
|
function tracked(
|
|
43
52
|
handler: (...args: any[]) => Promise<ToolResult>,
|
|
@@ -117,12 +126,6 @@ export function registerTools(server: any, ctx: LocalCtx): void {
|
|
|
117
126
|
};
|
|
118
127
|
}
|
|
119
128
|
|
|
120
|
-
let reindexDone = false;
|
|
121
|
-
let reindexPromise: Promise<void> | null = null;
|
|
122
|
-
let reindexAttempts = 0;
|
|
123
|
-
let reindexFailed = false;
|
|
124
|
-
const MAX_REINDEX_ATTEMPTS = 2;
|
|
125
|
-
|
|
126
129
|
async function ensureIndexed({ blocking = true }: { blocking?: boolean } = {}): Promise<void> {
|
|
127
130
|
if (reindexDone) return;
|
|
128
131
|
if (reindexPromise) {
|
package/src/server.ts
CHANGED
|
@@ -164,6 +164,7 @@ async function main(): Promise<void> {
|
|
|
164
164
|
|
|
165
165
|
function shutdown(signal: string): void {
|
|
166
166
|
console.error(`[context-vault] Received ${signal}, shutting down...`);
|
|
167
|
+
try { unlinkSync(join(homedir(), '.context-mcp', 'daemon.pid')); } catch {}
|
|
167
168
|
|
|
168
169
|
if (ctx.activeOps.count > 0) {
|
|
169
170
|
console.error(
|
|
@@ -202,6 +203,17 @@ async function main(): Promise<void> {
|
|
|
202
203
|
const app = createMcpExpressApp();
|
|
203
204
|
const transports: Record<string, StreamableHTTPServerTransport> = {};
|
|
204
205
|
|
|
206
|
+
app.get('/health', (_req: IncomingMessage, res: ServerResponse) => {
|
|
207
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
208
|
+
res.end(JSON.stringify({
|
|
209
|
+
ok: true,
|
|
210
|
+
version: pkg.version,
|
|
211
|
+
pid: process.pid,
|
|
212
|
+
uptime: process.uptime(),
|
|
213
|
+
sessions: Object.keys(transports).length,
|
|
214
|
+
}));
|
|
215
|
+
});
|
|
216
|
+
|
|
205
217
|
app.post('/mcp', async (req: IncomingMessage & { body?: unknown }, res: ServerResponse) => {
|
|
206
218
|
const sessionId = req.headers['mcp-session-id'] as string | undefined;
|
|
207
219
|
try {
|
|
@@ -270,6 +282,9 @@ async function main(): Promise<void> {
|
|
|
270
282
|
|
|
271
283
|
app.listen(port, () => {
|
|
272
284
|
console.error(`[context-vault] Serving on http://localhost:${port}/mcp`);
|
|
285
|
+
const pidDir = join(homedir(), '.context-mcp');
|
|
286
|
+
mkdirSync(pidDir, { recursive: true });
|
|
287
|
+
writeFileSync(join(pidDir, 'daemon.pid'), JSON.stringify({ pid: process.pid, port }));
|
|
273
288
|
});
|
|
274
289
|
} else {
|
|
275
290
|
const transport = new StdioServerTransport();
|
|
@@ -332,6 +347,7 @@ async function main(): Promise<void> {
|
|
|
332
347
|
console.error('');
|
|
333
348
|
console.error(err.message);
|
|
334
349
|
console.error('');
|
|
350
|
+
console.error(` Platform: ${process.platform}/${process.arch}`);
|
|
335
351
|
console.error(` Node.js path: ${process.execPath}`);
|
|
336
352
|
console.error(` Node.js version: ${process.version}`);
|
|
337
353
|
console.error(` Error log: ${join(dataDir, 'error.log')}`);
|