@mxf-dev/core 1.0.1 → 2.0.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 (298) hide show
  1. package/README.md +18 -0
  2. package/dist/adapters/FrameworkAdapter.js +1 -1
  3. package/dist/adapters/FrameworkAdapter.js.map +1 -1
  4. package/dist/config/ConfigManager.d.ts +9 -8
  5. package/dist/config/ConfigManager.d.ts.map +1 -1
  6. package/dist/config/ConfigManager.js +47 -17
  7. package/dist/config/ConfigManager.js.map +1 -1
  8. package/dist/config/memory-strata.config.d.ts +25 -0
  9. package/dist/config/memory-strata.config.d.ts.map +1 -0
  10. package/dist/config/memory-strata.config.js +107 -0
  11. package/dist/config/memory-strata.config.js.map +1 -0
  12. package/dist/constants/ToolNames.d.ts +1 -29
  13. package/dist/constants/ToolNames.d.ts.map +1 -1
  14. package/dist/constants/ToolNames.js +4 -17
  15. package/dist/constants/ToolNames.js.map +1 -1
  16. package/dist/database/DatabaseAdapterFactory.d.ts +14 -2
  17. package/dist/database/DatabaseAdapterFactory.d.ts.map +1 -1
  18. package/dist/database/DatabaseAdapterFactory.js +21 -6
  19. package/dist/database/DatabaseAdapterFactory.js.map +1 -1
  20. package/dist/database/adapters/mongodb/MongoBaseRepository.d.ts +7 -1
  21. package/dist/database/adapters/mongodb/MongoBaseRepository.d.ts.map +1 -1
  22. package/dist/database/adapters/mongodb/MongoBaseRepository.js +12 -2
  23. package/dist/database/adapters/mongodb/MongoBaseRepository.js.map +1 -1
  24. package/dist/events/ClientEventBus.d.ts +16 -77
  25. package/dist/events/ClientEventBus.d.ts.map +1 -1
  26. package/dist/events/ClientEventBus.js +38 -311
  27. package/dist/events/ClientEventBus.js.map +1 -1
  28. package/dist/events/EventBus.d.ts +1 -1
  29. package/dist/events/EventBus.d.ts.map +1 -1
  30. package/dist/events/EventBus.js +5 -4
  31. package/dist/events/EventBus.js.map +1 -1
  32. package/dist/events/EventBusBase.d.ts +139 -34
  33. package/dist/events/EventBusBase.d.ts.map +1 -1
  34. package/dist/events/EventBusBase.js +366 -88
  35. package/dist/events/EventBusBase.js.map +1 -1
  36. package/dist/events/EventNames.d.ts +10 -1
  37. package/dist/events/EventNames.d.ts.map +1 -1
  38. package/dist/events/EventNames.js +3 -0
  39. package/dist/events/EventNames.js.map +1 -1
  40. package/dist/events/PublicEvents.d.ts +6 -2
  41. package/dist/events/PublicEvents.d.ts.map +1 -1
  42. package/dist/events/PublicEvents.js +7 -4
  43. package/dist/events/PublicEvents.js.map +1 -1
  44. package/dist/events/ServerEventBus.d.ts +23 -112
  45. package/dist/events/ServerEventBus.d.ts.map +1 -1
  46. package/dist/events/ServerEventBus.js +58 -323
  47. package/dist/events/ServerEventBus.js.map +1 -1
  48. package/dist/events/event-definitions/LlmBudgetEvents.d.ts +68 -0
  49. package/dist/events/event-definitions/LlmBudgetEvents.d.ts.map +1 -0
  50. package/dist/events/event-definitions/LlmBudgetEvents.js +35 -0
  51. package/dist/events/event-definitions/LlmBudgetEvents.js.map +1 -0
  52. package/dist/interfaces/IMemoryPersistence.d.ts +41 -0
  53. package/dist/interfaces/IMemoryPersistence.d.ts.map +1 -0
  54. package/dist/interfaces/IMemoryPersistence.js +15 -0
  55. package/dist/interfaces/IMemoryPersistence.js.map +1 -0
  56. package/dist/middleware/MxpMiddleware.d.ts +8 -1
  57. package/dist/middleware/MxpMiddleware.d.ts.map +1 -1
  58. package/dist/middleware/MxpMiddleware.js +42 -20
  59. package/dist/middleware/MxpMiddleware.js.map +1 -1
  60. package/dist/models/channelKey.d.ts +1 -0
  61. package/dist/models/channelKey.d.ts.map +1 -1
  62. package/dist/models/channelKey.js +5 -0
  63. package/dist/models/channelKey.js.map +1 -1
  64. package/dist/models/memoryUtility.d.ts +39 -0
  65. package/dist/models/memoryUtility.d.ts.map +1 -0
  66. package/dist/models/memoryUtility.js +39 -0
  67. package/dist/models/memoryUtility.js.map +1 -0
  68. package/dist/models/user.d.ts.map +1 -1
  69. package/dist/models/user.js +23 -1
  70. package/dist/models/user.js.map +1 -1
  71. package/dist/mxp/BinaryProtocolLayer.d.ts +24 -8
  72. package/dist/mxp/BinaryProtocolLayer.d.ts.map +1 -1
  73. package/dist/mxp/BinaryProtocolLayer.js +90 -103
  74. package/dist/mxp/BinaryProtocolLayer.js.map +1 -1
  75. package/dist/mxp/ContextCompressionEngine.d.ts +57 -10
  76. package/dist/mxp/ContextCompressionEngine.d.ts.map +1 -1
  77. package/dist/mxp/ContextCompressionEngine.js +170 -128
  78. package/dist/mxp/ContextCompressionEngine.js.map +1 -1
  79. package/dist/mxp/MxpTokenOptimizer.d.ts +7 -3
  80. package/dist/mxp/MxpTokenOptimizer.d.ts.map +1 -1
  81. package/dist/mxp/MxpTokenOptimizer.js +8 -5
  82. package/dist/mxp/MxpTokenOptimizer.js.map +1 -1
  83. package/dist/prompts/MxfAgentSystemPrompt.d.ts +1 -1
  84. package/dist/prompts/MxfAgentSystemPrompt.d.ts.map +1 -1
  85. package/dist/prompts/MxfAgentSystemPrompt.js +47 -57
  86. package/dist/prompts/MxfAgentSystemPrompt.js.map +1 -1
  87. package/dist/protocols/mcp/ToolError.d.ts +123 -0
  88. package/dist/protocols/mcp/ToolError.d.ts.map +1 -0
  89. package/dist/protocols/mcp/ToolError.js +108 -0
  90. package/dist/protocols/mcp/ToolError.js.map +1 -0
  91. package/dist/protocols/mcp/defineTool.d.ts +133 -0
  92. package/dist/protocols/mcp/defineTool.d.ts.map +1 -0
  93. package/dist/protocols/mcp/defineTool.js +236 -0
  94. package/dist/protocols/mcp/defineTool.js.map +1 -0
  95. package/dist/protocols/mcp/security/HttpTargetGuard.d.ts +38 -0
  96. package/dist/protocols/mcp/security/HttpTargetGuard.d.ts.map +1 -0
  97. package/dist/protocols/mcp/security/HttpTargetGuard.js +227 -0
  98. package/dist/protocols/mcp/security/HttpTargetGuard.js.map +1 -0
  99. package/dist/protocols/mcp/security/McpSecurityGuard.d.ts +9 -1
  100. package/dist/protocols/mcp/security/McpSecurityGuard.d.ts.map +1 -1
  101. package/dist/protocols/mcp/security/McpSecurityGuard.js +10 -2
  102. package/dist/protocols/mcp/security/McpSecurityGuard.js.map +1 -1
  103. package/dist/protocols/mcp/security/McpToolPolicy.d.ts +81 -0
  104. package/dist/protocols/mcp/security/McpToolPolicy.d.ts.map +1 -0
  105. package/dist/protocols/mcp/security/McpToolPolicy.js +202 -0
  106. package/dist/protocols/mcp/security/McpToolPolicy.js.map +1 -0
  107. package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts +51 -18
  108. package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts.map +1 -1
  109. package/dist/protocols/mcp/services/ExternalMcpServerManager.js +256 -283
  110. package/dist/protocols/mcp/services/ExternalMcpServerManager.js.map +1 -1
  111. package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts +39 -6
  112. package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts.map +1 -1
  113. package/dist/protocols/mcp/services/ExternalServerConfigs.js +76 -18
  114. package/dist/protocols/mcp/services/ExternalServerConfigs.js.map +1 -1
  115. package/dist/protocols/mcp/tools/AnalyticsTools.js +1 -1
  116. package/dist/protocols/mcp/tools/AnalyticsTools.js.map +1 -1
  117. package/dist/protocols/mcp/tools/CodeAnalysisTools.d.ts.map +1 -1
  118. package/dist/protocols/mcp/tools/CodeAnalysisTools.js +15 -0
  119. package/dist/protocols/mcp/tools/CodeAnalysisTools.js.map +1 -1
  120. package/dist/protocols/mcp/tools/EffectivenessTools.js +3 -3
  121. package/dist/protocols/mcp/tools/EffectivenessTools.js.map +1 -1
  122. package/dist/protocols/mcp/tools/GitTools.d.ts +9 -369
  123. package/dist/protocols/mcp/tools/GitTools.d.ts.map +1 -1
  124. package/dist/protocols/mcp/tools/GitTools.js +222 -517
  125. package/dist/protocols/mcp/tools/GitTools.js.map +1 -1
  126. package/dist/protocols/mcp/tools/InfrastructureTools.d.ts +56 -24
  127. package/dist/protocols/mcp/tools/InfrastructureTools.d.ts.map +1 -1
  128. package/dist/protocols/mcp/tools/InfrastructureTools.js +117 -26
  129. package/dist/protocols/mcp/tools/InfrastructureTools.js.map +1 -1
  130. package/dist/protocols/mcp/tools/MemorySearchTools.d.ts +0 -3
  131. package/dist/protocols/mcp/tools/MemorySearchTools.d.ts.map +1 -1
  132. package/dist/protocols/mcp/tools/MemorySearchTools.js +58 -1
  133. package/dist/protocols/mcp/tools/MemorySearchTools.js.map +1 -1
  134. package/dist/protocols/mcp/tools/OrparTools.d.ts +8 -0
  135. package/dist/protocols/mcp/tools/OrparTools.d.ts.map +1 -1
  136. package/dist/protocols/mcp/tools/OrparTools.js +66 -0
  137. package/dist/protocols/mcp/tools/OrparTools.js.map +1 -1
  138. package/dist/protocols/mcp/tools/SafetyTools.d.ts +7 -525
  139. package/dist/protocols/mcp/tools/SafetyTools.d.ts.map +1 -1
  140. package/dist/protocols/mcp/tools/SafetyTools.js +349 -514
  141. package/dist/protocols/mcp/tools/SafetyTools.js.map +1 -1
  142. package/dist/protocols/mcp/tools/TaskPlanningTools.d.ts.map +1 -1
  143. package/dist/protocols/mcp/tools/TaskPlanningTools.js +56 -26
  144. package/dist/protocols/mcp/tools/TaskPlanningTools.js.map +1 -1
  145. package/dist/protocols/mcp/tools/TestTools.d.ts +15 -376
  146. package/dist/protocols/mcp/tools/TestTools.d.ts.map +1 -1
  147. package/dist/protocols/mcp/tools/TestTools.js +241 -363
  148. package/dist/protocols/mcp/tools/TestTools.js.map +1 -1
  149. package/dist/protocols/mcp/tools/TypeScriptTools.d.ts +6 -276
  150. package/dist/protocols/mcp/tools/TypeScriptTools.d.ts.map +1 -1
  151. package/dist/protocols/mcp/tools/TypeScriptTools.js +223 -337
  152. package/dist/protocols/mcp/tools/TypeScriptTools.js.map +1 -1
  153. package/dist/protocols/mcp/tools/WebTools.d.ts +15 -728
  154. package/dist/protocols/mcp/tools/WebTools.d.ts.map +1 -1
  155. package/dist/protocols/mcp/tools/WebTools.js +151 -257
  156. package/dist/protocols/mcp/tools/WebTools.js.map +1 -1
  157. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.d.ts +5 -3
  158. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.d.ts.map +1 -1
  159. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js +31 -6
  160. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js.map +1 -1
  161. package/dist/schemas/EventPayloadSchema.d.ts +21 -0
  162. package/dist/schemas/EventPayloadSchema.d.ts.map +1 -1
  163. package/dist/schemas/EventPayloadSchema.js +14 -0
  164. package/dist/schemas/EventPayloadSchema.js.map +1 -1
  165. package/dist/services/BackgroundTaskManager.d.ts.map +1 -1
  166. package/dist/services/BackgroundTaskManager.js +12 -4
  167. package/dist/services/BackgroundTaskManager.js.map +1 -1
  168. package/dist/services/BrowserManager.d.ts +1 -1
  169. package/dist/services/BrowserManager.d.ts.map +1 -1
  170. package/dist/services/BrowserManager.js +26 -3
  171. package/dist/services/BrowserManager.js.map +1 -1
  172. package/dist/services/MemoryCompressor.d.ts +11 -2
  173. package/dist/services/MemoryCompressor.d.ts.map +1 -1
  174. package/dist/services/MemoryCompressor.js +8 -26
  175. package/dist/services/MemoryCompressor.js.map +1 -1
  176. package/dist/services/MemoryService.d.ts +16 -3
  177. package/dist/services/MemoryService.d.ts.map +1 -1
  178. package/dist/services/MemoryService.js +79 -55
  179. package/dist/services/MemoryService.js.map +1 -1
  180. package/dist/services/PredictiveAnalyticsService.d.ts +34 -4
  181. package/dist/services/PredictiveAnalyticsService.d.ts.map +1 -1
  182. package/dist/services/PredictiveAnalyticsService.js +41 -25
  183. package/dist/services/PredictiveAnalyticsService.js.map +1 -1
  184. package/dist/services/QValueManager.d.ts +7 -0
  185. package/dist/services/QValueManager.d.ts.map +1 -1
  186. package/dist/services/QValueManager.js +9 -0
  187. package/dist/services/QValueManager.js.map +1 -1
  188. package/dist/services/RewardSignalProcessor.d.ts +38 -1
  189. package/dist/services/RewardSignalProcessor.d.ts.map +1 -1
  190. package/dist/services/RewardSignalProcessor.js +109 -7
  191. package/dist/services/RewardSignalProcessor.js.map +1 -1
  192. package/dist/services/SharedStateService.d.ts +16 -2
  193. package/dist/services/SharedStateService.d.ts.map +1 -1
  194. package/dist/services/SharedStateService.js +44 -3
  195. package/dist/services/SharedStateService.js.map +1 -1
  196. package/dist/services/TaskEffectivenessService.d.ts +34 -18
  197. package/dist/services/TaskEffectivenessService.d.ts.map +1 -1
  198. package/dist/services/TaskEffectivenessService.js +91 -155
  199. package/dist/services/TaskEffectivenessService.js.map +1 -1
  200. package/dist/services/WebSearchService.d.ts.map +1 -1
  201. package/dist/services/WebSearchService.js.map +1 -1
  202. package/dist/services/dag/TaskDagService.d.ts.map +1 -1
  203. package/dist/services/dag/TaskDagService.js +2 -0
  204. package/dist/services/dag/TaskDagService.js.map +1 -1
  205. package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts +7 -0
  206. package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts.map +1 -1
  207. package/dist/services/orpar-memory/OrparMemoryCoordinator.js +71 -10
  208. package/dist/services/orpar-memory/OrparMemoryCoordinator.js.map +1 -1
  209. package/dist/types/MemoryUtilityTypes.d.ts +2 -0
  210. package/dist/types/MemoryUtilityTypes.d.ts.map +1 -1
  211. package/dist/types/MemoryUtilityTypes.js.map +1 -1
  212. package/dist/utils/Logger.d.ts +43 -3
  213. package/dist/utils/Logger.d.ts.map +1 -1
  214. package/dist/utils/Logger.js +78 -36
  215. package/dist/utils/Logger.js.map +1 -1
  216. package/dist/utils/MxpEncryption.d.ts +19 -6
  217. package/dist/utils/MxpEncryption.d.ts.map +1 -1
  218. package/dist/utils/MxpEncryption.js +48 -16
  219. package/dist/utils/MxpEncryption.js.map +1 -1
  220. package/package.json +19 -4
  221. package/src/adapters/FrameworkAdapter.ts +1 -1
  222. package/src/config/ConfigManager.ts +52 -19
  223. package/src/config/memory-strata.config.ts +136 -0
  224. package/src/constants/ToolNames.ts +4 -18
  225. package/src/database/DatabaseAdapterFactory.ts +23 -6
  226. package/src/database/adapters/mongodb/MongoBaseRepository.ts +16 -2
  227. package/src/events/ClientEventBus.ts +68 -403
  228. package/src/events/EventBus.ts +7 -8
  229. package/src/events/EventBusBase.ts +479 -116
  230. package/src/events/EventNames.ts +6 -0
  231. package/src/events/PublicEvents.ts +7 -4
  232. package/src/events/ServerEventBus.ts +78 -473
  233. package/src/events/event-definitions/LlmBudgetEvents.ts +74 -0
  234. package/src/interfaces/IMemoryPersistence.ts +51 -0
  235. package/src/middleware/MxpMiddleware.ts +51 -24
  236. package/src/models/channelKey.ts +18 -4
  237. package/src/models/memoryUtility.ts +64 -0
  238. package/src/models/user.ts +36 -4
  239. package/src/mxp/BinaryProtocolLayer.ts +108 -124
  240. package/src/mxp/ContextCompressionEngine.ts +219 -161
  241. package/src/mxp/MxpTokenOptimizer.ts +10 -10
  242. package/src/prompts/MxfAgentSystemPrompt.ts +45 -55
  243. package/src/protocols/mcp/ToolError.ts +201 -0
  244. package/src/protocols/mcp/defineTool.ts +379 -0
  245. package/src/protocols/mcp/security/HttpTargetGuard.ts +267 -0
  246. package/src/protocols/mcp/security/McpSecurityGuard.ts +10 -3
  247. package/src/protocols/mcp/security/McpToolPolicy.ts +221 -0
  248. package/src/protocols/mcp/services/ExternalMcpServerManager.ts +340 -322
  249. package/src/protocols/mcp/services/ExternalServerConfigs.ts +82 -19
  250. package/src/protocols/mcp/tools/AnalyticsTools.ts +1 -1
  251. package/src/protocols/mcp/tools/CodeAnalysisTools.ts +15 -0
  252. package/src/protocols/mcp/tools/EffectivenessTools.ts +3 -3
  253. package/src/protocols/mcp/tools/GitTools.ts +290 -569
  254. package/src/protocols/mcp/tools/InfrastructureTools.ts +189 -43
  255. package/src/protocols/mcp/tools/MemorySearchTools.ts +77 -1
  256. package/src/protocols/mcp/tools/OrparTools.ts +87 -0
  257. package/src/protocols/mcp/tools/SafetyTools.ts +501 -579
  258. package/src/protocols/mcp/tools/TaskPlanningTools.ts +81 -39
  259. package/src/protocols/mcp/tools/TestTools.ts +339 -419
  260. package/src/protocols/mcp/tools/TypeScriptTools.ts +316 -376
  261. package/src/protocols/mcp/tools/WebTools.ts +209 -307
  262. package/src/protocols/mcp/tools/shell/ShellExecuteHandler.ts +53 -14
  263. package/src/schemas/EventPayloadSchema.ts +37 -0
  264. package/src/services/BackgroundTaskManager.ts +12 -4
  265. package/src/services/BrowserManager.ts +41 -1
  266. package/src/services/MemoryCompressor.ts +20 -32
  267. package/src/services/MemoryService.ts +96 -58
  268. package/src/services/PredictiveAnalyticsService.ts +55 -32
  269. package/src/services/QValueManager.ts +10 -0
  270. package/src/services/RewardSignalProcessor.ts +138 -9
  271. package/src/services/SharedStateService.ts +56 -8
  272. package/src/services/TaskEffectivenessService.ts +114 -187
  273. package/src/services/WebSearchService.ts +2 -1
  274. package/src/services/dag/TaskDagService.ts +2 -0
  275. package/src/services/orpar-memory/OrparMemoryCoordinator.ts +86 -10
  276. package/src/types/MemoryUtilityTypes.ts +2 -0
  277. package/src/utils/Logger.ts +116 -40
  278. package/src/utils/MxpEncryption.ts +69 -34
  279. package/dist/mxp/MxpEventForwardingEnhancer.d.ts +0 -134
  280. package/dist/mxp/MxpEventForwardingEnhancer.d.ts.map +0 -1
  281. package/dist/mxp/MxpEventForwardingEnhancer.js +0 -361
  282. package/dist/mxp/MxpEventForwardingEnhancer.js.map +0 -1
  283. package/dist/protocols/mcp/services/ToolSchemaEnhancements.d.ts +0 -56
  284. package/dist/protocols/mcp/services/ToolSchemaEnhancements.d.ts.map +0 -1
  285. package/dist/protocols/mcp/services/ToolSchemaEnhancements.js +0 -57
  286. package/dist/protocols/mcp/services/ToolSchemaEnhancements.js.map +0 -1
  287. package/dist/protocols/mcp/tools/ControlLoopLifecycle.d.ts +0 -270
  288. package/dist/protocols/mcp/tools/ControlLoopLifecycle.d.ts.map +0 -1
  289. package/dist/protocols/mcp/tools/ControlLoopLifecycle.js +0 -256
  290. package/dist/protocols/mcp/tools/ControlLoopLifecycle.js.map +0 -1
  291. package/dist/protocols/mcp/tools/LspTools.d.ts +0 -495
  292. package/dist/protocols/mcp/tools/LspTools.d.ts.map +0 -1
  293. package/dist/protocols/mcp/tools/LspTools.js +0 -469
  294. package/dist/protocols/mcp/tools/LspTools.js.map +0 -1
  295. package/src/mxp/MxpEventForwardingEnhancer.ts +0 -471
  296. package/src/protocols/mcp/services/ToolSchemaEnhancements.ts +0 -92
  297. package/src/protocols/mcp/tools/ControlLoopLifecycle.ts +0 -302
  298. package/src/protocols/mcp/tools/LspTools.ts +0 -476
@@ -1,476 +0,0 @@
1
- /**
2
- * LSP MCP Tools
3
- *
4
- * MCP tools for Language Server Protocol operations.
5
- * Provides code intelligence capabilities to agents.
6
- *
7
- * Feature flag: LSP_ENABLED
8
- */
9
-
10
- /**
11
- * LSP tool definitions
12
- *
13
- * These tools expose language server capabilities as MCP tools.
14
- * All tools are disabled by default and require LSP_ENABLED=true.
15
- */
16
- export const lspTools = [
17
- {
18
- name: 'lsp_goto_definition',
19
- description: 'Navigate to the definition of a symbol at a specific location in a source file. Returns precise file path and position.',
20
- inputSchema: {
21
- type: 'object',
22
- properties: {
23
- file: {
24
- type: 'string',
25
- description: 'Absolute path to the source file',
26
- },
27
- line: {
28
- type: 'number',
29
- description: 'Line number (1-indexed)',
30
- },
31
- character: {
32
- type: 'number',
33
- description: 'Character position in the line (1-indexed)',
34
- },
35
- },
36
- required: ['file', 'line', 'character'],
37
- },
38
- examples: [
39
- {
40
- input: {
41
- file: '/project/src/services/UserService.ts',
42
- line: 42,
43
- character: 15,
44
- },
45
- output: {
46
- success: true,
47
- locations: [
48
- {
49
- file: '/project/src/models/User.ts',
50
- line: 10,
51
- character: 14,
52
- endLine: 10,
53
- endCharacter: 25,
54
- },
55
- ],
56
- },
57
- description: 'Find the definition of the symbol at line 42, character 15',
58
- },
59
- ],
60
- metadata: {
61
- category: 'lsp',
62
- requiresFeature: 'lsp',
63
- timeout: 30000,
64
- tags: ['code-navigation', 'semantic-analysis', 'definition'],
65
- },
66
- },
67
-
68
- {
69
- name: 'lsp_find_references',
70
- description: 'Find all references to a symbol across the entire project. Useful for impact analysis and refactoring.',
71
- inputSchema: {
72
- type: 'object',
73
- properties: {
74
- file: {
75
- type: 'string',
76
- description: 'Absolute path to the source file',
77
- },
78
- line: {
79
- type: 'number',
80
- description: 'Line number (1-indexed)',
81
- },
82
- character: {
83
- type: 'number',
84
- description: 'Character position in the line (1-indexed)',
85
- },
86
- includeDeclaration: {
87
- type: 'boolean',
88
- description: 'Include the declaration in results (default: true)',
89
- default: true,
90
- },
91
- },
92
- required: ['file', 'line', 'character'],
93
- },
94
- examples: [
95
- {
96
- input: {
97
- file: '/project/src/utils/helpers.ts',
98
- line: 10,
99
- character: 20,
100
- includeDeclaration: true,
101
- },
102
- output: {
103
- success: true,
104
- references: [
105
- {
106
- file: '/project/src/utils/helpers.ts',
107
- line: 10,
108
- character: 20,
109
- },
110
- {
111
- file: '/project/src/services/UserService.ts',
112
- line: 5,
113
- character: 30,
114
- },
115
- ],
116
- totalCount: 2,
117
- },
118
- description: 'Find all usages of the function defined at line 10',
119
- },
120
- ],
121
- metadata: {
122
- category: 'lsp',
123
- requiresFeature: 'lsp',
124
- timeout: 60000,
125
- tags: ['code-navigation', 'refactoring', 'impact-analysis', 'references'],
126
- },
127
- },
128
-
129
- {
130
- name: 'lsp_diagnostics',
131
- description: 'Get real-time errors, warnings, and hints for a file. Provides type checking and linting results without running a build.',
132
- inputSchema: {
133
- type: 'object',
134
- properties: {
135
- file: {
136
- type: 'string',
137
- description: 'Absolute path to the source file',
138
- },
139
- severity: {
140
- type: 'string',
141
- enum: ['error', 'warning', 'information', 'hint', 'all'],
142
- description: 'Filter by severity level (default: all)',
143
- default: 'all',
144
- },
145
- },
146
- required: ['file'],
147
- },
148
- examples: [
149
- {
150
- input: {
151
- file: '/project/src/components/Button.tsx',
152
- severity: 'error',
153
- },
154
- output: {
155
- success: true,
156
- diagnostics: [
157
- {
158
- file: '/project/src/components/Button.tsx',
159
- line: 15,
160
- character: 10,
161
- endLine: 15,
162
- endCharacter: 20,
163
- severity: 'error',
164
- message: 'Property "onClick" is missing in type',
165
- code: 2339,
166
- source: 'typescript',
167
- },
168
- ],
169
- counts: {
170
- errors: 1,
171
- warnings: 0,
172
- information: 0,
173
- hints: 0,
174
- },
175
- },
176
- description: 'Get only errors for the Button component',
177
- },
178
- ],
179
- metadata: {
180
- category: 'lsp',
181
- requiresFeature: 'lsp',
182
- timeout: 10000,
183
- tags: ['validation', 'type-checking', 'linting', 'diagnostics'],
184
- },
185
- },
186
-
187
- {
188
- name: 'lsp_hover',
189
- description: 'Get type information and documentation for a symbol. Shows the same information as hovering in an IDE.',
190
- inputSchema: {
191
- type: 'object',
192
- properties: {
193
- file: {
194
- type: 'string',
195
- description: 'Absolute path to the source file',
196
- },
197
- line: {
198
- type: 'number',
199
- description: 'Line number (1-indexed)',
200
- },
201
- character: {
202
- type: 'number',
203
- description: 'Character position in the line (1-indexed)',
204
- },
205
- },
206
- required: ['file', 'line', 'character'],
207
- },
208
- examples: [
209
- {
210
- input: {
211
- file: '/project/src/types.ts',
212
- line: 15,
213
- character: 8,
214
- },
215
- output: {
216
- success: true,
217
- contents: '```typescript\ninterface User {\n id: string;\n name: string;\n}\n```\nUser interface representing a system user',
218
- range: {
219
- start: { line: 15, character: 8 },
220
- end: { line: 15, character: 12 },
221
- },
222
- },
223
- description: 'Get type information for the symbol at line 15',
224
- },
225
- ],
226
- metadata: {
227
- category: 'lsp',
228
- requiresFeature: 'lsp',
229
- timeout: 5000,
230
- tags: ['documentation', 'type-information', 'hover'],
231
- },
232
- },
233
-
234
- {
235
- name: 'lsp_document_symbols',
236
- description: 'Get the symbol outline for a file (functions, classes, variables). Provides a structural overview of the file.',
237
- inputSchema: {
238
- type: 'object',
239
- properties: {
240
- file: {
241
- type: 'string',
242
- description: 'Absolute path to the source file',
243
- },
244
- },
245
- required: ['file'],
246
- },
247
- examples: [
248
- {
249
- input: {
250
- file: '/project/src/controllers/AuthController.ts',
251
- },
252
- output: {
253
- success: true,
254
- symbols: [
255
- {
256
- name: 'AuthController',
257
- kind: 'class',
258
- location: {
259
- file: '/project/src/controllers/AuthController.ts',
260
- line: 10,
261
- character: 14,
262
- },
263
- children: [
264
- {
265
- name: 'login',
266
- kind: 'method',
267
- location: {
268
- file: '/project/src/controllers/AuthController.ts',
269
- line: 15,
270
- character: 10,
271
- },
272
- },
273
- ],
274
- },
275
- ],
276
- },
277
- description: 'Get all symbols defined in AuthController',
278
- },
279
- ],
280
- metadata: {
281
- category: 'lsp',
282
- requiresFeature: 'lsp',
283
- timeout: 10000,
284
- tags: ['code-navigation', 'documentation', 'symbols', 'outline'],
285
- },
286
- },
287
-
288
- {
289
- name: 'lsp_workspace_symbols',
290
- description: 'Search for symbols across the entire workspace. Supports fuzzy matching for quick symbol lookup.',
291
- inputSchema: {
292
- type: 'object',
293
- properties: {
294
- query: {
295
- type: 'string',
296
- description: 'Symbol name query (supports fuzzy matching)',
297
- },
298
- projectRoot: {
299
- type: 'string',
300
- description: 'Project root directory (defaults to current workspace)',
301
- },
302
- limit: {
303
- type: 'number',
304
- description: 'Maximum number of results (default: 100)',
305
- default: 100,
306
- },
307
- },
308
- required: ['query'],
309
- },
310
- examples: [
311
- {
312
- input: {
313
- query: 'UserService',
314
- limit: 50,
315
- },
316
- output: {
317
- success: true,
318
- symbols: [
319
- {
320
- name: 'UserService',
321
- kind: 'class',
322
- location: {
323
- file: '/project/src/services/UserService.ts',
324
- line: 10,
325
- character: 14,
326
- },
327
- containerName: undefined,
328
- },
329
- ],
330
- totalCount: 1,
331
- },
332
- description: 'Find all symbols matching "UserService"',
333
- },
334
- ],
335
- metadata: {
336
- category: 'lsp',
337
- requiresFeature: 'lsp',
338
- timeout: 30000,
339
- tags: ['code-navigation', 'search', 'symbols', 'workspace'],
340
- },
341
- },
342
-
343
- {
344
- name: 'lsp_completions',
345
- description: 'Get context-aware code completions at a specific position. Returns available symbols, methods, and properties.',
346
- inputSchema: {
347
- type: 'object',
348
- properties: {
349
- file: {
350
- type: 'string',
351
- description: 'Absolute path to the source file',
352
- },
353
- line: {
354
- type: 'number',
355
- description: 'Line number (1-indexed)',
356
- },
357
- character: {
358
- type: 'number',
359
- description: 'Character position in the line (1-indexed)',
360
- },
361
- triggerCharacter: {
362
- type: 'string',
363
- description: 'Character that triggered completion (e.g., ".", ":")',
364
- maxLength: 1,
365
- },
366
- limit: {
367
- type: 'number',
368
- description: 'Maximum number of completions to return (default: 50)',
369
- default: 50,
370
- },
371
- },
372
- required: ['file', 'line', 'character'],
373
- },
374
- examples: [
375
- {
376
- input: {
377
- file: '/project/src/index.ts',
378
- line: 25,
379
- character: 10,
380
- triggerCharacter: '.',
381
- limit: 20,
382
- },
383
- output: {
384
- success: true,
385
- items: [
386
- {
387
- label: 'toString',
388
- kind: 'method',
389
- detail: '(): string',
390
- insertText: 'toString()',
391
- insertTextFormat: 'plaintext',
392
- },
393
- ],
394
- isIncomplete: false,
395
- },
396
- description: 'Get completions after typing a dot',
397
- },
398
- ],
399
- metadata: {
400
- category: 'lsp',
401
- requiresFeature: 'lsp',
402
- timeout: 5000,
403
- tags: ['code-generation', 'autocomplete', 'completions'],
404
- },
405
- },
406
-
407
- {
408
- name: 'lsp_rename',
409
- description: 'Compute all edits required to rename a symbol across the project. Returns preview by default, does not apply changes.',
410
- inputSchema: {
411
- type: 'object',
412
- properties: {
413
- file: {
414
- type: 'string',
415
- description: 'Absolute path to the source file',
416
- },
417
- line: {
418
- type: 'number',
419
- description: 'Line number (1-indexed)',
420
- },
421
- character: {
422
- type: 'number',
423
- description: 'Character position in the line (1-indexed)',
424
- },
425
- newName: {
426
- type: 'string',
427
- description: 'New name for the symbol',
428
- },
429
- preview: {
430
- type: 'boolean',
431
- description: 'Only preview changes, do not apply (default: true)',
432
- default: true,
433
- },
434
- },
435
- required: ['file', 'line', 'character', 'newName'],
436
- },
437
- examples: [
438
- {
439
- input: {
440
- file: '/project/src/services/api.ts',
441
- line: 5,
442
- character: 15,
443
- newName: 'fetchUserData',
444
- preview: true,
445
- },
446
- output: {
447
- success: true,
448
- edits: [
449
- {
450
- file: '/project/src/services/api.ts',
451
- edits: [
452
- {
453
- range: {
454
- start: { line: 5, character: 15 },
455
- end: { line: 5, character: 23 },
456
- },
457
- newText: 'fetchUserData',
458
- },
459
- ],
460
- },
461
- ],
462
- filesAffected: 3,
463
- locationsAffected: 12,
464
- preview: true,
465
- },
466
- description: 'Preview renaming a function to fetchUserData',
467
- },
468
- ],
469
- metadata: {
470
- category: 'lsp',
471
- requiresFeature: 'lsp',
472
- timeout: 60000,
473
- tags: ['refactoring', 'code-modification', 'rename'],
474
- },
475
- },
476
- ];