@tekton-ui/mcp-server 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +980 -0
- package/dist/auth/cache.d.ts +28 -0
- package/dist/auth/cache.d.ts.map +1 -0
- package/dist/auth/cache.js +48 -0
- package/dist/auth/cache.js.map +1 -0
- package/dist/auth/guard.d.ts +13 -0
- package/dist/auth/guard.d.ts.map +1 -0
- package/dist/auth/guard.js +21 -0
- package/dist/auth/guard.js.map +1 -0
- package/dist/auth/state.d.ts +32 -0
- package/dist/auth/state.d.ts.map +1 -0
- package/dist/auth/state.js +72 -0
- package/dist/auth/state.js.map +1 -0
- package/dist/auth/theme-access.d.ts +10 -0
- package/dist/auth/theme-access.d.ts.map +1 -0
- package/dist/auth/theme-access.js +24 -0
- package/dist/auth/theme-access.js.map +1 -0
- package/dist/auth/verify.d.ts +44 -0
- package/dist/auth/verify.d.ts.map +1 -0
- package/dist/auth/verify.js +77 -0
- package/dist/auth/verify.js.map +1 -0
- package/dist/cli/credentials.d.ts +29 -0
- package/dist/cli/credentials.d.ts.map +1 -0
- package/dist/cli/credentials.js +66 -0
- package/dist/cli/credentials.js.map +1 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +36 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/login.d.ts +9 -0
- package/dist/cli/login.d.ts.map +1 -0
- package/dist/cli/login.js +120 -0
- package/dist/cli/login.js.map +1 -0
- package/dist/cli/logout.d.ts +9 -0
- package/dist/cli/logout.d.ts.map +1 -0
- package/dist/cli/logout.js +18 -0
- package/dist/cli/logout.js.map +1 -0
- package/dist/cli/status.d.ts +9 -0
- package/dist/cli/status.d.ts.map +1 -0
- package/dist/cli/status.js +31 -0
- package/dist/cli/status.js.map +1 -0
- package/dist/data/component-registry.d.ts +30 -0
- package/dist/data/component-registry.d.ts.map +1 -0
- package/dist/data/component-registry.js +320 -0
- package/dist/data/component-registry.js.map +1 -0
- package/dist/data/examples/screen-examples.d.ts +38 -0
- package/dist/data/examples/screen-examples.d.ts.map +1 -0
- package/dist/data/examples/screen-examples.js +500 -0
- package/dist/data/examples/screen-examples.js.map +1 -0
- package/dist/data/hint-generator.d.ts +16 -0
- package/dist/data/hint-generator.d.ts.map +1 -0
- package/dist/data/hint-generator.js +298 -0
- package/dist/data/hint-generator.js.map +1 -0
- package/dist/data/recipe-resolver.d.ts +48 -0
- package/dist/data/recipe-resolver.d.ts.map +1 -0
- package/dist/data/recipe-resolver.js +226 -0
- package/dist/data/recipe-resolver.js.map +1 -0
- package/dist/data/template-matcher.d.ts +50 -0
- package/dist/data/template-matcher.d.ts.map +1 -0
- package/dist/data/template-matcher.js +240 -0
- package/dist/data/template-matcher.js.map +1 -0
- package/dist/generators/core-resolver.d.ts +56 -0
- package/dist/generators/core-resolver.d.ts.map +1 -0
- package/dist/generators/core-resolver.js +490 -0
- package/dist/generators/core-resolver.js.map +1 -0
- package/dist/generators/css-generator.d.ts +49 -0
- package/dist/generators/css-generator.d.ts.map +1 -0
- package/dist/generators/css-generator.js +294 -0
- package/dist/generators/css-generator.js.map +1 -0
- package/dist/generators/index.d.ts +13 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/index.js +16 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/generators/llm-generator.d.ts +96 -0
- package/dist/generators/llm-generator.d.ts.map +1 -0
- package/dist/generators/llm-generator.js +296 -0
- package/dist/generators/llm-generator.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +818 -0
- package/dist/index.js.map +1 -0
- package/dist/schemas/mcp-schemas.d.ts +4132 -0
- package/dist/schemas/mcp-schemas.d.ts.map +1 -0
- package/dist/schemas/mcp-schemas.js +946 -0
- package/dist/schemas/mcp-schemas.js.map +1 -0
- package/dist/storage/blueprint-storage.d.ts +68 -0
- package/dist/storage/blueprint-storage.d.ts.map +1 -0
- package/dist/storage/blueprint-storage.js +135 -0
- package/dist/storage/blueprint-storage.js.map +1 -0
- package/dist/storage/timestamp-manager.d.ts +32 -0
- package/dist/storage/timestamp-manager.d.ts.map +1 -0
- package/dist/storage/timestamp-manager.js +59 -0
- package/dist/storage/timestamp-manager.js.map +1 -0
- package/dist/tools/export-screen.d.ts +34 -0
- package/dist/tools/export-screen.d.ts.map +1 -0
- package/dist/tools/export-screen.js +344 -0
- package/dist/tools/export-screen.js.map +1 -0
- package/dist/tools/generate-blueprint.d.ts +15 -0
- package/dist/tools/generate-blueprint.d.ts.map +1 -0
- package/dist/tools/generate-blueprint.js +165 -0
- package/dist/tools/generate-blueprint.js.map +1 -0
- package/dist/tools/generate-screen.d.ts +13 -0
- package/dist/tools/generate-screen.d.ts.map +1 -0
- package/dist/tools/generate-screen.js +82 -0
- package/dist/tools/generate-screen.js.map +1 -0
- package/dist/tools/get-screen-generation-context.d.ts +11 -0
- package/dist/tools/get-screen-generation-context.d.ts.map +1 -0
- package/dist/tools/get-screen-generation-context.js +316 -0
- package/dist/tools/get-screen-generation-context.js.map +1 -0
- package/dist/tools/list-components.d.ts +15 -0
- package/dist/tools/list-components.d.ts.map +1 -0
- package/dist/tools/list-components.js +46 -0
- package/dist/tools/list-components.js.map +1 -0
- package/dist/tools/list-icon-libraries.d.ts +12 -0
- package/dist/tools/list-icon-libraries.d.ts.map +1 -0
- package/dist/tools/list-icon-libraries.js +48 -0
- package/dist/tools/list-icon-libraries.js.map +1 -0
- package/dist/tools/list-screen-templates.d.ts +15 -0
- package/dist/tools/list-screen-templates.d.ts.map +1 -0
- package/dist/tools/list-screen-templates.js +63 -0
- package/dist/tools/list-screen-templates.js.map +1 -0
- package/dist/tools/list-themes.d.ts +13 -0
- package/dist/tools/list-themes.d.ts.map +1 -0
- package/dist/tools/list-themes.js +42 -0
- package/dist/tools/list-themes.js.map +1 -0
- package/dist/tools/list-tokens.d.ts +13 -0
- package/dist/tools/list-tokens.d.ts.map +1 -0
- package/dist/tools/list-tokens.js +92 -0
- package/dist/tools/list-tokens.js.map +1 -0
- package/dist/tools/preview-component.d.ts +18 -0
- package/dist/tools/preview-component.d.ts.map +1 -0
- package/dist/tools/preview-component.js +178 -0
- package/dist/tools/preview-component.js.map +1 -0
- package/dist/tools/preview-icon-library.d.ts +13 -0
- package/dist/tools/preview-icon-library.d.ts.map +1 -0
- package/dist/tools/preview-icon-library.js +63 -0
- package/dist/tools/preview-icon-library.js.map +1 -0
- package/dist/tools/preview-screen-template.d.ts +18 -0
- package/dist/tools/preview-screen-template.d.ts.map +1 -0
- package/dist/tools/preview-screen-template.js +101 -0
- package/dist/tools/preview-screen-template.js.map +1 -0
- package/dist/tools/preview-theme.d.ts +15 -0
- package/dist/tools/preview-theme.d.ts.map +1 -0
- package/dist/tools/preview-theme.js +71 -0
- package/dist/tools/preview-theme.js.map +1 -0
- package/dist/tools/validate-environment.d.ts +37 -0
- package/dist/tools/validate-environment.d.ts.map +1 -0
- package/dist/tools/validate-environment.js +153 -0
- package/dist/tools/validate-environment.js.map +1 -0
- package/dist/tools/validate-screen-definition.d.ts +10 -0
- package/dist/tools/validate-screen-definition.d.ts.map +1 -0
- package/dist/tools/validate-screen-definition.js +463 -0
- package/dist/tools/validate-screen-definition.js.map +1 -0
- package/dist/tools/validate-screen.d.ts +13 -0
- package/dist/tools/validate-screen.d.ts.map +1 -0
- package/dist/tools/validate-screen.js +106 -0
- package/dist/tools/validate-screen.js.map +1 -0
- package/dist/utils/dependency-extractor.d.ts +13 -0
- package/dist/utils/dependency-extractor.d.ts.map +1 -0
- package/dist/utils/dependency-extractor.js +232 -0
- package/dist/utils/dependency-extractor.js.map +1 -0
- package/dist/utils/error-handler.d.ts +29 -0
- package/dist/utils/error-handler.d.ts.map +1 -0
- package/dist/utils/error-handler.js +48 -0
- package/dist/utils/error-handler.js.map +1 -0
- package/dist/utils/logger.d.ts +8 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +14 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/package-json-reader.d.ts +37 -0
- package/dist/utils/package-json-reader.d.ts.map +1 -0
- package/dist/utils/package-json-reader.js +108 -0
- package/dist/utils/package-json-reader.js.map +1 -0
- package/dist/utils/tailwind-config-reader.d.ts +23 -0
- package/dist/utils/tailwind-config-reader.d.ts.map +1 -0
- package/dist/utils/tailwind-config-reader.js +81 -0
- package/dist/utils/tailwind-config-reader.js.map +1 -0
- package/package.json +72 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-screen-definition.js","sourceRoot":"","sources":["../../src/tools/validate-screen-definition.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validate Screen MCP Tool
|
|
3
|
+
* SPEC-LAYOUT-002 Phase 4: Validate JSON screen definition with helpful feedback
|
|
4
|
+
*/
|
|
5
|
+
import type { ValidateScreenInput, ValidateScreenOutput } from '../schemas/mcp-schemas.js';
|
|
6
|
+
/**
|
|
7
|
+
* Validate JSON screen definition with helpful feedback
|
|
8
|
+
*
|
|
9
|
+
* @param input - Screen definition and validation options
|
|
10
|
+
* @returns Validation result with errors, warnings, and suggestions
|
|
11
|
+
*/
|
|
12
|
+
export declare function validateScreenTool(input: ValidateScreenInput): Promise<ValidateScreenOutput>;
|
|
13
|
+
//# sourceMappingURL=validate-screen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-screen.d.ts","sourceRoot":"","sources":["../../src/tools/validate-screen.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EAErB,MAAM,2BAA2B,CAAC;AAqEnC;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,oBAAoB,CAAC,CA2C/B"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validate Screen MCP Tool
|
|
3
|
+
* SPEC-LAYOUT-002 Phase 4: Validate JSON screen definition with helpful feedback
|
|
4
|
+
*/
|
|
5
|
+
import { extractErrorMessage } from '../utils/error-handler.js';
|
|
6
|
+
/**
|
|
7
|
+
* Generate helpful suggestions for common validation errors
|
|
8
|
+
*
|
|
9
|
+
* @param errors - Validation error messages
|
|
10
|
+
* @returns Array of suggestions
|
|
11
|
+
*/
|
|
12
|
+
function generateSuggestions(errors) {
|
|
13
|
+
const suggestions = [];
|
|
14
|
+
for (const error of errors) {
|
|
15
|
+
const lowerError = error.toLowerCase();
|
|
16
|
+
// Suggestion for shell token errors
|
|
17
|
+
if (lowerError.includes('shell') && lowerError.includes('token')) {
|
|
18
|
+
suggestions.push({
|
|
19
|
+
field: 'shell',
|
|
20
|
+
message: error,
|
|
21
|
+
suggestion: 'Shell token must match pattern: shell.{platform}.{name} (e.g., shell.web.dashboard)',
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
// Suggestion for page token errors
|
|
25
|
+
if (lowerError.includes('page') && lowerError.includes('token')) {
|
|
26
|
+
suggestions.push({
|
|
27
|
+
field: 'page',
|
|
28
|
+
message: error,
|
|
29
|
+
suggestion: 'Page token must match pattern: page.{name} (e.g., page.dashboard)',
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
// Suggestion for section token errors
|
|
33
|
+
if (lowerError.includes('section') && lowerError.includes('token')) {
|
|
34
|
+
suggestions.push({
|
|
35
|
+
field: 'sections',
|
|
36
|
+
message: error,
|
|
37
|
+
suggestion: 'Section token must match pattern: section.{name} (e.g., section.grid-4, section.hero)',
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
// Suggestion for component type errors
|
|
41
|
+
if (lowerError.includes('component') && lowerError.includes('type')) {
|
|
42
|
+
suggestions.push({
|
|
43
|
+
field: 'components',
|
|
44
|
+
message: error,
|
|
45
|
+
suggestion: 'Component type must be one of: Button, Input, Text, Heading, Card, Modal, etc. See @tekton-ui/core COMPONENT_CATALOG',
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
// Suggestion for missing required fields
|
|
49
|
+
if (lowerError.includes('required')) {
|
|
50
|
+
const fieldMatch = error.match(/'([^']+)'/);
|
|
51
|
+
const field = fieldMatch?.[1] || 'unknown';
|
|
52
|
+
suggestions.push({
|
|
53
|
+
field,
|
|
54
|
+
message: error,
|
|
55
|
+
suggestion: `The '${field}' field is required in the screen definition`,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return suggestions;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Validate JSON screen definition with helpful feedback
|
|
63
|
+
*
|
|
64
|
+
* @param input - Screen definition and validation options
|
|
65
|
+
* @returns Validation result with errors, warnings, and suggestions
|
|
66
|
+
*/
|
|
67
|
+
export async function validateScreenTool(input) {
|
|
68
|
+
try {
|
|
69
|
+
const { screenDefinition, strictMode = false } = input;
|
|
70
|
+
// Import validation from @tekton-ui/core
|
|
71
|
+
const { validateScreenDefinition } = await import('@tekton-ui/core');
|
|
72
|
+
// Run validation
|
|
73
|
+
const validation = validateScreenDefinition(screenDefinition);
|
|
74
|
+
// Separate errors and warnings (if strict mode is off, some errors become warnings)
|
|
75
|
+
const errors = [];
|
|
76
|
+
const warnings = [];
|
|
77
|
+
if (validation.errors) {
|
|
78
|
+
for (const error of validation.errors) {
|
|
79
|
+
// In non-strict mode, certain errors are treated as warnings
|
|
80
|
+
if (!strictMode && error.toLowerCase().includes('optional')) {
|
|
81
|
+
warnings.push(error);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
errors.push(error);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
// Generate helpful suggestions
|
|
89
|
+
const suggestions = generateSuggestions(errors);
|
|
90
|
+
const result = {
|
|
91
|
+
success: true,
|
|
92
|
+
valid: validation.valid,
|
|
93
|
+
errors: errors.length > 0 ? errors : undefined,
|
|
94
|
+
warnings: warnings.length > 0 ? warnings : undefined,
|
|
95
|
+
suggestions: suggestions.length > 0 ? suggestions : undefined,
|
|
96
|
+
};
|
|
97
|
+
return result;
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
return {
|
|
101
|
+
success: false,
|
|
102
|
+
error: extractErrorMessage(error),
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=validate-screen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-screen.js","sourceRoot":"","sources":["../../src/tools/validate-screen.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dependency Extractor
|
|
3
|
+
* SPEC-MCP-005 Phase 2: Extract external/internal dependencies from generated code
|
|
4
|
+
*/
|
|
5
|
+
import type { Dependencies } from '../schemas/mcp-schemas.js';
|
|
6
|
+
/**
|
|
7
|
+
* Extract dependencies from generated code
|
|
8
|
+
*
|
|
9
|
+
* @param generatedCode - The generated code to extract dependencies from
|
|
10
|
+
* @returns Dependencies object with external/internal packages and install commands
|
|
11
|
+
*/
|
|
12
|
+
export declare function extractDependencies(generatedCode: string): Dependencies;
|
|
13
|
+
//# sourceMappingURL=dependency-extractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependency-extractor.d.ts","sourceRoot":"","sources":["../../src/utils/dependency-extractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AA6J9D;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,YAAY,CAgGvE"}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dependency Extractor
|
|
3
|
+
* SPEC-MCP-005 Phase 2: Extract external/internal dependencies from generated code
|
|
4
|
+
*/
|
|
5
|
+
import { parse } from '@babel/parser';
|
|
6
|
+
import traverse from '@babel/traverse';
|
|
7
|
+
/**
|
|
8
|
+
* Known Node.js built-in modules
|
|
9
|
+
*/
|
|
10
|
+
const BUILTIN_MODULES = new Set([
|
|
11
|
+
'fs',
|
|
12
|
+
'path',
|
|
13
|
+
'url',
|
|
14
|
+
'http',
|
|
15
|
+
'https',
|
|
16
|
+
'crypto',
|
|
17
|
+
'stream',
|
|
18
|
+
'util',
|
|
19
|
+
'events',
|
|
20
|
+
'buffer',
|
|
21
|
+
'child_process',
|
|
22
|
+
'os',
|
|
23
|
+
'process',
|
|
24
|
+
'assert',
|
|
25
|
+
'timers',
|
|
26
|
+
'zlib',
|
|
27
|
+
'querystring',
|
|
28
|
+
'net',
|
|
29
|
+
'dns',
|
|
30
|
+
'tls',
|
|
31
|
+
'dgram',
|
|
32
|
+
'readline',
|
|
33
|
+
'repl',
|
|
34
|
+
'vm',
|
|
35
|
+
'cluster',
|
|
36
|
+
'v8',
|
|
37
|
+
'worker_threads',
|
|
38
|
+
]);
|
|
39
|
+
/**
|
|
40
|
+
* Known React/Next.js compatibility requirements
|
|
41
|
+
*/
|
|
42
|
+
const COMPATIBILITY_MAP = {
|
|
43
|
+
'framer-motion': { react: '^18.0.0 || ^19.0.0', node: '>=18.0.0' },
|
|
44
|
+
'@radix-ui/react-slot': { react: '^18.0.0 || ^19.0.0' },
|
|
45
|
+
'@radix-ui/react-dialog': { react: '^18.0.0 || ^19.0.0' },
|
|
46
|
+
'@radix-ui/react-dropdown-menu': { react: '^18.0.0 || ^19.0.0' },
|
|
47
|
+
'@radix-ui/react-tooltip': { react: '^18.0.0 || ^19.0.0' },
|
|
48
|
+
'@radix-ui/react-popover': { react: '^18.0.0 || ^19.0.0' },
|
|
49
|
+
next: { react: '^18.0.0 || ^19.0.0', node: '>=18.17.0' },
|
|
50
|
+
'lucide-react': { react: '^16.x || ^17.x || ^18.x || ^19.x' },
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Known compatibility notes for popular packages
|
|
54
|
+
*/
|
|
55
|
+
const COMPATIBILITY_NOTES = {
|
|
56
|
+
'framer-motion': 'framer-motion requires React 18+ for concurrent features',
|
|
57
|
+
'@radix-ui/react-slot': '@radix-ui/react-slot is a peer dependency of @tekton-ui/ui',
|
|
58
|
+
'@radix-ui/react-dialog': '@radix-ui/react-dialog requires peer dependencies: react, react-dom',
|
|
59
|
+
next: 'Next.js requires peer dependencies: react, react-dom',
|
|
60
|
+
'lucide-react': 'lucide-react is compatible with React 16.x, 17.x, 18.x, and 19.x',
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Check if a module is a Node.js built-in
|
|
64
|
+
*/
|
|
65
|
+
function isBuiltIn(source) {
|
|
66
|
+
// Remove node: prefix if present
|
|
67
|
+
const normalized = source.startsWith('node:') ? source.slice(5) : source;
|
|
68
|
+
return BUILTIN_MODULES.has(normalized);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Extract package name from scoped or unscoped import
|
|
72
|
+
* Examples:
|
|
73
|
+
* - 'framer-motion' -> 'framer-motion'
|
|
74
|
+
* - '@radix-ui/react-slot' -> '@radix-ui/react-slot'
|
|
75
|
+
* - '@tekton-ui/ui/components/Button' -> '@tekton-ui/ui'
|
|
76
|
+
*/
|
|
77
|
+
function extractPackageName(source) {
|
|
78
|
+
if (source.startsWith('@')) {
|
|
79
|
+
// Scoped package: @scope/package or @scope/package/subpath
|
|
80
|
+
const parts = source.split('/');
|
|
81
|
+
if (parts.length >= 2) {
|
|
82
|
+
return `${parts[0]}/${parts[1]}`;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// Unscoped package: package or package/subpath
|
|
86
|
+
const firstPart = source.split('/')[0];
|
|
87
|
+
return firstPart || source;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Generate install commands for all package managers
|
|
91
|
+
*/
|
|
92
|
+
function generateInstallCommands(packages) {
|
|
93
|
+
const packageList = packages.join(' ');
|
|
94
|
+
if (packages.length === 0) {
|
|
95
|
+
return {
|
|
96
|
+
npm: '',
|
|
97
|
+
yarn: '',
|
|
98
|
+
pnpm: '',
|
|
99
|
+
bun: '',
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
npm: `npm install ${packageList}`,
|
|
104
|
+
yarn: `yarn add ${packageList}`,
|
|
105
|
+
pnpm: `pnpm add ${packageList}`,
|
|
106
|
+
bun: `bun add ${packageList}`,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Get compatibility requirements for packages
|
|
111
|
+
*/
|
|
112
|
+
function getCompatibilityRequirements(packages) {
|
|
113
|
+
const compatibility = {};
|
|
114
|
+
for (const pkg of packages) {
|
|
115
|
+
const pkgCompat = COMPATIBILITY_MAP[pkg];
|
|
116
|
+
if (pkgCompat) {
|
|
117
|
+
if (pkgCompat.react && !compatibility.react) {
|
|
118
|
+
compatibility.react = pkgCompat.react;
|
|
119
|
+
}
|
|
120
|
+
if (pkgCompat.node && !compatibility.node) {
|
|
121
|
+
compatibility.node = pkgCompat.node;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return Object.keys(compatibility).length > 0 ? compatibility : undefined;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Get compatibility notes for packages
|
|
129
|
+
*/
|
|
130
|
+
function getCompatibilityNotes(packages) {
|
|
131
|
+
const notes = [];
|
|
132
|
+
for (const pkg of packages) {
|
|
133
|
+
const note = COMPATIBILITY_NOTES[pkg];
|
|
134
|
+
if (note) {
|
|
135
|
+
notes.push(note);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return notes;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Extract dependencies from generated code
|
|
142
|
+
*
|
|
143
|
+
* @param generatedCode - The generated code to extract dependencies from
|
|
144
|
+
* @returns Dependencies object with external/internal packages and install commands
|
|
145
|
+
*/
|
|
146
|
+
export function extractDependencies(generatedCode) {
|
|
147
|
+
const externalSet = new Set();
|
|
148
|
+
const internalSet = new Set();
|
|
149
|
+
try {
|
|
150
|
+
// Parse code into AST
|
|
151
|
+
const ast = parse(generatedCode, {
|
|
152
|
+
sourceType: 'module',
|
|
153
|
+
plugins: ['jsx', 'typescript'],
|
|
154
|
+
});
|
|
155
|
+
// Traverse AST to find import declarations
|
|
156
|
+
traverse(ast, {
|
|
157
|
+
ImportDeclaration(path) {
|
|
158
|
+
const source = path.node.source.value;
|
|
159
|
+
// Skip relative imports
|
|
160
|
+
if (source.startsWith('.') || source.startsWith('/')) {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
// Skip built-in modules
|
|
164
|
+
if (isBuiltIn(source)) {
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
// Extract package name
|
|
168
|
+
const packageName = extractPackageName(source);
|
|
169
|
+
// Categorize as internal or external
|
|
170
|
+
if (packageName.startsWith('@tekton-ui/')) {
|
|
171
|
+
internalSet.add(packageName);
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
externalSet.add(packageName);
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
// Also handle dynamic imports: import('module')
|
|
178
|
+
CallExpression(path) {
|
|
179
|
+
if (path.node.callee.type === 'Import' && path.node.arguments.length > 0) {
|
|
180
|
+
const arg = path.node.arguments[0];
|
|
181
|
+
if (arg && arg.type === 'StringLiteral') {
|
|
182
|
+
const source = arg.value;
|
|
183
|
+
// Skip relative imports and built-ins
|
|
184
|
+
if (source.startsWith('.') || source.startsWith('/') || isBuiltIn(source)) {
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
const packageName = extractPackageName(source);
|
|
188
|
+
if (packageName.startsWith('@tekton-ui/')) {
|
|
189
|
+
internalSet.add(packageName);
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
externalSet.add(packageName);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
catch (error) {
|
|
200
|
+
// If parsing fails, return empty dependencies
|
|
201
|
+
console.error('Failed to parse code for dependency extraction:', error);
|
|
202
|
+
return {
|
|
203
|
+
external: [],
|
|
204
|
+
internal: [],
|
|
205
|
+
installCommands: {
|
|
206
|
+
npm: '',
|
|
207
|
+
yarn: '',
|
|
208
|
+
pnpm: '',
|
|
209
|
+
bun: '',
|
|
210
|
+
},
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
const external = Array.from(externalSet).sort();
|
|
214
|
+
const internal = Array.from(internalSet).sort();
|
|
215
|
+
const dependencies = {
|
|
216
|
+
external,
|
|
217
|
+
internal,
|
|
218
|
+
installCommands: generateInstallCommands(external),
|
|
219
|
+
};
|
|
220
|
+
// Add compatibility information if available
|
|
221
|
+
const compatibility = getCompatibilityRequirements(external);
|
|
222
|
+
if (compatibility) {
|
|
223
|
+
dependencies.compatibility = compatibility;
|
|
224
|
+
}
|
|
225
|
+
// Add notes if available
|
|
226
|
+
const notes = getCompatibilityNotes(external);
|
|
227
|
+
if (notes.length > 0) {
|
|
228
|
+
dependencies.notes = notes;
|
|
229
|
+
}
|
|
230
|
+
return dependencies;
|
|
231
|
+
}
|
|
232
|
+
//# sourceMappingURL=dependency-extractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependency-extractor.js","sourceRoot":"","sources":["../../src/utils/dependency-extractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,QAA2B,MAAM,iBAAiB,CAAC;AAI1D;;GAEG;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,IAAI;IACJ,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,eAAe;IACf,IAAI;IACJ,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,aAAa;IACb,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,UAAU;IACV,MAAM;IACN,IAAI;IACJ,SAAS;IACT,IAAI;IACJ,gBAAgB;CACjB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,iBAAiB,GAAsD;IAC3E,eAAe,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,UAAU,EAAE;IAClE,sBAAsB,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE;IACvD,wBAAwB,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE;IACzD,+BAA+B,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE;IAChE,yBAAyB,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE;IAC1D,yBAAyB,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE;IAC1D,IAAI,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,WAAW,EAAE;IACxD,cAAc,EAAE,EAAE,KAAK,EAAE,kCAAkC,EAAE;CAC9D,CAAC;AAEF;;GAEG;AACH,MAAM,mBAAmB,GAA2B;IAClD,eAAe,EAAE,0DAA0D;IAC3E,sBAAsB,EAAE,4DAA4D;IACpF,wBAAwB,EAAE,qEAAqE;IAC/F,IAAI,EAAE,sDAAsD;IAC5D,cAAc,EAAE,kEAAkE;CACnF,CAAC;AAEF;;GAEG;AACH,SAAS,SAAS,CAAC,MAAc;IAC/B,iCAAiC;IACjC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACzE,OAAO,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,MAAc;IACxC,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,2DAA2D;QAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,OAAO,SAAS,IAAI,MAAM,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,QAAkB;IAMjD,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,GAAG,EAAE,EAAE;YACP,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,EAAE;YACR,GAAG,EAAE,EAAE;SACR,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,EAAE,eAAe,WAAW,EAAE;QACjC,IAAI,EAAE,YAAY,WAAW,EAAE;QAC/B,IAAI,EAAE,YAAY,WAAW,EAAE;QAC/B,GAAG,EAAE,WAAW,WAAW,EAAE;KAC9B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,4BAA4B,CACnC,QAAkB;IAElB,MAAM,aAAa,GAAsC,EAAE,CAAC;IAE5D,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,SAAS,CAAC,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;gBAC5C,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;YACxC,CAAC;YACD,IAAI,SAAS,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;gBAC1C,aAAa,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,QAAkB;IAC/C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,aAAqB;IACvD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IAEtC,IAAI,CAAC;QACH,sBAAsB;QACtB,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,EAAE;YAC/B,UAAU,EAAE,QAAQ;YACpB,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC;SAC/B,CAAC,CAAC;QAEH,2CAA2C;QAC3C,QAAQ,CAAC,GAAG,EAAE;YACZ,iBAAiB,CAAC,IAAiC;gBACjD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAEtC,wBAAwB;gBACxB,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrD,OAAO;gBACT,CAAC;gBAED,wBAAwB;gBACxB,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;oBACtB,OAAO;gBACT,CAAC;gBAED,uBAAuB;gBACvB,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBAE/C,qCAAqC;gBACrC,IAAI,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC1C,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;YACD,gDAAgD;YAChD,cAAc,CAAC,IAA8B;gBAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBACnC,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;wBACxC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC;wBAEzB,sCAAsC;wBACtC,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;4BAC1E,OAAO;wBACT,CAAC;wBAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;wBAE/C,IAAI,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;4BAC1C,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;wBAC/B,CAAC;6BAAM,CAAC;4BACN,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;wBAC/B,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,8CAA8C;QAC9C,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;QACxE,OAAO;YACL,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,EAAE;YACZ,eAAe,EAAE;gBACf,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,EAAE;gBACR,GAAG,EAAE,EAAE;aACR;SACF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;IAEhD,MAAM,YAAY,GAAiB;QACjC,QAAQ;QACR,QAAQ;QACR,eAAe,EAAE,uBAAuB,CAAC,QAAQ,CAAC;KACnD,CAAC;IAEF,6CAA6C;IAC7C,MAAM,aAAa,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IAC7D,IAAI,aAAa,EAAE,CAAC;QAClB,YAAY,CAAC,aAAa,GAAG,aAAa,CAAC;IAC7C,CAAC;IAED,yBAAyB;IACzB,MAAM,KAAK,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error handling utilities for MCP server
|
|
3
|
+
* SPEC-MCP-002: U-004 Error Response Consistency
|
|
4
|
+
*/
|
|
5
|
+
import type { ErrorResponse } from '../schemas/mcp-schemas.js';
|
|
6
|
+
/**
|
|
7
|
+
* Create standardized error response
|
|
8
|
+
* SPEC: U-004 Error Response Consistency
|
|
9
|
+
*/
|
|
10
|
+
export declare function createErrorResponse(error: string): ErrorResponse;
|
|
11
|
+
/**
|
|
12
|
+
* Format theme not found error with available themes list
|
|
13
|
+
* SPEC: S-002 Theme Availability Check
|
|
14
|
+
*/
|
|
15
|
+
export declare function createThemeNotFoundError(themeId: string, availableThemes: string[]): ErrorResponse;
|
|
16
|
+
/**
|
|
17
|
+
* Format validation error with details
|
|
18
|
+
* SPEC: U-002 Input Schema Validation
|
|
19
|
+
*/
|
|
20
|
+
export declare function createValidationError(errors: string[]): ErrorResponse;
|
|
21
|
+
/**
|
|
22
|
+
* Format storage error
|
|
23
|
+
*/
|
|
24
|
+
export declare function createStorageError(operation: string, reason: string): ErrorResponse;
|
|
25
|
+
/**
|
|
26
|
+
* Safe error message extraction from unknown error type
|
|
27
|
+
*/
|
|
28
|
+
export declare function extractErrorMessage(error: unknown): string;
|
|
29
|
+
//# sourceMappingURL=error-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/utils/error-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAKhE;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,EAAE,GACxB,aAAa,CAGf;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAErE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAEnF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQ1D"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error handling utilities for MCP server
|
|
3
|
+
* SPEC-MCP-002: U-004 Error Response Consistency
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Create standardized error response
|
|
7
|
+
* SPEC: U-004 Error Response Consistency
|
|
8
|
+
*/
|
|
9
|
+
export function createErrorResponse(error) {
|
|
10
|
+
return {
|
|
11
|
+
success: false,
|
|
12
|
+
error,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Format theme not found error with available themes list
|
|
17
|
+
* SPEC: S-002 Theme Availability Check
|
|
18
|
+
*/
|
|
19
|
+
export function createThemeNotFoundError(themeId, availableThemes) {
|
|
20
|
+
const themeList = availableThemes.join(', ');
|
|
21
|
+
return createErrorResponse(`Theme not found: ${themeId}. Available themes: ${themeList}`);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Format validation error with details
|
|
25
|
+
* SPEC: U-002 Input Schema Validation
|
|
26
|
+
*/
|
|
27
|
+
export function createValidationError(errors) {
|
|
28
|
+
return createErrorResponse(`Validation errors: ${errors.join(', ')}`);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Format storage error
|
|
32
|
+
*/
|
|
33
|
+
export function createStorageError(operation, reason) {
|
|
34
|
+
return createErrorResponse(`Failed to ${operation}: ${reason}`);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Safe error message extraction from unknown error type
|
|
38
|
+
*/
|
|
39
|
+
export function extractErrorMessage(error) {
|
|
40
|
+
if (error instanceof Error) {
|
|
41
|
+
return error.message;
|
|
42
|
+
}
|
|
43
|
+
if (typeof error === 'string') {
|
|
44
|
+
return error;
|
|
45
|
+
}
|
|
46
|
+
return 'Unknown error occurred';
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=error-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/utils/error-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAO;QACL,OAAO,EAAE,KAAK;QACd,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAe,EACf,eAAyB;IAEzB,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO,mBAAmB,CAAC,oBAAoB,OAAO,uBAAuB,SAAS,EAAE,CAAC,CAAC;AAC5F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAgB;IACpD,OAAO,mBAAmB,CAAC,sBAAsB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB,EAAE,MAAc;IAClE,OAAO,mBAAmB,CAAC,aAAa,SAAS,KAAK,MAAM,EAAE,CAAC,CAAC;AAClE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,wBAAwB,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger utility for MCP server
|
|
3
|
+
* All output goes to stderr to keep stdout clean for MCP protocol
|
|
4
|
+
*/
|
|
5
|
+
export declare function info(message: string, ...args: unknown[]): void;
|
|
6
|
+
export declare function error(message: string, ...args: unknown[]): void;
|
|
7
|
+
export declare function debug(message: string, ...args: unknown[]): void;
|
|
8
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAE9D;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAE/D;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAE/D"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger utility for MCP server
|
|
3
|
+
* All output goes to stderr to keep stdout clean for MCP protocol
|
|
4
|
+
*/
|
|
5
|
+
export function info(message, ...args) {
|
|
6
|
+
console.error(`[INFO] ${message}`, ...args);
|
|
7
|
+
}
|
|
8
|
+
export function error(message, ...args) {
|
|
9
|
+
console.error(`[ERROR] ${message}`, ...args);
|
|
10
|
+
}
|
|
11
|
+
export function debug(message, ...args) {
|
|
12
|
+
console.error(`[DEBUG] ${message}`, ...args);
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,UAAU,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;IACtD,OAAO,CAAC,KAAK,CAAC,UAAU,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;IACvD,OAAO,CAAC,KAAK,CAAC,WAAW,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;IACvD,OAAO,CAAC,KAAK,CAAC,WAAW,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Package.json Reader
|
|
3
|
+
* SPEC-MCP-005 Phase 2: Read and parse package.json files
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Package.json structure
|
|
7
|
+
*/
|
|
8
|
+
export interface PackageJson {
|
|
9
|
+
name?: string;
|
|
10
|
+
version?: string;
|
|
11
|
+
dependencies?: Record<string, string>;
|
|
12
|
+
devDependencies?: Record<string, string>;
|
|
13
|
+
peerDependencies?: Record<string, string>;
|
|
14
|
+
optionalDependencies?: Record<string, string>;
|
|
15
|
+
[key: string]: unknown;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Result of reading package.json
|
|
19
|
+
*/
|
|
20
|
+
export interface PackageJsonReadResult {
|
|
21
|
+
success: boolean;
|
|
22
|
+
packageJson?: PackageJson;
|
|
23
|
+
installedPackages?: Record<string, string>;
|
|
24
|
+
error?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Read and parse package.json file
|
|
28
|
+
*
|
|
29
|
+
* @param projectPath - Path to package.json or project root directory
|
|
30
|
+
* @returns PackageJsonReadResult with parsed data or error
|
|
31
|
+
*/
|
|
32
|
+
export declare function readPackageJson(projectPath: string): PackageJsonReadResult;
|
|
33
|
+
/**
|
|
34
|
+
* Clear package.json cache (useful for testing)
|
|
35
|
+
*/
|
|
36
|
+
export declare function clearPackageJsonCache(): void;
|
|
37
|
+
//# sourceMappingURL=package-json-reader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-json-reader.d.ts","sourceRoot":"","sources":["../../src/utils/package-json-reader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAQD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,qBAAqB,CAoE1E;AA4BD;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
|