mcp-taskflow 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/LICENSE.md +21 -0
  3. package/README.md +275 -0
  4. package/dist/config/pathResolver.d.ts +33 -0
  5. package/dist/config/pathResolver.d.ts.map +1 -0
  6. package/dist/config/pathResolver.js +130 -0
  7. package/dist/config/pathResolver.js.map +1 -0
  8. package/dist/data/fileOperations.d.ts +43 -0
  9. package/dist/data/fileOperations.d.ts.map +1 -0
  10. package/dist/data/fileOperations.js +248 -0
  11. package/dist/data/fileOperations.js.map +1 -0
  12. package/dist/data/memoryStore.d.ts +86 -0
  13. package/dist/data/memoryStore.d.ts.map +1 -0
  14. package/dist/data/memoryStore.js +216 -0
  15. package/dist/data/memoryStore.js.map +1 -0
  16. package/dist/data/rulesStore.d.ts +63 -0
  17. package/dist/data/rulesStore.d.ts.map +1 -0
  18. package/dist/data/rulesStore.js +196 -0
  19. package/dist/data/rulesStore.js.map +1 -0
  20. package/dist/data/schemas.d.ts +840 -0
  21. package/dist/data/schemas.d.ts.map +1 -0
  22. package/dist/data/schemas.js +265 -0
  23. package/dist/data/schemas.js.map +1 -0
  24. package/dist/data/taskSearchService.d.ts +110 -0
  25. package/dist/data/taskSearchService.d.ts.map +1 -0
  26. package/dist/data/taskSearchService.js +165 -0
  27. package/dist/data/taskSearchService.js.map +1 -0
  28. package/dist/data/taskStore.d.ts +192 -0
  29. package/dist/data/taskStore.d.ts.map +1 -0
  30. package/dist/data/taskStore.js +347 -0
  31. package/dist/data/taskStore.js.map +1 -0
  32. package/dist/index.d.ts +23 -0
  33. package/dist/index.d.ts.map +1 -0
  34. package/dist/index.js +86 -0
  35. package/dist/index.js.map +1 -0
  36. package/dist/prompts/index.d.ts +12 -0
  37. package/dist/prompts/index.d.ts.map +1 -0
  38. package/dist/prompts/index.js +17 -0
  39. package/dist/prompts/index.js.map +1 -0
  40. package/dist/prompts/projectPromptBuilder.d.ts +13 -0
  41. package/dist/prompts/projectPromptBuilder.d.ts.map +1 -0
  42. package/dist/prompts/projectPromptBuilder.js +29 -0
  43. package/dist/prompts/projectPromptBuilder.js.map +1 -0
  44. package/dist/prompts/researchPromptBuilder.d.ts +10 -0
  45. package/dist/prompts/researchPromptBuilder.d.ts.map +1 -0
  46. package/dist/prompts/researchPromptBuilder.js +20 -0
  47. package/dist/prompts/researchPromptBuilder.js.map +1 -0
  48. package/dist/prompts/taskPromptBuilders.d.ts +87 -0
  49. package/dist/prompts/taskPromptBuilders.d.ts.map +1 -0
  50. package/dist/prompts/taskPromptBuilders.js +529 -0
  51. package/dist/prompts/taskPromptBuilders.js.map +1 -0
  52. package/dist/prompts/templateEngine.d.ts +102 -0
  53. package/dist/prompts/templateEngine.d.ts.map +1 -0
  54. package/dist/prompts/templateEngine.js +145 -0
  55. package/dist/prompts/templateEngine.js.map +1 -0
  56. package/dist/prompts/templateLoader.d.ts +61 -0
  57. package/dist/prompts/templateLoader.d.ts.map +1 -0
  58. package/dist/prompts/templateLoader.js +129 -0
  59. package/dist/prompts/templateLoader.js.map +1 -0
  60. package/dist/prompts/templates/v1/templates_en/analyzeTask/index.md +65 -0
  61. package/dist/prompts/templates/v1/templates_en/analyzeTask/iteration.md +12 -0
  62. package/dist/prompts/templates/v1/templates_en/clearAllTasks/backupInfo.md +1 -0
  63. package/dist/prompts/templates/v1/templates_en/clearAllTasks/cancel.md +7 -0
  64. package/dist/prompts/templates/v1/templates_en/clearAllTasks/empty.md +5 -0
  65. package/dist/prompts/templates/v1/templates_en/clearAllTasks/index.md +5 -0
  66. package/dist/prompts/templates/v1/templates_en/clearAllTasks/result.md +7 -0
  67. package/dist/prompts/templates/v1/templates_en/clearAllTasks/success.md +5 -0
  68. package/dist/prompts/templates/v1/templates_en/deleteTask/completed.md +5 -0
  69. package/dist/prompts/templates/v1/templates_en/deleteTask/index.md +5 -0
  70. package/dist/prompts/templates/v1/templates_en/deleteTask/notFound.md +5 -0
  71. package/dist/prompts/templates/v1/templates_en/deleteTask/result.md +5 -0
  72. package/dist/prompts/templates/v1/templates_en/deleteTask/success.md +5 -0
  73. package/dist/prompts/templates/v1/templates_en/executeTask/analysisResult.md +3 -0
  74. package/dist/prompts/templates/v1/templates_en/executeTask/complexity.md +15 -0
  75. package/dist/prompts/templates/v1/templates_en/executeTask/dependencies.md +3 -0
  76. package/dist/prompts/templates/v1/templates_en/executeTask/dependencyTasks.md +3 -0
  77. package/dist/prompts/templates/v1/templates_en/executeTask/implementationGuide.md +3 -0
  78. package/dist/prompts/templates/v1/templates_en/executeTask/index.md +39 -0
  79. package/dist/prompts/templates/v1/templates_en/executeTask/notes.md +1 -0
  80. package/dist/prompts/templates/v1/templates_en/executeTask/relatedFilesSummary.md +5 -0
  81. package/dist/prompts/templates/v1/templates_en/executeTask/verificationCriteria.md +3 -0
  82. package/dist/prompts/templates/v1/templates_en/getTaskDetail/complatedSummary.md +5 -0
  83. package/dist/prompts/templates/v1/templates_en/getTaskDetail/dependencies.md +1 -0
  84. package/dist/prompts/templates/v1/templates_en/getTaskDetail/error.md +3 -0
  85. package/dist/prompts/templates/v1/templates_en/getTaskDetail/implementationGuide.md +3 -0
  86. package/dist/prompts/templates/v1/templates_en/getTaskDetail/index.md +25 -0
  87. package/dist/prompts/templates/v1/templates_en/getTaskDetail/notFound.md +3 -0
  88. package/dist/prompts/templates/v1/templates_en/getTaskDetail/notes.md +1 -0
  89. package/dist/prompts/templates/v1/templates_en/getTaskDetail/relatedFiles.md +3 -0
  90. package/dist/prompts/templates/v1/templates_en/getTaskDetail/verificationCriteria.md +3 -0
  91. package/dist/prompts/templates/v1/templates_en/initProjectRules/index.md +81 -0
  92. package/dist/prompts/templates/v1/templates_en/listTasks/index.md +7 -0
  93. package/dist/prompts/templates/v1/templates_en/listTasks/notFound.md +3 -0
  94. package/dist/prompts/templates/v1/templates_en/listTasks/taskDetails.md +13 -0
  95. package/dist/prompts/templates/v1/templates_en/planTask/hasThought.md +4 -0
  96. package/dist/prompts/templates/v1/templates_en/planTask/index.md +96 -0
  97. package/dist/prompts/templates/v1/templates_en/planTask/noThought.md +4 -0
  98. package/dist/prompts/templates/v1/templates_en/planTask/tasks.md +17 -0
  99. package/dist/prompts/templates/v1/templates_en/processThought/complatedThought.md +6 -0
  100. package/dist/prompts/templates/v1/templates_en/processThought/index.md +13 -0
  101. package/dist/prompts/templates/v1/templates_en/processThought/moreThought.md +1 -0
  102. package/dist/prompts/templates/v1/templates_en/queryTask/index.md +24 -0
  103. package/dist/prompts/templates/v1/templates_en/queryTask/notFound.md +15 -0
  104. package/dist/prompts/templates/v1/templates_en/queryTask/taskDetails.md +5 -0
  105. package/dist/prompts/templates/v1/templates_en/reflectTask/index.md +57 -0
  106. package/dist/prompts/templates/v1/templates_en/researchMode/index.md +95 -0
  107. package/dist/prompts/templates/v1/templates_en/researchMode/previousState.md +9 -0
  108. package/dist/prompts/templates/v1/templates_en/splitTasks/index.md +34 -0
  109. package/dist/prompts/templates/v1/templates_en/splitTasks/taskDetails.md +12 -0
  110. package/dist/prompts/templates/v1/templates_en/tests/basic.md +1 -0
  111. package/dist/prompts/templates/v1/templates_en/toolsDescription/analyzeTask.md +1 -0
  112. package/dist/prompts/templates/v1/templates_en/toolsDescription/clearAllTasks.md +1 -0
  113. package/dist/prompts/templates/v1/templates_en/toolsDescription/deleteTask.md +1 -0
  114. package/dist/prompts/templates/v1/templates_en/toolsDescription/executeTask.md +1 -0
  115. package/dist/prompts/templates/v1/templates_en/toolsDescription/getTaskDetail.md +1 -0
  116. package/dist/prompts/templates/v1/templates_en/toolsDescription/initProjectRules.md +1 -0
  117. package/dist/prompts/templates/v1/templates_en/toolsDescription/listTasks.md +1 -0
  118. package/dist/prompts/templates/v1/templates_en/toolsDescription/planTask.md +3 -0
  119. package/dist/prompts/templates/v1/templates_en/toolsDescription/processThought.md +1 -0
  120. package/dist/prompts/templates/v1/templates_en/toolsDescription/queryTask.md +1 -0
  121. package/dist/prompts/templates/v1/templates_en/toolsDescription/reflectTask.md +1 -0
  122. package/dist/prompts/templates/v1/templates_en/toolsDescription/researchMode.md +1 -0
  123. package/dist/prompts/templates/v1/templates_en/toolsDescription/splitTasks.md +83 -0
  124. package/dist/prompts/templates/v1/templates_en/toolsDescription/updateTask.md +1 -0
  125. package/dist/prompts/templates/v1/templates_en/toolsDescription/verifyTask.md +37 -0
  126. package/dist/prompts/templates/v1/templates_en/updateTaskContent/emptyUpdate.md +5 -0
  127. package/dist/prompts/templates/v1/templates_en/updateTaskContent/fileDetails.md +1 -0
  128. package/dist/prompts/templates/v1/templates_en/updateTaskContent/index.md +7 -0
  129. package/dist/prompts/templates/v1/templates_en/updateTaskContent/notFound.md +5 -0
  130. package/dist/prompts/templates/v1/templates_en/updateTaskContent/success.md +9 -0
  131. package/dist/prompts/templates/v1/templates_en/updateTaskContent/successDetails.md +3 -0
  132. package/dist/prompts/templates/v1/templates_en/updateTaskContent/validation.md +5 -0
  133. package/dist/prompts/templates/v1/templates_en/verifyTask/index.md +19 -0
  134. package/dist/prompts/templates/v1/templates_en/verifyTask/noPass.md +12 -0
  135. package/dist/prompts/thoughtPromptBuilder.d.ts +11 -0
  136. package/dist/prompts/thoughtPromptBuilder.d.ts.map +1 -0
  137. package/dist/prompts/thoughtPromptBuilder.js +30 -0
  138. package/dist/prompts/thoughtPromptBuilder.js.map +1 -0
  139. package/dist/server/container.d.ts +111 -0
  140. package/dist/server/container.d.ts.map +1 -0
  141. package/dist/server/container.js +135 -0
  142. package/dist/server/container.js.map +1 -0
  143. package/dist/server/logger.d.ts +98 -0
  144. package/dist/server/logger.d.ts.map +1 -0
  145. package/dist/server/logger.js +295 -0
  146. package/dist/server/logger.js.map +1 -0
  147. package/dist/server/mcpServer.d.ts +162 -0
  148. package/dist/server/mcpServer.d.ts.map +1 -0
  149. package/dist/server/mcpServer.js +236 -0
  150. package/dist/server/mcpServer.js.map +1 -0
  151. package/dist/tools/project/index.d.ts +7 -0
  152. package/dist/tools/project/index.d.ts.map +1 -0
  153. package/dist/tools/project/index.js +7 -0
  154. package/dist/tools/project/index.js.map +1 -0
  155. package/dist/tools/project/projectTools.d.ts +17 -0
  156. package/dist/tools/project/projectTools.d.ts.map +1 -0
  157. package/dist/tools/project/projectTools.js +73 -0
  158. package/dist/tools/project/projectTools.js.map +1 -0
  159. package/dist/tools/research/index.d.ts +7 -0
  160. package/dist/tools/research/index.d.ts.map +1 -0
  161. package/dist/tools/research/index.js +7 -0
  162. package/dist/tools/research/index.js.map +1 -0
  163. package/dist/tools/research/researchTools.d.ts +16 -0
  164. package/dist/tools/research/researchTools.d.ts.map +1 -0
  165. package/dist/tools/research/researchTools.js +41 -0
  166. package/dist/tools/research/researchTools.js.map +1 -0
  167. package/dist/tools/task/index.d.ts +8 -0
  168. package/dist/tools/task/index.d.ts.map +1 -0
  169. package/dist/tools/task/index.js +8 -0
  170. package/dist/tools/task/index.js.map +1 -0
  171. package/dist/tools/task/taskTools.d.ts +32 -0
  172. package/dist/tools/task/taskTools.d.ts.map +1 -0
  173. package/dist/tools/task/taskTools.js +542 -0
  174. package/dist/tools/task/taskTools.js.map +1 -0
  175. package/dist/tools/thought/index.d.ts +7 -0
  176. package/dist/tools/thought/index.d.ts.map +1 -0
  177. package/dist/tools/thought/index.js +7 -0
  178. package/dist/tools/thought/index.js.map +1 -0
  179. package/dist/tools/thought/thoughtTools.d.ts +16 -0
  180. package/dist/tools/thought/thoughtTools.d.ts.map +1 -0
  181. package/dist/tools/thought/thoughtTools.js +47 -0
  182. package/dist/tools/thought/thoughtTools.js.map +1 -0
  183. package/docs/API.md +32 -0
  184. package/docs/ARCHITECTURE.md +44 -0
  185. package/docs/COMPATIBILITY_REPORT.md +26 -0
  186. package/docs/PERFORMANCE.md +66 -0
  187. package/package.json +77 -0
@@ -0,0 +1,236 @@
1
+ /**
2
+ * MCP Server Setup & Tool Registration
3
+ *
4
+ * Implements the Model Context Protocol (MCP) server using @modelcontextprotocol/sdk.
5
+ * The server uses STDIO transport for universal compatibility and follows the
6
+ * JSON-RPC 2.0 protocol for request/response communication.
7
+ *
8
+ * Key Concepts:
9
+ * - STDIO Transport: Uses stdin for input, stdout for output, stderr for logs
10
+ * - JSON-RPC: Protocol for request correlation (id, method, params, result/error)
11
+ * - Tool Discovery: Clients call tools/list to see available capabilities
12
+ * - Stateless Design: Each request is independent (no session state)
13
+ *
14
+ * @see https://modelcontextprotocol.io/docs/concepts/architecture
15
+ * @see https://www.jsonrpc.org/specification
16
+ */
17
+ // Using Server from index.js instead of McpServer from mcp.js
18
+ // The new McpServer API is different and would require significant refactoring
19
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
20
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
21
+ import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
22
+ import { registerTaskPlanningTools, registerTaskCRUDTools, registerTaskWorkflowTools } from '../tools/task/taskTools.js';
23
+ import { registerProjectTools } from '../tools/project/projectTools.js';
24
+ import { registerThoughtTools } from '../tools/thought/thoughtTools.js';
25
+ import { registerResearchTools } from '../tools/research/researchTools.js';
26
+ /**
27
+ * MCP Server instance
28
+ *
29
+ * Manages the lifecycle of the MCP server including:
30
+ * - Tool registration and discovery
31
+ * - Request handling and routing
32
+ * - Error handling and logging
33
+ * - Graceful shutdown
34
+ *
35
+ * Dependencies are injected via the constructor (Dependency Injection pattern).
36
+ */
37
+ export class McpServer {
38
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
39
+ server;
40
+ logger;
41
+ tools = new Map();
42
+ container;
43
+ /**
44
+ * Create a new MCP server instance
45
+ *
46
+ * @param container - Service container with all dependencies
47
+ */
48
+ constructor(container) {
49
+ this.container = container;
50
+ this.logger = container.logger;
51
+ // Create MCP server with metadata
52
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
53
+ this.server = new Server({
54
+ name: 'mcp-taskflow',
55
+ version: '1.0.0',
56
+ }, {
57
+ capabilities: {
58
+ tools: {}, // Enables tool support
59
+ },
60
+ });
61
+ this.setupHandlers();
62
+ this.logger.info('MCP server initialized');
63
+ }
64
+ /**
65
+ * Setup request handlers
66
+ *
67
+ * Registers handlers for MCP protocol methods:
68
+ * - tools/list: Returns available tools
69
+ * - tools/call: Executes a specific tool
70
+ */
71
+ setupHandlers() {
72
+ // Handle tools/list - return all registered tools
73
+ this.server.setRequestHandler(ListToolsRequestSchema, (_request) => {
74
+ this.logger.debug({ method: 'tools/list' }, 'Listing tools');
75
+ const tools = Array.from(this.tools.values()).map((handler) => ({
76
+ name: handler.name,
77
+ description: handler.description,
78
+ inputSchema: handler.inputSchema,
79
+ }));
80
+ return { tools };
81
+ });
82
+ // Handle tools/call - execute a tool
83
+ this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
84
+ const { name, arguments: args } = request.params;
85
+ this.logger.info({ tool: name }, 'Executing tool');
86
+ const handler = this.tools.get(name);
87
+ if (!handler) {
88
+ const error = `Unknown tool: ${name}`;
89
+ this.logger.error({ tool: name }, error);
90
+ throw new Error(error);
91
+ }
92
+ try {
93
+ const result = await handler.execute(args ?? {});
94
+ this.logger.debug({ tool: name }, 'Tool executed successfully');
95
+ return {
96
+ content: [
97
+ {
98
+ type: 'text',
99
+ text: typeof result === 'string' ? result : JSON.stringify(result, null, 2),
100
+ },
101
+ ],
102
+ };
103
+ }
104
+ catch (error) {
105
+ this.logger.error({ tool: name, err: error }, 'Tool execution failed');
106
+ // Re-throw as MCP error (JSON-RPC format)
107
+ throw error;
108
+ }
109
+ });
110
+ }
111
+ /**
112
+ * Register a tool with the server
113
+ *
114
+ * @param handler - Tool handler with name, description, schema, and execute function
115
+ *
116
+ * @example
117
+ * ```typescript
118
+ * server.registerTool({
119
+ * name: 'list_tasks',
120
+ * description: 'List all tasks',
121
+ * inputSchema: {
122
+ * type: 'object',
123
+ * properties: {
124
+ * status: { type: 'string', enum: ['pending', 'in_progress', 'completed'] }
125
+ * }
126
+ * },
127
+ * execute: async (args) => {
128
+ * const tasks = await taskStore.listAsync();
129
+ * return { tasks };
130
+ * }
131
+ * });
132
+ * ```
133
+ */
134
+ registerTool(handler) {
135
+ if (handler.inputSchema && !handler.inputSchema.type) {
136
+ const hasRef = Object.prototype.hasOwnProperty.call(handler.inputSchema, '$ref');
137
+ if (!hasRef) {
138
+ handler.inputSchema = {
139
+ ...handler.inputSchema,
140
+ type: 'object',
141
+ };
142
+ }
143
+ }
144
+ if (this.tools.has(handler.name)) {
145
+ throw new Error(`Tool already registered: ${handler.name}`);
146
+ }
147
+ this.tools.set(handler.name, handler);
148
+ this.logger.debug({ tool: handler.name }, 'Tool registered');
149
+ }
150
+ /**
151
+ * Start the MCP server with STDIO transport
152
+ *
153
+ * The server will:
154
+ * 1. Connect to stdin/stdout for communication
155
+ * 2. Listen for initialize request from client
156
+ * 3. Process tool/list and tools/call requests
157
+ * 4. Handle graceful shutdown on SIGINT/SIGTERM
158
+ *
159
+ * @returns Promise that resolves when server starts
160
+ */
161
+ async start() {
162
+ const transport = new StdioServerTransport();
163
+ // Setup graceful shutdown
164
+ const shutdown = () => {
165
+ this.logger.info('Shutting down MCP server');
166
+ void this.server.close().then(() => {
167
+ process.exit(0);
168
+ });
169
+ };
170
+ process.on('SIGINT', shutdown);
171
+ process.on('SIGTERM', shutdown);
172
+ this.logger.info({ toolCount: this.tools.size }, 'Starting MCP server');
173
+ // Connect and start processing requests
174
+ await this.server.connect(transport);
175
+ this.logger.info('MCP server ready');
176
+ }
177
+ /**
178
+ * Get server instance (for testing)
179
+ */
180
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
181
+ getServer() {
182
+ return this.server;
183
+ }
184
+ /**
185
+ * Get the service container
186
+ *
187
+ * Provides access to all application services for tool implementations
188
+ *
189
+ * @returns The service container
190
+ */
191
+ getContainer() {
192
+ return this.container;
193
+ }
194
+ /**
195
+ * Get registered tool count (for testing)
196
+ */
197
+ getToolCount() {
198
+ return this.tools.size;
199
+ }
200
+ }
201
+ /**
202
+ * Create and configure MCP server
203
+ *
204
+ * Factory function that creates a server instance and registers all tools.
205
+ * Separates server creation from tool registration for testing.
206
+ *
207
+ * @returns Configured MCP server instance
208
+ */
209
+ /**
210
+ * Factory function to create a configured MCP server
211
+ *
212
+ * This is the main entry point for server creation. It accepts a
213
+ * ServiceContainer with all dependencies already configured.
214
+ *
215
+ * @param container - Service container with all dependencies
216
+ * @returns Configured MCP server ready to start
217
+ *
218
+ * @example
219
+ * ```typescript
220
+ * const container = createContainer();
221
+ * const server = createMcpServer(container);
222
+ * await server.start();
223
+ * ```
224
+ */
225
+ export function createMcpServer(container) {
226
+ const server = new McpServer(container);
227
+ // Register task planning tools
228
+ registerTaskPlanningTools(server);
229
+ registerTaskCRUDTools(server);
230
+ registerTaskWorkflowTools(server);
231
+ registerProjectTools(server);
232
+ registerThoughtTools(server);
233
+ registerResearchTools(server);
234
+ return server;
235
+ }
236
+ //# sourceMappingURL=mcpServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcpServer.js","sourceRoot":"","sources":["../../src/server/mcpServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Project Tools - Barrel Export
3
+ *
4
+ * Exports project rules management tools.
5
+ */
6
+ export { registerProjectTools } from './projectTools.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/project/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Project Tools - Barrel Export
3
+ *
4
+ * Exports project rules management tools.
5
+ */
6
+ export { registerProjectTools } from './projectTools.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/project/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Project Tools Implementation
3
+ *
4
+ * Implements MCP tools for project rules management and server metadata.
5
+ *
6
+ * Tools:
7
+ * - init_project_rules: Initialize or update project coding rules
8
+ * - get_server_info: Return server metadata and health status
9
+ */
10
+ import type { McpServer } from '../../server/mcpServer.js';
11
+ /**
12
+ * Register all project tools with the MCP server
13
+ *
14
+ * @param server - MCP server instance
15
+ */
16
+ export declare function registerProjectTools(server: McpServer): void;
17
+ //# sourceMappingURL=projectTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectTools.d.ts","sourceRoot":"","sources":["../../../src/tools/project/projectTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAW3D;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAK5D"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Project Tools Implementation
3
+ *
4
+ * Implements MCP tools for project rules management and server metadata.
5
+ *
6
+ * Tools:
7
+ * - init_project_rules: Initialize or update project coding rules
8
+ * - get_server_info: Return server metadata and health status
9
+ */
10
+ import { zodToJsonSchema } from 'zod-to-json-schema';
11
+ import { InitProjectRulesParamsSchema, GetServerInfoParamsSchema, } from '../../data/schemas.js';
12
+ import { InitProjectRulesPromptBuilder, GetServerInfoPromptBuilder, } from '../../prompts/projectPromptBuilder.js';
13
+ /**
14
+ * Register all project tools with the MCP server
15
+ *
16
+ * @param server - MCP server instance
17
+ */
18
+ export function registerProjectTools(server) {
19
+ const container = server.getContainer();
20
+ registerInitProjectRules(server, container);
21
+ registerGetServerInfo(server, container);
22
+ }
23
+ /**
24
+ * Register init_project_rules tool
25
+ */
26
+ function registerInitProjectRules(server, container) {
27
+ server.registerTool({
28
+ name: 'init_project_rules',
29
+ description: 'Initialize or update project coding rules and guidelines.',
30
+ inputSchema: zodToJsonSchema(InitProjectRulesParamsSchema, { $refStrategy: 'none' }),
31
+ execute: async (_args) => {
32
+ const { rulesStore, logger } = container;
33
+ logger.info('Initializing project rules');
34
+ const rulesExist = await rulesStore.rulesExistAsync();
35
+ if (!rulesExist) {
36
+ await rulesStore.initializeRulesAsync();
37
+ logger.info('Created default project rules');
38
+ }
39
+ const rules = await rulesStore.loadRulesAsync();
40
+ const builder = new InitProjectRulesPromptBuilder();
41
+ const result = await builder.build(rules, rulesExist);
42
+ logger.info({ rulesExist }, 'Project rules initialized');
43
+ return result;
44
+ },
45
+ });
46
+ }
47
+ /**
48
+ * Register get_server_info tool
49
+ */
50
+ function registerGetServerInfo(server, container) {
51
+ server.registerTool({
52
+ name: 'get_server_info',
53
+ description: 'Get server metadata, version, and health status.',
54
+ inputSchema: zodToJsonSchema(GetServerInfoParamsSchema, { $refStrategy: 'none' }),
55
+ execute: async (_args) => {
56
+ const { taskStore, logger } = container;
57
+ logger.info('Getting server info');
58
+ const allTasks = await taskStore.getAllAsync();
59
+ const taskCounts = {
60
+ pending: allTasks.filter(t => t.status === 'pending').length,
61
+ in_progress: allTasks.filter(t => t.status === 'in_progress').length,
62
+ completed: allTasks.filter(t => t.status === 'completed').length,
63
+ blocked: allTasks.filter(t => t.status === 'blocked').length,
64
+ total: allTasks.length,
65
+ };
66
+ const builder = new GetServerInfoPromptBuilder();
67
+ const result = builder.build('1.0.0', 'mcp-taskflow', 'MCP Task and Research Manager - Task planning, analysis, and research workflow tools');
68
+ logger.info(taskCounts, 'Server info retrieved');
69
+ return result;
70
+ },
71
+ });
72
+ }
73
+ //# sourceMappingURL=projectTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectTools.js","sourceRoot":"","sources":["../../../src/tools/project/projectTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Research Tools - Barrel Export
3
+ *
4
+ * Exports research workflow tools.
5
+ */
6
+ export { registerResearchTools } from './researchTools.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/research/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Research Tools - Barrel Export
3
+ *
4
+ * Exports research workflow tools.
5
+ */
6
+ export { registerResearchTools } from './researchTools.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/research/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Research Tools Implementation
3
+ *
4
+ * Implements MCP tools for guided technical research workflows.
5
+ *
6
+ * Tools:
7
+ * - research_mode: Iterative research with state management
8
+ */
9
+ import type { McpServer } from '../../server/mcpServer.js';
10
+ /**
11
+ * Register all research tools with the MCP server
12
+ *
13
+ * @param server - MCP server instance
14
+ */
15
+ export declare function registerResearchTools(server: McpServer): void;
16
+ //# sourceMappingURL=researchTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"researchTools.d.ts","sourceRoot":"","sources":["../../../src/tools/research/researchTools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAU3D;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAI7D"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Research Tools Implementation
3
+ *
4
+ * Implements MCP tools for guided technical research workflows.
5
+ *
6
+ * Tools:
7
+ * - research_mode: Iterative research with state management
8
+ */
9
+ import { zodToJsonSchema } from 'zod-to-json-schema';
10
+ import { ResearchModeParamsSchema, } from '../../data/schemas.js';
11
+ import { ResearchModePromptBuilder, } from '../../prompts/researchPromptBuilder.js';
12
+ /**
13
+ * Register all research tools with the MCP server
14
+ *
15
+ * @param server - MCP server instance
16
+ */
17
+ export function registerResearchTools(server) {
18
+ const container = server.getContainer();
19
+ registerResearchMode(server, container);
20
+ }
21
+ /**
22
+ * Register research_mode tool
23
+ */
24
+ function registerResearchMode(server, container) {
25
+ server.registerTool({
26
+ name: 'research_mode',
27
+ description: 'Enter research mode to explore a programming topic in depth with iterative state tracking.',
28
+ inputSchema: zodToJsonSchema(ResearchModeParamsSchema, { $refStrategy: 'none' }),
29
+ execute: async (args) => {
30
+ const params = ResearchModeParamsSchema.parse(args);
31
+ const { logger } = container;
32
+ logger.info({ topic: params.topic }, 'Starting research mode');
33
+ const isInitialIteration = !params.previousState || params.previousState.trim() === '';
34
+ const builder = new ResearchModePromptBuilder();
35
+ const result = await builder.build(params.topic, params.previousState, params.currentState, params.nextSteps);
36
+ logger.info({ topic: params.topic, isInitial: isInitialIteration }, 'Research mode prompt generated');
37
+ return result;
38
+ },
39
+ });
40
+ }
41
+ //# sourceMappingURL=researchTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"researchTools.js","sourceRoot":"","sources":["../../../src/tools/research/researchTools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EACL,wBAAwB,GAEzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,yBAAyB,GAC1B,MAAM,wCAAwC,CAAC;AAEhD;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAiB;IACrD,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IAExC,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,MAAiB,EAAE,SAA2B;IAC1E,MAAM,CAAC,YAAY,CAAC;QAClB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,4FAA4F;QACzG,WAAW,EAAE,eAAe,CAAC,wBAAwB,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAI9E;QACD,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,EAAE;YAC/B,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAuB,CAAC;YAC1E,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;YAE7B,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,wBAAwB,CAAC,CAAC;YAE/D,MAAM,kBAAkB,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;YAEvF,MAAM,OAAO,GAAG,IAAI,yBAAyB,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAChC,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,SAAS,CACjB,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,gCAAgC,CAAC,CAAC;YACtG,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Task Management Tools - Planning & Analysis
3
+ *
4
+ * Exports MCP tools for task planning, analysis, reflection, and splitting.
5
+ * These tools enable AI assistants to structure complex work into manageable tasks.
6
+ */
7
+ export { registerTaskPlanningTools, registerTaskCRUDTools, registerTaskWorkflowTools } from './taskTools.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/task/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Task Management Tools - Planning & Analysis
3
+ *
4
+ * Exports MCP tools for task planning, analysis, reflection, and splitting.
5
+ * These tools enable AI assistants to structure complex work into manageable tasks.
6
+ */
7
+ export { registerTaskPlanningTools, registerTaskCRUDTools, registerTaskWorkflowTools } from './taskTools.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/task/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Task Planning Tools Implementation
3
+ *
4
+ * Implements MCP tools for task planning, analysis, reflection, and splitting.
5
+ * These tools guide AI assistants through structured workflow patterns.
6
+ *
7
+ * Tools:
8
+ * - plan_task: Convert natural language requests into structured tasks
9
+ * - analyze_task: Deep analysis with threat modeling and design decisions
10
+ * - reflect_task: Critical review and optimization recommendations
11
+ * - split_tasks: Bulk task creation with dependency management
12
+ */
13
+ import type { McpServer } from '../../server/mcpServer.js';
14
+ /**
15
+ * Register all task planning tools with the MCP server
16
+ *
17
+ * @param server - MCP server instance
18
+ */
19
+ export declare function registerTaskPlanningTools(server: McpServer): void;
20
+ /**
21
+ * Register all task CRUD tools with the MCP server
22
+ *
23
+ * @param server - MCP server instance
24
+ */
25
+ export declare function registerTaskCRUDTools(server: McpServer): void;
26
+ /**
27
+ * Register all task workflow tools with the MCP server
28
+ *
29
+ * @param server - MCP server instance
30
+ */
31
+ export declare function registerTaskWorkflowTools(server: McpServer): void;
32
+ //# sourceMappingURL=taskTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taskTools.d.ts","sourceRoot":"","sources":["../../../src/tools/task/taskTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AA+C3D;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAOjE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAS7D;AA8PD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAKjE"}