mcdev-mcp 1.0.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.
Files changed (87) hide show
  1. package/LICENSE +77 -0
  2. package/README.md +365 -0
  3. package/dist/callgraph/index.d.ts +14 -0
  4. package/dist/callgraph/index.d.ts.map +1 -0
  5. package/dist/callgraph/index.js +201 -0
  6. package/dist/callgraph/index.js.map +1 -0
  7. package/dist/callgraph/query.d.ts +20 -0
  8. package/dist/callgraph/query.d.ts.map +1 -0
  9. package/dist/callgraph/query.js +95 -0
  10. package/dist/callgraph/query.js.map +1 -0
  11. package/dist/cli.d.ts +3 -0
  12. package/dist/cli.d.ts.map +1 -0
  13. package/dist/cli.js +318 -0
  14. package/dist/cli.js.map +1 -0
  15. package/dist/decompiler/download.d.ts +31 -0
  16. package/dist/decompiler/download.d.ts.map +1 -0
  17. package/dist/decompiler/download.js +145 -0
  18. package/dist/decompiler/download.js.map +1 -0
  19. package/dist/decompiler/downloader.d.ts +7 -0
  20. package/dist/decompiler/downloader.d.ts.map +1 -0
  21. package/dist/decompiler/downloader.js +4 -0
  22. package/dist/decompiler/downloader.js.map +1 -0
  23. package/dist/decompiler/index.d.ts +16 -0
  24. package/dist/decompiler/index.d.ts.map +1 -0
  25. package/dist/decompiler/index.js +74 -0
  26. package/dist/decompiler/index.js.map +1 -0
  27. package/dist/decompiler/remapper.d.ts +9 -0
  28. package/dist/decompiler/remapper.d.ts.map +1 -0
  29. package/dist/decompiler/remapper.js +174 -0
  30. package/dist/decompiler/remapper.js.map +1 -0
  31. package/dist/decompiler/tools.d.ts +3 -0
  32. package/dist/decompiler/tools.d.ts.map +1 -0
  33. package/dist/decompiler/tools.js +79 -0
  34. package/dist/decompiler/tools.js.map +1 -0
  35. package/dist/decompiler/vineflower.d.ts +3 -0
  36. package/dist/decompiler/vineflower.d.ts.map +1 -0
  37. package/dist/decompiler/vineflower.js +37 -0
  38. package/dist/decompiler/vineflower.js.map +1 -0
  39. package/dist/index.d.ts +3 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +63 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/indexer/index.d.ts +17 -0
  44. package/dist/indexer/index.d.ts.map +1 -0
  45. package/dist/indexer/index.js +134 -0
  46. package/dist/indexer/index.js.map +1 -0
  47. package/dist/indexer/parser.d.ts +11 -0
  48. package/dist/indexer/parser.d.ts.map +1 -0
  49. package/dist/indexer/parser.js +188 -0
  50. package/dist/indexer/parser.js.map +1 -0
  51. package/dist/indexer/types.d.ts +14 -0
  52. package/dist/indexer/types.d.ts.map +1 -0
  53. package/dist/indexer/types.js +2 -0
  54. package/dist/indexer/types.js.map +1 -0
  55. package/dist/storage/index.d.ts +2 -0
  56. package/dist/storage/index.d.ts.map +1 -0
  57. package/dist/storage/index.js +2 -0
  58. package/dist/storage/index.js.map +1 -0
  59. package/dist/storage/source-store.d.ts +43 -0
  60. package/dist/storage/source-store.d.ts.map +1 -0
  61. package/dist/storage/source-store.js +279 -0
  62. package/dist/storage/source-store.js.map +1 -0
  63. package/dist/tools/index.d.ts +503 -0
  64. package/dist/tools/index.d.ts.map +1 -0
  65. package/dist/tools/index.js +535 -0
  66. package/dist/tools/index.js.map +1 -0
  67. package/dist/utils/config.d.ts +13 -0
  68. package/dist/utils/config.d.ts.map +1 -0
  69. package/dist/utils/config.js +12 -0
  70. package/dist/utils/config.js.map +1 -0
  71. package/dist/utils/paths.d.ts +30 -0
  72. package/dist/utils/paths.d.ts.map +1 -0
  73. package/dist/utils/paths.js +131 -0
  74. package/dist/utils/paths.js.map +1 -0
  75. package/dist/utils/types.d.ts +79 -0
  76. package/dist/utils/types.d.ts.map +1 -0
  77. package/dist/utils/types.js +2 -0
  78. package/dist/utils/types.js.map +1 -0
  79. package/dist/utils/version-manifest.d.ts +10 -0
  80. package/dist/utils/version-manifest.d.ts.map +1 -0
  81. package/dist/utils/version-manifest.js +64 -0
  82. package/dist/utils/version-manifest.js.map +1 -0
  83. package/dist/version-manager.d.ts +11 -0
  84. package/dist/version-manager.d.ts.map +1 -0
  85. package/dist/version-manager.js +29 -0
  86. package/dist/version-manager.js.map +1 -0
  87. package/package.json +64 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/callgraph/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export declare function getCallgraphDir(version: string): string;
2
+ export declare function getCallgraphDbPath(version: string): string;
3
+ export declare function openDb(version: string): any;
4
+ export declare function closeDb(): void;
5
+ export interface MethodRef {
6
+ className: string;
7
+ methodName: string;
8
+ descriptor: string;
9
+ fullName: string;
10
+ lineNumber?: number;
11
+ }
12
+ export declare function findCallers(version: string, className: string, methodName: string): MethodRef[];
13
+ export declare function findCallees(version: string, className: string, methodName: string): MethodRef[];
14
+ export declare function searchMethods(version: string, query: string, limit?: number): MethodRef[];
15
+ export declare function getCallgraphStats(version: string): {
16
+ totalCalls: number;
17
+ uniqueCallers: number;
18
+ uniqueCallees: number;
19
+ } | null;
20
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/callgraph/query.ts"],"names":[],"mappings":"AAKA,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1D;AAID,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAY3C;AAED,wBAAgB,OAAO,IAAI,IAAI,CAK9B;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,CAmB/F;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,CAmB/F;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,SAAS,EAAE,CAwB7F;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAgB9H"}
@@ -0,0 +1,95 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ import Database from 'better-sqlite3';
4
+ import { getMinecraftCacheDir } from '../utils/paths.js';
5
+ export function getCallgraphDir(version) {
6
+ return path.join(getMinecraftCacheDir(version), 'callgraph');
7
+ }
8
+ export function getCallgraphDbPath(version) {
9
+ return path.join(getCallgraphDir(version), 'callgraph.db');
10
+ }
11
+ let db = null;
12
+ export function openDb(version) {
13
+ if (db)
14
+ return db;
15
+ const dbPath = path.join(getCallgraphDir(version), 'callgraph.db');
16
+ if (!fs.existsSync(dbPath)) {
17
+ throw new Error('Callgraph database not found. Run `mcdev-mcp callgraph` first.');
18
+ }
19
+ db = new Database(dbPath, { readonly: true });
20
+ return db;
21
+ }
22
+ export function closeDb() {
23
+ if (db) {
24
+ db.close();
25
+ db = null;
26
+ }
27
+ }
28
+ export function findCallers(version, className, methodName) {
29
+ const database = openDb(version);
30
+ const stmt = database.prepare(`
31
+ SELECT caller_class, caller_method, caller_desc, line_number
32
+ FROM calls
33
+ WHERE callee_class = ? AND callee_method = ?
34
+ LIMIT 100
35
+ `);
36
+ const rows = stmt.all(className, methodName);
37
+ return rows.map(row => ({
38
+ className: row.caller_class,
39
+ methodName: row.caller_method,
40
+ descriptor: row.caller_desc || '',
41
+ fullName: `${row.caller_class}.${row.caller_method}`,
42
+ lineNumber: row.line_number,
43
+ }));
44
+ }
45
+ export function findCallees(version, className, methodName) {
46
+ const database = openDb(version);
47
+ const stmt = database.prepare(`
48
+ SELECT callee_class, callee_method, callee_desc, line_number
49
+ FROM calls
50
+ WHERE caller_class = ? AND caller_method = ?
51
+ LIMIT 100
52
+ `);
53
+ const rows = stmt.all(className, methodName);
54
+ return rows.map(row => ({
55
+ className: row.callee_class,
56
+ methodName: row.callee_method,
57
+ descriptor: row.callee_desc || '',
58
+ fullName: `${row.callee_class}.${row.callee_method}`,
59
+ lineNumber: row.line_number,
60
+ }));
61
+ }
62
+ export function searchMethods(version, query, limit = 50) {
63
+ const database = openDb(version);
64
+ const pattern = `%${query}%`;
65
+ const stmt = database.prepare(`
66
+ SELECT DISTINCT callee_class as class_name, callee_method as method_name, callee_desc as descriptor
67
+ FROM calls
68
+ WHERE callee_class LIKE ? OR callee_method LIKE ?
69
+ UNION
70
+ SELECT DISTINCT caller_class as class_name, caller_method as method_name, caller_desc as descriptor
71
+ FROM calls
72
+ WHERE caller_class LIKE ? OR caller_method LIKE ?
73
+ LIMIT ?
74
+ `);
75
+ const rows = stmt.all(pattern, pattern, pattern, pattern, limit);
76
+ return rows.map(row => ({
77
+ className: row.class_name,
78
+ methodName: row.method_name,
79
+ descriptor: row.descriptor || '',
80
+ fullName: `${row.class_name}.${row.method_name}`,
81
+ }));
82
+ }
83
+ export function getCallgraphStats(version) {
84
+ const dbPath = path.join(getCallgraphDir(version), 'callgraph.db');
85
+ if (!fs.existsSync(dbPath)) {
86
+ return null;
87
+ }
88
+ const database = openDb(version);
89
+ const totalCalls = database.prepare('SELECT COUNT(*) as count FROM calls').get()?.count || 0;
90
+ const uniqueCallers = database.prepare('SELECT COUNT(DISTINCT caller_class || caller_method) as count FROM calls').get()?.count || 0;
91
+ const uniqueCallees = database.prepare('SELECT COUNT(DISTINCT callee_class || callee_method) as count FROM calls').get()?.count || 0;
92
+ closeDb();
93
+ return { totalCalls, uniqueCallers, uniqueCallees };
94
+ }
95
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/callgraph/query.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
package/dist/cli.js ADDED
@@ -0,0 +1,318 @@
1
+ #!/usr/bin/env node
2
+ import * as fs from 'fs';
3
+ import * as path from 'path';
4
+ import { Command } from 'commander';
5
+ import { ensureDecompiled } from './decompiler/index.js';
6
+ import { buildIndex, loadIndexManifest } from './indexer/index.js';
7
+ import { getMinecraftSourceDir, ensureHomeDirs, getHomeDir, getAvailableMinecraftVersions, getCacheDir, getIndexDir, getMinecraftCacheDir, getIndexedVersions, isVersionIndexed } from './utils/paths.js';
8
+ import { ensureCallgraph, hasCallgraphDb, getCallgraphStats } from './callgraph/index.js';
9
+ import { startServer } from './index.js';
10
+ const program = new Command();
11
+ function isValidVersion(version) {
12
+ // Allow 26.x, 27.x, etc. (including snapshots like 26.1-snapshot-10)
13
+ if (/^[2-9][0-9]*\./.test(version)) {
14
+ return true;
15
+ }
16
+ // For 1.x.x versions (e.g. 1.19.4), require >= 1.14
17
+ const match3 = version.match(/^1\.(\d+)\.(\d+)/);
18
+ if (match3) {
19
+ const minor = parseInt(match3[1], 10);
20
+ return minor >= 14;
21
+ }
22
+ // For 1.x versions without patch (e.g. 1.19), require >= 1.14
23
+ const match2 = version.match(/^1\.(\d+)$/);
24
+ if (match2) {
25
+ const minor = parseInt(match2[1], 10);
26
+ return minor >= 14;
27
+ }
28
+ return false;
29
+ }
30
+ function validateVersion(version) {
31
+ if (!isValidVersion(version)) {
32
+ console.error(`Error: Version ${version} is not supported.`);
33
+ console.error('Supported versions:');
34
+ console.error(' - 1.14 and later (official Mojang mappings required)');
35
+ console.error(' - 26.x and later (26.1, 26.1-snapshot-10, etc.)');
36
+ process.exit(1);
37
+ }
38
+ }
39
+ program
40
+ .name('mcdev-mcp')
41
+ .description('MCP server for Minecraft mod development')
42
+ .version('1.0.0');
43
+ program
44
+ .command('serve')
45
+ .description('Start the MCP server over stdio (used by MCP clients, not humans)')
46
+ .action(async () => {
47
+ try {
48
+ await startServer();
49
+ }
50
+ catch (error) {
51
+ console.error('Fatal error:', error);
52
+ process.exit(1);
53
+ }
54
+ });
55
+ program
56
+ .command('init')
57
+ .description('Download, decompile, index Minecraft sources, and generate callgraph')
58
+ .requiredOption('-v, --version <version>', 'Minecraft version (e.g., 1.21.11, 26.1)')
59
+ .option('--skip-callgraph', 'Skip callgraph generation', false)
60
+ .action(async (options) => {
61
+ validateVersion(options.version);
62
+ console.log(`Initializing mcdev-mcp for Minecraft ${options.version}...`);
63
+ const progressCb = (stage, progress, message) => {
64
+ console.log(`[${stage}] ${progress}% - ${message}`);
65
+ };
66
+ try {
67
+ const result = await ensureDecompiled(options.version, progressCb);
68
+ console.log('\nBuilding symbol index...');
69
+ await buildIndex({
70
+ minecraftSourceDir: result.minecraftDir,
71
+ fabricApiSourceDir: null,
72
+ minecraftVersion: options.version,
73
+ fabricApiVersion: null,
74
+ progressCb,
75
+ });
76
+ if (!options.skipCallgraph) {
77
+ console.log('\nGenerating callgraph...');
78
+ await ensureCallgraph(options.version, progressCb);
79
+ }
80
+ console.log('\n✓ Initialization complete!');
81
+ console.log(` Minecraft: ${options.version}`);
82
+ if (options.skipCallgraph) {
83
+ console.log(` Callgraph: skipped (run 'mcdev-mcp callgraph -v ${options.version}' to generate)`);
84
+ }
85
+ else {
86
+ const stats = getCallgraphStats(options.version);
87
+ if (stats) {
88
+ console.log(` Callgraph: ${stats.totalCalls} call references`);
89
+ }
90
+ }
91
+ }
92
+ catch (error) {
93
+ console.error('Initialization failed:', error);
94
+ process.exit(1);
95
+ }
96
+ });
97
+ program
98
+ .command('callgraph')
99
+ .description('Generate callgraph database for finding method references')
100
+ .requiredOption('-v, --version <version>', 'Minecraft version (e.g., 1.21.11, 26.1)')
101
+ .action(async (options) => {
102
+ validateVersion(options.version);
103
+ console.log(`Generating callgraph for Minecraft ${options.version}...`);
104
+ const sourceDir = getMinecraftSourceDir(options.version);
105
+ if (!fs.existsSync(sourceDir)) {
106
+ console.error(`Minecraft ${options.version} not decompiled. Run 'init -v ${options.version}' first.`);
107
+ process.exit(1);
108
+ }
109
+ if (!isVersionIndexed(options.version)) {
110
+ console.error(`Minecraft ${options.version} not indexed. Run 'init -v ${options.version}' first.`);
111
+ process.exit(1);
112
+ }
113
+ const progressCb = (stage, progress, message) => {
114
+ console.log(`[${stage}] ${progress}% - ${message}`);
115
+ };
116
+ try {
117
+ await ensureCallgraph(options.version, progressCb);
118
+ const stats = getCallgraphStats(options.version);
119
+ if (stats) {
120
+ console.log('\n✓ Callgraph database ready!');
121
+ console.log(` Total call references: ${stats.totalCalls}`);
122
+ console.log(` Unique callers: ${stats.uniqueCallers}`);
123
+ console.log(` Unique callees: ${stats.uniqueCallees}`);
124
+ }
125
+ }
126
+ catch (error) {
127
+ console.error('Callgraph generation failed:', error);
128
+ process.exit(1);
129
+ }
130
+ });
131
+ program
132
+ .command('rebuild')
133
+ .description('Rebuild the symbol index from cached sources')
134
+ .requiredOption('-v, --version <version>', 'Minecraft version (e.g., 1.21.11, 26.1)')
135
+ .option('--with-callgraph', 'Also rebuild callgraph', false)
136
+ .action(async (options) => {
137
+ validateVersion(options.version);
138
+ ensureHomeDirs();
139
+ const minecraftVersion = options.version;
140
+ const minecraftDir = getMinecraftSourceDir(minecraftVersion);
141
+ if (!fs.existsSync(minecraftDir)) {
142
+ console.error(`Source directory not found: ${minecraftDir}`);
143
+ console.error('Run `init` first to download and decompile sources.');
144
+ process.exit(1);
145
+ }
146
+ console.log(`Rebuilding index for Minecraft ${minecraftVersion}...`);
147
+ const progressCb = (stage, progress, message) => {
148
+ console.log(`[${stage}] ${progress}% - ${message}`);
149
+ };
150
+ await buildIndex({
151
+ minecraftSourceDir: minecraftDir,
152
+ fabricApiSourceDir: null,
153
+ minecraftVersion: minecraftVersion,
154
+ fabricApiVersion: null,
155
+ progressCb,
156
+ });
157
+ if (options.withCallgraph) {
158
+ console.log('\nRebuilding callgraph...');
159
+ await ensureCallgraph(minecraftVersion, progressCb);
160
+ }
161
+ console.log('\n✓ Index rebuilt!');
162
+ });
163
+ program
164
+ .command('status')
165
+ .description('Show current status of all cached Minecraft versions')
166
+ .option('-v, --version <version>', 'Show status for specific version')
167
+ .action((options) => {
168
+ ensureHomeDirs();
169
+ const indexedVersions = getIndexedVersions();
170
+ const cachedVersions = getAvailableMinecraftVersions();
171
+ if (options.version) {
172
+ showVersionStatus(options.version, cachedVersions, indexedVersions);
173
+ return;
174
+ }
175
+ if (cachedVersions.length === 0) {
176
+ console.log('Status: Not initialized');
177
+ console.log('Run `mcdev-mcp init -v <version>` to set up.');
178
+ return;
179
+ }
180
+ console.log('Cached Minecraft versions:\n');
181
+ for (const version of cachedVersions) {
182
+ const manifest = loadIndexManifest(version);
183
+ const hasCallgraph = hasCallgraphDb(version);
184
+ const isIndexed = indexedVersions.includes(version);
185
+ console.log(` ${version}:`);
186
+ console.log(` Decompiled: ✓`);
187
+ console.log(` Indexed: ${isIndexed ? '✓' : '✗'}`);
188
+ if (isIndexed && manifest) {
189
+ console.log(` Packages: ${manifest.packages.minecraft.length} Minecraft, ${manifest.packages.fabric.length} Fabric`);
190
+ }
191
+ console.log(` Callgraph: ${hasCallgraph ? '✓' : '✗'}`);
192
+ if (hasCallgraph) {
193
+ const stats = getCallgraphStats(version);
194
+ if (stats) {
195
+ console.log(` Call refs: ${stats.totalCalls}`);
196
+ }
197
+ }
198
+ console.log();
199
+ }
200
+ console.log(`Total: ${cachedVersions.length} version(s) cached`);
201
+ });
202
+ function showVersionStatus(version, cachedVersions, indexedVersions) {
203
+ const isCached = cachedVersions.includes(version);
204
+ const isIndexed = indexedVersions.includes(version);
205
+ const hasCallgraph = hasCallgraphDb(version);
206
+ console.log(`\nMinecraft ${version}:`);
207
+ console.log(` Decompiled: ${isCached ? '✓' : '✗'}`);
208
+ console.log(` Indexed: ${isIndexed ? '✓' : '✗'}`);
209
+ console.log(` Callgraph: ${hasCallgraph ? '✓' : '✗'}`);
210
+ if (isIndexed) {
211
+ const manifest = loadIndexManifest(version);
212
+ if (manifest) {
213
+ console.log(` Packages: ${manifest.packages.minecraft.length} Minecraft, ${manifest.packages.fabric.length} Fabric`);
214
+ console.log(` Generated: ${manifest.generated}`);
215
+ }
216
+ if (hasCallgraph) {
217
+ const stats = getCallgraphStats(version);
218
+ if (stats) {
219
+ console.log(` Call refs: ${stats.totalCalls}`);
220
+ console.log(` Unique callers: ${stats.uniqueCallers}`);
221
+ console.log(` Unique callees: ${stats.uniqueCallees}`);
222
+ }
223
+ }
224
+ }
225
+ else if (!isCached) {
226
+ console.log(`\n Run 'mcdev-mcp init -v ${version}' to initialize.`);
227
+ }
228
+ }
229
+ program
230
+ .command('clean')
231
+ .description('Remove cached data and index')
232
+ .option('--callgraph', 'Only clean callgraph data')
233
+ .option('--cache', 'Clean cache directory (decompiled sources)')
234
+ .option('--index', 'Clean index directory (symbol index)')
235
+ .option('--all', 'Clean everything (cache, index, DecompilerMC)')
236
+ .option('-v, --version <version>', 'Clean data for specific version only')
237
+ .action((options) => {
238
+ const homeDir = getHomeDir();
239
+ const cacheDir = getCacheDir();
240
+ const indexDir = getIndexDir();
241
+ if (options.callgraph && !options.version) {
242
+ console.log('--callgraph requires -v <version>');
243
+ process.exit(1);
244
+ }
245
+ if (options.callgraph && options.version) {
246
+ const callgraphDir = path.join(getMinecraftCacheDir(options.version), 'callgraph');
247
+ if (fs.existsSync(callgraphDir)) {
248
+ fs.rmSync(callgraphDir, { recursive: true });
249
+ console.log(`Removed callgraph data for ${options.version}`);
250
+ }
251
+ else {
252
+ console.log(`No callgraph data found for ${options.version}`);
253
+ }
254
+ return;
255
+ }
256
+ if (options.version) {
257
+ const versionCacheDir = path.join(cacheDir, options.version);
258
+ const versionIndexDir = path.join(indexDir, options.version);
259
+ if (options.all || (!options.cache && !options.index)) {
260
+ options.cache = true;
261
+ options.index = true;
262
+ }
263
+ if (options.cache && fs.existsSync(versionCacheDir)) {
264
+ fs.rmSync(versionCacheDir, { recursive: true });
265
+ console.log(`Removed cache for ${options.version}: ${versionCacheDir}`);
266
+ }
267
+ if (options.index && fs.existsSync(versionIndexDir)) {
268
+ fs.rmSync(versionIndexDir, { recursive: true });
269
+ console.log(`Removed index for ${options.version}: ${versionIndexDir}`);
270
+ }
271
+ console.log(`\nRun 'mcdev-mcp init -v ${options.version}' to reinitialize.`);
272
+ return;
273
+ }
274
+ if (options.all) {
275
+ options.cache = true;
276
+ options.index = true;
277
+ }
278
+ if (!options.cache && !options.index) {
279
+ console.log('Specify what to clean:');
280
+ console.log(' --cache Clean decompiled sources');
281
+ console.log(' --index Clean symbol index');
282
+ console.log(' --callgraph Clean callgraph database only (requires -v)');
283
+ console.log(' --all Clean everything (cache, index, tmp)');
284
+ console.log(' -v <version> Clean data for specific version only');
285
+ return;
286
+ }
287
+ if (options.cache) {
288
+ if (fs.existsSync(cacheDir)) {
289
+ fs.rmSync(cacheDir, { recursive: true });
290
+ console.log(`Removed cache: ${cacheDir}`);
291
+ }
292
+ else {
293
+ console.log('Cache directory not found');
294
+ }
295
+ }
296
+ if (options.index) {
297
+ if (fs.existsSync(indexDir)) {
298
+ fs.rmSync(indexDir, { recursive: true });
299
+ console.log(`Removed index: ${indexDir}`);
300
+ }
301
+ else {
302
+ console.log('Index directory not found');
303
+ }
304
+ }
305
+ if (options.all) {
306
+ const tmpDir = path.join(homeDir, 'tmp');
307
+ if (fs.existsSync(tmpDir)) {
308
+ fs.rmSync(tmpDir, { recursive: true });
309
+ console.log(`Removed tmp: ${tmpDir}`);
310
+ }
311
+ else {
312
+ console.log('tmp directory not found');
313
+ }
314
+ }
315
+ console.log('\nRun `mcdev-mcp init -v <version>` to reinitialize.');
316
+ });
317
+ program.parse();
318
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ export type ProgressCallback = (stage: string, progress: number, message: string) => void;
2
+ export interface VersionDownload {
3
+ url: string;
4
+ sha1: string;
5
+ size: number;
6
+ }
7
+ export interface VersionInfo {
8
+ id: string;
9
+ downloads: {
10
+ client: VersionDownload;
11
+ client_mappings?: VersionDownload;
12
+ };
13
+ }
14
+ export interface VersionManifest {
15
+ latest: {
16
+ release: string;
17
+ snapshot: string;
18
+ };
19
+ versions: Array<{
20
+ id: string;
21
+ type: string;
22
+ url: string;
23
+ }>;
24
+ }
25
+ export declare function hasUnobfuscatedJar(version: string): boolean;
26
+ export declare function fetchVersionManifest(): Promise<VersionManifest>;
27
+ export declare function fetchVersionInfo(version: string): Promise<VersionInfo>;
28
+ export declare function downloadFile(url: string, dest: string, progressCb?: ProgressCallback, stage?: string): Promise<void>;
29
+ export declare function downloadClientJar(version: string, dest: string, progressCb?: ProgressCallback): Promise<void>;
30
+ export declare function downloadMappings(versionInfo: VersionInfo, destDir: string, progressCb?: ProgressCallback): Promise<boolean>;
31
+ //# sourceMappingURL=download.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/decompiler/download.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAE1F,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE;QACT,MAAM,EAAE,eAAe,CAAC;QACxB,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,QAAQ,EAAE,KAAK,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;KACb,CAAC,CAAC;CACJ;AAMD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE3D;AAgCD,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,eAAe,CAAC,CAErE;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAS5E;AAED,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,gBAAgB,EAC7B,KAAK,GAAE,MAAmB,GACzB,OAAO,CAAC,IAAI,CAAC,CA+Df;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,gBAAgB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,gBAAgB,GAC5B,OAAO,CAAC,OAAO,CAAC,CAqBlB"}