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.
- 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 +55 -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 +40 -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/config/agent-capabilities.js +30 -11
- package/dist/mcps/orchestrator/config/memory-routing-bridge.js +70 -0
- package/dist/mcps/orchestrator/execution/execution-planner.js +25 -7
- 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 +59 -1
- 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/memory-routing/index.js +4 -0
- package/dist/memory-routing/null-provider.js +51 -0
- package/dist/memory-routing/provider-loader.js +91 -0
- package/dist/memory-routing/provider-registry.js +40 -0
- package/dist/memory-routing/types.js +7 -0
- package/dist/memory-routing/validate-config.js +32 -0
- 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/nucleus/thin-dispatch.js +29 -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/config/agent-capabilities.ts +49 -14
- package/src/mcps/orchestrator/config/memory-routing-bridge.ts +80 -0
- package/src/mcps/orchestrator/execution/execution-planner.ts +36 -9
- 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 +78 -2
- package/src/mcps/orchestrator/index.ts +29 -0
- package/src/mcps/orchestrator/server.ts +79 -24
- package/src/mcps/orchestrator/types.ts +50 -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
|
@@ -5,12 +5,8 @@
|
|
|
5
5
|
* Provides rule enforcement and validation capabilities via MCP protocol
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
CallToolRequestSchema,
|
|
12
|
-
ListToolsRequestSchema,
|
|
13
|
-
} from "@modelcontextprotocol/sdk/types.js";
|
|
8
|
+
import { CallToolRequestSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
9
|
+
import { XrayKnowledgeSkillBase } from "./shared/knowledge-skill-base.js";
|
|
14
10
|
import * as fs from "fs";
|
|
15
11
|
import * as path from "path";
|
|
16
12
|
import { frameworkLogger } from "../core/framework-logger.js";
|
|
@@ -138,268 +134,249 @@ interface SecurityScanResults {
|
|
|
138
134
|
promptValidation?: { isSafe: boolean; riskLevel: string; violations: string[] } | { error: string };
|
|
139
135
|
}
|
|
140
136
|
|
|
141
|
-
class XrayEnforcerToolsServer {
|
|
142
|
-
private server: Server;
|
|
137
|
+
class XrayEnforcerToolsServer extends XrayKnowledgeSkillBase {
|
|
143
138
|
|
|
144
139
|
constructor() {
|
|
145
|
-
|
|
146
|
-
{
|
|
147
|
-
name: "enforcer", version: "3.1.0",
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
capabilities: {
|
|
151
|
-
tools: {},
|
|
152
|
-
},
|
|
153
|
-
},
|
|
154
|
-
);
|
|
140
|
+
super("enforcer", "3.1.0");
|
|
155
141
|
|
|
156
|
-
this.
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
{
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
142
|
+
this.tools = [
|
|
143
|
+
{
|
|
144
|
+
name: "rule-validation",
|
|
145
|
+
description:
|
|
146
|
+
"Validate operations against the comprehensive rule hierarchy including duplicate code prevention, test requirements, and architectural constraints",
|
|
147
|
+
inputSchema: {
|
|
148
|
+
type: "object",
|
|
149
|
+
properties: {
|
|
150
|
+
operation: {
|
|
151
|
+
type: "string",
|
|
152
|
+
description:
|
|
153
|
+
"Operation to validate (create, modify, refactor, etc.)",
|
|
154
|
+
},
|
|
155
|
+
files: {
|
|
156
|
+
type: "array",
|
|
157
|
+
items: { type: "string" },
|
|
158
|
+
description: "Files affected by the operation",
|
|
159
|
+
},
|
|
160
|
+
newCode: {
|
|
161
|
+
type: "string",
|
|
162
|
+
description: "New code being added (optional)",
|
|
163
|
+
},
|
|
164
|
+
existingCode: {
|
|
168
165
|
type: "object",
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
newCode: {
|
|
181
|
-
type: "string",
|
|
182
|
-
description: "New code being added (optional)",
|
|
183
|
-
},
|
|
184
|
-
existingCode: {
|
|
185
|
-
type: "object",
|
|
186
|
-
description: "Map of existing code for comparison (optional)",
|
|
187
|
-
},
|
|
188
|
-
dependencies: {
|
|
189
|
-
type: "array",
|
|
190
|
-
items: { type: "string" },
|
|
191
|
-
description: "Dependencies being declared (optional)",
|
|
192
|
-
},
|
|
193
|
-
tests: {
|
|
194
|
-
type: "array",
|
|
195
|
-
items: { type: "string" },
|
|
196
|
-
description: "Test files for validation (optional)",
|
|
197
|
-
},
|
|
198
|
-
},
|
|
199
|
-
required: ["operation"],
|
|
166
|
+
description: "Map of existing code for comparison (optional)",
|
|
167
|
+
},
|
|
168
|
+
dependencies: {
|
|
169
|
+
type: "array",
|
|
170
|
+
items: { type: "string" },
|
|
171
|
+
description: "Dependencies being declared (optional)",
|
|
172
|
+
},
|
|
173
|
+
tests: {
|
|
174
|
+
type: "array",
|
|
175
|
+
items: { type: "string" },
|
|
176
|
+
description: "Test files for validation (optional)",
|
|
200
177
|
},
|
|
201
178
|
},
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
179
|
+
required: ["operation"],
|
|
180
|
+
},
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
name: "codex-enforcement",
|
|
184
|
+
description:
|
|
185
|
+
"Enforce all Universal Development Codex terms with comprehensive compliance validation and actionable remediation",
|
|
186
|
+
inputSchema: {
|
|
187
|
+
type: "object",
|
|
188
|
+
properties: {
|
|
189
|
+
operation: {
|
|
190
|
+
type: "string",
|
|
191
|
+
description: "Operation to validate against codex",
|
|
192
|
+
},
|
|
193
|
+
files: {
|
|
194
|
+
type: "array",
|
|
195
|
+
items: { type: "string" },
|
|
196
|
+
description: "Files to check for codex compliance",
|
|
197
|
+
},
|
|
198
|
+
newCode: {
|
|
199
|
+
type: "string",
|
|
200
|
+
description: "New code to validate against codex terms",
|
|
201
|
+
},
|
|
202
|
+
focusAreas: {
|
|
203
|
+
type: "array",
|
|
204
|
+
items: {
|
|
205
|
+
type: "string",
|
|
206
|
+
enum: [
|
|
207
|
+
"error-handling",
|
|
208
|
+
"type-safety",
|
|
209
|
+
"performance",
|
|
210
|
+
"security",
|
|
211
|
+
"architecture",
|
|
212
|
+
],
|
|
236
213
|
},
|
|
237
|
-
|
|
214
|
+
description: "Specific codex areas to focus validation on",
|
|
238
215
|
},
|
|
239
216
|
},
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
217
|
+
required: ["operation"],
|
|
218
|
+
},
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
name: "context-analysis-validation",
|
|
222
|
+
description:
|
|
223
|
+
"Validate proper integration of contextual analysis components and architectural patterns",
|
|
224
|
+
inputSchema: {
|
|
225
|
+
type: "object",
|
|
226
|
+
properties: {
|
|
227
|
+
files: {
|
|
228
|
+
type: "array",
|
|
229
|
+
items: { type: "string" },
|
|
230
|
+
description: "Files to validate for context integration",
|
|
231
|
+
},
|
|
232
|
+
operation: {
|
|
233
|
+
type: "string",
|
|
234
|
+
description: "Operation context for validation",
|
|
235
|
+
},
|
|
236
|
+
checkPatterns: {
|
|
237
|
+
type: "array",
|
|
238
|
+
items: {
|
|
239
|
+
type: "string",
|
|
240
|
+
enum: [
|
|
241
|
+
"memory-optimization",
|
|
242
|
+
"error-handling",
|
|
243
|
+
"type-safety",
|
|
244
|
+
"dependency-injection",
|
|
245
|
+
],
|
|
269
246
|
},
|
|
270
|
-
|
|
247
|
+
description: "Specific integration patterns to validate",
|
|
271
248
|
},
|
|
272
249
|
},
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
250
|
+
required: ["files", "operation"],
|
|
251
|
+
},
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
name: "quality-gate-check",
|
|
255
|
+
description:
|
|
256
|
+
"Perform comprehensive quality gate validation before commits with automated fixes and blocking decisions",
|
|
257
|
+
inputSchema: {
|
|
258
|
+
type: "object",
|
|
259
|
+
properties: {
|
|
260
|
+
operation: {
|
|
261
|
+
type: "string",
|
|
262
|
+
description: "Operation to quality-gate check",
|
|
263
|
+
},
|
|
264
|
+
context: {
|
|
278
265
|
type: "object",
|
|
279
266
|
properties: {
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
},
|
|
284
|
-
context: {
|
|
285
|
-
type: "object",
|
|
286
|
-
properties: {
|
|
287
|
-
files: { type: "array", items: { type: "string" } },
|
|
288
|
-
newCode: { type: "string" },
|
|
289
|
-
dependencies: { type: "array", items: { type: "string" } },
|
|
290
|
-
tests: { type: "array", items: { type: "string" } },
|
|
291
|
-
},
|
|
292
|
-
description:
|
|
293
|
-
"Complete operation context for comprehensive validation",
|
|
294
|
-
},
|
|
295
|
-
strictMode: {
|
|
296
|
-
type: "boolean",
|
|
297
|
-
default: true,
|
|
298
|
-
description: "Enforce strict quality requirements",
|
|
299
|
-
},
|
|
267
|
+
files: { type: "array", items: { type: "string" } },
|
|
268
|
+
newCode: { type: "string" },
|
|
269
|
+
dependencies: { type: "array", items: { type: "string" } },
|
|
270
|
+
tests: { type: "array", items: { type: "string" } },
|
|
300
271
|
},
|
|
301
|
-
|
|
272
|
+
description:
|
|
273
|
+
"Complete operation context for comprehensive validation",
|
|
274
|
+
},
|
|
275
|
+
strictMode: {
|
|
276
|
+
type: "boolean",
|
|
277
|
+
default: true,
|
|
278
|
+
description: "Enforce strict quality requirements",
|
|
302
279
|
},
|
|
303
280
|
},
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
281
|
+
required: ["operation", "context"],
|
|
282
|
+
},
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
name: "get-enforcement-status",
|
|
286
|
+
description:
|
|
287
|
+
"Get comprehensive enforcement statistics and rule compliance metrics",
|
|
288
|
+
inputSchema: {
|
|
289
|
+
type: "object",
|
|
290
|
+
properties: {
|
|
291
|
+
includeHistory: {
|
|
292
|
+
type: "boolean",
|
|
293
|
+
default: false,
|
|
294
|
+
description: "Include historical enforcement data",
|
|
295
|
+
},
|
|
296
|
+
focusAreas: {
|
|
297
|
+
type: "array",
|
|
298
|
+
items: {
|
|
299
|
+
type: "string",
|
|
300
|
+
enum: ["rules", "codex", "quality", "performance"],
|
|
324
301
|
},
|
|
302
|
+
description: "Specific areas to focus status reporting on",
|
|
325
303
|
},
|
|
326
304
|
},
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
required: ["files"],
|
|
305
|
+
},
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
name: "run-pre-commit-validation",
|
|
309
|
+
description:
|
|
310
|
+
"Execute comprehensive pre-commit validation with all enforcer tools and automated remediation",
|
|
311
|
+
inputSchema: {
|
|
312
|
+
type: "object",
|
|
313
|
+
properties: {
|
|
314
|
+
files: {
|
|
315
|
+
type: "array",
|
|
316
|
+
items: { type: "string" },
|
|
317
|
+
description: "Files to validate before commit",
|
|
318
|
+
},
|
|
319
|
+
operation: {
|
|
320
|
+
type: "string",
|
|
321
|
+
default: "commit",
|
|
322
|
+
description: "Operation type for validation context",
|
|
323
|
+
},
|
|
324
|
+
autoFix: {
|
|
325
|
+
type: "boolean",
|
|
326
|
+
default: true,
|
|
327
|
+
description: "Automatically apply safe fixes",
|
|
328
|
+
},
|
|
329
|
+
strictBlocking: {
|
|
330
|
+
type: "boolean",
|
|
331
|
+
default: true,
|
|
332
|
+
description: "Block commit on any validation error",
|
|
356
333
|
},
|
|
357
334
|
},
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
335
|
+
required: ["files"],
|
|
336
|
+
},
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
name: "security-scan",
|
|
340
|
+
description:
|
|
341
|
+
"Run security scan using npm audit, Trivy, ESLint security, and OWASP dependency check",
|
|
342
|
+
inputSchema: {
|
|
343
|
+
type: "object",
|
|
344
|
+
properties: {
|
|
345
|
+
includePromptValidation: {
|
|
346
|
+
type: "boolean",
|
|
347
|
+
default: false,
|
|
348
|
+
description: "Also validate prompts for injection attacks",
|
|
349
|
+
},
|
|
350
|
+
promptText: {
|
|
351
|
+
type: "string",
|
|
352
|
+
description: "Prompt text to validate for injection attacks",
|
|
375
353
|
},
|
|
376
354
|
},
|
|
377
|
-
|
|
378
|
-
}
|
|
379
|
-
|
|
355
|
+
},
|
|
356
|
+
},
|
|
357
|
+
];
|
|
358
|
+
|
|
359
|
+
this.handlers = {
|
|
360
|
+
"rule-validation": async (args) => this.ruleValidation(args),
|
|
361
|
+
"codex-enforcement": async (args) => this.codexEnforcement(args),
|
|
362
|
+
"context-analysis-validation": async (args) => this.contextAnalysisValidation(args),
|
|
363
|
+
"quality-gate-check": async (args) => this.qualityGateCheck(args),
|
|
364
|
+
"get-enforcement-status": async (args) => this.getEnforcementStatus(args),
|
|
365
|
+
"run-pre-commit-validation": async (args) => this.runPreCommitValidation(args),
|
|
366
|
+
"security-scan": async (args) => this.securityScan(args),
|
|
367
|
+
};
|
|
368
|
+
|
|
369
|
+
this.setupToolHandlers();
|
|
370
|
+
}
|
|
380
371
|
|
|
372
|
+
override setupToolHandlers(): void {
|
|
373
|
+
this.setupListToolsHandler();
|
|
381
374
|
this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
382
375
|
const { name, arguments: args } = request.params;
|
|
383
|
-
|
|
376
|
+
const handler = this.handlers[name];
|
|
377
|
+
if (!handler) throw new Error(`Unknown tool: ${name}`);
|
|
384
378
|
try {
|
|
385
|
-
|
|
386
|
-
case "rule-validation":
|
|
387
|
-
return await this.ruleValidation(args);
|
|
388
|
-
case "codex-enforcement":
|
|
389
|
-
return await this.codexEnforcement(args);
|
|
390
|
-
case "context-analysis-validation":
|
|
391
|
-
return await this.contextAnalysisValidation(args);
|
|
392
|
-
case "quality-gate-check":
|
|
393
|
-
return await this.qualityGateCheck(args);
|
|
394
|
-
case "get-enforcement-status":
|
|
395
|
-
return await this.getEnforcementStatus(args);
|
|
396
|
-
case "run-pre-commit-validation":
|
|
397
|
-
return await this.runPreCommitValidation(args);
|
|
398
|
-
case "security-scan":
|
|
399
|
-
return await this.securityScan(args);
|
|
400
|
-
default:
|
|
401
|
-
throw new Error(`Unknown tool: ${name}`);
|
|
402
|
-
}
|
|
379
|
+
return await handler(args);
|
|
403
380
|
} catch (error) {
|
|
404
381
|
frameworkLogger.log("mcps/enforcer", "tool", "error", { tool: name, error: String(error) });
|
|
405
382
|
throw error;
|
|
@@ -1006,61 +983,7 @@ class XrayEnforcerToolsServer {
|
|
|
1006
983
|
};
|
|
1007
984
|
}
|
|
1008
985
|
|
|
1009
|
-
async run(): Promise<void> {
|
|
1010
|
-
const transport = new StdioServerTransport();
|
|
1011
|
-
await this.server.connect(transport);
|
|
1012
|
-
// Server started - no startup logging to console
|
|
1013
|
-
|
|
1014
|
-
const cleanup = async (signal: string) => {
|
|
1015
|
-
// Set a timeout to force exit if graceful shutdown fails
|
|
1016
|
-
const timeout = setTimeout(() => {
|
|
1017
|
-
frameworkLogger.log("mcps/enforcer", "shutdown", "error", { message: "Graceful shutdown timeout, forcing exit..." });
|
|
1018
|
-
process.exit(1);
|
|
1019
|
-
}, 5000); // 5 second timeout
|
|
1020
|
-
|
|
1021
|
-
try {
|
|
1022
|
-
if (this.server && typeof this.server.close === "function") {
|
|
1023
|
-
await this.server.close();
|
|
1024
|
-
}
|
|
1025
|
-
clearTimeout(timeout);
|
|
1026
|
-
process.exit(0);
|
|
1027
|
-
} catch (error) {
|
|
1028
|
-
clearTimeout(timeout);
|
|
1029
|
-
frameworkLogger.log("mcps/enforcer", "shutdown", "error", { message: `Error during server shutdown: ${String(error)}` });
|
|
1030
|
-
process.exit(1);
|
|
1031
|
-
}
|
|
1032
|
-
};
|
|
1033
|
-
|
|
1034
|
-
// Handle multiple shutdown signals
|
|
1035
|
-
process.on("SIGINT", () => cleanup("SIGINT"));
|
|
1036
|
-
process.on("SIGTERM", () => cleanup("SIGTERM"));
|
|
1037
|
-
process.on("SIGHUP", () => cleanup("SIGHUP"));
|
|
1038
|
-
|
|
1039
|
-
// Monitor parent process (opencode) and shutdown if it dies
|
|
1040
|
-
const checkParent = () => {
|
|
1041
|
-
try {
|
|
1042
|
-
process.kill(process.ppid, 0); // Check if parent is alive
|
|
1043
|
-
setTimeout(checkParent, 1000); // Check again in 1 second
|
|
1044
|
-
} catch (error) {
|
|
1045
|
-
// Parent process died, shut down gracefully - no logging
|
|
1046
|
-
cleanup("parent-process-death");
|
|
1047
|
-
}
|
|
1048
|
-
};
|
|
1049
986
|
|
|
1050
|
-
// Start monitoring parent process
|
|
1051
|
-
setTimeout(checkParent, 2000); // Start checking after 2 seconds
|
|
1052
|
-
|
|
1053
|
-
// Handle uncaught exceptions and unhandled rejections
|
|
1054
|
-
process.on("uncaughtException", (error) => {
|
|
1055
|
-
frameworkLogger.log("mcps/enforcer", "uncaughtException", "error", { error: String(error) });
|
|
1056
|
-
cleanup("uncaughtException");
|
|
1057
|
-
});
|
|
1058
|
-
|
|
1059
|
-
process.on("unhandledRejection", (reason, promise) => {
|
|
1060
|
-
frameworkLogger.log("mcps/enforcer", "unhandledRejection", "error", { error: String(reason) });
|
|
1061
|
-
cleanup("unhandledRejection");
|
|
1062
|
-
});
|
|
1063
|
-
}
|
|
1064
987
|
|
|
1065
988
|
private async securityScan(args: unknown) {
|
|
1066
989
|
const { includePromptValidation, promptText } = args as unknown as SecurityScanArgs;
|