@vibescope/mcp-server 0.5.0 → 0.5.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/CHANGELOG.md +84 -84
- package/README.md +194 -194
- package/dist/api-client/tasks.d.ts +1 -0
- package/dist/cli-init.js +21 -21
- package/dist/cli.js +26 -26
- package/dist/handlers/tasks.js +7 -1
- package/dist/handlers/tool-docs.js +1216 -1216
- package/dist/index.js +73 -73
- package/dist/templates/agent-guidelines.d.ts +1 -1
- package/dist/templates/agent-guidelines.js +205 -205
- package/dist/templates/help-content.js +1621 -1621
- package/dist/tools/bodies-of-work.js +6 -6
- package/dist/tools/cloud-agents.js +22 -22
- package/dist/tools/milestones.js +2 -2
- package/dist/tools/requests.js +1 -1
- package/dist/tools/session.js +11 -11
- package/dist/tools/sprints.js +9 -9
- package/dist/tools/tasks.js +43 -35
- package/dist/tools/worktrees.js +14 -14
- package/dist/utils.js +11 -11
- package/docs/TOOLS.md +2687 -2685
- package/package.json +53 -53
- package/scripts/generate-docs.ts +212 -212
- package/scripts/version-bump.ts +203 -203
- package/src/api-client/blockers.ts +86 -86
- package/src/api-client/bodies-of-work.ts +194 -194
- package/src/api-client/chat.ts +50 -50
- package/src/api-client/connectors.ts +152 -152
- package/src/api-client/cost.ts +185 -185
- package/src/api-client/decisions.ts +87 -87
- package/src/api-client/deployment.ts +313 -313
- package/src/api-client/discovery.ts +81 -81
- package/src/api-client/fallback.ts +52 -52
- package/src/api-client/file-checkouts.ts +115 -115
- package/src/api-client/findings.ts +100 -100
- package/src/api-client/git-issues.ts +88 -88
- package/src/api-client/ideas.ts +112 -112
- package/src/api-client/index.ts +592 -592
- package/src/api-client/milestones.ts +83 -83
- package/src/api-client/organizations.ts +185 -185
- package/src/api-client/progress.ts +94 -94
- package/src/api-client/project.ts +181 -181
- package/src/api-client/requests.ts +54 -54
- package/src/api-client/session.ts +220 -220
- package/src/api-client/sprints.ts +227 -227
- package/src/api-client/subtasks.ts +57 -57
- package/src/api-client/tasks.ts +451 -450
- package/src/api-client/types.ts +32 -32
- package/src/api-client/validation.ts +60 -60
- package/src/api-client/worktrees.ts +53 -53
- package/src/api-client.test.ts +847 -847
- package/src/api-client.ts +2728 -2728
- package/src/cli-init.ts +558 -558
- package/src/cli.test.ts +284 -284
- package/src/cli.ts +204 -204
- package/src/handlers/__test-setup__.ts +240 -240
- package/src/handlers/__test-utils__.ts +89 -89
- package/src/handlers/blockers.test.ts +468 -468
- package/src/handlers/blockers.ts +172 -172
- package/src/handlers/bodies-of-work.test.ts +704 -704
- package/src/handlers/bodies-of-work.ts +526 -526
- package/src/handlers/chat.test.ts +185 -185
- package/src/handlers/chat.ts +101 -101
- package/src/handlers/cloud-agents.test.ts +438 -438
- package/src/handlers/cloud-agents.ts +156 -156
- package/src/handlers/connectors.test.ts +834 -834
- package/src/handlers/connectors.ts +229 -229
- package/src/handlers/cost.test.ts +462 -462
- package/src/handlers/cost.ts +285 -285
- package/src/handlers/decisions.test.ts +382 -382
- package/src/handlers/decisions.ts +153 -153
- package/src/handlers/deployment.test.ts +551 -551
- package/src/handlers/deployment.ts +570 -570
- package/src/handlers/discovery.test.ts +206 -206
- package/src/handlers/discovery.ts +433 -433
- package/src/handlers/fallback.test.ts +537 -537
- package/src/handlers/fallback.ts +194 -194
- package/src/handlers/file-checkouts.test.ts +750 -750
- package/src/handlers/file-checkouts.ts +185 -185
- package/src/handlers/findings.test.ts +633 -633
- package/src/handlers/findings.ts +239 -239
- package/src/handlers/git-issues.test.ts +631 -631
- package/src/handlers/git-issues.ts +136 -136
- package/src/handlers/ideas.test.ts +644 -644
- package/src/handlers/ideas.ts +207 -207
- package/src/handlers/index.ts +93 -93
- package/src/handlers/milestones.test.ts +475 -475
- package/src/handlers/milestones.ts +180 -180
- package/src/handlers/organizations.test.ts +826 -826
- package/src/handlers/organizations.ts +315 -315
- package/src/handlers/progress.test.ts +269 -269
- package/src/handlers/progress.ts +77 -77
- package/src/handlers/project.test.ts +546 -546
- package/src/handlers/project.ts +245 -245
- package/src/handlers/requests.test.ts +303 -303
- package/src/handlers/requests.ts +99 -99
- package/src/handlers/roles.test.ts +305 -305
- package/src/handlers/roles.ts +219 -219
- package/src/handlers/session.test.ts +998 -998
- package/src/handlers/session.ts +1105 -1105
- package/src/handlers/sprints.test.ts +732 -732
- package/src/handlers/sprints.ts +537 -537
- package/src/handlers/tasks.test.ts +931 -931
- package/src/handlers/tasks.ts +1144 -1137
- package/src/handlers/tool-categories.test.ts +66 -66
- package/src/handlers/tool-docs.test.ts +511 -511
- package/src/handlers/tool-docs.ts +1595 -1595
- package/src/handlers/types.test.ts +259 -259
- package/src/handlers/types.ts +176 -176
- package/src/handlers/validation.test.ts +582 -582
- package/src/handlers/validation.ts +164 -164
- package/src/handlers/version.ts +63 -63
- package/src/index.test.ts +674 -674
- package/src/index.ts +884 -884
- package/src/setup.test.ts +243 -243
- package/src/setup.ts +410 -410
- package/src/templates/agent-guidelines.ts +233 -233
- package/src/templates/help-content.ts +1751 -1751
- package/src/token-tracking.test.ts +463 -463
- package/src/token-tracking.ts +167 -167
- package/src/tools/blockers.ts +122 -122
- package/src/tools/bodies-of-work.ts +283 -283
- package/src/tools/chat.ts +72 -72
- package/src/tools/cloud-agents.ts +101 -101
- package/src/tools/connectors.ts +191 -191
- package/src/tools/cost.ts +111 -111
- package/src/tools/decisions.ts +111 -111
- package/src/tools/deployment.ts +455 -455
- package/src/tools/discovery.ts +76 -76
- package/src/tools/fallback.ts +111 -111
- package/src/tools/features.ts +154 -154
- package/src/tools/file-checkouts.ts +145 -145
- package/src/tools/findings.ts +101 -101
- package/src/tools/git-issues.ts +130 -130
- package/src/tools/ideas.ts +162 -162
- package/src/tools/index.ts +145 -145
- package/src/tools/milestones.ts +118 -118
- package/src/tools/organizations.ts +224 -224
- package/src/tools/persona-templates.ts +25 -25
- package/src/tools/progress.ts +73 -73
- package/src/tools/project.ts +210 -210
- package/src/tools/requests.ts +68 -68
- package/src/tools/roles.ts +112 -112
- package/src/tools/session.ts +181 -181
- package/src/tools/sprints.ts +298 -298
- package/src/tools/tasks.ts +583 -575
- package/src/tools/tools.test.ts +222 -222
- package/src/tools/types.ts +9 -9
- package/src/tools/validation.ts +75 -75
- package/src/tools/version.ts +34 -34
- package/src/tools/worktrees.ts +66 -66
- package/src/tools.test.ts +416 -416
- package/src/utils.test.ts +1014 -1014
- package/src/utils.ts +586 -586
- package/src/validators.test.ts +223 -223
- package/src/validators.ts +249 -249
- package/src/version.ts +162 -162
- package/tsconfig.json +16 -16
- package/vitest.config.ts +14 -14
- package/dist/tools.d.ts +0 -2
- package/dist/tools.js +0 -3602
package/src/tools/index.ts
CHANGED
|
@@ -1,145 +1,145 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MCP Tool Definitions
|
|
3
|
-
*
|
|
4
|
-
* This module exports all tool definitions organized by domain.
|
|
5
|
-
* Each domain file exports an array of Tool objects.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import type { Tool } from './types.js';
|
|
9
|
-
export type { Tool };
|
|
10
|
-
|
|
11
|
-
// Domain-specific tool imports
|
|
12
|
-
import { sessionTools } from './session.js';
|
|
13
|
-
import { costTools } from './cost.js';
|
|
14
|
-
import { discoveryTools } from './discovery.js';
|
|
15
|
-
import { worktreeTools } from './worktrees.js';
|
|
16
|
-
import { projectTools } from './project.js';
|
|
17
|
-
import { taskTools } from './tasks.js';
|
|
18
|
-
import { progressTools } from './progress.js';
|
|
19
|
-
import { blockerTools } from './blockers.js';
|
|
20
|
-
import { decisionTools } from './decisions.js';
|
|
21
|
-
import { ideaTools } from './ideas.js';
|
|
22
|
-
import { findingTools } from './findings.js';
|
|
23
|
-
import { validationTools } from './validation.js';
|
|
24
|
-
import { deploymentTools } from './deployment.js';
|
|
25
|
-
import { fallbackTools } from './fallback.js';
|
|
26
|
-
import { requestTools } from './requests.js';
|
|
27
|
-
import { milestoneTools } from './milestones.js';
|
|
28
|
-
import { bodiesOfWorkTools } from './bodies-of-work.js';
|
|
29
|
-
import { organizationTools } from './organizations.js';
|
|
30
|
-
import { fileCheckoutTools } from './file-checkouts.js';
|
|
31
|
-
import { roleTools } from './roles.js';
|
|
32
|
-
import { sprintTools } from './sprints.js';
|
|
33
|
-
import { gitIssueTools } from './git-issues.js';
|
|
34
|
-
import { connectorTools } from './connectors.js';
|
|
35
|
-
import { cloudAgentTools } from './cloud-agents.js';
|
|
36
|
-
import { versionTools } from './version.js';
|
|
37
|
-
import { chatTools } from './chat.js';
|
|
38
|
-
import { featureTools } from './features.js';
|
|
39
|
-
import { personaTemplateTools } from './persona-templates.js';
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* All MCP tool definitions combined
|
|
43
|
-
*/
|
|
44
|
-
export const tools: Tool[] = [
|
|
45
|
-
...sessionTools,
|
|
46
|
-
...costTools,
|
|
47
|
-
...discoveryTools,
|
|
48
|
-
...worktreeTools,
|
|
49
|
-
...projectTools,
|
|
50
|
-
...taskTools,
|
|
51
|
-
...progressTools,
|
|
52
|
-
...blockerTools,
|
|
53
|
-
...decisionTools,
|
|
54
|
-
...ideaTools,
|
|
55
|
-
...findingTools,
|
|
56
|
-
...validationTools,
|
|
57
|
-
...deploymentTools,
|
|
58
|
-
...fallbackTools,
|
|
59
|
-
...requestTools,
|
|
60
|
-
...milestoneTools,
|
|
61
|
-
...bodiesOfWorkTools,
|
|
62
|
-
...organizationTools,
|
|
63
|
-
...fileCheckoutTools,
|
|
64
|
-
...roleTools,
|
|
65
|
-
...sprintTools,
|
|
66
|
-
...gitIssueTools,
|
|
67
|
-
...connectorTools,
|
|
68
|
-
...cloudAgentTools,
|
|
69
|
-
...versionTools,
|
|
70
|
-
...chatTools,
|
|
71
|
-
...featureTools,
|
|
72
|
-
...personaTemplateTools,
|
|
73
|
-
];
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Build the complete tool list from all domain modules
|
|
77
|
-
* (Backward compatible function - use `tools` export directly)
|
|
78
|
-
*/
|
|
79
|
-
export function buildToolList(): Tool[] {
|
|
80
|
-
return tools;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Get tool names by domain for categorization
|
|
85
|
-
*/
|
|
86
|
-
export const toolCategories = {
|
|
87
|
-
session: sessionTools.map((t) => t.name),
|
|
88
|
-
cost: costTools.map((t) => t.name),
|
|
89
|
-
discovery: discoveryTools.map((t) => t.name),
|
|
90
|
-
worktrees: worktreeTools.map((t) => t.name),
|
|
91
|
-
project: projectTools.map((t) => t.name),
|
|
92
|
-
tasks: taskTools.map((t) => t.name),
|
|
93
|
-
progress: progressTools.map((t) => t.name),
|
|
94
|
-
blockers: blockerTools.map((t) => t.name),
|
|
95
|
-
decisions: decisionTools.map((t) => t.name),
|
|
96
|
-
ideas: ideaTools.map((t) => t.name),
|
|
97
|
-
findings: findingTools.map((t) => t.name),
|
|
98
|
-
validation: validationTools.map((t) => t.name),
|
|
99
|
-
deployment: deploymentTools.map((t) => t.name),
|
|
100
|
-
fallback: fallbackTools.map((t) => t.name),
|
|
101
|
-
requests: requestTools.map((t) => t.name),
|
|
102
|
-
milestones: milestoneTools.map((t) => t.name),
|
|
103
|
-
bodiesOfWork: bodiesOfWorkTools.map((t) => t.name),
|
|
104
|
-
organizations: organizationTools.map((t) => t.name),
|
|
105
|
-
fileCheckouts: fileCheckoutTools.map((t) => t.name),
|
|
106
|
-
roles: roleTools.map((t) => t.name),
|
|
107
|
-
sprints: sprintTools.map((t) => t.name),
|
|
108
|
-
gitIssues: gitIssueTools.map((t) => t.name),
|
|
109
|
-
connectors: connectorTools.map((t) => t.name),
|
|
110
|
-
cloudAgents: cloudAgentTools.map((t) => t.name),
|
|
111
|
-
version: versionTools.map((t) => t.name),
|
|
112
|
-
features: featureTools.map((t) => t.name),
|
|
113
|
-
personaTemplates: personaTemplateTools.map((t) => t.name),
|
|
114
|
-
} as const;
|
|
115
|
-
|
|
116
|
-
// Re-export domain tools for selective imports
|
|
117
|
-
export {
|
|
118
|
-
sessionTools,
|
|
119
|
-
costTools,
|
|
120
|
-
discoveryTools,
|
|
121
|
-
worktreeTools,
|
|
122
|
-
projectTools,
|
|
123
|
-
taskTools,
|
|
124
|
-
progressTools,
|
|
125
|
-
blockerTools,
|
|
126
|
-
decisionTools,
|
|
127
|
-
ideaTools,
|
|
128
|
-
findingTools,
|
|
129
|
-
validationTools,
|
|
130
|
-
deploymentTools,
|
|
131
|
-
fallbackTools,
|
|
132
|
-
requestTools,
|
|
133
|
-
milestoneTools,
|
|
134
|
-
bodiesOfWorkTools,
|
|
135
|
-
organizationTools,
|
|
136
|
-
fileCheckoutTools,
|
|
137
|
-
roleTools,
|
|
138
|
-
sprintTools,
|
|
139
|
-
gitIssueTools,
|
|
140
|
-
connectorTools,
|
|
141
|
-
cloudAgentTools,
|
|
142
|
-
versionTools,
|
|
143
|
-
featureTools,
|
|
144
|
-
personaTemplateTools,
|
|
145
|
-
};
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool Definitions
|
|
3
|
+
*
|
|
4
|
+
* This module exports all tool definitions organized by domain.
|
|
5
|
+
* Each domain file exports an array of Tool objects.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import type { Tool } from './types.js';
|
|
9
|
+
export type { Tool };
|
|
10
|
+
|
|
11
|
+
// Domain-specific tool imports
|
|
12
|
+
import { sessionTools } from './session.js';
|
|
13
|
+
import { costTools } from './cost.js';
|
|
14
|
+
import { discoveryTools } from './discovery.js';
|
|
15
|
+
import { worktreeTools } from './worktrees.js';
|
|
16
|
+
import { projectTools } from './project.js';
|
|
17
|
+
import { taskTools } from './tasks.js';
|
|
18
|
+
import { progressTools } from './progress.js';
|
|
19
|
+
import { blockerTools } from './blockers.js';
|
|
20
|
+
import { decisionTools } from './decisions.js';
|
|
21
|
+
import { ideaTools } from './ideas.js';
|
|
22
|
+
import { findingTools } from './findings.js';
|
|
23
|
+
import { validationTools } from './validation.js';
|
|
24
|
+
import { deploymentTools } from './deployment.js';
|
|
25
|
+
import { fallbackTools } from './fallback.js';
|
|
26
|
+
import { requestTools } from './requests.js';
|
|
27
|
+
import { milestoneTools } from './milestones.js';
|
|
28
|
+
import { bodiesOfWorkTools } from './bodies-of-work.js';
|
|
29
|
+
import { organizationTools } from './organizations.js';
|
|
30
|
+
import { fileCheckoutTools } from './file-checkouts.js';
|
|
31
|
+
import { roleTools } from './roles.js';
|
|
32
|
+
import { sprintTools } from './sprints.js';
|
|
33
|
+
import { gitIssueTools } from './git-issues.js';
|
|
34
|
+
import { connectorTools } from './connectors.js';
|
|
35
|
+
import { cloudAgentTools } from './cloud-agents.js';
|
|
36
|
+
import { versionTools } from './version.js';
|
|
37
|
+
import { chatTools } from './chat.js';
|
|
38
|
+
import { featureTools } from './features.js';
|
|
39
|
+
import { personaTemplateTools } from './persona-templates.js';
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* All MCP tool definitions combined
|
|
43
|
+
*/
|
|
44
|
+
export const tools: Tool[] = [
|
|
45
|
+
...sessionTools,
|
|
46
|
+
...costTools,
|
|
47
|
+
...discoveryTools,
|
|
48
|
+
...worktreeTools,
|
|
49
|
+
...projectTools,
|
|
50
|
+
...taskTools,
|
|
51
|
+
...progressTools,
|
|
52
|
+
...blockerTools,
|
|
53
|
+
...decisionTools,
|
|
54
|
+
...ideaTools,
|
|
55
|
+
...findingTools,
|
|
56
|
+
...validationTools,
|
|
57
|
+
...deploymentTools,
|
|
58
|
+
...fallbackTools,
|
|
59
|
+
...requestTools,
|
|
60
|
+
...milestoneTools,
|
|
61
|
+
...bodiesOfWorkTools,
|
|
62
|
+
...organizationTools,
|
|
63
|
+
...fileCheckoutTools,
|
|
64
|
+
...roleTools,
|
|
65
|
+
...sprintTools,
|
|
66
|
+
...gitIssueTools,
|
|
67
|
+
...connectorTools,
|
|
68
|
+
...cloudAgentTools,
|
|
69
|
+
...versionTools,
|
|
70
|
+
...chatTools,
|
|
71
|
+
...featureTools,
|
|
72
|
+
...personaTemplateTools,
|
|
73
|
+
];
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Build the complete tool list from all domain modules
|
|
77
|
+
* (Backward compatible function - use `tools` export directly)
|
|
78
|
+
*/
|
|
79
|
+
export function buildToolList(): Tool[] {
|
|
80
|
+
return tools;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Get tool names by domain for categorization
|
|
85
|
+
*/
|
|
86
|
+
export const toolCategories = {
|
|
87
|
+
session: sessionTools.map((t) => t.name),
|
|
88
|
+
cost: costTools.map((t) => t.name),
|
|
89
|
+
discovery: discoveryTools.map((t) => t.name),
|
|
90
|
+
worktrees: worktreeTools.map((t) => t.name),
|
|
91
|
+
project: projectTools.map((t) => t.name),
|
|
92
|
+
tasks: taskTools.map((t) => t.name),
|
|
93
|
+
progress: progressTools.map((t) => t.name),
|
|
94
|
+
blockers: blockerTools.map((t) => t.name),
|
|
95
|
+
decisions: decisionTools.map((t) => t.name),
|
|
96
|
+
ideas: ideaTools.map((t) => t.name),
|
|
97
|
+
findings: findingTools.map((t) => t.name),
|
|
98
|
+
validation: validationTools.map((t) => t.name),
|
|
99
|
+
deployment: deploymentTools.map((t) => t.name),
|
|
100
|
+
fallback: fallbackTools.map((t) => t.name),
|
|
101
|
+
requests: requestTools.map((t) => t.name),
|
|
102
|
+
milestones: milestoneTools.map((t) => t.name),
|
|
103
|
+
bodiesOfWork: bodiesOfWorkTools.map((t) => t.name),
|
|
104
|
+
organizations: organizationTools.map((t) => t.name),
|
|
105
|
+
fileCheckouts: fileCheckoutTools.map((t) => t.name),
|
|
106
|
+
roles: roleTools.map((t) => t.name),
|
|
107
|
+
sprints: sprintTools.map((t) => t.name),
|
|
108
|
+
gitIssues: gitIssueTools.map((t) => t.name),
|
|
109
|
+
connectors: connectorTools.map((t) => t.name),
|
|
110
|
+
cloudAgents: cloudAgentTools.map((t) => t.name),
|
|
111
|
+
version: versionTools.map((t) => t.name),
|
|
112
|
+
features: featureTools.map((t) => t.name),
|
|
113
|
+
personaTemplates: personaTemplateTools.map((t) => t.name),
|
|
114
|
+
} as const;
|
|
115
|
+
|
|
116
|
+
// Re-export domain tools for selective imports
|
|
117
|
+
export {
|
|
118
|
+
sessionTools,
|
|
119
|
+
costTools,
|
|
120
|
+
discoveryTools,
|
|
121
|
+
worktreeTools,
|
|
122
|
+
projectTools,
|
|
123
|
+
taskTools,
|
|
124
|
+
progressTools,
|
|
125
|
+
blockerTools,
|
|
126
|
+
decisionTools,
|
|
127
|
+
ideaTools,
|
|
128
|
+
findingTools,
|
|
129
|
+
validationTools,
|
|
130
|
+
deploymentTools,
|
|
131
|
+
fallbackTools,
|
|
132
|
+
requestTools,
|
|
133
|
+
milestoneTools,
|
|
134
|
+
bodiesOfWorkTools,
|
|
135
|
+
organizationTools,
|
|
136
|
+
fileCheckoutTools,
|
|
137
|
+
roleTools,
|
|
138
|
+
sprintTools,
|
|
139
|
+
gitIssueTools,
|
|
140
|
+
connectorTools,
|
|
141
|
+
cloudAgentTools,
|
|
142
|
+
versionTools,
|
|
143
|
+
featureTools,
|
|
144
|
+
personaTemplateTools,
|
|
145
|
+
};
|
package/src/tools/milestones.ts
CHANGED
|
@@ -1,118 +1,118 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Milestone Tool Definitions
|
|
3
|
-
*
|
|
4
|
-
* Tools for managing task milestones:
|
|
5
|
-
* - add_milestone
|
|
6
|
-
* - update_milestone
|
|
7
|
-
* - complete_milestone
|
|
8
|
-
* - delete_milestone
|
|
9
|
-
* - get_milestones
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
import type { Tool } from './types.js';
|
|
13
|
-
|
|
14
|
-
export const milestoneTools: Tool[] = [
|
|
15
|
-
{
|
|
16
|
-
name: 'add_milestone',
|
|
17
|
-
description: `Add a milestone to a task.
|
|
18
|
-
Milestones help break down large tasks into smaller trackable steps.
|
|
19
|
-
Use this to show progress on complex tasks and help gauge completion.`,
|
|
20
|
-
inputSchema: {
|
|
21
|
-
type: 'object',
|
|
22
|
-
properties: {
|
|
23
|
-
task_id: {
|
|
24
|
-
type: 'string',
|
|
25
|
-
description: 'Task UUID to add milestone to',
|
|
26
|
-
},
|
|
27
|
-
title: {
|
|
28
|
-
type: 'string',
|
|
29
|
-
description: 'Milestone title (brief description of what needs to be done)',
|
|
30
|
-
},
|
|
31
|
-
description: {
|
|
32
|
-
type: 'string',
|
|
33
|
-
description: 'Optional detailed description',
|
|
34
|
-
},
|
|
35
|
-
order_index: {
|
|
36
|
-
type: 'number',
|
|
37
|
-
minimum: 0,
|
|
38
|
-
description: 'Order of this milestone (0-based, defaults to end of list)',
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
required: ['task_id', 'title'],
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
name: 'update_milestone',
|
|
46
|
-
description: `Update a milestone's title, description, status, or order.`,
|
|
47
|
-
inputSchema: {
|
|
48
|
-
type: 'object',
|
|
49
|
-
properties: {
|
|
50
|
-
milestone_id: {
|
|
51
|
-
type: 'string',
|
|
52
|
-
description: 'Milestone UUID',
|
|
53
|
-
},
|
|
54
|
-
title: {
|
|
55
|
-
type: 'string',
|
|
56
|
-
description: 'Updated title',
|
|
57
|
-
},
|
|
58
|
-
description: {
|
|
59
|
-
type: 'string',
|
|
60
|
-
description: 'Updated description',
|
|
61
|
-
},
|
|
62
|
-
status: {
|
|
63
|
-
type: 'string',
|
|
64
|
-
enum: ['pending', 'in_progress', 'completed'],
|
|
65
|
-
description: 'Milestone status',
|
|
66
|
-
},
|
|
67
|
-
order_index: {
|
|
68
|
-
type: 'number',
|
|
69
|
-
minimum: 0,
|
|
70
|
-
description: 'Updated order',
|
|
71
|
-
},
|
|
72
|
-
},
|
|
73
|
-
required: ['milestone_id'],
|
|
74
|
-
},
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
name: 'complete_milestone',
|
|
78
|
-
description: `Mark a milestone as completed. This is a convenience wrapper for update_milestone with status=completed.`,
|
|
79
|
-
inputSchema: {
|
|
80
|
-
type: 'object',
|
|
81
|
-
properties: {
|
|
82
|
-
milestone_id: {
|
|
83
|
-
type: 'string',
|
|
84
|
-
description: 'Milestone UUID',
|
|
85
|
-
},
|
|
86
|
-
},
|
|
87
|
-
required: ['milestone_id'],
|
|
88
|
-
},
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
name: 'delete_milestone',
|
|
92
|
-
description: `Delete a milestone from a task.`,
|
|
93
|
-
inputSchema: {
|
|
94
|
-
type: 'object',
|
|
95
|
-
properties: {
|
|
96
|
-
milestone_id: {
|
|
97
|
-
type: 'string',
|
|
98
|
-
description: 'Milestone UUID',
|
|
99
|
-
},
|
|
100
|
-
},
|
|
101
|
-
required: ['milestone_id'],
|
|
102
|
-
},
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
name: 'get_milestones',
|
|
106
|
-
description: `Get all milestones for a task, ordered by order_index.`,
|
|
107
|
-
inputSchema: {
|
|
108
|
-
type: 'object',
|
|
109
|
-
properties: {
|
|
110
|
-
task_id: {
|
|
111
|
-
type: 'string',
|
|
112
|
-
description: 'Task UUID',
|
|
113
|
-
},
|
|
114
|
-
},
|
|
115
|
-
required: ['task_id'],
|
|
116
|
-
},
|
|
117
|
-
},
|
|
118
|
-
];
|
|
1
|
+
/**
|
|
2
|
+
* Milestone Tool Definitions
|
|
3
|
+
*
|
|
4
|
+
* Tools for managing task milestones:
|
|
5
|
+
* - add_milestone
|
|
6
|
+
* - update_milestone
|
|
7
|
+
* - complete_milestone
|
|
8
|
+
* - delete_milestone
|
|
9
|
+
* - get_milestones
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import type { Tool } from './types.js';
|
|
13
|
+
|
|
14
|
+
export const milestoneTools: Tool[] = [
|
|
15
|
+
{
|
|
16
|
+
name: 'add_milestone',
|
|
17
|
+
description: `Add a milestone to a task.
|
|
18
|
+
Milestones help break down large tasks into smaller trackable steps.
|
|
19
|
+
Use this to show progress on complex tasks and help gauge completion.`,
|
|
20
|
+
inputSchema: {
|
|
21
|
+
type: 'object',
|
|
22
|
+
properties: {
|
|
23
|
+
task_id: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
description: 'Task UUID to add milestone to',
|
|
26
|
+
},
|
|
27
|
+
title: {
|
|
28
|
+
type: 'string',
|
|
29
|
+
description: 'Milestone title (brief description of what needs to be done)',
|
|
30
|
+
},
|
|
31
|
+
description: {
|
|
32
|
+
type: 'string',
|
|
33
|
+
description: 'Optional detailed description',
|
|
34
|
+
},
|
|
35
|
+
order_index: {
|
|
36
|
+
type: 'number',
|
|
37
|
+
minimum: 0,
|
|
38
|
+
description: 'Order of this milestone (0-based, defaults to end of list)',
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
required: ['task_id', 'title'],
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'update_milestone',
|
|
46
|
+
description: `Update a milestone's title, description, status, or order.`,
|
|
47
|
+
inputSchema: {
|
|
48
|
+
type: 'object',
|
|
49
|
+
properties: {
|
|
50
|
+
milestone_id: {
|
|
51
|
+
type: 'string',
|
|
52
|
+
description: 'Milestone UUID',
|
|
53
|
+
},
|
|
54
|
+
title: {
|
|
55
|
+
type: 'string',
|
|
56
|
+
description: 'Updated title',
|
|
57
|
+
},
|
|
58
|
+
description: {
|
|
59
|
+
type: 'string',
|
|
60
|
+
description: 'Updated description',
|
|
61
|
+
},
|
|
62
|
+
status: {
|
|
63
|
+
type: 'string',
|
|
64
|
+
enum: ['pending', 'in_progress', 'completed'],
|
|
65
|
+
description: 'Milestone status',
|
|
66
|
+
},
|
|
67
|
+
order_index: {
|
|
68
|
+
type: 'number',
|
|
69
|
+
minimum: 0,
|
|
70
|
+
description: 'Updated order',
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
required: ['milestone_id'],
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
name: 'complete_milestone',
|
|
78
|
+
description: `Mark a milestone as completed. This is a convenience wrapper for update_milestone with status=completed.`,
|
|
79
|
+
inputSchema: {
|
|
80
|
+
type: 'object',
|
|
81
|
+
properties: {
|
|
82
|
+
milestone_id: {
|
|
83
|
+
type: 'string',
|
|
84
|
+
description: 'Milestone UUID',
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
required: ['milestone_id'],
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
name: 'delete_milestone',
|
|
92
|
+
description: `Delete a milestone from a task.`,
|
|
93
|
+
inputSchema: {
|
|
94
|
+
type: 'object',
|
|
95
|
+
properties: {
|
|
96
|
+
milestone_id: {
|
|
97
|
+
type: 'string',
|
|
98
|
+
description: 'Milestone UUID',
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
required: ['milestone_id'],
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
name: 'get_milestones',
|
|
106
|
+
description: `Get all milestones for a task, ordered by order_index.`,
|
|
107
|
+
inputSchema: {
|
|
108
|
+
type: 'object',
|
|
109
|
+
properties: {
|
|
110
|
+
task_id: {
|
|
111
|
+
type: 'string',
|
|
112
|
+
description: 'Task UUID',
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
required: ['task_id'],
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
];
|