@noyrax/5d-database-plugin 0.1.14-beta.6 → 0.1.14-beta.8

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 (67) hide show
  1. package/out/api/adr-api.d.ts +0 -6
  2. package/out/api/adr-api.d.ts.map +1 -1
  3. package/out/api/adr-api.js +2 -42
  4. package/out/api/adr-api.js.map +1 -1
  5. package/out/api/bootstrap-api.d.ts +1 -1
  6. package/out/api/bootstrap-api.d.ts.map +1 -1
  7. package/out/api/bootstrap-api.js +16 -3
  8. package/out/api/bootstrap-api.js.map +1 -1
  9. package/out/api/module-api.d.ts +0 -1
  10. package/out/api/module-api.d.ts.map +1 -1
  11. package/out/api/module-api.js +4 -38
  12. package/out/api/module-api.js.map +1 -1
  13. package/out/api/self-explanation-api.d.ts +7 -1
  14. package/out/api/self-explanation-api.d.ts.map +1 -1
  15. package/out/api/self-explanation-api.js +256 -48
  16. package/out/api/self-explanation-api.js.map +1 -1
  17. package/out/api/source-access-contract-api.d.ts.map +1 -1
  18. package/out/api/source-access-contract-api.js +42 -3
  19. package/out/api/source-access-contract-api.js.map +1 -1
  20. package/out/api/source-snippet-api.d.ts.map +1 -1
  21. package/out/api/source-snippet-api.js +3 -1
  22. package/out/api/source-snippet-api.js.map +1 -1
  23. package/out/cli/ingest-cli.js +44 -5
  24. package/out/cli/ingest-cli.js.map +1 -1
  25. package/out/core/migration-manager.d.ts.map +1 -1
  26. package/out/core/migration-manager.js +61 -32
  27. package/out/core/migration-manager.js.map +1 -1
  28. package/out/core/multi-db-manager.d.ts +26 -0
  29. package/out/core/multi-db-manager.d.ts.map +1 -1
  30. package/out/core/multi-db-manager.js +143 -2
  31. package/out/core/multi-db-manager.js.map +1 -1
  32. package/out/core/path-normalizer.d.ts +46 -0
  33. package/out/core/path-normalizer.d.ts.map +1 -0
  34. package/out/core/path-normalizer.js +152 -0
  35. package/out/core/path-normalizer.js.map +1 -0
  36. package/out/ingestors/adr-ingestor.d.ts.map +1 -1
  37. package/out/ingestors/adr-ingestor.js +7 -8
  38. package/out/ingestors/adr-ingestor.js.map +1 -1
  39. package/out/ingestors/symbol-ingestor.d.ts.map +1 -1
  40. package/out/ingestors/symbol-ingestor.js +24 -8
  41. package/out/ingestors/symbol-ingestor.js.map +1 -1
  42. package/out/mcp/tools/gap-analysis.d.ts +3 -1
  43. package/out/mcp/tools/gap-analysis.d.ts.map +1 -1
  44. package/out/mcp/tools/gap-analysis.js +26 -7
  45. package/out/mcp/tools/gap-analysis.js.map +1 -1
  46. package/out/mcp/tools/source-access-contract.d.ts.map +1 -1
  47. package/out/mcp/tools/source-access-contract.js +3 -1
  48. package/out/mcp/tools/source-access-contract.js.map +1 -1
  49. package/out/models/evidence.d.ts +1 -1
  50. package/out/models/evidence.d.ts.map +1 -1
  51. package/out/models/evidence.js.map +1 -1
  52. package/out/models/reason-codes.d.ts +2 -0
  53. package/out/models/reason-codes.d.ts.map +1 -1
  54. package/out/models/reason-codes.js +3 -0
  55. package/out/models/reason-codes.js.map +1 -1
  56. package/out/repositories/symbol-repository.js +1 -1
  57. package/out/repositories/symbol-repository.js.map +1 -1
  58. package/out/services/cross-dimension-linker.d.ts +0 -5
  59. package/out/services/cross-dimension-linker.d.ts.map +1 -1
  60. package/out/services/cross-dimension-linker.js +2 -35
  61. package/out/services/cross-dimension-linker.js.map +1 -1
  62. package/package.json +196 -195
  63. package/schemas/sqlite/001_add_source_code_spans_modules.sql +7 -0
  64. package/schemas/sqlite/001_z_add_source_code_spans_modules.sql +13 -0
  65. package/schemas/sqlite/{007_add_source_code_spans.sql → 002_add_source_code_spans_symbols.sql} +1 -5
  66. package/schemas/sqlite/002_z_add_source_code_spans_symbols.sql +21 -0
  67. package/schemas/sqlite/{008_add_source_access_config.sql → 006_add_source_access_config.sql} +1 -1
@@ -107,32 +107,43 @@ function loadEnvFile(workspaceRoot) {
107
107
  }
108
108
  /**
109
109
  * CLI tool for ingesting documentation into the 5D database.
110
- * Usage: node ingest-cli.js <workspace-root> [--full]
110
+ * Usage: node ingest-cli.js <workspace-root> [--full] [--cleanup]
111
111
  */
112
112
  async function main() {
113
113
  const args = process.argv.slice(2);
114
114
  // Auto-detect workspace root if not provided
115
115
  let workspaceRoot;
116
116
  let isFull;
117
+ let shouldCleanup;
117
118
  if (args.length === 0) {
118
119
  // No arguments: use current working directory
119
120
  workspaceRoot = process.cwd();
120
121
  isFull = false;
122
+ shouldCleanup = false;
121
123
  }
122
124
  else if (args[0] === '--full') {
123
125
  // First arg is --full: use current working directory
124
126
  workspaceRoot = process.cwd();
125
127
  isFull = true;
128
+ shouldCleanup = args.includes('--cleanup');
126
129
  }
127
- else if (args.includes('--full')) {
128
- // Workspace root provided, --full flag present
130
+ else if (args[0] === '--cleanup') {
131
+ // First arg is --cleanup: use current working directory
132
+ workspaceRoot = process.cwd();
133
+ isFull = args.includes('--full');
134
+ shouldCleanup = true;
135
+ }
136
+ else if (args.includes('--full') || args.includes('--cleanup')) {
137
+ // Workspace root provided, flags present
129
138
  workspaceRoot = path.resolve(args[0]);
130
- isFull = true;
139
+ isFull = args.includes('--full');
140
+ shouldCleanup = args.includes('--cleanup');
131
141
  }
132
142
  else {
133
- // Workspace root provided, no --full flag
143
+ // Workspace root provided, no flags
134
144
  workspaceRoot = path.resolve(args[0]);
135
145
  isFull = false;
146
+ shouldCleanup = false;
136
147
  }
137
148
  // Load .env file from workspace root or parent directories
138
149
  loadEnvFile(workspaceRoot);
@@ -144,6 +155,9 @@ async function main() {
144
155
  }
145
156
  console.log(`Ingesting documentation from: ${workspaceRoot}`);
146
157
  console.log(`Mode: ${isFull ? 'full' : 'incremental'}`);
158
+ if (shouldCleanup) {
159
+ console.log(`Cleanup: enabled (will delete old databases with different plugin ID)`);
160
+ }
147
161
  // Find docs directory (dependency on Documentation System Plugin)
148
162
  const docsPath = docs_path_resolver_1.DocsPathResolver.findDocsDirectoryFromPath(workspaceRoot);
149
163
  if (!docsPath) {
@@ -164,6 +178,31 @@ async function main() {
164
178
  const dbManager = new multi_db_manager_1.MultiDbManager(workspaceRoot);
165
179
  const pluginRoot = path.resolve(__dirname, '..', '..');
166
180
  const migrationManager = new migration_manager_1.MigrationManager(dbManager, pluginRoot);
181
+ // Check for plugin ID mismatch
182
+ const hasMismatch = await dbManager.checkPluginIdMismatch();
183
+ if (hasMismatch) {
184
+ if (shouldCleanup || isFull) {
185
+ // Automatic cleanup on --cleanup flag or --full ingestion
186
+ if (isFull) {
187
+ console.log(`[Ingest CLI] Plugin ID mismatch detected. Automatically cleaning up old databases (--full mode).`);
188
+ }
189
+ else {
190
+ console.log(`[Ingest CLI] Plugin ID mismatch detected. Cleaning up old databases (--cleanup flag).`);
191
+ }
192
+ await dbManager.cleanupOldDatabases();
193
+ }
194
+ else {
195
+ console.error(`[Ingest CLI] ERROR: Plugin ID mismatch detected!`);
196
+ console.error(`[Ingest CLI] Current plugin ID: ${dbManager.getPluginId()}`);
197
+ console.error(`[Ingest CLI] Old databases have a different plugin ID (workspace may have been moved/renamed).`);
198
+ console.error(`[Ingest CLI]`);
199
+ console.error(`[Ingest CLI] Solution: Run ingestion with --cleanup flag to delete old databases:`);
200
+ console.error(`[Ingest CLI] noyrax-5d-database ingest "${workspaceRoot}" --cleanup`);
201
+ console.error(`[Ingest CLI] Or use --full flag (automatically cleans up):`);
202
+ console.error(`[Ingest CLI] noyrax-5d-database ingest "${workspaceRoot}" --full`);
203
+ process.exit(1);
204
+ }
205
+ }
167
206
  // Validate that required documentation files exist (hard validation - exits on failure)
168
207
  validateWorkspaceRoot(workspaceRoot, docsPath);
169
208
  const ingestionOrchestrator = new ingestion_orchestrator_1.IngestionOrchestrator(dbManager, migrationManager, docsPath);
@@ -1 +1 @@
1
- {"version":3,"file":"ingest-cli.js","sourceRoot":"","sources":["../../src/cli/ingest-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ingest-cli.js","sourceRoot":"","sources":["../../src/cli/ingest-cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"migration-manager.d.ts","sourceRoot":"","sources":["../../src/core/migration-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAW/D;;;GAGG;AACH,qBAAa,gBAAgB;IACzB,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,mBAAmB,CAAS;IAEpC;;;;;OAKG;gBACS,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM;IAKzD;;;;;OAKG;YACW,6BAA6B;IAkD3C;;;;;;;OAOG;YACW,qBAAqB;IAoDnC;;;;;OAKG;YACW,oBAAoB;IAclC;;;;;;OAMG;IACH;;;;;;;OAOG;YACW,oBAAoB;IAclC;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;;;;;;;OAQG;YACW,cAAc;IAiC5B;;;;;OAKG;IACH,OAAO,CAAC,6BAA6B;IAgBrC;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;;;;;OAMG;YACW,gBAAgB;IAuB9B;;;;;OAKG;IACU,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA2EzD;;;;OAIG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAM3C"}
1
+ {"version":3,"file":"migration-manager.d.ts","sourceRoot":"","sources":["../../src/core/migration-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAW/D;;;GAGG;AACH,qBAAa,gBAAgB;IACzB,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,mBAAmB,CAAS;IAEpC;;;;;OAKG;gBACS,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM;IAKzD;;;;;OAKG;YACW,6BAA6B;IAkD3C;;;;;;;OAOG;YACW,qBAAqB;IAoDnC;;;;;OAKG;YACW,oBAAoB;IAclC;;;;;;OAMG;IACH;;;;;;;OAOG;YACW,oBAAoB;IAclC;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;;;;;;;OAQG;YACW,cAAc;IAwC5B;;;;;OAKG;IACH,OAAO,CAAC,6BAA6B;IAuCrC;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;;;;;OAMG;YACW,gBAAgB;IAuB9B;;;;;OAKG;IACU,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA2EzD;;;;OAIG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAM3C"}
@@ -116,13 +116,13 @@ class MigrationManager {
116
116
  return;
117
117
  }
118
118
  // Create table with new structure
119
- db.run(`
120
- CREATE TABLE migrations (
121
- version INTEGER NOT NULL,
122
- name TEXT NOT NULL,
123
- applied_at DATETIME DEFAULT CURRENT_TIMESTAMP,
124
- PRIMARY KEY (version, name)
125
- )
119
+ db.run(`
120
+ CREATE TABLE migrations (
121
+ version INTEGER NOT NULL,
122
+ name TEXT NOT NULL,
123
+ applied_at DATETIME DEFAULT CURRENT_TIMESTAMP,
124
+ PRIMARY KEY (version, name)
125
+ )
126
126
  `, (createErr) => {
127
127
  if (createErr) {
128
128
  reject(createErr);
@@ -136,13 +136,13 @@ class MigrationManager {
136
136
  }
137
137
  // Table doesn't exist or has correct structure - create if not exists
138
138
  return new Promise((resolve, reject) => {
139
- db.run(`
140
- CREATE TABLE IF NOT EXISTS migrations (
141
- version INTEGER NOT NULL,
142
- name TEXT NOT NULL,
143
- applied_at DATETIME DEFAULT CURRENT_TIMESTAMP,
144
- PRIMARY KEY (version, name)
145
- )
139
+ db.run(`
140
+ CREATE TABLE IF NOT EXISTS migrations (
141
+ version INTEGER NOT NULL,
142
+ name TEXT NOT NULL,
143
+ applied_at DATETIME DEFAULT CURRENT_TIMESTAMP,
144
+ PRIMARY KEY (version, name)
145
+ )
146
146
  `, (err) => {
147
147
  if (err) {
148
148
  reject(err);
@@ -228,27 +228,34 @@ class MigrationManager {
228
228
  return new Promise((resolve, reject) => {
229
229
  db.exec(sql, (err) => {
230
230
  if (err) {
231
- reject(new Error(`Failed to apply migration ${version}_${name}: ${err.message}`));
231
+ // Ignore "duplicate column" errors - columns may already exist from previous migrations
232
+ // This can happen when migrations are split or renamed
233
+ if (err.message.includes('duplicate column')) {
234
+ console.log(`[MigrationManager] Migration ${version}_${name}: Column already exists, skipping: ${err.message}`);
235
+ // Continue to insert migration record even if column already exists
236
+ }
237
+ else {
238
+ reject(new Error(`Failed to apply migration ${version}_${name}: ${err.message}`));
239
+ return;
240
+ }
232
241
  }
233
- else {
234
- // Use INSERT OR IGNORE to handle race conditions
235
- // If migration already exists, it will be silently ignored
236
- db.run('INSERT OR IGNORE INTO migrations (version, name) VALUES (?, ?)', [version, name], (insertErr) => {
237
- if (insertErr) {
238
- // If it's a UNIQUE constraint error, migration already exists - that's OK
239
- if (insertErr.message.includes('UNIQUE constraint')) {
240
- console.log(`[MigrationManager] Migration ${version}_${name} already exists, skipping insert`);
241
- resolve();
242
- }
243
- else {
244
- reject(insertErr);
245
- }
242
+ // Use INSERT OR IGNORE to handle race conditions
243
+ // If migration already exists, it will be silently ignored
244
+ db.run('INSERT OR IGNORE INTO migrations (version, name) VALUES (?, ?)', [version, name], (insertErr) => {
245
+ if (insertErr) {
246
+ // If it's a UNIQUE constraint error, migration already exists - that's OK
247
+ if (insertErr.message.includes('UNIQUE constraint')) {
248
+ console.log(`[MigrationManager] Migration ${version}_${name} already exists, skipping insert`);
249
+ resolve();
246
250
  }
247
251
  else {
248
- resolve();
252
+ reject(insertErr);
249
253
  }
250
- });
251
- }
254
+ }
255
+ else {
256
+ resolve();
257
+ }
258
+ });
252
259
  });
253
260
  });
254
261
  }
@@ -268,7 +275,29 @@ class MigrationManager {
268
275
  const dimensionPrefix = this.getDimensionPrefix(dimension);
269
276
  return file.startsWith(dimensionPrefix);
270
277
  })
271
- .sort();
278
+ .sort((a, b) => {
279
+ // Extract version number
280
+ const versionMatchA = a.match(/^(\d+)_/);
281
+ const versionMatchB = b.match(/^(\d+)_/);
282
+ if (!versionMatchA || !versionMatchB) {
283
+ return a.localeCompare(b);
284
+ }
285
+ const versionA = parseInt(versionMatchA[1], 10);
286
+ const versionB = parseInt(versionMatchB[1], 10);
287
+ // Sort by version first
288
+ if (versionA !== versionB) {
289
+ return versionA - versionB;
290
+ }
291
+ // For same version, prioritize "initial_" migrations
292
+ const isInitialA = a.includes('_initial_');
293
+ const isInitialB = b.includes('_initial_');
294
+ if (isInitialA && !isInitialB)
295
+ return -1;
296
+ if (!isInitialA && isInitialB)
297
+ return 1;
298
+ // Otherwise, sort alphabetically
299
+ return a.localeCompare(b);
300
+ });
272
301
  return files;
273
302
  }
274
303
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"migration-manager.js","sourceRoot":"","sources":["../../src/core/migration-manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2CAA6B;AAC7B,uCAAyB;AAYzB;;;GAGG;AACH,MAAa,gBAAgB;IAIzB;;;;;OAKG;IACH,YAAY,SAAyB,EAAE,UAAkB;QACrD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,6BAA6B,CAAC,EAAoB;QAC5D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,wBAAwB;YACxB,EAAE,CAAC,GAAG,CACF,yEAAyE,EACzE,CAAC,GAAG,EAAE,GAAQ,EAAE,EAAE;gBACd,IAAI,GAAG,EAAE,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,CAAC;oBACZ,OAAO;gBACX,CAAC;gBAED,IAAI,CAAC,GAAG,EAAE,CAAC;oBACP,2EAA2E;oBAC3E,OAAO,CAAC,IAAI,CAAC,CAAC;oBACd,OAAO;gBACX,CAAC;gBAED,mEAAmE;gBACnE,uEAAuE;gBACvE,EAAE,CAAC,GAAG,CACF,sDAAsD,EACtD,CAAC,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAChC,CAAC,SAAS,EAAE,EAAE;oBACV,IAAI,SAAS,EAAE,CAAC;wBACZ,0DAA0D;wBAC1D,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,8CAA8C,CAAC,EAAE,CAAC;4BAC7E,8CAA8C;4BAC9C,OAAO,CAAC,KAAK,CAAC,CAAC;wBACnB,CAAC;6BAAM,CAAC;4BACJ,4CAA4C;4BAC5C,OAAO,CAAC,IAAI,CAAC,CAAC;wBAClB,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,4DAA4D;wBAC5D,EAAE,CAAC,GAAG,CACF,uDAAuD,EACvD,CAAC,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAChC,GAAG,EAAE;4BACD,+DAA+D;4BAC/D,OAAO,CAAC,IAAI,CAAC,CAAC;wBAClB,CAAC,CACJ,CAAC;oBACN,CAAC;gBACL,CAAC,CACJ,CAAC;YACN,CAAC,CACJ,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,qBAAqB,CAAC,EAAoB;QACpD,sCAAsC;QACtC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC;QAEtE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpB,sDAAsD;YACtD,OAAO,CAAC,IAAI,CAAC,yFAAyF,CAAC,CAAC;YACxG,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACnC,EAAE,CAAC,GAAG,CAAC,iCAAiC,EAAE,CAAC,OAAO,EAAE,EAAE;oBAClD,IAAI,OAAO,EAAE,CAAC;wBACV,MAAM,CAAC,OAAO,CAAC,CAAC;wBAChB,OAAO;oBACX,CAAC;oBAED,kCAAkC;oBAClC,EAAE,CAAC,GAAG,CAAC;;;;;;;qBAON,EAAE,CAAC,SAAS,EAAE,EAAE;wBACb,IAAI,SAAS,EAAE,CAAC;4BACZ,MAAM,CAAC,SAAS,CAAC,CAAC;wBACtB,CAAC;6BAAM,CAAC;4BACJ,OAAO,EAAE,CAAC;wBACd,CAAC;oBACL,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;QAED,sEAAsE;QACtE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,EAAE,CAAC,GAAG,CAAC;;;;;;;aAON,EAAE,CAAC,GAAG,EAAE,EAAE;gBACP,IAAI,GAAG,EAAE,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACJ,OAAO,EAAE,CAAC;gBACd,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,oBAAoB,CAAC,EAAoB;QACnD,MAAM,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAErC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,EAAE,CAAC,GAAG,CAAC,mEAAmE,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACtF,IAAI,GAAG,EAAE,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,IAAyB,CAAC,CAAC;gBACvC,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACH;;;;;;;OAOG;IACK,KAAK,CAAC,oBAAoB,CAAC,EAAoB,EAAE,OAAe,EAAE,IAAY;QAClF,MAAM,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAErC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,EAAE,CAAC,GAAG,CAAC,yEAAyE,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAQ,EAAE,EAAE;gBACjH,IAAI,GAAG,EAAE,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAClC,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACK,iBAAiB,CAAC,aAAqB;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;QACpE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,cAAc,CAAC,EAAoB,EAAE,OAAe,EAAE,IAAY,EAAE,GAAW;QACzF,gDAAgD;QAChD,MAAM,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAErC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;gBACjB,IAAI,GAAG,EAAE,CAAC;oBACN,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,OAAO,IAAI,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACtF,CAAC;qBAAM,CAAC;oBACJ,iDAAiD;oBACjD,2DAA2D;oBAC3D,EAAE,CAAC,GAAG,CACF,gEAAgE,EAChE,CAAC,OAAO,EAAE,IAAI,CAAC,EACf,CAAC,SAAS,EAAE,EAAE;wBACV,IAAI,SAAS,EAAE,CAAC;4BACZ,0EAA0E;4BAC1E,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gCAClD,OAAO,CAAC,GAAG,CAAC,gCAAgC,OAAO,IAAI,IAAI,kCAAkC,CAAC,CAAC;gCAC/F,OAAO,EAAE,CAAC;4BACd,CAAC;iCAAM,CAAC;gCACJ,MAAM,CAAC,SAAS,CAAC,CAAC;4BACtB,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACJ,OAAO,EAAE,CAAC;wBACd,CAAC;oBACL,CAAC,CACJ,CAAC;gBACN,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACK,6BAA6B,CAAC,SAAoB;QACtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC3C,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC;aACjD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;aACrC,MAAM,CAAC,IAAI,CAAC,EAAE;YACX,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAC5C,CAAC,CAAC;aACD,IAAI,EAAE,CAAC;QAEZ,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACK,kBAAkB,CAAC,SAAoB;QAC3C,MAAM,QAAQ,GAA8B;YACxC,CAAC,EAAE,KAAK;YACR,CAAC,EAAE,KAAK;YACR,CAAC,EAAE,KAAK;YACR,CAAC,EAAE,KAAK;YACR,CAAC,EAAE,KAAK;YACR,CAAC,EAAE,KAAK,CAAE,wBAAwB;SACrC,CAAC;QACF,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACK,iBAAiB,CAAC,SAAoB;QAC1C,MAAM,MAAM,GAAgC;YACxC,CAAC,EAAE,CAAC,SAAS,EAAE,gBAAgB,EAAE,mBAAmB,CAAC;YACrD,CAAC,EAAE,CAAC,SAAS,EAAE,qBAAqB,EAAE,mBAAmB,CAAC;YAC1D,CAAC,EAAE,CAAC,cAAc,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,uBAAuB,CAAC;YACpG,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,gBAAgB,CAAC;YAClD,CAAC,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB,CAAC;YAClF,CAAC,EAAE,CAAC,YAAY,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,cAAc,CAAC;SAChF,CAAC;QACF,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,gBAAgB,CAAC,EAAoB,EAAE,SAAoB;QACrE,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,CAAC,wCAAwC;QACzD,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,EAAE,CAAC,GAAG,CACF,gFAAgF,EAChF,CAAC,GAAG,EAAE,IAAW,EAAE,EAAE;gBACjB,IAAI,GAAG,EAAE,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,CAAC;oBACZ,OAAO;gBACX,CAAC;gBAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1D,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC1E,OAAO,CAAC,QAAQ,CAAC,CAAC;YACtB,CAAC,CACJ,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAO,CAAC,SAAoB;QACrC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAC9D,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAEvE,kFAAkF;QAClF,kCAAkC;QAClC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAC/D,IAAI,CAAC,WAAW,IAAI,eAAe,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,mDAAmD,SAAS,uDAAuD,CAAC,CAAC;YAClI,mDAAmD;YACnD,2EAA2E;YAC3E,iEAAiE;QACrE,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC;QAErE,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;YACzC,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACpD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,SAAS;YACb,CAAC;YAED,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAE9C,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACtE,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;YAElD,+EAA+E;YAC/E,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAE3E,iFAAiF;YACjF,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,WAAW,EAAE,CAAC;gBAC9C,+CAA+C;gBAC/C,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;gBACvG,IAAI,wBAAwB,EAAE,CAAC;oBAC3B,SAAS;gBACb,CAAC;YACL,CAAC;YAED,6GAA6G;YAC7G,uDAAuD;YACvD,IAAI,eAAe,IAAI,CAAC,WAAW,EAAE,CAAC;gBAClC,4EAA4E;gBAC5E,OAAO,CAAC,GAAG,CAAC,4CAA4C,OAAO,IAAI,IAAI,kBAAkB,SAAS,mBAAmB,CAAC,CAAC;gBACvH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBACxC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;wBACjB,IAAI,GAAG,EAAE,CAAC;4BACN,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,OAAO,IAAI,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;wBACzF,CAAC;6BAAM,CAAC;4BACJ,OAAO,EAAE,CAAC;wBACd,CAAC;oBACL,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;YACP,CAAC;iBAAM,IAAI,eAAe,IAAI,WAAW,EAAE,CAAC;gBACxC,yDAAyD;gBACzD,SAAS;YACb,CAAC;iBAAM,CAAC;gBACJ,6EAA6E;gBAC7E,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACtD,CAAC;QACL,CAAC;QAED,sCAAsC;QACtC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpB,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBACnE,gFAAgF;gBAChF,2BAA2B;gBAC3B,OAAO,IAAI,CAAC;YAChB,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,uFAAuF,SAAS,kBAAkB,CAAC,CAAC;QACrI,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,UAAU;QACnB,MAAM,UAAU,GAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;CACJ;AAhaD,4CAgaC"}
1
+ {"version":3,"file":"migration-manager.js","sourceRoot":"","sources":["../../src/core/migration-manager.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,9 @@ export declare class MultiDbManager {
24
24
  * Computes a stable plugin_id from the workspace root path.
25
25
  * Uses SHA256 hash of normalized path, takes first 16 characters.
26
26
  *
27
+ * Normalization: POSIX-style (forward slashes), lowercase on Windows (case-insensitive).
28
+ * This matches WorkspaceResolver.computePluginId() for consistency.
29
+ *
27
30
  * @param workspaceRoot The workspace root directory
28
31
  * @returns Stable plugin ID (16 hex characters)
29
32
  */
@@ -32,12 +35,35 @@ export declare class MultiDbManager {
32
35
  * Ensures the database directory exists.
33
36
  */
34
37
  private ensureDbDirectory;
38
+ /**
39
+ * Checks if existing databases have a different plugin ID (e.g., after workspace move).
40
+ * Returns true if mismatch is detected, false otherwise.
41
+ *
42
+ * IMPORTANT: This method closes all open database connections before checking,
43
+ * to ensure databases can be deleted if cleanup is needed.
44
+ *
45
+ * @returns Promise that resolves to true if plugin ID mismatch detected, false otherwise
46
+ */
47
+ checkPluginIdMismatch(): Promise<boolean>;
35
48
  /**
36
49
  * Checks if existing databases have a different plugin ID (e.g., after workspace move).
37
50
  * This is informational only and does not block operation.
38
51
  * Note: This is a best-effort check and may not catch all cases.
39
52
  */
40
53
  private checkPluginIdConsistency;
54
+ /**
55
+ * Cleans up old databases with different plugin IDs.
56
+ * Closes all open database connections, then deletes all database files.
57
+ *
58
+ * WARNING: This will permanently delete all existing database data.
59
+ * Use only when you want to start fresh after workspace move/rename.
60
+ *
61
+ * Note: If databases are locked by another process (e.g., VS Code Extension),
62
+ * deletion will fail with a warning. The new ingestion will overwrite old data anyway.
63
+ *
64
+ * @returns Promise that resolves when cleanup is complete
65
+ */
66
+ cleanupOldDatabases(): Promise<void>;
41
67
  /**
42
68
  * Gets the plugin ID for this workspace.
43
69
  */
@@ -1 +1 @@
1
- {"version":3,"file":"multi-db-manager.d.ts","sourceRoot":"","sources":["../../src/core/multi-db-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAKnC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAc1D;;;GAGG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,cAAc,CAA+B;IAErD;;;OAGG;gBACS,aAAa,EAAE,MAAM;IASjC;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IA4ChC;;OAEG;IACI,WAAW,IAAI,MAAM;IAI5B;;OAEG;IACI,cAAc,IAAI,MAAM;IAI/B;;OAEG;IACI,gBAAgB,IAAI,MAAM;IAIjC;;;;;;;OAOG;IACU,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;IAsCzE;;;;;OAKG;IACU,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB/D;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtC;;;;OAIG;IACI,gBAAgB,IAAI,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC;IAI3D;;;;;OAKG;IACI,iBAAiB,IAAI,cAAc,GAAG,IAAI;IAIjD;;;OAGG;IACI,aAAa,IAAI,GAAG,GAAG,IAAI;CAGrC"}
1
+ {"version":3,"file":"multi-db-manager.d.ts","sourceRoot":"","sources":["../../src/core/multi-db-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAKnC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAc1D;;;GAGG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,cAAc,CAA+B;IAErD;;;OAGG;gBACS,aAAa,EAAE,MAAM;IASjC;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;;;;;;;OAQG;IACU,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC;IAqDtD;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IA4ChC;;;;;;;;;;;OAWG;IACU,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAqEjD;;OAEG;IACI,WAAW,IAAI,MAAM;IAI5B;;OAEG;IACI,cAAc,IAAI,MAAM;IAI/B;;OAEG;IACI,gBAAgB,IAAI,MAAM;IAIjC;;;;;;;OAOG;IACU,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;IAsCzE;;;;;OAKG;IACU,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB/D;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtC;;;;OAIG;IACI,gBAAgB,IAAI,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC;IAI3D;;;;;OAKG;IACI,iBAAiB,IAAI,cAAc,GAAG,IAAI;IAIjD;;;OAGG;IACI,aAAa,IAAI,GAAG,GAAG,IAAI;CAGrC"}
@@ -74,11 +74,20 @@ class MultiDbManager {
74
74
  * Computes a stable plugin_id from the workspace root path.
75
75
  * Uses SHA256 hash of normalized path, takes first 16 characters.
76
76
  *
77
+ * Normalization: POSIX-style (forward slashes), lowercase on Windows (case-insensitive).
78
+ * This matches WorkspaceResolver.computePluginId() for consistency.
79
+ *
77
80
  * @param workspaceRoot The workspace root directory
78
81
  * @returns Stable plugin ID (16 hex characters)
79
82
  */
80
83
  computePluginId(workspaceRoot) {
81
- const normalizedPath = path.resolve(workspaceRoot).replace(/\\/g, '/').toLowerCase();
84
+ // Resolve to absolute path
85
+ const resolved = path.resolve(workspaceRoot);
86
+ // Convert to POSIX-style (forward slashes)
87
+ const posix = resolved.replace(/\\/g, '/');
88
+ // On Windows, normalize case (to lowercase for case-insensitive comparison)
89
+ // On Unix, preserve case
90
+ const normalizedPath = process.platform === 'win32' ? posix.toLowerCase() : posix;
82
91
  const hash = crypto.createHash('sha256').update(normalizedPath).digest('hex');
83
92
  return hash.substring(0, 16);
84
93
  }
@@ -90,6 +99,62 @@ class MultiDbManager {
90
99
  fs.mkdirSync(this.dbDirectory, { recursive: true });
91
100
  }
92
101
  }
102
+ /**
103
+ * Checks if existing databases have a different plugin ID (e.g., after workspace move).
104
+ * Returns true if mismatch is detected, false otherwise.
105
+ *
106
+ * IMPORTANT: This method closes all open database connections before checking,
107
+ * to ensure databases can be deleted if cleanup is needed.
108
+ *
109
+ * @returns Promise that resolves to true if plugin ID mismatch detected, false otherwise
110
+ */
111
+ async checkPluginIdMismatch() {
112
+ // Close all open database connections first to avoid lock issues
113
+ await this.closeAll();
114
+ if (!fs.existsSync(this.dbDirectory)) {
115
+ return false; // No databases exist yet
116
+ }
117
+ const dbFiles = [
118
+ { file: 'modules.db', table: 'modules' },
119
+ { file: 'symbols.db', table: 'symbols' },
120
+ { file: 'dependencies.db', table: 'dependencies' },
121
+ { file: 'adrs.db', table: 'adrs' },
122
+ { file: 'changes.db', table: 'change_reports' }
123
+ ];
124
+ // Check first available database file
125
+ for (const { file, table } of dbFiles) {
126
+ const dbPath = path.join(this.dbDirectory, file);
127
+ if (!fs.existsSync(dbPath)) {
128
+ continue;
129
+ }
130
+ try {
131
+ const db = new sqlite3.Database(dbPath, sqlite3.OPEN_READONLY);
132
+ const hasMismatch = await new Promise((resolve) => {
133
+ db.get(`SELECT plugin_id FROM ${table} LIMIT 1`, (err, row) => {
134
+ if (!err && row && row.plugin_id && row.plugin_id !== this.pluginId) {
135
+ resolve(true);
136
+ }
137
+ else {
138
+ resolve(false);
139
+ }
140
+ });
141
+ });
142
+ db.close((err) => {
143
+ // Ignore close errors
144
+ });
145
+ if (hasMismatch) {
146
+ return true;
147
+ }
148
+ // Only check first available database to avoid too many checks
149
+ break;
150
+ }
151
+ catch (error) {
152
+ // Ignore errors - database might be locked, corrupted, or table might not exist
153
+ continue;
154
+ }
155
+ }
156
+ return false;
157
+ }
93
158
  /**
94
159
  * Checks if existing databases have a different plugin ID (e.g., after workspace move).
95
160
  * This is informational only and does not block operation.
@@ -121,7 +186,7 @@ class MultiDbManager {
121
186
  console.warn(`[MultiDbManager] WARNING: Found existing database (${file}) with different plugin ID (${row.plugin_id}).`);
122
187
  console.warn(`[MultiDbManager] Current plugin ID: ${this.pluginId}`);
123
188
  console.warn(`[MultiDbManager] This may indicate the workspace was moved or renamed.`);
124
- console.warn(`[MultiDbManager] Old data will not be accessible. Consider running full ingestion.`);
189
+ console.warn(`[MultiDbManager] Old data will not be accessible. Consider running full ingestion with --cleanup flag.`);
125
190
  }
126
191
  db.close();
127
192
  });
@@ -134,6 +199,82 @@ class MultiDbManager {
134
199
  }
135
200
  }
136
201
  }
202
+ /**
203
+ * Cleans up old databases with different plugin IDs.
204
+ * Closes all open database connections, then deletes all database files.
205
+ *
206
+ * WARNING: This will permanently delete all existing database data.
207
+ * Use only when you want to start fresh after workspace move/rename.
208
+ *
209
+ * Note: If databases are locked by another process (e.g., VS Code Extension),
210
+ * deletion will fail with a warning. The new ingestion will overwrite old data anyway.
211
+ *
212
+ * @returns Promise that resolves when cleanup is complete
213
+ */
214
+ async cleanupOldDatabases() {
215
+ console.log(`[MultiDbManager] Cleaning up old databases with different plugin ID...`);
216
+ console.log(`[MultiDbManager] Current plugin ID: ${this.pluginId}`);
217
+ // Close all open database connections first
218
+ await this.closeAll();
219
+ // Wait a bit to ensure file handles are released
220
+ await new Promise(resolve => setTimeout(resolve, 100));
221
+ if (!fs.existsSync(this.dbDirectory)) {
222
+ console.log(`[MultiDbManager] No database directory found, nothing to clean up.`);
223
+ return;
224
+ }
225
+ const dbFiles = [
226
+ 'modules.db',
227
+ 'symbols.db',
228
+ 'dependencies.db',
229
+ 'adrs.db',
230
+ 'changes.db',
231
+ 'vectors.db'
232
+ ];
233
+ let deletedCount = 0;
234
+ let failedCount = 0;
235
+ for (const file of dbFiles) {
236
+ const dbPath = path.join(this.dbDirectory, file);
237
+ if (fs.existsSync(dbPath)) {
238
+ try {
239
+ // Try to close any open connections to this file first
240
+ // (in case it was opened by checkPluginIdMismatch)
241
+ fs.unlinkSync(dbPath);
242
+ console.log(`[MultiDbManager] Deleted: ${file}`);
243
+ deletedCount++;
244
+ }
245
+ catch (error) {
246
+ if (error.code === 'EBUSY' || error.code === 'ENOENT') {
247
+ // File is locked or already deleted - this is OK, new ingestion will overwrite
248
+ console.warn(`[MultiDbManager] Could not delete ${file} (locked or already deleted). New ingestion will overwrite old data.`);
249
+ }
250
+ else {
251
+ console.warn(`[MultiDbManager] Failed to delete ${file}: ${error.message}`);
252
+ }
253
+ failedCount++;
254
+ }
255
+ }
256
+ }
257
+ // Also try to delete any migration-related files
258
+ const migrationFiles = ['migrations.db', 'migration_history.db'];
259
+ for (const file of migrationFiles) {
260
+ const filePath = path.join(this.dbDirectory, file);
261
+ if (fs.existsSync(filePath)) {
262
+ try {
263
+ fs.unlinkSync(filePath);
264
+ console.log(`[MultiDbManager] Deleted: ${file}`);
265
+ }
266
+ catch (error) {
267
+ // Ignore errors for migration files
268
+ }
269
+ }
270
+ }
271
+ if (deletedCount > 0) {
272
+ console.log(`[MultiDbManager] Cleanup complete: ${deletedCount} database file(s) deleted.`);
273
+ }
274
+ if (failedCount > 0) {
275
+ console.log(`[MultiDbManager] Note: ${failedCount} file(s) could not be deleted (may be locked by another process). New ingestion will overwrite old data.`);
276
+ }
277
+ }
137
278
  /**
138
279
  * Gets the plugin ID for this workspace.
139
280
  */
@@ -1 +1 @@
1
- {"version":3,"file":"multi-db-manager.js","sourceRoot":"","sources":["../../src/core/multi-db-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multi-db-manager.js","sourceRoot":"","sources":["../../src/core/multi-db-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Utility class for path normalization (case-preserving).
3
+ *
4
+ * Key principles:
5
+ * - File paths are case-preserving on all platforms (for Git case-sensitive repositories)
6
+ * - Plugin IDs use lowercase normalization (via normalizeForPluginId in WorkspaceResolver)
7
+ * - Path comparison is case-insensitive on Windows, case-sensitive on Unix
8
+ */
9
+ export declare class PathNormalizer {
10
+ /**
11
+ * Normalizes a file path (case-preserving).
12
+ *
13
+ * Rules:
14
+ * - Windows → Unix slashes (\ → /)
15
+ * - Trailing slashes entfernen
16
+ * - Multiple slashes vereinfachen
17
+ * - Case BEHALTEN (case-preserving)
18
+ *
19
+ * @param filePath Path to normalize
20
+ * @returns Normalized path (POSIX-style, case-preserved)
21
+ */
22
+ static normalizePath(filePath: string): string;
23
+ /**
24
+ * Cross-platform path comparison (case-insensitive on Windows, case-sensitive on Unix).
25
+ *
26
+ * @param p1 First path
27
+ * @param p2 Second path
28
+ * @returns True if paths are equal (considering platform case-sensitivity)
29
+ */
30
+ static pathsEqual(p1: string, p2: string): boolean;
31
+ /**
32
+ * Generates lookup variants for queries (forward slashes, leading slash, plugin prefixes, etc.).
33
+ *
34
+ * This is used for querying where paths might be stored with different formats:
35
+ * - With/without plugin prefixes (5d-database-plugin/, documentation-system-plugin/, mcp-server/)
36
+ * - With/without leading slashes
37
+ * - Different slash directions (normalized to forward slashes)
38
+ *
39
+ * Note: This is for QUERIES only, not for storage. Storage uses normalizePath().
40
+ *
41
+ * @param filePath Path to generate variants for
42
+ * @returns Array of path variants for query matching
43
+ */
44
+ static generateLookupVariants(filePath: string): string[];
45
+ }
46
+ //# sourceMappingURL=path-normalizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-normalizer.d.ts","sourceRoot":"","sources":["../../src/core/path-normalizer.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,qBAAa,cAAc;IACvB;;;;;;;;;;;OAWG;WACW,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IA4BrD;;;;;;OAMG;WACW,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO;IAazD;;;;;;;;;;;;OAYG;WACW,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;CA6CnE"}