atlas-pipeline-mcp 1.0.17 → 1.0.18

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/tools/debug.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Atlas Server - Documentation Generation Tool
3
+ *
4
+ * Automatic documentation generation:
5
+ * - JSDoc/TSDoc comments
6
+ * - Python docstrings
7
+ * - README generation
8
+ * - API documentation
9
+ * - Inline code comments
10
+ * - Changelog generation
11
+ */
12
+ export type DocStyle = 'jsdoc' | 'tsdoc' | 'pydoc' | 'godoc' | 'rustdoc' | 'auto';
13
+ export type DocFormat = 'markdown' | 'html' | 'json' | 'plain';
14
+ export interface DocumentationOptions {
15
+ style?: DocStyle;
16
+ format?: DocFormat;
17
+ includeExamples?: boolean;
18
+ includeTypes?: boolean;
19
+ verbose?: boolean;
20
+ language?: string;
21
+ }
22
+ export interface FunctionDoc {
23
+ name: string;
24
+ description: string;
25
+ params: ParamDoc[];
26
+ returns: ReturnDoc;
27
+ throws?: string[];
28
+ examples?: string[];
29
+ deprecated?: string;
30
+ since?: string;
31
+ see?: string[];
32
+ }
33
+ export interface ParamDoc {
34
+ name: string;
35
+ type: string;
36
+ description: string;
37
+ optional: boolean;
38
+ defaultValue?: string;
39
+ }
40
+ export interface ReturnDoc {
41
+ type: string;
42
+ description: string;
43
+ }
44
+ export interface ClassDoc {
45
+ name: string;
46
+ description: string;
47
+ constructor: FunctionDoc;
48
+ methods: FunctionDoc[];
49
+ properties: PropertyDoc[];
50
+ examples?: string[];
51
+ }
52
+ export interface PropertyDoc {
53
+ name: string;
54
+ type: string;
55
+ description: string;
56
+ readonly: boolean;
57
+ defaultValue?: string;
58
+ }
59
+ export interface ModuleDoc {
60
+ name: string;
61
+ description: string;
62
+ exports: string[];
63
+ functions: FunctionDoc[];
64
+ classes: ClassDoc[];
65
+ types: TypeDoc[];
66
+ examples?: string[];
67
+ }
68
+ export interface TypeDoc {
69
+ name: string;
70
+ type: 'interface' | 'type' | 'enum';
71
+ description: string;
72
+ properties?: PropertyDoc[];
73
+ values?: string[];
74
+ }
75
+ export interface DocumentationResult {
76
+ documentedCode: string;
77
+ documentation: ModuleDoc;
78
+ readme?: string;
79
+ api?: string;
80
+ stats: DocStats;
81
+ generatedAt: string;
82
+ }
83
+ export interface DocStats {
84
+ totalFunctions: number;
85
+ documentedFunctions: number;
86
+ totalClasses: number;
87
+ documentedClasses: number;
88
+ coverage: number;
89
+ }
90
+ /**
91
+ * Generate documentation for code
92
+ */
93
+ export declare function generateDocumentation(code: string, options?: DocumentationOptions): Promise<DocumentationResult>;
94
+ //# sourceMappingURL=docs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/tools/docs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,508 @@
1
+ /**
2
+ * Atlas Server - Documentation Generation Tool
3
+ *
4
+ * Automatic documentation generation:
5
+ * - JSDoc/TSDoc comments
6
+ * - Python docstrings
7
+ * - README generation
8
+ * - API documentation
9
+ * - Inline code comments
10
+ * - Changelog generation
11
+ */
12
+ import { getActiveProvider, isNoLLMMode } from '../providers/index.js';
13
+ import { logger } from '../utils.js';
14
+ // ============================================================================
15
+ // Documentation Generation
16
+ // ============================================================================
17
+ /**
18
+ * Generate documentation for code
19
+ */
20
+ export async function generateDocumentation(code, options = {}) {
21
+ const { style = 'auto', format = 'markdown', includeExamples = true, includeTypes = true, verbose = false, language, } = options;
22
+ logger.debug({ style, format, codeLength: code.length }, 'Starting documentation generation');
23
+ // Detect language and style
24
+ const detectedLanguage = language ?? detectLanguage(code);
25
+ const detectedStyle = style === 'auto' ? detectDocStyle(detectedLanguage) : style;
26
+ // Analyze code structure
27
+ const codeAnalysis = analyzeCodeStructure(code, detectedLanguage);
28
+ // Generate documentation
29
+ let documentedCode;
30
+ let documentation;
31
+ if (!isNoLLMMode()) {
32
+ try {
33
+ const aiResult = await generateDocsWithAI(code, {
34
+ language: detectedLanguage,
35
+ style: detectedStyle,
36
+ includeExamples,
37
+ includeTypes,
38
+ verbose,
39
+ codeAnalysis,
40
+ });
41
+ documentedCode = aiResult.documentedCode;
42
+ documentation = aiResult.documentation;
43
+ }
44
+ catch (error) {
45
+ logger.warn({ error }, 'AI documentation generation failed, using heuristic generation');
46
+ const heuristicResult = generateHeuristicDocs(code, detectedLanguage, detectedStyle, codeAnalysis);
47
+ documentedCode = heuristicResult.documentedCode;
48
+ documentation = heuristicResult.documentation;
49
+ }
50
+ }
51
+ else {
52
+ const heuristicResult = generateHeuristicDocs(code, detectedLanguage, detectedStyle, codeAnalysis);
53
+ documentedCode = heuristicResult.documentedCode;
54
+ documentation = heuristicResult.documentation;
55
+ }
56
+ // Generate additional documentation artifacts
57
+ const readme = generateReadme(documentation, detectedLanguage);
58
+ const api = format === 'markdown' ? generateApiDocs(documentation) : undefined;
59
+ // Calculate stats
60
+ const stats = calculateDocStats(codeAnalysis, documentation);
61
+ return {
62
+ documentedCode,
63
+ documentation,
64
+ readme,
65
+ api,
66
+ stats,
67
+ generatedAt: new Date().toISOString(),
68
+ };
69
+ }
70
+ function analyzeCodeStructure(code, language) {
71
+ const analysis = {
72
+ functions: [],
73
+ classes: [],
74
+ types: [],
75
+ exports: [],
76
+ };
77
+ const lines = code.split('\n');
78
+ if (['typescript', 'javascript'].includes(language.toLowerCase())) {
79
+ // Parse functions
80
+ const funcRegex = /(?:export\s+)?(?:async\s+)?function\s+(\w+)\s*(<[^>]+>)?\s*\(([^)]*)\)(?:\s*:\s*([^{]+))?/g;
81
+ let match;
82
+ while ((match = funcRegex.exec(code)) !== null) {
83
+ const lineNumber = code.substring(0, match.index).split('\n').length;
84
+ const params = parseParams(match[3] ?? '');
85
+ analysis.functions.push({
86
+ name: match[1],
87
+ params,
88
+ returnType: match[4]?.trim(),
89
+ isAsync: match[0].includes('async'),
90
+ isExported: match[0].startsWith('export'),
91
+ lineNumber,
92
+ });
93
+ }
94
+ // Parse arrow functions
95
+ const arrowRegex = /(?:export\s+)?(?:const|let)\s+(\w+)\s*(?::\s*[^=]+)?\s*=\s*(?:async\s+)?(?:<[^>]+>)?\s*\(([^)]*)\)(?:\s*:\s*([^=]+))?\s*=>/g;
96
+ while ((match = arrowRegex.exec(code)) !== null) {
97
+ const lineNumber = code.substring(0, match.index).split('\n').length;
98
+ const params = parseParams(match[2] ?? '');
99
+ analysis.functions.push({
100
+ name: match[1],
101
+ params,
102
+ returnType: match[3]?.trim(),
103
+ isAsync: match[0].includes('async'),
104
+ isExported: match[0].startsWith('export'),
105
+ lineNumber,
106
+ });
107
+ }
108
+ // Parse classes
109
+ const classRegex = /(?:export\s+)?class\s+(\w+)(?:\s+extends\s+\w+)?(?:\s+implements\s+[^{]+)?\s*\{/g;
110
+ while ((match = classRegex.exec(code)) !== null) {
111
+ const lineNumber = code.substring(0, match.index).split('\n').length;
112
+ analysis.classes.push({
113
+ name: match[1],
114
+ methods: [],
115
+ properties: [],
116
+ isExported: match[0].startsWith('export'),
117
+ lineNumber,
118
+ });
119
+ }
120
+ // Parse interfaces and types
121
+ const typeRegex = /(?:export\s+)?(?:(interface|type)\s+(\w+)|enum\s+(\w+))/g;
122
+ while ((match = typeRegex.exec(code)) !== null) {
123
+ const lineNumber = code.substring(0, match.index).split('\n').length;
124
+ const kind = match[1];
125
+ const name = match[2] ?? match[3];
126
+ analysis.types.push({
127
+ name,
128
+ kind: kind ?? 'enum',
129
+ lineNumber,
130
+ });
131
+ }
132
+ }
133
+ else if (language.toLowerCase() === 'python') {
134
+ // Parse Python functions
135
+ const pyFuncRegex = /(?:async\s+)?def\s+(\w+)\s*\(([^)]*)\)(?:\s*->\s*([^:]+))?:/g;
136
+ let match;
137
+ while ((match = pyFuncRegex.exec(code)) !== null) {
138
+ const lineNumber = code.substring(0, match.index).split('\n').length;
139
+ const params = parsePythonParams(match[2] ?? '');
140
+ analysis.functions.push({
141
+ name: match[1],
142
+ params,
143
+ returnType: match[3]?.trim(),
144
+ isAsync: match[0].includes('async'),
145
+ isExported: !match[1].startsWith('_'),
146
+ lineNumber,
147
+ });
148
+ }
149
+ // Parse Python classes
150
+ const pyClassRegex = /class\s+(\w+)(?:\([^)]*\))?:/g;
151
+ while ((match = pyClassRegex.exec(code)) !== null) {
152
+ const lineNumber = code.substring(0, match.index).split('\n').length;
153
+ analysis.classes.push({
154
+ name: match[1],
155
+ methods: [],
156
+ properties: [],
157
+ isExported: !match[1].startsWith('_'),
158
+ lineNumber,
159
+ });
160
+ }
161
+ }
162
+ return analysis;
163
+ }
164
+ function parseParams(paramString) {
165
+ if (!paramString.trim())
166
+ return [];
167
+ return paramString.split(',').map(p => {
168
+ const trimmed = p.trim();
169
+ const optional = trimmed.includes('?') || trimmed.includes('=');
170
+ const [nameType] = trimmed.split('=');
171
+ const [name, type] = (nameType ?? '').split(':').map(s => s.replace('?', '').trim());
172
+ return {
173
+ name: name ?? '',
174
+ type,
175
+ optional,
176
+ };
177
+ }).filter(p => p.name);
178
+ }
179
+ function parsePythonParams(paramString) {
180
+ if (!paramString.trim())
181
+ return [];
182
+ const result = [];
183
+ for (const p of paramString.split(',')) {
184
+ const trimmed = p.trim();
185
+ if (trimmed === 'self' || trimmed === 'cls' || !trimmed)
186
+ continue;
187
+ const optional = trimmed.includes('=');
188
+ const [nameType] = trimmed.split('=');
189
+ const [name, type] = (nameType ?? '').split(':').map(s => s.trim());
190
+ if (name) {
191
+ result.push({
192
+ name,
193
+ type: type || undefined,
194
+ optional,
195
+ });
196
+ }
197
+ }
198
+ return result;
199
+ }
200
+ // ============================================================================
201
+ // AI Documentation Generation
202
+ // ============================================================================
203
+ async function generateDocsWithAI(code, options) {
204
+ const provider = await getActiveProvider();
205
+ const prompt = `Generate comprehensive documentation for this code.
206
+
207
+ ## Code
208
+ \`\`\`${options.language}
209
+ ${code}
210
+ \`\`\`
211
+
212
+ ## Requirements
213
+ - Documentation style: ${options.style}
214
+ - Language: ${options.language}
215
+ - Include examples: ${options.includeExamples}
216
+ - Include types: ${options.includeTypes}
217
+ ${options.verbose ? '- Generate verbose, detailed documentation' : '- Keep documentation concise'}
218
+
219
+ ## Functions to Document
220
+ ${options.codeAnalysis.functions.map(f => `- ${f.name}(${f.params.map(p => p.name).join(', ')})`).join('\n')}
221
+
222
+ ## Output Format
223
+ {
224
+ "documentedCode": "The complete code with documentation comments added",
225
+ "documentation": {
226
+ "name": "module name",
227
+ "description": "module description",
228
+ "exports": ["exported items"],
229
+ "functions": [
230
+ {
231
+ "name": "function name",
232
+ "description": "what it does",
233
+ "params": [{"name": "param", "type": "type", "description": "desc", "optional": false}],
234
+ "returns": {"type": "return type", "description": "what it returns"},
235
+ "throws": ["error conditions"],
236
+ "examples": ["example usage"]
237
+ }
238
+ ],
239
+ "classes": [],
240
+ "types": []
241
+ }
242
+ }`;
243
+ const response = await provider.completeJson(prompt, {
244
+ systemPrompt: 'You are a technical writer. Generate clear, accurate documentation. Include practical examples. Return valid JSON only.',
245
+ temperature: 0.3,
246
+ maxTokens: 4096,
247
+ });
248
+ if (response.data) {
249
+ return response.data;
250
+ }
251
+ throw new Error('Failed to generate documentation with AI');
252
+ }
253
+ // ============================================================================
254
+ // Heuristic Documentation Generation
255
+ // ============================================================================
256
+ function generateHeuristicDocs(code, language, style, analysis) {
257
+ const lines = code.split('\n');
258
+ const documentedLines = [];
259
+ const documentation = {
260
+ name: analysis.moduleName ?? 'module',
261
+ description: 'Module documentation',
262
+ exports: [],
263
+ functions: [],
264
+ classes: [],
265
+ types: [],
266
+ };
267
+ // Track which lines have been processed
268
+ const processedLines = new Set();
269
+ // Add function documentation
270
+ for (const func of analysis.functions) {
271
+ const doc = generateFunctionDoc(func, style, language);
272
+ documentation.functions.push(doc.functionDoc);
273
+ // Insert doc comment before the function
274
+ processedLines.add(func.lineNumber);
275
+ }
276
+ // Rebuild code with documentation
277
+ let currentLine = 1;
278
+ for (const func of analysis.functions.sort((a, b) => a.lineNumber - b.lineNumber)) {
279
+ // Add lines before this function
280
+ while (currentLine < func.lineNumber) {
281
+ documentedLines.push(lines[currentLine - 1] ?? '');
282
+ currentLine++;
283
+ }
284
+ // Add documentation comment
285
+ const docComment = formatDocComment(generateFunctionDoc(func, style, language).comment, style, language);
286
+ documentedLines.push(docComment);
287
+ documentedLines.push(lines[currentLine - 1] ?? '');
288
+ currentLine++;
289
+ }
290
+ // Add remaining lines
291
+ while (currentLine <= lines.length) {
292
+ documentedLines.push(lines[currentLine - 1] ?? '');
293
+ currentLine++;
294
+ }
295
+ return {
296
+ documentedCode: documentedLines.join('\n'),
297
+ documentation,
298
+ };
299
+ }
300
+ function generateFunctionDoc(func, style, language) {
301
+ const description = generateDescription(func.name);
302
+ const params = func.params.map(p => ({
303
+ name: p.name,
304
+ type: p.type ?? 'any',
305
+ description: `The ${p.name} parameter`,
306
+ optional: p.optional,
307
+ }));
308
+ const functionDoc = {
309
+ name: func.name,
310
+ description,
311
+ params,
312
+ returns: {
313
+ type: func.returnType ?? 'void',
314
+ description: func.returnType ? `Returns ${func.returnType}` : 'No return value',
315
+ },
316
+ examples: [`${func.name}(${func.params.map(p => `/* ${p.name} */`).join(', ')})`],
317
+ };
318
+ let comment = '';
319
+ if (['jsdoc', 'tsdoc'].includes(style) || language === 'typescript' || language === 'javascript') {
320
+ comment = `/**\n * ${description}\n`;
321
+ for (const param of params) {
322
+ comment += ` * @param {${param.type}} ${param.optional ? '[' + param.name + ']' : param.name} - ${param.description}\n`;
323
+ }
324
+ comment += ` * @returns {${functionDoc.returns.type}} ${functionDoc.returns.description}\n`;
325
+ comment += ` */`;
326
+ }
327
+ else if (style === 'pydoc' || language === 'python') {
328
+ comment = ` """\n ${description}\n\n Args:\n`;
329
+ for (const param of params) {
330
+ comment += ` ${param.name} (${param.type}): ${param.description}\n`;
331
+ }
332
+ comment += `\n Returns:\n ${functionDoc.returns.type}: ${functionDoc.returns.description}\n """`;
333
+ }
334
+ return { comment, functionDoc };
335
+ }
336
+ function generateDescription(name) {
337
+ // Convert camelCase/snake_case to readable description
338
+ const words = name
339
+ .replace(/([A-Z])/g, ' $1')
340
+ .replace(/_/g, ' ')
341
+ .toLowerCase()
342
+ .trim()
343
+ .split(' ');
344
+ if (words[0] === 'get') {
345
+ return `Gets the ${words.slice(1).join(' ')}.`;
346
+ }
347
+ if (words[0] === 'set') {
348
+ return `Sets the ${words.slice(1).join(' ')}.`;
349
+ }
350
+ if (words[0] === 'is' || words[0] === 'has' || words[0] === 'can') {
351
+ return `Checks if ${words.slice(1).join(' ')}.`;
352
+ }
353
+ if (words[0] === 'create' || words[0] === 'build' || words[0] === 'make') {
354
+ return `Creates a new ${words.slice(1).join(' ')}.`;
355
+ }
356
+ if (words[0] === 'update') {
357
+ return `Updates the ${words.slice(1).join(' ')}.`;
358
+ }
359
+ if (words[0] === 'delete' || words[0] === 'remove') {
360
+ return `Removes the ${words.slice(1).join(' ')}.`;
361
+ }
362
+ if (words[0] === 'find' || words[0] === 'search') {
363
+ return `Finds ${words.slice(1).join(' ')}.`;
364
+ }
365
+ if (words[0] === 'validate' || words[0] === 'check') {
366
+ return `Validates the ${words.slice(1).join(' ')}.`;
367
+ }
368
+ if (words[0] === 'parse') {
369
+ return `Parses the ${words.slice(1).join(' ')}.`;
370
+ }
371
+ if (words[0] === 'format') {
372
+ return `Formats the ${words.slice(1).join(' ')}.`;
373
+ }
374
+ if (words[0] === 'convert') {
375
+ return `Converts ${words.slice(1).join(' ')}.`;
376
+ }
377
+ if (words[0] === 'calculate' || words[0] === 'compute') {
378
+ return `Calculates the ${words.slice(1).join(' ')}.`;
379
+ }
380
+ if (words[0] === 'handle') {
381
+ return `Handles ${words.slice(1).join(' ')}.`;
382
+ }
383
+ if (words[0] === 'process') {
384
+ return `Processes ${words.slice(1).join(' ')}.`;
385
+ }
386
+ if (words[0] === 'load') {
387
+ return `Loads ${words.slice(1).join(' ')}.`;
388
+ }
389
+ if (words[0] === 'save') {
390
+ return `Saves ${words.slice(1).join(' ')}.`;
391
+ }
392
+ if (words[0] === 'init' || words[0] === 'initialize') {
393
+ return `Initializes ${words.slice(1).join(' ') || 'the component'}.`;
394
+ }
395
+ return `Performs ${words.join(' ')} operation.`;
396
+ }
397
+ function formatDocComment(comment, style, language) {
398
+ return comment;
399
+ }
400
+ // ============================================================================
401
+ // README Generation
402
+ // ============================================================================
403
+ function generateReadme(doc, language) {
404
+ let readme = `# ${doc.name}\n\n`;
405
+ readme += `${doc.description}\n\n`;
406
+ if (doc.functions.length > 0) {
407
+ readme += `## Functions\n\n`;
408
+ for (const func of doc.functions) {
409
+ readme += `### \`${func.name}\`\n\n`;
410
+ readme += `${func.description}\n\n`;
411
+ if (func.params.length > 0) {
412
+ readme += `**Parameters:**\n\n`;
413
+ readme += `| Name | Type | Description |\n`;
414
+ readme += `|------|------|-------------|\n`;
415
+ for (const param of func.params) {
416
+ readme += `| ${param.name} | \`${param.type}\` | ${param.description} |\n`;
417
+ }
418
+ readme += `\n`;
419
+ }
420
+ readme += `**Returns:** \`${func.returns.type}\` - ${func.returns.description}\n\n`;
421
+ if (func.examples && func.examples.length > 0) {
422
+ readme += `**Example:**\n\n`;
423
+ readme += `\`\`\`${language}\n${func.examples[0]}\n\`\`\`\n\n`;
424
+ }
425
+ }
426
+ }
427
+ if (doc.classes.length > 0) {
428
+ readme += `## Classes\n\n`;
429
+ for (const cls of doc.classes) {
430
+ readme += `### \`${cls.name}\`\n\n`;
431
+ readme += `${cls.description}\n\n`;
432
+ }
433
+ }
434
+ return readme;
435
+ }
436
+ // ============================================================================
437
+ // API Documentation Generation
438
+ // ============================================================================
439
+ function generateApiDocs(doc) {
440
+ let api = `# API Reference\n\n`;
441
+ api += `## Module: ${doc.name}\n\n`;
442
+ api += `${doc.description}\n\n`;
443
+ if (doc.exports.length > 0) {
444
+ api += `### Exports\n\n`;
445
+ api += doc.exports.map(e => `- \`${e}\``).join('\n');
446
+ api += `\n\n`;
447
+ }
448
+ if (doc.functions.length > 0) {
449
+ api += `### Functions\n\n`;
450
+ for (const func of doc.functions) {
451
+ const paramTypes = func.params.map(p => `${p.name}: ${p.type}`).join(', ');
452
+ api += `#### \`${func.name}(${paramTypes}): ${func.returns.type}\`\n\n`;
453
+ api += `${func.description}\n\n`;
454
+ }
455
+ }
456
+ return api;
457
+ }
458
+ // ============================================================================
459
+ // Helper Functions
460
+ // ============================================================================
461
+ function detectLanguage(code) {
462
+ if (code.includes('interface ') || code.includes(': string') || code.includes(': number')) {
463
+ return 'typescript';
464
+ }
465
+ if (code.includes('def ') && code.includes(':') && !code.includes('function ')) {
466
+ return 'python';
467
+ }
468
+ if (code.includes('func ') && code.includes('package ')) {
469
+ return 'go';
470
+ }
471
+ if (code.includes('fn ') && code.includes('->')) {
472
+ return 'rust';
473
+ }
474
+ return 'javascript';
475
+ }
476
+ function detectDocStyle(language) {
477
+ switch (language.toLowerCase()) {
478
+ case 'typescript':
479
+ return 'tsdoc';
480
+ case 'javascript':
481
+ return 'jsdoc';
482
+ case 'python':
483
+ return 'pydoc';
484
+ case 'go':
485
+ return 'godoc';
486
+ case 'rust':
487
+ return 'rustdoc';
488
+ default:
489
+ return 'jsdoc';
490
+ }
491
+ }
492
+ function calculateDocStats(analysis, doc) {
493
+ const totalFunctions = analysis.functions.length;
494
+ const documentedFunctions = doc.functions.length;
495
+ const totalClasses = analysis.classes.length;
496
+ const documentedClasses = doc.classes.length;
497
+ const total = totalFunctions + totalClasses;
498
+ const documented = documentedFunctions + documentedClasses;
499
+ const coverage = total > 0 ? Math.round((documented / total) * 100) : 100;
500
+ return {
501
+ totalFunctions,
502
+ documentedFunctions,
503
+ totalClasses,
504
+ documentedClasses,
505
+ coverage,
506
+ };
507
+ }
508
+ //# sourceMappingURL=docs.js.map