0xray 3.1.1 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.opencode/codex.codex +1 -1
- package/.opencode/commands/auto-format.md +3 -3
- package/.opencode/commands/auto-summary-capture.md +2 -2
- package/.opencode/commands/enforcer-daily-scan.md +3 -3
- package/.opencode/commands/framework-compliance-audit.md +4 -4
- package/.opencode/commands/interactive-validator.md +2 -2
- package/.opencode/commands/job-summary-logger.md +2 -2
- package/.opencode/commands/mode-switch.md +1 -1
- package/.opencode/commands/model-health-check.md +2 -2
- package/.opencode/commands/performance-analysis.md +2 -2
- package/.opencode/commands/pre-commit-introspection.md +3 -3
- package/.opencode/commands/security-scan.md +3 -3
- package/.opencode/commands/sisyphus-validation.md +3 -3
- package/.opencode/commands/summary-logger.md +2 -2
- package/AGENTS.md +3 -13
- package/README.md +3 -3
- package/dist/AGENTS.md +3 -13
- package/dist/CHANGELOG.md +55 -0
- package/dist/README.md +3 -3
- package/dist/analytics/consent-manager.js +0 -1
- package/dist/analytics/emerging-pattern-detector.js +0 -1
- package/dist/analytics/pattern-learning-engine.js +0 -1
- package/dist/analytics/pattern-performance-tracker.js +0 -1
- package/dist/analytics/predictive-analytics.js +0 -1
- package/dist/analytics/prompt-pattern-analyzer.js +0 -1
- package/dist/analytics/routing-performance-analyzer.js +0 -1
- package/dist/analytics/routing-refiner.js +0 -1
- package/dist/analytics/simple-pattern-analyzer.js +0 -1
- package/dist/cli/commands/archive-logs.js +0 -1
- package/dist/cli/commands/opencode-install.js +13 -0
- package/dist/cli/commands/plugin-commands.js +0 -1
- package/dist/cli/commands/status.js +11 -13
- package/dist/cli/index.js +2 -7
- package/dist/core/activity-logger.js +0 -1
- package/dist/core/adaptive-kernel.js +0 -1
- package/dist/core/boot-orchestrator.js +2 -12
- package/dist/core/bridge.mjs +0 -1
- package/dist/core/codex-formatter.js +0 -1
- package/dist/core/codex-injector.js +0 -1
- package/dist/core/config-loader.js +36 -28
- package/dist/core/context-loader.js +0 -1
- package/dist/core/context-validator.js +0 -1
- package/dist/core/features-config.js +40 -1
- package/dist/core/kernel-patterns.js +0 -1
- package/dist/core/model-router.js +23 -64
- package/dist/core/system-prompt-generator.js +0 -1
- package/dist/delegation/agent-delegator.js +0 -1
- package/dist/delegation/agent-expertise.js +0 -1
- package/dist/delegation/analytics/index.js +0 -1
- package/dist/delegation/analytics/learning-engine.js +0 -1
- package/dist/delegation/analytics/outcome-tracker.js +0 -1
- package/dist/delegation/analytics/routing-analytics.js +0 -1
- package/dist/delegation/ast-code-parser.js +0 -1
- package/dist/delegation/complexity-analyzer.js +0 -1
- package/dist/delegation/dependency-graph-builder.js +0 -1
- package/dist/delegation/index.js +0 -1
- package/dist/delegation/metrics-aggregator.js +0 -1
- package/dist/delegation/session-coordinator.js +0 -1
- package/dist/delegation/strategy-selector.js +0 -1
- package/dist/delegation/voting-coordinator.js +0 -1
- package/dist/delegation/voting-types.js +0 -1
- package/dist/delegation/weighted-voting-aggregator.js +0 -1
- package/dist/enforcement/core/index.js +0 -1
- package/dist/enforcement/core/rule-executor.js +0 -1
- package/dist/enforcement/core/rule-hierarchy.js +0 -1
- package/dist/enforcement/core/rule-registry.js +0 -1
- package/dist/enforcement/core/violation-fixer.js +0 -1
- package/dist/enforcement/index.js +0 -1
- package/dist/enforcement/loaders/agent-triage-loader.js +0 -1
- package/dist/enforcement/loaders/agents-md-validation-loader.js +0 -1
- package/dist/enforcement/loaders/base-loader.js +0 -1
- package/dist/enforcement/loaders/codex-loader.js +0 -1
- package/dist/enforcement/loaders/index.js +0 -1
- package/dist/enforcement/loaders/loader-orchestrator.js +0 -1
- package/dist/enforcement/loaders/processor-loader.js +0 -1
- package/dist/enforcement/types.js +0 -1
- package/dist/enforcement/validators/architecture-validators.js +0 -1
- package/dist/enforcement/validators/base-validator.js +0 -1
- package/dist/enforcement/validators/code-quality-validators.js +0 -1
- package/dist/enforcement/validators/index.js +0 -1
- package/dist/enforcement/validators/security-validators.js +0 -1
- package/dist/enforcement/validators/testing-validators.js +0 -1
- package/dist/enforcement/validators/validator-registry.js +0 -1
- package/dist/governance/codex-policy.service.js +0 -1
- package/dist/inference/inference-agent-invoker.js +67 -0
- package/dist/inference/inference-applier.js +178 -0
- package/dist/inference/inference-cycle.js +51 -827
- package/dist/inference/inference-proposal-generator.js +149 -0
- package/dist/infrastructure/iac-validator.js +465 -0
- package/dist/infrastructure/schemas/cloud-schemas.js +488 -0
- package/dist/integrations/base/ExampleIntegration.js +0 -1
- package/dist/integrations/base/Integration.js +0 -1
- package/dist/integrations/base/index.js +0 -1
- package/dist/integrations/base/registry.js +0 -1
- package/dist/integrations/base/types.js +0 -1
- package/dist/integrations/enforcement-gate.js +3 -3
- package/dist/integrations/governance/governance-client.js +0 -1
- package/dist/integrations/governance/index.js +11 -19
- package/dist/integrations/governance/types.js +0 -1
- package/dist/integrations/hermes-agent/__init__.py +4 -0
- package/dist/integrations/hermes-agent/bridge.mjs +37 -0
- package/dist/integrations/openclaw/api-server.js +0 -1
- package/dist/integrations/openclaw/client.js +0 -1
- package/dist/integrations/openclaw/config.js +0 -1
- package/dist/integrations/openclaw/hooks/xray-hooks.js +0 -1
- package/dist/integrations/openclaw/index.js +0 -1
- package/dist/integrations/openclaw/types.js +0 -1
- package/dist/integrations/plugins/index.js +0 -1
- package/dist/integrations/plugins/plugin-integration.js +0 -1
- package/dist/integrations/plugins/plugin-registry.js +0 -1
- package/dist/mcps/agent-resolver.js +0 -1
- package/dist/mcps/architect-tools.server.js +119 -185
- package/dist/mcps/auto-format.server.js +56 -74
- package/dist/mcps/boot-orchestrator.server.js +67 -85
- package/dist/mcps/config/config-loader.js +6 -0
- package/dist/mcps/config/plugin-server-registry.js +0 -1
- package/dist/mcps/enforcer-tools.server.js +207 -273
- package/dist/mcps/estimation.server.js +63 -107
- package/dist/mcps/framework-compliance-audit.server.js +52 -81
- package/dist/mcps/framework-help.server.js +71 -89
- package/dist/mcps/governance.server.js +97 -149
- package/dist/mcps/knowledge-skills/api-design.server.js +33 -65
- package/dist/mcps/knowledge-skills/architecture-patterns.server.js +33 -65
- package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +123 -163
- package/dist/mcps/knowledge-skills/code-analyzer.server.js +210 -237
- package/dist/mcps/knowledge-skills/code-review.server.js +108 -142
- package/dist/mcps/knowledge-skills/content-creator.server.js +203 -225
- package/dist/mcps/knowledge-skills/database-design.server.js +116 -150
- package/dist/mcps/knowledge-skills/devops-deployment.server.js +123 -157
- package/dist/mcps/knowledge-skills/git-workflow.server.js +34 -67
- package/dist/mcps/knowledge-skills/growth-strategist.server.js +301 -323
- package/dist/mcps/knowledge-skills/log-monitor.server.js +139 -159
- package/dist/mcps/knowledge-skills/mobile-development.server.js +170 -200
- package/dist/mcps/knowledge-skills/multimodal-looker.server.js +122 -158
- package/dist/mcps/knowledge-skills/performance-optimization.server.js +88 -138
- package/dist/mcps/knowledge-skills/project-analysis.server.js +131 -218
- package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +115 -150
- package/dist/mcps/knowledge-skills/security-audit.server.js +16 -143
- package/dist/mcps/knowledge-skills/seo-consultant.server.js +20 -213
- package/dist/mcps/knowledge-skills/session-management.server.js +13 -90
- package/dist/mcps/knowledge-skills/skill-invocation.server.js +43 -421
- package/dist/mcps/knowledge-skills/strategist.server.js +10 -55
- package/dist/mcps/knowledge-skills/tech-writer.server.js +16 -191
- package/dist/mcps/knowledge-skills/testing-best-practices.server.js +18 -191
- package/dist/mcps/knowledge-skills/testing-strategy.server.js +18 -156
- package/dist/mcps/knowledge-skills/ui-ux-design.server.js +22 -296
- package/dist/mcps/lint.server.js +50 -91
- package/dist/mcps/model-health-check.server.js +32 -60
- package/dist/mcps/orchestrator/aside-context.js +207 -0
- package/dist/mcps/orchestrator/config/agent-capabilities.js +30 -11
- package/dist/mcps/orchestrator/config/memory-routing-bridge.js +70 -0
- package/dist/mcps/orchestrator/execution/execution-planner.js +25 -7
- package/dist/mcps/orchestrator/handlers/complexity-handler.js +5 -1
- package/dist/mcps/orchestrator/handlers/status-handler.js +8 -1
- package/dist/mcps/orchestrator/handlers/task-handler.js +59 -1
- package/dist/mcps/orchestrator/index.js +5 -0
- package/dist/mcps/orchestrator/server.js +63 -8
- package/dist/mcps/performance-analysis.server.js +56 -87
- package/dist/mcps/processor-pipeline.server.js +68 -99
- package/dist/mcps/researcher.server.js +80 -153
- package/dist/mcps/security-scan.server.js +56 -70
- package/dist/mcps/shared/knowledge-skill-base.js +11 -4
- package/dist/mcps/state-manager.server.js +124 -152
- package/dist/memory-routing/index.js +4 -0
- package/dist/memory-routing/null-provider.js +51 -0
- package/dist/memory-routing/provider-loader.js +91 -0
- package/dist/memory-routing/provider-registry.js +40 -0
- package/dist/memory-routing/types.js +7 -0
- package/dist/memory-routing/validate-config.js +32 -0
- package/dist/monitoring/nudge-watchdog.js +0 -1
- package/dist/nucleus/default-plugins.js +13 -19
- package/dist/nucleus/index.js +0 -1
- package/dist/nucleus/thin-dispatch.js +29 -1
- package/dist/orchestrator/agent-spawn-governor.js +0 -1
- package/dist/orchestrator/intelligent-commit-batcher.js +2 -10
- package/dist/orchestrator/multi-agent-orchestration-coordinator.js +0 -1
- package/dist/orchestrator/orchestrator.js +8 -18
- package/dist/orchestrator/self-direction-activation.js +0 -1
- package/dist/orchestrator/universal-registry-bridge.js +0 -1
- package/dist/performance/performance-budget-enforcer.js +0 -1
- package/dist/performance/performance-regression-tester.js +0 -1
- package/dist/plugin/plugin-codex-context.js +87 -0
- package/dist/plugin/plugin-helpers.js +155 -0
- package/dist/plugin/plugin-logger.js +46 -0
- package/dist/plugin/plugin-modules.js +144 -0
- package/dist/plugin/plugin-quality-gate.js +88 -0
- package/dist/plugin/plugin-types.js +1 -0
- package/dist/plugin/xray-codex-injection.js +338 -0
- package/dist/postprocessor/PostProcessor.js +3 -9
- package/dist/postprocessor/analysis/CodeChangeAnalyzer.js +50 -0
- package/dist/postprocessor/config/ProcessorConfigLoader.js +16 -0
- package/dist/postprocessor/integration.js +194 -0
- package/dist/postprocessor/metamorphosis/SelfProposalEngine.js +472 -0
- package/dist/postprocessor/metamorphosis/index.js +1 -0
- package/dist/postprocessor/redeploy/RetryHandler.js +118 -0
- package/dist/postprocessor/services/RegressionAnalysisService.js +0 -1
- package/dist/postprocessor/triggers/APITrigger.js +0 -1
- package/dist/postprocessor/triggers/WebhookTrigger.js +0 -1
- package/dist/processors/implementations/agents-md-validation-processor.js +0 -1
- package/dist/processors/implementations/async-pattern-processor.js +0 -1
- package/dist/processors/implementations/console-log-guard-processor.js +0 -1
- package/dist/processors/implementations/coverage-analysis-processor.js +0 -1
- package/dist/processors/implementations/inference-improvement-processor.js +2 -9
- package/dist/processors/implementations/log-protection-processor.js +0 -1
- package/dist/processors/implementations/nudge-processor.js +0 -1
- package/dist/processors/implementations/performance-budget-processor.js +0 -1
- package/dist/processors/implementations/postprocessor-chain-validator.js +0 -1
- package/dist/processors/implementations/publish-preflight-processor.js +4 -12
- package/dist/processors/implementations/session-summary-processor.js +8 -16
- package/dist/processors/implementations/spawn-governance-processor.js +0 -1
- package/dist/processors/implementations/storytelling-trigger-processor.js +3 -28
- package/dist/processors/implementations/test-auto-creation-processor.js +0 -1
- package/dist/processors/implementations/typescript-compilation-processor.js +0 -1
- package/dist/processors/implementations/version-compliance-processor.js +0 -1
- package/dist/processors/processor-interfaces.js +0 -1
- package/dist/processors/processor-types.js +0 -1
- package/dist/scripts/integration.js +0 -1
- package/dist/security/comprehensive-security-audit.js +0 -1
- package/dist/security/security-agent-coordinator.js +0 -1
- package/dist/security/security-auditor.js +0 -1
- package/dist/security/security-hardener.js +0 -1
- package/dist/security/security-hardening-system.js +0 -1
- package/dist/security/security-headers.js +0 -1
- package/dist/security/security-orchestration-layer.js +0 -1
- package/dist/services/inference-tuner.js +0 -1
- package/dist/session/session-cleanup-manager.js +0 -1
- package/dist/session/session-monitor.js +0 -1
- package/dist/session/session-state-manager.js +0 -1
- package/dist/skills/xray-orchestrator/index.js +0 -1
- package/dist/utils/codex-parser.js +0 -1
- package/dist/utils/language-detector.js +0 -1
- package/dist/utils/shutdown-handler.js +0 -1
- package/dist/validation/agent-config-validator.js +280 -0
- package/dist/validation/orchestration-flow-validator.js +606 -0
- package/package.json +1 -1
- package/scripts/node/release.mjs +2 -2
- package/scripts/node/setup.cjs +28 -0
- package/scripts/node/universal-version-manager.js +1 -1
- package/src/mcps/agent-resolver.ts +0 -1
- package/src/mcps/architect-tools.server.ts +129 -211
- package/src/mcps/auto-format.server.ts +74 -103
- package/src/mcps/boot-orchestrator.server.ts +71 -96
- package/src/mcps/config/__tests__/config-loader.test.ts +6 -6
- package/src/mcps/config/config-loader.ts +7 -0
- package/src/mcps/config/plugin-server-registry.ts +0 -1
- package/src/mcps/enforcer-tools.server.ts +217 -294
- package/src/mcps/estimation.server.ts +62 -122
- package/src/mcps/framework-compliance-audit.server.ts +53 -95
- package/src/mcps/framework-help.server.ts +74 -96
- package/src/mcps/governance.server.ts +97 -162
- package/src/mcps/knowledge-skills/api-design.server.ts +33 -72
- package/src/mcps/knowledge-skills/architecture-patterns.server.ts +33 -72
- package/src/mcps/knowledge-skills/bug-triage-specialist.server.ts +148 -193
- package/src/mcps/knowledge-skills/code-analyzer.server.ts +222 -254
- package/src/mcps/knowledge-skills/code-review.server.ts +115 -157
- package/src/mcps/knowledge-skills/content-creator.server.ts +219 -246
- package/src/mcps/knowledge-skills/database-design.server.ts +119 -160
- package/src/mcps/knowledge-skills/devops-deployment.server.ts +126 -167
- package/src/mcps/knowledge-skills/git-workflow.server.ts +32 -77
- package/src/mcps/knowledge-skills/growth-strategist.server.ts +322 -360
- package/src/mcps/knowledge-skills/log-monitor.server.ts +68 -95
- package/src/mcps/knowledge-skills/mobile-development.server.ts +16 -56
- package/src/mcps/knowledge-skills/multimodal-looker.server.ts +13 -59
- package/src/mcps/knowledge-skills/performance-optimization.server.ts +13 -74
- package/src/mcps/knowledge-skills/project-analysis.server.ts +13 -120
- package/src/mcps/knowledge-skills/refactoring-strategies.server.ts +13 -60
- package/src/mcps/knowledge-skills/security-audit.server.ts +19 -157
- package/src/mcps/knowledge-skills/seo-consultant.server.ts +23 -227
- package/src/mcps/knowledge-skills/session-management.server.ts +17 -106
- package/src/mcps/knowledge-skills/skill-invocation.server.ts +45 -446
- package/src/mcps/knowledge-skills/strategist.server.ts +13 -63
- package/src/mcps/knowledge-skills/tech-writer.server.ts +19 -204
- package/src/mcps/knowledge-skills/testing-best-practices.server.ts +21 -204
- package/src/mcps/knowledge-skills/testing-strategy.server.ts +21 -165
- package/src/mcps/knowledge-skills/ui-ux-design.server.ts +25 -342
- package/src/mcps/lint.server.ts +52 -105
- package/src/mcps/model-health-check.server.ts +34 -70
- package/src/mcps/orchestrator/aside-context.ts +245 -0
- package/src/mcps/orchestrator/config/agent-capabilities.ts +49 -14
- package/src/mcps/orchestrator/config/memory-routing-bridge.ts +80 -0
- package/src/mcps/orchestrator/execution/execution-planner.ts +36 -9
- package/src/mcps/orchestrator/handlers/complexity-handler.ts +9 -3
- package/src/mcps/orchestrator/handlers/status-handler.ts +11 -1
- package/src/mcps/orchestrator/handlers/task-handler.ts +78 -2
- package/src/mcps/orchestrator/index.ts +29 -0
- package/src/mcps/orchestrator/server.ts +79 -24
- package/src/mcps/orchestrator/types.ts +50 -0
- package/src/mcps/performance-analysis.server.ts +59 -102
- package/src/mcps/processor-pipeline.server.ts +70 -108
- package/src/mcps/researcher.server.ts +87 -175
- package/src/mcps/security-scan.server.ts +57 -76
- package/src/mcps/shared/knowledge-skill-base.ts +12 -4
- package/src/mcps/state-manager.server.ts +129 -169
- package/src/opencode/codex.codex +1 -1
- package/src/opencode/commands/auto-format.md +3 -3
- package/src/opencode/commands/auto-summary-capture.md +2 -2
- package/src/opencode/commands/enforcer-daily-scan.md +3 -3
- package/src/opencode/commands/framework-compliance-audit.md +4 -4
- package/src/opencode/commands/interactive-validator.md +2 -2
- package/src/opencode/commands/job-summary-logger.md +2 -2
- package/src/opencode/commands/mode-switch.md +1 -1
- package/src/opencode/commands/model-health-check.md +2 -2
- package/src/opencode/commands/performance-analysis.md +2 -2
- package/src/opencode/commands/pre-commit-introspection.md +3 -3
- package/src/opencode/commands/security-scan.md +3 -3
- package/src/opencode/commands/sisyphus-validation.md +3 -3
- package/src/opencode/commands/summary-logger.md +2 -2
- package/src/skills/xray-orchestrator/index.ts +0 -1
- package/dist/nucleus/orchestrator.js +0 -479
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Retry Handler for Redeploy Operations
|
|
3
|
+
*/
|
|
4
|
+
import { frameworkLogger } from "../../core/framework-logger.js";
|
|
5
|
+
export class RetryHandler {
|
|
6
|
+
config;
|
|
7
|
+
constructor(config = {
|
|
8
|
+
maxRetries: 3,
|
|
9
|
+
baseDelay: 30000,
|
|
10
|
+
backoffStrategy: "exponential",
|
|
11
|
+
}) {
|
|
12
|
+
this.config = config;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Execute an operation with retry logic
|
|
16
|
+
*/
|
|
17
|
+
async executeWithRetry(operation, shouldRetry) {
|
|
18
|
+
let lastError = {};
|
|
19
|
+
for (let attempt = 0; attempt <= this.config.maxRetries; attempt++) {
|
|
20
|
+
try {
|
|
21
|
+
return await operation();
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
const retryable = error;
|
|
25
|
+
lastError = retryable;
|
|
26
|
+
// Don't retry on the last attempt
|
|
27
|
+
if (attempt === this.config.maxRetries) {
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
// Check if we should retry this error
|
|
31
|
+
if (shouldRetry && !shouldRetry(retryable, attempt)) {
|
|
32
|
+
break;
|
|
33
|
+
}
|
|
34
|
+
// Calculate delay and wait
|
|
35
|
+
const delay = this.calculateDelay(attempt);
|
|
36
|
+
await frameworkLogger.log("-retry-handler", "-operation-failed-attempt-attempt-1-retrying-in-de", "error", {
|
|
37
|
+
message: `⏳ Operation failed (attempt ${attempt + 1}), retrying in ${delay}ms...`,
|
|
38
|
+
});
|
|
39
|
+
await this.wait(delay);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
throw lastError;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Calculate delay based on backoff strategy
|
|
46
|
+
*/
|
|
47
|
+
calculateDelay(attempt) {
|
|
48
|
+
const { baseDelay, backoffStrategy } = this.config;
|
|
49
|
+
switch (backoffStrategy) {
|
|
50
|
+
case "exponential":
|
|
51
|
+
return baseDelay * Math.pow(2, attempt);
|
|
52
|
+
case "linear":
|
|
53
|
+
return baseDelay * (attempt + 1);
|
|
54
|
+
default:
|
|
55
|
+
return baseDelay;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Wait for the specified duration
|
|
60
|
+
*/
|
|
61
|
+
async wait(duration) {
|
|
62
|
+
return new Promise((resolve) => setTimeout(resolve, duration));
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Default retry conditions for deployment operations
|
|
66
|
+
*/
|
|
67
|
+
static shouldRetryDeployment(error, attempt) {
|
|
68
|
+
// Don't retry certain types of errors
|
|
69
|
+
const nonRetryableErrors = [
|
|
70
|
+
"authentication_failed",
|
|
71
|
+
"authorization_failed",
|
|
72
|
+
"invalid_configuration",
|
|
73
|
+
"quota_exceeded",
|
|
74
|
+
];
|
|
75
|
+
if (nonRetryableErrors.some((type) => error.type?.includes(type))) {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
// Don't retry after too many attempts for transient errors
|
|
79
|
+
if (attempt >= 2 && error.type === "transient") {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
// Retry network and timeout errors
|
|
83
|
+
if (error.code === "ECONNRESET" ||
|
|
84
|
+
error.code === "ETIMEDOUT" ||
|
|
85
|
+
error.code === "ENOTFOUND") {
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
// Retry 5xx HTTP errors
|
|
89
|
+
if (error.statusCode >= 500 && error.statusCode < 600) {
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
// Default: retry for most errors
|
|
93
|
+
return true;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Specialized retry handler for deployment operations
|
|
97
|
+
*/
|
|
98
|
+
async executeDeploymentWithRetry(deploymentOperation) {
|
|
99
|
+
return this.executeWithRetry(deploymentOperation, RetryHandler.shouldRetryDeployment);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Specialized retry handler for API calls
|
|
103
|
+
*/
|
|
104
|
+
async executeApiCallWithRetry(apiCall) {
|
|
105
|
+
return this.executeWithRetry(apiCall, (error, attempt) => {
|
|
106
|
+
// Retry on network errors and 5xx status codes
|
|
107
|
+
return (error.code === "ECONNRESET" ||
|
|
108
|
+
error.code === "ETIMEDOUT" ||
|
|
109
|
+
(error.statusCode >= 500 && error.statusCode < 600));
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Get retry statistics
|
|
114
|
+
*/
|
|
115
|
+
getStats() {
|
|
116
|
+
return { ...this.config };
|
|
117
|
+
}
|
|
118
|
+
}
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
* Detects anti-patterns in async code: callback patterns, long promise chains,
|
|
6
6
|
* missing await inside async functions, and mixed callback/promise styles.
|
|
7
7
|
*
|
|
8
|
-
* @version 1.0.0
|
|
9
8
|
* @since 2026-03-28
|
|
10
9
|
*/
|
|
11
10
|
import { frameworkLogger } from "../../core/framework-logger.js";
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
* Analyzes test coverage for modified files and reports coverage gaps.
|
|
5
5
|
*
|
|
6
6
|
* @module processors/implementations
|
|
7
|
-
* @version 1.0.0
|
|
8
7
|
*/
|
|
9
8
|
import { PostProcessor } from "../processor-interfaces.js";
|
|
10
9
|
import { frameworkLogger } from "../../core/framework-logger.js";
|
|
@@ -12,6 +12,7 @@ import * as path from "path";
|
|
|
12
12
|
import { PostProcessor } from "../processor-interfaces.js";
|
|
13
13
|
import { frameworkLogger } from "../../core/framework-logger.js";
|
|
14
14
|
import { getConfigDir } from "../../core/config-paths.js";
|
|
15
|
+
import { featuresConfigLoader } from "../../core/features-config.js";
|
|
15
16
|
export class InferenceImprovementProcessor extends PostProcessor {
|
|
16
17
|
name = "inferenceImprovement";
|
|
17
18
|
priority = 5;
|
|
@@ -37,15 +38,7 @@ export class InferenceImprovementProcessor extends PostProcessor {
|
|
|
37
38
|
}
|
|
38
39
|
loadInferenceConfig() {
|
|
39
40
|
try {
|
|
40
|
-
|
|
41
|
-
path.join(process.cwd(), ".xray", "features.json"),
|
|
42
|
-
];
|
|
43
|
-
for (const configPath of configPaths) {
|
|
44
|
-
if (fs.existsSync(configPath)) {
|
|
45
|
-
const config = JSON.parse(fs.readFileSync(configPath, "utf-8"));
|
|
46
|
-
return config.inference || config;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
41
|
+
return featuresConfigLoader.loadConfig().inference ?? null;
|
|
49
42
|
}
|
|
50
43
|
catch (e) {
|
|
51
44
|
// ignore - use defaults
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
* Checks code content against configurable size, function-length, nesting-depth,
|
|
6
6
|
* and parameter-count budgets. Returns structured violation lists.
|
|
7
7
|
*
|
|
8
|
-
* @version 1.0.0
|
|
9
8
|
* @since 2026-03-28
|
|
10
9
|
*/
|
|
11
10
|
import { frameworkLogger } from "../../core/framework-logger.js";
|
|
@@ -11,13 +11,13 @@
|
|
|
11
11
|
* @priority 10 (runs early after post-processing starts)
|
|
12
12
|
* @blocking true (blocks publish on violations)
|
|
13
13
|
*
|
|
14
|
-
* @version 1.0.0
|
|
15
14
|
* @framework 0xRay 1.15.41
|
|
16
15
|
*/
|
|
17
16
|
import * as fs from "fs";
|
|
18
17
|
import * as path from "path";
|
|
19
18
|
import { PostProcessor } from "../processor-interfaces.js";
|
|
20
19
|
import { frameworkLogger } from "../../core/framework-logger.js";
|
|
20
|
+
import { featuresConfigLoader } from "../../core/features-config.js";
|
|
21
21
|
export class PublishPreflightProcessor extends PostProcessor {
|
|
22
22
|
name = "publishPreflight";
|
|
23
23
|
priority = 10;
|
|
@@ -44,17 +44,9 @@ export class PublishPreflightProcessor extends PostProcessor {
|
|
|
44
44
|
}
|
|
45
45
|
loadConfig() {
|
|
46
46
|
try {
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
for (const configPath of configPaths) {
|
|
51
|
-
if (fs.existsSync(configPath)) {
|
|
52
|
-
const configData = JSON.parse(fs.readFileSync(configPath, "utf-8"));
|
|
53
|
-
if (configData.publish) {
|
|
54
|
-
this.config = { ...this.config, ...configData.publish };
|
|
55
|
-
}
|
|
56
|
-
break;
|
|
57
|
-
}
|
|
47
|
+
const publishConfig = featuresConfigLoader.loadConfig().publish;
|
|
48
|
+
if (publishConfig) {
|
|
49
|
+
this.config = { ...this.config, ...publishConfig };
|
|
58
50
|
}
|
|
59
51
|
}
|
|
60
52
|
catch (e) {
|
|
@@ -4,13 +4,11 @@
|
|
|
4
4
|
* Generates emoji-formatted session summaries after tool execution.
|
|
5
5
|
* Uses features.json -> auto_reporting config for control.
|
|
6
6
|
*
|
|
7
|
-
* @version 1.0.0
|
|
8
7
|
* @since 2026-04-04
|
|
9
8
|
*/
|
|
10
9
|
import { PostProcessor } from "../processor-interfaces.js";
|
|
11
10
|
import { frameworkLogger } from "../../core/framework-logger.js";
|
|
12
|
-
import
|
|
13
|
-
import * as fs from "fs";
|
|
11
|
+
import { featuresConfigLoader } from "../../core/features-config.js";
|
|
14
12
|
export class SessionSummaryProcessor extends PostProcessor {
|
|
15
13
|
name = "sessionSummary";
|
|
16
14
|
priority = 15;
|
|
@@ -30,19 +28,13 @@ export class SessionSummaryProcessor extends PostProcessor {
|
|
|
30
28
|
}
|
|
31
29
|
loadConfig() {
|
|
32
30
|
try {
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
if (autoReporting) {
|
|
41
|
-
this.config.enabled = autoReporting.mode !== "off";
|
|
42
|
-
this.config.include_emojis = autoReporting.display?.indicators?.emojis !== false;
|
|
43
|
-
this.config.include_recommendations = autoReporting.report_types?.session_summary?.include_recommendations !== false;
|
|
44
|
-
this.config.include_agent_activities = autoReporting.report_types?.session_summary?.include_agent_activities !== false;
|
|
45
|
-
}
|
|
31
|
+
const configData = featuresConfigLoader.loadConfig();
|
|
32
|
+
const autoReporting = configData.auto_reporting;
|
|
33
|
+
if (autoReporting) {
|
|
34
|
+
this.config.enabled = autoReporting.mode !== "off";
|
|
35
|
+
this.config.include_emojis = autoReporting.display?.indicators?.emojis !== false;
|
|
36
|
+
this.config.include_recommendations = autoReporting.report_types?.session_summary?.include_recommendations !== false;
|
|
37
|
+
this.config.include_agent_activities = autoReporting.report_types?.session_summary?.include_agent_activities !== false;
|
|
46
38
|
}
|
|
47
39
|
}
|
|
48
40
|
catch (error) {
|
|
@@ -3,6 +3,7 @@ import * as path from "path";
|
|
|
3
3
|
import { execSync } from "child_process";
|
|
4
4
|
import { PostProcessor } from "../processor-interfaces.js";
|
|
5
5
|
import { frameworkLogger } from "../../core/framework-logger.js";
|
|
6
|
+
import { featuresConfigLoader } from "../../core/features-config.js";
|
|
6
7
|
import { analyzeStructuralPatterns, } from "../../inference/semantic-patterns.js";
|
|
7
8
|
import { captureSessionInference, saveSessionInference, } from "../../inference/session-capture.js";
|
|
8
9
|
export class StorytellingTriggerProcessor extends PostProcessor {
|
|
@@ -13,34 +14,8 @@ export class StorytellingTriggerProcessor extends PostProcessor {
|
|
|
13
14
|
deepReflectionsDir = "docs/reflections/deep";
|
|
14
15
|
constructor() {
|
|
15
16
|
super();
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
loadConfig() {
|
|
19
|
-
try {
|
|
20
|
-
const configPath = this.resolveConfigPath("features.json");
|
|
21
|
-
if (configPath && fs.existsSync(configPath)) {
|
|
22
|
-
const content = fs.readFileSync(configPath, "utf-8");
|
|
23
|
-
const parsed = JSON.parse(content);
|
|
24
|
-
if (parsed.storytelling) {
|
|
25
|
-
this.config = parsed.storytelling;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
catch (error) {
|
|
30
|
-
frameworkLogger.log("storytelling-trigger", "config-load-failed", "warning", {
|
|
31
|
-
error: error instanceof Error ? error.message : String(error),
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
resolveConfigPath(filename) {
|
|
36
|
-
const candidates = [
|
|
37
|
-
path.join(process.cwd(), ".xray", filename),
|
|
38
|
-
];
|
|
39
|
-
for (const candidate of candidates) {
|
|
40
|
-
if (fs.existsSync(candidate))
|
|
41
|
-
return candidate;
|
|
42
|
-
}
|
|
43
|
-
return null;
|
|
17
|
+
const features = featuresConfigLoader.loadConfig();
|
|
18
|
+
this.config = features.storytelling ?? null;
|
|
44
19
|
}
|
|
45
20
|
async run(context) {
|
|
46
21
|
if (!this.config?.enabled) {
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
* Integrates the security orchestration layer with the framework's agent system.
|
|
5
5
|
* Provides coordination between security agents using weighted voting.
|
|
6
6
|
*
|
|
7
|
-
* @version 1.22.13
|
|
8
7
|
*/
|
|
9
8
|
import { EventEmitter } from "events";
|
|
10
9
|
import { frameworkLogger } from "../core/framework-logger.js";
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
* Unified parsing utility for codex content in both JSON and Markdown formats.
|
|
5
5
|
* Provides consistent parsing across all components with format detection and validation.
|
|
6
6
|
*
|
|
7
|
-
* @version 1.0.1
|
|
8
7
|
* @since 2026-01-07
|
|
9
8
|
*/
|
|
10
9
|
import { frameworkLogger } from "../core/framework-logger.js";
|