driftdetect-mcp 0.4.6 → 0.5.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 (85) hide show
  1. package/dist/enterprise-server.d.ts +7 -0
  2. package/dist/enterprise-server.d.ts.map +1 -1
  3. package/dist/enterprise-server.js +79 -9
  4. package/dist/enterprise-server.js.map +1 -1
  5. package/dist/tools/analysis/coupling.d.ts +56 -0
  6. package/dist/tools/analysis/coupling.d.ts.map +1 -0
  7. package/dist/tools/analysis/coupling.js +248 -0
  8. package/dist/tools/analysis/coupling.js.map +1 -0
  9. package/dist/tools/analysis/error-handling.d.ts +45 -0
  10. package/dist/tools/analysis/error-handling.d.ts.map +1 -0
  11. package/dist/tools/analysis/error-handling.js +220 -0
  12. package/dist/tools/analysis/error-handling.js.map +1 -0
  13. package/dist/tools/analysis/index.d.ts +11 -0
  14. package/dist/tools/analysis/index.d.ts.map +1 -0
  15. package/dist/tools/analysis/index.js +111 -0
  16. package/dist/tools/analysis/index.js.map +1 -0
  17. package/dist/tools/analysis/test-topology.d.ts +43 -0
  18. package/dist/tools/analysis/test-topology.d.ts.map +1 -0
  19. package/dist/tools/analysis/test-topology.js +294 -0
  20. package/dist/tools/analysis/test-topology.js.map +1 -0
  21. package/dist/tools/detail/code-examples.d.ts +20 -3
  22. package/dist/tools/detail/code-examples.d.ts.map +1 -1
  23. package/dist/tools/detail/code-examples.js +104 -0
  24. package/dist/tools/detail/code-examples.js.map +1 -1
  25. package/dist/tools/detail/file-patterns.d.ts +3 -2
  26. package/dist/tools/detail/file-patterns.d.ts.map +1 -1
  27. package/dist/tools/detail/file-patterns.js +20 -12
  28. package/dist/tools/detail/file-patterns.js.map +1 -1
  29. package/dist/tools/detail/files-list.d.ts +3 -3
  30. package/dist/tools/detail/files-list.d.ts.map +1 -1
  31. package/dist/tools/detail/files-list.js +33 -16
  32. package/dist/tools/detail/files-list.js.map +1 -1
  33. package/dist/tools/detail/index.d.ts +6 -4
  34. package/dist/tools/detail/index.d.ts.map +1 -1
  35. package/dist/tools/detail/index.js +44 -2
  36. package/dist/tools/detail/index.js.map +1 -1
  37. package/dist/tools/detail/pattern-get.d.ts +20 -3
  38. package/dist/tools/detail/pattern-get.d.ts.map +1 -1
  39. package/dist/tools/detail/pattern-get.js +87 -0
  40. package/dist/tools/detail/pattern-get.js.map +1 -1
  41. package/dist/tools/detail/wrappers.d.ts +97 -0
  42. package/dist/tools/detail/wrappers.d.ts.map +1 -0
  43. package/dist/tools/detail/wrappers.js +124 -0
  44. package/dist/tools/detail/wrappers.js.map +1 -0
  45. package/dist/tools/discovery/index.d.ts +3 -1
  46. package/dist/tools/discovery/index.d.ts.map +1 -1
  47. package/dist/tools/discovery/index.js +36 -1
  48. package/dist/tools/discovery/index.js.map +1 -1
  49. package/dist/tools/discovery/status.d.ts +16 -3
  50. package/dist/tools/discovery/status.d.ts.map +1 -1
  51. package/dist/tools/discovery/status.js +83 -1
  52. package/dist/tools/discovery/status.js.map +1 -1
  53. package/dist/tools/exploration/index.d.ts +2 -2
  54. package/dist/tools/exploration/index.d.ts.map +1 -1
  55. package/dist/tools/exploration/index.js +1 -1
  56. package/dist/tools/exploration/index.js.map +1 -1
  57. package/dist/tools/exploration/patterns-list.d.ts +21 -4
  58. package/dist/tools/exploration/patterns-list.d.ts.map +1 -1
  59. package/dist/tools/exploration/patterns-list.js +70 -0
  60. package/dist/tools/exploration/patterns-list.js.map +1 -1
  61. package/dist/tools/generation/__tests__/generation-tools.test.d.ts +6 -0
  62. package/dist/tools/generation/__tests__/generation-tools.test.d.ts.map +1 -0
  63. package/dist/tools/generation/__tests__/generation-tools.test.js +119 -0
  64. package/dist/tools/generation/__tests__/generation-tools.test.js.map +1 -0
  65. package/dist/tools/generation/explain.d.ts +75 -0
  66. package/dist/tools/generation/explain.d.ts.map +1 -0
  67. package/dist/tools/generation/explain.js +238 -0
  68. package/dist/tools/generation/explain.js.map +1 -0
  69. package/dist/tools/generation/index.d.ts +12 -0
  70. package/dist/tools/generation/index.d.ts.map +1 -0
  71. package/dist/tools/generation/index.js +90 -0
  72. package/dist/tools/generation/index.js.map +1 -0
  73. package/dist/tools/generation/suggest-changes.d.ts +64 -0
  74. package/dist/tools/generation/suggest-changes.d.ts.map +1 -0
  75. package/dist/tools/generation/suggest-changes.js +342 -0
  76. package/dist/tools/generation/suggest-changes.js.map +1 -0
  77. package/dist/tools/generation/validate-change.d.ts +76 -0
  78. package/dist/tools/generation/validate-change.d.ts.map +1 -0
  79. package/dist/tools/generation/validate-change.js +415 -0
  80. package/dist/tools/generation/validate-change.js.map +1 -0
  81. package/dist/tools/registry.d.ts +5 -1
  82. package/dist/tools/registry.d.ts.map +1 -1
  83. package/dist/tools/registry.js +12 -0
  84. package/dist/tools/registry.js.map +1 -1
  85. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrappers.js","sourceRoot":"","sources":["../../../src/tools/detail/wrappers.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,10 @@
6
6
  */
7
7
  import type { Tool } from '@modelcontextprotocol/sdk/types.js';
8
8
  export declare const DISCOVERY_TOOLS: Tool[];
9
- export { handleStatus } from './status.js';
9
+ export { handleStatus, handleStatusWithService } from './status.js';
10
10
  export { handleCapabilities } from './capabilities.js';
11
+ export { handleProjects } from './projects.js';
11
12
  export type { StatusData } from './status.js';
12
13
  export type { CapabilitiesData } from './capabilities.js';
14
+ export type { ProjectsArgs } from './projects.js';
13
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/discovery/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D,eAAO,MAAM,eAAe,EAAE,IAAI,EAiBjC,CAAC;AAGF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGvD,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/discovery/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D,eAAO,MAAM,eAAe,EAAE,IAAI,EAmDjC,CAAC;AAGF,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
@@ -21,8 +21,43 @@ export const DISCOVERY_TOOLS = [
21
21
  properties: {},
22
22
  },
23
23
  },
24
+ {
25
+ name: 'drift_projects',
26
+ description: 'List and manage registered drift projects. Enables working across multiple codebases. Actions: list (show all), info (project details), switch (change active), recent (recently used), register (add new).',
27
+ inputSchema: {
28
+ type: 'object',
29
+ properties: {
30
+ action: {
31
+ type: 'string',
32
+ enum: ['list', 'info', 'switch', 'recent', 'register'],
33
+ description: 'Action to perform (default: list)',
34
+ },
35
+ project: {
36
+ type: 'string',
37
+ description: 'Project name or ID (for info/switch)',
38
+ },
39
+ path: {
40
+ type: 'string',
41
+ description: 'Project path (for register)',
42
+ },
43
+ language: {
44
+ type: 'string',
45
+ description: 'Filter by language (for list)',
46
+ },
47
+ framework: {
48
+ type: 'string',
49
+ description: 'Filter by framework (for list)',
50
+ },
51
+ limit: {
52
+ type: 'number',
53
+ description: 'Limit results (default: 10)',
54
+ },
55
+ },
56
+ },
57
+ },
24
58
  ];
25
59
  // Handler exports
26
- export { handleStatus } from './status.js';
60
+ export { handleStatus, handleStatusWithService } from './status.js';
27
61
  export { handleCapabilities } from './capabilities.js';
62
+ export { handleProjects } from './projects.js';
28
63
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/discovery/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,CAAC,MAAM,eAAe,GAAW;IACrC;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,4KAA4K;QACzL,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,yJAAyJ;QACtK,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;CACF,CAAC;AAEF,kBAAkB;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/discovery/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,CAAC,MAAM,eAAe,GAAW;IACrC;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,4KAA4K;QACzL,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,yJAAyJ;QACtK,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,6MAA6M;QAC1N,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC;oBACtD,WAAW,EAAE,mCAAmC;iBACjD;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sCAAsC;iBACpD;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6BAA6B;iBAC3C;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+BAA+B;iBAC7C;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gCAAgC;iBAC9C;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6BAA6B;iBAC3C;aACF;SACF;KACF;CACF,CAAC;AAEF,kBAAkB;AAClB,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}
@@ -9,8 +9,11 @@
9
9
  *
10
10
  * OPTIMIZED: Uses pre-computed views from the data lake for instant response.
11
11
  * Falls back to computing from raw data if views are unavailable.
12
+ *
13
+ * MIGRATION: Now supports both legacy PatternStore and new IPatternService.
14
+ * The service-based approach is preferred for new code.
12
15
  */
13
- import type { PatternStore, DataLake } from 'driftdetect-core';
16
+ import type { PatternStore, DataLake, IPatternService } from 'driftdetect-core';
14
17
  export interface StatusData {
15
18
  health: {
16
19
  score: number;
@@ -28,10 +31,20 @@ export interface StatusData {
28
31
  };
29
32
  lastScan?: string | undefined;
30
33
  /** Response source for debugging */
31
- _source?: 'view' | 'computed';
34
+ _source?: 'view' | 'computed' | 'service';
32
35
  }
33
36
  /**
34
- * Handle status request - optimized with data lake views
37
+ * Handle status request using IPatternService (preferred)
38
+ */
39
+ export declare function handleStatusWithService(service: IPatternService, _args: Record<string, unknown>, dataLake?: DataLake): Promise<{
40
+ content: Array<{
41
+ type: string;
42
+ text: string;
43
+ }>;
44
+ }>;
45
+ /**
46
+ * Handle status request using legacy PatternStore (backward compatibility)
47
+ * @deprecated Use handleStatusWithService instead
35
48
  */
36
49
  export declare function handleStatus(store: PatternStore, _args: Record<string, unknown>, dataLake?: DataLake): Promise<{
37
50
  content: Array<{
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/tools/discovery/status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAc,MAAM,kBAAkB,CAAC;AAG3E,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;KAC7C,CAAC;IACF,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACpC,CAAC;IACF,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;CAC/B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAwF7D"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/tools/discovery/status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAc,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAG5F,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;KAC7C,CAAC;IACF,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACpC,CAAC;IACF,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;CAC3C;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAoF7D;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAwF7D"}
@@ -9,10 +9,92 @@
9
9
  *
10
10
  * OPTIMIZED: Uses pre-computed views from the data lake for instant response.
11
11
  * Falls back to computing from raw data if views are unavailable.
12
+ *
13
+ * MIGRATION: Now supports both legacy PatternStore and new IPatternService.
14
+ * The service-based approach is preferred for new code.
12
15
  */
13
16
  import { createResponseBuilder } from '../../infrastructure/index.js';
14
17
  /**
15
- * Handle status request - optimized with data lake views
18
+ * Handle status request using IPatternService (preferred)
19
+ */
20
+ export async function handleStatusWithService(service, _args, dataLake) {
21
+ const builder = createResponseBuilder();
22
+ try {
23
+ // OPTIMIZATION: Try data lake view first (instant response)
24
+ if (dataLake) {
25
+ const statusView = await tryGetStatusFromLake(dataLake);
26
+ if (statusView) {
27
+ return buildResponseFromView(builder, statusView);
28
+ }
29
+ }
30
+ // Use the pattern service
31
+ const status = await service.getStatus();
32
+ // Count issues from patterns
33
+ const result = await service.query({
34
+ filter: { statuses: ['approved'] },
35
+ pagination: { offset: 0, limit: 1000 },
36
+ });
37
+ const criticalIssues = result.patterns.filter(p => p.outliers.length > 5).length;
38
+ const warnings = result.patterns.filter(p => p.confidence < 0.7 && p.locations.length > 3).length;
39
+ const data = {
40
+ health: {
41
+ score: status.healthScore,
42
+ trend: 'stable', // TODO: Calculate from history
43
+ },
44
+ patterns: {
45
+ total: status.totalPatterns,
46
+ approved: status.byStatus.approved,
47
+ discovered: status.byStatus.discovered,
48
+ byCategory: status.byCategory,
49
+ },
50
+ issues: {
51
+ critical: criticalIssues,
52
+ warnings,
53
+ },
54
+ lastScan: status.lastScanAt?.toISOString(),
55
+ _source: 'service',
56
+ };
57
+ // Build summary
58
+ let summary = `Health: ${status.healthScore}/100. `;
59
+ summary += `${status.totalPatterns} patterns (${status.byStatus.approved} approved). `;
60
+ if (criticalIssues > 0) {
61
+ summary += `⚠️ ${criticalIssues} critical issues.`;
62
+ }
63
+ else {
64
+ summary += 'No critical issues.';
65
+ }
66
+ return builder
67
+ .withSummary(summary)
68
+ .withData(data)
69
+ .withHints({
70
+ nextActions: [
71
+ criticalIssues > 0
72
+ ? 'Use drift_patterns_list with status="approved" to see patterns with issues'
73
+ : 'Use drift_patterns_list to explore discovered patterns',
74
+ 'Use drift_capabilities to see all available tools',
75
+ ],
76
+ ...(criticalIssues > 0 ? { warnings: [`${criticalIssues} approved patterns have significant outliers`] } : {}),
77
+ })
78
+ .buildContent();
79
+ }
80
+ catch (error) {
81
+ // No patterns found - likely needs scan
82
+ return builder
83
+ .withSummary('No pattern data found. Run drift scan first.')
84
+ .withData({
85
+ health: { score: 0, trend: 'stable' },
86
+ patterns: { total: 0, approved: 0, discovered: 0, byCategory: {} },
87
+ issues: { critical: 0, warnings: 0 },
88
+ })
89
+ .withHints({
90
+ nextActions: ["Run 'drift scan' in the project root to analyze patterns"],
91
+ })
92
+ .buildContent();
93
+ }
94
+ }
95
+ /**
96
+ * Handle status request using legacy PatternStore (backward compatibility)
97
+ * @deprecated Use handleStatusWithService instead
16
98
  */
17
99
  export async function handleStatus(store, _args, dataLake) {
18
100
  const builder = createResponseBuilder();
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/tools/discovery/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/tools/discovery/status.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,11 @@
6
6
  */
7
7
  import type { Tool } from '@modelcontextprotocol/sdk/types.js';
8
8
  export declare const EXPLORATION_TOOLS: Tool[];
9
- export { handlePatternsList } from './patterns-list.js';
9
+ export { handlePatternsList, handlePatternsListWithService } from './patterns-list.js';
10
10
  export { handleSecuritySummary } from './security-summary.js';
11
11
  export { handleContractsList } from './contracts-list.js';
12
12
  export { handleTrends } from './trends.js';
13
- export type { PatternSummary, PatternsListData } from './patterns-list.js';
13
+ export type { PatternSummary, PatternsListData, PatternsListArgs } from './patterns-list.js';
14
14
  export type { SecuritySummaryData } from './security-summary.js';
15
15
  export type { ContractSummary, ContractsListData } from './contracts-list.js';
16
16
  export type { TrendItem, TrendsData } from './trends.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/exploration/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAS/D,eAAO,MAAM,iBAAiB,EAAE,IAAI,EAuGnC,CAAC;AAGF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/exploration/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAS/D,eAAO,MAAM,iBAAiB,EAAE,IAAI,EAuGnC,CAAC;AAGF,OAAO,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC7F,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
@@ -115,7 +115,7 @@ export const EXPLORATION_TOOLS = [
115
115
  },
116
116
  ];
117
117
  // Handler exports
118
- export { handlePatternsList } from './patterns-list.js';
118
+ export { handlePatternsList, handlePatternsListWithService } from './patterns-list.js';
119
119
  export { handleSecuritySummary } from './security-summary.js';
120
120
  export { handleContractsList } from './contracts-list.js';
121
121
  export { handleTrends } from './trends.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/exploration/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/exploration/index.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,11 @@
6
6
  *
7
7
  * OPTIMIZED: Uses data lake pattern shards for category-specific queries,
8
8
  * and pattern index view for full listings.
9
+ *
10
+ * MIGRATION: Now supports both legacy PatternStore and new IPatternService.
11
+ * The service-based approach is preferred for new code.
9
12
  */
10
- import type { PatternStore, DataLake } from 'driftdetect-core';
13
+ import type { PatternStore, DataLake, IPatternService } from 'driftdetect-core';
11
14
  export interface PatternSummary {
12
15
  id: string;
13
16
  name: string;
@@ -22,16 +25,30 @@ export interface PatternSummary {
22
25
  export interface PatternsListData {
23
26
  patterns: PatternSummary[];
24
27
  /** Response source for debugging */
25
- _source?: 'lake' | 'store';
28
+ _source?: 'lake' | 'store' | 'service';
26
29
  }
27
- export declare function handlePatternsList(store: PatternStore, args: {
30
+ export interface PatternsListArgs {
28
31
  categories?: string[];
29
32
  status?: string;
30
33
  minConfidence?: number;
31
34
  search?: string;
32
35
  limit?: number;
33
36
  cursor?: string;
34
- }, dataLake?: DataLake): Promise<{
37
+ }
38
+ /**
39
+ * Handle patterns list using IPatternService (preferred)
40
+ */
41
+ export declare function handlePatternsListWithService(service: IPatternService, args: PatternsListArgs, dataLake?: DataLake): Promise<{
42
+ content: Array<{
43
+ type: string;
44
+ text: string;
45
+ }>;
46
+ }>;
47
+ /**
48
+ * Handle patterns list using legacy PatternStore (backward compatibility)
49
+ * @deprecated Use handlePatternsListWithService instead
50
+ */
51
+ export declare function handlePatternsList(store: PatternStore, args: PatternsListArgs, dataLake?: DataLake): Promise<{
35
52
  content: Array<{
36
53
  type: string;
37
54
  text: string;
@@ -1 +1 @@
1
- {"version":3,"file":"patterns-list.d.ts","sourceRoot":"","sources":["../../../src/tools/exploration/patterns-list.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAmB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAQhF,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B;AAYD,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE;IACJ,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,EACD,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAoF7D"}
1
+ {"version":3,"file":"patterns-list.d.ts","sourceRoot":"","sources":["../../../src/tools/exploration/patterns-list.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,YAAY,EAEZ,QAAQ,EACR,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAQ1B,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACxC;AAYD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,gBAAgB,EACtB,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAyE7D;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,gBAAgB,EACtB,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAoF7D"}
@@ -6,6 +6,9 @@
6
6
  *
7
7
  * OPTIMIZED: Uses data lake pattern shards for category-specific queries,
8
8
  * and pattern index view for full listings.
9
+ *
10
+ * MIGRATION: Now supports both legacy PatternStore and new IPatternService.
11
+ * The service-based approach is preferred for new code.
9
12
  */
10
13
  import { createResponseBuilder, cursorManager, Errors, } from '../../infrastructure/index.js';
11
14
  const VALID_CATEGORIES = [
@@ -16,6 +19,73 @@ const VALID_CATEGORIES = [
16
19
  ];
17
20
  const DEFAULT_LIMIT = 20;
18
21
  const MAX_LIMIT = 50;
22
+ /**
23
+ * Handle patterns list using IPatternService (preferred)
24
+ */
25
+ export async function handlePatternsListWithService(service, args, dataLake) {
26
+ const builder = createResponseBuilder();
27
+ // Validate categories
28
+ if (args.categories) {
29
+ for (const cat of args.categories) {
30
+ if (!VALID_CATEGORIES.includes(cat)) {
31
+ throw Errors.invalidCategory(cat, VALID_CATEGORIES);
32
+ }
33
+ }
34
+ }
35
+ // Parse cursor if provided
36
+ let startOffset = 0;
37
+ if (args.cursor) {
38
+ const cursorData = cursorManager.decode(args.cursor);
39
+ if (!cursorData) {
40
+ throw Errors.invalidCursor();
41
+ }
42
+ startOffset = cursorData.offset ?? 0;
43
+ }
44
+ const limit = Math.min(args.limit ?? DEFAULT_LIMIT, MAX_LIMIT);
45
+ // OPTIMIZATION: Try data lake first
46
+ if (dataLake) {
47
+ const lakeResult = await tryGetPatternsFromLake(dataLake, args, startOffset, limit);
48
+ if (lakeResult) {
49
+ return buildResponse(builder, lakeResult, args, startOffset, limit, 'lake');
50
+ }
51
+ }
52
+ // Use the pattern service
53
+ const result = await service.query({
54
+ filter: {
55
+ categories: args.categories,
56
+ statuses: args.status && args.status !== 'all'
57
+ ? [args.status]
58
+ : undefined,
59
+ minConfidence: args.minConfidence,
60
+ search: args.search,
61
+ },
62
+ sort: {
63
+ field: 'confidence',
64
+ direction: 'desc',
65
+ },
66
+ pagination: {
67
+ offset: startOffset,
68
+ limit,
69
+ },
70
+ });
71
+ // Map to summaries
72
+ const summaries = result.patterns.map(p => ({
73
+ id: p.id,
74
+ name: p.name,
75
+ category: p.category,
76
+ subcategory: p.subcategory,
77
+ confidence: Math.round(p.confidence * 100) / 100,
78
+ confidenceLevel: p.confidenceLevel,
79
+ status: p.status,
80
+ locationCount: p.locations.length,
81
+ outlierCount: p.outliers.length,
82
+ }));
83
+ return buildResponse(builder, { summaries, totalCount: result.total }, args, startOffset, limit, 'service');
84
+ }
85
+ /**
86
+ * Handle patterns list using legacy PatternStore (backward compatibility)
87
+ * @deprecated Use handlePatternsListWithService instead
88
+ */
19
89
  export async function handlePatternsList(store, args, dataLake) {
20
90
  const builder = createResponseBuilder();
21
91
  // Validate categories
@@ -1 +1 @@
1
- {"version":3,"file":"patterns-list.js","sourceRoot":"","sources":["../../../src/tools/exploration/patterns-list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"patterns-list.js","sourceRoot":"","sources":["../../../src/tools/exploration/patterns-list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Integration tests for generation tools
3
+ * Tests drift_suggest_changes, drift_validate_change, drift_explain
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=generation-tools.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generation-tools.test.d.ts","sourceRoot":"","sources":["../../../../src/tools/generation/__tests__/generation-tools.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Integration tests for generation tools
3
+ * Tests drift_suggest_changes, drift_validate_change, drift_explain
4
+ */
5
+ import { describe, it, expect, beforeEach, vi } from 'vitest';
6
+ import { handleSuggestChanges } from '../suggest-changes.js';
7
+ import { handleValidateChange } from '../validate-change.js';
8
+ import { handleExplain } from '../explain.js';
9
+ // Mock stores
10
+ const createMockPatternStore = () => ({
11
+ initialize: vi.fn().mockResolvedValue(undefined),
12
+ getAll: vi.fn().mockReturnValue([
13
+ {
14
+ id: 'test-pattern-1',
15
+ name: 'Test Pattern',
16
+ category: 'api',
17
+ locations: [{ file: 'src/api/users.ts', line: 10 }],
18
+ outliers: [],
19
+ confidence: { score: 0.9, factors: [] },
20
+ status: 'approved',
21
+ },
22
+ ]),
23
+ get: vi.fn(),
24
+ save: vi.fn(),
25
+ delete: vi.fn(),
26
+ getByCategory: vi.fn(),
27
+ getByStatus: vi.fn(),
28
+ });
29
+ const createMockBoundaryStore = () => ({
30
+ initialize: vi.fn().mockResolvedValue(undefined),
31
+ getAll: vi.fn().mockReturnValue([]),
32
+ });
33
+ const createMockManifestStore = () => ({
34
+ load: vi.fn().mockResolvedValue(undefined),
35
+ save: vi.fn(),
36
+ get: vi.fn(),
37
+ });
38
+ const createMockCallGraphStore = () => ({
39
+ initialize: vi.fn().mockResolvedValue(undefined),
40
+ getGraph: vi.fn().mockReturnValue(null),
41
+ });
42
+ describe('Generation Tools', () => {
43
+ let patternStore;
44
+ let boundaryStore;
45
+ let manifestStore;
46
+ let callGraphStore;
47
+ const projectRoot = '/tmp/test-project';
48
+ beforeEach(() => {
49
+ patternStore = createMockPatternStore();
50
+ boundaryStore = createMockBoundaryStore();
51
+ manifestStore = createMockManifestStore();
52
+ callGraphStore = createMockCallGraphStore();
53
+ });
54
+ describe('drift_suggest_changes', () => {
55
+ it('should return suggestions for a file', async () => {
56
+ const result = await handleSuggestChanges({ pattern: patternStore, boundary: boundaryStore }, projectRoot, { target: 'src/api/users.ts' });
57
+ expect(result).toHaveProperty('content');
58
+ expect(Array.isArray(result.content)).toBe(true);
59
+ expect(result.content.length).toBeGreaterThan(0);
60
+ expect(result.content[0]).toHaveProperty('type', 'text');
61
+ });
62
+ it('should handle file not found gracefully', async () => {
63
+ const result = await handleSuggestChanges({ pattern: patternStore, boundary: boundaryStore }, projectRoot, { target: 'nonexistent/file.ts' });
64
+ expect(result).toHaveProperty('content');
65
+ const text = result.content[0]?.text || '';
66
+ expect(text).toContain('not found');
67
+ });
68
+ it('should filter by issue type', async () => {
69
+ const result = await handleSuggestChanges({ pattern: patternStore, boundary: boundaryStore }, projectRoot, { target: 'src/api/users.ts', issue: 'security' });
70
+ expect(result).toHaveProperty('content');
71
+ });
72
+ });
73
+ describe('drift_validate_change', () => {
74
+ it('should validate code content', async () => {
75
+ const result = await handleValidateChange(patternStore, projectRoot, {
76
+ file: 'src/api/users.ts',
77
+ content: 'export function getUser(id: string) { return db.users.findOne(id); }'
78
+ });
79
+ expect(result).toHaveProperty('content');
80
+ expect(Array.isArray(result.content)).toBe(true);
81
+ });
82
+ it('should handle missing file gracefully', async () => {
83
+ const result = await handleValidateChange(patternStore, projectRoot, { file: 'nonexistent/file.ts' });
84
+ expect(result).toHaveProperty('content');
85
+ });
86
+ it('should support strict mode', async () => {
87
+ const result = await handleValidateChange(patternStore, projectRoot, {
88
+ file: 'src/api/users.ts',
89
+ content: 'const x = 1;',
90
+ strictMode: true
91
+ });
92
+ expect(result).toHaveProperty('content');
93
+ });
94
+ });
95
+ describe('drift_explain', () => {
96
+ it('should explain a file target', async () => {
97
+ const result = await handleExplain({ pattern: patternStore, manifest: manifestStore, boundary: boundaryStore, callGraph: callGraphStore }, projectRoot, { target: 'src/api/users.ts' });
98
+ expect(result).toHaveProperty('content');
99
+ expect(Array.isArray(result.content)).toBe(true);
100
+ });
101
+ it('should handle symbol target gracefully', async () => {
102
+ const result = await handleExplain({ pattern: patternStore, manifest: manifestStore, boundary: boundaryStore, callGraph: callGraphStore }, projectRoot, { target: 'getUser' });
103
+ expect(result).toHaveProperty('content');
104
+ const text = result.content[0]?.text || '';
105
+ expect(text).toContain('Symbol search not yet implemented');
106
+ });
107
+ it('should support different depths', async () => {
108
+ const summaryResult = await handleExplain({ pattern: patternStore, manifest: manifestStore, boundary: boundaryStore, callGraph: callGraphStore }, projectRoot, { target: 'src/api/users.ts', depth: 'summary' });
109
+ const detailedResult = await handleExplain({ pattern: patternStore, manifest: manifestStore, boundary: boundaryStore, callGraph: callGraphStore }, projectRoot, { target: 'src/api/users.ts', depth: 'detailed' });
110
+ expect(summaryResult).toHaveProperty('content');
111
+ expect(detailedResult).toHaveProperty('content');
112
+ });
113
+ it('should support focus areas', async () => {
114
+ const result = await handleExplain({ pattern: patternStore, manifest: manifestStore, boundary: boundaryStore, callGraph: callGraphStore }, projectRoot, { target: 'src/api/users.ts', focus: 'security' });
115
+ expect(result).toHaveProperty('content');
116
+ });
117
+ });
118
+ });
119
+ //# sourceMappingURL=generation-tools.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generation-tools.test.js","sourceRoot":"","sources":["../../../../src/tools/generation/__tests__/generation-tools.test.ts"],"names":[],"mappings":"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"}