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.
- package/dist/clients/shrinkChatClient.d.ts +4 -4
- package/dist/index.js +80 -5
- package/dist/index.js.map +1 -1
- package/dist/tools/check-versions.d.ts +7 -7
- package/dist/tools/checkpoint.d.ts +2 -19
- package/dist/tools/checkpoint.d.ts.map +1 -1
- package/dist/tools/checkpoint.js +68 -2
- package/dist/tools/checkpoint.js.map +1 -1
- package/dist/tools/comprehensive-code-review.d.ts +78 -0
- package/dist/tools/comprehensive-code-review.d.ts.map +1 -0
- package/dist/tools/comprehensive-code-review.js +177 -0
- package/dist/tools/comprehensive-code-review.js.map +1 -0
- package/dist/tools/comprehensive-package-audit.d.ts +75 -0
- package/dist/tools/comprehensive-package-audit.d.ts.map +1 -0
- package/dist/tools/comprehensive-package-audit.js +151 -0
- package/dist/tools/comprehensive-package-audit.js.map +1 -0
- package/dist/tools/detect-build-context.d.ts +59 -0
- package/dist/tools/detect-build-context.d.ts.map +1 -0
- package/dist/tools/detect-build-context.js +80 -0
- package/dist/tools/detect-build-context.js.map +1 -0
- package/dist/tools/generate-upgrade-report.d.ts +85 -0
- package/dist/tools/generate-upgrade-report.d.ts.map +1 -0
- package/dist/tools/generate-upgrade-report.js +102 -0
- package/dist/tools/generate-upgrade-report.js.map +1 -0
- package/dist/tools/index-full.d.ts +1355 -0
- package/dist/tools/index-full.d.ts.map +1 -0
- package/dist/tools/index-full.js +611 -0
- package/dist/tools/index-full.js.map +1 -0
- package/dist/tools/index.d.ts +27 -1018
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +29 -554
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/insight.d.ts +25 -6
- package/dist/tools/insight.d.ts.map +1 -1
- package/dist/tools/insight.js +2 -1
- package/dist/tools/insight.js.map +1 -1
- package/dist/tools/prevent-ai-errors.d.ts +85 -0
- package/dist/tools/prevent-ai-errors.d.ts.map +1 -0
- package/dist/tools/prevent-ai-errors.js +97 -0
- package/dist/tools/prevent-ai-errors.js.map +1 -0
- package/dist/tools/primary-tools.d.ts +430 -0
- package/dist/tools/primary-tools.d.ts.map +1 -0
- package/dist/tools/primary-tools.js +294 -0
- package/dist/tools/primary-tools.js.map +1 -0
- package/dist/tools/sendMessage.d.ts.map +1 -1
- package/dist/tools/sendMessage.js +10 -7
- package/dist/tools/sendMessage.js.map +1 -1
- package/dist/tools/smart-context.d.ts +66 -0
- package/dist/tools/smart-context.d.ts.map +1 -0
- package/dist/tools/smart-context.js +167 -0
- package/dist/tools/smart-context.js.map +1 -0
- package/dist/types/checkpoint.d.ts +26 -1
- package/dist/types/checkpoint.d.ts.map +1 -1
- package/dist/types/checkpoint.js +17 -0
- package/dist/types/checkpoint.js.map +1 -1
- package/dist/types/journey.d.ts +6 -6
- package/dist/types/session.d.ts +3 -3
- package/dist/utils/sanitize.d.ts +24 -0
- package/dist/utils/sanitize.d.ts.map +1 -0
- package/dist/utils/sanitize.js +117 -0
- package/dist/utils/sanitize.js.map +1 -0
- package/dist/workflows/index.d.ts +1 -1
- package/package.json +1 -1
package/dist/tools/insight.d.ts
CHANGED
|
@@ -1,11 +1,23 @@
|
|
|
1
|
-
|
|
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
|
-
|
|
13
|
+
success: boolean;
|
|
6
14
|
message: string;
|
|
7
15
|
}>;
|
|
8
|
-
export declare function getInsights(args:
|
|
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:
|
|
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:
|
|
50
|
-
|
|
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":"
|
|
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"}
|
package/dist/tools/insight.js
CHANGED
|
@@ -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
|
-
|
|
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":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,
|
|
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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"}
|