claude-flow-novice 1.3.5 → 1.5.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/analysis/code-analyzer.md +3 -20
- package/.claude/agents/analysis/code-review/analyze-code-quality.md +1 -1
- package/.claude/agents/analyst.md +300 -0
- package/.claude/agents/architect.md +557 -0
- package/.claude/agents/architecture/system-architect.md +630 -0
- package/.claude/agents/architecture/system-design/arch-system-design.md +1 -1
- package/.claude/agents/base-template-generator.md +24 -1
- package/.claude/agents/coder.md +180 -0
- package/.claude/agents/consensus/byzantine-coordinator.md +4 -21
- package/.claude/agents/consensus/consensus-builder.md +3 -20
- package/.claude/agents/consensus/crdt-synchronizer.md +4 -21
- package/.claude/agents/consensus/gossip-coordinator.md +4 -21
- package/.claude/agents/consensus/performance-benchmarker.md +4 -21
- package/.claude/agents/consensus/quorum-manager.md +4 -21
- package/.claude/agents/consensus/raft-manager.md +4 -21
- package/.claude/agents/consensus/security-manager.md +4 -21
- package/.claude/agents/coordinator.md +842 -0
- package/.claude/agents/data/ml/data-ml-model.md +2 -2
- package/.claude/agents/development/backend/dev-backend-api.md +2 -2
- package/.claude/agents/devops/ci-cd/ops-cicd-github.md +2 -2
- package/.claude/agents/devops/devops-engineer.md +638 -0
- package/.claude/agents/documentation/api-docs/docs-api-openapi.md +2 -2
- package/.claude/agents/github/code-review-swarm.md +1 -1
- package/.claude/agents/github/github-specialist.md +856 -0
- package/.claude/agents/github/pr-manager.md +1 -1
- package/.claude/agents/github/release-manager.md +1 -1
- package/.claude/agents/neural/neural-pattern-agent.md +762 -0
- package/.claude/agents/optimization/benchmark-suite.md +1 -1
- package/.claude/agents/optimization/perf-analyzer.md +725 -0
- package/.claude/agents/optimization/performance-monitor.md +1 -1
- package/.claude/agents/planner.md +135 -0
- package/.claude/agents/researcher.md +185 -0
- package/.claude/agents/reviewer.md +291 -0
- package/.claude/agents/security/security-specialist.md +978 -0
- package/.claude/agents/sparc/architecture.md +1 -1
- package/.claude/agents/sparc/pseudocode.md +1 -1
- package/.claude/agents/sparc/refinement.md +1 -1
- package/.claude/agents/sparc/specification.md +1 -1
- package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +2 -2
- package/.claude/agents/swarm/adaptive-coordinator-enhanced.md +746 -0
- package/.claude/agents/tester.md +663 -0
- package/.claude/agents/testing/unit/tdd-london-swarm.md +1 -1
- package/.claude/agents/testing/validation/production-validator.md +1 -1
- package/.claude/commands/claude-soul.js +1 -1
- package/.claude/hooks.json +12 -15
- package/{.claude → .claude-flow-novice/.claude}/agents/MIGRATION_SUMMARY.md +1 -1
- package/.claude-flow-novice/.claude/agents/analysis/code-analyzer.md +192 -0
- package/.claude-flow-novice/.claude/agents/analysis/code-review/analyze-code-quality.md +180 -0
- package/.claude-flow-novice/.claude/agents/analyst.md +300 -0
- package/.claude-flow-novice/.claude/agents/architect.md +557 -0
- package/.claude-flow-novice/.claude/agents/architecture/system-architect.md +630 -0
- package/.claude-flow-novice/.claude/agents/architecture/system-design/arch-system-design.md +156 -0
- package/.claude-flow-novice/.claude/agents/backend-dev.json +42 -0
- package/.claude-flow-novice/.claude/agents/base-template-generator.md +65 -0
- package/.claude-flow-novice/.claude/agents/code-analyzer.json +39 -0
- package/.claude-flow-novice/.claude/agents/coder.json +42 -0
- package/.claude-flow-novice/.claude/agents/coder.md +180 -0
- package/.claude-flow-novice/.claude/agents/consensus/byzantine-coordinator.md +46 -0
- package/.claude-flow-novice/.claude/agents/consensus/consensus-builder.md +225 -0
- package/.claude-flow-novice/.claude/agents/consensus/crdt-synchronizer.md +980 -0
- package/.claude-flow-novice/.claude/agents/consensus/gossip-coordinator.md +46 -0
- package/.claude-flow-novice/.claude/agents/consensus/performance-benchmarker.md +834 -0
- package/.claude-flow-novice/.claude/agents/consensus/quorum-manager.md +806 -0
- package/.claude-flow-novice/.claude/agents/consensus/raft-manager.md +46 -0
- package/.claude-flow-novice/.claude/agents/consensus/security-manager.md +605 -0
- package/.claude-flow-novice/.claude/agents/coordinator.md +842 -0
- package/.claude-flow-novice/.claude/agents/data/ml/data-ml-model.md +193 -0
- package/.claude-flow-novice/.claude/agents/development/backend/dev-backend-api.md +142 -0
- package/.claude-flow-novice/.claude/agents/devops/ci-cd/ops-cicd-github.md +164 -0
- package/.claude-flow-novice/.claude/agents/devops/devops-engineer.md +638 -0
- package/.claude-flow-novice/.claude/agents/documentation/api-docs/docs-api-openapi.md +174 -0
- package/.claude-flow-novice/.claude/agents/github/code-review-swarm.md +538 -0
- package/.claude-flow-novice/.claude/agents/github/github-modes.md +173 -0
- package/.claude-flow-novice/.claude/agents/github/github-specialist.md +856 -0
- package/.claude-flow-novice/.claude/agents/github/issue-tracker.md +319 -0
- package/.claude-flow-novice/.claude/agents/github/multi-repo-swarm.md +553 -0
- package/.claude-flow-novice/.claude/agents/github/pr-manager.md +191 -0
- package/.claude-flow-novice/.claude/agents/github/project-board-sync.md +509 -0
- package/.claude-flow-novice/.claude/agents/github/release-manager.md +367 -0
- package/.claude-flow-novice/.claude/agents/github/release-swarm.md +583 -0
- package/.claude-flow-novice/.claude/agents/github/repo-architect.md +398 -0
- package/.claude-flow-novice/.claude/agents/github/swarm-issue.md +573 -0
- package/.claude-flow-novice/.claude/agents/github/swarm-pr.md +428 -0
- package/.claude-flow-novice/.claude/agents/github/sync-coordinator.md +452 -0
- package/.claude-flow-novice/.claude/agents/github/workflow-automation.md +635 -0
- package/.claude-flow-novice/.claude/agents/goal/goal-planner.md +73 -0
- package/.claude-flow-novice/.claude/agents/neural/neural-pattern-agent.md +762 -0
- package/.claude-flow-novice/.claude/agents/neural/safla-neural.md +74 -0
- package/.claude-flow-novice/.claude/agents/optimization/benchmark-suite.md +665 -0
- package/.claude-flow-novice/.claude/agents/optimization/load-balancer.md +431 -0
- package/.claude-flow-novice/.claude/agents/optimization/perf-analyzer.md +725 -0
- package/.claude-flow-novice/.claude/agents/optimization/performance-monitor.md +672 -0
- package/.claude-flow-novice/.claude/agents/optimization/resource-allocator.md +674 -0
- package/.claude-flow-novice/.claude/agents/optimization/topology-optimizer.md +808 -0
- package/.claude-flow-novice/.claude/agents/planner.json +41 -0
- package/.claude-flow-novice/.claude/agents/planner.md +135 -0
- package/.claude-flow-novice/.claude/agents/researcher.json +41 -0
- package/.claude-flow-novice/.claude/agents/researcher.md +185 -0
- package/.claude-flow-novice/.claude/agents/reviewer.json +39 -0
- package/.claude-flow-novice/.claude/agents/reviewer.md +291 -0
- package/.claude-flow-novice/.claude/agents/security/security-specialist.md +978 -0
- package/.claude-flow-novice/.claude/agents/sparc/architecture.md +472 -0
- package/.claude-flow-novice/.claude/agents/sparc/pseudocode.md +318 -0
- package/.claude-flow-novice/.claude/agents/sparc/refinement.md +525 -0
- package/.claude-flow-novice/.claude/agents/sparc/specification.md +276 -0
- package/.claude-flow-novice/.claude/agents/specialized/mobile/spec-mobile-react-native.md +226 -0
- package/.claude-flow-novice/.claude/agents/sublinear/consciousness-evolution-agent.md +499 -0
- package/.claude-flow-novice/.claude/agents/sublinear/matrix-solver-agent.md +113 -0
- package/.claude-flow-novice/.claude/agents/sublinear/nanosecond-scheduler-agent.md +644 -0
- package/.claude-flow-novice/.claude/agents/sublinear/pagerank-agent.md +699 -0
- package/.claude-flow-novice/.claude/agents/sublinear/phi-calculator-agent.md +749 -0
- package/.claude-flow-novice/.claude/agents/sublinear/psycho-symbolic-agent.md +543 -0
- package/.claude-flow-novice/.claude/agents/sublinear/sublinear.md +816 -0
- package/.claude-flow-novice/.claude/agents/sublinear/temporal-advantage-agent.md +360 -0
- package/.claude-flow-novice/.claude/agents/swarm/adaptive-coordinator-enhanced.md +746 -0
- package/.claude-flow-novice/.claude/agents/swarm/adaptive-coordinator.md +396 -0
- package/.claude-flow-novice/.claude/agents/swarm/hierarchical-coordinator.md +300 -0
- package/.claude-flow-novice/.claude/agents/swarm/mesh-coordinator.md +435 -0
- package/.claude-flow-novice/.claude/agents/system-architect.json +40 -0
- package/.claude-flow-novice/.claude/agents/templates/automation-smart-agent.md +205 -0
- package/.claude-flow-novice/.claude/agents/templates/coordinator-swarm-init.md +90 -0
- package/.claude-flow-novice/.claude/agents/templates/github-pr-manager.md +177 -0
- package/.claude-flow-novice/.claude/agents/templates/implementer-sparc-coder.md +259 -0
- package/.claude-flow-novice/.claude/agents/templates/memory-coordinator.md +187 -0
- package/.claude-flow-novice/.claude/agents/templates/migration-plan.md +746 -0
- package/.claude-flow-novice/.claude/agents/templates/orchestrator-task.md +139 -0
- package/.claude-flow-novice/.claude/agents/templates/performance-analyzer.md +199 -0
- package/.claude-flow-novice/.claude/agents/templates/sparc-coordinator.md +183 -0
- package/.claude-flow-novice/.claude/agents/tester.json +40 -0
- package/.claude-flow-novice/.claude/agents/tester.md +663 -0
- package/.claude-flow-novice/.claude/agents/testing/e2e/playwright-agent.md +249 -0
- package/.claude-flow-novice/.claude/agents/testing/unit/tdd-london-swarm.md +244 -0
- package/.claude-flow-novice/.claude/agents/testing/validation/production-validator.md +395 -0
- package/.claude-flow-novice/dist/index.js +12 -24
- package/.claude-flow-novice/dist/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/agents/agent-manager.js +123 -69
- package/.claude-flow-novice/dist/src/agents/agent-manager.js.map +1 -1
- package/.claude-flow-novice/dist/src/agents/github/utils/hook-integration.js +7 -7
- package/.claude-flow-novice/dist/src/agents/github/utils/hook-integration.js.map +1 -1
- package/.claude-flow-novice/dist/src/agents/stage3-integration-validator.js +485 -0
- package/.claude-flow-novice/dist/src/agents/stage3-integration-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/agents/unified-ultra-fast-agent-manager.js +630 -0
- package/.claude-flow-novice/dist/src/agents/unified-ultra-fast-agent-manager.js.map +1 -0
- package/.claude-flow-novice/dist/src/cli/commands/agent.js +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/agent.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/config-integration.js +6 -6
- package/.claude-flow-novice/dist/src/cli/commands/enterprise.js +18 -18
- package/.claude-flow-novice/dist/src/cli/commands/enterprise.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/goal-init.js +4 -4
- package/.claude-flow-novice/dist/src/cli/commands/help-new.js +23 -23
- package/.claude-flow-novice/dist/src/cli/commands/help-new.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/help.js +74 -74
- package/.claude-flow-novice/dist/src/cli/commands/help.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/hive-mind/pause.js +2 -2
- package/.claude-flow-novice/dist/src/cli/commands/hive-mind/pause.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/hive.js +4 -4
- package/.claude-flow-novice/dist/src/cli/commands/index.js +103 -132
- package/.claude-flow-novice/dist/src/cli/commands/index.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/mcp.js +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/migrate.js +4 -4
- package/.claude-flow-novice/dist/src/cli/commands/migrate.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/monitor.js +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/neural-init.js +4 -4
- package/.claude-flow-novice/dist/src/cli/commands/ruv-swarm.js +8 -8
- package/.claude-flow-novice/dist/src/cli/commands/sparc.js +12 -12
- package/.claude-flow-novice/dist/src/cli/commands/sparc.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/start/start-command.js +3 -3
- package/.claude-flow-novice/dist/src/cli/commands/status.js +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/swarm.js +7 -7
- package/.claude-flow-novice/dist/src/cli/commands/swarm.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/verification.js +18 -18
- package/.claude-flow-novice/dist/src/cli/completion.js +54 -54
- package/.claude-flow-novice/dist/src/cli/completion.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/consolidated/ConsolidatedCLI.js +11 -11
- package/.claude-flow-novice/dist/src/cli/consolidated/ConsolidatedCLI.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/consolidated/core/CommandHandlers.js +31 -31
- package/.claude-flow-novice/dist/src/cli/consolidated/core/TierManager.js +39 -39
- package/.claude-flow-novice/dist/src/cli/consolidated/core/TierManager.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/consolidated/help/InteractiveHelp.js +25 -25
- package/.claude-flow-novice/dist/src/cli/consolidated/help/InteractiveHelp.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/consolidated/routing/CommandRouter.js +8 -8
- package/.claude-flow-novice/dist/src/cli/consolidated/routing/CommandRouter.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/consolidated/utils/IntelligentDefaults.js +6 -6
- package/.claude-flow-novice/dist/src/cli/consolidated/utils/IntelligentDefaults.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/consolidated/utils/PerformanceOptimizer.js +7 -7
- package/.claude-flow-novice/dist/src/cli/consolidated/utils/PerformanceOptimizer.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/index-remote.js +10 -10
- package/.claude-flow-novice/dist/src/cli/index.js +1 -1
- package/.claude-flow-novice/dist/src/cli/init/directory-structure.js +8 -8
- package/.claude-flow-novice/dist/src/cli/init/index.js +3 -3
- package/.claude-flow-novice/dist/src/cli/init/sparc-environment.js +67 -67
- package/.claude-flow-novice/dist/src/cli/init/swarm-commands.js +18 -18
- package/.claude-flow-novice/dist/src/cli/node-repl.js +2 -2
- package/.claude-flow-novice/dist/src/cli/repl.js +1 -1
- package/.claude-flow-novice/dist/src/cli/simple-cli.js +68 -68
- package/.claude-flow-novice/dist/src/cli/simple-cli.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/simple-commands/session-start-soul.js +271 -0
- package/.claude-flow-novice/dist/src/cli/simple-orchestrator.js +7 -7
- package/.claude-flow-novice/dist/src/cli/simple-orchestrator.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/ui/fallback-handler.js +7 -7
- package/.claude-flow-novice/dist/src/communication/enhanced-event-bus.js +816 -0
- package/.claude-flow-novice/dist/src/communication/enhanced-event-bus.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/failure-recovery-system.js +812 -0
- package/.claude-flow-novice/dist/src/communication/failure-recovery-system.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/optimized-serialization.js +369 -0
- package/.claude-flow-novice/dist/src/communication/optimized-serialization.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/performance-optimizations.js +526 -0
- package/.claude-flow-novice/dist/src/communication/performance-optimizations.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/performance-validator.js +532 -0
- package/.claude-flow-novice/dist/src/communication/performance-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/priority-message-queue.js +525 -0
- package/.claude-flow-novice/dist/src/communication/priority-message-queue.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/shared-buffer-bus.js +218 -0
- package/.claude-flow-novice/dist/src/communication/shared-buffer-bus.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/ultra-fast-communication-bus.js +521 -0
- package/.claude-flow-novice/dist/src/communication/ultra-fast-communication-bus.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/ultra-fast-serialization.js +563 -0
- package/.claude-flow-novice/dist/src/communication/ultra-fast-serialization.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/websocket-cluster.js +344 -0
- package/.claude-flow-novice/dist/src/communication/websocket-cluster.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/zero-copy-structures.js +369 -0
- package/.claude-flow-novice/dist/src/communication/zero-copy-structures.js.map +1 -0
- package/.claude-flow-novice/dist/src/config/config-manager.js +1 -1
- package/.claude-flow-novice/dist/src/config/config-manager.js.map +1 -1
- package/.claude-flow-novice/dist/src/config/core/intelligent-configuration-manager.js +1 -1
- package/.claude-flow-novice/dist/src/config/integration/hooks-integration.js +6 -6
- package/.claude-flow-novice/dist/src/config/integration/hooks-integration.js.map +1 -1
- package/.claude-flow-novice/dist/src/config/migration/config-migration.js +1 -1
- package/.claude-flow-novice/dist/src/config/ruv-swarm-integration.js +1 -1
- package/.claude-flow-novice/dist/src/config/utils/zero-config-setup.js +1 -1
- package/.claude-flow-novice/dist/src/config/utils/zero-config-setup.js.map +1 -1
- package/.claude-flow-novice/dist/src/config/web-portal-config.js +0 -9
- package/.claude-flow-novice/dist/src/config/web-portal-config.js.map +1 -1
- package/.claude-flow-novice/dist/src/config/zero-config-setup.js +18 -18
- package/.claude-flow-novice/dist/src/config/zero-config-setup.js.map +1 -1
- package/.claude-flow-novice/dist/src/core/logger.js +33 -10
- package/.claude-flow-novice/dist/src/core/logger.js.map +1 -1
- package/.claude-flow-novice/dist/src/migration/index.js +1 -1
- package/.claude-flow-novice/dist/src/migration/index.js.map +1 -1
- package/.claude-flow-novice/dist/src/migration/migration-runner.js +4 -4
- package/.claude-flow-novice/dist/src/migration/migration-runner.js.map +1 -1
- package/.claude-flow-novice/dist/src/monitoring/agent-health-monitor.js +430 -0
- package/.claude-flow-novice/dist/src/monitoring/agent-health-monitor.js.map +1 -0
- package/.claude-flow-novice/dist/src/slash-commands/claude-soul.js +248 -365
- package/.claude-flow-novice/dist/src/slash-commands/register-all-commands.js +1 -1
- package/.claude-flow-novice/dist/src/swarm/claude-code-interface.js +1 -1
- package/.claude-flow-novice/dist/src/swarm/claude-flow-executor.js +1 -1
- package/.claude-flow-novice/dist/src/swarm/consensus-coordinator.js +471 -0
- package/.claude-flow-novice/dist/src/swarm/consensus-coordinator.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm/hive-mind-integration.js +1 -1
- package/.claude-flow-novice/dist/src/swarm/large-scale-coordinator.js +543 -0
- package/.claude-flow-novice/dist/src/swarm/large-scale-coordinator.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm/optimizations/connection-pool.js +1 -1
- package/.claude-flow-novice/dist/src/swarm/optimizations/optimized-executor.js +1 -1
- package/.claude-flow-novice/dist/src/swarm/types.js.map +1 -1
- package/.claude-flow-novice/dist/src/swarm-fullstack/integrations/communication-bridge.js +709 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/integrations/communication-bridge.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/api-contract-validator.js +612 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/api-contract-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/backend-test-orchestrator.js +679 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/backend-test-orchestrator.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/frontend-test-orchestrator.js +654 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/frontend-test-orchestrator.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/visual-regression.js +402 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/visual-regression.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/convergence-detector.js +459 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/convergence-detector.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/fix-coordinator.js +513 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/fix-coordinator.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/index.js +19 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/iterative-build-test.js +568 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/iterative-build-test.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/regression-test-manager.js +418 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/regression-test-manager.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/test-result-analyzer.js +530 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/test-result-analyzer.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/workflow-metrics.js +250 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/workflow-metrics.js.map +1 -0
- package/.claude-flow-novice/dist/src/task/index.js +7 -7
- package/.claude-flow-novice/dist/src/validation/fullstack-integration-validator.js +420 -0
- package/.claude-flow-novice/dist/src/validation/fullstack-integration-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/validation/production-validator.js +1435 -0
- package/.claude-flow-novice/dist/src/validation/production-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/verification/cli-integration.js +3 -3
- package/.claude-flow-novice/dist/src/verification/hooks.js +1 -1
- package/CHANGELOG.md +13 -0
- package/CLAUDE.md +1032 -61
- package/README.md +0 -1
- package/config/build/babel.config.cjs +19 -11
- package/config/typescript/tsconfig.json +1 -1
- package/examples/02-workflows/claude-workflow.json +5 -5
- package/examples/claude-api-error-handling.ts +2 -2
- package/examples/frontend-testing-demo.ts +470 -0
- package/examples/litellm/config/config.yaml +1 -1
- package/package.json +13 -7
- package/scripts/build/unified-builder.sh +6 -6
- package/scripts/build/validate-agents.js +238 -0
- package/scripts/post-install-claude-md.js +28 -0
- package/scripts/run-production-validation.ts +590 -0
- package/scripts/test/test-coordination-features.ts +2 -2
- package/scripts/validate-stage3-performance.ts +377 -0
- package/src/cli/simple-commands/hooks.js +1 -0
- package/src/cli/simple-commands/init/agent-copier.js +0 -2
- package/src/cli/simple-commands/init/index.js +18 -110
- package/src/cli/simple-commands/init/templates/CLAUDE.md +162 -1158
- package/src/cli/simple-commands/init/templates/claude-md.js +38 -157
- package/src/swarm-fullstack/integrations/communication-bridge.ts +931 -0
- package/src/swarm-fullstack/testing/api-contract-validator.ts +909 -0
- package/src/swarm-fullstack/testing/backend-test-orchestrator.ts +791 -0
- package/src/swarm-fullstack/testing/frontend-test-orchestrator.ts +853 -0
- package/src/swarm-fullstack/testing/visual-regression.ts +507 -0
- package/src/swarm-fullstack/workflows/convergence-detector.ts +736 -0
- package/src/swarm-fullstack/workflows/fix-coordinator.ts +677 -0
- package/src/swarm-fullstack/workflows/index.ts +75 -0
- package/src/swarm-fullstack/workflows/iterative-build-test.ts +829 -0
- package/src/swarm-fullstack/workflows/regression-test-manager.ts +590 -0
- package/src/swarm-fullstack/workflows/test-result-analyzer.ts +739 -0
- package/src/swarm-fullstack/workflows/workflow-metrics.ts +399 -0
- package/wiki/command-reference/README.md +1 -2
- package/wiki/command-reference/mcp-tools/README.md +1 -1
- package/wiki/getting-started/claude-code-mcp/README.md +1 -2
- package/wiki/getting-started/installation/README.md +2 -10
- package/.claude/agents/backend-dev.json +0 -9
- package/.claude/agents/code-analyzer.json +0 -9
- package/.claude/agents/coder.json +0 -9
- package/.claude/agents/planner.json +0 -9
- package/.claude/agents/researcher.json +0 -9
- package/.claude/agents/reviewer.json +0 -9
- package/.claude/agents/system-architect.json +0 -9
- package/.claude/agents/tester.json +0 -9
- package/.claude/commands/flow-nexus/app-store.md +0 -124
- package/.claude/commands/flow-nexus/challenges.md +0 -120
- package/.claude/commands/flow-nexus/login-registration.md +0 -65
- package/.claude/commands/flow-nexus/neural-network.md +0 -134
- package/.claude/commands/flow-nexus/payments.md +0 -116
- package/.claude/commands/flow-nexus/sandbox.md +0 -83
- package/.claude/commands/flow-nexus/swarm.md +0 -87
- package/.claude/commands/flow-nexus/user-tools.md +0 -152
- package/.claude/commands/flow-nexus/workflow.md +0 -115
- package/.claude-flow-novice/dist/cli/index.js +0 -45
- package/.claude-flow-novice/dist/core/index.js +0 -22
- package/.claude-flow-novice/dist/mcp/mcp-server-novice.js +0 -595
- package/.claude-flow-novice/dist/mcp/mcp-server-sdk.js +0 -649
- package/.claude-flow-novice/dist/mcp/mcp-server-with-slash-commands.js +0 -776
- package/.claude-flow-novice/dist/src/cli/simple-commands/init/templates/claude-md.js +0 -1101
- package/src/cli/simple-commands/init/templates/CLAUDE.md.optimized +0 -265
- /package/{.claude → .claude-flow-novice/.claude}/agents/README.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/consensus/README.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/core/coder.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/core/planner.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/core/researcher.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/core/reviewer.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/core/tester.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/optimization/README.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/swarm/README.md +0 -0
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
export class SharedBufferBus {
|
|
2
|
+
static HEADER_SIZE = 24;
|
|
3
|
+
static BUFFER_SIZE = 64 * 1024 * 1024;
|
|
4
|
+
static MAX_MESSAGE_SIZE = 8192;
|
|
5
|
+
static LOCK_FREE = 0;
|
|
6
|
+
static LOCK_ACQUIRED = 1;
|
|
7
|
+
messageBuffer;
|
|
8
|
+
workerPool = new Map();
|
|
9
|
+
messagePool;
|
|
10
|
+
freeMessages;
|
|
11
|
+
metrics;
|
|
12
|
+
constructor(){
|
|
13
|
+
this.initializeSharedMemory();
|
|
14
|
+
this.initializeMessagePool();
|
|
15
|
+
this.metrics = {
|
|
16
|
+
messagesProcessed: 0,
|
|
17
|
+
averageLatency: 0,
|
|
18
|
+
peakThroughput: 0,
|
|
19
|
+
currentConnections: 0
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
initializeSharedMemory() {
|
|
23
|
+
// Create shared buffer for circular message queue
|
|
24
|
+
const totalSize = SharedBufferBus.BUFFER_SIZE + 32; // Extra for metadata
|
|
25
|
+
this.messageBuffer = {
|
|
26
|
+
buffer: new SharedArrayBuffer(totalSize),
|
|
27
|
+
metadata: new Int32Array(new SharedArrayBuffer(32)),
|
|
28
|
+
data: new Uint8Array(new SharedArrayBuffer(SharedBufferBus.BUFFER_SIZE)),
|
|
29
|
+
capacity: SharedBufferBus.BUFFER_SIZE,
|
|
30
|
+
readIndex: 0,
|
|
31
|
+
writeIndex: 1,
|
|
32
|
+
lockIndex: 2
|
|
33
|
+
};
|
|
34
|
+
// Initialize atomic counters
|
|
35
|
+
Atomics.store(this.messageBuffer.metadata, 0, 0); // read index
|
|
36
|
+
Atomics.store(this.messageBuffer.metadata, 1, 0); // write index
|
|
37
|
+
Atomics.store(this.messageBuffer.metadata, 2, SharedBufferBus.LOCK_FREE); // lock
|
|
38
|
+
Atomics.store(this.messageBuffer.metadata, 3, 0); // message count
|
|
39
|
+
}
|
|
40
|
+
initializeMessagePool() {
|
|
41
|
+
const poolSize = 10000;
|
|
42
|
+
this.messagePool = [];
|
|
43
|
+
this.freeMessages = new Int32Array(new SharedArrayBuffer(poolSize * 4));
|
|
44
|
+
// Pre-allocate message buffers
|
|
45
|
+
for(let i = 0; i < poolSize; i++){
|
|
46
|
+
const msgBuffer = new SharedArrayBuffer(SharedBufferBus.MAX_MESSAGE_SIZE);
|
|
47
|
+
this.messagePool.push(msgBuffer);
|
|
48
|
+
Atomics.store(this.freeMessages, i, 1); // Mark as free
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
async sendMessage(type, data, priority = 0, targetId = -1) {
|
|
52
|
+
const startTime = performance.now();
|
|
53
|
+
// Acquire message buffer from pool
|
|
54
|
+
const msgIndex = this.acquireMessageBuffer();
|
|
55
|
+
if (msgIndex === -1) {
|
|
56
|
+
return false; // Pool exhausted
|
|
57
|
+
}
|
|
58
|
+
const messageSize = SharedBufferBus.HEADER_SIZE + data.length;
|
|
59
|
+
if (messageSize > SharedBufferBus.MAX_MESSAGE_SIZE) {
|
|
60
|
+
this.releaseMessageBuffer(msgIndex);
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
// Try to acquire write lock with atomic compare-exchange
|
|
64
|
+
let lockAcquired = false;
|
|
65
|
+
let attempts = 0;
|
|
66
|
+
const maxAttempts = 1000;
|
|
67
|
+
while(!lockAcquired && attempts < maxAttempts){
|
|
68
|
+
const current = Atomics.compareExchange(this.messageBuffer.metadata, this.messageBuffer.lockIndex, SharedBufferBus.LOCK_FREE, SharedBufferBus.LOCK_ACQUIRED);
|
|
69
|
+
lockAcquired = current === SharedBufferBus.LOCK_FREE;
|
|
70
|
+
attempts++;
|
|
71
|
+
if (!lockAcquired) {
|
|
72
|
+
// Exponential backoff with atomic wait
|
|
73
|
+
const backoff = Math.min(attempts * 10, 1000);
|
|
74
|
+
Atomics.wait(this.messageBuffer.metadata, this.messageBuffer.lockIndex, SharedBufferBus.LOCK_ACQUIRED, backoff);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (!lockAcquired) {
|
|
78
|
+
this.releaseMessageBuffer(msgIndex);
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
try {
|
|
82
|
+
// Get current write position
|
|
83
|
+
const writePos = Atomics.load(this.messageBuffer.metadata, this.messageBuffer.writeIndex);
|
|
84
|
+
const readPos = Atomics.load(this.messageBuffer.metadata, this.messageBuffer.readIndex);
|
|
85
|
+
// Check if buffer has space (circular buffer logic)
|
|
86
|
+
const availableSpace = this.calculateAvailableSpace(writePos, readPos);
|
|
87
|
+
if (availableSpace < messageSize) {
|
|
88
|
+
return false; // Buffer full
|
|
89
|
+
}
|
|
90
|
+
// Write message header
|
|
91
|
+
const header = {
|
|
92
|
+
type,
|
|
93
|
+
priority,
|
|
94
|
+
size: data.length,
|
|
95
|
+
timestamp: Date.now(),
|
|
96
|
+
sourceId: 0,
|
|
97
|
+
targetId
|
|
98
|
+
};
|
|
99
|
+
this.writeMessageToBuffer(writePos, header, data);
|
|
100
|
+
// Update write index atomically
|
|
101
|
+
const newWritePos = (writePos + messageSize) % this.messageBuffer.capacity;
|
|
102
|
+
Atomics.store(this.messageBuffer.metadata, this.messageBuffer.writeIndex, newWritePos);
|
|
103
|
+
// Increment message count
|
|
104
|
+
Atomics.add(this.messageBuffer.metadata, 3, 1);
|
|
105
|
+
// Wake up waiting readers
|
|
106
|
+
Atomics.notify(this.messageBuffer.metadata, this.messageBuffer.readIndex, 1);
|
|
107
|
+
// Update metrics
|
|
108
|
+
const latency = performance.now() - startTime;
|
|
109
|
+
this.updateMetrics(latency);
|
|
110
|
+
return true;
|
|
111
|
+
} finally{
|
|
112
|
+
// Release write lock
|
|
113
|
+
Atomics.store(this.messageBuffer.metadata, this.messageBuffer.lockIndex, SharedBufferBus.LOCK_FREE);
|
|
114
|
+
Atomics.notify(this.messageBuffer.metadata, this.messageBuffer.lockIndex, 1);
|
|
115
|
+
this.releaseMessageBuffer(msgIndex);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
async receiveMessage(timeoutMs = 1000) {
|
|
119
|
+
const startTime = Date.now();
|
|
120
|
+
while(Date.now() - startTime < timeoutMs){
|
|
121
|
+
const readPos = Atomics.load(this.messageBuffer.metadata, this.messageBuffer.readIndex);
|
|
122
|
+
const writePos = Atomics.load(this.messageBuffer.metadata, this.messageBuffer.writeIndex);
|
|
123
|
+
// Check if messages available
|
|
124
|
+
if (readPos === writePos) {
|
|
125
|
+
// Wait for new messages with atomic wait
|
|
126
|
+
const result = Atomics.wait(this.messageBuffer.metadata, this.messageBuffer.readIndex, readPos, Math.min(100, timeoutMs - (Date.now() - startTime)));
|
|
127
|
+
if (result === 'timed-out') continue;
|
|
128
|
+
if (result === 'not-equal') continue; // New message available
|
|
129
|
+
}
|
|
130
|
+
// Try to read message
|
|
131
|
+
const message = this.readMessageFromBuffer(readPos);
|
|
132
|
+
if (message) {
|
|
133
|
+
// Update read index atomically
|
|
134
|
+
const newReadPos = (readPos + SharedBufferBus.HEADER_SIZE + message.header.size) % this.messageBuffer.capacity;
|
|
135
|
+
Atomics.store(this.messageBuffer.metadata, this.messageBuffer.readIndex, newReadPos);
|
|
136
|
+
// Decrement message count
|
|
137
|
+
Atomics.sub(this.messageBuffer.metadata, 3, 1);
|
|
138
|
+
return message;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return null; // Timeout
|
|
142
|
+
}
|
|
143
|
+
acquireMessageBuffer() {
|
|
144
|
+
for(let i = 0; i < this.freeMessages.length; i++){
|
|
145
|
+
const current = Atomics.compareExchange(this.freeMessages, i, 1, 0);
|
|
146
|
+
if (current === 1) {
|
|
147
|
+
return i; // Successfully acquired buffer at index i
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return -1; // No free buffers
|
|
151
|
+
}
|
|
152
|
+
releaseMessageBuffer(index) {
|
|
153
|
+
Atomics.store(this.freeMessages, index, 1);
|
|
154
|
+
}
|
|
155
|
+
calculateAvailableSpace(writePos, readPos) {
|
|
156
|
+
if (writePos >= readPos) {
|
|
157
|
+
return this.messageBuffer.capacity - writePos + readPos;
|
|
158
|
+
}
|
|
159
|
+
return readPos - writePos;
|
|
160
|
+
}
|
|
161
|
+
writeMessageToBuffer(position, header, data) {
|
|
162
|
+
const headerView = new DataView(this.messageBuffer.buffer, position, SharedBufferBus.HEADER_SIZE);
|
|
163
|
+
// Write header fields
|
|
164
|
+
headerView.setUint32(0, header.type, true);
|
|
165
|
+
headerView.setUint32(4, header.priority, true);
|
|
166
|
+
headerView.setUint32(8, header.size, true);
|
|
167
|
+
headerView.setBigUint64(12, BigInt(header.timestamp), true);
|
|
168
|
+
headerView.setUint32(20, header.sourceId, true);
|
|
169
|
+
headerView.setUint32(24, header.targetId, true);
|
|
170
|
+
// Write message data
|
|
171
|
+
const dataView = new Uint8Array(this.messageBuffer.buffer, position + SharedBufferBus.HEADER_SIZE, data.length);
|
|
172
|
+
dataView.set(data);
|
|
173
|
+
}
|
|
174
|
+
readMessageFromBuffer(position) {
|
|
175
|
+
try {
|
|
176
|
+
const headerView = new DataView(this.messageBuffer.buffer, position, SharedBufferBus.HEADER_SIZE);
|
|
177
|
+
const header = {
|
|
178
|
+
type: headerView.getUint32(0, true),
|
|
179
|
+
priority: headerView.getUint32(4, true),
|
|
180
|
+
size: headerView.getUint32(8, true),
|
|
181
|
+
timestamp: Number(headerView.getBigUint64(12, true)),
|
|
182
|
+
sourceId: headerView.getUint32(20, true),
|
|
183
|
+
targetId: headerView.getUint32(24, true)
|
|
184
|
+
};
|
|
185
|
+
// Read message data
|
|
186
|
+
const data = new Uint8Array(this.messageBuffer.buffer, position + SharedBufferBus.HEADER_SIZE, header.size);
|
|
187
|
+
return {
|
|
188
|
+
type: header.type,
|
|
189
|
+
data: new Uint8Array(data),
|
|
190
|
+
header
|
|
191
|
+
};
|
|
192
|
+
} catch (error) {
|
|
193
|
+
return null;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
updateMetrics(latency) {
|
|
197
|
+
this.metrics.messagesProcessed++;
|
|
198
|
+
this.metrics.averageLatency = this.metrics.averageLatency * 0.9 + latency * 0.1;
|
|
199
|
+
}
|
|
200
|
+
getMetrics() {
|
|
201
|
+
return {
|
|
202
|
+
...this.metrics
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
getBufferStatus() {
|
|
206
|
+
return {
|
|
207
|
+
readIndex: Atomics.load(this.messageBuffer.metadata, this.messageBuffer.readIndex),
|
|
208
|
+
writeIndex: Atomics.load(this.messageBuffer.metadata, this.messageBuffer.writeIndex),
|
|
209
|
+
messageCount: Atomics.load(this.messageBuffer.metadata, 3),
|
|
210
|
+
capacity: this.messageBuffer.capacity
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
getSharedBuffer() {
|
|
214
|
+
return this.messageBuffer.buffer;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
//# sourceMappingURL=shared-buffer-bus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/communication/shared-buffer-bus.ts"],"names":["SharedBufferBus","HEADER_SIZE","BUFFER_SIZE","MAX_MESSAGE_SIZE","LOCK_FREE","LOCK_ACQUIRED","messageBuffer","workerPool","Map","messagePool","freeMessages","metrics","initializeSharedMemory","initializeMessagePool","messagesProcessed","averageLatency","peakThroughput","currentConnections","totalSize","buffer","SharedArrayBuffer","metadata","Int32Array","data","Uint8Array","capacity","readIndex","writeIndex","lockIndex","Atomics","store","poolSize","i","msgBuffer","push","sendMessage","type","priority","targetId","startTime","performance","now","msgIndex","acquireMessageBuffer","messageSize","length","releaseMessageBuffer","lockAcquired","attempts","maxAttempts","current","compareExchange","backoff","Math","min","wait","writePos","load","readPos","availableSpace","calculateAvailableSpace","header","size","timestamp","Date","sourceId","writeMessageToBuffer","newWritePos","add","notify","latency","updateMetrics","receiveMessage","timeoutMs","result","message","readMessageFromBuffer","newReadPos","sub","index","position","headerView","DataView","setUint32","setBigUint64","BigInt","dataView","set","getUint32","Number","getBigUint64","error","getMetrics","getBufferStatus","messageCount","getSharedBuffer"],"mappings":"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"}
|