@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.
Files changed (179) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +980 -0
  3. package/dist/auth/cache.d.ts +28 -0
  4. package/dist/auth/cache.d.ts.map +1 -0
  5. package/dist/auth/cache.js +48 -0
  6. package/dist/auth/cache.js.map +1 -0
  7. package/dist/auth/guard.d.ts +13 -0
  8. package/dist/auth/guard.d.ts.map +1 -0
  9. package/dist/auth/guard.js +21 -0
  10. package/dist/auth/guard.js.map +1 -0
  11. package/dist/auth/state.d.ts +32 -0
  12. package/dist/auth/state.d.ts.map +1 -0
  13. package/dist/auth/state.js +72 -0
  14. package/dist/auth/state.js.map +1 -0
  15. package/dist/auth/theme-access.d.ts +10 -0
  16. package/dist/auth/theme-access.d.ts.map +1 -0
  17. package/dist/auth/theme-access.js +24 -0
  18. package/dist/auth/theme-access.js.map +1 -0
  19. package/dist/auth/verify.d.ts +44 -0
  20. package/dist/auth/verify.d.ts.map +1 -0
  21. package/dist/auth/verify.js +77 -0
  22. package/dist/auth/verify.js.map +1 -0
  23. package/dist/cli/credentials.d.ts +29 -0
  24. package/dist/cli/credentials.d.ts.map +1 -0
  25. package/dist/cli/credentials.js +66 -0
  26. package/dist/cli/credentials.js.map +1 -0
  27. package/dist/cli/index.d.ts +7 -0
  28. package/dist/cli/index.d.ts.map +1 -0
  29. package/dist/cli/index.js +36 -0
  30. package/dist/cli/index.js.map +1 -0
  31. package/dist/cli/login.d.ts +9 -0
  32. package/dist/cli/login.d.ts.map +1 -0
  33. package/dist/cli/login.js +120 -0
  34. package/dist/cli/login.js.map +1 -0
  35. package/dist/cli/logout.d.ts +9 -0
  36. package/dist/cli/logout.d.ts.map +1 -0
  37. package/dist/cli/logout.js +18 -0
  38. package/dist/cli/logout.js.map +1 -0
  39. package/dist/cli/status.d.ts +9 -0
  40. package/dist/cli/status.d.ts.map +1 -0
  41. package/dist/cli/status.js +31 -0
  42. package/dist/cli/status.js.map +1 -0
  43. package/dist/data/component-registry.d.ts +30 -0
  44. package/dist/data/component-registry.d.ts.map +1 -0
  45. package/dist/data/component-registry.js +320 -0
  46. package/dist/data/component-registry.js.map +1 -0
  47. package/dist/data/examples/screen-examples.d.ts +38 -0
  48. package/dist/data/examples/screen-examples.d.ts.map +1 -0
  49. package/dist/data/examples/screen-examples.js +500 -0
  50. package/dist/data/examples/screen-examples.js.map +1 -0
  51. package/dist/data/hint-generator.d.ts +16 -0
  52. package/dist/data/hint-generator.d.ts.map +1 -0
  53. package/dist/data/hint-generator.js +298 -0
  54. package/dist/data/hint-generator.js.map +1 -0
  55. package/dist/data/recipe-resolver.d.ts +48 -0
  56. package/dist/data/recipe-resolver.d.ts.map +1 -0
  57. package/dist/data/recipe-resolver.js +226 -0
  58. package/dist/data/recipe-resolver.js.map +1 -0
  59. package/dist/data/template-matcher.d.ts +50 -0
  60. package/dist/data/template-matcher.d.ts.map +1 -0
  61. package/dist/data/template-matcher.js +240 -0
  62. package/dist/data/template-matcher.js.map +1 -0
  63. package/dist/generators/core-resolver.d.ts +56 -0
  64. package/dist/generators/core-resolver.d.ts.map +1 -0
  65. package/dist/generators/core-resolver.js +490 -0
  66. package/dist/generators/core-resolver.js.map +1 -0
  67. package/dist/generators/css-generator.d.ts +49 -0
  68. package/dist/generators/css-generator.d.ts.map +1 -0
  69. package/dist/generators/css-generator.js +294 -0
  70. package/dist/generators/css-generator.js.map +1 -0
  71. package/dist/generators/index.d.ts +13 -0
  72. package/dist/generators/index.d.ts.map +1 -0
  73. package/dist/generators/index.js +16 -0
  74. package/dist/generators/index.js.map +1 -0
  75. package/dist/generators/llm-generator.d.ts +96 -0
  76. package/dist/generators/llm-generator.d.ts.map +1 -0
  77. package/dist/generators/llm-generator.js +296 -0
  78. package/dist/generators/llm-generator.js.map +1 -0
  79. package/dist/index.d.ts +3 -0
  80. package/dist/index.d.ts.map +1 -0
  81. package/dist/index.js +818 -0
  82. package/dist/index.js.map +1 -0
  83. package/dist/schemas/mcp-schemas.d.ts +4132 -0
  84. package/dist/schemas/mcp-schemas.d.ts.map +1 -0
  85. package/dist/schemas/mcp-schemas.js +946 -0
  86. package/dist/schemas/mcp-schemas.js.map +1 -0
  87. package/dist/storage/blueprint-storage.d.ts +68 -0
  88. package/dist/storage/blueprint-storage.d.ts.map +1 -0
  89. package/dist/storage/blueprint-storage.js +135 -0
  90. package/dist/storage/blueprint-storage.js.map +1 -0
  91. package/dist/storage/timestamp-manager.d.ts +32 -0
  92. package/dist/storage/timestamp-manager.d.ts.map +1 -0
  93. package/dist/storage/timestamp-manager.js +59 -0
  94. package/dist/storage/timestamp-manager.js.map +1 -0
  95. package/dist/tools/export-screen.d.ts +34 -0
  96. package/dist/tools/export-screen.d.ts.map +1 -0
  97. package/dist/tools/export-screen.js +344 -0
  98. package/dist/tools/export-screen.js.map +1 -0
  99. package/dist/tools/generate-blueprint.d.ts +15 -0
  100. package/dist/tools/generate-blueprint.d.ts.map +1 -0
  101. package/dist/tools/generate-blueprint.js +165 -0
  102. package/dist/tools/generate-blueprint.js.map +1 -0
  103. package/dist/tools/generate-screen.d.ts +13 -0
  104. package/dist/tools/generate-screen.d.ts.map +1 -0
  105. package/dist/tools/generate-screen.js +82 -0
  106. package/dist/tools/generate-screen.js.map +1 -0
  107. package/dist/tools/get-screen-generation-context.d.ts +11 -0
  108. package/dist/tools/get-screen-generation-context.d.ts.map +1 -0
  109. package/dist/tools/get-screen-generation-context.js +316 -0
  110. package/dist/tools/get-screen-generation-context.js.map +1 -0
  111. package/dist/tools/list-components.d.ts +15 -0
  112. package/dist/tools/list-components.d.ts.map +1 -0
  113. package/dist/tools/list-components.js +46 -0
  114. package/dist/tools/list-components.js.map +1 -0
  115. package/dist/tools/list-icon-libraries.d.ts +12 -0
  116. package/dist/tools/list-icon-libraries.d.ts.map +1 -0
  117. package/dist/tools/list-icon-libraries.js +48 -0
  118. package/dist/tools/list-icon-libraries.js.map +1 -0
  119. package/dist/tools/list-screen-templates.d.ts +15 -0
  120. package/dist/tools/list-screen-templates.d.ts.map +1 -0
  121. package/dist/tools/list-screen-templates.js +63 -0
  122. package/dist/tools/list-screen-templates.js.map +1 -0
  123. package/dist/tools/list-themes.d.ts +13 -0
  124. package/dist/tools/list-themes.d.ts.map +1 -0
  125. package/dist/tools/list-themes.js +42 -0
  126. package/dist/tools/list-themes.js.map +1 -0
  127. package/dist/tools/list-tokens.d.ts +13 -0
  128. package/dist/tools/list-tokens.d.ts.map +1 -0
  129. package/dist/tools/list-tokens.js +92 -0
  130. package/dist/tools/list-tokens.js.map +1 -0
  131. package/dist/tools/preview-component.d.ts +18 -0
  132. package/dist/tools/preview-component.d.ts.map +1 -0
  133. package/dist/tools/preview-component.js +178 -0
  134. package/dist/tools/preview-component.js.map +1 -0
  135. package/dist/tools/preview-icon-library.d.ts +13 -0
  136. package/dist/tools/preview-icon-library.d.ts.map +1 -0
  137. package/dist/tools/preview-icon-library.js +63 -0
  138. package/dist/tools/preview-icon-library.js.map +1 -0
  139. package/dist/tools/preview-screen-template.d.ts +18 -0
  140. package/dist/tools/preview-screen-template.d.ts.map +1 -0
  141. package/dist/tools/preview-screen-template.js +101 -0
  142. package/dist/tools/preview-screen-template.js.map +1 -0
  143. package/dist/tools/preview-theme.d.ts +15 -0
  144. package/dist/tools/preview-theme.d.ts.map +1 -0
  145. package/dist/tools/preview-theme.js +71 -0
  146. package/dist/tools/preview-theme.js.map +1 -0
  147. package/dist/tools/validate-environment.d.ts +37 -0
  148. package/dist/tools/validate-environment.d.ts.map +1 -0
  149. package/dist/tools/validate-environment.js +153 -0
  150. package/dist/tools/validate-environment.js.map +1 -0
  151. package/dist/tools/validate-screen-definition.d.ts +10 -0
  152. package/dist/tools/validate-screen-definition.d.ts.map +1 -0
  153. package/dist/tools/validate-screen-definition.js +463 -0
  154. package/dist/tools/validate-screen-definition.js.map +1 -0
  155. package/dist/tools/validate-screen.d.ts +13 -0
  156. package/dist/tools/validate-screen.d.ts.map +1 -0
  157. package/dist/tools/validate-screen.js +106 -0
  158. package/dist/tools/validate-screen.js.map +1 -0
  159. package/dist/utils/dependency-extractor.d.ts +13 -0
  160. package/dist/utils/dependency-extractor.d.ts.map +1 -0
  161. package/dist/utils/dependency-extractor.js +232 -0
  162. package/dist/utils/dependency-extractor.js.map +1 -0
  163. package/dist/utils/error-handler.d.ts +29 -0
  164. package/dist/utils/error-handler.d.ts.map +1 -0
  165. package/dist/utils/error-handler.js +48 -0
  166. package/dist/utils/error-handler.js.map +1 -0
  167. package/dist/utils/logger.d.ts +8 -0
  168. package/dist/utils/logger.d.ts.map +1 -0
  169. package/dist/utils/logger.js +14 -0
  170. package/dist/utils/logger.js.map +1 -0
  171. package/dist/utils/package-json-reader.d.ts +37 -0
  172. package/dist/utils/package-json-reader.d.ts.map +1 -0
  173. package/dist/utils/package-json-reader.js +108 -0
  174. package/dist/utils/package-json-reader.js.map +1 -0
  175. package/dist/utils/tailwind-config-reader.d.ts +23 -0
  176. package/dist/utils/tailwind-config-reader.d.ts.map +1 -0
  177. package/dist/utils/tailwind-config-reader.js +81 -0
  178. package/dist/utils/tailwind-config-reader.js.map +1 -0
  179. 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":"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"}
@@ -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"}