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
|
@@ -4,193 +4,27 @@
|
|
|
4
4
|
* Knowledge skill for automated documentation creation, API docs generation,
|
|
5
5
|
* code documentation maintenance, and technical writing assistance
|
|
6
6
|
*/
|
|
7
|
-
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
8
|
-
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
9
|
-
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
10
7
|
import * as fs from "fs";
|
|
11
8
|
import * as path from "path";
|
|
12
|
-
import {
|
|
13
|
-
class XrayDocumentationGenerationServer {
|
|
14
|
-
server;
|
|
9
|
+
import { XrayKnowledgeSkillBase } from "../shared/knowledge-skill-base.js";
|
|
10
|
+
class XrayDocumentationGenerationServer extends XrayKnowledgeSkillBase {
|
|
15
11
|
constructor() {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
},
|
|
22
|
-
|
|
12
|
+
super("documentation-generation", "3.1.0");
|
|
13
|
+
this.tools = [
|
|
14
|
+
{ 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"] } },
|
|
15
|
+
{ 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"] } },
|
|
16
|
+
{ 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"] } },
|
|
17
|
+
{ 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"] } },
|
|
18
|
+
];
|
|
19
|
+
this.handlers = {
|
|
20
|
+
analyze_documentation: async (args) => this.analyzeDocumentation(args),
|
|
21
|
+
generate_api_docs: async (args) => this.generateAPIDocs(args),
|
|
22
|
+
generate_code_documentation: async (args) => this.generateCodeDocumentation(args),
|
|
23
|
+
generate_readme: async (args) => this.generateReadme(args),
|
|
24
|
+
};
|
|
23
25
|
this.setupToolHandlers();
|
|
24
|
-
// Server initialization - removed unnecessary startup logging
|
|
25
|
-
}
|
|
26
|
-
setupToolHandlers() {
|
|
27
|
-
this.server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
28
|
-
return {
|
|
29
|
-
tools: [
|
|
30
|
-
{
|
|
31
|
-
name: "analyze_documentation",
|
|
32
|
-
description: "Analyze existing documentation for completeness, quality, and gaps",
|
|
33
|
-
inputSchema: {
|
|
34
|
-
type: "object",
|
|
35
|
-
properties: {
|
|
36
|
-
docsPath: {
|
|
37
|
-
type: "string",
|
|
38
|
-
description: "Path to documentation directory or files",
|
|
39
|
-
},
|
|
40
|
-
codePath: {
|
|
41
|
-
type: "string",
|
|
42
|
-
description: "Path to corresponding code for comparison",
|
|
43
|
-
},
|
|
44
|
-
docTypes: {
|
|
45
|
-
type: "array",
|
|
46
|
-
items: {
|
|
47
|
-
type: "string",
|
|
48
|
-
enum: [
|
|
49
|
-
"readme",
|
|
50
|
-
"api",
|
|
51
|
-
"code",
|
|
52
|
-
"architecture",
|
|
53
|
-
"deployment",
|
|
54
|
-
"user-guide",
|
|
55
|
-
],
|
|
56
|
-
},
|
|
57
|
-
description: "Types of documentation to analyze",
|
|
58
|
-
},
|
|
59
|
-
},
|
|
60
|
-
required: ["docsPath"],
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
name: "generate_api_docs",
|
|
65
|
-
description: "Generate comprehensive API documentation from code analysis",
|
|
66
|
-
inputSchema: {
|
|
67
|
-
type: "object",
|
|
68
|
-
properties: {
|
|
69
|
-
codePath: {
|
|
70
|
-
type: "string",
|
|
71
|
-
description: "Path to API code files",
|
|
72
|
-
},
|
|
73
|
-
framework: {
|
|
74
|
-
type: "string",
|
|
75
|
-
enum: [
|
|
76
|
-
"express",
|
|
77
|
-
"fastify",
|
|
78
|
-
"koa",
|
|
79
|
-
"nestjs",
|
|
80
|
-
"spring",
|
|
81
|
-
"django",
|
|
82
|
-
"flask",
|
|
83
|
-
"fastapi",
|
|
84
|
-
],
|
|
85
|
-
description: "API framework being used",
|
|
86
|
-
},
|
|
87
|
-
format: {
|
|
88
|
-
type: "string",
|
|
89
|
-
enum: ["openapi", "markdown", "html", "postman"],
|
|
90
|
-
description: "Output documentation format",
|
|
91
|
-
default: "openapi",
|
|
92
|
-
},
|
|
93
|
-
includeExamples: {
|
|
94
|
-
type: "boolean",
|
|
95
|
-
description: "Include request/response examples",
|
|
96
|
-
default: true,
|
|
97
|
-
},
|
|
98
|
-
},
|
|
99
|
-
required: ["codePath", "framework"],
|
|
100
|
-
},
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: "generate_code_documentation",
|
|
104
|
-
description: "Generate inline code documentation and improve existing docs",
|
|
105
|
-
inputSchema: {
|
|
106
|
-
type: "object",
|
|
107
|
-
properties: {
|
|
108
|
-
codePath: {
|
|
109
|
-
type: "string",
|
|
110
|
-
description: "Path to code files to document",
|
|
111
|
-
},
|
|
112
|
-
language: {
|
|
113
|
-
type: "string",
|
|
114
|
-
enum: [
|
|
115
|
-
"typescript",
|
|
116
|
-
"javascript",
|
|
117
|
-
"python",
|
|
118
|
-
"java",
|
|
119
|
-
"csharp",
|
|
120
|
-
"go",
|
|
121
|
-
"rust",
|
|
122
|
-
],
|
|
123
|
-
description: "Programming language",
|
|
124
|
-
},
|
|
125
|
-
style: {
|
|
126
|
-
type: "string",
|
|
127
|
-
enum: ["jsdoc", "docstring", "xml", "markdown"],
|
|
128
|
-
description: "Documentation comment style",
|
|
129
|
-
default: "jsdoc",
|
|
130
|
-
},
|
|
131
|
-
includePrivate: {
|
|
132
|
-
type: "boolean",
|
|
133
|
-
description: "Include documentation for private members",
|
|
134
|
-
default: false,
|
|
135
|
-
},
|
|
136
|
-
},
|
|
137
|
-
required: ["codePath", "language"],
|
|
138
|
-
},
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
name: "generate_readme",
|
|
142
|
-
description: "Generate or improve project README documentation",
|
|
143
|
-
inputSchema: {
|
|
144
|
-
type: "object",
|
|
145
|
-
properties: {
|
|
146
|
-
projectPath: {
|
|
147
|
-
type: "string",
|
|
148
|
-
description: "Path to project root directory",
|
|
149
|
-
},
|
|
150
|
-
projectType: {
|
|
151
|
-
type: "string",
|
|
152
|
-
enum: ["library", "application", "api", "cli", "framework"],
|
|
153
|
-
description: "Type of project",
|
|
154
|
-
},
|
|
155
|
-
includeSections: {
|
|
156
|
-
type: "array",
|
|
157
|
-
items: { type: "string" },
|
|
158
|
-
description: "Specific sections to include",
|
|
159
|
-
default: [
|
|
160
|
-
"installation",
|
|
161
|
-
"usage",
|
|
162
|
-
"api",
|
|
163
|
-
"contributing",
|
|
164
|
-
"license",
|
|
165
|
-
],
|
|
166
|
-
},
|
|
167
|
-
existingReadme: {
|
|
168
|
-
type: "string",
|
|
169
|
-
description: "Path to existing README to improve",
|
|
170
|
-
},
|
|
171
|
-
},
|
|
172
|
-
required: ["projectPath", "projectType"],
|
|
173
|
-
},
|
|
174
|
-
},
|
|
175
|
-
],
|
|
176
|
-
};
|
|
177
|
-
});
|
|
178
|
-
this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
179
|
-
const { name, arguments: args } = request.params;
|
|
180
|
-
switch (name) {
|
|
181
|
-
case "analyze_documentation":
|
|
182
|
-
return await this.analyzeDocumentation(args);
|
|
183
|
-
case "generate_api_docs":
|
|
184
|
-
return await this.generateAPIDocs(args);
|
|
185
|
-
case "generate_code_documentation":
|
|
186
|
-
return await this.generateCodeDocumentation(args);
|
|
187
|
-
case "generate_readme":
|
|
188
|
-
return await this.generateReadme(args);
|
|
189
|
-
default:
|
|
190
|
-
throw new Error(`Unknown tool: ${name}`);
|
|
191
|
-
}
|
|
192
|
-
});
|
|
193
26
|
}
|
|
27
|
+
// setupToolHandlers removed โ handled by XrayKnowledgeSkillBase via this.tools + this.handlers
|
|
194
28
|
async analyzeDocumentation(args) {
|
|
195
29
|
const { docsPath, codePath, docTypes = ["readme", "api", "code"] } = args;
|
|
196
30
|
try {
|
|
@@ -727,7 +561,7 @@ class XrayDocumentationGenerationServer {
|
|
|
727
561
|
openapi: "3.0.0",
|
|
728
562
|
info: {
|
|
729
563
|
title: "API Documentation",
|
|
730
|
-
version: "1.
|
|
564
|
+
version: "3.1.0",
|
|
731
565
|
description: "Generated API documentation",
|
|
732
566
|
},
|
|
733
567
|
servers: [
|
|
@@ -1173,18 +1007,9 @@ class XrayDocumentationGenerationServer {
|
|
|
1173
1007
|
};
|
|
1174
1008
|
return icons[severity] || "โ";
|
|
1175
1009
|
}
|
|
1176
|
-
async run() {
|
|
1177
|
-
const transport = new StdioServerTransport();
|
|
1178
|
-
await this.server.connect(transport);
|
|
1179
|
-
// Use centralized shutdown handler
|
|
1180
|
-
createGracefulShutdown({
|
|
1181
|
-
serverName: "tech-writer.server",
|
|
1182
|
-
server: this.server,
|
|
1183
|
-
});
|
|
1184
|
-
}
|
|
1185
1010
|
}
|
|
1186
1011
|
// Run the server if this file is executed directly
|
|
1187
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
1012
|
+
if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
|
|
1188
1013
|
const server = new XrayDocumentationGenerationServer();
|
|
1189
1014
|
server.run().catch(() => { });
|
|
1190
1015
|
}
|
|
@@ -4,191 +4,28 @@
|
|
|
4
4
|
* Knowledge skill for comprehensive testing strategies, TDD/BDD implementation,
|
|
5
5
|
* test coverage optimization, and automated testing workflows
|
|
6
6
|
*/
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
11
|
-
class XrayTestingBestPracticesServer {
|
|
12
|
-
server;
|
|
7
|
+
import * as fs from "fs";
|
|
8
|
+
import { XrayKnowledgeSkillBase } from "../shared/knowledge-skill-base.js";
|
|
9
|
+
class XrayTestingBestPracticesServer extends XrayKnowledgeSkillBase {
|
|
13
10
|
constructor() {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
},
|
|
20
|
-
|
|
11
|
+
super("testing-best-practices", "3.1.0");
|
|
12
|
+
this.tools = [
|
|
13
|
+
{ 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"] } },
|
|
14
|
+
{ 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"] } },
|
|
15
|
+
{ 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: [] } },
|
|
16
|
+
{ 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"] } },
|
|
17
|
+
{ 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"] } },
|
|
18
|
+
];
|
|
19
|
+
this.handlers = {
|
|
20
|
+
analyze_test_coverage: async (args) => this.analyzeTestCoverage(args),
|
|
21
|
+
design_test_strategy: async (args) => this.designTestStrategy(args),
|
|
22
|
+
implement_tdd_workflow: async (args) => this.implementTDDWorkflow(args),
|
|
23
|
+
optimize_test_performance: async (args) => this.optimizeTestPerformance(args),
|
|
24
|
+
setup_ci_cd_testing: async (args) => this.setupCICDTesting(args),
|
|
25
|
+
};
|
|
21
26
|
this.setupToolHandlers();
|
|
22
|
-
// Server initialization - removed unnecessary startup logging
|
|
23
|
-
}
|
|
24
|
-
setupToolHandlers() {
|
|
25
|
-
this.server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
26
|
-
return {
|
|
27
|
-
tools: [
|
|
28
|
-
{
|
|
29
|
-
name: "analyze_test_coverage",
|
|
30
|
-
description: "Analyze current test coverage and identify gaps",
|
|
31
|
-
inputSchema: {
|
|
32
|
-
type: "object",
|
|
33
|
-
properties: {
|
|
34
|
-
codePath: {
|
|
35
|
-
type: "string",
|
|
36
|
-
description: "Path to codebase to analyze",
|
|
37
|
-
},
|
|
38
|
-
testFramework: {
|
|
39
|
-
type: "string",
|
|
40
|
-
description: "Testing framework used (jest, vitest, mocha, etc.)",
|
|
41
|
-
default: "auto-detect",
|
|
42
|
-
},
|
|
43
|
-
coverageThreshold: {
|
|
44
|
-
type: "number",
|
|
45
|
-
description: "Minimum coverage threshold (0-100)",
|
|
46
|
-
default: 80,
|
|
47
|
-
},
|
|
48
|
-
},
|
|
49
|
-
required: ["codePath"],
|
|
50
|
-
},
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
name: "design_test_strategy",
|
|
54
|
-
description: "Design comprehensive testing strategy for a project",
|
|
55
|
-
inputSchema: {
|
|
56
|
-
type: "object",
|
|
57
|
-
properties: {
|
|
58
|
-
projectType: {
|
|
59
|
-
type: "string",
|
|
60
|
-
enum: ["web-app", "api", "library", "mobile", "desktop"],
|
|
61
|
-
description: "Type of project",
|
|
62
|
-
},
|
|
63
|
-
techStack: {
|
|
64
|
-
type: "array",
|
|
65
|
-
items: { type: "string" },
|
|
66
|
-
description: "Technologies used (react, node, typescript, etc.)",
|
|
67
|
-
},
|
|
68
|
-
teamSize: {
|
|
69
|
-
type: "string",
|
|
70
|
-
enum: ["solo", "small", "medium", "large"],
|
|
71
|
-
description: "Development team size",
|
|
72
|
-
},
|
|
73
|
-
timeline: {
|
|
74
|
-
type: "string",
|
|
75
|
-
enum: ["rapid", "balanced", "thorough"],
|
|
76
|
-
description: "Development timeline priority",
|
|
77
|
-
},
|
|
78
|
-
},
|
|
79
|
-
required: ["projectType"],
|
|
80
|
-
},
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
name: "implement_tdd_workflow",
|
|
84
|
-
description: "Implement Test-Driven Development workflow and practices",
|
|
85
|
-
inputSchema: {
|
|
86
|
-
type: "object",
|
|
87
|
-
properties: {
|
|
88
|
-
language: {
|
|
89
|
-
type: "string",
|
|
90
|
-
description: "Programming language",
|
|
91
|
-
default: "typescript",
|
|
92
|
-
},
|
|
93
|
-
framework: {
|
|
94
|
-
type: "string",
|
|
95
|
-
description: "Preferred testing framework",
|
|
96
|
-
default: "jest",
|
|
97
|
-
},
|
|
98
|
-
existingTests: {
|
|
99
|
-
type: "boolean",
|
|
100
|
-
description: "Whether tests already exist",
|
|
101
|
-
default: false,
|
|
102
|
-
},
|
|
103
|
-
},
|
|
104
|
-
required: [],
|
|
105
|
-
},
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
name: "optimize_test_performance",
|
|
109
|
-
description: "Analyze and optimize test execution performance",
|
|
110
|
-
inputSchema: {
|
|
111
|
-
type: "object",
|
|
112
|
-
properties: {
|
|
113
|
-
testResults: {
|
|
114
|
-
type: "string",
|
|
115
|
-
description: "Path to test results or current execution time",
|
|
116
|
-
},
|
|
117
|
-
targetRuntime: {
|
|
118
|
-
type: "number",
|
|
119
|
-
description: "Target test execution time in seconds",
|
|
120
|
-
default: 300,
|
|
121
|
-
},
|
|
122
|
-
parallelExecution: {
|
|
123
|
-
type: "boolean",
|
|
124
|
-
description: "Whether parallel execution is supported",
|
|
125
|
-
default: true,
|
|
126
|
-
},
|
|
127
|
-
},
|
|
128
|
-
required: ["testResults"],
|
|
129
|
-
},
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
name: "setup_ci_cd_testing",
|
|
133
|
-
description: "Set up comprehensive CI/CD testing pipeline",
|
|
134
|
-
inputSchema: {
|
|
135
|
-
type: "object",
|
|
136
|
-
properties: {
|
|
137
|
-
ciPlatform: {
|
|
138
|
-
type: "string",
|
|
139
|
-
enum: [
|
|
140
|
-
"github-actions",
|
|
141
|
-
"gitlab-ci",
|
|
142
|
-
"jenkins",
|
|
143
|
-
"circle-ci",
|
|
144
|
-
"travis-ci",
|
|
145
|
-
],
|
|
146
|
-
description: "CI/CD platform",
|
|
147
|
-
},
|
|
148
|
-
testTypes: {
|
|
149
|
-
type: "array",
|
|
150
|
-
items: {
|
|
151
|
-
type: "string",
|
|
152
|
-
enum: [
|
|
153
|
-
"unit",
|
|
154
|
-
"integration",
|
|
155
|
-
"e2e",
|
|
156
|
-
"performance",
|
|
157
|
-
"security",
|
|
158
|
-
],
|
|
159
|
-
},
|
|
160
|
-
description: "Types of tests to include",
|
|
161
|
-
},
|
|
162
|
-
coverageReporting: {
|
|
163
|
-
type: "boolean",
|
|
164
|
-
description: "Enable coverage reporting",
|
|
165
|
-
default: true,
|
|
166
|
-
},
|
|
167
|
-
},
|
|
168
|
-
required: ["ciPlatform", "testTypes"],
|
|
169
|
-
},
|
|
170
|
-
},
|
|
171
|
-
],
|
|
172
|
-
};
|
|
173
|
-
});
|
|
174
|
-
this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
175
|
-
const { name, arguments: args } = request.params;
|
|
176
|
-
switch (name) {
|
|
177
|
-
case "analyze_test_coverage":
|
|
178
|
-
return await this.analyzeTestCoverage(args);
|
|
179
|
-
case "design_test_strategy":
|
|
180
|
-
return await this.designTestStrategy(args);
|
|
181
|
-
case "implement_tdd_workflow":
|
|
182
|
-
return await this.implementTDDWorkflow(args);
|
|
183
|
-
case "optimize_test_performance":
|
|
184
|
-
return await this.optimizeTestPerformance(args);
|
|
185
|
-
case "setup_ci_cd_testing":
|
|
186
|
-
return await this.setupCICDTesting(args);
|
|
187
|
-
default:
|
|
188
|
-
throw new Error(`Unknown tool: ${name}`);
|
|
189
|
-
}
|
|
190
|
-
});
|
|
191
27
|
}
|
|
28
|
+
// setupToolHandlers removed โ handled by XrayKnowledgeSkillBase via this.tools + this.handlers
|
|
192
29
|
async analyzeTestCoverage(args) {
|
|
193
30
|
const { codePath, testFramework = "auto-detect", coverageThreshold = 80, } = args;
|
|
194
31
|
try {
|
|
@@ -848,18 +685,9 @@ class XrayTestingBestPracticesServer {
|
|
|
848
685
|
};
|
|
849
686
|
return icons[type] || "๐งช";
|
|
850
687
|
}
|
|
851
|
-
async run() {
|
|
852
|
-
const transport = new StdioServerTransport();
|
|
853
|
-
await this.server.connect(transport);
|
|
854
|
-
// Use centralized shutdown handler
|
|
855
|
-
createGracefulShutdown({
|
|
856
|
-
serverName: "testing-best-practices.server",
|
|
857
|
-
server: this.server,
|
|
858
|
-
});
|
|
859
|
-
}
|
|
860
688
|
}
|
|
861
689
|
// Run the server if this file is executed directly
|
|
862
|
-
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
690
|
+
if (import.meta.url === `file://${fs.realpathSync(process.argv[1])}`) {
|
|
863
691
|
const server = new XrayTestingBestPracticesServer();
|
|
864
692
|
server.run().catch(() => { });
|
|
865
693
|
}
|