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.
@@ -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: string;
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: string;
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: string;
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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
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.1.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
- async listAvailableTasks(params?: {
111
- page?: number;
112
- page_size?: number;
113
- }): Promise<TaskList> {
114
- return this.request<TaskList>("GET", "/tasks/available", undefined, {
115
- page: params?.page,
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
- async getTask(taskId: string): Promise<Task> {
121
- return this.request<Task>("GET", `/tasks/${taskId}`);
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
- async acquireTask(taskId: string, agentId: string): Promise<Task> {
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/${taskId}/acquire`, body);
141
+ return this.request<Task>("POST", `/tasks/${issueNumber}/acquire`, body);
127
142
  }
128
143
 
129
- async releaseTask(taskId: string, agentId: string): Promise<Task> {
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/${taskId}/release`, body);
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?: string;
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
  }
@@ -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, TaskList } from "../types.js";
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
- task_id: z.string().uuid().describe("The UUID of the task to retrieve"),
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
- input: z.infer<typeof listAvailableTasksSchema>
29
- ): Promise<TaskList> {
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.task_id);
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 all open/available tasks that can be acquired by an agent. " +
49
- "Returns tasks that are not yet claimed by any agent.",
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 a specific task by its ID. " +
68
- "Returns title, description, status, and associated metadata.",
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
- task_id: {
73
- type: "string",
74
- description: "The UUID of the task to retrieve",
54
+ issue_number: {
55
+ type: "number",
56
+ description: "The GitHub issue number",
75
57
  },
76
58
  },
77
- required: ["task_id"],
59
+ required: ["issue_number"],
78
60
  },
79
61
  },
80
62
  ];