@nahisaho/musubix-codegraph 3.6.0 → 3.7.3

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 nahisaho
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @fileoverview Codemap Bridge Implementation for Agent Skills Integration
3
+ * @traceability REQ-CM-001, REQ-CM-002, REQ-CM-003, REQ-CM-004
4
+ */
5
+ import type { CodemapBridge, CodemapBridgeConfig, Codemap } from './codemap-types.js';
6
+ /**
7
+ * Create a Codemap Bridge for Agent Skills integration
8
+ * @param config Bridge configuration
9
+ * @returns CodemapBridge instance
10
+ */
11
+ export declare function createCodemapBridge(config?: Partial<CodemapBridgeConfig>): CodemapBridge;
12
+ /**
13
+ * Format codemap structure as Mermaid diagram
14
+ */
15
+ export declare function formatCodemapAsMermaid(codemap: Codemap): string;
16
+ //# sourceMappingURL=codemap-bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codemap-bridge.d.ts","sourceRoot":"","sources":["../../src/integration/codemap-bridge.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EAQnB,OAAO,EAGR,MAAM,oBAAoB,CAAC;AAO5B;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,GAAE,OAAO,CAAC,mBAAmB,CAAM,GACxC,aAAa,CAsNf;AAyaD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAuB/D"}
@@ -0,0 +1,597 @@
1
+ /**
2
+ * @fileoverview Codemap Bridge Implementation for Agent Skills Integration
3
+ * @traceability REQ-CM-001, REQ-CM-002, REQ-CM-003, REQ-CM-004
4
+ */
5
+ import * as fs from 'fs/promises';
6
+ import * as path from 'path';
7
+ import { createHash } from 'crypto';
8
+ import { DEFAULT_CODEMAP_BRIDGE_CONFIG, } from './codemap-types.js';
9
+ import { LANGUAGE_EXTENSIONS } from '../types.js';
10
+ /**
11
+ * Create a Codemap Bridge for Agent Skills integration
12
+ * @param config Bridge configuration
13
+ * @returns CodemapBridge instance
14
+ */
15
+ export function createCodemapBridge(config = {}) {
16
+ let currentConfig = {
17
+ ...DEFAULT_CODEMAP_BRIDGE_CONFIG,
18
+ ...config,
19
+ };
20
+ return {
21
+ async analyzeStructure(rootPath) {
22
+ const packages = await analyzePackages(rootPath);
23
+ const structure = await buildDirectoryTree(rootPath, currentConfig.maxDepth, currentConfig);
24
+ const entryPoints = await detectEntryPoints(rootPath, packages);
25
+ const frameworks = await detectFrameworks(rootPath);
26
+ return { packages, structure, entryPoints, frameworks };
27
+ },
28
+ async analyzeModule(modulePath) {
29
+ const content = await fs.readFile(modulePath, 'utf-8');
30
+ const lines = content.split('\n');
31
+ const exports = extractExports(content, modulePath);
32
+ const imports = extractImports(content);
33
+ const entityCounts = countEntities(content);
34
+ return {
35
+ path: modulePath,
36
+ name: path.basename(modulePath, path.extname(modulePath)),
37
+ exports,
38
+ imports,
39
+ entityCounts,
40
+ linesOfCode: lines.length,
41
+ complexity: calculateComplexity(content),
42
+ };
43
+ },
44
+ async generateCodemap(rootPath) {
45
+ const { packages, structure, entryPoints, frameworks } = await this.analyzeStructure(rootPath);
46
+ // Read project info
47
+ const packageJsonPath = path.join(rootPath, 'package.json');
48
+ let projectName = path.basename(rootPath);
49
+ let projectVersion;
50
+ try {
51
+ const packageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf-8'));
52
+ projectName = packageJson.name || projectName;
53
+ projectVersion = packageJson.version;
54
+ }
55
+ catch {
56
+ // No package.json, use directory name
57
+ }
58
+ const documents = await generateDocuments(rootPath, packages, entryPoints, frameworks, structure);
59
+ return {
60
+ projectName,
61
+ projectVersion,
62
+ generatedAt: new Date().toISOString(),
63
+ documents,
64
+ packages,
65
+ entryPoints,
66
+ frameworks,
67
+ structure,
68
+ };
69
+ },
70
+ compareCodemaps(previous, current) {
71
+ const prevHash = hashCodemap(previous);
72
+ const currHash = hashCodemap(current);
73
+ const prevPackageNames = new Set(previous.packages.map(p => p.name));
74
+ const currPackageNames = new Set(current.packages.map(p => p.name));
75
+ const addedPackages = [...currPackageNames].filter(n => !prevPackageNames.has(n));
76
+ const removedPackages = [...prevPackageNames].filter(n => !currPackageNames.has(n));
77
+ const modifiedPackages = [...currPackageNames].filter(n => {
78
+ if (!prevPackageNames.has(n))
79
+ return false;
80
+ const prev = previous.packages.find(p => p.name === n);
81
+ const curr = current.packages.find(p => p.name === n);
82
+ return prev && curr && JSON.stringify(prev) !== JSON.stringify(curr);
83
+ });
84
+ const prevEntryPoints = new Set(previous.entryPoints.map(e => e.path));
85
+ const currEntryPoints = new Set(current.entryPoints.map(e => e.path));
86
+ const addedEntryPoints = [...currEntryPoints].filter(p => !prevEntryPoints.has(p));
87
+ const removedEntryPoints = [...prevEntryPoints].filter(p => !currEntryPoints.has(p));
88
+ const totalChanges = addedPackages.length + removedPackages.length + modifiedPackages.length +
89
+ addedEntryPoints.length + removedEntryPoints.length;
90
+ const totalItems = Math.max(previous.packages.length + previous.entryPoints.length, current.packages.length + current.entryPoints.length);
91
+ const diffPercentage = totalItems > 0 ? (totalChanges / totalItems) * 100 : 0;
92
+ const majorChanges = [];
93
+ if (addedPackages.length > 0)
94
+ majorChanges.push(`Added ${addedPackages.length} package(s)`);
95
+ if (removedPackages.length > 0)
96
+ majorChanges.push(`Removed ${removedPackages.length} package(s)`);
97
+ if (modifiedPackages.length > 0)
98
+ majorChanges.push(`Modified ${modifiedPackages.length} package(s)`);
99
+ return {
100
+ previousHash: prevHash,
101
+ currentHash: currHash,
102
+ diffPercentage: Math.round(diffPercentage * 10) / 10,
103
+ addedPackages,
104
+ removedPackages,
105
+ modifiedPackages,
106
+ addedEntryPoints,
107
+ removedEntryPoints,
108
+ majorChanges,
109
+ };
110
+ },
111
+ async writeCodemap(codemap, outputDir) {
112
+ const dir = outputDir || currentConfig.outputDir;
113
+ await fs.mkdir(dir, { recursive: true });
114
+ for (const doc of codemap.documents) {
115
+ const fileName = `${doc.type === 'index' ? 'INDEX' : doc.type}.md`;
116
+ const filePath = path.join(dir, fileName);
117
+ await fs.writeFile(filePath, doc.content, 'utf-8');
118
+ }
119
+ // Also write metadata
120
+ const metadataPath = path.join(dir, '.codemap-metadata.json');
121
+ await fs.writeFile(metadataPath, JSON.stringify({
122
+ projectName: codemap.projectName,
123
+ projectVersion: codemap.projectVersion,
124
+ generatedAt: codemap.generatedAt,
125
+ packageCount: codemap.packages.length,
126
+ entryPointCount: codemap.entryPoints.length,
127
+ frameworkCount: codemap.frameworks.length,
128
+ }, null, 2), 'utf-8');
129
+ },
130
+ formatAsMarkdown(codemap) {
131
+ const lines = [];
132
+ lines.push(`# Code Map: ${codemap.projectName}`);
133
+ lines.push('');
134
+ lines.push(`**Generated**: ${codemap.generatedAt}`);
135
+ if (codemap.projectVersion) {
136
+ lines.push(`**Version**: ${codemap.projectVersion}`);
137
+ }
138
+ lines.push('');
139
+ // Package Structure
140
+ lines.push('## Package Structure');
141
+ lines.push('');
142
+ lines.push('| Package | Description | Dependencies |');
143
+ lines.push('|---------|-------------|--------------|');
144
+ for (const pkg of codemap.packages) {
145
+ const deps = pkg.dependencies.slice(0, 3).join(', ') +
146
+ (pkg.dependencies.length > 3 ? ', ...' : '');
147
+ lines.push(`| ${pkg.name} | ${pkg.description || '-'} | ${deps || '-'} |`);
148
+ }
149
+ lines.push('');
150
+ // Entry Points
151
+ lines.push('## Entry Points');
152
+ lines.push('');
153
+ for (const entry of codemap.entryPoints) {
154
+ lines.push(`- **${entry.type}**: \`${entry.path}\`${entry.description ? ` - ${entry.description}` : ''}`);
155
+ }
156
+ lines.push('');
157
+ // Frameworks
158
+ if (codemap.frameworks.length > 0) {
159
+ lines.push('## Detected Frameworks');
160
+ lines.push('');
161
+ for (const fw of codemap.frameworks) {
162
+ lines.push(`- **${fw.name}**${fw.version ? ` (${fw.version})` : ''} - ${fw.type}`);
163
+ }
164
+ lines.push('');
165
+ }
166
+ return lines.join('\n');
167
+ },
168
+ formatDiffReport(diff) {
169
+ const lines = [];
170
+ lines.push('Codemap Diff Report');
171
+ lines.push('===================');
172
+ lines.push(`Date: ${new Date().toISOString()}`);
173
+ lines.push(`Previous Hash: ${diff.previousHash.substring(0, 8)}`);
174
+ lines.push(`Current Hash: ${diff.currentHash.substring(0, 8)}`);
175
+ lines.push('');
176
+ lines.push('Summary:');
177
+ lines.push(`- Packages added: ${diff.addedPackages.length}`);
178
+ lines.push(`- Packages removed: ${diff.removedPackages.length}`);
179
+ lines.push(`- Packages modified: ${diff.modifiedPackages.length}`);
180
+ lines.push(`- Entry points added: ${diff.addedEntryPoints.length}`);
181
+ lines.push(`- Entry points removed: ${diff.removedEntryPoints.length}`);
182
+ lines.push(`- Diff percentage: ${diff.diffPercentage}%`);
183
+ lines.push('');
184
+ if (diff.majorChanges.length > 0) {
185
+ lines.push('Major Changes:');
186
+ for (const change of diff.majorChanges) {
187
+ lines.push(`- ${change}`);
188
+ }
189
+ }
190
+ return lines.join('\n');
191
+ },
192
+ getConfig() {
193
+ return { ...currentConfig };
194
+ },
195
+ updateConfig(config) {
196
+ currentConfig = { ...currentConfig, ...config };
197
+ },
198
+ };
199
+ }
200
+ // ============================================================================
201
+ // Helper Functions
202
+ // ============================================================================
203
+ async function analyzePackages(rootPath) {
204
+ const packages = [];
205
+ // Check for monorepo
206
+ const rootPackageJsonPath = path.join(rootPath, 'package.json');
207
+ try {
208
+ const rootPackageJson = JSON.parse(await fs.readFile(rootPackageJsonPath, 'utf-8'));
209
+ // Check workspaces
210
+ const workspaces = rootPackageJson.workspaces || [];
211
+ const workspacePaths = [];
212
+ for (const ws of workspaces) {
213
+ // Handle glob patterns like "packages/*"
214
+ if (ws.includes('*')) {
215
+ const base = ws.replace('/*', '');
216
+ const basePath = path.join(rootPath, base);
217
+ try {
218
+ const dirs = await fs.readdir(basePath, { withFileTypes: true });
219
+ for (const dir of dirs) {
220
+ if (dir.isDirectory()) {
221
+ workspacePaths.push(path.join(base, dir.name));
222
+ }
223
+ }
224
+ }
225
+ catch {
226
+ // Directory doesn't exist
227
+ }
228
+ }
229
+ else {
230
+ workspacePaths.push(ws);
231
+ }
232
+ }
233
+ // Analyze each workspace package
234
+ for (const wsPath of workspacePaths) {
235
+ const pkgJsonPath = path.join(rootPath, wsPath, 'package.json');
236
+ try {
237
+ const pkgJson = JSON.parse(await fs.readFile(pkgJsonPath, 'utf-8'));
238
+ packages.push({
239
+ name: pkgJson.name || path.basename(wsPath),
240
+ version: pkgJson.version,
241
+ path: wsPath,
242
+ description: pkgJson.description,
243
+ main: pkgJson.main,
244
+ exports: pkgJson.exports,
245
+ dependencies: Object.keys(pkgJson.dependencies || {}),
246
+ devDependencies: Object.keys(pkgJson.devDependencies || {}),
247
+ });
248
+ }
249
+ catch {
250
+ // No package.json
251
+ }
252
+ }
253
+ // If no workspaces, add root as single package
254
+ if (packages.length === 0) {
255
+ packages.push({
256
+ name: rootPackageJson.name || path.basename(rootPath),
257
+ version: rootPackageJson.version,
258
+ path: '.',
259
+ description: rootPackageJson.description,
260
+ main: rootPackageJson.main,
261
+ exports: rootPackageJson.exports,
262
+ dependencies: Object.keys(rootPackageJson.dependencies || {}),
263
+ devDependencies: Object.keys(rootPackageJson.devDependencies || {}),
264
+ });
265
+ }
266
+ }
267
+ catch {
268
+ // No package.json at root
269
+ }
270
+ return packages;
271
+ }
272
+ async function buildDirectoryTree(dirPath, maxDepth, config, currentDepth = 0) {
273
+ const name = path.basename(dirPath);
274
+ const node = {
275
+ name,
276
+ path: dirPath,
277
+ isDirectory: true,
278
+ children: [],
279
+ };
280
+ if (currentDepth >= maxDepth) {
281
+ return node;
282
+ }
283
+ try {
284
+ const entries = await fs.readdir(dirPath, { withFileTypes: true });
285
+ for (const entry of entries) {
286
+ // Skip common excludes
287
+ if (entry.name.startsWith('.') && entry.name !== '.github')
288
+ continue;
289
+ if (entry.name === 'node_modules' && !config.includeNodeModules)
290
+ continue;
291
+ if (entry.name === 'dist' || entry.name === 'build')
292
+ continue;
293
+ if (!config.includeTests && (entry.name === '__tests__' || entry.name === 'tests'))
294
+ continue;
295
+ const entryPath = path.join(dirPath, entry.name);
296
+ if (entry.isDirectory()) {
297
+ const child = await buildDirectoryTree(entryPath, maxDepth, config, currentDepth + 1);
298
+ node.children?.push(child);
299
+ }
300
+ else {
301
+ const ext = path.extname(entry.name);
302
+ const language = LANGUAGE_EXTENSIONS[ext];
303
+ node.children?.push({
304
+ name: entry.name,
305
+ path: entryPath,
306
+ isDirectory: false,
307
+ language,
308
+ });
309
+ }
310
+ }
311
+ }
312
+ catch {
313
+ // Directory read error
314
+ }
315
+ return node;
316
+ }
317
+ async function detectEntryPoints(rootPath, packages) {
318
+ const entryPoints = [];
319
+ // Check bin directory
320
+ const binPath = path.join(rootPath, 'bin');
321
+ try {
322
+ const binFiles = await fs.readdir(binPath);
323
+ for (const file of binFiles) {
324
+ entryPoints.push({
325
+ type: 'cli',
326
+ path: `bin/${file}`,
327
+ description: 'CLI entry point',
328
+ });
329
+ }
330
+ }
331
+ catch {
332
+ // No bin directory
333
+ }
334
+ // Check package main/exports
335
+ for (const pkg of packages) {
336
+ if (pkg.main) {
337
+ entryPoints.push({
338
+ type: 'library',
339
+ path: path.join(pkg.path, pkg.main),
340
+ description: `Main entry for ${pkg.name}`,
341
+ });
342
+ }
343
+ }
344
+ // Check common patterns
345
+ const commonPatterns = [
346
+ { pattern: 'src/index.ts', type: 'library' },
347
+ { pattern: 'src/main.ts', type: 'library' },
348
+ { pattern: 'src/server.ts', type: 'api' },
349
+ { pattern: 'src/app.ts', type: 'api' },
350
+ { pattern: 'src/worker.ts', type: 'worker' },
351
+ { pattern: 'pages/api', type: 'api' },
352
+ { pattern: 'app/api', type: 'api' },
353
+ ];
354
+ for (const { pattern, type } of commonPatterns) {
355
+ const fullPath = path.join(rootPath, pattern);
356
+ try {
357
+ await fs.access(fullPath);
358
+ // Avoid duplicates
359
+ if (!entryPoints.some(e => e.path === pattern)) {
360
+ entryPoints.push({ type, path: pattern });
361
+ }
362
+ }
363
+ catch {
364
+ // File doesn't exist
365
+ }
366
+ }
367
+ return entryPoints;
368
+ }
369
+ async function detectFrameworks(rootPath) {
370
+ const frameworks = [];
371
+ const packageJsonPath = path.join(rootPath, 'package.json');
372
+ try {
373
+ const packageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf-8'));
374
+ const allDeps = {
375
+ ...packageJson.dependencies,
376
+ ...packageJson.devDependencies,
377
+ };
378
+ const frameworkPatterns = [
379
+ { dep: 'next', name: 'Next.js', type: 'fullstack', indicators: ['next.config.js', 'next.config.mjs'] },
380
+ { dep: 'react', name: 'React', type: 'frontend', indicators: ['src/App.tsx', 'src/App.jsx'] },
381
+ { dep: 'vue', name: 'Vue.js', type: 'frontend', indicators: ['vue.config.js'] },
382
+ { dep: 'express', name: 'Express', type: 'backend', indicators: ['src/app.ts', 'src/server.ts'] },
383
+ { dep: 'fastify', name: 'Fastify', type: 'backend', indicators: ['src/server.ts'] },
384
+ { dep: 'vitest', name: 'Vitest', type: 'test', indicators: ['vitest.config.ts'] },
385
+ { dep: 'jest', name: 'Jest', type: 'test', indicators: ['jest.config.js'] },
386
+ { dep: 'playwright', name: 'Playwright', type: 'test', indicators: ['playwright.config.ts'] },
387
+ { dep: 'vite', name: 'Vite', type: 'build', indicators: ['vite.config.ts'] },
388
+ { dep: 'webpack', name: 'Webpack', type: 'build', indicators: ['webpack.config.js'] },
389
+ ];
390
+ for (const { dep, name, type, indicators } of frameworkPatterns) {
391
+ if (allDeps[dep]) {
392
+ frameworks.push({
393
+ name,
394
+ version: allDeps[dep],
395
+ type,
396
+ indicators,
397
+ });
398
+ }
399
+ }
400
+ }
401
+ catch {
402
+ // No package.json
403
+ }
404
+ return frameworks;
405
+ }
406
+ function extractExports(content, filePath) {
407
+ const exports = [];
408
+ const lines = content.split('\n');
409
+ const exportPatterns = [
410
+ { regex: /export\s+default\s+/, type: 'default' },
411
+ { regex: /export\s+function\s+(\w+)/, type: 'function' },
412
+ { regex: /export\s+class\s+(\w+)/, type: 'class' },
413
+ { regex: /export\s+interface\s+(\w+)/, type: 'interface' },
414
+ { regex: /export\s+type\s+(\w+)/, type: 'type' },
415
+ { regex: /export\s+const\s+(\w+)/, type: 'const' },
416
+ { regex: /export\s+enum\s+(\w+)/, type: 'enum' },
417
+ { regex: /export\s+\{\s*([^}]+)\s*\}/, type: 'const' },
418
+ ];
419
+ lines.forEach((line, index) => {
420
+ for (const { regex, type } of exportPatterns) {
421
+ const match = line.match(regex);
422
+ if (match) {
423
+ if (type === 'default') {
424
+ exports.push({
425
+ name: 'default',
426
+ type: 'default',
427
+ isReExport: line.includes('from'),
428
+ sourceFile: filePath,
429
+ line: index + 1,
430
+ });
431
+ }
432
+ else if (match[1]) {
433
+ // Handle multiple exports in braces
434
+ const names = match[1].split(',').map(n => n.trim().split(' ')[0]);
435
+ for (const name of names) {
436
+ if (name) {
437
+ exports.push({
438
+ name,
439
+ type,
440
+ isReExport: line.includes('from'),
441
+ sourceFile: filePath,
442
+ line: index + 1,
443
+ });
444
+ }
445
+ }
446
+ }
447
+ }
448
+ }
449
+ });
450
+ return exports;
451
+ }
452
+ function extractImports(content) {
453
+ const imports = [];
454
+ const importRegex = /import\s+(?:type\s+)?(?:\{([^}]+)\}|(\w+))\s+from\s+['"]([^'"]+)['"]/g;
455
+ let match;
456
+ while ((match = importRegex.exec(content)) !== null) {
457
+ const items = match[1]
458
+ ? match[1].split(',').map(i => i.trim().split(' ')[0]).filter(Boolean)
459
+ : match[2] ? [match[2]] : [];
460
+ const source = match[3];
461
+ imports.push({
462
+ source,
463
+ isExternal: !source.startsWith('.') && !source.startsWith('/'),
464
+ items,
465
+ isTypeOnly: match[0].includes('import type'),
466
+ });
467
+ }
468
+ return imports;
469
+ }
470
+ function countEntities(content) {
471
+ const counts = {};
472
+ const patterns = [
473
+ { name: 'function', regex: /function\s+\w+/g },
474
+ { name: 'class', regex: /class\s+\w+/g },
475
+ { name: 'interface', regex: /interface\s+\w+/g },
476
+ { name: 'type', regex: /type\s+\w+\s*=/g },
477
+ { name: 'const', regex: /const\s+\w+/g },
478
+ { name: 'let', regex: /let\s+\w+/g },
479
+ ];
480
+ for (const { name, regex } of patterns) {
481
+ const matches = content.match(regex);
482
+ if (matches) {
483
+ counts[name] = matches.length;
484
+ }
485
+ }
486
+ return counts;
487
+ }
488
+ function calculateComplexity(content) {
489
+ let complexity = 1; // Base complexity
490
+ // Count control flow statements
491
+ const controlPatterns = [
492
+ /\bif\s*\(/g,
493
+ /\belse\s+if\s*\(/g,
494
+ /\bwhile\s*\(/g,
495
+ /\bfor\s*\(/g,
496
+ /\bswitch\s*\(/g,
497
+ /\bcase\s+/g,
498
+ /\bcatch\s*\(/g,
499
+ /\?\s*[^:]+\s*:/g, // Ternary
500
+ /&&/g,
501
+ /\|\|/g,
502
+ ];
503
+ for (const pattern of controlPatterns) {
504
+ const matches = content.match(pattern);
505
+ if (matches) {
506
+ complexity += matches.length;
507
+ }
508
+ }
509
+ return complexity;
510
+ }
511
+ async function generateDocuments(_rootPath, packages, entryPoints, frameworks, _structure) {
512
+ const documents = [];
513
+ const timestamp = new Date().toISOString();
514
+ // INDEX.md
515
+ let indexContent = '# Code Map\n\n';
516
+ indexContent += `**Generated**: ${timestamp}\n\n`;
517
+ indexContent += '## Packages\n\n';
518
+ indexContent += '| Package | Version | Dependencies |\n';
519
+ indexContent += '|---------|---------|-------------|\n';
520
+ for (const pkg of packages) {
521
+ indexContent += `| ${pkg.name} | ${pkg.version || '-'} | ${pkg.dependencies.length} |\n`;
522
+ }
523
+ indexContent += '\n## Entry Points\n\n';
524
+ for (const ep of entryPoints) {
525
+ indexContent += `- **${ep.type}**: \`${ep.path}\`\n`;
526
+ }
527
+ if (frameworks.length > 0) {
528
+ indexContent += '\n## Frameworks\n\n';
529
+ for (const fw of frameworks) {
530
+ indexContent += `- ${fw.name} (${fw.type})\n`;
531
+ }
532
+ }
533
+ documents.push({
534
+ type: 'index',
535
+ title: 'Code Map Index',
536
+ content: indexContent,
537
+ updatedAt: timestamp,
538
+ });
539
+ // packages.md
540
+ let packagesContent = '# Packages\n\n';
541
+ for (const pkg of packages) {
542
+ packagesContent += `## ${pkg.name}\n\n`;
543
+ packagesContent += `**Path**: \`${pkg.path}\`\n\n`;
544
+ if (pkg.description)
545
+ packagesContent += `${pkg.description}\n\n`;
546
+ if (pkg.dependencies.length > 0) {
547
+ packagesContent += '### Dependencies\n\n';
548
+ for (const dep of pkg.dependencies.slice(0, 20)) {
549
+ packagesContent += `- ${dep}\n`;
550
+ }
551
+ if (pkg.dependencies.length > 20) {
552
+ packagesContent += `- ... and ${pkg.dependencies.length - 20} more\n`;
553
+ }
554
+ packagesContent += '\n';
555
+ }
556
+ }
557
+ documents.push({
558
+ type: 'packages',
559
+ title: 'Package Details',
560
+ content: packagesContent,
561
+ packages: packages.map(p => p.name),
562
+ updatedAt: timestamp,
563
+ });
564
+ return documents;
565
+ }
566
+ function hashCodemap(codemap) {
567
+ const data = JSON.stringify({
568
+ packages: codemap.packages.map(p => ({ name: p.name, deps: p.dependencies })),
569
+ entryPoints: codemap.entryPoints.map(e => e.path),
570
+ });
571
+ return createHash('sha256').update(data).digest('hex');
572
+ }
573
+ /**
574
+ * Format codemap structure as Mermaid diagram
575
+ */
576
+ export function formatCodemapAsMermaid(codemap) {
577
+ const lines = ['graph TD'];
578
+ // Add packages
579
+ for (const pkg of codemap.packages) {
580
+ const safeId = pkg.name.replace(/[@/\-]/g, '_');
581
+ lines.push(` ${safeId}["${pkg.name}"]`);
582
+ }
583
+ // Add dependencies
584
+ for (const pkg of codemap.packages) {
585
+ const sourceId = pkg.name.replace(/[@/\-]/g, '_');
586
+ for (const dep of pkg.dependencies) {
587
+ // Only include internal dependencies
588
+ const depPkg = codemap.packages.find(p => p.name === dep);
589
+ if (depPkg) {
590
+ const targetId = dep.replace(/[@/\-]/g, '_');
591
+ lines.push(` ${sourceId} --> ${targetId}`);
592
+ }
593
+ }
594
+ }
595
+ return lines.join('\n');
596
+ }
597
+ //# sourceMappingURL=codemap-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codemap-bridge.js","sourceRoot":"","sources":["../../src/integration/codemap-bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,259 @@
1
+ /**
2
+ * @fileoverview Codemap Bridge Types for Agent Skills Integration
3
+ * @traceability REQ-CM-001, REQ-CM-002, REQ-CM-003, REQ-CM-004
4
+ */
5
+ import type { Language } from '../types.js';
6
+ /**
7
+ * Workspace/package information
8
+ */
9
+ export interface PackageInfo {
10
+ /** Package name */
11
+ name: string;
12
+ /** Package version */
13
+ version?: string;
14
+ /** Package path relative to workspace root */
15
+ path: string;
16
+ /** Package description */
17
+ description?: string;
18
+ /** Main entry point */
19
+ main?: string;
20
+ /** Export paths */
21
+ exports?: Record<string, string>;
22
+ /** Internal dependencies */
23
+ dependencies: string[];
24
+ /** Dev dependencies */
25
+ devDependencies?: string[];
26
+ }
27
+ /**
28
+ * Directory structure node
29
+ */
30
+ export interface DirectoryNode {
31
+ /** Directory/file name */
32
+ name: string;
33
+ /** Full path */
34
+ path: string;
35
+ /** Is directory */
36
+ isDirectory: boolean;
37
+ /** Children (if directory) */
38
+ children?: DirectoryNode[];
39
+ /** File language (if file) */
40
+ language?: Language;
41
+ /** Entity count (if file) */
42
+ entityCount?: number;
43
+ }
44
+ /**
45
+ * Entry point information
46
+ */
47
+ export interface EntryPoint {
48
+ /** Entry point type */
49
+ type: 'cli' | 'library' | 'api' | 'worker' | 'test' | 'config';
50
+ /** File path */
51
+ path: string;
52
+ /** Export name (if applicable) */
53
+ exportName?: string;
54
+ /** Description */
55
+ description?: string;
56
+ }
57
+ /**
58
+ * Framework detection result
59
+ */
60
+ export interface FrameworkInfo {
61
+ /** Framework name */
62
+ name: string;
63
+ /** Framework version */
64
+ version?: string;
65
+ /** Framework type */
66
+ type: 'frontend' | 'backend' | 'fullstack' | 'build' | 'test' | 'other';
67
+ /** Indicator files */
68
+ indicators: string[];
69
+ }
70
+ /**
71
+ * Module export information
72
+ */
73
+ export interface ModuleExport {
74
+ /** Export name */
75
+ name: string;
76
+ /** Export type */
77
+ type: 'function' | 'class' | 'interface' | 'type' | 'const' | 'enum' | 'namespace' | 'default';
78
+ /** Is re-export */
79
+ isReExport: boolean;
80
+ /** Source file */
81
+ sourceFile: string;
82
+ /** Line number */
83
+ line?: number;
84
+ }
85
+ /**
86
+ * Module import information
87
+ */
88
+ export interface ModuleImport {
89
+ /** Import source */
90
+ source: string;
91
+ /** Is external (node_modules) */
92
+ isExternal: boolean;
93
+ /** Imported items */
94
+ items: string[];
95
+ /** Is type-only import */
96
+ isTypeOnly?: boolean;
97
+ }
98
+ /**
99
+ * Complete module analysis
100
+ */
101
+ export interface ModuleAnalysisResult {
102
+ /** Module path */
103
+ path: string;
104
+ /** Module name */
105
+ name: string;
106
+ /** Exports */
107
+ exports: ModuleExport[];
108
+ /** Imports */
109
+ imports: ModuleImport[];
110
+ /** Entity count by type */
111
+ entityCounts: Record<string, number>;
112
+ /** Lines of code */
113
+ linesOfCode?: number;
114
+ /** Complexity score */
115
+ complexity?: number;
116
+ }
117
+ /**
118
+ * Codemap document structure
119
+ */
120
+ export interface CodemapDocument {
121
+ /** Document type */
122
+ type: 'index' | 'frontend' | 'backend' | 'packages' | 'database' | 'integrations' | 'workers';
123
+ /** Document title */
124
+ title: string;
125
+ /** Document content (Markdown) */
126
+ content: string;
127
+ /** Related packages */
128
+ packages?: string[];
129
+ /** Last updated */
130
+ updatedAt: string;
131
+ }
132
+ /**
133
+ * Complete codemap
134
+ */
135
+ export interface Codemap {
136
+ /** Project name */
137
+ projectName: string;
138
+ /** Project version */
139
+ projectVersion?: string;
140
+ /** Generation timestamp */
141
+ generatedAt: string;
142
+ /** Documents */
143
+ documents: CodemapDocument[];
144
+ /** Package structure */
145
+ packages: PackageInfo[];
146
+ /** Entry points */
147
+ entryPoints: EntryPoint[];
148
+ /** Detected frameworks */
149
+ frameworks: FrameworkInfo[];
150
+ /** Directory structure (top-level) */
151
+ structure: DirectoryNode;
152
+ }
153
+ /**
154
+ * Codemap diff result
155
+ */
156
+ export interface CodemapDiff {
157
+ /** Previous codemap hash */
158
+ previousHash: string;
159
+ /** Current codemap hash */
160
+ currentHash: string;
161
+ /** Diff percentage */
162
+ diffPercentage: number;
163
+ /** Added packages */
164
+ addedPackages: string[];
165
+ /** Removed packages */
166
+ removedPackages: string[];
167
+ /** Modified packages */
168
+ modifiedPackages: string[];
169
+ /** Added entry points */
170
+ addedEntryPoints: string[];
171
+ /** Removed entry points */
172
+ removedEntryPoints: string[];
173
+ /** Major changes description */
174
+ majorChanges: string[];
175
+ }
176
+ /**
177
+ * Codemap bridge configuration
178
+ */
179
+ export interface CodemapBridgeConfig {
180
+ /** Output directory */
181
+ outputDir: string;
182
+ /** Include tests */
183
+ includeTests: boolean;
184
+ /** Include node_modules */
185
+ includeNodeModules: boolean;
186
+ /** Max directory depth */
187
+ maxDepth: number;
188
+ /** Diff threshold for user approval */
189
+ diffThreshold: number;
190
+ /** Report output path */
191
+ reportOutputPath: string;
192
+ }
193
+ /**
194
+ * Default codemap bridge configuration
195
+ */
196
+ export declare const DEFAULT_CODEMAP_BRIDGE_CONFIG: CodemapBridgeConfig;
197
+ /**
198
+ * Codemap skill bridge interface
199
+ */
200
+ export interface CodemapBridge {
201
+ /**
202
+ * Analyze repository structure
203
+ * @param rootPath Root path to analyze
204
+ * @returns Package and structure information
205
+ */
206
+ analyzeStructure(rootPath: string): Promise<{
207
+ packages: PackageInfo[];
208
+ structure: DirectoryNode;
209
+ entryPoints: EntryPoint[];
210
+ frameworks: FrameworkInfo[];
211
+ }>;
212
+ /**
213
+ * Analyze a specific module
214
+ * @param modulePath Path to the module
215
+ * @returns Module analysis result
216
+ */
217
+ analyzeModule(modulePath: string): Promise<ModuleAnalysisResult>;
218
+ /**
219
+ * Generate codemap
220
+ * @param rootPath Root path
221
+ * @returns Generated codemap
222
+ */
223
+ generateCodemap(rootPath: string): Promise<Codemap>;
224
+ /**
225
+ * Compare codemaps
226
+ * @param previous Previous codemap
227
+ * @param current Current codemap
228
+ * @returns Diff result
229
+ */
230
+ compareCodemaps(previous: Codemap, current: Codemap): CodemapDiff;
231
+ /**
232
+ * Write codemap to files
233
+ * @param codemap Codemap to write
234
+ * @param outputDir Output directory
235
+ */
236
+ writeCodemap(codemap: Codemap, outputDir?: string): Promise<void>;
237
+ /**
238
+ * Format codemap as Markdown
239
+ * @param codemap Codemap to format
240
+ * @returns Markdown string
241
+ */
242
+ formatAsMarkdown(codemap: Codemap): string;
243
+ /**
244
+ * Format diff as report
245
+ * @param diff Diff result
246
+ * @returns Report string
247
+ */
248
+ formatDiffReport(diff: CodemapDiff): string;
249
+ /**
250
+ * Get configuration
251
+ */
252
+ getConfig(): CodemapBridgeConfig;
253
+ /**
254
+ * Update configuration
255
+ * @param config Partial config to update
256
+ */
257
+ updateConfig(config: Partial<CodemapBridgeConfig>): void;
258
+ }
259
+ //# sourceMappingURL=codemap-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codemap-types.d.ts","sourceRoot":"","sources":["../../src/integration/codemap-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @fileoverview Codemap Bridge Types for Agent Skills Integration
3
+ * @traceability REQ-CM-001, REQ-CM-002, REQ-CM-003, REQ-CM-004
4
+ */
5
+ /**
6
+ * Default codemap bridge configuration
7
+ */
8
+ export const DEFAULT_CODEMAP_BRIDGE_CONFIG = {
9
+ outputDir: 'docs/CODEMAPS',
10
+ includeTests: false,
11
+ includeNodeModules: false,
12
+ maxDepth: 5,
13
+ diffThreshold: 30,
14
+ reportOutputPath: '.reports/codemap-diff.txt',
15
+ };
16
+ //# sourceMappingURL=codemap-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codemap-types.js","sourceRoot":"","sources":["../../src/integration/codemap-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0NH;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAwB;IAChE,SAAS,EAAE,eAAe;IAC1B,YAAY,EAAE,KAAK;IACnB,kBAAkB,EAAE,KAAK;IACzB,QAAQ,EAAE,CAAC;IACX,aAAa,EAAE,EAAE;IACjB,gBAAgB,EAAE,2BAA2B;CAC9C,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @fileoverview Integration exports for codegraph package
3
+ * @module @nahisaho/musubix-codegraph/integration
4
+ */
5
+ export { createCodemapBridge, formatCodemapAsMermaid, } from './codemap-bridge.js';
6
+ export type { PackageInfo, DirectoryNode, EntryPoint, FrameworkInfo, ModuleExport, ModuleImport, ModuleAnalysisResult, CodemapDocument, Codemap, CodemapDiff, CodemapBridgeConfig, CodemapBridge, } from './codemap-types.js';
7
+ export { DEFAULT_CODEMAP_BRIDGE_CONFIG, } from './codemap-types.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/integration/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EACV,WAAW,EACX,aAAa,EACb,UAAU,EACV,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,OAAO,EACP,WAAW,EACX,mBAAmB,EACnB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,6BAA6B,GAC9B,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @fileoverview Integration exports for codegraph package
3
+ * @module @nahisaho/musubix-codegraph/integration
4
+ */
5
+ // Codemap Bridge
6
+ export { createCodemapBridge, formatCodemapAsMermaid, } from './codemap-bridge.js';
7
+ export { DEFAULT_CODEMAP_BRIDGE_CONFIG, } from './codemap-types.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integration/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,iBAAiB;AACjB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAkB7B,OAAO,EACL,6BAA6B,GAC9B,MAAM,oBAAoB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nahisaho/musubix-codegraph",
3
- "version": "3.6.0",
3
+ "version": "3.7.3",
4
4
  "description": "MUSUBIX CodeGraph - Multi-language Code Graph Analysis Engine supporting 16 programming languages with PR generation",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -39,14 +39,6 @@
39
39
  "dist",
40
40
  "README.md"
41
41
  ],
42
- "scripts": {
43
- "build": "tsc -p tsconfig.json",
44
- "test": "vitest run",
45
- "test:watch": "vitest",
46
- "test:coverage": "vitest run --coverage",
47
- "lint": "eslint src --ext .ts",
48
- "clean": "rm -rf dist"
49
- },
50
42
  "keywords": [
51
43
  "codegraph",
52
44
  "ast",
@@ -97,5 +89,13 @@
97
89
  "@types/node": "^20.0.0",
98
90
  "typescript": "^5.3.0",
99
91
  "vitest": "^4.0.16"
92
+ },
93
+ "scripts": {
94
+ "build": "tsc -p tsconfig.json",
95
+ "test": "vitest run",
96
+ "test:watch": "vitest",
97
+ "test:coverage": "vitest run --coverage",
98
+ "lint": "eslint src --ext .ts",
99
+ "clean": "rm -rf dist"
100
100
  }
101
- }
101
+ }