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,7 @@
|
|
|
5
5
|
* query performance analysis, and data modeling best practices
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import {
|
|
9
|
-
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
10
|
-
import {
|
|
11
|
-
CallToolRequestSchema,
|
|
12
|
-
ListToolsRequestSchema,
|
|
13
|
-
} from "@modelcontextprotocol/sdk/types.js";
|
|
8
|
+
import { XrayKnowledgeSkillBase } from "../shared/knowledge-skill-base.js";
|
|
14
9
|
import * as fs from "fs";
|
|
15
10
|
import * as path from "path";
|
|
16
11
|
import { frameworkLogger } from "../../core/framework-logger.js";
|
|
@@ -111,167 +106,141 @@ interface SchemaComparison {
|
|
|
111
106
|
hasDataLoss: boolean;
|
|
112
107
|
}
|
|
113
108
|
|
|
114
|
-
class XrayDatabaseDesignServer {
|
|
115
|
-
private server: Server;
|
|
109
|
+
class XrayDatabaseDesignServer extends XrayKnowledgeSkillBase {
|
|
116
110
|
|
|
117
111
|
constructor() {
|
|
118
|
-
|
|
112
|
+
super("database-design", "3.1.0");
|
|
113
|
+
|
|
114
|
+
this.tools = [
|
|
119
115
|
{
|
|
120
|
-
name: "
|
|
116
|
+
name: "analyze_schema",
|
|
117
|
+
description:
|
|
118
|
+
"Analyze database schema for optimization opportunities and best practices",
|
|
119
|
+
inputSchema: {
|
|
120
|
+
type: "object",
|
|
121
|
+
properties: {
|
|
122
|
+
schemaFile: {
|
|
123
|
+
type: "string",
|
|
124
|
+
description:
|
|
125
|
+
"Path to schema definition file (SQL, migration, or ORM model)",
|
|
126
|
+
},
|
|
127
|
+
databaseType: {
|
|
128
|
+
type: "string",
|
|
129
|
+
enum: ["postgresql", "mysql", "sqlite", "mongodb", "redis"],
|
|
130
|
+
description: "Database type for specific optimizations",
|
|
131
|
+
},
|
|
132
|
+
includeIndexes: {
|
|
133
|
+
type: "boolean",
|
|
134
|
+
description: "Include index recommendations in analysis",
|
|
135
|
+
default: true,
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
required: ["schemaFile"],
|
|
139
|
+
},
|
|
121
140
|
},
|
|
122
141
|
{
|
|
123
|
-
|
|
124
|
-
|
|
142
|
+
name: "optimize_query",
|
|
143
|
+
description:
|
|
144
|
+
"Analyze and optimize SQL queries for better performance",
|
|
145
|
+
inputSchema: {
|
|
146
|
+
type: "object",
|
|
147
|
+
properties: {
|
|
148
|
+
query: {
|
|
149
|
+
type: "string",
|
|
150
|
+
description: "SQL query to analyze and optimize",
|
|
151
|
+
},
|
|
152
|
+
schemaContext: {
|
|
153
|
+
type: "string",
|
|
154
|
+
description:
|
|
155
|
+
"Schema context or file path for better analysis",
|
|
156
|
+
},
|
|
157
|
+
databaseType: {
|
|
158
|
+
type: "string",
|
|
159
|
+
enum: ["postgresql", "mysql", "sqlite"],
|
|
160
|
+
description: "Database type for query optimization",
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
required: ["query"],
|
|
125
164
|
},
|
|
126
165
|
},
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
tools: [
|
|
137
|
-
{
|
|
138
|
-
name: "analyze_schema",
|
|
139
|
-
description:
|
|
140
|
-
"Analyze database schema for optimization opportunities and best practices",
|
|
141
|
-
inputSchema: {
|
|
142
|
-
type: "object",
|
|
143
|
-
properties: {
|
|
144
|
-
schemaFile: {
|
|
145
|
-
type: "string",
|
|
146
|
-
description:
|
|
147
|
-
"Path to schema definition file (SQL, migration, or ORM model)",
|
|
148
|
-
},
|
|
149
|
-
databaseType: {
|
|
150
|
-
type: "string",
|
|
151
|
-
enum: ["postgresql", "mysql", "sqlite", "mongodb", "redis"],
|
|
152
|
-
description: "Database type for specific optimizations",
|
|
153
|
-
},
|
|
154
|
-
includeIndexes: {
|
|
155
|
-
type: "boolean",
|
|
156
|
-
description: "Include index recommendations in analysis",
|
|
157
|
-
default: true,
|
|
158
|
-
},
|
|
159
|
-
},
|
|
160
|
-
required: ["schemaFile"],
|
|
166
|
+
{
|
|
167
|
+
name: "design_data_model",
|
|
168
|
+
description: "Design optimal data model for given requirements",
|
|
169
|
+
inputSchema: {
|
|
170
|
+
type: "object",
|
|
171
|
+
properties: {
|
|
172
|
+
requirements: {
|
|
173
|
+
type: "string",
|
|
174
|
+
description: "Business requirements and data access patterns",
|
|
161
175
|
},
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
"Analyze and optimize SQL queries for better performance",
|
|
167
|
-
inputSchema: {
|
|
168
|
-
type: "object",
|
|
169
|
-
properties: {
|
|
170
|
-
query: {
|
|
171
|
-
type: "string",
|
|
172
|
-
description: "SQL query to analyze and optimize",
|
|
173
|
-
},
|
|
174
|
-
schemaContext: {
|
|
175
|
-
type: "string",
|
|
176
|
-
description:
|
|
177
|
-
"Schema context or file path for better analysis",
|
|
178
|
-
},
|
|
179
|
-
databaseType: {
|
|
180
|
-
type: "string",
|
|
181
|
-
enum: ["postgresql", "mysql", "sqlite"],
|
|
182
|
-
description: "Database type for query optimization",
|
|
183
|
-
},
|
|
184
|
-
},
|
|
185
|
-
required: ["query"],
|
|
176
|
+
entities: {
|
|
177
|
+
type: "array",
|
|
178
|
+
items: { type: "string" },
|
|
179
|
+
description: "List of main entities/business objects",
|
|
186
180
|
},
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
},
|
|
198
|
-
entities: {
|
|
199
|
-
type: "array",
|
|
200
|
-
items: { type: "string" },
|
|
201
|
-
description: "List of main entities/business objects",
|
|
202
|
-
},
|
|
203
|
-
relationships: {
|
|
204
|
-
type: "array",
|
|
205
|
-
items: {
|
|
206
|
-
type: "object",
|
|
207
|
-
properties: {
|
|
208
|
-
from: { type: "string" },
|
|
209
|
-
to: { type: "string" },
|
|
210
|
-
type: {
|
|
211
|
-
type: "string",
|
|
212
|
-
enum: ["one-to-one", "one-to-many", "many-to-many"],
|
|
213
|
-
},
|
|
214
|
-
},
|
|
181
|
+
relationships: {
|
|
182
|
+
type: "array",
|
|
183
|
+
items: {
|
|
184
|
+
type: "object",
|
|
185
|
+
properties: {
|
|
186
|
+
from: { type: "string" },
|
|
187
|
+
to: { type: "string" },
|
|
188
|
+
type: {
|
|
189
|
+
type: "string",
|
|
190
|
+
enum: ["one-to-one", "one-to-many", "many-to-many"],
|
|
215
191
|
},
|
|
216
|
-
description: "Entity relationships",
|
|
217
|
-
},
|
|
218
|
-
databaseType: {
|
|
219
|
-
type: "string",
|
|
220
|
-
enum: ["postgresql", "mysql", "mongodb", "redis"],
|
|
221
|
-
description: "Target database type",
|
|
222
192
|
},
|
|
223
193
|
},
|
|
224
|
-
|
|
194
|
+
description: "Entity relationships",
|
|
195
|
+
},
|
|
196
|
+
databaseType: {
|
|
197
|
+
type: "string",
|
|
198
|
+
enum: ["postgresql", "mysql", "mongodb", "redis"],
|
|
199
|
+
description: "Target database type",
|
|
225
200
|
},
|
|
226
201
|
},
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
202
|
+
required: ["requirements", "entities"],
|
|
203
|
+
},
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
name: "migrate_schema",
|
|
207
|
+
description: "Generate migration scripts for schema changes",
|
|
208
|
+
inputSchema: {
|
|
209
|
+
type: "object",
|
|
210
|
+
properties: {
|
|
211
|
+
currentSchema: {
|
|
212
|
+
type: "string",
|
|
213
|
+
description: "Current schema definition",
|
|
214
|
+
},
|
|
215
|
+
targetSchema: {
|
|
216
|
+
type: "string",
|
|
217
|
+
description: "Target schema definition",
|
|
218
|
+
},
|
|
219
|
+
databaseType: {
|
|
220
|
+
type: "string",
|
|
221
|
+
enum: ["postgresql", "mysql", "sqlite"],
|
|
222
|
+
description: "Database type for migration",
|
|
223
|
+
},
|
|
224
|
+
safeMode: {
|
|
225
|
+
type: "boolean",
|
|
226
|
+
description: "Generate rollback scripts and safety checks",
|
|
227
|
+
default: true,
|
|
253
228
|
},
|
|
254
229
|
},
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
230
|
+
required: ["currentSchema", "targetSchema"],
|
|
231
|
+
},
|
|
232
|
+
},
|
|
233
|
+
];
|
|
258
234
|
|
|
259
|
-
this.
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
return await this.designDataModel(args);
|
|
269
|
-
case "migrate_schema":
|
|
270
|
-
return await this.migrateSchema(args);
|
|
271
|
-
default:
|
|
272
|
-
throw new Error(`Unknown tool: ${name}`);
|
|
273
|
-
}
|
|
274
|
-
});
|
|
235
|
+
this.handlers = {
|
|
236
|
+
"analyze_schema": async (args) => this.analyzeSchema(args as Record<string, unknown> | undefined),
|
|
237
|
+
"optimize_query": async (args) => this.optimizeQuery(args as Record<string, unknown> | undefined),
|
|
238
|
+
"design_data_model": async (args) => this.designDataModel(args as Record<string, unknown> | undefined),
|
|
239
|
+
"migrate_schema": async (args) => this.migrateSchema(args as Record<string, unknown> | undefined),
|
|
240
|
+
};
|
|
241
|
+
|
|
242
|
+
this.setupToolHandlers();
|
|
243
|
+
// Server initialization - removed unnecessary startup logging
|
|
275
244
|
}
|
|
276
245
|
|
|
277
246
|
private async analyzeSchema(args: Record<string, unknown> | undefined) {
|
|
@@ -1179,16 +1148,6 @@ class XrayDatabaseDesignServer {
|
|
|
1179
1148
|
return icons[severity as keyof typeof icons] || "❓";
|
|
1180
1149
|
}
|
|
1181
1150
|
|
|
1182
|
-
async run(): Promise<void> {
|
|
1183
|
-
const transport = new StdioServerTransport();
|
|
1184
|
-
await this.server.connect(transport);
|
|
1185
|
-
|
|
1186
|
-
// Use centralized shutdown handler
|
|
1187
|
-
createGracefulShutdown({
|
|
1188
|
-
serverName: "database-design.server",
|
|
1189
|
-
server: this.server,
|
|
1190
|
-
});
|
|
1191
|
-
}
|
|
1192
1151
|
}
|
|
1193
1152
|
|
|
1194
1153
|
// Run the server if this file is executed directly
|
|
@@ -5,15 +5,10 @@
|
|
|
5
5
|
* CI/CD pipeline design, and infrastructure automation
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import {
|
|
9
|
-
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.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 { createGracefulShutdown } from "../../utils/shutdown-handler.js";
|
|
13
|
-
import {
|
|
14
|
-
CallToolRequestSchema,
|
|
15
|
-
ListToolsRequestSchema,
|
|
16
|
-
} from "@modelcontextprotocol/sdk/types.js";
|
|
17
12
|
|
|
18
13
|
interface DeploymentStrategy {
|
|
19
14
|
name: string;
|
|
@@ -207,177 +202,151 @@ interface OptimizationRoadmap {
|
|
|
207
202
|
finalMetrics: DeploymentMetricsInput;
|
|
208
203
|
}
|
|
209
204
|
|
|
210
|
-
class XrayDevOpsDeploymentServer {
|
|
211
|
-
private server: Server;
|
|
205
|
+
class XrayDevOpsDeploymentServer extends XrayKnowledgeSkillBase {
|
|
212
206
|
|
|
213
207
|
constructor() {
|
|
214
|
-
|
|
208
|
+
super("devops-deployment", "3.1.0");
|
|
209
|
+
|
|
210
|
+
this.tools = [
|
|
215
211
|
{
|
|
216
|
-
name: "
|
|
212
|
+
name: "analyze_ci_cd_pipeline",
|
|
213
|
+
description:
|
|
214
|
+
"Analyze CI/CD pipeline configuration and suggest optimizations",
|
|
215
|
+
inputSchema: {
|
|
216
|
+
type: "object",
|
|
217
|
+
properties: {
|
|
218
|
+
pipelineConfig: {
|
|
219
|
+
type: "string",
|
|
220
|
+
description: "CI/CD pipeline configuration (YAML/JSON)",
|
|
221
|
+
},
|
|
222
|
+
platform: {
|
|
223
|
+
type: "string",
|
|
224
|
+
enum: [
|
|
225
|
+
"github-actions",
|
|
226
|
+
"gitlab-ci",
|
|
227
|
+
"jenkins",
|
|
228
|
+
"circle-ci",
|
|
229
|
+
"azure-devops",
|
|
230
|
+
],
|
|
231
|
+
description: "CI/CD platform being used",
|
|
232
|
+
},
|
|
233
|
+
includeSecurity: {
|
|
234
|
+
type: "boolean",
|
|
235
|
+
description: "Include security gate analysis",
|
|
236
|
+
default: true,
|
|
237
|
+
},
|
|
238
|
+
},
|
|
239
|
+
required: ["pipelineConfig", "platform"],
|
|
240
|
+
},
|
|
217
241
|
},
|
|
218
242
|
{
|
|
219
|
-
|
|
220
|
-
|
|
243
|
+
name: "design_deployment_strategy",
|
|
244
|
+
description:
|
|
245
|
+
"Design optimal deployment strategy for application requirements",
|
|
246
|
+
inputSchema: {
|
|
247
|
+
type: "object",
|
|
248
|
+
properties: {
|
|
249
|
+
applicationType: {
|
|
250
|
+
type: "string",
|
|
251
|
+
enum: [
|
|
252
|
+
"web-app",
|
|
253
|
+
"api",
|
|
254
|
+
"mobile",
|
|
255
|
+
"microservices",
|
|
256
|
+
"monolith",
|
|
257
|
+
],
|
|
258
|
+
description: "Type of application",
|
|
259
|
+
},
|
|
260
|
+
scale: {
|
|
261
|
+
type: "string",
|
|
262
|
+
enum: ["small", "medium", "large", "enterprise"],
|
|
263
|
+
description: "Expected scale/traffic",
|
|
264
|
+
},
|
|
265
|
+
availability: {
|
|
266
|
+
type: "string",
|
|
267
|
+
enum: ["basic", "high", "critical"],
|
|
268
|
+
description: "Required availability level",
|
|
269
|
+
},
|
|
270
|
+
budget: {
|
|
271
|
+
type: "string",
|
|
272
|
+
enum: ["cost-optimized", "balanced", "performance-optimized"],
|
|
273
|
+
description: "Budget considerations",
|
|
274
|
+
},
|
|
275
|
+
},
|
|
276
|
+
required: ["applicationType", "scale"],
|
|
221
277
|
},
|
|
222
278
|
},
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
{
|
|
234
|
-
name: "analyze_ci_cd_pipeline",
|
|
235
|
-
description:
|
|
236
|
-
"Analyze CI/CD pipeline configuration and suggest optimizations",
|
|
237
|
-
inputSchema: {
|
|
238
|
-
type: "object",
|
|
239
|
-
properties: {
|
|
240
|
-
pipelineConfig: {
|
|
241
|
-
type: "string",
|
|
242
|
-
description: "CI/CD pipeline configuration (YAML/JSON)",
|
|
243
|
-
},
|
|
244
|
-
platform: {
|
|
245
|
-
type: "string",
|
|
246
|
-
enum: [
|
|
247
|
-
"github-actions",
|
|
248
|
-
"gitlab-ci",
|
|
249
|
-
"jenkins",
|
|
250
|
-
"circle-ci",
|
|
251
|
-
"azure-devops",
|
|
252
|
-
],
|
|
253
|
-
description: "CI/CD platform being used",
|
|
254
|
-
},
|
|
255
|
-
includeSecurity: {
|
|
256
|
-
type: "boolean",
|
|
257
|
-
description: "Include security gate analysis",
|
|
258
|
-
default: true,
|
|
259
|
-
},
|
|
260
|
-
},
|
|
261
|
-
required: ["pipelineConfig", "platform"],
|
|
279
|
+
{
|
|
280
|
+
name: "generate_infrastructure_code",
|
|
281
|
+
description: "Generate infrastructure as code for deployment",
|
|
282
|
+
inputSchema: {
|
|
283
|
+
type: "object",
|
|
284
|
+
properties: {
|
|
285
|
+
platform: {
|
|
286
|
+
type: "string",
|
|
287
|
+
enum: ["aws", "azure", "gcp", "kubernetes"],
|
|
288
|
+
description: "Target cloud platform",
|
|
262
289
|
},
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
"monolith",
|
|
279
|
-
],
|
|
280
|
-
description: "Type of application",
|
|
281
|
-
},
|
|
282
|
-
scale: {
|
|
283
|
-
type: "string",
|
|
284
|
-
enum: ["small", "medium", "large", "enterprise"],
|
|
285
|
-
description: "Expected scale/traffic",
|
|
286
|
-
},
|
|
287
|
-
availability: {
|
|
288
|
-
type: "string",
|
|
289
|
-
enum: ["basic", "high", "critical"],
|
|
290
|
-
description: "Required availability level",
|
|
291
|
-
},
|
|
292
|
-
budget: {
|
|
293
|
-
type: "string",
|
|
294
|
-
enum: ["cost-optimized", "balanced", "performance-optimized"],
|
|
295
|
-
description: "Budget considerations",
|
|
296
|
-
},
|
|
297
|
-
},
|
|
298
|
-
required: ["applicationType", "scale"],
|
|
290
|
+
services: {
|
|
291
|
+
type: "array",
|
|
292
|
+
items: { type: "string" },
|
|
293
|
+
description:
|
|
294
|
+
"Required services (database, cache, storage, etc.)",
|
|
295
|
+
},
|
|
296
|
+
environment: {
|
|
297
|
+
type: "string",
|
|
298
|
+
enum: ["development", "staging", "production"],
|
|
299
|
+
description: "Deployment environment",
|
|
300
|
+
},
|
|
301
|
+
scaling: {
|
|
302
|
+
type: "boolean",
|
|
303
|
+
description: "Include auto-scaling configuration",
|
|
304
|
+
default: true,
|
|
299
305
|
},
|
|
300
306
|
},
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
307
|
+
required: ["platform", "services"],
|
|
308
|
+
},
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
name: "optimize_deployment_performance",
|
|
312
|
+
description:
|
|
313
|
+
"Analyze and optimize deployment performance and reliability",
|
|
314
|
+
inputSchema: {
|
|
315
|
+
type: "object",
|
|
316
|
+
properties: {
|
|
317
|
+
currentMetrics: {
|
|
305
318
|
type: "object",
|
|
306
319
|
properties: {
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
description: "Target cloud platform",
|
|
311
|
-
},
|
|
312
|
-
services: {
|
|
313
|
-
type: "array",
|
|
314
|
-
items: { type: "string" },
|
|
315
|
-
description:
|
|
316
|
-
"Required services (database, cache, storage, etc.)",
|
|
317
|
-
},
|
|
318
|
-
environment: {
|
|
319
|
-
type: "string",
|
|
320
|
-
enum: ["development", "staging", "production"],
|
|
321
|
-
description: "Deployment environment",
|
|
322
|
-
},
|
|
323
|
-
scaling: {
|
|
324
|
-
type: "boolean",
|
|
325
|
-
description: "Include auto-scaling configuration",
|
|
326
|
-
default: true,
|
|
327
|
-
},
|
|
320
|
+
deployTime: { type: "number" },
|
|
321
|
+
failureRate: { type: "number" },
|
|
322
|
+
rollbackTime: { type: "number" },
|
|
328
323
|
},
|
|
329
|
-
|
|
324
|
+
description: "Current deployment metrics",
|
|
330
325
|
},
|
|
331
|
-
|
|
332
|
-
{
|
|
333
|
-
name: "optimize_deployment_performance",
|
|
334
|
-
description:
|
|
335
|
-
"Analyze and optimize deployment performance and reliability",
|
|
336
|
-
inputSchema: {
|
|
326
|
+
constraints: {
|
|
337
327
|
type: "object",
|
|
338
328
|
properties: {
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
deployTime: { type: "number" },
|
|
343
|
-
failureRate: { type: "number" },
|
|
344
|
-
rollbackTime: { type: "number" },
|
|
345
|
-
},
|
|
346
|
-
description: "Current deployment metrics",
|
|
347
|
-
},
|
|
348
|
-
constraints: {
|
|
349
|
-
type: "object",
|
|
350
|
-
properties: {
|
|
351
|
-
maxDowntime: { type: "number" },
|
|
352
|
-
budget: { type: "number" },
|
|
353
|
-
teamSize: { type: "number" },
|
|
354
|
-
},
|
|
355
|
-
description: "Business and technical constraints",
|
|
356
|
-
},
|
|
329
|
+
maxDowntime: { type: "number" },
|
|
330
|
+
budget: { type: "number" },
|
|
331
|
+
teamSize: { type: "number" },
|
|
357
332
|
},
|
|
358
|
-
|
|
333
|
+
description: "Business and technical constraints",
|
|
359
334
|
},
|
|
360
335
|
},
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
336
|
+
required: ["currentMetrics"],
|
|
337
|
+
},
|
|
338
|
+
},
|
|
339
|
+
];
|
|
364
340
|
|
|
365
|
-
this.
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
return await this.generateInfrastructureCode(args as unknown as InfrastructureCodeArgs);
|
|
375
|
-
case "optimize_deployment_performance":
|
|
376
|
-
return await this.optimizeDeploymentPerformance(args as unknown as DeploymentPerformanceArgs);
|
|
377
|
-
default:
|
|
378
|
-
throw new Error(`Unknown tool: ${name}`);
|
|
379
|
-
}
|
|
380
|
-
});
|
|
341
|
+
this.handlers = {
|
|
342
|
+
"analyze_ci_cd_pipeline": async (args) => this.analyzeCICDPipeline(args as CICDPipelineArgs),
|
|
343
|
+
"design_deployment_strategy": async (args) => this.designDeploymentStrategy(args as DeploymentStrategyArgs),
|
|
344
|
+
"generate_infrastructure_code": async (args) => this.generateInfrastructureCode(args as InfrastructureCodeArgs),
|
|
345
|
+
"optimize_deployment_performance": async (args) => this.optimizeDeploymentPerformance(args as DeploymentPerformanceArgs),
|
|
346
|
+
};
|
|
347
|
+
|
|
348
|
+
this.setupToolHandlers();
|
|
349
|
+
// Server initialization - removed unnecessary startup logging
|
|
381
350
|
}
|
|
382
351
|
|
|
383
352
|
private async analyzeCICDPipeline(args: CICDPipelineArgs) {
|
|
@@ -1602,16 +1571,6 @@ spec:
|
|
|
1602
1571
|
}
|
|
1603
1572
|
}
|
|
1604
1573
|
|
|
1605
|
-
async run(): Promise<void> {
|
|
1606
|
-
const transport = new StdioServerTransport();
|
|
1607
|
-
await this.server.connect(transport);
|
|
1608
|
-
|
|
1609
|
-
// Use centralized shutdown handler
|
|
1610
|
-
createGracefulShutdown({
|
|
1611
|
-
serverName: "devops-deployment.server",
|
|
1612
|
-
server: this.server,
|
|
1613
|
-
});
|
|
1614
|
-
}
|
|
1615
1574
|
}
|
|
1616
1575
|
|
|
1617
1576
|
// Run the server if this file is executed directly
|