couchloop-eq-mcp 1.1.4 → 1.1.6

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 (63) hide show
  1. package/dist/clients/shrinkChatClient.d.ts +4 -4
  2. package/dist/index.js +80 -5
  3. package/dist/index.js.map +1 -1
  4. package/dist/tools/check-versions.d.ts +7 -7
  5. package/dist/tools/checkpoint.d.ts +2 -19
  6. package/dist/tools/checkpoint.d.ts.map +1 -1
  7. package/dist/tools/checkpoint.js +68 -2
  8. package/dist/tools/checkpoint.js.map +1 -1
  9. package/dist/tools/comprehensive-code-review.d.ts +78 -0
  10. package/dist/tools/comprehensive-code-review.d.ts.map +1 -0
  11. package/dist/tools/comprehensive-code-review.js +177 -0
  12. package/dist/tools/comprehensive-code-review.js.map +1 -0
  13. package/dist/tools/comprehensive-package-audit.d.ts +75 -0
  14. package/dist/tools/comprehensive-package-audit.d.ts.map +1 -0
  15. package/dist/tools/comprehensive-package-audit.js +151 -0
  16. package/dist/tools/comprehensive-package-audit.js.map +1 -0
  17. package/dist/tools/detect-build-context.d.ts +59 -0
  18. package/dist/tools/detect-build-context.d.ts.map +1 -0
  19. package/dist/tools/detect-build-context.js +80 -0
  20. package/dist/tools/detect-build-context.js.map +1 -0
  21. package/dist/tools/generate-upgrade-report.d.ts +85 -0
  22. package/dist/tools/generate-upgrade-report.d.ts.map +1 -0
  23. package/dist/tools/generate-upgrade-report.js +102 -0
  24. package/dist/tools/generate-upgrade-report.js.map +1 -0
  25. package/dist/tools/index-full.d.ts +1355 -0
  26. package/dist/tools/index-full.d.ts.map +1 -0
  27. package/dist/tools/index-full.js +611 -0
  28. package/dist/tools/index-full.js.map +1 -0
  29. package/dist/tools/index.d.ts +27 -1018
  30. package/dist/tools/index.d.ts.map +1 -1
  31. package/dist/tools/index.js +29 -554
  32. package/dist/tools/index.js.map +1 -1
  33. package/dist/tools/insight.d.ts +25 -6
  34. package/dist/tools/insight.d.ts.map +1 -1
  35. package/dist/tools/insight.js +2 -1
  36. package/dist/tools/insight.js.map +1 -1
  37. package/dist/tools/prevent-ai-errors.d.ts +85 -0
  38. package/dist/tools/prevent-ai-errors.d.ts.map +1 -0
  39. package/dist/tools/prevent-ai-errors.js +97 -0
  40. package/dist/tools/prevent-ai-errors.js.map +1 -0
  41. package/dist/tools/primary-tools.d.ts +430 -0
  42. package/dist/tools/primary-tools.d.ts.map +1 -0
  43. package/dist/tools/primary-tools.js +294 -0
  44. package/dist/tools/primary-tools.js.map +1 -0
  45. package/dist/tools/sendMessage.d.ts.map +1 -1
  46. package/dist/tools/sendMessage.js +10 -7
  47. package/dist/tools/sendMessage.js.map +1 -1
  48. package/dist/tools/smart-context.d.ts +66 -0
  49. package/dist/tools/smart-context.d.ts.map +1 -0
  50. package/dist/tools/smart-context.js +167 -0
  51. package/dist/tools/smart-context.js.map +1 -0
  52. package/dist/types/checkpoint.d.ts +26 -1
  53. package/dist/types/checkpoint.d.ts.map +1 -1
  54. package/dist/types/checkpoint.js +17 -0
  55. package/dist/types/checkpoint.js.map +1 -1
  56. package/dist/types/journey.d.ts +6 -6
  57. package/dist/types/session.d.ts +3 -3
  58. package/dist/utils/sanitize.d.ts +24 -0
  59. package/dist/utils/sanitize.d.ts.map +1 -0
  60. package/dist/utils/sanitize.js +117 -0
  61. package/dist/utils/sanitize.js.map +1 -0
  62. package/dist/workflows/index.d.ts +1 -1
  63. package/package.json +1 -1
@@ -1,11 +1,23 @@
1
- export declare function saveInsight(args: any): Promise<{
1
+ import { type SaveInsightInput, type GetUserContextInput } from '../types/insight.js';
2
+ export interface RecentSession {
3
+ id: string;
4
+ status: string;
5
+ started_at: Date;
6
+ completed_at: Date | null;
7
+ journey_id: string | null;
8
+ }
9
+ export declare function saveInsight(args: SaveInsightInput): Promise<{
2
10
  error: string;
3
11
  details?: any;
4
12
  } | {
5
- insight_id: string;
13
+ success: boolean;
6
14
  message: string;
7
15
  }>;
8
- export declare function getInsights(args: any): Promise<{
16
+ export declare function getInsights(args: {
17
+ session_id?: string;
18
+ limit?: number;
19
+ auth?: Record<string, unknown>;
20
+ }): Promise<{
9
21
  error: string;
10
22
  details?: any;
11
23
  } | {
@@ -19,7 +31,7 @@ export declare function getInsights(args: any): Promise<{
19
31
  }[];
20
32
  count: number;
21
33
  }>;
22
- export declare function getUserContext(args: any): Promise<{
34
+ export declare function getUserContext(args: GetUserContextInput): Promise<{
23
35
  error: string;
24
36
  details?: any;
25
37
  } | {
@@ -46,8 +58,15 @@ export declare function getUserContext(args: any): Promise<{
46
58
  } | null;
47
59
  created_at: Date;
48
60
  };
49
- recent_insights: any[];
50
- recent_sessions: any[];
61
+ recent_insights: {
62
+ id: string;
63
+ createdAt: Date;
64
+ tags: string[];
65
+ userId: string;
66
+ sessionId: string | null;
67
+ content: string;
68
+ }[];
69
+ recent_sessions: RecentSession[];
51
70
  active_session: {
52
71
  id: string;
53
72
  updatedAt: Date;
@@ -1 +1 @@
1
- {"version":3,"file":"insight.d.ts","sourceRoot":"","sources":["../../src/tools/insight.ts"],"names":[],"mappings":"AAQA,wBAAsB,WAAW,CAAC,IAAI,EAAE,GAAG;;;;;;GA4D1C;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,GAAG;;;;;;;;;;;;;GA6D1C;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoF7C"}
1
+ {"version":3,"file":"insight.d.ts","sourceRoot":"","sources":["../../src/tools/insight.ts"],"names":[],"mappings":"AAGA,OAAO,EAA2C,KAAK,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAO/H,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,IAAI,CAAC;IACjB,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,gBAAgB;;;;;;GA6DvD;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE;;;;;;;;;;;;;GA6D9G;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoF7D"}
@@ -46,8 +46,9 @@ export async function saveInsight(args) {
46
46
  .returning();
47
47
  const insight = insightResult[0];
48
48
  logger.info(`Saved insight: ${insight.id}`);
49
+ // Return sanitized response (no internal IDs)
49
50
  return {
50
- insight_id: insight.id,
51
+ success: true,
51
52
  message: 'Insight captured successfully.',
52
53
  };
53
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"insight.js","sourceRoot":"","sources":["../../src/tools/insight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"insight.js","sourceRoot":"","sources":["../../src/tools/insight.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * MCP Tool: prevent_ai_errors
3
+ *
4
+ * Intercepts and prevents common AI coding errors before they cause problems.
5
+ * Catches hallucinated packages, build context issues, deprecated patterns, and more.
6
+ */
7
+ export declare const preventAIErrorsTool: {
8
+ name: string;
9
+ description: string;
10
+ annotations: {
11
+ readOnlyHint: boolean;
12
+ destructiveHint: boolean;
13
+ openWorldHint: boolean;
14
+ };
15
+ inputSchema: {
16
+ type: string;
17
+ properties: {
18
+ code: {
19
+ type: string;
20
+ description: string;
21
+ };
22
+ language: {
23
+ type: string;
24
+ description: string;
25
+ };
26
+ auto_fix: {
27
+ type: string;
28
+ description: string;
29
+ };
30
+ check_build_context: {
31
+ type: string;
32
+ description: string;
33
+ };
34
+ patterns: {
35
+ type: string;
36
+ items: {
37
+ type: string;
38
+ };
39
+ description: string;
40
+ };
41
+ };
42
+ required: string[];
43
+ };
44
+ };
45
+ export declare function handlePreventAIErrors(args: unknown): Promise<{
46
+ success: boolean;
47
+ errors_found: number;
48
+ errors: {
49
+ id: string;
50
+ name: string;
51
+ impact: "medium" | "low" | "high" | "critical";
52
+ category: "performance" | "build" | "syntax" | "logic" | "security" | "architecture";
53
+ description: string;
54
+ locations: {
55
+ line: number;
56
+ column: number;
57
+ snippet: string;
58
+ }[];
59
+ suggestion: string | undefined;
60
+ fixed: boolean;
61
+ }[];
62
+ warnings: string[];
63
+ prevented_errors: string[];
64
+ build_context: {
65
+ language: "unknown" | "javascript" | "typescript" | "python" | "java";
66
+ module_system: "commonjs" | "esm" | "umd" | "amd" | undefined;
67
+ package_manager: "npm" | "yarn" | "pnpm" | "pip" | "maven" | "gradle" | undefined;
68
+ requires_js_extensions: boolean;
69
+ ai_guidance: string[];
70
+ } | null;
71
+ fixed: boolean;
72
+ fixed_code: string | undefined;
73
+ error?: undefined;
74
+ } | {
75
+ success: boolean;
76
+ error: string;
77
+ errors_found?: undefined;
78
+ errors?: undefined;
79
+ warnings?: undefined;
80
+ prevented_errors?: undefined;
81
+ build_context?: undefined;
82
+ fixed?: undefined;
83
+ fixed_code?: undefined;
84
+ }>;
85
+ //# sourceMappingURL=prevent-ai-errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prevent-ai-errors.d.ts","sourceRoot":"","sources":["../../src/tools/prevent-ai-errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmC/B,CAAC;AAEF,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CxD"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * MCP Tool: prevent_ai_errors
3
+ *
4
+ * Intercepts and prevents common AI coding errors before they cause problems.
5
+ * Catches hallucinated packages, build context issues, deprecated patterns, and more.
6
+ */
7
+ import { z } from 'zod';
8
+ import { AIErrorPreventer } from '../developer/evaluators/ai-error-preventer.js';
9
+ import { logger } from '../utils/logger.js';
10
+ const PreventAIErrorsInputSchema = z.object({
11
+ code: z.string().describe('Code to analyze for AI errors'),
12
+ language: z.string().default('typescript').describe('Programming language'),
13
+ auto_fix: z.boolean().default(false).describe('Attempt to auto-fix detected issues'),
14
+ check_build_context: z.boolean().default(true).describe('Detect and respect build context'),
15
+ patterns: z.array(z.string()).optional().describe('Specific error patterns to check (all if not specified)'),
16
+ });
17
+ export const preventAIErrorsTool = {
18
+ name: 'prevent_ai_errors',
19
+ description: 'Intercepts and prevents common AI coding errors: hallucinated packages, incorrect imports, deprecated APIs, build context blindness, and more. Run this on any AI-generated code before using it.',
20
+ annotations: {
21
+ readOnlyHint: true,
22
+ destructiveHint: false,
23
+ openWorldHint: false,
24
+ },
25
+ inputSchema: {
26
+ type: 'object',
27
+ properties: {
28
+ code: {
29
+ type: 'string',
30
+ description: 'Code to analyze for AI errors',
31
+ },
32
+ language: {
33
+ type: 'string',
34
+ description: 'Programming language (default: typescript)',
35
+ },
36
+ auto_fix: {
37
+ type: 'boolean',
38
+ description: 'Attempt to auto-fix detected issues (default: false)',
39
+ },
40
+ check_build_context: {
41
+ type: 'boolean',
42
+ description: 'Detect and respect build context (default: true)',
43
+ },
44
+ patterns: {
45
+ type: 'array',
46
+ items: { type: 'string' },
47
+ description: 'Specific error patterns to check (all if not specified)',
48
+ },
49
+ },
50
+ required: ['code'],
51
+ },
52
+ };
53
+ export async function handlePreventAIErrors(args) {
54
+ try {
55
+ const input = PreventAIErrorsInputSchema.parse(args);
56
+ logger.info('Running AI error prevention check');
57
+ const preventer = new AIErrorPreventer();
58
+ const result = await preventer.preventErrors(input.code, input.language, {
59
+ autoFix: input.auto_fix,
60
+ checkBuildContext: input.check_build_context,
61
+ patterns: input.patterns,
62
+ });
63
+ return {
64
+ success: true,
65
+ errors_found: result.errors.length,
66
+ errors: result.errors.map(e => ({
67
+ id: e.pattern.id,
68
+ name: e.pattern.name,
69
+ impact: e.pattern.impact,
70
+ category: e.pattern.category,
71
+ description: e.pattern.description,
72
+ locations: e.locations,
73
+ suggestion: e.suggestion,
74
+ fixed: e.fixed,
75
+ })),
76
+ warnings: result.warnings,
77
+ prevented_errors: result.preventedErrors,
78
+ build_context: result.buildContext ? {
79
+ language: result.buildContext.language,
80
+ module_system: result.buildContext.moduleSystem,
81
+ package_manager: result.buildContext.packageManager,
82
+ requires_js_extensions: result.buildContext.requiresJsExtensions,
83
+ ai_guidance: result.buildContext.aiGuidance,
84
+ } : null,
85
+ fixed: result.fixed,
86
+ fixed_code: result.fixedCode,
87
+ };
88
+ }
89
+ catch (error) {
90
+ logger.error('Error in prevent_ai_errors:', error);
91
+ return {
92
+ success: false,
93
+ error: error instanceof Error ? error.message : 'Unknown error',
94
+ };
95
+ }
96
+ }
97
+ //# sourceMappingURL=prevent-ai-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prevent-ai-errors.js","sourceRoot":"","sources":["../../src/tools/prevent-ai-errors.ts"],"names":[],"mappings":"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"}