@stacksfinder/mcp-server 1.2.2 → 1.3.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 (71) hide show
  1. package/LICENSE +16 -16
  2. package/README.md +126 -65
  3. package/dist/__tests__/mcp-tools.test.d.ts +8 -0
  4. package/dist/__tests__/mcp-tools.test.d.ts.map +1 -0
  5. package/dist/__tests__/mcp-tools.test.js +345 -0
  6. package/dist/__tests__/mcp-tools.test.js.map +1 -0
  7. package/dist/annotations.d.ts +4 -0
  8. package/dist/annotations.d.ts.map +1 -1
  9. package/dist/annotations.js +19 -0
  10. package/dist/annotations.js.map +1 -1
  11. package/dist/server.d.ts.map +1 -1
  12. package/dist/server.js +51 -2
  13. package/dist/server.js.map +1 -1
  14. package/dist/tools/audit.js +42 -42
  15. package/dist/tools/audit.js.map +1 -1
  16. package/dist/tools/check-compatibility.d.ts +1 -1
  17. package/dist/tools/check-compatibility.d.ts.map +1 -1
  18. package/dist/tools/check-compatibility.js +17 -17
  19. package/dist/tools/check-compatibility.js.map +1 -1
  20. package/dist/tools/estimator.d.ts +85 -0
  21. package/dist/tools/estimator.d.ts.map +1 -0
  22. package/dist/tools/estimator.js +326 -0
  23. package/dist/tools/estimator.js.map +1 -0
  24. package/dist/tools/project-kit/analyze-repo.js +12 -12
  25. package/dist/tools/project-kit/analyze-repo.js.map +1 -1
  26. package/package.json +3 -3
  27. package/dist/compatibility/index.d.ts +0 -11
  28. package/dist/compatibility/index.d.ts.map +0 -1
  29. package/dist/compatibility/index.js +0 -13
  30. package/dist/compatibility/index.js.map +0 -1
  31. package/dist/compatibility/rules.d.ts +0 -29
  32. package/dist/compatibility/rules.d.ts.map +0 -1
  33. package/dist/compatibility/rules.js +0 -419
  34. package/dist/compatibility/rules.js.map +0 -1
  35. package/dist/compatibility/scoring.d.ts +0 -54
  36. package/dist/compatibility/scoring.d.ts.map +0 -1
  37. package/dist/compatibility/scoring.js +0 -209
  38. package/dist/compatibility/scoring.js.map +0 -1
  39. package/dist/compatibility/types.d.ts +0 -176
  40. package/dist/compatibility/types.d.ts.map +0 -1
  41. package/dist/compatibility/types.js +0 -26
  42. package/dist/compatibility/types.js.map +0 -1
  43. package/dist/compatibility/utils.d.ts +0 -82
  44. package/dist/compatibility/utils.d.ts.map +0 -1
  45. package/dist/compatibility/utils.js +0 -269
  46. package/dist/compatibility/utils.js.map +0 -1
  47. package/dist/data/357/200/242/357/200/212cp H:bac_/303/240_guigui_v2stack_finderpackagesmcp-serversrcdatacompatibility_matrix.json H:bac_/303/240_guigui_v2stack_finderpackagesmcp-serverdistdata/357/200/242" +0 -226
  48. package/dist/http.d.ts +0 -7
  49. package/dist/http.d.ts.map +0 -1
  50. package/dist/http.js +0 -69
  51. package/dist/http.js.map +0 -1
  52. package/dist/lib/mcp-compatibility/index.d.ts +0 -33
  53. package/dist/lib/mcp-compatibility/index.d.ts.map +0 -1
  54. package/dist/lib/mcp-compatibility/index.js +0 -35
  55. package/dist/lib/mcp-compatibility/index.js.map +0 -1
  56. package/dist/lib/mcp-compatibility/rules.d.ts +0 -29
  57. package/dist/lib/mcp-compatibility/rules.d.ts.map +0 -1
  58. package/dist/lib/mcp-compatibility/rules.js +0 -419
  59. package/dist/lib/mcp-compatibility/rules.js.map +0 -1
  60. package/dist/lib/mcp-compatibility/scoring.d.ts +0 -54
  61. package/dist/lib/mcp-compatibility/scoring.d.ts.map +0 -1
  62. package/dist/lib/mcp-compatibility/scoring.js +0 -209
  63. package/dist/lib/mcp-compatibility/scoring.js.map +0 -1
  64. package/dist/lib/mcp-compatibility/types.d.ts +0 -176
  65. package/dist/lib/mcp-compatibility/types.d.ts.map +0 -1
  66. package/dist/lib/mcp-compatibility/types.js +0 -26
  67. package/dist/lib/mcp-compatibility/types.js.map +0 -1
  68. package/dist/lib/mcp-compatibility/utils.d.ts +0 -82
  69. package/dist/lib/mcp-compatibility/utils.d.ts.map +0 -1
  70. package/dist/lib/mcp-compatibility/utils.js +0 -269
  71. package/dist/lib/mcp-compatibility/utils.js.map +0 -1
@@ -174,30 +174,30 @@ Use this after create_audit to get actionable migration guidance.`,
174
174
  // ============================================================================
175
175
  // FORMATTERS
176
176
  // ============================================================================
177
- function formatSeverityEmoji(severity) {
177
+ function formatSeverityMarker(severity) {
178
178
  switch (severity) {
179
179
  case 'critical':
180
- return '🔴';
180
+ return '[CRITICAL]';
181
181
  case 'high':
182
- return '🟠';
182
+ return '[HIGH]';
183
183
  case 'medium':
184
- return '🟡';
184
+ return '[MEDIUM]';
185
185
  case 'low':
186
- return 'đŸŸĸ';
186
+ return '[LOW]';
187
187
  case 'info':
188
- return 'â„šī¸';
188
+ return '[INFO]';
189
189
  default:
190
- return 'â€ĸ';
190
+ return '[-]';
191
191
  }
192
192
  }
193
193
  function formatHealthScore(score) {
194
194
  if (score >= 90)
195
- return `✅ ${score}/100 (Excellent)`;
195
+ return `[EXCELLENT] ${score}/100`;
196
196
  if (score >= 70)
197
- return `🟡 ${score}/100 (Good)`;
197
+ return `[GOOD] ${score}/100`;
198
198
  if (score >= 50)
199
- return `🟠 ${score}/100 (Fair)`;
200
- return `🔴 ${score}/100 (Needs Attention)`;
199
+ return `[FAIR] ${score}/100`;
200
+ return `[NEEDS ATTENTION] ${score}/100`;
201
201
  }
202
202
  function formatAuditReport(audit) {
203
203
  let text = `## Audit Report: ${audit.name}\n\n`;
@@ -210,17 +210,17 @@ function formatAuditReport(audit) {
210
210
  text += `### Summary\n`;
211
211
  text += `| Severity | Count |\n`;
212
212
  text += `|----------|-------|\n`;
213
- text += `| 🔴 Critical | ${audit.summary.criticalCount} |\n`;
214
- text += `| 🟠 High | ${audit.summary.highCount} |\n`;
215
- text += `| 🟡 Medium | ${audit.summary.mediumCount} |\n`;
216
- text += `| đŸŸĸ Low | ${audit.summary.lowCount} |\n`;
217
- text += `| â„šī¸ Info | ${audit.summary.infoCount} |\n`;
213
+ text += `| Critical | ${audit.summary.criticalCount} |\n`;
214
+ text += `| High | ${audit.summary.highCount} |\n`;
215
+ text += `| Medium | ${audit.summary.mediumCount} |\n`;
216
+ text += `| Low | ${audit.summary.lowCount} |\n`;
217
+ text += `| Info | ${audit.summary.infoCount} |\n`;
218
218
  text += `\n**Total Findings**: ${audit.summary.totalFindings}\n`;
219
219
  }
220
220
  if (audit.findings && audit.findings.length > 0) {
221
221
  text += `\n### Findings\n\n`;
222
222
  for (const finding of audit.findings) {
223
- text += `#### ${formatSeverityEmoji(finding.severity)} ${finding.title}\n`;
223
+ text += `#### ${formatSeverityMarker(finding.severity)} ${finding.title}\n`;
224
224
  text += `**Technology**: ${finding.technology}`;
225
225
  if (finding.currentVersion) {
226
226
  text += ` (v${finding.currentVersion})`;
@@ -249,7 +249,7 @@ function formatAuditReport(audit) {
249
249
  }
250
250
  }
251
251
  else if (audit.status === 'completed') {
252
- text += `\n### 🎉 No Issues Found\n`;
252
+ text += `\n### All Clear\n`;
253
253
  text += `Your stack passed all checks. Great job maintaining your technical health!\n`;
254
254
  }
255
255
  return text;
@@ -262,24 +262,24 @@ function formatComparison(comparison) {
262
262
  text += `| ${comparison.baseAudit.name} (base) | ${comparison.baseAudit.healthScore}/100 |\n`;
263
263
  text += `| ${comparison.compareAudit.name} (compare) | ${comparison.compareAudit.healthScore}/100 |\n`;
264
264
  text += `\n`;
265
- const trendEmoji = comparison.trend === 'improving'
266
- ? '📈'
265
+ const trendMarker = comparison.trend === 'improving'
266
+ ? '[UP]'
267
267
  : comparison.trend === 'degrading'
268
- ? '📉'
269
- : 'âžĄī¸';
270
- text += `### Trend: ${trendEmoji} ${comparison.trend.toUpperCase()}\n`;
268
+ ? '[DOWN]'
269
+ : '[STABLE]';
270
+ text += `### Trend: ${trendMarker} ${comparison.trend.toUpperCase()}\n`;
271
271
  text += `**Health Score Change**: ${comparison.healthScoreDelta > 0 ? '+' : ''}${comparison.healthScoreDelta} points\n\n`;
272
272
  if (comparison.resolvedCount > 0) {
273
- text += `### ✅ Resolved Issues (${comparison.resolvedCount})\n`;
273
+ text += `### Resolved Issues (${comparison.resolvedCount})\n`;
274
274
  for (const finding of comparison.resolvedFindings) {
275
- text += `- ${formatSeverityEmoji(finding.severity)} ${finding.title} (${finding.technology})\n`;
275
+ text += `- ${formatSeverityMarker(finding.severity)} ${finding.title} (${finding.technology})\n`;
276
276
  }
277
277
  text += `\n`;
278
278
  }
279
279
  if (comparison.newCount > 0) {
280
- text += `### âš ī¸ New Issues (${comparison.newCount})\n`;
280
+ text += `### New Issues (${comparison.newCount})\n`;
281
281
  for (const finding of comparison.newFindings) {
282
- text += `- ${formatSeverityEmoji(finding.severity)} ${finding.title} (${finding.technology})\n`;
282
+ text += `- ${formatSeverityMarker(finding.severity)} ${finding.title} (${finding.technology})\n`;
283
283
  }
284
284
  text += `\n`;
285
285
  }
@@ -291,19 +291,19 @@ function formatComparison(comparison) {
291
291
  }
292
292
  function formatMigrationRecommendation(response) {
293
293
  if (!response.needsMigration) {
294
- return `## Migration Analysis\n\n✅ **No migration recommended.**\n\nYour stack is healthy with no critical issues requiring migration.\n\n**Migration Score**: ${response.migrationScore}/100 (below threshold)`;
294
+ return `## Migration Analysis\n\n**No migration recommended.**\n\nYour stack is healthy with no critical issues requiring migration.\n\n**Migration Score**: ${response.migrationScore}/100 (below threshold)`;
295
295
  }
296
296
  const rec = response.recommendation;
297
297
  if (!rec) {
298
298
  return `## Migration Analysis\n\nUnable to generate recommendation.`;
299
299
  }
300
- const urgencyEmoji = {
301
- critical: '🚨',
302
- high: 'âš ī¸',
303
- medium: '📋',
304
- low: 'â„šī¸'
300
+ const urgencyMarker = {
301
+ critical: '[CRITICAL]',
302
+ high: '[HIGH]',
303
+ medium: '[MEDIUM]',
304
+ low: '[LOW]'
305
305
  }[rec.urgency];
306
- let text = `## ${urgencyEmoji} Migration Recommendation\n\n`;
306
+ let text = `## ${urgencyMarker} Migration Recommendation\n\n`;
307
307
  text += `### ${rec.title}\n\n`;
308
308
  text += `**Migration Score**: ${response.migrationScore}/100\n`;
309
309
  text += `**Urgency**: ${rec.urgency.toUpperCase()}\n`;
@@ -314,7 +314,7 @@ function formatMigrationRecommendation(response) {
314
314
  text += `${rec.summary}\n\n`;
315
315
  // Technologies to Replace
316
316
  if (rec.techsToReplace.length > 0) {
317
- text += `### 🔄 Technologies to Replace\n\n`;
317
+ text += `### Technologies to Replace\n\n`;
318
318
  text += `| Technology | Version | Reason |\n`;
319
319
  text += `|------------|---------|--------|\n`;
320
320
  for (const tech of rec.techsToReplace) {
@@ -324,7 +324,7 @@ function formatMigrationRecommendation(response) {
324
324
  }
325
325
  // Suggested Alternatives
326
326
  if (rec.suggestedAlternatives.length > 0) {
327
- text += `### ✨ Recommended Alternatives\n\n`;
327
+ text += `### Recommended Alternatives\n\n`;
328
328
  for (const alt of rec.suggestedAlternatives) {
329
329
  text += `**${alt.forTech}** → `;
330
330
  const alts = alt.alternatives.map(a => a === alt.preferredChoice ? `**${a}** (recommended)` : a);
@@ -335,7 +335,7 @@ function formatMigrationRecommendation(response) {
335
335
  }
336
336
  // Migration Roadmap
337
337
  if (rec.migrationSteps.length > 0) {
338
- text += `### 📋 Migration Roadmap\n\n`;
338
+ text += `### Migration Roadmap\n\n`;
339
339
  for (const step of rec.migrationSteps) {
340
340
  text += `**Phase ${step.order}: ${step.phase}** (${step.effort} effort)\n`;
341
341
  text += `${step.description}\n`;
@@ -347,23 +347,23 @@ function formatMigrationRecommendation(response) {
347
347
  }
348
348
  // Risks
349
349
  if (rec.risks.length > 0) {
350
- text += `### âš ī¸ Risk Assessment\n\n`;
350
+ text += `### Risk Assessment\n\n`;
351
351
  for (const risk of rec.risks) {
352
- const riskEmoji = risk.level === 'high' ? '🔴' : risk.level === 'medium' ? '🟡' : 'đŸŸĸ';
353
- text += `${riskEmoji} **${risk.level.toUpperCase()} RISK**: ${risk.description}\n`;
352
+ const riskMarker = risk.level === 'high' ? '[HIGH]' : risk.level === 'medium' ? '[MEDIUM]' : '[LOW]';
353
+ text += `${riskMarker} **${risk.level.toUpperCase()} RISK**: ${risk.description}\n`;
354
354
  text += ` _Mitigation_: ${risk.mitigation}\n\n`;
355
355
  }
356
356
  }
357
357
  // Inferred Constraints
358
358
  if (rec.inferredConstraints.length > 0) {
359
- text += `### đŸŽ¯ Inferred Builder Constraints\n\n`;
359
+ text += `### Inferred Builder Constraints\n\n`;
360
360
  text += `These constraints will be pre-filled when generating a migration blueprint:\n`;
361
361
  text += rec.inferredConstraints.map(c => `\`${c}\``).join(', ');
362
362
  text += `\n\n`;
363
363
  }
364
364
  // Builder Pre-fill info
365
365
  if (response.builderPreFill) {
366
- text += `### 🚀 Generate Migration Blueprint\n\n`;
366
+ text += `### Generate Migration Blueprint\n\n`;
367
367
  text += `Use the StacksFinder Builder with these pre-filled settings:\n`;
368
368
  if (response.builderPreFill.context.projectType) {
369
369
  text += `- **Project Type**: ${response.builderPreFill.context.projectType}\n`;
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/tools/audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/tools/audit.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  * Returns both markdown text and structured JSON data.
7
7
  */
8
8
  import { z } from 'zod';
9
- import { type CompatibilityReport } from '../lib/mcp-compatibility/index.js';
9
+ import { type CompatibilityReport } from '@stacksfinder/mcp-compatibility';
10
10
  export declare const CheckCompatibilityInputSchema: z.ZodObject<{
11
11
  mcps: z.ZodArray<z.ZodString, "many">;
12
12
  }, "strip", z.ZodTypeAny, {
@@ -1 +1 @@
1
- {"version":3,"file":"check-compatibility.d.ts","sourceRoot":"","sources":["../../src/tools/check-compatibility.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAOL,KAAK,mBAAmB,EACzB,MAAM,mCAAmC,CAAC;AAM3C,eAAO,MAAM,6BAA6B;;;;;;EAMxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAMpF,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAMD,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;CAgC5C,CAAC;AAmBF,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,uBAAuB,GAC7B,wBAAwB,CAoE1B"}
1
+ {"version":3,"file":"check-compatibility.d.ts","sourceRoot":"","sources":["../../src/tools/check-compatibility.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAOL,KAAK,mBAAmB,EACzB,MAAM,iCAAiC,CAAC;AAMzC,eAAO,MAAM,6BAA6B;;;;;;EAMxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAMpF,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAMD,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;CAgC5C,CAAC;AAmBF,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,uBAAuB,GAC7B,wBAAwB,CAoE1B"}
@@ -6,7 +6,7 @@
6
6
  * Returns both markdown text and structured JSON data.
7
7
  */
8
8
  import { z } from 'zod';
9
- import { initRulesIndex, getAllRules, generateReport, formatReportAsMarkdown, getReportSummaryLine, CURATED_MCPS, } from '../lib/mcp-compatibility/index.js';
9
+ import { initRulesIndex, getAllRules, generateReport, formatReportAsMarkdown, getReportSummaryLine, CURATED_MCPS, } from '@stacksfinder/mcp-compatibility';
10
10
  // ============================================
11
11
  // Input Schema
12
12
  // ============================================
@@ -22,22 +22,22 @@ export const CheckCompatibilityInputSchema = z.object({
22
22
  // ============================================
23
23
  export const checkCompatibilityToolDefinition = {
24
24
  name: 'check_mcp_compatibility',
25
- description: `Check compatibility between MCP servers. Detects conflicts (e.g., two database providers), redundancies (e.g., two ORMs), and synergies (e.g., GitHub + Vercel).
26
-
27
- Returns a health score (0-100) with grade (A/B/C/D) and detailed breakdown.
28
-
29
- **Examples:**
30
- - Check database compatibility: \`["supabase-mcp", "neon-mcp"]\` → conflict detected
31
- - Check ORM redundancy: \`["prisma-mcp", "drizzle-mcp"]\` → redundancy warning
32
- - Check synergies: \`["stripe-mcp", "resend-mcp"]\` → synergy detected
33
-
34
- **Supported MCP IDs include:**
35
- ${CURATED_MCPS.slice(0, 10).map((mcp) => `- ${mcp}`).join('\n')}
36
- ...and more.
37
-
38
- **Aliases supported:**
39
- - "supabase" → "supabase-mcp"
40
- - "@neondatabase/mcp" → "neon-mcp"
25
+ description: `Check compatibility between MCP servers. Detects conflicts (e.g., two database providers), redundancies (e.g., two ORMs), and synergies (e.g., GitHub + Vercel).
26
+
27
+ Returns a health score (0-100) with grade (A/B/C/D) and detailed breakdown.
28
+
29
+ **Examples:**
30
+ - Check database compatibility: \`["supabase-mcp", "neon-mcp"]\` → conflict detected
31
+ - Check ORM redundancy: \`["prisma-mcp", "drizzle-mcp"]\` → redundancy warning
32
+ - Check synergies: \`["stripe-mcp", "resend-mcp"]\` → synergy detected
33
+
34
+ **Supported MCP IDs include:**
35
+ ${CURATED_MCPS.slice(0, 10).map((mcp) => `- ${mcp}`).join('\n')}
36
+ ...and more.
37
+
38
+ **Aliases supported:**
39
+ - "supabase" → "supabase-mcp"
40
+ - "@neondatabase/mcp" → "neon-mcp"
41
41
  - "stripe" → "stripe-mcp"`,
42
42
  inputSchema: {
43
43
  type: 'object',
@@ -1 +1 @@
1
- {"version":3,"file":"check-compatibility.js","sourceRoot":"","sources":["../../src/tools/check-compatibility.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,cAAc,EACd,WAAW,EACX,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,GAEb,MAAM,mCAAmC,CAAC;AAE3C,+CAA+C;AAC/C,eAAe;AACf,+CAA+C;AAE/C,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,IAAI,EAAE,CAAC;SACJ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACxB,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,CAAC,wDAAwD,CAAC;CACtE,CAAC,CAAC;AAcH,+CAA+C;AAC/C,kBAAkB;AAClB,+CAA+C;AAE/C,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EAAE;;;;;;;;;;EAUb,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;0BAMrC;IACxB,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,EAAE;gBACZ,WAAW,EAAE,wDAAwD;aACtE;SACF;QACD,QAAQ,EAAE,CAAC,MAAM,CAAC;KACnB;CACF,CAAC;AAEF,+CAA+C;AAC/C,yBAAyB;AACzB,+CAA+C;AAE/C,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAE7B,SAAS,sBAAsB;IAC7B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9B,gBAAgB,GAAG,IAAI,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,+CAA+C;AAC/C,mBAAmB;AACnB,+CAA+C;AAE/C,MAAM,UAAU,yBAAyB,CACvC,KAA8B;IAE9B,IAAI,CAAC;QACH,iBAAiB;QACjB,MAAM,MAAM,GAAG,6BAA6B,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,IAAI,EAAE,kBAAkB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC9C,IAAI,EAAE;oBACJ,YAAY,EAAE,EAAE;oBAChB,OAAO,EAAE;wBACP,KAAK,EAAE,CAAC;wBACR,SAAS,EAAE,CAAC;wBACZ,YAAY,EAAE,CAAC;wBACf,SAAS,EAAE,CAAC;wBACZ,KAAK,EAAE,CAAC;wBACR,KAAK,EAAE,GAAG;qBACX;oBACD,SAAS,EAAE,EAAE;oBACb,YAAY,EAAE,EAAE;oBAChB,SAAS,EAAE,EAAE;oBACb,WAAW,EAAE,EAAE;iBAChB;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QAE7B,yBAAyB;QACzB,sBAAsB,EAAE,CAAC;QAEzB,gCAAgC;QAChC,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QAEnD,qBAAqB;QACrB,MAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAEhD,8BAA8B;QAC9B,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,GAAG,WAAW,OAAO,QAAQ,EAAE,CAAC;QAE7C,OAAO;YACL,IAAI;YACJ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QAC9E,OAAO;YACL,IAAI,EAAE,iCAAiC,YAAY,EAAE;YACrD,IAAI,EAAE;gBACJ,YAAY,EAAE,EAAE;gBAChB,OAAO,EAAE;oBACP,KAAK,EAAE,CAAC;oBACR,SAAS,EAAE,CAAC;oBACZ,YAAY,EAAE,CAAC;oBACf,SAAS,EAAE,CAAC;oBACZ,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,GAAG;iBACX;gBACD,SAAS,EAAE,EAAE;gBACb,YAAY,EAAE,EAAE;gBAChB,SAAS,EAAE,EAAE;gBACb,WAAW,EAAE,EAAE;aAChB;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"check-compatibility.js","sourceRoot":"","sources":["../../src/tools/check-compatibility.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Input schema for estimate_project tool.
4
+ */
5
+ export declare const EstimateProjectInputSchema: z.ZodObject<{
6
+ specs: z.ZodString;
7
+ teamSize: z.ZodOptional<z.ZodNumber>;
8
+ seniorityLevel: z.ZodDefault<z.ZodOptional<z.ZodEnum<["junior", "mid", "senior", "expert"]>>>;
9
+ region: z.ZodDefault<z.ZodOptional<z.ZodEnum<["france", "us", "uk", "remote-global"]>>>;
10
+ includeMarket: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ specs: string;
13
+ seniorityLevel: "junior" | "mid" | "senior" | "expert";
14
+ region: "france" | "us" | "uk" | "remote-global";
15
+ includeMarket: boolean;
16
+ teamSize?: number | undefined;
17
+ }, {
18
+ specs: string;
19
+ teamSize?: number | undefined;
20
+ seniorityLevel?: "junior" | "mid" | "senior" | "expert" | undefined;
21
+ region?: "france" | "us" | "uk" | "remote-global" | undefined;
22
+ includeMarket?: boolean | undefined;
23
+ }>;
24
+ export type EstimateProjectInput = z.infer<typeof EstimateProjectInputSchema>;
25
+ /**
26
+ * Input schema for get_estimate_quota tool.
27
+ */
28
+ export declare const GetEstimateQuotaInputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
29
+ export type GetEstimateQuotaInput = z.infer<typeof GetEstimateQuotaInputSchema>;
30
+ export declare const estimateProjectToolDefinition: {
31
+ name: string;
32
+ description: string;
33
+ inputSchema: {
34
+ type: "object";
35
+ properties: {
36
+ specs: {
37
+ type: string;
38
+ description: string;
39
+ };
40
+ teamSize: {
41
+ type: string;
42
+ description: string;
43
+ };
44
+ seniorityLevel: {
45
+ type: string;
46
+ enum: string[];
47
+ description: string;
48
+ };
49
+ region: {
50
+ type: string;
51
+ enum: string[];
52
+ description: string;
53
+ };
54
+ includeMarket: {
55
+ type: string;
56
+ description: string;
57
+ };
58
+ };
59
+ required: string[];
60
+ };
61
+ };
62
+ export declare const getEstimateQuotaToolDefinition: {
63
+ name: string;
64
+ description: string;
65
+ inputSchema: {
66
+ type: "object";
67
+ properties: {};
68
+ required: never[];
69
+ };
70
+ };
71
+ /**
72
+ * Execute estimate_project tool.
73
+ */
74
+ export declare function executeEstimateProject(input: EstimateProjectInput): Promise<{
75
+ text: string;
76
+ isError?: boolean;
77
+ }>;
78
+ /**
79
+ * Execute get_estimate_quota tool.
80
+ */
81
+ export declare function executeGetEstimateQuota(_input: GetEstimateQuotaInput): Promise<{
82
+ text: string;
83
+ isError?: boolean;
84
+ }>;
85
+ //# sourceMappingURL=estimator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"estimator.d.ts","sourceRoot":"","sources":["../../src/tools/estimator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;EAkBrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,2BAA2B,gDAAe,CAAC;AAExD,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAMhF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CzC,CAAC;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;CAQ1C,CAAC;AA2FF;;GAEG;AACH,wBAAsB,sBAAsB,CAC3C,KAAK,EAAE,oBAAoB,GACzB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAmC9C;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC5C,MAAM,EAAE,qBAAqB,GAC3B,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA2B9C"}