claude-flow-novice 1.3.6 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/analysis/code-analyzer.md +3 -20
- package/.claude/agents/analysis/code-review/analyze-code-quality.md +1 -1
- package/.claude/agents/analyst.md +208 -550
- package/.claude/agents/architect.md +136 -469
- package/.claude/agents/architecture/system-architect.md +20 -1
- package/.claude/agents/architecture/system-design/arch-system-design.md +1 -1
- package/.claude/agents/base-template-generator.md +24 -1
- package/.claude/agents/coder.md +87 -303
- package/.claude/agents/consensus/byzantine-coordinator.md +4 -21
- package/.claude/agents/consensus/consensus-builder.md +3 -20
- package/.claude/agents/consensus/crdt-synchronizer.md +4 -21
- package/.claude/agents/consensus/gossip-coordinator.md +4 -21
- package/.claude/agents/consensus/performance-benchmarker.md +4 -21
- package/.claude/agents/consensus/quorum-manager.md +4 -21
- package/.claude/agents/consensus/raft-manager.md +4 -21
- package/.claude/agents/consensus/security-manager.md +4 -21
- package/.claude/agents/coordinator.md +22 -11
- package/.claude/agents/data/ml/data-ml-model.md +2 -2
- package/.claude/agents/development/backend/dev-backend-api.md +2 -2
- package/.claude/agents/devops/ci-cd/ops-cicd-github.md +2 -2
- package/.claude/agents/devops/devops-engineer.md +134 -402
- package/.claude/agents/documentation/api-docs/docs-api-openapi.md +2 -2
- package/.claude/agents/github/code-review-swarm.md +1 -1
- package/.claude/agents/github/github-specialist.md +856 -0
- package/.claude/agents/github/pr-manager.md +1 -1
- package/.claude/agents/github/release-manager.md +1 -1
- package/.claude/agents/neural/neural-pattern-agent.md +762 -0
- package/.claude/agents/optimization/benchmark-suite.md +1 -1
- package/.claude/agents/optimization/perf-analyzer.md +1 -1
- package/.claude/agents/optimization/performance-monitor.md +1 -1
- package/.claude/agents/planner.md +135 -0
- package/.claude/agents/researcher.md +22 -9
- package/.claude/agents/reviewer.md +291 -0
- package/.claude/agents/security/security-specialist.md +1 -1
- package/.claude/agents/sparc/architecture.md +1 -1
- package/.claude/agents/sparc/pseudocode.md +1 -1
- package/.claude/agents/sparc/refinement.md +1 -1
- package/.claude/agents/sparc/specification.md +1 -1
- package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +2 -2
- package/.claude/agents/tester.md +21 -11
- package/.claude/agents/testing/unit/tdd-london-swarm.md +1 -1
- package/.claude/agents/testing/validation/production-validator.md +1 -1
- package/.claude/commands/claude-soul.js +1 -1
- package/.claude/hooks.json +12 -15
- package/{.claude → .claude-flow-novice/.claude}/agents/MIGRATION_SUMMARY.md +1 -1
- package/.claude-flow-novice/.claude/agents/analysis/code-analyzer.md +192 -0
- package/.claude-flow-novice/.claude/agents/analysis/code-review/analyze-code-quality.md +180 -0
- package/.claude-flow-novice/.claude/agents/analyst.md +300 -0
- package/.claude-flow-novice/.claude/agents/architect.md +557 -0
- package/.claude-flow-novice/.claude/agents/architecture/system-architect.md +630 -0
- package/.claude-flow-novice/.claude/agents/architecture/system-design/arch-system-design.md +156 -0
- package/.claude-flow-novice/.claude/agents/base-template-generator.md +65 -0
- package/.claude-flow-novice/.claude/agents/coder.md +180 -0
- package/.claude-flow-novice/.claude/agents/consensus/byzantine-coordinator.md +46 -0
- package/.claude-flow-novice/.claude/agents/consensus/consensus-builder.md +225 -0
- package/.claude-flow-novice/.claude/agents/consensus/crdt-synchronizer.md +980 -0
- package/.claude-flow-novice/.claude/agents/consensus/gossip-coordinator.md +46 -0
- package/.claude-flow-novice/.claude/agents/consensus/performance-benchmarker.md +834 -0
- package/.claude-flow-novice/.claude/agents/consensus/quorum-manager.md +806 -0
- package/.claude-flow-novice/.claude/agents/consensus/raft-manager.md +46 -0
- package/.claude-flow-novice/.claude/agents/consensus/security-manager.md +605 -0
- package/.claude-flow-novice/.claude/agents/coordinator.md +842 -0
- package/.claude-flow-novice/.claude/agents/data/ml/data-ml-model.md +193 -0
- package/.claude-flow-novice/.claude/agents/development/backend/dev-backend-api.md +142 -0
- package/.claude-flow-novice/.claude/agents/devops/ci-cd/ops-cicd-github.md +164 -0
- package/.claude-flow-novice/.claude/agents/devops/devops-engineer.md +638 -0
- package/.claude-flow-novice/.claude/agents/documentation/api-docs/docs-api-openapi.md +174 -0
- package/.claude-flow-novice/.claude/agents/github/code-review-swarm.md +538 -0
- package/.claude-flow-novice/.claude/agents/github/github-modes.md +173 -0
- package/.claude-flow-novice/.claude/agents/github/github-specialist.md +856 -0
- package/.claude-flow-novice/.claude/agents/github/issue-tracker.md +319 -0
- package/.claude-flow-novice/.claude/agents/github/multi-repo-swarm.md +553 -0
- package/.claude-flow-novice/.claude/agents/github/pr-manager.md +191 -0
- package/.claude-flow-novice/.claude/agents/github/project-board-sync.md +509 -0
- package/.claude-flow-novice/.claude/agents/github/release-manager.md +367 -0
- package/.claude-flow-novice/.claude/agents/github/release-swarm.md +583 -0
- package/.claude-flow-novice/.claude/agents/github/repo-architect.md +398 -0
- package/.claude-flow-novice/.claude/agents/github/swarm-issue.md +573 -0
- package/.claude-flow-novice/.claude/agents/github/swarm-pr.md +428 -0
- package/.claude-flow-novice/.claude/agents/github/sync-coordinator.md +452 -0
- package/.claude-flow-novice/.claude/agents/github/workflow-automation.md +635 -0
- package/.claude-flow-novice/.claude/agents/goal/goal-planner.md +73 -0
- package/.claude-flow-novice/.claude/agents/neural/neural-pattern-agent.md +762 -0
- package/.claude-flow-novice/.claude/agents/neural/safla-neural.md +74 -0
- package/.claude-flow-novice/.claude/agents/optimization/benchmark-suite.md +665 -0
- package/.claude-flow-novice/.claude/agents/optimization/load-balancer.md +431 -0
- package/.claude-flow-novice/.claude/agents/optimization/perf-analyzer.md +725 -0
- package/.claude-flow-novice/.claude/agents/optimization/performance-monitor.md +672 -0
- package/.claude-flow-novice/.claude/agents/optimization/resource-allocator.md +674 -0
- package/.claude-flow-novice/.claude/agents/optimization/topology-optimizer.md +808 -0
- package/.claude-flow-novice/.claude/agents/planner.md +135 -0
- package/.claude-flow-novice/.claude/agents/researcher.md +185 -0
- package/.claude-flow-novice/.claude/agents/reviewer.md +291 -0
- package/.claude-flow-novice/.claude/agents/security/security-specialist.md +978 -0
- package/.claude-flow-novice/.claude/agents/sparc/architecture.md +472 -0
- package/.claude-flow-novice/.claude/agents/sparc/pseudocode.md +318 -0
- package/.claude-flow-novice/.claude/agents/sparc/refinement.md +525 -0
- package/.claude-flow-novice/.claude/agents/sparc/specification.md +276 -0
- package/.claude-flow-novice/.claude/agents/specialized/mobile/spec-mobile-react-native.md +226 -0
- package/.claude-flow-novice/.claude/agents/sublinear/consciousness-evolution-agent.md +499 -0
- package/.claude-flow-novice/.claude/agents/sublinear/matrix-solver-agent.md +113 -0
- package/.claude-flow-novice/.claude/agents/sublinear/nanosecond-scheduler-agent.md +644 -0
- package/.claude-flow-novice/.claude/agents/sublinear/pagerank-agent.md +699 -0
- package/.claude-flow-novice/.claude/agents/sublinear/phi-calculator-agent.md +749 -0
- package/.claude-flow-novice/.claude/agents/sublinear/psycho-symbolic-agent.md +543 -0
- package/.claude-flow-novice/.claude/agents/sublinear/sublinear.md +816 -0
- package/.claude-flow-novice/.claude/agents/sublinear/temporal-advantage-agent.md +360 -0
- package/.claude-flow-novice/.claude/agents/swarm/adaptive-coordinator-enhanced.md +746 -0
- package/.claude-flow-novice/.claude/agents/swarm/adaptive-coordinator.md +396 -0
- package/.claude-flow-novice/.claude/agents/swarm/hierarchical-coordinator.md +300 -0
- package/.claude-flow-novice/.claude/agents/swarm/mesh-coordinator.md +435 -0
- package/.claude-flow-novice/.claude/agents/templates/automation-smart-agent.md +205 -0
- package/.claude-flow-novice/.claude/agents/templates/coordinator-swarm-init.md +90 -0
- package/.claude-flow-novice/.claude/agents/templates/github-pr-manager.md +177 -0
- package/.claude-flow-novice/.claude/agents/templates/implementer-sparc-coder.md +259 -0
- package/.claude-flow-novice/.claude/agents/templates/memory-coordinator.md +187 -0
- package/.claude-flow-novice/.claude/agents/templates/migration-plan.md +746 -0
- package/.claude-flow-novice/.claude/agents/templates/orchestrator-task.md +139 -0
- package/.claude-flow-novice/.claude/agents/templates/performance-analyzer.md +199 -0
- package/.claude-flow-novice/.claude/agents/templates/sparc-coordinator.md +183 -0
- package/.claude-flow-novice/.claude/agents/tester.md +663 -0
- package/.claude-flow-novice/.claude/agents/testing/e2e/playwright-agent.md +249 -0
- package/.claude-flow-novice/.claude/agents/testing/unit/tdd-london-swarm.md +244 -0
- package/.claude-flow-novice/.claude/agents/testing/validation/production-validator.md +395 -0
- package/.claude-flow-novice/dist/index.js +12 -24
- package/.claude-flow-novice/dist/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/agents/agent-manager.js +123 -69
- package/.claude-flow-novice/dist/src/agents/agent-manager.js.map +1 -1
- package/.claude-flow-novice/dist/src/agents/github/utils/hook-integration.js +7 -7
- package/.claude-flow-novice/dist/src/agents/github/utils/hook-integration.js.map +1 -1
- package/.claude-flow-novice/dist/src/agents/stage3-integration-validator.js +485 -0
- package/.claude-flow-novice/dist/src/agents/stage3-integration-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/agents/unified-ultra-fast-agent-manager.js +630 -0
- package/.claude-flow-novice/dist/src/agents/unified-ultra-fast-agent-manager.js.map +1 -0
- package/.claude-flow-novice/dist/src/cli/commands/agent.js +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/agent.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/config-integration.js +6 -6
- package/.claude-flow-novice/dist/src/cli/commands/enterprise.js +18 -18
- package/.claude-flow-novice/dist/src/cli/commands/enterprise.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/goal-init.js +4 -4
- package/.claude-flow-novice/dist/src/cli/commands/help-new.js +23 -23
- package/.claude-flow-novice/dist/src/cli/commands/help-new.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/help.js +74 -74
- package/.claude-flow-novice/dist/src/cli/commands/help.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/hive-mind/pause.js +2 -2
- package/.claude-flow-novice/dist/src/cli/commands/hive-mind/pause.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/hive.js +4 -4
- package/.claude-flow-novice/dist/src/cli/commands/index.js +103 -132
- package/.claude-flow-novice/dist/src/cli/commands/index.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/mcp.js +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/migrate.js +4 -4
- package/.claude-flow-novice/dist/src/cli/commands/migrate.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/monitor.js +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/neural-init.js +4 -4
- package/.claude-flow-novice/dist/src/cli/commands/ruv-swarm.js +8 -8
- package/.claude-flow-novice/dist/src/cli/commands/sparc.js +12 -12
- package/.claude-flow-novice/dist/src/cli/commands/sparc.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/start/start-command.js +3 -3
- package/.claude-flow-novice/dist/src/cli/commands/status.js +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/swarm.js +7 -7
- package/.claude-flow-novice/dist/src/cli/commands/swarm.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/commands/verification.js +18 -18
- package/.claude-flow-novice/dist/src/cli/completion.js +54 -54
- package/.claude-flow-novice/dist/src/cli/completion.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/consolidated/ConsolidatedCLI.js +11 -11
- package/.claude-flow-novice/dist/src/cli/consolidated/ConsolidatedCLI.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/consolidated/core/CommandHandlers.js +31 -31
- package/.claude-flow-novice/dist/src/cli/consolidated/core/TierManager.js +39 -39
- package/.claude-flow-novice/dist/src/cli/consolidated/core/TierManager.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/consolidated/help/InteractiveHelp.js +25 -25
- package/.claude-flow-novice/dist/src/cli/consolidated/help/InteractiveHelp.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/consolidated/routing/CommandRouter.js +8 -8
- package/.claude-flow-novice/dist/src/cli/consolidated/routing/CommandRouter.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/consolidated/utils/IntelligentDefaults.js +6 -6
- package/.claude-flow-novice/dist/src/cli/consolidated/utils/IntelligentDefaults.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/consolidated/utils/PerformanceOptimizer.js +7 -7
- package/.claude-flow-novice/dist/src/cli/consolidated/utils/PerformanceOptimizer.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/index-remote.js +10 -10
- package/.claude-flow-novice/dist/src/cli/index.js +1 -1
- package/.claude-flow-novice/dist/src/cli/init/directory-structure.js +8 -8
- package/.claude-flow-novice/dist/src/cli/init/index.js +3 -3
- package/.claude-flow-novice/dist/src/cli/init/sparc-environment.js +67 -67
- package/.claude-flow-novice/dist/src/cli/init/swarm-commands.js +18 -18
- package/.claude-flow-novice/dist/src/cli/node-repl.js +2 -2
- package/.claude-flow-novice/dist/src/cli/repl.js +1 -1
- package/.claude-flow-novice/dist/src/cli/simple-cli.js +68 -68
- package/.claude-flow-novice/dist/src/cli/simple-cli.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/simple-commands/session-start-soul.js +271 -0
- package/.claude-flow-novice/dist/src/cli/simple-orchestrator.js +7 -7
- package/.claude-flow-novice/dist/src/cli/simple-orchestrator.js.map +1 -1
- package/.claude-flow-novice/dist/src/cli/ui/fallback-handler.js +7 -7
- package/.claude-flow-novice/dist/src/communication/enhanced-event-bus.js +816 -0
- package/.claude-flow-novice/dist/src/communication/enhanced-event-bus.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/failure-recovery-system.js +812 -0
- package/.claude-flow-novice/dist/src/communication/failure-recovery-system.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/optimized-serialization.js +369 -0
- package/.claude-flow-novice/dist/src/communication/optimized-serialization.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/performance-optimizations.js +526 -0
- package/.claude-flow-novice/dist/src/communication/performance-optimizations.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/performance-validator.js +532 -0
- package/.claude-flow-novice/dist/src/communication/performance-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/priority-message-queue.js +525 -0
- package/.claude-flow-novice/dist/src/communication/priority-message-queue.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/shared-buffer-bus.js +218 -0
- package/.claude-flow-novice/dist/src/communication/shared-buffer-bus.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/ultra-fast-communication-bus.js +521 -0
- package/.claude-flow-novice/dist/src/communication/ultra-fast-communication-bus.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/ultra-fast-serialization.js +563 -0
- package/.claude-flow-novice/dist/src/communication/ultra-fast-serialization.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/websocket-cluster.js +344 -0
- package/.claude-flow-novice/dist/src/communication/websocket-cluster.js.map +1 -0
- package/.claude-flow-novice/dist/src/communication/zero-copy-structures.js +369 -0
- package/.claude-flow-novice/dist/src/communication/zero-copy-structures.js.map +1 -0
- package/.claude-flow-novice/dist/src/config/config-manager.js +1 -1
- package/.claude-flow-novice/dist/src/config/config-manager.js.map +1 -1
- package/.claude-flow-novice/dist/src/config/core/intelligent-configuration-manager.js +1 -1
- package/.claude-flow-novice/dist/src/config/integration/hooks-integration.js +6 -6
- package/.claude-flow-novice/dist/src/config/integration/hooks-integration.js.map +1 -1
- package/.claude-flow-novice/dist/src/config/migration/config-migration.js +1 -1
- package/.claude-flow-novice/dist/src/config/ruv-swarm-integration.js +1 -1
- package/.claude-flow-novice/dist/src/config/utils/zero-config-setup.js +1 -1
- package/.claude-flow-novice/dist/src/config/utils/zero-config-setup.js.map +1 -1
- package/.claude-flow-novice/dist/src/config/web-portal-config.js +0 -9
- package/.claude-flow-novice/dist/src/config/web-portal-config.js.map +1 -1
- package/.claude-flow-novice/dist/src/config/zero-config-setup.js +18 -18
- package/.claude-flow-novice/dist/src/config/zero-config-setup.js.map +1 -1
- package/.claude-flow-novice/dist/src/core/logger.js +33 -10
- package/.claude-flow-novice/dist/src/core/logger.js.map +1 -1
- package/.claude-flow-novice/dist/src/migration/index.js +1 -1
- package/.claude-flow-novice/dist/src/migration/index.js.map +1 -1
- package/.claude-flow-novice/dist/src/migration/migration-runner.js +4 -4
- package/.claude-flow-novice/dist/src/migration/migration-runner.js.map +1 -1
- package/.claude-flow-novice/dist/src/monitoring/agent-health-monitor.js +430 -0
- package/.claude-flow-novice/dist/src/monitoring/agent-health-monitor.js.map +1 -0
- package/.claude-flow-novice/dist/src/slash-commands/claude-soul.js +248 -365
- package/.claude-flow-novice/dist/src/slash-commands/register-all-commands.js +1 -1
- package/.claude-flow-novice/dist/src/swarm/claude-code-interface.js +1 -1
- package/.claude-flow-novice/dist/src/swarm/claude-flow-executor.js +1 -1
- package/.claude-flow-novice/dist/src/swarm/consensus-coordinator.js +471 -0
- package/.claude-flow-novice/dist/src/swarm/consensus-coordinator.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm/hive-mind-integration.js +1 -1
- package/.claude-flow-novice/dist/src/swarm/large-scale-coordinator.js +543 -0
- package/.claude-flow-novice/dist/src/swarm/large-scale-coordinator.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm/optimizations/connection-pool.js +1 -1
- package/.claude-flow-novice/dist/src/swarm/optimizations/optimized-executor.js +1 -1
- package/.claude-flow-novice/dist/src/swarm/types.js.map +1 -1
- package/.claude-flow-novice/dist/src/swarm-fullstack/integrations/communication-bridge.js +709 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/integrations/communication-bridge.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/api-contract-validator.js +612 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/api-contract-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/backend-test-orchestrator.js +679 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/backend-test-orchestrator.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/frontend-test-orchestrator.js +654 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/frontend-test-orchestrator.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/visual-regression.js +402 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/testing/visual-regression.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/convergence-detector.js +459 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/convergence-detector.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/fix-coordinator.js +513 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/fix-coordinator.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/index.js +19 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/index.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/iterative-build-test.js +568 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/iterative-build-test.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/regression-test-manager.js +418 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/regression-test-manager.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/test-result-analyzer.js +530 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/test-result-analyzer.js.map +1 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/workflow-metrics.js +250 -0
- package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/workflow-metrics.js.map +1 -0
- package/.claude-flow-novice/dist/src/task/index.js +7 -7
- package/.claude-flow-novice/dist/src/validation/fullstack-integration-validator.js +420 -0
- package/.claude-flow-novice/dist/src/validation/fullstack-integration-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/validation/production-validator.js +1435 -0
- package/.claude-flow-novice/dist/src/validation/production-validator.js.map +1 -0
- package/.claude-flow-novice/dist/src/verification/cli-integration.js +3 -3
- package/.claude-flow-novice/dist/src/verification/hooks.js +1 -1
- package/CHANGELOG.md +13 -0
- package/CLAUDE.md +1029 -68
- package/README.md +0 -1
- package/config/build/babel.config.cjs +19 -11
- package/config/typescript/tsconfig.json +1 -1
- package/examples/claude-api-error-handling.ts +2 -2
- package/examples/frontend-testing-demo.ts +470 -0
- package/examples/litellm/config/config.yaml +1 -1
- package/package.json +13 -7
- package/scripts/build/unified-builder.sh +6 -6
- package/scripts/build/validate-agents.js +238 -0
- package/scripts/run-production-validation.ts +590 -0
- package/scripts/test/test-coordination-features.ts +2 -2
- package/scripts/validate-stage3-performance.ts +377 -0
- package/src/cli/simple-commands/hooks.js +1 -0
- package/src/cli/simple-commands/init/agent-copier.js +0 -2
- package/src/cli/simple-commands/init/index.js +5 -97
- package/src/cli/simple-commands/init/templates/CLAUDE.md +162 -1158
- package/src/cli/simple-commands/init/templates/claude-md.js +38 -157
- package/src/swarm-fullstack/integrations/communication-bridge.ts +931 -0
- package/src/swarm-fullstack/testing/api-contract-validator.ts +909 -0
- package/src/swarm-fullstack/testing/backend-test-orchestrator.ts +791 -0
- package/src/swarm-fullstack/testing/frontend-test-orchestrator.ts +853 -0
- package/src/swarm-fullstack/testing/visual-regression.ts +507 -0
- package/src/swarm-fullstack/workflows/convergence-detector.ts +736 -0
- package/src/swarm-fullstack/workflows/fix-coordinator.ts +677 -0
- package/src/swarm-fullstack/workflows/index.ts +75 -0
- package/src/swarm-fullstack/workflows/iterative-build-test.ts +829 -0
- package/src/swarm-fullstack/workflows/regression-test-manager.ts +590 -0
- package/src/swarm-fullstack/workflows/test-result-analyzer.ts +739 -0
- package/src/swarm-fullstack/workflows/workflow-metrics.ts +399 -0
- package/wiki/command-reference/README.md +1 -2
- package/wiki/command-reference/mcp-tools/README.md +1 -1
- package/wiki/getting-started/claude-code-mcp/README.md +1 -2
- package/wiki/getting-started/installation/README.md +2 -10
- package/.claude/commands/flow-nexus/app-store.md +0 -124
- package/.claude/commands/flow-nexus/challenges.md +0 -120
- package/.claude/commands/flow-nexus/login-registration.md +0 -65
- package/.claude/commands/flow-nexus/neural-network.md +0 -134
- package/.claude/commands/flow-nexus/payments.md +0 -116
- package/.claude/commands/flow-nexus/sandbox.md +0 -83
- package/.claude/commands/flow-nexus/swarm.md +0 -87
- package/.claude/commands/flow-nexus/user-tools.md +0 -152
- package/.claude/commands/flow-nexus/workflow.md +0 -115
- package/.claude-flow-novice/dist/cli/index.js +0 -45
- package/.claude-flow-novice/dist/core/index.js +0 -22
- package/.claude-flow-novice/dist/mcp/mcp-server-novice.js +0 -595
- package/.claude-flow-novice/dist/mcp/mcp-server-sdk.js +0 -649
- package/.claude-flow-novice/dist/mcp/mcp-server-with-slash-commands.js +0 -776
- package/.claude-flow-novice/dist/src/cli/simple-commands/init/templates/claude-md.js +0 -1101
- package/src/cli/simple-commands/init/templates/CLAUDE.md.optimized +0 -265
- /package/{.claude → .claude-flow-novice/.claude}/agents/README.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/backend-dev.json +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/code-analyzer.json +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/coder.json +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/consensus/README.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/core/coder.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/core/planner.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/core/researcher.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/core/reviewer.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/core/tester.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/optimization/README.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/planner.json +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/researcher.json +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/reviewer.json +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/swarm/README.md +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/system-architect.json +0 -0
- /package/{.claude → .claude-flow-novice/.claude}/agents/tester.json +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/communication/failure-recovery-system.ts"],"names":["EventEmitter","performance","LockFreeRingBuffer","FailureType","CircuitState","RecoveryActionType","RecoveryStatus","FailureRecoverySystem","config","memoryStore","priorityQueue","sharedBuffer","deadLetterQueues","Map","circuitBreakers","poisonMessages","Set","recoveryActions","retryEngine","circuitBreakerManager","poisonDetector","healthMonitor","recoveryOrchestrator","metrics","alertManager","processingWorkers","isRunning","maxDeadLetterSize","dlqRetentionPeriod","maxRetryAttempts","initialRetryDelay","maxRetryDelay","backoffMultiplier","enableCircuitBreaker","failureThreshold","recoveryTimeout","halfOpenMaxCalls","enablePoisonDetection","poisonThreshold","poisonQuarantinePeriod","healthCheckInterval","agentTimeoutThreshold","enableAutomaticRecovery","sharedBufferSize","processingThreads","batchSize","enableMetrics","enableAlerting","alertThresholds","highFailureRate","highRetryRate","longRecoveryTime","poisonMessageRate","initializeComponents","SharedArrayBuffer","offset","failureType","Object","values","dlq","set","RetryEngine","CircuitBreakerManager","PoisonMessageDetector","AgentHealthMonitor","RecoveryOrchestrator","totalFailures","BigInt","failuresByType","totalRetries","successfulRetries","circuitBreakerTrips","averageRecoveryTime","maxRecoveryTime","currentDlqSize","agentHealthStatus","AlertManager","i","push","FailureProcessor","start","worker","startPeriodicCleanup","startMetricsCollection","emit","handleFailure","message","agentId","error","startTime","now","recordFailure","shouldOpenCircuit","handleCircuitBreakerTrip","isPoisonMessage","checkMessage","quarantinePoisonMessage","failedMessage","id","generateFailureId","originalMessage","failureReason","failureTimestamp","Date","retryCount","nextRetryTime","calculateNextRetryTime","correlationId","stackTrace","stack","metadata","name","addToDeadLetterQueue","updateFailureMetrics","shouldTriggerRecovery","triggerRecoveryAction","checkThresholds","processingTime","console","get","Error","serializedMessage","serializeFailedMessage","success","enqueue","handleDlqOverflow","removed","dequeue","oldMessage","deserializeFailedMessage","data","delete","messageId","processRetries","Math","min","getStats","count","entry","attemptRetry","circuitState","getCircuitState","handleMaxRetriesExceeded","retryMessageDelivery","handleSuccessfulRetry","handleFailedRetry","priority","deadline","maxRetries","recoveryTime","recordSuccess","updateRecoveryTimeMetrics","finalFailureTime","sendPermanentFailureAlert","recoveryAction","generateRecoveryId","type","targetAgent","parameters","scheduledTime","status","createdAt","scheduleRecovery","add","quarantineTime","releaseTime","delay","pow","jitter","random","finalDelay","agentHealth","errorRate","actionType","selectRecoveryActionType","executeRecovery","setInterval","performCleanup","retentionThreshold","key","value","iterateNamespace","quarantineEntry","actionId","action","completedAt","updateSystemMetrics","totalDlqSize","keys","health","getAgentHealth","getMetrics","typeCount","Number","max","JSON","stringify","Array","from","timestamp","toString","size","fromEntries","TextEncoder","encode","json","TextDecoder","decode","parsed","parse","Uint8Array","undefined","entries","substr","failures","total","byType","map","retries","successful","successRate","recovery","averageTime","maxTime","currentSize","byStatus","getRecoveryActionsByStatus","statusCounts","shutdown","stop","isHealthy","lastHealthCheck","consecutiveFailures","averageResponseTime","workerId"],"mappings":"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"}
|
|
@@ -0,0 +1,369 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Optimized Serialization with Object Pooling and Bloom Filters
|
|
3
|
+
* Reduces serialization overhead through aggressive caching and pooling
|
|
4
|
+
* Target: <10μs for 90% of messages
|
|
5
|
+
*/ import { UltraFastBinaryEncoder, UltraFastBinaryDecoder, MessageSerializer } from './ultra-fast-serialization.js';
|
|
6
|
+
import { ObjectPool } from './zero-copy-structures.js';
|
|
7
|
+
/**
|
|
8
|
+
* Bloom filter for fast string interning lookups
|
|
9
|
+
*/ export class BloomFilter {
|
|
10
|
+
bits;
|
|
11
|
+
size;
|
|
12
|
+
hashCount;
|
|
13
|
+
constructor(expectedItems = 10000, falsePositiveRate = 0.01){
|
|
14
|
+
// Calculate optimal size and hash count
|
|
15
|
+
this.size = Math.ceil(-expectedItems * Math.log(falsePositiveRate) / Math.log(2) ** 2);
|
|
16
|
+
this.hashCount = Math.ceil(this.size / expectedItems * Math.log(2));
|
|
17
|
+
// Allocate bit array (32-bit words)
|
|
18
|
+
const wordCount = Math.ceil(this.size / 32);
|
|
19
|
+
this.bits = new Uint32Array(wordCount);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Add string to bloom filter
|
|
23
|
+
*/ add(str) {
|
|
24
|
+
for(let i = 0; i < this.hashCount; i++){
|
|
25
|
+
const hash = this.hash(str, i);
|
|
26
|
+
const index = hash % this.size;
|
|
27
|
+
this.setBit(index);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Check if string might be in filter
|
|
32
|
+
* @returns false = definitely not present, true = might be present
|
|
33
|
+
*/ mightContain(str) {
|
|
34
|
+
for(let i = 0; i < this.hashCount; i++){
|
|
35
|
+
const hash = this.hash(str, i);
|
|
36
|
+
const index = hash % this.size;
|
|
37
|
+
if (!this.checkBit(index)) {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Hash function with seed
|
|
45
|
+
*/ hash(str, seed) {
|
|
46
|
+
let hash = seed;
|
|
47
|
+
for(let i = 0; i < str.length; i++){
|
|
48
|
+
hash = (hash << 5) - hash + str.charCodeAt(i);
|
|
49
|
+
hash |= 0; // Convert to 32-bit integer
|
|
50
|
+
}
|
|
51
|
+
return hash >>> 0; // Convert to unsigned
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Set bit at index
|
|
55
|
+
*/ setBit(index) {
|
|
56
|
+
const wordIndex = Math.floor(index / 32);
|
|
57
|
+
const bitIndex = index % 32;
|
|
58
|
+
this.bits[wordIndex] |= 1 << bitIndex;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Check bit at index
|
|
62
|
+
*/ checkBit(index) {
|
|
63
|
+
const wordIndex = Math.floor(index / 32);
|
|
64
|
+
const bitIndex = index % 32;
|
|
65
|
+
return (this.bits[wordIndex] & 1 << bitIndex) !== 0;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Clear all bits
|
|
69
|
+
*/ clear() {
|
|
70
|
+
this.bits.fill(0);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Get statistics
|
|
74
|
+
*/ getStats() {
|
|
75
|
+
let bitsSet = 0;
|
|
76
|
+
for(let i = 0; i < this.bits.length; i++){
|
|
77
|
+
bitsSet += this.countBits(this.bits[i]);
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
size: this.size,
|
|
81
|
+
hashCount: this.hashCount,
|
|
82
|
+
bitsSet,
|
|
83
|
+
utilization: bitsSet / this.size
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Count set bits in a 32-bit word
|
|
88
|
+
*/ countBits(n) {
|
|
89
|
+
n = n - (n >>> 1 & 0x55555555);
|
|
90
|
+
n = (n & 0x33333333) + (n >>> 2 & 0x33333333);
|
|
91
|
+
return (n + (n >>> 4) & 0xF0F0F0F) * 0x1010101 >>> 24;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Optimized string interning pool with bloom filter
|
|
96
|
+
*/ export class OptimizedStringPool {
|
|
97
|
+
stringToId = new Map();
|
|
98
|
+
idToString = [];
|
|
99
|
+
bloomFilter;
|
|
100
|
+
nextId = 1;
|
|
101
|
+
constructor(){
|
|
102
|
+
this.bloomFilter = new BloomFilter(50000, 0.01); // 50k strings, 1% false positive
|
|
103
|
+
this.prePopulateCommonStrings();
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Pre-populate with common strings
|
|
107
|
+
*/ prePopulateCommonStrings() {
|
|
108
|
+
const commonStrings = [
|
|
109
|
+
// Message types
|
|
110
|
+
'task',
|
|
111
|
+
'result',
|
|
112
|
+
'error',
|
|
113
|
+
'success',
|
|
114
|
+
'failure',
|
|
115
|
+
'heartbeat',
|
|
116
|
+
'coordination',
|
|
117
|
+
'status',
|
|
118
|
+
'metrics',
|
|
119
|
+
'event',
|
|
120
|
+
// Agent types
|
|
121
|
+
'agent',
|
|
122
|
+
'coordinator',
|
|
123
|
+
'worker',
|
|
124
|
+
'analyst',
|
|
125
|
+
'coder',
|
|
126
|
+
'tester',
|
|
127
|
+
'reviewer',
|
|
128
|
+
'researcher',
|
|
129
|
+
'architect',
|
|
130
|
+
'devops',
|
|
131
|
+
// Fields
|
|
132
|
+
'id',
|
|
133
|
+
'type',
|
|
134
|
+
'data',
|
|
135
|
+
'payload',
|
|
136
|
+
'timestamp',
|
|
137
|
+
'priority',
|
|
138
|
+
'message',
|
|
139
|
+
'sender',
|
|
140
|
+
'receiver',
|
|
141
|
+
'correlationId',
|
|
142
|
+
'causationId',
|
|
143
|
+
// States
|
|
144
|
+
'pending',
|
|
145
|
+
'processing',
|
|
146
|
+
'completed',
|
|
147
|
+
'failed',
|
|
148
|
+
'cancelled',
|
|
149
|
+
'running',
|
|
150
|
+
'stopped',
|
|
151
|
+
'paused',
|
|
152
|
+
'initialized',
|
|
153
|
+
// Common patterns
|
|
154
|
+
'agent.task',
|
|
155
|
+
'agent.result',
|
|
156
|
+
'system.error',
|
|
157
|
+
'system.info',
|
|
158
|
+
'coordination.sync',
|
|
159
|
+
'coordination.vote',
|
|
160
|
+
'heartbeat.ping'
|
|
161
|
+
];
|
|
162
|
+
for (const str of commonStrings){
|
|
163
|
+
this.intern(str);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Intern string and return ID
|
|
168
|
+
*/ intern(str) {
|
|
169
|
+
// Fast path: check bloom filter first
|
|
170
|
+
if (!this.bloomFilter.mightContain(str)) {
|
|
171
|
+
// Definitely not in pool, add it
|
|
172
|
+
return this.addString(str);
|
|
173
|
+
}
|
|
174
|
+
// Slow path: check actual map
|
|
175
|
+
const existing = this.stringToId.get(str);
|
|
176
|
+
if (existing !== undefined) {
|
|
177
|
+
return existing;
|
|
178
|
+
}
|
|
179
|
+
// False positive from bloom filter, add string
|
|
180
|
+
return this.addString(str);
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Get string by ID
|
|
184
|
+
*/ getString(id) {
|
|
185
|
+
return this.idToString[id];
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Check if string is interned
|
|
189
|
+
*/ has(str) {
|
|
190
|
+
return this.bloomFilter.mightContain(str) && this.stringToId.has(str);
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Add new string to pool
|
|
194
|
+
*/ addString(str) {
|
|
195
|
+
const id = this.nextId++;
|
|
196
|
+
this.stringToId.set(str, id);
|
|
197
|
+
this.idToString.push(str);
|
|
198
|
+
this.bloomFilter.add(str);
|
|
199
|
+
return id;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Get statistics
|
|
203
|
+
*/ getStats() {
|
|
204
|
+
const totalLength = this.idToString.reduce((sum, str)=>sum + str.length, 0);
|
|
205
|
+
return {
|
|
206
|
+
totalStrings: this.idToString.length,
|
|
207
|
+
averageLength: this.idToString.length > 0 ? totalLength / this.idToString.length : 0,
|
|
208
|
+
bloomStats: this.bloomFilter.getStats()
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Binary codec pool for encoder/decoder reuse
|
|
214
|
+
*/ export class BinaryCodecPool {
|
|
215
|
+
encoderPool;
|
|
216
|
+
decoderPool;
|
|
217
|
+
stringPool;
|
|
218
|
+
constructor(){
|
|
219
|
+
// Create encoder pool
|
|
220
|
+
this.encoderPool = new ObjectPool(()=>new UltraFastBinaryEncoder(16384), (encoder)=>encoder.reset(), 200, 32 // Thread cache size
|
|
221
|
+
);
|
|
222
|
+
// Create decoder pool (factory will be set when acquiring)
|
|
223
|
+
this.decoderPool = new ObjectPool(()=>new UltraFastBinaryDecoder(new ArrayBuffer(0)), (decoder)=>decoder.reset(), 200, 32);
|
|
224
|
+
this.stringPool = new OptimizedStringPool();
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Acquire encoder from pool
|
|
228
|
+
*/ acquireEncoder() {
|
|
229
|
+
return this.encoderPool.acquire();
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Release encoder back to pool
|
|
233
|
+
*/ releaseEncoder(encoder) {
|
|
234
|
+
this.encoderPool.release(encoder);
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Acquire decoder from pool
|
|
238
|
+
*/ acquireDecoder(buffer) {
|
|
239
|
+
const decoder = this.decoderPool.acquire();
|
|
240
|
+
// Reset with new buffer
|
|
241
|
+
decoder.buffer = buffer;
|
|
242
|
+
decoder.view = new DataView(buffer);
|
|
243
|
+
decoder.uint8View = new Uint8Array(buffer);
|
|
244
|
+
decoder.reset();
|
|
245
|
+
return decoder;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Release decoder back to pool
|
|
249
|
+
*/ releaseDecoder(decoder) {
|
|
250
|
+
this.decoderPool.release(decoder);
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Get string pool for interning
|
|
254
|
+
*/ getStringPool() {
|
|
255
|
+
return this.stringPool;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Get comprehensive statistics
|
|
259
|
+
*/ getStats() {
|
|
260
|
+
return {
|
|
261
|
+
encoderPool: this.encoderPool.getStats(),
|
|
262
|
+
decoderPool: this.decoderPool.getStats(),
|
|
263
|
+
stringPool: this.stringPool.getStats()
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Optimized message serializer with pooling
|
|
269
|
+
*/ export class OptimizedMessageSerializer {
|
|
270
|
+
codecPool;
|
|
271
|
+
constructor(){
|
|
272
|
+
this.codecPool = new BinaryCodecPool();
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Serialize message using pooled encoder
|
|
276
|
+
*/ serialize(type, payload, correlationId) {
|
|
277
|
+
const encoder = this.codecPool.acquireEncoder();
|
|
278
|
+
try {
|
|
279
|
+
// Use MessageSerializer with pooled encoder
|
|
280
|
+
const result = MessageSerializer.serialize(type, payload, correlationId);
|
|
281
|
+
return result;
|
|
282
|
+
} finally{
|
|
283
|
+
this.codecPool.releaseEncoder(encoder);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Deserialize message using pooled decoder
|
|
288
|
+
*/ deserialize(buffer) {
|
|
289
|
+
const decoder = this.codecPool.acquireDecoder(buffer);
|
|
290
|
+
try {
|
|
291
|
+
const result = MessageSerializer.deserialize(buffer);
|
|
292
|
+
return result;
|
|
293
|
+
} finally{
|
|
294
|
+
this.codecPool.releaseDecoder(decoder);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Get codec pool for direct access
|
|
299
|
+
*/ getCodecPool() {
|
|
300
|
+
return this.codecPool;
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Get statistics
|
|
304
|
+
*/ getStats() {
|
|
305
|
+
return this.codecPool.getStats();
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* Message batch serializer for high throughput
|
|
310
|
+
*/ export class BatchMessageSerializer {
|
|
311
|
+
serializer;
|
|
312
|
+
batchBuffer = [];
|
|
313
|
+
maxBatchSize = 64;
|
|
314
|
+
constructor(){
|
|
315
|
+
this.serializer = new OptimizedMessageSerializer();
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Add message to batch
|
|
319
|
+
*/ addMessage(type, payload, correlationId) {
|
|
320
|
+
const serialized = this.serializer.serialize(type, payload, correlationId);
|
|
321
|
+
this.batchBuffer.push(serialized);
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Flush batch and return combined buffer
|
|
325
|
+
*/ flush() {
|
|
326
|
+
if (this.batchBuffer.length === 0) {
|
|
327
|
+
return new ArrayBuffer(0);
|
|
328
|
+
}
|
|
329
|
+
// Calculate total size
|
|
330
|
+
let totalSize = 4; // 4 bytes for message count
|
|
331
|
+
for (const buffer of this.batchBuffer){
|
|
332
|
+
totalSize += 4; // 4 bytes for message length
|
|
333
|
+
totalSize += buffer.byteLength;
|
|
334
|
+
}
|
|
335
|
+
// Allocate combined buffer
|
|
336
|
+
const combined = new ArrayBuffer(totalSize);
|
|
337
|
+
const view = new DataView(combined);
|
|
338
|
+
const uint8View = new Uint8Array(combined);
|
|
339
|
+
// Write message count
|
|
340
|
+
view.setUint32(0, this.batchBuffer.length, true);
|
|
341
|
+
let offset = 4;
|
|
342
|
+
for (const buffer of this.batchBuffer){
|
|
343
|
+
// Write message length
|
|
344
|
+
view.setUint32(offset, buffer.byteLength, true);
|
|
345
|
+
offset += 4;
|
|
346
|
+
// Write message data
|
|
347
|
+
uint8View.set(new Uint8Array(buffer), offset);
|
|
348
|
+
offset += buffer.byteLength;
|
|
349
|
+
}
|
|
350
|
+
// Clear batch
|
|
351
|
+
this.batchBuffer.length = 0;
|
|
352
|
+
return combined;
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Get current batch size
|
|
356
|
+
*/ getBatchSize() {
|
|
357
|
+
return this.batchBuffer.length;
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* Check if batch should be flushed
|
|
361
|
+
*/ shouldFlush() {
|
|
362
|
+
return this.batchBuffer.length >= this.maxBatchSize;
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
// Export singleton instance
|
|
366
|
+
export const globalSerializer = new OptimizedMessageSerializer();
|
|
367
|
+
export const globalBatchSerializer = new BatchMessageSerializer();
|
|
368
|
+
|
|
369
|
+
//# sourceMappingURL=optimized-serialization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/communication/optimized-serialization.ts"],"names":["UltraFastBinaryEncoder","UltraFastBinaryDecoder","MessageSerializer","ObjectPool","BloomFilter","bits","size","hashCount","expectedItems","falsePositiveRate","Math","ceil","log","wordCount","Uint32Array","add","str","i","hash","index","setBit","mightContain","checkBit","seed","length","charCodeAt","wordIndex","floor","bitIndex","clear","fill","getStats","bitsSet","countBits","utilization","n","OptimizedStringPool","stringToId","Map","idToString","bloomFilter","nextId","prePopulateCommonStrings","commonStrings","intern","addString","existing","get","undefined","getString","id","has","set","push","totalLength","reduce","sum","totalStrings","averageLength","bloomStats","BinaryCodecPool","encoderPool","decoderPool","stringPool","encoder","reset","ArrayBuffer","decoder","acquireEncoder","acquire","releaseEncoder","release","acquireDecoder","buffer","view","DataView","uint8View","Uint8Array","releaseDecoder","getStringPool","OptimizedMessageSerializer","codecPool","serialize","type","payload","correlationId","result","deserialize","getCodecPool","BatchMessageSerializer","serializer","batchBuffer","maxBatchSize","addMessage","serialized","flush","totalSize","byteLength","combined","setUint32","offset","getBatchSize","shouldFlush","globalSerializer","globalBatchSerializer"],"mappings":"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"}
|