@framingui/mcp-server 0.5.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 (206) hide show
  1. package/README.md +1027 -0
  2. package/dist/auth/cache.d.ts +28 -0
  3. package/dist/auth/cache.d.ts.map +1 -0
  4. package/dist/auth/cache.js +48 -0
  5. package/dist/auth/cache.js.map +1 -0
  6. package/dist/auth/guard.d.ts +22 -0
  7. package/dist/auth/guard.d.ts.map +1 -0
  8. package/dist/auth/guard.js +37 -0
  9. package/dist/auth/guard.js.map +1 -0
  10. package/dist/auth/state.d.ts +42 -0
  11. package/dist/auth/state.d.ts.map +1 -0
  12. package/dist/auth/state.js +96 -0
  13. package/dist/auth/state.js.map +1 -0
  14. package/dist/auth/theme-access.d.ts +21 -0
  15. package/dist/auth/theme-access.d.ts.map +1 -0
  16. package/dist/auth/theme-access.js +30 -0
  17. package/dist/auth/theme-access.js.map +1 -0
  18. package/dist/auth/verify.d.ts +44 -0
  19. package/dist/auth/verify.d.ts.map +1 -0
  20. package/dist/auth/verify.js +77 -0
  21. package/dist/auth/verify.js.map +1 -0
  22. package/dist/cli/agent-md-templates.d.ts +16 -0
  23. package/dist/cli/agent-md-templates.d.ts.map +1 -0
  24. package/dist/cli/agent-md-templates.js +311 -0
  25. package/dist/cli/agent-md-templates.js.map +1 -0
  26. package/dist/cli/credentials.d.ts +29 -0
  27. package/dist/cli/credentials.d.ts.map +1 -0
  28. package/dist/cli/credentials.js +66 -0
  29. package/dist/cli/credentials.js.map +1 -0
  30. package/dist/cli/guide-template.d.ts +10 -0
  31. package/dist/cli/guide-template.d.ts.map +1 -0
  32. package/dist/cli/guide-template.js +195 -0
  33. package/dist/cli/guide-template.js.map +1 -0
  34. package/dist/cli/index.d.ts +7 -0
  35. package/dist/cli/index.d.ts.map +1 -0
  36. package/dist/cli/index.js +41 -0
  37. package/dist/cli/index.js.map +1 -0
  38. package/dist/cli/init.d.ts +6 -0
  39. package/dist/cli/init.d.ts.map +1 -0
  40. package/dist/cli/init.js +319 -0
  41. package/dist/cli/init.js.map +1 -0
  42. package/dist/cli/login.d.ts +9 -0
  43. package/dist/cli/login.d.ts.map +1 -0
  44. package/dist/cli/login.js +121 -0
  45. package/dist/cli/login.js.map +1 -0
  46. package/dist/cli/logout.d.ts +9 -0
  47. package/dist/cli/logout.d.ts.map +1 -0
  48. package/dist/cli/logout.js +18 -0
  49. package/dist/cli/logout.js.map +1 -0
  50. package/dist/cli/status.d.ts +9 -0
  51. package/dist/cli/status.d.ts.map +1 -0
  52. package/dist/cli/status.js +31 -0
  53. package/dist/cli/status.js.map +1 -0
  54. package/dist/data/component-props.d.ts +30 -0
  55. package/dist/data/component-props.d.ts.map +1 -0
  56. package/dist/data/component-props.js +537 -0
  57. package/dist/data/component-props.js.map +1 -0
  58. package/dist/data/component-registry.d.ts +30 -0
  59. package/dist/data/component-registry.d.ts.map +1 -0
  60. package/dist/data/component-registry.js +320 -0
  61. package/dist/data/component-registry.js.map +1 -0
  62. package/dist/data/examples/screen-examples.d.ts +38 -0
  63. package/dist/data/examples/screen-examples.d.ts.map +1 -0
  64. package/dist/data/examples/screen-examples.js +500 -0
  65. package/dist/data/examples/screen-examples.js.map +1 -0
  66. package/dist/data/hint-generator.d.ts +16 -0
  67. package/dist/data/hint-generator.d.ts.map +1 -0
  68. package/dist/data/hint-generator.js +298 -0
  69. package/dist/data/hint-generator.js.map +1 -0
  70. package/dist/data/recipe-resolver.d.ts +48 -0
  71. package/dist/data/recipe-resolver.d.ts.map +1 -0
  72. package/dist/data/recipe-resolver.js +226 -0
  73. package/dist/data/recipe-resolver.js.map +1 -0
  74. package/dist/data/template-matcher.d.ts +50 -0
  75. package/dist/data/template-matcher.d.ts.map +1 -0
  76. package/dist/data/template-matcher.js +240 -0
  77. package/dist/data/template-matcher.js.map +1 -0
  78. package/dist/generators/core-resolver.d.ts +56 -0
  79. package/dist/generators/core-resolver.d.ts.map +1 -0
  80. package/dist/generators/core-resolver.js +490 -0
  81. package/dist/generators/core-resolver.js.map +1 -0
  82. package/dist/generators/css-generator.d.ts +49 -0
  83. package/dist/generators/css-generator.d.ts.map +1 -0
  84. package/dist/generators/css-generator.js +294 -0
  85. package/dist/generators/css-generator.js.map +1 -0
  86. package/dist/generators/index.d.ts +13 -0
  87. package/dist/generators/index.d.ts.map +1 -0
  88. package/dist/generators/index.js +16 -0
  89. package/dist/generators/index.js.map +1 -0
  90. package/dist/generators/llm-generator.d.ts +96 -0
  91. package/dist/generators/llm-generator.d.ts.map +1 -0
  92. package/dist/generators/llm-generator.js +296 -0
  93. package/dist/generators/llm-generator.js.map +1 -0
  94. package/dist/index.d.ts +3 -0
  95. package/dist/index.d.ts.map +1 -0
  96. package/dist/index.js +965 -0
  97. package/dist/index.js.map +1 -0
  98. package/dist/prompts/getting-started.d.ts +18 -0
  99. package/dist/prompts/getting-started.d.ts.map +1 -0
  100. package/dist/prompts/getting-started.js +112 -0
  101. package/dist/prompts/getting-started.js.map +1 -0
  102. package/dist/prompts/screen-workflow.d.ts +17 -0
  103. package/dist/prompts/screen-workflow.d.ts.map +1 -0
  104. package/dist/prompts/screen-workflow.js +246 -0
  105. package/dist/prompts/screen-workflow.js.map +1 -0
  106. package/dist/schemas/mcp-schemas.d.ts +4342 -0
  107. package/dist/schemas/mcp-schemas.d.ts.map +1 -0
  108. package/dist/schemas/mcp-schemas.js +989 -0
  109. package/dist/schemas/mcp-schemas.js.map +1 -0
  110. package/dist/storage/blueprint-storage.d.ts +68 -0
  111. package/dist/storage/blueprint-storage.d.ts.map +1 -0
  112. package/dist/storage/blueprint-storage.js +135 -0
  113. package/dist/storage/blueprint-storage.js.map +1 -0
  114. package/dist/storage/timestamp-manager.d.ts +32 -0
  115. package/dist/storage/timestamp-manager.d.ts.map +1 -0
  116. package/dist/storage/timestamp-manager.js +59 -0
  117. package/dist/storage/timestamp-manager.js.map +1 -0
  118. package/dist/tools/export-screen.d.ts +34 -0
  119. package/dist/tools/export-screen.d.ts.map +1 -0
  120. package/dist/tools/export-screen.js +344 -0
  121. package/dist/tools/export-screen.js.map +1 -0
  122. package/dist/tools/generate-blueprint.d.ts +15 -0
  123. package/dist/tools/generate-blueprint.d.ts.map +1 -0
  124. package/dist/tools/generate-blueprint.js +165 -0
  125. package/dist/tools/generate-blueprint.js.map +1 -0
  126. package/dist/tools/generate-screen.d.ts +13 -0
  127. package/dist/tools/generate-screen.d.ts.map +1 -0
  128. package/dist/tools/generate-screen.js +82 -0
  129. package/dist/tools/generate-screen.js.map +1 -0
  130. package/dist/tools/get-screen-generation-context.d.ts +11 -0
  131. package/dist/tools/get-screen-generation-context.d.ts.map +1 -0
  132. package/dist/tools/get-screen-generation-context.js +325 -0
  133. package/dist/tools/get-screen-generation-context.js.map +1 -0
  134. package/dist/tools/list-components.d.ts +15 -0
  135. package/dist/tools/list-components.d.ts.map +1 -0
  136. package/dist/tools/list-components.js +46 -0
  137. package/dist/tools/list-components.js.map +1 -0
  138. package/dist/tools/list-icon-libraries.d.ts +12 -0
  139. package/dist/tools/list-icon-libraries.d.ts.map +1 -0
  140. package/dist/tools/list-icon-libraries.js +48 -0
  141. package/dist/tools/list-icon-libraries.js.map +1 -0
  142. package/dist/tools/list-screen-templates.d.ts +15 -0
  143. package/dist/tools/list-screen-templates.d.ts.map +1 -0
  144. package/dist/tools/list-screen-templates.js +61 -0
  145. package/dist/tools/list-screen-templates.js.map +1 -0
  146. package/dist/tools/list-themes.d.ts +13 -0
  147. package/dist/tools/list-themes.d.ts.map +1 -0
  148. package/dist/tools/list-themes.js +42 -0
  149. package/dist/tools/list-themes.js.map +1 -0
  150. package/dist/tools/list-tokens.d.ts +13 -0
  151. package/dist/tools/list-tokens.d.ts.map +1 -0
  152. package/dist/tools/list-tokens.js +92 -0
  153. package/dist/tools/list-tokens.js.map +1 -0
  154. package/dist/tools/preview-component.d.ts +18 -0
  155. package/dist/tools/preview-component.d.ts.map +1 -0
  156. package/dist/tools/preview-component.js +63 -0
  157. package/dist/tools/preview-component.js.map +1 -0
  158. package/dist/tools/preview-icon-library.d.ts +13 -0
  159. package/dist/tools/preview-icon-library.d.ts.map +1 -0
  160. package/dist/tools/preview-icon-library.js +63 -0
  161. package/dist/tools/preview-icon-library.js.map +1 -0
  162. package/dist/tools/preview-screen-template.d.ts +18 -0
  163. package/dist/tools/preview-screen-template.d.ts.map +1 -0
  164. package/dist/tools/preview-screen-template.js +99 -0
  165. package/dist/tools/preview-screen-template.js.map +1 -0
  166. package/dist/tools/preview-theme.d.ts +15 -0
  167. package/dist/tools/preview-theme.d.ts.map +1 -0
  168. package/dist/tools/preview-theme.js +172 -0
  169. package/dist/tools/preview-theme.js.map +1 -0
  170. package/dist/tools/validate-environment.d.ts +37 -0
  171. package/dist/tools/validate-environment.d.ts.map +1 -0
  172. package/dist/tools/validate-environment.js +153 -0
  173. package/dist/tools/validate-environment.js.map +1 -0
  174. package/dist/tools/validate-screen-definition.d.ts +10 -0
  175. package/dist/tools/validate-screen-definition.d.ts.map +1 -0
  176. package/dist/tools/validate-screen-definition.js +559 -0
  177. package/dist/tools/validate-screen-definition.js.map +1 -0
  178. package/dist/tools/validate-screen.d.ts +13 -0
  179. package/dist/tools/validate-screen.d.ts.map +1 -0
  180. package/dist/tools/validate-screen.js +106 -0
  181. package/dist/tools/validate-screen.js.map +1 -0
  182. package/dist/tools/whoami.d.ts +17 -0
  183. package/dist/tools/whoami.d.ts.map +1 -0
  184. package/dist/tools/whoami.js +65 -0
  185. package/dist/tools/whoami.js.map +1 -0
  186. package/dist/utils/dependency-extractor.d.ts +13 -0
  187. package/dist/utils/dependency-extractor.d.ts.map +1 -0
  188. package/dist/utils/dependency-extractor.js +232 -0
  189. package/dist/utils/dependency-extractor.js.map +1 -0
  190. package/dist/utils/error-handler.d.ts +29 -0
  191. package/dist/utils/error-handler.d.ts.map +1 -0
  192. package/dist/utils/error-handler.js +48 -0
  193. package/dist/utils/error-handler.js.map +1 -0
  194. package/dist/utils/logger.d.ts +8 -0
  195. package/dist/utils/logger.d.ts.map +1 -0
  196. package/dist/utils/logger.js +14 -0
  197. package/dist/utils/logger.js.map +1 -0
  198. package/dist/utils/package-json-reader.d.ts +37 -0
  199. package/dist/utils/package-json-reader.d.ts.map +1 -0
  200. package/dist/utils/package-json-reader.js +108 -0
  201. package/dist/utils/package-json-reader.js.map +1 -0
  202. package/dist/utils/tailwind-config-reader.d.ts +23 -0
  203. package/dist/utils/tailwind-config-reader.d.ts.map +1 -0
  204. package/dist/utils/tailwind-config-reader.js +81 -0
  205. package/dist/utils/tailwind-config-reader.js.map +1 -0
  206. package/package.json +103 -0
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Validate Environment MCP Tool
3
+ * SPEC-MCP-005 Phase 2: Check if user's project has required NPM packages installed
4
+ * SPEC-MCP-005: Tailwind CSS 설정 검증 확장
5
+ */
6
+ import type { ValidateEnvironmentInput, ValidateEnvironmentOutput } from '../schemas/mcp-schemas.js';
7
+ /**
8
+ * Validate user's environment for required dependencies
9
+ *
10
+ * Compares required packages against installed packages in package.json
11
+ * and provides installation commands for missing packages.
12
+ * Optionally validates Tailwind CSS configuration for @framingui/ui compatibility.
13
+ *
14
+ * @param input - Project path and required packages to validate
15
+ * @returns Validation result with installed/missing packages and install commands
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const result = await validateEnvironmentTool({
20
+ * projectPath: '/path/to/project',
21
+ * requiredPackages: ['framer-motion', 'react'],
22
+ * checkTailwind: true
23
+ * });
24
+ *
25
+ * if (result.success && result.missing.length > 0) {
26
+ * console.log(`Missing packages: ${result.missing.join(', ')}`);
27
+ * console.log(`Install with: ${result.installCommands.npm}`);
28
+ * }
29
+ *
30
+ * if (result.tailwind?.issues.length) {
31
+ * console.log('Tailwind issues:', result.tailwind.issues);
32
+ * console.log('Fixes:', result.tailwind.fixes);
33
+ * }
34
+ * ```
35
+ */
36
+ export declare function validateEnvironmentTool(input: ValidateEnvironmentInput): Promise<ValidateEnvironmentOutput>;
37
+ //# sourceMappingURL=validate-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-environment.d.ts","sourceRoot":"","sources":["../../src/tools/validate-environment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC;AAKnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,yBAAyB,CAAC,CAqGpC"}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Validate Environment MCP Tool
3
+ * SPEC-MCP-005 Phase 2: Check if user's project has required NPM packages installed
4
+ * SPEC-MCP-005: Tailwind CSS 설정 검증 확장
5
+ */
6
+ import { readPackageJson } from '../utils/package-json-reader.js';
7
+ import { readTailwindConfig } from '../utils/tailwind-config-reader.js';
8
+ import { extractErrorMessage } from '../utils/error-handler.js';
9
+ /**
10
+ * Validate user's environment for required dependencies
11
+ *
12
+ * Compares required packages against installed packages in package.json
13
+ * and provides installation commands for missing packages.
14
+ * Optionally validates Tailwind CSS configuration for @framingui/ui compatibility.
15
+ *
16
+ * @param input - Project path and required packages to validate
17
+ * @returns Validation result with installed/missing packages and install commands
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const result = await validateEnvironmentTool({
22
+ * projectPath: '/path/to/project',
23
+ * requiredPackages: ['framer-motion', 'react'],
24
+ * checkTailwind: true
25
+ * });
26
+ *
27
+ * if (result.success && result.missing.length > 0) {
28
+ * console.log(`Missing packages: ${result.missing.join(', ')}`);
29
+ * console.log(`Install with: ${result.installCommands.npm}`);
30
+ * }
31
+ *
32
+ * if (result.tailwind?.issues.length) {
33
+ * console.log('Tailwind issues:', result.tailwind.issues);
34
+ * console.log('Fixes:', result.tailwind.fixes);
35
+ * }
36
+ * ```
37
+ */
38
+ export async function validateEnvironmentTool(input) {
39
+ try {
40
+ const { projectPath, requiredPackages, checkTailwind } = input;
41
+ // Step 1: Read package.json from the project
42
+ const readResult = readPackageJson(projectPath);
43
+ if (!readResult.success || !readResult.installedPackages) {
44
+ return {
45
+ success: false,
46
+ error: readResult.error || 'Failed to read package.json',
47
+ };
48
+ }
49
+ const installedPackages = readResult.installedPackages;
50
+ // Step 2: Compare required packages with installed packages
51
+ const installed = {};
52
+ const missing = [];
53
+ for (const packageName of requiredPackages) {
54
+ const version = installedPackages[packageName];
55
+ if (version !== undefined) {
56
+ // Package is installed
57
+ installed[packageName] = version;
58
+ }
59
+ else {
60
+ // Package is missing
61
+ missing.push(packageName);
62
+ }
63
+ }
64
+ // Step 3: Generate install commands for missing packages
65
+ const installCommands = generateInstallCommands(missing);
66
+ // Step 4: Check for potential warnings (optional enhancement)
67
+ const warnings = [];
68
+ // Step 5: Tailwind CSS 설정 검증
69
+ let tailwind;
70
+ if (checkTailwind !== false) {
71
+ const tailwindResult = readTailwindConfig(projectPath);
72
+ const issues = [];
73
+ const fixes = [];
74
+ if (!tailwindResult.found) {
75
+ issues.push('tailwind.config.{ts,js,mjs,cjs} not found in project root');
76
+ fixes.push('Create a tailwind.config.ts file in your project root. ' +
77
+ 'See https://tailwindcss.com/docs/configuration for setup guide.');
78
+ }
79
+ else {
80
+ if (!tailwindResult.hasUiContentPath) {
81
+ issues.push('tailwind.config content paths do not include @framingui/ui — ' +
82
+ 'component styles (Dialog, AlertDialog, Popover, etc.) will not be compiled');
83
+ fixes.push("Add '../../packages/ui/src/**/*.{ts,tsx}' (monorepo) or " +
84
+ "'node_modules/@framingui/ui/dist/**/*.{js,ts,jsx,tsx}' (standalone) " +
85
+ 'to the content array in your tailwind.config');
86
+ }
87
+ if (!tailwindResult.hasAnimatePlugin) {
88
+ issues.push('tailwindcss-animate plugin is not configured — ' +
89
+ 'Radix UI component animations (Dialog open/close, Popover, Tooltip) will not work');
90
+ fixes.push('Install tailwindcss-animate (npm install tailwindcss-animate) and add it to plugins array: ' +
91
+ "import animate from 'tailwindcss-animate'; plugins: [animate]");
92
+ }
93
+ }
94
+ tailwind = {
95
+ configFound: tailwindResult.found,
96
+ configPath: tailwindResult.configPath,
97
+ hasUiContentPath: tailwindResult.hasUiContentPath,
98
+ hasAnimatePlugin: tailwindResult.hasAnimatePlugin,
99
+ issues,
100
+ fixes,
101
+ };
102
+ }
103
+ return {
104
+ success: true,
105
+ installed,
106
+ missing,
107
+ installCommands,
108
+ warnings: warnings.length > 0 ? warnings : undefined,
109
+ tailwind,
110
+ };
111
+ }
112
+ catch (error) {
113
+ return {
114
+ success: false,
115
+ error: extractErrorMessage(error),
116
+ };
117
+ }
118
+ }
119
+ /**
120
+ * Generate installation commands for multiple package managers
121
+ *
122
+ * @param packages - Array of package names to install
123
+ * @returns Install commands for npm, yarn, pnpm, and bun
124
+ *
125
+ * @example
126
+ * ```typescript
127
+ * const commands = generateInstallCommands(['react', 'react-dom']);
128
+ * // {
129
+ * // npm: 'npm install react react-dom',
130
+ * // yarn: 'yarn add react react-dom',
131
+ * // pnpm: 'pnpm add react react-dom',
132
+ * // bun: 'bun add react react-dom'
133
+ * // }
134
+ * ```
135
+ */
136
+ function generateInstallCommands(packages) {
137
+ if (packages.length === 0) {
138
+ return {
139
+ npm: '',
140
+ yarn: '',
141
+ pnpm: '',
142
+ bun: '',
143
+ };
144
+ }
145
+ const packageList = packages.join(' ');
146
+ return {
147
+ npm: `npm install ${packageList}`,
148
+ yarn: `yarn add ${packageList}`,
149
+ pnpm: `pnpm add ${packageList}`,
150
+ bun: `bun add ${packageList}`,
151
+ };
152
+ }
153
+ //# sourceMappingURL=validate-environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-environment.js","sourceRoot":"","sources":["../../src/tools/validate-environment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Validate Screen Definition MCP Tool
3
+ * SPEC-MCP-004 Phase 3.5: Validates screen definitions with helpful feedback
4
+ */
5
+ import type { ValidateScreenDefinitionInput, ValidateScreenDefinitionOutput } from '../schemas/mcp-schemas.js';
6
+ /**
7
+ * Validate Screen Definition tool implementation
8
+ */
9
+ export declare function validateScreenDefinitionTool(input: ValidateScreenDefinitionInput): Promise<ValidateScreenDefinitionOutput>;
10
+ //# sourceMappingURL=validate-screen-definition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-screen-definition.d.ts","sourceRoot":"","sources":["../../src/tools/validate-screen-definition.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,6BAA6B,EAC7B,8BAA8B,EAK/B,MAAM,2BAA2B,CAAC;AAqgBnC;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,8BAA8B,CAAC,CA0HzC"}