@agent-tasks/mcp-server 0.2.0 → 0.3.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.
package/README.md CHANGED
@@ -51,6 +51,7 @@ Drop `--scope user` if you want it project-local instead. See
51
51
  | Tool | Wraps |
52
52
  | ----------------------- | -------------------------------------------------- |
53
53
  | `projects_list` | `GET /api/projects/available` |
54
+ | `projects_get` | `GET /api/projects/:slugOrId` (or `/by-slug/:slug`)|
54
55
  | `tasks_list` | `GET /api/tasks/claimable` |
55
56
  | `tasks_get` | `GET /api/tasks/:id` |
56
57
  | `tasks_instructions` | `GET /api/tasks/:id/instructions` |
@@ -60,6 +61,10 @@ Drop `--scope user` if you want it project-local instead. See
60
61
  | `tasks_transition` | `POST /api/tasks/:id/transition` |
61
62
  | `tasks_update` | `PATCH /api/tasks/:id` |
62
63
  | `tasks_comment` | `POST /api/tasks/:id/comments` |
64
+ | `review_approve` | `POST /api/tasks/:id/review` (`action: approve`) |
65
+ | `review_request_changes`| `POST /api/tasks/:id/review` (`action: request_changes`) |
66
+ | `review_claim` | `POST /api/tasks/:id/review/claim` |
67
+ | `review_release` | `POST /api/tasks/:id/review/release` |
63
68
  | `pull_requests_create` | `POST /api/github/pull-requests` |
64
69
  | `pull_requests_merge` | `POST /api/github/pull-requests/:prNumber/merge` |
65
70
  | `pull_requests_comment` | `POST /api/github/pull-requests/:prNumber/comments`|
@@ -90,6 +95,14 @@ the task to `done`. No extra `tasks_update` / `tasks_transition` call
90
95
  needed — one tool call drives both the GitHub action and the task-state
91
96
  side effect.
92
97
 
98
+ `pull_requests_merge` also enforces the review gate: the task must be in
99
+ `review` state (or already `done` for an idempotent re-try), otherwise
100
+ the endpoint returns 403. If the project has `requireDistinctReviewer`
101
+ enabled, the merge caller must not be the task's claimant — same rule
102
+ the `/transition` and `/review` endpoints apply. To bypass the gate,
103
+ admins force-transition to `done` via `tasks_transition` with `force=true`
104
+ first, then call this tool (which accepts `done` as a valid entry state).
105
+
93
106
  ## Transport
94
107
 
95
108
  This package ships **stdio** only. It is the recommended path for
@@ -100,7 +113,7 @@ no running server to maintain, no network hop.
100
113
 
101
114
  Remote MCP clients that speak HTTP + JSON-RPC (e.g. Triologue's
102
115
  `mcpBridge.ts`) cannot drive a stdio child process across a network
103
- boundary. For those, the agent-tasks backend exposes the **same 12
116
+ boundary. For those, the agent-tasks backend exposes the **same 20
104
117
  tools** over HTTP at `POST /api/mcp`:
105
118
 
106
119
  ```bash
package/dist/client.d.ts CHANGED
@@ -12,6 +12,7 @@ export declare class AgentTasksClient {
12
12
  constructor(config: ClientConfig);
13
13
  private request;
14
14
  listProjects(): Promise<unknown>;
15
+ getProject(slugOrId: string): Promise<unknown>;
15
16
  listClaimableTasks(params?: {
16
17
  limit?: number;
17
18
  }): Promise<unknown>;
@@ -40,6 +41,20 @@ export declare class AgentTasksClient {
40
41
  result?: string | null;
41
42
  }): Promise<unknown>;
42
43
  addTaskComment(taskId: string, content: string): Promise<unknown>;
44
+ reviewTask(taskId: string, input: {
45
+ action: "approve" | "request_changes";
46
+ comment?: string;
47
+ }): Promise<unknown>;
48
+ claimReview(taskId: string): Promise<unknown>;
49
+ releaseReview(taskId: string): Promise<unknown>;
50
+ pickupWork(): Promise<unknown>;
51
+ startTask(taskId: string): Promise<unknown>;
52
+ finishTask(taskId: string, input: {
53
+ result?: string;
54
+ prUrl?: string;
55
+ outcome?: "approve" | "request_changes";
56
+ }): Promise<unknown>;
57
+ abandonTask(taskId: string): Promise<unknown>;
43
58
  pollSignals(): Promise<unknown>;
44
59
  ackSignal(signalId: string): Promise<unknown>;
45
60
  createPullRequest(input: {
package/dist/client.js CHANGED
@@ -48,6 +48,16 @@ export class AgentTasksClient {
48
48
  listProjects() {
49
49
  return this.request("GET", "/api/projects/available");
50
50
  }
51
+ getProject(slugOrId) {
52
+ // Mirror the CLI: UUIDs route to the id endpoint, anything else is
53
+ // treated as a slug. Keeps the MCP tool input permissive (one string)
54
+ // without forcing callers to know which flavor of identifier they hold.
55
+ const isUuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(slugOrId);
56
+ const path = isUuid
57
+ ? `/api/projects/${slugOrId}`
58
+ : `/api/projects/by-slug/${encodeURIComponent(slugOrId)}`;
59
+ return this.request("GET", path);
60
+ }
51
61
  listClaimableTasks(params) {
52
62
  const qs = params?.limit !== undefined ? `?limit=${params.limit}` : "";
53
63
  return this.request("GET", `/api/tasks/claimable${qs}`);
@@ -78,6 +88,30 @@ export class AgentTasksClient {
78
88
  content,
79
89
  });
80
90
  }
91
+ reviewTask(taskId, input) {
92
+ return this.request("POST", `/api/tasks/${taskId}/review`, input);
93
+ }
94
+ claimReview(taskId) {
95
+ return this.request("POST", `/api/tasks/${taskId}/review/claim`);
96
+ }
97
+ releaseReview(taskId) {
98
+ return this.request("POST", `/api/tasks/${taskId}/review/release`);
99
+ }
100
+ // ── v2 MCP workflow surface ──────────────────────────────────────────
101
+ //
102
+ // Verb-oriented endpoints backing the v2 MCP tools. See ADR 0008.
103
+ pickupWork() {
104
+ return this.request("POST", "/api/tasks/pickup");
105
+ }
106
+ startTask(taskId) {
107
+ return this.request("POST", `/api/tasks/${taskId}/start`);
108
+ }
109
+ finishTask(taskId, input) {
110
+ return this.request("POST", `/api/tasks/${taskId}/finish`, input);
111
+ }
112
+ abandonTask(taskId) {
113
+ return this.request("POST", `/api/tasks/${taskId}/abandon`);
114
+ }
81
115
  pollSignals() {
82
116
  return this.request("GET", "/api/agent/signals");
83
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/tools.js CHANGED
@@ -25,17 +25,88 @@ async function wrap(fn) {
25
25
  function def(d) {
26
26
  return d;
27
27
  }
28
+ // ── v1 deprecation notice ────────────────────────────────────────────────────
29
+ //
30
+ // The v1 tools below are being phased out in favor of the v2 verb-oriented
31
+ // surface (task_pickup / task_start / task_note / task_finish / task_create /
32
+ // task_abandon). LLM clients that see both should prefer the non-deprecated
33
+ // variant. v1 tools will be removed 4 weeks after the v2 release. See ADR 0008.
34
+ const DEPRECATED = "[DEPRECATED, use v2 tools] ";
28
35
  export function buildTools(client) {
29
36
  return [
37
+ // ── v2 surface (ADR 0008) ────────────────────────────────────────────
38
+ def({
39
+ name: "task_pickup",
40
+ description: "Get the next piece of work. Returns one of: a pending signal, a task ready for review, a claimable task, or idle. The response is tagged with `kind: \"signal\" | \"review\" | \"work\" | \"idle\"`. Signals are delivered at-most-once and acked atomically. Review tasks are filtered by the distinct-reviewer rule (you cannot review tasks you authored). Fails with 409 if you already hold an active claim — call task_finish or task_abandon first.",
41
+ inputShape: {},
42
+ handler: async () => wrap(() => client.pickupWork()),
43
+ }),
44
+ def({
45
+ name: "task_start",
46
+ description: "Begin work on a task. Polymorphic by task status: an `open` task is author-claimed and transitioned to in_progress; a `review` task is review-claimed without state change. Response includes the task data, project info, and `expectedFinishState` (the state task_finish will target for a work claim). Fails with 409 if you already hold an active claim.",
47
+ inputShape: { taskId: uuid() },
48
+ handler: async ({ taskId }) => wrap(() => client.startTask(taskId)),
49
+ }),
50
+ def({
51
+ name: "task_note",
52
+ description: "Comment on a task. Works for both work and review claims — use this to record progress, ask questions, or leave review feedback. Requires taskId today; a future revision may infer it from the active claim.",
53
+ inputShape: {
54
+ taskId: uuid(),
55
+ content: z.string().min(1).max(5000),
56
+ },
57
+ handler: async ({ taskId, content }) => wrap(() => client.addTaskComment(taskId, content)),
58
+ }),
59
+ def({
60
+ name: "task_finish",
61
+ description: "Finish a task. Polymorphic based on the claim you hold.\n\nWork claim: pass { result?, prUrl? }. prUrl must be a github.com pull-request URL if provided. The task transitions to its expectedFinishState (review or done depending on the workflow). The work claim is cleared when going to done and kept when going to review.\n\nReview claim: pass { result?, outcome: \"approve\" | \"request_changes\" }. approve → task to done, both claims cleared. request_changes → task back to in_progress, review claim cleared, work claim kept so the author resumes, changes_requested signal emitted.",
62
+ inputShape: {
63
+ taskId: uuid(),
64
+ result: z.string().max(5000).optional(),
65
+ prUrl: z.string().url().optional(),
66
+ outcome: z.enum(["approve", "request_changes"]).optional(),
67
+ },
68
+ handler: async ({ taskId, ...body }) => wrap(() => client.finishTask(taskId, body)),
69
+ }),
70
+ def({
71
+ name: "task_create",
72
+ description: "Create a new task in a project. Only title is required. Use externalRef as an idempotency key for bulk imports — the backend dedupes on (projectId, externalRef).",
73
+ inputShape: {
74
+ projectId: uuid(),
75
+ title: z.string().min(1).max(255),
76
+ description: z.string().optional(),
77
+ priority: priorityEnum.optional(),
78
+ workflowId: uuid().optional(),
79
+ dueAt: z.string().datetime().optional(),
80
+ externalRef: z.string().trim().min(1).max(255).optional(),
81
+ labels: z.array(z.string().trim().min(1).max(100)).max(20).optional(),
82
+ },
83
+ handler: async ({ projectId, ...input }) => wrap(() => client.createTask(projectId, input)),
84
+ }),
85
+ def({
86
+ name: "task_abandon",
87
+ description: "Explicit bail-out: release the active claim on a task without finishing. A work claim on an in_progress task returns it to open; a review claim simply releases the review lock. Use this sparingly — task_finish is the normal path. Separate intent from finish so audit trails distinguish abandonment from completion.",
88
+ inputShape: { taskId: uuid() },
89
+ handler: async ({ taskId }) => wrap(() => client.abandonTask(taskId)),
90
+ }),
91
+ // ── v1 surface (deprecated) ──────────────────────────────────────────
30
92
  def({
31
93
  name: "projects_list",
32
- description: "List all projects visible to the authenticated actor. Returns id, slug, name, and GitHub repo for each.",
94
+ description: DEPRECATED +
95
+ "List all projects visible to the authenticated actor. Returns id, slug, name, and GitHub repo for each. Agents should use task_pickup instead of browsing.",
33
96
  inputShape: {},
34
97
  handler: async () => wrap(() => client.listProjects()),
35
98
  }),
99
+ def({
100
+ name: "projects_get",
101
+ description: DEPRECATED +
102
+ "Fetch a single project by slug or id. Project browsing is not an agent concern under v2.",
103
+ inputShape: { slugOrId: z.string().min(1) },
104
+ handler: async ({ slugOrId }) => wrap(() => client.getProject(slugOrId)),
105
+ }),
36
106
  def({
37
107
  name: "tasks_list",
38
- description: "List tasks that the authenticated actor may claim (status=open, not blocked, not already claimed). Supports an optional limit.",
108
+ description: DEPRECATED +
109
+ "List claimable tasks. Use task_pickup instead — it returns one prioritized item.",
39
110
  inputShape: {
40
111
  limit: z.number().int().positive().max(500).optional(),
41
112
  },
@@ -43,19 +114,22 @@ export function buildTools(client) {
43
114
  }),
44
115
  def({
45
116
  name: "tasks_get",
46
- description: "Fetch a single task by id, including comments and dependencies.",
117
+ description: DEPRECATED +
118
+ "Fetch a task by id. v2 folds this into the task_start response.",
47
119
  inputShape: { taskId: uuid() },
48
120
  handler: async ({ taskId }) => wrap(() => client.getTask(taskId)),
49
121
  }),
50
122
  def({
51
123
  name: "tasks_instructions",
52
- description: "Fetch agent-facing instructions for a task: current state, allowed transitions, confidence score, required-field checklist, and updatable fields.",
124
+ description: DEPRECATED +
125
+ "Fetch agent-facing instructions. v2 folds this into the task_start response.",
53
126
  inputShape: { taskId: uuid() },
54
127
  handler: async ({ taskId }) => wrap(() => client.getTaskInstructions(taskId)),
55
128
  }),
56
129
  def({
57
130
  name: "tasks_create",
58
- description: "Create a new task in a project. Only title is required. Use externalRef as an idempotency key for bulk imports — the backend dedupes on (projectId, externalRef).",
131
+ description: DEPRECATED +
132
+ "Use task_create instead (same behavior, v2 naming).",
59
133
  inputShape: {
60
134
  projectId: uuid(),
61
135
  title: z.string().min(1).max(255),
@@ -73,19 +147,22 @@ export function buildTools(client) {
73
147
  }),
74
148
  def({
75
149
  name: "tasks_claim",
76
- description: "Claim a task as the authenticated actor. Fails if the task is already claimed, blocked, or not in a claimable state.",
150
+ description: DEPRECATED +
151
+ "Use task_start instead (atomic claim + in_progress + instructions).",
77
152
  inputShape: { taskId: uuid() },
78
153
  handler: async ({ taskId }) => wrap(() => client.claimTask(taskId)),
79
154
  }),
80
155
  def({
81
156
  name: "tasks_release",
82
- description: "Release a previously claimed task, returning it to the claimable pool.",
157
+ description: DEPRECATED +
158
+ "Use task_abandon instead (explicit bail-out with audit trail).",
83
159
  inputShape: { taskId: uuid() },
84
160
  handler: async ({ taskId }) => wrap(() => client.releaseTask(taskId)),
85
161
  }),
86
162
  def({
87
163
  name: "tasks_transition",
88
- description: "Transition a task to a new status. Preconditions from the task's workflow (branchPresent, prMerged, ciGreen, …) are enforced server-side. Use force=true with a forceReason only when you have explicit authorization to bypass gates.",
164
+ description: DEPRECATED +
165
+ "Agents should not pick status values directly. Use task_start and task_finish; the system owns transitions under v2.",
89
166
  inputShape: {
90
167
  taskId: uuid(),
91
168
  status: transitionStatusEnum,
@@ -96,7 +173,8 @@ export function buildTools(client) {
96
173
  }),
97
174
  def({
98
175
  name: "tasks_update",
99
- description: "Update mutable fields on a task: branchName, prUrl, prNumber, result. Pass null to clear a field.",
176
+ description: DEPRECATED +
177
+ "Generic field updates are not part of the v2 agent surface. Pass prUrl via task_finish instead.",
100
178
  inputShape: {
101
179
  taskId: uuid(),
102
180
  branchName: z.string().max(255).nullable().optional(),
@@ -108,28 +186,66 @@ export function buildTools(client) {
108
186
  }),
109
187
  def({
110
188
  name: "tasks_comment",
111
- description: "Add a comment to a task. Useful for logging progress, asking human reviewers for clarification, or recording decisions.",
189
+ description: DEPRECATED +
190
+ "Use task_note instead (same behavior, v2 naming).",
112
191
  inputShape: {
113
192
  taskId: uuid(),
114
193
  content: z.string().min(1).max(5000),
115
194
  },
116
195
  handler: async ({ taskId, content }) => wrap(() => client.addTaskComment(taskId, content)),
117
196
  }),
197
+ def({
198
+ name: "review_approve",
199
+ description: DEPRECATED +
200
+ "Use task_finish with outcome=\"approve\" instead (after task_start on a review task).",
201
+ inputShape: {
202
+ taskId: uuid(),
203
+ comment: z.string().max(5000).optional(),
204
+ },
205
+ handler: async ({ taskId, comment }) => wrap(() => client.reviewTask(taskId, { action: "approve", comment })),
206
+ }),
207
+ def({
208
+ name: "review_request_changes",
209
+ description: DEPRECATED +
210
+ "Use task_finish with outcome=\"request_changes\" instead (after task_start on a review task).",
211
+ inputShape: {
212
+ taskId: uuid(),
213
+ comment: z.string().max(5000).optional(),
214
+ },
215
+ handler: async ({ taskId, comment }) => wrap(() => client.reviewTask(taskId, { action: "request_changes", comment })),
216
+ }),
217
+ def({
218
+ name: "review_claim",
219
+ description: DEPRECATED +
220
+ "Use task_start on a task in review status instead — it review-claims polymorphically.",
221
+ inputShape: { taskId: uuid() },
222
+ handler: async ({ taskId }) => wrap(() => client.claimReview(taskId)),
223
+ }),
224
+ def({
225
+ name: "review_release",
226
+ description: DEPRECATED +
227
+ "Use task_abandon instead.",
228
+ inputShape: { taskId: uuid() },
229
+ handler: async ({ taskId }) => wrap(() => client.releaseReview(taskId)),
230
+ }),
118
231
  def({
119
232
  name: "signals_poll",
120
- description: "Poll the signal inbox for the authenticated agent. Signals represent state changes the agent should react to (task claimed, review requested, force-transition, …).",
233
+ description: DEPRECATED +
234
+ "Signals are delivered inline by task_pickup under v2.",
121
235
  inputShape: {},
122
236
  handler: async () => wrap(() => client.pollSignals()),
123
237
  }),
124
238
  def({
125
239
  name: "signals_ack",
126
- description: "Acknowledge a signal by id. Acknowledged signals are removed from the inbox.",
240
+ description: DEPRECATED +
241
+ "Signals are acked atomically when delivered by task_pickup under v2.",
127
242
  inputShape: { signalId: uuid() },
128
243
  handler: async ({ signalId }) => wrap(() => client.ackSignal(signalId)),
129
244
  }),
130
245
  def({
131
246
  name: "pull_requests_create",
132
- description: "Create a GitHub pull request bound to a task via delegation. The backend dispatches the create call through a team member who has connected GitHub and enabled 'Allow agents to create PRs'; on success the task's branchName, prUrl, and prNumber are patched server-side. Requires token scope tasks:update. base defaults to 'main' — pass the repo's actual default branch (e.g. 'master') explicitly if it differs.",
247
+ description: DEPRECATED +
248
+ "PR creation is not an agent-tasks concern under v2. Use the `gh` CLI directly; pass the resulting URL to task_finish as prUrl.",
133
249
  inputShape: {
134
250
  taskId: uuid(),
135
251
  owner: z.string().min(1),
@@ -143,7 +259,8 @@ export function buildTools(client) {
143
259
  }),
144
260
  def({
145
261
  name: "pull_requests_merge",
146
- description: "Merge a GitHub pull request via delegation and auto-transition the linked task to 'done'. Dispatched through a team member with 'Allow agents to merge PRs' consent. Idempotent on PRs that are already merged. Requires token scope tasks:transition. mergeMethod defaults to 'squash'.",
262
+ description: DEPRECATED +
263
+ "Merge is a human decision, not an agent routine. Use the web UI or `gh pr merge` directly.",
147
264
  inputShape: {
148
265
  taskId: uuid(),
149
266
  owner: z.string().min(1),
@@ -162,7 +279,8 @@ export function buildTools(client) {
162
279
  }),
163
280
  def({
164
281
  name: "pull_requests_comment",
165
- description: "Post a comment on a GitHub pull request via delegation. Dispatched through a team member with 'Allow agents to comment on PRs' consent. Requires token scope tasks:comment. Use for CI status notes, review follow-ups, or cross-referencing other tasks — agent-authored comments are audit-logged separately from human comments.",
282
+ description: DEPRECATED +
283
+ "Use `gh pr comment` directly or leave the note on the task via task_note.",
166
284
  inputShape: {
167
285
  taskId: uuid(),
168
286
  owner: z.string().min(1),
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAe,MAAM,KAAK,CAAC;AACrC,OAAO,EAAoB,kBAAkB,EAAE,MAAM,aAAa,CAAC;AASnE,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC;IAClC,MAAM;IACN,aAAa;IACb,QAAQ;IACR,MAAM;CACP,CAAC,CAAC;AACH,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAEnE,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;AAErC,KAAK,UAAU,IAAI,CAAI,EAAoB;IACzC,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI;gBACrB,CAAC,CAAC,MAAM,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC5E,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,OAAO,GAAG,MAAM,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,GAAG,CACV,CAAwB;IAExB,OAAO,CAA8B,CAAC;AACxC,CAAC;AAED,gFAAgF;AAChF,EAAE;AACF,2EAA2E;AAC3E,8EAA8E;AAC9E,4EAA4E;AAC5E,gFAAgF;AAChF,MAAM,UAAU,GAAG,6BAA6B,CAAC;AAEjD,MAAM,UAAU,UAAU,CAAC,MAAwB;IACjD,OAAO;QACL,wEAAwE;QACxE,GAAG,CAAC;YACF,IAAI,EAAE,aAAa;YACnB,WAAW,EACT,4bAA4b;YAC9b,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;SACrD,CAAC;QACF,GAAG,CAAC;YACF,IAAI,EAAE,YAAY;YAClB,WAAW,EACT,gWAAgW;YAClW,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SACpE,CAAC;QACF,GAAG,CAAC;YACF,IAAI,EAAE,WAAW;YACjB,WAAW,EACT,+MAA+M;YACjN,UAAU,EAAE;gBACV,MAAM,EAAE,IAAI,EAAE;gBACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;aACrC;YACD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CACrC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACrD,CAAC;QACF,GAAG,CAAC;YACF,IAAI,EAAE,aAAa;YACnB,WAAW,EACT,0kBAA0kB;YAC5kB,UAAU,EAAE;gBACV,MAAM,EAAE,IAAI,EAAE;gBACd,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;gBACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;gBAClC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,QAAQ,EAAE;aAC3D;YACD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CACrC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SAC9C,CAAC;QACF,GAAG,CAAC;YACF,IAAI,EAAE,aAAa;YACnB,WAAW,EACT,mKAAmK;YACrK,UAAU,EAAE;gBACV,SAAS,EAAE,IAAI,EAAE;gBACjB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;gBACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAClC,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE;gBACjC,UAAU,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE;gBAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;gBACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;gBACzD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;aACtE;YACD,OAAO,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CACzC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SAClD,CAAC;QACF,GAAG,CAAC;YACF,IAAI,EAAE,cAAc;YACpB,WAAW,EACT,4TAA4T;YAC9T,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SACtE,CAAC;QAEF,wEAAwE;QACxE,GAAG,CAAC;YACF,IAAI,EAAE,eAAe;YACrB,WAAW,EACT,UAAU;gBACV,4JAA4J;YAC9J,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;SACvD,CAAC;QACF,GAAG,CAAC;YACF,IAAI,EAAE,cAAc;YACpB,WAAW,EACT,UAAU;gBACV,0FAA0F;YAC5F,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC3C,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;SACzE,CAAC;QACF,GAAG,CAAC;YACF,IAAI,EAAE,YAAY;YAClB,WAAW,EACT,UAAU;gBACV,kFAAkF;YACpF,UAAU,EAAE;gBACV,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;aACvD;YACD,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAC3B,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;SACnD,CAAC;QACF,GAAG,CAAC;YACF,IAAI,EAAE,WAAW;YACjB,WAAW,EACT,UAAU;gBACV,iEAAiE;YACnE,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAClE,CAAC;QACF,GAAG,CAAC;YACF,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EACT,UAAU;gBACV,8EAA8E;YAChF,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAC5B,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;SACjD,CAAC;QACF,GAAG,CAAC;YACF,IAAI,EAAE,cAAc;YACpB,WAAW,EACT,UAAU;gBACV,qDAAqD;YACvD,UAAU,EAAE;gBACV,SAAS,EAAE,IAAI,EAAE;gBACjB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;gBACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAClC,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE;gBACjC,UAAU,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE;gBAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;gBACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;gBACzD,MAAM,EAAE,CAAC;qBACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;qBACxC,GAAG,CAAC,EAAE,CAAC;qBACP,QAAQ,EAAE;aACd;YACD,OAAO,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CACzC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SAClD,CAAC;QACF,GAAG,CAAC;YACF,IAAI,EAAE,aAAa;YACnB,WAAW,EACT,UAAU;gBACV,qEAAqE;YACvE,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SACpE,CAAC;QACF,GAAG,CAAC;YACF,IAAI,EAAE,eAAe;YACrB,WAAW,EACT,UAAU;gBACV,gEAAgE;YAClE,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SACtE,CAAC;QACF,GAAG,CAAC;YACF,IAAI,EAAE,kBAAkB;YACxB,WAAW,EACT,UAAU;gBACV,sHAAsH;YACxH,UAAU,EAAE;gBACV,MAAM,EAAE,IAAI,EAAE;gBACd,MAAM,EAAE,oBAAoB;gBAC5B,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;gBAC7B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;aAC5C;YACD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CACtC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SACnD,CAAC;QACF,GAAG,CAAC;YACF,IAAI,EAAE,cAAc;YACpB,WAAW,EACT,UAAU;gBACV,iGAAiG;YACnG,UAAU,EAAE;gBACV,MAAM,EAAE,IAAI,EAAE;gBACd,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;gBACrD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;gBAC7C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;gBAC3D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;aACzC;YACD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CACtC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SAC/C,CAAC;QACF,GAAG,CAAC;YACF,IAAI,EAAE,eAAe;YACrB,WAAW,EACT,UAAU;gBACV,mDAAmD;YACrD,UAAU,EAAE;gBACV,MAAM,EAAE,IAAI,EAAE;gBACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;aACrC;YACD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CACrC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACrD,CAAC;QACF,GAAG,CAAC;YACF,IAAI,EAAE,gBAAgB;YACtB,WAAW,EACT,UAAU;gBACV,uFAAuF;YACzF,UAAU,EAAE;gBACV,MAAM,EAAE,IAAI,EAAE;gBACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;aACzC;YACD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CACrC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;SACxE,CAAC;QACF,GAAG,CAAC;YACF,IAAI,EAAE,wBAAwB;YAC9B,WAAW,EACT,UAAU;gBACV,+FAA+F;YACjG,UAAU,EAAE;gBACV,MAAM,EAAE,IAAI,EAAE;gBACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;aACzC;YACD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CACrC,IAAI,CAAC,GAAG,EAAE,CACR,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,CAClE;SACJ,CAAC;QACF,GAAG,CAAC;YACF,IAAI,EAAE,cAAc;YACpB,WAAW,EACT,UAAU;gBACV,uFAAuF;YACzF,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SACtE,CAAC;QACF,GAAG,CAAC;YACF,IAAI,EAAE,gBAAgB;YACtB,WAAW,EACT,UAAU;gBACV,2BAA2B;YAC7B,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YAC9B,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SACxE,CAAC;QACF,GAAG,CAAC;YACF,IAAI,EAAE,cAAc;YACpB,WAAW,EACT,UAAU;gBACV,uDAAuD;YACzD,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;SACtD,CAAC;QACF,GAAG,CAAC;YACF,IAAI,EAAE,aAAa;YACnB,WAAW,EACT,UAAU;gBACV,sEAAsE;YACxE,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;YAChC,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SACxE,CAAC;QACF,GAAG,CAAC;YACF,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EACT,UAAU;gBACV,gIAAgI;YAClI,UAAU,EAAE;gBACV,MAAM,EAAE,IAAI,EAAE;gBACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAClC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC5B;YACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;SACtE,CAAC;QACF,GAAG,CAAC;YACF,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EACT,UAAU;gBACV,4FAA4F;YAC9F,UAAU,EAAE;gBACV,MAAM,EAAE,IAAI,EAAE;gBACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;gBACrC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;aAC9D;YACD,OAAO,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAC1C,IAAI,CAAC,GAAG,EAAE,CACR,MAAM,CAAC,gBAAgB,CAAC;gBACtB,GAAG,IAAI;gBACP,6DAA6D;gBAC7D,6DAA6D;gBAC7D,8DAA8D;gBAC9D,8CAA8C;gBAC9C,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpE,CAAC,CACH;SACJ,CAAC;QACF,GAAG,CAAC;YACF,IAAI,EAAE,uBAAuB;YAC7B,WAAW,EACT,UAAU;gBACV,2EAA2E;YAC7E,UAAU,EAAE;gBACV,MAAM,EAAE,IAAI,EAAE;gBACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;gBACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;aACxB;YACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CACvB,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;SACjD,CAAC;KACH,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-tasks/mcp-server",
3
- "version": "0.2.0",
3
+ "version": "0.3.1",
4
4
  "description": "MCP server exposing the agent-tasks API as tools for MCP-capable clients",
5
5
  "homepage": "https://github.com/LanNguyenSi/agent-tasks/tree/master/mcp-server#readme",
6
6
  "repository": {
@@ -47,7 +47,7 @@
47
47
  "@types/node": "^22.0.0",
48
48
  "tsx": "^4.19.0",
49
49
  "typescript": "^5.6.0",
50
- "vitest": "^2.1.0"
50
+ "vitest": "^3.2.4"
51
51
  },
52
52
  "engines": {
53
53
  "node": ">=22"