claude-conversation-memory-mcp 0.2.4 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,14 +1,20 @@
1
1
  /**
2
- * MCP Tool Handlers - Implementation of all 11 tools
2
+ * MCP Tool Handlers - Implementation of all 13 tools (including migration)
3
3
  */
4
4
  import { sanitizeForLike } from "../utils/sanitization.js";
5
5
  import { DocumentationGenerator } from "../documentation/DocumentationGenerator.js";
6
+ import { ProjectMigration } from "../utils/ProjectMigration.js";
7
+ import { pathToProjectFolderName } from "../utils/sanitization.js";
8
+ import { readdirSync } from "fs";
9
+ import { join } from "path";
6
10
  export class ToolHandlers {
7
11
  memory;
8
12
  db;
9
- constructor(memory, db) {
13
+ migration;
14
+ constructor(memory, db, projectsDir) {
10
15
  this.memory = memory;
11
16
  this.db = db;
17
+ this.migration = new ProjectMigration(db, projectsDir);
12
18
  }
13
19
  /**
14
20
  * Tool 1: index_conversations
@@ -32,6 +38,14 @@ export class ToolHandlers {
32
38
  const stats = this.memory.getStats();
33
39
  const sessionInfo = sessionId ? ` (session: ${sessionId})` : ' (all sessions)';
34
40
  let message = `Indexed ${stats.conversations.count} conversation(s) with ${stats.messages.count} messages${sessionInfo}`;
41
+ // Add indexed folders info
42
+ if (indexResult.indexed_folders && indexResult.indexed_folders.length > 0) {
43
+ message += `\nšŸ“ Indexed from: ${indexResult.indexed_folders.join(', ')}`;
44
+ }
45
+ // Add database location info
46
+ if (indexResult.database_path) {
47
+ message += `\nšŸ’¾ Database: ${indexResult.database_path}`;
48
+ }
35
49
  // Add embedding status to message
36
50
  if (indexResult.embeddings_generated) {
37
51
  message += '\nāœ… Semantic search enabled (embeddings generated)';
@@ -43,6 +57,8 @@ export class ToolHandlers {
43
57
  return {
44
58
  success: true,
45
59
  project_path: projectPath,
60
+ indexed_folders: indexResult.indexed_folders,
61
+ database_path: indexResult.database_path,
46
62
  stats,
47
63
  embeddings_generated: indexResult.embeddings_generated,
48
64
  embedding_error: indexResult.embedding_error,
@@ -427,5 +443,72 @@ export class ToolHandlers {
427
443
  }
428
444
  };
429
445
  }
446
+ /**
447
+ * Tool 12: discover_old_conversations
448
+ */
449
+ async discoverOldConversations(args) {
450
+ const typedArgs = args;
451
+ const currentProjectPath = typedArgs.current_project_path || process.cwd();
452
+ const candidates = await this.migration.discoverOldFolders(currentProjectPath);
453
+ // Convert to response format with additional stats
454
+ const formattedCandidates = candidates.map(c => ({
455
+ folder_name: c.folderName,
456
+ folder_path: c.folderPath,
457
+ stored_project_path: c.storedProjectPath,
458
+ score: Math.round(c.score * 10) / 10, // Round to 1 decimal
459
+ stats: {
460
+ conversations: c.stats.conversations,
461
+ messages: c.stats.messages,
462
+ files: 0, // Will be calculated below
463
+ last_activity: c.stats.lastActivity
464
+ }
465
+ }));
466
+ // Count JSONL files for each candidate
467
+ for (const candidate of formattedCandidates) {
468
+ try {
469
+ const files = readdirSync(candidate.folder_path);
470
+ candidate.stats.files = files.filter((f) => f.endsWith('.jsonl')).length;
471
+ }
472
+ catch (_error) {
473
+ candidate.stats.files = 0;
474
+ }
475
+ }
476
+ const message = candidates.length > 0
477
+ ? `Found ${candidates.length} potential old conversation folder(s). Top match has ${formattedCandidates[0].stats.conversations} conversations and ${formattedCandidates[0].stats.files} files (score: ${formattedCandidates[0].score}).`
478
+ : `No old conversation folders found for project path: ${currentProjectPath}`;
479
+ return {
480
+ success: true,
481
+ current_project_path: currentProjectPath,
482
+ candidates: formattedCandidates,
483
+ message
484
+ };
485
+ }
486
+ /**
487
+ * Tool 13: migrate_project
488
+ */
489
+ async migrateProject(args) {
490
+ const typedArgs = args;
491
+ const sourceFolder = typedArgs.source_folder;
492
+ const oldProjectPath = typedArgs.old_project_path;
493
+ const newProjectPath = typedArgs.new_project_path;
494
+ const dryRun = typedArgs.dry_run ?? false;
495
+ // Calculate target folder path
496
+ const targetFolderName = pathToProjectFolderName(newProjectPath);
497
+ const targetFolder = join(this.migration.getProjectsDir(), targetFolderName);
498
+ // Execute migration
499
+ const result = await this.migration.executeMigration(sourceFolder, targetFolder, oldProjectPath, newProjectPath, dryRun);
500
+ const message = dryRun
501
+ ? `Dry run: Would migrate ${result.filesCopied} conversation files from ${sourceFolder} to ${targetFolder}`
502
+ : `Successfully migrated ${result.filesCopied} conversation files to ${targetFolder}. Original files preserved in ${sourceFolder}.`;
503
+ return {
504
+ success: result.success,
505
+ source_folder: sourceFolder,
506
+ target_folder: targetFolder,
507
+ files_copied: result.filesCopied,
508
+ database_updated: result.databaseUpdated,
509
+ backup_created: !dryRun && result.databaseUpdated,
510
+ message
511
+ };
512
+ }
430
513
  }
431
514
  //# sourceMappingURL=ToolHandlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolHandlers.js","sourceRoot":"","sources":["../../src/tools/ToolHandlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolHandlers.js","sourceRoot":"","sources":["../../src/tools/ToolHandlers.ts"],"names":[],"mappings":"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"}
@@ -60,6 +60,8 @@ export interface GenerateDocumentationArgs {
60
60
  export interface IndexConversationsResponse {
61
61
  success: boolean;
62
62
  project_path: string;
63
+ indexed_folders?: string[];
64
+ database_path?: string;
63
65
  stats: {
64
66
  conversations: {
65
67
  count: number;
@@ -330,4 +332,40 @@ export interface ToolUseRow {
330
332
  stdout?: string;
331
333
  stderr?: string;
332
334
  }
335
+ export interface DiscoverOldConversationsArgs {
336
+ current_project_path?: string;
337
+ }
338
+ export interface OldConversationCandidate {
339
+ folder_name: string;
340
+ folder_path: string;
341
+ stored_project_path: string | null;
342
+ score: number;
343
+ stats: {
344
+ conversations: number;
345
+ messages: number;
346
+ files: number;
347
+ last_activity: number | null;
348
+ };
349
+ }
350
+ export interface DiscoverOldConversationsResponse {
351
+ success: boolean;
352
+ current_project_path: string;
353
+ candidates: OldConversationCandidate[];
354
+ message: string;
355
+ }
356
+ export interface MigrateProjectArgs {
357
+ source_folder: string;
358
+ old_project_path: string;
359
+ new_project_path: string;
360
+ dry_run?: boolean;
361
+ }
362
+ export interface MigrateProjectResponse {
363
+ success: boolean;
364
+ source_folder: string;
365
+ target_folder: string;
366
+ files_copied: number;
367
+ database_updated: boolean;
368
+ backup_created: boolean;
369
+ message: string;
370
+ }
333
371
  //# sourceMappingURL=ToolTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolTypes.d.ts","sourceRoot":"","sources":["../../src/types/ToolTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolTypes.d.ts","sourceRoot":"","sources":["../../src/types/ToolTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Project Migration Utility
3
+ * Handles migration of conversation history when project directories are renamed
4
+ */
5
+ export interface OldFolder {
6
+ folderPath: string;
7
+ folderName: string;
8
+ storedProjectPath: string | null;
9
+ stats: {
10
+ conversations: number;
11
+ messages: number;
12
+ lastActivity: number | null;
13
+ };
14
+ score: number;
15
+ }
16
+ export interface ValidationResult {
17
+ valid: boolean;
18
+ errors: string[];
19
+ stats?: {
20
+ conversations: number;
21
+ messages: number;
22
+ files: number;
23
+ };
24
+ }
25
+ export interface MigrationResult {
26
+ success: boolean;
27
+ filesCopied: number;
28
+ databaseUpdated: boolean;
29
+ message: string;
30
+ }
31
+ interface ScoreFactors {
32
+ pathScore: number;
33
+ folderScore: number;
34
+ hasDatabase: boolean;
35
+ jsonlCount: number;
36
+ }
37
+ export declare class ProjectMigration {
38
+ private projectsDir;
39
+ constructor(_sqliteManager?: unknown, projectsDir?: string);
40
+ /**
41
+ * Get the projects directory (for use by other classes)
42
+ */
43
+ getProjectsDir(): string;
44
+ /**
45
+ * Discover old conversation folders using combined approach
46
+ */
47
+ discoverOldFolders(currentProjectPath: string): Promise<OldFolder[]>;
48
+ /**
49
+ * Validate migration is safe and possible
50
+ */
51
+ validateMigration(sourceFolder: string, targetFolder: string): ValidationResult;
52
+ /**
53
+ * Execute migration (copy files and update database)
54
+ */
55
+ executeMigration(sourceFolder: string, targetFolder: string, oldProjectPath: string, newProjectPath: string, dryRun: boolean): Promise<MigrationResult>;
56
+ /**
57
+ * Update project_path in database (with transaction)
58
+ */
59
+ private updateProjectPaths;
60
+ /**
61
+ * Score path similarity
62
+ */
63
+ scorePath(currentPath: string, oldPath: string): number;
64
+ /**
65
+ * Score folder name similarity
66
+ */
67
+ scoreFolderName(expected: string, actual: string): number;
68
+ /**
69
+ * Calculate overall score from multiple factors
70
+ */
71
+ calculateOverallScore(factors: ScoreFactors): number;
72
+ }
73
+ export {};
74
+ //# sourceMappingURL=ProjectMigration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectMigration.d.ts","sourceRoot":"","sources":["../../src/utils/ProjectMigration.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,KAAK,EAAE;QACL,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,YAAY;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAAS;gBAEhB,cAAc,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM;IAM1D;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACG,kBAAkB,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA+F1E;;OAEG;IACH,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,gBAAgB;IAiE/E;;OAEG;IACG,gBAAgB,CACpB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,eAAe,CAAC;IAwD3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAgCvD;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAwBzD;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM;CAmBrD"}
@@ -0,0 +1,305 @@
1
+ /**
2
+ * Project Migration Utility
3
+ * Handles migration of conversation history when project directories are renamed
4
+ */
5
+ import { existsSync, readdirSync, mkdirSync, copyFileSync } from "fs";
6
+ import { join } from "path";
7
+ import { homedir } from "os";
8
+ import Database from "better-sqlite3";
9
+ import { pathToProjectFolderName } from "./sanitization.js";
10
+ export class ProjectMigration {
11
+ projectsDir;
12
+ constructor(_sqliteManager, projectsDir) {
13
+ // Parameter kept for backwards compatibility but not used
14
+ // Allow override of projects directory for testing
15
+ this.projectsDir = projectsDir || join(homedir(), ".claude", "projects");
16
+ }
17
+ /**
18
+ * Get the projects directory (for use by other classes)
19
+ */
20
+ getProjectsDir() {
21
+ return this.projectsDir;
22
+ }
23
+ /**
24
+ * Discover old conversation folders using combined approach
25
+ */
26
+ async discoverOldFolders(currentProjectPath) {
27
+ const candidates = [];
28
+ const projectsDir = this.projectsDir;
29
+ if (!existsSync(projectsDir)) {
30
+ return [];
31
+ }
32
+ const folders = readdirSync(projectsDir);
33
+ for (const folder of folders) {
34
+ const folderPath = join(projectsDir, folder);
35
+ const dbPath = join(folderPath, ".claude-conversations-memory.db");
36
+ let storedPath = null;
37
+ let stats = { conversations: 0, messages: 0, lastActivity: null };
38
+ let pathScore = 0;
39
+ // Strategy 1: Check database for stored project_path
40
+ if (existsSync(dbPath)) {
41
+ try {
42
+ const db = new Database(dbPath, { readonly: true });
43
+ // Get stored project path
44
+ const pathRow = db
45
+ .prepare("SELECT project_path FROM conversations LIMIT 1")
46
+ .get();
47
+ storedPath = pathRow?.project_path || null;
48
+ // Get statistics
49
+ const statsRow = db.prepare(`
50
+ SELECT
51
+ COUNT(DISTINCT id) as conversations,
52
+ MAX(last_message_at) as last_activity
53
+ FROM conversations
54
+ `).get();
55
+ const messageCount = db
56
+ .prepare("SELECT COUNT(*) as count FROM messages")
57
+ .get();
58
+ stats = {
59
+ conversations: statsRow?.conversations || 0,
60
+ messages: messageCount?.count || 0,
61
+ lastActivity: statsRow?.last_activity || null
62
+ };
63
+ db.close();
64
+ // Score based on path match
65
+ if (storedPath) {
66
+ pathScore = this.scorePath(currentProjectPath, storedPath);
67
+ }
68
+ }
69
+ catch (_error) {
70
+ // Database exists but can't read - still a candidate
71
+ pathScore = 10;
72
+ }
73
+ }
74
+ // Strategy 2: Folder name similarity
75
+ const expectedFolder = pathToProjectFolderName(currentProjectPath);
76
+ const folderScore = this.scoreFolderName(expectedFolder, folder);
77
+ // Strategy 3: Check for JSONL files
78
+ let jsonlCount = 0;
79
+ try {
80
+ jsonlCount = readdirSync(folderPath).filter(f => f.endsWith(".jsonl")).length;
81
+ }
82
+ catch (_error) {
83
+ // Can't read folder
84
+ continue;
85
+ }
86
+ // Calculate overall score
87
+ const score = this.calculateOverallScore({
88
+ pathScore,
89
+ folderScore,
90
+ hasDatabase: existsSync(dbPath),
91
+ jsonlCount
92
+ });
93
+ if (score > 0 || storedPath !== null) {
94
+ candidates.push({
95
+ folderPath,
96
+ folderName: folder,
97
+ storedProjectPath: storedPath,
98
+ stats,
99
+ score
100
+ });
101
+ }
102
+ }
103
+ // Sort by score (highest first)
104
+ return candidates.sort((a, b) => b.score - a.score);
105
+ }
106
+ /**
107
+ * Validate migration is safe and possible
108
+ */
109
+ validateMigration(sourceFolder, targetFolder) {
110
+ const errors = [];
111
+ // Check source exists
112
+ if (!existsSync(sourceFolder)) {
113
+ errors.push("Source folder does not exist");
114
+ return { valid: false, errors };
115
+ }
116
+ // Check source has JSONL files
117
+ const sourceFiles = readdirSync(sourceFolder).filter(f => f.endsWith(".jsonl"));
118
+ if (sourceFiles.length === 0) {
119
+ errors.push("Source folder has no conversation files");
120
+ }
121
+ // Check source database is readable
122
+ const sourceDb = join(sourceFolder, ".claude-conversations-memory.db");
123
+ if (existsSync(sourceDb)) {
124
+ try {
125
+ const db = new Database(sourceDb, { readonly: true });
126
+ db.prepare("SELECT 1 FROM conversations LIMIT 1").get();
127
+ db.close();
128
+ }
129
+ catch (_error) {
130
+ errors.push("Source database is corrupted or unreadable");
131
+ }
132
+ }
133
+ // Check target doesn't have data (conflict detection)
134
+ if (existsSync(targetFolder)) {
135
+ const targetFiles = readdirSync(targetFolder).filter(f => f.endsWith(".jsonl"));
136
+ if (targetFiles.length > 0) {
137
+ errors.push("Target folder already has conversation data");
138
+ }
139
+ }
140
+ // Get statistics if validation passed so far
141
+ let stats;
142
+ if (errors.length === 0 && existsSync(sourceDb)) {
143
+ try {
144
+ const db = new Database(sourceDb, { readonly: true });
145
+ const convCount = db
146
+ .prepare("SELECT COUNT(*) as count FROM conversations")
147
+ .get();
148
+ const msgCount = db
149
+ .prepare("SELECT COUNT(*) as count FROM messages")
150
+ .get();
151
+ db.close();
152
+ stats = {
153
+ conversations: convCount.count,
154
+ messages: msgCount.count,
155
+ files: sourceFiles.length
156
+ };
157
+ }
158
+ catch (_error) {
159
+ // Can't get stats, but not a blocker
160
+ }
161
+ }
162
+ return {
163
+ valid: errors.length === 0,
164
+ errors,
165
+ stats
166
+ };
167
+ }
168
+ /**
169
+ * Execute migration (copy files and update database)
170
+ */
171
+ async executeMigration(sourceFolder, targetFolder, oldProjectPath, newProjectPath, dryRun) {
172
+ // Validate first
173
+ const validation = this.validateMigration(sourceFolder, targetFolder);
174
+ if (!validation.valid) {
175
+ throw new Error(`Migration validation failed: ${validation.errors.join(", ")}`);
176
+ }
177
+ if (dryRun) {
178
+ return {
179
+ success: true,
180
+ filesCopied: validation.stats?.files || 0,
181
+ databaseUpdated: false,
182
+ message: "Dry run: No changes made"
183
+ };
184
+ }
185
+ // Create target folder
186
+ if (!existsSync(targetFolder)) {
187
+ mkdirSync(targetFolder, { recursive: true });
188
+ }
189
+ // Copy all JSONL files
190
+ const jsonlFiles = readdirSync(sourceFolder).filter(f => f.endsWith(".jsonl"));
191
+ let filesCopied = 0;
192
+ for (const file of jsonlFiles) {
193
+ const sourcePath = join(sourceFolder, file);
194
+ const targetPath = join(targetFolder, file);
195
+ copyFileSync(sourcePath, targetPath);
196
+ filesCopied++;
197
+ }
198
+ // Copy and update database
199
+ const sourceDb = join(sourceFolder, ".claude-conversations-memory.db");
200
+ const targetDb = join(targetFolder, ".claude-conversations-memory.db");
201
+ if (existsSync(sourceDb)) {
202
+ // Create backup
203
+ const backupPath = join(sourceFolder, ".claude-conversations-memory.db.bak");
204
+ copyFileSync(sourceDb, backupPath);
205
+ // Copy database
206
+ copyFileSync(sourceDb, targetDb);
207
+ // Update project_path in the copied database
208
+ this.updateProjectPaths(targetDb, oldProjectPath, newProjectPath);
209
+ }
210
+ return {
211
+ success: true,
212
+ filesCopied,
213
+ databaseUpdated: true,
214
+ message: `Migrated ${filesCopied} conversation files`
215
+ };
216
+ }
217
+ /**
218
+ * Update project_path in database (with transaction)
219
+ */
220
+ updateProjectPaths(dbPath, oldPath, newPath) {
221
+ const db = new Database(dbPath);
222
+ try {
223
+ db.exec("BEGIN TRANSACTION");
224
+ const stmt = db.prepare("UPDATE conversations SET project_path = ? WHERE project_path = ?");
225
+ const result = stmt.run(newPath, oldPath);
226
+ if (result.changes === 0) {
227
+ throw new Error("No conversations updated - path mismatch");
228
+ }
229
+ db.exec("COMMIT");
230
+ }
231
+ catch (error) {
232
+ db.exec("ROLLBACK");
233
+ db.close();
234
+ throw error;
235
+ }
236
+ db.close();
237
+ }
238
+ /**
239
+ * Score path similarity
240
+ */
241
+ scorePath(currentPath, oldPath) {
242
+ // Exact match
243
+ if (currentPath === oldPath) {
244
+ return 100;
245
+ }
246
+ // Split into components
247
+ const currentParts = currentPath.split("/").filter(p => p.length > 0);
248
+ const oldParts = oldPath.split("/").filter(p => p.length > 0);
249
+ // Count matching components
250
+ let matches = 0;
251
+ const minLength = Math.min(currentParts.length, oldParts.length);
252
+ for (let i = 0; i < minLength; i++) {
253
+ if (currentParts[i] === oldParts[i]) {
254
+ matches++;
255
+ }
256
+ }
257
+ // If only one component differs and same length, likely a rename
258
+ if (currentParts.length === oldParts.length &&
259
+ matches === currentParts.length - 1) {
260
+ return 80;
261
+ }
262
+ // General similarity score
263
+ return (matches / Math.max(currentParts.length, oldParts.length)) * 100;
264
+ }
265
+ /**
266
+ * Score folder name similarity
267
+ */
268
+ scoreFolderName(expected, actual) {
269
+ // Exact match
270
+ if (expected === actual) {
271
+ return 100;
272
+ }
273
+ // Split by dashes
274
+ const expectedParts = expected.split("-").filter(p => p.length > 0);
275
+ const actualParts = actual.split("-").filter(p => p.length > 0);
276
+ // Count matching parts
277
+ let matches = 0;
278
+ const minLength = Math.min(expectedParts.length, actualParts.length);
279
+ for (let i = 0; i < minLength; i++) {
280
+ if (expectedParts[i] === actualParts[i]) {
281
+ matches++;
282
+ }
283
+ }
284
+ // Calculate percentage
285
+ return (matches / Math.max(expectedParts.length, actualParts.length)) * 100;
286
+ }
287
+ /**
288
+ * Calculate overall score from multiple factors
289
+ */
290
+ calculateOverallScore(factors) {
291
+ let score = 0;
292
+ // Path similarity is most important (0-100 points)
293
+ score += factors.pathScore;
294
+ // Folder name similarity (weighted 50%)
295
+ score += factors.folderScore * 0.5;
296
+ // Having a database is good (20 points)
297
+ if (factors.hasDatabase) {
298
+ score += 20;
299
+ }
300
+ // More JSONL files = higher confidence (1 point per file, max 30)
301
+ score += Math.min(factors.jsonlCount, 30);
302
+ return score;
303
+ }
304
+ }
305
+ //# sourceMappingURL=ProjectMigration.js.map