agentgit-mcp 0.1.0 → 0.2.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/client.d.ts +32 -9
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +54 -14
- package/dist/client.js.map +1 -1
- package/dist/index.js +20 -2
- package/dist/index.js.map +1 -1
- package/dist/tools/discovery.d.ts +11 -27
- package/dist/tools/discovery.d.ts.map +1 -1
- package/dist/tools/discovery.js +17 -35
- package/dist/tools/discovery.js.map +1 -1
- package/dist/tools/evaluation.d.ts +165 -0
- package/dist/tools/evaluation.d.ts.map +1 -0
- package/dist/tools/evaluation.js +182 -0
- package/dist/tools/evaluation.js.map +1 -0
- package/dist/tools/lifecycle.d.ts +24 -10
- package/dist/tools/lifecycle.d.ts.map +1 -1
- package/dist/tools/lifecycle.js +27 -19
- package/dist/tools/lifecycle.js.map +1 -1
- package/dist/tools/review.d.ts +50 -2
- package/dist/tools/review.d.ts.map +1 -1
- package/dist/tools/review.js +53 -5
- package/dist/tools/review.js.map +1 -1
- package/dist/types.d.ts +84 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +12 -0
- package/dist/types.js.map +1 -1
- package/package.json +6 -1
- package/src/client.ts +68 -15
- package/src/index.ts +31 -1
- package/src/tools/discovery.ts +19 -37
- package/src/tools/evaluation.ts +203 -0
- package/src/tools/lifecycle.ts +27 -19
- package/src/tools/review.ts +62 -6
- package/src/types.ts +107 -5
package/dist/tools/review.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/tools/review.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/tools/review.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -18,16 +18,35 @@ export declare enum ReviewDecision {
|
|
|
18
18
|
REJECT = "reject",
|
|
19
19
|
COMMENT = "comment"
|
|
20
20
|
}
|
|
21
|
+
export declare enum VoteDecision {
|
|
22
|
+
APPROVE = "approve",
|
|
23
|
+
REJECT = "reject"
|
|
24
|
+
}
|
|
25
|
+
export interface GitHubIssue {
|
|
26
|
+
number: number;
|
|
27
|
+
title: string;
|
|
28
|
+
body: string | null;
|
|
29
|
+
html_url: string;
|
|
30
|
+
labels: string[];
|
|
31
|
+
state: string;
|
|
32
|
+
}
|
|
33
|
+
export interface GitHubIssueList {
|
|
34
|
+
issues: GitHubIssue[];
|
|
35
|
+
total: number;
|
|
36
|
+
}
|
|
21
37
|
export interface Task {
|
|
22
|
-
id:
|
|
38
|
+
id: number;
|
|
23
39
|
title: string;
|
|
24
40
|
description: string;
|
|
25
41
|
github_issue_url: string | null;
|
|
26
|
-
github_issue_number: number | null;
|
|
27
42
|
status: TaskStatus;
|
|
28
43
|
acquired_by: string | null;
|
|
29
44
|
acquired_at: string | null;
|
|
30
45
|
extra_data: Record<string, unknown> | null;
|
|
46
|
+
baseline_commit: string | null;
|
|
47
|
+
ground_truth_commit: string | null;
|
|
48
|
+
ground_truth_pr_url: string | null;
|
|
49
|
+
has_ground_truth: boolean;
|
|
31
50
|
created_at: string;
|
|
32
51
|
updated_at: string;
|
|
33
52
|
}
|
|
@@ -42,7 +61,7 @@ export interface TaskAcquire {
|
|
|
42
61
|
}
|
|
43
62
|
export interface Change {
|
|
44
63
|
id: string;
|
|
45
|
-
task_id:
|
|
64
|
+
task_id: number;
|
|
46
65
|
author_agent_id: string;
|
|
47
66
|
pr_url: string;
|
|
48
67
|
pr_number: number;
|
|
@@ -51,6 +70,7 @@ export interface Change {
|
|
|
51
70
|
turn: number;
|
|
52
71
|
max_turns: number;
|
|
53
72
|
tee_attestation: string | null;
|
|
73
|
+
improvement_notes: string | null;
|
|
54
74
|
created_at: string;
|
|
55
75
|
updated_at: string;
|
|
56
76
|
}
|
|
@@ -59,12 +79,13 @@ export interface ChangeList {
|
|
|
59
79
|
total: number;
|
|
60
80
|
}
|
|
61
81
|
export interface ChangeRegister {
|
|
62
|
-
task_id:
|
|
82
|
+
task_id: number;
|
|
63
83
|
author_agent_id: string;
|
|
64
84
|
pr_url: string;
|
|
65
85
|
pr_number: number;
|
|
66
86
|
commit_sha: string;
|
|
67
87
|
tee_attestation?: string;
|
|
88
|
+
improvement_notes?: string;
|
|
68
89
|
}
|
|
69
90
|
export interface ChangeRevise {
|
|
70
91
|
agent_id: string;
|
|
@@ -90,6 +111,23 @@ export interface ReviewSubmit {
|
|
|
90
111
|
summary: string;
|
|
91
112
|
line_comments?: Record<string, unknown>;
|
|
92
113
|
}
|
|
114
|
+
export interface Vote {
|
|
115
|
+
id: string;
|
|
116
|
+
change_id: string;
|
|
117
|
+
agent_id: string;
|
|
118
|
+
decision: VoteDecision;
|
|
119
|
+
reason: string;
|
|
120
|
+
created_at: string;
|
|
121
|
+
}
|
|
122
|
+
export interface VoteList {
|
|
123
|
+
votes: Vote[];
|
|
124
|
+
total: number;
|
|
125
|
+
}
|
|
126
|
+
export interface VoteSubmit {
|
|
127
|
+
agent_id: string;
|
|
128
|
+
decision: VoteDecision;
|
|
129
|
+
reason: string;
|
|
130
|
+
}
|
|
93
131
|
export interface ConsensusStatus {
|
|
94
132
|
change_id: string;
|
|
95
133
|
status: ChangeStatus;
|
|
@@ -100,6 +138,48 @@ export interface ConsensusStatus {
|
|
|
100
138
|
is_resolved: boolean;
|
|
101
139
|
message: string;
|
|
102
140
|
}
|
|
141
|
+
export declare enum EvalStatus {
|
|
142
|
+
PASSED = "passed",
|
|
143
|
+
FAILED = "failed",
|
|
144
|
+
ERROR = "error"
|
|
145
|
+
}
|
|
146
|
+
export interface EvaluationSubmit {
|
|
147
|
+
agent_id: string;
|
|
148
|
+
status: EvalStatus;
|
|
149
|
+
tests_passed: boolean;
|
|
150
|
+
tests_total: number;
|
|
151
|
+
tests_failed: number;
|
|
152
|
+
lint_errors: number;
|
|
153
|
+
lint_warnings: number;
|
|
154
|
+
type_errors: number;
|
|
155
|
+
correctness_score: number;
|
|
156
|
+
performance_score: number;
|
|
157
|
+
quality_score: number;
|
|
158
|
+
overall_score: number;
|
|
159
|
+
details?: string;
|
|
160
|
+
}
|
|
161
|
+
export interface Evaluation {
|
|
162
|
+
id: string;
|
|
163
|
+
change_id: string;
|
|
164
|
+
agent_id: string;
|
|
165
|
+
status: EvalStatus;
|
|
166
|
+
tests_passed: boolean;
|
|
167
|
+
tests_total: number;
|
|
168
|
+
tests_failed: number;
|
|
169
|
+
lint_errors: number;
|
|
170
|
+
lint_warnings: number;
|
|
171
|
+
type_errors: number;
|
|
172
|
+
correctness_score: number;
|
|
173
|
+
performance_score: number;
|
|
174
|
+
quality_score: number;
|
|
175
|
+
overall_score: number;
|
|
176
|
+
details: string | null;
|
|
177
|
+
created_at: string;
|
|
178
|
+
}
|
|
179
|
+
export interface EvaluationList {
|
|
180
|
+
evaluations: Evaluation[];
|
|
181
|
+
total: number;
|
|
182
|
+
}
|
|
103
183
|
export interface ApiError {
|
|
104
184
|
detail: string;
|
|
105
185
|
}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,oBAAY,UAAU;IACpB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED,oBAAY,YAAY;IACtB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED,oBAAY,cAAc;IACxB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,OAAO,YAAY;CACpB;AAGD,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -22,4 +22,16 @@ export var ReviewDecision;
|
|
|
22
22
|
ReviewDecision["REJECT"] = "reject";
|
|
23
23
|
ReviewDecision["COMMENT"] = "comment";
|
|
24
24
|
})(ReviewDecision || (ReviewDecision = {}));
|
|
25
|
+
export var VoteDecision;
|
|
26
|
+
(function (VoteDecision) {
|
|
27
|
+
VoteDecision["APPROVE"] = "approve";
|
|
28
|
+
VoteDecision["REJECT"] = "reject";
|
|
29
|
+
})(VoteDecision || (VoteDecision = {}));
|
|
30
|
+
// Evaluation interfaces (agent-submitted results)
|
|
31
|
+
export var EvalStatus;
|
|
32
|
+
(function (EvalStatus) {
|
|
33
|
+
EvalStatus["PASSED"] = "passed";
|
|
34
|
+
EvalStatus["FAILED"] = "failed";
|
|
35
|
+
EvalStatus["ERROR"] = "error";
|
|
36
|
+
})(EvalStatus || (EvalStatus = {}));
|
|
25
37
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,+BAA+B;AAC/B,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,mCAAqB,CAAA;IACrB,qCAAuB,CAAA;IACvB,+BAAiB,CAAA;AACnB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAED,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;AACnB,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB;AAED,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,mCAAiB,CAAA;IACjB,qCAAmB,CAAA;AACrB,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,+BAA+B;AAC/B,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,mCAAqB,CAAA;IACrB,qCAAuB,CAAA;IACvB,+BAAiB,CAAA;AACnB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAED,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;AACnB,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB;AAED,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,mCAAiB,CAAA;IACjB,qCAAmB,CAAA;AACrB,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAED,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,iCAAiB,CAAA;AACnB,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AA6ID,kDAAkD;AAClD,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;IACjB,6BAAe,CAAA;AACjB,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentgit-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "MCP server for AgentGitHub - enabling AI agents to participate in consensus-based PR workflows",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -24,6 +24,11 @@
|
|
|
24
24
|
],
|
|
25
25
|
"author": "",
|
|
26
26
|
"license": "MIT",
|
|
27
|
+
"repository": {
|
|
28
|
+
"type": "git",
|
|
29
|
+
"url": "git+https://github.com/vishaltandale00/AgentGitHub.git",
|
|
30
|
+
"directory": "agentgit-mcp"
|
|
31
|
+
},
|
|
27
32
|
"dependencies": {
|
|
28
33
|
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
29
34
|
"zod": "^3.22.0"
|
package/src/client.ts
CHANGED
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
Task,
|
|
7
7
|
TaskList,
|
|
8
8
|
TaskAcquire,
|
|
9
|
+
GitHubIssueList,
|
|
9
10
|
Change,
|
|
10
11
|
ChangeList,
|
|
11
12
|
ChangeRegister,
|
|
@@ -13,10 +14,16 @@ import {
|
|
|
13
14
|
Review,
|
|
14
15
|
ReviewList,
|
|
15
16
|
ReviewSubmit,
|
|
17
|
+
Vote,
|
|
18
|
+
VoteList,
|
|
19
|
+
VoteSubmit,
|
|
16
20
|
ConsensusStatus,
|
|
17
21
|
TaskStatus,
|
|
18
22
|
ChangeStatus,
|
|
19
23
|
ApiError,
|
|
24
|
+
Evaluation,
|
|
25
|
+
EvaluationList,
|
|
26
|
+
EvaluationSubmit,
|
|
20
27
|
} from "./types.js";
|
|
21
28
|
|
|
22
29
|
export class AgentGitHubClientError extends Error {
|
|
@@ -107,28 +114,41 @@ export class AgentGitHubClient {
|
|
|
107
114
|
});
|
|
108
115
|
}
|
|
109
116
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
page_size: params?.page_size,
|
|
117
|
-
});
|
|
117
|
+
/**
|
|
118
|
+
* List available tasks from GitHub issues.
|
|
119
|
+
* Returns open issues that haven't been acquired yet.
|
|
120
|
+
*/
|
|
121
|
+
async listAvailableTasks(): Promise<GitHubIssueList> {
|
|
122
|
+
return this.request<GitHubIssueList>("GET", "/tasks/available");
|
|
118
123
|
}
|
|
119
124
|
|
|
120
|
-
|
|
121
|
-
|
|
125
|
+
/**
|
|
126
|
+
* Get an acquired task by issue number.
|
|
127
|
+
* @param issueNumber GitHub issue number
|
|
128
|
+
*/
|
|
129
|
+
async getTask(issueNumber: number): Promise<Task> {
|
|
130
|
+
return this.request<Task>("GET", `/tasks/${issueNumber}`);
|
|
122
131
|
}
|
|
123
132
|
|
|
124
|
-
|
|
133
|
+
/**
|
|
134
|
+
* Acquire a GitHub issue as a task.
|
|
135
|
+
* Creates a task record in the database from the GitHub issue.
|
|
136
|
+
* @param issueNumber GitHub issue number
|
|
137
|
+
* @param agentId Agent ID acquiring the task
|
|
138
|
+
*/
|
|
139
|
+
async acquireTask(issueNumber: number, agentId: string): Promise<Task> {
|
|
125
140
|
const body: TaskAcquire = { agent_id: agentId };
|
|
126
|
-
return this.request<Task>("POST", `/tasks/${
|
|
141
|
+
return this.request<Task>("POST", `/tasks/${issueNumber}/acquire`, body);
|
|
127
142
|
}
|
|
128
143
|
|
|
129
|
-
|
|
144
|
+
/**
|
|
145
|
+
* Release an acquired task back to available.
|
|
146
|
+
* @param issueNumber GitHub issue number
|
|
147
|
+
* @param agentId Agent ID releasing the task
|
|
148
|
+
*/
|
|
149
|
+
async releaseTask(issueNumber: number, agentId: string): Promise<Task> {
|
|
130
150
|
const body: TaskAcquire = { agent_id: agentId };
|
|
131
|
-
return this.request<Task>("POST", `/tasks/${
|
|
151
|
+
return this.request<Task>("POST", `/tasks/${issueNumber}/release`, body);
|
|
132
152
|
}
|
|
133
153
|
|
|
134
154
|
// ==================== Change Endpoints ====================
|
|
@@ -136,7 +156,7 @@ export class AgentGitHubClient {
|
|
|
136
156
|
async listChanges(params?: {
|
|
137
157
|
author_agent_id?: string;
|
|
138
158
|
status?: ChangeStatus;
|
|
139
|
-
task_id?:
|
|
159
|
+
task_id?: number; // GitHub issue number
|
|
140
160
|
page?: number;
|
|
141
161
|
page_size?: number;
|
|
142
162
|
}): Promise<ChangeList> {
|
|
@@ -178,6 +198,39 @@ export class AgentGitHubClient {
|
|
|
178
198
|
async getConsensusStatus(changeId: string): Promise<ConsensusStatus> {
|
|
179
199
|
return this.request<ConsensusStatus>("GET", `/changes/${changeId}/status`);
|
|
180
200
|
}
|
|
201
|
+
|
|
202
|
+
// ==================== Vote Endpoints (new decoupled system) ====================
|
|
203
|
+
|
|
204
|
+
async getChangeVotes(changeId: string): Promise<VoteList> {
|
|
205
|
+
return this.request<VoteList>("GET", `/changes/${changeId}/votes`);
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
async submitVote(changeId: string, data: VoteSubmit): Promise<Vote> {
|
|
209
|
+
return this.request<Vote>("POST", `/changes/${changeId}/vote`, data);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
// ==================== Evaluation Endpoints ====================
|
|
213
|
+
|
|
214
|
+
async submitEvaluation(changeId: string, data: EvaluationSubmit): Promise<Evaluation> {
|
|
215
|
+
return this.request<Evaluation>("POST", `/changes/${changeId}/evaluation`, data);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
async getEvaluations(changeId: string): Promise<EvaluationList> {
|
|
219
|
+
return this.request<EvaluationList>("GET", `/changes/${changeId}/evaluations`);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
async getLatestEvaluation(changeId: string): Promise<Evaluation> {
|
|
223
|
+
return this.request<Evaluation>("GET", `/changes/${changeId}/evaluation/latest`);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
// Generic methods for extensibility
|
|
227
|
+
async get<T>(path: string): Promise<T> {
|
|
228
|
+
return this.request<T>("GET", path);
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
async post<T>(path: string, body?: unknown): Promise<T> {
|
|
232
|
+
return this.request<T>("POST", path, body);
|
|
233
|
+
}
|
|
181
234
|
}
|
|
182
235
|
|
|
183
236
|
// Factory function to create client from environment variables
|
package/src/index.ts
CHANGED
|
@@ -43,9 +43,11 @@ import {
|
|
|
43
43
|
listPendingReviews,
|
|
44
44
|
getPrDetails,
|
|
45
45
|
submitReview,
|
|
46
|
+
submitVote,
|
|
46
47
|
getConsensusStatus,
|
|
47
48
|
getPrDetailsSchema,
|
|
48
49
|
submitReviewSchema,
|
|
50
|
+
submitVoteSchema,
|
|
49
51
|
getConsensusStatusSchema,
|
|
50
52
|
} from "./tools/review.js";
|
|
51
53
|
|
|
@@ -57,8 +59,18 @@ import {
|
|
|
57
59
|
getMyPrsSchema,
|
|
58
60
|
} from "./tools/monitoring.js";
|
|
59
61
|
|
|
62
|
+
import {
|
|
63
|
+
evaluationTools,
|
|
64
|
+
submitEvaluation,
|
|
65
|
+
getEvaluations,
|
|
66
|
+
getLatestEvaluation,
|
|
67
|
+
submitEvaluationSchema,
|
|
68
|
+
getEvaluationsSchema,
|
|
69
|
+
getLatestEvaluationSchema,
|
|
70
|
+
} from "./tools/evaluation.js";
|
|
71
|
+
|
|
60
72
|
// Combine all tool definitions
|
|
61
|
-
const allTools = [...discoveryTools, ...lifecycleTools, ...reviewTools, ...monitoringTools];
|
|
73
|
+
const allTools = [...discoveryTools, ...lifecycleTools, ...reviewTools, ...monitoringTools, ...evaluationTools];
|
|
62
74
|
|
|
63
75
|
class AgentGitHubMcpServer {
|
|
64
76
|
private server: Server;
|
|
@@ -183,6 +195,10 @@ class AgentGitHubMcpServer {
|
|
|
183
195
|
const input = getConsensusStatusSchema.parse(args);
|
|
184
196
|
return getConsensusStatus(this.client, input);
|
|
185
197
|
}
|
|
198
|
+
case "submit_vote": {
|
|
199
|
+
const input = submitVoteSchema.parse(args);
|
|
200
|
+
return submitVote(this.client, input);
|
|
201
|
+
}
|
|
186
202
|
|
|
187
203
|
// Monitoring tools
|
|
188
204
|
case "get_my_tasks": {
|
|
@@ -194,6 +210,20 @@ class AgentGitHubMcpServer {
|
|
|
194
210
|
return getMyPrs(this.client, input);
|
|
195
211
|
}
|
|
196
212
|
|
|
213
|
+
// Evaluation tools (agent-submitted results)
|
|
214
|
+
case "submit_evaluation": {
|
|
215
|
+
const input = submitEvaluationSchema.parse(args);
|
|
216
|
+
return submitEvaluation(this.client, input);
|
|
217
|
+
}
|
|
218
|
+
case "get_evaluations": {
|
|
219
|
+
const input = getEvaluationsSchema.parse(args);
|
|
220
|
+
return getEvaluations(this.client, input);
|
|
221
|
+
}
|
|
222
|
+
case "get_latest_evaluation": {
|
|
223
|
+
const input = getLatestEvaluationSchema.parse(args);
|
|
224
|
+
return getLatestEvaluation(this.client, input);
|
|
225
|
+
}
|
|
226
|
+
|
|
197
227
|
default:
|
|
198
228
|
throw new McpError(ErrorCode.MethodNotFound, `Unknown tool: ${name}`);
|
|
199
229
|
}
|
package/src/tools/discovery.ts
CHANGED
|
@@ -1,43 +1,34 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Discovery tools: list_available_tasks, get_task
|
|
3
|
+
*
|
|
4
|
+
* Available tasks come from GitHub issues in real-time.
|
|
5
|
+
* Task ID = GitHub issue number.
|
|
3
6
|
*/
|
|
4
7
|
|
|
5
8
|
import { z } from "zod";
|
|
6
9
|
import { AgentGitHubClient } from "../client.js";
|
|
7
|
-
import { Task,
|
|
10
|
+
import { Task, GitHubIssueList } from "../types.js";
|
|
8
11
|
|
|
9
12
|
// Schema definitions for tool inputs
|
|
10
|
-
export const listAvailableTasksSchema = z.object({
|
|
11
|
-
page: z.number().int().positive().optional().describe("Page number (default: 1)"),
|
|
12
|
-
page_size: z
|
|
13
|
-
.number()
|
|
14
|
-
.int()
|
|
15
|
-
.positive()
|
|
16
|
-
.max(100)
|
|
17
|
-
.optional()
|
|
18
|
-
.describe("Number of tasks per page (default: 20, max: 100)"),
|
|
19
|
-
});
|
|
13
|
+
export const listAvailableTasksSchema = z.object({});
|
|
20
14
|
|
|
21
15
|
export const getTaskSchema = z.object({
|
|
22
|
-
|
|
16
|
+
issue_number: z.number().int().positive().describe("The GitHub issue number"),
|
|
23
17
|
});
|
|
24
18
|
|
|
25
19
|
// Tool implementations
|
|
26
20
|
export async function listAvailableTasks(
|
|
27
21
|
client: AgentGitHubClient,
|
|
28
|
-
|
|
29
|
-
): Promise<
|
|
30
|
-
return client.listAvailableTasks(
|
|
31
|
-
page: input.page,
|
|
32
|
-
page_size: input.page_size,
|
|
33
|
-
});
|
|
22
|
+
_input: z.infer<typeof listAvailableTasksSchema>
|
|
23
|
+
): Promise<GitHubIssueList> {
|
|
24
|
+
return client.listAvailableTasks();
|
|
34
25
|
}
|
|
35
26
|
|
|
36
27
|
export async function getTask(
|
|
37
28
|
client: AgentGitHubClient,
|
|
38
29
|
input: z.infer<typeof getTaskSchema>
|
|
39
30
|
): Promise<Task> {
|
|
40
|
-
return client.getTask(input.
|
|
31
|
+
return client.getTask(input.issue_number);
|
|
41
32
|
}
|
|
42
33
|
|
|
43
34
|
// Tool definitions for MCP registration
|
|
@@ -45,36 +36,27 @@ export const discoveryTools = [
|
|
|
45
36
|
{
|
|
46
37
|
name: "list_available_tasks",
|
|
47
38
|
description:
|
|
48
|
-
"List
|
|
49
|
-
"
|
|
39
|
+
"List available tasks from GitHub issues. Returns open issues that haven't been " +
|
|
40
|
+
"acquired yet. Tasks are sourced from GitHub in real-time.",
|
|
50
41
|
inputSchema: {
|
|
51
42
|
type: "object" as const,
|
|
52
|
-
properties: {
|
|
53
|
-
page: {
|
|
54
|
-
type: "number",
|
|
55
|
-
description: "Page number (default: 1)",
|
|
56
|
-
},
|
|
57
|
-
page_size: {
|
|
58
|
-
type: "number",
|
|
59
|
-
description: "Number of tasks per page (default: 20, max: 100)",
|
|
60
|
-
},
|
|
61
|
-
},
|
|
43
|
+
properties: {},
|
|
62
44
|
},
|
|
63
45
|
},
|
|
64
46
|
{
|
|
65
47
|
name: "get_task",
|
|
66
48
|
description:
|
|
67
|
-
"Get detailed information about
|
|
68
|
-
"
|
|
49
|
+
"Get detailed information about an acquired task by its issue number. " +
|
|
50
|
+
"Only returns tasks that have been acquired (exist in the database).",
|
|
69
51
|
inputSchema: {
|
|
70
52
|
type: "object" as const,
|
|
71
53
|
properties: {
|
|
72
|
-
|
|
73
|
-
type: "
|
|
74
|
-
description: "The
|
|
54
|
+
issue_number: {
|
|
55
|
+
type: "number",
|
|
56
|
+
description: "The GitHub issue number",
|
|
75
57
|
},
|
|
76
58
|
},
|
|
77
|
-
required: ["
|
|
59
|
+
required: ["issue_number"],
|
|
78
60
|
},
|
|
79
61
|
},
|
|
80
62
|
];
|