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,259 +4,243 @@
|
|
|
4
4
|
* Converts enforcer-tools.ts functions into MCP server tools
|
|
5
5
|
* Provides rule enforcement and validation capabilities via MCP protocol
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
7
|
+
import { CallToolRequestSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
8
|
+
import { XrayKnowledgeSkillBase } from "./shared/knowledge-skill-base.js";
|
|
10
9
|
import * as fs from "fs";
|
|
11
10
|
import { frameworkLogger } from "../core/framework-logger.js";
|
|
12
11
|
import { getCodexPolicyService } from "../governance/codex-policy.service.js";
|
|
13
12
|
// Import actual enforcer-tools functions
|
|
14
13
|
import { ruleValidation as runRuleValidation } from "../enforcement/enforcer-tools.js";
|
|
15
|
-
class XrayEnforcerToolsServer {
|
|
16
|
-
server;
|
|
14
|
+
class XrayEnforcerToolsServer extends XrayKnowledgeSkillBase {
|
|
17
15
|
constructor() {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
16
|
+
super("enforcer", "3.1.0");
|
|
17
|
+
this.tools = [
|
|
18
|
+
{
|
|
19
|
+
name: "rule-validation",
|
|
20
|
+
description: "Validate operations against the comprehensive rule hierarchy including duplicate code prevention, test requirements, and architectural constraints",
|
|
21
|
+
inputSchema: {
|
|
22
|
+
type: "object",
|
|
23
|
+
properties: {
|
|
24
|
+
operation: {
|
|
25
|
+
type: "string",
|
|
26
|
+
description: "Operation to validate (create, modify, refactor, etc.)",
|
|
27
|
+
},
|
|
28
|
+
files: {
|
|
29
|
+
type: "array",
|
|
30
|
+
items: { type: "string" },
|
|
31
|
+
description: "Files affected by the operation",
|
|
32
|
+
},
|
|
33
|
+
newCode: {
|
|
34
|
+
type: "string",
|
|
35
|
+
description: "New code being added (optional)",
|
|
36
|
+
},
|
|
37
|
+
existingCode: {
|
|
35
38
|
type: "object",
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
type: "string",
|
|
48
|
-
description: "New code being added (optional)",
|
|
49
|
-
},
|
|
50
|
-
existingCode: {
|
|
51
|
-
type: "object",
|
|
52
|
-
description: "Map of existing code for comparison (optional)",
|
|
53
|
-
},
|
|
54
|
-
dependencies: {
|
|
55
|
-
type: "array",
|
|
56
|
-
items: { type: "string" },
|
|
57
|
-
description: "Dependencies being declared (optional)",
|
|
58
|
-
},
|
|
59
|
-
tests: {
|
|
60
|
-
type: "array",
|
|
61
|
-
items: { type: "string" },
|
|
62
|
-
description: "Test files for validation (optional)",
|
|
63
|
-
},
|
|
64
|
-
},
|
|
65
|
-
required: ["operation"],
|
|
39
|
+
description: "Map of existing code for comparison (optional)",
|
|
40
|
+
},
|
|
41
|
+
dependencies: {
|
|
42
|
+
type: "array",
|
|
43
|
+
items: { type: "string" },
|
|
44
|
+
description: "Dependencies being declared (optional)",
|
|
45
|
+
},
|
|
46
|
+
tests: {
|
|
47
|
+
type: "array",
|
|
48
|
+
items: { type: "string" },
|
|
49
|
+
description: "Test files for validation (optional)",
|
|
66
50
|
},
|
|
67
51
|
},
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
52
|
+
required: ["operation"],
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
name: "codex-enforcement",
|
|
57
|
+
description: "Enforce all Universal Development Codex terms with comprehensive compliance validation and actionable remediation",
|
|
58
|
+
inputSchema: {
|
|
59
|
+
type: "object",
|
|
60
|
+
properties: {
|
|
61
|
+
operation: {
|
|
62
|
+
type: "string",
|
|
63
|
+
description: "Operation to validate against codex",
|
|
64
|
+
},
|
|
65
|
+
files: {
|
|
66
|
+
type: "array",
|
|
67
|
+
items: { type: "string" },
|
|
68
|
+
description: "Files to check for codex compliance",
|
|
69
|
+
},
|
|
70
|
+
newCode: {
|
|
71
|
+
type: "string",
|
|
72
|
+
description: "New code to validate against codex terms",
|
|
73
|
+
},
|
|
74
|
+
focusAreas: {
|
|
75
|
+
type: "array",
|
|
76
|
+
items: {
|
|
77
|
+
type: "string",
|
|
78
|
+
enum: [
|
|
79
|
+
"error-handling",
|
|
80
|
+
"type-safety",
|
|
81
|
+
"performance",
|
|
82
|
+
"security",
|
|
83
|
+
"architecture",
|
|
84
|
+
],
|
|
101
85
|
},
|
|
102
|
-
|
|
86
|
+
description: "Specific codex areas to focus validation on",
|
|
103
87
|
},
|
|
104
88
|
},
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
89
|
+
required: ["operation"],
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: "context-analysis-validation",
|
|
94
|
+
description: "Validate proper integration of contextual analysis components and architectural patterns",
|
|
95
|
+
inputSchema: {
|
|
96
|
+
type: "object",
|
|
97
|
+
properties: {
|
|
98
|
+
files: {
|
|
99
|
+
type: "array",
|
|
100
|
+
items: { type: "string" },
|
|
101
|
+
description: "Files to validate for context integration",
|
|
102
|
+
},
|
|
103
|
+
operation: {
|
|
104
|
+
type: "string",
|
|
105
|
+
description: "Operation context for validation",
|
|
106
|
+
},
|
|
107
|
+
checkPatterns: {
|
|
108
|
+
type: "array",
|
|
109
|
+
items: {
|
|
110
|
+
type: "string",
|
|
111
|
+
enum: [
|
|
112
|
+
"memory-optimization",
|
|
113
|
+
"error-handling",
|
|
114
|
+
"type-safety",
|
|
115
|
+
"dependency-injection",
|
|
116
|
+
],
|
|
133
117
|
},
|
|
134
|
-
|
|
118
|
+
description: "Specific integration patterns to validate",
|
|
135
119
|
},
|
|
136
120
|
},
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
121
|
+
required: ["files", "operation"],
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
name: "quality-gate-check",
|
|
126
|
+
description: "Perform comprehensive quality gate validation before commits with automated fixes and blocking decisions",
|
|
127
|
+
inputSchema: {
|
|
128
|
+
type: "object",
|
|
129
|
+
properties: {
|
|
130
|
+
operation: {
|
|
131
|
+
type: "string",
|
|
132
|
+
description: "Operation to quality-gate check",
|
|
133
|
+
},
|
|
134
|
+
context: {
|
|
141
135
|
type: "object",
|
|
142
136
|
properties: {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
},
|
|
147
|
-
context: {
|
|
148
|
-
type: "object",
|
|
149
|
-
properties: {
|
|
150
|
-
files: { type: "array", items: { type: "string" } },
|
|
151
|
-
newCode: { type: "string" },
|
|
152
|
-
dependencies: { type: "array", items: { type: "string" } },
|
|
153
|
-
tests: { type: "array", items: { type: "string" } },
|
|
154
|
-
},
|
|
155
|
-
description: "Complete operation context for comprehensive validation",
|
|
156
|
-
},
|
|
157
|
-
strictMode: {
|
|
158
|
-
type: "boolean",
|
|
159
|
-
default: true,
|
|
160
|
-
description: "Enforce strict quality requirements",
|
|
161
|
-
},
|
|
137
|
+
files: { type: "array", items: { type: "string" } },
|
|
138
|
+
newCode: { type: "string" },
|
|
139
|
+
dependencies: { type: "array", items: { type: "string" } },
|
|
140
|
+
tests: { type: "array", items: { type: "string" } },
|
|
162
141
|
},
|
|
163
|
-
|
|
142
|
+
description: "Complete operation context for comprehensive validation",
|
|
143
|
+
},
|
|
144
|
+
strictMode: {
|
|
145
|
+
type: "boolean",
|
|
146
|
+
default: true,
|
|
147
|
+
description: "Enforce strict quality requirements",
|
|
164
148
|
},
|
|
165
149
|
},
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
150
|
+
required: ["operation", "context"],
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
name: "get-enforcement-status",
|
|
155
|
+
description: "Get comprehensive enforcement statistics and rule compliance metrics",
|
|
156
|
+
inputSchema: {
|
|
157
|
+
type: "object",
|
|
158
|
+
properties: {
|
|
159
|
+
includeHistory: {
|
|
160
|
+
type: "boolean",
|
|
161
|
+
default: false,
|
|
162
|
+
description: "Include historical enforcement data",
|
|
163
|
+
},
|
|
164
|
+
focusAreas: {
|
|
165
|
+
type: "array",
|
|
166
|
+
items: {
|
|
167
|
+
type: "string",
|
|
168
|
+
enum: ["rules", "codex", "quality", "performance"],
|
|
185
169
|
},
|
|
170
|
+
description: "Specific areas to focus status reporting on",
|
|
186
171
|
},
|
|
187
172
|
},
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
required: ["files"],
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
name: "run-pre-commit-validation",
|
|
177
|
+
description: "Execute comprehensive pre-commit validation with all enforcer tools and automated remediation",
|
|
178
|
+
inputSchema: {
|
|
179
|
+
type: "object",
|
|
180
|
+
properties: {
|
|
181
|
+
files: {
|
|
182
|
+
type: "array",
|
|
183
|
+
items: { type: "string" },
|
|
184
|
+
description: "Files to validate before commit",
|
|
185
|
+
},
|
|
186
|
+
operation: {
|
|
187
|
+
type: "string",
|
|
188
|
+
default: "commit",
|
|
189
|
+
description: "Operation type for validation context",
|
|
190
|
+
},
|
|
191
|
+
autoFix: {
|
|
192
|
+
type: "boolean",
|
|
193
|
+
default: true,
|
|
194
|
+
description: "Automatically apply safe fixes",
|
|
195
|
+
},
|
|
196
|
+
strictBlocking: {
|
|
197
|
+
type: "boolean",
|
|
198
|
+
default: true,
|
|
199
|
+
description: "Block commit on any validation error",
|
|
216
200
|
},
|
|
217
201
|
},
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
202
|
+
required: ["files"],
|
|
203
|
+
},
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
name: "security-scan",
|
|
207
|
+
description: "Run security scan using npm audit, Trivy, ESLint security, and OWASP dependency check",
|
|
208
|
+
inputSchema: {
|
|
209
|
+
type: "object",
|
|
210
|
+
properties: {
|
|
211
|
+
includePromptValidation: {
|
|
212
|
+
type: "boolean",
|
|
213
|
+
default: false,
|
|
214
|
+
description: "Also validate prompts for injection attacks",
|
|
215
|
+
},
|
|
216
|
+
promptText: {
|
|
217
|
+
type: "string",
|
|
218
|
+
description: "Prompt text to validate for injection attacks",
|
|
234
219
|
},
|
|
235
220
|
},
|
|
236
|
-
|
|
237
|
-
}
|
|
238
|
-
|
|
221
|
+
},
|
|
222
|
+
},
|
|
223
|
+
];
|
|
224
|
+
this.handlers = {
|
|
225
|
+
"rule-validation": async (args) => this.ruleValidation(args),
|
|
226
|
+
"codex-enforcement": async (args) => this.codexEnforcement(args),
|
|
227
|
+
"context-analysis-validation": async (args) => this.contextAnalysisValidation(args),
|
|
228
|
+
"quality-gate-check": async (args) => this.qualityGateCheck(args),
|
|
229
|
+
"get-enforcement-status": async (args) => this.getEnforcementStatus(args),
|
|
230
|
+
"run-pre-commit-validation": async (args) => this.runPreCommitValidation(args),
|
|
231
|
+
"security-scan": async (args) => this.securityScan(args),
|
|
232
|
+
};
|
|
233
|
+
this.setupToolHandlers();
|
|
234
|
+
}
|
|
235
|
+
setupToolHandlers() {
|
|
236
|
+
this.setupListToolsHandler();
|
|
239
237
|
this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
240
238
|
const { name, arguments: args } = request.params;
|
|
239
|
+
const handler = this.handlers[name];
|
|
240
|
+
if (!handler)
|
|
241
|
+
throw new Error(`Unknown tool: ${name}`);
|
|
241
242
|
try {
|
|
242
|
-
|
|
243
|
-
case "rule-validation":
|
|
244
|
-
return await this.ruleValidation(args);
|
|
245
|
-
case "codex-enforcement":
|
|
246
|
-
return await this.codexEnforcement(args);
|
|
247
|
-
case "context-analysis-validation":
|
|
248
|
-
return await this.contextAnalysisValidation(args);
|
|
249
|
-
case "quality-gate-check":
|
|
250
|
-
return await this.qualityGateCheck(args);
|
|
251
|
-
case "get-enforcement-status":
|
|
252
|
-
return await this.getEnforcementStatus(args);
|
|
253
|
-
case "run-pre-commit-validation":
|
|
254
|
-
return await this.runPreCommitValidation(args);
|
|
255
|
-
case "security-scan":
|
|
256
|
-
return await this.securityScan(args);
|
|
257
|
-
default:
|
|
258
|
-
throw new Error(`Unknown tool: ${name}`);
|
|
259
|
-
}
|
|
243
|
+
return await handler(args);
|
|
260
244
|
}
|
|
261
245
|
catch (error) {
|
|
262
246
|
frameworkLogger.log("mcps/enforcer", "tool", "error", { tool: name, error: String(error) });
|
|
@@ -687,56 +671,6 @@ class XrayEnforcerToolsServer {
|
|
|
687
671
|
filesProcessed: files.length,
|
|
688
672
|
};
|
|
689
673
|
}
|
|
690
|
-
async run() {
|
|
691
|
-
const transport = new StdioServerTransport();
|
|
692
|
-
await this.server.connect(transport);
|
|
693
|
-
// Server started - no startup logging to console
|
|
694
|
-
const cleanup = async (signal) => {
|
|
695
|
-
// Set a timeout to force exit if graceful shutdown fails
|
|
696
|
-
const timeout = setTimeout(() => {
|
|
697
|
-
frameworkLogger.log("mcps/enforcer", "shutdown", "error", { message: "Graceful shutdown timeout, forcing exit..." });
|
|
698
|
-
process.exit(1);
|
|
699
|
-
}, 5000); // 5 second timeout
|
|
700
|
-
try {
|
|
701
|
-
if (this.server && typeof this.server.close === "function") {
|
|
702
|
-
await this.server.close();
|
|
703
|
-
}
|
|
704
|
-
clearTimeout(timeout);
|
|
705
|
-
process.exit(0);
|
|
706
|
-
}
|
|
707
|
-
catch (error) {
|
|
708
|
-
clearTimeout(timeout);
|
|
709
|
-
frameworkLogger.log("mcps/enforcer", "shutdown", "error", { message: `Error during server shutdown: ${String(error)}` });
|
|
710
|
-
process.exit(1);
|
|
711
|
-
}
|
|
712
|
-
};
|
|
713
|
-
// Handle multiple shutdown signals
|
|
714
|
-
process.on("SIGINT", () => cleanup("SIGINT"));
|
|
715
|
-
process.on("SIGTERM", () => cleanup("SIGTERM"));
|
|
716
|
-
process.on("SIGHUP", () => cleanup("SIGHUP"));
|
|
717
|
-
// Monitor parent process (opencode) and shutdown if it dies
|
|
718
|
-
const checkParent = () => {
|
|
719
|
-
try {
|
|
720
|
-
process.kill(process.ppid, 0); // Check if parent is alive
|
|
721
|
-
setTimeout(checkParent, 1000); // Check again in 1 second
|
|
722
|
-
}
|
|
723
|
-
catch (error) {
|
|
724
|
-
// Parent process died, shut down gracefully - no logging
|
|
725
|
-
cleanup("parent-process-death");
|
|
726
|
-
}
|
|
727
|
-
};
|
|
728
|
-
// Start monitoring parent process
|
|
729
|
-
setTimeout(checkParent, 2000); // Start checking after 2 seconds
|
|
730
|
-
// Handle uncaught exceptions and unhandled rejections
|
|
731
|
-
process.on("uncaughtException", (error) => {
|
|
732
|
-
frameworkLogger.log("mcps/enforcer", "uncaughtException", "error", { error: String(error) });
|
|
733
|
-
cleanup("uncaughtException");
|
|
734
|
-
});
|
|
735
|
-
process.on("unhandledRejection", (reason, promise) => {
|
|
736
|
-
frameworkLogger.log("mcps/enforcer", "unhandledRejection", "error", { error: String(reason) });
|
|
737
|
-
cleanup("unhandledRejection");
|
|
738
|
-
});
|
|
739
|
-
}
|
|
740
674
|
async securityScan(args) {
|
|
741
675
|
const { includePromptValidation, promptText } = args;
|
|
742
676
|
const results = { tools: {}, summary: {} };
|