midas-mcp 5.23.0 → 5.43.1

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 (52) hide show
  1. package/dist/analyzer.d.ts.map +1 -1
  2. package/dist/analyzer.js +9 -2
  3. package/dist/analyzer.js.map +1 -1
  4. package/dist/context.d.ts +264 -5
  5. package/dist/context.d.ts.map +1 -1
  6. package/dist/context.js +634 -7
  7. package/dist/context.js.map +1 -1
  8. package/dist/experiments/recursive-planning/recursive-session.d.ts +201 -0
  9. package/dist/experiments/recursive-planning/recursive-session.d.ts.map +1 -0
  10. package/dist/experiments/recursive-planning/recursive-session.js +348 -0
  11. package/dist/experiments/recursive-planning/recursive-session.js.map +1 -0
  12. package/dist/experiments/recursive-planning/recursive-session.test.d.ts +19 -0
  13. package/dist/experiments/recursive-planning/recursive-session.test.d.ts.map +1 -0
  14. package/dist/experiments/recursive-planning/recursive-session.test.js +799 -0
  15. package/dist/experiments/recursive-planning/recursive-session.test.js.map +1 -0
  16. package/dist/gameplan-tracker.d.ts +63 -0
  17. package/dist/gameplan-tracker.d.ts.map +1 -0
  18. package/dist/gameplan-tracker.js +330 -0
  19. package/dist/gameplan-tracker.js.map +1 -0
  20. package/dist/preflight.d.ts +140 -0
  21. package/dist/preflight.d.ts.map +1 -0
  22. package/dist/preflight.js +1100 -0
  23. package/dist/preflight.js.map +1 -0
  24. package/dist/security.d.ts.map +1 -1
  25. package/dist/security.js +22 -2
  26. package/dist/security.js.map +1 -1
  27. package/dist/server.d.ts.map +1 -1
  28. package/dist/server.js +9 -4
  29. package/dist/server.js.map +1 -1
  30. package/dist/state/phase.d.ts.map +1 -1
  31. package/dist/state/phase.js +58 -8
  32. package/dist/state/phase.js.map +1 -1
  33. package/dist/tools/gameplan.d.ts +49 -0
  34. package/dist/tools/gameplan.d.ts.map +1 -0
  35. package/dist/tools/gameplan.js +79 -0
  36. package/dist/tools/gameplan.js.map +1 -0
  37. package/dist/tools/index.d.ts +2 -1
  38. package/dist/tools/index.d.ts.map +1 -1
  39. package/dist/tools/index.js +6 -2
  40. package/dist/tools/index.js.map +1 -1
  41. package/dist/tools/preflight.d.ts +121 -0
  42. package/dist/tools/preflight.d.ts.map +1 -0
  43. package/dist/tools/preflight.js +144 -0
  44. package/dist/tools/preflight.js.map +1 -0
  45. package/dist/tools/verify.js +2 -2
  46. package/dist/tools/verify.js.map +1 -1
  47. package/dist/tracker.d.ts.map +1 -1
  48. package/dist/tracker.js +38 -2
  49. package/dist/tracker.js.map +1 -1
  50. package/dist/tui.js +53 -53
  51. package/dist/tui.js.map +1 -1
  52. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recursive-session.test.js","sourceRoot":"","sources":["../../../src/experiments/recursive-planning/recursive-session.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Gameplan Tracker
3
+ *
4
+ * Intelligently tracks progress through the gameplan by:
5
+ * 1. Parsing tasks from gameplan.md (checkbox items)
6
+ * 2. Cross-referencing tasks against actual code
7
+ * 3. Detecting what's done vs what's missing
8
+ * 4. Detecting scope creep (code not in plan)
9
+ */
10
+ export interface GameplanTask {
11
+ id: string;
12
+ text: string;
13
+ completed: boolean;
14
+ phase?: string;
15
+ priority?: 'high' | 'medium' | 'low';
16
+ relatedFiles?: string[];
17
+ confidence: number;
18
+ implementationStatus: 'not_started' | 'partial' | 'complete' | 'unknown';
19
+ }
20
+ export interface GameplanAnalysis {
21
+ totalTasks: number;
22
+ completedTasks: number;
23
+ implementedTasks: number;
24
+ tasks: GameplanTask[];
25
+ documentProgress: number;
26
+ actualProgress: number;
27
+ progressMatch: boolean;
28
+ missingImplementation: GameplanTask[];
29
+ scopeCreep: string[];
30
+ summary: string;
31
+ nextTask?: GameplanTask;
32
+ }
33
+ /**
34
+ * Parse tasks from gameplan content.
35
+ * Supports multiple formats:
36
+ * - [ ] Task description
37
+ * - [x] Completed task
38
+ * - 1. Task description (numbered)
39
+ * - - Task description (bullet)
40
+ */
41
+ export declare function parseGameplanTasks(content: string): GameplanTask[];
42
+ /**
43
+ * Analyze gameplan and cross-reference with codebase
44
+ */
45
+ export declare function analyzeGameplan(projectPath: string): GameplanAnalysis;
46
+ /**
47
+ * Get a simple progress summary
48
+ */
49
+ export declare function getGameplanProgress(projectPath: string): {
50
+ documented: number;
51
+ actual: number;
52
+ discrepancy: boolean;
53
+ nextSuggested?: string;
54
+ };
55
+ /**
56
+ * Check if gameplan tasks align with code
57
+ */
58
+ export declare function validateGameplanProgress(projectPath: string): {
59
+ valid: boolean;
60
+ warnings: string[];
61
+ suggestions: string[];
62
+ };
63
+ //# sourceMappingURL=gameplan-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gameplan-tracker.d.ts","sourceRoot":"","sources":["../src/gameplan-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IAGrC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;CAC1E;AAED,MAAM,WAAW,gBAAgB;IAE/B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IAGzB,KAAK,EAAE,YAAY,EAAE,CAAC;IAGtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IAGvB,qBAAqB,EAAE,YAAY,EAAE,CAAC;IACtC,UAAU,EAAE,MAAM,EAAE,CAAC;IAGrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAMD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAqDlE;AAuHD;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,CAqIrE;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG;IACxD,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAQA;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG;IAC7D,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAiCA"}
@@ -0,0 +1,330 @@
1
+ /**
2
+ * Gameplan Tracker
3
+ *
4
+ * Intelligently tracks progress through the gameplan by:
5
+ * 1. Parsing tasks from gameplan.md (checkbox items)
6
+ * 2. Cross-referencing tasks against actual code
7
+ * 3. Detecting what's done vs what's missing
8
+ * 4. Detecting scope creep (code not in plan)
9
+ */
10
+ import { sanitizePath } from './security.js';
11
+ import { discoverDocsSync } from './docs-discovery.js';
12
+ import { discoverSourceFiles } from './code-discovery.js';
13
+ // ============================================================================
14
+ // TASK PARSING
15
+ // ============================================================================
16
+ /**
17
+ * Parse tasks from gameplan content.
18
+ * Supports multiple formats:
19
+ * - [ ] Task description
20
+ * - [x] Completed task
21
+ * - 1. Task description (numbered)
22
+ * - - Task description (bullet)
23
+ */
24
+ export function parseGameplanTasks(content) {
25
+ const tasks = [];
26
+ const lines = content.split('\n');
27
+ let currentPhase;
28
+ for (const line of lines) {
29
+ // Detect phase headers (## Phase 1: Setup, ### Implementation, etc.)
30
+ const phaseMatch = line.match(/^#{1,4}\s*(?:Phase\s*\d+[:\s]*)?(.+)/i);
31
+ if (phaseMatch) {
32
+ currentPhase = phaseMatch[1].trim();
33
+ continue;
34
+ }
35
+ // Checkbox tasks: - [ ] or - [x] or * [ ] or * [x]
36
+ const checkboxMatch = line.match(/^[\s]*[-*]\s*\[([ xX])\]\s*(.+)/);
37
+ if (checkboxMatch) {
38
+ const completed = checkboxMatch[1].toLowerCase() === 'x';
39
+ const text = checkboxMatch[2].trim();
40
+ tasks.push({
41
+ id: generateTaskId(text),
42
+ text,
43
+ completed,
44
+ phase: currentPhase,
45
+ priority: inferPriority(text),
46
+ confidence: 0,
47
+ implementationStatus: 'unknown',
48
+ });
49
+ continue;
50
+ }
51
+ // Numbered tasks: 1. Task or 1) Task
52
+ const numberedMatch = line.match(/^[\s]*\d+[.)]\s+(.+)/);
53
+ if (numberedMatch && !line.includes('[')) {
54
+ const text = numberedMatch[1].trim();
55
+ // Skip if it looks like a header or section
56
+ if (text.length < 5 || text.endsWith(':'))
57
+ continue;
58
+ tasks.push({
59
+ id: generateTaskId(text),
60
+ text,
61
+ completed: false, // No way to mark numbered items as done
62
+ phase: currentPhase,
63
+ priority: inferPriority(text),
64
+ confidence: 0,
65
+ implementationStatus: 'unknown',
66
+ });
67
+ }
68
+ }
69
+ return tasks;
70
+ }
71
+ function generateTaskId(text) {
72
+ // Simple hash for stable IDs
73
+ let hash = 0;
74
+ for (let i = 0; i < text.length; i++) {
75
+ const char = text.charCodeAt(i);
76
+ hash = ((hash << 5) - hash) + char;
77
+ hash = hash & hash;
78
+ }
79
+ return Math.abs(hash).toString(36);
80
+ }
81
+ function inferPriority(text) {
82
+ const lower = text.toLowerCase();
83
+ if (lower.includes('critical') || lower.includes('must') || lower.includes('p0') || lower.includes('blocker')) {
84
+ return 'high';
85
+ }
86
+ if (lower.includes('nice to have') || lower.includes('optional') || lower.includes('p2') || lower.includes('later')) {
87
+ return 'low';
88
+ }
89
+ return 'medium';
90
+ }
91
+ // ============================================================================
92
+ // CODE CORRELATION
93
+ // ============================================================================
94
+ /**
95
+ * Extract keywords from a task for code matching
96
+ */
97
+ function extractKeywords(text) {
98
+ // Remove common words, keep meaningful terms
99
+ const stopWords = new Set([
100
+ 'the', 'a', 'an', 'and', 'or', 'but', 'in', 'on', 'at', 'to', 'for',
101
+ 'of', 'with', 'by', 'from', 'up', 'about', 'into', 'through', 'during',
102
+ 'implement', 'add', 'create', 'build', 'setup', 'configure', 'write',
103
+ 'make', 'update', 'fix', 'refactor', 'should', 'must', 'will', 'can',
104
+ ]);
105
+ const words = text.toLowerCase()
106
+ .replace(/[^a-z0-9\s]/g, ' ')
107
+ .split(/\s+/)
108
+ .filter(w => w.length > 2 && !stopWords.has(w));
109
+ return [...new Set(words)];
110
+ }
111
+ /**
112
+ * Score how well a file matches a task
113
+ */
114
+ function scoreFileMatch(filePath, fileContent, keywords) {
115
+ let score = 0;
116
+ const lowerPath = filePath.toLowerCase();
117
+ const lowerContent = fileContent.toLowerCase();
118
+ for (const keyword of keywords) {
119
+ // File path contains keyword (strong signal)
120
+ if (lowerPath.includes(keyword)) {
121
+ score += 30;
122
+ }
123
+ // File content contains keyword
124
+ if (lowerContent.includes(keyword)) {
125
+ score += 10;
126
+ }
127
+ // Function/class name matches (very strong)
128
+ const funcPattern = new RegExp(`(function|class|const|let|var)\\s+\\w*${keyword}\\w*`, 'i');
129
+ if (funcPattern.test(lowerContent)) {
130
+ score += 40;
131
+ }
132
+ }
133
+ // Normalize to 0-100
134
+ return Math.min(100, score);
135
+ }
136
+ /**
137
+ * Find files that might implement a task
138
+ */
139
+ function findRelatedFiles(task, sourceFiles) {
140
+ const keywords = extractKeywords(task.text);
141
+ if (keywords.length === 0) {
142
+ return { files: [], confidence: 0 };
143
+ }
144
+ const matches = [];
145
+ for (const file of sourceFiles) {
146
+ if (!file.content)
147
+ continue;
148
+ const score = scoreFileMatch(file.path, file.content, keywords);
149
+ if (score > 20) {
150
+ matches.push({ path: file.path, score });
151
+ }
152
+ }
153
+ // Sort by score, take top 3
154
+ matches.sort((a, b) => b.score - a.score);
155
+ const topMatches = matches.slice(0, 3);
156
+ const avgScore = topMatches.length > 0
157
+ ? topMatches.reduce((sum, m) => sum + m.score, 0) / topMatches.length
158
+ : 0;
159
+ return {
160
+ files: topMatches.map(m => m.path),
161
+ confidence: Math.round(avgScore),
162
+ };
163
+ }
164
+ // ============================================================================
165
+ // MAIN ANALYSIS
166
+ // ============================================================================
167
+ /**
168
+ * Analyze gameplan and cross-reference with codebase
169
+ */
170
+ export function analyzeGameplan(projectPath) {
171
+ const safePath = sanitizePath(projectPath);
172
+ // Find gameplan document
173
+ const docsResult = discoverDocsSync(safePath);
174
+ const gameplanDoc = docsResult.gameplan;
175
+ if (!gameplanDoc) {
176
+ return {
177
+ totalTasks: 0,
178
+ completedTasks: 0,
179
+ implementedTasks: 0,
180
+ tasks: [],
181
+ documentProgress: 0,
182
+ actualProgress: 0,
183
+ progressMatch: true,
184
+ missingImplementation: [],
185
+ scopeCreep: [],
186
+ summary: 'No gameplan document found',
187
+ };
188
+ }
189
+ // Parse tasks from gameplan
190
+ const tasks = parseGameplanTasks(gameplanDoc.content);
191
+ if (tasks.length === 0) {
192
+ return {
193
+ totalTasks: 0,
194
+ completedTasks: 0,
195
+ implementedTasks: 0,
196
+ tasks: [],
197
+ documentProgress: 0,
198
+ actualProgress: 0,
199
+ progressMatch: true,
200
+ missingImplementation: [],
201
+ scopeCreep: [],
202
+ summary: 'Gameplan exists but no tasks found. Use checkbox format: - [ ] Task',
203
+ };
204
+ }
205
+ // Get source files for correlation
206
+ const sourceFiles = discoverSourceFiles(safePath);
207
+ const filesWithContent = sourceFiles.map(f => ({
208
+ path: f.path,
209
+ content: f.content,
210
+ }));
211
+ // Correlate tasks with code
212
+ let implementedCount = 0;
213
+ const missingImplementation = [];
214
+ for (const task of tasks) {
215
+ const { files, confidence } = findRelatedFiles(task, filesWithContent);
216
+ task.relatedFiles = files;
217
+ task.confidence = confidence;
218
+ // Determine implementation status
219
+ if (confidence >= 60) {
220
+ task.implementationStatus = 'complete';
221
+ implementedCount++;
222
+ }
223
+ else if (confidence >= 30) {
224
+ task.implementationStatus = 'partial';
225
+ implementedCount += 0.5; // Count partial as half
226
+ }
227
+ else {
228
+ task.implementationStatus = 'not_started';
229
+ // If marked complete in doc but no code found, flag it
230
+ if (task.completed) {
231
+ missingImplementation.push(task);
232
+ }
233
+ }
234
+ }
235
+ // Detect scope creep - files that don't match any task
236
+ const allTaskKeywords = tasks.flatMap(t => extractKeywords(t.text));
237
+ const scopeCreep = [];
238
+ for (const file of sourceFiles) {
239
+ // Skip test and config files
240
+ if (file.path.includes('.test.') || file.path.includes('.spec.') ||
241
+ file.path.includes('config') || file.path.includes('.json')) {
242
+ continue;
243
+ }
244
+ // Check if any task keyword matches
245
+ const lowerPath = file.path.toLowerCase();
246
+ const lowerContent = (file.content || '').toLowerCase();
247
+ const matchesAnyTask = allTaskKeywords.some(kw => lowerPath.includes(kw) || lowerContent.includes(kw));
248
+ if (!matchesAnyTask) {
249
+ scopeCreep.push(file.path);
250
+ }
251
+ }
252
+ // Calculate progress
253
+ const completedTasks = tasks.filter(t => t.completed).length;
254
+ const documentProgress = tasks.length > 0 ? Math.round((completedTasks / tasks.length) * 100) : 0;
255
+ const actualProgress = tasks.length > 0 ? Math.round((implementedCount / tasks.length) * 100) : 0;
256
+ // Find next task to work on
257
+ const nextTask = tasks.find(t => !t.completed &&
258
+ t.implementationStatus === 'not_started' &&
259
+ t.priority !== 'low');
260
+ // Build summary
261
+ let summary = `${completedTasks}/${tasks.length} tasks marked complete. `;
262
+ summary += `${Math.round(implementedCount)}/${tasks.length} actually implemented. `;
263
+ if (missingImplementation.length > 0) {
264
+ summary += `⚠️ ${missingImplementation.length} tasks marked done but no code found. `;
265
+ }
266
+ if (scopeCreep.length > 0 && scopeCreep.length < 10) {
267
+ summary += `⚠️ ${scopeCreep.length} files not in gameplan (scope creep?). `;
268
+ }
269
+ return {
270
+ totalTasks: tasks.length,
271
+ completedTasks,
272
+ implementedTasks: Math.round(implementedCount),
273
+ tasks,
274
+ documentProgress,
275
+ actualProgress,
276
+ progressMatch: Math.abs(documentProgress - actualProgress) < 20,
277
+ missingImplementation,
278
+ scopeCreep: scopeCreep.slice(0, 10), // Limit to avoid noise
279
+ summary,
280
+ nextTask,
281
+ };
282
+ }
283
+ // ============================================================================
284
+ // CONVENIENCE FUNCTIONS
285
+ // ============================================================================
286
+ /**
287
+ * Get a simple progress summary
288
+ */
289
+ export function getGameplanProgress(projectPath) {
290
+ const analysis = analyzeGameplan(projectPath);
291
+ return {
292
+ documented: analysis.documentProgress,
293
+ actual: analysis.actualProgress,
294
+ discrepancy: !analysis.progressMatch,
295
+ nextSuggested: analysis.nextTask?.text,
296
+ };
297
+ }
298
+ /**
299
+ * Check if gameplan tasks align with code
300
+ */
301
+ export function validateGameplanProgress(projectPath) {
302
+ const analysis = analyzeGameplan(projectPath);
303
+ const warnings = [];
304
+ const suggestions = [];
305
+ if (analysis.totalTasks === 0) {
306
+ warnings.push('No tasks found in gameplan');
307
+ suggestions.push('Add tasks using checkbox format: - [ ] Task description');
308
+ return { valid: false, warnings, suggestions };
309
+ }
310
+ if (analysis.missingImplementation.length > 0) {
311
+ warnings.push(`${analysis.missingImplementation.length} tasks marked done but no implementation found`);
312
+ for (const task of analysis.missingImplementation.slice(0, 3)) {
313
+ suggestions.push(`Review: "${task.text.slice(0, 50)}..."`);
314
+ }
315
+ }
316
+ if (analysis.scopeCreep.length > 5) {
317
+ warnings.push(`${analysis.scopeCreep.length} source files not mentioned in gameplan`);
318
+ suggestions.push('Consider updating gameplan to include new features');
319
+ }
320
+ if (!analysis.progressMatch) {
321
+ warnings.push(`Progress mismatch: ${analysis.documentProgress}% marked done, ${analysis.actualProgress}% implemented`);
322
+ suggestions.push('Update checkbox status in gameplan to match reality');
323
+ }
324
+ return {
325
+ valid: warnings.length === 0,
326
+ warnings,
327
+ suggestions,
328
+ };
329
+ }
330
+ //# sourceMappingURL=gameplan-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gameplan-tracker.js","sourceRoot":"","sources":["../src/gameplan-tracker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * Preflight Check Module
3
+ *
4
+ * Analyzes project docs to infer what requirements apply,
5
+ * categorizes them by what AI can/cannot do,
6
+ * and generates context-aware prompts for Cursor.
7
+ */
8
+ export type PreflightCheckStatus = 'pending' | 'completed' | 'skipped';
9
+ export interface PersistedCheckState {
10
+ status: PreflightCheckStatus;
11
+ updatedAt: string;
12
+ skippedReason?: string;
13
+ }
14
+ interface PreflightStateFile {
15
+ checkStates: Record<string, PersistedCheckState>;
16
+ lastProfileHash: string;
17
+ viewCount?: number;
18
+ }
19
+ export declare function loadPreflightState(projectPath: string): PreflightStateFile;
20
+ /**
21
+ * Update the status of a preflight check
22
+ */
23
+ export declare function updateCheckStatus(projectPath: string, checkKey: string, status: PreflightCheckStatus, skippedReason?: string): void;
24
+ /**
25
+ * Get the persisted status for a check
26
+ */
27
+ export declare function getCheckStatus(projectPath: string, checkKey: string): PersistedCheckState | undefined;
28
+ /**
29
+ * Get all check statuses
30
+ */
31
+ export declare function getAllCheckStatuses(projectPath: string): Record<string, PersistedCheckState>;
32
+ /**
33
+ * Reset all check statuses (e.g., when profile changes significantly)
34
+ */
35
+ export declare function resetCheckStatuses(projectPath: string): void;
36
+ /**
37
+ * Detect if any expected output files exist and auto-complete checks
38
+ * Returns array of check keys that were auto-completed
39
+ */
40
+ export declare function detectGeneratedDocs(projectPath: string): string[];
41
+ /**
42
+ * Two tiers of AI capability:
43
+ * - ai_assisted: AI can help (draft docs, create checklists, generate code)
44
+ * - manual: Requires real-world action (signup, purchase, certification)
45
+ */
46
+ export type PreflightTier = 'ai_assisted' | 'manual';
47
+ export interface PreflightCheck {
48
+ key: string;
49
+ category: string;
50
+ tier: PreflightTier;
51
+ headline: string;
52
+ explanation: string;
53
+ cursorPrompt: string;
54
+ humanSteps?: string[];
55
+ externalLinks?: string[];
56
+ alsoNeeded?: string[];
57
+ priority: 'critical' | 'high' | 'medium' | 'low';
58
+ triggeredBy: string;
59
+ status: PreflightCheckStatus;
60
+ statusUpdatedAt?: string;
61
+ skippedReason?: string;
62
+ }
63
+ export interface ProjectProfile {
64
+ collectsUserData: boolean;
65
+ collectsSensitiveData: boolean;
66
+ hasUnder13Users: boolean;
67
+ targetsEU: boolean;
68
+ targetsCalifornia: boolean;
69
+ hasPayments: boolean;
70
+ hasSubscriptions: boolean;
71
+ hasUserContent: boolean;
72
+ usesAI: boolean;
73
+ aiMakesDecisions: boolean;
74
+ isOpenSource: boolean;
75
+ targetAudience: string[];
76
+ businessModel: string;
77
+ industry: string[];
78
+ }
79
+ export interface PreflightResult {
80
+ profile: ProjectProfile;
81
+ checks: PreflightCheck[];
82
+ summary: {
83
+ total: number;
84
+ critical: number;
85
+ aiAssisted: number;
86
+ manual: number;
87
+ pending: number;
88
+ completed: number;
89
+ skipped: number;
90
+ };
91
+ totalAvailable?: number;
92
+ isFirstSession?: boolean;
93
+ }
94
+ /**
95
+ * Infer project profile from brainlift, PRD, and package.json
96
+ */
97
+ export declare function inferProjectProfile(projectPath: string): ProjectProfile;
98
+ /**
99
+ * Get all applicable preflight checks for a project
100
+ */
101
+ export declare function getPreflightChecks(projectPath: string): PreflightResult;
102
+ /**
103
+ * AI-powered preflight check filter
104
+ *
105
+ * Conservative defaults may miss edge cases. This AI pass:
106
+ * 1. Reviews the full project context
107
+ * 2. Filters out irrelevant checks (e.g., GDPR for US-only app)
108
+ * 3. Adds missing checks based on nuanced understanding
109
+ *
110
+ * Called only when API key is available, falls back to keyword-based otherwise.
111
+ */
112
+ export declare function filterChecksWithAI(profile: ProjectProfile, checks: PreflightCheck[], projectPath: string): Promise<{
113
+ filtered: PreflightCheck[];
114
+ additions: string[];
115
+ removals: string[];
116
+ }>;
117
+ /**
118
+ * Get preflight checks with AI filtering (async version)
119
+ * Use this when you want the most accurate checks
120
+ */
121
+ export declare function getPreflightChecksWithAI(projectPath: string): Promise<PreflightResult & {
122
+ aiFiltered: boolean;
123
+ }>;
124
+ /**
125
+ * Get tier symbol for display
126
+ */
127
+ export declare function getTierSymbol(tier: PreflightTier): string;
128
+ /**
129
+ * Get tier description
130
+ */
131
+ export declare function getTierDescription(tier: PreflightTier): string;
132
+ export type RealityCheck = PreflightCheck;
133
+ export type RealityCheckResult = PreflightResult;
134
+ export type RealityCheckStatus = PreflightCheckStatus;
135
+ export type RealityTier = PreflightTier;
136
+ export declare const getRealityChecks: typeof getPreflightChecks;
137
+ export declare const getRealityChecksWithAI: typeof getPreflightChecksWithAI;
138
+ export declare const loadRealityState: typeof loadPreflightState;
139
+ export {};
140
+ //# sourceMappingURL=preflight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;AAEvE,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,kBAAkB;IAC1B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACjD,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,CAmB1E;AAmBD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,oBAAoB,EAC5B,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI,CAWN;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAIrG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAI5F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAG5D;AAuBD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CA6BjE;AAMD;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,QAAQ,CAAC;AAWrD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,WAAW,EAAE,MAAM,CAAC;IAEpB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAE7B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QAEf,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAqkBD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,CAgIvE;AA4CD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,CAqFvE;AAMD;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,cAAc,EAAE,EACxB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAmHlF;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC,CA4BtH;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAOzD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAO9D;AAOD,MAAM,MAAM,YAAY,GAAG,cAAc,CAAC;AAC1C,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC;AACjD,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AACtD,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC;AAGxC,eAAO,MAAM,gBAAgB,2BAAqB,CAAC;AACnD,eAAO,MAAM,sBAAsB,iCAA2B,CAAC;AAC/D,eAAO,MAAM,gBAAgB,2BAAqB,CAAC"}