@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.
Files changed (154) hide show
  1. package/dist/api-client/blockers.d.ts +46 -0
  2. package/dist/api-client/blockers.js +43 -0
  3. package/dist/api-client/cost.d.ts +112 -0
  4. package/dist/api-client/cost.js +76 -0
  5. package/dist/api-client/decisions.d.ts +55 -0
  6. package/dist/api-client/decisions.js +32 -0
  7. package/dist/api-client/discovery.d.ts +62 -0
  8. package/dist/api-client/discovery.js +21 -0
  9. package/dist/api-client/ideas.d.ts +75 -0
  10. package/dist/api-client/ideas.js +36 -0
  11. package/dist/api-client/index.d.ts +749 -0
  12. package/dist/api-client/index.js +291 -0
  13. package/dist/api-client/project.d.ts +132 -0
  14. package/dist/api-client/project.js +45 -0
  15. package/dist/api-client/session.d.ts +163 -0
  16. package/dist/api-client/session.js +52 -0
  17. package/dist/api-client/tasks.d.ts +328 -0
  18. package/dist/api-client/tasks.js +132 -0
  19. package/dist/api-client/types.d.ts +25 -0
  20. package/dist/api-client/types.js +4 -0
  21. package/dist/api-client/worktrees.d.ts +33 -0
  22. package/dist/api-client/worktrees.js +26 -0
  23. package/dist/api-client.d.ts +9 -0
  24. package/dist/api-client.js +104 -25
  25. package/dist/cli-init.d.ts +17 -0
  26. package/dist/cli-init.js +445 -0
  27. package/dist/cli.js +0 -0
  28. package/dist/handlers/cloud-agents.d.ts +21 -0
  29. package/dist/handlers/cloud-agents.js +91 -0
  30. package/dist/handlers/discovery.js +7 -0
  31. package/dist/handlers/index.d.ts +1 -0
  32. package/dist/handlers/index.js +3 -0
  33. package/dist/handlers/session.js +3 -1
  34. package/dist/handlers/tasks.js +10 -12
  35. package/dist/handlers/types.d.ts +2 -1
  36. package/dist/handlers/validation.js +5 -1
  37. package/dist/index.js +8 -3
  38. package/dist/token-tracking.js +2 -2
  39. package/dist/tools/blockers.d.ts +13 -0
  40. package/dist/tools/blockers.js +119 -0
  41. package/dist/tools/bodies-of-work.d.ts +19 -0
  42. package/dist/tools/bodies-of-work.js +280 -0
  43. package/dist/tools/cloud-agents.d.ts +9 -0
  44. package/dist/tools/cloud-agents.js +67 -0
  45. package/dist/tools/connectors.d.ts +14 -0
  46. package/dist/tools/connectors.js +188 -0
  47. package/dist/tools/cost.d.ts +11 -0
  48. package/dist/tools/cost.js +108 -0
  49. package/dist/tools/decisions.d.ts +12 -0
  50. package/dist/tools/decisions.js +108 -0
  51. package/dist/tools/deployment.d.ts +24 -0
  52. package/dist/tools/deployment.js +439 -0
  53. package/dist/tools/discovery.d.ts +10 -0
  54. package/dist/tools/discovery.js +73 -0
  55. package/dist/tools/fallback.d.ts +11 -0
  56. package/dist/tools/fallback.js +108 -0
  57. package/dist/tools/file-checkouts.d.ts +13 -0
  58. package/dist/tools/file-checkouts.js +141 -0
  59. package/dist/tools/findings.d.ts +13 -0
  60. package/dist/tools/findings.js +98 -0
  61. package/dist/tools/git-issues.d.ts +11 -0
  62. package/dist/tools/git-issues.js +127 -0
  63. package/dist/tools/ideas.d.ts +13 -0
  64. package/dist/tools/ideas.js +159 -0
  65. package/dist/tools/index.d.ts +71 -0
  66. package/dist/tools/index.js +98 -0
  67. package/dist/tools/milestones.d.ts +12 -0
  68. package/dist/tools/milestones.js +115 -0
  69. package/dist/tools/organizations.d.ts +17 -0
  70. package/dist/tools/organizations.js +221 -0
  71. package/dist/tools/progress.d.ts +9 -0
  72. package/dist/tools/progress.js +70 -0
  73. package/dist/tools/project.d.ts +13 -0
  74. package/dist/tools/project.js +199 -0
  75. package/dist/tools/requests.d.ts +10 -0
  76. package/dist/tools/requests.js +65 -0
  77. package/dist/tools/roles.d.ts +11 -0
  78. package/dist/tools/roles.js +109 -0
  79. package/dist/tools/session.d.ts +15 -0
  80. package/dist/tools/session.js +178 -0
  81. package/dist/tools/sprints.d.ts +18 -0
  82. package/dist/tools/sprints.js +295 -0
  83. package/dist/tools/tasks.d.ts +27 -0
  84. package/dist/tools/tasks.js +539 -0
  85. package/dist/tools/types.d.ts +7 -0
  86. package/dist/tools/types.js +6 -0
  87. package/dist/tools/validation.d.ts +10 -0
  88. package/dist/tools/validation.js +72 -0
  89. package/dist/tools/worktrees.d.ts +9 -0
  90. package/dist/tools/worktrees.js +63 -0
  91. package/dist/utils.d.ts +66 -0
  92. package/dist/utils.js +102 -0
  93. package/docs/TOOLS.md +55 -2
  94. package/package.json +5 -3
  95. package/scripts/generate-docs.ts +1 -1
  96. package/src/api-client/blockers.ts +86 -0
  97. package/src/api-client/cost.ts +185 -0
  98. package/src/api-client/decisions.ts +87 -0
  99. package/src/api-client/discovery.ts +81 -0
  100. package/src/api-client/ideas.ts +112 -0
  101. package/src/api-client/index.ts +378 -0
  102. package/src/api-client/project.ts +179 -0
  103. package/src/api-client/session.ts +220 -0
  104. package/src/api-client/tasks.ts +450 -0
  105. package/src/api-client/types.ts +32 -0
  106. package/src/api-client/worktrees.ts +53 -0
  107. package/src/api-client.test.ts +136 -9
  108. package/src/api-client.ts +125 -27
  109. package/src/cli-init.ts +504 -0
  110. package/src/handlers/__test-utils__.ts +2 -0
  111. package/src/handlers/cloud-agents.ts +138 -0
  112. package/src/handlers/discovery.ts +7 -0
  113. package/src/handlers/index.ts +3 -0
  114. package/src/handlers/session.ts +3 -1
  115. package/src/handlers/tasks.ts +10 -12
  116. package/src/handlers/tool-categories.test.ts +1 -1
  117. package/src/handlers/types.ts +2 -1
  118. package/src/handlers/validation.ts +6 -1
  119. package/src/index.test.ts +2 -2
  120. package/src/index.ts +8 -2
  121. package/src/token-tracking.ts +3 -2
  122. package/src/tools/blockers.ts +122 -0
  123. package/src/tools/bodies-of-work.ts +283 -0
  124. package/src/tools/cloud-agents.ts +70 -0
  125. package/src/tools/connectors.ts +191 -0
  126. package/src/tools/cost.ts +111 -0
  127. package/src/tools/decisions.ts +111 -0
  128. package/src/tools/deployment.ts +442 -0
  129. package/src/tools/discovery.ts +76 -0
  130. package/src/tools/fallback.ts +111 -0
  131. package/src/tools/file-checkouts.ts +145 -0
  132. package/src/tools/findings.ts +101 -0
  133. package/src/tools/git-issues.ts +130 -0
  134. package/src/tools/ideas.ts +162 -0
  135. package/src/tools/index.ts +131 -0
  136. package/src/tools/milestones.ts +118 -0
  137. package/src/tools/organizations.ts +224 -0
  138. package/src/tools/progress.ts +73 -0
  139. package/src/tools/project.ts +202 -0
  140. package/src/tools/requests.ts +68 -0
  141. package/src/tools/roles.ts +112 -0
  142. package/src/tools/session.ts +181 -0
  143. package/src/tools/sprints.ts +298 -0
  144. package/src/tools/tasks.ts +542 -0
  145. package/src/tools/tools.test.ts +222 -0
  146. package/src/tools/types.ts +9 -0
  147. package/src/tools/validation.ts +75 -0
  148. package/src/tools/worktrees.ts +66 -0
  149. package/src/tools.test.ts +1 -1
  150. package/src/utils.test.ts +229 -0
  151. package/src/utils.ts +117 -0
  152. package/dist/tools.d.ts +0 -2
  153. package/dist/tools.js +0 -3602
  154. package/src/tools.ts +0 -3607
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Decision Tool Definitions
3
+ *
4
+ * Tools for recording architectural and technical decisions:
5
+ * - log_decision
6
+ * - get_decision
7
+ * - get_decisions
8
+ * - get_decisions_stats
9
+ * - delete_decision
10
+ */
11
+ export const decisionTools = [
12
+ {
13
+ name: 'log_decision',
14
+ description: `Record an architectural or technical decision with rationale.`,
15
+ inputSchema: {
16
+ type: 'object',
17
+ properties: {
18
+ project_id: {
19
+ type: 'string',
20
+ description: 'Project UUID',
21
+ },
22
+ title: {
23
+ type: 'string',
24
+ description: 'Decision title (e.g., "Use PostgreSQL for database")',
25
+ },
26
+ description: {
27
+ type: 'string',
28
+ description: 'What was decided',
29
+ },
30
+ rationale: {
31
+ type: 'string',
32
+ description: 'Why this decision was made',
33
+ },
34
+ alternatives_considered: {
35
+ type: 'array',
36
+ items: { type: 'string' },
37
+ description: 'Other options that were considered',
38
+ },
39
+ },
40
+ required: ['project_id', 'title', 'description'],
41
+ },
42
+ },
43
+ {
44
+ name: 'get_decision',
45
+ description: `Get a single decision by ID. More token-efficient than get_decisions when you need details for a specific decision.`,
46
+ inputSchema: {
47
+ type: 'object',
48
+ properties: {
49
+ decision_id: {
50
+ type: 'string',
51
+ description: 'Decision UUID',
52
+ },
53
+ },
54
+ required: ['decision_id'],
55
+ },
56
+ },
57
+ {
58
+ name: 'get_decisions',
59
+ description: `Get recorded decisions for a project.`,
60
+ inputSchema: {
61
+ type: 'object',
62
+ properties: {
63
+ project_id: {
64
+ type: 'string',
65
+ description: 'Project UUID',
66
+ },
67
+ limit: {
68
+ type: 'number',
69
+ description: 'Max number of decisions to return (default 10, max 200)',
70
+ },
71
+ offset: {
72
+ type: 'number',
73
+ description: 'Number of decisions to skip for pagination (default 0)',
74
+ },
75
+ search_query: {
76
+ type: 'string',
77
+ description: 'Search decisions by title',
78
+ },
79
+ },
80
+ required: ['project_id'],
81
+ },
82
+ },
83
+ {
84
+ name: 'get_decisions_stats',
85
+ description: `Get aggregate statistics about decisions for a project. Returns total count. More token-efficient than get_decisions when you just need to know how many decisions exist.`,
86
+ inputSchema: {
87
+ type: 'object',
88
+ properties: {
89
+ project_id: { type: 'string', description: 'Project UUID' },
90
+ },
91
+ required: ['project_id'],
92
+ },
93
+ },
94
+ {
95
+ name: 'delete_decision',
96
+ description: `Delete a decision.`,
97
+ inputSchema: {
98
+ type: 'object',
99
+ properties: {
100
+ decision_id: {
101
+ type: 'string',
102
+ description: 'Decision UUID',
103
+ },
104
+ },
105
+ required: ['decision_id'],
106
+ },
107
+ },
108
+ ];
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Deployment Tool Definitions
3
+ *
4
+ * Tools for deployment coordination:
5
+ * - request_deployment
6
+ * - claim_deployment_validation
7
+ * - report_validation
8
+ * - check_deployment_status
9
+ * - start_deployment
10
+ * - complete_deployment
11
+ * - cancel_deployment
12
+ * - add_deployment_requirement
13
+ * - complete_deployment_requirement
14
+ * - get_deployment_requirements
15
+ * - get_deployment_requirements_stats
16
+ * - schedule_deployment
17
+ * - get_scheduled_deployments
18
+ * - update_scheduled_deployment
19
+ * - delete_scheduled_deployment
20
+ * - trigger_scheduled_deployment
21
+ * - check_due_deployments
22
+ */
23
+ import type { Tool } from './types.js';
24
+ export declare const deploymentTools: Tool[];
@@ -0,0 +1,439 @@
1
+ /**
2
+ * Deployment Tool Definitions
3
+ *
4
+ * Tools for deployment coordination:
5
+ * - request_deployment
6
+ * - claim_deployment_validation
7
+ * - report_validation
8
+ * - check_deployment_status
9
+ * - start_deployment
10
+ * - complete_deployment
11
+ * - cancel_deployment
12
+ * - add_deployment_requirement
13
+ * - complete_deployment_requirement
14
+ * - get_deployment_requirements
15
+ * - get_deployment_requirements_stats
16
+ * - schedule_deployment
17
+ * - get_scheduled_deployments
18
+ * - update_scheduled_deployment
19
+ * - delete_scheduled_deployment
20
+ * - trigger_scheduled_deployment
21
+ * - check_due_deployments
22
+ */
23
+ export const deploymentTools = [
24
+ {
25
+ name: 'request_deployment',
26
+ description: 'Request a deployment. Requires validation first. One active deployment per project.',
27
+ inputSchema: {
28
+ type: 'object',
29
+ properties: {
30
+ project_id: {
31
+ type: 'string',
32
+ description: 'Project UUID',
33
+ },
34
+ environment: {
35
+ type: 'string',
36
+ enum: ['development', 'staging', 'production'],
37
+ description: 'Target environment (default: production)',
38
+ },
39
+ version_bump: {
40
+ type: 'string',
41
+ enum: ['patch', 'minor', 'major'],
42
+ description: 'Version bump: major/minor/patch (default: patch)',
43
+ },
44
+ notes: {
45
+ type: 'string',
46
+ description: 'Optional notes about this deployment',
47
+ },
48
+ git_ref: {
49
+ type: 'string',
50
+ description: 'Git branch or commit being deployed',
51
+ },
52
+ },
53
+ required: ['project_id'],
54
+ },
55
+ },
56
+ {
57
+ name: 'claim_deployment_validation',
58
+ description: `Claim pending deployment for validation. Run build+tests, then call report_validation.`,
59
+ inputSchema: {
60
+ type: 'object',
61
+ properties: {
62
+ project_id: {
63
+ type: 'string',
64
+ description: 'Project UUID',
65
+ },
66
+ },
67
+ required: ['project_id'],
68
+ },
69
+ },
70
+ {
71
+ name: 'report_validation',
72
+ description: `Report build/test results. If passed, status->'ready'. If failed, creates investigation task.`,
73
+ inputSchema: {
74
+ type: 'object',
75
+ properties: {
76
+ project_id: {
77
+ type: 'string',
78
+ description: 'Project UUID',
79
+ },
80
+ build_passed: {
81
+ type: 'boolean',
82
+ description: 'Whether the build succeeded',
83
+ },
84
+ tests_passed: {
85
+ type: 'boolean',
86
+ description: 'Whether the tests passed',
87
+ },
88
+ error_message: {
89
+ type: 'string',
90
+ description: 'Error details if validation failed',
91
+ },
92
+ },
93
+ required: ['project_id', 'build_passed', 'tests_passed'],
94
+ },
95
+ },
96
+ {
97
+ name: 'check_deployment_status',
98
+ description: `Get active deployment status and details.`,
99
+ inputSchema: {
100
+ type: 'object',
101
+ properties: {
102
+ project_id: {
103
+ type: 'string',
104
+ description: 'Project UUID',
105
+ },
106
+ },
107
+ required: ['project_id'],
108
+ },
109
+ },
110
+ {
111
+ name: 'start_deployment',
112
+ description: `Start deployment (requires 'ready' status). Sets status to 'deploying'.`,
113
+ inputSchema: {
114
+ type: 'object',
115
+ properties: {
116
+ project_id: {
117
+ type: 'string',
118
+ description: 'Project UUID',
119
+ },
120
+ },
121
+ required: ['project_id'],
122
+ },
123
+ },
124
+ {
125
+ name: 'complete_deployment',
126
+ description: `Mark deployment as complete (success or failure).`,
127
+ inputSchema: {
128
+ type: 'object',
129
+ properties: {
130
+ project_id: {
131
+ type: 'string',
132
+ description: 'Project UUID',
133
+ },
134
+ success: {
135
+ type: 'boolean',
136
+ description: 'Whether the deployment succeeded',
137
+ },
138
+ summary: {
139
+ type: 'string',
140
+ description: 'Summary of what was deployed or why it failed',
141
+ },
142
+ },
143
+ required: ['project_id', 'success'],
144
+ },
145
+ },
146
+ {
147
+ name: 'cancel_deployment',
148
+ description: `Cancel active deployment. Sets status to 'failed'.`,
149
+ inputSchema: {
150
+ type: 'object',
151
+ properties: {
152
+ project_id: {
153
+ type: 'string',
154
+ description: 'Project UUID',
155
+ },
156
+ reason: {
157
+ type: 'string',
158
+ description: 'Reason for cancellation',
159
+ },
160
+ },
161
+ required: ['project_id'],
162
+ },
163
+ },
164
+ {
165
+ name: 'add_deployment_requirement',
166
+ description: `Add a pre-deployment requirement (migration, env var, config change). These are shown as a checklist before deployment.`,
167
+ inputSchema: {
168
+ type: 'object',
169
+ properties: {
170
+ project_id: {
171
+ type: 'string',
172
+ description: 'Project UUID',
173
+ },
174
+ type: {
175
+ type: 'string',
176
+ description: 'Type of requirement',
177
+ enum: ['migration', 'env_var', 'config', 'manual', 'breaking_change', 'agent_task'],
178
+ },
179
+ title: {
180
+ type: 'string',
181
+ description: 'Brief description (e.g., "Run migration: 20250114_token_tracking.sql")',
182
+ },
183
+ description: {
184
+ type: 'string',
185
+ description: 'Optional detailed instructions',
186
+ },
187
+ file_path: {
188
+ type: 'string',
189
+ description: 'Optional file path reference',
190
+ },
191
+ stage: {
192
+ type: 'string',
193
+ description: 'Deployment stage: preparation (default), deployment, or verification',
194
+ enum: ['preparation', 'deployment', 'verification'],
195
+ },
196
+ blocking: {
197
+ type: 'boolean',
198
+ description: 'When true, converted task blocks all other work until complete',
199
+ },
200
+ recurring: {
201
+ type: 'boolean',
202
+ description: 'When true, requirement resets to pending when a new deployment is requested',
203
+ },
204
+ },
205
+ required: ['project_id', 'type', 'title'],
206
+ },
207
+ },
208
+ {
209
+ name: 'complete_deployment_requirement',
210
+ description: `Mark a deployment requirement as completed.`,
211
+ inputSchema: {
212
+ type: 'object',
213
+ properties: {
214
+ requirement_id: {
215
+ type: 'string',
216
+ description: 'Requirement UUID',
217
+ },
218
+ },
219
+ required: ['requirement_id'],
220
+ },
221
+ },
222
+ {
223
+ name: 'get_deployment_requirements',
224
+ description: `Get pending deployment requirements for a project.`,
225
+ inputSchema: {
226
+ type: 'object',
227
+ properties: {
228
+ project_id: {
229
+ type: 'string',
230
+ description: 'Project UUID',
231
+ },
232
+ status: {
233
+ type: 'string',
234
+ description: 'Filter by status (default: pending)',
235
+ enum: ['pending', 'completed', 'converted_to_task', 'all'],
236
+ },
237
+ stage: {
238
+ type: 'string',
239
+ description: 'Filter by stage (optional)',
240
+ enum: ['preparation', 'deployment', 'verification', 'all'],
241
+ },
242
+ limit: {
243
+ type: 'number',
244
+ description: 'Max number of requirements to return (default 50, max 200)',
245
+ },
246
+ offset: {
247
+ type: 'number',
248
+ description: 'Number of requirements to skip for pagination (default 0)',
249
+ },
250
+ },
251
+ required: ['project_id'],
252
+ },
253
+ },
254
+ {
255
+ name: 'get_deployment_requirements_stats',
256
+ description: `Get aggregate statistics about deployment requirements for a project. Returns total count and breakdowns by status, stage, and type. More token-efficient than get_deployment_requirements when you just need to understand the overall state.`,
257
+ inputSchema: {
258
+ type: 'object',
259
+ properties: {
260
+ project_id: { type: 'string', description: 'Project UUID' },
261
+ },
262
+ required: ['project_id'],
263
+ },
264
+ },
265
+ {
266
+ name: 'schedule_deployment',
267
+ description: `Schedule a deployment for a specific time. Supports one-time and recurring schedules with auto-trigger or manual trigger modes.`,
268
+ inputSchema: {
269
+ type: 'object',
270
+ properties: {
271
+ project_id: {
272
+ type: 'string',
273
+ description: 'Project UUID',
274
+ },
275
+ scheduled_at: {
276
+ type: 'string',
277
+ description: 'ISO 8601 datetime for when the deployment should be triggered',
278
+ },
279
+ schedule_type: {
280
+ type: 'string',
281
+ description: 'Schedule type: once (one-time), hourly, daily, weekly, or monthly',
282
+ enum: ['once', 'hourly', 'daily', 'weekly', 'monthly'],
283
+ },
284
+ hours_interval: {
285
+ type: 'number',
286
+ description: 'For hourly schedules, the number of hours between runs (1-24, default: 1)',
287
+ minimum: 1,
288
+ maximum: 24,
289
+ },
290
+ auto_trigger: {
291
+ type: 'boolean',
292
+ description: 'Whether agents should automatically trigger this deployment when due (default: true)',
293
+ },
294
+ environment: {
295
+ type: 'string',
296
+ description: 'Target environment (default: production)',
297
+ enum: ['development', 'staging', 'production'],
298
+ },
299
+ version_bump: {
300
+ type: 'string',
301
+ description: 'Version bump: patch, minor, or major (default: patch)',
302
+ enum: ['patch', 'minor', 'major'],
303
+ },
304
+ notes: {
305
+ type: 'string',
306
+ description: 'Optional notes about this scheduled deployment',
307
+ },
308
+ git_ref: {
309
+ type: 'string',
310
+ description: 'Optional git branch or commit to deploy',
311
+ },
312
+ },
313
+ required: ['project_id', 'scheduled_at'],
314
+ },
315
+ },
316
+ {
317
+ name: 'get_scheduled_deployments',
318
+ description: `Get scheduled deployments for a project.`,
319
+ inputSchema: {
320
+ type: 'object',
321
+ properties: {
322
+ project_id: {
323
+ type: 'string',
324
+ description: 'Project UUID',
325
+ },
326
+ include_disabled: {
327
+ type: 'boolean',
328
+ description: 'Include disabled schedules (default: false)',
329
+ },
330
+ limit: {
331
+ type: 'number',
332
+ description: 'Max schedules to return (default: 50)',
333
+ },
334
+ offset: {
335
+ type: 'number',
336
+ description: 'Number of schedules to skip for pagination (default: 0)',
337
+ },
338
+ },
339
+ required: ['project_id'],
340
+ },
341
+ },
342
+ {
343
+ name: 'update_scheduled_deployment',
344
+ description: `Update a scheduled deployment's configuration.`,
345
+ inputSchema: {
346
+ type: 'object',
347
+ properties: {
348
+ schedule_id: {
349
+ type: 'string',
350
+ description: 'Schedule UUID',
351
+ },
352
+ scheduled_at: {
353
+ type: 'string',
354
+ description: 'New scheduled time (ISO 8601)',
355
+ },
356
+ schedule_type: {
357
+ type: 'string',
358
+ description: 'New schedule type',
359
+ enum: ['once', 'hourly', 'daily', 'weekly', 'monthly'],
360
+ },
361
+ hours_interval: {
362
+ type: 'number',
363
+ description: 'For hourly schedules, the number of hours between runs (1-24)',
364
+ minimum: 1,
365
+ maximum: 24,
366
+ },
367
+ auto_trigger: {
368
+ type: 'boolean',
369
+ description: 'Whether to auto-trigger',
370
+ },
371
+ enabled: {
372
+ type: 'boolean',
373
+ description: 'Enable or disable the schedule',
374
+ },
375
+ environment: {
376
+ type: 'string',
377
+ description: 'Target environment',
378
+ enum: ['development', 'staging', 'production'],
379
+ },
380
+ version_bump: {
381
+ type: 'string',
382
+ description: 'Version bump type',
383
+ enum: ['patch', 'minor', 'major'],
384
+ },
385
+ notes: {
386
+ type: 'string',
387
+ description: 'Notes about this deployment',
388
+ },
389
+ git_ref: {
390
+ type: 'string',
391
+ description: 'Git branch or commit to deploy',
392
+ },
393
+ },
394
+ required: ['schedule_id'],
395
+ },
396
+ },
397
+ {
398
+ name: 'delete_scheduled_deployment',
399
+ description: `Delete a scheduled deployment.`,
400
+ inputSchema: {
401
+ type: 'object',
402
+ properties: {
403
+ schedule_id: {
404
+ type: 'string',
405
+ description: 'Schedule UUID',
406
+ },
407
+ },
408
+ required: ['schedule_id'],
409
+ },
410
+ },
411
+ {
412
+ name: 'trigger_scheduled_deployment',
413
+ description: `Manually trigger a scheduled deployment. Creates a new deployment and updates the schedule.`,
414
+ inputSchema: {
415
+ type: 'object',
416
+ properties: {
417
+ schedule_id: {
418
+ type: 'string',
419
+ description: 'Schedule UUID',
420
+ },
421
+ },
422
+ required: ['schedule_id'],
423
+ },
424
+ },
425
+ {
426
+ name: 'check_due_deployments',
427
+ description: `Check for scheduled deployments that are due. Returns schedules where: enabled AND auto_trigger AND scheduled_at <= NOW().`,
428
+ inputSchema: {
429
+ type: 'object',
430
+ properties: {
431
+ project_id: {
432
+ type: 'string',
433
+ description: 'Project UUID',
434
+ },
435
+ },
436
+ required: ['project_id'],
437
+ },
438
+ },
439
+ ];
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Discovery Tool Definitions
3
+ *
4
+ * Tools for discovering and querying project knowledge:
5
+ * - query_knowledge_base
6
+ * - discover_tools
7
+ * - get_tool_info
8
+ */
9
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
10
+ export declare const discoveryTools: Tool[];
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Discovery Tool Definitions
3
+ *
4
+ * Tools for discovering and querying project knowledge:
5
+ * - query_knowledge_base
6
+ * - discover_tools
7
+ * - get_tool_info
8
+ */
9
+ export const discoveryTools = [
10
+ {
11
+ name: 'query_knowledge_base',
12
+ description: `Query aggregated project knowledge in a single call. Returns findings, Q&A, decisions, completed tasks, and resolved blockers. Use this instead of multiple separate tool calls to reduce token usage.`,
13
+ inputSchema: {
14
+ type: 'object',
15
+ properties: {
16
+ project_id: {
17
+ type: 'string',
18
+ description: 'Project UUID',
19
+ },
20
+ scope: {
21
+ type: 'string',
22
+ enum: ['summary', 'detailed'],
23
+ description: 'Response detail level: summary (default) or detailed (includes rationales)',
24
+ },
25
+ categories: {
26
+ type: 'array',
27
+ items: {
28
+ type: 'string',
29
+ enum: ['findings', 'qa', 'decisions', 'completed_tasks', 'blockers', 'progress'],
30
+ },
31
+ description: 'Categories to include (default: all). Filter to reduce response size.',
32
+ },
33
+ limit: {
34
+ type: 'number',
35
+ description: 'Max items per category (default: 5, max: 20)',
36
+ },
37
+ search_query: {
38
+ type: 'string',
39
+ description: 'Optional text search across all knowledge',
40
+ },
41
+ },
42
+ required: ['project_id'],
43
+ },
44
+ },
45
+ {
46
+ name: 'discover_tools',
47
+ description: 'List tools by category. Use get_tool_info for details.',
48
+ inputSchema: {
49
+ type: 'object',
50
+ properties: {
51
+ category: {
52
+ type: 'string',
53
+ enum: ['session', 'project', 'tasks', 'milestones', 'progress', 'blockers', 'decisions', 'ideas', 'findings', 'validation', 'deployment', 'fallback', 'bodies_of_work', 'sprints', 'requests', 'organizations', 'cost', 'git_issues', 'knowledge', 'discovery', 'subtasks', 'worktrees', 'roles', 'file_locks'],
54
+ description: 'Category to list (omit for all categories)',
55
+ },
56
+ },
57
+ },
58
+ },
59
+ {
60
+ name: 'get_tool_info',
61
+ description: 'Get detailed tool documentation.',
62
+ inputSchema: {
63
+ type: 'object',
64
+ properties: {
65
+ tool_name: {
66
+ type: 'string',
67
+ description: 'Tool name',
68
+ },
69
+ },
70
+ required: ['tool_name'],
71
+ },
72
+ },
73
+ ];
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Fallback Activity Tool Definitions
3
+ *
4
+ * Tools for managing background activities when no tasks available:
5
+ * - start_fallback_activity
6
+ * - stop_fallback_activity
7
+ * - get_activity_history
8
+ * - get_activity_schedules
9
+ */
10
+ import type { Tool } from './types.js';
11
+ export declare const fallbackTools: Tool[];