0xray 3.1.1 → 3.3.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 (309) 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 +55 -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 +40 -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/config/agent-capabilities.js +30 -11
  151. package/dist/mcps/orchestrator/config/memory-routing-bridge.js +70 -0
  152. package/dist/mcps/orchestrator/execution/execution-planner.js +25 -7
  153. package/dist/mcps/orchestrator/handlers/complexity-handler.js +5 -1
  154. package/dist/mcps/orchestrator/handlers/status-handler.js +8 -1
  155. package/dist/mcps/orchestrator/handlers/task-handler.js +59 -1
  156. package/dist/mcps/orchestrator/index.js +5 -0
  157. package/dist/mcps/orchestrator/server.js +63 -8
  158. package/dist/mcps/performance-analysis.server.js +56 -87
  159. package/dist/mcps/processor-pipeline.server.js +68 -99
  160. package/dist/mcps/researcher.server.js +80 -153
  161. package/dist/mcps/security-scan.server.js +56 -70
  162. package/dist/mcps/shared/knowledge-skill-base.js +11 -4
  163. package/dist/mcps/state-manager.server.js +124 -152
  164. package/dist/memory-routing/index.js +4 -0
  165. package/dist/memory-routing/null-provider.js +51 -0
  166. package/dist/memory-routing/provider-loader.js +91 -0
  167. package/dist/memory-routing/provider-registry.js +40 -0
  168. package/dist/memory-routing/types.js +7 -0
  169. package/dist/memory-routing/validate-config.js +32 -0
  170. package/dist/monitoring/nudge-watchdog.js +0 -1
  171. package/dist/nucleus/default-plugins.js +13 -19
  172. package/dist/nucleus/index.js +0 -1
  173. package/dist/nucleus/thin-dispatch.js +29 -1
  174. package/dist/orchestrator/agent-spawn-governor.js +0 -1
  175. package/dist/orchestrator/intelligent-commit-batcher.js +2 -10
  176. package/dist/orchestrator/multi-agent-orchestration-coordinator.js +0 -1
  177. package/dist/orchestrator/orchestrator.js +8 -18
  178. package/dist/orchestrator/self-direction-activation.js +0 -1
  179. package/dist/orchestrator/universal-registry-bridge.js +0 -1
  180. package/dist/performance/performance-budget-enforcer.js +0 -1
  181. package/dist/performance/performance-regression-tester.js +0 -1
  182. package/dist/plugin/plugin-codex-context.js +87 -0
  183. package/dist/plugin/plugin-helpers.js +155 -0
  184. package/dist/plugin/plugin-logger.js +46 -0
  185. package/dist/plugin/plugin-modules.js +144 -0
  186. package/dist/plugin/plugin-quality-gate.js +88 -0
  187. package/dist/plugin/plugin-types.js +1 -0
  188. package/dist/plugin/xray-codex-injection.js +338 -0
  189. package/dist/postprocessor/PostProcessor.js +3 -9
  190. package/dist/postprocessor/analysis/CodeChangeAnalyzer.js +50 -0
  191. package/dist/postprocessor/config/ProcessorConfigLoader.js +16 -0
  192. package/dist/postprocessor/integration.js +194 -0
  193. package/dist/postprocessor/metamorphosis/SelfProposalEngine.js +472 -0
  194. package/dist/postprocessor/metamorphosis/index.js +1 -0
  195. package/dist/postprocessor/redeploy/RetryHandler.js +118 -0
  196. package/dist/postprocessor/services/RegressionAnalysisService.js +0 -1
  197. package/dist/postprocessor/triggers/APITrigger.js +0 -1
  198. package/dist/postprocessor/triggers/WebhookTrigger.js +0 -1
  199. package/dist/processors/implementations/agents-md-validation-processor.js +0 -1
  200. package/dist/processors/implementations/async-pattern-processor.js +0 -1
  201. package/dist/processors/implementations/console-log-guard-processor.js +0 -1
  202. package/dist/processors/implementations/coverage-analysis-processor.js +0 -1
  203. package/dist/processors/implementations/inference-improvement-processor.js +2 -9
  204. package/dist/processors/implementations/log-protection-processor.js +0 -1
  205. package/dist/processors/implementations/nudge-processor.js +0 -1
  206. package/dist/processors/implementations/performance-budget-processor.js +0 -1
  207. package/dist/processors/implementations/postprocessor-chain-validator.js +0 -1
  208. package/dist/processors/implementations/publish-preflight-processor.js +4 -12
  209. package/dist/processors/implementations/session-summary-processor.js +8 -16
  210. package/dist/processors/implementations/spawn-governance-processor.js +0 -1
  211. package/dist/processors/implementations/storytelling-trigger-processor.js +3 -28
  212. package/dist/processors/implementations/test-auto-creation-processor.js +0 -1
  213. package/dist/processors/implementations/typescript-compilation-processor.js +0 -1
  214. package/dist/processors/implementations/version-compliance-processor.js +0 -1
  215. package/dist/processors/processor-interfaces.js +0 -1
  216. package/dist/processors/processor-types.js +0 -1
  217. package/dist/scripts/integration.js +0 -1
  218. package/dist/security/comprehensive-security-audit.js +0 -1
  219. package/dist/security/security-agent-coordinator.js +0 -1
  220. package/dist/security/security-auditor.js +0 -1
  221. package/dist/security/security-hardener.js +0 -1
  222. package/dist/security/security-hardening-system.js +0 -1
  223. package/dist/security/security-headers.js +0 -1
  224. package/dist/security/security-orchestration-layer.js +0 -1
  225. package/dist/services/inference-tuner.js +0 -1
  226. package/dist/session/session-cleanup-manager.js +0 -1
  227. package/dist/session/session-monitor.js +0 -1
  228. package/dist/session/session-state-manager.js +0 -1
  229. package/dist/skills/xray-orchestrator/index.js +0 -1
  230. package/dist/utils/codex-parser.js +0 -1
  231. package/dist/utils/language-detector.js +0 -1
  232. package/dist/utils/shutdown-handler.js +0 -1
  233. package/dist/validation/agent-config-validator.js +280 -0
  234. package/dist/validation/orchestration-flow-validator.js +606 -0
  235. package/package.json +1 -1
  236. package/scripts/node/release.mjs +2 -2
  237. package/scripts/node/setup.cjs +28 -0
  238. package/scripts/node/universal-version-manager.js +1 -1
  239. package/src/mcps/agent-resolver.ts +0 -1
  240. package/src/mcps/architect-tools.server.ts +129 -211
  241. package/src/mcps/auto-format.server.ts +74 -103
  242. package/src/mcps/boot-orchestrator.server.ts +71 -96
  243. package/src/mcps/config/__tests__/config-loader.test.ts +6 -6
  244. package/src/mcps/config/config-loader.ts +7 -0
  245. package/src/mcps/config/plugin-server-registry.ts +0 -1
  246. package/src/mcps/enforcer-tools.server.ts +217 -294
  247. package/src/mcps/estimation.server.ts +62 -122
  248. package/src/mcps/framework-compliance-audit.server.ts +53 -95
  249. package/src/mcps/framework-help.server.ts +74 -96
  250. package/src/mcps/governance.server.ts +97 -162
  251. package/src/mcps/knowledge-skills/api-design.server.ts +33 -72
  252. package/src/mcps/knowledge-skills/architecture-patterns.server.ts +33 -72
  253. package/src/mcps/knowledge-skills/bug-triage-specialist.server.ts +148 -193
  254. package/src/mcps/knowledge-skills/code-analyzer.server.ts +222 -254
  255. package/src/mcps/knowledge-skills/code-review.server.ts +115 -157
  256. package/src/mcps/knowledge-skills/content-creator.server.ts +219 -246
  257. package/src/mcps/knowledge-skills/database-design.server.ts +119 -160
  258. package/src/mcps/knowledge-skills/devops-deployment.server.ts +126 -167
  259. package/src/mcps/knowledge-skills/git-workflow.server.ts +32 -77
  260. package/src/mcps/knowledge-skills/growth-strategist.server.ts +322 -360
  261. package/src/mcps/knowledge-skills/log-monitor.server.ts +68 -95
  262. package/src/mcps/knowledge-skills/mobile-development.server.ts +16 -56
  263. package/src/mcps/knowledge-skills/multimodal-looker.server.ts +13 -59
  264. package/src/mcps/knowledge-skills/performance-optimization.server.ts +13 -74
  265. package/src/mcps/knowledge-skills/project-analysis.server.ts +13 -120
  266. package/src/mcps/knowledge-skills/refactoring-strategies.server.ts +13 -60
  267. package/src/mcps/knowledge-skills/security-audit.server.ts +19 -157
  268. package/src/mcps/knowledge-skills/seo-consultant.server.ts +23 -227
  269. package/src/mcps/knowledge-skills/session-management.server.ts +17 -106
  270. package/src/mcps/knowledge-skills/skill-invocation.server.ts +45 -446
  271. package/src/mcps/knowledge-skills/strategist.server.ts +13 -63
  272. package/src/mcps/knowledge-skills/tech-writer.server.ts +19 -204
  273. package/src/mcps/knowledge-skills/testing-best-practices.server.ts +21 -204
  274. package/src/mcps/knowledge-skills/testing-strategy.server.ts +21 -165
  275. package/src/mcps/knowledge-skills/ui-ux-design.server.ts +25 -342
  276. package/src/mcps/lint.server.ts +52 -105
  277. package/src/mcps/model-health-check.server.ts +34 -70
  278. package/src/mcps/orchestrator/aside-context.ts +245 -0
  279. package/src/mcps/orchestrator/config/agent-capabilities.ts +49 -14
  280. package/src/mcps/orchestrator/config/memory-routing-bridge.ts +80 -0
  281. package/src/mcps/orchestrator/execution/execution-planner.ts +36 -9
  282. package/src/mcps/orchestrator/handlers/complexity-handler.ts +9 -3
  283. package/src/mcps/orchestrator/handlers/status-handler.ts +11 -1
  284. package/src/mcps/orchestrator/handlers/task-handler.ts +78 -2
  285. package/src/mcps/orchestrator/index.ts +29 -0
  286. package/src/mcps/orchestrator/server.ts +79 -24
  287. package/src/mcps/orchestrator/types.ts +50 -0
  288. package/src/mcps/performance-analysis.server.ts +59 -102
  289. package/src/mcps/processor-pipeline.server.ts +70 -108
  290. package/src/mcps/researcher.server.ts +87 -175
  291. package/src/mcps/security-scan.server.ts +57 -76
  292. package/src/mcps/shared/knowledge-skill-base.ts +12 -4
  293. package/src/mcps/state-manager.server.ts +129 -169
  294. package/src/opencode/codex.codex +1 -1
  295. package/src/opencode/commands/auto-format.md +3 -3
  296. package/src/opencode/commands/auto-summary-capture.md +2 -2
  297. package/src/opencode/commands/enforcer-daily-scan.md +3 -3
  298. package/src/opencode/commands/framework-compliance-audit.md +4 -4
  299. package/src/opencode/commands/interactive-validator.md +2 -2
  300. package/src/opencode/commands/job-summary-logger.md +2 -2
  301. package/src/opencode/commands/mode-switch.md +1 -1
  302. package/src/opencode/commands/model-health-check.md +2 -2
  303. package/src/opencode/commands/performance-analysis.md +2 -2
  304. package/src/opencode/commands/pre-commit-introspection.md +3 -3
  305. package/src/opencode/commands/security-scan.md +3 -3
  306. package/src/opencode/commands/sisyphus-validation.md +3 -3
  307. package/src/opencode/commands/summary-logger.md +2 -2
  308. package/src/skills/xray-orchestrator/index.ts +0 -1
  309. 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 };