0xray 3.1.0 โ 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitignore.default +59 -0
- package/.mcp.json +35 -0
- 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/dependency-audit.md +3 -3
- 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 +6 -6
- package/.opencode/enforcer-config.json +2 -2
- package/.opencode/hooks/post-commit +1 -1
- package/.opencode/init.sh +6 -0
- package/.plugin/plugin.json +11 -0
- package/AGENTS-consumer.md +46 -0
- package/AGENTS.md +2 -12
- package/LICENSE +1 -1
- package/README.md +6 -6
- package/SKILLS.md +140 -0
- package/dist/.gitignore.default +59 -0
- package/dist/AGENTS.md +2 -12
- package/dist/CHANGELOG.md +54 -0
- package/dist/LICENSE +1 -1
- package/dist/README.md +6 -6
- package/dist/SKILLS.md +140 -0
- package/dist/agents/index.js +3 -1
- package/dist/agents/registry.js +13 -0
- 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 +1 -2
- package/dist/analytics/simple-pattern-analyzer.js +0 -1
- package/dist/architect/architectural-integrity.js +3 -3
- package/dist/benchmark/performance-benchmark.js +1 -2
- package/dist/cli/commands/antigravity-status.js +23 -23
- package/dist/cli/commands/archive-logs.js +0 -1
- package/dist/cli/commands/credible-init.js +1 -1
- package/dist/cli/commands/hermes-install.js +8 -0
- package/dist/cli/commands/mcp-install.js +1 -1
- package/dist/cli/commands/openclaw-install.js +9 -0
- package/dist/cli/commands/opencode-install.js +35 -0
- package/dist/cli/commands/plugin-commands.js +0 -1
- package/dist/cli/commands/skill-install.js +39 -2
- package/dist/cli/commands/status.js +16 -13
- package/dist/cli/commands/storyteller.js +1 -1
- package/dist/cli/index.js +14 -13
- package/dist/core/activity-logger.js +4 -5
- package/dist/core/adaptive-kernel.js +0 -1
- package/dist/core/agent-spawn-gate.js +1 -1
- package/dist/core/boot-orchestrator.js +14 -25
- package/dist/core/bridge.mjs +4 -5
- package/dist/core/codex-formatter.js +1 -3
- package/dist/core/codex-injector.js +3 -4
- package/dist/core/config-loader.js +36 -29
- package/dist/core/config-paths.js +30 -23
- package/dist/core/context-loader.js +0 -4
- package/dist/core/context-validator.js +0 -1
- package/dist/core/features-config.js +38 -2
- package/dist/core/index.js +2 -2
- package/dist/core/kernel-patterns.js +0 -1
- package/dist/core/logging-config.js +7 -7
- package/dist/core/model-router.js +23 -64
- package/dist/core/orchestrator.js +1 -1
- package/dist/core/system-prompt-generator.js +0 -1
- package/dist/core/xray-activation.js +3 -4
- package/dist/delegation/agent-delegator.js +2 -3
- 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/enforcer-tools.js +2 -2
- 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 +2 -3
- 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/execution/opencode-cli-invoker.js +1 -1
- package/dist/governance/codex-policy.service.js +0 -1
- package/dist/governance/governance-service.js +1 -1
- package/dist/governance/llm-governance-provider.js +14 -1
- package/dist/index.js +3 -5
- package/dist/inference/inference-agent-invoker.js +67 -0
- package/dist/inference/inference-applier.js +178 -0
- package/dist/inference/inference-cycle.js +52 -828
- 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/README.md +1 -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 +5 -5
- 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/grok/grok-cli.js +20 -6
- package/dist/integrations/grok/hooks/pre-tool-use.js +3 -3
- package/dist/integrations/grok/plugin/0xray/.mcp.json +16 -4
- package/dist/integrations/grok/plugin/0xray/hooks/hooks.json +2 -2
- package/dist/integrations/hermes-agent/__init__.py +29 -14
- package/dist/integrations/hermes-agent/bridge.mjs +76 -4
- package/dist/integrations/hermes-agent/schemas.py +49 -0
- package/dist/integrations/hermes-agent/test_plugin.py +7 -7
- package/dist/integrations/hermes-agent/tools.py +107 -3
- package/dist/integrations/openclaw/README.md +6 -6
- package/dist/integrations/openclaw/api-server.js +0 -1
- package/dist/integrations/openclaw/client.js +0 -1
- package/dist/integrations/openclaw/config.js +1 -2
- package/dist/integrations/openclaw/hooks/{strray-hooks.js โ xray-hooks.js} +0 -1
- package/dist/integrations/openclaw/index.js +2 -3
- package/dist/integrations/openclaw/types.js +3 -4
- package/dist/integrations/plugins/index.js +0 -1
- package/dist/integrations/plugins/plugin-integration.js +1 -2
- package/dist/integrations/plugins/plugin-registry.js +1 -2
- package/dist/mcps/agent-resolver.js +0 -1
- package/dist/mcps/architect-tools.server.js +121 -186
- package/dist/mcps/auto-format.server.js +57 -75
- package/dist/mcps/boot-orchestrator.server.js +68 -86
- package/dist/mcps/config/config-loader.js +46 -9
- package/dist/mcps/config/plugin-server-registry.js +0 -1
- package/dist/mcps/enforcer-tools.server.js +208 -274
- package/dist/mcps/estimation.server.js +65 -108
- package/dist/mcps/framework-compliance-audit.server.js +53 -82
- package/dist/mcps/framework-help.server.js +73 -90
- package/dist/mcps/governance.server.js +104 -152
- package/dist/mcps/knowledge-skills/api-design.server.js +35 -66
- package/dist/mcps/knowledge-skills/architecture-patterns.server.js +35 -66
- package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +125 -165
- package/dist/mcps/knowledge-skills/code-analyzer.server.js +211 -238
- package/dist/mcps/knowledge-skills/code-review.server.js +109 -143
- package/dist/mcps/knowledge-skills/content-creator.server.js +205 -227
- package/dist/mcps/knowledge-skills/database-design.server.js +117 -151
- package/dist/mcps/knowledge-skills/devops-deployment.server.js +125 -158
- package/dist/mcps/knowledge-skills/git-workflow.server.js +36 -68
- package/dist/mcps/knowledge-skills/growth-strategist.server.js +303 -325
- package/dist/mcps/knowledge-skills/log-monitor.server.js +141 -161
- package/dist/mcps/knowledge-skills/mobile-development.server.js +172 -202
- package/dist/mcps/knowledge-skills/multimodal-looker.server.js +124 -160
- package/dist/mcps/knowledge-skills/performance-optimization.server.js +89 -139
- package/dist/mcps/knowledge-skills/project-analysis.server.js +132 -219
- package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +117 -151
- package/dist/mcps/knowledge-skills/security-audit.server.js +17 -144
- package/dist/mcps/knowledge-skills/seo-consultant.server.js +22 -214
- package/dist/mcps/knowledge-skills/session-management.server.js +15 -91
- package/dist/mcps/knowledge-skills/skill-invocation.server.js +83 -359
- package/dist/mcps/knowledge-skills/strategist.server.js +12 -57
- package/dist/mcps/knowledge-skills/tech-writer.server.js +18 -193
- package/dist/mcps/knowledge-skills/testing-best-practices.server.js +20 -192
- package/dist/mcps/knowledge-skills/testing-strategy.server.js +19 -157
- package/dist/mcps/knowledge-skills/ui-ux-design.server.js +24 -297
- package/dist/mcps/lint.server.js +51 -92
- package/dist/mcps/model-health-check.server.js +34 -61
- package/dist/mcps/orchestrator/aside-context.js +207 -0
- package/dist/mcps/orchestrator/handlers/complexity-handler.js +5 -1
- package/dist/mcps/orchestrator/handlers/status-handler.js +8 -1
- package/dist/mcps/orchestrator/handlers/task-handler.js +5 -0
- package/dist/mcps/orchestrator/index.js +5 -0
- package/dist/mcps/orchestrator/server.js +65 -9
- package/dist/mcps/orchestrator.server.js +2 -1
- package/dist/mcps/performance-analysis.server.js +57 -88
- package/dist/mcps/processor-pipeline.server.js +70 -100
- package/dist/mcps/registry.json +1 -1
- package/dist/mcps/researcher.server.js +81 -154
- package/dist/mcps/security-scan.server.js +57 -71
- package/dist/mcps/shared/knowledge-skill-base.js +11 -4
- package/dist/mcps/state-manager.server.js +127 -155
- package/dist/metrics/agent-metrics.js +1 -1
- package/dist/monitoring/nudge-watchdog.js +0 -1
- package/dist/nucleus/default-plugins.js +13 -19
- package/dist/nucleus/index.js +0 -1
- package/dist/orchestrator/agent-spawn-governor.js +0 -1
- package/dist/orchestrator/enhanced-multi-agent-orchestrator.js +2 -2
- package/dist/orchestrator/intelligent-commit-batcher.js +2 -11
- package/dist/orchestrator/multi-agent-orchestration-coordinator.js +1 -2
- package/dist/orchestrator/orchestrator.js +8 -19
- package/dist/orchestrator/self-direction-activation.js +0 -1
- package/dist/orchestrator/universal-registry-bridge.js +1 -2
- 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 +39 -558
- package/dist/postprocessor/PostProcessor.js +7 -13
- 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 +2 -3
- package/dist/postprocessor/triggers/APITrigger.js +0 -1
- package/dist/postprocessor/triggers/GitHookTrigger.js +4 -4
- 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 -10
- 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 -13
- 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 -29
- 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/public/about.html +6 -6
- package/dist/public/enterprise.html +1 -1
- package/dist/public/features.html +2 -2
- package/dist/public/index.html +4 -4
- package/dist/reporting/report-formatter.js +1 -1
- package/dist/scripts/activate-kernel-pipeline.js +2 -2
- package/dist/scripts/integration.js +0 -1
- package/dist/scripts/pre-command +1 -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 +1 -2
- 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/api-design/SKILL.md +1 -1
- package/dist/skills/architect-tools/SKILL.md +1 -1
- package/dist/skills/architecture-patterns/SKILL.md +1 -1
- package/dist/skills/auto-format/SKILL.md +1 -1
- package/dist/skills/boot-orchestrator/SKILL.md +1 -1
- package/dist/skills/bug-triage/SKILL.md +1 -1
- package/dist/skills/code-analyzer/SKILL.md +1 -1
- package/dist/skills/code-review/SKILL.md +1 -1
- package/dist/skills/enforcer/SKILL.md +1 -1
- package/dist/skills/framework-compliance-audit/SKILL.md +1 -1
- package/dist/skills/git-workflow/SKILL.md +1 -1
- package/dist/skills/hermes-agent/SKILL.md +2 -2
- package/dist/skills/inference-improve/SKILL.md +1 -1
- package/dist/skills/lint/SKILL.md +1 -1
- package/dist/skills/log-monitor/SKILL.md +1 -1
- package/dist/skills/model-health-check/SKILL.md +1 -1
- package/dist/skills/multimodal-looker/SKILL.md +1 -1
- package/dist/skills/orchestrator/SKILL.md +1 -1
- package/dist/skills/performance-analysis/SKILL.md +1 -1
- package/dist/skills/performance-optimization/SKILL.md +1 -1
- package/dist/skills/processor-pipeline/SKILL.md +1 -1
- package/dist/skills/project-analysis/SKILL.md +1 -1
- package/dist/skills/refactoring-strategies/SKILL.md +1 -1
- package/dist/skills/registry.json +1 -1
- package/dist/skills/researcher/SKILL.md +1 -1
- package/dist/skills/security-audit/SKILL.md +1 -1
- package/dist/skills/security-scan/SKILL.md +1 -1
- package/dist/skills/session-management/SKILL.md +1 -1
- package/dist/skills/state-manager/SKILL.md +1 -1
- package/dist/skills/storyteller/SKILL.md +1 -1
- package/dist/skills/testing-best-practices/SKILL.md +1 -1
- package/dist/skills/testing-strategy/SKILL.md +1 -1
- package/dist/skills/ui-ux-design/SKILL.md +1 -1
- package/dist/skills/xray-orchestrator/index.js +0 -1
- package/dist/state/index.js +0 -1
- package/dist/state/state-manager.js +1 -2
- package/dist/utils/codex-parser.js +0 -1
- package/dist/utils/import-resolver.js +1 -1
- package/dist/utils/language-detector.js +0 -1
- package/dist/utils/path-resolver.js +2 -2
- 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 +10 -3
- package/scripts/hooks/pre-command +1 -1
- package/scripts/hooks/run-hook.js +2 -2
- package/scripts/node/auto-reflection-generator.mjs +30 -36
- package/scripts/node/govern-reflection.mjs +1 -1
- package/scripts/node/postinstall.cjs +37 -2
- package/scripts/node/release.mjs +2 -2
- package/scripts/node/setup-xai-oauth.mjs +244 -0
- package/scripts/node/setup.cjs +28 -0
- package/scripts/node/universal-version-manager.js +8 -8
- package/scripts/node/version-manager.mjs +1 -1
- package/src/integrations/grok/plugin/0xray/.mcp.json +16 -4
- package/src/integrations/grok/plugin/0xray/hooks/hooks.json +2 -2
- package/src/mcps/agent-resolver.ts +0 -1
- package/src/mcps/architect-tools.server.ts +130 -212
- package/src/mcps/auto-format.server.ts +75 -104
- package/src/mcps/boot-orchestrator.server.ts +72 -97
- package/src/mcps/config/__tests__/config-loader.test.ts +33 -37
- package/src/mcps/config/config-loader.ts +57 -11
- package/src/mcps/config/plugin-server-registry.ts +0 -1
- package/src/mcps/enforcer-tools.server.ts +218 -295
- package/src/mcps/estimation.server.ts +64 -123
- package/src/mcps/framework-compliance-audit.server.ts +54 -96
- package/src/mcps/framework-help.server.ts +76 -97
- package/src/mcps/governance.server.ts +104 -164
- package/src/mcps/knowledge-skills/api-design.server.ts +35 -73
- package/src/mcps/knowledge-skills/architecture-patterns.server.ts +34 -73
- package/src/mcps/knowledge-skills/bug-triage-specialist.server.ts +149 -194
- package/src/mcps/knowledge-skills/code-analyzer.server.ts +223 -255
- package/src/mcps/knowledge-skills/code-review.server.ts +116 -158
- package/src/mcps/knowledge-skills/content-creator.server.ts +221 -248
- package/src/mcps/knowledge-skills/database-design.server.ts +120 -161
- package/src/mcps/knowledge-skills/devops-deployment.server.ts +128 -168
- package/src/mcps/knowledge-skills/git-workflow.server.ts +34 -78
- package/src/mcps/knowledge-skills/growth-strategist.server.ts +324 -362
- package/src/mcps/knowledge-skills/log-monitor.server.ts +70 -97
- package/src/mcps/knowledge-skills/mobile-development.server.ts +18 -58
- package/src/mcps/knowledge-skills/multimodal-looker.server.ts +15 -61
- package/src/mcps/knowledge-skills/performance-optimization.server.ts +14 -75
- package/src/mcps/knowledge-skills/project-analysis.server.ts +14 -121
- package/src/mcps/knowledge-skills/refactoring-strategies.server.ts +15 -61
- package/src/mcps/knowledge-skills/security-audit.server.ts +20 -158
- package/src/mcps/knowledge-skills/seo-consultant.server.ts +25 -228
- package/src/mcps/knowledge-skills/session-management.server.ts +19 -107
- package/src/mcps/knowledge-skills/skill-invocation.server.ts +89 -380
- package/src/mcps/knowledge-skills/strategist.server.ts +15 -65
- package/src/mcps/knowledge-skills/tech-writer.server.ts +21 -206
- package/src/mcps/knowledge-skills/testing-best-practices.server.ts +23 -205
- package/src/mcps/knowledge-skills/testing-strategy.server.ts +22 -166
- package/src/mcps/knowledge-skills/ui-ux-design.server.ts +27 -343
- package/src/mcps/lint.server.ts +53 -106
- package/src/mcps/model-health-check.server.ts +35 -71
- package/src/mcps/orchestrator/aside-context.ts +245 -0
- package/src/mcps/orchestrator/handlers/complexity-handler.ts +9 -3
- package/src/mcps/orchestrator/handlers/status-handler.ts +11 -1
- package/src/mcps/orchestrator/handlers/task-handler.ts +8 -1
- package/src/mcps/orchestrator/index.ts +29 -0
- package/src/mcps/orchestrator/server.ts +81 -25
- package/src/mcps/orchestrator/types.ts +37 -0
- package/src/mcps/orchestrator.server.ts +2 -1
- package/src/mcps/performance-analysis.server.ts +60 -103
- package/src/mcps/processor-pipeline.server.ts +72 -109
- package/src/mcps/registry.json +1 -1
- package/src/mcps/researcher.server.ts +88 -176
- package/src/mcps/security-scan.server.ts +58 -77
- package/src/mcps/shared/knowledge-skill-base.ts +12 -4
- package/src/mcps/state-manager.server.ts +132 -172
- 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/dependency-audit.md +3 -3
- 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 +6 -6
- package/src/opencode/enforcer-config.json +2 -2
- package/src/skills/api-design/SKILL.md +1 -1
- package/src/skills/architect-tools/SKILL.md +1 -1
- package/src/skills/architecture-patterns/SKILL.md +1 -1
- package/src/skills/auto-format/SKILL.md +1 -1
- package/src/skills/boot-orchestrator/SKILL.md +1 -1
- package/src/skills/bug-triage/SKILL.md +1 -1
- package/src/skills/code-analyzer/SKILL.md +1 -1
- package/src/skills/code-review/SKILL.md +1 -1
- package/src/skills/enforcer/SKILL.md +1 -1
- package/src/skills/framework-compliance-audit/SKILL.md +1 -1
- package/src/skills/git-workflow/SKILL.md +1 -1
- package/src/skills/hermes-agent/SKILL.md +2 -2
- package/src/skills/inference-improve/SKILL.md +1 -1
- package/src/skills/lint/SKILL.md +1 -1
- package/src/skills/log-monitor/SKILL.md +1 -1
- package/src/skills/model-health-check/SKILL.md +1 -1
- package/src/skills/multimodal-looker/SKILL.md +1 -1
- package/src/skills/orchestrator/SKILL.md +1 -1
- package/src/skills/performance-analysis/SKILL.md +1 -1
- package/src/skills/performance-optimization/SKILL.md +1 -1
- package/src/skills/processor-pipeline/SKILL.md +1 -1
- package/src/skills/project-analysis/SKILL.md +1 -1
- package/src/skills/refactoring-strategies/SKILL.md +1 -1
- package/src/skills/registry.json +1 -1
- package/src/skills/researcher/SKILL.md +1 -1
- package/src/skills/security-audit/SKILL.md +1 -1
- package/src/skills/security-scan/SKILL.md +1 -1
- package/src/skills/session-management/SKILL.md +1 -1
- package/src/skills/state-manager/SKILL.md +1 -1
- package/src/skills/storyteller/SKILL.md +1 -1
- package/src/skills/testing-best-practices/SKILL.md +1 -1
- package/src/skills/testing-strategy/SKILL.md +1 -1
- package/src/skills/ui-ux-design/SKILL.md +1 -1
- package/src/skills/xray-orchestrator/index.ts +0 -1
- package/xray/agents_template.md +46 -0
- package/xray/codex.json +598 -0
- 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: "1.22.67",
|
|
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
|
|
|
@@ -1053,7 +877,7 @@ class XrayDocumentationGenerationServer {
|
|
|
1053
877
|
openapi: "3.0.0",
|
|
1054
878
|
info: {
|
|
1055
879
|
title: "API Documentation",
|
|
1056
|
-
version: "1.
|
|
880
|
+
version: "3.1.0",
|
|
1057
881
|
description: "Generated API documentation",
|
|
1058
882
|
},
|
|
1059
883
|
servers: [
|
|
@@ -1617,20 +1441,11 @@ 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
|
|
1633
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
1448
|
+
if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
|
|
1634
1449
|
const server = new XrayDocumentationGenerationServer();
|
|
1635
1450
|
server.run().catch(() => {});
|
|
1636
1451
|
}
|
|
@@ -5,15 +5,9 @@
|
|
|
5
5
|
* test coverage optimization, and automated testing workflows
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import
|
|
9
|
-
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
8
|
+
import * as fs from "fs";
|
|
10
9
|
import { frameworkLogger } from "../../core/framework-logger.js";
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
CallToolRequestSchema,
|
|
14
|
-
ListToolsRequestSchema,
|
|
15
|
-
type CallToolResult,
|
|
16
|
-
} from "@modelcontextprotocol/sdk/types.js";
|
|
10
|
+
import { XrayKnowledgeSkillBase } from "../shared/knowledge-skill-base.js";
|
|
17
11
|
|
|
18
12
|
interface TestStrategy {
|
|
19
13
|
type:
|
|
@@ -203,198 +197,31 @@ interface McpToolResponse {
|
|
|
203
197
|
data?: Record<string, unknown>;
|
|
204
198
|
}
|
|
205
199
|
|
|
206
|
-
class XrayTestingBestPracticesServer {
|
|
207
|
-
private server: Server;
|
|
200
|
+
class XrayTestingBestPracticesServer extends XrayKnowledgeSkillBase {
|
|
208
201
|
|
|
209
202
|
constructor() {
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
},
|
|
214
|
-
{
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
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
|
+
};
|
|
220
220
|
|
|
221
221
|
this.setupToolHandlers();
|
|
222
|
-
// Server initialization - removed unnecessary startup logging
|
|
223
222
|
}
|
|
224
223
|
|
|
225
|
-
|
|
226
|
-
this.server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
227
|
-
return {
|
|
228
|
-
tools: [
|
|
229
|
-
{
|
|
230
|
-
name: "analyze_test_coverage",
|
|
231
|
-
description: "Analyze current test coverage and identify gaps",
|
|
232
|
-
inputSchema: {
|
|
233
|
-
type: "object",
|
|
234
|
-
properties: {
|
|
235
|
-
codePath: {
|
|
236
|
-
type: "string",
|
|
237
|
-
description: "Path to codebase to analyze",
|
|
238
|
-
},
|
|
239
|
-
testFramework: {
|
|
240
|
-
type: "string",
|
|
241
|
-
description:
|
|
242
|
-
"Testing framework used (jest, vitest, mocha, etc.)",
|
|
243
|
-
default: "auto-detect",
|
|
244
|
-
},
|
|
245
|
-
coverageThreshold: {
|
|
246
|
-
type: "number",
|
|
247
|
-
description: "Minimum coverage threshold (0-100)",
|
|
248
|
-
default: 80,
|
|
249
|
-
},
|
|
250
|
-
},
|
|
251
|
-
required: ["codePath"],
|
|
252
|
-
},
|
|
253
|
-
},
|
|
254
|
-
{
|
|
255
|
-
name: "design_test_strategy",
|
|
256
|
-
description: "Design comprehensive testing strategy for a project",
|
|
257
|
-
inputSchema: {
|
|
258
|
-
type: "object",
|
|
259
|
-
properties: {
|
|
260
|
-
projectType: {
|
|
261
|
-
type: "string",
|
|
262
|
-
enum: ["web-app", "api", "library", "mobile", "desktop"],
|
|
263
|
-
description: "Type of project",
|
|
264
|
-
},
|
|
265
|
-
techStack: {
|
|
266
|
-
type: "array",
|
|
267
|
-
items: { type: "string" },
|
|
268
|
-
description:
|
|
269
|
-
"Technologies used (react, node, typescript, etc.)",
|
|
270
|
-
},
|
|
271
|
-
teamSize: {
|
|
272
|
-
type: "string",
|
|
273
|
-
enum: ["solo", "small", "medium", "large"],
|
|
274
|
-
description: "Development team size",
|
|
275
|
-
},
|
|
276
|
-
timeline: {
|
|
277
|
-
type: "string",
|
|
278
|
-
enum: ["rapid", "balanced", "thorough"],
|
|
279
|
-
description: "Development timeline priority",
|
|
280
|
-
},
|
|
281
|
-
},
|
|
282
|
-
required: ["projectType"],
|
|
283
|
-
},
|
|
284
|
-
},
|
|
285
|
-
{
|
|
286
|
-
name: "implement_tdd_workflow",
|
|
287
|
-
description:
|
|
288
|
-
"Implement Test-Driven Development workflow and practices",
|
|
289
|
-
inputSchema: {
|
|
290
|
-
type: "object",
|
|
291
|
-
properties: {
|
|
292
|
-
language: {
|
|
293
|
-
type: "string",
|
|
294
|
-
description: "Programming language",
|
|
295
|
-
default: "typescript",
|
|
296
|
-
},
|
|
297
|
-
framework: {
|
|
298
|
-
type: "string",
|
|
299
|
-
description: "Preferred testing framework",
|
|
300
|
-
default: "jest",
|
|
301
|
-
},
|
|
302
|
-
existingTests: {
|
|
303
|
-
type: "boolean",
|
|
304
|
-
description: "Whether tests already exist",
|
|
305
|
-
default: false,
|
|
306
|
-
},
|
|
307
|
-
},
|
|
308
|
-
required: [],
|
|
309
|
-
},
|
|
310
|
-
},
|
|
311
|
-
{
|
|
312
|
-
name: "optimize_test_performance",
|
|
313
|
-
description: "Analyze and optimize test execution performance",
|
|
314
|
-
inputSchema: {
|
|
315
|
-
type: "object",
|
|
316
|
-
properties: {
|
|
317
|
-
testResults: {
|
|
318
|
-
type: "string",
|
|
319
|
-
description: "Path to test results or current execution time",
|
|
320
|
-
},
|
|
321
|
-
targetRuntime: {
|
|
322
|
-
type: "number",
|
|
323
|
-
description: "Target test execution time in seconds",
|
|
324
|
-
default: 300,
|
|
325
|
-
},
|
|
326
|
-
parallelExecution: {
|
|
327
|
-
type: "boolean",
|
|
328
|
-
description: "Whether parallel execution is supported",
|
|
329
|
-
default: true,
|
|
330
|
-
},
|
|
331
|
-
},
|
|
332
|
-
required: ["testResults"],
|
|
333
|
-
},
|
|
334
|
-
},
|
|
335
|
-
{
|
|
336
|
-
name: "setup_ci_cd_testing",
|
|
337
|
-
description: "Set up comprehensive CI/CD testing pipeline",
|
|
338
|
-
inputSchema: {
|
|
339
|
-
type: "object",
|
|
340
|
-
properties: {
|
|
341
|
-
ciPlatform: {
|
|
342
|
-
type: "string",
|
|
343
|
-
enum: [
|
|
344
|
-
"github-actions",
|
|
345
|
-
"gitlab-ci",
|
|
346
|
-
"jenkins",
|
|
347
|
-
"circle-ci",
|
|
348
|
-
"travis-ci",
|
|
349
|
-
],
|
|
350
|
-
description: "CI/CD platform",
|
|
351
|
-
},
|
|
352
|
-
testTypes: {
|
|
353
|
-
type: "array",
|
|
354
|
-
items: {
|
|
355
|
-
type: "string",
|
|
356
|
-
enum: [
|
|
357
|
-
"unit",
|
|
358
|
-
"integration",
|
|
359
|
-
"e2e",
|
|
360
|
-
"performance",
|
|
361
|
-
"security",
|
|
362
|
-
],
|
|
363
|
-
},
|
|
364
|
-
description: "Types of tests to include",
|
|
365
|
-
},
|
|
366
|
-
coverageReporting: {
|
|
367
|
-
type: "boolean",
|
|
368
|
-
description: "Enable coverage reporting",
|
|
369
|
-
default: true,
|
|
370
|
-
},
|
|
371
|
-
},
|
|
372
|
-
required: ["ciPlatform", "testTypes"],
|
|
373
|
-
},
|
|
374
|
-
},
|
|
375
|
-
],
|
|
376
|
-
};
|
|
377
|
-
});
|
|
378
|
-
|
|
379
|
-
this.server.setRequestHandler(CallToolRequestSchema, async (request): Promise<CallToolResult> => {
|
|
380
|
-
const { name, arguments: args } = request.params;
|
|
381
|
-
|
|
382
|
-
switch (name) {
|
|
383
|
-
case "analyze_test_coverage":
|
|
384
|
-
return await this.analyzeTestCoverage(args as unknown as AnalyzeTestCoverageArgs) as CallToolResult;
|
|
385
|
-
case "design_test_strategy":
|
|
386
|
-
return await this.designTestStrategy(args as unknown as DesignTestStrategyArgs) as CallToolResult;
|
|
387
|
-
case "implement_tdd_workflow":
|
|
388
|
-
return await this.implementTDDWorkflow(args as unknown as ImplementTDDWorkflowArgs) as CallToolResult;
|
|
389
|
-
case "optimize_test_performance":
|
|
390
|
-
return await this.optimizeTestPerformance(args as unknown as OptimizeTestPerformanceArgs) as CallToolResult;
|
|
391
|
-
case "setup_ci_cd_testing":
|
|
392
|
-
return await this.setupCICDTesting(args as unknown as SetupCICDTestingArgs) as CallToolResult;
|
|
393
|
-
default:
|
|
394
|
-
throw new Error(`Unknown tool: ${name}`);
|
|
395
|
-
}
|
|
396
|
-
});
|
|
397
|
-
}
|
|
224
|
+
// setupToolHandlers removed โ handled by XrayKnowledgeSkillBase via this.tools + this.handlers
|
|
398
225
|
|
|
399
226
|
private async analyzeTestCoverage(args: AnalyzeTestCoverageArgs): Promise<McpToolResponse> {
|
|
400
227
|
const {
|
|
@@ -1211,20 +1038,11 @@ class XrayTestingBestPracticesServer {
|
|
|
1211
1038
|
return icons[type as keyof typeof icons] || "๐งช";
|
|
1212
1039
|
}
|
|
1213
1040
|
|
|
1214
|
-
|
|
1215
|
-
const transport = new StdioServerTransport();
|
|
1216
|
-
await this.server.connect(transport);
|
|
1217
|
-
|
|
1218
|
-
// Use centralized shutdown handler
|
|
1219
|
-
createGracefulShutdown({
|
|
1220
|
-
serverName: "testing-best-practices.server",
|
|
1221
|
-
server: this.server,
|
|
1222
|
-
});
|
|
1223
|
-
}
|
|
1041
|
+
// run() removed โ handled by XrayKnowledgeSkillBase
|
|
1224
1042
|
}
|
|
1225
1043
|
|
|
1226
1044
|
// Run the server if this file is executed directly
|
|
1227
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
1045
|
+
if (import.meta.url === `file://${fs.realpathSync(process.argv[1]!)}`) {
|
|
1228
1046
|
const server = new XrayTestingBestPracticesServer();
|
|
1229
1047
|
server.run().catch(() => {});
|
|
1230
1048
|
}
|