claude-flow-novice 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/.claude/agents/MIGRATION_SUMMARY.md +222 -0
- package/.claude/agents/README.md +89 -0
- package/.claude/agents/analysis/code-analyzer.md +209 -0
- package/.claude/agents/analysis/code-review/analyze-code-quality.md +180 -0
- package/.claude/agents/architecture/system-design/arch-system-design.md +156 -0
- package/.claude/agents/base-template-generator.md +42 -0
- package/.claude/agents/consensus/README.md +253 -0
- package/.claude/agents/consensus/byzantine-coordinator.md +63 -0
- package/.claude/agents/consensus/consensus-builder.md +242 -0
- package/.claude/agents/consensus/crdt-synchronizer.md +997 -0
- package/.claude/agents/consensus/gossip-coordinator.md +63 -0
- package/.claude/agents/consensus/performance-benchmarker.md +851 -0
- package/.claude/agents/consensus/quorum-manager.md +823 -0
- package/.claude/agents/consensus/raft-manager.md +63 -0
- package/.claude/agents/consensus/security-manager.md +622 -0
- package/.claude/agents/core/coder.md +211 -0
- package/.claude/agents/core/planner.md +116 -0
- package/.claude/agents/core/researcher.md +136 -0
- package/.claude/agents/core/reviewer.md +272 -0
- package/.claude/agents/core/tester.md +266 -0
- package/.claude/agents/data/ml/data-ml-model.md +193 -0
- package/.claude/agents/development/backend/dev-backend-api.md +142 -0
- package/.claude/agents/devops/ci-cd/ops-cicd-github.md +164 -0
- package/.claude/agents/documentation/api-docs/docs-api-openapi.md +174 -0
- package/.claude/agents/flow-nexus/app-store.md +88 -0
- package/.claude/agents/flow-nexus/authentication.md +69 -0
- package/.claude/agents/flow-nexus/challenges.md +81 -0
- package/.claude/agents/flow-nexus/neural-network.md +88 -0
- package/.claude/agents/flow-nexus/payments.md +83 -0
- package/.claude/agents/flow-nexus/sandbox.md +76 -0
- package/.claude/agents/flow-nexus/swarm.md +76 -0
- package/.claude/agents/flow-nexus/user-tools.md +96 -0
- package/.claude/agents/flow-nexus/workflow.md +84 -0
- package/.claude/agents/github/code-review-swarm.md +538 -0
- package/.claude/agents/github/github-modes.md +173 -0
- package/.claude/agents/github/issue-tracker.md +319 -0
- package/.claude/agents/github/multi-repo-swarm.md +553 -0
- package/.claude/agents/github/pr-manager.md +191 -0
- package/.claude/agents/github/project-board-sync.md +509 -0
- package/.claude/agents/github/release-manager.md +367 -0
- package/.claude/agents/github/release-swarm.md +583 -0
- package/.claude/agents/github/repo-architect.md +398 -0
- package/.claude/agents/github/swarm-issue.md +573 -0
- package/.claude/agents/github/swarm-pr.md +428 -0
- package/.claude/agents/github/sync-coordinator.md +452 -0
- package/.claude/agents/github/workflow-automation.md +635 -0
- package/.claude/agents/goal/goal-planner.md +73 -0
- package/.claude/agents/neural/safla-neural.md +74 -0
- package/.claude/agents/optimization/README.md +250 -0
- package/.claude/agents/optimization/benchmark-suite.md +665 -0
- package/.claude/agents/optimization/load-balancer.md +431 -0
- package/.claude/agents/optimization/performance-monitor.md +672 -0
- package/.claude/agents/optimization/resource-allocator.md +674 -0
- package/.claude/agents/optimization/topology-optimizer.md +808 -0
- package/.claude/agents/sparc/architecture.md +472 -0
- package/.claude/agents/sparc/pseudocode.md +318 -0
- package/.claude/agents/sparc/refinement.md +525 -0
- package/.claude/agents/sparc/specification.md +276 -0
- package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +226 -0
- package/.claude/agents/sublinear/consciousness-evolution-agent.md +499 -0
- package/.claude/agents/sublinear/matrix-solver-agent.md +113 -0
- package/.claude/agents/sublinear/nanosecond-scheduler-agent.md +644 -0
- package/.claude/agents/sublinear/pagerank-agent.md +699 -0
- package/.claude/agents/sublinear/phi-calculator-agent.md +749 -0
- package/.claude/agents/sublinear/psycho-symbolic-agent.md +543 -0
- package/.claude/agents/sublinear/sublinear.md +816 -0
- package/.claude/agents/sublinear/temporal-advantage-agent.md +360 -0
- package/.claude/agents/swarm/README.md +190 -0
- package/.claude/agents/swarm/adaptive-coordinator.md +396 -0
- package/.claude/agents/swarm/hierarchical-coordinator.md +300 -0
- package/.claude/agents/swarm/mesh-coordinator.md +435 -0
- package/.claude/agents/templates/automation-smart-agent.md +205 -0
- package/.claude/agents/templates/coordinator-swarm-init.md +90 -0
- package/.claude/agents/templates/github-pr-manager.md +177 -0
- package/.claude/agents/templates/implementer-sparc-coder.md +259 -0
- package/.claude/agents/templates/memory-coordinator.md +187 -0
- package/.claude/agents/templates/migration-plan.md +746 -0
- package/.claude/agents/templates/orchestrator-task.md +139 -0
- package/.claude/agents/templates/performance-analyzer.md +199 -0
- package/.claude/agents/templates/sparc-coordinator.md +183 -0
- package/.claude/agents/testing/e2e/playwright-agent.md +249 -0
- package/.claude/agents/testing/unit/tdd-london-swarm.md +244 -0
- package/.claude/agents/testing/validation/production-validator.md +395 -0
- package/.claude/commands/agents/README.md +10 -0
- package/.claude/commands/agents/agent-capabilities.md +21 -0
- package/.claude/commands/agents/agent-coordination.md +28 -0
- package/.claude/commands/agents/agent-spawning.md +28 -0
- package/.claude/commands/agents/agent-types.md +26 -0
- package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +54 -0
- package/.claude/commands/analysis/README.md +9 -0
- package/.claude/commands/analysis/bottleneck-detect.md +162 -0
- package/.claude/commands/analysis/performance-bottlenecks.md +59 -0
- package/.claude/commands/analysis/performance-report.md +25 -0
- package/.claude/commands/analysis/token-efficiency.md +45 -0
- package/.claude/commands/analysis/token-usage.md +25 -0
- package/.claude/commands/automation/README.md +9 -0
- package/.claude/commands/automation/auto-agent.md +122 -0
- package/.claude/commands/automation/self-healing.md +106 -0
- package/.claude/commands/automation/session-memory.md +90 -0
- package/.claude/commands/automation/smart-agents.md +73 -0
- package/.claude/commands/automation/smart-spawn.md +25 -0
- package/.claude/commands/automation/workflow-select.md +25 -0
- package/.claude/commands/coordination/README.md +9 -0
- package/.claude/commands/coordination/agent-spawn.md +25 -0
- package/.claude/commands/coordination/init.md +44 -0
- package/.claude/commands/coordination/orchestrate.md +43 -0
- package/.claude/commands/coordination/spawn.md +45 -0
- package/.claude/commands/coordination/swarm-init.md +85 -0
- package/.claude/commands/coordination/task-orchestrate.md +25 -0
- package/.claude/commands/flow-nexus/app-store.md +124 -0
- package/.claude/commands/flow-nexus/challenges.md +120 -0
- package/.claude/commands/flow-nexus/login-registration.md +65 -0
- package/.claude/commands/flow-nexus/neural-network.md +134 -0
- package/.claude/commands/flow-nexus/payments.md +116 -0
- package/.claude/commands/flow-nexus/sandbox.md +83 -0
- package/.claude/commands/flow-nexus/swarm.md +87 -0
- package/.claude/commands/flow-nexus/user-tools.md +152 -0
- package/.claude/commands/flow-nexus/workflow.md +115 -0
- package/.claude/commands/github/README.md +11 -0
- package/.claude/commands/github/code-review-swarm.md +514 -0
- package/.claude/commands/github/code-review.md +25 -0
- package/.claude/commands/github/github-modes.md +147 -0
- package/.claude/commands/github/github-swarm.md +121 -0
- package/.claude/commands/github/issue-tracker.md +292 -0
- package/.claude/commands/github/issue-triage.md +25 -0
- package/.claude/commands/github/multi-repo-swarm.md +519 -0
- package/.claude/commands/github/pr-enhance.md +26 -0
- package/.claude/commands/github/pr-manager.md +170 -0
- package/.claude/commands/github/project-board-sync.md +471 -0
- package/.claude/commands/github/release-manager.md +338 -0
- package/.claude/commands/github/release-swarm.md +544 -0
- package/.claude/commands/github/repo-analyze.md +25 -0
- package/.claude/commands/github/repo-architect.md +367 -0
- package/.claude/commands/github/swarm-issue.md +482 -0
- package/.claude/commands/github/swarm-pr.md +285 -0
- package/.claude/commands/github/sync-coordinator.md +301 -0
- package/.claude/commands/github/workflow-automation.md +442 -0
- package/.claude/commands/hive-mind/README.md +17 -0
- package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-init.md +18 -0
- package/.claude/commands/hive-mind/hive-mind-memory.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-resume.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -0
- package/.claude/commands/hive-mind/hive-mind-status.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-stop.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -0
- package/.claude/commands/hive-mind/hive-mind.md +27 -0
- package/.claude/commands/hooks/README.md +11 -0
- package/.claude/commands/hooks/overview.md +58 -0
- package/.claude/commands/hooks/post-edit.md +117 -0
- package/.claude/commands/hooks/post-task.md +112 -0
- package/.claude/commands/hooks/pre-edit.md +113 -0
- package/.claude/commands/hooks/pre-task.md +111 -0
- package/.claude/commands/hooks/session-end.md +118 -0
- package/.claude/commands/hooks/setup.md +103 -0
- package/.claude/commands/memory/README.md +9 -0
- package/.claude/commands/memory/memory-persist.md +25 -0
- package/.claude/commands/memory/memory-search.md +25 -0
- package/.claude/commands/memory/memory-usage.md +25 -0
- package/.claude/commands/memory/neural.md +47 -0
- package/.claude/commands/memory/usage.md +46 -0
- package/.claude/commands/monitoring/README.md +9 -0
- package/.claude/commands/monitoring/agent-metrics.md +25 -0
- package/.claude/commands/monitoring/agents.md +44 -0
- package/.claude/commands/monitoring/real-time-view.md +25 -0
- package/.claude/commands/monitoring/status.md +46 -0
- package/.claude/commands/monitoring/swarm-monitor.md +25 -0
- package/.claude/commands/optimization/README.md +9 -0
- package/.claude/commands/optimization/auto-topology.md +62 -0
- package/.claude/commands/optimization/cache-manage.md +25 -0
- package/.claude/commands/optimization/parallel-execute.md +25 -0
- package/.claude/commands/optimization/parallel-execution.md +50 -0
- package/.claude/commands/optimization/topology-optimize.md +25 -0
- package/.claude/commands/pair/README.md +261 -0
- package/.claude/commands/pair/commands.md +546 -0
- package/.claude/commands/pair/config.md +510 -0
- package/.claude/commands/pair/examples.md +512 -0
- package/.claude/commands/pair/modes.md +348 -0
- package/.claude/commands/pair/session.md +407 -0
- package/.claude/commands/pair/start.md +209 -0
- package/.claude/commands/sparc/analyzer.md +52 -0
- package/.claude/commands/sparc/architect.md +53 -0
- package/.claude/commands/sparc/batch-executor.md +54 -0
- package/.claude/commands/sparc/coder.md +54 -0
- package/.claude/commands/sparc/debugger.md +54 -0
- package/.claude/commands/sparc/designer.md +53 -0
- package/.claude/commands/sparc/documenter.md +54 -0
- package/.claude/commands/sparc/innovator.md +54 -0
- package/.claude/commands/sparc/memory-manager.md +54 -0
- package/.claude/commands/sparc/optimizer.md +54 -0
- package/.claude/commands/sparc/orchestrator.md +132 -0
- package/.claude/commands/sparc/researcher.md +54 -0
- package/.claude/commands/sparc/reviewer.md +54 -0
- package/.claude/commands/sparc/sparc-modes.md +174 -0
- package/.claude/commands/sparc/swarm-coordinator.md +54 -0
- package/.claude/commands/sparc/tdd.md +54 -0
- package/.claude/commands/sparc/tester.md +54 -0
- package/.claude/commands/sparc/workflow-manager.md +54 -0
- package/.claude/commands/stream-chain/pipeline.md +121 -0
- package/.claude/commands/stream-chain/run.md +70 -0
- package/.claude/commands/swarm/README.md +15 -0
- package/.claude/commands/swarm/analysis.md +95 -0
- package/.claude/commands/swarm/development.md +96 -0
- package/.claude/commands/swarm/examples.md +168 -0
- package/.claude/commands/swarm/maintenance.md +102 -0
- package/.claude/commands/swarm/optimization.md +117 -0
- package/.claude/commands/swarm/research.md +136 -0
- package/.claude/commands/swarm/swarm-analysis.md +8 -0
- package/.claude/commands/swarm/swarm-background.md +8 -0
- package/.claude/commands/swarm/swarm-init.md +19 -0
- package/.claude/commands/swarm/swarm-modes.md +8 -0
- package/.claude/commands/swarm/swarm-monitor.md +8 -0
- package/.claude/commands/swarm/swarm-spawn.md +19 -0
- package/.claude/commands/swarm/swarm-status.md +8 -0
- package/.claude/commands/swarm/swarm-strategies.md +8 -0
- package/.claude/commands/swarm/swarm.md +27 -0
- package/.claude/commands/swarm/testing.md +131 -0
- package/.claude/commands/testing/playwright-e2e.md +288 -0
- package/.claude/commands/training/README.md +9 -0
- package/.claude/commands/training/model-update.md +25 -0
- package/.claude/commands/training/neural-patterns.md +74 -0
- package/.claude/commands/training/neural-train.md +25 -0
- package/.claude/commands/training/pattern-learn.md +25 -0
- package/.claude/commands/training/specialization.md +63 -0
- package/.claude/commands/truth/start.md +143 -0
- package/.claude/commands/verify/check.md +50 -0
- package/.claude/commands/verify/start.md +128 -0
- package/.claude/commands/workflows/README.md +9 -0
- package/.claude/commands/workflows/development.md +78 -0
- package/.claude/commands/workflows/research.md +63 -0
- package/.claude/commands/workflows/workflow-create.md +25 -0
- package/.claude/commands/workflows/workflow-execute.md +25 -0
- package/.claude/commands/workflows/workflow-export.md +25 -0
- package/.claude/helpers/checkpoint-manager.sh +251 -0
- package/.claude/helpers/github-safe.js +106 -0
- package/.claude/helpers/github-setup.sh +28 -0
- package/.claude/helpers/quick-start.sh +19 -0
- package/.claude/helpers/setup-mcp.sh +18 -0
- package/.claude/helpers/standard-checkpoint-hooks.sh +179 -0
- package/.claude/settings.json +112 -0
- package/.claude/settings.local.json +10 -0
- package/CHANGELOG.md +1517 -0
- package/LICENSE +21 -0
- package/README.md +338 -0
- package/dist/src/adapters/cliffy-node.js +70 -0
- package/dist/src/adapters/cliffy-node.js.map +1 -0
- package/dist/src/agents/agent-loader.js +208 -0
- package/dist/src/agents/agent-loader.js.map +1 -0
- package/dist/src/agents/agent-manager.js +1786 -0
- package/dist/src/agents/agent-manager.js.map +1 -0
- package/dist/src/agents/agent-registry.js +356 -0
- package/dist/src/agents/agent-registry.js.map +1 -0
- package/dist/src/agents/agent-validator.js +273 -0
- package/dist/src/agents/agent-validator.js.map +1 -0
- package/dist/src/agents/github/agent-factory.js +553 -0
- package/dist/src/agents/github/agent-factory.js.map +1 -0
- package/dist/src/agents/github/compatibility/legacy-agent-mappings.js +307 -0
- package/dist/src/agents/github/compatibility/legacy-agent-mappings.js.map +1 -0
- package/dist/src/agents/github/compatibility/legacy-agent-proxy.js +334 -0
- package/dist/src/agents/github/compatibility/legacy-agent-proxy.js.map +1 -0
- package/dist/src/agents/github/core/github-collaboration-manager.js +796 -0
- package/dist/src/agents/github/core/github-collaboration-manager.js.map +1 -0
- package/dist/src/agents/github/core/github-integration-manager.js +546 -0
- package/dist/src/agents/github/core/github-integration-manager.js.map +1 -0
- package/dist/src/agents/github/core/github-release-coordinator.js +718 -0
- package/dist/src/agents/github/core/github-release-coordinator.js.map +1 -0
- package/dist/src/agents/github/index.js +68 -0
- package/dist/src/agents/github/index.js.map +1 -0
- package/dist/src/agents/github/types/index.js +6 -0
- package/dist/src/agents/github/types/index.js.map +1 -0
- package/dist/src/agents/github/utils/error-handling.js +496 -0
- package/dist/src/agents/github/utils/error-handling.js.map +1 -0
- package/dist/src/agents/github/utils/github-client.js +158 -0
- package/dist/src/agents/github/utils/github-client.js.map +1 -0
- package/dist/src/agents/github/utils/hook-integration.js +450 -0
- package/dist/src/agents/github/utils/hook-integration.js.map +1 -0
- package/dist/src/agents/github/utils/performance-optimizer.js +501 -0
- package/dist/src/agents/github/utils/performance-optimizer.js.map +1 -0
- package/dist/src/agents/hierarchical-coordinator.js +775 -0
- package/dist/src/agents/hierarchical-coordinator.js.map +1 -0
- package/dist/src/agents/lifecycle-manager.js +613 -0
- package/dist/src/agents/lifecycle-manager.js.map +1 -0
- package/dist/src/agents/mesh-coordinator.js +580 -0
- package/dist/src/agents/mesh-coordinator.js.map +1 -0
- package/dist/src/agents/simple-agent.js +89 -0
- package/dist/src/agents/simple-agent.js.map +1 -0
- package/dist/src/agents/task-agent-integration.js +240 -0
- package/dist/src/agents/task-agent-integration.js.map +1 -0
- package/dist/src/api/auth-service.js +474 -0
- package/dist/src/api/auth-service.js.map +1 -0
- package/dist/src/api/claude-api-errors.js +171 -0
- package/dist/src/api/claude-api-errors.js.map +1 -0
- package/dist/src/api/claude-client-enhanced.js +473 -0
- package/dist/src/api/claude-client-enhanced.js.map +1 -0
- package/dist/src/api/claude-client.js +527 -0
- package/dist/src/api/claude-client.js.map +1 -0
- package/dist/src/api/database-service.js +666 -0
- package/dist/src/api/database-service.js.map +1 -0
- package/dist/src/api/swarm-api.js +585 -0
- package/dist/src/api/swarm-api.js.map +1 -0
- package/dist/src/automation/test-pipeline/E2ETestGenerator.js +448 -0
- package/dist/src/automation/test-pipeline/E2ETestGenerator.js.map +1 -0
- package/dist/src/automation/test-pipeline/PerformanceMonitor.js +572 -0
- package/dist/src/automation/test-pipeline/PerformanceMonitor.js.map +1 -0
- package/dist/src/automation/test-pipeline/PipelineValidator.js +654 -0
- package/dist/src/automation/test-pipeline/PipelineValidator.js.map +1 -0
- package/dist/src/automation/test-pipeline/RegressionTestManager.js +545 -0
- package/dist/src/automation/test-pipeline/RegressionTestManager.js.map +1 -0
- package/dist/src/automation/test-pipeline/SwarmTestCoordinator.js +450 -0
- package/dist/src/automation/test-pipeline/SwarmTestCoordinator.js.map +1 -0
- package/dist/src/automation/test-pipeline/TestDataManager.js +708 -0
- package/dist/src/automation/test-pipeline/TestDataManager.js.map +1 -0
- package/dist/src/automation/test-pipeline/TestReportingSystem.js +527 -0
- package/dist/src/automation/test-pipeline/TestReportingSystem.js.map +1 -0
- package/dist/src/automation/test-pipeline/utils/chrome-mcp-integration.js +353 -0
- package/dist/src/automation/test-pipeline/utils/chrome-mcp-integration.js.map +1 -0
- package/dist/src/automation/test-pipeline/utils/swarm-coordinator.js +448 -0
- package/dist/src/automation/test-pipeline/utils/swarm-coordinator.js.map +1 -0
- package/dist/src/ci-cd/deployment-orchestrator.js +477 -0
- package/dist/src/ci-cd/deployment-orchestrator.js.map +1 -0
- package/dist/src/ci-cd/github-actions-templates.js +972 -0
- package/dist/src/ci-cd/github-actions-templates.js.map +1 -0
- package/dist/src/ci-cd/performance/PerformanceGate.js +383 -0
- package/dist/src/ci-cd/performance/PerformanceGate.js.map +1 -0
- package/dist/src/cli/agents/analyst.js +788 -0
- package/dist/src/cli/agents/analyst.js.map +1 -0
- package/dist/src/cli/agents/architect.js +846 -0
- package/dist/src/cli/agents/architect.js.map +1 -0
- package/dist/src/cli/agents/base-agent.js +437 -0
- package/dist/src/cli/agents/base-agent.js.map +1 -0
- package/dist/src/cli/agents/capabilities.js +701 -0
- package/dist/src/cli/agents/capabilities.js.map +1 -0
- package/dist/src/cli/agents/coder.js +936 -0
- package/dist/src/cli/agents/coder.js.map +1 -0
- package/dist/src/cli/agents/coordinator.js +489 -0
- package/dist/src/cli/agents/coordinator.js.map +1 -0
- package/dist/src/cli/agents/hive-agents.js +708 -0
- package/dist/src/cli/agents/hive-agents.js.map +1 -0
- package/dist/src/cli/agents/index.js +299 -0
- package/dist/src/cli/agents/index.js.map +1 -0
- package/dist/src/cli/agents/researcher.js +388 -0
- package/dist/src/cli/agents/researcher.js.map +1 -0
- package/dist/src/cli/agents/tester.js +634 -0
- package/dist/src/cli/agents/tester.js.map +1 -0
- package/dist/src/cli/cli-core.js +264 -0
- package/dist/src/cli/cli-core.js.map +1 -0
- package/dist/src/cli/commands/advanced-memory-commands.js +834 -0
- package/dist/src/cli/commands/advanced-memory-commands.js.map +1 -0
- package/dist/src/cli/commands/agent-simple.js +346 -0
- package/dist/src/cli/commands/agent-simple.js.map +1 -0
- package/dist/src/cli/commands/agent.js +368 -0
- package/dist/src/cli/commands/agent.js.map +1 -0
- package/dist/src/cli/commands/claude-api.js +237 -0
- package/dist/src/cli/commands/claude-api.js.map +1 -0
- package/dist/src/cli/commands/claude.js +132 -0
- package/dist/src/cli/commands/claude.js.map +1 -0
- package/dist/src/cli/commands/config-integration.js +395 -0
- package/dist/src/cli/commands/config-integration.js.map +1 -0
- package/dist/src/cli/commands/config.js +67 -0
- package/dist/src/cli/commands/config.js.map +1 -0
- package/dist/src/cli/commands/enterprise.js +1523 -0
- package/dist/src/cli/commands/enterprise.js.map +1 -0
- package/dist/src/cli/commands/goal-init.js +262 -0
- package/dist/src/cli/commands/goal-init.js.map +1 -0
- package/dist/src/cli/commands/help-new.js +276 -0
- package/dist/src/cli/commands/help-new.js.map +1 -0
- package/dist/src/cli/commands/help.js +1055 -0
- package/dist/src/cli/commands/help.js.map +1 -0
- package/dist/src/cli/commands/hive-mind/index.js +20 -0
- package/dist/src/cli/commands/hive-mind/index.js.map +1 -0
- package/dist/src/cli/commands/hive-mind/init.js +58 -0
- package/dist/src/cli/commands/hive-mind/init.js.map +1 -0
- package/dist/src/cli/commands/hive-mind/optimize-memory.js +362 -0
- package/dist/src/cli/commands/hive-mind/optimize-memory.js.map +1 -0
- package/dist/src/cli/commands/hive-mind/pause.js +73 -0
- package/dist/src/cli/commands/hive-mind/pause.js.map +1 -0
- package/dist/src/cli/commands/hive-mind/ps.js +104 -0
- package/dist/src/cli/commands/hive-mind/ps.js.map +1 -0
- package/dist/src/cli/commands/hive-mind/resume.js +56 -0
- package/dist/src/cli/commands/hive-mind/resume.js.map +1 -0
- package/dist/src/cli/commands/hive-mind/spawn.js +242 -0
- package/dist/src/cli/commands/hive-mind/spawn.js.map +1 -0
- package/dist/src/cli/commands/hive-mind/status.js +250 -0
- package/dist/src/cli/commands/hive-mind/status.js.map +1 -0
- package/dist/src/cli/commands/hive-mind/stop.js +116 -0
- package/dist/src/cli/commands/hive-mind/stop.js.map +1 -0
- package/dist/src/cli/commands/hive-mind/task.js +302 -0
- package/dist/src/cli/commands/hive-mind/task.js.map +1 -0
- package/dist/src/cli/commands/hive-mind/wizard.js +705 -0
- package/dist/src/cli/commands/hive-mind/wizard.js.map +1 -0
- package/dist/src/cli/commands/hive.js +506 -0
- package/dist/src/cli/commands/hive.js.map +1 -0
- package/dist/src/cli/commands/hook-types.js +5 -0
- package/dist/src/cli/commands/hook-types.js.map +1 -0
- package/dist/src/cli/commands/hook-validator.js +177 -0
- package/dist/src/cli/commands/hook-validator.js.map +1 -0
- package/dist/src/cli/commands/hook.js +303 -0
- package/dist/src/cli/commands/hook.js.map +1 -0
- package/dist/src/cli/commands/index.js +2745 -0
- package/dist/src/cli/commands/index.js.map +1 -0
- package/dist/src/cli/commands/maestro.js +242 -0
- package/dist/src/cli/commands/maestro.js.map +1 -0
- package/dist/src/cli/commands/mcp.js +148 -0
- package/dist/src/cli/commands/mcp.js.map +1 -0
- package/dist/src/cli/commands/memory.js +193 -0
- package/dist/src/cli/commands/memory.js.map +1 -0
- package/dist/src/cli/commands/migrate.js +107 -0
- package/dist/src/cli/commands/migrate.js.map +1 -0
- package/dist/src/cli/commands/monitor.js +574 -0
- package/dist/src/cli/commands/monitor.js.map +1 -0
- package/dist/src/cli/commands/neural-init.js +211 -0
- package/dist/src/cli/commands/neural-init.js.map +1 -0
- package/dist/src/cli/commands/ruv-swarm.js +555 -0
- package/dist/src/cli/commands/ruv-swarm.js.map +1 -0
- package/dist/src/cli/commands/session.js +517 -0
- package/dist/src/cli/commands/session.js.map +1 -0
- package/dist/src/cli/commands/sparc.js +486 -0
- package/dist/src/cli/commands/sparc.js.map +1 -0
- package/dist/src/cli/commands/start/event-emitter.js +35 -0
- package/dist/src/cli/commands/start/event-emitter.js.map +1 -0
- package/dist/src/cli/commands/start/index.js +9 -0
- package/dist/src/cli/commands/start/index.js.map +1 -0
- package/dist/src/cli/commands/start/process-manager.js +294 -0
- package/dist/src/cli/commands/start/process-manager.js.map +1 -0
- package/dist/src/cli/commands/start/process-ui-simple.js +322 -0
- package/dist/src/cli/commands/start/process-ui-simple.js.map +1 -0
- package/dist/src/cli/commands/start/process-ui.js +5 -0
- package/dist/src/cli/commands/start/process-ui.js.map +1 -0
- package/dist/src/cli/commands/start/start-command.js +463 -0
- package/dist/src/cli/commands/start/start-command.js.map +1 -0
- package/dist/src/cli/commands/start/system-monitor.js +268 -0
- package/dist/src/cli/commands/start/system-monitor.js.map +1 -0
- package/dist/src/cli/commands/start/types.js +22 -0
- package/dist/src/cli/commands/start/types.js.map +1 -0
- package/dist/src/cli/commands/start.js +6 -0
- package/dist/src/cli/commands/start.js.map +1 -0
- package/dist/src/cli/commands/status.js +328 -0
- package/dist/src/cli/commands/status.js.map +1 -0
- package/dist/src/cli/commands/swarm-spawn.js +56 -0
- package/dist/src/cli/commands/swarm-spawn.js.map +1 -0
- package/dist/src/cli/commands/swarm.js +567 -0
- package/dist/src/cli/commands/swarm.js.map +1 -0
- package/dist/src/cli/commands/task.js +44 -0
- package/dist/src/cli/commands/task.js.map +1 -0
- package/dist/src/cli/commands/validate-integration.js +122 -0
- package/dist/src/cli/commands/validate-integration.js.map +1 -0
- package/dist/src/cli/commands/verification.js +351 -0
- package/dist/src/cli/commands/verification.js.map +1 -0
- package/dist/src/cli/commands/workflow.js +615 -0
- package/dist/src/cli/commands/workflow.js.map +1 -0
- package/dist/src/cli/completion.js +578 -0
- package/dist/src/cli/completion.js.map +1 -0
- package/dist/src/cli/consolidated/ConsolidatedCLI.js +379 -0
- package/dist/src/cli/consolidated/ConsolidatedCLI.js.map +1 -0
- package/dist/src/cli/consolidated/core/CommandHandlers.js +833 -0
- package/dist/src/cli/consolidated/core/CommandHandlers.js.map +1 -0
- package/dist/src/cli/consolidated/core/TierManager.js +291 -0
- package/dist/src/cli/consolidated/core/TierManager.js.map +1 -0
- package/dist/src/cli/consolidated/help/InteractiveHelp.js +714 -0
- package/dist/src/cli/consolidated/help/InteractiveHelp.js.map +1 -0
- package/dist/src/cli/consolidated/index.js +62 -0
- package/dist/src/cli/consolidated/index.js.map +1 -0
- package/dist/src/cli/consolidated/intelligence/IntelligenceEngine.js +457 -0
- package/dist/src/cli/consolidated/intelligence/IntelligenceEngine.js.map +1 -0
- package/dist/src/cli/consolidated/routing/CommandRouter.js +526 -0
- package/dist/src/cli/consolidated/routing/CommandRouter.js.map +1 -0
- package/dist/src/cli/consolidated/utils/IntelligentDefaults.js +729 -0
- package/dist/src/cli/consolidated/utils/IntelligentDefaults.js.map +1 -0
- package/dist/src/cli/consolidated/utils/PerformanceOptimizer.js +416 -0
- package/dist/src/cli/consolidated/utils/PerformanceOptimizer.js.map +1 -0
- package/dist/src/cli/formatter.js +284 -0
- package/dist/src/cli/formatter.js.map +1 -0
- package/dist/src/cli/help-formatter.js +111 -0
- package/dist/src/cli/help-formatter.js.map +1 -0
- package/dist/src/cli/index-remote.js +125 -0
- package/dist/src/cli/index-remote.js.map +1 -0
- package/dist/src/cli/index.js +159 -0
- package/dist/src/cli/index.js.map +1 -0
- package/dist/src/cli/init/batch-tools.js +388 -0
- package/dist/src/cli/init/batch-tools.js.map +1 -0
- package/dist/src/cli/init/claude-config.js +401 -0
- package/dist/src/cli/init/claude-config.js.map +1 -0
- package/dist/src/cli/init/directory-structure.js +146 -0
- package/dist/src/cli/init/directory-structure.js.map +1 -0
- package/dist/src/cli/init/index.js +52 -0
- package/dist/src/cli/init/index.js.map +1 -0
- package/dist/src/cli/init/sparc-environment.js +543 -0
- package/dist/src/cli/init/sparc-environment.js.map +1 -0
- package/dist/src/cli/init/swarm-commands.js +796 -0
- package/dist/src/cli/init/swarm-commands.js.map +1 -0
- package/dist/src/cli/init/utils.js +15 -0
- package/dist/src/cli/init/utils.js.map +1 -0
- package/dist/src/cli/maestro-cli-bridge.js +426 -0
- package/dist/src/cli/maestro-cli-bridge.js.map +1 -0
- package/dist/src/cli/main.js +26 -0
- package/dist/src/cli/main.js.map +1 -0
- package/dist/src/cli/node-repl.js +652 -0
- package/dist/src/cli/node-repl.js.map +1 -0
- package/dist/src/cli/repl.js +1078 -0
- package/dist/src/cli/repl.js.map +1 -0
- package/dist/src/cli/simple-cli.js +3026 -0
- package/dist/src/cli/simple-cli.js.map +1 -0
- package/dist/src/cli/simple-mcp.js +87 -0
- package/dist/src/cli/simple-mcp.js.map +1 -0
- package/dist/src/cli/simple-orchestrator.js +857 -0
- package/dist/src/cli/simple-orchestrator.js.map +1 -0
- package/dist/src/cli/ui/compatible-ui.js +322 -0
- package/dist/src/cli/ui/compatible-ui.js.map +1 -0
- package/dist/src/cli/ui/fallback-handler.js +156 -0
- package/dist/src/cli/ui/fallback-handler.js.map +1 -0
- package/dist/src/cli/ui/index.js +32 -0
- package/dist/src/cli/ui/index.js.map +1 -0
- package/dist/src/cli/utils/environment-detector.js +228 -0
- package/dist/src/cli/utils/environment-detector.js.map +1 -0
- package/dist/src/cli/utils/prompt-defaults.js +234 -0
- package/dist/src/cli/utils/prompt-defaults.js.map +1 -0
- package/dist/src/cli/validation-helper.js +66 -0
- package/dist/src/cli/validation-helper.js.map +1 -0
- package/dist/src/communication/message-bus.js +1007 -0
- package/dist/src/communication/message-bus.js.map +1 -0
- package/dist/src/communication/reliable-communication-manager.js +374 -0
- package/dist/src/communication/reliable-communication-manager.js.map +1 -0
- package/dist/src/config/ai/decision-tree-generator.js +763 -0
- package/dist/src/config/ai/decision-tree-generator.js.map +1 -0
- package/dist/src/config/ai/project-detection-engine.js +1081 -0
- package/dist/src/config/ai/project-detection-engine.js.map +1 -0
- package/dist/src/config/config-manager.js +1285 -0
- package/dist/src/config/config-manager.js.map +1 -0
- package/dist/src/config/consent-manager.js +433 -0
- package/dist/src/config/consent-manager.js.map +1 -0
- package/dist/src/config/core/intelligent-configuration-manager.js +674 -0
- package/dist/src/config/core/intelligent-configuration-manager.js.map +1 -0
- package/dist/src/config/index.js +110 -0
- package/dist/src/config/index.js.map +1 -0
- package/dist/src/config/integration/hooks-integration.js +548 -0
- package/dist/src/config/integration/hooks-integration.js.map +1 -0
- package/dist/src/config/migration/config-migration.js +285 -0
- package/dist/src/config/migration/config-migration.js.map +1 -0
- package/dist/src/config/migration/version-migration-engine.js +984 -0
- package/dist/src/config/migration/version-migration-engine.js.map +1 -0
- package/dist/src/config/migration-manager.js +529 -0
- package/dist/src/config/migration-manager.js.map +1 -0
- package/dist/src/config/ruv-swarm-config.js +332 -0
- package/dist/src/config/ruv-swarm-config.js.map +1 -0
- package/dist/src/config/ruv-swarm-integration.js +285 -0
- package/dist/src/config/ruv-swarm-integration.js.map +1 -0
- package/dist/src/config/storage/multi-tier-storage.js +626 -0
- package/dist/src/config/storage/multi-tier-storage.js.map +1 -0
- package/dist/src/config/test-migration-fixer.js +332 -0
- package/dist/src/config/test-migration-fixer.js.map +1 -0
- package/dist/src/config/ui/progressive-disclosure-engine.js +876 -0
- package/dist/src/config/ui/progressive-disclosure-engine.js.map +1 -0
- package/dist/src/config/utils/config-export-import.js +454 -0
- package/dist/src/config/utils/config-export-import.js.map +1 -0
- package/dist/src/config/utils/zero-config-setup.js +238 -0
- package/dist/src/config/utils/zero-config-setup.js.map +1 -0
- package/dist/src/config/validation/config-validator.js +462 -0
- package/dist/src/config/validation/config-validator.js.map +1 -0
- package/dist/src/config/web-portal-config.js +343 -0
- package/dist/src/config/web-portal-config.js.map +1 -0
- package/dist/src/config/zero-config-setup.js +294 -0
- package/dist/src/config/zero-config-setup.js.map +1 -0
- package/dist/src/constants/agent-types.js +51 -0
- package/dist/src/constants/agent-types.js.map +1 -0
- package/dist/src/coordination/advanced-scheduler.js +370 -0
- package/dist/src/coordination/advanced-scheduler.js.map +1 -0
- package/dist/src/coordination/advanced-task-executor.js +481 -0
- package/dist/src/coordination/advanced-task-executor.js.map +1 -0
- package/dist/src/coordination/background-executor.js +366 -0
- package/dist/src/coordination/background-executor.js.map +1 -0
- package/dist/src/coordination/circuit-breaker.js +286 -0
- package/dist/src/coordination/circuit-breaker.js.map +1 -0
- package/dist/src/coordination/conflict-resolution.js +348 -0
- package/dist/src/coordination/conflict-resolution.js.map +1 -0
- package/dist/src/coordination/dependency-graph.js +398 -0
- package/dist/src/coordination/dependency-graph.js.map +1 -0
- package/dist/src/coordination/hive-orchestrator.js +309 -0
- package/dist/src/coordination/hive-orchestrator.js.map +1 -0
- package/dist/src/coordination/hive-protocol.js +363 -0
- package/dist/src/coordination/hive-protocol.js.map +1 -0
- package/dist/src/coordination/index.js +21 -0
- package/dist/src/coordination/index.js.map +1 -0
- package/dist/src/coordination/load-balancer.js +737 -0
- package/dist/src/coordination/load-balancer.js.map +1 -0
- package/dist/src/coordination/manager.js +360 -0
- package/dist/src/coordination/manager.js.map +1 -0
- package/dist/src/coordination/messaging.js +221 -0
- package/dist/src/coordination/messaging.js.map +1 -0
- package/dist/src/coordination/metrics.js +415 -0
- package/dist/src/coordination/metrics.js.map +1 -0
- package/dist/src/coordination/resources.js +276 -0
- package/dist/src/coordination/resources.js.map +1 -0
- package/dist/src/coordination/scheduler.js +322 -0
- package/dist/src/coordination/scheduler.js.map +1 -0
- package/dist/src/coordination/swarm-coordinator.js +585 -0
- package/dist/src/coordination/swarm-coordinator.js.map +1 -0
- package/dist/src/coordination/swarm-monitor.js +359 -0
- package/dist/src/coordination/swarm-monitor.js.map +1 -0
- package/dist/src/coordination/work-stealing.js +164 -0
- package/dist/src/coordination/work-stealing.js.map +1 -0
- package/dist/src/core/agent-manager.js +80 -0
- package/dist/src/core/agent-manager.js.map +1 -0
- package/dist/src/core/config.js +1221 -0
- package/dist/src/core/config.js.map +1 -0
- package/dist/src/core/event-bus.js +136 -0
- package/dist/src/core/event-bus.js.map +1 -0
- package/dist/src/core/index.js +6 -0
- package/dist/src/core/index.js.map +1 -0
- package/dist/src/core/json-persistence.js +112 -0
- package/dist/src/core/json-persistence.js.map +1 -0
- package/dist/src/core/logger.js +245 -0
- package/dist/src/core/logger.js.map +1 -0
- package/dist/src/core/orchestrator-fixed.js +236 -0
- package/dist/src/core/orchestrator-fixed.js.map +1 -0
- package/dist/src/core/orchestrator.js +1136 -0
- package/dist/src/core/orchestrator.js.map +1 -0
- package/dist/src/core/persistence.js +185 -0
- package/dist/src/core/persistence.js.map +1 -0
- package/dist/src/core/project-manager.js +80 -0
- package/dist/src/core/project-manager.js.map +1 -0
- package/dist/src/core/version.js +35 -0
- package/dist/src/core/version.js.map +1 -0
- package/dist/src/crdt/types.js +509 -0
- package/dist/src/crdt/types.js.map +1 -0
- package/dist/src/enterprise/analytics-manager.js +1133 -0
- package/dist/src/enterprise/analytics-manager.js.map +1 -0
- package/dist/src/enterprise/audit-manager.js +1112 -0
- package/dist/src/enterprise/audit-manager.js.map +1 -0
- package/dist/src/enterprise/cloud-manager.js +886 -0
- package/dist/src/enterprise/cloud-manager.js.map +1 -0
- package/dist/src/enterprise/deployment-manager.js +963 -0
- package/dist/src/enterprise/deployment-manager.js.map +1 -0
- package/dist/src/enterprise/index.js +8 -0
- package/dist/src/enterprise/index.js.map +1 -0
- package/dist/src/enterprise/project-manager.js +577 -0
- package/dist/src/enterprise/project-manager.js.map +1 -0
- package/dist/src/enterprise/security-manager.js +987 -0
- package/dist/src/enterprise/security-manager.js.map +1 -0
- package/dist/src/feature-flags/cli/Phase4CLI.js +463 -0
- package/dist/src/feature-flags/cli/Phase4CLI.js.map +1 -0
- package/dist/src/feature-flags/core/FeatureFlagManager.js +324 -0
- package/dist/src/feature-flags/core/FeatureFlagManager.js.map +1 -0
- package/dist/src/feature-flags/index.js +237 -0
- package/dist/src/feature-flags/index.js.map +1 -0
- package/dist/src/feature-flags/monitoring/RolloutMonitor.js +275 -0
- package/dist/src/feature-flags/monitoring/RolloutMonitor.js.map +1 -0
- package/dist/src/feature-flags/rollout/RolloutController.js +301 -0
- package/dist/src/feature-flags/rollout/RolloutController.js.map +1 -0
- package/dist/src/feature-flags/validation/HookInterceptor.js +310 -0
- package/dist/src/feature-flags/validation/HookInterceptor.js.map +1 -0
- package/dist/src/feature-flags/validation/TruthBasedValidator.js +263 -0
- package/dist/src/feature-flags/validation/TruthBasedValidator.js.map +1 -0
- package/dist/src/hive-mind/core/Agent.js +569 -0
- package/dist/src/hive-mind/core/Agent.js.map +1 -0
- package/dist/src/hive-mind/core/Communication.js +411 -0
- package/dist/src/hive-mind/core/Communication.js.map +1 -0
- package/dist/src/hive-mind/core/DatabaseManager.js +599 -0
- package/dist/src/hive-mind/core/DatabaseManager.js.map +1 -0
- package/dist/src/hive-mind/core/HiveMind.js +575 -0
- package/dist/src/hive-mind/core/HiveMind.js.map +1 -0
- package/dist/src/hive-mind/core/Memory.js +1159 -0
- package/dist/src/hive-mind/core/Memory.js.map +1 -0
- package/dist/src/hive-mind/core/MemoryMonitor.js +525 -0
- package/dist/src/hive-mind/core/MemoryMonitor.js.map +1 -0
- package/dist/src/hive-mind/core/Queen.js +753 -0
- package/dist/src/hive-mind/core/Queen.js.map +1 -0
- package/dist/src/hive-mind/index.js +21 -0
- package/dist/src/hive-mind/index.js.map +1 -0
- package/dist/src/hive-mind/integration/ConsensusEngine.js +460 -0
- package/dist/src/hive-mind/integration/ConsensusEngine.js.map +1 -0
- package/dist/src/hive-mind/integration/MCPToolWrapper.js +243 -0
- package/dist/src/hive-mind/integration/MCPToolWrapper.js.map +1 -0
- package/dist/src/hive-mind/integration/SwarmOrchestrator.js +812 -0
- package/dist/src/hive-mind/integration/SwarmOrchestrator.js.map +1 -0
- package/dist/src/hive-mind/types.js +9 -0
- package/dist/src/hive-mind/types.js.map +1 -0
- package/dist/src/hooks/index.js +197 -0
- package/dist/src/hooks/index.js.map +1 -0
- package/dist/src/index.js +11 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/integration/mock-components.js +362 -0
- package/dist/src/integration/mock-components.js.map +1 -0
- package/dist/src/integration/system-integration.js +428 -0
- package/dist/src/integration/system-integration.js.map +1 -0
- package/dist/src/integration/types.js +5 -0
- package/dist/src/integration/types.js.map +1 -0
- package/dist/src/lifecycle/communication-protocols.js +568 -0
- package/dist/src/lifecycle/communication-protocols.js.map +1 -0
- package/dist/src/lifecycle/dependency-tracker.js +799 -0
- package/dist/src/lifecycle/dependency-tracker.js.map +1 -0
- package/dist/src/lifecycle/memory-schema.js +622 -0
- package/dist/src/lifecycle/memory-schema.js.map +1 -0
- package/dist/src/maestro/maestro-swarm-coordinator.js +504 -0
- package/dist/src/maestro/maestro-swarm-coordinator.js.map +1 -0
- package/dist/src/maestro/maestro-types.js +3 -0
- package/dist/src/maestro/maestro-types.js.map +1 -0
- package/dist/src/maestro/tests/native-hive-mind-integration.test.js +382 -0
- package/dist/src/maestro/tests/native-hive-mind-integration.test.js.map +1 -0
- package/dist/src/mcp/auth.js +347 -0
- package/dist/src/mcp/auth.js.map +1 -0
- package/dist/src/mcp/claude-code-wrapper.js +717 -0
- package/dist/src/mcp/claude-code-wrapper.js.map +1 -0
- package/dist/src/mcp/claude-flow-tools.js +1365 -0
- package/dist/src/mcp/claude-flow-tools.js.map +1 -0
- package/dist/src/mcp/client.js +201 -0
- package/dist/src/mcp/client.js.map +1 -0
- package/dist/src/mcp/index.js +192 -0
- package/dist/src/mcp/index.js.map +1 -0
- package/dist/src/mcp/integrate-wrapper.js +85 -0
- package/dist/src/mcp/integrate-wrapper.js.map +1 -0
- package/dist/src/mcp/lifecycle-manager.js +348 -0
- package/dist/src/mcp/lifecycle-manager.js.map +1 -0
- package/dist/src/mcp/load-balancer.js +386 -0
- package/dist/src/mcp/load-balancer.js.map +1 -0
- package/dist/src/mcp/orchestration-integration.js +800 -0
- package/dist/src/mcp/orchestration-integration.js.map +1 -0
- package/dist/src/mcp/performance-monitor.js +489 -0
- package/dist/src/mcp/performance-monitor.js.map +1 -0
- package/dist/src/mcp/protocol-manager.js +376 -0
- package/dist/src/mcp/protocol-manager.js.map +1 -0
- package/dist/src/mcp/recovery/connection-health-monitor.js +240 -0
- package/dist/src/mcp/recovery/connection-health-monitor.js.map +1 -0
- package/dist/src/mcp/recovery/connection-state-manager.js +309 -0
- package/dist/src/mcp/recovery/connection-state-manager.js.map +1 -0
- package/dist/src/mcp/recovery/fallback-coordinator.js +288 -0
- package/dist/src/mcp/recovery/fallback-coordinator.js.map +1 -0
- package/dist/src/mcp/recovery/index.js +10 -0
- package/dist/src/mcp/recovery/index.js.map +1 -0
- package/dist/src/mcp/recovery/reconnection-manager.js +219 -0
- package/dist/src/mcp/recovery/reconnection-manager.js.map +1 -0
- package/dist/src/mcp/recovery/recovery-manager.js +262 -0
- package/dist/src/mcp/recovery/recovery-manager.js.map +1 -0
- package/dist/src/mcp/router.js +220 -0
- package/dist/src/mcp/router.js.map +1 -0
- package/dist/src/mcp/ruv-swarm-tools.js +671 -0
- package/dist/src/mcp/ruv-swarm-tools.js.map +1 -0
- package/dist/src/mcp/server-with-wrapper.js +32 -0
- package/dist/src/mcp/server-with-wrapper.js.map +1 -0
- package/dist/src/mcp/server-wrapper-mode.js +26 -0
- package/dist/src/mcp/server-wrapper-mode.js.map +1 -0
- package/dist/src/mcp/server.js +539 -0
- package/dist/src/mcp/server.js.map +1 -0
- package/dist/src/mcp/session-manager.js +338 -0
- package/dist/src/mcp/session-manager.js.map +1 -0
- package/dist/src/mcp/sparc-modes.js +455 -0
- package/dist/src/mcp/sparc-modes.js.map +1 -0
- package/dist/src/mcp/swarm-tools.js +903 -0
- package/dist/src/mcp/swarm-tools.js.map +1 -0
- package/dist/src/mcp/tests/mcp-integration.test.js +493 -0
- package/dist/src/mcp/tests/mcp-integration.test.js.map +1 -0
- package/dist/src/mcp/tools.js +426 -0
- package/dist/src/mcp/tools.js.map +1 -0
- package/dist/src/mcp/transports/base.js +5 -0
- package/dist/src/mcp/transports/base.js.map +1 -0
- package/dist/src/mcp/transports/http.js +414 -0
- package/dist/src/mcp/transports/http.js.map +1 -0
- package/dist/src/mcp/transports/stdio.js +217 -0
- package/dist/src/mcp/transports/stdio.js.map +1 -0
- package/dist/src/memory/advanced-memory-manager.js +1522 -0
- package/dist/src/memory/advanced-memory-manager.js.map +1 -0
- package/dist/src/memory/backends/base.js +5 -0
- package/dist/src/memory/backends/base.js.map +1 -0
- package/dist/src/memory/backends/markdown.js +235 -0
- package/dist/src/memory/backends/markdown.js.map +1 -0
- package/dist/src/memory/backends/sqlite.js +295 -0
- package/dist/src/memory/backends/sqlite.js.map +1 -0
- package/dist/src/memory/cache.js +177 -0
- package/dist/src/memory/cache.js.map +1 -0
- package/dist/src/memory/distributed-memory.js +745 -0
- package/dist/src/memory/distributed-memory.js.map +1 -0
- package/dist/src/memory/indexer.js +184 -0
- package/dist/src/memory/indexer.js.map +1 -0
- package/dist/src/memory/manager.js +457 -0
- package/dist/src/memory/manager.js.map +1 -0
- package/dist/src/memory/sqlite-enhanced-backend.js +529 -0
- package/dist/src/memory/sqlite-enhanced-backend.js.map +1 -0
- package/dist/src/memory/swarm-memory.js +446 -0
- package/dist/src/memory/swarm-memory.js.map +1 -0
- package/dist/src/migration/index.js +94 -0
- package/dist/src/migration/index.js.map +1 -0
- package/dist/src/migration/logger.js +110 -0
- package/dist/src/migration/logger.js.map +1 -0
- package/dist/src/migration/migration-analyzer.js +255 -0
- package/dist/src/migration/migration-analyzer.js.map +1 -0
- package/dist/src/migration/migration-runner.js +511 -0
- package/dist/src/migration/migration-runner.js.map +1 -0
- package/dist/src/migration/migration-validator.js +272 -0
- package/dist/src/migration/migration-validator.js.map +1 -0
- package/dist/src/migration/progress-reporter.js +139 -0
- package/dist/src/migration/progress-reporter.js.map +1 -0
- package/dist/src/migration/rollback-manager.js +310 -0
- package/dist/src/migration/rollback-manager.js.map +1 -0
- package/dist/src/migration/tests/migration-system.test.js +9 -0
- package/dist/src/migration/tests/migration-system.test.js.map +1 -0
- package/dist/src/migration/types.js +5 -0
- package/dist/src/migration/types.js.map +1 -0
- package/dist/src/monitoring/diagnostics.js +532 -0
- package/dist/src/monitoring/diagnostics.js.map +1 -0
- package/dist/src/monitoring/health-check.js +355 -0
- package/dist/src/monitoring/health-check.js.map +1 -0
- package/dist/src/monitoring/phase4/analytics/consensus-tracker.js +764 -0
- package/dist/src/monitoring/phase4/analytics/consensus-tracker.js.map +1 -0
- package/dist/src/monitoring/phase4/analytics/performance-assessor.js +859 -0
- package/dist/src/monitoring/phase4/analytics/performance-assessor.js.map +1 -0
- package/dist/src/monitoring/phase4/analytics/truth-score-analyzer.js +667 -0
- package/dist/src/monitoring/phase4/analytics/truth-score-analyzer.js.map +1 -0
- package/dist/src/monitoring/phase4/dashboard/monitoring-dashboard.js +1008 -0
- package/dist/src/monitoring/phase4/dashboard/monitoring-dashboard.js.map +1 -0
- package/dist/src/monitoring/phase4/rollout-decision-engine.js +849 -0
- package/dist/src/monitoring/phase4/rollout-decision-engine.js.map +1 -0
- package/dist/src/monitoring/real-time-feedback-system.js +688 -0
- package/dist/src/monitoring/real-time-feedback-system.js.map +1 -0
- package/dist/src/monitoring/real-time-monitor.js +981 -0
- package/dist/src/monitoring/real-time-monitor.js.map +1 -0
- package/dist/src/monitoring/regression/RegressionDetector.js +525 -0
- package/dist/src/monitoring/regression/RegressionDetector.js.map +1 -0
- package/dist/src/neural/NeuralDomainMapper.js +1137 -0
- package/dist/src/neural/NeuralDomainMapper.js.map +1 -0
- package/dist/src/neural/index.js +418 -0
- package/dist/src/neural/index.js.map +1 -0
- package/dist/src/neural/integration.js +590 -0
- package/dist/src/neural/integration.js.map +1 -0
- package/dist/src/providers/anthropic-provider.js +245 -0
- package/dist/src/providers/anthropic-provider.js.map +1 -0
- package/dist/src/providers/base-provider.js +389 -0
- package/dist/src/providers/base-provider.js.map +1 -0
- package/dist/src/providers/cohere-provider.js +405 -0
- package/dist/src/providers/cohere-provider.js.map +1 -0
- package/dist/src/providers/google-provider.js +376 -0
- package/dist/src/providers/google-provider.js.map +1 -0
- package/dist/src/providers/index.js +18 -0
- package/dist/src/providers/index.js.map +1 -0
- package/dist/src/providers/ollama-provider.js +400 -0
- package/dist/src/providers/ollama-provider.js.map +1 -0
- package/dist/src/providers/openai-provider.js +364 -0
- package/dist/src/providers/openai-provider.js.map +1 -0
- package/dist/src/providers/provider-manager.js +487 -0
- package/dist/src/providers/provider-manager.js.map +1 -0
- package/dist/src/providers/types.js +55 -0
- package/dist/src/providers/types.js.map +1 -0
- package/dist/src/providers/utils.js +343 -0
- package/dist/src/providers/utils.js.map +1 -0
- package/dist/src/quality-gates/automated-review-system.js +645 -0
- package/dist/src/quality-gates/automated-review-system.js.map +1 -0
- package/dist/src/resources/resource-manager.js +1275 -0
- package/dist/src/resources/resource-manager.js.map +1 -0
- package/dist/src/rollback/recovery-manager.js +1065 -0
- package/dist/src/rollback/recovery-manager.js.map +1 -0
- package/dist/src/services/agent-manager.js +308 -0
- package/dist/src/services/agent-manager.js.map +1 -0
- package/dist/src/services/agentic-flow-hooks/hook-manager.js +506 -0
- package/dist/src/services/agentic-flow-hooks/hook-manager.js.map +1 -0
- package/dist/src/services/agentic-flow-hooks/index.js +322 -0
- package/dist/src/services/agentic-flow-hooks/index.js.map +1 -0
- package/dist/src/services/agentic-flow-hooks/llm-hooks.js +445 -0
- package/dist/src/services/agentic-flow-hooks/llm-hooks.js.map +1 -0
- package/dist/src/services/agentic-flow-hooks/memory-hooks.js +558 -0
- package/dist/src/services/agentic-flow-hooks/memory-hooks.js.map +1 -0
- package/dist/src/services/agentic-flow-hooks/neural-hooks.js +595 -0
- package/dist/src/services/agentic-flow-hooks/neural-hooks.js.map +1 -0
- package/dist/src/services/agentic-flow-hooks/performance-hooks.js +640 -0
- package/dist/src/services/agentic-flow-hooks/performance-hooks.js.map +1 -0
- package/dist/src/services/agentic-flow-hooks/types.js +8 -0
- package/dist/src/services/agentic-flow-hooks/types.js.map +1 -0
- package/dist/src/services/agentic-flow-hooks/workflow-hooks.js +746 -0
- package/dist/src/services/agentic-flow-hooks/workflow-hooks.js.map +1 -0
- package/dist/src/services/performance-metrics-collector.js +529 -0
- package/dist/src/services/performance-metrics-collector.js.map +1 -0
- package/dist/src/services/swarm-coordinator.js +431 -0
- package/dist/src/services/swarm-coordinator.js.map +1 -0
- package/dist/src/services/swarm-memory-manager.js +513 -0
- package/dist/src/services/swarm-memory-manager.js.map +1 -0
- package/dist/src/services/swarm-relaunch-manager.js +408 -0
- package/dist/src/services/swarm-relaunch-manager.js.map +1 -0
- package/dist/src/services/task-handoff-service.js +361 -0
- package/dist/src/services/task-handoff-service.js.map +1 -0
- package/dist/src/swarm/__tests__/integration.test.js +229 -0
- package/dist/src/swarm/__tests__/integration.test.js.map +1 -0
- package/dist/src/swarm/__tests__/prompt-copier.test.js +346 -0
- package/dist/src/swarm/__tests__/prompt-copier.test.js.map +1 -0
- package/dist/src/swarm/advanced-orchestrator.js +1093 -0
- package/dist/src/swarm/advanced-orchestrator.js.map +1 -0
- package/dist/src/swarm/claude-code-interface.js +959 -0
- package/dist/src/swarm/claude-code-interface.js.map +1 -0
- package/dist/src/swarm/claude-flow-executor.js +218 -0
- package/dist/src/swarm/claude-flow-executor.js.map +1 -0
- package/dist/src/swarm/coordinator.js +3001 -0
- package/dist/src/swarm/coordinator.js.map +1 -0
- package/dist/src/swarm/direct-executor.js +1169 -0
- package/dist/src/swarm/direct-executor.js.map +1 -0
- package/dist/src/swarm/executor-v2.js +312 -0
- package/dist/src/swarm/executor-v2.js.map +1 -0
- package/dist/src/swarm/executor.js +813 -0
- package/dist/src/swarm/executor.js.map +1 -0
- package/dist/src/swarm/hive-mind-integration.js +700 -0
- package/dist/src/swarm/hive-mind-integration.js.map +1 -0
- package/dist/src/swarm/index.js +43 -0
- package/dist/src/swarm/index.js.map +1 -0
- package/dist/src/swarm/json-output-aggregator.js +269 -0
- package/dist/src/swarm/json-output-aggregator.js.map +1 -0
- package/dist/src/swarm/mcp-integration-wrapper.js +623 -0
- package/dist/src/swarm/mcp-integration-wrapper.js.map +1 -0
- package/dist/src/swarm/memory.js +1119 -0
- package/dist/src/swarm/memory.js.map +1 -0
- package/dist/src/swarm/optimizations/__tests__/optimization.test.js +350 -0
- package/dist/src/swarm/optimizations/__tests__/optimization.test.js.map +1 -0
- package/dist/src/swarm/optimizations/async-file-manager.js +273 -0
- package/dist/src/swarm/optimizations/async-file-manager.js.map +1 -0
- package/dist/src/swarm/optimizations/circular-buffer.js +148 -0
- package/dist/src/swarm/optimizations/circular-buffer.js.map +1 -0
- package/dist/src/swarm/optimizations/connection-pool.js +239 -0
- package/dist/src/swarm/optimizations/connection-pool.js.map +1 -0
- package/dist/src/swarm/optimizations/index.js +30 -0
- package/dist/src/swarm/optimizations/index.js.map +1 -0
- package/dist/src/swarm/optimizations/optimized-executor.js +318 -0
- package/dist/src/swarm/optimizations/optimized-executor.js.map +1 -0
- package/dist/src/swarm/optimizations/ttl-map.js +223 -0
- package/dist/src/swarm/optimizations/ttl-map.js.map +1 -0
- package/dist/src/swarm/prompt-cli.js +202 -0
- package/dist/src/swarm/prompt-cli.js.map +1 -0
- package/dist/src/swarm/prompt-copier-enhanced.js +193 -0
- package/dist/src/swarm/prompt-copier-enhanced.js.map +1 -0
- package/dist/src/swarm/prompt-copier.js +376 -0
- package/dist/src/swarm/prompt-copier.js.map +1 -0
- package/dist/src/swarm/prompt-manager.js +287 -0
- package/dist/src/swarm/prompt-manager.js.map +1 -0
- package/dist/src/swarm/prompt-utils.js +299 -0
- package/dist/src/swarm/prompt-utils.js.map +1 -0
- package/dist/src/swarm/result-aggregator.js +713 -0
- package/dist/src/swarm/result-aggregator.js.map +1 -0
- package/dist/src/swarm/sparc-executor.js +1557 -0
- package/dist/src/swarm/sparc-executor.js.map +1 -0
- package/dist/src/swarm/strategies/auto.js +751 -0
- package/dist/src/swarm/strategies/auto.js.map +1 -0
- package/dist/src/swarm/strategies/base.js +117 -0
- package/dist/src/swarm/strategies/base.js.map +1 -0
- package/dist/src/swarm/strategies/research.js +911 -0
- package/dist/src/swarm/strategies/research.js.map +1 -0
- package/dist/src/swarm/strategies/strategy-metrics-patch.js +4 -0
- package/dist/src/swarm/strategies/strategy-metrics-patch.js.map +1 -0
- package/dist/src/swarm/types.js +54 -0
- package/dist/src/swarm/types.js.map +1 -0
- package/dist/src/swarm/workers/copy-worker.js +58 -0
- package/dist/src/swarm/workers/copy-worker.js.map +1 -0
- package/dist/src/swarm-fullstack/adapters/chrome-mcp-adapter.js +412 -0
- package/dist/src/swarm-fullstack/adapters/chrome-mcp-adapter.js.map +1 -0
- package/dist/src/swarm-fullstack/adapters/shadcn-mcp-adapter.js +560 -0
- package/dist/src/swarm-fullstack/adapters/shadcn-mcp-adapter.js.map +1 -0
- package/dist/src/swarm-fullstack/cli/fullstack-cli.js +582 -0
- package/dist/src/swarm-fullstack/cli/fullstack-cli.js.map +1 -0
- package/dist/src/swarm-fullstack/config/fullstack-config.js +369 -0
- package/dist/src/swarm-fullstack/config/fullstack-config.js.map +1 -0
- package/dist/src/swarm-fullstack/core/dynamic-agent-spawner.js +687 -0
- package/dist/src/swarm-fullstack/core/dynamic-agent-spawner.js.map +1 -0
- package/dist/src/swarm-fullstack/core/enhanced-swarm-message-router.js +589 -0
- package/dist/src/swarm-fullstack/core/enhanced-swarm-message-router.js.map +1 -0
- package/dist/src/swarm-fullstack/core/fullstack-orchestrator.js +538 -0
- package/dist/src/swarm-fullstack/core/fullstack-orchestrator.js.map +1 -0
- package/dist/src/swarm-fullstack/types/index.js +8 -0
- package/dist/src/swarm-fullstack/types/index.js.map +1 -0
- package/dist/src/task/commands.js +130 -0
- package/dist/src/task/commands.js.map +1 -0
- package/dist/src/task/coordination.js +737 -0
- package/dist/src/task/coordination.js.map +1 -0
- package/dist/src/task/engine.js +490 -0
- package/dist/src/task/engine.js.map +1 -0
- package/dist/src/task/index.js +269 -0
- package/dist/src/task/index.js.map +1 -0
- package/dist/src/task/types.js +5 -0
- package/dist/src/task/types.js.map +1 -0
- package/dist/src/terminal/adapters/base.js +5 -0
- package/dist/src/terminal/adapters/base.js.map +1 -0
- package/dist/src/terminal/adapters/native.js +473 -0
- package/dist/src/terminal/adapters/native.js.map +1 -0
- package/dist/src/terminal/adapters/vscode.js +285 -0
- package/dist/src/terminal/adapters/vscode.js.map +1 -0
- package/dist/src/terminal/manager.js +237 -0
- package/dist/src/terminal/manager.js.map +1 -0
- package/dist/src/terminal/pool.js +209 -0
- package/dist/src/terminal/pool.js.map +1 -0
- package/dist/src/terminal/session.js +211 -0
- package/dist/src/terminal/session.js.map +1 -0
- package/dist/src/terminal/vscode-bridge.js +186 -0
- package/dist/src/terminal/vscode-bridge.js.map +1 -0
- package/dist/src/testing/performance/PerformanceTestRunner.js +401 -0
- package/dist/src/testing/performance/PerformanceTestRunner.js.map +1 -0
- package/dist/src/testing-integration/chrome-mcp-integration.js +556 -0
- package/dist/src/testing-integration/chrome-mcp-integration.js.map +1 -0
- package/dist/src/testing-integration/continuous-test-runner.js +509 -0
- package/dist/src/testing-integration/continuous-test-runner.js.map +1 -0
- package/dist/src/tests/validation-consistency.test.js +52 -0
- package/dist/src/tests/validation-consistency.test.js.map +1 -0
- package/dist/src/topology/adaptive-coordinator.js +691 -0
- package/dist/src/topology/adaptive-coordinator.js.map +1 -0
- package/dist/src/topology/communication-bridge.js +551 -0
- package/dist/src/topology/communication-bridge.js.map +1 -0
- package/dist/src/topology/enhanced-hierarchical-coordinator.js +1732 -0
- package/dist/src/topology/enhanced-hierarchical-coordinator.js.map +1 -0
- package/dist/src/topology/enhanced-mesh-coordinator.js +1271 -0
- package/dist/src/topology/enhanced-mesh-coordinator.js.map +1 -0
- package/dist/src/topology/topology-manager.js +797 -0
- package/dist/src/topology/topology-manager.js.map +1 -0
- package/dist/src/topology/types.js +8 -0
- package/dist/src/topology/types.js.map +1 -0
- package/dist/src/types/agent-lifecycle-types.js +172 -0
- package/dist/src/types/agent-lifecycle-types.js.map +1 -0
- package/dist/src/types/agent-types.js +11 -0
- package/dist/src/types/agent-types.js.map +1 -0
- package/dist/src/types/cliffy.d.js +9 -0
- package/dist/src/types/cliffy.d.js.map +1 -0
- package/dist/src/types/global.d.js +5 -0
- package/dist/src/types/global.d.js.map +1 -0
- package/dist/src/types/index.js +16 -0
- package/dist/src/types/index.js.map +1 -0
- package/dist/src/types/mcp.d.js +3 -0
- package/dist/src/types/mcp.d.js.map +1 -0
- package/dist/src/types/vscode.d.js +4 -0
- package/dist/src/types/vscode.d.js.map +1 -0
- package/dist/src/ui/hive-dashboard.js +284 -0
- package/dist/src/ui/hive-dashboard.js.map +1 -0
- package/dist/src/utils/error-handler.js +27 -0
- package/dist/src/utils/error-handler.js.map +1 -0
- package/dist/src/utils/errors.js +195 -0
- package/dist/src/utils/errors.js.map +1 -0
- package/dist/src/utils/formatters.js +66 -0
- package/dist/src/utils/formatters.js.map +1 -0
- package/dist/src/utils/helpers.js +451 -0
- package/dist/src/utils/helpers.js.map +1 -0
- package/dist/src/utils/paths.js +43 -0
- package/dist/src/utils/paths.js.map +1 -0
- package/dist/src/utils/type-guards.js +119 -0
- package/dist/src/utils/type-guards.js.map +1 -0
- package/dist/src/utils/types.js +38 -0
- package/dist/src/utils/types.js.map +1 -0
- package/dist/src/verification/agent-scorer.js +633 -0
- package/dist/src/verification/agent-scorer.js.map +1 -0
- package/dist/src/verification/alert-manager.js +1126 -0
- package/dist/src/verification/alert-manager.js.map +1 -0
- package/dist/src/verification/api/types/index.js +6 -0
- package/dist/src/verification/api/types/index.js.map +1 -0
- package/dist/src/verification/checkpoint-manager.js +519 -0
- package/dist/src/verification/checkpoint-manager.js.map +1 -0
- package/dist/src/verification/cli-integration.js +500 -0
- package/dist/src/verification/cli-integration.js.map +1 -0
- package/dist/src/verification/conflict-resolver.js +534 -0
- package/dist/src/verification/conflict-resolver.js.map +1 -0
- package/dist/src/verification/crdt-coordinator.js +506 -0
- package/dist/src/verification/crdt-coordinator.js.map +1 -0
- package/dist/src/verification/dashboard-exporter.js +876 -0
- package/dist/src/verification/dashboard-exporter.js.map +1 -0
- package/dist/src/verification/demo.js +320 -0
- package/dist/src/verification/demo.js.map +1 -0
- package/dist/src/verification/examples.js +508 -0
- package/dist/src/verification/examples.js.map +1 -0
- package/dist/src/verification/hooks.js +961 -0
- package/dist/src/verification/hooks.js.map +1 -0
- package/dist/src/verification/index.js +73 -0
- package/dist/src/verification/index.js.map +1 -0
- package/dist/src/verification/interfaces.js +7 -0
- package/dist/src/verification/interfaces.js.map +1 -0
- package/dist/src/verification/memory-manager.js +510 -0
- package/dist/src/verification/memory-manager.js.map +1 -0
- package/dist/src/verification/middleware.js +579 -0
- package/dist/src/verification/middleware.js.map +1 -0
- package/dist/src/verification/rollback-engine.js +511 -0
- package/dist/src/verification/rollback-engine.js.map +1 -0
- package/dist/src/verification/rollback.js +1710 -0
- package/dist/src/verification/rollback.js.map +1 -0
- package/dist/src/verification/security-bypass-test.js +704 -0
- package/dist/src/verification/security-bypass-test.js.map +1 -0
- package/dist/src/verification/security.js +1125 -0
- package/dist/src/verification/security.js.map +1 -0
- package/dist/src/verification/simple-hooks.js +189 -0
- package/dist/src/verification/simple-hooks.js.map +1 -0
- package/dist/src/verification/system-tracker.js +657 -0
- package/dist/src/verification/system-tracker.js.map +1 -0
- package/dist/src/verification/telemetry.js +922 -0
- package/dist/src/verification/telemetry.js.map +1 -0
- package/dist/src/verification/test-verification.js +43 -0
- package/dist/src/verification/test-verification.js.map +1 -0
- package/dist/src/verification/tests/e2e/verification-pipeline.test.js +1027 -0
- package/dist/src/verification/tests/e2e/verification-pipeline.test.js.map +1 -0
- package/dist/src/verification/tests/integration/cross-agent-communication.test.js +638 -0
- package/dist/src/verification/tests/integration/cross-agent-communication.test.js.map +1 -0
- package/dist/src/verification/tests/mocks/false-reporting-scenarios.test.js +1029 -0
- package/dist/src/verification/tests/mocks/false-reporting-scenarios.test.js.map +1 -0
- package/dist/src/verification/tests/performance/verification-overhead.test.js +587 -0
- package/dist/src/verification/tests/performance/verification-overhead.test.js.map +1 -0
- package/dist/src/verification/tests/unit/truth-scoring.test.js +579 -0
- package/dist/src/verification/tests/unit/truth-scoring.test.js.map +1 -0
- package/dist/src/verification/tests.js +611 -0
- package/dist/src/verification/tests.js.map +1 -0
- package/dist/src/verification/truth-scorer.js +584 -0
- package/dist/src/verification/truth-scorer.js.map +1 -0
- package/dist/src/verification/types.js +56 -0
- package/dist/src/verification/types.js.map +1 -0
- package/dist/src/verification/verification-pipeline.js +884 -0
- package/dist/src/verification/verification-pipeline.js.map +1 -0
- package/dist/src/web/messaging/agent-status-tracker.js +447 -0
- package/dist/src/web/messaging/agent-status-tracker.js.map +1 -0
- package/dist/src/web/messaging/human-intervention-system.js +298 -0
- package/dist/src/web/messaging/human-intervention-system.js.map +1 -0
- package/dist/src/web/messaging/message-filter.js +289 -0
- package/dist/src/web/messaging/message-filter.js.map +1 -0
- package/dist/src/web/messaging/swarm-message-router.js +320 -0
- package/dist/src/web/messaging/swarm-message-router.js.map +1 -0
- package/dist/src/web/messaging/transparency-logger.js +415 -0
- package/dist/src/web/messaging/transparency-logger.js.map +1 -0
- package/dist/src/web/portal-server.js +440 -0
- package/dist/src/web/portal-server.js.map +1 -0
- package/dist/src/web/server.js +311 -0
- package/dist/src/web/server.js.map +1 -0
- package/dist/src/web/websocket/websocket-manager.js +509 -0
- package/dist/src/web/websocket/websocket-manager.js.map +1 -0
- package/dist/src/workflows/feature-lifecycle-manager.js +386 -0
- package/dist/src/workflows/feature-lifecycle-manager.js.map +1 -0
- package/dist/src/workflows/fullstack-coordination-manager.js +801 -0
- package/dist/src/workflows/fullstack-coordination-manager.js.map +1 -0
- package/dist/src/workflows/iterative-development-orchestrator.js +1128 -0
- package/dist/src/workflows/iterative-development-orchestrator.js.map +1 -0
- package/dist/src/workflows/progressive-rollout-manager.js +710 -0
- package/dist/src/workflows/progressive-rollout-manager.js.map +1 -0
- package/package.json +264 -0
- package/scripts/README.md +339 -0
- package/scripts/post-install-claude-md.js +50 -0
- package/src/commands/dependency-recommendations.js +551 -0
- package/src/commands/suggest-improvements.js +492 -0
- package/src/commands/suggest-templates.js +916 -0
- package/src/npx/claude-md-protection.js +169 -0
- package/wiki/INDEX.md +264 -0
- package/wiki/NAVIGATION.md +270 -0
- package/wiki/README.md +101 -0
- package/wiki/accessibility/README.md +103 -0
- package/wiki/accessibility/assistive-tech/screen-reader-support.md +912 -0
- package/wiki/accessibility/automation/agent-testing-automation.md +880 -0
- package/wiki/accessibility/guidelines/wcag-compliance.md +278 -0
- package/wiki/accessibility/i18n/internationalization-strategies.md +1022 -0
- package/wiki/accessibility/motor-accessibility/keyboard-navigation.md +1182 -0
- package/wiki/accessibility/patterns/inclusive-design-patterns.md +715 -0
- package/wiki/accessibility/testing/automated-testing.md +665 -0
- package/wiki/accessibility/visual-design/color-contrast.md +926 -0
- package/wiki/accessibility/workflows/accessibility-first-development.md +916 -0
- package/wiki/accessibility/workflows/inclusive-design-review.md +835 -0
- package/wiki/api-reference/README.md +565 -0
- package/wiki/api-reference/agent-management-api.md +931 -0
- package/wiki/api-reference/cli-api.md +630 -0
- package/wiki/api-reference/configuration-api.md +1355 -0
- package/wiki/api-reference/examples-code-samples.md +2241 -0
- package/wiki/api-reference/hooks-coordination-api.md +1406 -0
- package/wiki/api-reference/mcp-tool-specifications.md +944 -0
- package/wiki/api-reference/plugin-development.md +1695 -0
- package/wiki/api-reference/technical-architecture.md +1729 -0
- package/wiki/command-reference/README.md +305 -0
- package/wiki/command-reference/agent-commands.md +571 -0
- package/wiki/command-reference/cli-commands.md +516 -0
- package/wiki/command-reference/command-syntax.md +676 -0
- package/wiki/command-reference/expert/README.md +616 -0
- package/wiki/command-reference/expert-tier.md +791 -0
- package/wiki/command-reference/intermediate/README.md +628 -0
- package/wiki/command-reference/intermediate-tier.md +1024 -0
- package/wiki/command-reference/mcp-integration.md +412 -0
- package/wiki/command-reference/mcp-tools/README.md +1743 -0
- package/wiki/command-reference/mcp-tools/dual-access-workflows.md +911 -0
- package/wiki/command-reference/mcp-tools/index.md +201 -0
- package/wiki/command-reference/mcp-tools/integration-patterns.md +830 -0
- package/wiki/command-reference/mcp-tools/quick-reference.md +383 -0
- package/wiki/command-reference/mcp-tools/session-management.md +1183 -0
- package/wiki/command-reference/mcp-tools/task-tool-integration.md +827 -0
- package/wiki/command-reference/novice/README.md +661 -0
- package/wiki/command-reference/novice-tier.md +1142 -0
- package/wiki/command-reference/progression-guide.md +772 -0
- package/wiki/command-reference/troubleshooting.md +803 -0
- package/wiki/command-reference/workflows.md +752 -0
- package/wiki/community/README.md +328 -0
- package/wiki/community/contributing/README.md +623 -0
- package/wiki/community/contributing/code-of-conduct.md +388 -0
- package/wiki/community/contributing/collaboration-workflows.md +1 -0
- package/wiki/community/contributing/issue-reporting.md +1 -0
- package/wiki/community/contributing/onboarding-guide.md +1 -0
- package/wiki/community/contributing/recognition-system.md +1 -0
- package/wiki/community/discussions/README.md +54 -0
- package/wiki/community/learning-resources.md +476 -0
- package/wiki/community/showcase/README.md +1 -0
- package/wiki/core-concepts/README.md +656 -0
- package/wiki/core-concepts/agent-feedback-hooks/README.md +298 -0
- package/wiki/core-concepts/agents/README.md +392 -0
- package/wiki/core-concepts/agents/agent-creation-guide.md +431 -0
- package/wiki/core-concepts/agents.md +301 -0
- package/wiki/core-concepts/architecture.md +227 -0
- package/wiki/core-concepts/hooks-lifecycle/README.md +543 -0
- package/wiki/core-concepts/integration.md +507 -0
- package/wiki/core-concepts/memory-system/README.md +521 -0
- package/wiki/core-concepts/performance.md +463 -0
- package/wiki/core-concepts/sparc-methodology/README.md +465 -0
- package/wiki/core-concepts/sparc-workflow.md +407 -0
- package/wiki/core-concepts/swarm-coordination/README.md +525 -0
- package/wiki/core-concepts/swarm-coordination.md +453 -0
- package/wiki/cost-optimization/enterprise-cost-management.md +1356 -0
- package/wiki/deployment/enterprise-deployment-patterns.md +1739 -0
- package/wiki/enterprise-architecture/enterprise-architecture-overview.md +348 -0
- package/wiki/enterprise-architecture/enterprise-scaling-patterns.md +1184 -0
- package/wiki/examples/README.md +288 -0
- package/wiki/examples/automation/cicd-pipeline/README.md +1265 -0
- package/wiki/examples/basic/hello-world/README.md +434 -0
- package/wiki/examples/basic-projects/README.md +427 -0
- package/wiki/examples/enterprise-integration/README.md +602 -0
- package/wiki/examples/integration-patterns.md +825 -0
- package/wiki/examples/legacy-migration/README.md +656 -0
- package/wiki/examples/multi-cloud/README.md +1071 -0
- package/wiki/examples/performance-benchmarks.md +729 -0
- package/wiki/examples/performance-optimization/README.md +1214 -0
- package/wiki/examples/projects/rest-api/README.md +845 -0
- package/wiki/examples/real-time-collaboration/README.md +1092 -0
- package/wiki/examples/scenarios/ecommerce/README.md +1273 -0
- package/wiki/examples/swarm-patterns.md +1026 -0
- package/wiki/examples/templates/download-system.md +993 -0
- package/wiki/examples/templates/javascript/README.md +487 -0
- package/wiki/examples/templates/javascript/package.json +119 -0
- package/wiki/examples/troubleshooting/README.md +1317 -0
- package/wiki/examples/utilities/patterns/README.md +1347 -0
- package/wiki/examples/videos/01-setup.md +403 -0
- package/wiki/examples/workflow-automation/README.md +1023 -0
- package/wiki/getting-started/README.md +398 -0
- package/wiki/getting-started/benefits.md +451 -0
- package/wiki/getting-started/claude-code-mcp/README.md +319 -0
- package/wiki/getting-started/claude-code-mcp/setup.md +431 -0
- package/wiki/getting-started/claude-code-mcp/usage-examples.md +501 -0
- package/wiki/getting-started/cli-access/README.md +300 -0
- package/wiki/getting-started/cli-access/first-commands.md +319 -0
- package/wiki/getting-started/installation/README.md +469 -0
- package/wiki/getting-started/installation/troubleshooting.md +617 -0
- package/wiki/getting-started/learning-path.md +494 -0
- package/wiki/getting-started/learning-plan-generator.md +434 -0
- package/wiki/getting-started/quick-start/README.md +255 -0
- package/wiki/getting-started/quick-start/cli-tutorial.md +680 -0
- package/wiki/getting-started/quick-start/mcp-tutorial.md +544 -0
- package/wiki/governance/multi-project-coordination.md +820 -0
- package/wiki/languages/README.md +349 -0
- package/wiki/languages/go/README.md +124 -0
- package/wiki/languages/go/examples/README.md +1066 -0
- package/wiki/languages/go/frameworks/README.md +708 -0
- package/wiki/languages/go/integration/README.md +748 -0
- package/wiki/languages/go/microservices/README.md +1185 -0
- package/wiki/languages/go/performance/README.md +1310 -0
- package/wiki/languages/go/setup/README.md +397 -0
- package/wiki/languages/go/systems/README.md +1116 -0
- package/wiki/languages/go/testing/README.md +999 -0
- package/wiki/languages/java/README.md +217 -0
- package/wiki/languages/java/claude-flow-integration.md +1220 -0
- package/wiki/languages/java/enterprise-java.md +1247 -0
- package/wiki/languages/java/examples.md +1712 -0
- package/wiki/languages/java/microservices.md +1600 -0
- package/wiki/languages/java/performance.md +1122 -0
- package/wiki/languages/java/project-setup.md +504 -0
- package/wiki/languages/java/spring-boot.md +756 -0
- package/wiki/languages/java/testing.md +1323 -0
- package/wiki/languages/javascript/README.md +575 -0
- package/wiki/languages/javascript/api/README.md +1445 -0
- package/wiki/languages/javascript/backend/README.md +748 -0
- package/wiki/languages/javascript/frontend/README.md +1048 -0
- package/wiki/languages/javascript/integration.md +1107 -0
- package/wiki/languages/javascript/setup/README.md +438 -0
- package/wiki/languages/javascript/testing/README.md +1775 -0
- package/wiki/languages/python/README.md +1002 -0
- package/wiki/languages/python/data-science/README.md +1317 -0
- package/wiki/languages/python/examples/README.md +911 -0
- package/wiki/languages/python/integration.md +1515 -0
- package/wiki/languages/python/mcp-integration.md +843 -0
- package/wiki/languages/python/setup/README.md +622 -0
- package/wiki/languages/python/testing/README.md +1680 -0
- package/wiki/languages/python/web-development/README.md +974 -0
- package/wiki/languages/rust/README.md +936 -0
- package/wiki/languages/rust/examples/cli-mcp-workflows.md +850 -0
- package/wiki/languages/rust/examples/rest-api.md +1927 -0
- package/wiki/languages/rust/setup/cargo-integration.md +780 -0
- package/wiki/languages/rust/testing/quality-validation.md +1098 -0
- package/wiki/languages/rust/web-development/axum.md +1497 -0
- package/wiki/languages/rust/workflows/systems-programming.md +1189 -0
- package/wiki/languages/typescript/README.md +581 -0
- package/wiki/languages/typescript/automation.md +1070 -0
- package/wiki/languages/typescript/coordination.md +971 -0
- package/wiki/languages/typescript/enterprise.md +1368 -0
- package/wiki/languages/typescript/frameworks.md +970 -0
- package/wiki/languages/typescript/migration.md +1384 -0
- package/wiki/languages/typescript/patterns.md +694 -0
- package/wiki/languages/typescript/performance.md +1195 -0
- package/wiki/languages/typescript/setup.md +516 -0
- package/wiki/languages/typescript/workflows.md +481 -0
- package/wiki/monitoring/enterprise-observability.md +1141 -0
- package/wiki/security/enterprise-security-framework.md +1174 -0
- package/wiki/team-coordination/team-scaling-strategies.md +1486 -0
- package/wiki/troubleshooting/README.md +654 -0
- package/wiki/troubleshooting/common-issues/README.md +659 -0
- package/wiki/troubleshooting/common-issues.md +458 -0
- package/wiki/troubleshooting/error-resolution.md +763 -0
- package/wiki/troubleshooting/performance-optimization.md +540 -0
- package/wiki/tutorials/README.md +607 -0
- package/wiki/tutorials/advanced/01-multi-agent-orchestration-patterns.md +585 -0
- package/wiki/tutorials/advanced/02-enterprise-architecture-development.md +661 -0
- package/wiki/tutorials/advanced/03-advanced-sparc-methodology.md +595 -0
- package/wiki/tutorials/advanced/04-performance-optimization-workflows.md +613 -0
- package/wiki/tutorials/advanced/05-custom-agent-development.md +681 -0
- package/wiki/tutorials/advanced/06-legacy-system-integration.md +574 -0
- package/wiki/tutorials/advanced/07-production-deployment-monitoring.md +684 -0
- package/wiki/tutorials/advanced/08-enterprise-scenarios.md +700 -0
- package/wiki/tutorials/advanced/README.md +577 -0
- package/wiki/tutorials/advanced/performance-optimization.md +476 -0
- package/wiki/tutorials/advanced/swarm-orchestration.md +627 -0
- package/wiki/tutorials/beginner/01-first-project.md +532 -0
- package/wiki/tutorials/beginner/02-basic-workflows.md +523 -0
- package/wiki/tutorials/beginner/03-simple-automation.md +641 -0
- package/wiki/tutorials/beginner/04-quality-testing.md +984 -0
- package/wiki/tutorials/beginner/README.md +388 -0
- package/wiki/tutorials/exercises/ecommerce-platform.md +1370 -0
- package/wiki/tutorials/intermediate/01-multi-agent-teams.md +961 -0
- package/wiki/tutorials/intermediate/README.md +452 -0
- package/wiki/tutorials/intermediate/optimization.md +402 -0
- package/wiki/tutorials/skill-assessment.md +522 -0
- package/wiki/tutorials/skill-competency-matrix.md +548 -0
- package/wiki/tutorials/troubleshooting/command-cheatsheet.md +425 -0
- package/wiki/tutorials/troubleshooting/setup-issues.md +717 -0
- package/wiki/video-tutorials/README.md +202 -0
- package/wiki/video-tutorials/accessibility/README.md +1349 -0
- package/wiki/video-tutorials/community/README.md +1366 -0
- package/wiki/video-tutorials/content-organization/README.md +1295 -0
- package/wiki/video-tutorials/distribution/README.md +1093 -0
- package/wiki/video-tutorials/editing/README.md +751 -0
- package/wiki/video-tutorials/interactive/README.md +1151 -0
- package/wiki/video-tutorials/multi-language/README.md +1384 -0
- package/wiki/video-tutorials/planning/README.md +461 -0
- package/wiki/video-tutorials/recording/README.md +619 -0
- package/wiki/video-tutorials/technical-specs/README.md +1018 -0
|
@@ -0,0 +1,1729 @@
|
|
|
1
|
+
# Technical Architecture Reference
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This document provides comprehensive technical architecture documentation for Claude Flow, covering system design patterns, internal APIs, data structures, and implementation details for developers building on or extending the platform.
|
|
6
|
+
|
|
7
|
+
## Table of Contents
|
|
8
|
+
|
|
9
|
+
- [System Architecture](#system-architecture)
|
|
10
|
+
- [Core Components](#core-components)
|
|
11
|
+
- [Data Flow & Communication](#data-flow--communication)
|
|
12
|
+
- [Storage Architecture](#storage-architecture)
|
|
13
|
+
- [Coordination Patterns](#coordination-patterns)
|
|
14
|
+
- [Performance Architecture](#performance-architecture)
|
|
15
|
+
- [Security Architecture](#security-architecture)
|
|
16
|
+
- [Extensibility Framework](#extensibility-framework)
|
|
17
|
+
- [Deployment Architecture](#deployment-architecture)
|
|
18
|
+
|
|
19
|
+
## System Architecture
|
|
20
|
+
|
|
21
|
+
### High-Level Architecture
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
interface SystemArchitecture {
|
|
25
|
+
// Core layers
|
|
26
|
+
presentation: PresentationLayer;
|
|
27
|
+
application: ApplicationLayer;
|
|
28
|
+
domain: DomainLayer;
|
|
29
|
+
infrastructure: InfrastructureLayer;
|
|
30
|
+
|
|
31
|
+
// Cross-cutting concerns
|
|
32
|
+
security: SecurityLayer;
|
|
33
|
+
monitoring: MonitoringLayer;
|
|
34
|
+
configuration: ConfigurationLayer;
|
|
35
|
+
logging: LoggingLayer;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Layered architecture with dependency inversion
|
|
39
|
+
interface PresentationLayer {
|
|
40
|
+
cli: CLIInterface;
|
|
41
|
+
api: RESTAPIInterface;
|
|
42
|
+
websocket: WebSocketInterface;
|
|
43
|
+
ui: UserInterface;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
interface ApplicationLayer {
|
|
47
|
+
services: ApplicationServices;
|
|
48
|
+
workflows: WorkflowOrchestrator;
|
|
49
|
+
coordination: CoordinationEngine;
|
|
50
|
+
integration: IntegrationManager;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
interface DomainLayer {
|
|
54
|
+
agents: AgentDomain;
|
|
55
|
+
swarms: SwarmDomain;
|
|
56
|
+
tasks: TaskDomain;
|
|
57
|
+
memory: MemoryDomain;
|
|
58
|
+
neural: NeuralDomain;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
interface InfrastructureLayer {
|
|
62
|
+
persistence: PersistenceLayer;
|
|
63
|
+
messaging: MessagingLayer;
|
|
64
|
+
networking: NetworkingLayer;
|
|
65
|
+
filesystem: FileSystemLayer;
|
|
66
|
+
external: ExternalServiceLayer;
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Component Dependencies
|
|
71
|
+
|
|
72
|
+
```typescript
|
|
73
|
+
// Dependency injection container
|
|
74
|
+
class SystemContainer {
|
|
75
|
+
private dependencies = new Map<string, any>();
|
|
76
|
+
private singletons = new Map<string, any>();
|
|
77
|
+
|
|
78
|
+
register<T>(token: string, factory: () => T, singleton: boolean = false): void {
|
|
79
|
+
this.dependencies.set(token, { factory, singleton });
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
resolve<T>(token: string): T {
|
|
83
|
+
const dependency = this.dependencies.get(token);
|
|
84
|
+
if (!dependency) {
|
|
85
|
+
throw new Error(`Dependency not found: ${token}`);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
if (dependency.singleton) {
|
|
89
|
+
if (!this.singletons.has(token)) {
|
|
90
|
+
this.singletons.set(token, dependency.factory());
|
|
91
|
+
}
|
|
92
|
+
return this.singletons.get(token);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
return dependency.factory();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// System bootstrap
|
|
100
|
+
class SystemBootstrap {
|
|
101
|
+
static async initialize(): Promise<SystemContainer> {
|
|
102
|
+
const container = new SystemContainer();
|
|
103
|
+
|
|
104
|
+
// Register core services
|
|
105
|
+
container.register('logger', () => new WinstonLogger(), true);
|
|
106
|
+
container.register('eventBus', () => new EventEmitter(), true);
|
|
107
|
+
container.register('configManager', () => new IntelligentConfigurationManager(), true);
|
|
108
|
+
|
|
109
|
+
// Register domain services
|
|
110
|
+
container.register('agentManager', () => new AgentManager(
|
|
111
|
+
container.resolve('logger'),
|
|
112
|
+
container.resolve('eventBus')
|
|
113
|
+
), true);
|
|
114
|
+
|
|
115
|
+
container.register('swarmCoordinator', () => new SwarmCoordinator(
|
|
116
|
+
container.resolve('agentManager'),
|
|
117
|
+
container.resolve('eventBus')
|
|
118
|
+
), true);
|
|
119
|
+
|
|
120
|
+
// Register application services
|
|
121
|
+
container.register('cliInterface', () => new ConsolidatedCLI(
|
|
122
|
+
container.resolve('agentManager'),
|
|
123
|
+
container.resolve('configManager')
|
|
124
|
+
));
|
|
125
|
+
|
|
126
|
+
// Initialize and return container
|
|
127
|
+
await container.resolve('configManager').initialize();
|
|
128
|
+
return container;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Core Components
|
|
134
|
+
|
|
135
|
+
### Agent Framework Architecture
|
|
136
|
+
|
|
137
|
+
```typescript
|
|
138
|
+
// Agent lifecycle state machine
|
|
139
|
+
enum AgentLifecycleState {
|
|
140
|
+
CREATED = 'created',
|
|
141
|
+
INITIALIZING = 'initializing',
|
|
142
|
+
READY = 'ready',
|
|
143
|
+
WORKING = 'working',
|
|
144
|
+
WAITING = 'waiting',
|
|
145
|
+
PAUSED = 'paused',
|
|
146
|
+
STOPPING = 'stopping',
|
|
147
|
+
STOPPED = 'stopped',
|
|
148
|
+
ERROR = 'error',
|
|
149
|
+
TERMINATED = 'terminated'
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
interface AgentStateMachine {
|
|
153
|
+
currentState: AgentLifecycleState;
|
|
154
|
+
allowedTransitions: Map<AgentLifecycleState, AgentLifecycleState[]>;
|
|
155
|
+
|
|
156
|
+
canTransition(to: AgentLifecycleState): boolean;
|
|
157
|
+
transition(to: AgentLifecycleState): Promise<void>;
|
|
158
|
+
getStateMetadata(): StateMetadata;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// Agent execution context
|
|
162
|
+
interface AgentExecutionContext {
|
|
163
|
+
agentId: string;
|
|
164
|
+
taskId: string;
|
|
165
|
+
workflowId?: string;
|
|
166
|
+
swarmId?: string;
|
|
167
|
+
|
|
168
|
+
// Resource allocation
|
|
169
|
+
resources: AllocatedResources;
|
|
170
|
+
constraints: ExecutionConstraints;
|
|
171
|
+
|
|
172
|
+
// Communication channels
|
|
173
|
+
messageQueue: MessageQueue;
|
|
174
|
+
sharedMemory: SharedMemoryView;
|
|
175
|
+
|
|
176
|
+
// Monitoring and telemetry
|
|
177
|
+
metrics: MetricsCollector;
|
|
178
|
+
tracer: ExecutionTracer;
|
|
179
|
+
|
|
180
|
+
// Security context
|
|
181
|
+
permissions: PermissionSet;
|
|
182
|
+
securityContext: SecurityContext;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
// Agent factory with dependency injection
|
|
186
|
+
class AgentFactory {
|
|
187
|
+
constructor(
|
|
188
|
+
private container: SystemContainer,
|
|
189
|
+
private typeRegistry: AgentTypeRegistry
|
|
190
|
+
) {}
|
|
191
|
+
|
|
192
|
+
async createAgent(
|
|
193
|
+
type: string,
|
|
194
|
+
config: AgentConfig,
|
|
195
|
+
context: AgentExecutionContext
|
|
196
|
+
): Promise<BaseAgent> {
|
|
197
|
+
|
|
198
|
+
const agentDefinition = this.typeRegistry.getDefinition(type);
|
|
199
|
+
if (!agentDefinition) {
|
|
200
|
+
throw new Error(`Unknown agent type: ${type}`);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
// Validate configuration
|
|
204
|
+
const validation = await this.validateConfig(agentDefinition, config);
|
|
205
|
+
if (!validation.valid) {
|
|
206
|
+
throw new Error(`Invalid configuration: ${validation.errors.join(', ')}`);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
// Create agent instance
|
|
210
|
+
const AgentClass = agentDefinition.implementation;
|
|
211
|
+
const agent = new AgentClass(config, context);
|
|
212
|
+
|
|
213
|
+
// Inject dependencies
|
|
214
|
+
await this.injectDependencies(agent, agentDefinition.dependencies);
|
|
215
|
+
|
|
216
|
+
// Initialize agent
|
|
217
|
+
await agent.initialize();
|
|
218
|
+
|
|
219
|
+
return agent;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
private async injectDependencies(
|
|
223
|
+
agent: BaseAgent,
|
|
224
|
+
dependencies: AgentDependency[]
|
|
225
|
+
): Promise<void> {
|
|
226
|
+
for (const dep of dependencies) {
|
|
227
|
+
const service = this.container.resolve(dep.token);
|
|
228
|
+
agent.setDependency(dep.property, service);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### Swarm Coordination Architecture
|
|
235
|
+
|
|
236
|
+
```typescript
|
|
237
|
+
// Swarm topology implementations
|
|
238
|
+
interface SwarmTopology {
|
|
239
|
+
readonly type: TopologyType;
|
|
240
|
+
readonly nodes: SwarmNode[];
|
|
241
|
+
readonly connections: SwarmConnection[];
|
|
242
|
+
|
|
243
|
+
addNode(node: SwarmNode): Promise<void>;
|
|
244
|
+
removeNode(nodeId: string): Promise<void>;
|
|
245
|
+
findOptimalPath(from: string, to: string): SwarmPath;
|
|
246
|
+
calculateLoadDistribution(): LoadDistribution;
|
|
247
|
+
optimizeTopology(): Promise<TopologyOptimization>;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
class HierarchicalTopology implements SwarmTopology {
|
|
251
|
+
readonly type = TopologyType.HIERARCHICAL;
|
|
252
|
+
private tree: TopologyTree;
|
|
253
|
+
private coordinators: Map<string, CoordinatorNode>;
|
|
254
|
+
|
|
255
|
+
constructor(config: HierarchicalConfig) {
|
|
256
|
+
this.tree = new TopologyTree(config.maxDepth, config.branchingFactor);
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
async addNode(node: SwarmNode): Promise<void> {
|
|
260
|
+
// Find optimal position in hierarchy
|
|
261
|
+
const position = await this.findOptimalPosition(node);
|
|
262
|
+
|
|
263
|
+
// Insert node into tree
|
|
264
|
+
this.tree.insert(node, position);
|
|
265
|
+
|
|
266
|
+
// Update coordinator assignments
|
|
267
|
+
await this.updateCoordinatorAssignments(position);
|
|
268
|
+
|
|
269
|
+
// Establish communication channels
|
|
270
|
+
await this.establishChannels(node, position);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
private async findOptimalPosition(node: SwarmNode): Promise<TreePosition> {
|
|
274
|
+
// Use load balancing and capability matching algorithms
|
|
275
|
+
const candidates = this.tree.findCandidatePositions(node.capabilities);
|
|
276
|
+
|
|
277
|
+
return candidates.reduce((best, candidate) => {
|
|
278
|
+
const load = this.calculatePositionLoad(candidate);
|
|
279
|
+
const capability = this.calculateCapabilityMatch(candidate, node);
|
|
280
|
+
const score = load * 0.4 + capability * 0.6;
|
|
281
|
+
|
|
282
|
+
return score > best.score ? { ...candidate, score } : best;
|
|
283
|
+
}, { position: null, score: 0 }).position;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
class MeshTopology implements SwarmTopology {
|
|
288
|
+
readonly type = TopologyType.MESH;
|
|
289
|
+
private adjacencyMatrix: boolean[][];
|
|
290
|
+
private nodes: Map<string, SwarmNode>;
|
|
291
|
+
|
|
292
|
+
async addNode(node: SwarmNode): Promise<void> {
|
|
293
|
+
// Add to adjacency matrix
|
|
294
|
+
const nodeIndex = this.nodes.size;
|
|
295
|
+
this.expandAdjacencyMatrix(nodeIndex + 1);
|
|
296
|
+
|
|
297
|
+
// Connect to all existing nodes (full mesh)
|
|
298
|
+
for (let i = 0; i < nodeIndex; i++) {
|
|
299
|
+
this.adjacencyMatrix[i][nodeIndex] = true;
|
|
300
|
+
this.adjacencyMatrix[nodeIndex][i] = true;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
this.nodes.set(node.id, node);
|
|
304
|
+
|
|
305
|
+
// Establish direct connections
|
|
306
|
+
await this.establishDirectConnections(node);
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
findOptimalPath(from: string, to: string): SwarmPath {
|
|
310
|
+
// In full mesh, direct connection is always optimal
|
|
311
|
+
return {
|
|
312
|
+
hops: [from, to],
|
|
313
|
+
distance: 1,
|
|
314
|
+
latency: this.getDirectLatency(from, to)
|
|
315
|
+
};
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
// Consensus mechanisms for distributed coordination
|
|
320
|
+
interface ConsensusProtocol {
|
|
321
|
+
proposeValue(value: any): Promise<string>;
|
|
322
|
+
vote(proposalId: string, vote: boolean): Promise<void>;
|
|
323
|
+
getConsensusResult(proposalId: string): Promise<ConsensusResult>;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
class RaftConsensus implements ConsensusProtocol {
|
|
327
|
+
private term: number = 0;
|
|
328
|
+
private votedFor: string | null = null;
|
|
329
|
+
private log: LogEntry[] = [];
|
|
330
|
+
private commitIndex: number = 0;
|
|
331
|
+
private state: RaftState = RaftState.FOLLOWER;
|
|
332
|
+
|
|
333
|
+
async proposeValue(value: any): Promise<string> {
|
|
334
|
+
if (this.state !== RaftState.LEADER) {
|
|
335
|
+
throw new Error('Only leader can propose values');
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
const proposalId = generateUUID();
|
|
339
|
+
const logEntry: LogEntry = {
|
|
340
|
+
term: this.term,
|
|
341
|
+
index: this.log.length,
|
|
342
|
+
value,
|
|
343
|
+
proposalId
|
|
344
|
+
};
|
|
345
|
+
|
|
346
|
+
// Append to local log
|
|
347
|
+
this.log.push(logEntry);
|
|
348
|
+
|
|
349
|
+
// Replicate to followers
|
|
350
|
+
await this.replicateToFollowers(logEntry);
|
|
351
|
+
|
|
352
|
+
return proposalId;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
private async replicateToFollowers(entry: LogEntry): Promise<void> {
|
|
356
|
+
const followers = this.getFollowers();
|
|
357
|
+
const replicationPromises = followers.map(async (follower) => {
|
|
358
|
+
try {
|
|
359
|
+
await follower.appendEntries({
|
|
360
|
+
term: this.term,
|
|
361
|
+
leaderId: this.nodeId,
|
|
362
|
+
prevLogIndex: entry.index - 1,
|
|
363
|
+
prevLogTerm: this.log[entry.index - 1]?.term || 0,
|
|
364
|
+
entries: [entry],
|
|
365
|
+
leaderCommit: this.commitIndex
|
|
366
|
+
});
|
|
367
|
+
return true;
|
|
368
|
+
} catch (error) {
|
|
369
|
+
return false;
|
|
370
|
+
}
|
|
371
|
+
});
|
|
372
|
+
|
|
373
|
+
const results = await Promise.all(replicationPromises);
|
|
374
|
+
const successCount = results.filter(Boolean).length;
|
|
375
|
+
|
|
376
|
+
// Commit if majority agrees
|
|
377
|
+
if (successCount >= Math.floor(followers.length / 2) + 1) {
|
|
378
|
+
this.commitIndex = entry.index;
|
|
379
|
+
await this.applyToStateMachine(entry);
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
### Neural Integration Architecture
|
|
386
|
+
|
|
387
|
+
```typescript
|
|
388
|
+
// Neural pattern learning system
|
|
389
|
+
interface NeuralPatternEngine {
|
|
390
|
+
learnPattern(input: PatternInput, output: PatternOutput): Promise<void>;
|
|
391
|
+
predictPattern(input: PatternInput): Promise<PatternPrediction>;
|
|
392
|
+
optimizeModel(): Promise<OptimizationResult>;
|
|
393
|
+
exportModel(): Promise<SerializedModel>;
|
|
394
|
+
importModel(model: SerializedModel): Promise<void>;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
class TensorFlowPatternEngine implements NeuralPatternEngine {
|
|
398
|
+
private model: tf.LayersModel;
|
|
399
|
+
private trainingData: TrainingDataset;
|
|
400
|
+
private optimizer: tf.Optimizer;
|
|
401
|
+
|
|
402
|
+
constructor(config: NeuralConfig) {
|
|
403
|
+
this.model = this.createModel(config);
|
|
404
|
+
this.optimizer = tf.train.adam(config.learningRate);
|
|
405
|
+
this.trainingData = new TrainingDataset(config.maxSamples);
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
async learnPattern(input: PatternInput, output: PatternOutput): Promise<void> {
|
|
409
|
+
// Convert to tensors
|
|
410
|
+
const inputTensor = this.preprocessInput(input);
|
|
411
|
+
const outputTensor = this.preprocessOutput(output);
|
|
412
|
+
|
|
413
|
+
// Add to training dataset
|
|
414
|
+
this.trainingData.add(inputTensor, outputTensor);
|
|
415
|
+
|
|
416
|
+
// Train incrementally if enough samples
|
|
417
|
+
if (this.trainingData.size >= this.config.batchSize) {
|
|
418
|
+
await this.trainBatch();
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
async predictPattern(input: PatternInput): Promise<PatternPrediction> {
|
|
423
|
+
const inputTensor = this.preprocessInput(input);
|
|
424
|
+
const prediction = this.model.predict(inputTensor) as tf.Tensor;
|
|
425
|
+
|
|
426
|
+
const confidence = await this.calculateConfidence(prediction);
|
|
427
|
+
const result = await this.postprocessOutput(prediction);
|
|
428
|
+
|
|
429
|
+
return {
|
|
430
|
+
result,
|
|
431
|
+
confidence,
|
|
432
|
+
metadata: {
|
|
433
|
+
modelVersion: this.model.version,
|
|
434
|
+
predictionTime: performance.now()
|
|
435
|
+
}
|
|
436
|
+
};
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
private createModel(config: NeuralConfig): tf.LayersModel {
|
|
440
|
+
const model = tf.sequential({
|
|
441
|
+
layers: [
|
|
442
|
+
tf.layers.dense({
|
|
443
|
+
inputShape: [config.inputSize],
|
|
444
|
+
units: config.hiddenUnits,
|
|
445
|
+
activation: 'relu'
|
|
446
|
+
}),
|
|
447
|
+
tf.layers.dropout({ rate: 0.2 }),
|
|
448
|
+
tf.layers.dense({
|
|
449
|
+
units: config.hiddenUnits / 2,
|
|
450
|
+
activation: 'relu'
|
|
451
|
+
}),
|
|
452
|
+
tf.layers.dense({
|
|
453
|
+
units: config.outputSize,
|
|
454
|
+
activation: 'softmax'
|
|
455
|
+
})
|
|
456
|
+
]
|
|
457
|
+
});
|
|
458
|
+
|
|
459
|
+
model.compile({
|
|
460
|
+
optimizer: this.optimizer,
|
|
461
|
+
loss: 'categoricalCrossentropy',
|
|
462
|
+
metrics: ['accuracy']
|
|
463
|
+
});
|
|
464
|
+
|
|
465
|
+
return model;
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
private async calculateConfidence(prediction: tf.Tensor): Promise<number> {
|
|
469
|
+
// Calculate entropy-based confidence
|
|
470
|
+
const probabilities = await prediction.data();
|
|
471
|
+
let entropy = 0;
|
|
472
|
+
|
|
473
|
+
for (const prob of probabilities) {
|
|
474
|
+
if (prob > 0) {
|
|
475
|
+
entropy -= prob * Math.log2(prob);
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
// Normalize entropy to confidence (0-1)
|
|
480
|
+
const maxEntropy = Math.log2(probabilities.length);
|
|
481
|
+
return 1 - (entropy / maxEntropy);
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
// Collective intelligence coordination
|
|
486
|
+
class CollectiveIntelligenceManager {
|
|
487
|
+
private agents: Map<string, NeuralAgent>;
|
|
488
|
+
private knowledgeGraph: KnowledgeGraph;
|
|
489
|
+
private consensusEngine: ConsensusEngine;
|
|
490
|
+
|
|
491
|
+
async makeCollectiveDecision(
|
|
492
|
+
question: DecisionQuestion,
|
|
493
|
+
participants: string[]
|
|
494
|
+
): Promise<CollectiveDecision> {
|
|
495
|
+
|
|
496
|
+
// Gather individual opinions
|
|
497
|
+
const opinions = await Promise.all(
|
|
498
|
+
participants.map(async (agentId) => {
|
|
499
|
+
const agent = this.agents.get(agentId);
|
|
500
|
+
return await agent.formOpinion(question);
|
|
501
|
+
})
|
|
502
|
+
);
|
|
503
|
+
|
|
504
|
+
// Weight opinions by agent expertise
|
|
505
|
+
const weightedOpinions = opinions.map((opinion, index) => {
|
|
506
|
+
const agent = this.agents.get(participants[index]);
|
|
507
|
+
const expertise = this.calculateExpertise(agent, question.domain);
|
|
508
|
+
|
|
509
|
+
return {
|
|
510
|
+
...opinion,
|
|
511
|
+
weight: expertise,
|
|
512
|
+
agentId: participants[index]
|
|
513
|
+
};
|
|
514
|
+
});
|
|
515
|
+
|
|
516
|
+
// Apply consensus algorithm
|
|
517
|
+
const consensus = await this.consensusEngine.reachConsensus(
|
|
518
|
+
weightedOpinions,
|
|
519
|
+
question.consensusThreshold
|
|
520
|
+
);
|
|
521
|
+
|
|
522
|
+
// Update knowledge graph
|
|
523
|
+
await this.knowledgeGraph.addDecision(question, consensus);
|
|
524
|
+
|
|
525
|
+
return {
|
|
526
|
+
decision: consensus.result,
|
|
527
|
+
confidence: consensus.confidence,
|
|
528
|
+
participants: weightedOpinions,
|
|
529
|
+
reasoning: consensus.reasoning,
|
|
530
|
+
unanimity: consensus.unanimity
|
|
531
|
+
};
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
private calculateExpertise(agent: NeuralAgent, domain: string): number {
|
|
535
|
+
const history = agent.getDecisionHistory(domain);
|
|
536
|
+
const accuracy = history.reduce((sum, decision) =>
|
|
537
|
+
sum + (decision.wasCorrect ? 1 : 0), 0) / history.length;
|
|
538
|
+
|
|
539
|
+
const recency = this.calculateRecencyScore(history);
|
|
540
|
+
const volume = Math.min(history.length / 100, 1); // Cap at 100 decisions
|
|
541
|
+
|
|
542
|
+
return accuracy * 0.6 + recency * 0.2 + volume * 0.2;
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
```
|
|
546
|
+
|
|
547
|
+
## Data Flow & Communication
|
|
548
|
+
|
|
549
|
+
### Message Flow Architecture
|
|
550
|
+
|
|
551
|
+
```typescript
|
|
552
|
+
// Event-driven architecture with CQRS pattern
|
|
553
|
+
interface EventSourcingSystem {
|
|
554
|
+
commands: CommandBus;
|
|
555
|
+
events: EventBus;
|
|
556
|
+
queries: QueryBus;
|
|
557
|
+
projections: ProjectionManager;
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
class EventDrivenArchitecture {
|
|
561
|
+
private eventStore: EventStore;
|
|
562
|
+
private commandHandlers: Map<string, CommandHandler>;
|
|
563
|
+
private eventHandlers: Map<string, EventHandler[]>;
|
|
564
|
+
private queryHandlers: Map<string, QueryHandler>;
|
|
565
|
+
|
|
566
|
+
async executeCommand(command: Command): Promise<CommandResult> {
|
|
567
|
+
// Validate command
|
|
568
|
+
const validation = await this.validateCommand(command);
|
|
569
|
+
if (!validation.valid) {
|
|
570
|
+
throw new CommandValidationError(validation.errors);
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
// Get command handler
|
|
574
|
+
const handler = this.commandHandlers.get(command.type);
|
|
575
|
+
if (!handler) {
|
|
576
|
+
throw new Error(`No handler for command: ${command.type}`);
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
// Execute command and generate events
|
|
580
|
+
const events = await handler.execute(command);
|
|
581
|
+
|
|
582
|
+
// Store events
|
|
583
|
+
for (const event of events) {
|
|
584
|
+
await this.eventStore.append(event);
|
|
585
|
+
await this.publishEvent(event);
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
return {
|
|
589
|
+
success: true,
|
|
590
|
+
events: events.map(e => e.id),
|
|
591
|
+
aggregateVersion: events[events.length - 1]?.aggregateVersion
|
|
592
|
+
};
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
async publishEvent(event: DomainEvent): Promise<void> {
|
|
596
|
+
const handlers = this.eventHandlers.get(event.type) || [];
|
|
597
|
+
|
|
598
|
+
// Process event handlers in parallel
|
|
599
|
+
await Promise.all(
|
|
600
|
+
handlers.map(async (handler) => {
|
|
601
|
+
try {
|
|
602
|
+
await handler.handle(event);
|
|
603
|
+
} catch (error) {
|
|
604
|
+
// Log error but don't fail other handlers
|
|
605
|
+
this.logger.error(`Event handler failed:`, error);
|
|
606
|
+
}
|
|
607
|
+
})
|
|
608
|
+
);
|
|
609
|
+
|
|
610
|
+
// Update projections
|
|
611
|
+
await this.projections.project(event);
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
async executeQuery(query: Query): Promise<QueryResult> {
|
|
615
|
+
const handler = this.queryHandlers.get(query.type);
|
|
616
|
+
if (!handler) {
|
|
617
|
+
throw new Error(`No handler for query: ${query.type}`);
|
|
618
|
+
}
|
|
619
|
+
|
|
620
|
+
return await handler.execute(query);
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
// Message routing and delivery
|
|
625
|
+
class MessageRoutingSystem {
|
|
626
|
+
private routes: Map<string, MessageRoute>;
|
|
627
|
+
private interceptors: MessageInterceptor[];
|
|
628
|
+
private deadLetterQueue: DeadLetterQueue;
|
|
629
|
+
|
|
630
|
+
async routeMessage(message: Message): Promise<RoutingResult> {
|
|
631
|
+
try {
|
|
632
|
+
// Apply interceptors
|
|
633
|
+
const processedMessage = await this.applyInterceptors(message);
|
|
634
|
+
|
|
635
|
+
// Find route
|
|
636
|
+
const route = this.findRoute(processedMessage);
|
|
637
|
+
if (!route) {
|
|
638
|
+
throw new Error(`No route found for message: ${processedMessage.type}`);
|
|
639
|
+
}
|
|
640
|
+
|
|
641
|
+
// Deliver message
|
|
642
|
+
const result = await this.deliverMessage(processedMessage, route);
|
|
643
|
+
|
|
644
|
+
return {
|
|
645
|
+
success: true,
|
|
646
|
+
route: route.name,
|
|
647
|
+
deliveryTime: result.deliveryTime
|
|
648
|
+
};
|
|
649
|
+
|
|
650
|
+
} catch (error) {
|
|
651
|
+
// Send to dead letter queue
|
|
652
|
+
await this.deadLetterQueue.add(message, error);
|
|
653
|
+
|
|
654
|
+
return {
|
|
655
|
+
success: false,
|
|
656
|
+
error: error.message
|
|
657
|
+
};
|
|
658
|
+
}
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
private async applyInterceptors(message: Message): Promise<Message> {
|
|
662
|
+
let processedMessage = message;
|
|
663
|
+
|
|
664
|
+
for (const interceptor of this.interceptors) {
|
|
665
|
+
processedMessage = await interceptor.intercept(processedMessage);
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
return processedMessage;
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
private findRoute(message: Message): MessageRoute | null {
|
|
672
|
+
// Try exact match first
|
|
673
|
+
let route = this.routes.get(message.type);
|
|
674
|
+
if (route) return route;
|
|
675
|
+
|
|
676
|
+
// Try pattern matching
|
|
677
|
+
for (const [pattern, candidateRoute] of this.routes) {
|
|
678
|
+
if (this.matchesPattern(pattern, message.type)) {
|
|
679
|
+
return candidateRoute;
|
|
680
|
+
}
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
return null;
|
|
684
|
+
}
|
|
685
|
+
}
|
|
686
|
+
|
|
687
|
+
// Real-time communication with WebSockets
|
|
688
|
+
class RealTimeCommunicationManager {
|
|
689
|
+
private websocketServer: WebSocketServer;
|
|
690
|
+
private subscriptions: Map<string, Set<WebSocket>>;
|
|
691
|
+
private messageQueue: PersistentQueue;
|
|
692
|
+
|
|
693
|
+
constructor(config: RealTimeConfig) {
|
|
694
|
+
this.websocketServer = new WebSocketServer({
|
|
695
|
+
port: config.port,
|
|
696
|
+
path: config.path
|
|
697
|
+
});
|
|
698
|
+
|
|
699
|
+
this.subscriptions = new Map();
|
|
700
|
+
this.messageQueue = new PersistentQueue(config.queueConfig);
|
|
701
|
+
|
|
702
|
+
this.setupWebSocketHandlers();
|
|
703
|
+
}
|
|
704
|
+
|
|
705
|
+
private setupWebSocketHandlers(): void {
|
|
706
|
+
this.websocketServer.on('connection', (ws, request) => {
|
|
707
|
+
const connectionId = generateConnectionId();
|
|
708
|
+
|
|
709
|
+
ws.on('message', async (data) => {
|
|
710
|
+
try {
|
|
711
|
+
const message = JSON.parse(data.toString());
|
|
712
|
+
await this.handleWebSocketMessage(ws, message, connectionId);
|
|
713
|
+
} catch (error) {
|
|
714
|
+
ws.send(JSON.stringify({
|
|
715
|
+
type: 'error',
|
|
716
|
+
error: error.message
|
|
717
|
+
}));
|
|
718
|
+
}
|
|
719
|
+
});
|
|
720
|
+
|
|
721
|
+
ws.on('close', () => {
|
|
722
|
+
this.cleanupConnection(connectionId);
|
|
723
|
+
});
|
|
724
|
+
|
|
725
|
+
// Send connection confirmation
|
|
726
|
+
ws.send(JSON.stringify({
|
|
727
|
+
type: 'connected',
|
|
728
|
+
connectionId
|
|
729
|
+
}));
|
|
730
|
+
});
|
|
731
|
+
}
|
|
732
|
+
|
|
733
|
+
async broadcast(channel: string, message: any): Promise<void> {
|
|
734
|
+
const subscribers = this.subscriptions.get(channel);
|
|
735
|
+
if (!subscribers) return;
|
|
736
|
+
|
|
737
|
+
const payload = JSON.stringify({
|
|
738
|
+
type: 'broadcast',
|
|
739
|
+
channel,
|
|
740
|
+
data: message,
|
|
741
|
+
timestamp: new Date().toISOString()
|
|
742
|
+
});
|
|
743
|
+
|
|
744
|
+
// Send to all active subscribers
|
|
745
|
+
const sendPromises = Array.from(subscribers).map(async (ws) => {
|
|
746
|
+
if (ws.readyState === WebSocket.OPEN) {
|
|
747
|
+
try {
|
|
748
|
+
ws.send(payload);
|
|
749
|
+
} catch (error) {
|
|
750
|
+
// Remove failed connection
|
|
751
|
+
subscribers.delete(ws);
|
|
752
|
+
}
|
|
753
|
+
}
|
|
754
|
+
});
|
|
755
|
+
|
|
756
|
+
await Promise.all(sendPromises);
|
|
757
|
+
|
|
758
|
+
// Store in message queue for offline subscribers
|
|
759
|
+
await this.messageQueue.enqueue({
|
|
760
|
+
channel,
|
|
761
|
+
message,
|
|
762
|
+
timestamp: new Date()
|
|
763
|
+
});
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
```
|
|
767
|
+
|
|
768
|
+
## Storage Architecture
|
|
769
|
+
|
|
770
|
+
### Multi-Tier Storage System
|
|
771
|
+
|
|
772
|
+
```typescript
|
|
773
|
+
interface StorageArchitecture {
|
|
774
|
+
memory: MemoryStorage; // L1: In-memory cache
|
|
775
|
+
local: LocalStorage; // L2: Local file system
|
|
776
|
+
distributed: DistributedStorage; // L3: Distributed storage
|
|
777
|
+
persistent: PersistentStorage; // L4: Long-term persistence
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
class HierarchicalStorageManager {
|
|
781
|
+
private tiers: StorageTier[];
|
|
782
|
+
private policies: StoragePolicy[];
|
|
783
|
+
private metrics: StorageMetrics;
|
|
784
|
+
|
|
785
|
+
constructor(config: StorageConfig) {
|
|
786
|
+
this.tiers = this.initializeTiers(config);
|
|
787
|
+
this.policies = this.loadPolicies(config.policies);
|
|
788
|
+
this.metrics = new StorageMetrics();
|
|
789
|
+
}
|
|
790
|
+
|
|
791
|
+
async store(key: string, value: any, metadata?: StorageMetadata): Promise<void> {
|
|
792
|
+
// Determine optimal tier based on policies
|
|
793
|
+
const tier = this.selectOptimalTier(key, value, metadata);
|
|
794
|
+
|
|
795
|
+
// Store in selected tier
|
|
796
|
+
await tier.store(key, value, metadata);
|
|
797
|
+
|
|
798
|
+
// Update cache hierarchy
|
|
799
|
+
await this.updateCacheHierarchy(key, value, tier);
|
|
800
|
+
|
|
801
|
+
// Update metrics
|
|
802
|
+
this.metrics.recordWrite(tier.name, key, value);
|
|
803
|
+
}
|
|
804
|
+
|
|
805
|
+
async retrieve(key: string): Promise<any> {
|
|
806
|
+
// Try each tier in order (fastest first)
|
|
807
|
+
for (const tier of this.tiers) {
|
|
808
|
+
try {
|
|
809
|
+
const value = await tier.retrieve(key);
|
|
810
|
+
if (value !== undefined) {
|
|
811
|
+
// Update cache hierarchy (promote to faster tiers)
|
|
812
|
+
await this.promoteToFasterTiers(key, value, tier);
|
|
813
|
+
|
|
814
|
+
this.metrics.recordRead(tier.name, key, true);
|
|
815
|
+
return value;
|
|
816
|
+
}
|
|
817
|
+
} catch (error) {
|
|
818
|
+
// Continue to next tier
|
|
819
|
+
continue;
|
|
820
|
+
}
|
|
821
|
+
}
|
|
822
|
+
|
|
823
|
+
this.metrics.recordRead('none', key, false);
|
|
824
|
+
return undefined;
|
|
825
|
+
}
|
|
826
|
+
|
|
827
|
+
private selectOptimalTier(
|
|
828
|
+
key: string,
|
|
829
|
+
value: any,
|
|
830
|
+
metadata?: StorageMetadata
|
|
831
|
+
): StorageTier {
|
|
832
|
+
|
|
833
|
+
for (const policy of this.policies) {
|
|
834
|
+
if (policy.matches(key, value, metadata)) {
|
|
835
|
+
return this.getTier(policy.targetTier);
|
|
836
|
+
}
|
|
837
|
+
}
|
|
838
|
+
|
|
839
|
+
// Default to memory tier for small values, local for large
|
|
840
|
+
const size = this.calculateSize(value);
|
|
841
|
+
return size < 1024 ? this.getTier('memory') : this.getTier('local');
|
|
842
|
+
}
|
|
843
|
+
|
|
844
|
+
private async promoteToFasterTiers(
|
|
845
|
+
key: string,
|
|
846
|
+
value: any,
|
|
847
|
+
currentTier: StorageTier
|
|
848
|
+
): Promise<void> {
|
|
849
|
+
|
|
850
|
+
const currentIndex = this.tiers.indexOf(currentTier);
|
|
851
|
+
|
|
852
|
+
// Promote to all faster tiers
|
|
853
|
+
for (let i = 0; i < currentIndex; i++) {
|
|
854
|
+
const fasterTier = this.tiers[i];
|
|
855
|
+
|
|
856
|
+
// Check if tier has capacity
|
|
857
|
+
if (await fasterTier.hasCapacity(value)) {
|
|
858
|
+
await fasterTier.store(key, value);
|
|
859
|
+
}
|
|
860
|
+
}
|
|
861
|
+
}
|
|
862
|
+
}
|
|
863
|
+
|
|
864
|
+
// Database abstraction layer
|
|
865
|
+
interface DatabaseAbstraction {
|
|
866
|
+
query<T>(sql: string, params?: any[]): Promise<T[]>;
|
|
867
|
+
execute(sql: string, params?: any[]): Promise<ExecutionResult>;
|
|
868
|
+
transaction<T>(fn: (tx: Transaction) => Promise<T>): Promise<T>;
|
|
869
|
+
migrate(direction: 'up' | 'down', target?: string): Promise<MigrationResult>;
|
|
870
|
+
}
|
|
871
|
+
|
|
872
|
+
class PostgreSQLAdapter implements DatabaseAbstraction {
|
|
873
|
+
private pool: Pool;
|
|
874
|
+
private migrator: MigrationManager;
|
|
875
|
+
|
|
876
|
+
constructor(config: DatabaseConfig) {
|
|
877
|
+
this.pool = new Pool({
|
|
878
|
+
host: config.host,
|
|
879
|
+
port: config.port,
|
|
880
|
+
database: config.database,
|
|
881
|
+
user: config.user,
|
|
882
|
+
password: config.password,
|
|
883
|
+
max: config.maxConnections || 20,
|
|
884
|
+
idleTimeoutMillis: config.idleTimeout || 30000
|
|
885
|
+
});
|
|
886
|
+
|
|
887
|
+
this.migrator = new MigrationManager(this, config.migrationsPath);
|
|
888
|
+
}
|
|
889
|
+
|
|
890
|
+
async query<T>(sql: string, params: any[] = []): Promise<T[]> {
|
|
891
|
+
const client = await this.pool.connect();
|
|
892
|
+
|
|
893
|
+
try {
|
|
894
|
+
const startTime = performance.now();
|
|
895
|
+
const result = await client.query(sql, params);
|
|
896
|
+
const duration = performance.now() - startTime;
|
|
897
|
+
|
|
898
|
+
// Log slow queries
|
|
899
|
+
if (duration > 1000) {
|
|
900
|
+
this.logger.warn(`Slow query detected: ${duration}ms`, { sql, params });
|
|
901
|
+
}
|
|
902
|
+
|
|
903
|
+
return result.rows;
|
|
904
|
+
} finally {
|
|
905
|
+
client.release();
|
|
906
|
+
}
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
async transaction<T>(fn: (tx: Transaction) => Promise<T>): Promise<T> {
|
|
910
|
+
const client = await this.pool.connect();
|
|
911
|
+
|
|
912
|
+
try {
|
|
913
|
+
await client.query('BEGIN');
|
|
914
|
+
|
|
915
|
+
const transaction = new PostgreSQLTransaction(client);
|
|
916
|
+
const result = await fn(transaction);
|
|
917
|
+
|
|
918
|
+
await client.query('COMMIT');
|
|
919
|
+
return result;
|
|
920
|
+
} catch (error) {
|
|
921
|
+
await client.query('ROLLBACK');
|
|
922
|
+
throw error;
|
|
923
|
+
} finally {
|
|
924
|
+
client.release();
|
|
925
|
+
}
|
|
926
|
+
}
|
|
927
|
+
}
|
|
928
|
+
|
|
929
|
+
// CRDT-based distributed storage
|
|
930
|
+
class CRDTStorage {
|
|
931
|
+
private documents: Map<string, CRDTDocument>;
|
|
932
|
+
private vector: VectorClock;
|
|
933
|
+
private peers: Set<string>;
|
|
934
|
+
|
|
935
|
+
constructor(nodeId: string) {
|
|
936
|
+
this.documents = new Map();
|
|
937
|
+
this.vector = new VectorClock(nodeId);
|
|
938
|
+
this.peers = new Set();
|
|
939
|
+
}
|
|
940
|
+
|
|
941
|
+
async set(key: string, value: any): Promise<void> {
|
|
942
|
+
// Create or update CRDT document
|
|
943
|
+
let doc = this.documents.get(key);
|
|
944
|
+
if (!doc) {
|
|
945
|
+
doc = new GCounterCRDT(); // or appropriate CRDT type
|
|
946
|
+
this.documents.set(key, doc);
|
|
947
|
+
}
|
|
948
|
+
|
|
949
|
+
// Update with vector clock
|
|
950
|
+
this.vector.increment();
|
|
951
|
+
await doc.update(value, this.vector.copy());
|
|
952
|
+
|
|
953
|
+
// Propagate to peers
|
|
954
|
+
await this.propagateUpdate(key, doc);
|
|
955
|
+
}
|
|
956
|
+
|
|
957
|
+
async merge(key: string, remoteCRDT: CRDTDocument): Promise<void> {
|
|
958
|
+
let localCRDT = this.documents.get(key);
|
|
959
|
+
if (!localCRDT) {
|
|
960
|
+
localCRDT = remoteCRDT.copy();
|
|
961
|
+
this.documents.set(key, localCRDT);
|
|
962
|
+
} else {
|
|
963
|
+
await localCRDT.merge(remoteCRDT);
|
|
964
|
+
}
|
|
965
|
+
|
|
966
|
+
// Update vector clock
|
|
967
|
+
this.vector.merge(remoteCRDT.getVectorClock());
|
|
968
|
+
}
|
|
969
|
+
|
|
970
|
+
private async propagateUpdate(key: string, doc: CRDTDocument): Promise<void> {
|
|
971
|
+
const updateMessage = {
|
|
972
|
+
type: 'crdt-update',
|
|
973
|
+
key,
|
|
974
|
+
document: doc.serialize(),
|
|
975
|
+
vectorClock: this.vector.serialize()
|
|
976
|
+
};
|
|
977
|
+
|
|
978
|
+
// Send to all peers
|
|
979
|
+
const propagationPromises = Array.from(this.peers).map(async (peerId) => {
|
|
980
|
+
try {
|
|
981
|
+
await this.sendToPeer(peerId, updateMessage);
|
|
982
|
+
} catch (error) {
|
|
983
|
+
this.logger.warn(`Failed to propagate to peer ${peerId}:`, error);
|
|
984
|
+
}
|
|
985
|
+
});
|
|
986
|
+
|
|
987
|
+
await Promise.all(propagationPromises);
|
|
988
|
+
}
|
|
989
|
+
}
|
|
990
|
+
```
|
|
991
|
+
|
|
992
|
+
## Coordination Patterns
|
|
993
|
+
|
|
994
|
+
### Advanced Coordination Algorithms
|
|
995
|
+
|
|
996
|
+
```typescript
|
|
997
|
+
// Byzantine fault tolerant coordination
|
|
998
|
+
class ByzantineFaultTolerantCoordinator {
|
|
999
|
+
private nodes: Map<string, ByzantineNode>;
|
|
1000
|
+
private faultTolerance: number;
|
|
1001
|
+
private proposals: Map<string, ByzantineProposal>;
|
|
1002
|
+
|
|
1003
|
+
constructor(nodeIds: string[], faultTolerance: number) {
|
|
1004
|
+
this.faultTolerance = faultTolerance;
|
|
1005
|
+
this.nodes = new Map();
|
|
1006
|
+
this.proposals = new Map();
|
|
1007
|
+
|
|
1008
|
+
// Initialize nodes
|
|
1009
|
+
for (const nodeId of nodeIds) {
|
|
1010
|
+
this.nodes.set(nodeId, new ByzantineNode(nodeId, this));
|
|
1011
|
+
}
|
|
1012
|
+
}
|
|
1013
|
+
|
|
1014
|
+
async proposeValue(value: any, proposerId: string): Promise<string> {
|
|
1015
|
+
const proposalId = generateUUID();
|
|
1016
|
+
const proposal = new ByzantineProposal(proposalId, value, proposerId);
|
|
1017
|
+
|
|
1018
|
+
this.proposals.set(proposalId, proposal);
|
|
1019
|
+
|
|
1020
|
+
// Phase 1: Prepare
|
|
1021
|
+
const preparePromises = Array.from(this.nodes.values()).map(async (node) => {
|
|
1022
|
+
try {
|
|
1023
|
+
return await node.prepare(proposal);
|
|
1024
|
+
} catch (error) {
|
|
1025
|
+
return null; // Byzantine node failure
|
|
1026
|
+
}
|
|
1027
|
+
});
|
|
1028
|
+
|
|
1029
|
+
const prepareResponses = await Promise.all(preparePromises);
|
|
1030
|
+
const validPrepares = prepareResponses.filter(r => r !== null);
|
|
1031
|
+
|
|
1032
|
+
// Need at least 2f+1 valid responses
|
|
1033
|
+
if (validPrepares.length < 2 * this.faultTolerance + 1) {
|
|
1034
|
+
throw new Error('Insufficient prepare responses');
|
|
1035
|
+
}
|
|
1036
|
+
|
|
1037
|
+
// Phase 2: Commit
|
|
1038
|
+
const commitPromises = Array.from(this.nodes.values()).map(async (node) => {
|
|
1039
|
+
try {
|
|
1040
|
+
return await node.commit(proposal);
|
|
1041
|
+
} catch (error) {
|
|
1042
|
+
return null; // Byzantine node failure
|
|
1043
|
+
}
|
|
1044
|
+
});
|
|
1045
|
+
|
|
1046
|
+
const commitResponses = await Promise.all(commitPromises);
|
|
1047
|
+
const validCommits = commitResponses.filter(r => r !== null);
|
|
1048
|
+
|
|
1049
|
+
if (validCommits.length < 2 * this.faultTolerance + 1) {
|
|
1050
|
+
throw new Error('Insufficient commit responses');
|
|
1051
|
+
}
|
|
1052
|
+
|
|
1053
|
+
// Update proposal status
|
|
1054
|
+
proposal.status = ProposalStatus.COMMITTED;
|
|
1055
|
+
|
|
1056
|
+
return proposalId;
|
|
1057
|
+
}
|
|
1058
|
+
|
|
1059
|
+
async getConsensusValue(proposalId: string): Promise<any> {
|
|
1060
|
+
const proposal = this.proposals.get(proposalId);
|
|
1061
|
+
if (!proposal || proposal.status !== ProposalStatus.COMMITTED) {
|
|
1062
|
+
throw new Error('No consensus reached for proposal');
|
|
1063
|
+
}
|
|
1064
|
+
|
|
1065
|
+
return proposal.value;
|
|
1066
|
+
}
|
|
1067
|
+
}
|
|
1068
|
+
|
|
1069
|
+
// Distributed hash table for coordination
|
|
1070
|
+
class DistributedHashTable {
|
|
1071
|
+
private nodes: Map<string, DHTNode>;
|
|
1072
|
+
private hashFunction: HashFunction;
|
|
1073
|
+
private replicationFactor: number;
|
|
1074
|
+
|
|
1075
|
+
constructor(config: DHTConfig) {
|
|
1076
|
+
this.nodes = new Map();
|
|
1077
|
+
this.hashFunction = new ConsistentHash();
|
|
1078
|
+
this.replicationFactor = config.replicationFactor || 3;
|
|
1079
|
+
}
|
|
1080
|
+
|
|
1081
|
+
async put(key: string, value: any): Promise<void> {
|
|
1082
|
+
const hash = this.hashFunction.hash(key);
|
|
1083
|
+
const responsibleNodes = this.findResponsibleNodes(hash);
|
|
1084
|
+
|
|
1085
|
+
// Store on multiple nodes for fault tolerance
|
|
1086
|
+
const storePromises = responsibleNodes.map(async (node) => {
|
|
1087
|
+
try {
|
|
1088
|
+
await node.store(key, value);
|
|
1089
|
+
return true;
|
|
1090
|
+
} catch (error) {
|
|
1091
|
+
return false;
|
|
1092
|
+
}
|
|
1093
|
+
});
|
|
1094
|
+
|
|
1095
|
+
const results = await Promise.all(storePromises);
|
|
1096
|
+
const successCount = results.filter(Boolean).length;
|
|
1097
|
+
|
|
1098
|
+
// Need majority to succeed
|
|
1099
|
+
if (successCount < Math.ceil(responsibleNodes.length / 2)) {
|
|
1100
|
+
throw new Error('Failed to store value in DHT');
|
|
1101
|
+
}
|
|
1102
|
+
}
|
|
1103
|
+
|
|
1104
|
+
async get(key: string): Promise<any> {
|
|
1105
|
+
const hash = this.hashFunction.hash(key);
|
|
1106
|
+
const responsibleNodes = this.findResponsibleNodes(hash);
|
|
1107
|
+
|
|
1108
|
+
// Query multiple nodes and use majority consensus
|
|
1109
|
+
const queryPromises = responsibleNodes.map(async (node) => {
|
|
1110
|
+
try {
|
|
1111
|
+
return await node.retrieve(key);
|
|
1112
|
+
} catch (error) {
|
|
1113
|
+
return null;
|
|
1114
|
+
}
|
|
1115
|
+
});
|
|
1116
|
+
|
|
1117
|
+
const results = await Promise.all(queryPromises);
|
|
1118
|
+
const validResults = results.filter(r => r !== null);
|
|
1119
|
+
|
|
1120
|
+
if (validResults.length === 0) {
|
|
1121
|
+
return null;
|
|
1122
|
+
}
|
|
1123
|
+
|
|
1124
|
+
// Return most common value (simple majority)
|
|
1125
|
+
const valueCounts = new Map();
|
|
1126
|
+
for (const result of validResults) {
|
|
1127
|
+
const serialized = JSON.stringify(result);
|
|
1128
|
+
valueCounts.set(serialized, (valueCounts.get(serialized) || 0) + 1);
|
|
1129
|
+
}
|
|
1130
|
+
|
|
1131
|
+
const mostCommon = Array.from(valueCounts.entries())
|
|
1132
|
+
.sort((a, b) => b[1] - a[1])[0];
|
|
1133
|
+
|
|
1134
|
+
return JSON.parse(mostCommon[0]);
|
|
1135
|
+
}
|
|
1136
|
+
|
|
1137
|
+
private findResponsibleNodes(hash: number): DHTNode[] {
|
|
1138
|
+
const sortedNodes = Array.from(this.nodes.values())
|
|
1139
|
+
.sort((a, b) => a.hash - b.hash);
|
|
1140
|
+
|
|
1141
|
+
const responsibleNodes: DHTNode[] = [];
|
|
1142
|
+
let startIndex = sortedNodes.findIndex(node => node.hash >= hash);
|
|
1143
|
+
|
|
1144
|
+
if (startIndex === -1) {
|
|
1145
|
+
startIndex = 0; // Wrap around
|
|
1146
|
+
}
|
|
1147
|
+
|
|
1148
|
+
// Select replicationFactor consecutive nodes
|
|
1149
|
+
for (let i = 0; i < this.replicationFactor; i++) {
|
|
1150
|
+
const index = (startIndex + i) % sortedNodes.length;
|
|
1151
|
+
responsibleNodes.push(sortedNodes[index]);
|
|
1152
|
+
}
|
|
1153
|
+
|
|
1154
|
+
return responsibleNodes;
|
|
1155
|
+
}
|
|
1156
|
+
}
|
|
1157
|
+
|
|
1158
|
+
// Gossip protocol for information propagation
|
|
1159
|
+
class GossipProtocol {
|
|
1160
|
+
private nodes: Map<string, GossipNode>;
|
|
1161
|
+
private gossipInterval: number;
|
|
1162
|
+
private fanout: number;
|
|
1163
|
+
private activeGossip: boolean = false;
|
|
1164
|
+
|
|
1165
|
+
constructor(config: GossipConfig) {
|
|
1166
|
+
this.nodes = new Map();
|
|
1167
|
+
this.gossipInterval = config.interval || 1000;
|
|
1168
|
+
this.fanout = config.fanout || 3;
|
|
1169
|
+
}
|
|
1170
|
+
|
|
1171
|
+
async startGossip(): Promise<void> {
|
|
1172
|
+
if (this.activeGossip) return;
|
|
1173
|
+
|
|
1174
|
+
this.activeGossip = true;
|
|
1175
|
+
|
|
1176
|
+
// Start gossip rounds
|
|
1177
|
+
setInterval(async () => {
|
|
1178
|
+
if (this.activeGossip) {
|
|
1179
|
+
await this.performGossipRound();
|
|
1180
|
+
}
|
|
1181
|
+
}, this.gossipInterval);
|
|
1182
|
+
}
|
|
1183
|
+
|
|
1184
|
+
async broadcast(message: GossipMessage): Promise<void> {
|
|
1185
|
+
// Start gossip from random nodes
|
|
1186
|
+
const startNodes = this.selectRandomNodes(this.fanout);
|
|
1187
|
+
|
|
1188
|
+
for (const node of startNodes) {
|
|
1189
|
+
await node.gossip(message);
|
|
1190
|
+
}
|
|
1191
|
+
}
|
|
1192
|
+
|
|
1193
|
+
private async performGossipRound(): Promise<void> {
|
|
1194
|
+
const allNodes = Array.from(this.nodes.values());
|
|
1195
|
+
|
|
1196
|
+
// Each node gossips with random neighbors
|
|
1197
|
+
const gossipPromises = allNodes.map(async (node) => {
|
|
1198
|
+
const neighbors = this.selectRandomNeighbors(node, this.fanout);
|
|
1199
|
+
return await node.gossipRound(neighbors);
|
|
1200
|
+
});
|
|
1201
|
+
|
|
1202
|
+
await Promise.all(gossipPromises);
|
|
1203
|
+
}
|
|
1204
|
+
|
|
1205
|
+
private selectRandomNodes(count: number): GossipNode[] {
|
|
1206
|
+
const allNodes = Array.from(this.nodes.values());
|
|
1207
|
+
const selected: GossipNode[] = [];
|
|
1208
|
+
|
|
1209
|
+
for (let i = 0; i < Math.min(count, allNodes.length); i++) {
|
|
1210
|
+
const randomIndex = Math.floor(Math.random() * allNodes.length);
|
|
1211
|
+
const node = allNodes[randomIndex];
|
|
1212
|
+
|
|
1213
|
+
if (!selected.includes(node)) {
|
|
1214
|
+
selected.push(node);
|
|
1215
|
+
}
|
|
1216
|
+
}
|
|
1217
|
+
|
|
1218
|
+
return selected;
|
|
1219
|
+
}
|
|
1220
|
+
}
|
|
1221
|
+
```
|
|
1222
|
+
|
|
1223
|
+
## Performance Architecture
|
|
1224
|
+
|
|
1225
|
+
### Performance Optimization Framework
|
|
1226
|
+
|
|
1227
|
+
```typescript
|
|
1228
|
+
interface PerformanceOptimizationFramework {
|
|
1229
|
+
profiler: SystemProfiler;
|
|
1230
|
+
optimizer: PerformanceOptimizer;
|
|
1231
|
+
monitor: PerformanceMonitor;
|
|
1232
|
+
predictor: PerformancePredictor;
|
|
1233
|
+
}
|
|
1234
|
+
|
|
1235
|
+
class SystemProfiler {
|
|
1236
|
+
private samplingRate: number;
|
|
1237
|
+
private activeProfiles: Map<string, ProfilingSession>;
|
|
1238
|
+
|
|
1239
|
+
async startProfiling(target: ProfilingTarget): Promise<string> {
|
|
1240
|
+
const sessionId = generateUUID();
|
|
1241
|
+
const session = new ProfilingSession(target, this.samplingRate);
|
|
1242
|
+
|
|
1243
|
+
this.activeProfiles.set(sessionId, session);
|
|
1244
|
+
await session.start();
|
|
1245
|
+
|
|
1246
|
+
return sessionId;
|
|
1247
|
+
}
|
|
1248
|
+
|
|
1249
|
+
async stopProfiling(sessionId: string): Promise<ProfilingReport> {
|
|
1250
|
+
const session = this.activeProfiles.get(sessionId);
|
|
1251
|
+
if (!session) {
|
|
1252
|
+
throw new Error(`Profiling session not found: ${sessionId}`);
|
|
1253
|
+
}
|
|
1254
|
+
|
|
1255
|
+
const report = await session.stop();
|
|
1256
|
+
this.activeProfiles.delete(sessionId);
|
|
1257
|
+
|
|
1258
|
+
return this.analyzeReport(report);
|
|
1259
|
+
}
|
|
1260
|
+
|
|
1261
|
+
private analyzeReport(report: RawProfilingData): ProfilingReport {
|
|
1262
|
+
return {
|
|
1263
|
+
cpuUsage: this.analyzeCPUUsage(report.cpuSamples),
|
|
1264
|
+
memoryUsage: this.analyzeMemoryUsage(report.memorySamples),
|
|
1265
|
+
ioOperations: this.analyzeIOOperations(report.ioSamples),
|
|
1266
|
+
bottlenecks: this.identifyBottlenecks(report),
|
|
1267
|
+
recommendations: this.generateRecommendations(report)
|
|
1268
|
+
};
|
|
1269
|
+
}
|
|
1270
|
+
|
|
1271
|
+
private identifyBottlenecks(data: RawProfilingData): Bottleneck[] {
|
|
1272
|
+
const bottlenecks: Bottleneck[] = [];
|
|
1273
|
+
|
|
1274
|
+
// CPU bottlenecks
|
|
1275
|
+
const cpuHotspots = this.findCPUHotspots(data.cpuSamples);
|
|
1276
|
+
bottlenecks.push(...cpuHotspots.map(hotspot => ({
|
|
1277
|
+
type: 'cpu',
|
|
1278
|
+
location: hotspot.function,
|
|
1279
|
+
severity: hotspot.percentage,
|
|
1280
|
+
impact: this.calculateImpact(hotspot)
|
|
1281
|
+
})));
|
|
1282
|
+
|
|
1283
|
+
// Memory bottlenecks
|
|
1284
|
+
const memoryLeaks = this.findMemoryLeaks(data.memorySamples);
|
|
1285
|
+
bottlenecks.push(...memoryLeaks.map(leak => ({
|
|
1286
|
+
type: 'memory',
|
|
1287
|
+
location: leak.allocation,
|
|
1288
|
+
severity: leak.leakRate,
|
|
1289
|
+
impact: this.calculateImpact(leak)
|
|
1290
|
+
})));
|
|
1291
|
+
|
|
1292
|
+
// I/O bottlenecks
|
|
1293
|
+
const ioBottlenecks = this.findIOBottlenecks(data.ioSamples);
|
|
1294
|
+
bottlenecks.push(...ioBottlenecks.map(io => ({
|
|
1295
|
+
type: 'io',
|
|
1296
|
+
location: io.operation,
|
|
1297
|
+
severity: io.latency,
|
|
1298
|
+
impact: this.calculateImpact(io)
|
|
1299
|
+
})));
|
|
1300
|
+
|
|
1301
|
+
return bottlenecks.sort((a, b) => b.impact - a.impact);
|
|
1302
|
+
}
|
|
1303
|
+
}
|
|
1304
|
+
|
|
1305
|
+
class PerformanceOptimizer {
|
|
1306
|
+
private optimizationStrategies: Map<string, OptimizationStrategy>;
|
|
1307
|
+
private appliedOptimizations: Map<string, AppliedOptimization>;
|
|
1308
|
+
|
|
1309
|
+
constructor() {
|
|
1310
|
+
this.optimizationStrategies = new Map([
|
|
1311
|
+
['cpu-optimization', new CPUOptimizationStrategy()],
|
|
1312
|
+
['memory-optimization', new MemoryOptimizationStrategy()],
|
|
1313
|
+
['io-optimization', new IOOptimizationStrategy()],
|
|
1314
|
+
['cache-optimization', new CacheOptimizationStrategy()],
|
|
1315
|
+
['concurrency-optimization', new ConcurrencyOptimizationStrategy()]
|
|
1316
|
+
]);
|
|
1317
|
+
|
|
1318
|
+
this.appliedOptimizations = new Map();
|
|
1319
|
+
}
|
|
1320
|
+
|
|
1321
|
+
async optimizeSystem(
|
|
1322
|
+
report: ProfilingReport,
|
|
1323
|
+
constraints: OptimizationConstraints
|
|
1324
|
+
): Promise<OptimizationResult> {
|
|
1325
|
+
|
|
1326
|
+
const optimizations: Optimization[] = [];
|
|
1327
|
+
|
|
1328
|
+
// Analyze bottlenecks and generate optimizations
|
|
1329
|
+
for (const bottleneck of report.bottlenecks) {
|
|
1330
|
+
const strategy = this.optimizationStrategies.get(`${bottleneck.type}-optimization`);
|
|
1331
|
+
if (strategy) {
|
|
1332
|
+
const optimization = await strategy.generateOptimization(bottleneck, constraints);
|
|
1333
|
+
if (optimization) {
|
|
1334
|
+
optimizations.push(optimization);
|
|
1335
|
+
}
|
|
1336
|
+
}
|
|
1337
|
+
}
|
|
1338
|
+
|
|
1339
|
+
// Prioritize optimizations by impact/cost ratio
|
|
1340
|
+
optimizations.sort((a, b) => (b.impact / b.cost) - (a.impact / a.cost));
|
|
1341
|
+
|
|
1342
|
+
// Apply optimizations within constraints
|
|
1343
|
+
const appliedOptimizations: AppliedOptimization[] = [];
|
|
1344
|
+
let totalCost = 0;
|
|
1345
|
+
|
|
1346
|
+
for (const optimization of optimizations) {
|
|
1347
|
+
if (totalCost + optimization.cost <= constraints.maxCost) {
|
|
1348
|
+
const applied = await this.applyOptimization(optimization);
|
|
1349
|
+
appliedOptimizations.push(applied);
|
|
1350
|
+
totalCost += optimization.cost;
|
|
1351
|
+
}
|
|
1352
|
+
}
|
|
1353
|
+
|
|
1354
|
+
return {
|
|
1355
|
+
optimizationsApplied: appliedOptimizations.length,
|
|
1356
|
+
totalImpact: appliedOptimizations.reduce((sum, opt) => sum + opt.actualImpact, 0),
|
|
1357
|
+
totalCost,
|
|
1358
|
+
performance: await this.measurePerformanceImprovement()
|
|
1359
|
+
};
|
|
1360
|
+
}
|
|
1361
|
+
|
|
1362
|
+
private async applyOptimization(optimization: Optimization): Promise<AppliedOptimization> {
|
|
1363
|
+
const startTime = performance.now();
|
|
1364
|
+
|
|
1365
|
+
try {
|
|
1366
|
+
// Create backup for rollback
|
|
1367
|
+
const backup = await this.createBackup(optimization.target);
|
|
1368
|
+
|
|
1369
|
+
// Apply optimization
|
|
1370
|
+
await optimization.apply();
|
|
1371
|
+
|
|
1372
|
+
// Measure impact
|
|
1373
|
+
const actualImpact = await this.measureImpact(optimization);
|
|
1374
|
+
|
|
1375
|
+
const applied: AppliedOptimization = {
|
|
1376
|
+
id: generateUUID(),
|
|
1377
|
+
optimization,
|
|
1378
|
+
appliedAt: new Date(),
|
|
1379
|
+
actualImpact,
|
|
1380
|
+
backup,
|
|
1381
|
+
status: 'applied'
|
|
1382
|
+
};
|
|
1383
|
+
|
|
1384
|
+
this.appliedOptimizations.set(applied.id, applied);
|
|
1385
|
+
|
|
1386
|
+
return applied;
|
|
1387
|
+
|
|
1388
|
+
} catch (error) {
|
|
1389
|
+
return {
|
|
1390
|
+
id: generateUUID(),
|
|
1391
|
+
optimization,
|
|
1392
|
+
appliedAt: new Date(),
|
|
1393
|
+
actualImpact: 0,
|
|
1394
|
+
status: 'failed',
|
|
1395
|
+
error: error.message
|
|
1396
|
+
};
|
|
1397
|
+
}
|
|
1398
|
+
}
|
|
1399
|
+
}
|
|
1400
|
+
|
|
1401
|
+
// Real-time performance monitoring
|
|
1402
|
+
class RealTimePerformanceMonitor {
|
|
1403
|
+
private metrics: Map<string, MetricCollector>;
|
|
1404
|
+
private alerts: AlertManager;
|
|
1405
|
+
private dashboard: PerformanceDashboard;
|
|
1406
|
+
|
|
1407
|
+
constructor(config: MonitoringConfig) {
|
|
1408
|
+
this.metrics = new Map();
|
|
1409
|
+
this.alerts = new AlertManager(config.alertConfig);
|
|
1410
|
+
this.dashboard = new PerformanceDashboard(config.dashboardConfig);
|
|
1411
|
+
|
|
1412
|
+
this.initializeMetrics(config.metrics);
|
|
1413
|
+
}
|
|
1414
|
+
|
|
1415
|
+
private initializeMetrics(metricsConfig: MetricsConfig[]): void {
|
|
1416
|
+
for (const config of metricsConfig) {
|
|
1417
|
+
const collector = new MetricCollector(config);
|
|
1418
|
+
this.metrics.set(config.name, collector);
|
|
1419
|
+
|
|
1420
|
+
// Set up real-time collection
|
|
1421
|
+
collector.startCollection();
|
|
1422
|
+
|
|
1423
|
+
// Set up alerts
|
|
1424
|
+
this.alerts.addThreshold(config.name, config.alertThreshold);
|
|
1425
|
+
}
|
|
1426
|
+
}
|
|
1427
|
+
|
|
1428
|
+
async getRealtimeMetrics(): Promise<RealtimeMetrics> {
|
|
1429
|
+
const currentMetrics: Record<string, any> = {};
|
|
1430
|
+
|
|
1431
|
+
for (const [name, collector] of this.metrics) {
|
|
1432
|
+
currentMetrics[name] = await collector.getCurrentValue();
|
|
1433
|
+
}
|
|
1434
|
+
|
|
1435
|
+
return {
|
|
1436
|
+
timestamp: new Date(),
|
|
1437
|
+
metrics: currentMetrics,
|
|
1438
|
+
trends: await this.calculateTrends(),
|
|
1439
|
+
anomalies: await this.detectAnomalies()
|
|
1440
|
+
};
|
|
1441
|
+
}
|
|
1442
|
+
|
|
1443
|
+
private async calculateTrends(): Promise<Record<string, Trend>> {
|
|
1444
|
+
const trends: Record<string, Trend> = {};
|
|
1445
|
+
|
|
1446
|
+
for (const [name, collector] of this.metrics) {
|
|
1447
|
+
const history = await collector.getHistory(300); // 5 minutes
|
|
1448
|
+
trends[name] = this.analyzeTrend(history);
|
|
1449
|
+
}
|
|
1450
|
+
|
|
1451
|
+
return trends;
|
|
1452
|
+
}
|
|
1453
|
+
|
|
1454
|
+
private analyzeTrend(history: DataPoint[]): Trend {
|
|
1455
|
+
if (history.length < 2) {
|
|
1456
|
+
return { direction: 'stable', confidence: 0 };
|
|
1457
|
+
}
|
|
1458
|
+
|
|
1459
|
+
// Simple linear regression
|
|
1460
|
+
const n = history.length;
|
|
1461
|
+
const sumX = history.reduce((sum, _, i) => sum + i, 0);
|
|
1462
|
+
const sumY = history.reduce((sum, point) => sum + point.value, 0);
|
|
1463
|
+
const sumXY = history.reduce((sum, point, i) => sum + i * point.value, 0);
|
|
1464
|
+
const sumXX = history.reduce((sum, _, i) => sum + i * i, 0);
|
|
1465
|
+
|
|
1466
|
+
const slope = (n * sumXY - sumX * sumY) / (n * sumXX - sumX * sumX);
|
|
1467
|
+
const confidence = Math.abs(slope) / (sumY / n); // Normalized slope
|
|
1468
|
+
|
|
1469
|
+
return {
|
|
1470
|
+
direction: slope > 0.01 ? 'increasing' : slope < -0.01 ? 'decreasing' : 'stable',
|
|
1471
|
+
confidence: Math.min(confidence, 1),
|
|
1472
|
+
slope
|
|
1473
|
+
};
|
|
1474
|
+
}
|
|
1475
|
+
}
|
|
1476
|
+
```
|
|
1477
|
+
|
|
1478
|
+
## Security Architecture
|
|
1479
|
+
|
|
1480
|
+
### Security Framework
|
|
1481
|
+
|
|
1482
|
+
```typescript
|
|
1483
|
+
interface SecurityArchitecture {
|
|
1484
|
+
authentication: AuthenticationService;
|
|
1485
|
+
authorization: AuthorizationService;
|
|
1486
|
+
encryption: EncryptionService;
|
|
1487
|
+
auditing: SecurityAuditService;
|
|
1488
|
+
threatDetection: ThreatDetectionService;
|
|
1489
|
+
}
|
|
1490
|
+
|
|
1491
|
+
class ComprehensiveSecurityManager implements SecurityArchitecture {
|
|
1492
|
+
public readonly authentication: AuthenticationService;
|
|
1493
|
+
public readonly authorization: AuthorizationService;
|
|
1494
|
+
public readonly encryption: EncryptionService;
|
|
1495
|
+
public readonly auditing: SecurityAuditService;
|
|
1496
|
+
public readonly threatDetection: ThreatDetectionService;
|
|
1497
|
+
|
|
1498
|
+
constructor(config: SecurityConfig) {
|
|
1499
|
+
this.authentication = new JWTAuthenticationService(config.auth);
|
|
1500
|
+
this.authorization = new RBACAuthorizationService(config.rbac);
|
|
1501
|
+
this.encryption = new AESEncryptionService(config.encryption);
|
|
1502
|
+
this.auditing = new ComprehensiveAuditService(config.audit);
|
|
1503
|
+
this.threatDetection = new MLThreatDetectionService(config.threatDetection);
|
|
1504
|
+
}
|
|
1505
|
+
|
|
1506
|
+
async secureRequest(request: SecurityRequest): Promise<SecurityResult> {
|
|
1507
|
+
try {
|
|
1508
|
+
// Step 1: Authentication
|
|
1509
|
+
const authResult = await this.authentication.authenticate(request.credentials);
|
|
1510
|
+
if (!authResult.success) {
|
|
1511
|
+
await this.auditing.logSecurityEvent({
|
|
1512
|
+
type: 'authentication-failure',
|
|
1513
|
+
request,
|
|
1514
|
+
timestamp: new Date()
|
|
1515
|
+
});
|
|
1516
|
+
return { success: false, error: 'Authentication failed' };
|
|
1517
|
+
}
|
|
1518
|
+
|
|
1519
|
+
// Step 2: Authorization
|
|
1520
|
+
const authzResult = await this.authorization.authorize(
|
|
1521
|
+
authResult.user,
|
|
1522
|
+
request.resource,
|
|
1523
|
+
request.action
|
|
1524
|
+
);
|
|
1525
|
+
if (!authzResult.allowed) {
|
|
1526
|
+
await this.auditing.logSecurityEvent({
|
|
1527
|
+
type: 'authorization-denied',
|
|
1528
|
+
user: authResult.user,
|
|
1529
|
+
resource: request.resource,
|
|
1530
|
+
action: request.action,
|
|
1531
|
+
timestamp: new Date()
|
|
1532
|
+
});
|
|
1533
|
+
return { success: false, error: 'Access denied' };
|
|
1534
|
+
}
|
|
1535
|
+
|
|
1536
|
+
// Step 3: Threat detection
|
|
1537
|
+
const threatResult = await this.threatDetection.analyzeThreat(request, authResult.user);
|
|
1538
|
+
if (threatResult.threatLevel > 0.8) {
|
|
1539
|
+
await this.auditing.logSecurityEvent({
|
|
1540
|
+
type: 'threat-detected',
|
|
1541
|
+
user: authResult.user,
|
|
1542
|
+
threat: threatResult,
|
|
1543
|
+
timestamp: new Date()
|
|
1544
|
+
});
|
|
1545
|
+
return { success: false, error: 'Security threat detected' };
|
|
1546
|
+
}
|
|
1547
|
+
|
|
1548
|
+
// Step 4: Process secure request
|
|
1549
|
+
const processedRequest = await this.processSecureRequest(request, authResult.user);
|
|
1550
|
+
|
|
1551
|
+
// Step 5: Audit successful access
|
|
1552
|
+
await this.auditing.logSecurityEvent({
|
|
1553
|
+
type: 'access-granted',
|
|
1554
|
+
user: authResult.user,
|
|
1555
|
+
resource: request.resource,
|
|
1556
|
+
action: request.action,
|
|
1557
|
+
timestamp: new Date()
|
|
1558
|
+
});
|
|
1559
|
+
|
|
1560
|
+
return {
|
|
1561
|
+
success: true,
|
|
1562
|
+
user: authResult.user,
|
|
1563
|
+
result: processedRequest
|
|
1564
|
+
};
|
|
1565
|
+
|
|
1566
|
+
} catch (error) {
|
|
1567
|
+
await this.auditing.logSecurityEvent({
|
|
1568
|
+
type: 'security-error',
|
|
1569
|
+
error: error.message,
|
|
1570
|
+
request,
|
|
1571
|
+
timestamp: new Date()
|
|
1572
|
+
});
|
|
1573
|
+
|
|
1574
|
+
return {
|
|
1575
|
+
success: false,
|
|
1576
|
+
error: 'Security processing failed'
|
|
1577
|
+
};
|
|
1578
|
+
}
|
|
1579
|
+
}
|
|
1580
|
+
}
|
|
1581
|
+
|
|
1582
|
+
// Role-based access control implementation
|
|
1583
|
+
class RBACAuthorizationService implements AuthorizationService {
|
|
1584
|
+
private roles: Map<string, Role>;
|
|
1585
|
+
private permissions: Map<string, Permission>;
|
|
1586
|
+
private userRoles: Map<string, Set<string>>;
|
|
1587
|
+
|
|
1588
|
+
constructor(config: RBACConfig) {
|
|
1589
|
+
this.roles = new Map();
|
|
1590
|
+
this.permissions = new Map();
|
|
1591
|
+
this.userRoles = new Map();
|
|
1592
|
+
|
|
1593
|
+
this.initializeRoles(config.roles);
|
|
1594
|
+
this.initializePermissions(config.permissions);
|
|
1595
|
+
}
|
|
1596
|
+
|
|
1597
|
+
async authorize(user: User, resource: string, action: string): Promise<AuthorizationResult> {
|
|
1598
|
+
// Get user roles
|
|
1599
|
+
const userRoleIds = this.userRoles.get(user.id) || new Set();
|
|
1600
|
+
|
|
1601
|
+
// Check if any role grants permission
|
|
1602
|
+
for (const roleId of userRoleIds) {
|
|
1603
|
+
const role = this.roles.get(roleId);
|
|
1604
|
+
if (!role) continue;
|
|
1605
|
+
|
|
1606
|
+
// Check role permissions
|
|
1607
|
+
for (const permissionId of role.permissions) {
|
|
1608
|
+
const permission = this.permissions.get(permissionId);
|
|
1609
|
+
if (!permission) continue;
|
|
1610
|
+
|
|
1611
|
+
if (this.permissionMatches(permission, resource, action)) {
|
|
1612
|
+
return {
|
|
1613
|
+
allowed: true,
|
|
1614
|
+
role: roleId,
|
|
1615
|
+
permission: permissionId
|
|
1616
|
+
};
|
|
1617
|
+
}
|
|
1618
|
+
}
|
|
1619
|
+
}
|
|
1620
|
+
|
|
1621
|
+
return { allowed: false };
|
|
1622
|
+
}
|
|
1623
|
+
|
|
1624
|
+
private permissionMatches(permission: Permission, resource: string, action: string): boolean {
|
|
1625
|
+
// Check resource pattern
|
|
1626
|
+
const resourceMatches = this.matchesPattern(permission.resource, resource);
|
|
1627
|
+
|
|
1628
|
+
// Check action pattern
|
|
1629
|
+
const actionMatches = this.matchesPattern(permission.action, action);
|
|
1630
|
+
|
|
1631
|
+
return resourceMatches && actionMatches;
|
|
1632
|
+
}
|
|
1633
|
+
|
|
1634
|
+
private matchesPattern(pattern: string, value: string): boolean {
|
|
1635
|
+
// Convert glob pattern to regex
|
|
1636
|
+
const regexPattern = pattern
|
|
1637
|
+
.replace(/\*/g, '.*')
|
|
1638
|
+
.replace(/\?/g, '.');
|
|
1639
|
+
|
|
1640
|
+
const regex = new RegExp(`^${regexPattern}$`);
|
|
1641
|
+
return regex.test(value);
|
|
1642
|
+
}
|
|
1643
|
+
}
|
|
1644
|
+
|
|
1645
|
+
// Advanced threat detection with machine learning
|
|
1646
|
+
class MLThreatDetectionService implements ThreatDetectionService {
|
|
1647
|
+
private anomalyDetector: AnomalyDetector;
|
|
1648
|
+
private behaviorAnalyzer: BehaviorAnalyzer;
|
|
1649
|
+
private threatClassifier: ThreatClassifier;
|
|
1650
|
+
|
|
1651
|
+
constructor(config: ThreatDetectionConfig) {
|
|
1652
|
+
this.anomalyDetector = new IsolationForestDetector(config.anomaly);
|
|
1653
|
+
this.behaviorAnalyzer = new UserBehaviorAnalyzer(config.behavior);
|
|
1654
|
+
this.threatClassifier = new NeuralThreatClassifier(config.classifier);
|
|
1655
|
+
}
|
|
1656
|
+
|
|
1657
|
+
async analyzeThreat(request: SecurityRequest, user: User): Promise<ThreatAnalysisResult> {
|
|
1658
|
+
// Extract features from request
|
|
1659
|
+
const features = this.extractFeatures(request, user);
|
|
1660
|
+
|
|
1661
|
+
// Parallel threat analysis
|
|
1662
|
+
const [anomalyScore, behaviorScore, classificationResult] = await Promise.all([
|
|
1663
|
+
this.anomalyDetector.detectAnomaly(features),
|
|
1664
|
+
this.behaviorAnalyzer.analyzeBehavior(user, request),
|
|
1665
|
+
this.threatClassifier.classify(features)
|
|
1666
|
+
]);
|
|
1667
|
+
|
|
1668
|
+
// Combine scores using weighted average
|
|
1669
|
+
const threatLevel = this.calculateThreatLevel(anomalyScore, behaviorScore, classificationResult);
|
|
1670
|
+
|
|
1671
|
+
return {
|
|
1672
|
+
threatLevel,
|
|
1673
|
+
anomalyScore,
|
|
1674
|
+
behaviorScore,
|
|
1675
|
+
classification: classificationResult,
|
|
1676
|
+
features,
|
|
1677
|
+
confidence: this.calculateConfidence(anomalyScore, behaviorScore, classificationResult)
|
|
1678
|
+
};
|
|
1679
|
+
}
|
|
1680
|
+
|
|
1681
|
+
private extractFeatures(request: SecurityRequest, user: User): ThreatFeatures {
|
|
1682
|
+
return {
|
|
1683
|
+
// Request features
|
|
1684
|
+
requestSize: JSON.stringify(request).length,
|
|
1685
|
+
timeOfDay: new Date().getHours(),
|
|
1686
|
+
dayOfWeek: new Date().getDay(),
|
|
1687
|
+
ipAddress: request.clientIP,
|
|
1688
|
+
userAgent: request.userAgent,
|
|
1689
|
+
|
|
1690
|
+
// User features
|
|
1691
|
+
userId: user.id,
|
|
1692
|
+
userRole: user.role,
|
|
1693
|
+
lastLogin: user.lastLogin,
|
|
1694
|
+
loginFrequency: user.loginFrequency,
|
|
1695
|
+
|
|
1696
|
+
// Behavioral features
|
|
1697
|
+
typicalRequestSize: this.getTypicalRequestSize(user),
|
|
1698
|
+
typicalTimeOfDay: this.getTypicalTimeOfDay(user),
|
|
1699
|
+
requestFrequency: this.getRequestFrequency(user),
|
|
1700
|
+
|
|
1701
|
+
// Contextual features
|
|
1702
|
+
resource: request.resource,
|
|
1703
|
+
action: request.action,
|
|
1704
|
+
sensitive: this.isSensitiveResource(request.resource)
|
|
1705
|
+
};
|
|
1706
|
+
}
|
|
1707
|
+
|
|
1708
|
+
private calculateThreatLevel(
|
|
1709
|
+
anomalyScore: number,
|
|
1710
|
+
behaviorScore: number,
|
|
1711
|
+
classification: ClassificationResult
|
|
1712
|
+
): number {
|
|
1713
|
+
// Weighted combination of threat indicators
|
|
1714
|
+
const weights = {
|
|
1715
|
+
anomaly: 0.3,
|
|
1716
|
+
behavior: 0.4,
|
|
1717
|
+
classification: 0.3
|
|
1718
|
+
};
|
|
1719
|
+
|
|
1720
|
+
return (
|
|
1721
|
+
anomalyScore * weights.anomaly +
|
|
1722
|
+
behaviorScore * weights.behavior +
|
|
1723
|
+
classification.threatProbability * weights.classification
|
|
1724
|
+
);
|
|
1725
|
+
}
|
|
1726
|
+
}
|
|
1727
|
+
```
|
|
1728
|
+
|
|
1729
|
+
This comprehensive Technical Architecture Reference provides developers with deep insights into Claude Flow's internal systems, enabling advanced integrations, optimizations, and extensions while maintaining system integrity and performance.
|