-
Notifications
You must be signed in to change notification settings - Fork 81
Expand file tree
/
Copy pathprovider.ts
More file actions
41 lines (36 loc) · 1.73 KB
/
provider.ts
File metadata and controls
41 lines (36 loc) · 1.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import { McpProvider, McpTool, Services } from "@salesforce/mcp-provider-api";
import { SfDevopsListProjects } from "./tools/sfDevopsListProjects.js";
import { SfDevopsListWorkItems } from "./tools/sfDevopsListWorkItems.js";
import { SfDevopsPromoteWorkItem } from "./tools/sfDevopsPromoteWorkItem.js";
import { SfDevopsDetectConflict } from "./tools/sfDevopsDetectConflict.js";
import { SfDevopsResolveConflict } from "./tools/sfDevopsResolveConflict.js";
import { CheckCommitStatus } from "./tools/checkCommitStatus.js";
import { CreatePullRequest } from "./tools/createPullRequest.js";
import { SfDevopsCheckoutWorkItem } from "./tools/sfDevopsCheckoutWorkItem.js";
import { SfDevopsCommitWorkItem } from "./tools/sfDevopsCommitWorkItem.js";
import { SfDevopsUpdateWorkItemStatus } from "./tools/sfDevopsUpdateWorkItemStatus.js";
import { SfDevopsCreateWorkItem } from "./tools/sfDevopsCreateWorkItem.js";
/**
* DevOps MCPProvider for DevOps tools and operations
*/
export class DevOpsMcpProvider extends McpProvider {
public getName(): string {
return "DevOpsMcpProvider";
}
public provideTools(services: Services): Promise<McpTool[]> {
const telemetryService = services.getTelemetryService();
return Promise.resolve([
new SfDevopsListProjects(services),
new SfDevopsListWorkItems(services),
new SfDevopsCreateWorkItem(services),
new SfDevopsPromoteWorkItem(services),
new SfDevopsDetectConflict(telemetryService),
new SfDevopsResolveConflict(telemetryService),
new SfDevopsCheckoutWorkItem(services),
new SfDevopsCommitWorkItem(services),
new SfDevopsUpdateWorkItemStatus(services),
new CheckCommitStatus(telemetryService),
new CreatePullRequest(telemetryService),
]);
}
}