0xray 3.1.1 → 3.2.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 (296) hide show
  1. package/.opencode/codex.codex +1 -1
  2. package/.opencode/commands/auto-format.md +3 -3
  3. package/.opencode/commands/auto-summary-capture.md +2 -2
  4. package/.opencode/commands/enforcer-daily-scan.md +3 -3
  5. package/.opencode/commands/framework-compliance-audit.md +4 -4
  6. package/.opencode/commands/interactive-validator.md +2 -2
  7. package/.opencode/commands/job-summary-logger.md +2 -2
  8. package/.opencode/commands/mode-switch.md +1 -1
  9. package/.opencode/commands/model-health-check.md +2 -2
  10. package/.opencode/commands/performance-analysis.md +2 -2
  11. package/.opencode/commands/pre-commit-introspection.md +3 -3
  12. package/.opencode/commands/security-scan.md +3 -3
  13. package/.opencode/commands/sisyphus-validation.md +3 -3
  14. package/.opencode/commands/summary-logger.md +2 -2
  15. package/AGENTS.md +3 -13
  16. package/README.md +3 -3
  17. package/dist/AGENTS.md +3 -13
  18. package/dist/CHANGELOG.md +29 -0
  19. package/dist/README.md +3 -3
  20. package/dist/analytics/consent-manager.js +0 -1
  21. package/dist/analytics/emerging-pattern-detector.js +0 -1
  22. package/dist/analytics/pattern-learning-engine.js +0 -1
  23. package/dist/analytics/pattern-performance-tracker.js +0 -1
  24. package/dist/analytics/predictive-analytics.js +0 -1
  25. package/dist/analytics/prompt-pattern-analyzer.js +0 -1
  26. package/dist/analytics/routing-performance-analyzer.js +0 -1
  27. package/dist/analytics/routing-refiner.js +0 -1
  28. package/dist/analytics/simple-pattern-analyzer.js +0 -1
  29. package/dist/cli/commands/archive-logs.js +0 -1
  30. package/dist/cli/commands/opencode-install.js +13 -0
  31. package/dist/cli/commands/plugin-commands.js +0 -1
  32. package/dist/cli/commands/status.js +11 -13
  33. package/dist/cli/index.js +2 -7
  34. package/dist/core/activity-logger.js +0 -1
  35. package/dist/core/adaptive-kernel.js +0 -1
  36. package/dist/core/boot-orchestrator.js +2 -12
  37. package/dist/core/bridge.mjs +0 -1
  38. package/dist/core/codex-formatter.js +0 -1
  39. package/dist/core/codex-injector.js +0 -1
  40. package/dist/core/config-loader.js +36 -28
  41. package/dist/core/context-loader.js +0 -1
  42. package/dist/core/context-validator.js +0 -1
  43. package/dist/core/features-config.js +37 -1
  44. package/dist/core/kernel-patterns.js +0 -1
  45. package/dist/core/model-router.js +23 -64
  46. package/dist/core/system-prompt-generator.js +0 -1
  47. package/dist/delegation/agent-delegator.js +0 -1
  48. package/dist/delegation/agent-expertise.js +0 -1
  49. package/dist/delegation/analytics/index.js +0 -1
  50. package/dist/delegation/analytics/learning-engine.js +0 -1
  51. package/dist/delegation/analytics/outcome-tracker.js +0 -1
  52. package/dist/delegation/analytics/routing-analytics.js +0 -1
  53. package/dist/delegation/ast-code-parser.js +0 -1
  54. package/dist/delegation/complexity-analyzer.js +0 -1
  55. package/dist/delegation/dependency-graph-builder.js +0 -1
  56. package/dist/delegation/index.js +0 -1
  57. package/dist/delegation/metrics-aggregator.js +0 -1
  58. package/dist/delegation/session-coordinator.js +0 -1
  59. package/dist/delegation/strategy-selector.js +0 -1
  60. package/dist/delegation/voting-coordinator.js +0 -1
  61. package/dist/delegation/voting-types.js +0 -1
  62. package/dist/delegation/weighted-voting-aggregator.js +0 -1
  63. package/dist/enforcement/core/index.js +0 -1
  64. package/dist/enforcement/core/rule-executor.js +0 -1
  65. package/dist/enforcement/core/rule-hierarchy.js +0 -1
  66. package/dist/enforcement/core/rule-registry.js +0 -1
  67. package/dist/enforcement/core/violation-fixer.js +0 -1
  68. package/dist/enforcement/index.js +0 -1
  69. package/dist/enforcement/loaders/agent-triage-loader.js +0 -1
  70. package/dist/enforcement/loaders/agents-md-validation-loader.js +0 -1
  71. package/dist/enforcement/loaders/base-loader.js +0 -1
  72. package/dist/enforcement/loaders/codex-loader.js +0 -1
  73. package/dist/enforcement/loaders/index.js +0 -1
  74. package/dist/enforcement/loaders/loader-orchestrator.js +0 -1
  75. package/dist/enforcement/loaders/processor-loader.js +0 -1
  76. package/dist/enforcement/types.js +0 -1
  77. package/dist/enforcement/validators/architecture-validators.js +0 -1
  78. package/dist/enforcement/validators/base-validator.js +0 -1
  79. package/dist/enforcement/validators/code-quality-validators.js +0 -1
  80. package/dist/enforcement/validators/index.js +0 -1
  81. package/dist/enforcement/validators/security-validators.js +0 -1
  82. package/dist/enforcement/validators/testing-validators.js +0 -1
  83. package/dist/enforcement/validators/validator-registry.js +0 -1
  84. package/dist/governance/codex-policy.service.js +0 -1
  85. package/dist/inference/inference-agent-invoker.js +67 -0
  86. package/dist/inference/inference-applier.js +178 -0
  87. package/dist/inference/inference-cycle.js +51 -827
  88. package/dist/inference/inference-proposal-generator.js +149 -0
  89. package/dist/infrastructure/iac-validator.js +465 -0
  90. package/dist/infrastructure/schemas/cloud-schemas.js +488 -0
  91. package/dist/integrations/base/ExampleIntegration.js +0 -1
  92. package/dist/integrations/base/Integration.js +0 -1
  93. package/dist/integrations/base/index.js +0 -1
  94. package/dist/integrations/base/registry.js +0 -1
  95. package/dist/integrations/base/types.js +0 -1
  96. package/dist/integrations/enforcement-gate.js +3 -3
  97. package/dist/integrations/governance/governance-client.js +0 -1
  98. package/dist/integrations/governance/index.js +11 -19
  99. package/dist/integrations/governance/types.js +0 -1
  100. package/dist/integrations/hermes-agent/__init__.py +4 -0
  101. package/dist/integrations/hermes-agent/bridge.mjs +37 -0
  102. package/dist/integrations/openclaw/api-server.js +0 -1
  103. package/dist/integrations/openclaw/client.js +0 -1
  104. package/dist/integrations/openclaw/config.js +0 -1
  105. package/dist/integrations/openclaw/hooks/xray-hooks.js +0 -1
  106. package/dist/integrations/openclaw/index.js +0 -1
  107. package/dist/integrations/openclaw/types.js +0 -1
  108. package/dist/integrations/plugins/index.js +0 -1
  109. package/dist/integrations/plugins/plugin-integration.js +0 -1
  110. package/dist/integrations/plugins/plugin-registry.js +0 -1
  111. package/dist/mcps/agent-resolver.js +0 -1
  112. package/dist/mcps/architect-tools.server.js +119 -185
  113. package/dist/mcps/auto-format.server.js +56 -74
  114. package/dist/mcps/boot-orchestrator.server.js +67 -85
  115. package/dist/mcps/config/config-loader.js +6 -0
  116. package/dist/mcps/config/plugin-server-registry.js +0 -1
  117. package/dist/mcps/enforcer-tools.server.js +207 -273
  118. package/dist/mcps/estimation.server.js +63 -107
  119. package/dist/mcps/framework-compliance-audit.server.js +52 -81
  120. package/dist/mcps/framework-help.server.js +71 -89
  121. package/dist/mcps/governance.server.js +97 -149
  122. package/dist/mcps/knowledge-skills/api-design.server.js +33 -65
  123. package/dist/mcps/knowledge-skills/architecture-patterns.server.js +33 -65
  124. package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +123 -163
  125. package/dist/mcps/knowledge-skills/code-analyzer.server.js +210 -237
  126. package/dist/mcps/knowledge-skills/code-review.server.js +108 -142
  127. package/dist/mcps/knowledge-skills/content-creator.server.js +203 -225
  128. package/dist/mcps/knowledge-skills/database-design.server.js +116 -150
  129. package/dist/mcps/knowledge-skills/devops-deployment.server.js +123 -157
  130. package/dist/mcps/knowledge-skills/git-workflow.server.js +34 -67
  131. package/dist/mcps/knowledge-skills/growth-strategist.server.js +301 -323
  132. package/dist/mcps/knowledge-skills/log-monitor.server.js +139 -159
  133. package/dist/mcps/knowledge-skills/mobile-development.server.js +170 -200
  134. package/dist/mcps/knowledge-skills/multimodal-looker.server.js +122 -158
  135. package/dist/mcps/knowledge-skills/performance-optimization.server.js +88 -138
  136. package/dist/mcps/knowledge-skills/project-analysis.server.js +131 -218
  137. package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +115 -150
  138. package/dist/mcps/knowledge-skills/security-audit.server.js +16 -143
  139. package/dist/mcps/knowledge-skills/seo-consultant.server.js +20 -213
  140. package/dist/mcps/knowledge-skills/session-management.server.js +13 -90
  141. package/dist/mcps/knowledge-skills/skill-invocation.server.js +43 -421
  142. package/dist/mcps/knowledge-skills/strategist.server.js +10 -55
  143. package/dist/mcps/knowledge-skills/tech-writer.server.js +16 -191
  144. package/dist/mcps/knowledge-skills/testing-best-practices.server.js +18 -191
  145. package/dist/mcps/knowledge-skills/testing-strategy.server.js +18 -156
  146. package/dist/mcps/knowledge-skills/ui-ux-design.server.js +22 -296
  147. package/dist/mcps/lint.server.js +50 -91
  148. package/dist/mcps/model-health-check.server.js +32 -60
  149. package/dist/mcps/orchestrator/aside-context.js +207 -0
  150. package/dist/mcps/orchestrator/handlers/complexity-handler.js +5 -1
  151. package/dist/mcps/orchestrator/handlers/status-handler.js +8 -1
  152. package/dist/mcps/orchestrator/handlers/task-handler.js +5 -0
  153. package/dist/mcps/orchestrator/index.js +5 -0
  154. package/dist/mcps/orchestrator/server.js +63 -8
  155. package/dist/mcps/performance-analysis.server.js +56 -87
  156. package/dist/mcps/processor-pipeline.server.js +68 -99
  157. package/dist/mcps/researcher.server.js +80 -153
  158. package/dist/mcps/security-scan.server.js +56 -70
  159. package/dist/mcps/shared/knowledge-skill-base.js +11 -4
  160. package/dist/mcps/state-manager.server.js +124 -152
  161. package/dist/monitoring/nudge-watchdog.js +0 -1
  162. package/dist/nucleus/default-plugins.js +13 -19
  163. package/dist/nucleus/index.js +0 -1
  164. package/dist/orchestrator/agent-spawn-governor.js +0 -1
  165. package/dist/orchestrator/intelligent-commit-batcher.js +2 -10
  166. package/dist/orchestrator/multi-agent-orchestration-coordinator.js +0 -1
  167. package/dist/orchestrator/orchestrator.js +8 -18
  168. package/dist/orchestrator/self-direction-activation.js +0 -1
  169. package/dist/orchestrator/universal-registry-bridge.js +0 -1
  170. package/dist/performance/performance-budget-enforcer.js +0 -1
  171. package/dist/performance/performance-regression-tester.js +0 -1
  172. package/dist/plugin/plugin-codex-context.js +87 -0
  173. package/dist/plugin/plugin-helpers.js +155 -0
  174. package/dist/plugin/plugin-logger.js +46 -0
  175. package/dist/plugin/plugin-modules.js +144 -0
  176. package/dist/plugin/plugin-quality-gate.js +88 -0
  177. package/dist/plugin/plugin-types.js +1 -0
  178. package/dist/plugin/xray-codex-injection.js +338 -0
  179. package/dist/postprocessor/PostProcessor.js +3 -9
  180. package/dist/postprocessor/analysis/CodeChangeAnalyzer.js +50 -0
  181. package/dist/postprocessor/config/ProcessorConfigLoader.js +16 -0
  182. package/dist/postprocessor/integration.js +194 -0
  183. package/dist/postprocessor/metamorphosis/SelfProposalEngine.js +472 -0
  184. package/dist/postprocessor/metamorphosis/index.js +1 -0
  185. package/dist/postprocessor/redeploy/RetryHandler.js +118 -0
  186. package/dist/postprocessor/services/RegressionAnalysisService.js +0 -1
  187. package/dist/postprocessor/triggers/APITrigger.js +0 -1
  188. package/dist/postprocessor/triggers/WebhookTrigger.js +0 -1
  189. package/dist/processors/implementations/agents-md-validation-processor.js +0 -1
  190. package/dist/processors/implementations/async-pattern-processor.js +0 -1
  191. package/dist/processors/implementations/console-log-guard-processor.js +0 -1
  192. package/dist/processors/implementations/coverage-analysis-processor.js +0 -1
  193. package/dist/processors/implementations/inference-improvement-processor.js +2 -9
  194. package/dist/processors/implementations/log-protection-processor.js +0 -1
  195. package/dist/processors/implementations/nudge-processor.js +0 -1
  196. package/dist/processors/implementations/performance-budget-processor.js +0 -1
  197. package/dist/processors/implementations/postprocessor-chain-validator.js +0 -1
  198. package/dist/processors/implementations/publish-preflight-processor.js +4 -12
  199. package/dist/processors/implementations/session-summary-processor.js +8 -16
  200. package/dist/processors/implementations/spawn-governance-processor.js +0 -1
  201. package/dist/processors/implementations/storytelling-trigger-processor.js +3 -28
  202. package/dist/processors/implementations/test-auto-creation-processor.js +0 -1
  203. package/dist/processors/implementations/typescript-compilation-processor.js +0 -1
  204. package/dist/processors/implementations/version-compliance-processor.js +0 -1
  205. package/dist/processors/processor-interfaces.js +0 -1
  206. package/dist/processors/processor-types.js +0 -1
  207. package/dist/scripts/integration.js +0 -1
  208. package/dist/security/comprehensive-security-audit.js +0 -1
  209. package/dist/security/security-agent-coordinator.js +0 -1
  210. package/dist/security/security-auditor.js +0 -1
  211. package/dist/security/security-hardener.js +0 -1
  212. package/dist/security/security-hardening-system.js +0 -1
  213. package/dist/security/security-headers.js +0 -1
  214. package/dist/security/security-orchestration-layer.js +0 -1
  215. package/dist/services/inference-tuner.js +0 -1
  216. package/dist/session/session-cleanup-manager.js +0 -1
  217. package/dist/session/session-monitor.js +0 -1
  218. package/dist/session/session-state-manager.js +0 -1
  219. package/dist/skills/xray-orchestrator/index.js +0 -1
  220. package/dist/utils/codex-parser.js +0 -1
  221. package/dist/utils/language-detector.js +0 -1
  222. package/dist/utils/shutdown-handler.js +0 -1
  223. package/dist/validation/agent-config-validator.js +280 -0
  224. package/dist/validation/orchestration-flow-validator.js +606 -0
  225. package/package.json +1 -1
  226. package/scripts/node/release.mjs +2 -2
  227. package/scripts/node/setup.cjs +28 -0
  228. package/scripts/node/universal-version-manager.js +1 -1
  229. package/src/mcps/agent-resolver.ts +0 -1
  230. package/src/mcps/architect-tools.server.ts +129 -211
  231. package/src/mcps/auto-format.server.ts +74 -103
  232. package/src/mcps/boot-orchestrator.server.ts +71 -96
  233. package/src/mcps/config/__tests__/config-loader.test.ts +6 -6
  234. package/src/mcps/config/config-loader.ts +7 -0
  235. package/src/mcps/config/plugin-server-registry.ts +0 -1
  236. package/src/mcps/enforcer-tools.server.ts +217 -294
  237. package/src/mcps/estimation.server.ts +62 -122
  238. package/src/mcps/framework-compliance-audit.server.ts +53 -95
  239. package/src/mcps/framework-help.server.ts +74 -96
  240. package/src/mcps/governance.server.ts +97 -162
  241. package/src/mcps/knowledge-skills/api-design.server.ts +33 -72
  242. package/src/mcps/knowledge-skills/architecture-patterns.server.ts +33 -72
  243. package/src/mcps/knowledge-skills/bug-triage-specialist.server.ts +148 -193
  244. package/src/mcps/knowledge-skills/code-analyzer.server.ts +222 -254
  245. package/src/mcps/knowledge-skills/code-review.server.ts +115 -157
  246. package/src/mcps/knowledge-skills/content-creator.server.ts +219 -246
  247. package/src/mcps/knowledge-skills/database-design.server.ts +119 -160
  248. package/src/mcps/knowledge-skills/devops-deployment.server.ts +126 -167
  249. package/src/mcps/knowledge-skills/git-workflow.server.ts +32 -77
  250. package/src/mcps/knowledge-skills/growth-strategist.server.ts +322 -360
  251. package/src/mcps/knowledge-skills/log-monitor.server.ts +68 -95
  252. package/src/mcps/knowledge-skills/mobile-development.server.ts +16 -56
  253. package/src/mcps/knowledge-skills/multimodal-looker.server.ts +13 -59
  254. package/src/mcps/knowledge-skills/performance-optimization.server.ts +13 -74
  255. package/src/mcps/knowledge-skills/project-analysis.server.ts +13 -120
  256. package/src/mcps/knowledge-skills/refactoring-strategies.server.ts +13 -60
  257. package/src/mcps/knowledge-skills/security-audit.server.ts +19 -157
  258. package/src/mcps/knowledge-skills/seo-consultant.server.ts +23 -227
  259. package/src/mcps/knowledge-skills/session-management.server.ts +17 -106
  260. package/src/mcps/knowledge-skills/skill-invocation.server.ts +45 -446
  261. package/src/mcps/knowledge-skills/strategist.server.ts +13 -63
  262. package/src/mcps/knowledge-skills/tech-writer.server.ts +19 -204
  263. package/src/mcps/knowledge-skills/testing-best-practices.server.ts +21 -204
  264. package/src/mcps/knowledge-skills/testing-strategy.server.ts +21 -165
  265. package/src/mcps/knowledge-skills/ui-ux-design.server.ts +25 -342
  266. package/src/mcps/lint.server.ts +52 -105
  267. package/src/mcps/model-health-check.server.ts +34 -70
  268. package/src/mcps/orchestrator/aside-context.ts +245 -0
  269. package/src/mcps/orchestrator/handlers/complexity-handler.ts +9 -3
  270. package/src/mcps/orchestrator/handlers/status-handler.ts +11 -1
  271. package/src/mcps/orchestrator/handlers/task-handler.ts +8 -1
  272. package/src/mcps/orchestrator/index.ts +29 -0
  273. package/src/mcps/orchestrator/server.ts +79 -24
  274. package/src/mcps/orchestrator/types.ts +37 -0
  275. package/src/mcps/performance-analysis.server.ts +59 -102
  276. package/src/mcps/processor-pipeline.server.ts +70 -108
  277. package/src/mcps/researcher.server.ts +87 -175
  278. package/src/mcps/security-scan.server.ts +57 -76
  279. package/src/mcps/shared/knowledge-skill-base.ts +12 -4
  280. package/src/mcps/state-manager.server.ts +129 -169
  281. package/src/opencode/codex.codex +1 -1
  282. package/src/opencode/commands/auto-format.md +3 -3
  283. package/src/opencode/commands/auto-summary-capture.md +2 -2
  284. package/src/opencode/commands/enforcer-daily-scan.md +3 -3
  285. package/src/opencode/commands/framework-compliance-audit.md +4 -4
  286. package/src/opencode/commands/interactive-validator.md +2 -2
  287. package/src/opencode/commands/job-summary-logger.md +2 -2
  288. package/src/opencode/commands/mode-switch.md +1 -1
  289. package/src/opencode/commands/model-health-check.md +2 -2
  290. package/src/opencode/commands/performance-analysis.md +2 -2
  291. package/src/opencode/commands/pre-commit-introspection.md +3 -3
  292. package/src/opencode/commands/security-scan.md +3 -3
  293. package/src/opencode/commands/sisyphus-validation.md +3 -3
  294. package/src/opencode/commands/summary-logger.md +2 -2
  295. package/src/skills/xray-orchestrator/index.ts +0 -1
  296. package/dist/nucleus/orchestrator.js +0 -479
@@ -3,119 +3,82 @@
3
3
  *
4
4
  * Provides tools for tracking and validating estimates
5
5
  */
6
- import { Server } from "@modelcontextprotocol/sdk/server/index.js";
7
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
8
- import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
9
6
  import * as fs from "fs";
10
7
  import { frameworkLogger } from "../core/framework-logger.js";
8
+ import { XrayKnowledgeSkillBase } from "./shared/knowledge-skill-base.js";
11
9
  import { getEstimationValidator } from "../validation/estimation-validator.js";
12
10
  /**
13
11
  * Estimation MCP Server
14
12
  * Tracks estimates vs actuals and provides calibrated predictions
15
13
  */
16
- class EstimationServer {
17
- server;
14
+ class EstimationServer extends XrayKnowledgeSkillBase {
18
15
  validator = getEstimationValidator();
19
16
  constructor() {
20
- this.server = new Server({
21
- name: "estimation-validator", version: "3.1.0",
22
- }, {
23
- capabilities: { tools: {} },
24
- });
25
- this.setupToolHandlers();
26
- }
27
- setupToolHandlers() {
28
- // List available tools
29
- this.server.setRequestHandler(ListToolsRequestSchema, async () => {
30
- return {
31
- tools: [
32
- {
33
- name: "validate-estimate",
34
- description: "Validate an estimate against historical data",
35
- inputSchema: {
36
- type: "object",
37
- properties: {
38
- category: {
39
- type: "string",
40
- description: "Task category (e.g., 'refactoring', 'testing', 'documentation')",
41
- },
42
- estimate: {
43
- type: "number",
44
- description: "Estimated time in minutes",
45
- },
46
- description: {
47
- type: "string",
48
- description: "Brief description of the task",
49
- },
50
- },
51
- required: ["category", "estimate"],
17
+ super("estimation-validator", "3.1.0");
18
+ this.tools = [
19
+ {
20
+ name: "validate-estimate",
21
+ description: "Validate an estimate against historical data",
22
+ inputSchema: {
23
+ type: "object",
24
+ properties: {
25
+ category: {
26
+ type: "string",
27
+ description: "Task category (e.g., 'refactoring', 'testing', 'documentation')",
52
28
  },
53
- },
54
- {
55
- name: "start-tracking",
56
- description: "Start tracking time for a task",
57
- inputSchema: {
58
- type: "object",
59
- properties: {
60
- taskId: { type: "string" },
61
- category: { type: "string" },
62
- estimate: { type: "number" },
63
- description: { type: "string" },
64
- },
65
- required: ["taskId", "category", "estimate"],
29
+ estimate: {
30
+ type: "number",
31
+ description: "Estimated time in minutes",
66
32
  },
67
- },
68
- {
69
- name: "complete-tracking",
70
- description: "Complete tracking for a task",
71
- inputSchema: {
72
- type: "object",
73
- properties: {
74
- taskId: { type: "string" },
75
- },
76
- required: ["taskId"],
33
+ description: {
34
+ type: "string",
35
+ description: "Brief description of the task",
77
36
  },
78
37
  },
79
- {
80
- name: "get-accuracy-report",
81
- description: "Get estimation accuracy report",
82
- inputSchema: {
83
- type: "object",
84
- properties: {},
85
- },
38
+ required: ["category", "estimate"],
39
+ },
40
+ },
41
+ {
42
+ name: "start-tracking",
43
+ description: "Start tracking time for a task",
44
+ inputSchema: {
45
+ type: "object",
46
+ properties: {
47
+ taskId: { type: "string" },
48
+ category: { type: "string" },
49
+ estimate: { type: "number" },
50
+ description: { type: "string" },
86
51
  },
87
- ],
88
- };
89
- });
90
- // Handle tool calls
91
- this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
92
- try {
93
- const { name, arguments: args } = request.params;
94
- if (args == null) {
95
- throw new Error(`Tool '${name}' called with no arguments`);
96
- }
97
- switch (name) {
98
- case "validate-estimate":
99
- return this.handleValidateEstimate(args);
100
- case "start-tracking":
101
- return this.handleStartTracking(args);
102
- case "complete-tracking":
103
- return this.handleCompleteTracking(args);
104
- case "get-accuracy-report":
105
- return this.handleGetReport();
106
- default:
107
- throw new Error(`Unknown tool: ${name}`);
108
- }
109
- }
110
- catch (error) {
111
- return {
112
- content: [{
113
- type: "text",
114
- text: `Error handling tool '${request.params.name}': ${error instanceof Error ? error.message : String(error)}`,
115
- }],
116
- };
117
- }
118
- });
52
+ required: ["taskId", "category", "estimate"],
53
+ },
54
+ },
55
+ {
56
+ name: "complete-tracking",
57
+ description: "Complete tracking for a task",
58
+ inputSchema: {
59
+ type: "object",
60
+ properties: {
61
+ taskId: { type: "string" },
62
+ },
63
+ required: ["taskId"],
64
+ },
65
+ },
66
+ {
67
+ name: "get-accuracy-report",
68
+ description: "Get estimation accuracy report",
69
+ inputSchema: {
70
+ type: "object",
71
+ properties: {},
72
+ },
73
+ },
74
+ ];
75
+ this.handlers = {
76
+ "validate-estimate": async (args) => this.handleValidateEstimate(args),
77
+ "start-tracking": async (args) => this.handleStartTracking(args),
78
+ "complete-tracking": async (args) => this.handleCompleteTracking(args),
79
+ "get-accuracy-report": async () => this.handleGetReport(),
80
+ };
81
+ this.setupToolHandlers();
119
82
  }
120
83
  handleValidateEstimate(args) {
121
84
  const validation = this.validator.validateEstimate(args.category, args.estimate);
@@ -177,17 +140,10 @@ class EstimationServer {
177
140
  }
178
141
  return { content: [{ type: "text", text: response }] };
179
142
  }
180
- async start() {
181
- const transport = new StdioServerTransport();
182
- await this.server.connect(transport);
183
- frameworkLogger.log("estimation-server", "start", "info", {
184
- message: "Estimation Validator Server started",
185
- });
186
- }
187
143
  }
188
144
  // Run if called directly
189
145
  if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
190
146
  const server = new EstimationServer();
191
- server.start().catch((error) => frameworkLogger.log("mcps/estimation", "run", "error", { error: String(error) }));
147
+ server.run().catch((error) => frameworkLogger.log("mcps/estimation", "run", "error", { error: String(error) }));
192
148
  }
193
149
  export { EstimationServer };
@@ -3,89 +3,65 @@
3
3
  *
4
4
  * Comprehensive validation of all framework components and Universal Development Codex compliance
5
5
  */
6
- import { Server } from "@modelcontextprotocol/sdk/server/index.js";
7
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
8
- import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
9
6
  import fs from "fs";
10
7
  import { frameworkLogger } from "../core/framework-logger.js";
11
- class XrayFrameworkComplianceAuditServer {
12
- server;
8
+ import { XrayKnowledgeSkillBase } from "./shared/knowledge-skill-base.js";
9
+ class XrayFrameworkComplianceAuditServer extends XrayKnowledgeSkillBase {
13
10
  constructor() {
14
- this.server = new Server({
15
- name: "framework-compliance-audit", version: "3.1.0",
16
- }, {
17
- capabilities: {
18
- tools: {},
19
- },
20
- });
21
- this.setupToolHandlers();
22
- void frameworkLogger.log("framework-compliance-audit.server", "compliance-audit-init", "info", { message: "0xRay Framework Compliance Audit MCP Server initialized" });
23
- }
24
- setupToolHandlers() {
25
- // List available tools
26
- this.server.setRequestHandler(ListToolsRequestSchema, async () => {
27
- return {
28
- tools: [
29
- {
30
- name: "framework-compliance-audit",
31
- description: "Comprehensive validation of all framework components and Universal Development Codex compliance",
32
- inputSchema: {
33
- type: "object",
34
- properties: {
35
- scope: {
36
- type: "string",
37
- enum: [
38
- "full",
39
- "codex",
40
- "configuration",
41
- "agents",
42
- "performance",
43
- ],
44
- default: "full",
45
- description: "Scope of compliance audit",
46
- },
47
- detailed: {
48
- type: "boolean",
49
- default: false,
50
- description: "Include detailed findings and recommendations",
51
- },
52
- },
11
+ super("framework-compliance-audit", "3.1.0");
12
+ this.tools = [
13
+ {
14
+ name: "framework-compliance-audit",
15
+ description: "Comprehensive validation of all framework components and Universal Development Codex compliance",
16
+ inputSchema: {
17
+ type: "object",
18
+ properties: {
19
+ scope: {
20
+ type: "string",
21
+ enum: [
22
+ "full",
23
+ "codex",
24
+ "configuration",
25
+ "agents",
26
+ "performance",
27
+ ],
28
+ default: "full",
29
+ description: "Scope of compliance audit",
30
+ },
31
+ detailed: {
32
+ type: "boolean",
33
+ default: false,
34
+ description: "Include detailed findings and recommendations",
53
35
  },
54
36
  },
55
- {
56
- name: "codex-validation",
57
- description: "Validate compliance with Universal Development Codex v1.2.0",
58
- inputSchema: {
59
- type: "object",
60
- properties: {
61
- terms: {
62
- type: "array",
63
- items: { type: "number", minimum: 1, maximum: 43 },
64
- description: "Specific codex terms to validate (1-43)",
65
- },
66
- strict: {
67
- type: "boolean",
68
- default: true,
69
- description: "Enforce strict compliance",
70
- },
71
- },
37
+ },
38
+ },
39
+ {
40
+ name: "codex-validation",
41
+ description: "Validate compliance with Universal Development Codex v1.2.0",
42
+ inputSchema: {
43
+ type: "object",
44
+ properties: {
45
+ terms: {
46
+ type: "array",
47
+ items: { type: "number", minimum: 1, maximum: 43 },
48
+ description: "Specific codex terms to validate (1-43)",
49
+ },
50
+ strict: {
51
+ type: "boolean",
52
+ default: true,
53
+ description: "Enforce strict compliance",
72
54
  },
73
55
  },
74
- ],
75
- };
76
- });
77
- // Handle tool calls
78
- this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
79
- const { name, arguments: args } = request.params;
80
- switch (name) {
81
- case "framework-compliance-audit":
82
- return await this.handleFrameworkComplianceAudit(args);
83
- case "codex-validation":
84
- return await this.handleCodexValidation(args);
85
- default:
86
- throw new Error(`Unknown tool: ${name}`);
87
- }
88
- });
56
+ },
57
+ },
58
+ ];
59
+ this.handlers = {
60
+ "framework-compliance-audit": async (args) => this.handleFrameworkComplianceAudit(args),
61
+ "codex-validation": async (args) => this.handleCodexValidation(args),
62
+ };
63
+ this.setupToolHandlers();
64
+ void frameworkLogger.log("framework-compliance-audit.server", "compliance-audit-init", "info", { message: "0xRay Framework Compliance Audit MCP Server initialized" });
89
65
  }
90
66
  async handleFrameworkComplianceAudit(args) {
91
67
  const scope = args.scope || "full";
@@ -486,11 +462,6 @@ ${results.recommendations.map((r) => `• 💡 ${r}`).join("\n")}
486
462
  details += `- Status: ${results.complianceScores.performance_thresholds || "Not checked"}\n\n`;
487
463
  return details;
488
464
  }
489
- async run() {
490
- const transport = new StdioServerTransport();
491
- await this.server.connect(transport);
492
- void frameworkLogger.log("framework-compliance-audit.server", "compliance-audit-startup", "info", { message: "0xRay Framework Compliance Audit MCP Server started" });
493
- }
494
465
  }
495
466
  // Start the server if run directly
496
467
  if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
@@ -1,99 +1,86 @@
1
- import { Server } from "@modelcontextprotocol/sdk/server/index.js";
2
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
- import { CallToolRequestSchema, ErrorCode, ListToolsRequestSchema, McpError, } from "@modelcontextprotocol/sdk/types.js";
1
+ import { CallToolRequestSchema, ErrorCode, McpError, } from "@modelcontextprotocol/sdk/types.js";
2
+ import { XrayKnowledgeSkillBase } from "./shared/knowledge-skill-base.js";
4
3
  import * as fs from "fs";
5
4
  import { frameworkLogger } from "../core/framework-logger.js";
6
5
  import { AGENT_REGISTRY } from "../agents/registry.js";
7
- class FrameworkHelpServer {
8
- server;
6
+ class FrameworkHelpServer extends XrayKnowledgeSkillBase {
9
7
  constructor() {
10
- this.server = new Server({
11
- name: "xray/framework-help", version: "3.1.0",
12
- }, {
13
- capabilities: {
14
- tools: {},
15
- },
16
- });
17
- this.setupToolHandlers();
18
- }
19
- setupToolHandlers() {
20
- // List available tools - required MCP protocol handler for tool discovery
21
- this.server.setRequestHandler(ListToolsRequestSchema, async () => {
22
- return {
23
- tools: [
24
- {
25
- name: "xray_get_capabilities",
26
- description: "Get comprehensive list of all 0xRay framework capabilities, commands, and available tools",
27
- inputSchema: {
28
- type: "object",
29
- properties: {
30
- category: {
31
- type: "string",
32
- enum: ["all", "agents", "skills", "commands", "reporting"],
33
- description: "Filter capabilities by category",
34
- default: "all",
35
- },
36
- format: {
37
- type: "string",
38
- enum: ["summary", "detailed", "commands"],
39
- description: "Output format",
40
- default: "summary",
41
- },
42
- },
43
- required: [],
8
+ super("xray/framework-help", "3.1.0");
9
+ this.tools = [
10
+ {
11
+ name: "xray_get_capabilities",
12
+ description: "Get comprehensive list of all 0xRay framework capabilities, commands, and available tools",
13
+ inputSchema: {
14
+ type: "object",
15
+ properties: {
16
+ category: {
17
+ type: "string",
18
+ enum: ["all", "agents", "skills", "commands", "reporting"],
19
+ description: "Filter capabilities by category",
20
+ default: "all",
21
+ },
22
+ format: {
23
+ type: "string",
24
+ enum: ["summary", "detailed", "commands"],
25
+ description: "Output format",
26
+ default: "summary",
44
27
  },
45
28
  },
46
- {
47
- name: "xray_get_commands",
48
- description: "Get list of available 0xRay commands and their usage",
49
- inputSchema: {
50
- type: "object",
51
- properties: {
52
- type: {
53
- type: "string",
54
- enum: [
55
- "agent-commands",
56
- "system-commands",
57
- "reporting-commands",
58
- ],
59
- description: "Type of commands to list",
60
- default: "agent-commands",
61
- },
62
- },
63
- required: [],
29
+ required: [],
30
+ },
31
+ },
32
+ {
33
+ name: "xray_get_commands",
34
+ description: "Get list of available 0xRay commands and their usage",
35
+ inputSchema: {
36
+ type: "object",
37
+ properties: {
38
+ type: {
39
+ type: "string",
40
+ enum: [
41
+ "agent-commands",
42
+ "system-commands",
43
+ "reporting-commands",
44
+ ],
45
+ description: "Type of commands to list",
46
+ default: "agent-commands",
64
47
  },
65
48
  },
66
- {
67
- name: "xray_explain_capability",
68
- description: "Get detailed explanation of a specific 0xRay capability",
69
- inputSchema: {
70
- type: "object",
71
- properties: {
72
- capability: {
73
- type: "string",
74
- description: "Name of the capability to explain",
75
- },
76
- },
77
- required: ["capability"],
49
+ required: [],
50
+ },
51
+ },
52
+ {
53
+ name: "xray_explain_capability",
54
+ description: "Get detailed explanation of a specific 0xRay capability",
55
+ inputSchema: {
56
+ type: "object",
57
+ properties: {
58
+ capability: {
59
+ type: "string",
60
+ description: "Name of the capability to explain",
78
61
  },
79
62
  },
80
- ],
81
- };
82
- });
83
- // Handle tool calls - required MCP protocol handler for tool execution
63
+ required: ["capability"],
64
+ },
65
+ },
66
+ ];
67
+ this.handlers = {
68
+ "xray_get_capabilities": async (args) => this.handleGetCapabilities(args),
69
+ "xray_get_commands": async (args) => this.handleGetCommands(args),
70
+ "xray_explain_capability": async (args) => this.handleExplainCapability(args),
71
+ };
72
+ this.setupToolHandlers();
73
+ }
74
+ setupToolHandlers() {
75
+ this.setupListToolsHandler();
84
76
  this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
85
77
  const { name, arguments: args } = request.params;
78
+ const handler = this.handlers[name];
79
+ if (!handler) {
80
+ throw new McpError(ErrorCode.MethodNotFound, `Unknown tool: ${name}`);
81
+ }
86
82
  try {
87
- switch (name) {
88
- case "xray_get_capabilities":
89
- return this.handleGetCapabilities(args);
90
- case "xray_get_commands":
91
- return this.handleGetCommands(args);
92
- case "xray_explain_capability":
93
- return this.handleExplainCapability(args);
94
- default:
95
- throw new McpError(ErrorCode.MethodNotFound, `Unknown tool: ${name}`);
96
- }
83
+ return await handler(args);
97
84
  }
98
85
  catch (error) {
99
86
  if (error instanceof McpError) {
@@ -387,15 +374,10 @@ ${items.map(([name, desc]) => `- **${name}**: ${desc}`).join("\n")}
387
374
  **Total:** ${items.length} ${category}
388
375
  `.trim();
389
376
  }
390
- async start() {
391
- const transport = new StdioServerTransport();
392
- await this.server.connect(transport);
393
- frameworkLogger.log("mcps/framework-help", "start", "info", { message: "0xRay Framework Help Server started" });
394
- }
395
377
  }
396
378
  // Auto-start if this file is run directly - conditional server initialization for development/testing
397
379
  if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
398
380
  const server = new FrameworkHelpServer();
399
- server.start().catch((error) => frameworkLogger.log("mcps/framework-help", "run", "error", { error: String(error) }));
381
+ server.run().catch((error) => frameworkLogger.log("mcps/framework-help", "run", "error", { error: String(error) }));
400
382
  }
401
383
  export { FrameworkHelpServer };