0xray 2.0.0 → 2.0.1
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 +2 -2
- package/.opencode/commands/dependency-audit.md +3 -3
- package/.opencode/enforcer-config.json +2 -2
- package/.opencode/init.sh +22 -19
- package/AGENTS.md +5 -5
- package/README.md +276 -76
- package/dist/AGENTS.md +5 -5
- package/dist/CHANGELOG.md +91 -10
- package/dist/README.md +276 -76
- package/dist/agents/architect.d.ts +2 -0
- package/dist/agents/backend-engineer.d.ts +8 -0
- package/dist/agents/bug-triage-specialist.d.ts +2 -0
- package/dist/agents/code-analyzer.d.ts +7 -0
- package/dist/agents/code-reviewer.d.ts +2 -0
- package/dist/agents/code-reviewer.js +1 -1
- package/dist/agents/content-creator.d.ts +9 -0
- package/dist/agents/database-engineer.d.ts +8 -0
- package/dist/agents/devops-engineer.d.ts +8 -0
- package/dist/agents/frontend-engineer.d.ts +8 -0
- package/dist/agents/frontend-ui-ux-engineer.d.ts +8 -0
- package/dist/agents/growth-strategist.d.ts +8 -0
- package/dist/agents/index.d.ts +24 -0
- package/dist/agents/librarian-agents-updater.d.ts +30 -0
- package/dist/agents/log-monitor.d.ts +2 -0
- package/dist/agents/mobile-developer.d.ts +9 -0
- package/dist/agents/multimodal-looker.d.ts +9 -0
- package/dist/agents/performance-engineer.d.ts +8 -0
- package/dist/agents/refactorer.d.ts +2 -0
- package/dist/agents/registry.d.ts +35 -0
- package/dist/agents/researcher.d.ts +2 -0
- package/dist/agents/security-auditor.d.ts +2 -0
- package/dist/agents/seo-consultant.d.ts +8 -0
- package/dist/agents/strategist.d.ts +7 -0
- package/dist/agents/tech-writer.d.ts +8 -0
- package/dist/agents/testing-lead.d.ts +2 -0
- package/dist/agents/types.d.ts +45 -0
- package/dist/analytics/consent-manager.d.ts +93 -0
- package/dist/analytics/emerging-pattern-detector.d.ts +67 -0
- package/dist/analytics/pattern-learning-engine.d.ts +80 -0
- package/dist/analytics/pattern-performance-tracker.d.ts +97 -0
- package/dist/analytics/predictive-analytics.d.ts +41 -0
- package/dist/analytics/prompt-pattern-analyzer.d.ts +99 -0
- package/dist/analytics/routing-performance-analyzer.d.ts +101 -0
- package/dist/analytics/routing-refiner.d.ts +104 -0
- package/dist/analytics/routing-refiner.js +1 -1
- package/dist/analytics/simple-pattern-analyzer.d.ts +80 -0
- package/dist/architect/architect-tools.d.ts +70 -0
- package/dist/architect/architectural-integrity.d.ts +20 -0
- package/dist/benchmark/performance-benchmark.d.ts +103 -0
- package/dist/cli/commands/analytics-disable.d.ts +9 -0
- package/dist/cli/commands/analytics-enable-action.d.ts +8 -0
- package/dist/cli/commands/analytics-preview.d.ts +9 -0
- package/dist/cli/commands/analytics-status.d.ts +9 -0
- package/dist/cli/commands/antigravity-status.d.ts +9 -0
- package/dist/cli/commands/archive-logs.d.ts +24 -0
- package/dist/cli/commands/credible-init.d.ts +11 -0
- package/dist/cli/commands/grok-install.d.ts +7 -0
- package/dist/cli/commands/hermes-install.d.ts +2 -0
- package/dist/cli/commands/mcp-install.d.ts +4 -0
- package/dist/cli/commands/openclaw-install.d.ts +2 -0
- package/dist/cli/commands/opencode-install.d.ts +2 -0
- package/dist/cli/commands/plugin-commands.d.ts +19 -0
- package/dist/cli/commands/publish-agent.d.ts +15 -0
- package/dist/cli/commands/security-audit.d.ts +23 -0
- package/dist/cli/commands/skill-install.d.ts +5 -0
- package/dist/cli/commands/status.d.ts +41 -0
- package/dist/cli/commands/storyteller.d.ts +19 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/server.d.ts +1 -0
- package/dist/config/default-agents.d.ts +12 -0
- package/dist/core/activity-logger.d.ts +72 -0
- package/dist/core/adaptive-kernel.d.ts +109 -0
- package/dist/core/agent-spawn-gate.d.ts +56 -0
- package/dist/core/boot-orchestrator.d.ts +99 -0
- package/dist/core/boot-orchestrator.js +2 -2
- package/dist/core/codex-formatter.d.ts +96 -0
- package/dist/core/codex-injector.d.ts +74 -0
- package/dist/core/config-loader.d.ts +70 -0
- package/dist/core/config-paths.d.ts +61 -0
- package/dist/core/context-loader.d.ts +121 -0
- package/dist/core/context-validator.d.ts +53 -0
- package/dist/core/features-config.d.ts +462 -0
- package/dist/core/features-config.js +1 -1
- package/dist/core/framework-logger.d.ts +76 -0
- package/dist/core/index.d.ts +5 -0
- package/dist/core/kernel-patterns.d.ts +130 -0
- package/dist/core/logging-config.d.ts +10 -0
- package/dist/core/model-router.d.ts +61 -0
- package/dist/core/orchestrator.d.ts +71 -0
- package/dist/core/system-prompt-generator.d.ts +35 -0
- package/dist/core/trace-context.d.ts +12 -0
- package/dist/core/xray-activation.d.ts +14 -0
- package/dist/delegation/agent-delegator.d.ts +186 -0
- package/dist/delegation/agent-expertise.d.ts +16 -0
- package/dist/delegation/analytics/index.d.ts +12 -0
- package/dist/delegation/analytics/learning-engine.d.ts +85 -0
- package/dist/delegation/analytics/outcome-tracker.d.ts +118 -0
- package/dist/delegation/analytics/routing-analytics.d.ts +61 -0
- package/dist/delegation/ast-code-parser.d.ts +174 -0
- package/dist/delegation/codebase-context-analyzer.d.ts +164 -0
- package/dist/delegation/complexity-analyzer.d.ts +111 -0
- package/dist/delegation/complexity-core.d.ts +119 -0
- package/dist/delegation/config/types.d.ts +247 -0
- package/dist/delegation/dependency-graph-builder.d.ts +95 -0
- package/dist/delegation/index.d.ts +25 -0
- package/dist/delegation/metrics-aggregator.d.ts +92 -0
- package/dist/delegation/session-coordinator.d.ts +133 -0
- package/dist/delegation/strategy-selector.d.ts +28 -0
- package/dist/delegation/voting-coordinator.d.ts +49 -0
- package/dist/delegation/voting-types.d.ts +155 -0
- package/dist/delegation/weighted-voting-aggregator.d.ts +37 -0
- package/dist/enforcement/core/index.d.ts +15 -0
- package/dist/enforcement/core/rule-executor.d.ts +158 -0
- package/dist/enforcement/core/rule-hierarchy.d.ts +146 -0
- package/dist/enforcement/core/rule-registry.d.ts +197 -0
- package/dist/enforcement/core/violation-fixer.d.ts +106 -0
- package/dist/enforcement/enforcer-tools.d.ts +78 -0
- package/dist/enforcement/index.d.ts +23 -0
- package/dist/enforcement/loaders/agent-triage-loader.d.ts +99 -0
- package/dist/enforcement/loaders/agents-md-validation-loader.d.ts +76 -0
- package/dist/enforcement/loaders/base-loader.d.ts +83 -0
- package/dist/enforcement/loaders/codex-loader.d.ts +77 -0
- package/dist/enforcement/loaders/index.d.ts +37 -0
- package/dist/enforcement/loaders/loader-orchestrator.d.ts +97 -0
- package/dist/enforcement/loaders/processor-loader.d.ts +60 -0
- package/dist/enforcement/rule-enforcer.d.ts +142 -0
- package/dist/enforcement/test-auto-healing.d.ts +83 -0
- package/dist/enforcement/types.d.ts +501 -0
- package/dist/enforcement/validators/architecture-validators.d.ts +155 -0
- package/dist/enforcement/validators/base-validator.d.ts +88 -0
- package/dist/enforcement/validators/code-quality-validators.d.ts +89 -0
- package/dist/enforcement/validators/index.d.ts +15 -0
- package/dist/enforcement/validators/security-validators.d.ts +53 -0
- package/dist/enforcement/validators/testing-validators.d.ts +81 -0
- package/dist/enforcement/validators/validator-registry.d.ts +92 -0
- package/dist/execution/opencode-cli-invoker.d.ts +8 -0
- package/dist/execution/proposal-applier.d.ts +24 -0
- package/dist/governance/codex-policy.service.d.ts +57 -0
- package/dist/governance/governance-core.d.ts +46 -0
- package/dist/governance/governance-service.d.ts +38 -0
- package/dist/governance/governance-types.d.ts +83 -0
- package/dist/index.d.ts +28 -0
- package/dist/inference/deploy-verifier.d.ts +26 -0
- package/dist/inference/index.d.ts +10 -0
- package/dist/inference/inference-accumulator.d.ts +29 -0
- package/dist/inference/inference-cycle.d.ts +110 -0
- package/dist/inference/semantic-patterns.d.ts +7 -0
- package/dist/inference/session-capture.d.ts +32 -0
- package/dist/integrations/base/ExampleIntegration.d.ts +47 -0
- package/dist/integrations/base/Integration.d.ts +267 -0
- package/dist/integrations/base/index.d.ts +12 -0
- package/dist/integrations/base/registry.d.ts +273 -0
- package/dist/integrations/base/types.d.ts +168 -0
- package/dist/integrations/governance/governance-client.d.ts +76 -0
- package/dist/integrations/governance/index.d.ts +99 -0
- package/dist/integrations/governance/types.d.ts +239 -0
- package/dist/integrations/grok/grok-cli.d.ts +25 -0
- package/dist/integrations/hermes-agent/__init__.py +1 -1
- package/dist/integrations/openclaw/api-server.d.ts +87 -0
- package/dist/integrations/openclaw/client.d.ts +122 -0
- package/dist/integrations/openclaw/config.d.ts +96 -0
- package/dist/integrations/openclaw/hooks/strray-hooks.d.ts +124 -0
- package/dist/integrations/openclaw/index.d.ts +101 -0
- package/dist/integrations/openclaw/types.d.ts +426 -0
- package/dist/integrations/plugins/index.d.ts +10 -0
- package/dist/integrations/plugins/plugin-integration.d.ts +289 -0
- package/dist/integrations/plugins/plugin-registry.d.ts +224 -0
- package/dist/mcps/agent-resolver.d.ts +46 -0
- package/dist/mcps/architect-tools.server.d.ts +17 -0
- package/dist/mcps/architect-tools.server.js +1 -1
- package/dist/mcps/auto-format.server.d.ts +19 -0
- package/dist/mcps/auto-format.server.js +1 -1
- package/dist/mcps/boot-orchestrator.server.d.ts +49 -0
- package/dist/mcps/boot-orchestrator.server.js +1 -1
- package/dist/mcps/config/config-loader.d.ts +52 -0
- package/dist/mcps/config/config-validator.d.ts +40 -0
- package/dist/mcps/config/index.d.ts +31 -0
- package/dist/mcps/config/plugin-server-registry.d.ts +127 -0
- package/dist/mcps/config/server-config-registry.d.ts +51 -0
- package/dist/mcps/connection/connection-manager.d.ts +39 -0
- package/dist/mcps/connection/connection-pool.d.ts +64 -0
- package/dist/mcps/connection/mcp-connection.d.ts +66 -0
- package/dist/mcps/connection/process-spawner.d.ts +24 -0
- package/dist/mcps/enforcer-tools.server.d.ts +27 -0
- package/dist/mcps/enforcer-tools.server.js +1 -1
- package/dist/mcps/estimation.server.d.ts +21 -0
- package/dist/mcps/estimation.server.js +1 -1
- package/dist/mcps/framework-compliance-audit.server.d.ts +22 -0
- package/dist/mcps/framework-compliance-audit.server.js +1 -1
- package/dist/mcps/framework-help.server.d.ts +14 -0
- package/dist/mcps/framework-help.server.js +1 -1
- package/dist/mcps/governance.server.d.ts +33 -0
- package/dist/mcps/in-process-skill-registry.d.ts +20 -0
- package/dist/mcps/knowledge-skills/api-design.server.d.ts +15 -0
- package/dist/mcps/knowledge-skills/api-design.server.js +1 -1
- package/dist/mcps/knowledge-skills/architecture-patterns.server.d.ts +15 -0
- package/dist/mcps/knowledge-skills/architecture-patterns.server.js +1 -1
- package/dist/mcps/knowledge-skills/bug-triage-specialist.server.d.ts +33 -0
- package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +1 -1
- package/dist/mcps/knowledge-skills/code-analyzer.server.d.ts +31 -0
- package/dist/mcps/knowledge-skills/code-analyzer.server.js +1 -1
- package/dist/mcps/knowledge-skills/code-review.server.d.ts +46 -0
- package/dist/mcps/knowledge-skills/code-review.server.js +1 -1
- package/dist/mcps/knowledge-skills/content-creator.server.d.ts +13 -0
- package/dist/mcps/knowledge-skills/content-creator.server.js +1 -1
- package/dist/mcps/knowledge-skills/database-design.server.d.ts +43 -0
- package/dist/mcps/knowledge-skills/database-design.server.js +1 -1
- package/dist/mcps/knowledge-skills/devops-deployment.server.d.ts +43 -0
- package/dist/mcps/knowledge-skills/devops-deployment.server.js +1 -1
- package/dist/mcps/knowledge-skills/git-workflow.server.d.ts +15 -0
- package/dist/mcps/knowledge-skills/git-workflow.server.js +1 -1
- package/dist/mcps/knowledge-skills/growth-strategist.server.d.ts +13 -0
- package/dist/mcps/knowledge-skills/growth-strategist.server.js +1 -1
- package/dist/mcps/knowledge-skills/log-monitor.server.d.ts +24 -0
- package/dist/mcps/knowledge-skills/log-monitor.server.js +1 -1
- package/dist/mcps/knowledge-skills/mobile-development.server.d.ts +19 -0
- package/dist/mcps/knowledge-skills/mobile-development.server.js +1 -1
- package/dist/mcps/knowledge-skills/multimodal-looker.server.d.ts +55 -0
- package/dist/mcps/knowledge-skills/multimodal-looker.server.js +3 -2
- package/dist/mcps/knowledge-skills/performance-optimization.server.d.ts +72 -0
- package/dist/mcps/knowledge-skills/performance-optimization.server.js +1 -1
- package/dist/mcps/knowledge-skills/project-analysis.server.d.ts +37 -0
- package/dist/mcps/knowledge-skills/project-analysis.server.js +1 -1
- package/dist/mcps/knowledge-skills/refactoring-strategies.server.d.ts +33 -0
- package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +1 -1
- package/dist/mcps/knowledge-skills/security-audit.server.d.ts +48 -0
- package/dist/mcps/knowledge-skills/security-audit.server.js +1 -1
- package/dist/mcps/knowledge-skills/seo-consultant.server.d.ts +26 -0
- package/dist/mcps/knowledge-skills/seo-consultant.server.js +1 -1
- package/dist/mcps/knowledge-skills/session-management.server.d.ts +23 -0
- package/dist/mcps/knowledge-skills/session-management.server.js +1 -1
- package/dist/mcps/knowledge-skills/skill-invocation.server.d.ts +29 -0
- package/dist/mcps/knowledge-skills/skill-invocation.server.js +1 -1
- package/dist/mcps/knowledge-skills/strategist.server.d.ts +17 -0
- package/dist/mcps/knowledge-skills/strategist.server.js +1 -1
- package/dist/mcps/knowledge-skills/tech-writer.server.d.ts +47 -0
- package/dist/mcps/knowledge-skills/tech-writer.server.js +2 -2
- package/dist/mcps/knowledge-skills/testing-best-practices.server.d.ts +36 -0
- package/dist/mcps/knowledge-skills/testing-best-practices.server.js +1 -1
- package/dist/mcps/knowledge-skills/testing-strategy.server.d.ts +47 -0
- package/dist/mcps/knowledge-skills/testing-strategy.server.js +1 -1
- package/dist/mcps/knowledge-skills/ui-ux-design.server.d.ts +69 -0
- package/dist/mcps/knowledge-skills/ui-ux-design.server.js +1 -1
- package/dist/mcps/lint.server.d.ts +17 -0
- package/dist/mcps/lint.server.js +1 -1
- package/dist/mcps/mcp-client.d.ts +157 -0
- package/dist/mcps/model-health-check.server.d.ts +16 -0
- package/dist/mcps/model-health-check.server.js +1 -1
- package/dist/mcps/orchestrator/config/agent-capabilities.d.ts +35 -0
- package/dist/mcps/orchestrator/execution/execution-planner.d.ts +62 -0
- package/dist/mcps/orchestrator/handlers/complexity-handler.d.ts +32 -0
- package/dist/mcps/orchestrator/handlers/status-handler.d.ts +69 -0
- package/dist/mcps/orchestrator/handlers/task-handler.d.ts +52 -0
- package/dist/mcps/orchestrator/server.d.ts +38 -0
- package/dist/mcps/orchestrator/types.d.ts +79 -0
- package/dist/mcps/orchestrator.server.d.ts +10 -0
- package/dist/mcps/performance-analysis.server.d.ts +27 -0
- package/dist/mcps/performance-analysis.server.js +1 -1
- package/dist/mcps/processor-pipeline.server.d.ts +31 -0
- package/dist/mcps/processor-pipeline.server.js +1 -1
- package/dist/mcps/protocol/protocol-constants.d.ts +46 -0
- package/dist/mcps/registry.json +1 -1
- package/dist/mcps/researcher.server.d.ts +31 -0
- package/dist/mcps/researcher.server.js +1 -1
- package/dist/mcps/security-scan.server.d.ts +20 -0
- package/dist/mcps/security-scan.server.js +1 -1
- package/dist/mcps/simulation/index.d.ts +12 -0
- package/dist/mcps/simulation/server-simulations.d.ts +39 -0
- package/dist/mcps/simulation/simulation-engine.d.ts +51 -0
- package/dist/mcps/state-manager.server.d.ts +28 -0
- package/dist/mcps/state-manager.server.js +1 -1
- package/dist/mcps/tools/index.d.ts +14 -0
- package/dist/mcps/tools/tool-cache.d.ts +53 -0
- package/dist/mcps/tools/tool-discovery.d.ts +27 -0
- package/dist/mcps/tools/tool-executor.d.ts +41 -0
- package/dist/mcps/tools/tool-registry.d.ts +42 -0
- package/dist/mcps/types/index.d.ts +13 -0
- package/dist/mcps/types/json-rpc.types.d.ts +35 -0
- package/dist/mcps/types/mcp.types.d.ts +105 -0
- package/dist/metrics/agent-metrics.d.ts +169 -0
- package/dist/metrics/index.d.ts +6 -0
- package/dist/monitoring/advanced-profiler.d.ts +51 -0
- package/dist/monitoring/memory-monitor.d.ts +113 -0
- package/dist/monitoring/nudge-watchdog.d.ts +88 -0
- package/dist/monitoring/test-auto-generation-monitor.d.ts +64 -0
- package/dist/orchestrator/agent-spawn-governor.d.ts +127 -0
- package/dist/orchestrator/enhanced-multi-agent-orchestrator.d.ts +156 -0
- package/dist/orchestrator/intelligent-commit-batcher.d.ts +114 -0
- package/dist/orchestrator/multi-agent-orchestration-coordinator.d.ts +127 -0
- package/dist/orchestrator/orchestrator.d.ts +142 -0
- package/dist/orchestrator/self-direction-activation.d.ts +109 -0
- package/dist/orchestrator/universal-librarian-consultation.d.ts +98 -0
- package/dist/orchestrator/universal-registry-bridge.d.ts +85 -0
- package/dist/orchestrator/universal-registry-bridge.js +1 -1
- package/dist/performance/performance-budget-enforcer.d.ts +158 -0
- package/dist/performance/performance-regression-tester.d.ts +108 -0
- package/dist/plugin/xray-codex-injection.d.ts +55 -0
- package/dist/plugin/xray-codex-injection.js +7 -7
- package/dist/postprocessor/PostProcessor.d.ts +108 -0
- package/dist/postprocessor/analysis/FailureAnalysisEngine.d.ts +39 -0
- package/dist/postprocessor/autofix/AutoFixEngine.d.ts +48 -0
- package/dist/postprocessor/autofix/FixValidator.d.ts +23 -0
- package/dist/postprocessor/config.d.ts +6 -0
- package/dist/postprocessor/escalation/EscalationEngine.d.ts +154 -0
- package/dist/postprocessor/monitoring/MonitoringEngine.d.ts +40 -0
- package/dist/postprocessor/redeploy/RedeployCoordinator.d.ts +91 -0
- package/dist/postprocessor/services/RegressionAnalysisService.d.ts +40 -0
- package/dist/postprocessor/success/SuccessHandler.d.ts +57 -0
- package/dist/postprocessor/triggers/APITrigger.d.ts +35 -0
- package/dist/postprocessor/triggers/GitHookTrigger.d.ts +38 -0
- package/dist/postprocessor/triggers/WebhookTrigger.d.ts +47 -0
- package/dist/postprocessor/types.d.ts +227 -0
- package/dist/processors/doc-write-guard.d.ts +6 -0
- package/dist/processors/implementations/agents-md-validation-processor.d.ts +63 -0
- package/dist/processors/implementations/async-pattern-processor.d.ts +48 -0
- package/dist/processors/implementations/codex-compliance-processor.d.ts +7 -0
- package/dist/processors/implementations/commit-batcher-processor.d.ts +13 -0
- package/dist/processors/implementations/console-log-guard-processor.d.ts +33 -0
- package/dist/processors/implementations/coverage-analysis-processor.d.ts +20 -0
- package/dist/processors/implementations/error-boundary-processor.d.ts +7 -0
- package/dist/processors/implementations/inference-improvement-processor.d.ts +36 -0
- package/dist/processors/implementations/log-protection-processor.d.ts +30 -0
- package/dist/processors/implementations/nudge-processor.d.ts +22 -0
- package/dist/processors/implementations/performance-budget-processor.d.ts +50 -0
- package/dist/processors/implementations/postprocessor-chain-validator.d.ts +46 -0
- package/dist/processors/implementations/pre-validate-processor.d.ts +7 -0
- package/dist/processors/implementations/publish-preflight-processor.d.ts +38 -0
- package/dist/processors/implementations/refactoring-logging-processor-wrapper.d.ts +7 -0
- package/dist/processors/implementations/refactoring-logging-processor.d.ts +31 -0
- package/dist/processors/implementations/regression-testing-processor.d.ts +20 -0
- package/dist/processors/implementations/session-capture-processor.d.ts +14 -0
- package/dist/processors/implementations/session-summary-processor.d.ts +27 -0
- package/dist/processors/implementations/spawn-governance-processor.d.ts +58 -0
- package/dist/processors/implementations/state-validation-processor.d.ts +11 -0
- package/dist/processors/implementations/storytelling-trigger-processor.d.ts +42 -0
- package/dist/processors/implementations/test-auto-creation-processor.d.ts +17 -0
- package/dist/processors/implementations/test-execution-processor.d.ts +11 -0
- package/dist/processors/implementations/typescript-compilation-processor.d.ts +38 -0
- package/dist/processors/implementations/version-compliance-processor.d.ts +112 -0
- package/dist/processors/processor-interfaces.d.ts +127 -0
- package/dist/processors/processor-manager.d.ts +80 -0
- package/dist/processors/processor-types.d.ts +190 -0
- package/dist/reporting/framework-reporting-system.d.ts +19 -0
- package/dist/reporting/log-parser.d.ts +10 -0
- package/dist/reporting/metrics.d.ts +15 -0
- package/dist/reporting/report-formatter.d.ts +5 -0
- package/dist/reporting/types.d.ts +102 -0
- package/dist/scripts/activate-kernel-pipeline.d.ts +7 -0
- package/dist/scripts/integration.d.ts +37 -0
- package/dist/security/comprehensive-security-audit.d.ts +158 -0
- package/dist/security/index.d.ts +13 -0
- package/dist/security/prompt-security-validator.d.ts +44 -0
- package/dist/security/security-agent-coordinator.d.ts +72 -0
- package/dist/security/security-auditor.d.ts +56 -0
- package/dist/security/security-hardener.d.ts +62 -0
- package/dist/security/security-hardening-system.d.ts +239 -0
- package/dist/security/security-headers.d.ts +64 -0
- package/dist/security/security-orchestration-layer.d.ts +119 -0
- package/dist/security/security-scanner.d.ts +119 -0
- package/dist/services/inference-tuner.d.ts +77 -0
- package/dist/session/index.d.ts +3 -0
- package/dist/session/session-cleanup-manager.d.ts +118 -0
- package/dist/session/session-monitor.d.ts +133 -0
- package/dist/session/session-state-manager.d.ts +145 -0
- package/dist/skills/registry.json +1 -1
- package/dist/state/context-providers.d.ts +4 -0
- package/dist/state/index.d.ts +4 -0
- package/dist/state/state-manager.d.ts +42 -0
- package/dist/state/state-types.d.ts +5 -0
- package/dist/testing/memory-regression-suite.d.ts +105 -0
- package/dist/utils/batch-operations.d.ts +25 -0
- package/dist/utils/codex-parser.d.ts +61 -0
- package/dist/utils/command-runner.d.ts +32 -0
- package/dist/utils/import-resolver.d.ts +54 -0
- package/dist/utils/language-detector.d.ts +44 -0
- package/dist/utils/path-resolver.d.ts +48 -0
- package/dist/utils/shutdown-handler.d.ts +27 -0
- package/dist/utils/test-template-generator.d.ts +25 -0
- package/dist/utils/token-manager.d.ts +48 -0
- package/dist/validation/estimation-validator.d.ts +61 -0
- package/dist/validation/report-content-validator.d.ts +42 -0
- package/package.json +3 -2
- package/scripts/node/universal-version-manager.js +53 -54
- package/src/mcps/architect-tools.server.ts +1 -1
- package/src/mcps/auto-format.server.ts +1 -1
- package/src/mcps/boot-orchestrator.server.ts +1 -1
- package/src/mcps/enforcer-tools.server.ts +1 -1
- package/src/mcps/estimation.server.ts +1 -1
- package/src/mcps/framework-compliance-audit.server.ts +1 -1
- package/src/mcps/framework-help.server.ts +1 -1
- package/src/mcps/knowledge-skills/api-design.server.ts +1 -1
- package/src/mcps/knowledge-skills/architecture-patterns.server.ts +1 -1
- package/src/mcps/knowledge-skills/bug-triage-specialist.server.ts +1 -1
- package/src/mcps/knowledge-skills/code-analyzer.server.ts +1 -1
- package/src/mcps/knowledge-skills/code-review.server.ts +1 -1
- package/src/mcps/knowledge-skills/content-creator.server.ts +1 -1
- package/src/mcps/knowledge-skills/database-design.server.ts +1 -1
- package/src/mcps/knowledge-skills/devops-deployment.server.ts +1 -1
- package/src/mcps/knowledge-skills/git-workflow.server.ts +1 -1
- package/src/mcps/knowledge-skills/growth-strategist.server.ts +1 -1
- package/src/mcps/knowledge-skills/log-monitor.server.ts +1 -1
- package/src/mcps/knowledge-skills/mobile-development.server.ts +1 -1
- package/src/mcps/knowledge-skills/multimodal-looker.server.ts +3 -2
- package/src/mcps/knowledge-skills/performance-optimization.server.ts +1 -1
- package/src/mcps/knowledge-skills/project-analysis.server.ts +1 -1
- package/src/mcps/knowledge-skills/refactoring-strategies.server.ts +1 -1
- package/src/mcps/knowledge-skills/security-audit.server.ts +1 -1
- package/src/mcps/knowledge-skills/seo-consultant.server.ts +1 -1
- package/src/mcps/knowledge-skills/session-management.server.ts +1 -1
- package/src/mcps/knowledge-skills/skill-invocation.server.ts +1 -1
- package/src/mcps/knowledge-skills/strategist.server.ts +1 -1
- package/src/mcps/knowledge-skills/tech-writer.server.ts +2 -2
- package/src/mcps/knowledge-skills/testing-best-practices.server.ts +1 -1
- package/src/mcps/knowledge-skills/testing-strategy.server.ts +1 -1
- package/src/mcps/knowledge-skills/ui-ux-design.server.ts +1 -1
- package/src/mcps/lint.server.ts +1 -1
- package/src/mcps/model-health-check.server.ts +1 -1
- package/src/mcps/performance-analysis.server.ts +1 -1
- package/src/mcps/processor-pipeline.server.ts +1 -1
- package/src/mcps/registry.json +1 -1
- package/src/mcps/researcher.server.ts +1 -1
- package/src/mcps/security-scan.server.ts +1 -1
- package/src/mcps/state-manager.server.ts +1 -1
- package/src/opencode/codex.codex +2 -2
- package/src/opencode/commands/dependency-audit.md +3 -3
- package/src/opencode/enforcer-config.json +2 -2
- package/src/skills/registry.json +1 -1
- package/.opencode/hooks/hook-metrics.json +0 -380
- package/.opencode/skills/api-design/SKILL.md +0 -37
- package/.opencode/skills/architect-tools/SKILL.md +0 -37
- package/.opencode/skills/architecture-patterns/SKILL.md +0 -37
- package/.opencode/skills/auto-format/SKILL.md +0 -37
- package/.opencode/skills/backend-engineer/SKILL.md +0 -49
- package/.opencode/skills/boot-orchestrator/SKILL.md +0 -37
- package/.opencode/skills/bug-triage/SKILL.md +0 -43
- package/.opencode/skills/code-analyzer/SKILL.md +0 -45
- package/.opencode/skills/code-review/SKILL.md +0 -52
- package/.opencode/skills/content-creator/SKILL.md +0 -38
- package/.opencode/skills/database-engineer/SKILL.md +0 -46
- package/.opencode/skills/devops-engineer/SKILL.md +0 -49
- package/.opencode/skills/enforcer/SKILL.md +0 -37
- package/.opencode/skills/framework-compliance-audit/SKILL.md +0 -37
- package/.opencode/skills/frontend-engineer/SKILL.md +0 -49
- package/.opencode/skills/frontend-ui-ux-engineer/SKILL.md +0 -41
- package/.opencode/skills/git-workflow/SKILL.md +0 -37
- package/.opencode/skills/growth-strategist/SKILL.md +0 -48
- package/.opencode/skills/hermes-agent/SKILL.md +0 -212
- package/.opencode/skills/inference-improve/SKILL.md +0 -97
- package/.opencode/skills/lint/SKILL.md +0 -37
- package/.opencode/skills/log-monitor/SKILL.md +0 -44
- package/.opencode/skills/mobile-developer/SKILL.md +0 -42
- package/.opencode/skills/model-health-check/SKILL.md +0 -37
- package/.opencode/skills/multimodal-looker/SKILL.md +0 -45
- package/.opencode/skills/orchestrator/SKILL.md +0 -37
- package/.opencode/skills/performance-analysis/SKILL.md +0 -37
- package/.opencode/skills/performance-engineer/SKILL.md +0 -41
- package/.opencode/skills/performance-optimization/SKILL.md +0 -37
- package/.opencode/skills/processor-pipeline/SKILL.md +0 -37
- package/.opencode/skills/project-analysis/SKILL.md +0 -42
- package/.opencode/skills/refactoring-strategies/SKILL.md +0 -37
- package/.opencode/skills/registry.json +0 -66
- package/.opencode/skills/researcher/SKILL.md +0 -37
- package/.opencode/skills/security-audit/SKILL.md +0 -47
- package/.opencode/skills/security-scan/SKILL.md +0 -37
- package/.opencode/skills/seo-consultant/SKILL.md +0 -43
- package/.opencode/skills/session-management/SKILL.md +0 -36
- package/.opencode/skills/state-manager/SKILL.md +0 -37
- package/.opencode/skills/storyteller/SKILL.md +0 -130
- package/.opencode/skills/strategist/SKILL.md +0 -32
- package/.opencode/skills/tech-writer/SKILL.md +0 -37
- package/.opencode/skills/testing-best-practices/SKILL.md +0 -37
- package/.opencode/skills/testing-strategy/SKILL.md +0 -43
- package/.opencode/skills/ui-ux-design/SKILL.md +0 -603
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 0xRay Framework - Main Entry Point
|
|
3
|
+
*
|
|
4
|
+
* This is the main entry point for the 0xRay framework.
|
|
5
|
+
* It exports the core initialization function and key components.
|
|
6
|
+
*/
|
|
7
|
+
export { StringRayOrchestrator } from "./orchestrator/orchestrator.js";
|
|
8
|
+
export { StringRayStateManager } from "./state/index.js";
|
|
9
|
+
export { AgentDelegator } from "./delegation/index.js";
|
|
10
|
+
export { frameworkLogger } from "./core/framework-logger.js";
|
|
11
|
+
export { BUILTIN_CODEX } from "./core/codex-formatter.js";
|
|
12
|
+
import { defaultStringRayConfig } from "./core/index.js";
|
|
13
|
+
export { defaultStringRayConfig };
|
|
14
|
+
export { OpenClawIntegration, initializeOpenClawIntegration, getOpenClawIntegration, shutdownOpenClawIntegration } from "./integrations/openclaw/index.js";
|
|
15
|
+
export type { OpenClawIntegrationConfig } from "./integrations/openclaw/types.js";
|
|
16
|
+
export declare function initializeStringRay(config?: {}): {
|
|
17
|
+
success: boolean;
|
|
18
|
+
config: {
|
|
19
|
+
enableOrchestrator: boolean;
|
|
20
|
+
enableBootOrchestrator: boolean;
|
|
21
|
+
enableStateManagement: boolean;
|
|
22
|
+
enableHooks: boolean;
|
|
23
|
+
enableCodexInjection: boolean;
|
|
24
|
+
enableProcessors: boolean;
|
|
25
|
+
enablePostProcessor: boolean;
|
|
26
|
+
};
|
|
27
|
+
message: string;
|
|
28
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export interface DeployVerificationResult {
|
|
2
|
+
success: boolean;
|
|
3
|
+
packageVersion: string;
|
|
4
|
+
tarballPath: string;
|
|
5
|
+
installDir: string;
|
|
6
|
+
checks: DeployCheck[];
|
|
7
|
+
duration: number;
|
|
8
|
+
timestamp: string;
|
|
9
|
+
}
|
|
10
|
+
export interface DeployCheck {
|
|
11
|
+
name: string;
|
|
12
|
+
passed: boolean;
|
|
13
|
+
output: string;
|
|
14
|
+
duration: number;
|
|
15
|
+
}
|
|
16
|
+
export declare class DeployVerifier {
|
|
17
|
+
private projectRoot;
|
|
18
|
+
constructor(projectRoot?: string);
|
|
19
|
+
verify(): DeployVerificationResult;
|
|
20
|
+
quickVerify(): DeployVerificationResult;
|
|
21
|
+
private runCheck;
|
|
22
|
+
private exec;
|
|
23
|
+
private readPackageJson;
|
|
24
|
+
private cleanup;
|
|
25
|
+
private result;
|
|
26
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { analyzeStructuralPatterns } from "./semantic-patterns.js";
|
|
2
|
+
export type { StructuralPattern } from "./semantic-patterns.js";
|
|
3
|
+
export { captureSessionInference, saveSessionInference, } from "./session-capture.js";
|
|
4
|
+
export type { SessionInference, ReasoningLink, SessionMetrics, } from "./session-capture.js";
|
|
5
|
+
export { shouldTriggerCycle, accumulateCorpus } from "./inference-accumulator.js";
|
|
6
|
+
export type { InferenceCorpus, RecurringPattern, RecurringProblem } from "./inference-accumulator.js";
|
|
7
|
+
export { InferenceCycle } from "./inference-cycle.js";
|
|
8
|
+
export type { InferenceProposal, InferenceCycleResult, CyclePhase } from "./inference-cycle.js";
|
|
9
|
+
export { DeployVerifier } from "./deploy-verifier.js";
|
|
10
|
+
export type { DeployVerificationResult, DeployCheck } from "./deploy-verifier.js";
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { SessionInference } from "./session-capture.js";
|
|
2
|
+
export interface InferenceCorpus {
|
|
3
|
+
sessions: SessionInference[];
|
|
4
|
+
totalCommits: number;
|
|
5
|
+
recurringPatterns: RecurringPattern[];
|
|
6
|
+
recurringProblems: RecurringProblem[];
|
|
7
|
+
uniqueApproaches: string[];
|
|
8
|
+
allWrongTurns: string[];
|
|
9
|
+
collectedAt: string;
|
|
10
|
+
}
|
|
11
|
+
export interface RecurringPattern {
|
|
12
|
+
name: string;
|
|
13
|
+
occurrences: number;
|
|
14
|
+
avgConfidence: number;
|
|
15
|
+
sessions: string[];
|
|
16
|
+
evidence: string[];
|
|
17
|
+
description: string;
|
|
18
|
+
}
|
|
19
|
+
export interface RecurringProblem {
|
|
20
|
+
pattern: string;
|
|
21
|
+
occurrences: number;
|
|
22
|
+
sessions: string[];
|
|
23
|
+
}
|
|
24
|
+
export declare function shouldTriggerCycle(inferenceDir: string, lastCycleFile: string): {
|
|
25
|
+
trigger: boolean;
|
|
26
|
+
reason: string;
|
|
27
|
+
};
|
|
28
|
+
export declare function accumulateCorpus(inferenceDir: string): InferenceCorpus;
|
|
29
|
+
export declare function loadSessionInferences(dir: string): SessionInference[];
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { DeployVerificationResult } from "./deploy-verifier.js";
|
|
2
|
+
export interface InferenceProposal {
|
|
3
|
+
id: string;
|
|
4
|
+
type: "fix" | "refactor" | "automate" | "guard" | "codify";
|
|
5
|
+
title: string;
|
|
6
|
+
description: string;
|
|
7
|
+
evidence: string[];
|
|
8
|
+
confidence: number;
|
|
9
|
+
source: "recurring_problem" | "recurring_pattern" | "wrong_turn";
|
|
10
|
+
status: "pending" | "approved" | "rejected" | "applied" | "failed";
|
|
11
|
+
}
|
|
12
|
+
export interface InferenceCycleResult {
|
|
13
|
+
cycleId: string;
|
|
14
|
+
triggered: boolean;
|
|
15
|
+
triggerReason: string;
|
|
16
|
+
corpusSummary: {
|
|
17
|
+
sessions: number;
|
|
18
|
+
totalCommits: number;
|
|
19
|
+
recurringPatterns: number;
|
|
20
|
+
recurringProblems: number;
|
|
21
|
+
};
|
|
22
|
+
proposals: InferenceProposal[];
|
|
23
|
+
votes: {
|
|
24
|
+
proposalId: string;
|
|
25
|
+
decision: string;
|
|
26
|
+
confidence: number;
|
|
27
|
+
details: string[];
|
|
28
|
+
}[];
|
|
29
|
+
deployVerification?: DeployVerificationResult | undefined;
|
|
30
|
+
phase: CyclePhase;
|
|
31
|
+
completedAt: string;
|
|
32
|
+
duration: number;
|
|
33
|
+
}
|
|
34
|
+
export type CyclePhase = "idle" | "collecting" | "proposing" | "governing" | "applying" | "deploying" | "verifying" | "complete" | "failed";
|
|
35
|
+
export type AgentInvoker = (agentName: string, prompt: string) => Promise<string>;
|
|
36
|
+
export interface InferenceCycleOptions {
|
|
37
|
+
skipDeployVerify?: boolean;
|
|
38
|
+
skipApply?: boolean;
|
|
39
|
+
skipResearcherReview?: boolean;
|
|
40
|
+
force?: boolean;
|
|
41
|
+
}
|
|
42
|
+
export declare class InferenceCycle {
|
|
43
|
+
private static instances;
|
|
44
|
+
private static reEntryLock;
|
|
45
|
+
private static governedProposalIds;
|
|
46
|
+
private static votingCoordinator;
|
|
47
|
+
static getInstance(projectRoot?: string, options?: InferenceCycleOptions): InferenceCycle;
|
|
48
|
+
static resetInstance(): void;
|
|
49
|
+
private inferenceDir;
|
|
50
|
+
private stateDir;
|
|
51
|
+
private projectRoot;
|
|
52
|
+
private phase;
|
|
53
|
+
private opencodeAvailable;
|
|
54
|
+
private agentInvoker;
|
|
55
|
+
private options;
|
|
56
|
+
constructor(projectRoot?: string, agentInvoker?: AgentInvoker, options?: InferenceCycleOptions);
|
|
57
|
+
governExternalProposals(proposals: InferenceProposal[]): Promise<InferenceCycleResult>;
|
|
58
|
+
maybeRunCycle(): Promise<InferenceCycleResult>;
|
|
59
|
+
private generateProposals;
|
|
60
|
+
private adjustFromHistory;
|
|
61
|
+
private getCoordinator;
|
|
62
|
+
private applyProposals;
|
|
63
|
+
private applyProposalWork;
|
|
64
|
+
private applyCodeChange;
|
|
65
|
+
private applyGuard;
|
|
66
|
+
private applyAutomation;
|
|
67
|
+
private extractTargetFiles;
|
|
68
|
+
private researcherReview;
|
|
69
|
+
private governProposals;
|
|
70
|
+
private isGovernanceMcpPreferred;
|
|
71
|
+
private parseGovernanceMcpResponse;
|
|
72
|
+
/**
|
|
73
|
+
* Oscillator 1: Internal VotingCoordinator-based governance
|
|
74
|
+
*/
|
|
75
|
+
private governProposalsInternal;
|
|
76
|
+
/**
|
|
77
|
+
* Pure individual knowledge-skill MCP path for governance.
|
|
78
|
+
* Used when STRRAY_FORCE_MCP_GOVERNANCE=true.
|
|
79
|
+
* Each proposal is evaluated directly by the relevant skill servers using analyze_proposal.
|
|
80
|
+
*/
|
|
81
|
+
private governProposalsWithIndividualSkills;
|
|
82
|
+
/**
|
|
83
|
+
* Merge internal and external governance votes.
|
|
84
|
+
* A proposal passes both oscillators — must be approved by internal AND external.
|
|
85
|
+
*/
|
|
86
|
+
private mergeGovernanceVotes;
|
|
87
|
+
/**
|
|
88
|
+
* Govern proposals using external chrono-warp-drive Dynamo endpoint
|
|
89
|
+
*/
|
|
90
|
+
private governProposalsExternal;
|
|
91
|
+
private invokeAgentInternal;
|
|
92
|
+
private invokeViaOpencode;
|
|
93
|
+
private parseSubagentVotes;
|
|
94
|
+
private getGovernanceStateManager;
|
|
95
|
+
private saveGovernanceState;
|
|
96
|
+
private extractTextFromNdjson;
|
|
97
|
+
private resolveOpencodeRoot;
|
|
98
|
+
private rejectNoQuorum;
|
|
99
|
+
private classifyProposalType;
|
|
100
|
+
private patternToProposalType;
|
|
101
|
+
private generateTitle;
|
|
102
|
+
private setPhase;
|
|
103
|
+
getPhase(): CyclePhase;
|
|
104
|
+
private saveCycleState;
|
|
105
|
+
private appendHistory;
|
|
106
|
+
private loadHistory;
|
|
107
|
+
private adjustConfidenceFromHistory;
|
|
108
|
+
private buildBlockedResult;
|
|
109
|
+
private buildResult;
|
|
110
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { StructuralPattern } from "./semantic-patterns.js";
|
|
2
|
+
export interface SessionInference {
|
|
3
|
+
sessionId: string;
|
|
4
|
+
timestamp: string;
|
|
5
|
+
span: {
|
|
6
|
+
from: string;
|
|
7
|
+
to: string;
|
|
8
|
+
};
|
|
9
|
+
problems: string[];
|
|
10
|
+
approaches: string[];
|
|
11
|
+
wrongTurns: string[];
|
|
12
|
+
solutions: string[];
|
|
13
|
+
reasoningChain: ReasoningLink[];
|
|
14
|
+
patterns: StructuralPattern[];
|
|
15
|
+
metrics: SessionMetrics;
|
|
16
|
+
}
|
|
17
|
+
export interface ReasoningLink {
|
|
18
|
+
from: string;
|
|
19
|
+
to: string;
|
|
20
|
+
reasoning: string;
|
|
21
|
+
}
|
|
22
|
+
export interface SessionMetrics {
|
|
23
|
+
commits: number;
|
|
24
|
+
filesChanged: number;
|
|
25
|
+
insertions: number;
|
|
26
|
+
deletions: number;
|
|
27
|
+
filesAdded: number;
|
|
28
|
+
filesDeleted: number;
|
|
29
|
+
uniqueDirs: number;
|
|
30
|
+
}
|
|
31
|
+
export declare function captureSessionInference(fromRef: string, toRef: string): SessionInference | null;
|
|
32
|
+
export declare function saveSessionInference(inference: SessionInference, outputDir?: string): string;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Example Integration - Demonstrates using the BaseIntegration class
|
|
3
|
+
*
|
|
4
|
+
* This is a simple example showing how to create a custom integration
|
|
5
|
+
* that extends the BaseIntegration class.
|
|
6
|
+
*
|
|
7
|
+
* @version 1.0.0
|
|
8
|
+
* @since 2026-03-15
|
|
9
|
+
*/
|
|
10
|
+
import { BaseIntegration, type HealthResult, type IntegrationConfig } from "./index.js";
|
|
11
|
+
/**
|
|
12
|
+
* Example custom integration
|
|
13
|
+
*
|
|
14
|
+
* Demonstrates how to extend BaseIntegration with custom logic.
|
|
15
|
+
*/
|
|
16
|
+
declare class ExampleIntegration extends BaseIntegration {
|
|
17
|
+
/** Custom property for this integration */
|
|
18
|
+
private connectionString;
|
|
19
|
+
private connected;
|
|
20
|
+
/**
|
|
21
|
+
* Create a new ExampleIntegration
|
|
22
|
+
*
|
|
23
|
+
* @param config - Optional configuration
|
|
24
|
+
*/
|
|
25
|
+
constructor(config?: Partial<IntegrationConfig>);
|
|
26
|
+
/**
|
|
27
|
+
* Set connection string
|
|
28
|
+
*/
|
|
29
|
+
setConnectionString(connStr: string): void;
|
|
30
|
+
/**
|
|
31
|
+
* Check if connected
|
|
32
|
+
*/
|
|
33
|
+
isConnected(): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Perform integration-specific initialization
|
|
36
|
+
*/
|
|
37
|
+
protected performInitialization(): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Perform integration-specific shutdown
|
|
40
|
+
*/
|
|
41
|
+
protected performShutdown(): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Perform integration-specific health check
|
|
44
|
+
*/
|
|
45
|
+
protected performHealthCheck(): Promise<HealthResult>;
|
|
46
|
+
}
|
|
47
|
+
export { ExampleIntegration };
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Integration Class
|
|
3
|
+
*
|
|
4
|
+
* Abstract base class providing common lifecycle management, event emission,
|
|
5
|
+
* configuration handling, and logging for all 0xRay integrations.
|
|
6
|
+
*
|
|
7
|
+
* @version 1.0.0
|
|
8
|
+
* @since 2026-03-15
|
|
9
|
+
*/
|
|
10
|
+
import { EventEmitter } from "events";
|
|
11
|
+
import type { LogStatus } from "../../core/framework-logger.js";
|
|
12
|
+
import { type IntegrationConfig, type IntegrationStatus, type IntegrationStats, type HealthResult, type IntegrationEvent, type IntegrationEventType, type IIntegration, type IEventedIntegration, type LogLevel } from "./types.js";
|
|
13
|
+
/**
|
|
14
|
+
* Abstract base class for all 0xRay integrations
|
|
15
|
+
*
|
|
16
|
+
* Provides:
|
|
17
|
+
* - Lifecycle management (initialize/shutdown)
|
|
18
|
+
* - Configuration handling with defaults
|
|
19
|
+
* - Event emission for integration events
|
|
20
|
+
* - Common statistics tracking (uptime, errors)
|
|
21
|
+
* - Logging integration with framework logger
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* class MyIntegration extends BaseIntegration {
|
|
26
|
+
* constructor() {
|
|
27
|
+
* super('my-integration', '1.0.0');
|
|
28
|
+
* }
|
|
29
|
+
*
|
|
30
|
+
* protected async performInitialization(): Promise<void> {
|
|
31
|
+
* // Custom initialization logic
|
|
32
|
+
* }
|
|
33
|
+
*
|
|
34
|
+
* protected async performShutdown(): Promise<void> {
|
|
35
|
+
* // Custom cleanup logic
|
|
36
|
+
* }
|
|
37
|
+
*
|
|
38
|
+
* protected async performHealthCheck(): Promise<HealthResult> {
|
|
39
|
+
* return { healthy: true, message: 'OK' };
|
|
40
|
+
* }
|
|
41
|
+
* }
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export declare abstract class BaseIntegration extends EventEmitter implements IIntegration, IEventedIntegration {
|
|
45
|
+
/** Unique name of the integration */
|
|
46
|
+
readonly name: string;
|
|
47
|
+
/** Version of the integration */
|
|
48
|
+
readonly version: string;
|
|
49
|
+
/** Current lifecycle status */
|
|
50
|
+
protected _status: IntegrationStatus;
|
|
51
|
+
/** Current configuration */
|
|
52
|
+
protected config: IntegrationConfig;
|
|
53
|
+
/** Statistics tracking */
|
|
54
|
+
protected stats: IntegrationStats;
|
|
55
|
+
/** Start time for uptime calculation */
|
|
56
|
+
protected startTime: number;
|
|
57
|
+
/** Job ID for current operation */
|
|
58
|
+
protected jobId: string;
|
|
59
|
+
/**
|
|
60
|
+
* Create a new base integration
|
|
61
|
+
*
|
|
62
|
+
* @param name - Unique name for this integration
|
|
63
|
+
* @param version - Version string
|
|
64
|
+
* @param initialConfig - Optional initial configuration
|
|
65
|
+
*/
|
|
66
|
+
constructor(name: string, version: string, initialConfig?: Partial<IntegrationConfig>);
|
|
67
|
+
/**
|
|
68
|
+
* Get current integration status (readonly accessor)
|
|
69
|
+
*/
|
|
70
|
+
get status(): IntegrationStatus;
|
|
71
|
+
/**
|
|
72
|
+
* Initialize the integration
|
|
73
|
+
*
|
|
74
|
+
* Calls performInitialization() after setting up the base state.
|
|
75
|
+
* Handles errors and emits appropriate events.
|
|
76
|
+
*
|
|
77
|
+
* @param config - Optional partial configuration to merge
|
|
78
|
+
*/
|
|
79
|
+
initialize(config?: Partial<IntegrationConfig>): Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* Gracefully shutdown the integration
|
|
82
|
+
*
|
|
83
|
+
* Calls performShutdown() to clean up resources.
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```typescript
|
|
87
|
+
* // Using await
|
|
88
|
+
* await integration.shutdown();
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
shutdown(): Promise<void>;
|
|
92
|
+
/**
|
|
93
|
+
* Perform a health check
|
|
94
|
+
*
|
|
95
|
+
* Default implementation checks status and calls performHealthCheck().
|
|
96
|
+
* Subclasses should override performHealthCheck() for custom checks.
|
|
97
|
+
*
|
|
98
|
+
* @returns Health result indicating integration health
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```typescript
|
|
102
|
+
* const health = await integration.healthCheck();
|
|
103
|
+
* if (!health.healthy) {
|
|
104
|
+
* console.error('Integration unhealthy:', health.message);
|
|
105
|
+
* }
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
healthCheck(): Promise<HealthResult>;
|
|
109
|
+
/**
|
|
110
|
+
* Get current integration statistics
|
|
111
|
+
*
|
|
112
|
+
* Calculates uptime since initialization and includes error count.
|
|
113
|
+
*
|
|
114
|
+
* @returns Current stats object
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```typescript
|
|
118
|
+
* const stats = integration.getStats();
|
|
119
|
+
* console.log(`Uptime: ${stats.uptime}ms, Errors: ${stats.errors}`);
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
getStats(): IntegrationStats;
|
|
123
|
+
/**
|
|
124
|
+
* Get the event emitter for this integration
|
|
125
|
+
*
|
|
126
|
+
* Returns `this` since BaseIntegration extends EventEmitter.
|
|
127
|
+
*
|
|
128
|
+
* @returns The event emitter instance
|
|
129
|
+
*/
|
|
130
|
+
getEventEmitter(): EventEmitter;
|
|
131
|
+
/**
|
|
132
|
+
* Ensure the integration is initialized
|
|
133
|
+
*
|
|
134
|
+
* @throws IntegrationNotInitializedError if not initialized
|
|
135
|
+
*/
|
|
136
|
+
protected ensureInitialized(): void;
|
|
137
|
+
/**
|
|
138
|
+
* Record an error in statistics
|
|
139
|
+
*
|
|
140
|
+
* @param error - Optional error to record
|
|
141
|
+
*/
|
|
142
|
+
protected recordError(error?: Error): void;
|
|
143
|
+
/**
|
|
144
|
+
* Update custom statistics
|
|
145
|
+
*
|
|
146
|
+
* @param customStats - Partial stats to merge
|
|
147
|
+
*/
|
|
148
|
+
protected updateCustomStats(customStats: Record<string, unknown>): void;
|
|
149
|
+
/**
|
|
150
|
+
* Get current configuration
|
|
151
|
+
*
|
|
152
|
+
* @returns Current configuration object (copy)
|
|
153
|
+
*/
|
|
154
|
+
protected getConfig(): IntegrationConfig;
|
|
155
|
+
/**
|
|
156
|
+
* Update configuration
|
|
157
|
+
*
|
|
158
|
+
* @param config - Partial configuration to merge
|
|
159
|
+
*/
|
|
160
|
+
protected updateConfig(config: Partial<IntegrationConfig>): void;
|
|
161
|
+
/**
|
|
162
|
+
* Log a message using the framework logger
|
|
163
|
+
*
|
|
164
|
+
* @param status - Log status level
|
|
165
|
+
* @param message - Message to log
|
|
166
|
+
* @param details - Optional details object
|
|
167
|
+
*/
|
|
168
|
+
protected log(status: LogStatus, message: string, details?: Record<string, unknown>): Promise<void>;
|
|
169
|
+
/**
|
|
170
|
+
* Emit a typed integration event
|
|
171
|
+
*
|
|
172
|
+
* @param type - Event type
|
|
173
|
+
* @param data - Event data
|
|
174
|
+
* @param error - Optional error
|
|
175
|
+
*/
|
|
176
|
+
protected emitEvent(type: IntegrationEventType, data?: Record<string, unknown>, error?: Error): void;
|
|
177
|
+
/**
|
|
178
|
+
* Perform integration-specific initialization
|
|
179
|
+
*
|
|
180
|
+
* Called during initialize() after base setup.
|
|
181
|
+
* Subclasses should implement custom initialization logic here.
|
|
182
|
+
*
|
|
183
|
+
* @example
|
|
184
|
+
* ```typescript
|
|
185
|
+
* protected async performInitialization(): Promise<void> {
|
|
186
|
+
* // Connect to external service
|
|
187
|
+
* await this.connect();
|
|
188
|
+
*
|
|
189
|
+
* // Setup event handlers
|
|
190
|
+
* this.on('data', this.handleData);
|
|
191
|
+
* }
|
|
192
|
+
* ```
|
|
193
|
+
*/
|
|
194
|
+
protected abstract performInitialization(): Promise<void>;
|
|
195
|
+
/**
|
|
196
|
+
* Perform integration-specific shutdown
|
|
197
|
+
*
|
|
198
|
+
* Called during shutdown() for cleanup.
|
|
199
|
+
* Subclasses should implement cleanup logic here.
|
|
200
|
+
*
|
|
201
|
+
* @example
|
|
202
|
+
* ```typescript
|
|
203
|
+
* protected async performShutdown(): Promise<void> {
|
|
204
|
+
* // Remove event handlers
|
|
205
|
+
* this.off('data', this.handleData);
|
|
206
|
+
*
|
|
207
|
+
* // Close connections
|
|
208
|
+
* await this.disconnect();
|
|
209
|
+
* }
|
|
210
|
+
* ```
|
|
211
|
+
*/
|
|
212
|
+
protected abstract performShutdown(): Promise<void>;
|
|
213
|
+
/**
|
|
214
|
+
* Perform integration-specific health check
|
|
215
|
+
*
|
|
216
|
+
* Called by healthCheck() to determine integration health.
|
|
217
|
+
* Subclasses should implement custom health checks here.
|
|
218
|
+
*
|
|
219
|
+
* @returns Health result
|
|
220
|
+
*
|
|
221
|
+
* @example
|
|
222
|
+
* ```typescript
|
|
223
|
+
* protected async performHealthCheck(): Promise<HealthResult> {
|
|
224
|
+
* const connected = await this.isConnected();
|
|
225
|
+
*
|
|
226
|
+
* if (connected) {
|
|
227
|
+
* return { healthy: true, message: 'Connection active' };
|
|
228
|
+
* }
|
|
229
|
+
*
|
|
230
|
+
* return { healthy: false, message: 'Not connected' };
|
|
231
|
+
* }
|
|
232
|
+
* ```
|
|
233
|
+
*/
|
|
234
|
+
protected abstract performHealthCheck(): Promise<HealthResult>;
|
|
235
|
+
/**
|
|
236
|
+
* Check if an object is a BaseIntegration instance
|
|
237
|
+
*
|
|
238
|
+
* @param value - Value to check
|
|
239
|
+
* @returns True if value is a BaseIntegration
|
|
240
|
+
*/
|
|
241
|
+
static isBaseIntegration(value: unknown): value is BaseIntegration;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Create a simple integration with minimal implementation
|
|
245
|
+
*
|
|
246
|
+
* Useful for testing or simple integrations that don't need much logic.
|
|
247
|
+
*
|
|
248
|
+
* @param name - Integration name
|
|
249
|
+
* @param version - Integration version
|
|
250
|
+
* @param healthCheck - Custom health check function
|
|
251
|
+
* @param shutdown - Custom shutdown function
|
|
252
|
+
* @returns New integration instance
|
|
253
|
+
*
|
|
254
|
+
* @example
|
|
255
|
+
* ```typescript
|
|
256
|
+
* const simple = createSimpleIntegration(
|
|
257
|
+
* 'simple',
|
|
258
|
+
* '1.0.0',
|
|
259
|
+
* async () => ({ healthy: true, message: 'OK' }),
|
|
260
|
+
* async () => {}
|
|
261
|
+
* );
|
|
262
|
+
*
|
|
263
|
+
* await simple.initialize();
|
|
264
|
+
* ```
|
|
265
|
+
*/
|
|
266
|
+
export declare function createSimpleIntegration(name: string, version: string, healthCheck: () => Promise<HealthResult>, shutdown?: () => Promise<void>): BaseIntegration;
|
|
267
|
+
export type { IntegrationConfig, IntegrationStatus, IntegrationStats, HealthResult, IntegrationEvent, IntegrationEventType, IIntegration, IEventedIntegration, LogLevel, };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Integration Base Module
|
|
3
|
+
*
|
|
4
|
+
* Common interfaces and base class for 0xRay integrations.
|
|
5
|
+
*
|
|
6
|
+
* @version 1.0.0
|
|
7
|
+
* @since 2026-03-15
|
|
8
|
+
*/
|
|
9
|
+
export * from "./types.js";
|
|
10
|
+
export * from "./Integration.js";
|
|
11
|
+
export * from "./registry.js";
|
|
12
|
+
export * from "./ExampleIntegration.js";
|