midas-mcp 3.0.0 → 3.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 (118) hide show
  1. package/LICENSE +21 -0
  2. package/dist/ai.d.ts +2 -0
  3. package/dist/ai.d.ts.map +1 -1
  4. package/dist/ai.js +28 -45
  5. package/dist/ai.js.map +1 -1
  6. package/dist/analyzer.d.ts.map +1 -1
  7. package/dist/analyzer.js +129 -135
  8. package/dist/analyzer.js.map +1 -1
  9. package/dist/config.d.ts +16 -0
  10. package/dist/config.d.ts.map +1 -1
  11. package/dist/config.js +109 -15
  12. package/dist/config.js.map +1 -1
  13. package/dist/context.d.ts +8 -1
  14. package/dist/context.d.ts.map +1 -1
  15. package/dist/context.js +76 -7
  16. package/dist/context.js.map +1 -1
  17. package/dist/docs/DEPLOYMENT.md +190 -0
  18. package/dist/index.js +4 -0
  19. package/dist/index.js.map +1 -1
  20. package/dist/monitoring.d.ts +97 -0
  21. package/dist/monitoring.d.ts.map +1 -0
  22. package/dist/monitoring.js +258 -0
  23. package/dist/monitoring.js.map +1 -0
  24. package/dist/prompts/grow.d.ts.map +1 -1
  25. package/dist/prompts/grow.js +155 -47
  26. package/dist/prompts/grow.js.map +1 -1
  27. package/dist/providers.d.ts +46 -0
  28. package/dist/providers.d.ts.map +1 -0
  29. package/dist/providers.js +349 -0
  30. package/dist/providers.js.map +1 -0
  31. package/dist/server.d.ts.map +1 -1
  32. package/dist/server.js +28 -3
  33. package/dist/server.js.map +1 -1
  34. package/dist/state/phase.d.ts +19 -4
  35. package/dist/state/phase.d.ts.map +1 -1
  36. package/dist/state/phase.js +19 -10
  37. package/dist/state/phase.js.map +1 -1
  38. package/dist/tools/analyze.d.ts.map +1 -1
  39. package/dist/tools/analyze.js +21 -9
  40. package/dist/tools/analyze.js.map +1 -1
  41. package/dist/tools/completeness.d.ts +36 -0
  42. package/dist/tools/completeness.d.ts.map +1 -0
  43. package/dist/tools/completeness.js +838 -0
  44. package/dist/tools/completeness.js.map +1 -0
  45. package/dist/tools/config.d.ts +73 -0
  46. package/dist/tools/config.d.ts.map +1 -0
  47. package/dist/tools/config.js +94 -0
  48. package/dist/tools/config.js.map +1 -0
  49. package/dist/tools/grow.d.ts +157 -0
  50. package/dist/tools/grow.d.ts.map +1 -0
  51. package/dist/tools/grow.js +532 -0
  52. package/dist/tools/grow.js.map +1 -0
  53. package/dist/tools/index.d.ts +4 -0
  54. package/dist/tools/index.d.ts.map +1 -1
  55. package/dist/tools/index.js +8 -0
  56. package/dist/tools/index.js.map +1 -1
  57. package/dist/tools/validate.d.ts +60 -0
  58. package/dist/tools/validate.d.ts.map +1 -0
  59. package/dist/tools/validate.js +234 -0
  60. package/dist/tools/validate.js.map +1 -0
  61. package/dist/tools/verify.d.ts +4 -4
  62. package/dist/tui.d.ts.map +1 -1
  63. package/dist/tui.js +302 -180
  64. package/dist/tui.js.map +1 -1
  65. package/docs/DEPLOYMENT.md +190 -0
  66. package/package.json +17 -5
  67. package/dist/tests/analyze.test.d.ts +0 -2
  68. package/dist/tests/analyze.test.d.ts.map +0 -1
  69. package/dist/tests/analyze.test.js +0 -120
  70. package/dist/tests/analyze.test.js.map +0 -1
  71. package/dist/tests/context.test.d.ts +0 -2
  72. package/dist/tests/context.test.d.ts.map +0 -1
  73. package/dist/tests/context.test.js +0 -213
  74. package/dist/tests/context.test.js.map +0 -1
  75. package/dist/tests/edge-cases.test.d.ts +0 -2
  76. package/dist/tests/edge-cases.test.d.ts.map +0 -1
  77. package/dist/tests/edge-cases.test.js +0 -234
  78. package/dist/tests/edge-cases.test.js.map +0 -1
  79. package/dist/tests/journal.test.d.ts +0 -2
  80. package/dist/tests/journal.test.d.ts.map +0 -1
  81. package/dist/tests/journal.test.js +0 -184
  82. package/dist/tests/journal.test.js.map +0 -1
  83. package/dist/tests/metrics.test.d.ts +0 -2
  84. package/dist/tests/metrics.test.d.ts.map +0 -1
  85. package/dist/tests/metrics.test.js +0 -178
  86. package/dist/tests/metrics.test.js.map +0 -1
  87. package/dist/tests/phase.test.d.ts +0 -2
  88. package/dist/tests/phase.test.d.ts.map +0 -1
  89. package/dist/tests/phase.test.js +0 -110
  90. package/dist/tests/phase.test.js.map +0 -1
  91. package/dist/tests/prompts.test.d.ts +0 -2
  92. package/dist/tests/prompts.test.d.ts.map +0 -1
  93. package/dist/tests/prompts.test.js +0 -157
  94. package/dist/tests/prompts.test.js.map +0 -1
  95. package/dist/tests/search.test.d.ts +0 -2
  96. package/dist/tests/search.test.d.ts.map +0 -1
  97. package/dist/tests/search.test.js +0 -228
  98. package/dist/tests/search.test.js.map +0 -1
  99. package/dist/tests/security.test.d.ts +0 -2
  100. package/dist/tests/security.test.d.ts.map +0 -1
  101. package/dist/tests/security.test.js +0 -105
  102. package/dist/tests/security.test.js.map +0 -1
  103. package/dist/tests/server.test.d.ts +0 -2
  104. package/dist/tests/server.test.d.ts.map +0 -1
  105. package/dist/tests/server.test.js +0 -93
  106. package/dist/tests/server.test.js.map +0 -1
  107. package/dist/tests/techstack.test.d.ts +0 -2
  108. package/dist/tests/techstack.test.d.ts.map +0 -1
  109. package/dist/tests/techstack.test.js +0 -187
  110. package/dist/tests/techstack.test.js.map +0 -1
  111. package/dist/tests/tools.test.d.ts +0 -2
  112. package/dist/tests/tools.test.d.ts.map +0 -1
  113. package/dist/tests/tools.test.js +0 -137
  114. package/dist/tests/tools.test.js.map +0 -1
  115. package/dist/tests/tracker.test.d.ts +0 -2
  116. package/dist/tests/tracker.test.d.ts.map +0 -1
  117. package/dist/tests/tracker.test.js +0 -197
  118. package/dist/tests/tracker.test.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/tools/validate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAwB,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAOrE,eAAO,MAAM,mBAAmB;;;;;;;;;EAG9B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAK7B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACrE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAMnE,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,gBAAgB;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAiED,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,gBAAgB,CAiHzE;AAMD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,iBAAiB,GAAG;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC;IAChB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB,CAiEA"}
@@ -0,0 +1,234 @@
1
+ /**
2
+ * Validation Pipeline
3
+ *
4
+ * Enforces compile/type/lint/test gates before phase advancement.
5
+ * Gates must pass before moving from BUILD to SHIP phase.
6
+ */
7
+ import { z } from 'zod';
8
+ import { existsSync, readFileSync } from 'fs';
9
+ import { join } from 'path';
10
+ import { execSync } from 'child_process';
11
+ import { sanitizePath } from '../security.js';
12
+ import { loadState, saveState } from '../state/phase.js';
13
+ import { logger } from '../logger.js';
14
+ // ============================================================================
15
+ // SCHEMA
16
+ // ============================================================================
17
+ export const validateGatesSchema = z.object({
18
+ projectPath: z.string().optional().describe('Path to project root'),
19
+ autoFix: z.boolean().optional().describe('Auto-fix lint issues if possible'),
20
+ });
21
+ export const enforceGatesSchema = z.object({
22
+ projectPath: z.string().optional().describe('Path to project root'),
23
+ targetPhase: z.string().describe('Target phase to advance to'),
24
+ targetStep: z.string().describe('Target step within phase'),
25
+ force: z.boolean().optional().describe('Force advance even if gates fail'),
26
+ });
27
+ // ============================================================================
28
+ // GATE RUNNERS
29
+ // ============================================================================
30
+ function runGate(name, command, cwd, timeout = 60000) {
31
+ const start = Date.now();
32
+ try {
33
+ execSync(command, {
34
+ cwd,
35
+ timeout,
36
+ stdio: 'pipe',
37
+ encoding: 'utf-8',
38
+ });
39
+ return {
40
+ name,
41
+ pass: true,
42
+ output: 'OK',
43
+ duration: Date.now() - start,
44
+ command,
45
+ };
46
+ }
47
+ catch (error) {
48
+ const err = error;
49
+ const output = err.stdout || err.stderr || err.message || 'Failed';
50
+ return {
51
+ name,
52
+ pass: false,
53
+ output: output.slice(0, 500), // Limit output
54
+ duration: Date.now() - start,
55
+ command,
56
+ };
57
+ }
58
+ }
59
+ function detectPackageManager(projectPath) {
60
+ if (existsSync(join(projectPath, 'pnpm-lock.yaml')))
61
+ return 'pnpm';
62
+ if (existsSync(join(projectPath, 'yarn.lock')))
63
+ return 'yarn';
64
+ return 'npm';
65
+ }
66
+ function hasScript(projectPath, script) {
67
+ const pkgPath = join(projectPath, 'package.json');
68
+ if (!existsSync(pkgPath))
69
+ return false;
70
+ try {
71
+ const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
72
+ return !!pkg.scripts?.[script];
73
+ }
74
+ catch {
75
+ return false;
76
+ }
77
+ }
78
+ // ============================================================================
79
+ // MAIN VALIDATION FUNCTION
80
+ // ============================================================================
81
+ export function validateGates(input) {
82
+ const projectPath = sanitizePath(input.projectPath || process.cwd());
83
+ const autoFix = input.autoFix ?? false;
84
+ const pm = detectPackageManager(projectPath);
85
+ const gates = [];
86
+ const blockedBy = [];
87
+ // 1. TypeScript Compile
88
+ if (existsSync(join(projectPath, 'tsconfig.json'))) {
89
+ // Use tsc --noEmit for type checking only
90
+ const tscResult = runGate('typescript', `${pm} run build 2>&1 || npx tsc --noEmit 2>&1`, projectPath, 120000 // 2 min for builds
91
+ );
92
+ gates.push(tscResult);
93
+ if (!tscResult.pass) {
94
+ blockedBy.push('TypeScript compilation errors');
95
+ }
96
+ }
97
+ else {
98
+ gates.push({
99
+ name: 'typescript',
100
+ pass: true,
101
+ output: 'Skipped (no tsconfig.json)',
102
+ duration: 0,
103
+ skipped: true,
104
+ });
105
+ }
106
+ // 2. Lint
107
+ if (hasScript(projectPath, 'lint')) {
108
+ const lintCommand = autoFix
109
+ ? `${pm} run lint -- --fix 2>&1 || ${pm} run lint 2>&1`
110
+ : `${pm} run lint 2>&1`;
111
+ const lintResult = runGate('lint', lintCommand, projectPath);
112
+ gates.push(lintResult);
113
+ if (!lintResult.pass) {
114
+ blockedBy.push('Lint errors');
115
+ }
116
+ }
117
+ else {
118
+ gates.push({
119
+ name: 'lint',
120
+ pass: true,
121
+ output: 'Skipped (no lint script)',
122
+ duration: 0,
123
+ skipped: true,
124
+ });
125
+ }
126
+ // 3. Tests
127
+ if (hasScript(projectPath, 'test')) {
128
+ const testResult = runGate('test', `${pm} test 2>&1`, projectPath, 180000 // 3 min for tests
129
+ );
130
+ gates.push(testResult);
131
+ if (!testResult.pass) {
132
+ blockedBy.push('Tests failing');
133
+ }
134
+ }
135
+ else {
136
+ gates.push({
137
+ name: 'test',
138
+ pass: true,
139
+ output: 'Skipped (no test script)',
140
+ duration: 0,
141
+ skipped: true,
142
+ });
143
+ }
144
+ // 4. Type Check (separate from build for faster feedback)
145
+ if (hasScript(projectPath, 'typecheck') || hasScript(projectPath, 'type-check')) {
146
+ const script = hasScript(projectPath, 'typecheck') ? 'typecheck' : 'type-check';
147
+ const typeResult = runGate('typecheck', `${pm} run ${script} 2>&1`, projectPath);
148
+ gates.push(typeResult);
149
+ if (!typeResult.pass) {
150
+ blockedBy.push('Type errors');
151
+ }
152
+ }
153
+ // Calculate results
154
+ const passedGates = gates.filter(g => g.pass);
155
+ const failedGates = gates.filter(g => !g.pass && !g.skipped);
156
+ const allPass = failedGates.length === 0;
157
+ // Determine if we can advance
158
+ // Only strict for BUILD -> SHIP transition
159
+ const state = loadState(projectPath);
160
+ const isPreShip = state.current.phase === 'BUILD' &&
161
+ 'step' in state.current &&
162
+ ['TEST', 'DEBUG'].includes(state.current.step);
163
+ const canAdvance = allPass || !isPreShip;
164
+ const summary = allPass
165
+ ? `All gates pass (${passedGates.length}/${gates.length})`
166
+ : `${failedGates.length} gates failing: ${blockedBy.join(', ')}`;
167
+ return {
168
+ allPass,
169
+ gates,
170
+ canAdvance,
171
+ blockedBy,
172
+ summary,
173
+ };
174
+ }
175
+ // ============================================================================
176
+ // ENFORCED PHASE ADVANCEMENT
177
+ // ============================================================================
178
+ export function enforceGatesAndAdvance(input) {
179
+ const projectPath = sanitizePath(input.projectPath || process.cwd());
180
+ const { targetPhase, targetStep, force } = input;
181
+ // First, validate gates
182
+ const validation = validateGates({ projectPath });
183
+ // Check if we need to block
184
+ const isAdvancingToShipOrGrow = ['SHIP', 'GROW'].includes(targetPhase.toUpperCase());
185
+ const shouldBlock = isAdvancingToShipOrGrow && !validation.allPass && !force;
186
+ if (shouldBlock) {
187
+ return {
188
+ success: false,
189
+ newPhase: loadState(projectPath).current,
190
+ validation,
191
+ message: `Cannot advance to ${targetPhase}. Gates failing: ${validation.blockedBy.join(', ')}`,
192
+ };
193
+ }
194
+ // Advance phase
195
+ const state = loadState(projectPath);
196
+ state.history.push(state.current);
197
+ let newPhase;
198
+ const upperPhase = targetPhase.toUpperCase();
199
+ const upperStep = targetStep.toUpperCase();
200
+ switch (upperPhase) {
201
+ case 'EAGLE_SIGHT':
202
+ case 'PLAN':
203
+ newPhase = { phase: 'EAGLE_SIGHT', step: upperStep };
204
+ break;
205
+ case 'BUILD':
206
+ newPhase = { phase: 'BUILD', step: upperStep };
207
+ break;
208
+ case 'SHIP':
209
+ newPhase = { phase: 'SHIP', step: upperStep };
210
+ break;
211
+ case 'GROW':
212
+ newPhase = { phase: 'GROW', step: upperStep };
213
+ break;
214
+ default:
215
+ newPhase = { phase: 'IDLE' };
216
+ }
217
+ state.current = newPhase;
218
+ saveState(projectPath, state);
219
+ logger.info('Phase advanced with gate validation', {
220
+ to: newPhase,
221
+ gatesPass: validation.allPass,
222
+ forced: force,
223
+ });
224
+ const message = validation.allPass
225
+ ? `Advanced to ${targetPhase}:${targetStep}. All gates passing.`
226
+ : `Advanced to ${targetPhase}:${targetStep} (forced). Warning: ${validation.blockedBy.join(', ')}`;
227
+ return {
228
+ success: true,
229
+ newPhase,
230
+ validation,
231
+ message,
232
+ };
233
+ }
234
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/tools/validate.ts"],"names":[],"mappings":"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"}
@@ -94,13 +94,13 @@ export declare const recordErrorSchema: z.ZodObject<{
94
94
  line: z.ZodOptional<z.ZodNumber>;
95
95
  }, "strip", z.ZodTypeAny, {
96
96
  error: string;
97
- file?: string | undefined;
98
97
  projectPath?: string | undefined;
98
+ file?: string | undefined;
99
99
  line?: number | undefined;
100
100
  }, {
101
101
  error: string;
102
- file?: string | undefined;
103
102
  projectPath?: string | undefined;
103
+ file?: string | undefined;
104
104
  line?: number | undefined;
105
105
  }>;
106
106
  export type RecordErrorInput = z.infer<typeof recordErrorSchema>;
@@ -111,14 +111,14 @@ export declare const recordFixSchema: z.ZodObject<{
111
111
  approach: z.ZodString;
112
112
  worked: z.ZodBoolean;
113
113
  }, "strip", z.ZodTypeAny, {
114
+ worked: boolean;
114
115
  errorId: string;
115
116
  approach: string;
116
- worked: boolean;
117
117
  projectPath?: string | undefined;
118
118
  }, {
119
+ worked: boolean;
119
120
  errorId: string;
120
121
  approach: string;
121
- worked: boolean;
122
122
  projectPath?: string | undefined;
123
123
  }>;
124
124
  export type RecordFixInput = z.infer<typeof recordFixSchema>;
package/dist/tui.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"AA6ZA,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAyfpD"}
1
+ {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"AA+bA,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAwlBpD"}