stringray-ai 1.0.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/.mcp.json +68 -0
- package/LICENSE +21 -0
- package/README.md +618 -0
- package/dist/agents/architect.d.ts +3 -0
- package/dist/agents/architect.d.ts.map +1 -0
- package/dist/agents/architect.js +84 -0
- package/dist/agents/architect.js.map +1 -0
- package/dist/agents/bug-triage-specialist.d.ts +3 -0
- package/dist/agents/bug-triage-specialist.d.ts.map +1 -0
- package/dist/agents/bug-triage-specialist.js +66 -0
- package/dist/agents/bug-triage-specialist.js.map +1 -0
- package/dist/agents/code-reviewer.d.ts +3 -0
- package/dist/agents/code-reviewer.d.ts.map +1 -0
- package/dist/agents/code-reviewer.js +66 -0
- package/dist/agents/code-reviewer.js.map +1 -0
- package/dist/agents/enforcer.d.ts +3 -0
- package/dist/agents/enforcer.d.ts.map +1 -0
- package/dist/agents/enforcer.js +109 -0
- package/dist/agents/enforcer.js.map +1 -0
- package/dist/agents/index.d.ts +15 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +26 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/librarian.d.ts +3 -0
- package/dist/agents/librarian.d.ts.map +1 -0
- package/dist/agents/librarian.js +70 -0
- package/dist/agents/librarian.js.map +1 -0
- package/dist/agents/log-monitor.d.ts +3 -0
- package/dist/agents/log-monitor.d.ts.map +1 -0
- package/dist/agents/log-monitor.js +102 -0
- package/dist/agents/log-monitor.js.map +1 -0
- package/dist/agents/orchestrator.d.ts +3 -0
- package/dist/agents/orchestrator.d.ts.map +1 -0
- package/dist/agents/orchestrator.js +85 -0
- package/dist/agents/orchestrator.js.map +1 -0
- package/dist/agents/refactorer.d.ts +3 -0
- package/dist/agents/refactorer.d.ts.map +1 -0
- package/dist/agents/refactorer.js +67 -0
- package/dist/agents/refactorer.js.map +1 -0
- package/dist/agents/security-auditor.d.ts +3 -0
- package/dist/agents/security-auditor.d.ts.map +1 -0
- package/dist/agents/security-auditor.js +66 -0
- package/dist/agents/security-auditor.js.map +1 -0
- package/dist/agents/sisyphus.d.ts +3 -0
- package/dist/agents/sisyphus.d.ts.map +1 -0
- package/dist/agents/sisyphus.js +53 -0
- package/dist/agents/sisyphus.js.map +1 -0
- package/dist/agents/test-architect.d.ts +3 -0
- package/dist/agents/test-architect.d.ts.map +1 -0
- package/dist/agents/test-architect.js +81 -0
- package/dist/agents/test-architect.js.map +1 -0
- package/dist/agents/types.d.ts +29 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +2 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/mcps/architect-tools.server.d.ts +40 -0
- package/dist/mcps/architect-tools.server.d.ts.map +1 -0
- package/dist/mcps/architect-tools.server.js +563 -0
- package/dist/mcps/architect-tools.server.js.map +1 -0
- package/dist/mcps/auto-format.server.d.ts +20 -0
- package/dist/mcps/auto-format.server.d.ts.map +1 -0
- package/dist/mcps/auto-format.server.js +391 -0
- package/dist/mcps/auto-format.server.js.map +1 -0
- package/dist/mcps/boot-orchestrator.server.d.ts +50 -0
- package/dist/mcps/boot-orchestrator.server.d.ts.map +1 -0
- package/dist/mcps/boot-orchestrator.server.js +871 -0
- package/dist/mcps/boot-orchestrator.server.js.map +1 -0
- package/dist/mcps/enforcer-tools.server.d.ts +26 -0
- package/dist/mcps/enforcer-tools.server.d.ts.map +1 -0
- package/dist/mcps/enforcer-tools.server.js +627 -0
- package/dist/mcps/enforcer-tools.server.js.map +1 -0
- package/dist/mcps/enhanced-orchestrator.server.d.ts +14 -0
- package/dist/mcps/enhanced-orchestrator.server.d.ts.map +1 -0
- package/dist/mcps/enhanced-orchestrator.server.js +250 -0
- package/dist/mcps/enhanced-orchestrator.server.js.map +1 -0
- package/dist/mcps/framework-compliance-audit.server.d.ts +23 -0
- package/dist/mcps/framework-compliance-audit.server.d.ts.map +1 -0
- package/dist/mcps/framework-compliance-audit.server.js +511 -0
- package/dist/mcps/framework-compliance-audit.server.js.map +1 -0
- package/dist/mcps/knowledge-skills/api-design.server.d.ts +16 -0
- package/dist/mcps/knowledge-skills/api-design.server.d.ts.map +1 -0
- package/dist/mcps/knowledge-skills/api-design.server.js +120 -0
- package/dist/mcps/knowledge-skills/api-design.server.js.map +1 -0
- package/dist/mcps/knowledge-skills/architecture-patterns.server.d.ts +16 -0
- package/dist/mcps/knowledge-skills/architecture-patterns.server.d.ts.map +1 -0
- package/dist/mcps/knowledge-skills/architecture-patterns.server.js +110 -0
- package/dist/mcps/knowledge-skills/architecture-patterns.server.js.map +1 -0
- package/dist/mcps/knowledge-skills/code-review.server.d.ts +32 -0
- package/dist/mcps/knowledge-skills/code-review.server.d.ts.map +1 -0
- package/dist/mcps/knowledge-skills/code-review.server.js +777 -0
- package/dist/mcps/knowledge-skills/code-review.server.js.map +1 -0
- package/dist/mcps/knowledge-skills/database-design.server.d.ts +44 -0
- package/dist/mcps/knowledge-skills/database-design.server.d.ts.map +1 -0
- package/dist/mcps/knowledge-skills/database-design.server.js +818 -0
- package/dist/mcps/knowledge-skills/database-design.server.js.map +1 -0
- package/dist/mcps/knowledge-skills/devops-deployment.server.d.ts +44 -0
- package/dist/mcps/knowledge-skills/devops-deployment.server.d.ts.map +1 -0
- package/dist/mcps/knowledge-skills/devops-deployment.server.js +1178 -0
- package/dist/mcps/knowledge-skills/devops-deployment.server.js.map +1 -0
- package/dist/mcps/knowledge-skills/documentation-generation.server.d.ts +48 -0
- package/dist/mcps/knowledge-skills/documentation-generation.server.d.ts.map +1 -0
- package/dist/mcps/knowledge-skills/documentation-generation.server.js +1188 -0
- package/dist/mcps/knowledge-skills/documentation-generation.server.js.map +1 -0
- package/dist/mcps/knowledge-skills/git-workflow.server.d.ts +16 -0
- package/dist/mcps/knowledge-skills/git-workflow.server.d.ts.map +1 -0
- package/dist/mcps/knowledge-skills/git-workflow.server.js +112 -0
- package/dist/mcps/knowledge-skills/git-workflow.server.js.map +1 -0
- package/dist/mcps/knowledge-skills/performance-optimization.server.d.ts +16 -0
- package/dist/mcps/knowledge-skills/performance-optimization.server.d.ts.map +1 -0
- package/dist/mcps/knowledge-skills/performance-optimization.server.js +108 -0
- package/dist/mcps/knowledge-skills/performance-optimization.server.js.map +1 -0
- package/dist/mcps/knowledge-skills/project-analysis.server.d.ts +34 -0
- package/dist/mcps/knowledge-skills/project-analysis.server.d.ts.map +1 -0
- package/dist/mcps/knowledge-skills/project-analysis.server.js +710 -0
- package/dist/mcps/knowledge-skills/project-analysis.server.js.map +1 -0
- package/dist/mcps/knowledge-skills/refactoring-strategies.server.d.ts +34 -0
- package/dist/mcps/knowledge-skills/refactoring-strategies.server.d.ts.map +1 -0
- package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +794 -0
- package/dist/mcps/knowledge-skills/refactoring-strategies.server.js.map +1 -0
- package/dist/mcps/knowledge-skills/security-audit.server.d.ts +34 -0
- package/dist/mcps/knowledge-skills/security-audit.server.d.ts.map +1 -0
- package/dist/mcps/knowledge-skills/security-audit.server.js +769 -0
- package/dist/mcps/knowledge-skills/security-audit.server.js.map +1 -0
- package/dist/mcps/knowledge-skills/testing-best-practices.server.d.ts +37 -0
- package/dist/mcps/knowledge-skills/testing-best-practices.server.d.ts.map +1 -0
- package/dist/mcps/knowledge-skills/testing-best-practices.server.js +865 -0
- package/dist/mcps/knowledge-skills/testing-best-practices.server.js.map +1 -0
- package/dist/mcps/knowledge-skills/testing-strategy.server.d.ts +47 -0
- package/dist/mcps/knowledge-skills/testing-strategy.server.d.ts.map +1 -0
- package/dist/mcps/knowledge-skills/testing-strategy.server.js +672 -0
- package/dist/mcps/knowledge-skills/testing-strategy.server.js.map +1 -0
- package/dist/mcps/knowledge-skills/ui-ux-design.server.d.ts +42 -0
- package/dist/mcps/knowledge-skills/ui-ux-design.server.d.ts.map +1 -0
- package/dist/mcps/knowledge-skills/ui-ux-design.server.js +1016 -0
- package/dist/mcps/knowledge-skills/ui-ux-design.server.js.map +1 -0
- package/dist/mcps/lint.server.d.ts +18 -0
- package/dist/mcps/lint.server.d.ts.map +1 -0
- package/dist/mcps/lint.server.js +334 -0
- package/dist/mcps/lint.server.js.map +1 -0
- package/dist/mcps/model-health-check.server.d.ts +17 -0
- package/dist/mcps/model-health-check.server.d.ts.map +1 -0
- package/dist/mcps/model-health-check.server.js +226 -0
- package/dist/mcps/model-health-check.server.js.map +1 -0
- package/dist/mcps/orchestrator.server.d.ts +39 -0
- package/dist/mcps/orchestrator.server.d.ts.map +1 -0
- package/dist/mcps/orchestrator.server.js +908 -0
- package/dist/mcps/orchestrator.server.js.map +1 -0
- package/dist/mcps/performance-analysis.server.d.ts +28 -0
- package/dist/mcps/performance-analysis.server.d.ts.map +1 -0
- package/dist/mcps/performance-analysis.server.js +514 -0
- package/dist/mcps/performance-analysis.server.js.map +1 -0
- package/dist/mcps/processor-pipeline.server.d.ts +29 -0
- package/dist/mcps/processor-pipeline.server.d.ts.map +1 -0
- package/dist/mcps/processor-pipeline.server.js +520 -0
- package/dist/mcps/processor-pipeline.server.js.map +1 -0
- package/dist/mcps/security-scan.server.d.ts +20 -0
- package/dist/mcps/security-scan.server.d.ts.map +1 -0
- package/dist/mcps/security-scan.server.js +404 -0
- package/dist/mcps/security-scan.server.js.map +1 -0
- package/dist/mcps/state-manager.server.d.ts +29 -0
- package/dist/mcps/state-manager.server.d.ts.map +1 -0
- package/dist/mcps/state-manager.server.js +620 -0
- package/dist/mcps/state-manager.server.js.map +1 -0
- package/dist/orchestrator/enhanced-multi-agent-orchestrator.d.ts +109 -0
- package/dist/orchestrator/enhanced-multi-agent-orchestrator.d.ts.map +1 -0
- package/dist/orchestrator/enhanced-multi-agent-orchestrator.js +337 -0
- package/dist/orchestrator/enhanced-multi-agent-orchestrator.js.map +1 -0
- package/dist/orchestrator/intelligent-commit-batcher.d.ts +112 -0
- package/dist/orchestrator/intelligent-commit-batcher.d.ts.map +1 -0
- package/dist/orchestrator/intelligent-commit-batcher.js +330 -0
- package/dist/orchestrator/intelligent-commit-batcher.js.map +1 -0
- package/dist/plugin/agents/architect.d.ts +3 -0
- package/dist/plugin/agents/architect.d.ts.map +1 -0
- package/dist/plugin/agents/architect.js +84 -0
- package/dist/plugin/agents/architect.js.map +1 -0
- package/dist/plugin/agents/bug-triage-specialist.d.ts +3 -0
- package/dist/plugin/agents/bug-triage-specialist.d.ts.map +1 -0
- package/dist/plugin/agents/bug-triage-specialist.js +66 -0
- package/dist/plugin/agents/bug-triage-specialist.js.map +1 -0
- package/dist/plugin/agents/code-reviewer.d.ts +3 -0
- package/dist/plugin/agents/code-reviewer.d.ts.map +1 -0
- package/dist/plugin/agents/code-reviewer.js +66 -0
- package/dist/plugin/agents/code-reviewer.js.map +1 -0
- package/dist/plugin/agents/enforcer.d.ts +3 -0
- package/dist/plugin/agents/enforcer.d.ts.map +1 -0
- package/dist/plugin/agents/enforcer.js +109 -0
- package/dist/plugin/agents/enforcer.js.map +1 -0
- package/dist/plugin/agents/index.d.ts +15 -0
- package/dist/plugin/agents/index.d.ts.map +1 -0
- package/dist/plugin/agents/index.js +26 -0
- package/dist/plugin/agents/index.js.map +1 -0
- package/dist/plugin/agents/librarian.d.ts +3 -0
- package/dist/plugin/agents/librarian.d.ts.map +1 -0
- package/dist/plugin/agents/librarian.js +70 -0
- package/dist/plugin/agents/librarian.js.map +1 -0
- package/dist/plugin/agents/log-monitor.d.ts +3 -0
- package/dist/plugin/agents/log-monitor.d.ts.map +1 -0
- package/dist/plugin/agents/log-monitor.js +102 -0
- package/dist/plugin/agents/log-monitor.js.map +1 -0
- package/dist/plugin/agents/orchestrator.d.ts +3 -0
- package/dist/plugin/agents/orchestrator.d.ts.map +1 -0
- package/dist/plugin/agents/orchestrator.js +85 -0
- package/dist/plugin/agents/orchestrator.js.map +1 -0
- package/dist/plugin/agents/refactorer.d.ts +3 -0
- package/dist/plugin/agents/refactorer.d.ts.map +1 -0
- package/dist/plugin/agents/refactorer.js +67 -0
- package/dist/plugin/agents/refactorer.js.map +1 -0
- package/dist/plugin/agents/security-auditor.d.ts +3 -0
- package/dist/plugin/agents/security-auditor.d.ts.map +1 -0
- package/dist/plugin/agents/security-auditor.js +66 -0
- package/dist/plugin/agents/security-auditor.js.map +1 -0
- package/dist/plugin/agents/sisyphus.d.ts +3 -0
- package/dist/plugin/agents/sisyphus.d.ts.map +1 -0
- package/dist/plugin/agents/sisyphus.js +53 -0
- package/dist/plugin/agents/sisyphus.js.map +1 -0
- package/dist/plugin/agents/test-architect.d.ts +3 -0
- package/dist/plugin/agents/test-architect.d.ts.map +1 -0
- package/dist/plugin/agents/test-architect.js +81 -0
- package/dist/plugin/agents/test-architect.js.map +1 -0
- package/dist/plugin/agents/types.d.ts +29 -0
- package/dist/plugin/agents/types.d.ts.map +1 -0
- package/dist/plugin/agents/types.js +2 -0
- package/dist/plugin/agents/types.js.map +1 -0
- package/dist/plugin/config-loader.d.ts +67 -0
- package/dist/plugin/config-loader.d.ts.map +1 -0
- package/dist/plugin/config-loader.js +125 -0
- package/dist/plugin/config-loader.js.map +1 -0
- package/dist/plugin/context-loader.d.ts +122 -0
- package/dist/plugin/context-loader.d.ts.map +1 -0
- package/dist/plugin/context-loader.js +273 -0
- package/dist/plugin/context-loader.js.map +1 -0
- package/dist/plugin/delegation/agent-delegator.d.ts +217 -0
- package/dist/plugin/delegation/agent-delegator.d.ts.map +1 -0
- package/dist/plugin/delegation/agent-delegator.js +928 -0
- package/dist/plugin/delegation/agent-delegator.js.map +1 -0
- package/dist/plugin/delegation/codebase-context-analyzer.d.ts +157 -0
- package/dist/plugin/delegation/codebase-context-analyzer.d.ts.map +1 -0
- package/dist/plugin/delegation/codebase-context-analyzer.js +1029 -0
- package/dist/plugin/delegation/codebase-context-analyzer.js.map +1 -0
- package/dist/plugin/delegation/complexity-analyzer.d.ts +61 -0
- package/dist/plugin/delegation/complexity-analyzer.d.ts.map +1 -0
- package/dist/plugin/delegation/complexity-analyzer.js +253 -0
- package/dist/plugin/delegation/complexity-analyzer.js.map +1 -0
- package/dist/plugin/enforcement/enforcer-tools.d.ts +62 -0
- package/dist/plugin/enforcement/enforcer-tools.d.ts.map +1 -0
- package/dist/plugin/enforcement/enforcer-tools.js +407 -0
- package/dist/plugin/enforcement/enforcer-tools.js.map +1 -0
- package/dist/plugin/enforcement/rule-enforcer.d.ts +171 -0
- package/dist/plugin/enforcement/rule-enforcer.d.ts.map +1 -0
- package/dist/plugin/enforcement/rule-enforcer.js +1342 -0
- package/dist/plugin/enforcement/rule-enforcer.js.map +1 -0
- package/dist/plugin/enforcement/test-auto-healing.d.ts +78 -0
- package/dist/plugin/enforcement/test-auto-healing.d.ts.map +1 -0
- package/dist/plugin/enforcement/test-auto-healing.js +318 -0
- package/dist/plugin/enforcement/test-auto-healing.js.map +1 -0
- package/dist/plugin/framework-logger.d.ts +20 -0
- package/dist/plugin/framework-logger.d.ts.map +1 -0
- package/dist/plugin/framework-logger.js +79 -0
- package/dist/plugin/framework-logger.js.map +1 -0
- package/dist/plugin/logging-config.d.ts +11 -0
- package/dist/plugin/logging-config.d.ts.map +1 -0
- package/dist/plugin/logging-config.js +44 -0
- package/dist/plugin/logging-config.js.map +1 -0
- package/dist/plugin/mcps/architect-tools.server.d.ts +40 -0
- package/dist/plugin/mcps/architect-tools.server.d.ts.map +1 -0
- package/dist/plugin/mcps/architect-tools.server.js +563 -0
- package/dist/plugin/mcps/architect-tools.server.js.map +1 -0
- package/dist/plugin/mcps/auto-format.server.d.ts +20 -0
- package/dist/plugin/mcps/auto-format.server.d.ts.map +1 -0
- package/dist/plugin/mcps/auto-format.server.js +391 -0
- package/dist/plugin/mcps/auto-format.server.js.map +1 -0
- package/dist/plugin/mcps/boot-orchestrator.server.d.ts +50 -0
- package/dist/plugin/mcps/boot-orchestrator.server.d.ts.map +1 -0
- package/dist/plugin/mcps/boot-orchestrator.server.js +871 -0
- package/dist/plugin/mcps/boot-orchestrator.server.js.map +1 -0
- package/dist/plugin/mcps/enforcer-tools.server.d.ts +26 -0
- package/dist/plugin/mcps/enforcer-tools.server.d.ts.map +1 -0
- package/dist/plugin/mcps/enforcer-tools.server.js +627 -0
- package/dist/plugin/mcps/enforcer-tools.server.js.map +1 -0
- package/dist/plugin/mcps/enhanced-orchestrator.server.d.ts +14 -0
- package/dist/plugin/mcps/enhanced-orchestrator.server.d.ts.map +1 -0
- package/dist/plugin/mcps/enhanced-orchestrator.server.js +250 -0
- package/dist/plugin/mcps/enhanced-orchestrator.server.js.map +1 -0
- package/dist/plugin/mcps/framework-compliance-audit.server.d.ts +23 -0
- package/dist/plugin/mcps/framework-compliance-audit.server.d.ts.map +1 -0
- package/dist/plugin/mcps/framework-compliance-audit.server.js +511 -0
- package/dist/plugin/mcps/framework-compliance-audit.server.js.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/api-design.server.d.ts +16 -0
- package/dist/plugin/mcps/knowledge-skills/api-design.server.d.ts.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/api-design.server.js +120 -0
- package/dist/plugin/mcps/knowledge-skills/api-design.server.js.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/architecture-patterns.server.d.ts +16 -0
- package/dist/plugin/mcps/knowledge-skills/architecture-patterns.server.d.ts.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/architecture-patterns.server.js +110 -0
- package/dist/plugin/mcps/knowledge-skills/architecture-patterns.server.js.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/code-review.server.d.ts +32 -0
- package/dist/plugin/mcps/knowledge-skills/code-review.server.d.ts.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/code-review.server.js +777 -0
- package/dist/plugin/mcps/knowledge-skills/code-review.server.js.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/database-design.server.d.ts +44 -0
- package/dist/plugin/mcps/knowledge-skills/database-design.server.d.ts.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/database-design.server.js +818 -0
- package/dist/plugin/mcps/knowledge-skills/database-design.server.js.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/devops-deployment.server.d.ts +44 -0
- package/dist/plugin/mcps/knowledge-skills/devops-deployment.server.d.ts.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/devops-deployment.server.js +1178 -0
- package/dist/plugin/mcps/knowledge-skills/devops-deployment.server.js.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/documentation-generation.server.d.ts +48 -0
- package/dist/plugin/mcps/knowledge-skills/documentation-generation.server.d.ts.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/documentation-generation.server.js +1188 -0
- package/dist/plugin/mcps/knowledge-skills/documentation-generation.server.js.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/git-workflow.server.d.ts +16 -0
- package/dist/plugin/mcps/knowledge-skills/git-workflow.server.d.ts.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/git-workflow.server.js +112 -0
- package/dist/plugin/mcps/knowledge-skills/git-workflow.server.js.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/performance-optimization.server.d.ts +16 -0
- package/dist/plugin/mcps/knowledge-skills/performance-optimization.server.d.ts.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/performance-optimization.server.js +108 -0
- package/dist/plugin/mcps/knowledge-skills/performance-optimization.server.js.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/project-analysis.server.d.ts +34 -0
- package/dist/plugin/mcps/knowledge-skills/project-analysis.server.d.ts.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/project-analysis.server.js +710 -0
- package/dist/plugin/mcps/knowledge-skills/project-analysis.server.js.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/refactoring-strategies.server.d.ts +34 -0
- package/dist/plugin/mcps/knowledge-skills/refactoring-strategies.server.d.ts.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/refactoring-strategies.server.js +794 -0
- package/dist/plugin/mcps/knowledge-skills/refactoring-strategies.server.js.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/security-audit.server.d.ts +34 -0
- package/dist/plugin/mcps/knowledge-skills/security-audit.server.d.ts.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/security-audit.server.js +769 -0
- package/dist/plugin/mcps/knowledge-skills/security-audit.server.js.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/testing-best-practices.server.d.ts +37 -0
- package/dist/plugin/mcps/knowledge-skills/testing-best-practices.server.d.ts.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/testing-best-practices.server.js +865 -0
- package/dist/plugin/mcps/knowledge-skills/testing-best-practices.server.js.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/testing-strategy.server.d.ts +47 -0
- package/dist/plugin/mcps/knowledge-skills/testing-strategy.server.d.ts.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/testing-strategy.server.js +672 -0
- package/dist/plugin/mcps/knowledge-skills/testing-strategy.server.js.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/ui-ux-design.server.d.ts +42 -0
- package/dist/plugin/mcps/knowledge-skills/ui-ux-design.server.d.ts.map +1 -0
- package/dist/plugin/mcps/knowledge-skills/ui-ux-design.server.js +1016 -0
- package/dist/plugin/mcps/knowledge-skills/ui-ux-design.server.js.map +1 -0
- package/dist/plugin/mcps/lint.server.d.ts +18 -0
- package/dist/plugin/mcps/lint.server.d.ts.map +1 -0
- package/dist/plugin/mcps/lint.server.js +334 -0
- package/dist/plugin/mcps/lint.server.js.map +1 -0
- package/dist/plugin/mcps/model-health-check.server.d.ts +17 -0
- package/dist/plugin/mcps/model-health-check.server.d.ts.map +1 -0
- package/dist/plugin/mcps/model-health-check.server.js +226 -0
- package/dist/plugin/mcps/model-health-check.server.js.map +1 -0
- package/dist/plugin/mcps/orchestrator.server.d.ts +39 -0
- package/dist/plugin/mcps/orchestrator.server.d.ts.map +1 -0
- package/dist/plugin/mcps/orchestrator.server.js +908 -0
- package/dist/plugin/mcps/orchestrator.server.js.map +1 -0
- package/dist/plugin/mcps/performance-analysis.server.d.ts +28 -0
- package/dist/plugin/mcps/performance-analysis.server.d.ts.map +1 -0
- package/dist/plugin/mcps/performance-analysis.server.js +514 -0
- package/dist/plugin/mcps/performance-analysis.server.js.map +1 -0
- package/dist/plugin/mcps/processor-pipeline.server.d.ts +29 -0
- package/dist/plugin/mcps/processor-pipeline.server.d.ts.map +1 -0
- package/dist/plugin/mcps/processor-pipeline.server.js +520 -0
- package/dist/plugin/mcps/processor-pipeline.server.js.map +1 -0
- package/dist/plugin/mcps/security-scan.server.d.ts +20 -0
- package/dist/plugin/mcps/security-scan.server.d.ts.map +1 -0
- package/dist/plugin/mcps/security-scan.server.js +404 -0
- package/dist/plugin/mcps/security-scan.server.js.map +1 -0
- package/dist/plugin/mcps/state-manager.server.d.ts +29 -0
- package/dist/plugin/mcps/state-manager.server.d.ts.map +1 -0
- package/dist/plugin/mcps/state-manager.server.js +620 -0
- package/dist/plugin/mcps/state-manager.server.js.map +1 -0
- package/dist/plugin/monitoring/advanced-profiler.d.ts +48 -0
- package/dist/plugin/monitoring/advanced-profiler.d.ts.map +1 -0
- package/dist/plugin/monitoring/advanced-profiler.js +216 -0
- package/dist/plugin/monitoring/advanced-profiler.js.map +1 -0
- package/dist/plugin/monitoring/enterprise-monitoring-system.d.ts +331 -0
- package/dist/plugin/monitoring/enterprise-monitoring-system.d.ts.map +1 -0
- package/dist/plugin/monitoring/enterprise-monitoring-system.js +797 -0
- package/dist/plugin/monitoring/enterprise-monitoring-system.js.map +1 -0
- package/dist/plugin/orchestrator/enhanced-multi-agent-orchestrator.d.ts +111 -0
- package/dist/plugin/orchestrator/enhanced-multi-agent-orchestrator.d.ts.map +1 -0
- package/dist/plugin/orchestrator/enhanced-multi-agent-orchestrator.js +339 -0
- package/dist/plugin/orchestrator/enhanced-multi-agent-orchestrator.js.map +1 -0
- package/dist/plugin/orchestrator/intelligent-commit-batcher.d.ts +112 -0
- package/dist/plugin/orchestrator/intelligent-commit-batcher.d.ts.map +1 -0
- package/dist/plugin/orchestrator/intelligent-commit-batcher.js +330 -0
- package/dist/plugin/orchestrator/intelligent-commit-batcher.js.map +1 -0
- package/dist/plugin/orchestrator.d.ts +91 -0
- package/dist/plugin/orchestrator.d.ts.map +1 -0
- package/dist/plugin/orchestrator.js +444 -0
- package/dist/plugin/orchestrator.js.map +1 -0
- package/dist/plugin/plugins/marketplace/marketplace-service.d.ts +108 -0
- package/dist/plugin/plugins/marketplace/marketplace-service.d.ts.map +1 -0
- package/dist/plugin/plugins/marketplace/marketplace-service.js +620 -0
- package/dist/plugin/plugins/marketplace/marketplace-service.js.map +1 -0
- package/dist/plugin/plugins/marketplace/marketplace-types.d.ts +468 -0
- package/dist/plugin/plugins/marketplace/marketplace-types.d.ts.map +1 -0
- package/dist/plugin/plugins/marketplace/marketplace-types.js +11 -0
- package/dist/plugin/plugins/marketplace/marketplace-types.js.map +1 -0
- package/dist/plugin/plugins/plugin-system.d.ts +152 -0
- package/dist/plugin/plugins/plugin-system.d.ts.map +1 -0
- package/dist/plugin/plugins/plugin-system.js +405 -0
- package/dist/plugin/plugins/plugin-system.js.map +1 -0
- package/dist/plugin/plugins/stringray-codex-injection.d.ts +68 -0
- package/dist/plugin/plugins/stringray-codex-injection.d.ts.map +1 -0
- package/dist/plugin/plugins/stringray-codex-injection.js +225 -0
- package/dist/plugin/plugins/stringray-codex-injection.js.map +1 -0
- package/dist/plugin/plugins/strray-codex-injection.d.ts +68 -0
- package/dist/plugin/plugins/strray-codex-injection.d.ts.map +1 -0
- package/dist/plugin/plugins/strray-codex-injection.js +225 -0
- package/dist/plugin/plugins/strray-codex-injection.js.map +1 -0
- package/dist/plugin/processors/index.d.ts +12 -0
- package/dist/plugin/processors/index.d.ts.map +1 -0
- package/dist/plugin/processors/index.js +12 -0
- package/dist/plugin/processors/index.js.map +1 -0
- package/dist/plugin/processors/processor-manager.d.ts +113 -0
- package/dist/plugin/processors/processor-manager.d.ts.map +1 -0
- package/dist/plugin/processors/processor-manager.js +498 -0
- package/dist/plugin/processors/processor-manager.js.map +1 -0
- package/dist/plugin/processors/processor-types.d.ts +50 -0
- package/dist/plugin/processors/processor-types.d.ts.map +1 -0
- package/dist/plugin/processors/processor-types.js +10 -0
- package/dist/plugin/processors/processor-types.js.map +1 -0
- package/dist/plugin/processors/refactoring-logging-processor.d.ts +61 -0
- package/dist/plugin/processors/refactoring-logging-processor.d.ts.map +1 -0
- package/dist/plugin/processors/refactoring-logging-processor.js +257 -0
- package/dist/plugin/processors/refactoring-logging-processor.js.map +1 -0
- package/dist/plugin/reporting/framework-reporting-system.d.ts +157 -0
- package/dist/plugin/reporting/framework-reporting-system.d.ts.map +1 -0
- package/dist/plugin/reporting/framework-reporting-system.js +783 -0
- package/dist/plugin/reporting/framework-reporting-system.js.map +1 -0
- package/dist/plugin/security/security-hardening-system.d.ts +220 -0
- package/dist/plugin/security/security-hardening-system.d.ts.map +1 -0
- package/dist/plugin/security/security-hardening-system.js +605 -0
- package/dist/plugin/security/security-hardening-system.js.map +1 -0
- package/dist/plugin/state/context-providers.d.ts +5 -0
- package/dist/plugin/state/context-providers.d.ts.map +1 -0
- package/dist/plugin/state/context-providers.js +2 -0
- package/dist/plugin/state/context-providers.js.map +1 -0
- package/dist/plugin/state/index.d.ts +5 -0
- package/dist/plugin/state/index.d.ts.map +1 -0
- package/dist/plugin/state/index.js +8 -0
- package/dist/plugin/state/index.js.map +1 -0
- package/dist/plugin/state/state-manager.d.ts +29 -0
- package/dist/plugin/state/state-manager.d.ts.map +1 -0
- package/dist/plugin/state/state-manager.js +153 -0
- package/dist/plugin/state/state-manager.js.map +1 -0
- package/dist/plugin/state/state-types.d.ts +6 -0
- package/dist/plugin/state/state-types.d.ts.map +1 -0
- package/dist/plugin/state/state-types.js +2 -0
- package/dist/plugin/state/state-types.js.map +1 -0
- package/dist/plugin/utils/codex-parser.d.ts +62 -0
- package/dist/plugin/utils/codex-parser.d.ts.map +1 -0
- package/dist/plugin/utils/codex-parser.js +396 -0
- package/dist/plugin/utils/codex-parser.js.map +1 -0
- package/dist/plugin/utils/command-runner.d.ts +24 -0
- package/dist/plugin/utils/command-runner.d.ts.map +1 -0
- package/dist/plugin/utils/command-runner.js +44 -0
- package/dist/plugin/utils/command-runner.js.map +1 -0
- package/dist/plugin/utils/import-resolver.d.ts +55 -0
- package/dist/plugin/utils/import-resolver.d.ts.map +1 -0
- package/dist/plugin/utils/import-resolver.js +198 -0
- package/dist/plugin/utils/import-resolver.js.map +1 -0
- package/dist/plugin/utils/memory-pool.d.ts +90 -0
- package/dist/plugin/utils/memory-pool.d.ts.map +1 -0
- package/dist/plugin/utils/memory-pool.js +245 -0
- package/dist/plugin/utils/memory-pool.js.map +1 -0
- package/dist/plugin/utils/path-resolver.d.ts +49 -0
- package/dist/plugin/utils/path-resolver.d.ts.map +1 -0
- package/dist/plugin/utils/path-resolver.js +126 -0
- package/dist/plugin/utils/path-resolver.js.map +1 -0
- package/dist/plugin/utils/test-template-generator.d.ts +26 -0
- package/dist/plugin/utils/test-template-generator.d.ts.map +1 -0
- package/dist/plugin/utils/test-template-generator.js +178 -0
- package/dist/plugin/utils/test-template-generator.js.map +1 -0
- package/dist/processors/index.d.ts +12 -0
- package/dist/processors/index.d.ts.map +1 -0
- package/dist/processors/index.js +12 -0
- package/dist/processors/index.js.map +1 -0
- package/dist/processors/processor-manager.d.ts +113 -0
- package/dist/processors/processor-manager.d.ts.map +1 -0
- package/dist/processors/processor-manager.js +498 -0
- package/dist/processors/processor-manager.js.map +1 -0
- package/dist/processors/processor-types.d.ts +50 -0
- package/dist/processors/processor-types.d.ts.map +1 -0
- package/dist/processors/processor-types.js +10 -0
- package/dist/processors/processor-types.js.map +1 -0
- package/dist/processors/refactoring-logging-processor.d.ts +61 -0
- package/dist/processors/refactoring-logging-processor.d.ts.map +1 -0
- package/dist/processors/refactoring-logging-processor.js +257 -0
- package/dist/processors/refactoring-logging-processor.js.map +1 -0
- package/dist/state/context-providers.d.ts +5 -0
- package/dist/state/context-providers.d.ts.map +1 -0
- package/dist/state/context-providers.js +2 -0
- package/dist/state/context-providers.js.map +1 -0
- package/dist/state/index.d.ts +5 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js +8 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/state-manager.d.ts +29 -0
- package/dist/state/state-manager.d.ts.map +1 -0
- package/dist/state/state-manager.js +153 -0
- package/dist/state/state-manager.js.map +1 -0
- package/dist/state/state-types.d.ts +6 -0
- package/dist/state/state-types.d.ts.map +1 -0
- package/dist/state/state-types.js +2 -0
- package/dist/state/state-types.js.map +1 -0
- package/dist/utils/codex-parser.d.ts +62 -0
- package/dist/utils/codex-parser.d.ts.map +1 -0
- package/dist/utils/codex-parser.js +396 -0
- package/dist/utils/codex-parser.js.map +1 -0
- package/dist/utils/command-runner.d.ts +24 -0
- package/dist/utils/command-runner.d.ts.map +1 -0
- package/dist/utils/command-runner.js +44 -0
- package/dist/utils/command-runner.js.map +1 -0
- package/dist/utils/import-resolver.d.ts +55 -0
- package/dist/utils/import-resolver.d.ts.map +1 -0
- package/dist/utils/import-resolver.js +198 -0
- package/dist/utils/import-resolver.js.map +1 -0
- package/dist/utils/memory-pool.d.ts +90 -0
- package/dist/utils/memory-pool.d.ts.map +1 -0
- package/dist/utils/memory-pool.js +245 -0
- package/dist/utils/memory-pool.js.map +1 -0
- package/dist/utils/path-resolver.d.ts +49 -0
- package/dist/utils/path-resolver.d.ts.map +1 -0
- package/dist/utils/path-resolver.js +126 -0
- package/dist/utils/path-resolver.js.map +1 -0
- package/dist/utils/test-template-generator.d.ts +26 -0
- package/dist/utils/test-template-generator.d.ts.map +1 -0
- package/dist/utils/test-template-generator.js +178 -0
- package/dist/utils/test-template-generator.js.map +1 -0
- package/package.json +138 -0
- package/scripts/analysis/analyze-context-awareness.ts +219 -0
- package/scripts/analysis/analyze-framework-usage.ts +208 -0
- package/scripts/analysis/analyzer-agent-runner.js +328 -0
- package/scripts/analysis/context-awareness-report.ts +250 -0
- package/scripts/analyze-imports.mjs +147 -0
- package/scripts/basic-security-audit.cjs +261 -0
- package/scripts/boot-check.cjs +188 -0
- package/scripts/build/check-syntax.sh +1 -0
- package/scripts/build/check-tsc.sh +1 -0
- package/scripts/build/check-types.sh +1 -0
- package/scripts/build/compile-single.sh +1 -0
- package/scripts/build/copy-plugin.sh +1 -0
- package/scripts/build/manual-build.sh +1 -0
- package/scripts/build/run-build-after-copy.sh +1 -0
- package/scripts/build/run-build-attempt.sh +1 -0
- package/scripts/build/run-build-errors-grep.sh +1 -0
- package/scripts/build/run-build-errors.sh +1 -0
- package/scripts/build/run-build-limited.sh +1 -0
- package/scripts/build/run-build-list.sh +1 -0
- package/scripts/build/run-build.sh +1 -0
- package/scripts/build/run-limited.sh +1 -0
- package/scripts/build/run-tsc-direct.sh +1 -0
- package/scripts/build/run-type-check.sh +1 -0
- package/scripts/build/run-typecheck.sh +1 -0
- package/scripts/build/test-build.sh +1 -0
- package/scripts/check-logs.sh +62 -0
- package/scripts/debug/debug-context-enhancement.ts +116 -0
- package/scripts/debug/debug-rules.mjs +23 -0
- package/scripts/demo/demo-clickable-monitoring.mjs +116 -0
- package/scripts/demo/profiling-demo.js +108 -0
- package/scripts/demo/profiling-demo.ts +126 -0
- package/scripts/demo/reporting-demonstration.ts +184 -0
- package/scripts/demo/reporting-examples.ts +105 -0
- package/scripts/dependency-scan.cjs +111 -0
- package/scripts/deploy-stringray-plugin.sh +323 -0
- package/scripts/disable-logging.sh +20 -0
- package/scripts/extract-framework.sh +405 -0
- package/scripts/fix-mcp-capabilities.js +83 -0
- package/scripts/framework/advanced-profiling-integration.sh +384 -0
- package/scripts/framework/check-agent-orchestration-health.sh +113 -0
- package/scripts/framework/enterprise-analysis-test.sh +174 -0
- package/scripts/framework/implement-analyzer-agent.sh +393 -0
- package/scripts/framework/merge-mcp-configs.sh +201 -0
- package/scripts/framework/validate-multi-agent-orchestration.sh +195 -0
- package/scripts/framework/validate-profiling.sh +64 -0
- package/scripts/github-actions-monitor.cjs +289 -0
- package/scripts/init.ts +121 -0
- package/scripts/monitoring/initialize-monitoring-pipeline.sh +89 -0
- package/scripts/monitoring/memory-dashboard.sh +52 -0
- package/scripts/monitoring/monitoring-daemon.mjs +67 -0
- package/scripts/monitoring/monitoring-daemon.sh +190 -0
- package/scripts/monitoring/profiling-dashboard.sh +69 -0
- package/scripts/performance-report.js +56 -0
- package/scripts/postinstall.cjs +240 -0
- package/scripts/profile-performance.sh +263 -0
- package/scripts/register-mcp-servers-fixed.sh +74 -0
- package/scripts/register-mcp-servers.sh +96 -0
- package/scripts/reporting/generate-phase1-report.js +28 -0
- package/scripts/reporting/run-postprocessor.js +59 -0
- package/scripts/reporting/trigger-report.js +15 -0
- package/scripts/run-simulations.mjs +29 -0
- package/scripts/scenario-data-processor.py +122 -0
- package/scripts/scenarios/scenario-security-check.ts +60 -0
- package/scripts/scenarios/scenario-user-management.ts +123 -0
- package/scripts/setup.cjs +128 -0
- package/scripts/simulation/run-simulations.js +84 -0
- package/scripts/simulation/simulate-full-orchestrator.ts +239 -0
- package/scripts/strray-triage.sh +349 -0
- package/scripts/test/run-memory-regression.sh +45 -0
- package/scripts/test/run-test.sh +2 -0
- package/scripts/test/test-deployment.sh +552 -0
- package/scripts/test/test-enhanced-report.ts +24 -0
- package/scripts/test/test-graceful-shutdown.sh +35 -0
- package/scripts/test/test-integration.mjs +79 -0
- package/scripts/test/test-manual-orchestration.sh +168 -0
- package/scripts/test/test-max-agents.sh +70 -0
- package/scripts/test/test-memory-monitor.sh +40 -0
- package/scripts/test/test-memory-pools.sh +58 -0
- package/scripts/test/test-module.ts +1 -0
- package/scripts/test/test-multi-agent-trigger.sh +251 -0
- package/scripts/test/test-orchestrator.txt +1 -0
- package/scripts/test/test-postinstall.js +1 -0
- package/scripts/test/test-security-module.ts +27 -0
- package/scripts/test/test-session-management.js +135 -0
- package/scripts/test/test-simulation.mjs +14 -0
- package/scripts/test/test-user-service.ts +111 -0
- package/scripts/test-comprehensive-path-resolution.mjs +62 -0
- package/scripts/test-data-processor.py +51 -0
- package/scripts/test-enforcement-e2e.mjs +127 -0
- package/scripts/test-full-plugin-no-timeout.sh +30 -0
- package/scripts/test-path-resolver.mjs +32 -0
- package/scripts/test-rules.mjs +128 -0
- package/scripts/test-stringray-plugin.mjs +66 -0
- package/scripts/test-utils/smart-test-runner.mjs +609 -0
- package/scripts/test-utils/test-quarantine.mjs +246 -0
- package/scripts/validate-codex.js +60 -0
- package/scripts/validate-phase1.mjs +189 -0
- package/scripts/validation/run-validators.js +114 -0
- package/scripts/validation/validate-external-processes.js +240 -0
- package/scripts/validation/validate-mcp-connectivity.js +165 -0
- package/scripts/validation/validate-oh-my-opencode-integration.js +200 -0
- package/scripts/validation/validate-reports.ts +114 -0
- package/scripts/verify-phase1.js +144 -0
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Multi-Agent Orchestration Validator
|
|
4
|
+
echo "š Multi-Agent Orchestration System Validator"
|
|
5
|
+
echo "=============================================="
|
|
6
|
+
|
|
7
|
+
# Test 1: Agent Configuration Validation
|
|
8
|
+
echo ""
|
|
9
|
+
echo "1ļøā£ Testing Agent Configurations..."
|
|
10
|
+
# Check all agents with complete configurations
|
|
11
|
+
AGENTS=("enforcer" "architect" "test-architect" "bug-triage-specialist" "code-reviewer" "security-auditor" "refactorer" "librarian" "explore" "oracle" "multimodal-looker" "frontend-ui-ux-engineer" "document-writer")
|
|
12
|
+
MISSING_AGENTS=()
|
|
13
|
+
INVALID_AGENTS=()
|
|
14
|
+
|
|
15
|
+
for agent in "${AGENTS[@]}"; do
|
|
16
|
+
# Detect if we're in .opencode directory or parent directory
|
|
17
|
+
if [ -f "agents/${agent}.md" ]; then
|
|
18
|
+
AGENT_MD_PATH="agents/${agent}.md"
|
|
19
|
+
elif [ -f ".opencode/agents/${agent}.md" ]; then
|
|
20
|
+
AGENT_MD_PATH=".opencode/agents/${agent}.md"
|
|
21
|
+
else
|
|
22
|
+
MISSING_AGENTS+=("$agent")
|
|
23
|
+
continue
|
|
24
|
+
fi
|
|
25
|
+
|
|
26
|
+
if [ -f "agents/${agent}.yml" ]; then
|
|
27
|
+
AGENT_YML_PATH="agents/${agent}.yml"
|
|
28
|
+
elif [ -f ".opencode/agents/${agent}.yml" ]; then
|
|
29
|
+
AGENT_YML_PATH=".opencode/agents/${agent}.yml"
|
|
30
|
+
else
|
|
31
|
+
MISSING_AGENTS+=("${agent}.yml")
|
|
32
|
+
continue
|
|
33
|
+
fi
|
|
34
|
+
|
|
35
|
+
# Check if YAML has required fields
|
|
36
|
+
if [ -f "$AGENT_YML_PATH" ]; then
|
|
37
|
+
if ! grep -q "capabilities:" "$AGENT_YML_PATH"; then
|
|
38
|
+
INVALID_AGENTS+=("$agent.yml (missing capabilities)")
|
|
39
|
+
fi
|
|
40
|
+
if ! grep -q "model:" "$AGENT_YML_PATH"; then
|
|
41
|
+
INVALID_AGENTS+=("$agent.yml (missing model)")
|
|
42
|
+
fi
|
|
43
|
+
fi
|
|
44
|
+
done
|
|
45
|
+
|
|
46
|
+
if [ ${#MISSING_AGENTS[@]} -eq 0 ]; then
|
|
47
|
+
echo "ā
All agent configuration files present"
|
|
48
|
+
else
|
|
49
|
+
echo "ā Missing agent configurations: ${MISSING_AGENTS[*]}"
|
|
50
|
+
fi
|
|
51
|
+
|
|
52
|
+
if [ ${#INVALID_AGENTS[@]} -eq 0 ]; then
|
|
53
|
+
echo "ā
All agent configurations are valid"
|
|
54
|
+
else
|
|
55
|
+
echo "ā Invalid agent configurations: ${INVALID_AGENTS[*]}"
|
|
56
|
+
fi
|
|
57
|
+
|
|
58
|
+
# Test 2: Multi-Agent Configuration
|
|
59
|
+
echo ""
|
|
60
|
+
echo "2ļøā£ Testing Multi-Agent Orchestration Configuration..."
|
|
61
|
+
|
|
62
|
+
# Detect if we're in .opencode directory or parent directory
|
|
63
|
+
if [ -f "oh-my-opencode.json" ]; then
|
|
64
|
+
CONFIG_FILE="oh-my-opencode.json"
|
|
65
|
+
elif [ -f ".opencode/oh-my-opencode.json" ]; then
|
|
66
|
+
CONFIG_FILE=".opencode/oh-my-opencode.json"
|
|
67
|
+
else
|
|
68
|
+
echo "ā oh-my-opencode.json not found"
|
|
69
|
+
return 1
|
|
70
|
+
fi
|
|
71
|
+
|
|
72
|
+
if grep -q '"enabled": true' "$CONFIG_FILE" && grep -q '"multi_agent_orchestration"' "$CONFIG_FILE"; then
|
|
73
|
+
echo "ā
Multi-agent orchestration is enabled"
|
|
74
|
+
else
|
|
75
|
+
echo "ā Multi-agent orchestration is not enabled"
|
|
76
|
+
fi
|
|
77
|
+
|
|
78
|
+
if grep -q '"max_concurrent_agents": 5' "$CONFIG_FILE"; then
|
|
79
|
+
echo "ā
Max concurrent agents set correctly (5)"
|
|
80
|
+
else
|
|
81
|
+
echo "ā Max concurrent agents not set correctly"
|
|
82
|
+
fi
|
|
83
|
+
|
|
84
|
+
# Test 3: Agent Delegation System
|
|
85
|
+
echo ""
|
|
86
|
+
echo "3ļøā£ Testing Agent Delegation System..."
|
|
87
|
+
node -e "
|
|
88
|
+
(async () => {
|
|
89
|
+
try {
|
|
90
|
+
const { createAgentDelegator } = await import('./dist/delegation/agent-delegator.js');
|
|
91
|
+
const { StrRayStateManager } = await import('./dist/state/state-manager.js');
|
|
92
|
+
|
|
93
|
+
const stateManager = new StrRayStateManager();
|
|
94
|
+
const delegator = createAgentDelegator(stateManager);
|
|
95
|
+
|
|
96
|
+
// Test delegation analysis
|
|
97
|
+
const result = await delegator.analyzeDelegation({
|
|
98
|
+
operation: 'test-strategy',
|
|
99
|
+
description: 'Test delegation analysis',
|
|
100
|
+
context: { test: true },
|
|
101
|
+
priority: 'medium'
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
console.log('ā
Agent delegation system operational');
|
|
105
|
+
console.log(' Strategy:', result.strategy);
|
|
106
|
+
console.log(' Agents selected:', result.agents.length);
|
|
107
|
+
|
|
108
|
+
// Test agent capabilities
|
|
109
|
+
const capabilities = delegator.getDelegationMetrics();
|
|
110
|
+
console.log('ā
Agent capabilities loaded');
|
|
111
|
+
console.log(' Total delegations tracked:', capabilities.totalDelegations);
|
|
112
|
+
|
|
113
|
+
} catch (error) {
|
|
114
|
+
console.log('ā Agent delegation system error:', error.message);
|
|
115
|
+
}
|
|
116
|
+
})();
|
|
117
|
+
" 2>/dev/null
|
|
118
|
+
|
|
119
|
+
# Test 4: Agent Event Handling
|
|
120
|
+
echo ""
|
|
121
|
+
echo "4ļøā£ Testing Agent Event Handling..."
|
|
122
|
+
node -e "
|
|
123
|
+
(async () => {
|
|
124
|
+
try {
|
|
125
|
+
const { createAgentDelegator } = await import('./dist/delegation/agent-delegator.js');
|
|
126
|
+
const { StrRayStateManager } = await import('./dist/state/state-manager.js');
|
|
127
|
+
|
|
128
|
+
const stateManager = new StrRayStateManager();
|
|
129
|
+
const delegator = createAgentDelegator(stateManager);
|
|
130
|
+
|
|
131
|
+
// Test file creation handling
|
|
132
|
+
await delegator.handleFileCreation('test-file.ts', 'console.log(\"test\");');
|
|
133
|
+
|
|
134
|
+
console.log('ā
File creation event handling operational');
|
|
135
|
+
console.log(' Test architect should have been consulted for .ts file');
|
|
136
|
+
|
|
137
|
+
} catch (error) {
|
|
138
|
+
console.log('ā File creation event handling error:', error.message);
|
|
139
|
+
}
|
|
140
|
+
})();
|
|
141
|
+
" 2>/dev/null
|
|
142
|
+
|
|
143
|
+
# Test 5: Memory Integration
|
|
144
|
+
echo ""
|
|
145
|
+
echo "5ļøā£ Testing Memory System Integration..."
|
|
146
|
+
node -e "
|
|
147
|
+
(async () => {
|
|
148
|
+
try {
|
|
149
|
+
const { memoryMonitor } = await import('./dist/monitoring/memory-monitor.js');
|
|
150
|
+
|
|
151
|
+
const stats = memoryMonitor.getCurrentStats();
|
|
152
|
+
const summary = memoryMonitor.getSummary();
|
|
153
|
+
|
|
154
|
+
console.log('ā
Memory monitoring integrated');
|
|
155
|
+
console.log(' Current heap usage:', stats.heapUsed.toFixed(2), 'MB');
|
|
156
|
+
console.log(' Memory trend:', summary.trend);
|
|
157
|
+
|
|
158
|
+
} catch (error) {
|
|
159
|
+
console.log('ā Memory system integration error:', error.message);
|
|
160
|
+
}
|
|
161
|
+
})();
|
|
162
|
+
" 2>/dev/null
|
|
163
|
+
|
|
164
|
+
# Test 6: Framework Boot Integration
|
|
165
|
+
echo ""
|
|
166
|
+
echo "6ļøā£ Testing Framework Boot Integration..."
|
|
167
|
+
if [ -f ".opencode/logs/framework-activity.log" ]; then
|
|
168
|
+
if grep -q "agent-delegator" .opencode/logs/framework-activity.log; then
|
|
169
|
+
echo "ā
Agent delegator integrated with framework boot"
|
|
170
|
+
else
|
|
171
|
+
echo "ā Agent delegator not found in framework logs"
|
|
172
|
+
fi
|
|
173
|
+
|
|
174
|
+
if grep -q "multi-agent" .opencode/logs/framework-activity.log; then
|
|
175
|
+
echo "ā
Multi-agent orchestration active in framework"
|
|
176
|
+
else
|
|
177
|
+
echo "ā Multi-agent orchestration not active"
|
|
178
|
+
fi
|
|
179
|
+
else
|
|
180
|
+
echo "ā Framework activity log not found"
|
|
181
|
+
fi
|
|
182
|
+
|
|
183
|
+
echo ""
|
|
184
|
+
echo "šÆ Multi-Agent Orchestration Validation Complete"
|
|
185
|
+
echo "=================================================="
|
|
186
|
+
echo ""
|
|
187
|
+
echo "Summary:"
|
|
188
|
+
echo "- Agent configurations: $([ ${#MISSING_AGENTS[@]} -eq 0 ] && echo "ā
Valid" || echo "ā Issues found")"
|
|
189
|
+
echo "- Multi-agent config: $(grep -q '"enabled": true' .opencode/oh-my-opencode.json && echo "ā
Enabled" || echo "ā Disabled")"
|
|
190
|
+
echo "- Delegation system: $(node -e "(async()=>{try{const{d}=await import('./dist/delegation/agent-delegator.js');const s=new(await import('./dist/state/state-manager.js')).StrRayStateManager();const d2=d.createAgentDelegator(s);await d2.analyzeDelegation({operation:'test',description:'test',context:{}});console.log('ā
Working')}catch(e){console.log('ā Error')}})();" 2>/dev/null)"
|
|
191
|
+
echo ""
|
|
192
|
+
echo "Next steps:"
|
|
193
|
+
echo "- Run 'npm run framework:init' to test full system integration"
|
|
194
|
+
echo "- Monitor .opencode/logs/ for agent delegation activity"
|
|
195
|
+
echo "- Use 'npm run memory:dashboard' to verify memory monitoring"
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
echo "š StrRay Framework - Profiling System Validation"
|
|
4
|
+
echo "==============================================="
|
|
5
|
+
|
|
6
|
+
# Colors
|
|
7
|
+
RED='\033[0;31m'
|
|
8
|
+
GREEN='\033[0;32m'
|
|
9
|
+
YELLOW='\033[1;33m'
|
|
10
|
+
NC='\033[0m'
|
|
11
|
+
|
|
12
|
+
validate_profiling() {
|
|
13
|
+
echo -e "\nš Checking profiling system components..."
|
|
14
|
+
|
|
15
|
+
# Check if profiling files exist
|
|
16
|
+
if [ -f "src/monitoring/advanced-profiler.ts" ]; then
|
|
17
|
+
echo -e "${GREEN}ā
Advanced profiler module exists${NC}"
|
|
18
|
+
else
|
|
19
|
+
echo -e "${RED}ā Advanced profiler module missing${NC}"
|
|
20
|
+
return 1
|
|
21
|
+
fi
|
|
22
|
+
|
|
23
|
+
if [ -f "src/monitoring/enterprise-monitoring-system.ts" ]; then
|
|
24
|
+
echo -e "${GREEN}ā
Enterprise monitoring system exists${NC}"
|
|
25
|
+
else
|
|
26
|
+
echo -e "${RED}ā Enterprise monitoring system missing${NC}"
|
|
27
|
+
return 1
|
|
28
|
+
fi
|
|
29
|
+
|
|
30
|
+
# Check TypeScript compilation
|
|
31
|
+
echo -e "\nš§ Checking TypeScript compilation..."
|
|
32
|
+
if command -v npx &> /dev/null; then
|
|
33
|
+
if npx tsc --noEmit --skipLibCheck src/monitoring/advanced-profiler.ts 2>/dev/null; then
|
|
34
|
+
echo -e "${GREEN}ā
Profiler TypeScript compilation successful${NC}"
|
|
35
|
+
else
|
|
36
|
+
echo -e "${RED}ā Profiler TypeScript compilation failed${NC}"
|
|
37
|
+
return 1
|
|
38
|
+
fi
|
|
39
|
+
|
|
40
|
+
if npx tsc --noEmit --skipLibCheck src/monitoring/enterprise-monitoring-system.ts 2>/dev/null; then
|
|
41
|
+
echo -e "${GREEN}ā
Monitoring system TypeScript compilation successful${NC}"
|
|
42
|
+
else
|
|
43
|
+
echo -e "${RED}ā Monitoring system TypeScript compilation failed${NC}"
|
|
44
|
+
return 1
|
|
45
|
+
fi
|
|
46
|
+
else
|
|
47
|
+
echo -e "${YELLOW}ā ļø npx not available - skipping TypeScript validation${NC}"
|
|
48
|
+
fi
|
|
49
|
+
|
|
50
|
+
# Check profiling directory
|
|
51
|
+
if [ -d ".strray/profiles" ]; then
|
|
52
|
+
echo -e "${GREEN}ā
Profiling storage directory exists${NC}"
|
|
53
|
+
local report_count=$(find .strray/profiles -name "*.json" 2>/dev/null | wc -l)
|
|
54
|
+
echo -e "${GREEN}š Found $report_count performance reports${NC}"
|
|
55
|
+
else
|
|
56
|
+
echo -e "${YELLOW}ā ļø Profiling storage directory not yet created (will be created on first run)${NC}"
|
|
57
|
+
fi
|
|
58
|
+
|
|
59
|
+
echo -e "\nš Profiling system validation completed!"
|
|
60
|
+
return 0
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
# Run validation
|
|
64
|
+
validate_profiling
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* GitHub Actions CI/CD Monitor
|
|
5
|
+
*
|
|
6
|
+
* Monitors GitHub Actions workflow status and integrates with StrRay monitoring
|
|
7
|
+
* Provides real-time feedback on CI/CD pipeline health and failures
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
const https = require('https');
|
|
11
|
+
const fs = require('fs');
|
|
12
|
+
const path = require('path');
|
|
13
|
+
|
|
14
|
+
class GitHubActionsMonitor {
|
|
15
|
+
constructor() {
|
|
16
|
+
this.owner = process.env.GITHUB_REPOSITORY?.split('/')[0] || 'strray-framework';
|
|
17
|
+
this.repo = process.env.GITHUB_REPOSITORY?.split('/')[1] || 'stringray';
|
|
18
|
+
this.token = process.env.GITHUB_TOKEN;
|
|
19
|
+
this.baseUrl = 'https://api.github.com';
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Get recent workflow runs
|
|
24
|
+
*/
|
|
25
|
+
async getWorkflowRuns(workflowName = null, limit = 10) {
|
|
26
|
+
const endpoint = `/repos/${this.owner}/${this.repo}/actions/runs`;
|
|
27
|
+
const params = new URLSearchParams({
|
|
28
|
+
per_page: limit.toString(),
|
|
29
|
+
...(workflowName && { event: workflowName })
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
const data = await this.makeRequest(`${endpoint}?${params}`);
|
|
33
|
+
return data.workflow_runs || [];
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Get workflow run details
|
|
38
|
+
*/
|
|
39
|
+
async getWorkflowRun(runId) {
|
|
40
|
+
const endpoint = `/repos/${this.owner}/${this.repo}/actions/runs/${runId}`;
|
|
41
|
+
return await this.makeRequest(endpoint);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Check workflow status and report issues
|
|
46
|
+
*/
|
|
47
|
+
async checkWorkflowStatus() {
|
|
48
|
+
console.log('š Checking GitHub Actions workflow status...');
|
|
49
|
+
|
|
50
|
+
// Check if we have required environment variables
|
|
51
|
+
if (!this.token) {
|
|
52
|
+
console.log('ā ļø No GITHUB_TOKEN provided - running in local mode');
|
|
53
|
+
return this.getLocalStatus();
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
try {
|
|
57
|
+
const runs = await this.getWorkflowRuns(null, 20);
|
|
58
|
+
|
|
59
|
+
if (runs.length === 0) {
|
|
60
|
+
console.log('ā ļø No workflow runs found');
|
|
61
|
+
return { status: 'no_runs', issues: [] };
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const issues = [];
|
|
65
|
+
const status = { total: runs.length, success: 0, failure: 0, in_progress: 0 };
|
|
66
|
+
|
|
67
|
+
for (const run of runs.slice(0, 5)) { // Check last 5 runs
|
|
68
|
+
const runStatus = run.conclusion || run.status;
|
|
69
|
+
|
|
70
|
+
switch (runStatus) {
|
|
71
|
+
case 'success':
|
|
72
|
+
status.success++;
|
|
73
|
+
break;
|
|
74
|
+
case 'failure':
|
|
75
|
+
case 'timed_out':
|
|
76
|
+
case 'action_required':
|
|
77
|
+
status.failure++;
|
|
78
|
+
issues.push({
|
|
79
|
+
workflow: run.name,
|
|
80
|
+
run_id: run.id,
|
|
81
|
+
status: runStatus,
|
|
82
|
+
created_at: run.created_at,
|
|
83
|
+
html_url: run.html_url,
|
|
84
|
+
conclusion: run.conclusion
|
|
85
|
+
});
|
|
86
|
+
break;
|
|
87
|
+
case 'in_progress':
|
|
88
|
+
case 'queued':
|
|
89
|
+
status.in_progress++;
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
const healthScore = status.total > 0 ?
|
|
95
|
+
Math.round((status.success / (status.total - status.in_progress)) * 100) : 0;
|
|
96
|
+
|
|
97
|
+
console.log(`š CI/CD Status: ${status.success}/${status.total - status.in_progress} successful (${healthScore}% health)`);
|
|
98
|
+
|
|
99
|
+
if (issues.length > 0) {
|
|
100
|
+
console.log('ā Failed workflows:');
|
|
101
|
+
issues.forEach(issue => {
|
|
102
|
+
console.log(` ⢠${issue.workflow}: ${issue.status} (${issue.html_url})`);
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
return {
|
|
107
|
+
status: healthScore > 80 ? 'healthy' : healthScore > 50 ? 'warning' : 'critical',
|
|
108
|
+
health_score: healthScore,
|
|
109
|
+
issues: issues,
|
|
110
|
+
summary: {
|
|
111
|
+
total_runs: status.total,
|
|
112
|
+
successful: status.success,
|
|
113
|
+
failed: status.failure,
|
|
114
|
+
in_progress: status.in_progress
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
} catch (error) {
|
|
119
|
+
console.error('ā Failed to check GitHub Actions status:', error.message);
|
|
120
|
+
return {
|
|
121
|
+
status: 'error',
|
|
122
|
+
error: error.message,
|
|
123
|
+
issues: []
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Get local status when GitHub API is unavailable
|
|
130
|
+
*/
|
|
131
|
+
getLocalStatus() {
|
|
132
|
+
console.log('š Running local CI/CD status check...');
|
|
133
|
+
|
|
134
|
+
// Check for local workflow files
|
|
135
|
+
const workflowDir = path.join(process.cwd(), '.github', 'workflows');
|
|
136
|
+
const workflowsExist = fs.existsSync(workflowDir);
|
|
137
|
+
let workflowFiles = [];
|
|
138
|
+
|
|
139
|
+
if (workflowsExist) {
|
|
140
|
+
workflowFiles = fs.readdirSync(workflowDir).filter(f => f.endsWith('.yml') || f.endsWith('.yaml'));
|
|
141
|
+
console.log(`ā
Found ${workflowFiles.length} workflow files locally`);
|
|
142
|
+
console.log(`š Workflows: ${workflowFiles.join(', ')}`);
|
|
143
|
+
} else {
|
|
144
|
+
console.log('ā ļø No local workflow files found');
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// Check for recent build artifacts
|
|
148
|
+
const distExists = fs.existsSync(path.join(process.cwd(), 'dist'));
|
|
149
|
+
const lastBuild = distExists ?
|
|
150
|
+
fs.statSync(path.join(process.cwd(), 'dist')).mtime.toISOString() :
|
|
151
|
+
'Never';
|
|
152
|
+
|
|
153
|
+
console.log(`š¦ Build status: ${distExists ? 'ā
Available' : 'ā Missing'} (Last: ${lastBuild})`);
|
|
154
|
+
|
|
155
|
+
return {
|
|
156
|
+
status: workflowsExist ? 'configured' : 'no_workflows',
|
|
157
|
+
health_score: workflowsExist ? 100 : 0,
|
|
158
|
+
issues: [],
|
|
159
|
+
summary: {
|
|
160
|
+
local_workflows: workflowFiles.length,
|
|
161
|
+
build_available: distExists,
|
|
162
|
+
last_build: lastBuild
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Make HTTP request to GitHub API
|
|
169
|
+
*/
|
|
170
|
+
async makeRequest(endpoint) {
|
|
171
|
+
return new Promise((resolve, reject) => {
|
|
172
|
+
const url = `${this.baseUrl}${endpoint}`;
|
|
173
|
+
const options = {
|
|
174
|
+
headers: {
|
|
175
|
+
'User-Agent': 'StrRay-CI-Monitor/1.0.0',
|
|
176
|
+
'Accept': 'application/vnd.github.v3+json',
|
|
177
|
+
...(this.token && { 'Authorization': `token ${this.token}` })
|
|
178
|
+
}
|
|
179
|
+
};
|
|
180
|
+
|
|
181
|
+
https.get(url, options, (res) => {
|
|
182
|
+
let data = '';
|
|
183
|
+
|
|
184
|
+
res.on('data', (chunk) => {
|
|
185
|
+
data += chunk;
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
res.on('end', () => {
|
|
189
|
+
try {
|
|
190
|
+
if (res.statusCode === 200) {
|
|
191
|
+
resolve(JSON.parse(data));
|
|
192
|
+
} else {
|
|
193
|
+
reject(new Error(`GitHub API error: ${res.statusCode} - ${data}`));
|
|
194
|
+
}
|
|
195
|
+
} catch (error) {
|
|
196
|
+
reject(error);
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
}).on('error', (error) => {
|
|
200
|
+
reject(error);
|
|
201
|
+
});
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Generate monitoring report
|
|
207
|
+
*/
|
|
208
|
+
async generateReport() {
|
|
209
|
+
const status = await this.checkWorkflowStatus();
|
|
210
|
+
|
|
211
|
+
const report = {
|
|
212
|
+
timestamp: new Date().toISOString(),
|
|
213
|
+
repository: `${this.owner}/${this.repo}`,
|
|
214
|
+
ci_status: status.status,
|
|
215
|
+
health_score: status.health_score || 0,
|
|
216
|
+
summary: status.summary || {},
|
|
217
|
+
issues: status.issues || [],
|
|
218
|
+
recommendations: this.generateRecommendations(status)
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
// Save report
|
|
222
|
+
const reportPath = path.join(process.cwd(), '.opencode', 'logs', 'ci-cd-monitor-report.json');
|
|
223
|
+
const reportDir = path.dirname(reportPath);
|
|
224
|
+
|
|
225
|
+
if (!fs.existsSync(reportDir)) {
|
|
226
|
+
fs.mkdirSync(reportDir, { recursive: true });
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
fs.writeFileSync(reportPath, JSON.stringify(report, null, 2));
|
|
230
|
+
console.log(`š Report saved to: ${reportPath}`);
|
|
231
|
+
|
|
232
|
+
return report;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
/**
|
|
236
|
+
* Generate recommendations based on status
|
|
237
|
+
*/
|
|
238
|
+
generateRecommendations(status) {
|
|
239
|
+
const recommendations = [];
|
|
240
|
+
|
|
241
|
+
if (status.status === 'critical') {
|
|
242
|
+
recommendations.push('šØ CRITICAL: CI/CD pipelines are failing - immediate attention required');
|
|
243
|
+
recommendations.push('š Check failed workflow logs for error details');
|
|
244
|
+
recommendations.push('š ļø Fix pipeline configuration or test failures');
|
|
245
|
+
} else if (status.status === 'warning') {
|
|
246
|
+
recommendations.push('ā ļø WARNING: CI/CD health degraded - monitor closely');
|
|
247
|
+
recommendations.push('š§ Review recent workflow failures');
|
|
248
|
+
recommendations.push('š Consider optimizing slow jobs');
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
if ((status.issues || []).length > 0) {
|
|
252
|
+
recommendations.push('š Review failed workflow runs for patterns');
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
if (status.health_score < 80) {
|
|
256
|
+
recommendations.push('šÆ Aim for >90% CI/CD success rate');
|
|
257
|
+
recommendations.push('š Consider adding retry logic for flaky tests');
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
return recommendations;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
// CLI interface
|
|
265
|
+
async function main() {
|
|
266
|
+
const monitor = new GitHubActionsMonitor();
|
|
267
|
+
|
|
268
|
+
if (process.argv.includes('--report')) {
|
|
269
|
+
const report = await monitor.generateReport();
|
|
270
|
+
console.log('\nš CI/CD Monitoring Report:');
|
|
271
|
+
console.log(`Status: ${report.ci_status.toUpperCase()}`);
|
|
272
|
+
console.log(`Health Score: ${report.health_score}%`);
|
|
273
|
+
console.log(`Issues: ${report.issues.length}`);
|
|
274
|
+
|
|
275
|
+
if (report.recommendations.length > 0) {
|
|
276
|
+
console.log('\nš” Recommendations:');
|
|
277
|
+
report.recommendations.forEach(rec => console.log(` ⢠${rec}`));
|
|
278
|
+
}
|
|
279
|
+
} else {
|
|
280
|
+
await monitor.checkWorkflowStatus();
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
// Run if called directly
|
|
285
|
+
if (require.main === module) {
|
|
286
|
+
main().catch(console.error);
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
module.exports = { GitHubActionsMonitor };
|
package/scripts/init.ts
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* StrRay Standalone Framework Initialization
|
|
5
|
+
*
|
|
6
|
+
* Converted from shell script to TypeScript for better integration
|
|
7
|
+
* and cross-platform compatibility.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { execSync, spawn } from "child_process";
|
|
11
|
+
import { existsSync, copyFileSync, mkdirSync } from "fs";
|
|
12
|
+
import { join } from "path";
|
|
13
|
+
import { compare as compareVersions } from "semver";
|
|
14
|
+
|
|
15
|
+
function log(message: string) {
|
|
16
|
+
console.log(message);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function error(message: string) {
|
|
20
|
+
console.error(`ā Error: ${message}`);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function success(message: string) {
|
|
24
|
+
console.log(`ā
${message}`);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
async function main() {
|
|
28
|
+
log("š StrRay Standalone Framework Initialization");
|
|
29
|
+
log("============================================");
|
|
30
|
+
|
|
31
|
+
// Check if we're in the right directory
|
|
32
|
+
if (!existsSync("src/codex-injector.ts")) {
|
|
33
|
+
error("Please run this script from the strray-standalone directory");
|
|
34
|
+
process.exit(1);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Check if Node.js is installed
|
|
38
|
+
try {
|
|
39
|
+
execSync("node --version", { stdio: "pipe" });
|
|
40
|
+
} catch {
|
|
41
|
+
error("Node.js is not installed. Please install Node.js 18+ first.");
|
|
42
|
+
process.exit(1);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Check Node.js version
|
|
46
|
+
const nodeVersionOutput = execSync("node --version", {
|
|
47
|
+
encoding: "utf8",
|
|
48
|
+
}).trim();
|
|
49
|
+
const nodeVersion = nodeVersionOutput.replace("v", "");
|
|
50
|
+
const requiredVersion = "18.0.0";
|
|
51
|
+
|
|
52
|
+
if (compareVersions(nodeVersion, requiredVersion) < 0) {
|
|
53
|
+
error(
|
|
54
|
+
`Node.js version ${nodeVersion} is too old. Please upgrade to Node.js 18+.`,
|
|
55
|
+
);
|
|
56
|
+
process.exit(1);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
success(`Node.js ${nodeVersion} detected`);
|
|
60
|
+
|
|
61
|
+
// Install dependencies
|
|
62
|
+
log("š¦ Installing dependencies...");
|
|
63
|
+
try {
|
|
64
|
+
// Check if bun is available
|
|
65
|
+
execSync("bun --version", { stdio: "pipe" });
|
|
66
|
+
log("š° Using Bun for faster installation...");
|
|
67
|
+
execSync("bun install", { stdio: "inherit" });
|
|
68
|
+
} catch {
|
|
69
|
+
// Fall back to npm
|
|
70
|
+
execSync("npm install", { stdio: "inherit" });
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// Build the framework
|
|
74
|
+
log("šØ Building framework...");
|
|
75
|
+
try {
|
|
76
|
+
execSync("npm run build", { stdio: "inherit" });
|
|
77
|
+
} catch {
|
|
78
|
+
error("Build failed. Please check TypeScript errors.");
|
|
79
|
+
process.exit(1);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// Validate codex
|
|
83
|
+
log("š Validating codex...");
|
|
84
|
+
try {
|
|
85
|
+
execSync("node scripts/validate-codex.js", { stdio: "inherit" });
|
|
86
|
+
} catch {
|
|
87
|
+
error("Codex validation failed.");
|
|
88
|
+
process.exit(1);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// Create .opencode directory if it doesn't exist
|
|
92
|
+
const opencodeDir = ".opencode";
|
|
93
|
+
if (!existsSync(opencodeDir)) {
|
|
94
|
+
mkdirSync(opencodeDir, { recursive: true });
|
|
95
|
+
log("š Created .opencode directory");
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// Copy necessary files to .opencode if they don't exist
|
|
99
|
+
const agentsTemplateSrc = "src/agents_template.md";
|
|
100
|
+
const agentsTemplateDest = join(opencodeDir, "agents_template.md");
|
|
101
|
+
|
|
102
|
+
if (existsSync(agentsTemplateSrc) && !existsSync(agentsTemplateDest)) {
|
|
103
|
+
copyFileSync(agentsTemplateSrc, agentsTemplateDest);
|
|
104
|
+
log("š Copied agents template to .opencode/");
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
log("");
|
|
108
|
+
success("Standalone framework ready for repository");
|
|
109
|
+
log("š” Copy this folder to a new repository to create StrRay Framework");
|
|
110
|
+
log("");
|
|
111
|
+
log("š Next steps:");
|
|
112
|
+
log(" 1. Copy this folder to your target repository");
|
|
113
|
+
log(" 2. Run 'npm run init' in the target repository");
|
|
114
|
+
log(" 3. Follow the framework documentation for setup");
|
|
115
|
+
log("");
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
main().catch((err) => {
|
|
119
|
+
error(`Unexpected error: ${err.message}`);
|
|
120
|
+
process.exit(1);
|
|
121
|
+
});
|