New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

codesort-server

Package Overview
Dependencies
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

codesort-server - npm Package Compare versions

Comparing version
2.1.1-beta
to
2.2.0
+1
-1
dist/src/server/index.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwEH,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,iBAAS,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CA4DzE;AAaD,iBAAS,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAe7C;AAm6BD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwEH,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,iBAAS,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CA4DzE;AAaD,iBAAS,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAe7C;AA2sDD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC"}

@@ -47,3 +47,3 @@ "use strict";

name: 'codesort-server',
version: '2.1.0',
version: '2.2.0',
}, {

@@ -209,2 +209,32 @@ capabilities: {

}
},
{
name: 'documentation_sitemap',
description: 'Generate a comprehensive documentation sitemap with function mappings and AI awareness metadata',
inputSchema: {
type: 'object',
properties: {
path: {
type: 'string',
description: 'Path to analyze (defaults to current directory)'
},
format: {
type: 'string',
enum: ['markdown', 'json', 'ai-context'],
default: 'markdown',
description: 'Output format for documentation sitemap'
},
include_ai_hints: {
type: 'boolean',
default: true,
description: 'Include AI usage hints and recommendations'
},
detail_level: {
type: 'string',
enum: ['summary', 'detailed', 'comprehensive'],
default: 'detailed',
description: 'Level of detail in the sitemap'
}
}
}
}

@@ -227,2 +257,4 @@ ]

return await handleSecurityScan(args || {});
case 'documentation_sitemap':
return await handleDocumentationSitemap(args || {});
default:

@@ -236,2 +268,151 @@ throw new McpError(ErrorCode.MethodNotFound, `Unknown tool: ${name}`);

});
function detectSemanticDuplicates(functions) {
const duplicates = [];
// Group functions by patterns
const functionGroups = new Map();
functions.forEach(fn => {
// Extract patterns from function names
const patterns = extractFunctionPatterns(fn.name);
patterns.forEach(pattern => {
if (!functionGroups.has(pattern)) {
functionGroups.set(pattern, []);
}
functionGroups.get(pattern).push({
name: fn.name,
file: fn.file,
signature: fn.signature
});
});
});
// Check each group for semantic duplicates
functionGroups.forEach((group, pattern) => {
if (group.length > 1) {
for (let i = 0; i < group.length; i++) {
for (let j = i + 1; j < group.length; j++) {
const fn1 = group[i];
const fn2 = group[j];
// Skip if same file
if (fn1.file === fn2.file)
continue;
const similarity = calculateSemanticSimilarity(fn1, fn2);
if (similarity > 0.7) {
duplicates.push({
fn1,
fn2,
similarity,
reason: pattern
});
}
}
}
}
});
return duplicates;
}
function extractFunctionPatterns(functionName) {
const patterns = [];
const name = functionName.toLowerCase();
// Common verb patterns
const verbs = ['get', 'set', 'create', 'update', 'delete', 'remove', 'add', 'find', 'search', 'handle', 'process', 'validate', 'check', 'is', 'has', 'can'];
verbs.forEach(verb => {
if (name.includes(verb)) {
const remainder = name.replace(verb, '');
if (remainder.length > 2) {
patterns.push(`${verb}*${remainder}`);
}
}
});
// Common noun patterns
const nouns = ['user', 'admin', 'auth', 'token', 'data', 'config', 'settings', 'request', 'response', 'error', 'success'];
nouns.forEach(noun => {
if (name.includes(noun)) {
patterns.push(`*${noun}*`);
}
});
// Handler pattern
if (name.includes('handler') || name.startsWith('handle')) {
patterns.push('handler*');
}
// Utility pattern
if (name.includes('util') || name.includes('helper')) {
patterns.push('utility*');
}
// Validation pattern
if (name.includes('valid') || name.startsWith('is') || name.startsWith('has') || name.startsWith('can')) {
patterns.push('validation*');
}
return patterns.length > 0 ? patterns : ['other'];
}
function calculateSemanticSimilarity(fn1, fn2) {
let similarity = 0;
// Name similarity (40% weight)
const nameSimilarity = calculateStringSimilarity(fn1.name.toLowerCase(), fn2.name.toLowerCase());
similarity += nameSimilarity * 0.4;
// Parameter pattern similarity (35% weight)
const param1 = extractParameterPattern(fn1.signature);
const param2 = extractParameterPattern(fn2.signature);
const paramSimilarity = calculatePatternSimilarity(param1, param2);
similarity += paramSimilarity * 0.35;
// Return type similarity (15% weight)
const return1 = extractReturnType(fn1.signature);
const return2 = extractReturnType(fn2.signature);
const returnSimilarity = return1 === return2 ? 1 : 0.5;
similarity += returnSimilarity * 0.15;
// Length similarity (10% weight) - similar complexity
const length1 = fn1.signature.length;
const length2 = fn2.signature.length;
const lengthSimilarity = 1 - Math.abs(length1 - length2) / Math.max(length1, length2);
similarity += lengthSimilarity * 0.1;
return Math.min(similarity, 1);
}
function calculateStringSimilarity(str1, str2) {
if (str1 === str2)
return 1;
// Simple Levenshtein-like similarity
const longer = str1.length > str2.length ? str1 : str2;
const shorter = str1.length > str2.length ? str2 : str1;
if (longer.length === 0)
return 1;
const editDistance = levenshteinDistance(longer, shorter);
return (longer.length - editDistance) / longer.length;
}
function levenshteinDistance(str1, str2) {
const matrix = Array(str2.length + 1).fill(null).map(() => Array(str1.length + 1).fill(null));
for (let i = 0; i <= str1.length; i++) {
matrix[0][i] = i;
}
for (let j = 0; j <= str2.length; j++) {
matrix[j][0] = j;
}
for (let j = 1; j <= str2.length; j++) {
for (let i = 1; i <= str1.length; i++) {
const indicator = str1[i - 1] === str2[j - 1] ? 0 : 1;
matrix[j][i] = Math.min(matrix[j][i - 1] + 1, matrix[j - 1][i] + 1, matrix[j - 1][i - 1] + indicator);
}
}
return matrix[str2.length][str1.length];
}
function extractParameterPattern(signature) {
const match = signature.match(/\(([^)]*)\)/);
if (!match)
return [];
const params = match[1].split(',').map(p => p.trim().split(':')[0].trim());
return params.filter(p => p.length > 0);
}
function calculatePatternSimilarity(pattern1, pattern2) {
if (pattern1.length === 0 && pattern2.length === 0)
return 1;
if (pattern1.length === 0 || pattern2.length === 0)
return 0.5;
const intersection = pattern1.filter(p => pattern2.includes(p));
const union = [...new Set([...pattern1, ...pattern2])];
return intersection.length / union.length;
}
function extractReturnType(signature) {
const match = signature.match(/:\s*(.+)$/);
if (!match)
return 'void';
const returnType = match[1].trim().split('{')[0].trim();
return returnType.toLowerCase();
}
async function handleAnalyzeCodebase(args) {

@@ -302,3 +483,3 @@ const analysisPath = args.path || process.cwd();

}
// Detect duplicate function names
// Enhanced duplicate detection with semantic similarity
const functionNames = new Map();

@@ -309,5 +490,5 @@ allFunctions.forEach(fn => {

}
functionNames.get(fn.name).push({ file: fn.file, line: fn.line });
functionNames.get(fn.name).push({ file: fn.file, line: fn.line, signature: fn.signature });
});
// Find duplicates
// Find exact duplicates
functionNames.forEach((locations, name) => {

@@ -326,2 +507,34 @@ if (locations.length > 1) {

});
// Enhanced semantic duplicate detection
const semanticDuplicates = detectSemanticDuplicates(allFunctions);
semanticDuplicates.forEach(duplicate => {
issues.push({
type: 'duplicate_functions',
severity: duplicate.similarity > 0.9 ? 'high' : 'medium',
description: `Semantically similar functions detected: "${duplicate.fn1.name}" in ${duplicate.fn1.file} and "${duplicate.fn2.name}" in ${duplicate.fn2.file} (${Math.round(duplicate.similarity * 100)}% similar)`,
affectedFiles: [duplicate.fn1.file, duplicate.fn2.file]
});
});
// Add documentation integration hint
if (issues.filter(i => i.type === 'duplicate_functions').length > 0) {
issues.push({
type: 'duplicate_functions',
severity: 'low',
description: `💡 **AI Recommendation:** Run \`documentation_sitemap\` to get detailed cross-references and AI guidance for managing duplicates`,
affectedFiles: []
});
}
// AI Workflow Integration
if (issues.length > 0) {
issues.push({
type: 'duplicate_functions',
severity: 'low',
description: `🤖 **AI CLI Integration:** For optimal development workflow:
1. Start with \`documentation_sitemap\` for codebase overview
2. Use this analysis to identify specific issues
3. Cross-reference with sitemap for patterns and conventions
4. Follow AI recommendations before implementing new code`,
affectedFiles: []
});
}
// Check for naming convention issues

@@ -381,3 +594,32 @@ allFunctions.forEach(fn => {

*Analysis limited to first 50 files for performance*`;
*Analysis limited to first 50 files for performance*
---
## 🤖 AI CLI Integration Guidelines
### **Recommended AI Development Workflow:**
1. **📋 START HERE:** \`documentation_sitemap\` - Get comprehensive codebase overview with AI guidance
2. **🔍 ANALYZE:** \`analyze_codebase\` - Identify specific issues and patterns
3. **🔎 SEARCH:** \`search_functions\` - Find existing implementations before creating new ones
4. **🌐 CHECK:** \`find_dependencies\` - Understand module relationships before refactoring
5. **🛡️ SECURE:** \`security_scan\` - Ensure security best practices
### **🎯 AI Decision Making Framework:**
- **Before creating functions:** Check sitemap cross-references for duplicates
- **Before refactoring:** Review dependency analysis and module purposes
- **Before implementing:** Follow detected patterns and conventions
- **Before committing:** Ensure security scan passes
### **📊 Quality Assurance Checklist:**
- [ ] Documentation sitemap reviewed for similar functionality
- [ ] No high/medium priority duplicate conflicts
- [ ] Follows established naming and structural conventions
- [ ] Security implications considered
- [ ] Dependencies are properly managed
**🔗 Integration:** This analysis works best when combined with \`documentation_sitemap\` for complete codebase intelligence.
*Generated by CodeSort Server v2.1.0 - Enhanced with AI CLI Integration*`;
// Cache result

@@ -878,2 +1120,402 @@ performanceCache.set(cacheKey, result, 10 * 60 * 1000); // 10 minutes

}
async function handleDocumentationSitemap(args) {
const path = args.path || process.cwd();
const format = args.format || 'markdown';
const includeAIHints = args.include_ai_hints !== false;
const detailLevel = args.detail_level || 'detailed';
try {
// Use cached analysis if available
const cacheKey = `sitemap-${path}-${format}-${detailLevel}`;
const cached = performanceCache.get(cacheKey);
if (cached) {
return { content: [{ type: 'text', text: cached }] };
}
const files = await (0, glob_1.glob)(`${path}/**/*.{js,ts,jsx,tsx,py,java,cpp,c,h,go,rs,php,rb}`, {
ignore: ['**/node_modules/**', '**/dist/**', '**/.git/**', '**/coverage/**']
});
const sitemap = {
pages: [],
aiContext: {
modules: {},
patterns: {},
conventions: {
naming: {},
structure: {},
imports: {}
}
},
crossReferences: []
};
// Analyze each file
for (const file of files.slice(0, 50)) { // Limit for performance
try {
const content = await (0, promises_1.readFile)(file, 'utf-8');
const functions = parseFunctions(content, file);
const fileType = getFileType(file);
const docPage = {
path: file,
title: extractFileTitle(file, content),
description: extractFileDescription(content, functions),
functions: functions.map(f => f.name),
dependencies: extractDependencies(content, fileType),
relatedPages: [],
aiHints: includeAIHints ? generateAIHints(functions, file, fileType) : []
};
sitemap.pages.push(docPage);
// Build AI context
sitemap.aiContext.modules[file] = {
purpose: extractModulePurpose(content, functions),
publicAPI: functions.filter(f => isPublicFunction(f)).map(f => f.name),
internalHelpers: functions.filter(f => !isPublicFunction(f)).map(f => f.name),
relatedModules: []
};
// Detect patterns and conventions
detectPatterns(functions, sitemap.aiContext.patterns, file);
detectConventions(content, sitemap.aiContext.conventions, file);
}
catch (error) {
console.error(`Error analyzing file ${file}:`, error);
}
}
// Generate cross-references for duplicate detection
sitemap.crossReferences = generateCrossReferences(sitemap.pages);
// Generate output based on format
let result = '';
if (format === 'json') {
result = JSON.stringify(sitemap, null, 2);
}
else if (format === 'ai-context') {
result = generateAIContextOutput(sitemap);
}
else {
result = generateMarkdownSitemap(sitemap, detailLevel);
}
// Cache result
performanceCache.set(cacheKey, result, 20 * 60 * 1000); // 20 minutes
return {
content: [{ type: 'text', text: result }]
};
}
catch (error) {
return {
content: [{
type: 'text',
text: `Documentation sitemap generation failed: ${error instanceof Error ? error.message : 'Unknown error'}`
}]
};
}
}
// Helper functions for documentation sitemap
function extractFileTitle(filePath, content) {
const fileName = filePath.split(/[/\\]/).pop() || '';
const baseName = fileName.replace(/\.[^/.]+$/, '');
// Try to find a title comment
const titleMatch = content.match(/\/\/\s*(.+)|#\s*(.+)|\/\*\*\s*\*\s*(.+)|\*\s*(.+)/);
if (titleMatch) {
return titleMatch[1] || titleMatch[2] || titleMatch[3] || titleMatch[4] || baseName;
}
return baseName;
}
function extractFileDescription(content, functions) {
// Look for file-level documentation
const docMatch = content.match(/\/\*\*[\s\S]*?\*\//);
if (docMatch) {
return docMatch[0].replace(/[\/\*\*]/g, '').trim();
}
// Generate from functions if no documentation found
const primaryFunctions = functions.slice(0, 3);
if (primaryFunctions.length > 0) {
return `Contains ${functions.length} function(s): ${primaryFunctions.map(f => f.name).join(', ')}${functions.length > 3 ? '...' : ''}`;
}
return 'No description available';
}
function extractDependencies(content, fileType) {
const dependencies = [];
if (fileType === 'javascript' || fileType === 'typescript') {
// ES6 imports
const importMatches = content.matchAll(/import.*from\s+['"]([^'"]+)['"]/g);
for (const match of importMatches) {
dependencies.push(match[1]);
}
// CommonJS requires
const requireMatches = content.matchAll(/require\s*\(\s*['"]([^'"]+)['"]\s*\)/g);
for (const match of requireMatches) {
dependencies.push(match[1]);
}
}
return dependencies;
}
function generateAIHints(functions, _filePath, _fileType) {
const hints = [];
// Hint about duplicate detection
if (functions.length > 0) {
hints.push({
context: `File contains ${functions.length} function(s)`,
recommendation: 'Check for similar functions in other files before creating new ones',
duplicateDetection: true,
preferredPattern: false
});
}
// Pattern-based hints
functions.forEach(fn => {
// Utility function detection
if (fn.name.includes('util') || fn.name.includes('helper')) {
hints.push({
context: `Function ${fn.name} appears to be a utility`,
recommendation: 'Consider if this utility already exists in the codebase before creating similar utilities',
duplicateDetection: true,
preferredPattern: false
});
}
// Handler pattern detection
if (fn.name.includes('handle') || fn.name.endsWith('Handler')) {
hints.push({
context: `Function ${fn.name} follows handler pattern`,
recommendation: 'Follow established handler conventions for consistency',
duplicateDetection: false,
preferredPattern: true
});
}
});
return hints;
}
function isPublicFunction(fn) {
// Simple heuristic: exported or not starting with underscore
return !fn.name.startsWith('_') || fn.signature.includes('export');
}
function extractModulePurpose(content, functions) {
// Try to find purpose from comments or function names
const docMatch = content.match(/\/\*\*[\s\S]*?\*\//);
if (docMatch) {
return docMatch[0].replace(/[\/\*\*]/g, '').trim().split('.')[0] + '.';
}
// Infer from function names
const categories = {
'util': 'Utility functions and helpers',
'handler': 'Request/response handlers',
'service': 'Business logic services',
'config': 'Configuration management',
'test': 'Testing utilities and mocks'
};
for (const [key, purpose] of Object.entries(categories)) {
if (functions.some(fn => fn.name.toLowerCase().includes(key))) {
return purpose;
}
}
return 'Module functionality';
}
function detectPatterns(functions, patterns, filePath) {
// Detect common patterns
functions.forEach(fn => {
// Factory pattern
if (fn.name.includes('create') || fn.name.includes('factory')) {
const patternName = 'Factory Pattern';
if (!patterns[patternName]) {
patterns[patternName] = {
name: patternName,
description: 'Creates objects without specifying exact classes',
examples: [],
whenToUse: ['When object creation logic is complex', 'When you want to decouple client from concrete classes'],
whenToAvoid: ['When object creation is simple', 'When there are only a few object types']
};
}
patterns[patternName].examples.push(`${fn.name} in ${filePath}`);
}
// Singleton pattern
if (fn.name.includes('getInstance') || fn.signature.includes('static')) {
const patternName = 'Singleton Pattern';
if (!patterns[patternName]) {
patterns[patternName] = {
name: patternName,
description: 'Ensures a class has only one instance',
examples: [],
whenToUse: ['When exactly one instance is needed', 'For global state management'],
whenToAvoid: ['When multiple instances are acceptable', 'For testability concerns']
};
}
patterns[patternName].examples.push(`${fn.name} in ${filePath}`);
}
});
}
function detectConventions(content, conventions, filePath) {
// Naming conventions
const camelCaseMatches = content.matchAll(/\b[a-z][a-zA-Z0-9]*\b/g);
const snakeCaseMatches = content.matchAll(/\b[a-z][a-z0-9_]*\b/g);
if (camelCaseMatches) {
conventions.naming[filePath] = 'camelCase';
}
else if (snakeCaseMatches) {
conventions.naming[filePath] = 'snake_case';
}
}
function generateCrossReferences(pages) {
const crossRefs = [];
// Find similar functions across pages
for (let i = 0; i < pages.length; i++) {
for (let j = i + 1; j < pages.length; j++) {
const page1 = pages[i];
const page2 = pages[j];
// Check for similar function names
for (const fn1 of page1.functions) {
for (const fn2 of page2.functions) {
const similarity = calculateFunctionSimilarity(fn1, fn2);
if (similarity > 0.8) {
crossRefs.push({
from: `${page1.path}:${fn1}`,
to: `${page2.path}:${fn2}`,
type: 'similar',
confidence: similarity
});
}
}
}
}
}
return crossRefs;
}
function calculateFunctionSimilarity(fn1, fn2) {
// Simple similarity based on name patterns
if (fn1 === fn2)
return 1.0;
// Check for common prefixes/suffixes
const commonPatterns = ['get', 'set', 'create', 'update', 'delete', 'handle', 'process'];
for (const pattern of commonPatterns) {
if (fn1.includes(pattern) && fn2.includes(pattern)) {
const rest1 = fn1.replace(pattern, '');
const rest2 = fn2.replace(pattern, '');
if (rest1.length > 2 && rest2.length > 2) {
return Math.min(rest1.includes(rest2) ? 0.9 : 0, rest2.includes(rest1) ? 0.9 : 0);
}
}
}
return 0;
}
function generateMarkdownSitemap(sitemap, detailLevel) {
let output = `# 📚 Documentation Sitemap
*Generated by CodeSort Server v2.2.0*
## 🎯 AI Usage Guidelines
### 🤖 Before Creating New Functions:
1. **Search this sitemap** for similar implementations
2. **Check cross-references** for potential duplicates
3. **Review AI hints** for each relevant module
4. **Follow established patterns** and conventions
### 🔍 Duplicate Detection Priority:
- High similarity (>0.8) = Strong duplicate candidate
- Medium similarity (0.6-0.8) = Review recommended
- Low similarity (<0.6) = Likely different functionality
---
## 📋 Module Overview
`;
// Generate module pages
for (const page of sitemap.pages) {
output += generatePageDocumentation(page, detailLevel);
}
// Add cross-references
if (sitemap.crossReferences.length > 0) {
output += `
## 🔄 Cross-References & Potential Duplicates
**⚠️ High Priority Review (Similarity > 0.8):**
${sitemap.crossReferences
.filter(ref => ref.confidence > 0.8)
.slice(0, 10)
.map(ref => `- \`${ref.from}\` ↔️ \`${ref.to}\` (${Math.round(ref.confidence * 100)}% similar)`)
.join('\n')}
**🔍 Medium Priority Review (Similarity 0.6-0.8):**
${sitemap.crossReferences
.filter(ref => ref.confidence > 0.6 && ref.confidence <= 0.8)
.slice(0, 10)
.map(ref => `- \`${ref.from}\` ↔️ \`${ref.to}\` (${Math.round(ref.confidence * 100)}% similar)`)
.join('\n')}
`;
}
// Add patterns and conventions
if (Object.keys(sitemap.aiContext.patterns).length > 0) {
output += `
## 🎨 Established Patterns
${Object.entries(sitemap.aiContext.patterns)
.map(([_name, pattern]) => `
### ${pattern.name}
**Description:** ${pattern.description}
**When to Use:** ${pattern.whenToUse.join(', ')}
**When to Avoid:** ${pattern.whenToAvoid.join(', ')}
**Examples:** ${pattern.examples.join(', ')}
`).join('')}
`;
}
output += `
---
## 🚀 AI Integration Tips
### For Claude CLI/Claude Desktop:
1. **Always reference** this sitemap when suggesting new functions
2. **Check cross-references** before implementing similar functionality
3. **Follow detected patterns** for consistency
4. **Use existing utilities** instead of creating duplicates
### Quick Reference Commands:
- \`analyze_codebase\` - Full project analysis
- \`documentation_sitemap\` - Generate this sitemap
- \`search_functions\` - Find specific functions
- \`find_dependencies\` - Check module relationships
**📌 Tip:** Run \`documentation_sitemap\` regularly to keep this reference updated!
`;
return output;
}
function generatePageDocumentation(page, detailLevel) {
let doc = `
### 📄 ${page.title}
**Path:** \`${page.path}\`
**Description:** ${page.description}
`;
if (detailLevel !== 'summary') {
doc += `**Functions (${page.functions.length}):** ${page.functions.slice(0, 10).join(', ')}${page.functions.length > 10 ? '...' : ''}
`;
if (page.dependencies.length > 0) {
doc += `**Dependencies:** ${page.dependencies.slice(0, 5).join(', ')}${page.dependencies.length > 5 ? '...' : ''}
`;
}
}
if (page.aiHints.length > 0) {
doc += `**🤖 AI Guidelines:**
${page.aiHints.map(hint => `- ${hint.recommendation}`).join('\n')}
`;
}
return doc;
}
function generateAIContextOutput(sitemap) {
return JSON.stringify({
version: '1.0',
generated: new Date().toISOString(),
modules: sitemap.aiContext.modules,
patterns: sitemap.aiContext.patterns,
conventions: sitemap.aiContext.conventions,
crossReferences: sitemap.crossReferences,
aiUsage: {
priority: 'Check crossReferences for duplicates first',
workflow: [
'1. Search existing modules',
'2. Review similar functions',
'3. Follow established patterns',
'4. Use detected conventions'
]
}
}, null, 2);
}
// Resource handlers

@@ -920,15 +1562,19 @@ server.setRequestHandler(ListResourcesRequestSchema, async () => {

- \`security_scan\` - Scan code for common security vulnerabilities and anti-patterns
- \`documentation_sitemap\` - Generate comprehensive documentation sitemap with AI awareness metadata
## 🎯 Getting Started
1. Run \`analyze_codebase\` to see project structure and detect issues
2. Use \`find_dependencies\` to understand module relationships
3. Run \`security_scan\` to identify potential security issues
4. Use \`search_functions\` to find specific code patterns
1. Run \`documentation_sitemap\` to generate AI-aware documentation overview
2. Use \`analyze_codebase\` to see project structure and detect issues
3. Use \`find_dependencies\` to understand module relationships
4. Run \`security_scan\` to identify potential security issues
5. Use \`search_functions\` to find specific code patterns
## 💡 Pro Tips
- Generate \`documentation_sitemap\` first to understand your codebase structure
- Use \`find_dependencies\` before refactoring to avoid breaking changes
- Run \`security_scan\` regularly to catch security issues early
- Combine tools for comprehensive code analysis
- Use sitemap cross-references to identify potential duplicates before coding
*Generated by CodeSort Server v2.1.0*`;
*Generated by CodeSort Server v2.2.0*`;
return {

@@ -944,3 +1590,3 @@ contents: [{ uri, mimeType: 'text/markdown', text: content }]

await server.connect(transport);
console.error('CodeSort MCP Server v2.1.0 running on stdio');
console.error('CodeSort MCP Server v2.2.0 running on stdio');
}

@@ -947,0 +1593,0 @@ main().catch((error) => {

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"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"}
{
"name": "codesort-server",
"version": "2.1.1-beta",
"version": "2.2.0",
"description": "🚀 CodeSort Server v2.0.0 - Simplified, robust MCP server for code analysis. Works with Claude Desktop, Claude CLI, and other AI tools. Zero configuration required.",

@@ -5,0 +5,0 @@ "main": "dist/src/server/index.js",