@achieveai/azuredevops-mcp 1.3.17 → 1.3.19

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 (119) hide show
  1. package/README.md +76 -0
  2. package/dist/Interfaces/Common.js +37 -1
  3. package/dist/Interfaces/Common.js.map +1 -1
  4. package/dist/Services/AzureDevOpsService.js +234 -32
  5. package/dist/Services/AzureDevOpsService.js.map +1 -1
  6. package/dist/Services/BoardsSprintsService.js +111 -13
  7. package/dist/Services/BoardsSprintsService.js.map +1 -1
  8. package/dist/Services/BuildService.js +157 -24
  9. package/dist/Services/BuildService.js.map +1 -1
  10. package/dist/Services/GitService.js +26 -3
  11. package/dist/Services/GitService.js.map +1 -1
  12. package/dist/Services/ProjectService.js +47 -6
  13. package/dist/Services/ProjectService.js.map +1 -1
  14. package/dist/Services/WorkItemService.js +183 -170
  15. package/dist/Services/WorkItemService.js.map +1 -1
  16. package/dist/Tools/BoardsSprintsTools.js +2 -8
  17. package/dist/Tools/BoardsSprintsTools.js.map +1 -1
  18. package/dist/Tools/BuildTools.js +5 -8
  19. package/dist/Tools/BuildTools.js.map +1 -1
  20. package/dist/Tools/GitTools.js +177 -62
  21. package/dist/Tools/GitTools.js.map +1 -1
  22. package/dist/Tools/WorkItemTools.js +110 -172
  23. package/dist/Tools/WorkItemTools.js.map +1 -1
  24. package/dist/index.js +31 -26
  25. package/dist/index.js.map +1 -1
  26. package/dist/utils/apiUsageGuidance.js +336 -0
  27. package/dist/utils/apiUsageGuidance.js.map +1 -0
  28. package/dist/utils/formatHelpers.js +15 -0
  29. package/dist/utils/formatHelpers.js.map +1 -1
  30. package/package.json +3 -3
  31. package/dist/Services/BuildService.project.test.js +0 -91
  32. package/dist/Services/BuildService.project.test.js.map +0 -1
  33. package/dist/Services/GitService.project.test.js +0 -407
  34. package/dist/Services/GitService.project.test.js.map +0 -1
  35. package/dist/package.json +0 -59
  36. package/dist/src/Interfaces/AIAssisted.js +0 -3
  37. package/dist/src/Interfaces/AIAssisted.js.map +0 -1
  38. package/dist/src/Interfaces/ArtifactManagement.js +0 -3
  39. package/dist/src/Interfaces/ArtifactManagement.js.map +0 -1
  40. package/dist/src/Interfaces/AzureDevOps.js +0 -3
  41. package/dist/src/Interfaces/AzureDevOps.js.map +0 -1
  42. package/dist/src/Interfaces/BoardsAndSprints.js +0 -3
  43. package/dist/src/Interfaces/BoardsAndSprints.js.map +0 -1
  44. package/dist/src/Interfaces/CodeAndRepositories.js +0 -3
  45. package/dist/src/Interfaces/CodeAndRepositories.js.map +0 -1
  46. package/dist/src/Interfaces/Common.js +0 -134
  47. package/dist/src/Interfaces/Common.js.map +0 -1
  48. package/dist/src/Interfaces/CostResourceManagement.js +0 -3
  49. package/dist/src/Interfaces/CostResourceManagement.js.map +0 -1
  50. package/dist/src/Interfaces/DevSecOps.js +0 -3
  51. package/dist/src/Interfaces/DevSecOps.js.map +0 -1
  52. package/dist/src/Interfaces/ExternalIntegrations.js +0 -3
  53. package/dist/src/Interfaces/ExternalIntegrations.js.map +0 -1
  54. package/dist/src/Interfaces/HybridCrossPlatform.js +0 -3
  55. package/dist/src/Interfaces/HybridCrossPlatform.js.map +0 -1
  56. package/dist/src/Interfaces/Pipelines.js +0 -3
  57. package/dist/src/Interfaces/Pipelines.js.map +0 -1
  58. package/dist/src/Interfaces/ProjectManagement.js +0 -3
  59. package/dist/src/Interfaces/ProjectManagement.js.map +0 -1
  60. package/dist/src/Interfaces/TestingCapabilities.js +0 -3
  61. package/dist/src/Interfaces/TestingCapabilities.js.map +0 -1
  62. package/dist/src/Interfaces/Wiki.js +0 -3
  63. package/dist/src/Interfaces/Wiki.js.map +0 -1
  64. package/dist/src/Interfaces/WorkItems.js +0 -3
  65. package/dist/src/Interfaces/WorkItems.js.map +0 -1
  66. package/dist/src/Services/AIAssistedDevelopmentService.js +0 -195
  67. package/dist/src/Services/AIAssistedDevelopmentService.js.map +0 -1
  68. package/dist/src/Services/ArtifactManagementService.js +0 -346
  69. package/dist/src/Services/ArtifactManagementService.js.map +0 -1
  70. package/dist/src/Services/AzureDevOpsService.js +0 -385
  71. package/dist/src/Services/AzureDevOpsService.js.map +0 -1
  72. package/dist/src/Services/BoardsSprintsService.js +0 -339
  73. package/dist/src/Services/BoardsSprintsService.js.map +0 -1
  74. package/dist/src/Services/BuildService.js +0 -405
  75. package/dist/src/Services/BuildService.js.map +0 -1
  76. package/dist/src/Services/DevSecOpsService.js +0 -307
  77. package/dist/src/Services/DevSecOpsService.js.map +0 -1
  78. package/dist/src/Services/EntraAuthHandler.js +0 -337
  79. package/dist/src/Services/EntraAuthHandler.js.map +0 -1
  80. package/dist/src/Services/GitService.js +0 -1595
  81. package/dist/src/Services/GitService.js.map +0 -1
  82. package/dist/src/Services/ProjectService.js +0 -257
  83. package/dist/src/Services/ProjectService.js.map +0 -1
  84. package/dist/src/Services/TestingCapabilitiesService.js +0 -149
  85. package/dist/src/Services/TestingCapabilitiesService.js.map +0 -1
  86. package/dist/src/Services/WikiService.js +0 -90
  87. package/dist/src/Services/WikiService.js.map +0 -1
  88. package/dist/src/Services/WorkItemService.js +0 -885
  89. package/dist/src/Services/WorkItemService.js.map +0 -1
  90. package/dist/src/Tools/AIAssistedDevelopmentTools.js +0 -137
  91. package/dist/src/Tools/AIAssistedDevelopmentTools.js.map +0 -1
  92. package/dist/src/Tools/ArtifactManagementTools.js +0 -140
  93. package/dist/src/Tools/ArtifactManagementTools.js.map +0 -1
  94. package/dist/src/Tools/BoardsSprintsTools.js +0 -338
  95. package/dist/src/Tools/BoardsSprintsTools.js.map +0 -1
  96. package/dist/src/Tools/BuildTools.js +0 -468
  97. package/dist/src/Tools/BuildTools.js.map +0 -1
  98. package/dist/src/Tools/DevSecOpsTools.js +0 -147
  99. package/dist/src/Tools/DevSecOpsTools.js.map +0 -1
  100. package/dist/src/Tools/GitTools.js +0 -1475
  101. package/dist/src/Tools/GitTools.js.map +0 -1
  102. package/dist/src/Tools/ProjectTools.js +0 -360
  103. package/dist/src/Tools/ProjectTools.js.map +0 -1
  104. package/dist/src/Tools/TestingCapabilitiesTools.js +0 -157
  105. package/dist/src/Tools/TestingCapabilitiesTools.js.map +0 -1
  106. package/dist/src/Tools/WikiTools.js +0 -137
  107. package/dist/src/Tools/WikiTools.js.map +0 -1
  108. package/dist/src/Tools/WorkItemTools.js +0 -862
  109. package/dist/src/Tools/WorkItemTools.js.map +0 -1
  110. package/dist/src/config.js +0 -176
  111. package/dist/src/config.js.map +0 -1
  112. package/dist/src/index.js +0 -1716
  113. package/dist/src/index.js.map +0 -1
  114. package/dist/src/utils/formatHelpers.js +0 -257
  115. package/dist/src/utils/formatHelpers.js.map +0 -1
  116. package/dist/src/utils/getClassMethods.js +0 -8
  117. package/dist/src/utils/getClassMethods.js.map +0 -1
  118. package/dist/src/utils/repositoryResolver.js +0 -40
  119. package/dist/src/utils/repositoryResolver.js.map +0 -1
@@ -1,134 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatMcpResponse = formatMcpResponse;
4
- exports.setErrorContext = setErrorContext;
5
- exports.formatErrorResponse = formatErrorResponse;
6
- const config_1 = require("../config");
7
- const child_process_1 = require("child_process");
8
- /**
9
- * Formats a response for MCP compatibility
10
- * @param data The data to format
11
- * @param message Optional message to display (if it contains markdown formatting with --- or tables, it will be used as the primary content)
12
- * @param isError Whether this is an error response
13
- * @param includeStructuredContent Whether to include structuredContent field (MCP standard)
14
- * @returns MCP-compatible response
15
- */
16
- function formatMcpResponse(data, message, isError = false, includeStructuredContent = false) {
17
- // When a message is provided, use it as the sole content (markdown-formatted tools)
18
- // Only fall back to JSON dump when no message is provided at all
19
- const hasMessage = message && message.length > 0;
20
- const throttleInfo = data?.throttleInfo;
21
- const throttleBanner = throttleInfo?.throttled
22
- ? `Warning: Azure DevOps throttled this operation. Waited ${(throttleInfo.totalWaitMs / 1000).toFixed(1)}s across ${throttleInfo.retryCount} retr${throttleInfo.retryCount === 1 ? 'y' : 'ies'} before continuing. This usually means too many requests are being sent in a short period.\n\n---\n\n`
23
- : '';
24
- const response = {
25
- content: hasMessage
26
- ? [{ type: "text", text: `${throttleBanner}${message}` }]
27
- : [
28
- { type: "text", text: isError ? "Error occurred" : "Request successful" },
29
- { type: "text", text: typeof data === 'string' ? data : JSON.stringify(data, null, 2) }
30
- ],
31
- rawData: data,
32
- isError
33
- };
34
- // Add structured content if requested AND env toggle is enabled
35
- if (includeStructuredContent && (0, config_1.isStructuredContentEnabled)() && data) {
36
- response.structuredContent = {
37
- format: "application/json",
38
- data: data
39
- };
40
- }
41
- return response;
42
- }
43
- /**
44
- * Attempts to detect Azure DevOps org/project/repo from git remotes in the current working directory.
45
- * Returns null if git is unavailable or no ADO remote is found.
46
- */
47
- function detectGitRemoteInfo() {
48
- try {
49
- const output = (0, child_process_1.execSync)('git remote -v', { encoding: 'utf8', timeout: 5000, stdio: ['pipe', 'pipe', 'pipe'] });
50
- // dev.azure.com format: https://dev.azure.com/{org}/{project}/_git/{repo}
51
- const devMatch = output.match(/https?:\/\/dev\.azure\.com\/([^/]+)\/([^/]+)\/_git\/([^\s]+)/);
52
- if (devMatch) {
53
- return { orgUrl: `https://dev.azure.com/${devMatch[1]}`, project: decodeURIComponent(devMatch[2]), repository: decodeURIComponent(devMatch[3]) };
54
- }
55
- // visualstudio.com format: https://{org}.visualstudio.com/{project}/_git/{repo}
56
- const vsMatch = output.match(/https?:\/\/([^.]+)\.visualstudio\.com\/([^/]+)\/_git\/([^\s]+)/);
57
- if (vsMatch) {
58
- return { orgUrl: `https://${vsMatch[1]}.visualstudio.com`, project: decodeURIComponent(vsMatch[2]), repository: decodeURIComponent(vsMatch[3]) };
59
- }
60
- // SSH format: git@ssh.dev.azure.com:v3/{org}/{project}/{repo}
61
- const sshMatch = output.match(/git@ssh\.dev\.azure\.com:v3\/([^/]+)\/([^/]+)\/([^\s]+)/);
62
- if (sshMatch) {
63
- return { orgUrl: `https://dev.azure.com/${sshMatch[1]}`, project: decodeURIComponent(sshMatch[2]), repository: decodeURIComponent(sshMatch[3]) };
64
- }
65
- return null;
66
- }
67
- catch {
68
- return null;
69
- }
70
- }
71
- // Stored server config context for enriching error messages
72
- let _serverContext = {};
73
- /**
74
- * Sets the server config context so error messages can reference configured values.
75
- * Call once during server startup.
76
- */
77
- function setErrorContext(context) {
78
- _serverContext = context;
79
- }
80
- /**
81
- * Creates an error response
82
- * @param error The error that occurred
83
- * @returns MCP-compatible error response
84
- */
85
- function formatErrorResponse(error) {
86
- const errorMessage = error instanceof Error ? error.message : String(error);
87
- let md = `Error: ${errorMessage}`;
88
- const throttleInfo = error?.throttleInfo;
89
- const lower = errorMessage.toLowerCase();
90
- if (throttleInfo?.throttled || error?.statusCode === 429 || lower.includes('too many requests') || lower.includes('rate limit') || lower.includes('throttle')) {
91
- const totalWait = throttleInfo?.totalWaitMs ? `${(throttleInfo.totalWaitMs / 1000).toFixed(1)}s` : 'a retry window';
92
- md += `\n\n**Azure DevOps is throttling requests.** The server waited for ${totalWait} before giving up. This indicates too many requests are being sent in a short period.`;
93
- }
94
- // Auth error hints
95
- const statusCode = error?.statusCode || error?.status;
96
- if (statusCode === 401 || statusCode === 403 || lower.includes('unauthorized') || lower.includes('authentication failed')) {
97
- md += `\n\n**Authentication failed.** Your token may have expired.`;
98
- if (_serverContext.authType === 'pat') {
99
- md += ` Generate a new PAT and restart the server.`;
100
- }
101
- else if (_serverContext.authType && ['entra', 'azcli', 'interactive'].includes(_serverContext.authType)) {
102
- md += ` The server will attempt automatic token refresh. If this persists, restart the server.`;
103
- }
104
- }
105
- // Append git remote discovery hint for repo/project-not-found errors
106
- if (lower.includes('not found in project') ||
107
- lower.includes('failed to resolve repository') ||
108
- (lower.includes('repository') && (lower.includes('not found') || lower.includes('does not exist'))) ||
109
- (lower.includes('project') && (lower.includes('not found') || lower.includes('does not exist'))) ||
110
- /tf[24]\d{5}/i.test(errorMessage)) {
111
- const gitInfo = detectGitRemoteInfo();
112
- if (gitInfo) {
113
- md += `\n\n**Detected from git remote:** Org: \`${gitInfo.orgUrl}\`, Project: \`${gitInfo.project}\`, Repository: \`${gitInfo.repository}\`\n`;
114
- md += `**ACTION REQUIRED:** Retry the operation using the correct values above.`;
115
- }
116
- else {
117
- md += `\n\n**ACTION REQUIRED:** The repository or project name you provided is incorrect. `;
118
- if (_serverContext.orgUrl || _serverContext.project) {
119
- md += `This server is configured for`;
120
- if (_serverContext.orgUrl)
121
- md += ` org \`${_serverContext.orgUrl}\``;
122
- if (_serverContext.project)
123
- md += `${_serverContext.orgUrl ? ',' : ''} project \`${_serverContext.project}\``;
124
- md += `. `;
125
- }
126
- md += `Run \`git remote -v\` in the user's repo to discover the correct repository name from the Azure DevOps remote URL.\n\n`;
127
- md += `The remote URL format is: \`https://dev.azure.com/{org}/{PROJECT}/_git/{REPOSITORY}\` `;
128
- md += `(or \`https://{org}.visualstudio.com/{PROJECT}/_git/{REPOSITORY}\`).\n\n`;
129
- md += `Parse the URL and retry the operation with the correct values.`;
130
- }
131
- }
132
- return formatMcpResponse({ error: errorMessage }, md, true);
133
- }
134
- //# sourceMappingURL=Common.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Common.js","sourceRoot":"","sources":["../../../src/Interfaces/Common.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=CostResourceManagement.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CostResourceManagement.js","sourceRoot":"","sources":["../../../src/Interfaces/CostResourceManagement.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=DevSecOps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DevSecOps.js","sourceRoot":"","sources":["../../../src/Interfaces/DevSecOps.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=ExternalIntegrations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExternalIntegrations.js","sourceRoot":"","sources":["../../../src/Interfaces/ExternalIntegrations.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=HybridCrossPlatform.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HybridCrossPlatform.js","sourceRoot":"","sources":["../../../src/Interfaces/HybridCrossPlatform.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=Pipelines.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Pipelines.js","sourceRoot":"","sources":["../../../src/Interfaces/Pipelines.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=ProjectManagement.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProjectManagement.js","sourceRoot":"","sources":["../../../src/Interfaces/ProjectManagement.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=TestingCapabilities.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TestingCapabilities.js","sourceRoot":"","sources":["../../../src/Interfaces/TestingCapabilities.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=Wiki.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Wiki.js","sourceRoot":"","sources":["../../../src/Interfaces/Wiki.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=WorkItems.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkItems.js","sourceRoot":"","sources":["../../../src/Interfaces/WorkItems.ts"],"names":[],"mappings":""}
@@ -1,195 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AIAssistedDevelopmentService = void 0;
4
- const AzureDevOpsService_1 = require("./AzureDevOpsService");
5
- class AIAssistedDevelopmentService extends AzureDevOpsService_1.AzureDevOpsService {
6
- constructor(config) {
7
- super(config);
8
- }
9
- async getAICodeReview(params) {
10
- // This would contain actual implementation
11
- // For now, we're returning a mock response
12
- return {
13
- pullRequestId: params.pullRequestId,
14
- repository: params.repository,
15
- suggestions: [
16
- { file: "src/main.ts", line: 45, issue: "Potential null reference", recommendation: "Add null check before accessing properties" },
17
- { file: "src/utils/helper.ts", line: 23, issue: "Inefficient loop", recommendation: "Consider using map() instead of forEach()" }
18
- ],
19
- analysisDate: new Date().toISOString(),
20
- };
21
- }
22
- async suggestCodeOptimization(params) {
23
- return {
24
- repository: params.repository,
25
- filePath: params.filePath,
26
- lineRange: `${params.lineStart || 1}-${params.lineEnd || 100}`,
27
- optimizationType: params.optimizationType || "all",
28
- suggestions: [
29
- { line: params.lineStart || 10, issue: "Memory leak", recommendation: "Dispose resources properly", code: "resource.dispose();" },
30
- { line: params.lineEnd || 50, issue: "Performance bottleneck", recommendation: "Cache expensive operation", code: "const cachedResult = memoize(expensiveOperation);" }
31
- ],
32
- };
33
- }
34
- async identifyCodeSmells(params) {
35
- return {
36
- repository: params.repository,
37
- branch: params.branch || "main",
38
- codeSmells: [
39
- { file: params.filePath || "src/components/App.tsx", line: 120, smell: "Long method", severity: "high", recommendation: "Extract logic into smaller methods" },
40
- { file: params.filePath || "src/services/DataService.ts", line: 45, smell: "Duplicate code", severity: "medium", recommendation: "Create a shared utility function" },
41
- { file: params.filePath || "src/utils/helpers.ts", line: 78, smell: "God class", severity: "high", recommendation: "Split into multiple focused classes" }
42
- ],
43
- severity: params.severity || "all",
44
- };
45
- }
46
- async getPredictiveBugAnalysis(params) {
47
- return {
48
- repository: params.repository,
49
- pullRequestId: params.pullRequestId,
50
- branch: params.branch || "main",
51
- potentialIssues: [
52
- { file: params.filePath || "src/controllers/UserController.ts", line: 58, risk: "high", issue: "Race condition in concurrent user updates", confidence: 0.85 },
53
- { file: params.filePath || "src/services/AuthService.ts", line: 124, risk: "medium", issue: "Token validation could be bypassed", confidence: 0.72 }
54
- ],
55
- analysisDate: new Date().toISOString(),
56
- };
57
- }
58
- async getDeveloperProductivity(params) {
59
- return {
60
- userId: params.userId || "current-user",
61
- teamId: params.teamId,
62
- timeRange: params.timeRange || "30d",
63
- metrics: {
64
- codeCommitted: { lines: 2450, commits: 48, pullRequests: 15 },
65
- workItemsCompleted: 28,
66
- codeReviewsPerformed: 32,
67
- averageReviewTime: "1.5h",
68
- buildSuccessRate: 94.2,
69
- testCoverage: 78.5
70
- },
71
- trends: {
72
- productivity: [82, 85, 89, 87, 92],
73
- qualityScore: [76, 78, 81, 80, 83]
74
- },
75
- };
76
- }
77
- async getPredictiveEffortEstimation(params) {
78
- return {
79
- workItemIds: params.workItemIds || [1001, 1002, 1003],
80
- estimations: [
81
- { workItemId: 1001, title: "Implement login page", predictedHours: 12.5, confidenceScore: 0.85, similarWorkItems: [845, 921] },
82
- { workItemId: 1002, title: "Fix navigation bug", predictedHours: 4.2, confidenceScore: 0.92, similarWorkItems: [678, 782] },
83
- { workItemId: 1003, title: "Add unit tests", predictedHours: 8.0, confidenceScore: 0.78, similarWorkItems: [512, 634] }
84
- ],
85
- modelFactors: ["historical completion time", "complexity", "developer experience", "similar work items"],
86
- };
87
- }
88
- async getCodeQualityTrends(params) {
89
- return {
90
- repositoryId: params.repositoryId,
91
- branch: params.branch || "main",
92
- timeRange: params.timeRange || "90d",
93
- metrics: params.metrics || ["complexity", "duplication", "test_coverage", "code_smells"],
94
- trends: {
95
- complexity: [24, 26, 23, 21, 20, 18],
96
- duplication: [12.5, 11.8, 10.5, 9.8, 8.5, 8.2],
97
- testCoverage: [68.2, 72.5, 75.8, 76.4, 78.2, 81.5],
98
- codeSmells: [45, 42, 38, 35, 30, 28]
99
- },
100
- timePoints: ["Jan", "Feb", "Mar", "Apr", "May", "Jun"],
101
- };
102
- }
103
- async suggestWorkItemRefinements(params) {
104
- return {
105
- workItemId: params.workItemId || 1234,
106
- workItemType: params.workItemType || "User Story",
107
- suggestions: [
108
- { field: "Title", issue: "Too vague", recommendation: "Specify the user role and action in the title" },
109
- { field: "Description", issue: "Missing acceptance criteria", recommendation: "Add clear acceptance criteria with examples" },
110
- { field: "Effort", issue: "Estimate may be too low", recommendation: "Consider increasing estimate based on similar completed stories" },
111
- { field: "Tags", issue: "Missing relevant tags", recommendation: "Add 'frontend', 'ux' tags for better categorization" }
112
- ],
113
- similarWorkItems: [5678, 5912, 6023],
114
- };
115
- }
116
- async suggestAutomationOpportunities(params) {
117
- return {
118
- projectId: params.projectId,
119
- scopeType: params.scopeType || "all",
120
- opportunities: [
121
- {
122
- type: "build",
123
- area: "Continuous Integration",
124
- description: "Automate build verification tests",
125
- benefit: "Reduce failed builds by 35%",
126
- complexity: "medium",
127
- implementation: "Add BVT step to pipeline yaml"
128
- },
129
- {
130
- type: "release",
131
- area: "Deployment",
132
- description: "Implement blue-green deployments",
133
- benefit: "Reduce downtime by 90%",
134
- complexity: "high",
135
- implementation: "Configure traffic manager and deployment slots"
136
- },
137
- {
138
- type: "tests",
139
- area: "Regression Testing",
140
- description: "Implement test impact analysis",
141
- benefit: "Reduce test execution time by 45%",
142
- complexity: "medium",
143
- implementation: "Configure TIA plugin in test tasks"
144
- }
145
- ],
146
- };
147
- }
148
- async createIntelligentAlerts(params) {
149
- return {
150
- alertId: "alert-" + Date.now(),
151
- alertName: params.alertName,
152
- alertType: params.alertType,
153
- conditions: params.conditions,
154
- actions: params.actions || { notificationType: "email" },
155
- status: "created",
156
- createdDate: new Date().toISOString(),
157
- };
158
- }
159
- async predictBuildFailures(params) {
160
- return {
161
- buildDefinitionId: params.buildDefinitionId,
162
- lookbackPeriod: params.lookbackPeriod || "30d",
163
- prediction: {
164
- failureRisk: 0.35,
165
- confidenceScore: 0.82,
166
- potentialIssues: [
167
- { area: "Dependencies", risk: "high", description: "Outdated NuGet packages may cause conflicts" },
168
- { area: "Test Coverage", risk: "medium", description: "Recent code changes have low test coverage" },
169
- { area: "Build Configuration", risk: "low", description: "Build agent pool has capacity issues during peak hours" }
170
- ],
171
- recommendedActions: [
172
- "Update NuGet packages to latest compatible versions",
173
- "Add tests for the authentication module",
174
- "Schedule builds during off-peak hours"
175
- ]
176
- },
177
- };
178
- }
179
- async optimizeTestSelection(params) {
180
- return {
181
- buildId: params.buildId,
182
- changedFiles: params.changedFiles || ["src/services/authentication.ts", "src/components/login.tsx"],
183
- selectedTests: [
184
- { testId: "test-001", name: "AuthenticationTests", priority: "high", reason: "Direct dependency on changed files" },
185
- { testId: "test-002", name: "LoginComponentTests", priority: "high", reason: "Direct dependency on changed files" },
186
- { testId: "test-003", name: "UserSessionTests", priority: "medium", reason: "Indirect dependency on authentication" },
187
- { testId: "test-004", name: "NavigationTests", priority: "low", reason: "Previously failed with similar changes" }
188
- ],
189
- excludedTests: params.maxTestCount ? 120 : 0,
190
- estimatedTimeReduction: "45%",
191
- };
192
- }
193
- }
194
- exports.AIAssistedDevelopmentService = AIAssistedDevelopmentService;
195
- //# sourceMappingURL=AIAssistedDevelopmentService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AIAssistedDevelopmentService.js","sourceRoot":"","sources":["../../../src/Services/AIAssistedDevelopmentService.ts"],"names":[],"mappings":"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"}