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,1515 @@
|
|
|
1
|
+
# Python Integration Guide
|
|
2
|
+
|
|
3
|
+
This guide provides comprehensive examples and patterns for integrating claude-flow with Python projects.
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
|
|
7
|
+
1. [Basic Setup](#basic-setup)
|
|
8
|
+
2. [Flask Integration](#flask-integration)
|
|
9
|
+
3. [FastAPI Integration](#fastapi-integration)
|
|
10
|
+
4. [Django Integration](#django-integration)
|
|
11
|
+
5. [Data Science Integration](#data-science-integration)
|
|
12
|
+
6. [Testing Integration](#testing-integration)
|
|
13
|
+
7. [Deployment Patterns](#deployment-patterns)
|
|
14
|
+
|
|
15
|
+
## Basic Setup
|
|
16
|
+
|
|
17
|
+
### Python Package Integration
|
|
18
|
+
|
|
19
|
+
```python
|
|
20
|
+
# setup.py
|
|
21
|
+
from setuptools import setup, find_packages
|
|
22
|
+
|
|
23
|
+
setup(
|
|
24
|
+
name="my-claude-flow-project",
|
|
25
|
+
version="1.0.0",
|
|
26
|
+
packages=find_packages(),
|
|
27
|
+
install_requires=[
|
|
28
|
+
"fastapi>=0.68.0",
|
|
29
|
+
"uvicorn>=0.15.0",
|
|
30
|
+
"pydantic>=1.8.0",
|
|
31
|
+
"requests>=2.25.0"
|
|
32
|
+
],
|
|
33
|
+
extras_require={
|
|
34
|
+
"dev": [
|
|
35
|
+
"pytest>=6.0.0",
|
|
36
|
+
"pytest-asyncio>=0.15.0",
|
|
37
|
+
"black>=21.0.0",
|
|
38
|
+
"flake8>=3.9.0"
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
entry_points={
|
|
42
|
+
"console_scripts": [
|
|
43
|
+
"claude-flow-dev=src.cli:dev_command",
|
|
44
|
+
"claude-flow-test=src.cli:test_command",
|
|
45
|
+
"claude-flow-deploy=src.cli:deploy_command"
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
)
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Claude Flow Python Wrapper
|
|
52
|
+
|
|
53
|
+
```python
|
|
54
|
+
# src/claude_flow_integration.py
|
|
55
|
+
import asyncio
|
|
56
|
+
import subprocess
|
|
57
|
+
import json
|
|
58
|
+
import logging
|
|
59
|
+
from typing import List, Dict, Any, Optional
|
|
60
|
+
from dataclasses import dataclass
|
|
61
|
+
from pathlib import Path
|
|
62
|
+
|
|
63
|
+
@dataclass
|
|
64
|
+
class TaskResult:
|
|
65
|
+
success: bool
|
|
66
|
+
result: Any
|
|
67
|
+
error: Optional[str] = None
|
|
68
|
+
duration: Optional[float] = None
|
|
69
|
+
timestamp: Optional[str] = None
|
|
70
|
+
|
|
71
|
+
@dataclass
|
|
72
|
+
class AgentConfig:
|
|
73
|
+
name: str
|
|
74
|
+
capabilities: List[str]
|
|
75
|
+
topology: str = "mesh"
|
|
76
|
+
|
|
77
|
+
class ClaudeFlowIntegration:
|
|
78
|
+
"""Python wrapper for claude-flow CLI integration."""
|
|
79
|
+
|
|
80
|
+
def __init__(
|
|
81
|
+
self,
|
|
82
|
+
topology: str = "mesh",
|
|
83
|
+
agents: Optional[List[str]] = None,
|
|
84
|
+
session_id: Optional[str] = None
|
|
85
|
+
):
|
|
86
|
+
self.topology = topology
|
|
87
|
+
self.default_agents = agents or ["coder", "tester", "reviewer"]
|
|
88
|
+
self.session_id = session_id or f"python-session-{int(asyncio.get_event_loop().time())}"
|
|
89
|
+
self.initialized = False
|
|
90
|
+
self.logger = logging.getLogger(__name__)
|
|
91
|
+
|
|
92
|
+
async def initialize(self) -> None:
|
|
93
|
+
"""Initialize Claude Flow environment."""
|
|
94
|
+
if self.initialized:
|
|
95
|
+
return
|
|
96
|
+
|
|
97
|
+
try:
|
|
98
|
+
# Setup MCP servers
|
|
99
|
+
await self._run_cli(["mcp", "add", "claude-flow", "npx", "claude-flow@alpha", "mcp", "start"])
|
|
100
|
+
await self._run_cli(["mcp", "add", "ruv-swarm", "npx", "ruv-swarm", "mcp", "start"])
|
|
101
|
+
|
|
102
|
+
# Initialize swarm
|
|
103
|
+
await self._run_cli([
|
|
104
|
+
"sparc", "init",
|
|
105
|
+
"--topology", self.topology,
|
|
106
|
+
"--agents", str(len(self.default_agents))
|
|
107
|
+
])
|
|
108
|
+
|
|
109
|
+
# Start session
|
|
110
|
+
await self._run_cli([
|
|
111
|
+
"sparc", "session", "start",
|
|
112
|
+
"--name", self.session_id
|
|
113
|
+
])
|
|
114
|
+
|
|
115
|
+
self.initialized = True
|
|
116
|
+
self.logger.info(f"Claude Flow initialized with session: {self.session_id}")
|
|
117
|
+
|
|
118
|
+
except Exception as e:
|
|
119
|
+
self.logger.error(f"Failed to initialize Claude Flow: {e}")
|
|
120
|
+
raise
|
|
121
|
+
|
|
122
|
+
async def spawn_agents(
|
|
123
|
+
self,
|
|
124
|
+
agents: List[str],
|
|
125
|
+
task: str,
|
|
126
|
+
strategy: str = "parallel"
|
|
127
|
+
) -> TaskResult:
|
|
128
|
+
"""Spawn agents to execute a task."""
|
|
129
|
+
if not self.initialized:
|
|
130
|
+
raise RuntimeError("Claude Flow not initialized. Call initialize() first.")
|
|
131
|
+
|
|
132
|
+
try:
|
|
133
|
+
agent_list = ",".join(agents)
|
|
134
|
+
result = await self._run_cli([
|
|
135
|
+
"sparc", "batch",
|
|
136
|
+
agent_list,
|
|
137
|
+
task,
|
|
138
|
+
"--strategy", strategy
|
|
139
|
+
])
|
|
140
|
+
|
|
141
|
+
return TaskResult(
|
|
142
|
+
success=True,
|
|
143
|
+
result=result,
|
|
144
|
+
timestamp=str(asyncio.get_event_loop().time())
|
|
145
|
+
)
|
|
146
|
+
|
|
147
|
+
except Exception as e:
|
|
148
|
+
self.logger.error(f"Failed to spawn agents: {e}")
|
|
149
|
+
return TaskResult(
|
|
150
|
+
success=False,
|
|
151
|
+
result=None,
|
|
152
|
+
error=str(e)
|
|
153
|
+
)
|
|
154
|
+
|
|
155
|
+
async def orchestrate_task(
|
|
156
|
+
self,
|
|
157
|
+
task: str,
|
|
158
|
+
agents: Optional[List[str]] = None,
|
|
159
|
+
strategy: str = "adaptive",
|
|
160
|
+
priority: str = "medium"
|
|
161
|
+
) -> TaskResult:
|
|
162
|
+
"""Orchestrate a complex task across multiple agents."""
|
|
163
|
+
agents = agents or self.default_agents
|
|
164
|
+
|
|
165
|
+
try:
|
|
166
|
+
result = await self._run_cli([
|
|
167
|
+
"sparc", "run", "task-orchestrator",
|
|
168
|
+
task,
|
|
169
|
+
"--agents", ",".join(agents),
|
|
170
|
+
"--strategy", strategy,
|
|
171
|
+
"--priority", priority
|
|
172
|
+
])
|
|
173
|
+
|
|
174
|
+
return TaskResult(success=True, result=result)
|
|
175
|
+
|
|
176
|
+
except Exception as e:
|
|
177
|
+
return TaskResult(success=False, result=None, error=str(e))
|
|
178
|
+
|
|
179
|
+
async def run_tdd(self, feature: str) -> TaskResult:
|
|
180
|
+
"""Run Test-Driven Development workflow for a feature."""
|
|
181
|
+
try:
|
|
182
|
+
result = await self._run_cli(["sparc", "tdd", feature])
|
|
183
|
+
return TaskResult(success=True, result=result)
|
|
184
|
+
except Exception as e:
|
|
185
|
+
return TaskResult(success=False, result=None, error=str(e))
|
|
186
|
+
|
|
187
|
+
async def execute_pipeline(self, task: str) -> TaskResult:
|
|
188
|
+
"""Execute a complete pipeline workflow."""
|
|
189
|
+
try:
|
|
190
|
+
result = await self._run_cli(["sparc", "pipeline", task])
|
|
191
|
+
return TaskResult(success=True, result=result)
|
|
192
|
+
except Exception as e:
|
|
193
|
+
return TaskResult(success=False, result=None, error=str(e))
|
|
194
|
+
|
|
195
|
+
async def _run_cli(self, args: List[str]) -> str:
|
|
196
|
+
"""Execute claude-flow CLI command."""
|
|
197
|
+
cmd = ["npx", "claude-flow"] + args
|
|
198
|
+
|
|
199
|
+
process = await asyncio.create_subprocess_exec(
|
|
200
|
+
*cmd,
|
|
201
|
+
stdout=asyncio.subprocess.PIPE,
|
|
202
|
+
stderr=asyncio.subprocess.PIPE
|
|
203
|
+
)
|
|
204
|
+
|
|
205
|
+
stdout, stderr = await process.communicate()
|
|
206
|
+
|
|
207
|
+
if process.returncode != 0:
|
|
208
|
+
raise RuntimeError(f"Command failed: {stderr.decode()}")
|
|
209
|
+
|
|
210
|
+
return stdout.decode().strip()
|
|
211
|
+
|
|
212
|
+
async def cleanup(self) -> None:
|
|
213
|
+
"""Clean up Claude Flow session."""
|
|
214
|
+
try:
|
|
215
|
+
await self._run_cli([
|
|
216
|
+
"sparc", "session", "end",
|
|
217
|
+
"--export-metrics", "true"
|
|
218
|
+
])
|
|
219
|
+
self.logger.info("Claude Flow session cleaned up successfully")
|
|
220
|
+
except Exception as e:
|
|
221
|
+
self.logger.error(f"Failed to cleanup session: {e}")
|
|
222
|
+
|
|
223
|
+
# Context manager for automatic cleanup
|
|
224
|
+
class ClaudeFlowContext:
|
|
225
|
+
def __init__(self, **kwargs):
|
|
226
|
+
self.claude_flow = ClaudeFlowIntegration(**kwargs)
|
|
227
|
+
|
|
228
|
+
async def __aenter__(self):
|
|
229
|
+
await self.claude_flow.initialize()
|
|
230
|
+
return self.claude_flow
|
|
231
|
+
|
|
232
|
+
async def __aexit__(self, exc_type, exc_val, exc_tb):
|
|
233
|
+
await self.claude_flow.cleanup()
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
## Flask Integration
|
|
237
|
+
|
|
238
|
+
### Flask Application with Claude Flow
|
|
239
|
+
|
|
240
|
+
```python
|
|
241
|
+
# app.py
|
|
242
|
+
from flask import Flask, request, jsonify
|
|
243
|
+
import asyncio
|
|
244
|
+
from src.claude_flow_integration import ClaudeFlowIntegration, ClaudeFlowContext
|
|
245
|
+
|
|
246
|
+
app = Flask(__name__)
|
|
247
|
+
|
|
248
|
+
# Global Claude Flow instance
|
|
249
|
+
claude_flow = ClaudeFlowIntegration(
|
|
250
|
+
topology="hierarchical",
|
|
251
|
+
agents=["backend-dev", "api-docs", "security-manager"]
|
|
252
|
+
)
|
|
253
|
+
|
|
254
|
+
@app.before_first_request
|
|
255
|
+
def initialize_claude_flow():
|
|
256
|
+
"""Initialize Claude Flow before handling requests."""
|
|
257
|
+
async def init():
|
|
258
|
+
await claude_flow.initialize()
|
|
259
|
+
|
|
260
|
+
# Run in event loop
|
|
261
|
+
loop = asyncio.new_event_loop()
|
|
262
|
+
asyncio.set_event_loop(loop)
|
|
263
|
+
loop.run_until_complete(init())
|
|
264
|
+
loop.close()
|
|
265
|
+
|
|
266
|
+
@app.route('/api/claude-flow/task', methods=['POST'])
|
|
267
|
+
def spawn_task():
|
|
268
|
+
"""Endpoint to spawn Claude Flow agents for a task."""
|
|
269
|
+
data = request.get_json()
|
|
270
|
+
|
|
271
|
+
if not data or 'task' not in data:
|
|
272
|
+
return jsonify({'error': 'Task description required'}), 400
|
|
273
|
+
|
|
274
|
+
task = data['task']
|
|
275
|
+
agents = data.get('agents', claude_flow.default_agents)
|
|
276
|
+
strategy = data.get('strategy', 'parallel')
|
|
277
|
+
|
|
278
|
+
async def execute_task():
|
|
279
|
+
return await claude_flow.spawn_agents(agents, task, strategy)
|
|
280
|
+
|
|
281
|
+
# Execute in event loop
|
|
282
|
+
loop = asyncio.new_event_loop()
|
|
283
|
+
asyncio.set_event_loop(loop)
|
|
284
|
+
result = loop.run_until_complete(execute_task())
|
|
285
|
+
loop.close()
|
|
286
|
+
|
|
287
|
+
return jsonify({
|
|
288
|
+
'success': result.success,
|
|
289
|
+
'result': result.result,
|
|
290
|
+
'error': result.error,
|
|
291
|
+
'timestamp': result.timestamp
|
|
292
|
+
})
|
|
293
|
+
|
|
294
|
+
@app.route('/api/claude-flow/tdd', methods=['POST'])
|
|
295
|
+
def run_tdd():
|
|
296
|
+
"""Endpoint to run TDD workflow."""
|
|
297
|
+
data = request.get_json()
|
|
298
|
+
|
|
299
|
+
if not data or 'feature' not in data:
|
|
300
|
+
return jsonify({'error': 'Feature name required'}), 400
|
|
301
|
+
|
|
302
|
+
feature = data['feature']
|
|
303
|
+
|
|
304
|
+
async def execute_tdd():
|
|
305
|
+
return await claude_flow.run_tdd(feature)
|
|
306
|
+
|
|
307
|
+
loop = asyncio.new_event_loop()
|
|
308
|
+
asyncio.set_event_loop(loop)
|
|
309
|
+
result = loop.run_until_complete(execute_tdd())
|
|
310
|
+
loop.close()
|
|
311
|
+
|
|
312
|
+
return jsonify({
|
|
313
|
+
'success': result.success,
|
|
314
|
+
'result': result.result,
|
|
315
|
+
'error': result.error
|
|
316
|
+
})
|
|
317
|
+
|
|
318
|
+
@app.route('/api/claude-flow/pipeline', methods=['POST'])
|
|
319
|
+
def execute_pipeline():
|
|
320
|
+
"""Endpoint to execute complete pipeline."""
|
|
321
|
+
data = request.get_json()
|
|
322
|
+
|
|
323
|
+
if not data or 'pipeline_task' not in data:
|
|
324
|
+
return jsonify({'error': 'Pipeline task required'}), 400
|
|
325
|
+
|
|
326
|
+
pipeline_task = data['pipeline_task']
|
|
327
|
+
|
|
328
|
+
async def execute():
|
|
329
|
+
return await claude_flow.execute_pipeline(pipeline_task)
|
|
330
|
+
|
|
331
|
+
loop = asyncio.new_event_loop()
|
|
332
|
+
asyncio.set_event_loop(loop)
|
|
333
|
+
result = loop.run_until_complete(execute())
|
|
334
|
+
loop.close()
|
|
335
|
+
|
|
336
|
+
return jsonify({
|
|
337
|
+
'success': result.success,
|
|
338
|
+
'result': result.result,
|
|
339
|
+
'error': result.error
|
|
340
|
+
})
|
|
341
|
+
|
|
342
|
+
@app.route('/health')
|
|
343
|
+
def health_check():
|
|
344
|
+
"""Health check endpoint."""
|
|
345
|
+
return jsonify({
|
|
346
|
+
'status': 'healthy',
|
|
347
|
+
'claude_flow_initialized': claude_flow.initialized,
|
|
348
|
+
'session_id': claude_flow.session_id
|
|
349
|
+
})
|
|
350
|
+
|
|
351
|
+
@app.teardown_appcontext
|
|
352
|
+
def cleanup_claude_flow(error):
|
|
353
|
+
"""Cleanup Claude Flow on app teardown."""
|
|
354
|
+
if claude_flow.initialized:
|
|
355
|
+
async def cleanup():
|
|
356
|
+
await claude_flow.cleanup()
|
|
357
|
+
|
|
358
|
+
loop = asyncio.new_event_loop()
|
|
359
|
+
asyncio.set_event_loop(loop)
|
|
360
|
+
loop.run_until_complete(cleanup())
|
|
361
|
+
loop.close()
|
|
362
|
+
|
|
363
|
+
if __name__ == '__main__':
|
|
364
|
+
app.run(debug=True, port=5000)
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
### Flask CLI Commands
|
|
368
|
+
|
|
369
|
+
```python
|
|
370
|
+
# cli.py
|
|
371
|
+
import click
|
|
372
|
+
import asyncio
|
|
373
|
+
from src.claude_flow_integration import ClaudeFlowContext
|
|
374
|
+
|
|
375
|
+
@click.group()
|
|
376
|
+
def cli():
|
|
377
|
+
"""Claude Flow CLI commands for Flask application."""
|
|
378
|
+
pass
|
|
379
|
+
|
|
380
|
+
@cli.command()
|
|
381
|
+
@click.option('--agents', default='backend-dev,tester,reviewer', help='Comma-separated list of agents')
|
|
382
|
+
@click.argument('task')
|
|
383
|
+
def dev(agents, task):
|
|
384
|
+
"""Start development with Claude Flow agents."""
|
|
385
|
+
async def run_dev():
|
|
386
|
+
async with ClaudeFlowContext(topology="mesh") as cf:
|
|
387
|
+
agent_list = agents.split(',')
|
|
388
|
+
result = await cf.spawn_agents(agent_list, task, "parallel")
|
|
389
|
+
click.echo(f"Development task completed: {result.success}")
|
|
390
|
+
if result.error:
|
|
391
|
+
click.echo(f"Error: {result.error}")
|
|
392
|
+
|
|
393
|
+
asyncio.run(run_dev())
|
|
394
|
+
|
|
395
|
+
@cli.command()
|
|
396
|
+
@click.argument('feature')
|
|
397
|
+
def tdd(feature):
|
|
398
|
+
"""Run TDD workflow for a feature."""
|
|
399
|
+
async def run_tdd():
|
|
400
|
+
async with ClaudeFlowContext() as cf:
|
|
401
|
+
result = await cf.run_tdd(feature)
|
|
402
|
+
click.echo(f"TDD workflow completed: {result.success}")
|
|
403
|
+
if result.error:
|
|
404
|
+
click.echo(f"Error: {result.error}")
|
|
405
|
+
|
|
406
|
+
asyncio.run(run_tdd())
|
|
407
|
+
|
|
408
|
+
@cli.command()
|
|
409
|
+
def build():
|
|
410
|
+
"""Build the Flask application with Claude Flow."""
|
|
411
|
+
async def run_build():
|
|
412
|
+
async with ClaudeFlowContext() as cf:
|
|
413
|
+
result = await cf.execute_pipeline("Build Flask application with testing and optimization")
|
|
414
|
+
click.echo(f"Build completed: {result.success}")
|
|
415
|
+
if result.error:
|
|
416
|
+
click.echo(f"Error: {result.error}")
|
|
417
|
+
|
|
418
|
+
asyncio.run(run_build())
|
|
419
|
+
|
|
420
|
+
if __name__ == '__main__':
|
|
421
|
+
cli()
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
## FastAPI Integration
|
|
425
|
+
|
|
426
|
+
### FastAPI Application with Claude Flow
|
|
427
|
+
|
|
428
|
+
```python
|
|
429
|
+
# main.py
|
|
430
|
+
from fastapi import FastAPI, HTTPException, BackgroundTasks
|
|
431
|
+
from pydantic import BaseModel
|
|
432
|
+
from typing import List, Optional
|
|
433
|
+
import asyncio
|
|
434
|
+
from contextlib import asynccontextmanager
|
|
435
|
+
from src.claude_flow_integration import ClaudeFlowIntegration
|
|
436
|
+
|
|
437
|
+
# Pydantic models
|
|
438
|
+
class TaskRequest(BaseModel):
|
|
439
|
+
task: str
|
|
440
|
+
agents: Optional[List[str]] = None
|
|
441
|
+
strategy: str = "parallel"
|
|
442
|
+
|
|
443
|
+
class TDDRequest(BaseModel):
|
|
444
|
+
feature: str
|
|
445
|
+
|
|
446
|
+
class PipelineRequest(BaseModel):
|
|
447
|
+
pipeline_task: str
|
|
448
|
+
|
|
449
|
+
class TaskResponse(BaseModel):
|
|
450
|
+
success: bool
|
|
451
|
+
result: Optional[str] = None
|
|
452
|
+
error: Optional[str] = None
|
|
453
|
+
task_id: Optional[str] = None
|
|
454
|
+
|
|
455
|
+
# Global Claude Flow instance
|
|
456
|
+
claude_flow_instance = None
|
|
457
|
+
|
|
458
|
+
@asynccontextmanager
|
|
459
|
+
async def lifespan(app: FastAPI):
|
|
460
|
+
# Startup
|
|
461
|
+
global claude_flow_instance
|
|
462
|
+
claude_flow_instance = ClaudeFlowIntegration(
|
|
463
|
+
topology="mesh",
|
|
464
|
+
agents=["backend-dev", "api-docs", "security-manager", "performance-benchmarker"]
|
|
465
|
+
)
|
|
466
|
+
await claude_flow_instance.initialize()
|
|
467
|
+
yield
|
|
468
|
+
# Shutdown
|
|
469
|
+
if claude_flow_instance:
|
|
470
|
+
await claude_flow_instance.cleanup()
|
|
471
|
+
|
|
472
|
+
app = FastAPI(
|
|
473
|
+
title="Claude Flow API",
|
|
474
|
+
description="FastAPI integration with Claude Flow for automated development",
|
|
475
|
+
version="1.0.0",
|
|
476
|
+
lifespan=lifespan
|
|
477
|
+
)
|
|
478
|
+
|
|
479
|
+
@app.post("/api/tasks/spawn", response_model=TaskResponse)
|
|
480
|
+
async def spawn_agents(task_request: TaskRequest):
|
|
481
|
+
"""Spawn Claude Flow agents to execute a task."""
|
|
482
|
+
try:
|
|
483
|
+
agents = task_request.agents or claude_flow_instance.default_agents
|
|
484
|
+
result = await claude_flow_instance.spawn_agents(
|
|
485
|
+
agents,
|
|
486
|
+
task_request.task,
|
|
487
|
+
task_request.strategy
|
|
488
|
+
)
|
|
489
|
+
|
|
490
|
+
return TaskResponse(
|
|
491
|
+
success=result.success,
|
|
492
|
+
result=result.result,
|
|
493
|
+
error=result.error
|
|
494
|
+
)
|
|
495
|
+
|
|
496
|
+
except Exception as e:
|
|
497
|
+
raise HTTPException(status_code=500, detail=str(e))
|
|
498
|
+
|
|
499
|
+
@app.post("/api/tasks/tdd", response_model=TaskResponse)
|
|
500
|
+
async def run_tdd_workflow(tdd_request: TDDRequest):
|
|
501
|
+
"""Run Test-Driven Development workflow."""
|
|
502
|
+
try:
|
|
503
|
+
result = await claude_flow_instance.run_tdd(tdd_request.feature)
|
|
504
|
+
|
|
505
|
+
return TaskResponse(
|
|
506
|
+
success=result.success,
|
|
507
|
+
result=result.result,
|
|
508
|
+
error=result.error
|
|
509
|
+
)
|
|
510
|
+
|
|
511
|
+
except Exception as e:
|
|
512
|
+
raise HTTPException(status_code=500, detail=str(e))
|
|
513
|
+
|
|
514
|
+
@app.post("/api/tasks/pipeline", response_model=TaskResponse)
|
|
515
|
+
async def execute_pipeline(pipeline_request: PipelineRequest):
|
|
516
|
+
"""Execute a complete development pipeline."""
|
|
517
|
+
try:
|
|
518
|
+
result = await claude_flow_instance.execute_pipeline(
|
|
519
|
+
pipeline_request.pipeline_task
|
|
520
|
+
)
|
|
521
|
+
|
|
522
|
+
return TaskResponse(
|
|
523
|
+
success=result.success,
|
|
524
|
+
result=result.result,
|
|
525
|
+
error=result.error
|
|
526
|
+
)
|
|
527
|
+
|
|
528
|
+
except Exception as e:
|
|
529
|
+
raise HTTPException(status_code=500, detail=str(e))
|
|
530
|
+
|
|
531
|
+
@app.get("/api/tasks/orchestrate")
|
|
532
|
+
async def orchestrate_task(
|
|
533
|
+
task: str,
|
|
534
|
+
agents: Optional[str] = None,
|
|
535
|
+
strategy: str = "adaptive",
|
|
536
|
+
priority: str = "medium"
|
|
537
|
+
):
|
|
538
|
+
"""Orchestrate a complex task across multiple agents."""
|
|
539
|
+
try:
|
|
540
|
+
agent_list = agents.split(',') if agents else None
|
|
541
|
+
result = await claude_flow_instance.orchestrate_task(
|
|
542
|
+
task, agent_list, strategy, priority
|
|
543
|
+
)
|
|
544
|
+
|
|
545
|
+
return TaskResponse(
|
|
546
|
+
success=result.success,
|
|
547
|
+
result=result.result,
|
|
548
|
+
error=result.error
|
|
549
|
+
)
|
|
550
|
+
|
|
551
|
+
except Exception as e:
|
|
552
|
+
raise HTTPException(status_code=500, detail=str(e))
|
|
553
|
+
|
|
554
|
+
@app.get("/health")
|
|
555
|
+
async def health_check():
|
|
556
|
+
"""Health check endpoint."""
|
|
557
|
+
return {
|
|
558
|
+
"status": "healthy",
|
|
559
|
+
"claude_flow_initialized": claude_flow_instance.initialized if claude_flow_instance else False,
|
|
560
|
+
"session_id": claude_flow_instance.session_id if claude_flow_instance else None
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
# Background task for long-running operations
|
|
564
|
+
@app.post("/api/tasks/background")
|
|
565
|
+
async def run_background_task(
|
|
566
|
+
task_request: TaskRequest,
|
|
567
|
+
background_tasks: BackgroundTasks
|
|
568
|
+
):
|
|
569
|
+
"""Run a task in the background."""
|
|
570
|
+
task_id = f"bg-task-{int(asyncio.get_event_loop().time())}"
|
|
571
|
+
|
|
572
|
+
async def background_execution():
|
|
573
|
+
try:
|
|
574
|
+
agents = task_request.agents or claude_flow_instance.default_agents
|
|
575
|
+
result = await claude_flow_instance.spawn_agents(
|
|
576
|
+
agents,
|
|
577
|
+
task_request.task,
|
|
578
|
+
task_request.strategy
|
|
579
|
+
)
|
|
580
|
+
# In a real application, you'd store this result in a database
|
|
581
|
+
print(f"Background task {task_id} completed: {result.success}")
|
|
582
|
+
except Exception as e:
|
|
583
|
+
print(f"Background task {task_id} failed: {e}")
|
|
584
|
+
|
|
585
|
+
background_tasks.add_task(background_execution)
|
|
586
|
+
|
|
587
|
+
return TaskResponse(
|
|
588
|
+
success=True,
|
|
589
|
+
result=f"Background task started",
|
|
590
|
+
task_id=task_id
|
|
591
|
+
)
|
|
592
|
+
|
|
593
|
+
if __name__ == "__main__":
|
|
594
|
+
import uvicorn
|
|
595
|
+
uvicorn.run(app, host="0.0.0.0", port=8000)
|
|
596
|
+
```
|
|
597
|
+
|
|
598
|
+
## Django Integration
|
|
599
|
+
|
|
600
|
+
### Django Settings Configuration
|
|
601
|
+
|
|
602
|
+
```python
|
|
603
|
+
# settings.py
|
|
604
|
+
import os
|
|
605
|
+
from pathlib import Path
|
|
606
|
+
|
|
607
|
+
BASE_DIR = Path(__file__).resolve().parent.parent
|
|
608
|
+
|
|
609
|
+
# Claude Flow Configuration
|
|
610
|
+
CLAUDE_FLOW_CONFIG = {
|
|
611
|
+
'TOPOLOGY': os.getenv('CLAUDE_FLOW_TOPOLOGY', 'mesh'),
|
|
612
|
+
'DEFAULT_AGENTS': [
|
|
613
|
+
'backend-dev',
|
|
614
|
+
'tester',
|
|
615
|
+
'reviewer',
|
|
616
|
+
'security-manager'
|
|
617
|
+
],
|
|
618
|
+
'SESSION_PREFIX': 'django-session',
|
|
619
|
+
'AUTO_INITIALIZE': True,
|
|
620
|
+
'CLEANUP_ON_SHUTDOWN': True
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
# Add Claude Flow app
|
|
624
|
+
INSTALLED_APPS = [
|
|
625
|
+
'django.contrib.admin',
|
|
626
|
+
'django.contrib.auth',
|
|
627
|
+
'django.contrib.contenttypes',
|
|
628
|
+
'django.contrib.sessions',
|
|
629
|
+
'django.contrib.messages',
|
|
630
|
+
'django.contrib.staticfiles',
|
|
631
|
+
'claude_flow_app', # Custom Claude Flow Django app
|
|
632
|
+
]
|
|
633
|
+
|
|
634
|
+
# Async support
|
|
635
|
+
ASGI_APPLICATION = 'myproject.asgi.application'
|
|
636
|
+
```
|
|
637
|
+
|
|
638
|
+
### Django Claude Flow App
|
|
639
|
+
|
|
640
|
+
```python
|
|
641
|
+
# claude_flow_app/apps.py
|
|
642
|
+
from django.apps import AppConfig
|
|
643
|
+
import asyncio
|
|
644
|
+
from .integration import DjangoClaudeFlowIntegration
|
|
645
|
+
|
|
646
|
+
class ClaudeFlowAppConfig(AppConfig):
|
|
647
|
+
default_auto_field = 'django.db.models.BigAutoField'
|
|
648
|
+
name = 'claude_flow_app'
|
|
649
|
+
|
|
650
|
+
def ready(self):
|
|
651
|
+
# Initialize Claude Flow when Django starts
|
|
652
|
+
from django.conf import settings
|
|
653
|
+
|
|
654
|
+
if getattr(settings, 'CLAUDE_FLOW_CONFIG', {}).get('AUTO_INITIALIZE'):
|
|
655
|
+
integration = DjangoClaudeFlowIntegration()
|
|
656
|
+
# Note: In production, you'd want to handle this more carefully
|
|
657
|
+
try:
|
|
658
|
+
loop = asyncio.get_event_loop()
|
|
659
|
+
loop.run_until_complete(integration.initialize())
|
|
660
|
+
except RuntimeError:
|
|
661
|
+
# Event loop not running, create new one
|
|
662
|
+
asyncio.run(integration.initialize())
|
|
663
|
+
```
|
|
664
|
+
|
|
665
|
+
```python
|
|
666
|
+
# claude_flow_app/integration.py
|
|
667
|
+
from django.conf import settings
|
|
668
|
+
from src.claude_flow_integration import ClaudeFlowIntegration
|
|
669
|
+
import asyncio
|
|
670
|
+
|
|
671
|
+
class DjangoClaudeFlowIntegration:
|
|
672
|
+
_instance = None
|
|
673
|
+
|
|
674
|
+
def __new__(cls):
|
|
675
|
+
if cls._instance is None:
|
|
676
|
+
cls._instance = super().__new__(cls)
|
|
677
|
+
cls._instance._initialized = False
|
|
678
|
+
return cls._instance
|
|
679
|
+
|
|
680
|
+
def __init__(self):
|
|
681
|
+
if not self._initialized:
|
|
682
|
+
config = getattr(settings, 'CLAUDE_FLOW_CONFIG', {})
|
|
683
|
+
self.claude_flow = ClaudeFlowIntegration(
|
|
684
|
+
topology=config.get('TOPOLOGY', 'mesh'),
|
|
685
|
+
agents=config.get('DEFAULT_AGENTS', ['coder', 'tester', 'reviewer'])
|
|
686
|
+
)
|
|
687
|
+
self._initialized = True
|
|
688
|
+
|
|
689
|
+
async def initialize(self):
|
|
690
|
+
await self.claude_flow.initialize()
|
|
691
|
+
|
|
692
|
+
async def spawn_agents(self, agents, task, strategy='parallel'):
|
|
693
|
+
return await self.claude_flow.spawn_agents(agents, task, strategy)
|
|
694
|
+
|
|
695
|
+
async def run_tdd(self, feature):
|
|
696
|
+
return await self.claude_flow.run_tdd(feature)
|
|
697
|
+
|
|
698
|
+
async def execute_pipeline(self, task):
|
|
699
|
+
return await self.claude_flow.execute_pipeline(task)
|
|
700
|
+
|
|
701
|
+
async def cleanup(self):
|
|
702
|
+
await self.claude_flow.cleanup()
|
|
703
|
+
|
|
704
|
+
# Singleton instance
|
|
705
|
+
django_claude_flow = DjangoClaudeFlowIntegration()
|
|
706
|
+
```
|
|
707
|
+
|
|
708
|
+
### Django Views
|
|
709
|
+
|
|
710
|
+
```python
|
|
711
|
+
# claude_flow_app/views.py
|
|
712
|
+
from django.http import JsonResponse
|
|
713
|
+
from django.views.decorators.csrf import csrf_exempt
|
|
714
|
+
from django.views.decorators.http import require_http_methods
|
|
715
|
+
from django.utils.decorators import method_decorator
|
|
716
|
+
from django.views import View
|
|
717
|
+
import json
|
|
718
|
+
import asyncio
|
|
719
|
+
from .integration import django_claude_flow
|
|
720
|
+
|
|
721
|
+
@method_decorator(csrf_exempt, name='dispatch')
|
|
722
|
+
class ClaudeFlowTaskView(View):
|
|
723
|
+
async def post(self, request):
|
|
724
|
+
try:
|
|
725
|
+
data = json.loads(request.body)
|
|
726
|
+
task = data.get('task')
|
|
727
|
+
agents = data.get('agents', django_claude_flow.claude_flow.default_agents)
|
|
728
|
+
strategy = data.get('strategy', 'parallel')
|
|
729
|
+
|
|
730
|
+
if not task:
|
|
731
|
+
return JsonResponse({'error': 'Task description required'}, status=400)
|
|
732
|
+
|
|
733
|
+
result = await django_claude_flow.spawn_agents(agents, task, strategy)
|
|
734
|
+
|
|
735
|
+
return JsonResponse({
|
|
736
|
+
'success': result.success,
|
|
737
|
+
'result': result.result,
|
|
738
|
+
'error': result.error,
|
|
739
|
+
'timestamp': result.timestamp
|
|
740
|
+
})
|
|
741
|
+
|
|
742
|
+
except Exception as e:
|
|
743
|
+
return JsonResponse({'error': str(e)}, status=500)
|
|
744
|
+
|
|
745
|
+
@method_decorator(csrf_exempt, name='dispatch')
|
|
746
|
+
class ClaudeFlowTDDView(View):
|
|
747
|
+
async def post(self, request):
|
|
748
|
+
try:
|
|
749
|
+
data = json.loads(request.body)
|
|
750
|
+
feature = data.get('feature')
|
|
751
|
+
|
|
752
|
+
if not feature:
|
|
753
|
+
return JsonResponse({'error': 'Feature name required'}, status=400)
|
|
754
|
+
|
|
755
|
+
result = await django_claude_flow.run_tdd(feature)
|
|
756
|
+
|
|
757
|
+
return JsonResponse({
|
|
758
|
+
'success': result.success,
|
|
759
|
+
'result': result.result,
|
|
760
|
+
'error': result.error
|
|
761
|
+
})
|
|
762
|
+
|
|
763
|
+
except Exception as e:
|
|
764
|
+
return JsonResponse({'error': str(e)}, status=500)
|
|
765
|
+
|
|
766
|
+
class HealthCheckView(View):
|
|
767
|
+
def get(self, request):
|
|
768
|
+
return JsonResponse({
|
|
769
|
+
'status': 'healthy',
|
|
770
|
+
'claude_flow_initialized': django_claude_flow.claude_flow.initialized
|
|
771
|
+
})
|
|
772
|
+
```
|
|
773
|
+
|
|
774
|
+
### Django Management Commands
|
|
775
|
+
|
|
776
|
+
```python
|
|
777
|
+
# claude_flow_app/management/commands/claude_flow.py
|
|
778
|
+
from django.core.management.base import BaseCommand
|
|
779
|
+
import asyncio
|
|
780
|
+
from claude_flow_app.integration import django_claude_flow
|
|
781
|
+
|
|
782
|
+
class Command(BaseCommand):
|
|
783
|
+
help = 'Claude Flow management commands'
|
|
784
|
+
|
|
785
|
+
def add_arguments(self, parser):
|
|
786
|
+
subparsers = parser.add_subparsers(dest='action', help='Available actions')
|
|
787
|
+
|
|
788
|
+
# Spawn agents command
|
|
789
|
+
spawn_parser = subparsers.add_parser('spawn', help='Spawn agents')
|
|
790
|
+
spawn_parser.add_argument('--agents', required=True, help='Comma-separated list of agents')
|
|
791
|
+
spawn_parser.add_argument('--task', required=True, help='Task description')
|
|
792
|
+
spawn_parser.add_argument('--strategy', default='parallel', help='Execution strategy')
|
|
793
|
+
|
|
794
|
+
# TDD command
|
|
795
|
+
tdd_parser = subparsers.add_parser('tdd', help='Run TDD workflow')
|
|
796
|
+
tdd_parser.add_argument('--feature', required=True, help='Feature name')
|
|
797
|
+
|
|
798
|
+
# Pipeline command
|
|
799
|
+
pipeline_parser = subparsers.add_parser('pipeline', help='Execute pipeline')
|
|
800
|
+
pipeline_parser.add_argument('--task', required=True, help='Pipeline task')
|
|
801
|
+
|
|
802
|
+
def handle(self, *args, **options):
|
|
803
|
+
action = options['action']
|
|
804
|
+
|
|
805
|
+
if action == 'spawn':
|
|
806
|
+
self.handle_spawn(options)
|
|
807
|
+
elif action == 'tdd':
|
|
808
|
+
self.handle_tdd(options)
|
|
809
|
+
elif action == 'pipeline':
|
|
810
|
+
self.handle_pipeline(options)
|
|
811
|
+
else:
|
|
812
|
+
self.stdout.write(self.style.ERROR('Unknown action'))
|
|
813
|
+
|
|
814
|
+
def handle_spawn(self, options):
|
|
815
|
+
async def spawn():
|
|
816
|
+
agents = options['agents'].split(',')
|
|
817
|
+
task = options['task']
|
|
818
|
+
strategy = options['strategy']
|
|
819
|
+
|
|
820
|
+
result = await django_claude_flow.spawn_agents(agents, task, strategy)
|
|
821
|
+
|
|
822
|
+
if result.success:
|
|
823
|
+
self.stdout.write(self.style.SUCCESS(f'Task completed successfully'))
|
|
824
|
+
self.stdout.write(f'Result: {result.result}')
|
|
825
|
+
else:
|
|
826
|
+
self.stdout.write(self.style.ERROR(f'Task failed: {result.error}'))
|
|
827
|
+
|
|
828
|
+
asyncio.run(spawn())
|
|
829
|
+
|
|
830
|
+
def handle_tdd(self, options):
|
|
831
|
+
async def tdd():
|
|
832
|
+
feature = options['feature']
|
|
833
|
+
result = await django_claude_flow.run_tdd(feature)
|
|
834
|
+
|
|
835
|
+
if result.success:
|
|
836
|
+
self.stdout.write(self.style.SUCCESS(f'TDD workflow completed'))
|
|
837
|
+
self.stdout.write(f'Result: {result.result}')
|
|
838
|
+
else:
|
|
839
|
+
self.stdout.write(self.style.ERROR(f'TDD failed: {result.error}'))
|
|
840
|
+
|
|
841
|
+
asyncio.run(tdd())
|
|
842
|
+
|
|
843
|
+
def handle_pipeline(self, options):
|
|
844
|
+
async def pipeline():
|
|
845
|
+
task = options['task']
|
|
846
|
+
result = await django_claude_flow.execute_pipeline(task)
|
|
847
|
+
|
|
848
|
+
if result.success:
|
|
849
|
+
self.stdout.write(self.style.SUCCESS(f'Pipeline completed'))
|
|
850
|
+
self.stdout.write(f'Result: {result.result}')
|
|
851
|
+
else:
|
|
852
|
+
self.stdout.write(self.style.ERROR(f'Pipeline failed: {result.error}'))
|
|
853
|
+
|
|
854
|
+
asyncio.run(pipeline())
|
|
855
|
+
```
|
|
856
|
+
|
|
857
|
+
## Data Science Integration
|
|
858
|
+
|
|
859
|
+
### Jupyter Notebook Integration
|
|
860
|
+
|
|
861
|
+
```python
|
|
862
|
+
# jupyter_claude_flow.py
|
|
863
|
+
import asyncio
|
|
864
|
+
from IPython.display import display, HTML
|
|
865
|
+
import pandas as pd
|
|
866
|
+
import matplotlib.pyplot as plt
|
|
867
|
+
from src.claude_flow_integration import ClaudeFlowContext
|
|
868
|
+
|
|
869
|
+
class JupyterClaudeFlow:
|
|
870
|
+
"""Claude Flow integration for Jupyter notebooks."""
|
|
871
|
+
|
|
872
|
+
def __init__(self):
|
|
873
|
+
self.current_context = None
|
|
874
|
+
|
|
875
|
+
async def start_session(self, topology="mesh", agents=None):
|
|
876
|
+
"""Start a Claude Flow session in Jupyter."""
|
|
877
|
+
agents = agents or ["ml-developer", "code-analyzer", "performance-benchmarker"]
|
|
878
|
+
|
|
879
|
+
self.current_context = ClaudeFlowContext(
|
|
880
|
+
topology=topology,
|
|
881
|
+
agents=agents
|
|
882
|
+
)
|
|
883
|
+
|
|
884
|
+
self.claude_flow = await self.current_context.__aenter__()
|
|
885
|
+
|
|
886
|
+
display(HTML(f"""
|
|
887
|
+
<div style="background-color: #e8f5e8; padding: 10px; border-radius: 5px;">
|
|
888
|
+
<strong>Claude Flow Session Started</strong><br>
|
|
889
|
+
Topology: {topology}<br>
|
|
890
|
+
Agents: {', '.join(agents)}<br>
|
|
891
|
+
Session ID: {self.claude_flow.session_id}
|
|
892
|
+
</div>
|
|
893
|
+
"""))
|
|
894
|
+
|
|
895
|
+
return self.claude_flow
|
|
896
|
+
|
|
897
|
+
async def analyze_data(self, df, analysis_task):
|
|
898
|
+
"""Analyze data using Claude Flow agents."""
|
|
899
|
+
if not self.claude_flow:
|
|
900
|
+
raise RuntimeError("Session not started. Call start_session() first.")
|
|
901
|
+
|
|
902
|
+
# Save dataframe info for agents to analyze
|
|
903
|
+
data_info = {
|
|
904
|
+
'shape': df.shape,
|
|
905
|
+
'columns': list(df.columns),
|
|
906
|
+
'dtypes': df.dtypes.to_dict(),
|
|
907
|
+
'memory_usage': df.memory_usage(deep=True).sum(),
|
|
908
|
+
'null_values': df.isnull().sum().to_dict()
|
|
909
|
+
}
|
|
910
|
+
|
|
911
|
+
task = f"""
|
|
912
|
+
Analyze dataset with the following characteristics:
|
|
913
|
+
- Shape: {data_info['shape']}
|
|
914
|
+
- Columns: {data_info['columns']}
|
|
915
|
+
- Data types: {data_info['dtypes']}
|
|
916
|
+
- Memory usage: {data_info['memory_usage']} bytes
|
|
917
|
+
- Null values: {data_info['null_values']}
|
|
918
|
+
|
|
919
|
+
Analysis task: {analysis_task}
|
|
920
|
+
"""
|
|
921
|
+
|
|
922
|
+
result = await self.claude_flow.spawn_agents(
|
|
923
|
+
["ml-developer", "code-analyzer"],
|
|
924
|
+
task,
|
|
925
|
+
"parallel"
|
|
926
|
+
)
|
|
927
|
+
|
|
928
|
+
display(HTML(f"""
|
|
929
|
+
<div style="background-color: #fff3e0; padding: 10px; border-radius: 5px;">
|
|
930
|
+
<strong>Data Analysis Results</strong><br>
|
|
931
|
+
Success: {result.success}<br>
|
|
932
|
+
{result.result if result.success else f'Error: {result.error}'}
|
|
933
|
+
</div>
|
|
934
|
+
"""))
|
|
935
|
+
|
|
936
|
+
return result
|
|
937
|
+
|
|
938
|
+
async def optimize_code(self, code_cell):
|
|
939
|
+
"""Optimize code using Claude Flow agents."""
|
|
940
|
+
if not self.claude_flow:
|
|
941
|
+
raise RuntimeError("Session not started. Call start_session() first.")
|
|
942
|
+
|
|
943
|
+
task = f"Optimize this Python data science code for performance and readability:\n\n{code_cell}"
|
|
944
|
+
|
|
945
|
+
result = await self.claude_flow.spawn_agents(
|
|
946
|
+
["performance-benchmarker", "code-analyzer"],
|
|
947
|
+
task,
|
|
948
|
+
"sequential"
|
|
949
|
+
)
|
|
950
|
+
|
|
951
|
+
return result
|
|
952
|
+
|
|
953
|
+
async def generate_ml_pipeline(self, problem_description):
|
|
954
|
+
"""Generate ML pipeline using Claude Flow."""
|
|
955
|
+
if not self.claude_flow:
|
|
956
|
+
raise RuntimeError("Session not started. Call start_session() first.")
|
|
957
|
+
|
|
958
|
+
task = f"Create a complete machine learning pipeline for: {problem_description}"
|
|
959
|
+
|
|
960
|
+
result = await self.claude_flow.run_tdd(f"ML Pipeline: {problem_description}")
|
|
961
|
+
|
|
962
|
+
return result
|
|
963
|
+
|
|
964
|
+
async def end_session(self):
|
|
965
|
+
"""End the Claude Flow session."""
|
|
966
|
+
if self.current_context:
|
|
967
|
+
await self.current_context.__aexit__(None, None, None)
|
|
968
|
+
|
|
969
|
+
display(HTML("""
|
|
970
|
+
<div style="background-color: #ffcdd2; padding: 10px; border-radius: 5px;">
|
|
971
|
+
<strong>Claude Flow Session Ended</strong>
|
|
972
|
+
</div>
|
|
973
|
+
"""))
|
|
974
|
+
|
|
975
|
+
self.current_context = None
|
|
976
|
+
self.claude_flow = None
|
|
977
|
+
|
|
978
|
+
# Usage in Jupyter cells:
|
|
979
|
+
jupyter_cf = JupyterClaudeFlow()
|
|
980
|
+
|
|
981
|
+
# In a Jupyter cell:
|
|
982
|
+
# await jupyter_cf.start_session()
|
|
983
|
+
# result = await jupyter_cf.analyze_data(df, "Find patterns and anomalies")
|
|
984
|
+
# await jupyter_cf.end_session()
|
|
985
|
+
```
|
|
986
|
+
|
|
987
|
+
### Data Science Workflow Script
|
|
988
|
+
|
|
989
|
+
```python
|
|
990
|
+
# data_science_workflow.py
|
|
991
|
+
import pandas as pd
|
|
992
|
+
import numpy as np
|
|
993
|
+
from sklearn.model_selection import train_test_split
|
|
994
|
+
from sklearn.ensemble import RandomForestClassifier
|
|
995
|
+
from sklearn.metrics import classification_report
|
|
996
|
+
import asyncio
|
|
997
|
+
from src.claude_flow_integration import ClaudeFlowContext
|
|
998
|
+
|
|
999
|
+
async def automated_ml_workflow(dataset_path, target_column):
|
|
1000
|
+
"""Automated ML workflow using Claude Flow."""
|
|
1001
|
+
|
|
1002
|
+
async with ClaudeFlowContext(
|
|
1003
|
+
topology="hierarchical",
|
|
1004
|
+
agents=["ml-developer", "code-analyzer", "performance-benchmarker"]
|
|
1005
|
+
) as cf:
|
|
1006
|
+
|
|
1007
|
+
# Step 1: Data Analysis
|
|
1008
|
+
print("Step 1: Analyzing dataset...")
|
|
1009
|
+
analysis_result = await cf.spawn_agents(
|
|
1010
|
+
["ml-developer"],
|
|
1011
|
+
f"Analyze dataset at {dataset_path} with target column {target_column}",
|
|
1012
|
+
"parallel"
|
|
1013
|
+
)
|
|
1014
|
+
|
|
1015
|
+
if not analysis_result.success:
|
|
1016
|
+
print(f"Data analysis failed: {analysis_result.error}")
|
|
1017
|
+
return
|
|
1018
|
+
|
|
1019
|
+
# Load and prepare data
|
|
1020
|
+
df = pd.read_csv(dataset_path)
|
|
1021
|
+
X = df.drop(columns=[target_column])
|
|
1022
|
+
y = df[target_column]
|
|
1023
|
+
|
|
1024
|
+
# Step 2: Feature Engineering
|
|
1025
|
+
print("Step 2: Feature engineering...")
|
|
1026
|
+
feature_result = await cf.spawn_agents(
|
|
1027
|
+
["ml-developer", "code-analyzer"],
|
|
1028
|
+
f"Suggest feature engineering for dataset with columns: {list(X.columns)}",
|
|
1029
|
+
"sequential"
|
|
1030
|
+
)
|
|
1031
|
+
|
|
1032
|
+
# Step 3: Model Development with TDD
|
|
1033
|
+
print("Step 3: Developing ML model with TDD...")
|
|
1034
|
+
model_result = await cf.run_tdd(
|
|
1035
|
+
f"Machine learning model for {target_column} prediction"
|
|
1036
|
+
)
|
|
1037
|
+
|
|
1038
|
+
# Step 4: Model Training (simplified)
|
|
1039
|
+
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
|
|
1040
|
+
|
|
1041
|
+
model = RandomForestClassifier(random_state=42)
|
|
1042
|
+
model.fit(X_train, y_train)
|
|
1043
|
+
|
|
1044
|
+
y_pred = model.predict(X_test)
|
|
1045
|
+
|
|
1046
|
+
# Step 5: Performance Analysis
|
|
1047
|
+
print("Step 5: Analyzing model performance...")
|
|
1048
|
+
performance_result = await cf.spawn_agents(
|
|
1049
|
+
["performance-benchmarker"],
|
|
1050
|
+
f"Analyze ML model performance with accuracy: {model.score(X_test, y_test):.3f}",
|
|
1051
|
+
"parallel"
|
|
1052
|
+
)
|
|
1053
|
+
|
|
1054
|
+
print("ML Workflow completed!")
|
|
1055
|
+
print(f"Model accuracy: {model.score(X_test, y_test):.3f}")
|
|
1056
|
+
print(classification_report(y_test, y_pred))
|
|
1057
|
+
|
|
1058
|
+
return {
|
|
1059
|
+
'model': model,
|
|
1060
|
+
'accuracy': model.score(X_test, y_test),
|
|
1061
|
+
'analysis': analysis_result,
|
|
1062
|
+
'features': feature_result,
|
|
1063
|
+
'model_development': model_result,
|
|
1064
|
+
'performance': performance_result
|
|
1065
|
+
}
|
|
1066
|
+
|
|
1067
|
+
# Usage
|
|
1068
|
+
if __name__ == "__main__":
|
|
1069
|
+
result = asyncio.run(automated_ml_workflow("data/dataset.csv", "target"))
|
|
1070
|
+
```
|
|
1071
|
+
|
|
1072
|
+
## Testing Integration
|
|
1073
|
+
|
|
1074
|
+
### Pytest Configuration
|
|
1075
|
+
|
|
1076
|
+
```python
|
|
1077
|
+
# conftest.py
|
|
1078
|
+
import pytest
|
|
1079
|
+
import asyncio
|
|
1080
|
+
from src.claude_flow_integration import ClaudeFlowIntegration
|
|
1081
|
+
|
|
1082
|
+
@pytest.fixture(scope="session")
|
|
1083
|
+
def event_loop():
|
|
1084
|
+
"""Create an instance of the default event loop for the test session."""
|
|
1085
|
+
loop = asyncio.get_event_loop_policy().new_event_loop()
|
|
1086
|
+
yield loop
|
|
1087
|
+
loop.close()
|
|
1088
|
+
|
|
1089
|
+
@pytest.fixture(scope="session")
|
|
1090
|
+
async def claude_flow():
|
|
1091
|
+
"""Setup Claude Flow for testing."""
|
|
1092
|
+
cf = ClaudeFlowIntegration(
|
|
1093
|
+
topology="mesh",
|
|
1094
|
+
agents=["tester", "code-analyzer", "security-auditor"]
|
|
1095
|
+
)
|
|
1096
|
+
|
|
1097
|
+
await cf.initialize()
|
|
1098
|
+
yield cf
|
|
1099
|
+
await cf.cleanup()
|
|
1100
|
+
|
|
1101
|
+
@pytest.fixture
|
|
1102
|
+
async def test_agents(claude_flow):
|
|
1103
|
+
"""Provide test-specific agents."""
|
|
1104
|
+
async def spawn_test_agents(task):
|
|
1105
|
+
return await claude_flow.spawn_agents(
|
|
1106
|
+
["tester", "code-analyzer"],
|
|
1107
|
+
task,
|
|
1108
|
+
"parallel"
|
|
1109
|
+
)
|
|
1110
|
+
|
|
1111
|
+
return spawn_test_agents
|
|
1112
|
+
```
|
|
1113
|
+
|
|
1114
|
+
### Test Suite with Claude Flow
|
|
1115
|
+
|
|
1116
|
+
```python
|
|
1117
|
+
# test_claude_flow_integration.py
|
|
1118
|
+
import pytest
|
|
1119
|
+
import asyncio
|
|
1120
|
+
from src.claude_flow_integration import ClaudeFlowContext
|
|
1121
|
+
|
|
1122
|
+
class TestClaudeFlowIntegration:
|
|
1123
|
+
|
|
1124
|
+
@pytest.mark.asyncio
|
|
1125
|
+
async def test_agent_spawning(self, claude_flow):
|
|
1126
|
+
"""Test basic agent spawning functionality."""
|
|
1127
|
+
result = await claude_flow.spawn_agents(
|
|
1128
|
+
["coder", "tester"],
|
|
1129
|
+
"Create a simple function with unit tests"
|
|
1130
|
+
)
|
|
1131
|
+
|
|
1132
|
+
assert result.success
|
|
1133
|
+
assert result.result is not None
|
|
1134
|
+
assert "function" in result.result.lower()
|
|
1135
|
+
|
|
1136
|
+
@pytest.mark.asyncio
|
|
1137
|
+
async def test_tdd_workflow(self, claude_flow):
|
|
1138
|
+
"""Test TDD workflow execution."""
|
|
1139
|
+
result = await claude_flow.run_tdd("User authentication system")
|
|
1140
|
+
|
|
1141
|
+
assert result.success
|
|
1142
|
+
assert result.result is not None
|
|
1143
|
+
|
|
1144
|
+
@pytest.mark.asyncio
|
|
1145
|
+
async def test_parallel_execution_performance(self, claude_flow):
|
|
1146
|
+
"""Test that parallel execution is faster than sequential."""
|
|
1147
|
+
import time
|
|
1148
|
+
|
|
1149
|
+
# Parallel execution
|
|
1150
|
+
start_time = time.time()
|
|
1151
|
+
parallel_result = await claude_flow.spawn_agents(
|
|
1152
|
+
["backend-dev", "mobile-dev", "tester"],
|
|
1153
|
+
"Create API endpoints with tests",
|
|
1154
|
+
"parallel"
|
|
1155
|
+
)
|
|
1156
|
+
parallel_duration = time.time() - start_time
|
|
1157
|
+
|
|
1158
|
+
# Sequential execution
|
|
1159
|
+
start_time = time.time()
|
|
1160
|
+
sequential_result = await claude_flow.spawn_agents(
|
|
1161
|
+
["backend-dev", "mobile-dev", "tester"],
|
|
1162
|
+
"Create API endpoints with tests",
|
|
1163
|
+
"sequential"
|
|
1164
|
+
)
|
|
1165
|
+
sequential_duration = time.time() - start_time
|
|
1166
|
+
|
|
1167
|
+
assert parallel_result.success
|
|
1168
|
+
assert sequential_result.success
|
|
1169
|
+
assert parallel_duration < sequential_duration
|
|
1170
|
+
|
|
1171
|
+
@pytest.mark.asyncio
|
|
1172
|
+
async def test_error_handling(self, claude_flow):
|
|
1173
|
+
"""Test error handling in agent execution."""
|
|
1174
|
+
result = await claude_flow.spawn_agents(
|
|
1175
|
+
["invalid-agent"],
|
|
1176
|
+
"This should fail"
|
|
1177
|
+
)
|
|
1178
|
+
|
|
1179
|
+
assert not result.success
|
|
1180
|
+
assert result.error is not None
|
|
1181
|
+
|
|
1182
|
+
@pytest.mark.asyncio
|
|
1183
|
+
async def test_context_manager(self):
|
|
1184
|
+
"""Test Claude Flow context manager."""
|
|
1185
|
+
async with ClaudeFlowContext() as cf:
|
|
1186
|
+
result = await cf.spawn_agents(
|
|
1187
|
+
["coder"],
|
|
1188
|
+
"Simple test function"
|
|
1189
|
+
)
|
|
1190
|
+
assert result.success
|
|
1191
|
+
|
|
1192
|
+
@pytest.mark.asyncio
|
|
1193
|
+
async def test_pipeline_execution(self, claude_flow):
|
|
1194
|
+
"""Test complete pipeline execution."""
|
|
1195
|
+
result = await claude_flow.execute_pipeline(
|
|
1196
|
+
"Build, test, and optimize Python application"
|
|
1197
|
+
)
|
|
1198
|
+
|
|
1199
|
+
assert result.success
|
|
1200
|
+
assert result.result is not None
|
|
1201
|
+
|
|
1202
|
+
# Performance tests
|
|
1203
|
+
class TestPerformance:
|
|
1204
|
+
|
|
1205
|
+
@pytest.mark.asyncio
|
|
1206
|
+
async def test_concurrent_tasks(self, claude_flow):
|
|
1207
|
+
"""Test handling multiple concurrent tasks."""
|
|
1208
|
+
tasks = [
|
|
1209
|
+
claude_flow.spawn_agents(["coder"], f"Task {i}")
|
|
1210
|
+
for i in range(5)
|
|
1211
|
+
]
|
|
1212
|
+
|
|
1213
|
+
results = await asyncio.gather(*tasks, return_exceptions=True)
|
|
1214
|
+
|
|
1215
|
+
successful_results = [r for r in results if not isinstance(r, Exception) and r.success]
|
|
1216
|
+
assert len(successful_results) >= 3 # At least 3 should succeed
|
|
1217
|
+
|
|
1218
|
+
@pytest.mark.asyncio
|
|
1219
|
+
async def test_memory_usage(self, claude_flow):
|
|
1220
|
+
"""Test memory usage doesn't grow excessively."""
|
|
1221
|
+
import psutil
|
|
1222
|
+
import os
|
|
1223
|
+
|
|
1224
|
+
process = psutil.Process(os.getpid())
|
|
1225
|
+
initial_memory = process.memory_info().rss
|
|
1226
|
+
|
|
1227
|
+
# Run multiple tasks
|
|
1228
|
+
for i in range(10):
|
|
1229
|
+
await claude_flow.spawn_agents(
|
|
1230
|
+
["tester"],
|
|
1231
|
+
f"Memory test task {i}"
|
|
1232
|
+
)
|
|
1233
|
+
|
|
1234
|
+
final_memory = process.memory_info().rss
|
|
1235
|
+
memory_growth = final_memory - initial_memory
|
|
1236
|
+
|
|
1237
|
+
# Memory growth should be reasonable (less than 100MB)
|
|
1238
|
+
assert memory_growth < 100 * 1024 * 1024
|
|
1239
|
+
```
|
|
1240
|
+
|
|
1241
|
+
## Deployment Patterns
|
|
1242
|
+
|
|
1243
|
+
### Docker Integration
|
|
1244
|
+
|
|
1245
|
+
```dockerfile
|
|
1246
|
+
# Dockerfile
|
|
1247
|
+
FROM python:3.11-slim
|
|
1248
|
+
|
|
1249
|
+
WORKDIR /app
|
|
1250
|
+
|
|
1251
|
+
# Install Node.js for claude-flow
|
|
1252
|
+
RUN apt-get update && apt-get install -y \
|
|
1253
|
+
curl \
|
|
1254
|
+
&& curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
|
|
1255
|
+
&& apt-get install -y nodejs \
|
|
1256
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
1257
|
+
|
|
1258
|
+
# Install Python dependencies
|
|
1259
|
+
COPY requirements.txt .
|
|
1260
|
+
RUN pip install --no-cache-dir -r requirements.txt
|
|
1261
|
+
|
|
1262
|
+
# Install claude-flow
|
|
1263
|
+
RUN npm install -g claude-flow@alpha
|
|
1264
|
+
|
|
1265
|
+
# Copy application code
|
|
1266
|
+
COPY . .
|
|
1267
|
+
|
|
1268
|
+
# Setup Claude Flow MCP servers
|
|
1269
|
+
RUN npx claude-flow mcp add claude-flow npx claude-flow@alpha mcp start
|
|
1270
|
+
RUN npx claude-flow mcp add ruv-swarm npx ruv-swarm mcp start
|
|
1271
|
+
|
|
1272
|
+
# Expose port
|
|
1273
|
+
EXPOSE 8000
|
|
1274
|
+
|
|
1275
|
+
# Health check
|
|
1276
|
+
HEALTHCHECK --interval=30s --timeout=30s --start-period=5s --retries=3 \
|
|
1277
|
+
CMD curl -f http://localhost:8000/health || exit 1
|
|
1278
|
+
|
|
1279
|
+
# Start application
|
|
1280
|
+
CMD ["python", "-m", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
|
|
1281
|
+
```
|
|
1282
|
+
|
|
1283
|
+
### Docker Compose for Development
|
|
1284
|
+
|
|
1285
|
+
```yaml
|
|
1286
|
+
# docker-compose.yml
|
|
1287
|
+
version: '3.8'
|
|
1288
|
+
|
|
1289
|
+
services:
|
|
1290
|
+
claude-flow-app:
|
|
1291
|
+
build: .
|
|
1292
|
+
ports:
|
|
1293
|
+
- "8000:8000"
|
|
1294
|
+
environment:
|
|
1295
|
+
- CLAUDE_FLOW_TOPOLOGY=mesh
|
|
1296
|
+
- CLAUDE_FLOW_AGENTS=backend-dev,tester,reviewer
|
|
1297
|
+
- NODE_ENV=development
|
|
1298
|
+
volumes:
|
|
1299
|
+
- ./src:/app/src
|
|
1300
|
+
- ./tests:/app/tests
|
|
1301
|
+
- claude-flow-cache:/app/.claude-flow
|
|
1302
|
+
depends_on:
|
|
1303
|
+
- redis
|
|
1304
|
+
- postgres
|
|
1305
|
+
networks:
|
|
1306
|
+
- claude-flow-network
|
|
1307
|
+
|
|
1308
|
+
redis:
|
|
1309
|
+
image: redis:7-alpine
|
|
1310
|
+
ports:
|
|
1311
|
+
- "6379:6379"
|
|
1312
|
+
networks:
|
|
1313
|
+
- claude-flow-network
|
|
1314
|
+
|
|
1315
|
+
postgres:
|
|
1316
|
+
image: postgres:15-alpine
|
|
1317
|
+
environment:
|
|
1318
|
+
POSTGRES_DB: claude_flow_db
|
|
1319
|
+
POSTGRES_USER: user
|
|
1320
|
+
POSTGRES_PASSWORD: password
|
|
1321
|
+
ports:
|
|
1322
|
+
- "5432:5432"
|
|
1323
|
+
volumes:
|
|
1324
|
+
- postgres-data:/var/lib/postgresql/data
|
|
1325
|
+
networks:
|
|
1326
|
+
- claude-flow-network
|
|
1327
|
+
|
|
1328
|
+
volumes:
|
|
1329
|
+
claude-flow-cache:
|
|
1330
|
+
postgres-data:
|
|
1331
|
+
|
|
1332
|
+
networks:
|
|
1333
|
+
claude-flow-network:
|
|
1334
|
+
driver: bridge
|
|
1335
|
+
```
|
|
1336
|
+
|
|
1337
|
+
### Kubernetes Deployment
|
|
1338
|
+
|
|
1339
|
+
```yaml
|
|
1340
|
+
# k8s-deployment.yml
|
|
1341
|
+
apiVersion: apps/v1
|
|
1342
|
+
kind: Deployment
|
|
1343
|
+
metadata:
|
|
1344
|
+
name: claude-flow-python-app
|
|
1345
|
+
labels:
|
|
1346
|
+
app: claude-flow-python
|
|
1347
|
+
spec:
|
|
1348
|
+
replicas: 3
|
|
1349
|
+
selector:
|
|
1350
|
+
matchLabels:
|
|
1351
|
+
app: claude-flow-python
|
|
1352
|
+
template:
|
|
1353
|
+
metadata:
|
|
1354
|
+
labels:
|
|
1355
|
+
app: claude-flow-python
|
|
1356
|
+
spec:
|
|
1357
|
+
containers:
|
|
1358
|
+
- name: claude-flow-app
|
|
1359
|
+
image: claude-flow-python:latest
|
|
1360
|
+
ports:
|
|
1361
|
+
- containerPort: 8000
|
|
1362
|
+
env:
|
|
1363
|
+
- name: CLAUDE_FLOW_TOPOLOGY
|
|
1364
|
+
value: "hierarchical"
|
|
1365
|
+
- name: CLAUDE_FLOW_AGENTS
|
|
1366
|
+
value: "backend-dev,api-docs,security-manager"
|
|
1367
|
+
resources:
|
|
1368
|
+
requests:
|
|
1369
|
+
memory: "512Mi"
|
|
1370
|
+
cpu: "250m"
|
|
1371
|
+
limits:
|
|
1372
|
+
memory: "1Gi"
|
|
1373
|
+
cpu: "500m"
|
|
1374
|
+
livenessProbe:
|
|
1375
|
+
httpGet:
|
|
1376
|
+
path: /health
|
|
1377
|
+
port: 8000
|
|
1378
|
+
initialDelaySeconds: 30
|
|
1379
|
+
periodSeconds: 10
|
|
1380
|
+
readinessProbe:
|
|
1381
|
+
httpGet:
|
|
1382
|
+
path: /health
|
|
1383
|
+
port: 8000
|
|
1384
|
+
initialDelaySeconds: 5
|
|
1385
|
+
periodSeconds: 5
|
|
1386
|
+
|
|
1387
|
+
---
|
|
1388
|
+
apiVersion: v1
|
|
1389
|
+
kind: Service
|
|
1390
|
+
metadata:
|
|
1391
|
+
name: claude-flow-python-service
|
|
1392
|
+
spec:
|
|
1393
|
+
selector:
|
|
1394
|
+
app: claude-flow-python
|
|
1395
|
+
ports:
|
|
1396
|
+
- protocol: TCP
|
|
1397
|
+
port: 80
|
|
1398
|
+
targetPort: 8000
|
|
1399
|
+
type: LoadBalancer
|
|
1400
|
+
```
|
|
1401
|
+
|
|
1402
|
+
## Best Practices for Python Integration
|
|
1403
|
+
|
|
1404
|
+
### 1. Async/Await Patterns
|
|
1405
|
+
|
|
1406
|
+
```python
|
|
1407
|
+
# Always use async/await for Claude Flow operations
|
|
1408
|
+
async def process_data_pipeline():
|
|
1409
|
+
async with ClaudeFlowContext() as cf:
|
|
1410
|
+
# Parallel data processing
|
|
1411
|
+
tasks = [
|
|
1412
|
+
cf.spawn_agents(["ml-developer"], "Clean dataset"),
|
|
1413
|
+
cf.spawn_agents(["code-analyzer"], "Analyze data quality"),
|
|
1414
|
+
cf.spawn_agents(["performance-benchmarker"], "Optimize processing")
|
|
1415
|
+
]
|
|
1416
|
+
|
|
1417
|
+
results = await asyncio.gather(*tasks)
|
|
1418
|
+
return results
|
|
1419
|
+
```
|
|
1420
|
+
|
|
1421
|
+
### 2. Error Handling and Logging
|
|
1422
|
+
|
|
1423
|
+
```python
|
|
1424
|
+
import logging
|
|
1425
|
+
from functools import wraps
|
|
1426
|
+
|
|
1427
|
+
def claude_flow_error_handler(func):
|
|
1428
|
+
@wraps(func)
|
|
1429
|
+
async def wrapper(*args, **kwargs):
|
|
1430
|
+
try:
|
|
1431
|
+
return await func(*args, **kwargs)
|
|
1432
|
+
except Exception as e:
|
|
1433
|
+
logging.error(f"Claude Flow operation failed: {e}")
|
|
1434
|
+
# Implement fallback logic
|
|
1435
|
+
return {"success": False, "error": str(e), "fallback": True}
|
|
1436
|
+
return wrapper
|
|
1437
|
+
|
|
1438
|
+
@claude_flow_error_handler
|
|
1439
|
+
async def robust_agent_execution(task):
|
|
1440
|
+
async with ClaudeFlowContext() as cf:
|
|
1441
|
+
return await cf.spawn_agents(["coder"], task)
|
|
1442
|
+
```
|
|
1443
|
+
|
|
1444
|
+
### 3. Configuration Management
|
|
1445
|
+
|
|
1446
|
+
```python
|
|
1447
|
+
# config.py
|
|
1448
|
+
import os
|
|
1449
|
+
from dataclasses import dataclass
|
|
1450
|
+
from typing import List
|
|
1451
|
+
|
|
1452
|
+
@dataclass
|
|
1453
|
+
class ClaudeFlowConfig:
|
|
1454
|
+
topology: str = "mesh"
|
|
1455
|
+
default_agents: List[str] = None
|
|
1456
|
+
session_prefix: str = "python-session"
|
|
1457
|
+
auto_cleanup: bool = True
|
|
1458
|
+
max_concurrent_tasks: int = 5
|
|
1459
|
+
|
|
1460
|
+
def __post_init__(self):
|
|
1461
|
+
if self.default_agents is None:
|
|
1462
|
+
self.default_agents = ["coder", "tester", "reviewer"]
|
|
1463
|
+
|
|
1464
|
+
@classmethod
|
|
1465
|
+
def from_env(cls):
|
|
1466
|
+
return cls(
|
|
1467
|
+
topology=os.getenv("CLAUDE_FLOW_TOPOLOGY", "mesh"),
|
|
1468
|
+
default_agents=os.getenv("CLAUDE_FLOW_AGENTS", "coder,tester,reviewer").split(","),
|
|
1469
|
+
session_prefix=os.getenv("CLAUDE_FLOW_SESSION_PREFIX", "python-session"),
|
|
1470
|
+
auto_cleanup=os.getenv("CLAUDE_FLOW_AUTO_CLEANUP", "true").lower() == "true",
|
|
1471
|
+
max_concurrent_tasks=int(os.getenv("CLAUDE_FLOW_MAX_TASKS", "5"))
|
|
1472
|
+
)
|
|
1473
|
+
```
|
|
1474
|
+
|
|
1475
|
+
### 4. Resource Management
|
|
1476
|
+
|
|
1477
|
+
```python
|
|
1478
|
+
import asyncio
|
|
1479
|
+
from contextlib import asynccontextmanager
|
|
1480
|
+
|
|
1481
|
+
class ClaudeFlowResourceManager:
|
|
1482
|
+
def __init__(self, max_concurrent=5):
|
|
1483
|
+
self.semaphore = asyncio.Semaphore(max_concurrent)
|
|
1484
|
+
self.active_sessions = {}
|
|
1485
|
+
|
|
1486
|
+
@asynccontextmanager
|
|
1487
|
+
async def get_session(self, session_id=None):
|
|
1488
|
+
async with self.semaphore:
|
|
1489
|
+
session_id = session_id or f"session-{len(self.active_sessions)}"
|
|
1490
|
+
|
|
1491
|
+
if session_id not in self.active_sessions:
|
|
1492
|
+
session = ClaudeFlowIntegration()
|
|
1493
|
+
await session.initialize()
|
|
1494
|
+
self.active_sessions[session_id] = session
|
|
1495
|
+
|
|
1496
|
+
try:
|
|
1497
|
+
yield self.active_sessions[session_id]
|
|
1498
|
+
finally:
|
|
1499
|
+
# Keep session alive for reuse
|
|
1500
|
+
pass
|
|
1501
|
+
|
|
1502
|
+
async def cleanup_all(self):
|
|
1503
|
+
for session in self.active_sessions.values():
|
|
1504
|
+
await session.cleanup()
|
|
1505
|
+
self.active_sessions.clear()
|
|
1506
|
+
|
|
1507
|
+
# Global resource manager
|
|
1508
|
+
resource_manager = ClaudeFlowResourceManager()
|
|
1509
|
+
```
|
|
1510
|
+
|
|
1511
|
+
## Next Steps
|
|
1512
|
+
|
|
1513
|
+
- Explore [Rust Integration](../rust/integration.md)
|
|
1514
|
+
- Review [Performance Optimization](../../wiki/performance-optimization-strategies.md)
|
|
1515
|
+
- Study [CI/CD Integration Patterns](../../examples/integration-patterns.md#cicd-pipeline-integration)
|