0xray 2.1.2 → 2.1.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 (250) hide show
  1. package/.opencode/codex.codex +1 -1
  2. package/.opencode/commands/dependency-audit.md +3 -3
  3. package/.opencode/enforcer-config.json +2 -2
  4. package/AGENTS.md +2 -1
  5. package/README.md +12 -11
  6. package/dist/AGENTS.md +2 -1
  7. package/dist/CHANGELOG.md +26 -0
  8. package/dist/README.md +12 -11
  9. package/dist/agents/code-reviewer.js +1 -1
  10. package/dist/analytics/routing-refiner.js +1 -1
  11. package/dist/cli/index.js +11 -1
  12. package/dist/cli/server.js +3 -3
  13. package/dist/core/activity-logger.d.ts +2 -2
  14. package/dist/core/activity-logger.js +4 -4
  15. package/dist/core/boot-orchestrator.d.ts +1 -1
  16. package/dist/core/boot-orchestrator.js +13 -28
  17. package/dist/core/bridge.mjs +3 -3
  18. package/dist/core/codex-formatter.js +2 -2
  19. package/dist/core/codex-injector.d.ts +0 -1
  20. package/dist/core/codex-injector.js +2 -3
  21. package/dist/core/config-loader.d.ts +1 -1
  22. package/dist/core/config-loader.js +1 -1
  23. package/dist/core/config-paths.d.ts +0 -2
  24. package/dist/core/config-paths.js +7 -8
  25. package/dist/core/context-loader.d.ts +1 -1
  26. package/dist/core/context-loader.js +1 -1
  27. package/dist/core/errors.d.ts +3 -0
  28. package/dist/core/errors.js +10 -0
  29. package/dist/core/features-config.js +1 -1
  30. package/dist/core/framework-logger.d.ts +3 -3
  31. package/dist/core/framework-logger.js +17 -9
  32. package/dist/core/index.d.ts +2 -2
  33. package/dist/core/index.js +4 -2
  34. package/dist/core/logging-config.d.ts +2 -1
  35. package/dist/core/logging-config.js +7 -7
  36. package/dist/enforcement/loaders/codex-loader.js +1 -1
  37. package/dist/execution/opencode-cli-invoker.js +5 -5
  38. package/dist/governance/governance-service.js +1 -1
  39. package/dist/index.d.ts +3 -3
  40. package/dist/index.js +3 -3
  41. package/dist/inference/inference-cycle.d.ts +1 -1
  42. package/dist/inference/inference-cycle.js +10 -10
  43. package/dist/integrations/base/Integration.js +1 -1
  44. package/dist/integrations/base/registry.js +19 -19
  45. package/dist/integrations/grok/grok-cli.js +17 -17
  46. package/dist/integrations/grok/hooks/pre-tool-use.js +1 -1
  47. package/dist/integrations/hermes-agent/bridge.mjs +1 -1
  48. package/dist/integrations/openclaw/api-server.d.ts +0 -1
  49. package/dist/integrations/openclaw/api-server.js +7 -10
  50. package/dist/integrations/openclaw/client.d.ts +0 -1
  51. package/dist/integrations/openclaw/client.js +22 -24
  52. package/dist/integrations/openclaw/hooks/xray-hooks.d.ts +0 -1
  53. package/dist/integrations/openclaw/hooks/xray-hooks.js +17 -18
  54. package/dist/integrations/plugins/plugin-registry.js +5 -5
  55. package/dist/mcps/architect-tools.server.d.ts +2 -4
  56. package/dist/mcps/architect-tools.server.js +112 -195
  57. package/dist/mcps/auto-format.server.d.ts +2 -4
  58. package/dist/mcps/auto-format.server.js +49 -95
  59. package/dist/mcps/boot-orchestrator.server.d.ts +2 -4
  60. package/dist/mcps/boot-orchestrator.server.js +73 -105
  61. package/dist/mcps/config/server-config-registry.js +3 -3
  62. package/dist/mcps/enforcer-tools.server.d.ts +2 -4
  63. package/dist/mcps/enforcer-tools.server.js +202 -285
  64. package/dist/mcps/estimation.server.d.ts +2 -4
  65. package/dist/mcps/estimation.server.js +63 -107
  66. package/dist/mcps/framework-compliance-audit.server.d.ts +2 -4
  67. package/dist/mcps/framework-compliance-audit.server.js +53 -82
  68. package/dist/mcps/framework-help.server.d.ts +2 -4
  69. package/dist/mcps/framework-help.server.js +63 -101
  70. package/dist/mcps/governance.server.js +2 -2
  71. package/dist/mcps/knowledge-skills/api-design.server.d.ts +2 -4
  72. package/dist/mcps/knowledge-skills/api-design.server.js +35 -67
  73. package/dist/mcps/knowledge-skills/architecture-patterns.server.d.ts +2 -10
  74. package/dist/mcps/knowledge-skills/architecture-patterns.server.js +35 -74
  75. package/dist/mcps/knowledge-skills/bug-triage-specialist.server.d.ts +2 -4
  76. package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +143 -162
  77. package/dist/mcps/knowledge-skills/code-analyzer.server.d.ts +3 -4
  78. package/dist/mcps/knowledge-skills/code-analyzer.server.js +20 -45
  79. package/dist/mcps/knowledge-skills/code-review.server.d.ts +2 -4
  80. package/dist/mcps/knowledge-skills/code-review.server.js +109 -143
  81. package/dist/mcps/knowledge-skills/content-creator.server.d.ts +2 -4
  82. package/dist/mcps/knowledge-skills/content-creator.server.js +205 -226
  83. package/dist/mcps/knowledge-skills/database-design.server.d.ts +2 -4
  84. package/dist/mcps/knowledge-skills/database-design.server.js +117 -151
  85. package/dist/mcps/knowledge-skills/devops-deployment.server.d.ts +2 -4
  86. package/dist/mcps/knowledge-skills/devops-deployment.server.js +71 -160
  87. package/dist/mcps/knowledge-skills/git-workflow.server.d.ts +2 -4
  88. package/dist/mcps/knowledge-skills/git-workflow.server.js +36 -68
  89. package/dist/mcps/knowledge-skills/growth-strategist.server.d.ts +2 -4
  90. package/dist/mcps/knowledge-skills/growth-strategist.server.js +303 -324
  91. package/dist/mcps/knowledge-skills/log-monitor.server.d.ts +2 -4
  92. package/dist/mcps/knowledge-skills/log-monitor.server.js +141 -160
  93. package/dist/mcps/knowledge-skills/mobile-development.server.d.ts +2 -4
  94. package/dist/mcps/knowledge-skills/mobile-development.server.js +92 -209
  95. package/dist/mcps/knowledge-skills/multimodal-looker.server.d.ts +2 -4
  96. package/dist/mcps/knowledge-skills/multimodal-looker.server.js +123 -159
  97. package/dist/mcps/knowledge-skills/performance-optimization.server.d.ts +2 -5
  98. package/dist/mcps/knowledge-skills/performance-optimization.server.js +155 -296
  99. package/dist/mcps/knowledge-skills/project-analysis.server.d.ts +2 -4
  100. package/dist/mcps/knowledge-skills/project-analysis.server.js +75 -226
  101. package/dist/mcps/knowledge-skills/refactoring-strategies.server.d.ts +2 -4
  102. package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +63 -156
  103. package/dist/mcps/knowledge-skills/security-audit.server.d.ts +2 -4
  104. package/dist/mcps/knowledge-skills/security-audit.server.js +102 -136
  105. package/dist/mcps/knowledge-skills/seo-consultant.server.d.ts +2 -4
  106. package/dist/mcps/knowledge-skills/seo-consultant.server.js +80 -203
  107. package/dist/mcps/knowledge-skills/session-management.server.d.ts +2 -4
  108. package/dist/mcps/knowledge-skills/session-management.server.js +50 -203
  109. package/dist/mcps/knowledge-skills/skill-invocation.server.d.ts +2 -4
  110. package/dist/mcps/knowledge-skills/skill-invocation.server.js +168 -347
  111. package/dist/mcps/knowledge-skills/strategist.server.d.ts +2 -11
  112. package/dist/mcps/knowledge-skills/strategist.server.js +72 -122
  113. package/dist/mcps/knowledge-skills/tech-writer.server.d.ts +2 -4
  114. package/dist/mcps/knowledge-skills/tech-writer.server.js +87 -300
  115. package/dist/mcps/knowledge-skills/testing-best-practices.server.d.ts +2 -4
  116. package/dist/mcps/knowledge-skills/testing-best-practices.server.js +147 -182
  117. package/dist/mcps/knowledge-skills/testing-strategy.server.d.ts +2 -4
  118. package/dist/mcps/knowledge-skills/testing-strategy.server.js +78 -153
  119. package/dist/mcps/knowledge-skills/ui-ux-design.server.d.ts +2 -5
  120. package/dist/mcps/knowledge-skills/ui-ux-design.server.js +90 -399
  121. package/dist/mcps/lint.server.d.ts +2 -4
  122. package/dist/mcps/lint.server.js +51 -92
  123. package/dist/mcps/mcp-client.js +2 -2
  124. package/dist/mcps/model-health-check.server.d.ts +2 -4
  125. package/dist/mcps/model-health-check.server.js +32 -60
  126. package/dist/mcps/performance-analysis.server.d.ts +2 -4
  127. package/dist/mcps/performance-analysis.server.js +57 -88
  128. package/dist/mcps/processor-pipeline.server.d.ts +2 -4
  129. package/dist/mcps/processor-pipeline.server.js +69 -100
  130. package/dist/mcps/registry.json +1 -1
  131. package/dist/mcps/researcher.server.d.ts +3 -5
  132. package/dist/mcps/researcher.server.js +81 -154
  133. package/dist/mcps/security-scan.server.d.ts +2 -4
  134. package/dist/mcps/security-scan.server.js +54 -96
  135. package/dist/mcps/shared/knowledge-skill-base.d.ts +14 -0
  136. package/dist/mcps/shared/knowledge-skill-base.js +45 -0
  137. package/dist/{security → mcps/shared}/security-scanner.js +1 -1
  138. package/dist/mcps/state-manager.server.d.ts +2 -4
  139. package/dist/mcps/state-manager.server.js +115 -160
  140. package/dist/orchestrator/orchestrator.d.ts +1 -1
  141. package/dist/orchestrator/orchestrator.js +1 -1
  142. package/dist/orchestrator/universal-registry-bridge.js +1 -1
  143. package/dist/plugin/xray-codex-injection.d.ts +1 -1
  144. package/dist/plugin/xray-codex-injection.js +1 -1
  145. package/dist/postprocessor/PostProcessor.d.ts +4 -44
  146. package/dist/postprocessor/PostProcessor.js +39 -553
  147. package/dist/postprocessor/analysis/CodeChangeAnalyzer.d.ts +11 -0
  148. package/dist/postprocessor/analysis/CodeChangeAnalyzer.js +50 -0
  149. package/dist/postprocessor/compliance/ArchitecturalComplianceChecker.d.ts +11 -0
  150. package/dist/postprocessor/compliance/ArchitecturalComplianceChecker.js +356 -0
  151. package/dist/postprocessor/config/ProcessorConfigLoader.d.ts +44 -0
  152. package/dist/postprocessor/config/ProcessorConfigLoader.js +21 -0
  153. package/dist/postprocessor/reporting/PostProcessorReporter.d.ts +19 -0
  154. package/dist/postprocessor/reporting/PostProcessorReporter.js +96 -0
  155. package/dist/postprocessor/triggers/GitHookTrigger.js +11 -11
  156. package/dist/processors/implementations/refactoring-logging-processor-wrapper.d.ts +32 -0
  157. package/dist/processors/implementations/refactoring-logging-processor-wrapper.js +95 -1
  158. package/dist/processors/processor-manager.js +346 -314
  159. package/dist/reporting/report-formatter.js +1 -1
  160. package/dist/security/security-hardener.d.ts +69 -2
  161. package/dist/security/security-hardener.js +129 -1
  162. package/dist/skills/registry.json +1 -1
  163. package/dist/state/index.d.ts +3 -5
  164. package/dist/state/index.js +1 -7
  165. package/dist/state/state-manager.d.ts +1 -1
  166. package/dist/state/state-manager.js +2 -3
  167. package/package.json +13 -10
  168. package/scripts/node/universal-version-manager.js +11 -11
  169. package/src/mcps/architect-tools.server.ts +112 -215
  170. package/src/mcps/auto-format.server.ts +50 -110
  171. package/src/mcps/boot-orchestrator.server.ts +75 -121
  172. package/src/mcps/config/__tests__/server-config-registry.test.ts +21 -12
  173. package/src/mcps/config/server-config-registry.ts +3 -3
  174. package/src/mcps/enforcer-tools.server.ts +212 -310
  175. package/src/mcps/estimation.server.ts +62 -122
  176. package/src/mcps/framework-compliance-audit.server.ts +52 -97
  177. package/src/mcps/framework-help.server.ts +64 -114
  178. package/src/mcps/governance.server.ts +2 -2
  179. package/src/mcps/knowledge-skills/api-design.server.ts +32 -77
  180. package/src/mcps/knowledge-skills/architecture-patterns.server.ts +31 -87
  181. package/src/mcps/knowledge-skills/bug-triage-specialist.server.ts +165 -193
  182. package/src/mcps/knowledge-skills/code-analyzer.server.ts +20 -55
  183. package/src/mcps/knowledge-skills/code-review.server.ts +114 -161
  184. package/src/mcps/knowledge-skills/content-creator.server.ts +218 -255
  185. package/src/mcps/knowledge-skills/database-design.server.ts +118 -165
  186. package/src/mcps/knowledge-skills/devops-deployment.server.ts +67 -172
  187. package/src/mcps/knowledge-skills/git-workflow.server.ts +32 -77
  188. package/src/mcps/knowledge-skills/growth-strategist.server.ts +324 -361
  189. package/src/mcps/knowledge-skills/log-monitor.server.ts +160 -187
  190. package/src/mcps/knowledge-skills/mobile-development.server.ts +89 -223
  191. package/src/mcps/knowledge-skills/multimodal-looker.server.ts +128 -175
  192. package/src/mcps/knowledge-skills/performance-optimization.server.ts +156 -329
  193. package/src/mcps/knowledge-skills/project-analysis.server.ts +72 -248
  194. package/src/mcps/knowledge-skills/refactoring-strategies.server.ts +59 -171
  195. package/src/mcps/knowledge-skills/security-audit.server.ts +104 -151
  196. package/src/mcps/knowledge-skills/seo-consultant.server.ts +80 -220
  197. package/src/mcps/knowledge-skills/session-management.server.ts +51 -232
  198. package/src/mcps/knowledge-skills/skill-invocation.server.ts +165 -372
  199. package/src/mcps/knowledge-skills/strategist.server.ts +72 -143
  200. package/src/mcps/knowledge-skills/tech-writer.server.ts +85 -350
  201. package/src/mcps/knowledge-skills/testing-best-practices.server.ts +146 -195
  202. package/src/mcps/knowledge-skills/testing-strategy.server.ts +75 -161
  203. package/src/mcps/knowledge-skills/ui-ux-design.server.ts +93 -487
  204. package/src/mcps/lint.server.ts +53 -107
  205. package/src/mcps/mcp-client.ts +2 -2
  206. package/src/mcps/model-health-check.server.ts +34 -71
  207. package/src/mcps/performance-analysis.server.ts +60 -104
  208. package/src/mcps/processor-pipeline.server.ts +72 -110
  209. package/src/mcps/registry.json +1 -1
  210. package/src/mcps/researcher.server.ts +88 -177
  211. package/src/mcps/security-scan.server.ts +55 -104
  212. package/src/mcps/shared/knowledge-skill-base.ts +62 -0
  213. package/src/mcps/shared/prompt-security-validator.ts +199 -0
  214. package/src/mcps/shared/security-scanner.ts +599 -0
  215. package/src/mcps/state-manager.server.ts +117 -175
  216. package/src/opencode/codex.codex +1 -1
  217. package/src/opencode/commands/dependency-audit.md +3 -3
  218. package/src/opencode/enforcer-config.json +2 -2
  219. package/src/skills/registry.json +1 -1
  220. package/xray/codex.json +1 -1
  221. package/xray/config.json +1 -1
  222. package/xray/features.json +1 -1
  223. package/xray/integrations.json +3 -3
  224. package/dist/integrations/hermes-agent/__pycache__/__init__.cpython-313.pyc +0 -0
  225. package/dist/integrations/hermes-agent/__pycache__/conftest.cpython-313-pytest-9.0.2.pyc +0 -0
  226. package/dist/integrations/hermes-agent/__pycache__/schemas.cpython-313.pyc +0 -0
  227. package/dist/integrations/hermes-agent/__pycache__/test_plugin.cpython-313-pytest-9.0.2.pyc +0 -0
  228. package/dist/integrations/hermes-agent/__pycache__/test_plugin.cpython-313.pyc +0 -0
  229. package/dist/integrations/hermes-agent/__pycache__/tools.cpython-313.pyc +0 -0
  230. package/dist/integrations/hermes-agent/conftest.py +0 -14
  231. package/dist/integrations/hermes-agent/test_plugin.py +0 -1103
  232. package/dist/processors/implementations/refactoring-logging-processor.d.ts +0 -31
  233. package/dist/processors/implementations/refactoring-logging-processor.js +0 -96
  234. package/dist/processors/implementations/session-capture-processor.d.ts +0 -14
  235. package/dist/processors/implementations/session-capture-processor.js +0 -37
  236. package/dist/scripts/activate-kernel-pipeline.d.ts +0 -7
  237. package/dist/scripts/activate-kernel-pipeline.js +0 -101
  238. package/dist/security/index.d.ts +0 -13
  239. package/dist/security/index.js +0 -13
  240. package/dist/security/security-agent-coordinator.d.ts +0 -72
  241. package/dist/security/security-agent-coordinator.js +0 -204
  242. package/dist/security/security-auditor.d.ts +0 -56
  243. package/dist/security/security-auditor.js +0 -584
  244. package/dist/security/security-hardening-system.d.ts +0 -239
  245. package/dist/security/security-hardening-system.js +0 -727
  246. package/dist/security/security-orchestration-layer.d.ts +0 -119
  247. package/dist/security/security-orchestration-layer.js +0 -496
  248. /package/dist/{security → mcps/shared}/prompt-security-validator.d.ts +0 -0
  249. /package/dist/{security → mcps/shared}/prompt-security-validator.js +0 -0
  250. /package/dist/{security → mcps/shared}/security-scanner.d.ts +0 -0
@@ -6,14 +6,10 @@
6
6
  * and performance issues in real-time.
7
7
  */
8
8
 
9
- import { Server } from "@modelcontextprotocol/sdk/server/index.js";
10
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
11
- import {
12
- CallToolRequestSchema,
13
- ListToolsRequestSchema,
14
- } from "@modelcontextprotocol/sdk/types.js";
15
9
  import * as path from "path";
16
10
  import { fileURLToPath } from "url";
11
+ import { XrayKnowledgeSkillBase } from "../shared/knowledge-skill-base.js";
12
+ import { frameworkLogger } from "../../core/framework-logger.js";
17
13
 
18
14
  interface LogEntry {
19
15
  timestamp: string;
@@ -65,8 +61,7 @@ interface LogAnomaly {
65
61
  count: number;
66
62
  }
67
63
 
68
- class LogMonitorServer {
69
- private server: Server;
64
+ class LogMonitorServer extends XrayKnowledgeSkillBase {
70
65
  private patternLibrary: LogPattern[] = [
71
66
  {
72
67
  id: "memory-leak",
@@ -116,204 +111,186 @@ class LogMonitorServer {
116
111
  ];
117
112
 
118
113
  constructor() {
119
- this.server = new Server(
120
- { name: "log-monitor", version: "2.0.1" },
121
- { capabilities: { tools: {} } },
122
- );
123
- this.setupToolHandlers();
124
- }
125
-
126
- private setupToolHandlers() {
127
- this.server.setRequestHandler(ListToolsRequestSchema, async () => ({
128
- tools: [
129
- {
130
- name: "analyze_logs",
131
- description:
132
- "Analyze log entries to identify patterns, errors, and anomalies",
133
- inputSchema: {
134
- type: "object",
135
- properties: {
136
- logs: {
137
- type: "array",
138
- items: { type: "string" },
139
- description: "Log entries to analyze",
140
- },
141
- options: {
142
- type: "object",
143
- properties: {
144
- detectPatterns: { type: "boolean", default: true },
145
- findAnomalies: { type: "boolean", default: true },
146
- timeRange: {
147
- type: "string",
148
- description: "Time range to analyze",
149
- },
114
+ super("log-monitor", "2.0.1");
115
+ this.tools = [
116
+ {
117
+ name: "analyze_logs",
118
+ description:
119
+ "Analyze log entries to identify patterns, errors, and anomalies",
120
+ inputSchema: {
121
+ type: "object",
122
+ properties: {
123
+ logs: {
124
+ type: "array",
125
+ items: { type: "string" },
126
+ description: "Log entries to analyze",
127
+ },
128
+ options: {
129
+ type: "object",
130
+ properties: {
131
+ detectPatterns: { type: "boolean", default: true },
132
+ findAnomalies: { type: "boolean", default: true },
133
+ timeRange: {
134
+ type: "string",
135
+ description: "Time range to analyze",
150
136
  },
151
137
  },
152
138
  },
153
- required: ["logs"],
154
139
  },
140
+ required: ["logs"],
155
141
  },
156
- {
157
- name: "detect_patterns",
158
- description:
159
- "Detect specific patterns in logs using regex or predefined patterns",
160
- inputSchema: {
161
- type: "object",
162
- properties: {
163
- logs: { type: "array", items: { type: "string" } },
164
- customPatterns: { type: "array", items: { type: "string" } },
165
- sensitivity: {
166
- type: "number",
167
- minimum: 0,
168
- maximum: 100,
169
- default: 80,
170
- },
142
+ },
143
+ {
144
+ name: "detect_patterns",
145
+ description:
146
+ "Detect specific patterns in logs using regex or predefined patterns",
147
+ inputSchema: {
148
+ type: "object",
149
+ properties: {
150
+ logs: { type: "array", items: { type: "string" } },
151
+ customPatterns: { type: "array", items: { type: "string" } },
152
+ sensitivity: {
153
+ type: "number",
154
+ minimum: 0,
155
+ maximum: 100,
156
+ default: 80,
171
157
  },
172
- required: ["logs"],
173
158
  },
159
+ required: ["logs"],
174
160
  },
175
- {
176
- name: "alert_on_issues",
177
- description: "Generate alerts based on log analysis thresholds",
178
- inputSchema: {
179
- type: "object",
180
- properties: {
181
- analysis: {
182
- type: "object",
183
- description: "Results from analyze_logs",
184
- },
185
- thresholds: {
186
- type: "object",
187
- properties: {
188
- errorRate: { type: "number" },
189
- warnRate: { type: "number" },
190
- criticalPatterns: {
191
- type: "array",
192
- items: { type: "string" },
193
- },
161
+ },
162
+ {
163
+ name: "alert_on_issues",
164
+ description: "Generate alerts based on log analysis thresholds",
165
+ inputSchema: {
166
+ type: "object",
167
+ properties: {
168
+ analysis: {
169
+ type: "object",
170
+ description: "Results from analyze_logs",
171
+ },
172
+ thresholds: {
173
+ type: "object",
174
+ properties: {
175
+ errorRate: { type: "number" },
176
+ warnRate: { type: "number" },
177
+ criticalPatterns: {
178
+ type: "array",
179
+ items: { type: "string" },
194
180
  },
195
181
  },
196
182
  },
197
- required: ["analysis"],
198
183
  },
184
+ required: ["analysis"],
199
185
  },
200
- {
201
- name: "correlate_events",
202
- description:
203
- "Correlate log entries across multiple sources to find related events",
204
- inputSchema: {
205
- type: "object",
206
- properties: {
207
- logSets: {
208
- type: "array",
209
- items: {
210
- type: "object",
211
- properties: {
212
- source: { type: "string" },
213
- logs: { type: "array", items: { type: "string" } },
214
- },
186
+ },
187
+ {
188
+ name: "correlate_events",
189
+ description:
190
+ "Correlate log entries across multiple sources to find related events",
191
+ inputSchema: {
192
+ type: "object",
193
+ properties: {
194
+ logSets: {
195
+ type: "array",
196
+ items: {
197
+ type: "object",
198
+ properties: {
199
+ source: { type: "string" },
200
+ logs: { type: "array", items: { type: "string" } },
215
201
  },
216
202
  },
217
- timeWindow: {
218
- type: "number",
219
- description: "Time window in seconds",
220
- },
221
203
  },
222
- required: ["logSets"],
204
+ timeWindow: {
205
+ type: "number",
206
+ description: "Time window in seconds",
207
+ },
223
208
  },
209
+ required: ["logSets"],
224
210
  },
225
- {
226
- name: "generate_report",
227
- description: "Generate a comprehensive log analysis report",
228
- inputSchema: {
229
- type: "object",
230
- properties: {
231
- analysis: { type: "object" },
232
- format: {
233
- type: "string",
234
- enum: ["json", "markdown", "html"],
235
- default: "json",
236
- },
211
+ },
212
+ {
213
+ name: "generate_report",
214
+ description: "Generate a comprehensive log analysis report",
215
+ inputSchema: {
216
+ type: "object",
217
+ properties: {
218
+ analysis: { type: "object" },
219
+ format: {
220
+ type: "string",
221
+ enum: ["json", "markdown", "html"],
222
+ default: "json",
237
223
  },
238
- required: ["analysis"],
239
224
  },
225
+ required: ["analysis"],
240
226
  },
241
- ],
242
- }));
243
-
244
- this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
245
- const { name, arguments: args = {} } = request.params;
246
-
247
- try {
227
+ },
228
+ ];
229
+ this.handlers = {
230
+ "analyze_logs": async (args) => {
248
231
  const params = args as Record<string, unknown>;
249
- switch (name) {
250
- case "analyze_logs": {
251
- const result = this.analyzeLogs(
252
- (params.logs as string[]) || [],
253
- (params.options as Record<string, unknown>) || {},
254
- );
255
- return {
256
- content: [
257
- { type: "text", text: JSON.stringify(result, null, 2) },
258
- ],
259
- };
260
- }
261
- case "detect_patterns": {
262
- const result = this.detectPatterns(
263
- (params.logs as string[]) || [],
264
- (params.customPatterns as string[]) || [],
265
- (params.sensitivity as number) || 80,
266
- );
267
- return {
268
- content: [
269
- { type: "text", text: JSON.stringify(result, null, 2) },
270
- ],
271
- };
272
- }
273
- case "alert_on_issues": {
274
- const result = this.alertOnIssues(
275
- params.analysis as unknown as LogAnalysis,
276
- (params.thresholds as Record<string, unknown>) || {},
277
- );
278
- return {
279
- content: [
280
- { type: "text", text: JSON.stringify(result, null, 2) },
281
- ],
282
- };
283
- }
284
- case "correlate_events": {
285
- const result = this.correlateEvents(
286
- (params.logSets as Array<{ source: string; logs: string[] }>) ||
287
- [],
288
- (params.timeWindow as number) || 60,
289
- );
290
- return {
291
- content: [
292
- { type: "text", text: JSON.stringify(result, null, 2) },
293
- ],
294
- };
295
- }
296
- case "generate_report": {
297
- const result = this.generateReport(
298
- params.analysis as unknown as LogAnalysis,
299
- (params.format as string) || "json",
300
- );
301
- return {
302
- content: [
303
- { type: "text", text: JSON.stringify(result, null, 2) },
304
- ],
305
- };
306
- }
307
- default:
308
- throw new Error(`Unknown tool: ${name}`);
309
- }
310
- } catch (error) {
232
+ const result = this.analyzeLogs(
233
+ (params.logs as string[]) || [],
234
+ (params.options as Record<string, unknown>) || {},
235
+ );
311
236
  return {
312
- content: [{ type: "text", text: `Error: ${error}` }],
313
- isError: true,
237
+ content: [
238
+ { type: "text", text: JSON.stringify(result, null, 2) },
239
+ ],
314
240
  };
315
- }
316
- });
241
+ },
242
+ "detect_patterns": async (args) => {
243
+ const params = args as Record<string, unknown>;
244
+ const result = this.detectPatterns(
245
+ (params.logs as string[]) || [],
246
+ (params.customPatterns as string[]) || [],
247
+ (params.sensitivity as number) || 80,
248
+ );
249
+ return {
250
+ content: [
251
+ { type: "text", text: JSON.stringify(result, null, 2) },
252
+ ],
253
+ };
254
+ },
255
+ "alert_on_issues": async (args) => {
256
+ const params = args as Record<string, unknown>;
257
+ const result = this.alertOnIssues(
258
+ params.analysis as unknown as LogAnalysis,
259
+ (params.thresholds as Record<string, unknown>) || {},
260
+ );
261
+ return {
262
+ content: [
263
+ { type: "text", text: JSON.stringify(result, null, 2) },
264
+ ],
265
+ };
266
+ },
267
+ "correlate_events": async (args) => {
268
+ const params = args as Record<string, unknown>;
269
+ const result = this.correlateEvents(
270
+ (params.logSets as Array<{ source: string; logs: string[] }>) ||
271
+ [],
272
+ (params.timeWindow as number) || 60,
273
+ );
274
+ return {
275
+ content: [
276
+ { type: "text", text: JSON.stringify(result, null, 2) },
277
+ ],
278
+ };
279
+ },
280
+ "generate_report": async (args) => {
281
+ const params = args as Record<string, unknown>;
282
+ const result = this.generateReport(
283
+ params.analysis as unknown as LogAnalysis,
284
+ (params.format as string) || "json",
285
+ );
286
+ return {
287
+ content: [
288
+ { type: "text", text: JSON.stringify(result, null, 2) },
289
+ ],
290
+ };
291
+ },
292
+ };
293
+ this.setupToolHandlers();
317
294
  }
318
295
 
319
296
  private analyzeLogs(logs: string[], options: Record<string, unknown>): LogAnalysis {
@@ -604,16 +581,12 @@ ${analysis.recommendations.map((r) => `- ${r}`).join("\n")}
604
581
  return recs;
605
582
  }
606
583
 
607
- async run() {
608
- const transport = new StdioServerTransport();
609
- await this.server.connect(transport);
610
- }
611
584
  }
612
585
 
613
586
  const entryPoint = path.resolve(process.argv[1] ?? "");
614
587
  if (entryPoint && fileURLToPath(import.meta.url) === entryPoint) {
615
588
  const server = new LogMonitorServer();
616
- server.run();
589
+ server.run("log-monitor").catch((err) => { frameworkLogger.log("log-monitor", "run", "error", { error: err instanceof Error ? err.message : String(err) }); });
617
590
  }
618
591
 
619
592
  export { LogMonitorServer };