mcp-context-sync 1.0.11 → 1.0.13

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 (49) hide show
  1. package/dist/cli.js +253 -49
  2. package/dist/cli.js.map +1 -1
  3. package/dist/db/connection.d.ts +10 -1
  4. package/dist/db/connection.js +59 -23
  5. package/dist/db/connection.js.map +1 -1
  6. package/dist/db/json-adapter.d.ts +47 -0
  7. package/dist/db/json-adapter.js +235 -0
  8. package/dist/db/json-adapter.js.map +1 -0
  9. package/dist/db/sqlite-adapter.d.ts +37 -0
  10. package/dist/db/sqlite-adapter.js +78 -0
  11. package/dist/db/sqlite-adapter.js.map +1 -0
  12. package/dist/db/storage.d.ts +41 -0
  13. package/dist/db/storage.js +9 -0
  14. package/dist/db/storage.js.map +1 -0
  15. package/dist/index.js +4 -4
  16. package/dist/index.js.map +1 -1
  17. package/dist/resources/project-decisions.d.ts +2 -2
  18. package/dist/resources/project-decisions.js +3 -4
  19. package/dist/resources/project-decisions.js.map +1 -1
  20. package/dist/resources/project-snapshot.d.ts +2 -2
  21. package/dist/resources/project-snapshot.js +3 -4
  22. package/dist/resources/project-snapshot.js.map +1 -1
  23. package/dist/resources/status.d.ts +2 -2
  24. package/dist/resources/status.js +1 -2
  25. package/dist/resources/status.js.map +1 -1
  26. package/dist/tools/amend-snapshot.d.ts +2 -2
  27. package/dist/tools/amend-snapshot.js +9 -10
  28. package/dist/tools/amend-snapshot.js.map +1 -1
  29. package/dist/tools/get-history.d.ts +2 -2
  30. package/dist/tools/get-history.js +3 -4
  31. package/dist/tools/get-history.js.map +1 -1
  32. package/dist/tools/list-projects.d.ts +2 -2
  33. package/dist/tools/list-projects.js +1 -2
  34. package/dist/tools/list-projects.js.map +1 -1
  35. package/dist/tools/log-decision.d.ts +2 -2
  36. package/dist/tools/log-decision.js +2 -3
  37. package/dist/tools/log-decision.js.map +1 -1
  38. package/dist/tools/resume.d.ts +2 -2
  39. package/dist/tools/resume.js +7 -8
  40. package/dist/tools/resume.js.map +1 -1
  41. package/dist/tools/search-snapshots.d.ts +2 -2
  42. package/dist/tools/search-snapshots.js +2 -3
  43. package/dist/tools/search-snapshots.js.map +1 -1
  44. package/dist/tools/sync.d.ts +2 -2
  45. package/dist/tools/sync.js +5 -6
  46. package/dist/tools/sync.js.map +1 -1
  47. package/package.json +4 -2
  48. package/scripts/postinstall.cjs +14 -34
  49. package/scripts/preinstall.cjs +13 -86
@@ -1 +1 @@
1
- {"version":3,"file":"resume.js","sourceRoot":"","sources":["../../src/tools/resume.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resume.js","sourceRoot":"","sources":["../../src/tools/resume.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,UAAU,kBAAkB,CAAC,MAAiB,EAAE,EAAkB;IACtE,MAAM,CAAC,YAAY,CACjB,QAAQ,EACR;QACE,KAAK,EAAE,8BAA8B;QACrC,WAAW,EACT,2FAA2F;YAC3F,mFAAmF;QACrF,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE;YACX,YAAY,EAAE,KAAK,EAAE,0BAA0B;YAC/C,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,EAAE,KAAK,EAAE,EAAE;QACd,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE1D,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,oBAAoB,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5H,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU;YAC/B,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC;YACtC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAEpC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,YAAY,WAAW,gCAAgC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG;qBACzH,CAAC;aACH,CAAC;QACJ,CAAC;QAED,wCAAwC;QACxC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YACjC,EAAE,CAAC,aAAa,CAAC;gBACf,EAAE,EAAE,UAAU,EAAE;gBAChB,UAAU,EAAE,SAAS;gBACrB,WAAW,EAAE,QAAQ,CAAC,EAAE;gBACxB,UAAU,EAAE,QAAQ,CAAC,KAAK;gBAC1B,QAAQ,EAAE,KAAK,CAAC,KAAK;gBACrB,cAAc,EAAE,QAAQ,CAAC,UAAU;gBACnC,YAAY,EAAE,GAAG;gBACjB,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;YACH,EAAE,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;YACrC,OAAO,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,QAAQ,GAAG,sBAAsB,CAAC,QAAQ,EAAE,WAAW,EAAE;YAC7D,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,aAAa,EAAE,OAAO,CAAC,aAAa,GAAG,CAAC;YACxC,MAAM;SACP,CAAC,CAAC;QAEH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAClE,CAAC,CACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,SAAS,oBAAoB,CAC3B,EAAkB,EAClB,SAAiB,EACjB,WAAmB,EACnB,SAAiB;IAEjB,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC;IAEtC,MAAM,KAAK,GAAa;QACtB,2CAA2C,WAAW,GAAG;QACzD,EAAE;QACF,mBAAmB;QACnB,aAAa,UAAU,IAAI;QAC3B,WAAW,SAAS,IAAI;QACxB,EAAE;KACH,CAAC;IAEF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QAC3E,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,yBAAyB,WAAW,CAAC,MAAM,MAAM,CAAC,CAAC;IAE9D,4DAA4D;IAC5D,MAAM,MAAM,GAAG,WAAW;SACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;SAC5E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAErC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC,eAAe,QAAQ,CAAC,CAAC,cAAc,aAAa,CAAC,CAAC;IACnF,CAAC;IAED,6CAA6C;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,kCAAkC,IAAI,CAAC,eAAe,KAAK,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,IAAI,CACR,EAAE,EACF,sBAAsB,EACtB,qEAAqE,EACrE,gEAAgE,EAChE,oDAAoD,CACrD,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,8EAA8E;AAC9E,qEAAqE;AACrE,8EAA8E;AAE9E,SAAS,cAAc,CAAC,CAAS,EAAE,CAAS;IAC1C,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAE3B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9D,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;YAAE,MAAM,EAAE,CAAC;;YAC/B,MAAM;IACb,CAAC;IACD,OAAO,MAAM,GAAG,MAAM,CAAC;AACzB,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import type Database from 'better-sqlite3';
3
- export declare function registerSearchSnapshotsTool(server: McpServer, db: Database.Database): void;
2
+ import type { StorageAdapter } from '../db/storage.js';
3
+ export declare function registerSearchSnapshotsTool(server: McpServer, db: StorageAdapter): void;
@@ -1,6 +1,5 @@
1
1
  import { SearchSnapshotsInputSchema } from '../lib/types.js';
2
2
  import { projectIdFromPath } from '../lib/project-id.js';
3
- import { searchSnapshots, getSnapshotsByProject } from '../db/queries.js';
4
3
  export function registerSearchSnapshotsTool(server, db) {
5
4
  server.registerTool('search-snapshots', {
6
5
  title: 'Search Snapshots',
@@ -18,11 +17,11 @@ export function registerSearchSnapshotsTool(server, db) {
18
17
  : undefined;
19
18
  let results;
20
19
  if (input.query) {
21
- results = searchSnapshots(db, input.query, projectId, input.agent, input.since, input.until, input.limit);
20
+ results = db.searchSnapshots(input.query, projectId, input.agent, input.since, input.until, input.limit);
22
21
  }
23
22
  else if (projectId) {
24
23
  // No query text, just filter by project
25
- results = getSnapshotsByProject(db, projectId, input.limit);
24
+ results = db.getSnapshotsByProject(projectId, input.limit);
26
25
  if (input.agent) {
27
26
  results = results.filter((s) => s.agent === input.agent);
28
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"search-snapshots.js","sourceRoot":"","sources":["../../src/tools/search-snapshots.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-snapshots.js","sourceRoot":"","sources":["../../src/tools/search-snapshots.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import type Database from 'better-sqlite3';
3
- export declare function registerSyncTool(server: McpServer, db: Database.Database): void;
2
+ import type { StorageAdapter } from '../db/storage.js';
3
+ export declare function registerSyncTool(server: McpServer, db: StorageAdapter): void;
@@ -1,7 +1,6 @@
1
1
  import { SyncInputSchema } from '../lib/types.js';
2
2
  import { projectIdFromPath, normalizePath, displayNameFromPath, } from '../lib/project-id.js';
3
3
  import { generateId } from '../lib/uuid.js';
4
- import { upsertProject, getNextSequenceNumber, insertSnapshot, insertDecision, updateProjectSyncStats, } from '../db/queries.js';
5
4
  import { validateProjectDir, suggestProjectRoot, formatWarnings, } from '../lib/validation.js';
6
5
  export function registerSyncTool(server, db) {
7
6
  server.registerTool('sync', {
@@ -23,8 +22,8 @@ export function registerSyncTool(server, db) {
23
22
  const validation = validateProjectDir(input.projectDir);
24
23
  const suggestedRoot = suggestProjectRoot(input.projectDir);
25
24
  const txn = db.transaction(() => {
26
- upsertProject(db, projectId, normalized, displayName);
27
- const seqNum = getNextSequenceNumber(db, projectId);
25
+ db.upsertProject(projectId, normalized, displayName);
26
+ const seqNum = db.getNextSequenceNumber(projectId);
28
27
  const snapshotId = generateId();
29
28
  // Serialize all arrays once
30
29
  const serialized = {
@@ -35,7 +34,7 @@ export function registerSyncTool(server, db) {
35
34
  tasksCompleted: JSON.stringify(input.tasksCompleted),
36
35
  tasksRemaining: JSON.stringify(input.tasksRemaining),
37
36
  };
38
- insertSnapshot(db, {
37
+ db.insertSnapshot({
39
38
  id: snapshotId,
40
39
  project_id: projectId,
41
40
  sequence_number: seqNum,
@@ -53,7 +52,7 @@ export function registerSyncTool(server, db) {
53
52
  // Also insert decisions as first-class entities
54
53
  if (input.decisions) {
55
54
  for (const d of input.decisions) {
56
- insertDecision(db, {
55
+ db.insertDecision({
57
56
  id: generateId(),
58
57
  project_id: projectId,
59
58
  snapshot_id: snapshotId,
@@ -67,7 +66,7 @@ export function registerSyncTool(server, db) {
67
66
  });
68
67
  }
69
68
  }
70
- updateProjectSyncStats(db, projectId);
69
+ db.updateProjectSyncStats(projectId);
71
70
  return { snapshotId, seqNum };
72
71
  });
73
72
  const { snapshotId, seqNum } = txn();
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/tools/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/tools/sync.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-context-sync",
3
- "version": "1.0.11",
3
+ "version": "1.0.13",
4
4
  "description": "MCP server for synchronizing work context between AI coding agents (Claude Code, Codex, Gemini, Cursor)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -42,9 +42,11 @@
42
42
  },
43
43
  "dependencies": {
44
44
  "@modelcontextprotocol/sdk": "^1.27.0",
45
- "better-sqlite3": "^11.0.0",
46
45
  "zod": "^3.24.0"
47
46
  },
47
+ "optionalDependencies": {
48
+ "better-sqlite3": "^11.0.0"
49
+ },
48
50
  "devDependencies": {
49
51
  "@types/better-sqlite3": "^7.6.0",
50
52
  "@types/node": "^22.0.0",
@@ -2,53 +2,33 @@
2
2
 
3
3
  /**
4
4
  * postinstall check — verify better-sqlite3 loaded correctly.
5
- * If not, print a clear actionable message instead of letting the user
6
- * discover a broken shim later.
5
+ * If not, inform the user that JSON fallback will be used.
6
+ * The install succeeds either way (better-sqlite3 is optional).
7
7
  */
8
8
 
9
9
  try {
10
10
  require('better-sqlite3');
11
+ console.log(' mcp-context-sync: SQLite storage ready (better-sqlite3 loaded)');
11
12
  } catch (err) {
12
13
  const nodeVersion = process.version;
13
14
  const major = parseInt(nodeVersion.slice(1), 10);
14
15
  const isWin = process.platform === 'win32';
15
16
 
16
- console.error('');
17
- console.error('╔══════════════════════════════════════════════════════════════╗');
18
- console.error(' mcp-context-sync: better-sqlite3 failed to load ║');
19
- console.error('╚══════════════════════════════════════════════════════════════╝');
20
- console.error('');
17
+ console.warn('');
18
+ console.warn(' mcp-context-sync: better-sqlite3 not available — using JSON fallback storage');
19
+ console.warn(' Everything will work, but SQLite is faster and supports full-text search.');
20
+ console.warn('');
21
21
 
22
22
  if (major >= 23 && isWin) {
23
- console.error(` You are running Node ${nodeVersion} on Windows.`);
24
- console.error(' better-sqlite3 does not have prebuilt binaries for this version yet.');
25
- console.error('');
26
- console.error(' Recommended fix:');
27
- console.error(' Use Node 20 or 22 LTS to install:');
28
- console.error('');
29
- console.error(' nvm install 22');
30
- console.error(' nvm use 22');
31
- console.error(' npm install -g mcp-context-sync');
32
- console.error('');
33
- console.error(' Alternative fix:');
34
- console.error(' Install Visual Studio Build Tools with "Desktop development with C++"');
35
- console.error(' https://visualstudio.microsoft.com/visual-cpp-build-tools/');
23
+ console.warn(` Reason: Node ${nodeVersion} on Windows lacks prebuilt binaries.`);
24
+ console.warn(' To enable SQLite: reinstall with Node 20 or 22 LTS.');
36
25
  } else if (isWin) {
37
- console.error(` Node ${nodeVersion} on Windows native compilation may have failed.`);
38
- console.error('');
39
- console.error(' Fix: Install Visual Studio Build Tools with "Desktop development with C++"');
40
- console.error(' https://visualstudio.microsoft.com/visual-cpp-build-tools/');
41
- console.error(' Then retry: npm install -g mcp-context-sync');
26
+ console.warn(' To enable SQLite: install Visual Studio Build Tools with "Desktop development with C++"');
27
+ console.warn(' https://visualstudio.microsoft.com/visual-cpp-build-tools/');
42
28
  } else {
43
- console.error(` Node ${nodeVersion} on ${process.platform}.`);
44
- console.error(' You may need build tools (gcc, make, python3) installed.');
45
- console.error(' Or try Node 20-22 LTS which has prebuilt binaries.');
29
+ console.warn(' To enable SQLite: install build tools (gcc, make, python3) or use Node 20-22 LTS.');
46
30
  }
47
31
 
48
- console.error('');
49
- console.error(` Error: ${err.message}`);
50
- console.error('');
51
-
52
- // Exit with error so npm shows the install failed clearly
53
- process.exit(1);
32
+ console.warn('');
33
+ // Exit 0 — installation is successful with JSON fallback
54
34
  }
@@ -1,97 +1,24 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  /**
4
- * preinstall check — runs BEFORE npm installs dependencies.
5
- * Detects known-broken combinations (Node 23+/Windows/no Build Tools)
6
- * and aborts with a clear message BEFORE npm leaves broken shims.
4
+ * preinstall check — informational only.
5
+ * Warns about Node 23+ on Windows where better-sqlite3 may not have
6
+ * prebuilt binaries. Installation always proceeds (JSON fallback available).
7
7
  */
8
8
 
9
9
  const nodeVersion = process.version;
10
10
  const major = parseInt(nodeVersion.slice(1), 10);
11
11
  const isWin = process.platform === 'win32';
12
12
 
13
- // Node 18-22 on any platform: prebuilt binaries exist, no issues
14
- if (major < 23) {
15
- process.exit(0);
13
+ if (major >= 23 && isWin) {
14
+ console.warn('');
15
+ console.warn(` mcp-context-sync: Node ${nodeVersion} on Windows detected.`);
16
+ console.warn(' better-sqlite3 may fail to install (no prebuilt binary).');
17
+ console.warn(' If so, JSON file storage will be used automatically.');
18
+ console.warn(' For best performance, use Node 20 or 22 LTS.');
19
+ console.warn('');
20
+ } else if (major >= 23) {
21
+ console.warn(`\n mcp-context-sync: Node ${nodeVersion} — better-sqlite3 may compile from source.\n`);
16
22
  }
17
23
 
18
- // Node 23+ on non-Windows: usually has build tools, let it try
19
- if (!isWin) {
20
- console.warn(`\n ⚠ Node ${nodeVersion} detected. better-sqlite3 may need to compile from source.`);
21
- console.warn(' If installation fails, use Node 20 or 22 LTS.\n');
22
- process.exit(0);
23
- }
24
-
25
- // Node 23+ on Windows: check if Build Tools are available
26
- let hasBuildTools = false;
27
- try {
28
- const { execSync } = require('child_process');
29
-
30
- // Method 1: Check for cl.exe (MSVC compiler)
31
- try {
32
- execSync('where cl.exe', { stdio: ['pipe', 'pipe', 'pipe'] });
33
- hasBuildTools = true;
34
- } catch {}
35
-
36
- // Method 2: Check for MSBuild (Visual Studio Build Tools)
37
- if (!hasBuildTools) {
38
- try {
39
- execSync('where msbuild', { stdio: ['pipe', 'pipe', 'pipe'] });
40
- hasBuildTools = true;
41
- } catch {}
42
- }
43
-
44
- // Method 3: Check VS install path
45
- if (!hasBuildTools) {
46
- const fs = require('fs');
47
- const vsPath = 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Installer\\vswhere.exe';
48
- if (fs.existsSync(vsPath)) {
49
- try {
50
- const output = execSync(`"${vsPath}" -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`, {
51
- encoding: 'utf-8',
52
- stdio: ['pipe', 'pipe', 'pipe'],
53
- }).trim();
54
- if (output) hasBuildTools = true;
55
- } catch {}
56
- }
57
- }
58
- } catch {}
59
-
60
- if (hasBuildTools) {
61
- console.warn(`\n ⚠ Node ${nodeVersion} on Windows — no prebuilt binary for better-sqlite3.`);
62
- console.warn(' Build Tools detected, will compile from source (may take a minute).\n');
63
- process.exit(0);
64
- }
65
-
66
- // Node 23+ on Windows without Build Tools — this WILL fail and leave broken shims
67
- console.error('');
68
- console.error('╔══════════════════════════════════════════════════════════════════╗');
69
- console.error('║ mcp-context-sync: installation will fail on this environment ║');
70
- console.error('╚══════════════════════════════════════════════════════════════════╝');
71
- console.error('');
72
- console.error(` Node: ${nodeVersion}`);
73
- console.error(` Platform: Windows`);
74
- console.error(' Build: Visual Studio Build Tools NOT found');
75
- console.error('');
76
- console.error(' better-sqlite3 has no prebuilt binary for Node 23+ on Windows,');
77
- console.error(' and native compilation requires Visual Studio Build Tools.');
78
- console.error(' Without them, npm will leave broken .cmd shims in your PATH.');
79
- console.error('');
80
- console.error(' ── Recommended fix (fastest) ──────────────────────────────────');
81
- console.error('');
82
- console.error(' Use Node 20 or 22 LTS:');
83
- console.error('');
84
- console.error(' nvm install 22');
85
- console.error(' nvm use 22');
86
- console.error(' npm install -g mcp-context-sync');
87
- console.error('');
88
- console.error(' ── Alternative fix ────────────────────────────────────────────');
89
- console.error('');
90
- console.error(' Install Visual Studio Build Tools:');
91
- console.error(' https://visualstudio.microsoft.com/visual-cpp-build-tools/');
92
- console.error(' Select "Desktop development with C++" workload');
93
- console.error(' Then retry: npm install -g mcp-context-sync');
94
- console.error('');
95
-
96
- // Exit with error to PREVENT npm from proceeding
97
- process.exit(1);
24
+ // Always exit 0 never block installation