driftdetect-mcp 0.7.0 → 0.8.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.
- package/dist/bin/server.js +8 -1
- package/dist/bin/server.js.map +1 -1
- package/dist/enterprise-server.d.ts +4 -0
- package/dist/enterprise-server.d.ts.map +1 -1
- package/dist/enterprise-server.js +32 -2
- package/dist/enterprise-server.js.map +1 -1
- package/dist/infrastructure/index.d.ts +1 -0
- package/dist/infrastructure/index.d.ts.map +1 -1
- package/dist/infrastructure/index.js +2 -0
- package/dist/infrastructure/index.js.map +1 -1
- package/dist/infrastructure/startup-warmer.d.ts +65 -0
- package/dist/infrastructure/startup-warmer.d.ts.map +1 -0
- package/dist/infrastructure/startup-warmer.js +257 -0
- package/dist/infrastructure/startup-warmer.js.map +1 -0
- package/dist/tools/analysis/coupling.js +181 -63
- package/dist/tools/analysis/coupling.js.map +1 -1
- package/dist/tools/analysis/cpp.d.ts +51 -0
- package/dist/tools/analysis/cpp.d.ts.map +1 -0
- package/dist/tools/analysis/cpp.js +224 -0
- package/dist/tools/analysis/cpp.js.map +1 -0
- package/dist/tools/analysis/error-handling.js +130 -37
- package/dist/tools/analysis/error-handling.js.map +1 -1
- package/dist/tools/analysis/index.d.ts +3 -0
- package/dist/tools/analysis/index.d.ts.map +1 -1
- package/dist/tools/analysis/index.js +100 -0
- package/dist/tools/analysis/index.js.map +1 -1
- package/dist/tools/analysis/quality-gate.d.ts +78 -0
- package/dist/tools/analysis/quality-gate.d.ts.map +1 -0
- package/dist/tools/analysis/quality-gate.js +164 -0
- package/dist/tools/analysis/quality-gate.js.map +1 -0
- package/dist/tools/analysis/rust.d.ts +51 -0
- package/dist/tools/analysis/rust.d.ts.map +1 -0
- package/dist/tools/analysis/rust.js +253 -0
- package/dist/tools/analysis/rust.js.map +1 -0
- package/dist/tools/analysis/simulate.d.ts +1 -0
- package/dist/tools/analysis/simulate.d.ts.map +1 -1
- package/dist/tools/analysis/simulate.js +78 -74
- package/dist/tools/analysis/simulate.js.map +1 -1
- package/dist/tools/analysis/test-topology.js +117 -44
- package/dist/tools/analysis/test-topology.js.map +1 -1
- package/dist/tools/detail/reachability.d.ts +2 -0
- package/dist/tools/detail/reachability.d.ts.map +1 -1
- package/dist/tools/detail/reachability.js +42 -32
- package/dist/tools/detail/reachability.js.map +1 -1
- package/dist/tools/orchestration/index.d.ts +2 -0
- package/dist/tools/orchestration/index.d.ts.map +1 -1
- package/dist/tools/orchestration/index.js +3 -0
- package/dist/tools/orchestration/index.js.map +1 -1
- package/dist/tools/orchestration/package-context.d.ts +134 -0
- package/dist/tools/orchestration/package-context.d.ts.map +1 -0
- package/dist/tools/orchestration/package-context.js +261 -0
- package/dist/tools/orchestration/package-context.js.map +1 -0
- package/package.json +12 -12
- package/LICENSE +0 -21
- package/dist/server.d.ts +0 -11
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js +0 -3177
- package/dist/server.js.map +0 -1
- package/dist/tools/detail/dna-check.d.ts +0 -32
- package/dist/tools/detail/dna-check.d.ts.map +0 -1
- package/dist/tools/detail/dna-check.js +0 -231
- package/dist/tools/detail/dna-check.js.map +0 -1
- package/dist/tools/exploration/files-list.d.ts +0 -29
- package/dist/tools/exploration/files-list.d.ts.map +0 -1
- package/dist/tools/exploration/files-list.js +0 -94
- package/dist/tools/exploration/files-list.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/orchestration/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/orchestration/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAG/D,eAAO,MAAM,mBAAmB,EAAE,IAAI,EA2DrC,CAAC;AAGF,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5D,YAAY,EACV,UAAU,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,QAAQ,EACR,OAAO,EACP,UAAU,EACV,UAAU,GACX,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* Meta-layer tools that understand intent and synthesize context from multiple sources.
|
|
5
5
|
* These are the "smart" tools that reduce cognitive load on the AI.
|
|
6
6
|
*/
|
|
7
|
+
import { packageContextToolDefinition } from './package-context.js';
|
|
7
8
|
export const ORCHESTRATION_TOOLS = [
|
|
8
9
|
{
|
|
9
10
|
name: 'drift_context',
|
|
@@ -62,7 +63,9 @@ EXAMPLE:
|
|
|
62
63
|
required: ['intent', 'focus'],
|
|
63
64
|
},
|
|
64
65
|
},
|
|
66
|
+
packageContextToolDefinition,
|
|
65
67
|
];
|
|
66
68
|
// Handler export
|
|
67
69
|
export { handleContext } from './context.js';
|
|
70
|
+
export { handlePackageContext } from './package-context.js';
|
|
68
71
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/orchestration/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/orchestration/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAEpE,MAAM,CAAC,MAAM,mBAAmB,GAAW;IACzC;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;4DAwB2C;QACxD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,CAAC;oBAC7F,WAAW,EAAE;;;;;;iCAMU;iBACxB;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qIAAqI;iBACnJ;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kFAAkF;iBAChG;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qHAAqH;iBACnI;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;SAC9B;KACF;IACD,4BAAoC;CACrC,CAAC;AAEF,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* drift_package_context - Package-Scoped AI Context Generation
|
|
3
|
+
*
|
|
4
|
+
* @license Apache-2.0
|
|
5
|
+
*
|
|
6
|
+
* Generates AI-optimized context for specific packages in a monorepo.
|
|
7
|
+
* Minimizes token usage by scoping patterns, constraints, and examples
|
|
8
|
+
* to only what's relevant for the target package.
|
|
9
|
+
*
|
|
10
|
+
* This tool is essential for monorepo workflows where you want to:
|
|
11
|
+
* - Focus AI context on a specific package
|
|
12
|
+
* - Reduce token usage by excluding irrelevant patterns
|
|
13
|
+
* - Get package-specific guidance and constraints
|
|
14
|
+
*/
|
|
15
|
+
import { type PackageContext } from 'driftdetect-core';
|
|
16
|
+
export interface PackageContextInput {
|
|
17
|
+
/** Package name or path to generate context for */
|
|
18
|
+
package?: string;
|
|
19
|
+
/** List all packages instead of generating context */
|
|
20
|
+
list?: boolean;
|
|
21
|
+
/** Include code snippets in context */
|
|
22
|
+
includeSnippets?: boolean;
|
|
23
|
+
/** Include internal dependency patterns */
|
|
24
|
+
includeDependencies?: boolean;
|
|
25
|
+
/** Categories to include (empty = all) */
|
|
26
|
+
categories?: string[];
|
|
27
|
+
/** Minimum pattern confidence (0.0-1.0) */
|
|
28
|
+
minConfidence?: number;
|
|
29
|
+
/** Maximum tokens for context */
|
|
30
|
+
maxTokens?: number;
|
|
31
|
+
/** Output format: json, ai */
|
|
32
|
+
format?: 'json' | 'ai';
|
|
33
|
+
/** Optional: Target a specific registered project */
|
|
34
|
+
project?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface PackageListResult {
|
|
37
|
+
isMonorepo: boolean;
|
|
38
|
+
packageManager: string;
|
|
39
|
+
workspaceConfig?: string;
|
|
40
|
+
packages: Array<{
|
|
41
|
+
name: string;
|
|
42
|
+
path: string;
|
|
43
|
+
language: string;
|
|
44
|
+
isRoot: boolean;
|
|
45
|
+
description?: string;
|
|
46
|
+
internalDependencies: string[];
|
|
47
|
+
}>;
|
|
48
|
+
}
|
|
49
|
+
export interface PackageContextOutput {
|
|
50
|
+
/** Summary of the context */
|
|
51
|
+
summary: string;
|
|
52
|
+
/** Package information */
|
|
53
|
+
package?: {
|
|
54
|
+
name: string;
|
|
55
|
+
path: string;
|
|
56
|
+
language: string;
|
|
57
|
+
description?: string;
|
|
58
|
+
};
|
|
59
|
+
/** Statistics */
|
|
60
|
+
stats?: {
|
|
61
|
+
patterns: number;
|
|
62
|
+
constraints: number;
|
|
63
|
+
entryPoints: number;
|
|
64
|
+
dataAccessors: number;
|
|
65
|
+
estimatedTokens: number;
|
|
66
|
+
};
|
|
67
|
+
/** Full context (for json format) */
|
|
68
|
+
context?: PackageContext;
|
|
69
|
+
/** AI-formatted context (for ai format) */
|
|
70
|
+
aiContext?: string;
|
|
71
|
+
/** Package list (for list mode) */
|
|
72
|
+
packages?: PackageListResult;
|
|
73
|
+
/** Warnings */
|
|
74
|
+
warnings: string[];
|
|
75
|
+
/** Project context if using multi-project */
|
|
76
|
+
projectContext?: Record<string, unknown>;
|
|
77
|
+
}
|
|
78
|
+
export declare function handlePackageContext(projectRoot: string, args: PackageContextInput): Promise<{
|
|
79
|
+
content: Array<{
|
|
80
|
+
type: string;
|
|
81
|
+
text: string;
|
|
82
|
+
}>;
|
|
83
|
+
}>;
|
|
84
|
+
export declare const packageContextToolDefinition: {
|
|
85
|
+
name: string;
|
|
86
|
+
description: string;
|
|
87
|
+
inputSchema: {
|
|
88
|
+
type: "object";
|
|
89
|
+
properties: {
|
|
90
|
+
package: {
|
|
91
|
+
type: string;
|
|
92
|
+
description: string;
|
|
93
|
+
};
|
|
94
|
+
list: {
|
|
95
|
+
type: string;
|
|
96
|
+
description: string;
|
|
97
|
+
};
|
|
98
|
+
includeSnippets: {
|
|
99
|
+
type: string;
|
|
100
|
+
description: string;
|
|
101
|
+
};
|
|
102
|
+
includeDependencies: {
|
|
103
|
+
type: string;
|
|
104
|
+
description: string;
|
|
105
|
+
};
|
|
106
|
+
categories: {
|
|
107
|
+
type: string;
|
|
108
|
+
items: {
|
|
109
|
+
type: string;
|
|
110
|
+
};
|
|
111
|
+
description: string;
|
|
112
|
+
};
|
|
113
|
+
minConfidence: {
|
|
114
|
+
type: string;
|
|
115
|
+
description: string;
|
|
116
|
+
};
|
|
117
|
+
maxTokens: {
|
|
118
|
+
type: string;
|
|
119
|
+
description: string;
|
|
120
|
+
};
|
|
121
|
+
format: {
|
|
122
|
+
type: string;
|
|
123
|
+
enum: string[];
|
|
124
|
+
description: string;
|
|
125
|
+
};
|
|
126
|
+
project: {
|
|
127
|
+
type: string;
|
|
128
|
+
description: string;
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
required: never[];
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
//# sourceMappingURL=package-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-context.d.ts","sourceRoot":"","sources":["../../../src/tools/orchestration/package-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAO1B,MAAM,WAAW,mBAAmB;IAClC,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uCAAuC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,2CAA2C;IAC3C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,OAAO,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,oBAAoB,EAAE,MAAM,EAAE,CAAC;KAChC,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,oBAAoB;IACnC,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,iBAAiB;IACjB,KAAK,CAAC,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,qCAAqC;IACrC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,eAAe;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAMD,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAwB7D;AAmMD,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6DxC,CAAC"}
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* drift_package_context - Package-Scoped AI Context Generation
|
|
3
|
+
*
|
|
4
|
+
* @license Apache-2.0
|
|
5
|
+
*
|
|
6
|
+
* Generates AI-optimized context for specific packages in a monorepo.
|
|
7
|
+
* Minimizes token usage by scoping patterns, constraints, and examples
|
|
8
|
+
* to only what's relevant for the target package.
|
|
9
|
+
*
|
|
10
|
+
* This tool is essential for monorepo workflows where you want to:
|
|
11
|
+
* - Focus AI context on a specific package
|
|
12
|
+
* - Reduce token usage by excluding irrelevant patterns
|
|
13
|
+
* - Get package-specific guidance and constraints
|
|
14
|
+
*/
|
|
15
|
+
import { createPackageDetector, createPackageContextGenerator, } from 'driftdetect-core';
|
|
16
|
+
import { createResponseBuilder, resolveProject, formatProjectContext } from '../../infrastructure/index.js';
|
|
17
|
+
// =============================================================================
|
|
18
|
+
// Handler
|
|
19
|
+
// =============================================================================
|
|
20
|
+
export async function handlePackageContext(projectRoot, args) {
|
|
21
|
+
const builder = createResponseBuilder();
|
|
22
|
+
// Resolve project - allows targeting different registered projects
|
|
23
|
+
const resolution = await resolveProject(args.project, projectRoot);
|
|
24
|
+
const effectiveRoot = resolution.projectRoot;
|
|
25
|
+
// List mode
|
|
26
|
+
if (args.list) {
|
|
27
|
+
return handleListPackages(effectiveRoot, resolution, builder);
|
|
28
|
+
}
|
|
29
|
+
// Context generation mode - requires package
|
|
30
|
+
if (!args.package) {
|
|
31
|
+
return builder
|
|
32
|
+
.withSummary('Package name or path required. Use list=true to see available packages.')
|
|
33
|
+
.withData({
|
|
34
|
+
summary: 'Package name or path required',
|
|
35
|
+
warnings: ['Use list=true to see available packages, then specify a package name'],
|
|
36
|
+
})
|
|
37
|
+
.buildContent();
|
|
38
|
+
}
|
|
39
|
+
return handleGenerateContext(effectiveRoot, args, resolution, builder);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* List all packages in the monorepo
|
|
43
|
+
*/
|
|
44
|
+
async function handleListPackages(projectRoot, resolution, builder) {
|
|
45
|
+
const detector = createPackageDetector(projectRoot);
|
|
46
|
+
const structure = await detector.detect();
|
|
47
|
+
const packages = {
|
|
48
|
+
isMonorepo: structure.isMonorepo,
|
|
49
|
+
packageManager: structure.packageManager,
|
|
50
|
+
...(structure.workspaceConfig && { workspaceConfig: structure.workspaceConfig }),
|
|
51
|
+
packages: structure.packages.map((pkg) => ({
|
|
52
|
+
name: pkg.name,
|
|
53
|
+
path: pkg.path,
|
|
54
|
+
language: pkg.language,
|
|
55
|
+
isRoot: pkg.isRoot,
|
|
56
|
+
...(pkg.description && { description: pkg.description }),
|
|
57
|
+
internalDependencies: pkg.internalDependencies,
|
|
58
|
+
})),
|
|
59
|
+
};
|
|
60
|
+
const summary = structure.isMonorepo
|
|
61
|
+
? `Monorepo with ${structure.packages.length} packages (${structure.packageManager})`
|
|
62
|
+
: `Single package project (${structure.packageManager})`;
|
|
63
|
+
const projectContext = formatProjectContext(resolution);
|
|
64
|
+
return builder
|
|
65
|
+
.withSummary(summary)
|
|
66
|
+
.withData({
|
|
67
|
+
summary,
|
|
68
|
+
packages,
|
|
69
|
+
warnings: [],
|
|
70
|
+
projectContext,
|
|
71
|
+
})
|
|
72
|
+
.withHints({
|
|
73
|
+
nextActions: structure.packages.slice(0, 3).map((p) => `drift_package_context package="${p.name}" to get context for ${p.name}`),
|
|
74
|
+
relatedTools: ['drift_context', 'drift_status'],
|
|
75
|
+
})
|
|
76
|
+
.buildContent();
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Generate context for a specific package
|
|
80
|
+
*/
|
|
81
|
+
async function handleGenerateContext(projectRoot, args, resolution, builder) {
|
|
82
|
+
const generator = createPackageContextGenerator(projectRoot);
|
|
83
|
+
const options = {
|
|
84
|
+
package: args.package,
|
|
85
|
+
...(args.includeSnippets !== undefined && { includeSnippets: args.includeSnippets }),
|
|
86
|
+
...(args.includeDependencies !== undefined && { includeDependencies: args.includeDependencies }),
|
|
87
|
+
...(args.includeDependencies !== undefined && { includeInternalDeps: args.includeDependencies }),
|
|
88
|
+
...(args.categories && { categories: args.categories }),
|
|
89
|
+
...(args.minConfidence !== undefined && { minConfidence: args.minConfidence }),
|
|
90
|
+
...(args.maxTokens !== undefined && { maxTokens: args.maxTokens }),
|
|
91
|
+
};
|
|
92
|
+
// Generate based on format
|
|
93
|
+
if (args.format === 'ai') {
|
|
94
|
+
const aiContext = await generator.generateAIContext(options);
|
|
95
|
+
if (aiContext.combined.startsWith('Error:')) {
|
|
96
|
+
return builder
|
|
97
|
+
.withSummary(`Error generating context: ${aiContext.combined}`)
|
|
98
|
+
.withData({
|
|
99
|
+
summary: aiContext.combined,
|
|
100
|
+
warnings: [],
|
|
101
|
+
})
|
|
102
|
+
.buildContent();
|
|
103
|
+
}
|
|
104
|
+
const summary = `AI context for ${args.package} (~${aiContext.tokens.total} tokens)`;
|
|
105
|
+
const projectContext = formatProjectContext(resolution);
|
|
106
|
+
return builder
|
|
107
|
+
.withSummary(summary)
|
|
108
|
+
.withData({
|
|
109
|
+
summary,
|
|
110
|
+
aiContext: aiContext.combined,
|
|
111
|
+
stats: {
|
|
112
|
+
patterns: 0, // Not available in AI format
|
|
113
|
+
constraints: 0,
|
|
114
|
+
entryPoints: 0,
|
|
115
|
+
dataAccessors: 0,
|
|
116
|
+
estimatedTokens: aiContext.tokens.total,
|
|
117
|
+
},
|
|
118
|
+
warnings: [],
|
|
119
|
+
projectContext,
|
|
120
|
+
})
|
|
121
|
+
.withHints({
|
|
122
|
+
nextActions: [
|
|
123
|
+
'Use the aiContext field directly in your system prompt',
|
|
124
|
+
'drift_code_examples for more detailed examples',
|
|
125
|
+
],
|
|
126
|
+
relatedTools: ['drift_context', 'drift_code_examples'],
|
|
127
|
+
})
|
|
128
|
+
.buildContent();
|
|
129
|
+
}
|
|
130
|
+
// JSON format (default)
|
|
131
|
+
const result = await generator.generate(options);
|
|
132
|
+
if (!result.success || !result.context) {
|
|
133
|
+
return builder
|
|
134
|
+
.withSummary(`Error: ${result.error}`)
|
|
135
|
+
.withData({
|
|
136
|
+
summary: result.error || 'Unknown error',
|
|
137
|
+
warnings: result.warnings,
|
|
138
|
+
})
|
|
139
|
+
.buildContent();
|
|
140
|
+
}
|
|
141
|
+
const ctx = result.context;
|
|
142
|
+
const summary = buildSummary(ctx, result.warnings);
|
|
143
|
+
const projectContext = formatProjectContext(resolution);
|
|
144
|
+
return builder
|
|
145
|
+
.withSummary(summary)
|
|
146
|
+
.withData({
|
|
147
|
+
summary,
|
|
148
|
+
package: ctx.package,
|
|
149
|
+
stats: {
|
|
150
|
+
patterns: ctx.summary.totalPatterns,
|
|
151
|
+
constraints: ctx.summary.totalConstraints,
|
|
152
|
+
entryPoints: ctx.summary.totalEntryPoints,
|
|
153
|
+
dataAccessors: ctx.summary.totalDataAccessors,
|
|
154
|
+
estimatedTokens: ctx.summary.estimatedTokens,
|
|
155
|
+
},
|
|
156
|
+
context: ctx,
|
|
157
|
+
warnings: result.warnings,
|
|
158
|
+
projectContext,
|
|
159
|
+
})
|
|
160
|
+
.withHints({
|
|
161
|
+
nextActions: generateNextActions(ctx),
|
|
162
|
+
relatedTools: ['drift_context', 'drift_code_examples', 'drift_file_patterns'],
|
|
163
|
+
})
|
|
164
|
+
.buildContent();
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Build summary string
|
|
168
|
+
*/
|
|
169
|
+
function buildSummary(ctx, warnings) {
|
|
170
|
+
let summary = `Context for ${ctx.package.name} (${ctx.package.language}): `;
|
|
171
|
+
summary += `${ctx.summary.totalPatterns} patterns, `;
|
|
172
|
+
summary += `${ctx.summary.totalConstraints} constraints, `;
|
|
173
|
+
summary += `${ctx.summary.totalEntryPoints} entry points. `;
|
|
174
|
+
summary += `~${ctx.summary.estimatedTokens} tokens.`;
|
|
175
|
+
if (warnings.length > 0) {
|
|
176
|
+
summary += ` ⚠️ ${warnings.length} warning(s).`;
|
|
177
|
+
}
|
|
178
|
+
return summary;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Generate next action suggestions
|
|
182
|
+
*/
|
|
183
|
+
function generateNextActions(ctx) {
|
|
184
|
+
const actions = [];
|
|
185
|
+
if (ctx.patterns.length > 0) {
|
|
186
|
+
actions.push(`drift_code_examples pattern="${ctx.patterns[0]?.id}" for more examples`);
|
|
187
|
+
}
|
|
188
|
+
if (ctx.keyFiles.length > 0) {
|
|
189
|
+
actions.push(`drift_file_patterns file="${ctx.keyFiles[0]?.file}" for file details`);
|
|
190
|
+
}
|
|
191
|
+
if (ctx.entryPoints.length > 0) {
|
|
192
|
+
actions.push(`drift_impact_analysis target="${ctx.entryPoints[0]?.file}" for impact analysis`);
|
|
193
|
+
}
|
|
194
|
+
return actions;
|
|
195
|
+
}
|
|
196
|
+
// =============================================================================
|
|
197
|
+
// Tool Definition
|
|
198
|
+
// =============================================================================
|
|
199
|
+
export const packageContextToolDefinition = {
|
|
200
|
+
name: 'drift_package_context',
|
|
201
|
+
description: `Generate AI-optimized context for a specific package in a monorepo.
|
|
202
|
+
|
|
203
|
+
This tool minimizes token usage by scoping patterns, constraints, and examples to only what's relevant for the target package.
|
|
204
|
+
|
|
205
|
+
Use cases:
|
|
206
|
+
- Focus AI context on a specific package in a monorepo
|
|
207
|
+
- Reduce token usage by excluding irrelevant patterns
|
|
208
|
+
- Get package-specific guidance and constraints
|
|
209
|
+
- List all packages in a monorepo
|
|
210
|
+
|
|
211
|
+
Examples:
|
|
212
|
+
- List packages: list=true
|
|
213
|
+
- Get context: package="@drift/core"
|
|
214
|
+
- AI format: package="@drift/core", format="ai"
|
|
215
|
+
- With snippets: package="@drift/core", includeSnippets=true`,
|
|
216
|
+
inputSchema: {
|
|
217
|
+
type: 'object',
|
|
218
|
+
properties: {
|
|
219
|
+
package: {
|
|
220
|
+
type: 'string',
|
|
221
|
+
description: 'Package name or path to generate context for',
|
|
222
|
+
},
|
|
223
|
+
list: {
|
|
224
|
+
type: 'boolean',
|
|
225
|
+
description: 'List all packages instead of generating context',
|
|
226
|
+
},
|
|
227
|
+
includeSnippets: {
|
|
228
|
+
type: 'boolean',
|
|
229
|
+
description: 'Include code snippets in context',
|
|
230
|
+
},
|
|
231
|
+
includeDependencies: {
|
|
232
|
+
type: 'boolean',
|
|
233
|
+
description: 'Include internal dependency patterns',
|
|
234
|
+
},
|
|
235
|
+
categories: {
|
|
236
|
+
type: 'array',
|
|
237
|
+
items: { type: 'string' },
|
|
238
|
+
description: 'Categories to include (empty = all)',
|
|
239
|
+
},
|
|
240
|
+
minConfidence: {
|
|
241
|
+
type: 'number',
|
|
242
|
+
description: 'Minimum pattern confidence (0.0-1.0)',
|
|
243
|
+
},
|
|
244
|
+
maxTokens: {
|
|
245
|
+
type: 'number',
|
|
246
|
+
description: 'Maximum tokens for context (default: 8000)',
|
|
247
|
+
},
|
|
248
|
+
format: {
|
|
249
|
+
type: 'string',
|
|
250
|
+
enum: ['json', 'ai'],
|
|
251
|
+
description: 'Output format: json (structured) or ai (markdown for prompts)',
|
|
252
|
+
},
|
|
253
|
+
project: {
|
|
254
|
+
type: 'string',
|
|
255
|
+
description: 'Optional: Target a specific registered project by name',
|
|
256
|
+
},
|
|
257
|
+
},
|
|
258
|
+
required: [],
|
|
259
|
+
},
|
|
260
|
+
};
|
|
261
|
+
//# sourceMappingURL=package-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-context.js","sourceRoot":"","sources":["../../../src/tools/orchestration/package-context.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "driftdetect-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "MCP server that gives AI agents (Claude, Cursor, Copilot) deep understanding of your codebase patterns, conventions, and architecture. Query patterns, security boundaries, call graphs in real-time.",
|
|
5
|
-
"license": "
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
6
|
"author": "Geoffrey Fernald",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
@@ -46,20 +46,20 @@
|
|
|
46
46
|
"files": [
|
|
47
47
|
"dist"
|
|
48
48
|
],
|
|
49
|
-
"dependencies": {
|
|
50
|
-
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
51
|
-
"driftdetect-core": "0.7.0",
|
|
52
|
-
"driftdetect-detectors": "0.7.0"
|
|
53
|
-
},
|
|
54
|
-
"devDependencies": {
|
|
55
|
-
"@types/node": "^20.10.0",
|
|
56
|
-
"typescript": "^5.3.0"
|
|
57
|
-
},
|
|
58
49
|
"scripts": {
|
|
59
50
|
"build": "tsc",
|
|
60
51
|
"clean": "rm -rf dist",
|
|
61
52
|
"dev": "tsc --watch",
|
|
62
53
|
"start": "node dist/bin/server.js",
|
|
63
54
|
"typecheck": "tsc --noEmit"
|
|
55
|
+
},
|
|
56
|
+
"dependencies": {
|
|
57
|
+
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
58
|
+
"driftdetect-core": "workspace:*",
|
|
59
|
+
"driftdetect-detectors": "workspace:*"
|
|
60
|
+
},
|
|
61
|
+
"devDependencies": {
|
|
62
|
+
"@types/node": "^20.10.0",
|
|
63
|
+
"typescript": "^5.3.0"
|
|
64
64
|
}
|
|
65
|
-
}
|
|
65
|
+
}
|
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2025 Geoffrey Fernald
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
package/dist/server.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Drift MCP Server Implementation
|
|
3
|
-
*
|
|
4
|
-
* Provides structured access to drift functionality for AI agents.
|
|
5
|
-
*/
|
|
6
|
-
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
7
|
-
export interface DriftMCPConfig {
|
|
8
|
-
projectRoot: string;
|
|
9
|
-
}
|
|
10
|
-
export declare function createDriftMCPServer(config: DriftMCPConfig): Server;
|
|
11
|
-
//# sourceMappingURL=server.d.ts.map
|
package/dist/server.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAsCnE,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB;AA8eD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAwLnE"}
|