@vibescope/mcp-server 0.3.0 → 0.3.3
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/api-client/blockers.d.ts +46 -0
- package/dist/api-client/blockers.js +43 -0
- package/dist/api-client/cost.d.ts +112 -0
- package/dist/api-client/cost.js +76 -0
- package/dist/api-client/decisions.d.ts +55 -0
- package/dist/api-client/decisions.js +32 -0
- package/dist/api-client/discovery.d.ts +62 -0
- package/dist/api-client/discovery.js +21 -0
- package/dist/api-client/ideas.d.ts +75 -0
- package/dist/api-client/ideas.js +36 -0
- package/dist/api-client/index.d.ts +749 -0
- package/dist/api-client/index.js +291 -0
- package/dist/api-client/project.d.ts +132 -0
- package/dist/api-client/project.js +45 -0
- package/dist/api-client/session.d.ts +163 -0
- package/dist/api-client/session.js +52 -0
- package/dist/api-client/tasks.d.ts +328 -0
- package/dist/api-client/tasks.js +132 -0
- package/dist/api-client/types.d.ts +25 -0
- package/dist/api-client/types.js +4 -0
- package/dist/api-client/worktrees.d.ts +33 -0
- package/dist/api-client/worktrees.js +26 -0
- package/dist/api-client.d.ts +9 -0
- package/dist/api-client.js +104 -25
- package/dist/cli-init.d.ts +17 -0
- package/dist/cli-init.js +445 -0
- package/dist/cli.js +0 -0
- package/dist/handlers/cloud-agents.d.ts +21 -0
- package/dist/handlers/cloud-agents.js +91 -0
- package/dist/handlers/discovery.js +7 -0
- package/dist/handlers/index.d.ts +1 -0
- package/dist/handlers/index.js +3 -0
- package/dist/handlers/session.js +3 -1
- package/dist/handlers/tasks.js +10 -12
- package/dist/handlers/types.d.ts +2 -1
- package/dist/handlers/validation.js +5 -1
- package/dist/index.js +8 -3
- package/dist/token-tracking.js +2 -2
- package/dist/tools/blockers.d.ts +13 -0
- package/dist/tools/blockers.js +119 -0
- package/dist/tools/bodies-of-work.d.ts +19 -0
- package/dist/tools/bodies-of-work.js +280 -0
- package/dist/tools/cloud-agents.d.ts +9 -0
- package/dist/tools/cloud-agents.js +67 -0
- package/dist/tools/connectors.d.ts +14 -0
- package/dist/tools/connectors.js +188 -0
- package/dist/tools/cost.d.ts +11 -0
- package/dist/tools/cost.js +108 -0
- package/dist/tools/decisions.d.ts +12 -0
- package/dist/tools/decisions.js +108 -0
- package/dist/tools/deployment.d.ts +24 -0
- package/dist/tools/deployment.js +439 -0
- package/dist/tools/discovery.d.ts +10 -0
- package/dist/tools/discovery.js +73 -0
- package/dist/tools/fallback.d.ts +11 -0
- package/dist/tools/fallback.js +108 -0
- package/dist/tools/file-checkouts.d.ts +13 -0
- package/dist/tools/file-checkouts.js +141 -0
- package/dist/tools/findings.d.ts +13 -0
- package/dist/tools/findings.js +98 -0
- package/dist/tools/git-issues.d.ts +11 -0
- package/dist/tools/git-issues.js +127 -0
- package/dist/tools/ideas.d.ts +13 -0
- package/dist/tools/ideas.js +159 -0
- package/dist/tools/index.d.ts +71 -0
- package/dist/tools/index.js +98 -0
- package/dist/tools/milestones.d.ts +12 -0
- package/dist/tools/milestones.js +115 -0
- package/dist/tools/organizations.d.ts +17 -0
- package/dist/tools/organizations.js +221 -0
- package/dist/tools/progress.d.ts +9 -0
- package/dist/tools/progress.js +70 -0
- package/dist/tools/project.d.ts +13 -0
- package/dist/tools/project.js +199 -0
- package/dist/tools/requests.d.ts +10 -0
- package/dist/tools/requests.js +65 -0
- package/dist/tools/roles.d.ts +11 -0
- package/dist/tools/roles.js +109 -0
- package/dist/tools/session.d.ts +15 -0
- package/dist/tools/session.js +178 -0
- package/dist/tools/sprints.d.ts +18 -0
- package/dist/tools/sprints.js +295 -0
- package/dist/tools/tasks.d.ts +27 -0
- package/dist/tools/tasks.js +539 -0
- package/dist/tools/types.d.ts +7 -0
- package/dist/tools/types.js +6 -0
- package/dist/tools/validation.d.ts +10 -0
- package/dist/tools/validation.js +72 -0
- package/dist/tools/worktrees.d.ts +9 -0
- package/dist/tools/worktrees.js +63 -0
- package/dist/utils.d.ts +66 -0
- package/dist/utils.js +102 -0
- package/docs/TOOLS.md +55 -2
- package/package.json +5 -3
- package/scripts/generate-docs.ts +1 -1
- package/src/api-client/blockers.ts +86 -0
- package/src/api-client/cost.ts +185 -0
- package/src/api-client/decisions.ts +87 -0
- package/src/api-client/discovery.ts +81 -0
- package/src/api-client/ideas.ts +112 -0
- package/src/api-client/index.ts +378 -0
- package/src/api-client/project.ts +179 -0
- package/src/api-client/session.ts +220 -0
- package/src/api-client/tasks.ts +450 -0
- package/src/api-client/types.ts +32 -0
- package/src/api-client/worktrees.ts +53 -0
- package/src/api-client.test.ts +136 -9
- package/src/api-client.ts +125 -27
- package/src/cli-init.ts +504 -0
- package/src/handlers/__test-utils__.ts +2 -0
- package/src/handlers/cloud-agents.ts +138 -0
- package/src/handlers/discovery.ts +7 -0
- package/src/handlers/index.ts +3 -0
- package/src/handlers/session.ts +3 -1
- package/src/handlers/tasks.ts +10 -12
- package/src/handlers/tool-categories.test.ts +1 -1
- package/src/handlers/types.ts +2 -1
- package/src/handlers/validation.ts +6 -1
- package/src/index.test.ts +2 -2
- package/src/index.ts +8 -2
- package/src/token-tracking.ts +3 -2
- package/src/tools/blockers.ts +122 -0
- package/src/tools/bodies-of-work.ts +283 -0
- package/src/tools/cloud-agents.ts +70 -0
- package/src/tools/connectors.ts +191 -0
- package/src/tools/cost.ts +111 -0
- package/src/tools/decisions.ts +111 -0
- package/src/tools/deployment.ts +442 -0
- package/src/tools/discovery.ts +76 -0
- package/src/tools/fallback.ts +111 -0
- package/src/tools/file-checkouts.ts +145 -0
- package/src/tools/findings.ts +101 -0
- package/src/tools/git-issues.ts +130 -0
- package/src/tools/ideas.ts +162 -0
- package/src/tools/index.ts +131 -0
- package/src/tools/milestones.ts +118 -0
- package/src/tools/organizations.ts +224 -0
- package/src/tools/progress.ts +73 -0
- package/src/tools/project.ts +202 -0
- package/src/tools/requests.ts +68 -0
- package/src/tools/roles.ts +112 -0
- package/src/tools/session.ts +181 -0
- package/src/tools/sprints.ts +298 -0
- package/src/tools/tasks.ts +542 -0
- package/src/tools/tools.test.ts +222 -0
- package/src/tools/types.ts +9 -0
- package/src/tools/validation.ts +75 -0
- package/src/tools/worktrees.ts +66 -0
- package/src/tools.test.ts +1 -1
- package/src/utils.test.ts +229 -0
- package/src/utils.ts +117 -0
- package/dist/tools.d.ts +0 -2
- package/dist/tools.js +0 -3602
- package/src/tools.ts +0 -3607
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sprint Tool Definitions
|
|
3
|
+
*
|
|
4
|
+
* Tools for managing sprints with velocity tracking:
|
|
5
|
+
* - create_sprint
|
|
6
|
+
* - update_sprint
|
|
7
|
+
* - get_sprint
|
|
8
|
+
* - get_sprints
|
|
9
|
+
* - delete_sprint
|
|
10
|
+
* - start_sprint
|
|
11
|
+
* - complete_sprint
|
|
12
|
+
* - add_task_to_sprint
|
|
13
|
+
* - remove_task_from_sprint
|
|
14
|
+
* - get_sprint_backlog
|
|
15
|
+
* - get_sprint_velocity
|
|
16
|
+
*/
|
|
17
|
+
export const sprintTools = [
|
|
18
|
+
{
|
|
19
|
+
name: 'create_sprint',
|
|
20
|
+
description: `Create a new sprint. Sprints are time-bounded bodies of work with velocity tracking.
|
|
21
|
+
Sprints start in 'planning' status where tasks can be added with story points.`,
|
|
22
|
+
inputSchema: {
|
|
23
|
+
type: 'object',
|
|
24
|
+
properties: {
|
|
25
|
+
project_id: {
|
|
26
|
+
type: 'string',
|
|
27
|
+
description: 'Project UUID',
|
|
28
|
+
},
|
|
29
|
+
title: {
|
|
30
|
+
type: 'string',
|
|
31
|
+
description: 'Sprint title (e.g., "Sprint 5" or "Q1 Release")',
|
|
32
|
+
},
|
|
33
|
+
goal: {
|
|
34
|
+
type: 'string',
|
|
35
|
+
description: 'Sprint goal statement',
|
|
36
|
+
},
|
|
37
|
+
start_date: {
|
|
38
|
+
type: 'string',
|
|
39
|
+
description: 'Start date (YYYY-MM-DD)',
|
|
40
|
+
},
|
|
41
|
+
end_date: {
|
|
42
|
+
type: 'string',
|
|
43
|
+
description: 'End date (YYYY-MM-DD)',
|
|
44
|
+
},
|
|
45
|
+
auto_deploy_on_completion: {
|
|
46
|
+
type: 'boolean',
|
|
47
|
+
description: 'Automatically request deployment when sprint completes (default: false)',
|
|
48
|
+
},
|
|
49
|
+
deploy_environment: {
|
|
50
|
+
type: 'string',
|
|
51
|
+
enum: ['development', 'staging', 'production'],
|
|
52
|
+
description: 'Target environment for auto-deploy (default: production)',
|
|
53
|
+
},
|
|
54
|
+
deploy_version_bump: {
|
|
55
|
+
type: 'string',
|
|
56
|
+
enum: ['patch', 'minor', 'major'],
|
|
57
|
+
description: 'Version bump for auto-deploy (default: minor)',
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
required: ['project_id', 'title', 'start_date', 'end_date'],
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: 'update_sprint',
|
|
65
|
+
description: `Update a sprint's details. Can update title, goal, dates, and deployment settings.`,
|
|
66
|
+
inputSchema: {
|
|
67
|
+
type: 'object',
|
|
68
|
+
properties: {
|
|
69
|
+
sprint_id: {
|
|
70
|
+
type: 'string',
|
|
71
|
+
description: 'Sprint UUID',
|
|
72
|
+
},
|
|
73
|
+
title: {
|
|
74
|
+
type: 'string',
|
|
75
|
+
description: 'New sprint title',
|
|
76
|
+
},
|
|
77
|
+
goal: {
|
|
78
|
+
type: 'string',
|
|
79
|
+
description: 'New sprint goal',
|
|
80
|
+
},
|
|
81
|
+
start_date: {
|
|
82
|
+
type: 'string',
|
|
83
|
+
description: 'New start date (YYYY-MM-DD)',
|
|
84
|
+
},
|
|
85
|
+
end_date: {
|
|
86
|
+
type: 'string',
|
|
87
|
+
description: 'New end date (YYYY-MM-DD)',
|
|
88
|
+
},
|
|
89
|
+
auto_deploy_on_completion: {
|
|
90
|
+
type: 'boolean',
|
|
91
|
+
description: 'Auto-deploy setting',
|
|
92
|
+
},
|
|
93
|
+
deploy_environment: {
|
|
94
|
+
type: 'string',
|
|
95
|
+
enum: ['development', 'staging', 'production'],
|
|
96
|
+
description: 'Target environment',
|
|
97
|
+
},
|
|
98
|
+
deploy_version_bump: {
|
|
99
|
+
type: 'string',
|
|
100
|
+
enum: ['patch', 'minor', 'major'],
|
|
101
|
+
description: 'Version bump type',
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
required: ['sprint_id'],
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
name: 'get_sprint',
|
|
109
|
+
description: `Get a sprint with all its tasks organized by phase (pre/core/post).
|
|
110
|
+
Includes progress percentage, velocity points, and committed points.
|
|
111
|
+
Use summary_only: true to get task counts and next task instead of full task arrays (saves tokens).`,
|
|
112
|
+
inputSchema: {
|
|
113
|
+
type: 'object',
|
|
114
|
+
properties: {
|
|
115
|
+
sprint_id: {
|
|
116
|
+
type: 'string',
|
|
117
|
+
description: 'Sprint UUID',
|
|
118
|
+
},
|
|
119
|
+
summary_only: {
|
|
120
|
+
type: 'boolean',
|
|
121
|
+
description: 'Return task counts and next task instead of full task arrays (default: false)',
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
required: ['sprint_id'],
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
name: 'get_sprints',
|
|
129
|
+
description: `List sprints for a project with velocity metrics.
|
|
130
|
+
Returns sprints sorted by sprint_number descending (most recent first).`,
|
|
131
|
+
inputSchema: {
|
|
132
|
+
type: 'object',
|
|
133
|
+
properties: {
|
|
134
|
+
project_id: {
|
|
135
|
+
type: 'string',
|
|
136
|
+
description: 'Project UUID',
|
|
137
|
+
},
|
|
138
|
+
status: {
|
|
139
|
+
type: 'string',
|
|
140
|
+
enum: ['planning', 'active', 'in_review', 'retrospective', 'completed', 'cancelled'],
|
|
141
|
+
description: 'Filter by sprint status (optional)',
|
|
142
|
+
},
|
|
143
|
+
limit: {
|
|
144
|
+
type: 'number',
|
|
145
|
+
description: 'Max sprints to return (default: 20, max: 100)',
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
required: ['project_id'],
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
name: 'delete_sprint',
|
|
153
|
+
description: `Delete a sprint. Tasks are preserved but no longer grouped.`,
|
|
154
|
+
inputSchema: {
|
|
155
|
+
type: 'object',
|
|
156
|
+
properties: {
|
|
157
|
+
sprint_id: {
|
|
158
|
+
type: 'string',
|
|
159
|
+
description: 'Sprint UUID',
|
|
160
|
+
},
|
|
161
|
+
},
|
|
162
|
+
required: ['sprint_id'],
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
name: 'start_sprint',
|
|
167
|
+
description: `Start a sprint. Transitions from 'planning' to 'active' status.
|
|
168
|
+
Locks the committed_points at the current total story points.`,
|
|
169
|
+
inputSchema: {
|
|
170
|
+
type: 'object',
|
|
171
|
+
properties: {
|
|
172
|
+
sprint_id: {
|
|
173
|
+
type: 'string',
|
|
174
|
+
description: 'Sprint UUID',
|
|
175
|
+
},
|
|
176
|
+
},
|
|
177
|
+
required: ['sprint_id'],
|
|
178
|
+
},
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
name: 'complete_sprint',
|
|
182
|
+
description: `Complete a sprint. Handles retrospective phase and auto-deployment if configured.
|
|
183
|
+
Status flow: active → in_review → retrospective → completed`,
|
|
184
|
+
inputSchema: {
|
|
185
|
+
type: 'object',
|
|
186
|
+
properties: {
|
|
187
|
+
sprint_id: {
|
|
188
|
+
type: 'string',
|
|
189
|
+
description: 'Sprint UUID',
|
|
190
|
+
},
|
|
191
|
+
retrospective_notes: {
|
|
192
|
+
type: 'string',
|
|
193
|
+
description: 'Sprint retrospective notes',
|
|
194
|
+
},
|
|
195
|
+
skip_retrospective: {
|
|
196
|
+
type: 'boolean',
|
|
197
|
+
description: 'Skip retrospective phase and go directly to completed (default: false)',
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
required: ['sprint_id'],
|
|
201
|
+
},
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
name: 'add_task_to_sprint',
|
|
205
|
+
description: `Add a task to a sprint with optional story points.
|
|
206
|
+
Tasks can be added during 'planning' status. Story points contribute to committed_points.`,
|
|
207
|
+
inputSchema: {
|
|
208
|
+
type: 'object',
|
|
209
|
+
properties: {
|
|
210
|
+
sprint_id: {
|
|
211
|
+
type: 'string',
|
|
212
|
+
description: 'Sprint UUID',
|
|
213
|
+
},
|
|
214
|
+
task_id: {
|
|
215
|
+
type: 'string',
|
|
216
|
+
description: 'Task UUID to add',
|
|
217
|
+
},
|
|
218
|
+
story_points: {
|
|
219
|
+
type: 'number',
|
|
220
|
+
description: 'Story point estimate (optional, must be non-negative integer)',
|
|
221
|
+
},
|
|
222
|
+
phase: {
|
|
223
|
+
type: 'string',
|
|
224
|
+
enum: ['pre', 'core', 'post'],
|
|
225
|
+
description: 'Task phase (default: core)',
|
|
226
|
+
},
|
|
227
|
+
},
|
|
228
|
+
required: ['sprint_id', 'task_id'],
|
|
229
|
+
},
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
name: 'remove_task_from_sprint',
|
|
233
|
+
description: `Remove a task from a sprint. Task is preserved but returns to backlog.`,
|
|
234
|
+
inputSchema: {
|
|
235
|
+
type: 'object',
|
|
236
|
+
properties: {
|
|
237
|
+
sprint_id: {
|
|
238
|
+
type: 'string',
|
|
239
|
+
description: 'Sprint UUID',
|
|
240
|
+
},
|
|
241
|
+
task_id: {
|
|
242
|
+
type: 'string',
|
|
243
|
+
description: 'Task UUID to remove',
|
|
244
|
+
},
|
|
245
|
+
},
|
|
246
|
+
required: ['sprint_id', 'task_id'],
|
|
247
|
+
},
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
name: 'get_sprint_backlog',
|
|
251
|
+
description: `Get tasks from backlog/pending that can be added to a sprint with pagination.
|
|
252
|
+
Returns tasks not already assigned to any body of work or sprint.`,
|
|
253
|
+
inputSchema: {
|
|
254
|
+
type: 'object',
|
|
255
|
+
properties: {
|
|
256
|
+
project_id: {
|
|
257
|
+
type: 'string',
|
|
258
|
+
description: 'Project UUID',
|
|
259
|
+
},
|
|
260
|
+
sprint_id: {
|
|
261
|
+
type: 'string',
|
|
262
|
+
description: 'Sprint UUID to exclude already-added tasks (optional)',
|
|
263
|
+
},
|
|
264
|
+
limit: {
|
|
265
|
+
type: 'number',
|
|
266
|
+
description: 'Max tasks to return (default: 20, max: 50)',
|
|
267
|
+
},
|
|
268
|
+
offset: {
|
|
269
|
+
type: 'number',
|
|
270
|
+
description: 'Number of tasks to skip (default: 0)',
|
|
271
|
+
},
|
|
272
|
+
},
|
|
273
|
+
required: ['project_id'],
|
|
274
|
+
},
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
name: 'get_sprint_velocity',
|
|
278
|
+
description: `Get velocity metrics for completed sprints.
|
|
279
|
+
Returns committed vs completed points and average velocity.`,
|
|
280
|
+
inputSchema: {
|
|
281
|
+
type: 'object',
|
|
282
|
+
properties: {
|
|
283
|
+
project_id: {
|
|
284
|
+
type: 'string',
|
|
285
|
+
description: 'Project UUID',
|
|
286
|
+
},
|
|
287
|
+
limit: {
|
|
288
|
+
type: 'number',
|
|
289
|
+
description: 'Number of sprints to analyze (default: 10, max: 50)',
|
|
290
|
+
},
|
|
291
|
+
},
|
|
292
|
+
required: ['project_id'],
|
|
293
|
+
},
|
|
294
|
+
},
|
|
295
|
+
];
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task Tool Definitions
|
|
3
|
+
*
|
|
4
|
+
* Tools for task CRUD and management:
|
|
5
|
+
* - get_task
|
|
6
|
+
* - search_tasks
|
|
7
|
+
* - get_tasks_by_priority
|
|
8
|
+
* - get_recent_tasks
|
|
9
|
+
* - get_task_stats
|
|
10
|
+
* - get_next_task
|
|
11
|
+
* - add_task
|
|
12
|
+
* - update_task
|
|
13
|
+
* - complete_task
|
|
14
|
+
* - delete_task
|
|
15
|
+
* - cancel_task
|
|
16
|
+
* - release_task
|
|
17
|
+
* - add_task_reference
|
|
18
|
+
* - remove_task_reference
|
|
19
|
+
* - batch_update_tasks
|
|
20
|
+
* - batch_complete_tasks
|
|
21
|
+
* - add_subtask
|
|
22
|
+
* - get_subtasks
|
|
23
|
+
* - get_stale_worktrees
|
|
24
|
+
* - clear_worktree_path
|
|
25
|
+
*/
|
|
26
|
+
import type { Tool } from './types.js';
|
|
27
|
+
export declare const taskTools: Tool[];
|