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.
- package/.opencode/codex.codex +1 -1
- package/.opencode/commands/auto-format.md +3 -3
- package/.opencode/commands/auto-summary-capture.md +2 -2
- package/.opencode/commands/enforcer-daily-scan.md +3 -3
- package/.opencode/commands/framework-compliance-audit.md +4 -4
- package/.opencode/commands/interactive-validator.md +2 -2
- package/.opencode/commands/job-summary-logger.md +2 -2
- package/.opencode/commands/mode-switch.md +1 -1
- package/.opencode/commands/model-health-check.md +2 -2
- package/.opencode/commands/performance-analysis.md +2 -2
- package/.opencode/commands/pre-commit-introspection.md +3 -3
- package/.opencode/commands/security-scan.md +3 -3
- package/.opencode/commands/sisyphus-validation.md +3 -3
- package/.opencode/commands/summary-logger.md +2 -2
- package/AGENTS.md +3 -13
- package/README.md +3 -3
- package/dist/AGENTS.md +3 -13
- package/dist/CHANGELOG.md +29 -0
- package/dist/README.md +3 -3
- package/dist/analytics/consent-manager.js +0 -1
- package/dist/analytics/emerging-pattern-detector.js +0 -1
- package/dist/analytics/pattern-learning-engine.js +0 -1
- package/dist/analytics/pattern-performance-tracker.js +0 -1
- package/dist/analytics/predictive-analytics.js +0 -1
- package/dist/analytics/prompt-pattern-analyzer.js +0 -1
- package/dist/analytics/routing-performance-analyzer.js +0 -1
- package/dist/analytics/routing-refiner.js +0 -1
- package/dist/analytics/simple-pattern-analyzer.js +0 -1
- package/dist/cli/commands/archive-logs.js +0 -1
- package/dist/cli/commands/opencode-install.js +13 -0
- package/dist/cli/commands/plugin-commands.js +0 -1
- package/dist/cli/commands/status.js +11 -13
- package/dist/cli/index.js +2 -7
- package/dist/core/activity-logger.js +0 -1
- package/dist/core/adaptive-kernel.js +0 -1
- package/dist/core/boot-orchestrator.js +2 -12
- package/dist/core/bridge.mjs +0 -1
- package/dist/core/codex-formatter.js +0 -1
- package/dist/core/codex-injector.js +0 -1
- package/dist/core/config-loader.js +36 -28
- package/dist/core/context-loader.js +0 -1
- package/dist/core/context-validator.js +0 -1
- package/dist/core/features-config.js +37 -1
- package/dist/core/kernel-patterns.js +0 -1
- package/dist/core/model-router.js +23 -64
- package/dist/core/system-prompt-generator.js +0 -1
- package/dist/delegation/agent-delegator.js +0 -1
- package/dist/delegation/agent-expertise.js +0 -1
- package/dist/delegation/analytics/index.js +0 -1
- package/dist/delegation/analytics/learning-engine.js +0 -1
- package/dist/delegation/analytics/outcome-tracker.js +0 -1
- package/dist/delegation/analytics/routing-analytics.js +0 -1
- package/dist/delegation/ast-code-parser.js +0 -1
- package/dist/delegation/complexity-analyzer.js +0 -1
- package/dist/delegation/dependency-graph-builder.js +0 -1
- package/dist/delegation/index.js +0 -1
- package/dist/delegation/metrics-aggregator.js +0 -1
- package/dist/delegation/session-coordinator.js +0 -1
- package/dist/delegation/strategy-selector.js +0 -1
- package/dist/delegation/voting-coordinator.js +0 -1
- package/dist/delegation/voting-types.js +0 -1
- package/dist/delegation/weighted-voting-aggregator.js +0 -1
- package/dist/enforcement/core/index.js +0 -1
- package/dist/enforcement/core/rule-executor.js +0 -1
- package/dist/enforcement/core/rule-hierarchy.js +0 -1
- package/dist/enforcement/core/rule-registry.js +0 -1
- package/dist/enforcement/core/violation-fixer.js +0 -1
- package/dist/enforcement/index.js +0 -1
- package/dist/enforcement/loaders/agent-triage-loader.js +0 -1
- package/dist/enforcement/loaders/agents-md-validation-loader.js +0 -1
- package/dist/enforcement/loaders/base-loader.js +0 -1
- package/dist/enforcement/loaders/codex-loader.js +0 -1
- package/dist/enforcement/loaders/index.js +0 -1
- package/dist/enforcement/loaders/loader-orchestrator.js +0 -1
- package/dist/enforcement/loaders/processor-loader.js +0 -1
- package/dist/enforcement/types.js +0 -1
- package/dist/enforcement/validators/architecture-validators.js +0 -1
- package/dist/enforcement/validators/base-validator.js +0 -1
- package/dist/enforcement/validators/code-quality-validators.js +0 -1
- package/dist/enforcement/validators/index.js +0 -1
- package/dist/enforcement/validators/security-validators.js +0 -1
- package/dist/enforcement/validators/testing-validators.js +0 -1
- package/dist/enforcement/validators/validator-registry.js +0 -1
- package/dist/governance/codex-policy.service.js +0 -1
- package/dist/inference/inference-agent-invoker.js +67 -0
- package/dist/inference/inference-applier.js +178 -0
- package/dist/inference/inference-cycle.js +51 -827
- package/dist/inference/inference-proposal-generator.js +149 -0
- package/dist/infrastructure/iac-validator.js +465 -0
- package/dist/infrastructure/schemas/cloud-schemas.js +488 -0
- package/dist/integrations/base/ExampleIntegration.js +0 -1
- package/dist/integrations/base/Integration.js +0 -1
- package/dist/integrations/base/index.js +0 -1
- package/dist/integrations/base/registry.js +0 -1
- package/dist/integrations/base/types.js +0 -1
- package/dist/integrations/enforcement-gate.js +3 -3
- package/dist/integrations/governance/governance-client.js +0 -1
- package/dist/integrations/governance/index.js +11 -19
- package/dist/integrations/governance/types.js +0 -1
- package/dist/integrations/hermes-agent/__init__.py +4 -0
- package/dist/integrations/hermes-agent/bridge.mjs +37 -0
- package/dist/integrations/openclaw/api-server.js +0 -1
- package/dist/integrations/openclaw/client.js +0 -1
- package/dist/integrations/openclaw/config.js +0 -1
- package/dist/integrations/openclaw/hooks/xray-hooks.js +0 -1
- package/dist/integrations/openclaw/index.js +0 -1
- package/dist/integrations/openclaw/types.js +0 -1
- package/dist/integrations/plugins/index.js +0 -1
- package/dist/integrations/plugins/plugin-integration.js +0 -1
- package/dist/integrations/plugins/plugin-registry.js +0 -1
- package/dist/mcps/agent-resolver.js +0 -1
- package/dist/mcps/architect-tools.server.js +119 -185
- package/dist/mcps/auto-format.server.js +56 -74
- package/dist/mcps/boot-orchestrator.server.js +67 -85
- package/dist/mcps/config/config-loader.js +6 -0
- package/dist/mcps/config/plugin-server-registry.js +0 -1
- package/dist/mcps/enforcer-tools.server.js +207 -273
- package/dist/mcps/estimation.server.js +63 -107
- package/dist/mcps/framework-compliance-audit.server.js +52 -81
- package/dist/mcps/framework-help.server.js +71 -89
- package/dist/mcps/governance.server.js +97 -149
- package/dist/mcps/knowledge-skills/api-design.server.js +33 -65
- package/dist/mcps/knowledge-skills/architecture-patterns.server.js +33 -65
- package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +123 -163
- package/dist/mcps/knowledge-skills/code-analyzer.server.js +210 -237
- package/dist/mcps/knowledge-skills/code-review.server.js +108 -142
- package/dist/mcps/knowledge-skills/content-creator.server.js +203 -225
- package/dist/mcps/knowledge-skills/database-design.server.js +116 -150
- package/dist/mcps/knowledge-skills/devops-deployment.server.js +123 -157
- package/dist/mcps/knowledge-skills/git-workflow.server.js +34 -67
- package/dist/mcps/knowledge-skills/growth-strategist.server.js +301 -323
- package/dist/mcps/knowledge-skills/log-monitor.server.js +139 -159
- package/dist/mcps/knowledge-skills/mobile-development.server.js +170 -200
- package/dist/mcps/knowledge-skills/multimodal-looker.server.js +122 -158
- package/dist/mcps/knowledge-skills/performance-optimization.server.js +88 -138
- package/dist/mcps/knowledge-skills/project-analysis.server.js +131 -218
- package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +115 -150
- package/dist/mcps/knowledge-skills/security-audit.server.js +16 -143
- package/dist/mcps/knowledge-skills/seo-consultant.server.js +20 -213
- package/dist/mcps/knowledge-skills/session-management.server.js +13 -90
- package/dist/mcps/knowledge-skills/skill-invocation.server.js +43 -421
- package/dist/mcps/knowledge-skills/strategist.server.js +10 -55
- package/dist/mcps/knowledge-skills/tech-writer.server.js +16 -191
- package/dist/mcps/knowledge-skills/testing-best-practices.server.js +18 -191
- package/dist/mcps/knowledge-skills/testing-strategy.server.js +18 -156
- package/dist/mcps/knowledge-skills/ui-ux-design.server.js +22 -296
- package/dist/mcps/lint.server.js +50 -91
- package/dist/mcps/model-health-check.server.js +32 -60
- package/dist/mcps/orchestrator/aside-context.js +207 -0
- package/dist/mcps/orchestrator/handlers/complexity-handler.js +5 -1
- package/dist/mcps/orchestrator/handlers/status-handler.js +8 -1
- package/dist/mcps/orchestrator/handlers/task-handler.js +5 -0
- package/dist/mcps/orchestrator/index.js +5 -0
- package/dist/mcps/orchestrator/server.js +63 -8
- package/dist/mcps/performance-analysis.server.js +56 -87
- package/dist/mcps/processor-pipeline.server.js +68 -99
- package/dist/mcps/researcher.server.js +80 -153
- package/dist/mcps/security-scan.server.js +56 -70
- package/dist/mcps/shared/knowledge-skill-base.js +11 -4
- package/dist/mcps/state-manager.server.js +124 -152
- package/dist/monitoring/nudge-watchdog.js +0 -1
- package/dist/nucleus/default-plugins.js +13 -19
- package/dist/nucleus/index.js +0 -1
- package/dist/orchestrator/agent-spawn-governor.js +0 -1
- package/dist/orchestrator/intelligent-commit-batcher.js +2 -10
- package/dist/orchestrator/multi-agent-orchestration-coordinator.js +0 -1
- package/dist/orchestrator/orchestrator.js +8 -18
- package/dist/orchestrator/self-direction-activation.js +0 -1
- package/dist/orchestrator/universal-registry-bridge.js +0 -1
- package/dist/performance/performance-budget-enforcer.js +0 -1
- package/dist/performance/performance-regression-tester.js +0 -1
- package/dist/plugin/plugin-codex-context.js +87 -0
- package/dist/plugin/plugin-helpers.js +155 -0
- package/dist/plugin/plugin-logger.js +46 -0
- package/dist/plugin/plugin-modules.js +144 -0
- package/dist/plugin/plugin-quality-gate.js +88 -0
- package/dist/plugin/plugin-types.js +1 -0
- package/dist/plugin/xray-codex-injection.js +338 -0
- package/dist/postprocessor/PostProcessor.js +3 -9
- package/dist/postprocessor/analysis/CodeChangeAnalyzer.js +50 -0
- package/dist/postprocessor/config/ProcessorConfigLoader.js +16 -0
- package/dist/postprocessor/integration.js +194 -0
- package/dist/postprocessor/metamorphosis/SelfProposalEngine.js +472 -0
- package/dist/postprocessor/metamorphosis/index.js +1 -0
- package/dist/postprocessor/redeploy/RetryHandler.js +118 -0
- package/dist/postprocessor/services/RegressionAnalysisService.js +0 -1
- package/dist/postprocessor/triggers/APITrigger.js +0 -1
- package/dist/postprocessor/triggers/WebhookTrigger.js +0 -1
- package/dist/processors/implementations/agents-md-validation-processor.js +0 -1
- package/dist/processors/implementations/async-pattern-processor.js +0 -1
- package/dist/processors/implementations/console-log-guard-processor.js +0 -1
- package/dist/processors/implementations/coverage-analysis-processor.js +0 -1
- package/dist/processors/implementations/inference-improvement-processor.js +2 -9
- package/dist/processors/implementations/log-protection-processor.js +0 -1
- package/dist/processors/implementations/nudge-processor.js +0 -1
- package/dist/processors/implementations/performance-budget-processor.js +0 -1
- package/dist/processors/implementations/postprocessor-chain-validator.js +0 -1
- package/dist/processors/implementations/publish-preflight-processor.js +4 -12
- package/dist/processors/implementations/session-summary-processor.js +8 -16
- package/dist/processors/implementations/spawn-governance-processor.js +0 -1
- package/dist/processors/implementations/storytelling-trigger-processor.js +3 -28
- package/dist/processors/implementations/test-auto-creation-processor.js +0 -1
- package/dist/processors/implementations/typescript-compilation-processor.js +0 -1
- package/dist/processors/implementations/version-compliance-processor.js +0 -1
- package/dist/processors/processor-interfaces.js +0 -1
- package/dist/processors/processor-types.js +0 -1
- package/dist/scripts/integration.js +0 -1
- package/dist/security/comprehensive-security-audit.js +0 -1
- package/dist/security/security-agent-coordinator.js +0 -1
- package/dist/security/security-auditor.js +0 -1
- package/dist/security/security-hardener.js +0 -1
- package/dist/security/security-hardening-system.js +0 -1
- package/dist/security/security-headers.js +0 -1
- package/dist/security/security-orchestration-layer.js +0 -1
- package/dist/services/inference-tuner.js +0 -1
- package/dist/session/session-cleanup-manager.js +0 -1
- package/dist/session/session-monitor.js +0 -1
- package/dist/session/session-state-manager.js +0 -1
- package/dist/skills/xray-orchestrator/index.js +0 -1
- package/dist/utils/codex-parser.js +0 -1
- package/dist/utils/language-detector.js +0 -1
- package/dist/utils/shutdown-handler.js +0 -1
- package/dist/validation/agent-config-validator.js +280 -0
- package/dist/validation/orchestration-flow-validator.js +606 -0
- package/package.json +1 -1
- package/scripts/node/release.mjs +2 -2
- package/scripts/node/setup.cjs +28 -0
- package/scripts/node/universal-version-manager.js +1 -1
- package/src/mcps/agent-resolver.ts +0 -1
- package/src/mcps/architect-tools.server.ts +129 -211
- package/src/mcps/auto-format.server.ts +74 -103
- package/src/mcps/boot-orchestrator.server.ts +71 -96
- package/src/mcps/config/__tests__/config-loader.test.ts +6 -6
- package/src/mcps/config/config-loader.ts +7 -0
- package/src/mcps/config/plugin-server-registry.ts +0 -1
- package/src/mcps/enforcer-tools.server.ts +217 -294
- package/src/mcps/estimation.server.ts +62 -122
- package/src/mcps/framework-compliance-audit.server.ts +53 -95
- package/src/mcps/framework-help.server.ts +74 -96
- package/src/mcps/governance.server.ts +97 -162
- package/src/mcps/knowledge-skills/api-design.server.ts +33 -72
- package/src/mcps/knowledge-skills/architecture-patterns.server.ts +33 -72
- package/src/mcps/knowledge-skills/bug-triage-specialist.server.ts +148 -193
- package/src/mcps/knowledge-skills/code-analyzer.server.ts +222 -254
- package/src/mcps/knowledge-skills/code-review.server.ts +115 -157
- package/src/mcps/knowledge-skills/content-creator.server.ts +219 -246
- package/src/mcps/knowledge-skills/database-design.server.ts +119 -160
- package/src/mcps/knowledge-skills/devops-deployment.server.ts +126 -167
- package/src/mcps/knowledge-skills/git-workflow.server.ts +32 -77
- package/src/mcps/knowledge-skills/growth-strategist.server.ts +322 -360
- package/src/mcps/knowledge-skills/log-monitor.server.ts +68 -95
- package/src/mcps/knowledge-skills/mobile-development.server.ts +16 -56
- package/src/mcps/knowledge-skills/multimodal-looker.server.ts +13 -59
- package/src/mcps/knowledge-skills/performance-optimization.server.ts +13 -74
- package/src/mcps/knowledge-skills/project-analysis.server.ts +13 -120
- package/src/mcps/knowledge-skills/refactoring-strategies.server.ts +13 -60
- package/src/mcps/knowledge-skills/security-audit.server.ts +19 -157
- package/src/mcps/knowledge-skills/seo-consultant.server.ts +23 -227
- package/src/mcps/knowledge-skills/session-management.server.ts +17 -106
- package/src/mcps/knowledge-skills/skill-invocation.server.ts +45 -446
- package/src/mcps/knowledge-skills/strategist.server.ts +13 -63
- package/src/mcps/knowledge-skills/tech-writer.server.ts +19 -204
- package/src/mcps/knowledge-skills/testing-best-practices.server.ts +21 -204
- package/src/mcps/knowledge-skills/testing-strategy.server.ts +21 -165
- package/src/mcps/knowledge-skills/ui-ux-design.server.ts +25 -342
- package/src/mcps/lint.server.ts +52 -105
- package/src/mcps/model-health-check.server.ts +34 -70
- package/src/mcps/orchestrator/aside-context.ts +245 -0
- package/src/mcps/orchestrator/handlers/complexity-handler.ts +9 -3
- package/src/mcps/orchestrator/handlers/status-handler.ts +11 -1
- package/src/mcps/orchestrator/handlers/task-handler.ts +8 -1
- package/src/mcps/orchestrator/index.ts +29 -0
- package/src/mcps/orchestrator/server.ts +79 -24
- package/src/mcps/orchestrator/types.ts +37 -0
- package/src/mcps/performance-analysis.server.ts +59 -102
- package/src/mcps/processor-pipeline.server.ts +70 -108
- package/src/mcps/researcher.server.ts +87 -175
- package/src/mcps/security-scan.server.ts +57 -76
- package/src/mcps/shared/knowledge-skill-base.ts +12 -4
- package/src/mcps/state-manager.server.ts +129 -169
- package/src/opencode/codex.codex +1 -1
- package/src/opencode/commands/auto-format.md +3 -3
- package/src/opencode/commands/auto-summary-capture.md +2 -2
- package/src/opencode/commands/enforcer-daily-scan.md +3 -3
- package/src/opencode/commands/framework-compliance-audit.md +4 -4
- package/src/opencode/commands/interactive-validator.md +2 -2
- package/src/opencode/commands/job-summary-logger.md +2 -2
- package/src/opencode/commands/mode-switch.md +1 -1
- package/src/opencode/commands/model-health-check.md +2 -2
- package/src/opencode/commands/performance-analysis.md +2 -2
- package/src/opencode/commands/pre-commit-introspection.md +3 -3
- package/src/opencode/commands/security-scan.md +3 -3
- package/src/opencode/commands/sisyphus-validation.md +3 -3
- package/src/opencode/commands/summary-logger.md +2 -2
- package/src/skills/xray-orchestrator/index.ts +0 -1
- package/dist/nucleus/orchestrator.js +0 -479
|
@@ -4,135 +4,84 @@
|
|
|
4
4
|
* Provides tools for tracking and validating estimates
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
8
|
-
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
9
|
-
import {
|
|
10
|
-
CallToolRequestSchema,
|
|
11
|
-
ListToolsRequestSchema,
|
|
12
|
-
} from "@modelcontextprotocol/sdk/types.js";
|
|
13
7
|
import * as fs from "fs";
|
|
14
8
|
import { frameworkLogger } from "../core/framework-logger.js";
|
|
9
|
+
import { XrayKnowledgeSkillBase } from "./shared/knowledge-skill-base.js";
|
|
15
10
|
import { getEstimationValidator } from "../validation/estimation-validator.js";
|
|
16
11
|
|
|
17
12
|
/**
|
|
18
13
|
* Estimation MCP Server
|
|
19
14
|
* Tracks estimates vs actuals and provides calibrated predictions
|
|
20
15
|
*/
|
|
21
|
-
class EstimationServer {
|
|
22
|
-
private server: Server;
|
|
16
|
+
class EstimationServer extends XrayKnowledgeSkillBase {
|
|
23
17
|
private validator = getEstimationValidator();
|
|
24
18
|
|
|
25
19
|
constructor() {
|
|
26
|
-
|
|
20
|
+
super("estimation-validator", "3.1.0");
|
|
21
|
+
this.tools = [
|
|
27
22
|
{
|
|
28
|
-
name: "
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
private setupToolHandlers(): void {
|
|
39
|
-
// List available tools
|
|
40
|
-
this.server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
41
|
-
return {
|
|
42
|
-
tools: [
|
|
43
|
-
{
|
|
44
|
-
name: "validate-estimate",
|
|
45
|
-
description: "Validate an estimate against historical data",
|
|
46
|
-
inputSchema: {
|
|
47
|
-
type: "object",
|
|
48
|
-
properties: {
|
|
49
|
-
category: {
|
|
50
|
-
type: "string",
|
|
51
|
-
description: "Task category (e.g., 'refactoring', 'testing', 'documentation')",
|
|
52
|
-
},
|
|
53
|
-
estimate: {
|
|
54
|
-
type: "number",
|
|
55
|
-
description: "Estimated time in minutes",
|
|
56
|
-
},
|
|
57
|
-
description: {
|
|
58
|
-
type: "string",
|
|
59
|
-
description: "Brief description of the task",
|
|
60
|
-
},
|
|
61
|
-
},
|
|
62
|
-
required: ["category", "estimate"],
|
|
23
|
+
name: "validate-estimate",
|
|
24
|
+
description: "Validate an estimate against historical data",
|
|
25
|
+
inputSchema: {
|
|
26
|
+
type: "object",
|
|
27
|
+
properties: {
|
|
28
|
+
category: {
|
|
29
|
+
type: "string",
|
|
30
|
+
description: "Task category (e.g., 'refactoring', 'testing', 'documentation')",
|
|
63
31
|
},
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
description: "Start tracking time for a task",
|
|
68
|
-
inputSchema: {
|
|
69
|
-
type: "object",
|
|
70
|
-
properties: {
|
|
71
|
-
taskId: { type: "string" },
|
|
72
|
-
category: { type: "string" },
|
|
73
|
-
estimate: { type: "number" },
|
|
74
|
-
description: { type: "string" },
|
|
75
|
-
},
|
|
76
|
-
required: ["taskId", "category", "estimate"],
|
|
32
|
+
estimate: {
|
|
33
|
+
type: "number",
|
|
34
|
+
description: "Estimated time in minutes",
|
|
77
35
|
},
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
description: "Complete tracking for a task",
|
|
82
|
-
inputSchema: {
|
|
83
|
-
type: "object",
|
|
84
|
-
properties: {
|
|
85
|
-
taskId: { type: "string" },
|
|
86
|
-
},
|
|
87
|
-
required: ["taskId"],
|
|
36
|
+
description: {
|
|
37
|
+
type: "string",
|
|
38
|
+
description: "Brief description of the task",
|
|
88
39
|
},
|
|
89
40
|
},
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
41
|
+
required: ["category", "estimate"],
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: "start-tracking",
|
|
46
|
+
description: "Start tracking time for a task",
|
|
47
|
+
inputSchema: {
|
|
48
|
+
type: "object",
|
|
49
|
+
properties: {
|
|
50
|
+
taskId: { type: "string" },
|
|
51
|
+
category: { type: "string" },
|
|
52
|
+
estimate: { type: "number" },
|
|
53
|
+
description: { type: "string" },
|
|
97
54
|
},
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
return {
|
|
129
|
-
content: [{
|
|
130
|
-
type: "text" as const,
|
|
131
|
-
text: `Error handling tool '${request.params.name}': ${error instanceof Error ? error.message : String(error)}`,
|
|
132
|
-
}],
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
});
|
|
55
|
+
required: ["taskId", "category", "estimate"],
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
name: "complete-tracking",
|
|
60
|
+
description: "Complete tracking for a task",
|
|
61
|
+
inputSchema: {
|
|
62
|
+
type: "object",
|
|
63
|
+
properties: {
|
|
64
|
+
taskId: { type: "string" },
|
|
65
|
+
},
|
|
66
|
+
required: ["taskId"],
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
name: "get-accuracy-report",
|
|
71
|
+
description: "Get estimation accuracy report",
|
|
72
|
+
inputSchema: {
|
|
73
|
+
type: "object",
|
|
74
|
+
properties: {},
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
];
|
|
78
|
+
this.handlers = {
|
|
79
|
+
"validate-estimate": async (args) => this.handleValidateEstimate(args as { category: string; estimate: number; description?: string }),
|
|
80
|
+
"start-tracking": async (args) => this.handleStartTracking(args as { taskId: string; category: string; estimate: number; description?: string }),
|
|
81
|
+
"complete-tracking": async (args) => this.handleCompleteTracking(args as { taskId: string }),
|
|
82
|
+
"get-accuracy-report": async () => this.handleGetReport(),
|
|
83
|
+
};
|
|
84
|
+
this.setupToolHandlers();
|
|
136
85
|
}
|
|
137
86
|
|
|
138
87
|
private handleValidateEstimate(args: { category: string; estimate: number; description?: string }): { content: Array<{ type: string; text: string }> } {
|
|
@@ -210,21 +159,12 @@ class EstimationServer {
|
|
|
210
159
|
|
|
211
160
|
return { content: [{ type: "text", text: response }] };
|
|
212
161
|
}
|
|
213
|
-
|
|
214
|
-
async start(): Promise<void> {
|
|
215
|
-
const transport = new StdioServerTransport();
|
|
216
|
-
await this.server.connect(transport);
|
|
217
|
-
|
|
218
|
-
frameworkLogger.log("estimation-server", "start", "info", {
|
|
219
|
-
message: "Estimation Validator Server started",
|
|
220
|
-
});
|
|
221
|
-
}
|
|
222
162
|
}
|
|
223
163
|
|
|
224
164
|
// Run if called directly
|
|
225
165
|
if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
|
|
226
166
|
const server = new EstimationServer();
|
|
227
|
-
server.
|
|
167
|
+
server.run().catch((error) => frameworkLogger.log("mcps/estimation", "run", "error", { error: String(error) }));
|
|
228
168
|
}
|
|
229
169
|
|
|
230
170
|
export { EstimationServer };
|
|
@@ -4,15 +4,10 @@
|
|
|
4
4
|
* Comprehensive validation of all framework components and Universal Development Codex compliance
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
8
|
-
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
9
|
-
import {
|
|
10
|
-
CallToolRequestSchema,
|
|
11
|
-
ListToolsRequestSchema,
|
|
12
|
-
} from "@modelcontextprotocol/sdk/types.js";
|
|
13
7
|
import fs from "fs";
|
|
14
8
|
import path from "path";
|
|
15
9
|
import { frameworkLogger } from "../core/framework-logger.js";
|
|
10
|
+
import { XrayKnowledgeSkillBase } from "./shared/knowledge-skill-base.js";
|
|
16
11
|
|
|
17
12
|
interface FrameworkComplianceAuditArgs {
|
|
18
13
|
scope?: string;
|
|
@@ -33,20 +28,64 @@ interface AuditResults {
|
|
|
33
28
|
summary: string;
|
|
34
29
|
}
|
|
35
30
|
|
|
36
|
-
class XrayFrameworkComplianceAuditServer {
|
|
37
|
-
private server: Server;
|
|
38
|
-
|
|
31
|
+
class XrayFrameworkComplianceAuditServer extends XrayKnowledgeSkillBase {
|
|
39
32
|
constructor() {
|
|
40
|
-
|
|
33
|
+
super("framework-compliance-audit", "3.1.0");
|
|
34
|
+
|
|
35
|
+
this.tools = [
|
|
41
36
|
{
|
|
42
|
-
name: "framework-compliance-audit",
|
|
37
|
+
name: "framework-compliance-audit",
|
|
38
|
+
description:
|
|
39
|
+
"Comprehensive validation of all framework components and Universal Development Codex compliance",
|
|
40
|
+
inputSchema: {
|
|
41
|
+
type: "object",
|
|
42
|
+
properties: {
|
|
43
|
+
scope: {
|
|
44
|
+
type: "string",
|
|
45
|
+
enum: [
|
|
46
|
+
"full",
|
|
47
|
+
"codex",
|
|
48
|
+
"configuration",
|
|
49
|
+
"agents",
|
|
50
|
+
"performance",
|
|
51
|
+
],
|
|
52
|
+
default: "full",
|
|
53
|
+
description: "Scope of compliance audit",
|
|
54
|
+
},
|
|
55
|
+
detailed: {
|
|
56
|
+
type: "boolean",
|
|
57
|
+
default: false,
|
|
58
|
+
description: "Include detailed findings and recommendations",
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
},
|
|
43
62
|
},
|
|
44
63
|
{
|
|
45
|
-
|
|
46
|
-
|
|
64
|
+
name: "codex-validation",
|
|
65
|
+
description:
|
|
66
|
+
"Validate compliance with Universal Development Codex v1.2.0",
|
|
67
|
+
inputSchema: {
|
|
68
|
+
type: "object",
|
|
69
|
+
properties: {
|
|
70
|
+
terms: {
|
|
71
|
+
type: "array",
|
|
72
|
+
items: { type: "number", minimum: 1, maximum: 43 },
|
|
73
|
+
description: "Specific codex terms to validate (1-43)",
|
|
74
|
+
},
|
|
75
|
+
strict: {
|
|
76
|
+
type: "boolean",
|
|
77
|
+
default: true,
|
|
78
|
+
description: "Enforce strict compliance",
|
|
79
|
+
},
|
|
80
|
+
},
|
|
47
81
|
},
|
|
48
82
|
},
|
|
49
|
-
|
|
83
|
+
];
|
|
84
|
+
|
|
85
|
+
this.handlers = {
|
|
86
|
+
"framework-compliance-audit": async (args) => this.handleFrameworkComplianceAudit(args as FrameworkComplianceAuditArgs),
|
|
87
|
+
"codex-validation": async (args) => this.handleCodexValidation(args as CodexValidationArgs),
|
|
88
|
+
};
|
|
50
89
|
|
|
51
90
|
this.setupToolHandlers();
|
|
52
91
|
void frameworkLogger.log(
|
|
@@ -57,77 +96,6 @@ class XrayFrameworkComplianceAuditServer {
|
|
|
57
96
|
);
|
|
58
97
|
}
|
|
59
98
|
|
|
60
|
-
private setupToolHandlers() {
|
|
61
|
-
// List available tools
|
|
62
|
-
this.server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
63
|
-
return {
|
|
64
|
-
tools: [
|
|
65
|
-
{
|
|
66
|
-
name: "framework-compliance-audit",
|
|
67
|
-
description:
|
|
68
|
-
"Comprehensive validation of all framework components and Universal Development Codex compliance",
|
|
69
|
-
inputSchema: {
|
|
70
|
-
type: "object",
|
|
71
|
-
properties: {
|
|
72
|
-
scope: {
|
|
73
|
-
type: "string",
|
|
74
|
-
enum: [
|
|
75
|
-
"full",
|
|
76
|
-
"codex",
|
|
77
|
-
"configuration",
|
|
78
|
-
"agents",
|
|
79
|
-
"performance",
|
|
80
|
-
],
|
|
81
|
-
default: "full",
|
|
82
|
-
description: "Scope of compliance audit",
|
|
83
|
-
},
|
|
84
|
-
detailed: {
|
|
85
|
-
type: "boolean",
|
|
86
|
-
default: false,
|
|
87
|
-
description: "Include detailed findings and recommendations",
|
|
88
|
-
},
|
|
89
|
-
},
|
|
90
|
-
},
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
name: "codex-validation",
|
|
94
|
-
description:
|
|
95
|
-
"Validate compliance with Universal Development Codex v1.2.0",
|
|
96
|
-
inputSchema: {
|
|
97
|
-
type: "object",
|
|
98
|
-
properties: {
|
|
99
|
-
terms: {
|
|
100
|
-
type: "array",
|
|
101
|
-
items: { type: "number", minimum: 1, maximum: 43 },
|
|
102
|
-
description: "Specific codex terms to validate (1-43)",
|
|
103
|
-
},
|
|
104
|
-
strict: {
|
|
105
|
-
type: "boolean",
|
|
106
|
-
default: true,
|
|
107
|
-
description: "Enforce strict compliance",
|
|
108
|
-
},
|
|
109
|
-
},
|
|
110
|
-
},
|
|
111
|
-
},
|
|
112
|
-
],
|
|
113
|
-
};
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
// Handle tool calls
|
|
117
|
-
this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
118
|
-
const { name, arguments: args } = request.params;
|
|
119
|
-
|
|
120
|
-
switch (name) {
|
|
121
|
-
case "framework-compliance-audit":
|
|
122
|
-
return await this.handleFrameworkComplianceAudit(args as unknown as FrameworkComplianceAuditArgs);
|
|
123
|
-
case "codex-validation":
|
|
124
|
-
return await this.handleCodexValidation(args as unknown as CodexValidationArgs);
|
|
125
|
-
default:
|
|
126
|
-
throw new Error(`Unknown tool: ${name}`);
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
|
|
131
99
|
private async handleFrameworkComplianceAudit(args: FrameworkComplianceAuditArgs) {
|
|
132
100
|
const scope = args.scope || "full";
|
|
133
101
|
const detailed = args.detailed || false;
|
|
@@ -614,16 +582,6 @@ ${results.recommendations.map((r) => `• 💡 ${r}`).join("\n")}
|
|
|
614
582
|
return details;
|
|
615
583
|
}
|
|
616
584
|
|
|
617
|
-
async run() {
|
|
618
|
-
const transport = new StdioServerTransport();
|
|
619
|
-
await this.server.connect(transport);
|
|
620
|
-
void frameworkLogger.log(
|
|
621
|
-
"framework-compliance-audit.server",
|
|
622
|
-
"compliance-audit-startup",
|
|
623
|
-
"info",
|
|
624
|
-
{ message: "0xRay Framework Compliance Audit MCP Server started" },
|
|
625
|
-
);
|
|
626
|
-
}
|
|
627
585
|
}
|
|
628
586
|
|
|
629
587
|
// Start the server if run directly
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
2
|
-
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
3
1
|
import {
|
|
4
2
|
CallToolRequestSchema,
|
|
5
3
|
ErrorCode,
|
|
6
|
-
ListToolsRequestSchema,
|
|
7
4
|
McpError,
|
|
8
5
|
} from "@modelcontextprotocol/sdk/types.js";
|
|
6
|
+
import { XrayKnowledgeSkillBase } from "./shared/knowledge-skill-base.js";
|
|
9
7
|
import * as fs from "fs";
|
|
10
8
|
import { frameworkLogger } from "../core/framework-logger.js";
|
|
11
9
|
import { AGENT_REGISTRY, getActiveAgents } from "../agents/registry.js";
|
|
@@ -17,107 +15,92 @@ interface CapabilitiesMap {
|
|
|
17
15
|
reporting: { [key: string]: string };
|
|
18
16
|
}
|
|
19
17
|
|
|
20
|
-
class FrameworkHelpServer {
|
|
21
|
-
private server: Server;
|
|
18
|
+
class FrameworkHelpServer extends XrayKnowledgeSkillBase {
|
|
22
19
|
|
|
23
20
|
constructor() {
|
|
24
|
-
|
|
21
|
+
super("xray/framework-help", "3.1.0");
|
|
22
|
+
|
|
23
|
+
this.tools = [
|
|
25
24
|
{
|
|
26
|
-
name: "
|
|
25
|
+
name: "xray_get_capabilities",
|
|
26
|
+
description:
|
|
27
|
+
"Get comprehensive list of all 0xRay framework capabilities, commands, and available tools",
|
|
28
|
+
inputSchema: {
|
|
29
|
+
type: "object",
|
|
30
|
+
properties: {
|
|
31
|
+
category: {
|
|
32
|
+
type: "string",
|
|
33
|
+
enum: ["all", "agents", "skills", "commands", "reporting"],
|
|
34
|
+
description: "Filter capabilities by category",
|
|
35
|
+
default: "all",
|
|
36
|
+
},
|
|
37
|
+
format: {
|
|
38
|
+
type: "string",
|
|
39
|
+
enum: ["summary", "detailed", "commands"],
|
|
40
|
+
description: "Output format",
|
|
41
|
+
default: "summary",
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
required: [],
|
|
45
|
+
},
|
|
27
46
|
},
|
|
28
47
|
{
|
|
29
|
-
|
|
30
|
-
|
|
48
|
+
name: "xray_get_commands",
|
|
49
|
+
description:
|
|
50
|
+
"Get list of available 0xRay commands and their usage",
|
|
51
|
+
inputSchema: {
|
|
52
|
+
type: "object",
|
|
53
|
+
properties: {
|
|
54
|
+
type: {
|
|
55
|
+
type: "string",
|
|
56
|
+
enum: [
|
|
57
|
+
"agent-commands",
|
|
58
|
+
"system-commands",
|
|
59
|
+
"reporting-commands",
|
|
60
|
+
],
|
|
61
|
+
description: "Type of commands to list",
|
|
62
|
+
default: "agent-commands",
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
required: [],
|
|
31
66
|
},
|
|
32
67
|
},
|
|
33
|
-
|
|
68
|
+
{
|
|
69
|
+
name: "xray_explain_capability",
|
|
70
|
+
description:
|
|
71
|
+
"Get detailed explanation of a specific 0xRay capability",
|
|
72
|
+
inputSchema: {
|
|
73
|
+
type: "object",
|
|
74
|
+
properties: {
|
|
75
|
+
capability: {
|
|
76
|
+
type: "string",
|
|
77
|
+
description: "Name of the capability to explain",
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
required: ["capability"],
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
];
|
|
84
|
+
|
|
85
|
+
this.handlers = {
|
|
86
|
+
"xray_get_capabilities": async (args) => this.handleGetCapabilities(args as Record<string, unknown> | undefined),
|
|
87
|
+
"xray_get_commands": async (args) => this.handleGetCommands(args as Record<string, unknown> | undefined),
|
|
88
|
+
"xray_explain_capability": async (args) => this.handleExplainCapability(args as Record<string, unknown> | undefined),
|
|
89
|
+
};
|
|
34
90
|
|
|
35
91
|
this.setupToolHandlers();
|
|
36
92
|
}
|
|
37
93
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
this.server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
41
|
-
return {
|
|
42
|
-
tools: [
|
|
43
|
-
{
|
|
44
|
-
name: "xray_get_capabilities",
|
|
45
|
-
description:
|
|
46
|
-
"Get comprehensive list of all 0xRay framework capabilities, commands, and available tools",
|
|
47
|
-
inputSchema: {
|
|
48
|
-
type: "object",
|
|
49
|
-
properties: {
|
|
50
|
-
category: {
|
|
51
|
-
type: "string",
|
|
52
|
-
enum: ["all", "agents", "skills", "commands", "reporting"],
|
|
53
|
-
description: "Filter capabilities by category",
|
|
54
|
-
default: "all",
|
|
55
|
-
},
|
|
56
|
-
format: {
|
|
57
|
-
type: "string",
|
|
58
|
-
enum: ["summary", "detailed", "commands"],
|
|
59
|
-
description: "Output format",
|
|
60
|
-
default: "summary",
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
|
-
required: [],
|
|
64
|
-
},
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
name: "xray_get_commands",
|
|
68
|
-
description:
|
|
69
|
-
"Get list of available 0xRay commands and their usage",
|
|
70
|
-
inputSchema: {
|
|
71
|
-
type: "object",
|
|
72
|
-
properties: {
|
|
73
|
-
type: {
|
|
74
|
-
type: "string",
|
|
75
|
-
enum: [
|
|
76
|
-
"agent-commands",
|
|
77
|
-
"system-commands",
|
|
78
|
-
"reporting-commands",
|
|
79
|
-
],
|
|
80
|
-
description: "Type of commands to list",
|
|
81
|
-
default: "agent-commands",
|
|
82
|
-
},
|
|
83
|
-
},
|
|
84
|
-
required: [],
|
|
85
|
-
},
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
name: "xray_explain_capability",
|
|
89
|
-
description:
|
|
90
|
-
"Get detailed explanation of a specific 0xRay capability",
|
|
91
|
-
inputSchema: {
|
|
92
|
-
type: "object",
|
|
93
|
-
properties: {
|
|
94
|
-
capability: {
|
|
95
|
-
type: "string",
|
|
96
|
-
description: "Name of the capability to explain",
|
|
97
|
-
},
|
|
98
|
-
},
|
|
99
|
-
required: ["capability"],
|
|
100
|
-
},
|
|
101
|
-
},
|
|
102
|
-
],
|
|
103
|
-
};
|
|
104
|
-
});
|
|
105
|
-
|
|
106
|
-
// Handle tool calls - required MCP protocol handler for tool execution
|
|
94
|
+
override setupToolHandlers(): void {
|
|
95
|
+
this.setupListToolsHandler();
|
|
107
96
|
this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
108
97
|
const { name, arguments: args } = request.params;
|
|
109
|
-
|
|
98
|
+
const handler = this.handlers[name];
|
|
99
|
+
if (!handler) {
|
|
100
|
+
throw new McpError(ErrorCode.MethodNotFound, `Unknown tool: ${name}`);
|
|
101
|
+
}
|
|
110
102
|
try {
|
|
111
|
-
|
|
112
|
-
case "xray_get_capabilities":
|
|
113
|
-
return this.handleGetCapabilities(args);
|
|
114
|
-
case "xray_get_commands":
|
|
115
|
-
return this.handleGetCommands(args);
|
|
116
|
-
case "xray_explain_capability":
|
|
117
|
-
return this.handleExplainCapability(args);
|
|
118
|
-
default:
|
|
119
|
-
throw new McpError(ErrorCode.MethodNotFound, `Unknown tool: ${name}`);
|
|
120
|
-
}
|
|
103
|
+
return await handler(args);
|
|
121
104
|
} catch (error) {
|
|
122
105
|
if (error instanceof McpError) {
|
|
123
106
|
throw error;
|
|
@@ -452,17 +435,12 @@ ${items.map(([name, desc]) => `- **${name}**: ${desc}`).join("\n")}
|
|
|
452
435
|
`.trim();
|
|
453
436
|
}
|
|
454
437
|
|
|
455
|
-
async start() {
|
|
456
|
-
const transport = new StdioServerTransport();
|
|
457
|
-
await this.server.connect(transport);
|
|
458
|
-
frameworkLogger.log("mcps/framework-help", "start", "info", { message: "0xRay Framework Help Server started" });
|
|
459
|
-
}
|
|
460
438
|
}
|
|
461
439
|
|
|
462
440
|
// Auto-start if this file is run directly - conditional server initialization for development/testing
|
|
463
441
|
if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
|
|
464
442
|
const server = new FrameworkHelpServer();
|
|
465
|
-
server.
|
|
443
|
+
server.run().catch((error) => frameworkLogger.log("mcps/framework-help", "run", "error", { error: String(error) }));
|
|
466
444
|
}
|
|
467
445
|
|
|
468
446
|
export { FrameworkHelpServer };
|