@visualprd/mcp-server 1.1.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 (58) hide show
  1. package/README.md +396 -0
  2. package/dist/cli.d.ts +9 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +27 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/index.d.ts +20 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +243 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/intelligence/context-optimizer.d.ts +93 -0
  11. package/dist/intelligence/context-optimizer.d.ts.map +1 -0
  12. package/dist/intelligence/context-optimizer.js +481 -0
  13. package/dist/intelligence/context-optimizer.js.map +1 -0
  14. package/dist/intelligence/error-analyzer.d.ts +49 -0
  15. package/dist/intelligence/error-analyzer.d.ts.map +1 -0
  16. package/dist/intelligence/error-analyzer.js +765 -0
  17. package/dist/intelligence/error-analyzer.js.map +1 -0
  18. package/dist/intelligence/gap-filler.d.ts +56 -0
  19. package/dist/intelligence/gap-filler.d.ts.map +1 -0
  20. package/dist/intelligence/gap-filler.js +410 -0
  21. package/dist/intelligence/gap-filler.js.map +1 -0
  22. package/dist/intelligence/guidance-generator.d.ts +43 -0
  23. package/dist/intelligence/guidance-generator.d.ts.map +1 -0
  24. package/dist/intelligence/guidance-generator.js +314 -0
  25. package/dist/intelligence/guidance-generator.js.map +1 -0
  26. package/dist/intelligence/index.d.ts +132 -0
  27. package/dist/intelligence/index.d.ts.map +1 -0
  28. package/dist/intelligence/index.js +683 -0
  29. package/dist/intelligence/index.js.map +1 -0
  30. package/dist/server-http.d.ts +9 -0
  31. package/dist/server-http.d.ts.map +1 -0
  32. package/dist/server-http.js +141 -0
  33. package/dist/server-http.js.map +1 -0
  34. package/dist/services/api-key-service.d.ts +68 -0
  35. package/dist/services/api-key-service.d.ts.map +1 -0
  36. package/dist/services/api-key-service.js +298 -0
  37. package/dist/services/api-key-service.js.map +1 -0
  38. package/dist/services/llm-client.d.ts +66 -0
  39. package/dist/services/llm-client.d.ts.map +1 -0
  40. package/dist/services/llm-client.js +141 -0
  41. package/dist/services/llm-client.js.map +1 -0
  42. package/dist/services/model-registry.d.ts +135 -0
  43. package/dist/services/model-registry.d.ts.map +1 -0
  44. package/dist/services/model-registry.js +276 -0
  45. package/dist/services/model-registry.js.map +1 -0
  46. package/dist/services/visualprd-client.d.ts +191 -0
  47. package/dist/services/visualprd-client.d.ts.map +1 -0
  48. package/dist/services/visualprd-client.js +805 -0
  49. package/dist/services/visualprd-client.js.map +1 -0
  50. package/dist/tools/index.d.ts +803 -0
  51. package/dist/tools/index.d.ts.map +1 -0
  52. package/dist/tools/index.js +570 -0
  53. package/dist/tools/index.js.map +1 -0
  54. package/dist/types/index.d.ts +497 -0
  55. package/dist/types/index.d.ts.map +1 -0
  56. package/dist/types/index.js +8 -0
  57. package/dist/types/index.js.map +1 -0
  58. package/package.json +48 -0
@@ -0,0 +1,314 @@
1
+ "use strict";
2
+ /**
3
+ * Guidance Generator
4
+ *
5
+ * Generates contextual guidance, technical considerations,
6
+ * and potential issues for each build step.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.GuidanceGenerator = void 0;
10
+ class GuidanceGenerator {
11
+ /**
12
+ * Generate contextual guidance for a build prompt
13
+ */
14
+ generateGuidance(context) {
15
+ const { prompt, projectData } = context;
16
+ return {
17
+ technicalConsiderations: this.getTechnicalConsiderations(context),
18
+ potentialIssues: this.getPotentialIssues(context),
19
+ testingCriteria: this.getTestingCriteria(context),
20
+ relatedPatterns: this.getRelatedPatterns(context),
21
+ suggestedApproach: this.getSuggestedApproach(context),
22
+ };
23
+ }
24
+ /**
25
+ * Get technical considerations based on the prompt and tech stack
26
+ */
27
+ getTechnicalConsiderations(context) {
28
+ const considerations = [];
29
+ const { prompt, projectData, relatedSchemas, relatedEndpoints, relatedTechStack } = context;
30
+ const title = prompt.title.toLowerCase();
31
+ const instruction = (prompt.instruction || '').toLowerCase();
32
+ const fullText = `${title} ${instruction}`;
33
+ // Tech stack specific considerations
34
+ for (const tech of relatedTechStack) {
35
+ const techName = tech.name.toLowerCase();
36
+ if (techName.includes('firebase') || techName.includes('firestore')) {
37
+ if (fullText.includes('auth')) {
38
+ considerations.push('Use Firebase Auth SDK for authentication (signInWithEmailAndPassword, createUserWithEmailAndPassword)');
39
+ considerations.push('Store auth state in context/provider for app-wide access');
40
+ }
41
+ if (fullText.includes('database') || fullText.includes('data')) {
42
+ considerations.push('Use Firestore collection references with proper document paths');
43
+ considerations.push('Consider using onSnapshot for real-time updates where appropriate');
44
+ }
45
+ }
46
+ if (techName.includes('react') || techName.includes('next')) {
47
+ considerations.push('Use React hooks (useState, useEffect) for state and lifecycle');
48
+ if (fullText.includes('form')) {
49
+ considerations.push('Consider using react-hook-form or Zod for form validation');
50
+ }
51
+ }
52
+ if (techName.includes('tailwind')) {
53
+ considerations.push('Use Tailwind utility classes following design system colors and spacing');
54
+ }
55
+ if (techName.includes('typescript')) {
56
+ considerations.push('Define TypeScript interfaces for all data structures');
57
+ considerations.push('Use proper typing for function parameters and return values');
58
+ }
59
+ }
60
+ // Schema-specific considerations
61
+ for (const schema of relatedSchemas) {
62
+ if (schema.relationships?.length) {
63
+ considerations.push(`${schema.collectionName} has relationships - ensure proper data fetching for related collections`);
64
+ }
65
+ if (schema.securityRules) {
66
+ considerations.push(`Review Firestore security rules for ${schema.collectionName} before testing`);
67
+ }
68
+ }
69
+ // Endpoint-specific considerations
70
+ for (const endpoint of relatedEndpoints) {
71
+ if (endpoint.authentication) {
72
+ considerations.push(`${endpoint.name} requires authentication - ensure auth token is passed`);
73
+ }
74
+ if (endpoint.rateLimiting) {
75
+ considerations.push(`${endpoint.name} has rate limiting - implement proper error handling`);
76
+ }
77
+ }
78
+ // Category-specific considerations
79
+ if (prompt.category === 'pages') {
80
+ considerations.push('Ensure page follows design system for consistent UI');
81
+ considerations.push('Handle loading, error, and empty states for data-driven pages');
82
+ }
83
+ if (prompt.category === 'database') {
84
+ considerations.push('Create indexes for fields used in queries');
85
+ considerations.push('Consider field validation at the schema level');
86
+ }
87
+ if (prompt.category === 'integration') {
88
+ considerations.push('Implement proper error handling for API calls');
89
+ considerations.push('Add loading states while fetching data');
90
+ }
91
+ // Deduplicate and limit
92
+ return [...new Set(considerations)].slice(0, 8);
93
+ }
94
+ /**
95
+ * Identify potential issues the developer might encounter
96
+ */
97
+ getPotentialIssues(context) {
98
+ const issues = [];
99
+ const { prompt, projectData, relatedSchemas, relatedEndpoints } = context;
100
+ const title = prompt.title.toLowerCase();
101
+ const instruction = (prompt.instruction || '').toLowerCase();
102
+ const fullText = `${title} ${instruction}`;
103
+ // Auth-related issues
104
+ if (fullText.includes('auth') || fullText.includes('login')) {
105
+ issues.push('Remember to handle auth state persistence across page refreshes');
106
+ issues.push('Test with both valid and invalid credentials');
107
+ if (!projectData.pages.some(p => p.pageName.toLowerCase().includes('reset') ||
108
+ p.pageName.toLowerCase().includes('forgot'))) {
109
+ issues.push('Password reset flow may not be defined - consider adding');
110
+ }
111
+ }
112
+ // Form-related issues
113
+ if (fullText.includes('form') || fullText.includes('input')) {
114
+ issues.push('Ensure form validation on both client and server side');
115
+ issues.push('Handle form submission loading and error states');
116
+ }
117
+ // Data fetching issues
118
+ if (fullText.includes('fetch') || fullText.includes('load') || fullText.includes('get')) {
119
+ issues.push('Handle network errors and timeout scenarios');
120
+ issues.push('Add proper loading indicators during data fetch');
121
+ }
122
+ // Schema-related issues
123
+ for (const schema of relatedSchemas) {
124
+ // Check for fields that might cause issues
125
+ const sensitiveFields = schema.fields?.filter(f => f.fieldName.toLowerCase().includes('password') ||
126
+ f.fieldName.toLowerCase().includes('secret') ||
127
+ f.fieldName.toLowerCase().includes('token'));
128
+ if (sensitiveFields?.length) {
129
+ issues.push(`${schema.collectionName} contains sensitive fields - never expose in client responses`);
130
+ }
131
+ // Check for timestamp fields
132
+ const hasTimestamps = schema.fields?.some(f => f.fieldName.toLowerCase().includes('createdat') ||
133
+ f.fieldName.toLowerCase().includes('updatedat'));
134
+ if (!hasTimestamps) {
135
+ issues.push(`${schema.collectionName} may need createdAt/updatedAt timestamps for tracking`);
136
+ }
137
+ }
138
+ // Endpoint-related issues
139
+ for (const endpoint of relatedEndpoints) {
140
+ if (endpoint.method === 'DELETE') {
141
+ issues.push(`${endpoint.name} is a DELETE operation - add confirmation dialog before calling`);
142
+ }
143
+ if (endpoint.method === 'POST' || endpoint.method === 'PUT') {
144
+ issues.push(`Validate request body for ${endpoint.name} before submission`);
145
+ }
146
+ }
147
+ // Mobile/responsive issues for UI
148
+ if (prompt.category === 'pages') {
149
+ issues.push('Test on mobile viewport sizes for responsive design');
150
+ }
151
+ // Deduplicate and limit
152
+ return [...new Set(issues)].slice(0, 6);
153
+ }
154
+ /**
155
+ * Get testing criteria for the prompt
156
+ */
157
+ getTestingCriteria(context) {
158
+ const { prompt, relatedSchemas, relatedEndpoints, relatedPages } = context;
159
+ const criteria = [];
160
+ // Start with prompt's own test criteria (handle both string[] and TestCriterionV2[])
161
+ if (prompt.testCriteria?.length) {
162
+ for (const tc of prompt.testCriteria) {
163
+ if (typeof tc === 'string') {
164
+ criteria.push(tc);
165
+ }
166
+ else if (typeof tc === 'object' && 'criterion' in tc) {
167
+ // V2 format - extract the criterion string
168
+ criteria.push(tc.criterion);
169
+ }
170
+ }
171
+ }
172
+ const title = prompt.title.toLowerCase();
173
+ const instruction = (prompt.instruction || '').toLowerCase();
174
+ const fullText = `${title} ${instruction}`;
175
+ // Auth testing
176
+ if (fullText.includes('auth') || fullText.includes('login')) {
177
+ criteria.push('User can successfully log in with valid credentials');
178
+ criteria.push('Invalid credentials show appropriate error message');
179
+ criteria.push('Protected routes redirect unauthenticated users to login');
180
+ }
181
+ // Form testing
182
+ if (fullText.includes('form')) {
183
+ criteria.push('Form validates required fields before submission');
184
+ criteria.push('Success message displayed after successful submission');
185
+ criteria.push('Error state handled and displayed properly');
186
+ }
187
+ // Page testing
188
+ for (const page of relatedPages) {
189
+ criteria.push(`${page.pageName} renders without errors`);
190
+ if (page.stateManagement?.length) {
191
+ criteria.push(`${page.pageName} state updates correctly on user interaction`);
192
+ }
193
+ }
194
+ // Endpoint testing
195
+ for (const endpoint of relatedEndpoints) {
196
+ criteria.push(`${endpoint.name} returns expected response structure`);
197
+ if (endpoint.authentication) {
198
+ criteria.push(`${endpoint.name} requires authentication to access`);
199
+ }
200
+ }
201
+ // Schema testing
202
+ for (const schema of relatedSchemas) {
203
+ const requiredFields = schema.fields?.filter(f => f.required) || [];
204
+ if (requiredFields.length) {
205
+ criteria.push(`${schema.collectionName} documents have all required fields: ${requiredFields.map(f => f.fieldName).join(', ')}`);
206
+ }
207
+ }
208
+ // General testing based on category
209
+ if (prompt.category === 'pages') {
210
+ criteria.push('Page is responsive on mobile and desktop');
211
+ criteria.push('Page follows design system styling');
212
+ }
213
+ if (prompt.category === 'integration') {
214
+ criteria.push('API calls handle loading and error states');
215
+ criteria.push('Data persists correctly in database');
216
+ }
217
+ // Deduplicate and limit
218
+ return [...new Set(criteria)].slice(0, 8);
219
+ }
220
+ /**
221
+ * Get related patterns from the codebase
222
+ */
223
+ getRelatedPatterns(context) {
224
+ const patterns = [];
225
+ const { prompt, projectData } = context;
226
+ const title = prompt.title.toLowerCase();
227
+ const instruction = (prompt.instruction || '').toLowerCase();
228
+ // Find similar completed prompts
229
+ const similarPrompts = projectData.buildPrompts.filter(p => {
230
+ if (p.promptId === prompt.promptId)
231
+ return false;
232
+ if (!p.completed)
233
+ return false;
234
+ const pTitle = p.title.toLowerCase();
235
+ const pInstruction = (p.instruction || '').toLowerCase();
236
+ // Same category
237
+ if (p.category === prompt.category)
238
+ return true;
239
+ // Similar keywords
240
+ const keywords = ['form', 'list', 'detail', 'auth', 'crud', 'api', 'fetch'];
241
+ return keywords.some(kw => (title.includes(kw) && pTitle.includes(kw)) ||
242
+ (instruction.includes(kw) && pInstruction.includes(kw)));
243
+ });
244
+ for (const similar of similarPrompts.slice(0, 3)) {
245
+ patterns.push(`See "${similar.title}" (completed) for similar implementation pattern`);
246
+ }
247
+ // Common patterns based on type
248
+ if (title.includes('list') || title.includes('table')) {
249
+ patterns.push('Use pagination or infinite scroll for large data sets');
250
+ patterns.push('Implement loading skeletons while fetching data');
251
+ }
252
+ if (title.includes('form')) {
253
+ patterns.push('Use controlled components with proper validation');
254
+ patterns.push('Disable submit button during form submission');
255
+ }
256
+ if (title.includes('modal') || title.includes('dialog')) {
257
+ patterns.push('Use portal for proper z-index stacking');
258
+ patterns.push('Trap focus within modal for accessibility');
259
+ }
260
+ return patterns.slice(0, 5);
261
+ }
262
+ /**
263
+ * Get suggested approach for the prompt
264
+ */
265
+ getSuggestedApproach(context) {
266
+ const { prompt, relatedPages, relatedSchemas, relatedEndpoints, relatedTechStack } = context;
267
+ const title = prompt.title.toLowerCase();
268
+ const category = prompt.category;
269
+ // Build approach based on what we're implementing
270
+ const steps = [];
271
+ // Initial setup
272
+ if (category === 'pages' && relatedPages.length) {
273
+ const page = relatedPages[0];
274
+ steps.push(`1. Create ${page.pageName} component with basic structure`);
275
+ if (page.components?.length) {
276
+ steps.push(`2. Build child components: ${page.components.map(c => c.componentName).join(', ')}`);
277
+ }
278
+ }
279
+ if (category === 'database' && relatedSchemas.length) {
280
+ const schema = relatedSchemas[0];
281
+ steps.push(`1. Define TypeScript interface for ${schema.collectionName}`);
282
+ steps.push(`2. Create Firestore collection reference and helper functions`);
283
+ }
284
+ if (category === 'integration' && relatedEndpoints.length) {
285
+ steps.push('1. Create API service module with typed functions');
286
+ steps.push('2. Implement each endpoint with proper error handling');
287
+ steps.push('3. Add loading states to consuming components');
288
+ }
289
+ // Common steps
290
+ if (title.includes('auth')) {
291
+ steps.push('Setup Firebase Auth integration with context provider');
292
+ steps.push('Create auth hooks (useAuth) for easy state access');
293
+ steps.push('Implement protected route wrapper component');
294
+ }
295
+ if (title.includes('form')) {
296
+ steps.push('Define form schema with validation rules');
297
+ steps.push('Create form component with controlled inputs');
298
+ steps.push('Handle submission with loading and error states');
299
+ }
300
+ // Tech stack specific
301
+ const hasFirebase = relatedTechStack.some(t => t.name.toLowerCase().includes('firebase'));
302
+ if (hasFirebase) {
303
+ steps.push('Initialize Firebase services in lib/firebase.ts if not already');
304
+ }
305
+ // Final steps
306
+ steps.push('Write tests for main functionality');
307
+ steps.push('Test edge cases and error scenarios');
308
+ return steps.length > 0
309
+ ? `Suggested approach:\n${steps.map((s, i) => `${i + 1}. ${s.replace(/^\d+\.\s*/, '')}`).join('\n')}`
310
+ : prompt.instruction || 'Follow the build prompt instructions to complete this step.';
311
+ }
312
+ }
313
+ exports.GuidanceGenerator = GuidanceGenerator;
314
+ //# sourceMappingURL=guidance-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guidance-generator.js","sourceRoot":"","sources":["../../src/intelligence/guidance-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Intelligence Layer
3
+ *
4
+ * The brain of the MCP server - orchestrates context optimization,
5
+ * error analysis, gap filling, and guidance generation.
6
+ */
7
+ import { ErrorAnalysisResult } from './error-analyzer.js';
8
+ import { BuildPrompt, ReportErrorRequest, GetNextStepResponse, ValidationIssue, ProjectConfig } from '../types/index.js';
9
+ import { VisualPRDClient } from '../services/visualprd-client.js';
10
+ export declare class IntelligenceLayer {
11
+ private contextOptimizer;
12
+ private errorAnalyzer;
13
+ private gapFiller;
14
+ private guidanceGenerator;
15
+ private client;
16
+ private llmClient;
17
+ private config;
18
+ private cache;
19
+ private readonly CACHE_TTL_MS;
20
+ constructor(client: VisualPRDClient, config?: ProjectConfig);
21
+ /**
22
+ * Update the thinking model dynamically
23
+ */
24
+ setThinkingModel(model: string): void;
25
+ /**
26
+ * Set intelligence mode (fast = rule-based, deep = AI)
27
+ */
28
+ setIntelligenceMode(mode: 'fast' | 'deep'): void;
29
+ /**
30
+ * Get the underlying VisualPRD client for direct V2 method access
31
+ */
32
+ getClient(): VisualPRDClient;
33
+ /**
34
+ * Check if AI mode is available and enabled
35
+ */
36
+ private isAIModeEnabled;
37
+ /**
38
+ * Get the next build step with full intelligent context
39
+ */
40
+ getNextBuildStep(): Promise<GetNextStepResponse>;
41
+ /**
42
+ * Validate and mark a step as complete
43
+ */
44
+ markStepComplete(promptId: string, completionData: {
45
+ completionNotes?: string;
46
+ filesCreated?: string[];
47
+ testResults?: {
48
+ passed: number;
49
+ failed: number;
50
+ };
51
+ }): Promise<{
52
+ success: boolean;
53
+ validationIssues: ValidationIssue[];
54
+ nextStep?: GetNextStepResponse;
55
+ message: string;
56
+ }>;
57
+ /**
58
+ * Analyze an error and provide fixes
59
+ */
60
+ analyzeError(error: ReportErrorRequest): Promise<ErrorAnalysisResult & {
61
+ message: string;
62
+ }>;
63
+ /**
64
+ * Get detailed information about an entity
65
+ */
66
+ getEntityDetails(entityType: 'page' | 'schema' | 'endpoint' | 'tech', entityId: string, options?: {
67
+ includeRelationships?: boolean;
68
+ includeUsageExamples?: boolean;
69
+ }): Promise<{
70
+ entity: any;
71
+ entityType: string;
72
+ relationships?: any[];
73
+ usedBy?: {
74
+ pages?: string[];
75
+ endpoints?: string[];
76
+ prompts?: string[];
77
+ };
78
+ usageExamples?: {
79
+ context: string;
80
+ code: string;
81
+ }[];
82
+ }>;
83
+ /**
84
+ * Get debugging suggestions when stuck
85
+ */
86
+ getDebugSuggestions(currentTask: string, issue: string, context?: string): Promise<{
87
+ suggestions: Array<{
88
+ approach: string;
89
+ reasoning: string;
90
+ steps: string[];
91
+ confidence: number;
92
+ }>;
93
+ additionalContext: any;
94
+ missingInformation: string[];
95
+ }>;
96
+ /**
97
+ * Inject a new build step dynamically
98
+ */
99
+ injectDynamicStep(insertAfterPromptId: string, stepData: {
100
+ title: string;
101
+ category: string;
102
+ reason: string;
103
+ instruction: string;
104
+ relatedEntities?: string[];
105
+ estimatedMinutes?: number;
106
+ }): Promise<{
107
+ success: boolean;
108
+ newStep?: BuildPrompt;
109
+ message: string;
110
+ }>;
111
+ /**
112
+ * Select appropriate intelligence tier based on task
113
+ */
114
+ private selectIntelligenceTier;
115
+ private normalize;
116
+ private formatErrorMessage;
117
+ private generateUsageExamples;
118
+ /**
119
+ * Generate AI-powered guidance for a build step
120
+ * Uses completely generic prompts that adapt to any project type
121
+ */
122
+ private generateAIGuidance;
123
+ /**
124
+ * Clear intelligence cache
125
+ */
126
+ clearCache(): void;
127
+ }
128
+ export { ContextOptimizer } from './context-optimizer.js';
129
+ export { ErrorAnalyzer } from './error-analyzer.js';
130
+ export { GapFiller } from './gap-filler.js';
131
+ export { GuidanceGenerator } from './guidance-generator.js';
132
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/intelligence/index.ts"],"names":[],"mappings":"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"}