@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.
- package/out/api/adr-api.d.ts +0 -6
- package/out/api/adr-api.d.ts.map +1 -1
- package/out/api/adr-api.js +2 -42
- package/out/api/adr-api.js.map +1 -1
- package/out/api/bootstrap-api.d.ts +1 -1
- package/out/api/bootstrap-api.d.ts.map +1 -1
- package/out/api/bootstrap-api.js +16 -3
- package/out/api/bootstrap-api.js.map +1 -1
- package/out/api/module-api.d.ts +0 -1
- package/out/api/module-api.d.ts.map +1 -1
- package/out/api/module-api.js +4 -38
- package/out/api/module-api.js.map +1 -1
- package/out/api/self-explanation-api.d.ts +7 -1
- package/out/api/self-explanation-api.d.ts.map +1 -1
- package/out/api/self-explanation-api.js +256 -48
- package/out/api/self-explanation-api.js.map +1 -1
- package/out/api/source-access-contract-api.d.ts.map +1 -1
- package/out/api/source-access-contract-api.js +42 -3
- package/out/api/source-access-contract-api.js.map +1 -1
- package/out/api/source-snippet-api.d.ts.map +1 -1
- package/out/api/source-snippet-api.js +3 -1
- package/out/api/source-snippet-api.js.map +1 -1
- package/out/cli/ingest-cli.js +44 -5
- package/out/cli/ingest-cli.js.map +1 -1
- package/out/core/migration-manager.d.ts.map +1 -1
- package/out/core/migration-manager.js +61 -32
- package/out/core/migration-manager.js.map +1 -1
- package/out/core/multi-db-manager.d.ts +26 -0
- package/out/core/multi-db-manager.d.ts.map +1 -1
- package/out/core/multi-db-manager.js +143 -2
- package/out/core/multi-db-manager.js.map +1 -1
- package/out/core/path-normalizer.d.ts +46 -0
- package/out/core/path-normalizer.d.ts.map +1 -0
- package/out/core/path-normalizer.js +152 -0
- package/out/core/path-normalizer.js.map +1 -0
- package/out/ingestors/adr-ingestor.d.ts.map +1 -1
- package/out/ingestors/adr-ingestor.js +7 -8
- package/out/ingestors/adr-ingestor.js.map +1 -1
- package/out/ingestors/symbol-ingestor.d.ts.map +1 -1
- package/out/ingestors/symbol-ingestor.js +24 -8
- package/out/ingestors/symbol-ingestor.js.map +1 -1
- package/out/mcp/tools/gap-analysis.d.ts +3 -1
- package/out/mcp/tools/gap-analysis.d.ts.map +1 -1
- package/out/mcp/tools/gap-analysis.js +26 -7
- package/out/mcp/tools/gap-analysis.js.map +1 -1
- package/out/mcp/tools/source-access-contract.d.ts.map +1 -1
- package/out/mcp/tools/source-access-contract.js +3 -1
- package/out/mcp/tools/source-access-contract.js.map +1 -1
- package/out/models/evidence.d.ts +1 -1
- package/out/models/evidence.d.ts.map +1 -1
- package/out/models/evidence.js.map +1 -1
- package/out/models/reason-codes.d.ts +2 -0
- package/out/models/reason-codes.d.ts.map +1 -1
- package/out/models/reason-codes.js +3 -0
- package/out/models/reason-codes.js.map +1 -1
- package/out/repositories/symbol-repository.js +1 -1
- package/out/repositories/symbol-repository.js.map +1 -1
- package/out/services/cross-dimension-linker.d.ts +0 -5
- package/out/services/cross-dimension-linker.d.ts.map +1 -1
- package/out/services/cross-dimension-linker.js +2 -35
- package/out/services/cross-dimension-linker.js.map +1 -1
- package/package.json +196 -195
- package/schemas/sqlite/001_add_source_code_spans_modules.sql +7 -0
- package/schemas/sqlite/001_z_add_source_code_spans_modules.sql +13 -0
- package/schemas/sqlite/{007_add_source_code_spans.sql → 002_add_source_code_spans_symbols.sql} +1 -5
- package/schemas/sqlite/002_z_add_source_code_spans_symbols.sql +21 -0
- package/schemas/sqlite/{008_add_source_access_config.sql → 006_add_source_access_config.sql} +1 -1
package/out/cli/ingest-cli.js
CHANGED
|
@@ -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
|
|
128
|
-
//
|
|
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 =
|
|
139
|
+
isFull = args.includes('--full');
|
|
140
|
+
shouldCleanup = args.includes('--cleanup');
|
|
131
141
|
}
|
|
132
142
|
else {
|
|
133
|
-
// Workspace root provided, no
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,2CAA6B;AAC7B,uCAAyB;AACzB,mCAAgC;AAChC,+DAA0D;AAC1D,iEAA6D;AAC7D,+EAA2E;AAC3E,mEAA8D;AAE9D;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,aAAqB,EAAE,QAAgB;IAClE,MAAM,aAAa,GAAG;QAClB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,EAAE;QAClF,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,WAAW,EAAE,KAAK,EAAE;QAC7G,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,qBAAqB,CAAC,EAAE,IAAI,EAAE,iCAAiC,EAAE,WAAW,EAAE,KAAK,EAAE;QAC3H,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE;QAC1E,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,WAAW,EAAE,KAAK,EAAE;KACxH,CAAC;IAEF,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACJ,mDAAmD;YACnD,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,QAAQ,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC/C,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,mCAAmC,CAAC,CAAC;YAC3E,CAAC;iBAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBAClD,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,mCAAmC,CAAC,CAAC;YAC3E,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAC9E,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,2FAA2F,CAAC,CAAC;QAC3G,OAAO,CAAC,KAAK,CAAC,mBAAmB,aAAa,EAAE,CAAC,CAAC;QAClD,OAAO,CAAC,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,aAAqB;IACtC,gEAAgE;IAChE,IAAI,WAAW,GAAG,aAAa,CAAC;IAChC,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,yBAAyB;IAE7C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,IAAA,eAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,uCAAuC,OAAO,EAAE,CAAC,CAAC;YAC9D,OAAO;QACX,CAAC;QAED,uBAAuB;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;YAC7B,MAAM,CAAC,0BAA0B;QACrC,CAAC;QACD,WAAW,GAAG,UAAU,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;AACvF,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,IAAI;IACf,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,6CAA6C;IAC7C,IAAI,aAAqB,CAAC;IAC1B,IAAI,MAAe,CAAC;IACpB,IAAI,aAAsB,CAAC;IAE3B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,8CAA8C;QAC9C,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,GAAG,KAAK,CAAC;QACf,aAAa,GAAG,KAAK,CAAC;IAC1B,CAAC;SAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC9B,qDAAqD;QACrD,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,GAAG,IAAI,CAAC;QACd,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;SAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;QACjC,wDAAwD;QACxD,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjC,aAAa,GAAG,IAAI,CAAC;IACzB,CAAC;SAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/D,yCAAyC;QACzC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACJ,oCAAoC;QACpC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,GAAG,KAAK,CAAC;QACf,aAAa,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,2DAA2D;IAC3D,WAAW,CAAC,aAAa,CAAC,CAAC;IAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;IACzG,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,iCAAiC,aAAa,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;IACxD,IAAI,aAAa,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;IACzF,CAAC;IAED,kEAAkE;IAClE,MAAM,QAAQ,GAAG,qCAAgB,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC;IAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;QACtF,OAAO,CAAC,KAAK,CAAC,oFAAoF,CAAC,CAAC;QACpG,OAAO,CAAC,KAAK,CAAC,mBAAmB,aAAa,EAAE,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;IAEjD,8EAA8E;IAC9E,yHAAyH;IACzH,MAAM,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,sBAAsB,KAAK,aAAa,EAAE,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,wDAAwD,aAAa,SAAS,sBAAsB,8BAA8B,CAAC,CAAC;QACjJ,aAAa,GAAG,sBAAsB,CAAC;IAC3C,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,oDAAoD,aAAa,EAAE,CAAC,CAAC;IAEjF,MAAM,SAAS,GAAG,IAAI,iCAAc,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvD,MAAM,gBAAgB,GAAG,IAAI,oCAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAErE,+BAA+B;IAC/B,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,qBAAqB,EAAE,CAAC;IAC5D,IAAI,WAAW,EAAE,CAAC;QACd,IAAI,aAAa,IAAI,MAAM,EAAE,CAAC;YAC1B,0DAA0D;YAC1D,IAAI,MAAM,EAAE,CAAC;gBACT,OAAO,CAAC,GAAG,CAAC,kGAAkG,CAAC,CAAC;YACpH,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,uFAAuF,CAAC,CAAC;YACzG,CAAC;YACD,MAAM,SAAS,CAAC,mBAAmB,EAAE,CAAC;QAC1C,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YAClE,OAAO,CAAC,KAAK,CAAC,mCAAmC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAC5E,OAAO,CAAC,KAAK,CAAC,gGAAgG,CAAC,CAAC;YAChH,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC9B,OAAO,CAAC,KAAK,CAAC,mFAAmF,CAAC,CAAC;YACnG,OAAO,CAAC,KAAK,CAAC,6CAA6C,aAAa,aAAa,CAAC,CAAC;YACvF,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;YAC5E,OAAO,CAAC,KAAK,CAAC,6CAA6C,aAAa,UAAU,CAAC,CAAC;YACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IAED,wFAAwF;IACxF,qBAAqB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAE/C,MAAM,qBAAqB,GAAG,IAAI,8CAAqB,CAAC,SAAS,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IAE/F,IAAI,CAAC;QACD,MAAM,gBAAgB,CAAC,UAAU,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAE7C,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAEzC,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,qBAAqB,CAAC,UAAU,CAAC,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9E,CAAC;aAAM,CAAC;YACJ,MAAM,qBAAqB,CAAC,iBAAiB,CAAC,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACrF,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC1B,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACjB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -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;
|
|
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
|
-
|
|
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
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
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
|
-
|
|
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":"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"}
|
|
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
|
|
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
|
-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AACnC,2CAA6B;AAC7B,uCAAyB;AACzB,+CAAiC;AACjC,6CAAyC;AAEzC,uEAAkE;AAOlE;;GAEG;AACH,MAAM,kBAAkB,GAA8B;IAClD,CAAC,EAAE,YAAY;IACf,CAAC,EAAE,YAAY;IACf,CAAC,EAAE,iBAAiB;IACpB,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,YAAY;IACf,CAAC,EAAE,YAAY;CAClB,CAAC;AAEF;;;GAGG;AACH,MAAa,cAAc;IAQvB;;;OAGG;IACH,YAAY,aAAqB;QAXzB,cAAS,GAAqC,IAAI,GAAG,EAAE,CAAC;QAKxD,mBAAc,GAA0B,IAAI,CAAC;QAOjD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,sBAAS,EAAE,CAAC;QACjC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACpC,CAAC;IAED
|
|
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"}
|