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,16 +5,9 @@
|
|
|
5
5
|
* code documentation maintenance, and technical writing assistance
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
9
|
-
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
10
|
-
import {
|
|
11
|
-
CallToolRequestSchema,
|
|
12
|
-
ListToolsRequestSchema,
|
|
13
|
-
type CallToolResult,
|
|
14
|
-
} from "@modelcontextprotocol/sdk/types.js";
|
|
15
8
|
import * as fs from "fs";
|
|
16
9
|
import * as path from "path";
|
|
17
|
-
import {
|
|
10
|
+
import { XrayKnowledgeSkillBase } from "../shared/knowledge-skill-base.js";
|
|
18
11
|
|
|
19
12
|
interface DocumentationAnalysis {
|
|
20
13
|
completeness: number; // 0-100
|
|
@@ -160,199 +153,30 @@ interface ProjectStructureAnalysis {
|
|
|
160
153
|
structure: Record<string, unknown>;
|
|
161
154
|
}
|
|
162
155
|
|
|
163
|
-
class XrayDocumentationGenerationServer {
|
|
164
|
-
private server: Server;
|
|
156
|
+
class XrayDocumentationGenerationServer extends XrayKnowledgeSkillBase {
|
|
165
157
|
|
|
166
158
|
constructor() {
|
|
167
|
-
|
|
168
|
-
{
|
|
169
|
-
name: "documentation-generation", version: "3.1.0",
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
capabilities: {
|
|
173
|
-
tools: {},
|
|
174
|
-
},
|
|
175
|
-
},
|
|
176
|
-
);
|
|
159
|
+
super("documentation-generation", "3.1.0");
|
|
177
160
|
|
|
178
|
-
this.
|
|
179
|
-
|
|
180
|
-
|
|
161
|
+
this.tools = [
|
|
162
|
+
{ name: "analyze_documentation", description: "Analyze existing documentation for completeness, quality, and gaps", inputSchema: { type: "object", properties: { docsPath: { type: "string", description: "Path to documentation directory or files" }, codePath: { type: "string", description: "Path to corresponding code for comparison" }, docTypes: { type: "array", items: { type: "string", enum: ["readme", "api", "code", "architecture", "deployment", "user-guide"] }, description: "Types of documentation to analyze" } }, required: ["docsPath"] } },
|
|
163
|
+
{ name: "generate_api_docs", description: "Generate comprehensive API documentation from code analysis", inputSchema: { type: "object", properties: { codePath: { type: "string", description: "Path to API code files" }, framework: { type: "string", enum: ["express", "fastify", "koa", "nestjs", "spring", "django", "flask", "fastapi"], description: "API framework being used" }, format: { type: "string", enum: ["openapi", "markdown", "html", "postman"], description: "Output documentation format", default: "openapi" }, includeExamples: { type: "boolean", description: "Include request/response examples", default: true } }, required: ["codePath", "framework"] } },
|
|
164
|
+
{ name: "generate_code_documentation", description: "Generate inline code documentation and improve existing docs", inputSchema: { type: "object", properties: { codePath: { type: "string", description: "Path to code files to document" }, language: { type: "string", enum: ["typescript", "javascript", "python", "java", "csharp", "go", "rust"], description: "Programming language" }, style: { type: "string", enum: ["jsdoc", "docstring", "xml", "markdown"], description: "Documentation comment style", default: "jsdoc" }, includePrivate: { type: "boolean", description: "Include documentation for private members", default: false } }, required: ["codePath", "language"] } },
|
|
165
|
+
{ name: "generate_readme", description: "Generate or improve project README documentation", inputSchema: { type: "object", properties: { projectPath: { type: "string", description: "Path to project root directory" }, projectType: { type: "string", enum: ["library", "application", "api", "cli", "framework"], description: "Type of project" }, includeSections: { type: "array", items: { type: "string" }, description: "Specific sections to include", default: ["installation", "usage", "api", "contributing", "license"] }, existingReadme: { type: "string", description: "Path to existing README to improve" } }, required: ["projectPath", "projectType"] } },
|
|
166
|
+
];
|
|
181
167
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
description:
|
|
189
|
-
"Analyze existing documentation for completeness, quality, and gaps",
|
|
190
|
-
inputSchema: {
|
|
191
|
-
type: "object",
|
|
192
|
-
properties: {
|
|
193
|
-
docsPath: {
|
|
194
|
-
type: "string",
|
|
195
|
-
description: "Path to documentation directory or files",
|
|
196
|
-
},
|
|
197
|
-
codePath: {
|
|
198
|
-
type: "string",
|
|
199
|
-
description: "Path to corresponding code for comparison",
|
|
200
|
-
},
|
|
201
|
-
docTypes: {
|
|
202
|
-
type: "array",
|
|
203
|
-
items: {
|
|
204
|
-
type: "string",
|
|
205
|
-
enum: [
|
|
206
|
-
"readme",
|
|
207
|
-
"api",
|
|
208
|
-
"code",
|
|
209
|
-
"architecture",
|
|
210
|
-
"deployment",
|
|
211
|
-
"user-guide",
|
|
212
|
-
],
|
|
213
|
-
},
|
|
214
|
-
description: "Types of documentation to analyze",
|
|
215
|
-
},
|
|
216
|
-
},
|
|
217
|
-
required: ["docsPath"],
|
|
218
|
-
},
|
|
219
|
-
},
|
|
220
|
-
{
|
|
221
|
-
name: "generate_api_docs",
|
|
222
|
-
description:
|
|
223
|
-
"Generate comprehensive API documentation from code analysis",
|
|
224
|
-
inputSchema: {
|
|
225
|
-
type: "object",
|
|
226
|
-
properties: {
|
|
227
|
-
codePath: {
|
|
228
|
-
type: "string",
|
|
229
|
-
description: "Path to API code files",
|
|
230
|
-
},
|
|
231
|
-
framework: {
|
|
232
|
-
type: "string",
|
|
233
|
-
enum: [
|
|
234
|
-
"express",
|
|
235
|
-
"fastify",
|
|
236
|
-
"koa",
|
|
237
|
-
"nestjs",
|
|
238
|
-
"spring",
|
|
239
|
-
"django",
|
|
240
|
-
"flask",
|
|
241
|
-
"fastapi",
|
|
242
|
-
],
|
|
243
|
-
description: "API framework being used",
|
|
244
|
-
},
|
|
245
|
-
format: {
|
|
246
|
-
type: "string",
|
|
247
|
-
enum: ["openapi", "markdown", "html", "postman"],
|
|
248
|
-
description: "Output documentation format",
|
|
249
|
-
default: "openapi",
|
|
250
|
-
},
|
|
251
|
-
includeExamples: {
|
|
252
|
-
type: "boolean",
|
|
253
|
-
description: "Include request/response examples",
|
|
254
|
-
default: true,
|
|
255
|
-
},
|
|
256
|
-
},
|
|
257
|
-
required: ["codePath", "framework"],
|
|
258
|
-
},
|
|
259
|
-
},
|
|
260
|
-
{
|
|
261
|
-
name: "generate_code_documentation",
|
|
262
|
-
description:
|
|
263
|
-
"Generate inline code documentation and improve existing docs",
|
|
264
|
-
inputSchema: {
|
|
265
|
-
type: "object",
|
|
266
|
-
properties: {
|
|
267
|
-
codePath: {
|
|
268
|
-
type: "string",
|
|
269
|
-
description: "Path to code files to document",
|
|
270
|
-
},
|
|
271
|
-
language: {
|
|
272
|
-
type: "string",
|
|
273
|
-
enum: [
|
|
274
|
-
"typescript",
|
|
275
|
-
"javascript",
|
|
276
|
-
"python",
|
|
277
|
-
"java",
|
|
278
|
-
"csharp",
|
|
279
|
-
"go",
|
|
280
|
-
"rust",
|
|
281
|
-
],
|
|
282
|
-
description: "Programming language",
|
|
283
|
-
},
|
|
284
|
-
style: {
|
|
285
|
-
type: "string",
|
|
286
|
-
enum: ["jsdoc", "docstring", "xml", "markdown"],
|
|
287
|
-
description: "Documentation comment style",
|
|
288
|
-
default: "jsdoc",
|
|
289
|
-
},
|
|
290
|
-
includePrivate: {
|
|
291
|
-
type: "boolean",
|
|
292
|
-
description: "Include documentation for private members",
|
|
293
|
-
default: false,
|
|
294
|
-
},
|
|
295
|
-
},
|
|
296
|
-
required: ["codePath", "language"],
|
|
297
|
-
},
|
|
298
|
-
},
|
|
299
|
-
{
|
|
300
|
-
name: "generate_readme",
|
|
301
|
-
description: "Generate or improve project README documentation",
|
|
302
|
-
inputSchema: {
|
|
303
|
-
type: "object",
|
|
304
|
-
properties: {
|
|
305
|
-
projectPath: {
|
|
306
|
-
type: "string",
|
|
307
|
-
description: "Path to project root directory",
|
|
308
|
-
},
|
|
309
|
-
projectType: {
|
|
310
|
-
type: "string",
|
|
311
|
-
enum: ["library", "application", "api", "cli", "framework"],
|
|
312
|
-
description: "Type of project",
|
|
313
|
-
},
|
|
314
|
-
includeSections: {
|
|
315
|
-
type: "array",
|
|
316
|
-
items: { type: "string" },
|
|
317
|
-
description: "Specific sections to include",
|
|
318
|
-
default: [
|
|
319
|
-
"installation",
|
|
320
|
-
"usage",
|
|
321
|
-
"api",
|
|
322
|
-
"contributing",
|
|
323
|
-
"license",
|
|
324
|
-
],
|
|
325
|
-
},
|
|
326
|
-
existingReadme: {
|
|
327
|
-
type: "string",
|
|
328
|
-
description: "Path to existing README to improve",
|
|
329
|
-
},
|
|
330
|
-
},
|
|
331
|
-
required: ["projectPath", "projectType"],
|
|
332
|
-
},
|
|
333
|
-
},
|
|
334
|
-
],
|
|
335
|
-
};
|
|
336
|
-
});
|
|
168
|
+
this.handlers = {
|
|
169
|
+
analyze_documentation: async (args) => this.analyzeDocumentation(args as AnalyzeDocumentationArgs),
|
|
170
|
+
generate_api_docs: async (args) => this.generateAPIDocs(args as GenerateAPIDocsArgs),
|
|
171
|
+
generate_code_documentation: async (args) => this.generateCodeDocumentation(args as GenerateCodeDocumentationArgs),
|
|
172
|
+
generate_readme: async (args) => this.generateReadme(args as GenerateReadmeArgs),
|
|
173
|
+
};
|
|
337
174
|
|
|
338
|
-
this.
|
|
339
|
-
const { name, arguments: args } = request.params;
|
|
340
|
-
|
|
341
|
-
switch (name) {
|
|
342
|
-
case "analyze_documentation":
|
|
343
|
-
return await this.analyzeDocumentation(args as unknown as AnalyzeDocumentationArgs) as CallToolResult;
|
|
344
|
-
case "generate_api_docs":
|
|
345
|
-
return await this.generateAPIDocs(args as unknown as GenerateAPIDocsArgs) as CallToolResult;
|
|
346
|
-
case "generate_code_documentation":
|
|
347
|
-
return await this.generateCodeDocumentation(args as unknown as GenerateCodeDocumentationArgs) as CallToolResult;
|
|
348
|
-
case "generate_readme":
|
|
349
|
-
return await this.generateReadme(args as unknown as GenerateReadmeArgs) as CallToolResult;
|
|
350
|
-
default:
|
|
351
|
-
throw new Error(`Unknown tool: ${name}`);
|
|
352
|
-
}
|
|
353
|
-
});
|
|
175
|
+
this.setupToolHandlers();
|
|
354
176
|
}
|
|
355
177
|
|
|
178
|
+
// setupToolHandlers removed โ handled by XrayKnowledgeSkillBase via this.tools + this.handlers
|
|
179
|
+
|
|
356
180
|
private async analyzeDocumentation(args: AnalyzeDocumentationArgs) {
|
|
357
181
|
const { docsPath, codePath, docTypes = ["readme", "api", "code"] } = args;
|
|
358
182
|
|
|
@@ -1617,16 +1441,7 @@ class XrayDocumentationGenerationServer {
|
|
|
1617
1441
|
return icons[severity as keyof typeof icons] || "โ";
|
|
1618
1442
|
}
|
|
1619
1443
|
|
|
1620
|
-
|
|
1621
|
-
const transport = new StdioServerTransport();
|
|
1622
|
-
await this.server.connect(transport);
|
|
1623
|
-
|
|
1624
|
-
// Use centralized shutdown handler
|
|
1625
|
-
createGracefulShutdown({
|
|
1626
|
-
serverName: "tech-writer.server",
|
|
1627
|
-
server: this.server,
|
|
1628
|
-
});
|
|
1629
|
-
}
|
|
1444
|
+
// run() removed โ handled by XrayKnowledgeSkillBase
|
|
1630
1445
|
}
|
|
1631
1446
|
|
|
1632
1447
|
// Run the server if this file is executed directly
|
|
@@ -5,16 +5,9 @@
|
|
|
5
5
|
* test coverage optimization, and automated testing workflows
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
9
|
-
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
10
8
|
import * as fs from "fs";
|
|
11
9
|
import { frameworkLogger } from "../../core/framework-logger.js";
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
CallToolRequestSchema,
|
|
15
|
-
ListToolsRequestSchema,
|
|
16
|
-
type CallToolResult,
|
|
17
|
-
} from "@modelcontextprotocol/sdk/types.js";
|
|
10
|
+
import { XrayKnowledgeSkillBase } from "../shared/knowledge-skill-base.js";
|
|
18
11
|
|
|
19
12
|
interface TestStrategy {
|
|
20
13
|
type:
|
|
@@ -204,198 +197,31 @@ interface McpToolResponse {
|
|
|
204
197
|
data?: Record<string, unknown>;
|
|
205
198
|
}
|
|
206
199
|
|
|
207
|
-
class XrayTestingBestPracticesServer {
|
|
208
|
-
private server: Server;
|
|
200
|
+
class XrayTestingBestPracticesServer extends XrayKnowledgeSkillBase {
|
|
209
201
|
|
|
210
202
|
constructor() {
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
},
|
|
215
|
-
{
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
203
|
+
super("testing-best-practices", "3.1.0");
|
|
204
|
+
|
|
205
|
+
this.tools = [
|
|
206
|
+
{ name: "analyze_test_coverage", description: "Analyze current test coverage and identify gaps", inputSchema: { type: "object", properties: { codePath: { type: "string", description: "Path to codebase to analyze" }, testFramework: { type: "string", description: "Testing framework used (jest, vitest, mocha, etc.)", default: "auto-detect" }, coverageThreshold: { type: "number", description: "Minimum coverage threshold (0-100)", default: 80 } }, required: ["codePath"] } },
|
|
207
|
+
{ name: "design_test_strategy", description: "Design comprehensive testing strategy for a project", inputSchema: { type: "object", properties: { projectType: { type: "string", enum: ["web-app", "api", "library", "mobile", "desktop"], description: "Type of project" }, techStack: { type: "array", items: { type: "string" }, description: "Technologies used (react, node, typescript, etc.)" }, teamSize: { type: "string", enum: ["solo", "small", "medium", "large"], description: "Development team size" }, timeline: { type: "string", enum: ["rapid", "balanced", "thorough"], description: "Development timeline priority" } }, required: ["projectType"] } },
|
|
208
|
+
{ name: "implement_tdd_workflow", description: "Implement Test-Driven Development workflow and practices", inputSchema: { type: "object", properties: { language: { type: "string", description: "Programming language", default: "typescript" }, framework: { type: "string", description: "Preferred testing framework", default: "jest" }, existingTests: { type: "boolean", description: "Whether tests already exist", default: false } }, required: [] } },
|
|
209
|
+
{ name: "optimize_test_performance", description: "Analyze and optimize test execution performance", inputSchema: { type: "object", properties: { testResults: { type: "string", description: "Path to test results or current execution time" }, targetRuntime: { type: "number", description: "Target test execution time in seconds", default: 300 }, parallelExecution: { type: "boolean", description: "Whether parallel execution is supported", default: true } }, required: ["testResults"] } },
|
|
210
|
+
{ name: "setup_ci_cd_testing", description: "Set up comprehensive CI/CD testing pipeline", inputSchema: { type: "object", properties: { ciPlatform: { type: "string", enum: ["github-actions", "gitlab-ci", "jenkins", "circle-ci", "travis-ci"], description: "CI/CD platform" }, testTypes: { type: "array", items: { type: "string", enum: ["unit", "integration", "e2e", "performance", "security"] }, description: "Types of tests to include" }, coverageReporting: { type: "boolean", description: "Enable coverage reporting", default: true } }, required: ["ciPlatform", "testTypes"] } },
|
|
211
|
+
];
|
|
212
|
+
|
|
213
|
+
this.handlers = {
|
|
214
|
+
analyze_test_coverage: async (args) => this.analyzeTestCoverage(args as AnalyzeTestCoverageArgs),
|
|
215
|
+
design_test_strategy: async (args) => this.designTestStrategy(args as DesignTestStrategyArgs),
|
|
216
|
+
implement_tdd_workflow: async (args) => this.implementTDDWorkflow(args as ImplementTDDWorkflowArgs),
|
|
217
|
+
optimize_test_performance: async (args) => this.optimizeTestPerformance(args as OptimizeTestPerformanceArgs),
|
|
218
|
+
setup_ci_cd_testing: async (args) => this.setupCICDTesting(args as SetupCICDTestingArgs),
|
|
219
|
+
};
|
|
221
220
|
|
|
222
221
|
this.setupToolHandlers();
|
|
223
|
-
// Server initialization - removed unnecessary startup logging
|
|
224
222
|
}
|
|
225
223
|
|
|
226
|
-
|
|
227
|
-
this.server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
228
|
-
return {
|
|
229
|
-
tools: [
|
|
230
|
-
{
|
|
231
|
-
name: "analyze_test_coverage",
|
|
232
|
-
description: "Analyze current test coverage and identify gaps",
|
|
233
|
-
inputSchema: {
|
|
234
|
-
type: "object",
|
|
235
|
-
properties: {
|
|
236
|
-
codePath: {
|
|
237
|
-
type: "string",
|
|
238
|
-
description: "Path to codebase to analyze",
|
|
239
|
-
},
|
|
240
|
-
testFramework: {
|
|
241
|
-
type: "string",
|
|
242
|
-
description:
|
|
243
|
-
"Testing framework used (jest, vitest, mocha, etc.)",
|
|
244
|
-
default: "auto-detect",
|
|
245
|
-
},
|
|
246
|
-
coverageThreshold: {
|
|
247
|
-
type: "number",
|
|
248
|
-
description: "Minimum coverage threshold (0-100)",
|
|
249
|
-
default: 80,
|
|
250
|
-
},
|
|
251
|
-
},
|
|
252
|
-
required: ["codePath"],
|
|
253
|
-
},
|
|
254
|
-
},
|
|
255
|
-
{
|
|
256
|
-
name: "design_test_strategy",
|
|
257
|
-
description: "Design comprehensive testing strategy for a project",
|
|
258
|
-
inputSchema: {
|
|
259
|
-
type: "object",
|
|
260
|
-
properties: {
|
|
261
|
-
projectType: {
|
|
262
|
-
type: "string",
|
|
263
|
-
enum: ["web-app", "api", "library", "mobile", "desktop"],
|
|
264
|
-
description: "Type of project",
|
|
265
|
-
},
|
|
266
|
-
techStack: {
|
|
267
|
-
type: "array",
|
|
268
|
-
items: { type: "string" },
|
|
269
|
-
description:
|
|
270
|
-
"Technologies used (react, node, typescript, etc.)",
|
|
271
|
-
},
|
|
272
|
-
teamSize: {
|
|
273
|
-
type: "string",
|
|
274
|
-
enum: ["solo", "small", "medium", "large"],
|
|
275
|
-
description: "Development team size",
|
|
276
|
-
},
|
|
277
|
-
timeline: {
|
|
278
|
-
type: "string",
|
|
279
|
-
enum: ["rapid", "balanced", "thorough"],
|
|
280
|
-
description: "Development timeline priority",
|
|
281
|
-
},
|
|
282
|
-
},
|
|
283
|
-
required: ["projectType"],
|
|
284
|
-
},
|
|
285
|
-
},
|
|
286
|
-
{
|
|
287
|
-
name: "implement_tdd_workflow",
|
|
288
|
-
description:
|
|
289
|
-
"Implement Test-Driven Development workflow and practices",
|
|
290
|
-
inputSchema: {
|
|
291
|
-
type: "object",
|
|
292
|
-
properties: {
|
|
293
|
-
language: {
|
|
294
|
-
type: "string",
|
|
295
|
-
description: "Programming language",
|
|
296
|
-
default: "typescript",
|
|
297
|
-
},
|
|
298
|
-
framework: {
|
|
299
|
-
type: "string",
|
|
300
|
-
description: "Preferred testing framework",
|
|
301
|
-
default: "jest",
|
|
302
|
-
},
|
|
303
|
-
existingTests: {
|
|
304
|
-
type: "boolean",
|
|
305
|
-
description: "Whether tests already exist",
|
|
306
|
-
default: false,
|
|
307
|
-
},
|
|
308
|
-
},
|
|
309
|
-
required: [],
|
|
310
|
-
},
|
|
311
|
-
},
|
|
312
|
-
{
|
|
313
|
-
name: "optimize_test_performance",
|
|
314
|
-
description: "Analyze and optimize test execution performance",
|
|
315
|
-
inputSchema: {
|
|
316
|
-
type: "object",
|
|
317
|
-
properties: {
|
|
318
|
-
testResults: {
|
|
319
|
-
type: "string",
|
|
320
|
-
description: "Path to test results or current execution time",
|
|
321
|
-
},
|
|
322
|
-
targetRuntime: {
|
|
323
|
-
type: "number",
|
|
324
|
-
description: "Target test execution time in seconds",
|
|
325
|
-
default: 300,
|
|
326
|
-
},
|
|
327
|
-
parallelExecution: {
|
|
328
|
-
type: "boolean",
|
|
329
|
-
description: "Whether parallel execution is supported",
|
|
330
|
-
default: true,
|
|
331
|
-
},
|
|
332
|
-
},
|
|
333
|
-
required: ["testResults"],
|
|
334
|
-
},
|
|
335
|
-
},
|
|
336
|
-
{
|
|
337
|
-
name: "setup_ci_cd_testing",
|
|
338
|
-
description: "Set up comprehensive CI/CD testing pipeline",
|
|
339
|
-
inputSchema: {
|
|
340
|
-
type: "object",
|
|
341
|
-
properties: {
|
|
342
|
-
ciPlatform: {
|
|
343
|
-
type: "string",
|
|
344
|
-
enum: [
|
|
345
|
-
"github-actions",
|
|
346
|
-
"gitlab-ci",
|
|
347
|
-
"jenkins",
|
|
348
|
-
"circle-ci",
|
|
349
|
-
"travis-ci",
|
|
350
|
-
],
|
|
351
|
-
description: "CI/CD platform",
|
|
352
|
-
},
|
|
353
|
-
testTypes: {
|
|
354
|
-
type: "array",
|
|
355
|
-
items: {
|
|
356
|
-
type: "string",
|
|
357
|
-
enum: [
|
|
358
|
-
"unit",
|
|
359
|
-
"integration",
|
|
360
|
-
"e2e",
|
|
361
|
-
"performance",
|
|
362
|
-
"security",
|
|
363
|
-
],
|
|
364
|
-
},
|
|
365
|
-
description: "Types of tests to include",
|
|
366
|
-
},
|
|
367
|
-
coverageReporting: {
|
|
368
|
-
type: "boolean",
|
|
369
|
-
description: "Enable coverage reporting",
|
|
370
|
-
default: true,
|
|
371
|
-
},
|
|
372
|
-
},
|
|
373
|
-
required: ["ciPlatform", "testTypes"],
|
|
374
|
-
},
|
|
375
|
-
},
|
|
376
|
-
],
|
|
377
|
-
};
|
|
378
|
-
});
|
|
379
|
-
|
|
380
|
-
this.server.setRequestHandler(CallToolRequestSchema, async (request): Promise<CallToolResult> => {
|
|
381
|
-
const { name, arguments: args } = request.params;
|
|
382
|
-
|
|
383
|
-
switch (name) {
|
|
384
|
-
case "analyze_test_coverage":
|
|
385
|
-
return await this.analyzeTestCoverage(args as unknown as AnalyzeTestCoverageArgs) as CallToolResult;
|
|
386
|
-
case "design_test_strategy":
|
|
387
|
-
return await this.designTestStrategy(args as unknown as DesignTestStrategyArgs) as CallToolResult;
|
|
388
|
-
case "implement_tdd_workflow":
|
|
389
|
-
return await this.implementTDDWorkflow(args as unknown as ImplementTDDWorkflowArgs) as CallToolResult;
|
|
390
|
-
case "optimize_test_performance":
|
|
391
|
-
return await this.optimizeTestPerformance(args as unknown as OptimizeTestPerformanceArgs) as CallToolResult;
|
|
392
|
-
case "setup_ci_cd_testing":
|
|
393
|
-
return await this.setupCICDTesting(args as unknown as SetupCICDTestingArgs) as CallToolResult;
|
|
394
|
-
default:
|
|
395
|
-
throw new Error(`Unknown tool: ${name}`);
|
|
396
|
-
}
|
|
397
|
-
});
|
|
398
|
-
}
|
|
224
|
+
// setupToolHandlers removed โ handled by XrayKnowledgeSkillBase via this.tools + this.handlers
|
|
399
225
|
|
|
400
226
|
private async analyzeTestCoverage(args: AnalyzeTestCoverageArgs): Promise<McpToolResponse> {
|
|
401
227
|
const {
|
|
@@ -1212,16 +1038,7 @@ class XrayTestingBestPracticesServer {
|
|
|
1212
1038
|
return icons[type as keyof typeof icons] || "๐งช";
|
|
1213
1039
|
}
|
|
1214
1040
|
|
|
1215
|
-
|
|
1216
|
-
const transport = new StdioServerTransport();
|
|
1217
|
-
await this.server.connect(transport);
|
|
1218
|
-
|
|
1219
|
-
// Use centralized shutdown handler
|
|
1220
|
-
createGracefulShutdown({
|
|
1221
|
-
serverName: "testing-best-practices.server",
|
|
1222
|
-
server: this.server,
|
|
1223
|
-
});
|
|
1224
|
-
}
|
|
1041
|
+
// run() removed โ handled by XrayKnowledgeSkillBase
|
|
1225
1042
|
}
|
|
1226
1043
|
|
|
1227
1044
|
// Run the server if this file is executed directly
|