@sparkleideas/claude-flow 3.5.2-patch.1
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 +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/byzantine-coordinator.md +63 -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 +266 -0
- package/.claude/agents/core/planner.md +168 -0
- package/.claude/agents/core/researcher.md +190 -0
- package/.claude/agents/core/reviewer.md +326 -0
- package/.claude/agents/core/tester.md +319 -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/code-goal-planner.md +446 -0
- package/.claude/agents/goal/goal-planner.md +168 -0
- package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +130 -0
- package/.claude/agents/hive-mind/queen-coordinator.md +203 -0
- package/.claude/agents/hive-mind/scout-explorer.md +242 -0
- package/.claude/agents/hive-mind/swarm-memory-manager.md +193 -0
- package/.claude/agents/hive-mind/worker-specialist.md +217 -0
- package/.claude/agents/neural/safla-neural.md +74 -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/reasoning/agent.md +816 -0
- package/.claude/agents/reasoning/goal-planner.md +73 -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/swarm/adaptive-coordinator.md +396 -0
- package/.claude/agents/swarm/hierarchical-coordinator.md +327 -0
- package/.claude/agents/swarm/mesh-coordinator.md +392 -0
- package/.claude/agents/templates/automation-smart-agent.md +205 -0
- package/.claude/agents/templates/coordinator-swarm-init.md +105 -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/unit/tdd-london-swarm.md +244 -0
- package/.claude/agents/testing/validation/production-validator.md +395 -0
- package/.claude/cache/agent-pool.json +33 -0
- package/.claude/cache/memory-optimization.json +19 -0
- package/.claude/cache/neural-optimization.json +25 -0
- package/.claude/cache/optimized-hooks.json +19 -0
- package/.claude/cache/parallel-processing.json +26 -0
- package/.claude/checkpoints/1753906353.json +8 -0
- package/.claude/checkpoints/1753906370.json +8 -0
- package/.claude/checkpoints/1754066715.json +1 -0
- package/.claude/checkpoints/1754066716.json +1 -0
- package/.claude/checkpoints/1754066724.json +1 -0
- package/.claude/checkpoints/1754066726.json +1 -0
- package/.claude/checkpoints/1754066740.json +1 -0
- package/.claude/checkpoints/1754066741.json +1 -0
- package/.claude/checkpoints/1754066750.json +1 -0
- package/.claude/checkpoints/1754066751.json +1 -0
- package/.claude/checkpoints/1754066761.json +1 -0
- package/.claude/checkpoints/1754066762.json +1 -0
- package/.claude/checkpoints/1754066775.json +1 -0
- package/.claude/checkpoints/1754066777.json +1 -0
- package/.claude/checkpoints/1754066783.json +1 -0
- package/.claude/checkpoints/1754066785.json +1 -0
- package/.claude/checkpoints/1754066815.json +1 -0
- package/.claude/checkpoints/1754066817.json +1 -0
- package/.claude/checkpoints/1754066900.json +1 -0
- package/.claude/checkpoints/1754066904.json +1 -0
- package/.claude/checkpoints/1754066974.json +1 -0
- package/.claude/checkpoints/1754066976.json +1 -0
- package/.claude/checkpoints/1754070695.json +1 -0
- package/.claude/checkpoints/1754070697.json +1 -0
- package/.claude/checkpoints/1754070704.json +1 -0
- package/.claude/checkpoints/1754070706.json +1 -0
- package/.claude/checkpoints/1754070716.json +1 -0
- package/.claude/checkpoints/1754070718.json +1 -0
- package/.claude/checkpoints/1754070730.json +1 -0
- package/.claude/checkpoints/1754070732.json +1 -0
- package/.claude/checkpoints/1754070738.json +1 -0
- package/.claude/checkpoints/1754070740.json +1 -0
- package/.claude/checkpoints/1754074148.json +1 -0
- package/.claude/checkpoints/1754074150.json +1 -0
- package/.claude/checkpoints/1754074157.json +1 -0
- package/.claude/checkpoints/1754074159.json +1 -0
- package/.claude/checkpoints/1754074166.json +1 -0
- package/.claude/checkpoints/1754074168.json +1 -0
- package/.claude/checkpoints/1754074230.json +1 -0
- package/.claude/checkpoints/1754074231.json +1 -0
- package/.claude/checkpoints/1754223063.json +1 -0
- package/.claude/checkpoints/1754223065.json +1 -0
- package/.claude/checkpoints/1754223090.json +1 -0
- package/.claude/checkpoints/1754223092.json +1 -0
- package/.claude/checkpoints/1754223122.json +1 -0
- package/.claude/checkpoints/1754223124.json +1 -0
- package/.claude/checkpoints/1754223139.json +1 -0
- package/.claude/checkpoints/1754223141.json +1 -0
- package/.claude/checkpoints/1754223152.json +1 -0
- package/.claude/checkpoints/1754223154.json +1 -0
- package/.claude/checkpoints/1754223257.json +1 -0
- package/.claude/checkpoints/1754223259.json +1 -0
- package/.claude/checkpoints/1754223270.json +1 -0
- package/.claude/checkpoints/1754223272.json +1 -0
- package/.claude/checkpoints/1754223355.json +1 -0
- package/.claude/checkpoints/1754223357.json +1 -0
- package/.claude/checkpoints/1754223377.json +1 -0
- package/.claude/checkpoints/1754223379.json +1 -0
- package/.claude/checkpoints/1754223405.json +1 -0
- package/.claude/checkpoints/1754223407.json +1 -0
- package/.claude/checkpoints/1754223564.json +1 -0
- package/.claude/checkpoints/1754223566.json +1 -0
- package/.claude/checkpoints/1754223787.json +1 -0
- package/.claude/checkpoints/1754223789.json +1 -0
- package/.claude/checkpoints/1754223824.json +1 -0
- package/.claude/checkpoints/1754223825.json +1 -0
- package/.claude/checkpoints/1754224013.json +1 -0
- package/.claude/checkpoints/1754224015.json +1 -0
- package/.claude/checkpoints/1754224065.json +1 -0
- package/.claude/checkpoints/1754224067.json +1 -0
- package/.claude/checkpoints/1754224099.json +1 -0
- package/.claude/checkpoints/1754224100.json +1 -0
- package/.claude/checkpoints/1754224140.json +1 -0
- package/.claude/checkpoints/1754224142.json +1 -0
- package/.claude/checkpoints/1754224274.json +1 -0
- package/.claude/checkpoints/1754224276.json +1 -0
- package/.claude/checkpoints/1754224352.json +1 -0
- package/.claude/checkpoints/1754224354.json +1 -0
- package/.claude/checkpoints/1754224363.json +1 -0
- package/.claude/checkpoints/1754224365.json +1 -0
- package/.claude/checkpoints/1754224378.json +1 -0
- package/.claude/checkpoints/1754224380.json +1 -0
- package/.claude/checkpoints/1754224553.json +1 -0
- package/.claude/checkpoints/1754224555.json +1 -0
- package/.claude/checkpoints/1754224563.json +1 -0
- package/.claude/checkpoints/1754224565.json +1 -0
- package/.claude/checkpoints/1754224592.json +1 -0
- package/.claude/checkpoints/1754224594.json +1 -0
- package/.claude/checkpoints/1754224730.json +1 -0
- package/.claude/checkpoints/1754224732.json +1 -0
- package/.claude/checkpoints/1754224847.json +1 -0
- package/.claude/checkpoints/1754224849.json +1 -0
- package/.claude/checkpoints/1754224865.json +1 -0
- package/.claude/checkpoints/1754224867.json +1 -0
- package/.claude/checkpoints/1754224886.json +1 -0
- package/.claude/checkpoints/1754224888.json +1 -0
- package/.claude/checkpoints/1754224937.json +1 -0
- package/.claude/checkpoints/1754224939.json +1 -0
- package/.claude/checkpoints/1754225071.json +1 -0
- package/.claude/checkpoints/1754225073.json +1 -0
- package/.claude/checkpoints/1754225092.json +1 -0
- package/.claude/checkpoints/1754225094.json +1 -0
- package/.claude/checkpoints/1754225377.json +1 -0
- package/.claude/checkpoints/1754225379.json +1 -0
- package/.claude/checkpoints/1754225471.json +1 -0
- package/.claude/checkpoints/1754225472.json +1 -0
- package/.claude/checkpoints/1754225541.json +1 -0
- package/.claude/checkpoints/1754225543.json +1 -0
- package/.claude/checkpoints/1754225568.json +1 -0
- package/.claude/checkpoints/1754225569.json +1 -0
- package/.claude/checkpoints/1754225661.json +1 -0
- package/.claude/checkpoints/1754225663.json +1 -0
- package/.claude/checkpoints/1754225759.json +1 -0
- package/.claude/checkpoints/1754225761.json +1 -0
- package/.claude/checkpoints/1754225804.json +1 -0
- package/.claude/checkpoints/1754225806.json +1 -0
- package/.claude/checkpoints/1754225812.json +1 -0
- package/.claude/checkpoints/1754225814.json +1 -0
- package/.claude/checkpoints/1754226486.json +1 -0
- package/.claude/checkpoints/1754226488.json +1 -0
- package/.claude/checkpoints/1754226547.json +1 -0
- package/.claude/checkpoints/1754226549.json +1 -0
- package/.claude/checkpoints/1754226885.json +1 -0
- package/.claude/checkpoints/1754226886.json +1 -0
- package/.claude/checkpoints/1754227128.json +1 -0
- package/.claude/checkpoints/1754227130.json +1 -0
- package/.claude/checkpoints/1754227181.json +1 -0
- package/.claude/checkpoints/1754227183.json +1 -0
- package/.claude/checkpoints/1754227202.json +1 -0
- package/.claude/checkpoints/1754227204.json +1 -0
- package/.claude/checkpoints/1754227412.json +1 -0
- package/.claude/checkpoints/1754227414.json +1 -0
- package/.claude/checkpoints/1754316298.json +1 -0
- package/.claude/checkpoints/1754317527.json +1 -0
- package/.claude/checkpoints/1754317611.json +1 -0
- package/.claude/checkpoints/1754317822.json +1 -0
- package/.claude/checkpoints/1754318017.json +1 -0
- package/.claude/checkpoints/1754318655.json +1 -0
- package/.claude/checkpoints/1754318657.json +1 -0
- package/.claude/checkpoints/1754318756.json +1 -0
- package/.claude/checkpoints/1754318758.json +1 -0
- package/.claude/checkpoints/1754318776.json +1 -0
- package/.claude/checkpoints/1754318778.json +1 -0
- package/.claude/checkpoints/1754318972.json +1 -0
- package/.claude/checkpoints/1754318974.json +1 -0
- package/.claude/checkpoints/1754318985.json +1 -0
- package/.claude/checkpoints/1754318988.json +1 -0
- package/.claude/checkpoints/1754319014.json +1 -0
- package/.claude/checkpoints/1754319017.json +1 -0
- package/.claude/checkpoints/1754319028.json +1 -0
- package/.claude/checkpoints/1754319031.json +1 -0
- package/.claude/checkpoints/1754319268.json +1 -0
- package/.claude/checkpoints/1754319272.json +1 -0
- package/.claude/checkpoints/1754319959.json +1 -0
- package/.claude/checkpoints/1754319962.json +1 -0
- package/.claude/checkpoints/1754319969.json +1 -0
- package/.claude/checkpoints/1754319970.json +1 -0
- package/.claude/checkpoints/1754319981.json +1 -0
- package/.claude/checkpoints/1754319983.json +1 -0
- package/.claude/checkpoints/1754319996.json +1 -0
- package/.claude/checkpoints/1754319998.json +1 -0
- package/.claude/checkpoints/1754320004.json +1 -0
- package/.claude/checkpoints/1754320006.json +1 -0
- package/.claude/checkpoints/1754320043.json +1 -0
- package/.claude/checkpoints/1754320045.json +1 -0
- package/.claude/checkpoints/1754320061.json +1 -0
- package/.claude/checkpoints/1754320063.json +1 -0
- package/.claude/checkpoints/1754320082.json +1 -0
- package/.claude/checkpoints/1754320084.json +1 -0
- package/.claude/checkpoints/1754320091.json +1 -0
- package/.claude/checkpoints/1754320093.json +1 -0
- package/.claude/checkpoints/1754320121.json +1 -0
- package/.claude/checkpoints/1754320123.json +1 -0
- package/.claude/checkpoints/1754320129.json +1 -0
- package/.claude/checkpoints/1754320130.json +1 -0
- package/.claude/checkpoints/1754320141.json +1 -0
- package/.claude/checkpoints/1754320142.json +1 -0
- package/.claude/checkpoints/1754320144.json +1 -0
- package/.claude/checkpoints/1754320146.json +1 -0
- package/.claude/checkpoints/1754320147.json +1 -0
- package/.claude/checkpoints/1754320149.json +1 -0
- package/.claude/checkpoints/1754320150.json +1 -0
- package/.claude/checkpoints/1754320151.json +1 -0
- package/.claude/checkpoints/1754320157.json +1 -0
- package/.claude/checkpoints/1754320158.json +1 -0
- package/.claude/checkpoints/1754320172.json +1 -0
- package/.claude/checkpoints/1754320174.json +1 -0
- package/.claude/checkpoints/1754320208.json +1 -0
- package/.claude/checkpoints/1754320210.json +1 -0
- package/.claude/checkpoints/1754320211.json +1 -0
- package/.claude/checkpoints/1754320212.json +1 -0
- package/.claude/checkpoints/1754320213.json +1 -0
- package/.claude/checkpoints/1754320214.json +1 -0
- package/.claude/checkpoints/1754320215.json +1 -0
- package/.claude/checkpoints/1754320218.json +1 -0
- package/.claude/checkpoints/1754320219.json +1 -0
- package/.claude/checkpoints/1754320220.json +1 -0
- package/.claude/checkpoints/1754320221.json +1 -0
- package/.claude/checkpoints/1754320223.json +1 -0
- package/.claude/checkpoints/1754320225.json +1 -0
- package/.claude/checkpoints/1754320226.json +1 -0
- package/.claude/checkpoints/1754320227.json +1 -0
- package/.claude/checkpoints/1754320235.json +1 -0
- package/.claude/checkpoints/1754320237.json +1 -0
- package/.claude/checkpoints/1754320256.json +1 -0
- package/.claude/checkpoints/1754320258.json +1 -0
- package/.claude/checkpoints/1754320270.json +1 -0
- package/.claude/checkpoints/1754320271.json +1 -0
- package/.claude/checkpoints/1754320275.json +1 -0
- package/.claude/checkpoints/1754320282.json +1 -0
- package/.claude/checkpoints/1754320334.json +1 -0
- package/.claude/checkpoints/1754320336.json +1 -0
- package/.claude/checkpoints/1754320508.json +1 -0
- package/.claude/checkpoints/1754320512.json +1 -0
- package/.claude/checkpoints/1754322341.json +1 -0
- package/.claude/checkpoints/1754322346.json +1 -0
- package/.claude/checkpoints/1754322516.json +1 -0
- package/.claude/checkpoints/1754322518.json +1 -0
- package/.claude/checkpoints/1754323023.json +1 -0
- package/.claude/checkpoints/1754323036.json +1 -0
- package/.claude/checkpoints/1754323081.json +1 -0
- package/.claude/checkpoints/1754323094.json +1 -0
- package/.claude/checkpoints/1754323139.json +1 -0
- package/.claude/checkpoints/1754323152.json +1 -0
- package/.claude/checkpoints/1754334379.json +1 -0
- package/.claude/checkpoints/1754334382.json +1 -0
- package/.claude/checkpoints/1754334388.json +1 -0
- package/.claude/checkpoints/1754334393.json +1 -0
- package/.claude/checkpoints/1754334558.json +1 -0
- package/.claude/checkpoints/1754334559.json +1 -0
- package/.claude/checkpoints/1754335162.json +1 -0
- package/.claude/checkpoints/1754335163.json +1 -0
- package/.claude/checkpoints/1754335177.json +1 -0
- package/.claude/checkpoints/1754335178.json +1 -0
- package/.claude/checkpoints/1754335216.json +1 -0
- package/.claude/checkpoints/1754335218.json +1 -0
- package/.claude/checkpoints/1754335264.json +1 -0
- package/.claude/checkpoints/1754335266.json +1 -0
- package/.claude/checkpoints/1754335281.json +1 -0
- package/.claude/checkpoints/1754335283.json +1 -0
- package/.claude/checkpoints/1754335295.json +1 -0
- package/.claude/checkpoints/1754335296.json +1 -0
- package/.claude/checkpoints/1754335317.json +1 -0
- package/.claude/checkpoints/1754335319.json +1 -0
- package/.claude/checkpoints/1754335481.json +1 -0
- package/.claude/checkpoints/1754335484.json +1 -0
- package/.claude/checkpoints/1754335657.json +1 -0
- package/.claude/checkpoints/1754335659.json +1 -0
- package/.claude/checkpoints/1754335686.json +1 -0
- package/.claude/checkpoints/1754335688.json +1 -0
- package/.claude/checkpoints/1754335831.json +1 -0
- package/.claude/checkpoints/1754335832.json +1 -0
- package/.claude/checkpoints/1754335878.json +1 -0
- package/.claude/checkpoints/1754335888.json +1 -0
- package/.claude/checkpoints/1754335912.json +1 -0
- package/.claude/checkpoints/1754335914.json +1 -0
- package/.claude/checkpoints/1754335965.json +1 -0
- package/.claude/checkpoints/1754335967.json +1 -0
- package/.claude/checkpoints/1754336002.json +1 -0
- package/.claude/checkpoints/1754336004.json +1 -0
- package/.claude/checkpoints/1754337527.json +1 -0
- package/.claude/checkpoints/1754337529.json +1 -0
- package/.claude/checkpoints/1754337541.json +1 -0
- package/.claude/checkpoints/1754337543.json +1 -0
- package/.claude/checkpoints/1754337560.json +1 -0
- package/.claude/checkpoints/1754337562.json +1 -0
- package/.claude/checkpoints/1754337586.json +1 -0
- package/.claude/checkpoints/1754337588.json +1 -0
- package/.claude/checkpoints/1754337642.json +1 -0
- package/.claude/checkpoints/1754337643.json +1 -0
- package/.claude/checkpoints/1754337645.json +1 -0
- package/.claude/checkpoints/1754337647.json +1 -0
- package/.claude/checkpoints/1754337725.json +1 -0
- package/.claude/checkpoints/1754337727.json +1 -0
- package/.claude/checkpoints/1754338050.json +1 -0
- package/.claude/checkpoints/1754338052.json +1 -0
- package/.claude/checkpoints/1754338130.json +1 -0
- package/.claude/checkpoints/1754338131.json +1 -0
- package/.claude/checkpoints/1754338177.json +1 -0
- package/.claude/checkpoints/1754338179.json +1 -0
- package/.claude/checkpoints/1754338189.json +1 -0
- package/.claude/checkpoints/1754338191.json +1 -0
- package/.claude/checkpoints/1754338227.json +1 -0
- package/.claude/checkpoints/1754338229.json +1 -0
- package/.claude/checkpoints/1754338237.json +1 -0
- package/.claude/checkpoints/1754338239.json +1 -0
- package/.claude/checkpoints/1754338319.json +1 -0
- package/.claude/checkpoints/1754338321.json +1 -0
- package/.claude/checkpoints/1754338337.json +1 -0
- package/.claude/checkpoints/1754338339.json +1 -0
- package/.claude/checkpoints/1754338431.json +1 -0
- package/.claude/checkpoints/1754338433.json +1 -0
- package/.claude/checkpoints/1754338444.json +1 -0
- package/.claude/checkpoints/1754338445.json +1 -0
- package/.claude/checkpoints/1754338682.json +1 -0
- package/.claude/checkpoints/1754338684.json +1 -0
- package/.claude/checkpoints/1754338746.json +1 -0
- package/.claude/checkpoints/1754338748.json +1 -0
- package/.claude/checkpoints/1754338777.json +1 -0
- package/.claude/checkpoints/1754338779.json +1 -0
- package/.claude/checkpoints/1754338796.json +1 -0
- package/.claude/checkpoints/1754338797.json +1 -0
- package/.claude/checkpoints/1754338813.json +1 -0
- package/.claude/checkpoints/1754338814.json +1 -0
- package/.claude/checkpoints/1754338960.json +1 -0
- package/.claude/checkpoints/1754338962.json +1 -0
- package/.claude/checkpoints/1754338973.json +1 -0
- package/.claude/checkpoints/1754338975.json +1 -0
- package/.claude/checkpoints/1754338997.json +1 -0
- package/.claude/checkpoints/1754338999.json +1 -0
- package/.claude/checkpoints/1754339024.json +1 -0
- package/.claude/checkpoints/1754339026.json +1 -0
- package/.claude/checkpoints/1754339317.json +1 -0
- package/.claude/checkpoints/1754339318.json +1 -0
- package/.claude/checkpoints/1754339400.json +1 -0
- package/.claude/checkpoints/1754339402.json +1 -0
- package/.claude/checkpoints/1754339417.json +1 -0
- package/.claude/checkpoints/1754339418.json +1 -0
- package/.claude/checkpoints/1754339457.json +1 -0
- package/.claude/checkpoints/1754339459.json +1 -0
- package/.claude/checkpoints/1754339480.json +1 -0
- package/.claude/checkpoints/1754339482.json +1 -0
- package/.claude/checkpoints/1754339494.json +1 -0
- package/.claude/checkpoints/1754339496.json +1 -0
- package/.claude/checkpoints/1754339507.json +1 -0
- package/.claude/checkpoints/1754339508.json +1 -0
- package/.claude/checkpoints/1754339517.json +1 -0
- package/.claude/checkpoints/1754339519.json +1 -0
- package/.claude/checkpoints/1754339528.json +1 -0
- package/.claude/checkpoints/1754339530.json +1 -0
- package/.claude/checkpoints/1754341827.json +1 -0
- package/.claude/checkpoints/1754341831.json +1 -0
- package/.claude/checkpoints/1754341840.json +1 -0
- package/.claude/checkpoints/1754341842.json +1 -0
- package/.claude/checkpoints/1754341879.json +1 -0
- package/.claude/checkpoints/1754341881.json +1 -0
- package/.claude/checkpoints/1754341901.json +1 -0
- package/.claude/checkpoints/1754341920.json +1 -0
- package/.claude/checkpoints/1754341922.json +1 -0
- package/.claude/checkpoints/1754342050.json +1 -0
- package/.claude/checkpoints/1754342051.json +1 -0
- package/.claude/checkpoints/1754342060.json +1 -0
- package/.claude/checkpoints/1754342061.json +1 -0
- package/.claude/checkpoints/1754342075.json +1 -0
- package/.claude/checkpoints/1754342077.json +1 -0
- package/.claude/checkpoints/1754342157.json +1 -0
- package/.claude/checkpoints/1754342159.json +1 -0
- package/.claude/checkpoints/1754342315.json +1 -0
- package/.claude/checkpoints/1754342317.json +1 -0
- package/.claude/checkpoints/1754342352.json +1 -0
- package/.claude/checkpoints/1754342354.json +1 -0
- package/.claude/checkpoints/1754342364.json +1 -0
- package/.claude/checkpoints/1754342365.json +1 -0
- package/.claude/checkpoints/1754342377.json +1 -0
- package/.claude/checkpoints/1754342379.json +1 -0
- package/.claude/checkpoints/1754342387.json +1 -0
- package/.claude/checkpoints/1754342389.json +1 -0
- package/.claude/checkpoints/1754342504.json +1 -0
- package/.claude/checkpoints/1754342505.json +1 -0
- package/.claude/checkpoints/1754342515.json +1 -0
- package/.claude/checkpoints/1754342517.json +1 -0
- package/.claude/checkpoints/1754342541.json +1 -0
- package/.claude/checkpoints/1754342543.json +1 -0
- package/.claude/checkpoints/1754345073.json +1 -0
- package/.claude/checkpoints/1754345075.json +1 -0
- package/.claude/checkpoints/1754345123.json +1 -0
- package/.claude/checkpoints/1754345125.json +1 -0
- package/.claude/checkpoints/1754345133.json +1 -0
- package/.claude/checkpoints/1754345135.json +1 -0
- package/.claude/checkpoints/1754345143.json +1 -0
- package/.claude/checkpoints/1754345144.json +1 -0
- package/.claude/checkpoints/1754345171.json +1 -0
- package/.claude/checkpoints/1754345172.json +1 -0
- package/.claude/checkpoints/1754345202.json +1 -0
- package/.claude/checkpoints/1754345204.json +1 -0
- package/.claude/checkpoints/1754345393.json +1 -0
- package/.claude/checkpoints/1754345395.json +1 -0
- package/.claude/checkpoints/1754345409.json +1 -0
- package/.claude/checkpoints/1754345410.json +1 -0
- package/.claude/checkpoints/1754345452.json +1 -0
- package/.claude/checkpoints/1754345510.json +1 -0
- package/.claude/checkpoints/1754345512.json +1 -0
- package/.claude/checkpoints/1754345590.json +1 -0
- package/.claude/checkpoints/1754345691.json +1 -0
- package/.claude/checkpoints/1754345693.json +1 -0
- package/.claude/checkpoints/1754356487.json +1 -0
- package/.claude/checkpoints/1754356489.json +1 -0
- package/.claude/checkpoints/1754356526.json +1 -0
- package/.claude/checkpoints/1754356527.json +1 -0
- package/.claude/checkpoints/1754356538.json +1 -0
- package/.claude/checkpoints/1754356540.json +1 -0
- package/.claude/checkpoints/1754356567.json +1 -0
- package/.claude/checkpoints/1754356569.json +1 -0
- package/.claude/checkpoints/1754356594.json +1 -0
- package/.claude/checkpoints/1754356596.json +1 -0
- package/.claude/checkpoints/1754356614.json +1 -0
- package/.claude/checkpoints/1754356616.json +1 -0
- package/.claude/checkpoints/1754356635.json +1 -0
- package/.claude/checkpoints/1754356637.json +1 -0
- package/.claude/checkpoints/1754356649.json +1 -0
- package/.claude/checkpoints/1754356651.json +1 -0
- package/.claude/checkpoints/1754356668.json +1 -0
- package/.claude/checkpoints/1754356669.json +1 -0
- package/.claude/checkpoints/1754356678.json +1 -0
- package/.claude/checkpoints/1754356680.json +1 -0
- package/.claude/checkpoints/1754356804.json +1 -0
- package/.claude/checkpoints/1754356805.json +1 -0
- package/.claude/checkpoints/1754356952.json +1 -0
- package/.claude/checkpoints/1754356955.json +1 -0
- package/.claude/checkpoints/1754356970.json +1 -0
- package/.claude/checkpoints/1754356972.json +1 -0
- package/.claude/checkpoints/1754357081.json +1 -0
- package/.claude/checkpoints/1754357083.json +1 -0
- package/.claude/checkpoints/1754357107.json +1 -0
- package/.claude/checkpoints/1754357109.json +1 -0
- package/.claude/checkpoints/1754357126.json +1 -0
- package/.claude/checkpoints/1754357128.json +1 -0
- package/.claude/checkpoints/1754357137.json +1 -0
- package/.claude/checkpoints/1754357139.json +1 -0
- package/.claude/checkpoints/1754357341.json +1 -0
- package/.claude/checkpoints/1754357343.json +1 -0
- package/.claude/checkpoints/1754357371.json +1 -0
- package/.claude/checkpoints/1754357788.json +1 -0
- package/.claude/checkpoints/1754357790.json +1 -0
- package/.claude/checkpoints/1754357917.json +1 -0
- package/.claude/checkpoints/1754357919.json +1 -0
- package/.claude/checkpoints/1754358129.json +1 -0
- package/.claude/checkpoints/1754358131.json +1 -0
- package/.claude/checkpoints/1754358642.json +1 -0
- package/.claude/checkpoints/1754358644.json +1 -0
- package/.claude/checkpoints/1754359144.json +1 -0
- package/.claude/checkpoints/1754359146.json +1 -0
- package/.claude/checkpoints/1754359155.json +1 -0
- package/.claude/checkpoints/1754359157.json +1 -0
- package/.claude/checkpoints/1754359165.json +1 -0
- package/.claude/checkpoints/1754359167.json +1 -0
- package/.claude/checkpoints/1754359190.json +1 -0
- package/.claude/checkpoints/1754359191.json +1 -0
- package/.claude/checkpoints/1754359951.json +1 -0
- package/.claude/checkpoints/1754359953.json +1 -0
- package/.claude/checkpoints/1754359963.json +1 -0
- package/.claude/checkpoints/1754359965.json +1 -0
- package/.claude/checkpoints/1754359979.json +1 -0
- package/.claude/checkpoints/1754359981.json +1 -0
- package/.claude/checkpoints/1754360016.json +1 -0
- package/.claude/checkpoints/1754360018.json +1 -0
- package/.claude/checkpoints/1754360195.json +1 -0
- package/.claude/checkpoints/1754360294.json +1 -0
- package/.claude/checkpoints/1754360296.json +1 -0
- package/.claude/checkpoints/1754360408.json +1 -0
- package/.claude/checkpoints/1754360411.json +1 -0
- package/.claude/checkpoints/1754360470.json +1 -0
- package/.claude/checkpoints/1754360472.json +1 -0
- package/.claude/checkpoints/1754360531.json +1 -0
- package/.claude/checkpoints/1754360533.json +1 -0
- package/.claude/checkpoints/1754360741.json +1 -0
- package/.claude/checkpoints/1754360743.json +1 -0
- package/.claude/checkpoints/1754361619.json +1 -0
- package/.claude/checkpoints/1754361621.json +1 -0
- package/.claude/checkpoints/1754362177.json +1 -0
- package/.claude/checkpoints/1754362179.json +1 -0
- package/.claude/checkpoints/1754362189.json +1 -0
- package/.claude/checkpoints/1754362191.json +1 -0
- package/.claude/checkpoints/1754362200.json +1 -0
- package/.claude/checkpoints/1754362202.json +1 -0
- package/.claude/checkpoints/1754362213.json +1 -0
- package/.claude/checkpoints/1754362215.json +1 -0
- package/.claude/checkpoints/1754362224.json +1 -0
- package/.claude/checkpoints/1754362226.json +1 -0
- package/.claude/checkpoints/1754362248.json +1 -0
- package/.claude/checkpoints/1754362250.json +1 -0
- package/.claude/checkpoints/1754362686.json +1 -0
- package/.claude/checkpoints/1754362687.json +1 -0
- package/.claude/checkpoints/1754362701.json +1 -0
- package/.claude/checkpoints/1754362702.json +1 -0
- package/.claude/checkpoints/1754362721.json +1 -0
- package/.claude/checkpoints/1754362723.json +1 -0
- package/.claude/checkpoints/1754362741.json +1 -0
- package/.claude/checkpoints/1754362743.json +1 -0
- package/.claude/checkpoints/1754362757.json +1 -0
- package/.claude/checkpoints/1754362759.json +1 -0
- package/.claude/checkpoints/1754362782.json +1 -0
- package/.claude/checkpoints/1754362784.json +1 -0
- package/.claude/checkpoints/1754362798.json +1 -0
- package/.claude/checkpoints/1754362799.json +1 -0
- package/.claude/checkpoints/1754362810.json +1 -0
- package/.claude/checkpoints/1754362811.json +1 -0
- package/.claude/checkpoints/1754362824.json +1 -0
- package/.claude/checkpoints/1754362825.json +1 -0
- package/.claude/checkpoints/1754362852.json +1 -0
- package/.claude/checkpoints/1754362854.json +1 -0
- package/.claude/checkpoints/1754362873.json +1 -0
- package/.claude/checkpoints/1754362875.json +1 -0
- package/.claude/checkpoints/1754362917.json +1 -0
- package/.claude/checkpoints/1754362918.json +1 -0
- package/.claude/checkpoints/1754363043.json +1 -0
- package/.claude/checkpoints/1754363064.json +1 -0
- package/.claude/checkpoints/1754363079.json +1 -0
- package/.claude/checkpoints/1754363179.json +1 -0
- package/.claude/checkpoints/1754363278.json +1 -0
- package/.claude/checkpoints/1754363418.json +1 -0
- package/.claude/checkpoints/1754363438.json +1 -0
- package/.claude/checkpoints/1754363446.json +1 -0
- package/.claude/checkpoints/1754363460.json +1 -0
- package/.claude/checkpoints/1754363485.json +1 -0
- package/.claude/checkpoints/1754363498.json +1 -0
- package/.claude/checkpoints/1754363507.json +1 -0
- package/.claude/checkpoints/1754363548.json +1 -0
- package/.claude/checkpoints/1754363722.json +1 -0
- package/.claude/checkpoints/1754364202.json +1 -0
- package/.claude/checkpoints/1754364356.json +1 -0
- package/.claude/checkpoints/1754364358.json +1 -0
- package/.claude/checkpoints/1754364365.json +1 -0
- package/.claude/checkpoints/1754364367.json +1 -0
- package/.claude/checkpoints/1754364384.json +1 -0
- package/.claude/checkpoints/1754364386.json +1 -0
- package/.claude/checkpoints/1754364395.json +1 -0
- package/.claude/checkpoints/1754364397.json +1 -0
- package/.claude/checkpoints/1754364420.json +1 -0
- package/.claude/checkpoints/1754364422.json +1 -0
- package/.claude/checkpoints/1754364433.json +1 -0
- package/.claude/checkpoints/1754364436.json +1 -0
- package/.claude/checkpoints/1754364444.json +1 -0
- package/.claude/checkpoints/1754364446.json +1 -0
- package/.claude/checkpoints/1754364549.json +1 -0
- package/.claude/checkpoints/1754364551.json +1 -0
- package/.claude/checkpoints/1754364621.json +1 -0
- package/.claude/checkpoints/1754364623.json +1 -0
- package/.claude/checkpoints/1754364634.json +1 -0
- package/.claude/checkpoints/1754364635.json +1 -0
- package/.claude/checkpoints/1754364650.json +1 -0
- package/.claude/checkpoints/1754364652.json +1 -0
- package/.claude/checkpoints/1754364683.json +1 -0
- package/.claude/checkpoints/1754364685.json +1 -0
- package/.claude/checkpoints/1754364697.json +1 -0
- package/.claude/checkpoints/1754364699.json +1 -0
- package/.claude/checkpoints/1754364755.json +1 -0
- package/.claude/checkpoints/1754364757.json +1 -0
- package/.claude/checkpoints/1754364771.json +1 -0
- package/.claude/checkpoints/1754364773.json +1 -0
- package/.claude/checkpoints/1754365118.json +1 -0
- package/.claude/checkpoints/1754365120.json +1 -0
- package/.claude/checkpoints/1754365179.json +1 -0
- package/.claude/checkpoints/1754365180.json +1 -0
- package/.claude/checkpoints/1754397029.json +1 -0
- package/.claude/checkpoints/1754397030.json +1 -0
- package/.claude/checkpoints/1754397042.json +1 -0
- package/.claude/checkpoints/1754397044.json +1 -0
- package/.claude/checkpoints/1754397397.json +1 -0
- package/.claude/checkpoints/1754397399.json +1 -0
- package/.claude/checkpoints/1754397436.json +1 -0
- package/.claude/checkpoints/1754397438.json +1 -0
- package/.claude/checkpoints/1754397455.json +1 -0
- package/.claude/checkpoints/1754397457.json +1 -0
- package/.claude/checkpoints/1754397493.json +1 -0
- package/.claude/checkpoints/1754397494.json +1 -0
- package/.claude/checkpoints/1754397608.json +1 -0
- package/.claude/checkpoints/1754397611.json +1 -0
- package/.claude/checkpoints/1754397648.json +1 -0
- package/.claude/checkpoints/1754397650.json +1 -0
- package/.claude/checkpoints/1754397699.json +1 -0
- package/.claude/checkpoints/1754397701.json +1 -0
- package/.claude/checkpoints/1754397708.json +1 -0
- package/.claude/checkpoints/1754397710.json +1 -0
- package/.claude/checkpoints/1754397717.json +1 -0
- package/.claude/checkpoints/1754397719.json +1 -0
- package/.claude/checkpoints/1754397727.json +1 -0
- package/.claude/checkpoints/1754397729.json +1 -0
- package/.claude/checkpoints/1754397916.json +1 -0
- package/.claude/checkpoints/1754397918.json +1 -0
- package/.claude/checkpoints/1754397925.json +1 -0
- package/.claude/checkpoints/1754397927.json +1 -0
- package/.claude/checkpoints/1754397935.json +1 -0
- package/.claude/checkpoints/1754397937.json +1 -0
- package/.claude/checkpoints/1754397952.json +1 -0
- package/.claude/checkpoints/1754397955.json +1 -0
- package/.claude/checkpoints/1754398186.json +1 -0
- package/.claude/checkpoints/1754398306.json +1 -0
- package/.claude/checkpoints/1754398670.json +1 -0
- package/.claude/checkpoints/1754398694.json +1 -0
- package/.claude/checkpoints/1754398740.json +1 -0
- package/.claude/checkpoints/1754398742.json +1 -0
- package/.claude/checkpoints/1754398759.json +1 -0
- package/.claude/checkpoints/1754398760.json +1 -0
- package/.claude/checkpoints/1754398794.json +1 -0
- package/.claude/checkpoints/1754398796.json +1 -0
- package/.claude/checkpoints/1754398804.json +1 -0
- package/.claude/checkpoints/1754398806.json +1 -0
- package/.claude/checkpoints/1754398843.json +1 -0
- package/.claude/checkpoints/1754398845.json +1 -0
- package/.claude/checkpoints/1754398900.json +1 -0
- package/.claude/checkpoints/1754398902.json +1 -0
- package/.claude/checkpoints/1754398904.json +1 -0
- package/.claude/checkpoints/1754398906.json +1 -0
- package/.claude/checkpoints/1754398908.json +1 -0
- package/.claude/checkpoints/1754398910.json +1 -0
- package/.claude/checkpoints/1754398912.json +1 -0
- package/.claude/checkpoints/1754398914.json +1 -0
- package/.claude/checkpoints/1754403519.json +1 -0
- package/.claude/checkpoints/1754403521.json +1 -0
- package/.claude/checkpoints/1754403535.json +1 -0
- package/.claude/checkpoints/1754403536.json +1 -0
- package/.claude/checkpoints/1754403546.json +1 -0
- package/.claude/checkpoints/1754403548.json +1 -0
- package/.claude/checkpoints/1754403559.json +1 -0
- package/.claude/checkpoints/1754403561.json +1 -0
- package/.claude/checkpoints/1754403570.json +1 -0
- package/.claude/checkpoints/1754403572.json +1 -0
- package/.claude/checkpoints/1754403590.json +1 -0
- package/.claude/checkpoints/1754403592.json +1 -0
- package/.claude/checkpoints/1754403629.json +1 -0
- package/.claude/checkpoints/1754403631.json +1 -0
- package/.claude/checkpoints/1754403662.json +1 -0
- package/.claude/checkpoints/1754403664.json +1 -0
- package/.claude/checkpoints/1754403748.json +1 -0
- package/.claude/checkpoints/1754403749.json +1 -0
- package/.claude/checkpoints/1754404006.json +1 -0
- package/.claude/checkpoints/1754404008.json +1 -0
- package/.claude/checkpoints/1754404015.json +1 -0
- package/.claude/checkpoints/1754404017.json +1 -0
- package/.claude/checkpoints/1754404029.json +1 -0
- package/.claude/checkpoints/1754404031.json +1 -0
- package/.claude/checkpoints/1754404054.json +1 -0
- package/.claude/checkpoints/1754404055.json +1 -0
- package/.claude/checkpoints/1754404074.json +1 -0
- package/.claude/checkpoints/1754404075.json +1 -0
- package/.claude/checkpoints/1754404152.json +1 -0
- package/.claude/checkpoints/1754404154.json +1 -0
- package/.claude/checkpoints/1754404164.json +1 -0
- package/.claude/checkpoints/1754404165.json +1 -0
- package/.claude/checkpoints/1754404207.json +1 -0
- package/.claude/checkpoints/1754404209.json +1 -0
- package/.claude/checkpoints/1754422767.json +1 -0
- package/.claude/checkpoints/1754422769.json +1 -0
- package/.claude/checkpoints/1754422789.json +1 -0
- package/.claude/checkpoints/1754422791.json +1 -0
- package/.claude/checkpoints/1754422833.json +1 -0
- package/.claude/checkpoints/1754422834.json +1 -0
- package/.claude/checkpoints/1754422869.json +1 -0
- package/.claude/checkpoints/1754422871.json +1 -0
- package/.claude/checkpoints/1754422990.json +1 -0
- package/.claude/checkpoints/1754422992.json +1 -0
- package/.claude/checkpoints/1754424457.json +1 -0
- package/.claude/checkpoints/1754424458.json +1 -0
- package/.claude/checkpoints/1754424471.json +1 -0
- package/.claude/checkpoints/1754424473.json +1 -0
- package/.claude/checkpoints/1754424499.json +1 -0
- package/.claude/checkpoints/1754424500.json +1 -0
- package/.claude/checkpoints/1754424506.json +1 -0
- package/.claude/checkpoints/1754424508.json +1 -0
- package/.claude/checkpoints/1754424531.json +1 -0
- package/.claude/checkpoints/1754424532.json +1 -0
- package/.claude/checkpoints/1754424547.json +1 -0
- package/.claude/checkpoints/1754424549.json +1 -0
- package/.claude/checkpoints/1754424621.json +1 -0
- package/.claude/checkpoints/1754424622.json +1 -0
- package/.claude/checkpoints/1754424634.json +1 -0
- package/.claude/checkpoints/1754424635.json +1 -0
- package/.claude/checkpoints/1754424651.json +1 -0
- package/.claude/checkpoints/1754424652.json +1 -0
- package/.claude/checkpoints/1754424659.json +1 -0
- package/.claude/checkpoints/1754424661.json +1 -0
- package/.claude/checkpoints/1754424669.json +1 -0
- package/.claude/checkpoints/1754424671.json +1 -0
- package/.claude/checkpoints/1754424678.json +1 -0
- package/.claude/checkpoints/1754424680.json +1 -0
- package/.claude/checkpoints/1754424691.json +1 -0
- package/.claude/checkpoints/1754424693.json +1 -0
- package/.claude/checkpoints/1754424705.json +1 -0
- package/.claude/checkpoints/1754424706.json +1 -0
- package/.claude/checkpoints/1754424797.json +1 -0
- package/.claude/checkpoints/1754424798.json +1 -0
- package/.claude/checkpoints/1754424810.json +1 -0
- package/.claude/checkpoints/1754424812.json +1 -0
- package/.claude/checkpoints/1754424818.json +1 -0
- package/.claude/checkpoints/1754424820.json +1 -0
- package/.claude/checkpoints/1754425153.json +1 -0
- package/.claude/checkpoints/1754425155.json +1 -0
- package/.claude/checkpoints/1754425677.json +1 -0
- package/.claude/checkpoints/1754425679.json +1 -0
- package/.claude/checkpoints/1754426724.json +1 -0
- package/.claude/checkpoints/1754426726.json +1 -0
- package/.claude/checkpoints/1754426738.json +1 -0
- package/.claude/checkpoints/1754426740.json +1 -0
- package/.claude/checkpoints/1754426873.json +1 -0
- package/.claude/checkpoints/1754442254.json +1 -0
- package/.claude/checkpoints/1754442256.json +1 -0
- package/.claude/checkpoints/1754442658.json +1 -0
- package/.claude/checkpoints/1754442660.json +1 -0
- package/.claude/checkpoints/1754442799.json +1 -0
- package/.claude/checkpoints/1754442800.json +1 -0
- package/.claude/checkpoints/1754442802.json +1 -0
- package/.claude/checkpoints/1754442804.json +1 -0
- package/.claude/checkpoints/1754442806.json +1 -0
- package/.claude/checkpoints/1754442807.json +1 -0
- package/.claude/checkpoints/1754442809.json +1 -0
- package/.claude/checkpoints/1754442811.json +1 -0
- package/.claude/checkpoints/1754442812.json +1 -0
- package/.claude/checkpoints/1754442814.json +1 -0
- package/.claude/checkpoints/1754442816.json +1 -0
- package/.claude/checkpoints/1754442817.json +1 -0
- package/.claude/checkpoints/1754442854.json +1 -0
- package/.claude/checkpoints/1754442856.json +1 -0
- package/.claude/checkpoints/1754442915.json +1 -0
- package/.claude/checkpoints/1754442917.json +1 -0
- package/.claude/checkpoints/1754442935.json +1 -0
- package/.claude/checkpoints/1754442936.json +1 -0
- package/.claude/checkpoints/1754442984.json +1 -0
- package/.claude/checkpoints/1754442986.json +1 -0
- package/.claude/checkpoints/1754443841.json +1 -0
- package/.claude/checkpoints/1754443843.json +1 -0
- package/.claude/checkpoints/1754443844.json +1 -0
- package/.claude/checkpoints/1754443846.json +1 -0
- package/.claude/checkpoints/1754479667.json +1 -0
- package/.claude/checkpoints/1754479669.json +1 -0
- package/.claude/checkpoints/1754479701.json +1 -0
- package/.claude/checkpoints/1754479703.json +1 -0
- package/.claude/checkpoints/1754479712.json +1 -0
- package/.claude/checkpoints/1754479714.json +1 -0
- package/.claude/checkpoints/1754479757.json +1 -0
- package/.claude/checkpoints/1754479759.json +1 -0
- package/.claude/checkpoints/1754479767.json +1 -0
- package/.claude/checkpoints/1754479768.json +1 -0
- package/.claude/checkpoints/1754479808.json +1 -0
- package/.claude/checkpoints/1754479811.json +1 -0
- package/.claude/checkpoints/1754479841.json +1 -0
- package/.claude/checkpoints/1754479843.json +1 -0
- package/.claude/checkpoints/1754479844.json +1 -0
- package/.claude/checkpoints/1754479846.json +1 -0
- package/.claude/checkpoints/1754480376.json +1 -0
- package/.claude/checkpoints/1754480377.json +1 -0
- package/.claude/checkpoints/1754480400.json +1 -0
- package/.claude/checkpoints/1754480402.json +1 -0
- package/.claude/checkpoints/1754480421.json +1 -0
- package/.claude/checkpoints/1754480423.json +1 -0
- package/.claude/checkpoints/1754480477.json +1 -0
- package/.claude/checkpoints/1754480479.json +1 -0
- package/.claude/checkpoints/1754480683.json +1 -0
- package/.claude/checkpoints/1754480685.json +1 -0
- package/.claude/checkpoints/1754480699.json +1 -0
- package/.claude/checkpoints/1754480701.json +1 -0
- package/.claude/checkpoints/1754480865.json +1 -0
- package/.claude/checkpoints/1754480866.json +1 -0
- package/.claude/checkpoints/1754480942.json +1 -0
- package/.claude/checkpoints/1754480943.json +1 -0
- package/.claude/checkpoints/1754480972.json +1 -0
- package/.claude/checkpoints/1754480974.json +1 -0
- package/.claude/checkpoints/1754481137.json +1 -0
- package/.claude/checkpoints/1754481139.json +1 -0
- package/.claude/checkpoints/1754481161.json +1 -0
- package/.claude/checkpoints/1754481163.json +1 -0
- package/.claude/checkpoints/1754481179.json +1 -0
- package/.claude/checkpoints/1754481180.json +1 -0
- package/.claude/checkpoints/1754481202.json +1 -0
- package/.claude/checkpoints/1754481204.json +1 -0
- package/.claude/checkpoints/1754481230.json +1 -0
- package/.claude/checkpoints/1754481232.json +1 -0
- package/.claude/checkpoints/1754481271.json +1 -0
- package/.claude/checkpoints/1754481273.json +1 -0
- package/.claude/checkpoints/1754481418.json +1 -0
- package/.claude/checkpoints/1754481420.json +1 -0
- package/.claude/checkpoints/1754481481.json +1 -0
- package/.claude/checkpoints/1754481483.json +1 -0
- package/.claude/checkpoints/1754481530.json +1 -0
- package/.claude/checkpoints/1754481532.json +1 -0
- package/.claude/checkpoints/1754481570.json +1 -0
- package/.claude/checkpoints/1754481571.json +1 -0
- package/.claude/checkpoints/1754481808.json +1 -0
- package/.claude/checkpoints/1754481810.json +1 -0
- package/.claude/checkpoints/1754481825.json +1 -0
- package/.claude/checkpoints/1754481827.json +1 -0
- package/.claude/checkpoints/1754481877.json +1 -0
- package/.claude/checkpoints/1754481880.json +1 -0
- package/.claude/checkpoints/1754481933.json +1 -0
- package/.claude/checkpoints/1754481934.json +1 -0
- package/.claude/checkpoints/1754481936.json +1 -0
- package/.claude/checkpoints/1754481938.json +1 -0
- package/.claude/checkpoints/1754481939.json +1 -0
- package/.claude/checkpoints/1754481941.json +1 -0
- package/.claude/checkpoints/1754481976.json +1 -0
- package/.claude/checkpoints/1754481977.json +1 -0
- package/.claude/checkpoints/1754482005.json +1 -0
- package/.claude/checkpoints/1754482007.json +1 -0
- package/.claude/checkpoints/1754482057.json +1 -0
- package/.claude/checkpoints/1754482059.json +1 -0
- package/.claude/checkpoints/1754482074.json +1 -0
- package/.claude/checkpoints/1754482075.json +1 -0
- package/.claude/checkpoints/1754482088.json +1 -0
- package/.claude/checkpoints/1754482089.json +1 -0
- package/.claude/checkpoints/1754482178.json +1 -0
- package/.claude/checkpoints/1754482180.json +1 -0
- package/.claude/checkpoints/1754482305.json +1 -0
- package/.claude/checkpoints/1754482306.json +1 -0
- package/.claude/checkpoints/1754482639.json +1 -0
- package/.claude/checkpoints/1754482640.json +1 -0
- package/.claude/checkpoints/1754482657.json +1 -0
- package/.claude/checkpoints/1754482659.json +1 -0
- package/.claude/checkpoints/1754482676.json +1 -0
- package/.claude/checkpoints/1754482678.json +1 -0
- package/.claude/checkpoints/1754482690.json +1 -0
- package/.claude/checkpoints/1754482703.json +1 -0
- package/.claude/checkpoints/1754482705.json +1 -0
- package/.claude/checkpoints/1754482780.json +1 -0
- package/.claude/checkpoints/1754482781.json +1 -0
- package/.claude/checkpoints/1754482826.json +1 -0
- package/.claude/checkpoints/1754482828.json +1 -0
- package/.claude/checkpoints/1754482844.json +1 -0
- package/.claude/checkpoints/1754482845.json +1 -0
- package/.claude/checkpoints/1754482911.json +1 -0
- package/.claude/checkpoints/1754482913.json +1 -0
- package/.claude/checkpoints/1754482925.json +1 -0
- package/.claude/checkpoints/1754482927.json +1 -0
- package/.claude/checkpoints/1754482960.json +1 -0
- package/.claude/checkpoints/1754482962.json +1 -0
- package/.claude/checkpoints/1754483009.json +1 -0
- package/.claude/checkpoints/1754483010.json +1 -0
- package/.claude/checkpoints/1754483101.json +1 -0
- package/.claude/checkpoints/1754483103.json +1 -0
- package/.claude/checkpoints/1754483144.json +1 -0
- package/.claude/checkpoints/1754483146.json +1 -0
- package/.claude/checkpoints/1754483372.json +1 -0
- package/.claude/checkpoints/1754483374.json +1 -0
- package/.claude/checkpoints/1754483385.json +1 -0
- package/.claude/checkpoints/1754483387.json +1 -0
- package/.claude/checkpoints/1754483395.json +1 -0
- package/.claude/checkpoints/1754483397.json +1 -0
- package/.claude/checkpoints/1754483411.json +1 -0
- package/.claude/checkpoints/1754483413.json +1 -0
- package/.claude/checkpoints/1754483425.json +1 -0
- package/.claude/checkpoints/1754483426.json +1 -0
- package/.claude/checkpoints/1754483449.json +1 -0
- package/.claude/checkpoints/1754483451.json +1 -0
- package/.claude/checkpoints/1754483602.json +1 -0
- package/.claude/checkpoints/1754483604.json +1 -0
- package/.claude/checkpoints/1754483621.json +1 -0
- package/.claude/checkpoints/1754483623.json +1 -0
- package/.claude/checkpoints/1754483635.json +1 -0
- package/.claude/checkpoints/1754483637.json +1 -0
- package/.claude/checkpoints/1754483647.json +1 -0
- package/.claude/checkpoints/1754483649.json +1 -0
- package/.claude/checkpoints/1754483663.json +1 -0
- package/.claude/checkpoints/1754483665.json +1 -0
- package/.claude/checkpoints/1754483914.json +1 -0
- package/.claude/checkpoints/1754483916.json +1 -0
- package/.claude/checkpoints/1754484589.json +1 -0
- package/.claude/checkpoints/1754484591.json +1 -0
- package/.claude/checkpoints/1754484601.json +1 -0
- package/.claude/checkpoints/1754484603.json +1 -0
- package/.claude/checkpoints/1754484620.json +1 -0
- package/.claude/checkpoints/1754484622.json +1 -0
- package/.claude/checkpoints/1754484794.json +1 -0
- package/.claude/checkpoints/1754484796.json +1 -0
- package/.claude/checkpoints/1754484833.json +1 -0
- package/.claude/checkpoints/1754484835.json +1 -0
- package/.claude/checkpoints/1754484848.json +1 -0
- package/.claude/checkpoints/1754484850.json +1 -0
- package/.claude/checkpoints/1754484861.json +1 -0
- package/.claude/checkpoints/1754484863.json +1 -0
- package/.claude/checkpoints/1754485088.json +1 -0
- package/.claude/checkpoints/1754485090.json +1 -0
- package/.claude/checkpoints/1754485101.json +1 -0
- package/.claude/checkpoints/1754485104.json +1 -0
- package/.claude/checkpoints/1754485181.json +1 -0
- package/.claude/checkpoints/1754485183.json +1 -0
- package/.claude/checkpoints/1754485250.json +1 -0
- package/.claude/checkpoints/1754485253.json +1 -0
- package/.claude/checkpoints/1754485371.json +1 -0
- package/.claude/checkpoints/1754485373.json +1 -0
- package/.claude/checkpoints/1754485390.json +1 -0
- package/.claude/checkpoints/1754485392.json +1 -0
- package/.claude/checkpoints/1754485809.json +1 -0
- package/.claude/checkpoints/1754485812.json +1 -0
- package/.claude/checkpoints/1754486060.json +1 -0
- package/.claude/checkpoints/1754486062.json +1 -0
- package/.claude/checkpoints/1754486089.json +1 -0
- package/.claude/checkpoints/1754486091.json +1 -0
- package/.claude/checkpoints/1754486356.json +1 -0
- package/.claude/checkpoints/1754486357.json +1 -0
- package/.claude/checkpoints/1754486533.json +1 -0
- package/.claude/checkpoints/1754486535.json +1 -0
- package/.claude/checkpoints/1754486546.json +1 -0
- package/.claude/checkpoints/1754486548.json +1 -0
- package/.claude/checkpoints/1754486612.json +1 -0
- package/.claude/checkpoints/1754486614.json +1 -0
- package/.claude/checkpoints/1754486626.json +1 -0
- package/.claude/checkpoints/1754486628.json +1 -0
- package/.claude/checkpoints/1754486647.json +1 -0
- package/.claude/checkpoints/1754486649.json +1 -0
- package/.claude/checkpoints/1754486661.json +1 -0
- package/.claude/checkpoints/1754486663.json +1 -0
- package/.claude/checkpoints/1754486722.json +1 -0
- package/.claude/checkpoints/1754486724.json +1 -0
- package/.claude/checkpoints/1754486740.json +1 -0
- package/.claude/checkpoints/1754486742.json +1 -0
- package/.claude/checkpoints/1754486773.json +1 -0
- package/.claude/checkpoints/1754486774.json +1 -0
- package/.claude/checkpoints/1754486953.json +1 -0
- package/.claude/checkpoints/1754486955.json +1 -0
- package/.claude/checkpoints/1754486966.json +1 -0
- package/.claude/checkpoints/1754486968.json +1 -0
- package/.claude/checkpoints/1754486978.json +1 -0
- package/.claude/checkpoints/1754486980.json +1 -0
- package/.claude/checkpoints/1754487057.json +1 -0
- package/.claude/checkpoints/1754487059.json +1 -0
- package/.claude/checkpoints/1754487069.json +1 -0
- package/.claude/checkpoints/1754487071.json +1 -0
- package/.claude/checkpoints/1754487206.json +1 -0
- package/.claude/checkpoints/1754487207.json +1 -0
- package/.claude/checkpoints/1754487236.json +1 -0
- package/.claude/checkpoints/1754487238.json +1 -0
- package/.claude/checkpoints/1754487634.json +1 -0
- package/.claude/checkpoints/1754487635.json +1 -0
- package/.claude/checkpoints/1754488689.json +1 -0
- package/.claude/checkpoints/1754488691.json +1 -0
- package/.claude/checkpoints/1754488701.json +1 -0
- package/.claude/checkpoints/1754488704.json +1 -0
- package/.claude/checkpoints/1754488713.json +1 -0
- package/.claude/checkpoints/1754488715.json +1 -0
- package/.claude/checkpoints/1754488730.json +1 -0
- package/.claude/checkpoints/1754488731.json +1 -0
- package/.claude/checkpoints/1754488749.json +1 -0
- package/.claude/checkpoints/1754488750.json +1 -0
- package/.claude/checkpoints/1754488763.json +1 -0
- package/.claude/checkpoints/1754488765.json +1 -0
- package/.claude/checkpoints/1754488798.json +1 -0
- package/.claude/checkpoints/1754488799.json +1 -0
- package/.claude/checkpoints/1754488841.json +1 -0
- package/.claude/checkpoints/1754488843.json +1 -0
- package/.claude/checkpoints/1754488853.json +1 -0
- package/.claude/checkpoints/1754488855.json +1 -0
- package/.claude/checkpoints/1754488876.json +1 -0
- package/.claude/checkpoints/1754488878.json +1 -0
- package/.claude/checkpoints/1754488893.json +1 -0
- package/.claude/checkpoints/1754488895.json +1 -0
- package/.claude/checkpoints/1754488906.json +1 -0
- package/.claude/checkpoints/1754488908.json +1 -0
- package/.claude/checkpoints/1754488941.json +1 -0
- package/.claude/checkpoints/1754488943.json +1 -0
- package/.claude/checkpoints/1754488958.json +1 -0
- package/.claude/checkpoints/1754488959.json +1 -0
- package/.claude/checkpoints/1754488983.json +1 -0
- package/.claude/checkpoints/1754488985.json +1 -0
- package/.claude/checkpoints/1754489001.json +1 -0
- package/.claude/checkpoints/1754489003.json +1 -0
- package/.claude/checkpoints/1754489018.json +1 -0
- package/.claude/checkpoints/1754489020.json +1 -0
- package/.claude/checkpoints/1754489029.json +1 -0
- package/.claude/checkpoints/1754489030.json +1 -0
- package/.claude/checkpoints/1754489037.json +1 -0
- package/.claude/checkpoints/1754489039.json +1 -0
- package/.claude/checkpoints/1754489077.json +1 -0
- package/.claude/checkpoints/1754489079.json +1 -0
- package/.claude/checkpoints/1754489125.json +1 -0
- package/.claude/checkpoints/1754489127.json +1 -0
- package/.claude/checkpoints/1754489141.json +1 -0
- package/.claude/checkpoints/1754489142.json +1 -0
- package/.claude/checkpoints/1754489161.json +1 -0
- package/.claude/checkpoints/1754489162.json +1 -0
- package/.claude/checkpoints/1754489169.json +1 -0
- package/.claude/checkpoints/1754489171.json +1 -0
- package/.claude/checkpoints/1754489210.json +1 -0
- package/.claude/checkpoints/1754489212.json +1 -0
- package/.claude/checkpoints/1754489230.json +1 -0
- package/.claude/checkpoints/1754489231.json +1 -0
- package/.claude/checkpoints/1754489233.json +1 -0
- package/.claude/checkpoints/1754489235.json +1 -0
- package/.claude/checkpoints/1754489236.json +1 -0
- package/.claude/checkpoints/1754489238.json +1 -0
- package/.claude/checkpoints/1754489239.json +1 -0
- package/.claude/checkpoints/1754489241.json +1 -0
- package/.claude/checkpoints/1754489243.json +1 -0
- package/.claude/checkpoints/1754489244.json +1 -0
- package/.claude/checkpoints/1754489246.json +1 -0
- package/.claude/checkpoints/1754489248.json +1 -0
- package/.claude/checkpoints/1754489249.json +1 -0
- package/.claude/checkpoints/1754489291.json +1 -0
- package/.claude/checkpoints/1754489293.json +1 -0
- package/.claude/checkpoints/1754570742.json +1 -0
- package/.claude/checkpoints/1754570745.json +1 -0
- package/.claude/checkpoints/1754570824.json +1 -0
- package/.claude/checkpoints/1754570826.json +1 -0
- package/.claude/checkpoints/1754570828.json +1 -0
- package/.claude/checkpoints/1754570829.json +1 -0
- package/.claude/checkpoints/1754570831.json +1 -0
- package/.claude/checkpoints/1754570833.json +1 -0
- package/.claude/checkpoints/1754570912.json +1 -0
- package/.claude/checkpoints/1754570913.json +1 -0
- package/.claude/checkpoints/1754570915.json +1 -0
- package/.claude/checkpoints/1754570917.json +1 -0
- package/.claude/checkpoints/1754570919.json +1 -0
- package/.claude/checkpoints/1754570921.json +1 -0
- package/.claude/checkpoints/1754571061.json +1 -0
- package/.claude/checkpoints/1754571063.json +1 -0
- package/.claude/checkpoints/1754571064.json +1 -0
- package/.claude/checkpoints/1754571067.json +1 -0
- package/.claude/checkpoints/1754571069.json +1 -0
- package/.claude/checkpoints/1754571071.json +1 -0
- package/.claude/checkpoints/1754571142.json +1 -0
- package/.claude/checkpoints/1754571144.json +1 -0
- package/.claude/checkpoints/1754571146.json +1 -0
- package/.claude/checkpoints/1754571148.json +1 -0
- package/.claude/checkpoints/1754571150.json +1 -0
- package/.claude/checkpoints/1754571152.json +1 -0
- package/.claude/checkpoints/1754571242.json +1 -0
- package/.claude/checkpoints/1754571244.json +1 -0
- package/.claude/checkpoints/1754571246.json +1 -0
- package/.claude/checkpoints/1754571249.json +1 -0
- package/.claude/checkpoints/1754572742.json +1 -0
- package/.claude/checkpoints/1754572744.json +1 -0
- package/.claude/checkpoints/1754573188.json +1 -0
- package/.claude/checkpoints/1754573190.json +1 -0
- package/.claude/checkpoints/1754573275.json +1 -0
- package/.claude/checkpoints/1754573277.json +1 -0
- package/.claude/checkpoints/1754573353.json +1 -0
- package/.claude/checkpoints/1754573355.json +1 -0
- package/.claude/checkpoints/1754573773.json +1 -0
- package/.claude/checkpoints/1754573774.json +1 -0
- package/.claude/checkpoints/1754573776.json +1 -0
- package/.claude/checkpoints/1754573778.json +1 -0
- package/.claude/checkpoints/1754573779.json +1 -0
- package/.claude/checkpoints/1754573781.json +1 -0
- package/.claude/checkpoints/1754573928.json +1 -0
- package/.claude/checkpoints/1754573930.json +1 -0
- package/.claude/checkpoints/1754574008.json +1 -0
- package/.claude/checkpoints/1754574010.json +1 -0
- package/.claude/checkpoints/1754574030.json +1 -0
- package/.claude/checkpoints/1754574032.json +1 -0
- package/.claude/checkpoints/1754574059.json +1 -0
- package/.claude/checkpoints/1754574061.json +1 -0
- package/.claude/checkpoints/1754574090.json +1 -0
- package/.claude/checkpoints/1754574092.json +1 -0
- package/.claude/checkpoints/1754576541.json +1 -0
- package/.claude/checkpoints/1754576543.json +1 -0
- package/.claude/checkpoints/1754576588.json +1 -0
- package/.claude/checkpoints/1754576590.json +1 -0
- package/.claude/checkpoints/1754576625.json +1 -0
- package/.claude/checkpoints/1754576628.json +1 -0
- package/.claude/checkpoints/1754576726.json +1 -0
- package/.claude/checkpoints/1754576746.json +1 -0
- package/.claude/checkpoints/1754576748.json +1 -0
- package/.claude/checkpoints/1754576837.json +1 -0
- package/.claude/checkpoints/1754576839.json +1 -0
- package/.claude/checkpoints/1754576942.json +1 -0
- package/.claude/checkpoints/1754576945.json +1 -0
- package/.claude/checkpoints/1754577031.json +1 -0
- package/.claude/checkpoints/1754577033.json +1 -0
- package/.claude/checkpoints/1754577055.json +1 -0
- package/.claude/checkpoints/1754577057.json +1 -0
- package/.claude/checkpoints/1754577071.json +1 -0
- package/.claude/checkpoints/1754577073.json +1 -0
- package/.claude/checkpoints/1754577112.json +1 -0
- package/.claude/checkpoints/1754577114.json +1 -0
- package/.claude/checkpoints/1754577150.json +1 -0
- package/.claude/checkpoints/1754577151.json +1 -0
- package/.claude/checkpoints/1754577183.json +1 -0
- package/.claude/checkpoints/1754577184.json +1 -0
- package/.claude/checkpoints/1754577189.json +1 -0
- package/.claude/checkpoints/1754577191.json +1 -0
- package/.claude/checkpoints/1754577214.json +1 -0
- package/.claude/checkpoints/1754577215.json +1 -0
- package/.claude/checkpoints/1754577222.json +1 -0
- package/.claude/checkpoints/1754577224.json +1 -0
- package/.claude/checkpoints/1754577226.json +1 -0
- package/.claude/checkpoints/1754577228.json +1 -0
- package/.claude/checkpoints/1754577270.json +1 -0
- package/.claude/checkpoints/1754577272.json +1 -0
- package/.claude/checkpoints/1754577274.json +1 -0
- package/.claude/checkpoints/1754577278.json +1 -0
- package/.claude/checkpoints/1754577279.json +1 -0
- package/.claude/checkpoints/1754577304.json +1 -0
- package/.claude/checkpoints/1754577306.json +1 -0
- package/.claude/checkpoints/1754577705.json +1 -0
- package/.claude/checkpoints/1754577707.json +1 -0
- package/.claude/checkpoints/1754583844.json +1 -0
- package/.claude/checkpoints/1754583846.json +1 -0
- package/.claude/checkpoints/1754583881.json +1 -0
- package/.claude/checkpoints/1754583884.json +1 -0
- package/.claude/checkpoints/1754583904.json +1 -0
- package/.claude/checkpoints/1754583949.json +1 -0
- package/.claude/checkpoints/1754583951.json +1 -0
- package/.claude/checkpoints/1754584049.json +1 -0
- package/.claude/checkpoints/1754584051.json +1 -0
- package/.claude/checkpoints/1754584104.json +1 -0
- package/.claude/checkpoints/1754584106.json +1 -0
- package/.claude/checkpoints/1754584156.json +1 -0
- package/.claude/checkpoints/1754584158.json +1 -0
- package/.claude/checkpoints/1754584224.json +1 -0
- package/.claude/checkpoints/1754584226.json +1 -0
- package/.claude/checkpoints/1754584373.json +1 -0
- package/.claude/checkpoints/1754584570.json +1 -0
- package/.claude/checkpoints/1754584572.json +1 -0
- package/.claude/checkpoints/1754584578.json +1 -0
- package/.claude/checkpoints/1754584580.json +1 -0
- package/.claude/checkpoints/1754922435.json +1 -0
- package/.claude/checkpoints/1754922438.json +1 -0
- package/.claude/checkpoints/1754922545.json +1 -0
- package/.claude/checkpoints/1754922547.json +1 -0
- package/.claude/checkpoints/1754922602.json +1 -0
- package/.claude/checkpoints/1754922604.json +1 -0
- package/.claude/checkpoints/1754922693.json +1 -0
- package/.claude/checkpoints/1754922695.json +1 -0
- package/.claude/checkpoints/1754938688.json +1 -0
- package/.claude/checkpoints/1754938691.json +1 -0
- package/.claude/checkpoints/1754938938.json +1 -0
- package/.claude/checkpoints/1754938940.json +1 -0
- package/.claude/checkpoints/1754939352.json +1 -0
- package/.claude/checkpoints/1754939354.json +1 -0
- package/.claude/checkpoints/1754943366.json +1 -0
- package/.claude/checkpoints/1754943367.json +1 -0
- package/.claude/checkpoints/1754944128.json +1 -0
- package/.claude/checkpoints/1754944130.json +1 -0
- package/.claude/checkpoints/1754944969.json +1 -0
- package/.claude/checkpoints/1754944970.json +1 -0
- package/.claude/checkpoints/1754945005.json +1 -0
- package/.claude/checkpoints/1754945007.json +1 -0
- package/.claude/checkpoints/1754945065.json +1 -0
- package/.claude/checkpoints/1754945067.json +1 -0
- package/.claude/checkpoints/1754945078.json +1 -0
- package/.claude/checkpoints/1754945080.json +1 -0
- package/.claude/checkpoints/1754945140.json +1 -0
- package/.claude/checkpoints/1754945142.json +1 -0
- package/.claude/checkpoints/1754945747.json +1 -0
- package/.claude/checkpoints/1754945749.json +1 -0
- package/.claude/checkpoints/1754946107.json +1 -0
- package/.claude/checkpoints/1754946453.json +1 -0
- package/.claude/checkpoints/1754946454.json +1 -0
- package/.claude/checkpoints/1754947157.json +1 -0
- package/.claude/checkpoints/1754947159.json +1 -0
- package/.claude/checkpoints/1754948127.json +1 -0
- package/.claude/checkpoints/1754948129.json +1 -0
- package/.claude/checkpoints/1754966231.json +1 -0
- package/.claude/checkpoints/1754966233.json +1 -0
- package/.claude/checkpoints/1754966298.json +1 -0
- package/.claude/checkpoints/1754966300.json +1 -0
- package/.claude/checkpoints/1754966304.json +1 -0
- package/.claude/checkpoints/1754966306.json +1 -0
- package/.claude/checkpoints/1754966323.json +1 -0
- package/.claude/checkpoints/1754966325.json +1 -0
- package/.claude/checkpoints/1754966328.json +1 -0
- package/.claude/checkpoints/1754966330.json +1 -0
- package/.claude/checkpoints/1754966365.json +1 -0
- package/.claude/checkpoints/1754966367.json +1 -0
- package/.claude/checkpoints/1754966393.json +1 -0
- package/.claude/checkpoints/1754966395.json +1 -0
- package/.claude/checkpoints/1754966396.json +1 -0
- package/.claude/checkpoints/1754966413.json +1 -0
- package/.claude/checkpoints/1754966415.json +1 -0
- package/.claude/checkpoints/1754966416.json +1 -0
- package/.claude/checkpoints/1754966418.json +1 -0
- package/.claude/checkpoints/1754966424.json +1 -0
- package/.claude/checkpoints/1754966425.json +1 -0
- package/.claude/checkpoints/1754966447.json +1 -0
- package/.claude/checkpoints/1754966449.json +1 -0
- package/.claude/checkpoints/1754966457.json +1 -0
- package/.claude/checkpoints/1754966458.json +1 -0
- package/.claude/checkpoints/1754966459.json +1 -0
- package/.claude/checkpoints/1754966461.json +1 -0
- package/.claude/checkpoints/1754966462.json +1 -0
- package/.claude/checkpoints/1754966464.json +1 -0
- package/.claude/checkpoints/1754966465.json +1 -0
- package/.claude/checkpoints/1754966466.json +1 -0
- package/.claude/checkpoints/1754966468.json +1 -0
- package/.claude/checkpoints/1754966469.json +1 -0
- package/.claude/checkpoints/1754966470.json +1 -0
- package/.claude/checkpoints/1754966471.json +1 -0
- package/.claude/checkpoints/1754966472.json +1 -0
- package/.claude/checkpoints/1754966500.json +1 -0
- package/.claude/checkpoints/1754966502.json +1 -0
- package/.claude/checkpoints/1754966509.json +1 -0
- package/.claude/checkpoints/1754966510.json +1 -0
- package/.claude/checkpoints/1754966511.json +1 -0
- package/.claude/checkpoints/1754966512.json +1 -0
- package/.claude/checkpoints/1754966513.json +1 -0
- package/.claude/checkpoints/1754966514.json +1 -0
- package/.claude/checkpoints/1754966516.json +1 -0
- package/.claude/checkpoints/1754966517.json +1 -0
- package/.claude/checkpoints/1754966533.json +1 -0
- package/.claude/checkpoints/1754966535.json +1 -0
- package/.claude/checkpoints/1754966537.json +1 -0
- package/.claude/checkpoints/1754966538.json +1 -0
- package/.claude/checkpoints/1754966540.json +1 -0
- package/.claude/checkpoints/1754966542.json +1 -0
- package/.claude/checkpoints/1754966544.json +1 -0
- package/.claude/checkpoints/1754966545.json +1 -0
- package/.claude/checkpoints/1754966560.json +1 -0
- package/.claude/checkpoints/1754966562.json +1 -0
- package/.claude/checkpoints/1754966574.json +1 -0
- package/.claude/checkpoints/1754966576.json +1 -0
- package/.claude/checkpoints/1754966578.json +1 -0
- package/.claude/checkpoints/1754966580.json +1 -0
- package/.claude/checkpoints/1754966581.json +1 -0
- package/.claude/checkpoints/1754966583.json +1 -0
- package/.claude/checkpoints/1754966584.json +1 -0
- package/.claude/checkpoints/1754966586.json +1 -0
- package/.claude/checkpoints/1754966588.json +1 -0
- package/.claude/checkpoints/1754966589.json +1 -0
- package/.claude/checkpoints/1754966591.json +1 -0
- package/.claude/checkpoints/1754966593.json +1 -0
- package/.claude/checkpoints/1754966604.json +1 -0
- package/.claude/checkpoints/1754966606.json +1 -0
- package/.claude/checkpoints/1754966614.json +1 -0
- package/.claude/checkpoints/1754966620.json +1 -0
- package/.claude/checkpoints/1754966623.json +1 -0
- package/.claude/checkpoints/1754966634.json +1 -0
- package/.claude/checkpoints/1754966636.json +1 -0
- package/.claude/checkpoints/1754966644.json +1 -0
- package/.claude/checkpoints/1754966645.json +1 -0
- package/.claude/checkpoints/1754966649.json +1 -0
- package/.claude/checkpoints/1754966655.json +1 -0
- package/.claude/checkpoints/1754966659.json +1 -0
- package/.claude/checkpoints/1754966661.json +1 -0
- package/.claude/checkpoints/1754966663.json +1 -0
- package/.claude/checkpoints/1754966666.json +1 -0
- package/.claude/checkpoints/1754966668.json +1 -0
- package/.claude/checkpoints/1754966673.json +1 -0
- package/.claude/checkpoints/1754966678.json +1 -0
- package/.claude/checkpoints/1754966680.json +1 -0
- package/.claude/checkpoints/1754966689.json +1 -0
- package/.claude/checkpoints/1754966693.json +1 -0
- package/.claude/checkpoints/1754966700.json +1 -0
- package/.claude/checkpoints/1754966704.json +1 -0
- package/.claude/checkpoints/1754966708.json +1 -0
- package/.claude/checkpoints/1754966718.json +1 -0
- package/.claude/checkpoints/1754966723.json +1 -0
- package/.claude/checkpoints/1754966728.json +1 -0
- package/.claude/checkpoints/1754966732.json +1 -0
- package/.claude/checkpoints/1754966761.json +1 -0
- package/.claude/checkpoints/1754966765.json +1 -0
- package/.claude/checkpoints/1754966770.json +1 -0
- package/.claude/checkpoints/1754966773.json +1 -0
- package/.claude/checkpoints/1754966781.json +1 -0
- package/.claude/checkpoints/1754966789.json +1 -0
- package/.claude/checkpoints/1754966799.json +1 -0
- package/.claude/checkpoints/1754966805.json +1 -0
- package/.claude/checkpoints/1754966828.json +1 -0
- package/.claude/checkpoints/1754966831.json +1 -0
- package/.claude/checkpoints/1754966877.json +1 -0
- package/.claude/checkpoints/1754966881.json +1 -0
- package/.claude/checkpoints/1754966954.json +1 -0
- package/.claude/checkpoints/1754966958.json +1 -0
- package/.claude/checkpoints/1754966967.json +1 -0
- package/.claude/checkpoints/1754966970.json +1 -0
- package/.claude/checkpoints/1754966974.json +1 -0
- package/.claude/checkpoints/1754966979.json +1 -0
- package/.claude/checkpoints/1754966981.json +1 -0
- package/.claude/checkpoints/1754966984.json +1 -0
- package/.claude/checkpoints/1754967027.json +1 -0
- package/.claude/checkpoints/1754967031.json +1 -0
- package/.claude/checkpoints/1754967035.json +1 -0
- package/.claude/checkpoints/1754967039.json +1 -0
- package/.claude/checkpoints/1755008208.json +1 -0
- package/.claude/checkpoints/1755008210.json +1 -0
- package/.claude/checkpoints/1755008364.json +1 -0
- package/.claude/checkpoints/1755008367.json +1 -0
- package/.claude/checkpoints/1755008382.json +1 -0
- package/.claude/checkpoints/1755008384.json +1 -0
- package/.claude/checkpoints/1755008392.json +1 -0
- package/.claude/checkpoints/1755008394.json +1 -0
- package/.claude/checkpoints/1755008405.json +1 -0
- package/.claude/checkpoints/1755008406.json +1 -0
- package/.claude/checkpoints/1755008723.json +1 -0
- package/.claude/checkpoints/1755008796.json +1 -0
- package/.claude/checkpoints/1755008819.json +1 -0
- package/.claude/checkpoints/1755008840.json +1 -0
- package/.claude/checkpoints/1755008856.json +1 -0
- package/.claude/checkpoints/1755008931.json +1 -0
- package/.claude/checkpoints/1755008933.json +1 -0
- package/.claude/checkpoints/1755008971.json +1 -0
- package/.claude/checkpoints/1755008973.json +1 -0
- package/.claude/checkpoints/1755009483.json +1 -0
- package/.claude/checkpoints/1755009485.json +1 -0
- package/.claude/checkpoints/1755009575.json +1 -0
- package/.claude/checkpoints/1755009576.json +1 -0
- package/.claude/checkpoints/1755009587.json +1 -0
- package/.claude/checkpoints/1755009589.json +1 -0
- package/.claude/checkpoints/1755009611.json +1 -0
- package/.claude/checkpoints/1755009613.json +1 -0
- package/.claude/checkpoints/1755009652.json +1 -0
- package/.claude/checkpoints/1755009653.json +1 -0
- package/.claude/checkpoints/1755009662.json +1 -0
- package/.claude/checkpoints/1755009664.json +1 -0
- package/.claude/checkpoints/1755009673.json +1 -0
- package/.claude/checkpoints/1755009675.json +1 -0
- package/.claude/checkpoints/1755009689.json +1 -0
- package/.claude/checkpoints/1755009691.json +1 -0
- package/.claude/checkpoints/1755009705.json +1 -0
- package/.claude/checkpoints/1755009706.json +1 -0
- package/.claude/checkpoints/1755009717.json +1 -0
- package/.claude/checkpoints/1755009719.json +1 -0
- package/.claude/checkpoints/1755009777.json +1 -0
- package/.claude/checkpoints/1755009779.json +1 -0
- package/.claude/checkpoints/1755010192.json +1 -0
- package/.claude/checkpoints/1755010227.json +1 -0
- package/.claude/checkpoints/1755010245.json +1 -0
- package/.claude/checkpoints/1755010254.json +1 -0
- package/.claude/checkpoints/1755010355.json +1 -0
- package/.claude/checkpoints/1755010425.json +1 -0
- package/.claude/checkpoints/1755010448.json +1 -0
- package/.claude/checkpoints/1755010809.json +1 -0
- package/.claude/checkpoints/1755010811.json +1 -0
- package/.claude/checkpoints/1755010995.json +1 -0
- package/.claude/checkpoints/1755010997.json +1 -0
- package/.claude/checkpoints/1755011011.json +1 -0
- package/.claude/checkpoints/1755011012.json +1 -0
- package/.claude/checkpoints/1755011438.json +1 -0
- package/.claude/checkpoints/1755011439.json +1 -0
- package/.claude/checkpoints/1755011457.json +1 -0
- package/.claude/checkpoints/1755011458.json +1 -0
- package/.claude/checkpoints/1755011472.json +1 -0
- package/.claude/checkpoints/1755011473.json +1 -0
- package/.claude/checkpoints/1755011510.json +1 -0
- package/.claude/checkpoints/1755011512.json +1 -0
- package/.claude/checkpoints/1755011529.json +1 -0
- package/.claude/checkpoints/1755011530.json +1 -0
- package/.claude/checkpoints/1755012655.json +1 -0
- package/.claude/checkpoints/1755012657.json +1 -0
- package/.claude/checkpoints/1755012781.json +1 -0
- package/.claude/checkpoints/1755012783.json +1 -0
- package/.claude/checkpoints/1755012824.json +1 -0
- package/.claude/checkpoints/1755012826.json +1 -0
- package/.claude/checkpoints/1755012882.json +1 -0
- package/.claude/checkpoints/1755012884.json +1 -0
- package/.claude/checkpoints/1755012892.json +1 -0
- package/.claude/checkpoints/1755012894.json +1 -0
- package/.claude/checkpoints/1755012901.json +1 -0
- package/.claude/checkpoints/1755012903.json +1 -0
- package/.claude/checkpoints/1755012941.json +1 -0
- package/.claude/checkpoints/1755012943.json +1 -0
- package/.claude/checkpoints/1755012994.json +1 -0
- package/.claude/checkpoints/1755012996.json +1 -0
- package/.claude/checkpoints/1755013112.json +1 -0
- package/.claude/checkpoints/1755013114.json +1 -0
- package/.claude/checkpoints/1755013187.json +1 -0
- package/.claude/checkpoints/1755013188.json +1 -0
- package/.claude/checkpoints/1755013201.json +1 -0
- package/.claude/checkpoints/1755013203.json +1 -0
- package/.claude/checkpoints/1755013298.json +1 -0
- package/.claude/checkpoints/1755013300.json +1 -0
- package/.claude/checkpoints/1755013402.json +1 -0
- package/.claude/checkpoints/1755013404.json +1 -0
- package/.claude/checkpoints/1755013559.json +1 -0
- package/.claude/checkpoints/1755013561.json +1 -0
- package/.claude/checkpoints/1755013568.json +1 -0
- package/.claude/checkpoints/1755013570.json +1 -0
- package/.claude/checkpoints/1755013808.json +1 -0
- package/.claude/checkpoints/1755013810.json +1 -0
- package/.claude/checkpoints/1755013894.json +1 -0
- package/.claude/checkpoints/1755013896.json +1 -0
- package/.claude/checkpoints/1755013931.json +1 -0
- package/.claude/checkpoints/1755013932.json +1 -0
- package/.claude/checkpoints/1755014194.json +1 -0
- package/.claude/checkpoints/1755014195.json +1 -0
- package/.claude/checkpoints/1755014215.json +1 -0
- package/.claude/checkpoints/1755014217.json +1 -0
- package/.claude/checkpoints/1755014288.json +1 -0
- package/.claude/checkpoints/1755014290.json +1 -0
- package/.claude/checkpoints/1755014507.json +1 -0
- package/.claude/checkpoints/1755014588.json +1 -0
- package/.claude/checkpoints/1755014631.json +1 -0
- package/.claude/checkpoints/1755014660.json +1 -0
- package/.claude/checkpoints/1755016785.json +1 -0
- package/.claude/checkpoints/1755016787.json +1 -0
- package/.claude/checkpoints/1755016850.json +1 -0
- package/.claude/checkpoints/1755016852.json +1 -0
- package/.claude/checkpoints/1755017040.json +1 -0
- package/.claude/checkpoints/1755017042.json +1 -0
- package/.claude/checkpoints/1755017123.json +1 -0
- package/.claude/checkpoints/1755017146.json +1 -0
- package/.claude/checkpoints/1755017185.json +1 -0
- package/.claude/checkpoints/1755017208.json +1 -0
- package/.claude/checkpoints/1755017225.json +1 -0
- package/.claude/checkpoints/1755017451.json +1 -0
- package/.claude/checkpoints/1755017453.json +1 -0
- package/.claude/checkpoints/1755017564.json +1 -0
- package/.claude/checkpoints/1755017566.json +1 -0
- package/.claude/checkpoints/1755017649.json +1 -0
- package/.claude/checkpoints/1755017650.json +1 -0
- package/.claude/checkpoints/1755017673.json +1 -0
- package/.claude/checkpoints/1755017674.json +1 -0
- package/.claude/checkpoints/1755017942.json +1 -0
- package/.claude/checkpoints/1755017943.json +1 -0
- package/.claude/checkpoints/1755017978.json +1 -0
- package/.claude/checkpoints/1755017979.json +1 -0
- package/.claude/checkpoints/1755017988.json +1 -0
- package/.claude/checkpoints/1755017990.json +1 -0
- package/.claude/checkpoints/1755017998.json +1 -0
- package/.claude/checkpoints/1755017999.json +1 -0
- package/.claude/checkpoints/1755018011.json +1 -0
- package/.claude/checkpoints/1755018013.json +1 -0
- package/.claude/checkpoints/1755018023.json +1 -0
- package/.claude/checkpoints/1755018025.json +1 -0
- package/.claude/checkpoints/1755018033.json +1 -0
- package/.claude/checkpoints/1755018035.json +1 -0
- package/.claude/checkpoints/1755018043.json +1 -0
- package/.claude/checkpoints/1755018045.json +1 -0
- package/.claude/checkpoints/1755018053.json +1 -0
- package/.claude/checkpoints/1755018055.json +1 -0
- package/.claude/checkpoints/1755018064.json +1 -0
- package/.claude/checkpoints/1755018065.json +1 -0
- package/.claude/checkpoints/1755018073.json +1 -0
- package/.claude/checkpoints/1755018075.json +1 -0
- package/.claude/checkpoints/1755018083.json +1 -0
- package/.claude/checkpoints/1755018085.json +1 -0
- package/.claude/checkpoints/1755018092.json +1 -0
- package/.claude/checkpoints/1755018094.json +1 -0
- package/.claude/checkpoints/1755018105.json +1 -0
- package/.claude/checkpoints/1755018106.json +1 -0
- package/.claude/checkpoints/1755018118.json +1 -0
- package/.claude/checkpoints/1755018120.json +1 -0
- package/.claude/checkpoints/1755018128.json +1 -0
- package/.claude/checkpoints/1755018130.json +1 -0
- package/.claude/checkpoints/1755018137.json +1 -0
- package/.claude/checkpoints/1755018139.json +1 -0
- package/.claude/checkpoints/1755018148.json +1 -0
- package/.claude/checkpoints/1755018150.json +1 -0
- package/.claude/checkpoints/1755018157.json +1 -0
- package/.claude/checkpoints/1755018159.json +1 -0
- package/.claude/checkpoints/1755018166.json +1 -0
- package/.claude/checkpoints/1755018168.json +1 -0
- package/.claude/checkpoints/1755018177.json +1 -0
- package/.claude/checkpoints/1755018178.json +1 -0
- package/.claude/checkpoints/1755018186.json +1 -0
- package/.claude/checkpoints/1755018188.json +1 -0
- package/.claude/checkpoints/1755018198.json +1 -0
- package/.claude/checkpoints/1755018200.json +1 -0
- package/.claude/checkpoints/1755018207.json +1 -0
- package/.claude/checkpoints/1755018209.json +1 -0
- package/.claude/checkpoints/1755018217.json +1 -0
- package/.claude/checkpoints/1755018218.json +1 -0
- package/.claude/checkpoints/1755018230.json +1 -0
- package/.claude/checkpoints/1755018232.json +1 -0
- package/.claude/checkpoints/1755018323.json +1 -0
- package/.claude/checkpoints/1755018325.json +1 -0
- package/.claude/checkpoints/1755019354.json +1 -0
- package/.claude/checkpoints/1755019356.json +1 -0
- package/.claude/checkpoints/1755019471.json +1 -0
- package/.claude/checkpoints/1755019472.json +1 -0
- package/.claude/checkpoints/1755019512.json +1 -0
- package/.claude/checkpoints/1755019514.json +1 -0
- package/.claude/checkpoints/1755019853.json +1 -0
- package/.claude/checkpoints/1755019854.json +1 -0
- package/.claude/checkpoints/1755019928.json +1 -0
- package/.claude/checkpoints/1755019930.json +1 -0
- package/.claude/checkpoints/1755020218.json +1 -0
- package/.claude/checkpoints/1755020220.json +1 -0
- package/.claude/checkpoints/1755020245.json +1 -0
- package/.claude/checkpoints/1755020247.json +1 -0
- package/.claude/checkpoints/1755021412.json +1 -0
- package/.claude/checkpoints/1755021414.json +1 -0
- package/.claude/checkpoints/1755021578.json +1 -0
- package/.claude/checkpoints/1755021803.json +1 -0
- package/.claude/checkpoints/1755021805.json +1 -0
- package/.claude/checkpoints/1755022444.json +1 -0
- package/.claude/checkpoints/1755022446.json +1 -0
- package/.claude/checkpoints/1755022457.json +1 -0
- package/.claude/checkpoints/1755022458.json +1 -0
- package/.claude/checkpoints/1755022478.json +1 -0
- package/.claude/checkpoints/1755022479.json +1 -0
- package/.claude/checkpoints/1755022494.json +1 -0
- package/.claude/checkpoints/1755022496.json +1 -0
- package/.claude/checkpoints/1755022609.json +1 -0
- package/.claude/checkpoints/1755022611.json +1 -0
- package/.claude/checkpoints/1755022624.json +1 -0
- package/.claude/checkpoints/1755022626.json +1 -0
- package/.claude/checkpoints/1755022672.json +1 -0
- package/.claude/checkpoints/1755022674.json +1 -0
- package/.claude/checkpoints/1755022815.json +1 -0
- package/.claude/checkpoints/1755022817.json +1 -0
- package/.claude/checkpoints/1755023010.json +1 -0
- package/.claude/checkpoints/1755023012.json +1 -0
- package/.claude/checkpoints/1755023049.json +1 -0
- package/.claude/checkpoints/1755023051.json +1 -0
- package/.claude/checkpoints/1755023322.json +1 -0
- package/.claude/checkpoints/1755023323.json +1 -0
- package/.claude/checkpoints/1755023377.json +1 -0
- package/.claude/checkpoints/1755023379.json +1 -0
- package/.claude/checkpoints/1755023392.json +1 -0
- package/.claude/checkpoints/1755023394.json +1 -0
- package/.claude/checkpoints/1755023408.json +1 -0
- package/.claude/checkpoints/1755023410.json +1 -0
- package/.claude/checkpoints/1755023445.json +1 -0
- package/.claude/checkpoints/1755023447.json +1 -0
- package/.claude/checkpoints/1755023471.json +1 -0
- package/.claude/checkpoints/1755023472.json +1 -0
- package/.claude/checkpoints/1755023481.json +1 -0
- package/.claude/checkpoints/1755023482.json +1 -0
- package/.claude/checkpoints/1755023491.json +1 -0
- package/.claude/checkpoints/1755023493.json +1 -0
- package/.claude/checkpoints/1755023516.json +1 -0
- package/.claude/checkpoints/1755023518.json +1 -0
- package/.claude/checkpoints/1755023526.json +1 -0
- package/.claude/checkpoints/1755023528.json +1 -0
- package/.claude/checkpoints/1755023540.json +1 -0
- package/.claude/checkpoints/1755023542.json +1 -0
- package/.claude/checkpoints/1755023586.json +1 -0
- package/.claude/checkpoints/1755023588.json +1 -0
- package/.claude/checkpoints/1755023595.json +1 -0
- package/.claude/checkpoints/1755023597.json +1 -0
- package/.claude/checkpoints/1755023619.json +1 -0
- package/.claude/checkpoints/1755023620.json +1 -0
- package/.claude/checkpoints/1755023631.json +1 -0
- package/.claude/checkpoints/1755023632.json +1 -0
- package/.claude/checkpoints/1755023643.json +1 -0
- package/.claude/checkpoints/1755023645.json +1 -0
- package/.claude/checkpoints/1755023674.json +1 -0
- package/.claude/checkpoints/1755023676.json +1 -0
- package/.claude/checkpoints/1755023683.json +1 -0
- package/.claude/checkpoints/1755023685.json +1 -0
- package/.claude/checkpoints/1755023693.json +1 -0
- package/.claude/checkpoints/1755023694.json +1 -0
- package/.claude/checkpoints/1755023719.json +1 -0
- package/.claude/checkpoints/1755023721.json +1 -0
- package/.claude/checkpoints/1755023727.json +1 -0
- package/.claude/checkpoints/1755023729.json +1 -0
- package/.claude/checkpoints/1755023744.json +1 -0
- package/.claude/checkpoints/1755023746.json +1 -0
- package/.claude/checkpoints/1755023767.json +1 -0
- package/.claude/checkpoints/1755023769.json +1 -0
- package/.claude/checkpoints/1755023893.json +1 -0
- package/.claude/checkpoints/1755023895.json +1 -0
- package/.claude/checkpoints/1755023906.json +1 -0
- package/.claude/checkpoints/1755023908.json +1 -0
- package/.claude/checkpoints/1755023917.json +1 -0
- package/.claude/checkpoints/1755023919.json +1 -0
- package/.claude/checkpoints/1755024002.json +1 -0
- package/.claude/checkpoints/1755024003.json +1 -0
- package/.claude/checkpoints/1755024070.json +1 -0
- package/.claude/checkpoints/1755024072.json +1 -0
- package/.claude/checkpoints/1755024079.json +1 -0
- package/.claude/checkpoints/1755024081.json +1 -0
- package/.claude/checkpoints/1755024237.json +1 -0
- package/.claude/checkpoints/1755024239.json +1 -0
- package/.claude/checkpoints/1755024349.json +1 -0
- package/.claude/checkpoints/1755024351.json +1 -0
- package/.claude/checkpoints/1755024418.json +1 -0
- package/.claude/checkpoints/1755024419.json +1 -0
- package/.claude/checkpoints/1755024432.json +1 -0
- package/.claude/checkpoints/1755024434.json +1 -0
- package/.claude/checkpoints/1755024546.json +1 -0
- package/.claude/checkpoints/1755024548.json +1 -0
- package/.claude/checkpoints/1755024563.json +1 -0
- package/.claude/checkpoints/1755024565.json +1 -0
- package/.claude/checkpoints/1755024638.json +1 -0
- package/.claude/checkpoints/1755024640.json +1 -0
- package/.claude/checkpoints/1755024713.json +1 -0
- package/.claude/checkpoints/1755024715.json +1 -0
- package/.claude/checkpoints/1755024883.json +1 -0
- package/.claude/checkpoints/1755024885.json +1 -0
- package/.claude/checkpoints/1755024894.json +1 -0
- package/.claude/checkpoints/1755024896.json +1 -0
- package/.claude/checkpoints/1755024905.json +1 -0
- package/.claude/checkpoints/1755024907.json +1 -0
- package/.claude/checkpoints/1755025147.json +1 -0
- package/.claude/checkpoints/1755025186.json +1 -0
- package/.claude/checkpoints/1755025188.json +1 -0
- package/.claude/checkpoints/1755025222.json +1 -0
- package/.claude/checkpoints/1755025224.json +1 -0
- package/.claude/checkpoints/1755025261.json +1 -0
- package/.claude/checkpoints/1755025263.json +1 -0
- package/.claude/checkpoints/1755025277.json +1 -0
- package/.claude/checkpoints/1755025279.json +1 -0
- package/.claude/checkpoints/1755025285.json +1 -0
- package/.claude/checkpoints/1755025287.json +1 -0
- package/.claude/checkpoints/1755025328.json +1 -0
- package/.claude/checkpoints/1755025330.json +1 -0
- package/.claude/checkpoints/1755025483.json +1 -0
- package/.claude/checkpoints/1755025485.json +1 -0
- package/.claude/checkpoints/1755025517.json +1 -0
- package/.claude/checkpoints/1755025534.json +1 -0
- package/.claude/checkpoints/1755025542.json +1 -0
- package/.claude/checkpoints/1755025552.json +1 -0
- package/.claude/checkpoints/1755025554.json +1 -0
- package/.claude/checkpoints/1755025598.json +1 -0
- package/.claude/checkpoints/1755025600.json +1 -0
- package/.claude/checkpoints/1755025625.json +1 -0
- package/.claude/checkpoints/1755025656.json +1 -0
- package/.claude/checkpoints/1755025693.json +1 -0
- package/.claude/checkpoints/1755025720.json +1 -0
- package/.claude/checkpoints/1755025736.json +1 -0
- package/.claude/checkpoints/1755025810.json +1 -0
- package/.claude/checkpoints/1755025815.json +1 -0
- package/.claude/checkpoints/1755025929.json +1 -0
- package/.claude/checkpoints/1755025976.json +1 -0
- package/.claude/checkpoints/1755025978.json +1 -0
- package/.claude/checkpoints/1755026000.json +1 -0
- package/.claude/checkpoints/1755026002.json +1 -0
- package/.claude/checkpoints/1755026016.json +1 -0
- package/.claude/checkpoints/1755026018.json +1 -0
- package/.claude/checkpoints/1755026056.json +1 -0
- package/.claude/checkpoints/1755026191.json +1 -0
- package/.claude/checkpoints/1755026218.json +1 -0
- package/.claude/checkpoints/1755026219.json +1 -0
- package/.claude/checkpoints/1755026317.json +1 -0
- package/.claude/checkpoints/1755026319.json +1 -0
- package/.claude/checkpoints/1755026398.json +1 -0
- package/.claude/checkpoints/1755026404.json +1 -0
- package/.claude/checkpoints/1755026729.json +1 -0
- package/.claude/checkpoints/1755026731.json +1 -0
- package/.claude/checkpoints/1755026744.json +1 -0
- package/.claude/checkpoints/1755026746.json +1 -0
- package/.claude/checkpoints/1755026766.json +1 -0
- package/.claude/checkpoints/1755026768.json +1 -0
- package/.claude/checkpoints/1755026989.json +1 -0
- package/.claude/checkpoints/1755026991.json +1 -0
- package/.claude/checkpoints/1755027076.json +1 -0
- package/.claude/checkpoints/1755027078.json +1 -0
- package/.claude/checkpoints/1755027088.json +1 -0
- package/.claude/checkpoints/1755027090.json +1 -0
- package/.claude/checkpoints/1755027251.json +1 -0
- package/.claude/checkpoints/1755027252.json +1 -0
- package/.claude/checkpoints/1755027264.json +1 -0
- package/.claude/checkpoints/1755027266.json +1 -0
- package/.claude/checkpoints/1755027274.json +1 -0
- package/.claude/checkpoints/1755027276.json +1 -0
- package/.claude/checkpoints/1755027289.json +1 -0
- package/.claude/checkpoints/1755027291.json +1 -0
- package/.claude/checkpoints/1755027468.json +1 -0
- package/.claude/checkpoints/1755027470.json +1 -0
- package/.claude/checkpoints/1755027489.json +1 -0
- package/.claude/checkpoints/1755027491.json +1 -0
- package/.claude/checkpoints/1755027511.json +1 -0
- package/.claude/checkpoints/1755027513.json +1 -0
- package/.claude/checkpoints/1755027726.json +1 -0
- package/.claude/checkpoints/1755027728.json +1 -0
- package/.claude/checkpoints/1755027741.json +1 -0
- package/.claude/checkpoints/1755027743.json +1 -0
- package/.claude/checkpoints/1755027774.json +1 -0
- package/.claude/checkpoints/1755027776.json +1 -0
- package/.claude/checkpoints/1755027820.json +1 -0
- package/.claude/checkpoints/1755027822.json +1 -0
- package/.claude/checkpoints/1755027874.json +1 -0
- package/.claude/checkpoints/1755027876.json +1 -0
- package/.claude/checkpoints/1755027894.json +1 -0
- package/.claude/checkpoints/1755027896.json +1 -0
- package/.claude/checkpoints/1755027917.json +1 -0
- package/.claude/checkpoints/1755027919.json +1 -0
- package/.claude/checkpoints/1755027969.json +1 -0
- package/.claude/checkpoints/1755027972.json +1 -0
- package/.claude/checkpoints/1755028187.json +1 -0
- package/.claude/checkpoints/1755028189.json +1 -0
- package/.claude/checkpoints/1755028246.json +1 -0
- package/.claude/checkpoints/1755028247.json +1 -0
- package/.claude/checkpoints/1755028317.json +1 -0
- package/.claude/checkpoints/1755028319.json +1 -0
- package/.claude/checkpoints/1755028421.json +1 -0
- package/.claude/checkpoints/1755028422.json +1 -0
- package/.claude/checkpoints/1755028513.json +1 -0
- package/.claude/checkpoints/1755028514.json +1 -0
- package/.claude/checkpoints/1755028580.json +1 -0
- package/.claude/checkpoints/1755028582.json +1 -0
- package/.claude/checkpoints/1755028636.json +1 -0
- package/.claude/checkpoints/1755028638.json +1 -0
- package/.claude/checkpoints/1755028652.json +1 -0
- package/.claude/checkpoints/1755028653.json +1 -0
- package/.claude/checkpoints/1755028670.json +1 -0
- package/.claude/checkpoints/1755028672.json +1 -0
- package/.claude/checkpoints/1755028692.json +1 -0
- package/.claude/checkpoints/1755028694.json +1 -0
- package/.claude/checkpoints/1755036212.json +1 -0
- package/.claude/checkpoints/1755036215.json +1 -0
- package/.claude/checkpoints/1755036250.json +1 -0
- package/.claude/checkpoints/1755036252.json +1 -0
- package/.claude/checkpoints/1755036713.json +1 -0
- package/.claude/checkpoints/1755036715.json +1 -0
- package/.claude/checkpoints/1755036930.json +1 -0
- package/.claude/checkpoints/1755036932.json +1 -0
- package/.claude/checkpoints/1755036949.json +1 -0
- package/.claude/checkpoints/1755036950.json +1 -0
- package/.claude/checkpoints/1755036977.json +1 -0
- package/.claude/checkpoints/1755036978.json +1 -0
- package/.claude/checkpoints/1755036990.json +1 -0
- package/.claude/checkpoints/1755036991.json +1 -0
- package/.claude/checkpoints/1755037019.json +1 -0
- package/.claude/checkpoints/1755037021.json +1 -0
- package/.claude/checkpoints/1755038007.json +1 -0
- package/.claude/checkpoints/1755038009.json +1 -0
- package/.claude/checkpoints/1755038084.json +1 -0
- package/.claude/checkpoints/1755038086.json +1 -0
- package/.claude/checkpoints/1755095620.json +1 -0
- package/.claude/checkpoints/1755095643.json +1 -0
- package/.claude/checkpoints/1755095678.json +1 -0
- package/.claude/checkpoints/1755095705.json +1 -0
- package/.claude/checkpoints/1755095729.json +1 -0
- package/.claude/checkpoints/1755095751.json +1 -0
- package/.claude/checkpoints/1755096435.json +1 -0
- package/.claude/checkpoints/1755096438.json +1 -0
- package/.claude/checkpoints/1755096744.json +1 -0
- package/.claude/checkpoints/1755096746.json +1 -0
- package/.claude/checkpoints/1755097287.json +1 -0
- package/.claude/checkpoints/1755097289.json +1 -0
- package/.claude/checkpoints/1755097472.json +1 -0
- package/.claude/checkpoints/1755097474.json +1 -0
- package/.claude/checkpoints/1755097499.json +1 -0
- package/.claude/checkpoints/1755097501.json +1 -0
- package/.claude/checkpoints/1755097776.json +1 -0
- package/.claude/checkpoints/1755097778.json +1 -0
- package/.claude/checkpoints/1755097825.json +1 -0
- package/.claude/checkpoints/1755097827.json +1 -0
- package/.claude/checkpoints/1755097859.json +1 -0
- package/.claude/checkpoints/1755097861.json +1 -0
- package/.claude/checkpoints/1755097887.json +1 -0
- package/.claude/checkpoints/1755097888.json +1 -0
- package/.claude/checkpoints/1755108433.json +1 -0
- package/.claude/checkpoints/1755108435.json +1 -0
- package/.claude/checkpoints/1755108448.json +1 -0
- package/.claude/checkpoints/1755108450.json +1 -0
- package/.claude/checkpoints/1755109151.json +1 -0
- package/.claude/checkpoints/1755109458.json +1 -0
- package/.claude/checkpoints/1755109751.json +1 -0
- package/.claude/checkpoints/1755109916.json +1 -0
- package/.claude/checkpoints/1755110038.json +1 -0
- package/.claude/checkpoints/1755110108.json +1 -0
- package/.claude/checkpoints/1755110378.json +1 -0
- package/.claude/checkpoints/1755110379.json +1 -0
- package/.claude/checkpoints/1755110885.json +1 -0
- package/.claude/checkpoints/1755110891.json +1 -0
- package/.claude/checkpoints/1755110917.json +1 -0
- package/.claude/checkpoints/1755110923.json +1 -0
- package/.claude/checkpoints/1755110932.json +1 -0
- package/.claude/checkpoints/1755110938.json +1 -0
- package/.claude/checkpoints/1755111009.json +1 -0
- package/.claude/checkpoints/1755111010.json +1 -0
- package/.claude/checkpoints/1755111011.json +1 -0
- package/.claude/checkpoints/1755111015.json +1 -0
- package/.claude/checkpoints/1755111016.json +1 -0
- package/.claude/checkpoints/1755111017.json +1 -0
- package/.claude/checkpoints/1755111032.json +1 -0
- package/.claude/checkpoints/1755111080.json +1 -0
- package/.claude/checkpoints/1755111085.json +1 -0
- package/.claude/checkpoints/1755111097.json +1 -0
- package/.claude/checkpoints/1755111099.json +1 -0
- package/.claude/checkpoints/1755111102.json +1 -0
- package/.claude/checkpoints/1755111104.json +1 -0
- package/.claude/checkpoints/1755111122.json +1 -0
- package/.claude/checkpoints/1755111138.json +1 -0
- package/.claude/checkpoints/1755111143.json +1 -0
- package/.claude/checkpoints/1755111155.json +1 -0
- package/.claude/checkpoints/1755111161.json +1 -0
- package/.claude/checkpoints/1755111170.json +1 -0
- package/.claude/checkpoints/1755111175.json +1 -0
- package/.claude/checkpoints/1755111178.json +1 -0
- package/.claude/checkpoints/1755111196.json +1 -0
- package/.claude/checkpoints/1755111200.json +1 -0
- package/.claude/checkpoints/1755111201.json +1 -0
- package/.claude/checkpoints/1755111206.json +1 -0
- package/.claude/checkpoints/1755111258.json +1 -0
- package/.claude/checkpoints/1755111264.json +1 -0
- package/.claude/checkpoints/1755111311.json +1 -0
- package/.claude/checkpoints/1755111316.json +1 -0
- package/.claude/checkpoints/1755111327.json +1 -0
- package/.claude/checkpoints/1755111333.json +1 -0
- package/.claude/checkpoints/1755111349.json +1 -0
- package/.claude/checkpoints/1755111355.json +1 -0
- package/.claude/checkpoints/1755111372.json +1 -0
- package/.claude/checkpoints/1755111378.json +1 -0
- package/.claude/checkpoints/1755111473.json +1 -0
- package/.claude/checkpoints/1755111479.json +1 -0
- package/.claude/checkpoints/1755111522.json +1 -0
- package/.claude/checkpoints/1755111528.json +1 -0
- package/.claude/checkpoints/1755115724.json +1 -0
- package/.claude/checkpoints/1755115726.json +1 -0
- package/.claude/checkpoints/1755115737.json +1 -0
- package/.claude/checkpoints/1755115739.json +1 -0
- package/.claude/checkpoints/1755115870.json +1 -0
- package/.claude/checkpoints/1755115872.json +1 -0
- package/.claude/checkpoints/1755115939.json +1 -0
- package/.claude/checkpoints/1755115941.json +1 -0
- package/.claude/checkpoints/1755116119.json +1 -0
- package/.claude/checkpoints/1755116121.json +1 -0
- package/.claude/checkpoints/1755116334.json +1 -0
- package/.claude/checkpoints/1755116336.json +1 -0
- package/.claude/checkpoints/1755116364.json +1 -0
- package/.claude/checkpoints/1755116365.json +1 -0
- package/.claude/checkpoints/1755116428.json +1 -0
- package/.claude/checkpoints/1755116430.json +1 -0
- package/.claude/checkpoints/1755116683.json +1 -0
- package/.claude/checkpoints/1755116684.json +1 -0
- package/.claude/checkpoints/1755116933.json +1 -0
- package/.claude/checkpoints/1755117141.json +1 -0
- package/.claude/checkpoints/1755117143.json +1 -0
- package/.claude/checkpoints/1755117172.json +1 -0
- package/.claude/checkpoints/1755117174.json +1 -0
- package/.claude/checkpoints/1755117241.json +1 -0
- package/.claude/checkpoints/1755117243.json +1 -0
- package/.claude/checkpoints/1755117263.json +1 -0
- package/.claude/checkpoints/1755117265.json +1 -0
- package/.claude/checkpoints/1755117279.json +1 -0
- package/.claude/checkpoints/1755117281.json +1 -0
- package/.claude/checkpoints/1755117308.json +1 -0
- package/.claude/checkpoints/1755117310.json +1 -0
- package/.claude/checkpoints/1755117338.json +1 -0
- package/.claude/checkpoints/1755117340.json +1 -0
- package/.claude/checkpoints/1755117442.json +1 -0
- package/.claude/checkpoints/1755117444.json +1 -0
- package/.claude/checkpoints/1755117497.json +1 -0
- package/.claude/checkpoints/1755117499.json +1 -0
- package/.claude/checkpoints/1755117522.json +1 -0
- package/.claude/checkpoints/1755117524.json +1 -0
- package/.claude/checkpoints/1755117535.json +1 -0
- package/.claude/checkpoints/1755117537.json +1 -0
- package/.claude/checkpoints/1755117572.json +1 -0
- package/.claude/checkpoints/1755117574.json +1 -0
- package/.claude/checkpoints/1755117585.json +1 -0
- package/.claude/checkpoints/1755117586.json +1 -0
- package/.claude/checkpoints/1755117658.json +1 -0
- package/.claude/checkpoints/1755117660.json +1 -0
- package/.claude/checkpoints/1755119182.json +1 -0
- package/.claude/checkpoints/1755119201.json +1 -0
- package/.claude/checkpoints/1755119249.json +1 -0
- package/.claude/checkpoints/1755119251.json +1 -0
- package/.claude/checkpoints/1755183448.json +1 -0
- package/.claude/checkpoints/1755183449.json +1 -0
- package/.claude/checkpoints/1755183473.json +1 -0
- package/.claude/checkpoints/1755183475.json +1 -0
- package/.claude/checkpoints/1755183493.json +1 -0
- package/.claude/checkpoints/1755183495.json +1 -0
- package/.claude/checkpoints/1755183505.json +1 -0
- package/.claude/checkpoints/1755183507.json +1 -0
- package/.claude/checkpoints/1755183523.json +1 -0
- package/.claude/checkpoints/1755183524.json +1 -0
- package/.claude/checkpoints/1755183526.json +1 -0
- package/.claude/checkpoints/1755183528.json +1 -0
- package/.claude/checkpoints/1755183529.json +1 -0
- package/.claude/checkpoints/1755183531.json +1 -0
- package/.claude/checkpoints/1755183539.json +1 -0
- package/.claude/checkpoints/1755183540.json +1 -0
- package/.claude/checkpoints/1755183546.json +1 -0
- package/.claude/checkpoints/1755183549.json +1 -0
- package/.claude/checkpoints/1755183551.json +1 -0
- package/.claude/checkpoints/1755183553.json +1 -0
- package/.claude/checkpoints/1755354407.json +1 -0
- package/.claude/checkpoints/1755354410.json +1 -0
- package/.claude/checkpoints/1755354414.json +1 -0
- package/.claude/checkpoints/1755354417.json +1 -0
- package/.claude/checkpoints/1755354528.json +1 -0
- package/.claude/checkpoints/1755354530.json +1 -0
- package/.claude/checkpoints/1755354532.json +1 -0
- package/.claude/checkpoints/1755354533.json +1 -0
- package/.claude/checkpoints/1755354535.json +1 -0
- package/.claude/checkpoints/1755354537.json +1 -0
- package/.claude/checkpoints/1755354662.json +1 -0
- package/.claude/checkpoints/1755354664.json +1 -0
- package/.claude/checkpoints/1755354700.json +1 -0
- package/.claude/checkpoints/1755354702.json +1 -0
- package/.claude/checkpoints/1755354703.json +1 -0
- package/.claude/checkpoints/1755354705.json +1 -0
- package/.claude/checkpoints/1755354808.json +1 -0
- package/.claude/checkpoints/1755354810.json +1 -0
- package/.claude/checkpoints/1755354967.json +1 -0
- package/.claude/checkpoints/1755354969.json +1 -0
- package/.claude/checkpoints/1755355159.json +1 -0
- package/.claude/checkpoints/1755355161.json +1 -0
- package/.claude/checkpoints/1755355598.json +1 -0
- package/.claude/checkpoints/1755355599.json +1 -0
- package/.claude/checkpoints/1755355610.json +1 -0
- package/.claude/checkpoints/1755355612.json +1 -0
- package/.claude/checkpoints/1755355625.json +1 -0
- package/.claude/checkpoints/1755355627.json +1 -0
- package/.claude/checkpoints/1755355649.json +1 -0
- package/.claude/checkpoints/1755355651.json +1 -0
- package/.claude/checkpoints/1755355652.json +1 -0
- package/.claude/checkpoints/1755355654.json +1 -0
- package/.claude/checkpoints/1755355672.json +1 -0
- package/.claude/checkpoints/1755355674.json +1 -0
- package/.claude/checkpoints/1755355677.json +1 -0
- package/.claude/checkpoints/1755355679.json +1 -0
- package/.claude/checkpoints/1755355694.json +1 -0
- package/.claude/checkpoints/1755355697.json +1 -0
- package/.claude/checkpoints/1755355866.json +1 -0
- package/.claude/checkpoints/1755355868.json +1 -0
- package/.claude/checkpoints/1755355871.json +1 -0
- package/.claude/checkpoints/1755355873.json +1 -0
- package/.claude/checkpoints/1755355891.json +1 -0
- package/.claude/checkpoints/1755355892.json +1 -0
- package/.claude/checkpoints/1755355956.json +1 -0
- package/.claude/checkpoints/1755355958.json +1 -0
- package/.claude/checkpoints/1755356417.json +1 -0
- package/.claude/checkpoints/1755356419.json +1 -0
- package/.claude/checkpoints/1755356438.json +1 -0
- package/.claude/checkpoints/1755356440.json +1 -0
- package/.claude/checkpoints/1755356491.json +1 -0
- package/.claude/checkpoints/1755356493.json +1 -0
- package/.claude/checkpoints/1755357307.json +1 -0
- package/.claude/checkpoints/1755357308.json +1 -0
- package/.claude/checkpoints/1755357310.json +1 -0
- package/.claude/checkpoints/1755357312.json +1 -0
- package/.claude/checkpoints/1755357338.json +1 -0
- package/.claude/checkpoints/1755357340.json +1 -0
- package/.claude/checkpoints/1755358333.json +1 -0
- package/.claude/checkpoints/1755358335.json +1 -0
- package/.claude/checkpoints/1755359004.json +1 -0
- package/.claude/checkpoints/1755359018.json +1 -0
- package/.claude/checkpoints/1755359760.json +1 -0
- package/.claude/checkpoints/1755359762.json +1 -0
- package/.claude/checkpoints/1755360795.json +1 -0
- package/.claude/checkpoints/1755360796.json +1 -0
- package/.claude/checkpoints/1755360836.json +1 -0
- package/.claude/checkpoints/1755360838.json +1 -0
- package/.claude/checkpoints/1755360860.json +1 -0
- package/.claude/checkpoints/1755360861.json +1 -0
- package/.claude/checkpoints/1755360881.json +1 -0
- package/.claude/checkpoints/1755360882.json +1 -0
- package/.claude/checkpoints/1755360930.json +1 -0
- package/.claude/checkpoints/1755360932.json +1 -0
- package/.claude/checkpoints/1755361147.json +1 -0
- package/.claude/checkpoints/1755361149.json +1 -0
- package/.claude/checkpoints/1755362355.json +1 -0
- package/.claude/checkpoints/1755362357.json +1 -0
- package/.claude/checkpoints/1755362359.json +1 -0
- package/.claude/checkpoints/1755362360.json +1 -0
- package/.claude/checkpoints/1755362362.json +1 -0
- package/.claude/checkpoints/1755362364.json +1 -0
- package/.claude/checkpoints/1755362365.json +1 -0
- package/.claude/checkpoints/1755362367.json +1 -0
- package/.claude/checkpoints/1755362369.json +1 -0
- package/.claude/checkpoints/1755362371.json +1 -0
- package/.claude/checkpoints/1755362372.json +1 -0
- package/.claude/checkpoints/1755362374.json +1 -0
- package/.claude/checkpoints/1755362588.json +1 -0
- package/.claude/checkpoints/1755362683.json +1 -0
- package/.claude/checkpoints/1755362684.json +1 -0
- package/.claude/checkpoints/1755363154.json +1 -0
- package/.claude/checkpoints/1755363157.json +1 -0
- package/.claude/checkpoints/1755363185.json +1 -0
- package/.claude/checkpoints/1755363187.json +1 -0
- package/.claude/checkpoints/1755363328.json +1 -0
- package/.claude/checkpoints/1755363330.json +1 -0
- package/.claude/checkpoints/1755363367.json +1 -0
- package/.claude/checkpoints/1755363369.json +1 -0
- package/.claude/checkpoints/1755364641.json +1 -0
- package/.claude/checkpoints/1755364643.json +1 -0
- package/.claude/checkpoints/1755800702.json +1 -0
- package/.claude/checkpoints/1755800704.json +1 -0
- package/.claude/checkpoints/1755800718.json +1 -0
- package/.claude/checkpoints/1755800720.json +1 -0
- package/.claude/checkpoints/1755800761.json +1 -0
- package/.claude/checkpoints/1755800762.json +1 -0
- package/.claude/checkpoints/1755800782.json +1 -0
- package/.claude/checkpoints/1755800784.json +1 -0
- package/.claude/checkpoints/1755802043.json +1 -0
- package/.claude/checkpoints/1755802044.json +1 -0
- package/.claude/checkpoints/1755802854.json +1 -0
- package/.claude/checkpoints/1755802855.json +1 -0
- package/.claude/checkpoints/1755802874.json +1 -0
- package/.claude/checkpoints/1755802875.json +1 -0
- package/.claude/checkpoints/1755803219.json +1 -0
- package/.claude/checkpoints/1755803220.json +1 -0
- package/.claude/checkpoints/1755803292.json +1 -0
- package/.claude/checkpoints/1755803294.json +1 -0
- package/.claude/checkpoints/1755803558.json +1 -0
- package/.claude/checkpoints/1755803560.json +1 -0
- package/.claude/checkpoints/1755804869.json +1 -0
- package/.claude/checkpoints/1756218161.json +1 -0
- package/.claude/checkpoints/1756218163.json +1 -0
- package/.claude/checkpoints/1756223809.json +1 -0
- package/.claude/checkpoints/1756223811.json +1 -0
- package/.claude/checkpoints/1756223818.json +1 -0
- package/.claude/checkpoints/1756223819.json +1 -0
- package/.claude/checkpoints/1756223870.json +1 -0
- package/.claude/checkpoints/1756223872.json +1 -0
- package/.claude/checkpoints/1756223914.json +1 -0
- package/.claude/checkpoints/1756223916.json +1 -0
- package/.claude/checkpoints/1756224602.json +1 -0
- package/.claude/checkpoints/1756224604.json +1 -0
- package/.claude/checkpoints/1756224606.json +1 -0
- package/.claude/checkpoints/1756224607.json +1 -0
- package/.claude/checkpoints/1756225204.json +1 -0
- package/.claude/checkpoints/1756225206.json +1 -0
- package/.claude/checkpoints/1756225515.json +1 -0
- package/.claude/checkpoints/1756225517.json +1 -0
- package/.claude/checkpoints/1756225519.json +1 -0
- package/.claude/checkpoints/1756225521.json +1 -0
- package/.claude/checkpoints/1756225930.json +1 -0
- package/.claude/checkpoints/1756225931.json +1 -0
- package/.claude/checkpoints/1756225951.json +1 -0
- package/.claude/checkpoints/1756225953.json +1 -0
- package/.claude/checkpoints/1756225955.json +1 -0
- package/.claude/checkpoints/1756225956.json +1 -0
- package/.claude/checkpoints/1756226223.json +1 -0
- package/.claude/checkpoints/1756226225.json +1 -0
- package/.claude/checkpoints/1756226241.json +1 -0
- package/.claude/checkpoints/1756226243.json +1 -0
- package/.claude/checkpoints/1756226244.json +1 -0
- package/.claude/checkpoints/1756226246.json +1 -0
- package/.claude/checkpoints/1756226702.json +1 -0
- package/.claude/checkpoints/1756226704.json +1 -0
- package/.claude/checkpoints/1756226722.json +1 -0
- package/.claude/checkpoints/1756226724.json +1 -0
- package/.claude/checkpoints/1756226737.json +1 -0
- package/.claude/checkpoints/1756226739.json +1 -0
- package/.claude/checkpoints/1756226741.json +1 -0
- package/.claude/checkpoints/1756226743.json +1 -0
- package/.claude/checkpoints/1756227204.json +1 -0
- package/.claude/checkpoints/1756227205.json +1 -0
- package/.claude/checkpoints/1756227276.json +1 -0
- package/.claude/checkpoints/1756227278.json +1 -0
- package/.claude/checkpoints/1756227280.json +1 -0
- package/.claude/checkpoints/1756227282.json +1 -0
- package/.claude/checkpoints/1756227652.json +1 -0
- package/.claude/checkpoints/1756227653.json +1 -0
- package/.claude/checkpoints/1756227666.json +1 -0
- package/.claude/checkpoints/1756227668.json +1 -0
- package/.claude/checkpoints/1756227723.json +1 -0
- package/.claude/checkpoints/1756227725.json +1 -0
- package/.claude/checkpoints/1756227731.json +1 -0
- package/.claude/checkpoints/1756227733.json +1 -0
- package/.claude/checkpoints/1756231330.json +1 -0
- package/.claude/checkpoints/1756231331.json +1 -0
- package/.claude/checkpoints/1756231342.json +1 -0
- package/.claude/checkpoints/1756231344.json +1 -0
- package/.claude/checkpoints/1756231355.json +1 -0
- package/.claude/checkpoints/1756231357.json +1 -0
- package/.claude/checkpoints/1756231367.json +1 -0
- package/.claude/checkpoints/1756231368.json +1 -0
- package/.claude/checkpoints/1756231458.json +1 -0
- package/.claude/checkpoints/1756231459.json +1 -0
- package/.claude/checkpoints/1756231477.json +1 -0
- package/.claude/checkpoints/1756231479.json +1 -0
- package/.claude/checkpoints/1756233026.json +1 -0
- package/.claude/checkpoints/1756233028.json +1 -0
- package/.claude/checkpoints/1756233040.json +1 -0
- package/.claude/checkpoints/1756233041.json +1 -0
- package/.claude/checkpoints/1756233057.json +1 -0
- package/.claude/checkpoints/1756233059.json +1 -0
- package/.claude/checkpoints/1756233090.json +1 -0
- package/.claude/checkpoints/1756233092.json +1 -0
- package/.claude/checkpoints/1756233141.json +1 -0
- package/.claude/checkpoints/1756233143.json +1 -0
- package/.claude/checkpoints/1756475935.json +1 -0
- package/.claude/checkpoints/1756475936.json +1 -0
- package/.claude/checkpoints/1756475996.json +1 -0
- package/.claude/checkpoints/1756475998.json +1 -0
- package/.claude/checkpoints/1756476093.json +1 -0
- package/.claude/checkpoints/1756476098.json +1 -0
- package/.claude/checkpoints/1756476100.json +1 -0
- package/.claude/checkpoints/1756476101.json +1 -0
- package/.claude/checkpoints/1756476161.json +1 -0
- package/.claude/checkpoints/1756476163.json +1 -0
- package/.claude/checkpoints/1756476183.json +1 -0
- package/.claude/checkpoints/1756476184.json +1 -0
- package/.claude/checkpoints/1756476193.json +1 -0
- package/.claude/checkpoints/1756476194.json +1 -0
- package/.claude/checkpoints/1756476202.json +1 -0
- package/.claude/checkpoints/1756476204.json +1 -0
- package/.claude/checkpoints/1756476268.json +1 -0
- package/.claude/checkpoints/1756476269.json +1 -0
- package/.claude/checkpoints/1756476287.json +1 -0
- package/.claude/checkpoints/1756476288.json +1 -0
- package/.claude/checkpoints/1756997935.json +1 -0
- package/.claude/checkpoints/1756997937.json +1 -0
- package/.claude/checkpoints/1756997938.json +1 -0
- package/.claude/checkpoints/1756997940.json +1 -0
- package/.claude/checkpoints/1756997942.json +1 -0
- package/.claude/checkpoints/1756997944.json +1 -0
- package/.claude/checkpoints/1756997945.json +1 -0
- package/.claude/checkpoints/1756997947.json +1 -0
- package/.claude/checkpoints/1756997949.json +1 -0
- package/.claude/checkpoints/1756997951.json +1 -0
- package/.claude/checkpoints/1756997953.json +1 -0
- package/.claude/checkpoints/1756997955.json +1 -0
- package/.claude/checkpoints/1756997956.json +1 -0
- package/.claude/checkpoints/1756997958.json +1 -0
- package/.claude/checkpoints/1756997960.json +1 -0
- package/.claude/checkpoints/1756997962.json +1 -0
- package/.claude/checkpoints/1756997964.json +1 -0
- package/.claude/checkpoints/1756997966.json +1 -0
- package/.claude/checkpoints/1756997968.json +1 -0
- package/.claude/checkpoints/1756997970.json +1 -0
- package/.claude/checkpoints/1757190213.json +1 -0
- package/.claude/checkpoints/1757190215.json +1 -0
- package/.claude/checkpoints/1757190217.json +1 -0
- package/.claude/checkpoints/1757190219.json +1 -0
- package/.claude/checkpoints/1757190220.json +1 -0
- package/.claude/checkpoints/1757190222.json +1 -0
- package/.claude/checkpoints/1757190224.json +1 -0
- package/.claude/checkpoints/1757190225.json +1 -0
- package/.claude/checkpoints/1757190227.json +1 -0
- package/.claude/checkpoints/1757190229.json +1 -0
- package/.claude/checkpoints/1757190231.json +1 -0
- package/.claude/checkpoints/1757190232.json +1 -0
- package/.claude/checkpoints/1757190234.json +1 -0
- package/.claude/checkpoints/1757190236.json +1 -0
- package/.claude/checkpoints/1757190238.json +1 -0
- package/.claude/checkpoints/1757190240.json +1 -0
- package/.claude/checkpoints/1757190241.json +1 -0
- package/.claude/checkpoints/1757190243.json +1 -0
- package/.claude/checkpoints/1757190245.json +1 -0
- package/.claude/checkpoints/1757190247.json +1 -0
- package/.claude/checkpoints/1757190608.json +1 -0
- package/.claude/checkpoints/1757190610.json +1 -0
- package/.claude/checkpoints/1757190626.json +1 -0
- package/.claude/checkpoints/1757190628.json +1 -0
- package/.claude/checkpoints/1757190993.json +1 -0
- package/.claude/checkpoints/1757190997.json +1 -0
- package/.claude/checkpoints/1757191001.json +1 -0
- package/.claude/checkpoints/1757191004.json +1 -0
- package/.claude/checkpoints/1757191007.json +1 -0
- package/.claude/checkpoints/1757191009.json +1 -0
- package/.claude/checkpoints/1757191012.json +1 -0
- package/.claude/checkpoints/1757191014.json +1 -0
- package/.claude/checkpoints/1757191016.json +1 -0
- package/.claude/checkpoints/1757191019.json +1 -0
- package/.claude/checkpoints/1757191022.json +1 -0
- package/.claude/checkpoints/1757191024.json +1 -0
- package/.claude/checkpoints/1757191027.json +1 -0
- package/.claude/checkpoints/1757191029.json +1 -0
- package/.claude/checkpoints/1757191032.json +1 -0
- package/.claude/checkpoints/1757191034.json +1 -0
- package/.claude/checkpoints/1757191037.json +1 -0
- package/.claude/checkpoints/1757191040.json +1 -0
- package/.claude/checkpoints/1757191061.json +1 -0
- package/.claude/checkpoints/1757191063.json +1 -0
- package/.claude/checkpoints/1757191084.json +1 -0
- package/.claude/checkpoints/1757191086.json +1 -0
- package/.claude/checkpoints/1757192316.json +1 -0
- package/.claude/checkpoints/1757192318.json +1 -0
- package/.claude/checkpoints/1757192389.json +1 -0
- package/.claude/checkpoints/1757192391.json +1 -0
- package/.claude/checkpoints/1757192489.json +1 -0
- package/.claude/checkpoints/1757192491.json +1 -0
- package/.claude/checkpoints/1757192521.json +1 -0
- package/.claude/checkpoints/1757192523.json +1 -0
- package/.claude/checkpoints/1757192541.json +1 -0
- package/.claude/checkpoints/1757192543.json +1 -0
- package/.claude/checkpoints/1757193796.json +1 -0
- package/.claude/checkpoints/1757194415.json +1 -0
- package/.claude/checkpoints/1757194416.json +1 -0
- package/.claude/checkpoints/1757194435.json +1 -0
- package/.claude/checkpoints/1757194437.json +1 -0
- package/.claude/checkpoints/1757194468.json +1 -0
- package/.claude/checkpoints/1757194469.json +1 -0
- package/.claude/checkpoints/1757194554.json +1 -0
- package/.claude/checkpoints/1757194555.json +1 -0
- package/.claude/checkpoints/1757194606.json +1 -0
- package/.claude/checkpoints/1757194608.json +1 -0
- package/.claude/checkpoints/1757194817.json +1 -0
- package/.claude/checkpoints/1757194818.json +1 -0
- package/.claude/checkpoints/1757222204.json +1 -0
- package/.claude/checkpoints/1757222206.json +1 -0
- package/.claude/checkpoints/1757510471.json +1 -0
- package/.claude/checkpoints/1757510474.json +1 -0
- package/.claude/checkpoints/1757510491.json +1 -0
- package/.claude/checkpoints/1757510493.json +1 -0
- package/.claude/checkpoints/1757510744.json +1 -0
- package/.claude/checkpoints/1757510746.json +1 -0
- package/.claude/checkpoints/1757510754.json +1 -0
- package/.claude/checkpoints/1757510755.json +1 -0
- package/.claude/checkpoints/1757510769.json +1 -0
- package/.claude/checkpoints/1757510771.json +1 -0
- package/.claude/checkpoints/1757510808.json +1 -0
- package/.claude/checkpoints/1757510810.json +1 -0
- package/.claude/checkpoints/1757510842.json +1 -0
- package/.claude/checkpoints/1757510844.json +1 -0
- package/.claude/checkpoints/1757510891.json +1 -0
- package/.claude/checkpoints/1757510893.json +1 -0
- package/.claude/checkpoints/1757510908.json +1 -0
- package/.claude/checkpoints/1757510910.json +1 -0
- package/.claude/checkpoints/1757510935.json +1 -0
- package/.claude/checkpoints/1757510937.json +1 -0
- package/.claude/checkpoints/1757510952.json +1 -0
- package/.claude/checkpoints/1757510953.json +1 -0
- package/.claude/checkpoints/1757510961.json +1 -0
- package/.claude/checkpoints/1757510963.json +1 -0
- package/.claude/checkpoints/1757511194.json +1 -0
- package/.claude/checkpoints/1757511196.json +1 -0
- package/.claude/checkpoints/1757511233.json +1 -0
- package/.claude/checkpoints/1757511234.json +1 -0
- package/.claude/checkpoints/1757511285.json +1 -0
- package/.claude/checkpoints/1757511287.json +1 -0
- package/.claude/checkpoints/1757522655.json +1 -0
- package/.claude/checkpoints/1757522656.json +1 -0
- package/.claude/checkpoints/1757522663.json +1 -0
- package/.claude/checkpoints/1757522665.json +1 -0
- package/.claude/checkpoints/1757523145.json +1 -0
- package/.claude/checkpoints/1757523147.json +1 -0
- package/.claude/checkpoints/1757523153.json +1 -0
- package/.claude/checkpoints/1757523155.json +1 -0
- package/.claude/checkpoints/1757523162.json +1 -0
- package/.claude/checkpoints/1757523163.json +1 -0
- package/.claude/checkpoints/1757523492.json +1 -0
- package/.claude/checkpoints/1757523494.json +1 -0
- package/.claude/checkpoints/1757523509.json +1 -0
- package/.claude/checkpoints/1757523511.json +1 -0
- package/.claude/checkpoints/1757526376.json +1 -0
- package/.claude/checkpoints/1757526378.json +1 -0
- package/.claude/checkpoints/1757526471.json +1 -0
- package/.claude/checkpoints/1757526473.json +1 -0
- package/.claude/checkpoints/1757527773.json +1 -0
- package/.claude/checkpoints/1757527775.json +1 -0
- package/.claude/checkpoints/1757527776.json +1 -0
- package/.claude/checkpoints/1757527778.json +1 -0
- package/.claude/checkpoints/1757528157.json +1 -0
- package/.claude/checkpoints/1757528216.json +1 -0
- package/.claude/checkpoints/1757528218.json +1 -0
- package/.claude/checkpoints/1757528539.json +1 -0
- package/.claude/checkpoints/1757529392.json +1 -0
- package/.claude/checkpoints/1757529394.json +1 -0
- package/.claude/checkpoints/1757529396.json +1 -0
- package/.claude/checkpoints/1757529398.json +1 -0
- package/.claude/checkpoints/1757529400.json +1 -0
- package/.claude/checkpoints/1757529401.json +1 -0
- package/.claude/checkpoints/1757529403.json +1 -0
- package/.claude/checkpoints/1757529405.json +1 -0
- package/.claude/checkpoints/1757529407.json +1 -0
- package/.claude/checkpoints/1757529409.json +1 -0
- package/.claude/checkpoints/1757529434.json +1 -0
- package/.claude/checkpoints/1757529435.json +1 -0
- package/.claude/checkpoints/1757529437.json +1 -0
- package/.claude/checkpoints/1757529439.json +1 -0
- package/.claude/checkpoints/1758218021.json +1 -0
- package/.claude/checkpoints/1758218023.json +1 -0
- package/.claude/checkpoints/1758220937.json +1 -0
- package/.claude/checkpoints/1758220938.json +1 -0
- package/.claude/checkpoints/1758220990.json +1 -0
- package/.claude/checkpoints/1758220991.json +1 -0
- package/.claude/checkpoints/1758221107.json +1 -0
- package/.claude/checkpoints/1758221109.json +1 -0
- package/.claude/checkpoints/1758222268.json +1 -0
- package/.claude/checkpoints/1758222270.json +1 -0
- package/.claude/checkpoints/1758222371.json +1 -0
- package/.claude/checkpoints/1758222373.json +1 -0
- package/.claude/checkpoints/1758222468.json +1 -0
- package/.claude/checkpoints/1758222470.json +1 -0
- package/.claude/checkpoints/1758222482.json +1 -0
- package/.claude/checkpoints/1758222484.json +1 -0
- package/.claude/checkpoints/1758222493.json +1 -0
- package/.claude/checkpoints/1758222494.json +1 -0
- package/.claude/checkpoints/1758222504.json +1 -0
- package/.claude/checkpoints/1758222506.json +1 -0
- package/.claude/checkpoints/1758222517.json +1 -0
- package/.claude/checkpoints/1758222519.json +1 -0
- package/.claude/checkpoints/1758223798.json +1 -0
- package/.claude/checkpoints/1758223800.json +1 -0
- package/.claude/checkpoints/1758223997.json +1 -0
- package/.claude/checkpoints/1758223999.json +1 -0
- package/.claude/checkpoints/1758224031.json +1 -0
- package/.claude/checkpoints/1758224033.json +1 -0
- package/.claude/checkpoints/1758224337.json +1 -0
- package/.claude/checkpoints/1758224339.json +1 -0
- package/.claude/checkpoints/1758224340.json +1 -0
- package/.claude/checkpoints/1758224342.json +1 -0
- package/.claude/checkpoints/1758224359.json +1 -0
- package/.claude/checkpoints/1758224360.json +1 -0
- package/.claude/checkpoints/1758224362.json +1 -0
- package/.claude/checkpoints/1758224364.json +1 -0
- package/.claude/checkpoints/1758224427.json +1 -0
- package/.claude/checkpoints/1758224428.json +1 -0
- package/.claude/checkpoints/1758224430.json +1 -0
- package/.claude/checkpoints/1758224432.json +1 -0
- package/.claude/checkpoints/1758224468.json +1 -0
- package/.claude/checkpoints/1758224470.json +1 -0
- package/.claude/checkpoints/1758224495.json +1 -0
- package/.claude/checkpoints/1758224497.json +1 -0
- package/.claude/checkpoints/1758224500.json +1 -0
- package/.claude/checkpoints/1758224502.json +1 -0
- package/.claude/checkpoints/1758224557.json +1 -0
- package/.claude/checkpoints/1758224559.json +1 -0
- package/.claude/checkpoints/1758224561.json +1 -0
- package/.claude/checkpoints/1758224563.json +1 -0
- package/.claude/checkpoints/1758224699.json +1 -0
- package/.claude/checkpoints/1758224701.json +1 -0
- package/.claude/checkpoints/1758224716.json +1 -0
- package/.claude/checkpoints/1758224718.json +1 -0
- package/.claude/checkpoints/1758225072.json +1 -0
- package/.claude/checkpoints/1758225074.json +1 -0
- package/.claude/checkpoints/1758225099.json +1 -0
- package/.claude/checkpoints/1758225101.json +1 -0
- package/.claude/checkpoints/1758225142.json +1 -0
- package/.claude/checkpoints/1758225144.json +1 -0
- package/.claude/checkpoints/1758227255.json +1 -0
- package/.claude/checkpoints/1758227257.json +1 -0
- package/.claude/checkpoints/1758227264.json +1 -0
- package/.claude/checkpoints/1758227266.json +1 -0
- package/.claude/checkpoints/1758227807.json +1 -0
- package/.claude/checkpoints/1758227891.json +1 -0
- package/.claude/checkpoints/1758227911.json +1 -0
- package/.claude/checkpoints/1758227927.json +1 -0
- package/.claude/checkpoints/1758228130.json +1 -0
- package/.claude/checkpoints/1758228132.json +1 -0
- package/.claude/checkpoints/1758228133.json +1 -0
- package/.claude/checkpoints/1758228135.json +1 -0
- package/.claude/checkpoints/1758228137.json +1 -0
- package/.claude/checkpoints/1758228138.json +1 -0
- package/.claude/checkpoints/1758228252.json +1 -0
- package/.claude/checkpoints/1758228253.json +1 -0
- package/.claude/checkpoints/1758228341.json +1 -0
- package/.claude/checkpoints/1758228343.json +1 -0
- package/.claude/checkpoints/1758228416.json +1 -0
- package/.claude/checkpoints/1758228417.json +1 -0
- package/.claude/checkpoints/1758228461.json +1 -0
- package/.claude/checkpoints/1758228463.json +1 -0
- package/.claude/checkpoints/1758228558.json +1 -0
- package/.claude/checkpoints/1758228559.json +1 -0
- package/.claude/checkpoints/1758228614.json +1 -0
- package/.claude/checkpoints/1758228616.json +1 -0
- package/.claude/checkpoints/1758228627.json +1 -0
- package/.claude/checkpoints/1758228629.json +1 -0
- package/.claude/checkpoints/1758228679.json +1 -0
- package/.claude/checkpoints/1758228680.json +1 -0
- package/.claude/checkpoints/1758228694.json +1 -0
- package/.claude/checkpoints/1758228696.json +1 -0
- package/.claude/checkpoints/1758228701.json +1 -0
- package/.claude/checkpoints/1758228703.json +1 -0
- package/.claude/checkpoints/1758228708.json +1 -0
- package/.claude/checkpoints/1758228710.json +1 -0
- package/.claude/checkpoints/1758228715.json +1 -0
- package/.claude/checkpoints/1758228717.json +1 -0
- package/.claude/checkpoints/1758228728.json +1 -0
- package/.claude/checkpoints/1758228729.json +1 -0
- package/.claude/checkpoints/1758228736.json +1 -0
- package/.claude/checkpoints/1758228737.json +1 -0
- package/.claude/checkpoints/1758228756.json +1 -0
- package/.claude/checkpoints/1758228758.json +1 -0
- package/.claude/checkpoints/1758228810.json +1 -0
- package/.claude/checkpoints/1758228811.json +1 -0
- package/.claude/checkpoints/1758228889.json +1 -0
- package/.claude/checkpoints/1758228891.json +1 -0
- package/.claude/checkpoints/1758229102.json +1 -0
- package/.claude/checkpoints/1758229103.json +1 -0
- package/.claude/checkpoints/1758229164.json +1 -0
- package/.claude/checkpoints/1758229165.json +1 -0
- package/.claude/checkpoints/1758229855.json +1 -0
- package/.claude/checkpoints/1758229900.json +1 -0
- package/.claude/checkpoints/1758229975.json +1 -0
- package/.claude/checkpoints/1758230092.json +1 -0
- package/.claude/checkpoints/1758230094.json +1 -0
- package/.claude/checkpoints/1758230097.json +1 -0
- package/.claude/checkpoints/1758230100.json +1 -0
- package/.claude/checkpoints/1758230247.json +1 -0
- package/.claude/checkpoints/1758230261.json +1 -0
- package/.claude/checkpoints/1758230282.json +1 -0
- package/.claude/checkpoints/1758230341.json +1 -0
- package/.claude/checkpoints/1758230343.json +1 -0
- package/.claude/checkpoints/1758231918.json +1 -0
- package/.claude/checkpoints/1758231920.json +1 -0
- package/.claude/checkpoints/1758232158.json +1 -0
- package/.claude/checkpoints/1758232160.json +1 -0
- package/.claude/checkpoints/1758232169.json +1 -0
- package/.claude/checkpoints/1758232171.json +1 -0
- package/.claude/checkpoints/1758232179.json +1 -0
- package/.claude/checkpoints/1758232180.json +1 -0
- package/.claude/checkpoints/1758233727.json +1 -0
- package/.claude/checkpoints/1758234278.json +1 -0
- package/.claude/checkpoints/1758234280.json +1 -0
- package/.claude/checkpoints/1758899542.json +1 -0
- package/.claude/checkpoints/1758899543.json +1 -0
- package/.claude/checkpoints/1758899689.json +1 -0
- package/.claude/checkpoints/1758899690.json +1 -0
- package/.claude/checkpoints/1758899920.json +1 -0
- package/.claude/checkpoints/1758899921.json +1 -0
- package/.claude/checkpoints/1758899927.json +1 -0
- package/.claude/checkpoints/1758899929.json +1 -0
- package/.claude/checkpoints/1758899935.json +1 -0
- package/.claude/checkpoints/1758899936.json +1 -0
- package/.claude/checkpoints/1758900019.json +1 -0
- package/.claude/checkpoints/1758900020.json +1 -0
- package/.claude/checkpoints/1758900085.json +1 -0
- package/.claude/checkpoints/1758900087.json +1 -0
- package/.claude/checkpoints/1758900094.json +1 -0
- package/.claude/checkpoints/1758900095.json +1 -0
- package/.claude/checkpoints/1758900254.json +1 -0
- package/.claude/checkpoints/1758900256.json +1 -0
- package/.claude/checkpoints/1758900262.json +1 -0
- package/.claude/checkpoints/1758900264.json +1 -0
- package/.claude/checkpoints/1758900279.json +1 -0
- package/.claude/checkpoints/1758900281.json +1 -0
- package/.claude/checkpoints/1758900322.json +1 -0
- package/.claude/checkpoints/1758900324.json +1 -0
- package/.claude/checkpoints/1758900339.json +1 -0
- package/.claude/checkpoints/1758900340.json +1 -0
- package/.claude/checkpoints/1758900477.json +1 -0
- package/.claude/checkpoints/1758900479.json +1 -0
- package/.claude/checkpoints/1758900652.json +1 -0
- package/.claude/checkpoints/1758900653.json +1 -0
- package/.claude/checkpoints/1758900668.json +1 -0
- package/.claude/checkpoints/1758900670.json +1 -0
- package/.claude/checkpoints/1758900676.json +1 -0
- package/.claude/checkpoints/1758900677.json +1 -0
- package/.claude/checkpoints/1758901378.json +1 -0
- package/.claude/checkpoints/1758901379.json +1 -0
- package/.claude/checkpoints/1758901397.json +1 -0
- package/.claude/checkpoints/1758901398.json +1 -0
- package/.claude/checkpoints/1758906498.json +1 -0
- package/.claude/checkpoints/1758906500.json +1 -0
- package/.claude/checkpoints/1758906541.json +1 -0
- package/.claude/checkpoints/1758906542.json +1 -0
- package/.claude/checkpoints/1758906566.json +1 -0
- package/.claude/checkpoints/1758906568.json +1 -0
- package/.claude/checkpoints/1758906576.json +1 -0
- package/.claude/checkpoints/1758906577.json +1 -0
- package/.claude/checkpoints/1758906592.json +1 -0
- package/.claude/checkpoints/1758906594.json +1 -0
- package/.claude/checkpoints/1758906672.json +1 -0
- package/.claude/checkpoints/1758906673.json +1 -0
- package/.claude/checkpoints/1758907923.json +1 -0
- package/.claude/checkpoints/1758907924.json +1 -0
- package/.claude/checkpoints/1758907948.json +1 -0
- package/.claude/checkpoints/1758907949.json +1 -0
- package/.claude/checkpoints/1758907963.json +1 -0
- package/.claude/checkpoints/1758907965.json +1 -0
- package/.claude/checkpoints/1758908014.json +1 -0
- package/.claude/checkpoints/1758908015.json +1 -0
- package/.claude/checkpoints/1758908060.json +1 -0
- package/.claude/checkpoints/1758908062.json +1 -0
- package/.claude/checkpoints/1758908110.json +1 -0
- package/.claude/checkpoints/1758908112.json +1 -0
- package/.claude/checkpoints/1758908164.json +1 -0
- package/.claude/checkpoints/1758908166.json +1 -0
- package/.claude/checkpoints/1758908191.json +1 -0
- package/.claude/checkpoints/1758908192.json +1 -0
- package/.claude/checkpoints/1758908244.json +1 -0
- package/.claude/checkpoints/1758908246.json +1 -0
- package/.claude/checkpoints/1758908298.json +1 -0
- package/.claude/checkpoints/1758908300.json +1 -0
- package/.claude/checkpoints/1758908507.json +1 -0
- package/.claude/checkpoints/1758908508.json +1 -0
- package/.claude/checkpoints/1758908542.json +1 -0
- package/.claude/checkpoints/1758908543.json +1 -0
- package/.claude/checkpoints/1758908614.json +1 -0
- package/.claude/checkpoints/1758908650.json +1 -0
- package/.claude/checkpoints/1758908688.json +1 -0
- package/.claude/checkpoints/1758908690.json +1 -0
- package/.claude/checkpoints/1758908711.json +1 -0
- package/.claude/checkpoints/1758908713.json +1 -0
- package/.claude/checkpoints/1758908734.json +1 -0
- package/.claude/checkpoints/1758908735.json +1 -0
- package/.claude/checkpoints/1758908976.json +1 -0
- package/.claude/checkpoints/1758908978.json +1 -0
- package/.claude/checkpoints/1758909003.json +1 -0
- package/.claude/checkpoints/1758909004.json +1 -0
- package/.claude/checkpoints/1758909040.json +1 -0
- package/.claude/checkpoints/1758909042.json +1 -0
- package/.claude/checkpoints/1758909059.json +1 -0
- package/.claude/checkpoints/1758909061.json +1 -0
- package/.claude/checkpoints/1758909079.json +1 -0
- package/.claude/checkpoints/1758909080.json +1 -0
- package/.claude/checkpoints/1758909460.json +1 -0
- package/.claude/checkpoints/1758909461.json +1 -0
- package/.claude/checkpoints/1758912043.json +1 -0
- package/.claude/checkpoints/1758912045.json +1 -0
- package/.claude/checkpoints/1758912075.json +1 -0
- package/.claude/checkpoints/1758912077.json +1 -0
- package/.claude/checkpoints/1758912236.json +1 -0
- package/.claude/checkpoints/1758912238.json +1 -0
- package/.claude/checkpoints/summary-session-20250730-220658.md +182 -0
- package/.claude/checkpoints/summary-session-20250730-220954.md +187 -0
- package/.claude/checkpoints/summary-session-20250730-222733.md +199 -0
- package/.claude/checkpoints/summary-session-20250731-142811.md +102 -0
- package/.claude/checkpoints/summary-session-20250731-142926.md +103 -0
- package/.claude/checkpoints/summary-session-20250731-143729.md +108 -0
- package/.claude/checkpoints/summary-session-20250731-145845.md +109 -0
- package/.claude/checkpoints/summary-session-20250731-150532.md +110 -0
- package/.claude/checkpoints/summary-session-20250731-153445.md +41 -0
- package/.claude/checkpoints/summary-session-20250731-162229.md +43 -0
- package/.claude/checkpoints/summary-session-20250731-162510.md +48 -0
- package/.claude/checkpoints/summary-session-20250731-163301.md +54 -0
- package/.claude/checkpoints/summary-session-20250731-163727.md +60 -0
- package/.claude/checkpoints/summary-session-20250731-164059.md +65 -0
- package/.claude/checkpoints/summary-session-20250731-164245.md +70 -0
- package/.claude/checkpoints/summary-session-20250731-164722.md +78 -0
- package/.claude/checkpoints/summary-session-20250731-164821.md +83 -0
- package/.claude/checkpoints/summary-session-20250731-165000.md +88 -0
- package/.claude/checkpoints/summary-session-20250731-191747.md +70 -0
- package/.claude/checkpoints/summary-session-20250731-192119.md +76 -0
- package/.claude/checkpoints/summary-session-20250731-192226.md +79 -0
- package/.claude/checkpoints/summary-session-20250731-192608.md +83 -0
- package/.claude/checkpoints/summary-session-20250731-192632.md +85 -0
- package/.claude/checkpoints/summary-session-20250731-192658.md +87 -0
- package/.claude/checkpoints/summary-session-20250731-192710.md +0 -0
- package/.claude/checkpoints/summary-session-20250731-192711.md +89 -0
- package/.claude/checkpoints/summary-session-20250731-192731.md +0 -0
- package/.claude/checkpoints/summary-session-20250731-192752.md +95 -0
- package/.claude/checkpoints/summary-session-20250731-192810.md +94 -0
- package/.claude/checkpoints/summary-session-20250731-192839.md +96 -0
- package/.claude/checkpoints/summary-session-20250731-192900.md +97 -0
- package/.claude/checkpoints/summary-session-20250731-192913.md +98 -0
- package/.claude/checkpoints/summary-session-20250731-193017.md +100 -0
- package/.claude/checkpoints/summary-session-20250731-193038.md +106 -0
- package/.claude/checkpoints/summary-session-20250731-193043.md +102 -0
- package/.claude/checkpoints/summary-session-20250731-193115.md +0 -0
- package/.claude/checkpoints/summary-session-20250731-193121.md +105 -0
- package/.claude/checkpoints/summary-session-20250731-193124.md +108 -0
- package/.claude/checkpoints/summary-session-20250731-193231.md +108 -0
- package/.claude/checkpoints/summary-session-20250731-193748.md +112 -0
- package/.claude/checkpoints/summary-session-20250731-194208.md +126 -0
- package/.claude/checkpoints/summary-session-20250731-194343.md +129 -0
- package/.claude/checkpoints/summary-session-20250731-195358.md +137 -0
- package/.claude/checkpoints/summary-session-20250731-201542.md +143 -0
- package/.claude/checkpoints/summary-session-20250731-201737.md +148 -0
- package/.claude/checkpoints/summary-session-20250731-202811.md +135 -0
- package/.claude/checkpoints/summary-session-20250731-204824.md +114 -0
- package/.claude/checkpoints/summary-session-20250801-165013.md +114 -0
- package/.claude/checkpoints/summary-session-20250801-165902.md +118 -0
- package/.claude/checkpoints/summary-session-20250801-170008.md +121 -0
- package/.claude/checkpoints/summary-session-20250801-170732.md +124 -0
- package/.claude/checkpoints/summary-session-20250801-172331.md +127 -0
- package/.claude/checkpoints/summary-session-20250801-174746.md +113 -0
- package/.claude/checkpoints/summary-session-20250801-175251.md +129 -0
- package/.claude/checkpoints/summary-session-20250801-180233.md +130 -0
- package/.claude/checkpoints/summary-session-20250801-182959.md +254 -0
- package/.claude/checkpoints/summary-session-20250801-183424.md +133 -0
- package/.claude/checkpoints/summary-session-20250801-185805.md +152 -0
- package/.claude/checkpoints/summary-session-20250801-192641.md +259 -0
- package/.claude/checkpoints/summary-session-20250803-122706.md +111 -0
- package/.claude/checkpoints/summary-session-20250803-123704.md +172 -0
- package/.claude/checkpoints/summary-session-20250803-123910.md +179 -0
- package/.claude/checkpoints/summary-session-20250803-124510.md +210 -0
- package/.claude/checkpoints/summary-session-20250803-124952.md +217 -0
- package/.claude/checkpoints/summary-session-20250803-125126.md +226 -0
- package/.claude/checkpoints/summary-session-20250803-125303.md +239 -0
- package/.claude/checkpoints/summary-session-20250803-125437.md +248 -0
- package/.claude/checkpoints/summary-session-20250803-125615.md +255 -0
- package/.claude/checkpoints/summary-session-20250803-125710.md +266 -0
- package/.claude/checkpoints/summary-session-20250803-125814.md +270 -0
- package/.claude/checkpoints/summary-session-20250803-130618.md +279 -0
- package/.claude/checkpoints/summary-session-20250803-130622.md +281 -0
- package/.claude/checkpoints/summary-session-20250803-131649.md +270 -0
- package/.claude/checkpoints/summary-session-20250803-132205.md +286 -0
- package/.claude/checkpoints/summary-session-20250803-133416.md +271 -0
- package/.claude/checkpoints/summary-session-20250803-134203.md +254 -0
- package/.claude/checkpoints/summary-session-20250803-134440.md +251 -0
- package/.claude/checkpoints/summary-session-20250803-134859.md +249 -0
- package/.claude/checkpoints/summary-session-20250803-135226.md +244 -0
- package/.claude/checkpoints/summary-session-20250803-135735.md +225 -0
- package/.claude/checkpoints/summary-session-20250804-140521.md +40 -0
- package/.claude/checkpoints/summary-session-20250804-140753.md +43 -0
- package/.claude/checkpoints/summary-session-20250804-141009.md +46 -0
- package/.claude/checkpoints/summary-session-20250804-141140.md +49 -0
- package/.claude/checkpoints/summary-session-20250804-141254.md +52 -0
- package/.claude/checkpoints/summary-session-20250804-141337.md +55 -0
- package/.claude/checkpoints/summary-session-20250804-141525.md +58 -0
- package/.claude/checkpoints/summary-session-20250804-142026.md +61 -0
- package/.claude/checkpoints/summary-session-20250804-142717.md +72 -0
- package/.claude/checkpoints/summary-session-20250804-143045.md +77 -0
- package/.claude/checkpoints/summary-session-20250804-143404.md +82 -0
- package/.claude/checkpoints/summary-session-20250804-150637.md +142 -0
- package/.claude/checkpoints/summary-session-20250804-151119.md +276 -0
- package/.claude/checkpoints/summary-session-20250804-151134.md +282 -0
- package/.claude/checkpoints/summary-session-20250804-151200.md +290 -0
- package/.claude/checkpoints/summary-session-20250804-151308.md +297 -0
- package/.claude/checkpoints/summary-session-20250804-154849.md +298 -0
- package/.claude/checkpoints/summary-session-20250804-160249.md +298 -0
- package/.claude/checkpoints/summary-session-20250804-190944.md +169 -0
- package/.claude/checkpoints/summary-session-20250804-192750.md +219 -0
- package/.claude/checkpoints/summary-session-20250804-193135.md +236 -0
- package/.claude/checkpoints/summary-session-20250804-193339.md +249 -0
- package/.claude/checkpoints/summary-session-20250804-200221.md +302 -0
- package/.claude/checkpoints/summary-session-20250804-201535.md +363 -0
- package/.claude/checkpoints/summary-session-20250804-201549.md +365 -0
- package/.claude/checkpoints/summary-session-20250804-202423.md +392 -0
- package/.claude/checkpoints/summary-session-20250804-202452.md +394 -0
- package/.claude/checkpoints/summary-session-20250804-211223.md +379 -0
- package/.claude/checkpoints/summary-session-20250804-211630.md +390 -0
- package/.claude/checkpoints/summary-session-20250804-212010.md +416 -0
- package/.claude/checkpoints/summary-session-20250804-212237.md +427 -0
- package/.claude/checkpoints/summary-session-20250804-215710.md +397 -0
- package/.claude/checkpoints/summary-session-20250804-220835.md +429 -0
- package/.claude/checkpoints/summary-session-20250804-221342.md +437 -0
- package/.claude/checkpoints/summary-session-20250804-221525.md +439 -0
- package/.claude/checkpoints/summary-session-20250804-221845.md +432 -0
- package/.claude/checkpoints/summary-session-20250804-222838.md +414 -0
- package/.claude/checkpoints/summary-session-20250805-011856.md +419 -0
- package/.claude/checkpoints/summary-session-20250805-012305.md +436 -0
- package/.claude/checkpoints/summary-session-20250805-012330.md +439 -0
- package/.claude/checkpoints/summary-session-20250805-012638.md +459 -0
- package/.claude/checkpoints/summary-session-20250805-013657.md +484 -0
- package/.claude/checkpoints/summary-session-20250805-014220.md +495 -0
- package/.claude/checkpoints/summary-session-20250805-014540.md +503 -0
- package/.claude/checkpoints/summary-session-20250805-015045.md +512 -0
- package/.claude/checkpoints/summary-session-20250805-015650.md +516 -0
- package/.claude/checkpoints/summary-session-20250805-020847.md +537 -0
- package/.claude/checkpoints/summary-session-20250805-022303.md +546 -0
- package/.claude/checkpoints/summary-session-20250805-025117.md +565 -0
- package/.claude/checkpoints/summary-session-20250805-025600.md +575 -0
- package/.claude/checkpoints/summary-session-20250805-030212.md +621 -0
- package/.claude/checkpoints/summary-session-20250805-031257.md +644 -0
- package/.claude/checkpoints/summary-session-20250805-031705.md +646 -0
- package/.claude/checkpoints/summary-session-20250805-032142.md +642 -0
- package/.claude/checkpoints/summary-session-20250805-032354.md +642 -0
- package/.claude/checkpoints/summary-session-20250805-033410.md +719 -0
- package/.claude/checkpoints/summary-session-20250805-033916.md +729 -0
- package/.claude/checkpoints/summary-session-20250805-033952.md +734 -0
- package/.claude/checkpoints/summary-session-20250805-034018.md +737 -0
- package/.claude/checkpoints/summary-session-20250805-034221.md +735 -0
- package/.claude/checkpoints/summary-session-20250805-034626.md +722 -0
- package/.claude/checkpoints/summary-session-20250805-123114.md +602 -0
- package/.claude/checkpoints/summary-session-20250805-123834.md +622 -0
- package/.claude/checkpoints/summary-session-20250805-124747.md +676 -0
- package/.claude/checkpoints/summary-session-20250805-125154.md +683 -0
- package/.claude/checkpoints/summary-session-20250805-125244.md +686 -0
- package/.claude/checkpoints/summary-session-20250805-125824.md +695 -0
- package/.claude/checkpoints/summary-session-20250805-130337.md +743 -0
- package/.claude/checkpoints/summary-session-20250805-130533.md +747 -0
- package/.claude/checkpoints/summary-session-20250805-131013.md +751 -0
- package/.claude/checkpoints/summary-session-20250805-134756.md +702 -0
- package/.claude/checkpoints/summary-session-20250805-135408.md +700 -0
- package/.claude/checkpoints/summary-session-20250805-193618.md +542 -0
- package/.claude/checkpoints/summary-session-20250805-194451.md +574 -0
- package/.claude/checkpoints/summary-session-20250805-194932.md +582 -0
- package/.claude/checkpoints/summary-session-20250805-200233.md +956 -0
- package/.claude/checkpoints/summary-session-20250805-201358.md +1050 -0
- package/.claude/checkpoints/summary-session-20250805-201545.md +1057 -0
- package/.claude/checkpoints/summary-session-20250805-201634.md +1060 -0
- package/.claude/checkpoints/summary-session-20250805-202405.md +1069 -0
- package/.claude/checkpoints/summary-session-20250805-202539.md +1072 -0
- package/.claude/checkpoints/summary-session-20250805-202923.md +1079 -0
- package/.claude/checkpoints/summary-session-20250805-203512.md +1081 -0
- package/.claude/checkpoints/summary-session-20250805-204803.md +1080 -0
- package/.claude/checkpoints/summary-session-20250806-113646.md +1080 -0
- package/.claude/checkpoints/summary-session-20250806-114340.md +1114 -0
- package/.claude/checkpoints/summary-session-20250806-115102.md +1142 -0
- package/.claude/checkpoints/summary-session-20250806-120006.md +1202 -0
- package/.claude/checkpoints/summary-session-20250806-121210.md +1277 -0
- package/.claude/checkpoints/summary-session-20250806-121804.md +1295 -0
- package/.claude/checkpoints/summary-session-20250806-121923.md +1386 -0
- package/.claude/checkpoints/summary-session-20250806-122009.md +1393 -0
- package/.claude/checkpoints/summary-session-20250806-122832.md +1425 -0
- package/.claude/checkpoints/summary-session-20250806-123857.md +1463 -0
- package/.claude/checkpoints/summary-session-20250806-124339.md +1454 -0
- package/.claude/checkpoints/summary-session-20250806-131030.md +1457 -0
- package/.claude/checkpoints/summary-session-20250806-131036.md +1460 -0
- package/.claude/checkpoints/summary-session-20250806-132629.md +1414 -0
- package/.claude/checkpoints/summary-session-20250806-133644.md +1440 -0
- package/.claude/checkpoints/summary-session-20250807-125301.md +304 -0
- package/.claude/checkpoints/summary-session-20250807-131651.md +596 -0
- package/.claude/checkpoints/summary-session-20250807-132048.md +763 -0
- package/.claude/checkpoints/summary-session-20250807-132330.md +767 -0
- package/.claude/checkpoints/summary-session-20250807-170706.md +675 -0
- package/.claude/checkpoints/summary-session-20250807-171831.md +679 -0
- package/.claude/checkpoints/summary-session-20250807-173048.md +674 -0
- package/.claude/checkpoints/summary-session-20250811-143232.md +59 -0
- package/.claude/checkpoints/summary-session-20250811-144236.md +63 -0
- package/.claude/checkpoints/summary-session-20250811-185512.md +49 -0
- package/.claude/checkpoints/summary-session-20250811-185901.md +61 -0
- package/.claude/checkpoints/summary-session-20250811-185934.md +64 -0
- package/.claude/checkpoints/summary-session-20250811-190537.md +69 -0
- package/.claude/checkpoints/summary-session-20250811-191203.md +77 -0
- package/.claude/checkpoints/summary-session-20250811-201653.md +69 -0
- package/.claude/checkpoints/summary-session-20250811-202920.md +77 -0
- package/.claude/checkpoints/summary-session-20250811-204609.md +102 -0
- package/.claude/checkpoints/summary-session-20250811-205608.md +110 -0
- package/.claude/checkpoints/summary-session-20250811-210336.md +120 -0
- package/.claude/checkpoints/summary-session-20250811-210754.md +127 -0
- package/.claude/checkpoints/summary-session-20250811-213411.md +130 -0
- package/.claude/checkpoints/summary-session-20250811-213547.md +137 -0
- package/.claude/checkpoints/summary-session-20250811-215220.md +127 -0
- package/.claude/checkpoints/summary-session-20250812-030438.md +398 -0
- package/.claude/checkpoints/summary-session-20250812-142301.md +243 -0
- package/.claude/checkpoints/summary-session-20250812-142758.md +257 -0
- package/.claude/checkpoints/summary-session-20250812-143045.md +264 -0
- package/.claude/checkpoints/summary-session-20250812-143337.md +264 -0
- package/.claude/checkpoints/summary-session-20250812-144654.md +322 -0
- package/.claude/checkpoints/summary-session-20250812-145428.md +338 -0
- package/.claude/checkpoints/summary-session-20250812-150459.md +360 -0
- package/.claude/checkpoints/summary-session-20250812-150641.md +364 -0
- package/.claude/checkpoints/summary-session-20250812-150742.md +369 -0
- package/.claude/checkpoints/summary-session-20250812-151438.md +396 -0
- package/.claude/checkpoints/summary-session-20250812-153223.md +375 -0
- package/.claude/checkpoints/summary-session-20250812-153908.md +404 -0
- package/.claude/checkpoints/summary-session-20250812-154646.md +588 -0
- package/.claude/checkpoints/summary-session-20250812-154825.md +414 -0
- package/.claude/checkpoints/summary-session-20250812-155238.md +431 -0
- package/.claude/checkpoints/summary-session-20250812-155441.md +428 -0
- package/.claude/checkpoints/summary-session-20250812-155903.md +450 -0
- package/.claude/checkpoints/summary-session-20250812-160453.md +451 -0
- package/.claude/checkpoints/summary-session-20250812-161936.md +432 -0
- package/.claude/checkpoints/summary-session-20250812-164725.md +454 -0
- package/.claude/checkpoints/summary-session-20250812-165624.md +460 -0
- package/.claude/checkpoints/summary-session-20250812-170545.md +563 -0
- package/.claude/checkpoints/summary-session-20250812-172533.md +630 -0
- package/.claude/checkpoints/summary-session-20250812-173803.md +652 -0
- package/.claude/checkpoints/summary-session-20250812-174256.md +652 -0
- package/.claude/checkpoints/summary-session-20250812-175343.md +610 -0
- package/.claude/checkpoints/summary-session-20250812-175952.md +603 -0
- package/.claude/checkpoints/summary-session-20250812-180342.md +566 -0
- package/.claude/checkpoints/summary-session-20250812-180929.md +537 -0
- package/.claude/checkpoints/summary-session-20250812-181809.md +559 -0
- package/.claude/checkpoints/summary-session-20250812-182341.md +571 -0
- package/.claude/checkpoints/summary-session-20250812-182417.md +578 -0
- package/.claude/checkpoints/summary-session-20250812-183749.md +630 -0
- package/.claude/checkpoints/summary-session-20250812-184319.md +654 -0
- package/.claude/checkpoints/summary-session-20250812-184344.md +657 -0
- package/.claude/checkpoints/summary-session-20250812-184627.md +668 -0
- package/.claude/checkpoints/summary-session-20250812-185625.md +707 -0
- package/.claude/checkpoints/summary-session-20250812-185643.md +710 -0
- package/.claude/checkpoints/summary-session-20250812-185822.md +705 -0
- package/.claude/checkpoints/summary-session-20250812-185841.md +708 -0
- package/.claude/checkpoints/summary-session-20250812-190006.md +710 -0
- package/.claude/checkpoints/summary-session-20250812-190056.md +720 -0
- package/.claude/checkpoints/summary-session-20250812-190135.md +732 -0
- package/.claude/checkpoints/summary-session-20250812-190233.md +738 -0
- package/.claude/checkpoints/summary-session-20250812-190433.md +744 -0
- package/.claude/checkpoints/summary-session-20250812-190613.md +762 -0
- package/.claude/checkpoints/summary-session-20250812-190623.md +764 -0
- package/.claude/checkpoints/summary-session-20250812-190657.md +770 -0
- package/.claude/checkpoints/summary-session-20250812-190730.md +775 -0
- package/.claude/checkpoints/summary-session-20250812-190752.md +780 -0
- package/.claude/checkpoints/summary-session-20250812-190814.md +783 -0
- package/.claude/checkpoints/summary-session-20250812-190902.md +788 -0
- package/.claude/checkpoints/summary-session-20250812-191042.md +788 -0
- package/.claude/checkpoints/summary-session-20250812-191408.md +806 -0
- package/.claude/checkpoints/summary-session-20250812-191414.md +809 -0
- package/.claude/checkpoints/summary-session-20250812-191631.md +813 -0
- package/.claude/checkpoints/summary-session-20250812-191636.md +816 -0
- package/.claude/checkpoints/summary-session-20250812-191645.md +818 -0
- package/.claude/checkpoints/summary-session-20250812-191716.md +822 -0
- package/.claude/checkpoints/summary-session-20250812-191736.md +825 -0
- package/.claude/checkpoints/summary-session-20250812-191906.md +828 -0
- package/.claude/checkpoints/summary-session-20250812-191916.md +831 -0
- package/.claude/checkpoints/summary-session-20250812-192009.md +838 -0
- package/.claude/checkpoints/summary-session-20250812-192021.md +840 -0
- package/.claude/checkpoints/summary-session-20250812-192036.md +843 -0
- package/.claude/checkpoints/summary-session-20250812-192052.md +845 -0
- package/.claude/checkpoints/summary-session-20250812-192653.md +848 -0
- package/.claude/checkpoints/summary-session-20250812-193203.md +848 -0
- package/.claude/checkpoints/summary-session-20250812-193528.md +843 -0
- package/.claude/checkpoints/summary-session-20250812-193848.md +850 -0
- package/.claude/checkpoints/summary-session-20250812-194751.md +872 -0
- package/.claude/checkpoints/summary-session-20250812-195642.md +882 -0
- package/.claude/checkpoints/summary-session-20250812-195832.md +897 -0
- package/.claude/checkpoints/summary-session-20250812-220533.md +673 -0
- package/.claude/checkpoints/summary-session-20250812-221314.md +685 -0
- package/.claude/checkpoints/summary-session-20250812-221712.md +714 -0
- package/.claude/checkpoints/summary-session-20250812-223458.md +729 -0
- package/.claude/checkpoints/summary-session-20250813-143613.md +555 -0
- package/.claude/checkpoints/summary-session-20250813-150640.md +550 -0
- package/.claude/checkpoints/summary-session-20250813-151139.md +563 -0
- package/.claude/checkpoints/summary-session-20250813-160651.md +468 -0
- package/.claude/checkpoints/summary-session-20250813-180939.md +358 -0
- package/.claude/checkpoints/summary-session-20250813-190738.md +223 -0
- package/.claude/checkpoints/summary-session-20250813-190921.md +222 -0
- package/.claude/checkpoints/summary-session-20250813-201703.md +136 -0
- package/.claude/checkpoints/summary-session-20250813-202224.md +159 -0
- package/.claude/checkpoints/summary-session-20250813-202247.md +161 -0
- package/.claude/checkpoints/summary-session-20250813-203523.md +1527 -0
- package/.claude/checkpoints/summary-session-20250813-203954.md +1536 -0
- package/.claude/checkpoints/summary-session-20250813-204113.md +253 -0
- package/.claude/checkpoints/summary-session-20250813-204229.md +258 -0
- package/.claude/checkpoints/summary-session-20250813-205933.md +1634 -0
- package/.claude/checkpoints/summary-session-20250813-210008.md +263 -0
- package/.claude/checkpoints/summary-session-20250813-210240.md +272 -0
- package/.claude/checkpoints/summary-session-20250813-210745.md +283 -0
- package/.claude/checkpoints/summary-session-20250813-211415.md +279 -0
- package/.claude/checkpoints/summary-session-20250813-212531.md +1885 -0
- package/.claude/checkpoints/summary-session-20250813-220001.md +204 -0
- package/.claude/checkpoints/summary-session-20250814-141120.md +163 -0
- package/.claude/checkpoints/summary-session-20250814-141751.md +166 -0
- package/.claude/checkpoints/summary-session-20250816-142659.md +56 -0
- package/.claude/checkpoints/summary-session-20250816-143114.md +79 -0
- package/.claude/checkpoints/summary-session-20250816-143344.md +100 -0
- package/.claude/checkpoints/summary-session-20250816-143645.md +127 -0
- package/.claude/checkpoints/summary-session-20250816-144204.md +149 -0
- package/.claude/checkpoints/summary-session-20250816-144550.md +158 -0
- package/.claude/checkpoints/summary-session-20250816-145523.md +207 -0
- package/.claude/checkpoints/summary-session-20250816-150009.md +213 -0
- package/.claude/checkpoints/summary-session-20250816-150700.md +226 -0
- package/.claude/checkpoints/summary-session-20250816-150714.md +230 -0
- package/.claude/checkpoints/summary-session-20250816-150907.md +233 -0
- package/.claude/checkpoints/summary-session-20250816-151945.md +247 -0
- package/.claude/checkpoints/summary-session-20250816-153225.md +224 -0
- package/.claude/checkpoints/summary-session-20250816-153612.md +207 -0
- package/.claude/checkpoints/summary-session-20250816-155917.md +158 -0
- package/.claude/checkpoints/summary-session-20250816-161810.md +162 -0
- package/.claude/checkpoints/summary-session-20250816-162716.md +167 -0
- package/.claude/checkpoints/summary-session-20250816-163149.md +171 -0
- package/.claude/checkpoints/summary-session-20250816-164517.md +207 -0
- package/.claude/checkpoints/summary-session-20250816-165112.md +216 -0
- package/.claude/checkpoints/summary-session-20250816-165311.md +229 -0
- package/.claude/checkpoints/summary-session-20250816-165339.md +233 -0
- package/.claude/checkpoints/summary-session-20250816-165349.md +236 -0
- package/.claude/checkpoints/summary-session-20250816-165635.md +247 -0
- package/.claude/checkpoints/summary-session-20250816-170504.md +248 -0
- package/.claude/checkpoints/summary-session-20250816-170903.md +251 -0
- package/.claude/checkpoints/summary-session-20250816-170930.md +254 -0
- package/.claude/checkpoints/summary-session-20250816-171018.md +257 -0
- package/.claude/checkpoints/summary-session-20250816-171743.md +253 -0
- package/.claude/checkpoints/summary-session-20250821-185022.md +256 -0
- package/.claude/checkpoints/summary-session-20250821-190142.md +268 -0
- package/.claude/checkpoints/summary-session-20250821-191136.md +280 -0
- package/.claude/checkpoints/summary-session-20250821-191522.md +287 -0
- package/.claude/checkpoints/summary-session-20250821-193306.md +107 -0
- package/.claude/checkpoints/summary-session-20250821-193619.md +486 -0
- package/.claude/checkpoints/summary-session-20250826-141841.md +38 -0
- package/.claude/checkpoints/summary-session-20250826-141907.md +41 -0
- package/.claude/checkpoints/summary-session-20250826-142549.md +75 -0
- package/.claude/checkpoints/summary-session-20250826-160258.md +1264 -0
- package/.claude/checkpoints/summary-session-20250826-161255.md +1277 -0
- package/.claude/checkpoints/summary-session-20250826-163030.md +1293 -0
- package/.claude/checkpoints/summary-session-20250826-163514.md +1306 -0
- package/.claude/checkpoints/summary-session-20250826-164413.md +1323 -0
- package/.claude/checkpoints/summary-session-20250826-164827.md +1342 -0
- package/.claude/checkpoints/summary-session-20250826-165852.md +1351 -0
- package/.claude/checkpoints/summary-session-20250826-170402.md +1367 -0
- package/.claude/checkpoints/summary-session-20250826-175112.md +1327 -0
- package/.claude/checkpoints/summary-session-20250826-175609.md +1324 -0
- package/.claude/checkpoints/summary-session-20250826-175743.md +1327 -0
- package/.claude/checkpoints/summary-session-20250826-180554.md +1340 -0
- package/.claude/checkpoints/summary-session-20250826-181530.md +1344 -0
- package/.claude/checkpoints/summary-session-20250826-181633.md +1347 -0
- package/.claude/checkpoints/summary-session-20250826-182235.md +1350 -0
- package/.claude/checkpoints/summary-session-20250826-182618.md +1353 -0
- package/.claude/checkpoints/summary-session-20250826-183200.md +1372 -0
- package/.claude/checkpoints/summary-session-20250826-183232.md +1379 -0
- package/.claude/checkpoints/summary-session-20250829-133605.md +38 -0
- package/.claude/checkpoints/summary-session-20250829-134121.md +41 -0
- package/.claude/checkpoints/summary-session-20250829-134400.md +46 -0
- package/.claude/checkpoints/summary-session-20250829-134858.md +49 -0
- package/.claude/checkpoints/summary-session-20250829-135402.md +52 -0
- package/.claude/checkpoints/summary-session-20250829-135640.md +58 -0
- package/.claude/checkpoints/summary-session-20250829-135754.md +65 -0
- package/.claude/checkpoints/summary-session-20250829-135902.md +71 -0
- package/.claude/checkpoints/summary-session-20250829-140629.md +119 -0
- package/.claude/checkpoints/summary-session-20250829-140733.md +121 -0
- package/.claude/checkpoints/summary-session-20250902-190126.md +38 -0
- package/.claude/checkpoints/summary-session-20250904-150003.md +87 -0
- package/.claude/checkpoints/summary-session-20250906-202218.md +2757 -0
- package/.claude/checkpoints/summary-session-20250906-202622.md +2814 -0
- package/.claude/checkpoints/summary-session-20250906-203037.md +2826 -0
- package/.claude/checkpoints/summary-session-20250906-233055.md +3163 -0
- package/.claude/checkpoints/summary-session-20250906-234236.md +3166 -0
- package/.claude/checkpoints/summary-session-20250907-013053.md +2846 -0
- package/.claude/checkpoints/summary-session-20250907-020019.md +2859 -0
- package/.claude/checkpoints/summary-session-20250907-032427.md +2848 -0
- package/.claude/checkpoints/summary-session-20250907-051655.md +2853 -0
- package/.claude/checkpoints/summary-session-20250910-132450.md +52 -0
- package/.claude/checkpoints/summary-session-20250910-133410.md +112 -0
- package/.claude/checkpoints/summary-session-20250910-133719.md +120 -0
- package/.claude/checkpoints/summary-session-20250910-134317.md +124 -0
- package/.claude/checkpoints/summary-session-20250910-164935.md +95 -0
- package/.claude/checkpoints/summary-session-20250910-165140.md +98 -0
- package/.claude/checkpoints/summary-session-20250910-165653.md +115 -0
- package/.claude/checkpoints/summary-session-20250910-170148.md +125 -0
- package/.claude/checkpoints/summary-session-20250910-170504.md +129 -0
- package/.claude/checkpoints/summary-session-20250910-170902.md +132 -0
- package/.claude/checkpoints/summary-session-20250910-171246.md +135 -0
- package/.claude/checkpoints/summary-session-20250910-171813.md +138 -0
- package/.claude/checkpoints/summary-session-20250910-172950.md +142 -0
- package/.claude/checkpoints/summary-session-20250910-173212.md +145 -0
- package/.claude/checkpoints/summary-session-20250910-173319.md +148 -0
- package/.claude/checkpoints/summary-session-20250910-173449.md +151 -0
- package/.claude/checkpoints/summary-session-20250910-173852.md +154 -0
- package/.claude/checkpoints/summary-session-20250910-174654.md +161 -0
- package/.claude/checkpoints/summary-session-20250910-174807.md +168 -0
- package/.claude/checkpoints/summary-session-20250910-174923.md +172 -0
- package/.claude/checkpoints/summary-session-20250910-175506.md +167 -0
- package/.claude/checkpoints/summary-session-20250910-180955.md +167 -0
- package/.claude/checkpoints/summary-session-20250910-181825.md +178 -0
- package/.claude/checkpoints/summary-session-20250910-183751.md +224 -0
- package/.claude/checkpoints/summary-session-20250918-174604.md +41 -0
- package/.claude/checkpoints/summary-session-20250918-174756.md +44 -0
- package/.claude/checkpoints/summary-session-20250918-175220.md +47 -0
- package/.claude/checkpoints/summary-session-20250918-175422.md +55 -0
- package/.claude/checkpoints/summary-session-20250918-183851.md +57 -0
- package/.claude/checkpoints/summary-session-20250918-184525.md +71 -0
- package/.claude/checkpoints/summary-session-20250918-184922.md +71 -0
- package/.claude/checkpoints/summary-session-20250918-190438.md +71 -0
- package/.claude/checkpoints/summary-session-20250918-190620.md +78 -0
- package/.claude/checkpoints/summary-session-20250918-190853.md +101 -0
- package/.claude/checkpoints/summary-session-20250918-191727.md +109 -0
- package/.claude/checkpoints/summary-session-20250918-192008.md +112 -0
- package/.claude/checkpoints/summary-session-20250918-192601.md +115 -0
- package/.claude/checkpoints/summary-session-20250918-192720.md +118 -0
- package/.claude/checkpoints/summary-session-20250918-193031.md +125 -0
- package/.claude/checkpoints/summary-session-20250918-193420.md +136 -0
- package/.claude/checkpoints/summary-session-20250918-194300.md +195 -0
- package/.claude/checkpoints/summary-session-20250918-194523.md +202 -0
- package/.claude/checkpoints/summary-session-20250918-194606.md +205 -0
- package/.claude/checkpoints/summary-session-20250918-194619.md +208 -0
- package/.claude/checkpoints/summary-session-20250918-195635.md +229 -0
- package/.claude/checkpoints/summary-session-20250918-202909.md +212 -0
- package/.claude/checkpoints/summary-session-20250918-212008.md +288 -0
- package/.claude/checkpoints/summary-session-20250918-212542.md +294 -0
- package/.claude/checkpoints/summary-session-20250918-213647.md +288 -0
- package/.claude/checkpoints/summary-session-20250918-214154.md +1844 -0
- package/.claude/checkpoints/summary-session-20250918-214356.md +1477 -0
- package/.claude/checkpoints/summary-session-20250918-214659.md +1829 -0
- package/.claude/checkpoints/summary-session-20250918-215525.md +2152 -0
- package/.claude/checkpoints/summary-session-20250918-221503.md +2150 -0
- package/.claude/checkpoints/summary-session-20250918-221613.md +2256 -0
- package/.claude/checkpoints/summary-session-20250918-221903.md +2425 -0
- package/.claude/checkpoints/summary-session-20250918-221953.md +2427 -0
- package/.claude/checkpoints/summary-session-20250918-222457.md +2434 -0
- package/.claude/checkpoints/summary-session-20250918-222708.md +2439 -0
- package/.claude/checkpoints/summary-session-20250918-223558.md +2473 -0
- package/.claude/checkpoints/summary-session-20250926-143850.md +1776 -0
- package/.claude/checkpoints/summary-session-20250926-144404.md +1783 -0
- package/.claude/checkpoints/summary-session-20250926-144731.md +1787 -0
- package/.claude/checkpoints/summary-session-20250926-145336.md +1793 -0
- package/.claude/checkpoints/summary-session-20250926-150406.md +1799 -0
- package/.claude/checkpoints/summary-session-20250926-150830.md +1801 -0
- package/.claude/checkpoints/summary-session-20250926-151227.md +1813 -0
- package/.claude/checkpoints/summary-session-20250926-151258.md +166 -0
- package/.claude/checkpoints/summary-session-20250926-152222.md +225 -0
- package/.claude/checkpoints/summary-session-20250926-152653.md +250 -0
- package/.claude/checkpoints/summary-session-20250926-153346.md +1302 -0
- package/.claude/checkpoints/summary-session-20250926-153547.md +1304 -0
- package/.claude/checkpoints/summary-session-20250926-153814.md +1228 -0
- package/.claude/checkpoints/summary-session-20250926-154149.md +1299 -0
- package/.claude/checkpoints/summary-session-20250926-154555.md +1305 -0
- package/.claude/checkpoints/summary-session-20250926-155158.md +1303 -0
- package/.claude/checkpoints/summary-session-20250926-164859.md +99 -0
- package/.claude/checkpoints/summary-session-20250926-170658.md +100 -0
- package/.claude/checkpoints/summary-session-20250926-171226.md +131 -0
- package/.claude/checkpoints/summary-session-20250926-173942.md +187 -0
- package/.claude/checkpoints/summary-session-20250926-174627.md +234 -0
- package/.claude/checkpoints/summary-session-20250926-175225.md +262 -0
- package/.claude/checkpoints/summary-session-20250926-175458.md +266 -0
- package/.claude/checkpoints/summary-session-20250926-175950.md +396 -0
- package/.claude/checkpoints/summary-session-20250926-180737.md +388 -0
- package/.claude/checkpoints/summary-session-20250926-184515.md +409 -0
- package/.claude/checkpoints/summary-session-20250926-191241.md +247 -0
- package/.claude/checkpoints/summary-session-20250926-191759.md +249 -0
- package/.claude/checkpoints/summary-session-20250926-192641.md +252 -0
- package/.claude/checkpoints/task-1753913133.json +7 -0
- package/.claude/checkpoints/task-1753913281.json +7 -0
- package/.claude/checkpoints/task-1753913468.json +7 -0
- package/.claude/checkpoints/task-1753978885.json +7 -0
- package/.claude/checkpoints/task-1753979030.json +7 -0
- package/.claude/checkpoints/task-1753979159.json +7 -0
- package/.claude/checkpoints/task-1753979667.json +7 -0
- package/.claude/checkpoints/task-1753979823.json +7 -0
- package/.claude/checkpoints/task-1753980048.json +7 -0
- package/.claude/checkpoints/task-1753980144.json +7 -0
- package/.claude/checkpoints/task-1753980195.json +7 -0
- package/.claude/checkpoints/task-1753980418.json +7 -0
- package/.claude/checkpoints/task-1753980464.json +7 -0
- package/.claude/checkpoints/task-1753980570.json +7 -0
- package/.claude/checkpoints/task-1753989347.json +7 -0
- package/.claude/checkpoints/task-1753989565.json +7 -0
- package/.claude/checkpoints/task-1753989862.json +7 -0
- package/.claude/checkpoints/task-1753989875.json +7 -0
- package/.claude/checkpoints/task-1753990005.json +7 -0
- package/.claude/checkpoints/task-1753990081.json +7 -0
- package/.claude/checkpoints/task-1753990201.json +7 -0
- package/.claude/checkpoints/task-1753990251.json +7 -0
- package/.claude/checkpoints/task-1753990417.json +7 -0
- package/.claude/checkpoints/task-1753990715.json +7 -0
- package/.claude/checkpoints/task-1753990753.json +7 -0
- package/.claude/checkpoints/task-1753990966.json +7 -0
- package/.claude/checkpoints/task-1753991048.json +7 -0
- package/.claude/checkpoints/task-1753991287.json +7 -0
- package/.claude/checkpoints/task-1753992757.json +7 -0
- package/.claude/checkpoints/task-1753992828.json +7 -0
- package/.claude/checkpoints/task-1753992996.json +7 -0
- package/.claude/checkpoints/task-1753993542.json +7 -0
- package/.claude/checkpoints/task-1753994277.json +7 -0
- package/.claude/checkpoints/task-1754066681.json +1 -0
- package/.claude/checkpoints/task-1754067528.json +1 -0
- package/.claude/checkpoints/task-1754067561.json +1 -0
- package/.claude/checkpoints/task-1754067770.json +1 -0
- package/.claude/checkpoints/task-1754068093.json +1 -0
- package/.claude/checkpoints/task-1754070418.json +1 -0
- package/.claude/checkpoints/task-1754070494.json +1 -0
- package/.claude/checkpoints/task-1754071234.json +1 -0
- package/.claude/checkpoints/task-1754072242.json +1 -0
- package/.claude/checkpoints/task-1754073057.json +1 -0
- package/.claude/checkpoints/task-1754073303.json +1 -0
- package/.claude/checkpoints/task-1754074009.json +1 -0
- package/.claude/checkpoints/task-1754074048.json +1 -0
- package/.claude/checkpoints/task-1754074070.json +1 -0
- package/.claude/checkpoints/task-1754074097.json +1 -0
- package/.claude/checkpoints/task-1754074145.json +1 -0
- package/.claude/checkpoints/task-1754074213.json +1 -0
- package/.claude/checkpoints/task-1754076025.json +1 -0
- package/.claude/checkpoints/task-1754222974.json +1 -0
- package/.claude/checkpoints/task-1754223177.json +1 -0
- package/.claude/checkpoints/task-1754223213.json +1 -0
- package/.claude/checkpoints/task-1754223296.json +1 -0
- package/.claude/checkpoints/task-1754223297.json +1 -0
- package/.claude/checkpoints/task-1754223327.json +1 -0
- package/.claude/checkpoints/task-1754223467.json +1 -0
- package/.claude/checkpoints/task-1754223502.json +1 -0
- package/.claude/checkpoints/task-1754223869.json +1 -0
- package/.claude/checkpoints/task-1754224042.json +1 -0
- package/.claude/checkpoints/task-1754224323.json +1 -0
- package/.claude/checkpoints/task-1754224368.json +1 -0
- package/.claude/checkpoints/task-1754224383.json +1 -0
- package/.claude/checkpoints/task-1754224406.json +1 -0
- package/.claude/checkpoints/task-1754224432.json +1 -0
- package/.claude/checkpoints/task-1754224451.json +1 -0
- package/.claude/checkpoints/task-1754224457.json +1 -0
- package/.claude/checkpoints/task-1754224463.json +1 -0
- package/.claude/checkpoints/task-1754224535.json +1 -0
- package/.claude/checkpoints/task-1754224720.json +1 -0
- package/.claude/checkpoints/task-1754224840.json +1 -0
- package/.claude/checkpoints/task-1754225063.json +1 -0
- package/.claude/checkpoints/task-1754225371.json +1 -0
- package/.claude/checkpoints/task-1754225450.json +1 -0
- package/.claude/checkpoints/task-1754225463.json +1 -0
- package/.claude/checkpoints/task-1754225535.json +1 -0
- package/.claude/checkpoints/task-1754225563.json +1 -0
- package/.claude/checkpoints/task-1754225641.json +1 -0
- package/.claude/checkpoints/task-1754225653.json +1 -0
- package/.claude/checkpoints/task-1754225752.json +1 -0
- package/.claude/checkpoints/task-1754225797.json +1 -0
- package/.claude/checkpoints/task-1754225840.json +1 -0
- package/.claude/checkpoints/task-1754226060.json +1 -0
- package/.claude/checkpoints/task-1754226366.json +1 -0
- package/.claude/checkpoints/task-1754226444.json +1 -0
- package/.claude/checkpoints/task-1754227038.json +1 -0
- package/.claude/checkpoints/task-1754227293.json +1 -0
- package/.claude/checkpoints/task-1754227376.json +1 -0
- package/.claude/checkpoints/task-1754227388.json +1 -0
- package/.claude/checkpoints/task-1754227808.json +1 -0
- package/.claude/checkpoints/task-1754228496.json +1 -0
- package/.claude/checkpoints/task-1754228537.json +1 -0
- package/.claude/checkpoints/task-1754228918.json +1 -0
- package/.claude/checkpoints/task-1754228954.json +1 -0
- package/.claude/checkpoints/task-1754228998.json +1 -0
- package/.claude/checkpoints/task-1754229150.json +1 -0
- package/.claude/checkpoints/task-1754316274.json +1 -0
- package/.claude/checkpoints/task-1754316371.json +1 -0
- package/.claude/checkpoints/task-1754316513.json +1 -0
- package/.claude/checkpoints/task-1754316675.json +1 -0
- package/.claude/checkpoints/task-1754316752.json +1 -0
- package/.claude/checkpoints/task-1754316788.json +1 -0
- package/.claude/checkpoints/task-1754316894.json +1 -0
- package/.claude/checkpoints/task-1754316979.json +1 -0
- package/.claude/checkpoints/task-1754317274.json +1 -0
- package/.claude/checkpoints/task-1754317400.json +1 -0
- package/.claude/checkpoints/task-1754317550.json +1 -0
- package/.claude/checkpoints/task-1754317773.json +1 -0
- package/.claude/checkpoints/task-1754317909.json +1 -0
- package/.claude/checkpoints/task-1754318307.json +1 -0
- package/.claude/checkpoints/task-1754319468.json +1 -0
- package/.claude/checkpoints/task-1754319469.json +1 -0
- package/.claude/checkpoints/task-1754319849.json +1 -0
- package/.claude/checkpoints/task-1754322263.json +1 -0
- package/.claude/checkpoints/task-1754322264.json +1 -0
- package/.claude/checkpoints/task-1754322422.json +1 -0
- package/.claude/checkpoints/task-1754334250.json +1 -0
- package/.claude/checkpoints/task-1754334434.json +1 -0
- package/.claude/checkpoints/task-1754334435.json +1 -0
- package/.claude/checkpoints/task-1754335001.json +1 -0
- package/.claude/checkpoints/task-1754335002.json +1 -0
- package/.claude/checkpoints/task-1754335003.json +1 -0
- package/.claude/checkpoints/task-1754335123.json +1 -0
- package/.claude/checkpoints/task-1754335666.json +1 -0
- package/.claude/checkpoints/task-1754335840.json +1 -0
- package/.claude/checkpoints/task-1754337382.json +1 -0
- package/.claude/checkpoints/task-1754337459.json +1 -0
- package/.claude/checkpoints/task-1754337611.json +1 -0
- package/.claude/checkpoints/task-1754337821.json +1 -0
- package/.claude/checkpoints/task-1754337824.json +1 -0
- package/.claude/checkpoints/task-1754337827.json +1 -0
- package/.claude/checkpoints/task-1754337830.json +1 -0
- package/.claude/checkpoints/task-1754337834.json +1 -0
- package/.claude/checkpoints/task-1754337839.json +1 -0
- package/.claude/checkpoints/task-1754337899.json +1 -0
- package/.claude/checkpoints/task-1754338036.json +1 -0
- package/.claude/checkpoints/task-1754338111.json +1 -0
- package/.claude/checkpoints/task-1754338295.json +1 -0
- package/.claude/checkpoints/task-1754338361.json +1 -0
- package/.claude/checkpoints/task-1754338480.json +1 -0
- package/.claude/checkpoints/task-1754338504.json +1 -0
- package/.claude/checkpoints/task-1754338639.json +1 -0
- package/.claude/checkpoints/task-1754338848.json +1 -0
- package/.claude/checkpoints/task-1754338864.json +1 -0
- package/.claude/checkpoints/task-1754338920.json +1 -0
- package/.claude/checkpoints/task-1754339084.json +1 -0
- package/.claude/checkpoints/task-1754339110.json +1 -0
- package/.claude/checkpoints/task-1754339336.json +1 -0
- package/.claude/checkpoints/task-1754339566.json +1 -0
- package/.claude/checkpoints/task-1754341796.json +1 -0
- package/.claude/checkpoints/task-1754341832.json +1 -0
- package/.claude/checkpoints/task-1754341833.json +1 -0
- package/.claude/checkpoints/task-1754341836.json +1 -0
- package/.claude/checkpoints/task-1754341999.json +1 -0
- package/.claude/checkpoints/task-1754342131.json +1 -0
- package/.claude/checkpoints/task-1754342203.json +1 -0
- package/.claude/checkpoints/task-1754342204.json +1 -0
- package/.claude/checkpoints/task-1754342205.json +1 -0
- package/.claude/checkpoints/task-1754342207.json +1 -0
- package/.claude/checkpoints/task-1754342208.json +1 -0
- package/.claude/checkpoints/task-1754342270.json +1 -0
- package/.claude/checkpoints/task-1754342436.json +1 -0
- package/.claude/checkpoints/task-1754342480.json +1 -0
- package/.claude/checkpoints/task-1754342675.json +1 -0
- package/.claude/checkpoints/task-1754344346.json +1 -0
- package/.claude/checkpoints/task-1754345020.json +1 -0
- package/.claude/checkpoints/task-1754345222.json +1 -0
- package/.claude/checkpoints/task-1754345313.json +1 -0
- package/.claude/checkpoints/task-1754345355.json +1 -0
- package/.claude/checkpoints/task-1754345431.json +1 -0
- package/.claude/checkpoints/task-1754345452.json +1 -0
- package/.claude/checkpoints/task-1754345497.json +1 -0
- package/.claude/checkpoints/task-1754345590.json +1 -0
- package/.claude/checkpoints/task-1754345672.json +1 -0
- package/.claude/checkpoints/task-1754345740.json +1 -0
- package/.claude/checkpoints/task-1754346200.json +1 -0
- package/.claude/checkpoints/task-1754356415.json +1 -0
- package/.claude/checkpoints/task-1754356436.json +1 -0
- package/.claude/checkpoints/task-1754356527.json +1 -0
- package/.claude/checkpoints/task-1754356635.json +1 -0
- package/.claude/checkpoints/task-1754356913.json +1 -0
- package/.claude/checkpoints/task-1754357049.json +1 -0
- package/.claude/checkpoints/task-1754357219.json +1 -0
- package/.claude/checkpoints/task-1754357233.json +1 -0
- package/.claude/checkpoints/task-1754357283.json +1 -0
- package/.claude/checkpoints/task-1754357376.json +1 -0
- package/.claude/checkpoints/task-1754357438.json +1 -0
- package/.claude/checkpoints/task-1754357483.json +1 -0
- package/.claude/checkpoints/task-1754357747.json +1 -0
- package/.claude/checkpoints/task-1754357862.json +1 -0
- package/.claude/checkpoints/task-1754357893.json +1 -0
- package/.claude/checkpoints/task-1754358033.json +1 -0
- package/.claude/checkpoints/task-1754358165.json +1 -0
- package/.claude/checkpoints/task-1754358179.json +1 -0
- package/.claude/checkpoints/task-1754358296.json +1 -0
- package/.claude/checkpoints/task-1754358439.json +1 -0
- package/.claude/checkpoints/task-1754358628.json +1 -0
- package/.claude/checkpoints/task-1754359000.json +1 -0
- package/.claude/checkpoints/task-1754359492.json +1 -0
- package/.claude/checkpoints/task-1754359902.json +1 -0
- package/.claude/checkpoints/task-1754360322.json +1 -0
- package/.claude/checkpoints/task-1754360671.json +1 -0
- package/.claude/checkpoints/task-1754360706.json +1 -0
- package/.claude/checkpoints/task-1754360812.json +1 -0
- package/.claude/checkpoints/task-1754360924.json +1 -0
- package/.claude/checkpoints/task-1754361963.json +1 -0
- package/.claude/checkpoints/task-1754362069.json +1 -0
- package/.claude/checkpoints/task-1754362175.json +1 -0
- package/.claude/checkpoints/task-1754362176.json +1 -0
- package/.claude/checkpoints/task-1754362280.json +1 -0
- package/.claude/checkpoints/task-1754362287.json +1 -0
- package/.claude/checkpoints/task-1754362344.json +1 -0
- package/.claude/checkpoints/task-1754362473.json +1 -0
- package/.claude/checkpoints/task-1754362637.json +1 -0
- package/.claude/checkpoints/task-1754363007.json +1 -0
- package/.claude/checkpoints/task-1754363622.json +1 -0
- package/.claude/checkpoints/task-1754363819.json +1 -0
- package/.claude/checkpoints/task-1754363959.json +1 -0
- package/.claude/checkpoints/task-1754364182.json +1 -0
- package/.claude/checkpoints/task-1754364234.json +1 -0
- package/.claude/checkpoints/task-1754364319.json +1 -0
- package/.claude/checkpoints/task-1754364465.json +1 -0
- package/.claude/checkpoints/task-1754364506.json +1 -0
- package/.claude/checkpoints/task-1754364531.json +1 -0
- package/.claude/checkpoints/task-1754364583.json +1 -0
- package/.claude/checkpoints/task-1754364667.json +1 -0
- package/.claude/checkpoints/task-1754364715.json +1 -0
- package/.claude/checkpoints/task-1754364739.json +1 -0
- package/.claude/checkpoints/task-1754364786.json +1 -0
- package/.claude/checkpoints/task-1754364793.json +1 -0
- package/.claude/checkpoints/task-1754364926.json +1 -0
- package/.claude/checkpoints/task-1754365138.json +1 -0
- package/.claude/checkpoints/task-1754365266.json +1 -0
- package/.claude/checkpoints/task-1754365411.json +1 -0
- package/.claude/checkpoints/task-1754396882.json +1 -0
- package/.claude/checkpoints/task-1754396996.json +1 -0
- package/.claude/checkpoints/task-1754397364.json +1 -0
- package/.claude/checkpoints/task-1754397566.json +1 -0
- package/.claude/checkpoints/task-1754397827.json +1 -0
- package/.claude/checkpoints/task-1754397906.json +1 -0
- package/.claude/checkpoints/task-1754397934.json +1 -0
- package/.claude/checkpoints/task-1754397965.json +1 -0
- package/.claude/checkpoints/task-1754398085.json +1 -0
- package/.claude/checkpoints/task-1754398359.json +1 -0
- package/.claude/checkpoints/task-1754398502.json +1 -0
- package/.claude/checkpoints/task-1754398689.json +1 -0
- package/.claude/checkpoints/task-1754398907.json +1 -0
- package/.claude/checkpoints/task-1754399042.json +1 -0
- package/.claude/checkpoints/task-1754399200.json +1 -0
- package/.claude/checkpoints/task-1754401597.json +1 -0
- package/.claude/checkpoints/task-1754401875.json +1 -0
- package/.claude/checkpoints/task-1754403259.json +1 -0
- package/.claude/checkpoints/task-1754422400.json +1 -0
- package/.claude/checkpoints/task-1754422444.json +1 -0
- package/.claude/checkpoints/task-1754422455.json +1 -0
- package/.claude/checkpoints/task-1754422536.json +1 -0
- package/.claude/checkpoints/task-1754422724.json +1 -0
- package/.claude/checkpoints/task-1754422854.json +1 -0
- package/.claude/checkpoints/task-1754422974.json +1 -0
- package/.claude/checkpoints/task-1754423111.json +1 -0
- package/.claude/checkpoints/task-1754423117.json +1 -0
- package/.claude/checkpoints/task-1754424032.json +1 -0
- package/.claude/checkpoints/task-1754424181.json +1 -0
- package/.claude/checkpoints/task-1754424313.json +1 -0
- package/.claude/checkpoints/task-1754424604.json +1 -0
- package/.claude/checkpoints/task-1754424741.json +1 -0
- package/.claude/checkpoints/task-1754424873.json +1 -0
- package/.claude/checkpoints/task-1754424930.json +1 -0
- package/.claude/checkpoints/task-1754424980.json +1 -0
- package/.claude/checkpoints/task-1754425127.json +1 -0
- package/.claude/checkpoints/task-1754425201.json +1 -0
- package/.claude/checkpoints/task-1754425469.json +1 -0
- package/.claude/checkpoints/task-1754425605.json +1 -0
- package/.claude/checkpoints/task-1754425801.json +1 -0
- package/.claude/checkpoints/task-1754426653.json +1 -0
- package/.claude/checkpoints/task-1754426785.json +1 -0
- package/.claude/checkpoints/task-1754426804.json +1 -0
- package/.claude/checkpoints/task-1754426917.json +1 -0
- package/.claude/checkpoints/task-1754432056.json +1 -0
- package/.claude/checkpoints/task-1754432109.json +1 -0
- package/.claude/checkpoints/task-1754442147.json +1 -0
- package/.claude/checkpoints/task-1754442427.json +1 -0
- package/.claude/checkpoints/task-1754443268.json +1 -0
- package/.claude/checkpoints/task-1754443284.json +1 -0
- package/.claude/checkpoints/task-1754443437.json +1 -0
- package/.claude/checkpoints/task-1754443469.json +1 -0
- package/.claude/checkpoints/task-1754446387.json +1 -0
- package/.claude/checkpoints/task-1754479611.json +1 -0
- package/.claude/checkpoints/task-1754480327.json +1 -0
- package/.claude/checkpoints/task-1754480656.json +1 -0
- package/.claude/checkpoints/task-1754481099.json +1 -0
- package/.claude/checkpoints/task-1754481762.json +1 -0
- package/.claude/checkpoints/task-1754481840.json +1 -0
- package/.claude/checkpoints/task-1754482584.json +1 -0
- package/.claude/checkpoints/task-1754482679.json +1 -0
- package/.claude/checkpoints/task-1754482753.json +1 -0
- package/.claude/checkpoints/task-1754482763.json +1 -0
- package/.claude/checkpoints/task-1754482801.json +1 -0
- package/.claude/checkpoints/task-1754483343.json +1 -0
- package/.claude/checkpoints/task-1754483539.json +1 -0
- package/.claude/checkpoints/task-1754483716.json +1 -0
- package/.claude/checkpoints/task-1754484027.json +1 -0
- package/.claude/checkpoints/task-1754484058.json +1 -0
- package/.claude/checkpoints/task-1754484538.json +1 -0
- package/.claude/checkpoints/task-1754484733.json +1 -0
- package/.claude/checkpoints/task-1754484773.json +1 -0
- package/.claude/checkpoints/task-1754484820.json +1 -0
- package/.claude/checkpoints/task-1754485072.json +1 -0
- package/.claude/checkpoints/task-1754485162.json +1 -0
- package/.claude/checkpoints/task-1754485221.json +1 -0
- package/.claude/checkpoints/task-1754485355.json +1 -0
- package/.claude/checkpoints/task-1754485458.json +1 -0
- package/.claude/checkpoints/task-1754485569.json +1 -0
- package/.claude/checkpoints/task-1754485586.json +1 -0
- package/.claude/checkpoints/task-1754485640.json +1 -0
- package/.claude/checkpoints/task-1754485681.json +1 -0
- package/.claude/checkpoints/task-1754485695.json +1 -0
- package/.claude/checkpoints/task-1754485718.json +1 -0
- package/.claude/checkpoints/task-1754485732.json +1 -0
- package/.claude/checkpoints/task-1754485925.json +1 -0
- package/.claude/checkpoints/task-1754486196.json +1 -0
- package/.claude/checkpoints/task-1754486326.json +1 -0
- package/.claude/checkpoints/task-1754486388.json +1 -0
- package/.claude/checkpoints/task-1754486427.json +1 -0
- package/.claude/checkpoints/task-1754486458.json +1 -0
- package/.claude/checkpoints/task-1754486645.json +1 -0
- package/.claude/checkpoints/task-1754486658.json +1 -0
- package/.claude/checkpoints/task-1754486684.json +1 -0
- package/.claude/checkpoints/task-1754486700.json +1 -0
- package/.claude/checkpoints/task-1754486716.json +1 -0
- package/.claude/checkpoints/task-1754486756.json +1 -0
- package/.claude/checkpoints/task-1754486764.json +1 -0
- package/.claude/checkpoints/task-1754486772.json +1 -0
- package/.claude/checkpoints/task-1754486851.json +1 -0
- package/.claude/checkpoints/task-1754486965.json +1 -0
- package/.claude/checkpoints/task-1754486979.json +1 -0
- package/.claude/checkpoints/task-1754487005.json +1 -0
- package/.claude/checkpoints/task-1754487045.json +1 -0
- package/.claude/checkpoints/task-1754487078.json +1 -0
- package/.claude/checkpoints/task-1754487121.json +1 -0
- package/.claude/checkpoints/task-1754487162.json +1 -0
- package/.claude/checkpoints/task-1754487193.json +1 -0
- package/.claude/checkpoints/task-1754487377.json +1 -0
- package/.claude/checkpoints/task-1754487387.json +1 -0
- package/.claude/checkpoints/task-1754487396.json +1 -0
- package/.claude/checkpoints/task-1754487449.json +1 -0
- package/.claude/checkpoints/task-1754487462.json +1 -0
- package/.claude/checkpoints/task-1754487493.json +1 -0
- package/.claude/checkpoints/task-1754487569.json +1 -0
- package/.claude/checkpoints/task-1754487622.json +1 -0
- package/.claude/checkpoints/task-1754488647.json +1 -0
- package/.claude/checkpoints/task-1754489012.json +1 -0
- package/.claude/checkpoints/task-1754570662.json +1 -0
- package/.claude/checkpoints/task-1754571217.json +1 -0
- package/.claude/checkpoints/task-1754572538.json +1 -0
- package/.claude/checkpoints/task-1754572705.json +1 -0
- package/.claude/checkpoints/task-1754572868.json +1 -0
- package/.claude/checkpoints/task-1754573119.json +1 -0
- package/.claude/checkpoints/task-1754573265.json +1 -0
- package/.claude/checkpoints/task-1754575439.json +1 -0
- package/.claude/checkpoints/task-1754575679.json +1 -0
- package/.claude/checkpoints/task-1754575754.json +1 -0
- package/.claude/checkpoints/task-1754576495.json +1 -0
- package/.claude/checkpoints/task-1754576562.json +1 -0
- package/.claude/checkpoints/task-1754576677.json +1 -0
- package/.claude/checkpoints/task-1754576693.json +1 -0
- package/.claude/checkpoints/task-1754576714.json +1 -0
- package/.claude/checkpoints/task-1754576740.json +1 -0
- package/.claude/checkpoints/task-1754576766.json +1 -0
- package/.claude/checkpoints/task-1754576773.json +1 -0
- package/.claude/checkpoints/task-1754576824.json +1 -0
- package/.claude/checkpoints/task-1754576862.json +1 -0
- package/.claude/checkpoints/task-1754576941.json +1 -0
- package/.claude/checkpoints/task-1754576978.json +1 -0
- package/.claude/checkpoints/task-1754583140.json +1 -0
- package/.claude/checkpoints/task-1754583520.json +1 -0
- package/.claude/checkpoints/task-1754584007.json +1 -0
- package/.claude/checkpoints/task-1754584636.json +1 -0
- package/.claude/checkpoints/task-1754584927.json +1 -0
- package/.claude/checkpoints/task-1754586868.json +1 -0
- package/.claude/checkpoints/task-1754587664.json +1 -0
- package/.claude/checkpoints/task-1754921613.json +1 -0
- package/.claude/checkpoints/task-1754921718.json +1 -0
- package/.claude/checkpoints/task-1754923193.json +1 -0
- package/.claude/checkpoints/task-1754938396.json +1 -0
- package/.claude/checkpoints/task-1754938548.json +1 -0
- package/.claude/checkpoints/task-1754938627.json +1 -0
- package/.claude/checkpoints/task-1754938699.json +1 -0
- package/.claude/checkpoints/task-1754938774.json +1 -0
- package/.claude/checkpoints/task-1754939210.json +1 -0
- package/.claude/checkpoints/task-1754941440.json +1 -0
- package/.claude/checkpoints/task-1754943313.json +1 -0
- package/.claude/checkpoints/task-1754944054.json +1 -0
- package/.claude/checkpoints/task-1754944879.json +1 -0
- package/.claude/checkpoints/task-1754945703.json +1 -0
- package/.claude/checkpoints/task-1754945968.json +1 -0
- package/.claude/checkpoints/task-1754945989.json +1 -0
- package/.claude/checkpoints/task-1754946024.json +1 -0
- package/.claude/checkpoints/task-1754946389.json +1 -0
- package/.claude/checkpoints/task-1754947053.json +1 -0
- package/.claude/checkpoints/task-1754947196.json +1 -0
- package/.claude/checkpoints/task-1754947254.json +1 -0
- package/.claude/checkpoints/task-1754947475.json +1 -0
- package/.claude/checkpoints/task-1754948101.json +1 -0
- package/.claude/checkpoints/task-1754948249.json +1 -0
- package/.claude/checkpoints/task-1754949040.json +1 -0
- package/.claude/checkpoints/task-1754949127.json +1 -0
- package/.claude/checkpoints/task-1754966099.json +1 -0
- package/.claude/checkpoints/task-1755008137.json +1 -0
- package/.claude/checkpoints/task-1755008271.json +1 -0
- package/.claude/checkpoints/task-1755008660.json +1 -0
- package/.claude/checkpoints/task-1755008900.json +1 -0
- package/.claude/checkpoints/task-1755009103.json +1 -0
- package/.claude/checkpoints/task-1755009368.json +1 -0
- package/.claude/checkpoints/task-1755009415.json +1 -0
- package/.claude/checkpoints/task-1755009426.json +1 -0
- package/.claude/checkpoints/task-1755009482.json +1 -0
- package/.claude/checkpoints/task-1755010109.json +1 -0
- package/.claude/checkpoints/task-1755010637.json +1 -0
- package/.claude/checkpoints/task-1755010833.json +1 -0
- package/.claude/checkpoints/task-1755010934.json +1 -0
- package/.claude/checkpoints/task-1755011155.json +1 -0
- package/.claude/checkpoints/task-1755011183.json +1 -0
- package/.claude/checkpoints/task-1755011219.json +1 -0
- package/.claude/checkpoints/task-1755011239.json +1 -0
- package/.claude/checkpoints/task-1755011415.json +1 -0
- package/.claude/checkpoints/task-1755012643.json +1 -0
- package/.claude/checkpoints/task-1755012772.json +1 -0
- package/.claude/checkpoints/task-1755013067.json +1 -0
- package/.claude/checkpoints/task-1755013154.json +1 -0
- package/.claude/checkpoints/task-1755013256.json +1 -0
- package/.claude/checkpoints/task-1755013542.json +1 -0
- package/.claude/checkpoints/task-1755013620.json +1 -0
- package/.claude/checkpoints/task-1755013667.json +1 -0
- package/.claude/checkpoints/task-1755013749.json +1 -0
- package/.claude/checkpoints/task-1755013978.json +1 -0
- package/.claude/checkpoints/task-1755014033.json +1 -0
- package/.claude/checkpoints/task-1755014111.json +1 -0
- package/.claude/checkpoints/task-1755014421.json +1 -0
- package/.claude/checkpoints/task-1755015379.json +1 -0
- package/.claude/checkpoints/task-1755016645.json +1 -0
- package/.claude/checkpoints/task-1755016823.json +1 -0
- package/.claude/checkpoints/task-1755017060.json +1 -0
- package/.claude/checkpoints/task-1755017274.json +1 -0
- package/.claude/checkpoints/task-1755017915.json +1 -0
- package/.claude/checkpoints/task-1755018858.json +1 -0
- package/.claude/checkpoints/task-1755019061.json +1 -0
- package/.claude/checkpoints/task-1755019793.json +1 -0
- package/.claude/checkpoints/task-1755020170.json +1 -0
- package/.claude/checkpoints/task-1755020389.json +1 -0
- package/.claude/checkpoints/task-1755020823.json +1 -0
- package/.claude/checkpoints/task-1755021335.json +1 -0
- package/.claude/checkpoints/task-1755021476.json +1 -0
- package/.claude/checkpoints/task-1755021716.json +1 -0
- package/.claude/checkpoints/task-1755021890.json +1 -0
- package/.claude/checkpoints/task-1755022420.json +1 -0
- package/.claude/checkpoints/task-1755022760.json +1 -0
- package/.claude/checkpoints/task-1755022914.json +1 -0
- package/.claude/checkpoints/task-1755023040.json +1 -0
- package/.claude/checkpoints/task-1755023280.json +1 -0
- package/.claude/checkpoints/task-1755023796.json +1 -0
- package/.claude/checkpoints/task-1755023819.json +1 -0
- package/.claude/checkpoints/task-1755023932.json +1 -0
- package/.claude/checkpoints/task-1755024196.json +1 -0
- package/.claude/checkpoints/task-1755024220.json +1 -0
- package/.claude/checkpoints/task-1755024384.json +1 -0
- package/.claude/checkpoints/task-1755024948.json +1 -0
- package/.claude/checkpoints/task-1755024979.json +1 -0
- package/.claude/checkpoints/task-1755024998.json +1 -0
- package/.claude/checkpoints/task-1755025018.json +1 -0
- package/.claude/checkpoints/task-1755025117.json +1 -0
- package/.claude/checkpoints/task-1755025208.json +1 -0
- package/.claude/checkpoints/task-1755025243.json +1 -0
- package/.claude/checkpoints/task-1755025349.json +1 -0
- package/.claude/checkpoints/task-1755025374.json +1 -0
- package/.claude/checkpoints/task-1755025379.json +1 -0
- package/.claude/checkpoints/task-1755025382.json +1 -0
- package/.claude/checkpoints/task-1755025384.json +1 -0
- package/.claude/checkpoints/task-1755025402.json +1 -0
- package/.claude/checkpoints/task-1755025570.json +1 -0
- package/.claude/checkpoints/task-1755025614.json +1 -0
- package/.claude/checkpoints/task-1755025647.json +1 -0
- package/.claude/checkpoints/task-1755025667.json +1 -0
- package/.claude/checkpoints/task-1755025932.json +1 -0
- package/.claude/checkpoints/task-1755026045.json +1 -0
- package/.claude/checkpoints/task-1755026051.json +1 -0
- package/.claude/checkpoints/task-1755026064.json +1 -0
- package/.claude/checkpoints/task-1755026105.json +1 -0
- package/.claude/checkpoints/task-1755026188.json +1 -0
- package/.claude/checkpoints/task-1755026203.json +1 -0
- package/.claude/checkpoints/task-1755026233.json +1 -0
- package/.claude/checkpoints/task-1755026243.json +1 -0
- package/.claude/checkpoints/task-1755026344.json +1 -0
- package/.claude/checkpoints/task-1755026353.json +1 -0
- package/.claude/checkpoints/task-1755026394.json +1 -0
- package/.claude/checkpoints/task-1755026417.json +1 -0
- package/.claude/checkpoints/task-1755026428.json +1 -0
- package/.claude/checkpoints/task-1755026695.json +1 -0
- package/.claude/checkpoints/task-1755026957.json +1 -0
- package/.claude/checkpoints/task-1755027224.json +1 -0
- package/.claude/checkpoints/task-1755027440.json +1 -0
- package/.claude/checkpoints/task-1755027646.json +1 -0
- package/.claude/checkpoints/task-1755027935.json +1 -0
- package/.claude/checkpoints/task-1755028148.json +1 -0
- package/.claude/checkpoints/task-1755028616.json +1 -0
- package/.claude/checkpoints/task-1755036055.json +1 -0
- package/.claude/checkpoints/task-1755036596.json +1 -0
- package/.claude/checkpoints/task-1755036900.json +1 -0
- package/.claude/checkpoints/task-1755037864.json +1 -0
- package/.claude/checkpoints/task-1755095595.json +1 -0
- package/.claude/checkpoints/task-1755095867.json +1 -0
- package/.claude/checkpoints/task-1755096216.json +1 -0
- package/.claude/checkpoints/task-1755096298.json +1 -0
- package/.claude/checkpoints/task-1755096548.json +1 -0
- package/.claude/checkpoints/task-1755097018.json +1 -0
- package/.claude/checkpoints/task-1755097756.json +1 -0
- package/.claude/checkpoints/task-1755101034.json +1 -0
- package/.claude/checkpoints/task-1755108293.json +1 -0
- package/.claude/checkpoints/task-1755108772.json +1 -0
- package/.claude/checkpoints/task-1755108834.json +1 -0
- package/.claude/checkpoints/task-1755110201.json +1 -0
- package/.claude/checkpoints/task-1755110291.json +1 -0
- package/.claude/checkpoints/task-1755110569.json +1 -0
- package/.claude/checkpoints/task-1755111496.json +1 -0
- package/.claude/checkpoints/task-1755111507.json +1 -0
- package/.claude/checkpoints/task-1755111516.json +1 -0
- package/.claude/checkpoints/task-1755111541.json +1 -0
- package/.claude/checkpoints/task-1755111574.json +1 -0
- package/.claude/checkpoints/task-1755111589.json +1 -0
- package/.claude/checkpoints/task-1755111956.json +1 -0
- package/.claude/checkpoints/task-1755112153.json +1 -0
- package/.claude/checkpoints/task-1755112741.json +1 -0
- package/.claude/checkpoints/task-1755113195.json +1 -0
- package/.claude/checkpoints/task-1755113256.json +1 -0
- package/.claude/checkpoints/task-1755115641.json +1 -0
- package/.claude/checkpoints/task-1755116206.json +1 -0
- package/.claude/checkpoints/task-1755116261.json +1 -0
- package/.claude/checkpoints/task-1755116559.json +1 -0
- package/.claude/checkpoints/task-1755116593.json +1 -0
- package/.claude/checkpoints/task-1755116636.json +1 -0
- package/.claude/checkpoints/task-1755116719.json +1 -0
- package/.claude/checkpoints/task-1755116945.json +1 -0
- package/.claude/checkpoints/task-1755117389.json +1 -0
- package/.claude/checkpoints/task-1755117449.json +1 -0
- package/.claude/checkpoints/task-1755117467.json +1 -0
- package/.claude/checkpoints/task-1755117549.json +1 -0
- package/.claude/checkpoints/task-1755117629.json +1 -0
- package/.claude/checkpoints/task-1755117663.json +1 -0
- package/.claude/checkpoints/task-1755117726.json +1 -0
- package/.claude/checkpoints/task-1755118725.json +1 -0
- package/.claude/checkpoints/task-1755118749.json +1 -0
- package/.claude/checkpoints/task-1755118878.json +1 -0
- package/.claude/checkpoints/task-1755118897.json +1 -0
- package/.claude/checkpoints/task-1755118913.json +1 -0
- package/.claude/checkpoints/task-1755118941.json +1 -0
- package/.claude/checkpoints/task-1755119123.json +1 -0
- package/.claude/checkpoints/task-1755119346.json +1 -0
- package/.claude/checkpoints/task-1755119692.json +1 -0
- package/.claude/checkpoints/task-1755121935.json +1 -0
- package/.claude/checkpoints/task-1755121959.json +1 -0
- package/.claude/checkpoints/task-1755122026.json +1 -0
- package/.claude/checkpoints/task-1755180497.json +1 -0
- package/.claude/checkpoints/task-1755180918.json +1 -0
- package/.claude/checkpoints/task-1755182574.json +1 -0
- package/.claude/checkpoints/task-1755183276.json +1 -0
- package/.claude/checkpoints/task-1755190632.json +1 -0
- package/.claude/checkpoints/task-1755190646.json +1 -0
- package/.claude/checkpoints/task-1755353920.json +1 -0
- package/.claude/checkpoints/task-1755354063.json +1 -0
- package/.claude/checkpoints/task-1755354084.json +1 -0
- package/.claude/checkpoints/task-1755354301.json +1 -0
- package/.claude/checkpoints/task-1755354322.json +1 -0
- package/.claude/checkpoints/task-1755354490.json +1 -0
- package/.claude/checkpoints/task-1755354720.json +1 -0
- package/.claude/checkpoints/task-1755354761.json +1 -0
- package/.claude/checkpoints/task-1755354870.json +1 -0
- package/.claude/checkpoints/task-1755355114.json +1 -0
- package/.claude/checkpoints/task-1755355416.json +1 -0
- package/.claude/checkpoints/task-1755355489.json +1 -0
- package/.claude/checkpoints/task-1755356200.json +1 -0
- package/.claude/checkpoints/task-1755356358.json +1 -0
- package/.claude/checkpoints/task-1755356831.json +1 -0
- package/.claude/checkpoints/task-1755356847.json +1 -0
- package/.claude/checkpoints/task-1755357223.json +1 -0
- package/.claude/checkpoints/task-1755357892.json +1 -0
- package/.claude/checkpoints/task-1755358417.json +1 -0
- package/.claude/checkpoints/task-1755358677.json +1 -0
- package/.claude/checkpoints/task-1755360502.json +1 -0
- package/.claude/checkpoints/task-1755361102.json +1 -0
- package/.claude/checkpoints/task-1755361720.json +1 -0
- package/.claude/checkpoints/task-1755361995.json +1 -0
- package/.claude/checkpoints/task-1755362268.json +1 -0
- package/.claude/checkpoints/task-1755362360.json +1 -0
- package/.claude/checkpoints/task-1755362739.json +1 -0
- package/.claude/checkpoints/task-1755362854.json +1 -0
- package/.claude/checkpoints/task-1755362893.json +1 -0
- package/.claude/checkpoints/task-1755363134.json +1 -0
- package/.claude/checkpoints/task-1755363218.json +1 -0
- package/.claude/checkpoints/task-1755363228.json +1 -0
- package/.claude/checkpoints/task-1755363281.json +1 -0
- package/.claude/checkpoints/task-1755363592.json +1 -0
- package/.claude/checkpoints/task-1755364128.json +1 -0
- package/.claude/checkpoints/task-1755364155.json +1 -0
- package/.claude/checkpoints/task-1755364202.json +1 -0
- package/.claude/checkpoints/task-1755364399.json +1 -0
- package/.claude/checkpoints/task-1755800594.json +1 -0
- package/.claude/checkpoints/task-1755800832.json +1 -0
- package/.claude/checkpoints/task-1755801277.json +1 -0
- package/.claude/checkpoints/task-1755802795.json +1 -0
- package/.claude/checkpoints/task-1755803059.json +1 -0
- package/.claude/checkpoints/task-1755803534.json +1 -0
- package/.claude/checkpoints/task-1755804245.json +1 -0
- package/.claude/checkpoints/task-1755804822.json +1 -0
- package/.claude/checkpoints/task-1756217918.json +1 -0
- package/.claude/checkpoints/task-1756217945.json +1 -0
- package/.claude/checkpoints/task-1756218010.json +1 -0
- package/.claude/checkpoints/task-1756218436.json +1 -0
- package/.claude/checkpoints/task-1756223748.json +1 -0
- package/.claude/checkpoints/task-1756224282.json +1 -0
- package/.claude/checkpoints/task-1756225156.json +1 -0
- package/.claude/checkpoints/task-1756225903.json +1 -0
- package/.claude/checkpoints/task-1756226149.json +1 -0
- package/.claude/checkpoints/task-1756226195.json +1 -0
- package/.claude/checkpoints/task-1756226679.json +1 -0
- package/.claude/checkpoints/task-1756227096.json +1 -0
- package/.claude/checkpoints/task-1756227619.json +1 -0
- package/.claude/checkpoints/task-1756230633.json +1 -0
- package/.claude/checkpoints/task-1756230902.json +1 -0
- package/.claude/checkpoints/task-1756230993.json +1 -0
- package/.claude/checkpoints/task-1756231253.json +1 -0
- package/.claude/checkpoints/task-1756232070.json +1 -0
- package/.claude/checkpoints/task-1756232144.json +1 -0
- package/.claude/checkpoints/task-1756232251.json +1 -0
- package/.claude/checkpoints/task-1756232564.json +1 -0
- package/.claude/checkpoints/task-1756232982.json +1 -0
- package/.claude/checkpoints/task-1756233131.json +1 -0
- package/.claude/checkpoints/task-1756474562.json +1 -0
- package/.claude/checkpoints/task-1756474754.json +1 -0
- package/.claude/checkpoints/task-1756474922.json +1 -0
- package/.claude/checkpoints/task-1756475028.json +1 -0
- package/.claude/checkpoints/task-1756475307.json +1 -0
- package/.claude/checkpoints/task-1756475349.json +1 -0
- package/.claude/checkpoints/task-1756475699.json +1 -0
- package/.claude/checkpoints/task-1756475719.json +1 -0
- package/.claude/checkpoints/task-1756475828.json +1 -0
- package/.claude/checkpoints/task-1756475858.json +1 -0
- package/.claude/checkpoints/task-1756475868.json +1 -0
- package/.claude/checkpoints/task-1756476373.json +1 -0
- package/.claude/checkpoints/task-1756839595.json +1 -0
- package/.claude/checkpoints/task-1756997821.json +1 -0
- package/.claude/checkpoints/task-1757189936.json +1 -0
- package/.claude/checkpoints/task-1757190154.json +1 -0
- package/.claude/checkpoints/task-1757190301.json +1 -0
- package/.claude/checkpoints/task-1757190369.json +1 -0
- package/.claude/checkpoints/task-1757190483.json +1 -0
- package/.claude/checkpoints/task-1757190841.json +1 -0
- package/.claude/checkpoints/task-1757191219.json +1 -0
- package/.claude/checkpoints/task-1757192639.json +1 -0
- package/.claude/checkpoints/task-1757194091.json +1 -0
- package/.claude/checkpoints/task-1757194691.json +1 -0
- package/.claude/checkpoints/task-1757194856.json +1 -0
- package/.claude/checkpoints/task-1757201157.json +1 -0
- package/.claude/checkpoints/task-1757201244.json +1 -0
- package/.claude/checkpoints/task-1757201660.json +1 -0
- package/.claude/checkpoints/task-1757208391.json +1 -0
- package/.claude/checkpoints/task-1757208541.json +1 -0
- package/.claude/checkpoints/task-1757208832.json +1 -0
- package/.claude/checkpoints/task-1757208844.json +1 -0
- package/.claude/checkpoints/task-1757209396.json +1 -0
- package/.claude/checkpoints/task-1757209750.json +1 -0
- package/.claude/checkpoints/task-1757210079.json +1 -0
- package/.claude/checkpoints/task-1757210118.json +1 -0
- package/.claude/checkpoints/task-1757210501.json +1 -0
- package/.claude/checkpoints/task-1757222187.json +1 -0
- package/.claude/checkpoints/task-1757510193.json +1 -0
- package/.claude/checkpoints/task-1757510641.json +1 -0
- package/.claude/checkpoints/task-1757510684.json +1 -0
- package/.claude/checkpoints/task-1757510730.json +1 -0
- package/.claude/checkpoints/task-1757510947.json +1 -0
- package/.claude/checkpoints/task-1757511158.json +1 -0
- package/.claude/checkpoints/task-1757511257.json +1 -0
- package/.claude/checkpoints/task-1757511502.json +1 -0
- package/.claude/checkpoints/task-1757521138.json +1 -0
- package/.claude/checkpoints/task-1757521560.json +1 -0
- package/.claude/checkpoints/task-1757522649.json +1 -0
- package/.claude/checkpoints/task-1757522793.json +1 -0
- package/.claude/checkpoints/task-1757523004.json +1 -0
- package/.claude/checkpoints/task-1757523133.json +1 -0
- package/.claude/checkpoints/task-1757523325.json +1 -0
- package/.claude/checkpoints/task-1757523486.json +1 -0
- package/.claude/checkpoints/task-1757523817.json +1 -0
- package/.claude/checkpoints/task-1757524052.json +1 -0
- package/.claude/checkpoints/task-1757524184.json +1 -0
- package/.claude/checkpoints/task-1757524564.json +1 -0
- package/.claude/checkpoints/task-1757525241.json +1 -0
- package/.claude/checkpoints/task-1757525351.json +1 -0
- package/.claude/checkpoints/task-1757525450.json +1 -0
- package/.claude/checkpoints/task-1757525575.json +1 -0
- package/.claude/checkpoints/task-1757525637.json +1 -0
- package/.claude/checkpoints/task-1757525755.json +1 -0
- package/.claude/checkpoints/task-1757526138.json +1 -0
- package/.claude/checkpoints/task-1757526155.json +1 -0
- package/.claude/checkpoints/task-1757526313.json +1 -0
- package/.claude/checkpoints/task-1757526340.json +1 -0
- package/.claude/checkpoints/task-1757526463.json +1 -0
- package/.claude/checkpoints/task-1757526527.json +1 -0
- package/.claude/checkpoints/task-1757526583.json +1 -0
- package/.claude/checkpoints/task-1757527669.json +1 -0
- package/.claude/checkpoints/task-1757527708.json +1 -0
- package/.claude/checkpoints/task-1757527797.json +1 -0
- package/.claude/checkpoints/task-1757527842.json +1 -0
- package/.claude/checkpoints/task-1757528142.json +1 -0
- package/.claude/checkpoints/task-1757528502.json +1 -0
- package/.claude/checkpoints/task-1757528538.json +1 -0
- package/.claude/checkpoints/task-1757529253.json +1 -0
- package/.claude/checkpoints/task-1757560042.json +1 -0
- package/.claude/checkpoints/task-1758217484.json +1 -0
- package/.claude/checkpoints/task-1758217603.json +1 -0
- package/.claude/checkpoints/task-1758217883.json +1 -0
- package/.claude/checkpoints/task-1758217960.json +1 -0
- package/.claude/checkpoints/task-1758220634.json +1 -0
- package/.claude/checkpoints/task-1758220862.json +1 -0
- package/.claude/checkpoints/task-1758221051.json +1 -0
- package/.claude/checkpoints/task-1758221238.json +1 -0
- package/.claude/checkpoints/task-1758222256.json +1 -0
- package/.claude/checkpoints/task-1758222361.json +1 -0
- package/.claude/checkpoints/task-1758222440.json +1 -0
- package/.claude/checkpoints/task-1758222599.json +1 -0
- package/.claude/checkpoints/task-1758222667.json +1 -0
- package/.claude/checkpoints/task-1758222897.json +1 -0
- package/.claude/checkpoints/task-1758223158.json +1 -0
- package/.claude/checkpoints/task-1758223528.json +1 -0
- package/.claude/checkpoints/task-1758223599.json +1 -0
- package/.claude/checkpoints/task-1758223716.json +1 -0
- package/.claude/checkpoints/task-1758223950.json +1 -0
- package/.claude/checkpoints/task-1758224264.json +1 -0
- package/.claude/checkpoints/task-1758224660.json +1 -0
- package/.claude/checkpoints/task-1758224748.json +1 -0
- package/.claude/checkpoints/task-1758224763.json +1 -0
- package/.claude/checkpoints/task-1758224777.json +1 -0
- package/.claude/checkpoints/task-1758224790.json +1 -0
- package/.claude/checkpoints/task-1758224829.json +1 -0
- package/.claude/checkpoints/task-1758224840.json +1 -0
- package/.claude/checkpoints/task-1758224887.json +1 -0
- package/.claude/checkpoints/task-1758227242.json +1 -0
- package/.claude/checkpoints/task-1758227747.json +1 -0
- package/.claude/checkpoints/task-1758227878.json +1 -0
- package/.claude/checkpoints/task-1758227961.json +1 -0
- package/.claude/checkpoints/task-1758229695.json +1 -0
- package/.claude/checkpoints/task-1758229773.json +1 -0
- package/.claude/checkpoints/task-1758229786.json +1 -0
- package/.claude/checkpoints/task-1758230425.json +1 -0
- package/.claude/checkpoints/task-1758230849.json +1 -0
- package/.claude/checkpoints/task-1758231074.json +1 -0
- package/.claude/checkpoints/task-1758231567.json +1 -0
- package/.claude/checkpoints/task-1758231749.json +1 -0
- package/.claude/checkpoints/task-1758231913.json +1 -0
- package/.claude/checkpoints/task-1758232011.json +1 -0
- package/.claude/checkpoints/task-1758232030.json +1 -0
- package/.claude/checkpoints/task-1758232095.json +1 -0
- package/.claude/checkpoints/task-1758232114.json +1 -0
- package/.claude/checkpoints/task-1758232532.json +1 -0
- package/.claude/checkpoints/task-1758232598.json +1 -0
- package/.claude/checkpoints/task-1758233683.json +1 -0
- package/.claude/checkpoints/task-1758233720.json +1 -0
- package/.claude/checkpoints/task-1758233779.json +1 -0
- package/.claude/checkpoints/task-1758233978.json +1 -0
- package/.claude/checkpoints/task-1758234117.json +1 -0
- package/.claude/checkpoints/task-1758234363.json +1 -0
- package/.claude/checkpoints/task-1758234947.json +1 -0
- package/.claude/checkpoints/task-1758897441.json +7 -0
- package/.claude/checkpoints/task-1758897633.json +7 -0
- package/.claude/checkpoints/task-1758897700.json +7 -0
- package/.claude/checkpoints/task-1758897778.json +7 -0
- package/.claude/checkpoints/task-1758897849.json +7 -0
- package/.claude/checkpoints/task-1758898177.json +7 -0
- package/.claude/checkpoints/task-1758898262.json +7 -0
- package/.claude/checkpoints/task-1758898292.json +7 -0
- package/.claude/checkpoints/task-1758898768.json +7 -0
- package/.claude/checkpoints/task-1758898901.json +7 -0
- package/.claude/checkpoints/task-1758899153.json +7 -0
- package/.claude/checkpoints/task-1758899343.json +1 -0
- package/.claude/checkpoints/task-1758899432.json +7 -0
- package/.claude/checkpoints/task-1758899657.json +1 -0
- package/.claude/checkpoints/task-1758900179.json +1 -0
- package/.claude/checkpoints/task-1758900466.json +1 -0
- package/.claude/checkpoints/task-1758900887.json +1 -0
- package/.claude/checkpoints/task-1758901024.json +1 -0
- package/.claude/checkpoints/task-1758901161.json +1 -0
- package/.claude/checkpoints/task-1758901317.json +1 -0
- package/.claude/checkpoints/task-1758901716.json +1 -0
- package/.claude/checkpoints/task-1758905291.json +1 -0
- package/.claude/checkpoints/task-1758906389.json +1 -0
- package/.claude/checkpoints/task-1758906470.json +1 -0
- package/.claude/checkpoints/task-1758907797.json +1 -0
- package/.claude/checkpoints/task-1758908385.json +1 -0
- package/.claude/checkpoints/task-1758908593.json +1 -0
- package/.claude/checkpoints/task-1758908830.json +1 -0
- package/.claude/checkpoints/task-1758909193.json +1 -0
- package/.claude/checkpoints/task-1758909345.json +1 -0
- package/.claude/checkpoints/task-1758909662.json +7 -0
- package/.claude/checkpoints/task-1758909739.json +1 -0
- package/.claude/checkpoints/task-1758912020.json +1 -0
- package/.claude/checkpoints/task-1758913718.json +1 -0
- package/.claude/checkpoints/task-1758914107.json +1 -0
- package/.claude/checkpoints/task-1758914787.json +1 -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/README.md +9 -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/github/README.md +11 -0
- package/.claude/commands/github/code-review.md +25 -0
- package/.claude/commands/github/github-swarm.md +121 -0
- package/.claude/commands/github/issue-triage.md +25 -0
- package/.claude/commands/github/pr-enhance.md +26 -0
- package/.claude/commands/github/repo-analyze.md +25 -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-spawn.md +21 -0
- package/.claude/commands/hive-mind/hive-mind-status.md +8 -0
- package/.claude/commands/hooks/README.md +11 -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/improved-workflows.js +76 -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/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/researcher.md +54 -0
- package/.claude/commands/sparc/reviewer.md +54 -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/swarm/README.md +15 -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-status.md +8 -0
- package/.claude/commands/swarm/swarm.md +27 -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/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/config/verification.json +41 -0
- package/.claude/config.json +36 -0
- package/.claude/helpers/checkpoint-hooks.sh +187 -0
- package/.claude/helpers/checkpoint-manager.sh +251 -0
- package/.claude/helpers/github-checkpoint-hooks.sh +218 -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-checkpoints.sh +75 -0
- package/.claude/helpers/setup-mcp.sh +18 -0
- package/.claude/helpers/standard-checkpoint-hooks.sh +179 -0
- package/.claude/helpers/truth-score.js +323 -0
- package/.claude/helpers/verify.sh +170 -0
- package/.claude/optimized-settings.json +270 -0
- package/.claude/sessions/2025-07-05T12-59-38.185Z-metrics.json +17 -0
- package/.claude/sessions/2025-07-05T12-59-38.185Z-summary.md +21 -0
- package/.claude/sessions/2025-07-05T14-20-49.434Z-metrics.json +17 -0
- package/.claude/sessions/2025-07-05T14-20-49.434Z-summary.md +21 -0
- package/.claude/sessions/2025-07-06T14-02-56.207Z-metrics.json +17 -0
- package/.claude/sessions/2025-07-06T14-02-56.207Z-summary.md +21 -0
- package/.claude/sessions/2025-07-06T14-20-21.482Z-metrics.json +17 -0
- package/.claude/sessions/2025-07-06T14-20-21.482Z-summary.md +21 -0
- package/.claude/sessions/2025-07-07T03-00-34.330Z-metrics.json +17 -0
- package/.claude/sessions/2025-07-07T03-00-34.330Z-summary.md +21 -0
- package/.claude/settings-checkpoint-example.json +29 -0
- package/.claude/settings-checkpoint-simple.json +24 -0
- package/.claude/settings-complete.json +138 -0
- package/.claude/settings-enhanced.json +278 -0
- package/.claude/settings-github-npx.json +158 -0
- package/.claude/settings-npx-hooks.json +158 -0
- package/.claude/settings.json +157 -0
- package/.claude/settings.reasoningbank-example.json +124 -0
- package/.claude/settings.reasoningbank-minimal.json +40 -0
- package/.claude/skills/agentdb-advanced/SKILL.md +550 -0
- package/.claude/skills/agentdb-learning/SKILL.md +545 -0
- package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -0
- package/.claude/skills/agentdb-optimization/SKILL.md +509 -0
- package/.claude/skills/agentdb-vector-search/SKILL.md +339 -0
- package/.claude/skills/agentic-jujutsu/SKILL.md +645 -0
- package/.claude/skills/flow-nexus-neural/SKILL.md +738 -0
- package/.claude/skills/flow-nexus-platform/SKILL.md +1157 -0
- package/.claude/skills/flow-nexus-swarm/SKILL.md +610 -0
- package/.claude/skills/github-code-review/SKILL.md +1140 -0
- package/.claude/skills/github-multi-repo/SKILL.md +874 -0
- package/.claude/skills/github-project-management/SKILL.md +1277 -0
- package/.claude/skills/github-release-management/SKILL.md +1081 -0
- package/.claude/skills/github-workflow-automation/SKILL.md +1065 -0
- package/.claude/skills/hive-mind-advanced/SKILL.md +712 -0
- package/.claude/skills/hooks-automation/SKILL.md +1201 -0
- package/.claude/skills/pair-programming/SKILL.md +1202 -0
- package/.claude/skills/performance-analysis/SKILL.md +563 -0
- package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -0
- package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -0
- package/.claude/skills/skill-builder/SKILL.md +910 -0
- package/.claude/skills/sparc-methodology/SKILL.md +1115 -0
- package/.claude/skills/stream-chain/SKILL.md +563 -0
- package/.claude/skills/swarm-advanced/SKILL.md +973 -0
- package/.claude/skills/swarm-orchestration/SKILL.md +179 -0
- package/.claude/skills/verification-quality/SKILL.md +649 -0
- package/.claude/sparc-modes.json +108 -0
- package/.claude/statusline-command.sh +175 -0
- package/.claude/templates/CLAUDE_VERIFIED.md +329 -0
- package/.claude/test-reasoningbank-hooks.sh +99 -0
- package/.claude/test-settings.json +15 -0
- package/CHANGELOG.md +2859 -0
- package/LICENSE +21 -0
- package/README.md +453 -0
- package/bin/claude-flow.js +140 -0
- package/docker-test/Dockerfile.alpha11-test +26 -0
- package/docker-test/Dockerfile.alpha12-test +47 -0
- package/docker-test/Dockerfile.local-test +42 -0
- package/docker-test/Dockerfile.npx-test +20 -0
- package/docker-test/Dockerfile.reasoningbank-test +21 -0
- package/docker-test/reasoningbank-validation.mjs +201 -0
- package/docker-test/test-alpha11.sh +244 -0
- package/docker-test/test-local-fix.sh +235 -0
- package/docker-test/test-npx-memory.sh +84 -0
- package/docker-test/v2.7.40/Dockerfile +19 -0
- package/docker-test/v2.7.40/run-all-tests.sh +65 -0
- package/docker-test/v2.7.40/test-cli.sh +49 -0
- package/docker-test/v2.7.40/test-hook-errors.sh +43 -0
- package/docker-test/v2.7.40/test-hooks.sh +70 -0
- package/docs/.github-release-issue-v2.7.33.md +488 -0
- package/docs/AGENTDB_BRANCH_MERGE_VERIFICATION.md +436 -0
- package/docs/AGENTIC_FLOW_ENABLED_LOG_FIX.md +223 -0
- package/docs/AGENTIC_FLOW_INTEGRATION_REVIEW.md +593 -0
- package/docs/AUTOMATIC_ERROR_RECOVERY_v2.7.35.md +321 -0
- package/docs/BRANCH_REVIEW_SUMMARY.md +439 -0
- package/docs/BUG_REPORT_MEMORY_STATS.md +355 -0
- package/docs/CONFIRMATION_AUTOMATIC_ERROR_RECOVERY.md +384 -0
- package/docs/DEEP_CODE_REVIEW_v2.7.33.md +1159 -0
- package/docs/DOCKER_TEST_RESULTS_v2.7.35.md +305 -0
- package/docs/FIX_VERIFICATION_MEMORY_STATS.md +235 -0
- package/docs/INDEX.md +624 -0
- package/docs/INTEGRATION_STATUS_FINAL.md +637 -0
- package/docs/LATEST_LIBRARIES_REVIEW.md +937 -0
- package/docs/MCP_2025_FEATURE_CONFIRMATION.md +698 -0
- package/docs/MEMORY_COMMAND_FIX.md +289 -0
- package/docs/NPM_PUBLISH_GUIDE_v2.7.33.md +628 -0
- package/docs/NPX_MEMORY_FIX_v2.7.19.md +305 -0
- package/docs/OPTIONAL_LOCAL_EMBEDDINGS.md +462 -0
- package/docs/README.md +123 -0
- package/docs/REGRESSION_TEST_REPORT_v2.7.33.md +397 -0
- package/docs/RELEASE_NOTES_v2.7.15.md +332 -0
- package/docs/RELEASE_NOTES_v2.7.33.md +618 -0
- package/docs/RELEASE_READINESS_SUMMARY.md +377 -0
- package/docs/RELEASE_SUMMARY_v2.7.33.md +456 -0
- package/docs/REMOTE_INSTALL_FIX.md +120 -0
- package/docs/SQLITE_FIX_COMPLETE_v2.7.21.md +317 -0
- package/docs/SWARM_INITIALIZATION_GUIDE.md +302 -0
- package/docs/TOOL_VALIDATION_REPORT.md +666 -0
- package/docs/TRANSFORMER_INITIALIZATION_ISSUE.md +434 -0
- package/docs/V2.7.14_RELEASE_NOTES.md +102 -0
- package/docs/V2.7.25_RELEASE_NOTES.md +249 -0
- package/docs/V2.7.26_RELEASE_SUMMARY.md +454 -0
- package/docs/V2.7.27_RELEASE_NOTES.md +208 -0
- package/docs/V2.7.27_TEST_REPORT.md +259 -0
- package/docs/V2.7.28_RELEASE_NOTES.md +205 -0
- package/docs/VALIDATION_REPORT_v2.7.1.md +316 -0
- package/docs/WORKFLOW_FIXES.md +292 -0
- package/docs/WORKFLOW_FIXES_FINAL_STATUS.md +291 -0
- package/docs/agentdb/AGENT3_FINAL_REPORT.md +643 -0
- package/docs/agentdb/AGENT3_SUMMARY.md +354 -0
- package/docs/agentdb/AGENTDB_INTEGRATION_PLAN.md +1258 -0
- package/docs/agentdb/BACKWARD_COMPATIBILITY_GUARANTEE.md +421 -0
- package/docs/agentdb/OPTIMIZATION_REPORT.md +360 -0
- package/docs/agentdb/PRODUCTION_READINESS.md +499 -0
- package/docs/agentdb/PUBLISHING_CHECKLIST.md +364 -0
- package/docs/agentdb/README.md +58 -0
- package/docs/agentdb/SWARM_COORDINATION.md +393 -0
- package/docs/agentdb/SWARM_IMPLEMENTATION_COMPLETE.md +538 -0
- package/docs/agentdb/agentdb-integration-summary.md +331 -0
- package/docs/agentdb/benchmarks/baseline-report.json +75 -0
- package/docs/agentic-flow-agentdb-mcp-integration.md +1198 -0
- package/docs/api/API_DOCUMENTATION.md +721 -0
- package/docs/architecture/ARCHITECTURE.md +1690 -0
- package/docs/architecture/README.md +555 -0
- package/docs/architecture/github-workflows-optimization-strategy.md +1079 -0
- package/docs/architecture/workflow-architecture-diagram.md +615 -0
- package/docs/architecture/workflow-optimization-implementation-guide.md +593 -0
- package/docs/ci-cd/README.md +368 -0
- package/docs/development/AGENT1_COMPLETION_REPORT.md +466 -0
- package/docs/development/COMMANDS_TO_SKILLS_MIGRATION.md +382 -0
- package/docs/development/DEPLOYMENT.md +2348 -0
- package/docs/development/DEVELOPMENT_WORKFLOW.md +1333 -0
- package/docs/development/FINAL_INIT_STRUCTURE.md +320 -0
- package/docs/development/README.md +22 -0
- package/docs/development/build-analysis-report.md +252 -0
- package/docs/development/pair-optimization.md +156 -0
- package/docs/development/token-tracking-status.md +103 -0
- package/docs/development/training-pipeline-demo.md +163 -0
- package/docs/development/training-pipeline-real-only.md +196 -0
- package/docs/experimental/RIEMANN_HYPOTHESIS_PROOF.md +124 -0
- package/docs/experimental/computational_verification.py +436 -0
- package/docs/experimental/novel_approaches.md +560 -0
- package/docs/experimental/riemann_hypothesis_analysis.md +263 -0
- package/docs/experimental/riemann_proof_attempt.md +124 -0
- package/docs/experimental/riemann_synthesis.md +277 -0
- package/docs/experimental/verification_results.json +12 -0
- package/docs/experimental/visualization_insights.md +720 -0
- package/docs/features/automatic-error-recovery.md +333 -0
- package/docs/fixes/CLI-MEMORY-COMMANDS-WORKING.md +150 -0
- package/docs/fixes/PATTERN_FIX_CONFIRMATION.md +513 -0
- package/docs/fixes/PATTERN_PERSISTENCE_FIX.md +328 -0
- package/docs/fixes/README.md +33 -0
- package/docs/github-issues/README.md +88 -0
- package/docs/github-issues/wsl-enotempty-automatic-recovery.md +470 -0
- package/docs/github-workflows-analysis-report.md +820 -0
- package/docs/guides/README.md +29 -0
- package/docs/guides/USER_GUIDE.md +1138 -0
- package/docs/guides/skills-tutorial.md +1251 -0
- package/docs/guides/token-tracking-guide.md +291 -0
- package/docs/integrations/README.md +61 -0
- package/docs/integrations/agent-booster/AGENT-BOOSTER-INTEGRATION.md +407 -0
- package/docs/integrations/agentic-flow/AGENTIC-FLOW-INTEGRATION-GUIDE.md +753 -0
- package/docs/integrations/agentic-flow/AGENTIC_FLOW_EXECUTION_FIX_REPORT.md +474 -0
- package/docs/integrations/agentic-flow/AGENTIC_FLOW_INTEGRATION_STATUS.md +143 -0
- package/docs/integrations/agentic-flow/AGENTIC_FLOW_MVP_COMPLETE.md +367 -0
- package/docs/integrations/agentic-flow/AGENTIC_FLOW_SECURITY_TEST_REPORT.md +369 -0
- package/docs/integrations/agentic-flow/INTEGRATION-TEST-v1.7.1.md +419 -0
- package/docs/integrations/agentic-flow/MIGRATION_v1.7.0.md +381 -0
- package/docs/integrations/agentic-flow/README.md +229 -0
- package/docs/integrations/agentic-flow/RELEASE-v1.7.0.md +348 -0
- package/docs/integrations/agentic-flow/RELEASE-v1.7.1.md +547 -0
- package/docs/integrations/agentic-flow/VERIFICATION-v1.7.4.md +556 -0
- package/docs/integrations/epic-sdk/epic-sdk-integration.md +1269 -0
- package/docs/integrations/reasoningbank/MIGRATION-v1.5.13.md +189 -0
- package/docs/integrations/reasoningbank/REASONING-AGENTS.md +482 -0
- package/docs/integrations/reasoningbank/REASONINGBANK-AGENT-CREATION-GUIDE.md +813 -0
- package/docs/integrations/reasoningbank/REASONINGBANK-ANALYSIS-COMPLETE.md +479 -0
- package/docs/integrations/reasoningbank/REASONINGBANK-BENCHMARK-RESULTS.md +166 -0
- package/docs/integrations/reasoningbank/REASONINGBANK-BENCHMARK.md +396 -0
- package/docs/integrations/reasoningbank/REASONINGBANK-CLI-INTEGRATION.md +455 -0
- package/docs/integrations/reasoningbank/REASONINGBANK-CORE-INTEGRATION.md +658 -0
- package/docs/integrations/reasoningbank/REASONINGBANK-COST-OPTIMIZATION.md +329 -0
- package/docs/integrations/reasoningbank/REASONINGBANK-DEMO.md +419 -0
- package/docs/integrations/reasoningbank/REASONINGBANK-INTEGRATION-COMPLETE.md +249 -0
- package/docs/integrations/reasoningbank/REASONINGBANK-INTEGRATION-STATUS.md +179 -0
- package/docs/integrations/reasoningbank/REASONINGBANK-STATUS.md +219 -0
- package/docs/integrations/reasoningbank/REASONINGBANK-VALIDATION.md +532 -0
- package/docs/integrations/reasoningbank/REASONINGBANK_ARCHITECTURE.md +475 -0
- package/docs/integrations/reasoningbank/REASONINGBANK_INTEGRATION_COMPLETE.md +558 -0
- package/docs/integrations/reasoningbank/REASONINGBANK_INTEGRATION_PLAN.md +1188 -0
- package/docs/mcp-2025-implementation-summary.md +459 -0
- package/docs/mcp-spec-2025-implementation-plan.md +1330 -0
- package/docs/performance/PERFORMANCE-JSON-IMPROVEMENTS.md +277 -0
- package/docs/performance/PERFORMANCE-METRICS-GUIDE.md +259 -0
- package/docs/performance/README.md +31 -0
- package/docs/phase-1-2-implementation-summary.md +676 -0
- package/docs/reasoning/README.md +171 -0
- package/docs/reasoning/example-reasoning-agent-template.md +362 -0
- package/docs/reasoningbank/CLAUDE-CODE-INTEGRATION.md +563 -0
- package/docs/reasoningbank/EXAMPLES.md +611 -0
- package/docs/reasoningbank/README.md +1139 -0
- package/docs/reasoningbank/agentic-flow-integration.md +800 -0
- package/docs/reasoningbank/architecture.md +680 -0
- package/docs/reasoningbank/google-research.md +1017 -0
- package/docs/reasoningbank/models/HOW-TO-TRAIN.md +537 -0
- package/docs/reasoningbank/models/HOW-TO-USE.md +655 -0
- package/docs/reasoningbank/models/INDEX.md +276 -0
- package/docs/reasoningbank/models/README.md +345 -0
- package/docs/reasoningbank/models/_docs/COMPATIBILITY.md +448 -0
- package/docs/reasoningbank/models/_docs/COMPLETION-SUMMARY.md +478 -0
- package/docs/reasoningbank/models/_docs/README.md +80 -0
- package/docs/reasoningbank/models/_docs/SCHEMA-UPDATE-SUMMARY.md +376 -0
- package/docs/reasoningbank/models/_docs/VERIFICATION-COMPLETE.md +370 -0
- package/docs/reasoningbank/models/_scripts/README.md +270 -0
- package/docs/reasoningbank/models/_scripts/benchmark-all.cjs +407 -0
- package/docs/reasoningbank/models/_scripts/fix-schema-compatibility.cjs +300 -0
- package/docs/reasoningbank/models/_scripts/schema-validator.cjs +360 -0
- package/docs/reasoningbank/models/_scripts/training-coordinator.cjs +85 -0
- package/docs/reasoningbank/models/_scripts/validation-suite.cjs +239 -0
- package/docs/reasoningbank/models/code-reasoning/README.md +451 -0
- package/docs/reasoningbank/models/code-reasoning/TRAINING-SUMMARY.md +416 -0
- package/docs/reasoningbank/models/code-reasoning/train-code.js +2059 -0
- package/docs/reasoningbank/models/code-reasoning/validation-report.md +349 -0
- package/docs/reasoningbank/models/domain-expert/COMPLETION-REPORT.md +451 -0
- package/docs/reasoningbank/models/domain-expert/INDEX.md +182 -0
- package/docs/reasoningbank/models/domain-expert/README.md +215 -0
- package/docs/reasoningbank/models/domain-expert/SCHEMA-FIX-REPORT.md +65 -0
- package/docs/reasoningbank/models/domain-expert/SUMMARY.md +286 -0
- package/docs/reasoningbank/models/domain-expert/USAGE.md +394 -0
- package/docs/reasoningbank/models/domain-expert/demo-queries.sh +42 -0
- package/docs/reasoningbank/models/domain-expert/memory.db +0 -0
- package/docs/reasoningbank/models/domain-expert/train-domain.js +1324 -0
- package/docs/reasoningbank/models/domain-expert/validate.js +218 -0
- package/docs/reasoningbank/models/domain-expert/validation-report.md +89 -0
- package/docs/reasoningbank/models/google-research/README.md +455 -0
- package/docs/reasoningbank/models/google-research/SCHEMA-FIX-REPORT.md +65 -0
- package/docs/reasoningbank/models/google-research/train-google.js +697 -0
- package/docs/reasoningbank/models/google-research/validation-report.md +99 -0
- package/docs/reasoningbank/models/google-research/validation-suite.js +323 -0
- package/docs/reasoningbank/models/problem-solving/README.md +629 -0
- package/docs/reasoningbank/models/problem-solving/SCHEMA-FIX-REPORT.md +66 -0
- package/docs/reasoningbank/models/problem-solving/TRAINING_SUMMARY.md +524 -0
- package/docs/reasoningbank/models/problem-solving/train-problem.js +1319 -0
- package/docs/reasoningbank/models/problem-solving/validation-report.md +300 -0
- package/docs/reasoningbank/models/safla/CHEATSHEET.md +277 -0
- package/docs/reasoningbank/models/safla/COMPLETION_REPORT.txt +108 -0
- package/docs/reasoningbank/models/safla/MANIFEST.txt +104 -0
- package/docs/reasoningbank/models/safla/QUICKSTART.md +349 -0
- package/docs/reasoningbank/models/safla/README.md +457 -0
- package/docs/reasoningbank/models/safla/SCHEMA-FIX-REPORT.md +68 -0
- package/docs/reasoningbank/models/safla/TRAINING_SUMMARY.md +383 -0
- package/docs/reasoningbank/models/safla/package-lock.json +463 -0
- package/docs/reasoningbank/models/safla/package.json +14 -0
- package/docs/reasoningbank/models/safla/train-safla.js +524 -0
- package/docs/reasoningbank/models/safla/validate-safla.js +449 -0
- package/docs/reasoningbank/models/safla/validation-report.md +115 -0
- package/docs/reasoningbank/models/safla/validation-results.json +189 -0
- package/docs/reasoningbank/tutorial-advanced.md +869 -0
- package/docs/reasoningbank/tutorial-basic.md +626 -0
- package/docs/reference/AGENTS.md +1011 -0
- package/docs/reference/MCP_TOOLS.md +2188 -0
- package/docs/reference/SPARC.md +717 -0
- package/docs/reference/SWARM.md +2000 -0
- package/docs/regression-analysis-phase-1-2.md +555 -0
- package/docs/releases/ALPHA_TAG_UPDATE.md +150 -0
- package/docs/releases/README.md +25 -0
- package/docs/releases/v2.7.0-alpha.10/RELEASE-NOTES-v2.7.0-alpha.10.md +309 -0
- package/docs/releases/v2.7.0-alpha.9/RELEASE-NOTES-v2.7.0-alpha.9.md +208 -0
- package/docs/releases/v2.7.1/RELEASE_SUMMARY_v2.7.1.md +340 -0
- package/docs/releases/v2.7.1/RELEASE_v2.7.1.md +244 -0
- package/docs/reports/README.md +49 -0
- package/docs/reports/REASONINGBANK_STATUS_UPDATE_v2_7_0_alpha_7.md +366 -0
- package/docs/reports/analysis/DEEP_REVIEW_COMPREHENSIVE_REPORT.md +922 -0
- package/docs/reports/analysis/REGRESSION-ANALYSIS-REPORT.md +500 -0
- package/docs/reports/releases/COMMIT_SUMMARY.md +247 -0
- package/docs/reports/releases/INTEGRATION_COMPLETE.md +414 -0
- package/docs/reports/releases/PRE_RELEASE_FIXES_REPORT.md +435 -0
- package/docs/reports/releases/RELEASE_v2.6.0-alpha.2.md +658 -0
- package/docs/reports/validation/COMMAND-VERIFICATION-REPORT.md +441 -0
- package/docs/reports/validation/DOCKER-VALIDATION-REPORT-v2.7.0-alpha.7.md +361 -0
- package/docs/reports/validation/DOCKER-VALIDATION-REPORT.md +281 -0
- package/docs/reports/validation/DOCKER_SQL_FALLBACK_VALIDATION.md +398 -0
- package/docs/reports/validation/FINAL_PRE_PUBLISH_VALIDATION.md +823 -0
- package/docs/reports/validation/FINAL_VALIDATION_REPORT.md +165 -0
- package/docs/reports/validation/MEMORY_REDACTION_TEST_REPORT.md +300 -0
- package/docs/reports/validation/PROCESS-EXIT-FIX-v2.7.0-alpha.9.md +154 -0
- package/docs/reports/validation/REASONINGBANK-v1.5.13-VALIDATION.md +235 -0
- package/docs/reports/validation/SQL_FALLBACK_VALIDATION_REPORT.md +405 -0
- package/docs/reports/validation/VALIDATION-SUMMARY.md +192 -0
- package/docs/sdk/CLAUDE-CODE-SDK-DEEP-ANALYSIS.md +649 -0
- package/docs/sdk/CLAUDE-FLOW-SDK-INTEGRATION-ANALYSIS.md +242 -0
- package/docs/sdk/INTEGRATION-ROADMAP.md +420 -0
- package/docs/sdk/MCP-TOOLS-UPDATE.md +270 -0
- package/docs/sdk/SDK-ADVANCED-FEATURES-INTEGRATION.md +723 -0
- package/docs/sdk/SDK-ALL-FEATURES-INTEGRATION-MATRIX.md +612 -0
- package/docs/sdk/SDK-INTEGRATION-COMPLETE.md +358 -0
- package/docs/sdk/SDK-INTEGRATION-PHASES-V2.5.md +750 -0
- package/docs/sdk/SDK-LEVERAGE-REAL-FEATURES.md +676 -0
- package/docs/sdk/SDK-VALIDATION-RESULTS.md +400 -0
- package/docs/sdk/epic-sdk-integration.md +1269 -0
- package/docs/setup/ENV-SETUP-GUIDE.md +270 -0
- package/docs/setup/MCP-SETUP-GUIDE.md +154 -0
- package/docs/setup/remote-setup.md +93 -0
- package/docs/skills/skills-tutorial.md +2910 -0
- package/docs/technical/README.md +36 -0
- package/docs/technical/fixes/HOOKS-V2-MODIFICATION.md +146 -0
- package/docs/technical/fixes/WASM-ESM-FIX-SUMMARY.md +114 -0
- package/docs/technical/performance/PERFORMANCE-SYSTEMS-STATUS.md +340 -0
- package/docs/troubleshooting/wsl-better-sqlite3-error.md +239 -0
- package/docs/validation/DOCKER_VERIFICATION_REPORT.md +371 -0
- package/docs/validation/README.md +25 -0
- package/docs/validation/REGRESSION_ANALYSIS_v2.7.1.md +357 -0
- package/docs/validation/final-validation-summary.md +220 -0
- package/docs/validation/verification-integration.md +190 -0
- package/docs/validation/verification-validation.md +349 -0
- package/docs/wiki/background-commands.md +1213 -0
- package/docs/wiki/session-persistence.md +342 -0
- package/docs/wiki/stream-chain-command.md +537 -0
- package/docs/workflow-fixes-action-plan.md +388 -0
- package/package.json +212 -0
- package/scripts/batch-fix-ts.sh +54 -0
- package/scripts/build-config.js +27 -0
- package/scripts/build-migration.sh +105 -0
- package/scripts/build-monitor.js +209 -0
- package/scripts/build-prompt-copier.sh +30 -0
- package/scripts/build-with-filter.sh +84 -0
- package/scripts/build-workaround.sh +71 -0
- package/scripts/check-links.ts +274 -0
- package/scripts/check-performance-regression.ts +168 -0
- package/scripts/claude-flow-wrapper.sh +35 -0
- package/scripts/claude-monitor.py +419 -0
- package/scripts/claude-sparc.sh +562 -0
- package/scripts/claude-wrapper.sh +17 -0
- package/scripts/cleanup-root.sh +69 -0
- package/scripts/cleanup-v3.sh +199 -0
- package/scripts/coverage-report.ts +692 -0
- package/scripts/create-github-issue.sh +64 -0
- package/scripts/demo-task-system.ts +224 -0
- package/scripts/fix-agentdb-imports.sh +18 -0
- package/scripts/fix-agentic-flow-enabled-log.sh +28 -0
- package/scripts/fix-agentic-flow-sqlite.sh +30 -0
- package/scripts/fix-cliffy-imports.js +307 -0
- package/scripts/fix-duplicate-imports.js +114 -0
- package/scripts/fix-error-handling.cjs +70 -0
- package/scripts/fix-import-paths.js +104 -0
- package/scripts/fix-imports.js +116 -0
- package/scripts/fix-shebang.js +78 -0
- package/scripts/fix-timezone-issue-246.js +200 -0
- package/scripts/fix-ts-advanced.js +358 -0
- package/scripts/fix-ts-comprehensive.py +182 -0
- package/scripts/fix-ts-final.sh +50 -0
- package/scripts/fix-ts-targeted-batch.js +250 -0
- package/scripts/fix-ts-targeted.sh +49 -0
- package/scripts/fix-typescript-errors.js +305 -0
- package/scripts/force-build.sh +63 -0
- package/scripts/install-arm64.js +83 -0
- package/scripts/install.js +83 -0
- package/scripts/load-test-swarm.js +576 -0
- package/scripts/migrate-hooks.js +173 -0
- package/scripts/migration-examples.ts +318 -0
- package/scripts/optimize-performance.js +400 -0
- package/scripts/performance-monitor.js +263 -0
- package/scripts/prepare-publish.js +150 -0
- package/scripts/quick-fix-ts.js +281 -0
- package/scripts/run-docker-regression.sh +101 -0
- package/scripts/run-phase7-tests.sh +201 -0
- package/scripts/ruv-swarm-safe.js +74 -0
- package/scripts/safe-build.sh +63 -0
- package/scripts/spawn-claude-terminal.sh +32 -0
- package/scripts/start-web-ui.js +15 -0
- package/scripts/test-batch-tasks.ts +29 -0
- package/scripts/test-claude-spawn-options.sh +63 -0
- package/scripts/test-comprehensive.js +401 -0
- package/scripts/test-coordination-features.ts +238 -0
- package/scripts/test-docker-wsl.sh +198 -0
- package/scripts/test-init-command.ts +302 -0
- package/scripts/test-mcp.ts +251 -0
- package/scripts/test-phase4.js +81 -0
- package/scripts/test-runner.ts +568 -0
- package/scripts/test-swarm-integration.sh +92 -0
- package/scripts/test-swarm.ts +142 -0
- package/scripts/update-bin-version.js +32 -0
- package/scripts/validate-examples.ts +288 -0
- package/scripts/validate-phase5.js +293 -0
- package/scripts/validate-phase7.sh +106 -0
- package/scripts/validate-sdk-integration.js +261 -0
- package/scripts/validate-sdk-integration.ts +188 -0
- package/scripts/validation-summary.ts +408 -0
- package/scripts/verify-agentdb-integration.sh +220 -0
- package/src/__tests__/benchmarks/performance.bench.ts +568 -0
- package/src/__tests__/hook-matchers.test.ts +480 -0
- package/src/__tests__/in-process-mcp.test.ts +526 -0
- package/src/__tests__/integration/swarm-sdk-integration.test.ts +520 -0
- package/src/__tests__/permission-manager.test.ts +485 -0
- package/src/__tests__/regression/backward-compatibility.test.ts +530 -0
- package/src/__tests__/sdk-integration.test.ts +362 -0
- package/src/__tests__/session-forking.test.ts +466 -0
- package/src/adapters/cliffy-node.ts +76 -0
- package/src/agents/agent-loader.ts +275 -0
- package/src/agents/agent-manager.ts +1735 -0
- package/src/agents/agent-registry.ts +482 -0
- package/src/api/auth-service.ts +644 -0
- package/src/api/claude-api-errors.ts +248 -0
- package/src/api/claude-client-enhanced.ts +617 -0
- package/src/api/claude-client-v2.5.ts +330 -0
- package/src/api/claude-client.ts +756 -0
- package/src/api/database-schema.sql +366 -0
- package/src/api/database-service.ts +787 -0
- package/src/api/routes/analysis.js +972 -0
- package/src/api/swarm-api.ts +741 -0
- package/src/automation/agents/foundation_agent_README.md +274 -0
- package/src/automation/agents/foundation_agent_core.py +384 -0
- package/src/automation/agents/foundation_agent_features.py +413 -0
- package/src/automation/agents/foundation_agent_integration.py +412 -0
- package/src/automation/agents/test_foundation_agent.py +369 -0
- package/src/cli/__tests__/command-registry.test.js +237 -0
- package/src/cli/__tests__/simple-cli.test.js +193 -0
- package/src/cli/__tests__/utils.test.js +253 -0
- package/src/cli/agents/README.md +235 -0
- package/src/cli/agents/analyst.ts +1087 -0
- package/src/cli/agents/architect.ts +865 -0
- package/src/cli/agents/base-agent.ts +500 -0
- package/src/cli/agents/capabilities.ts +669 -0
- package/src/cli/agents/coder.ts +936 -0
- package/src/cli/agents/coordinator.ts +542 -0
- package/src/cli/agents/hive-agents.ts +700 -0
- package/src/cli/agents/index.ts +399 -0
- package/src/cli/agents/researcher.ts +412 -0
- package/src/cli/agents/tester.ts +707 -0
- package/src/cli/cli-core.ts +318 -0
- package/src/cli/command-registry.js +1192 -0
- package/src/cli/commander-fix.ts +6 -0
- package/src/cli/commands/advanced-memory-commands.ts +1000 -0
- package/src/cli/commands/agent-simple.ts +463 -0
- package/src/cli/commands/agent.ts +450 -0
- package/src/cli/commands/checkpoint.ts +220 -0
- package/src/cli/commands/claude-api.ts +276 -0
- package/src/cli/commands/claude.ts +184 -0
- package/src/cli/commands/config-integration.ts +501 -0
- package/src/cli/commands/config.ts +96 -0
- package/src/cli/commands/enterprise.ts +1772 -0
- package/src/cli/commands/goal-init.ts +297 -0
- package/src/cli/commands/help-new.ts +246 -0
- package/src/cli/commands/help.ts +973 -0
- package/src/cli/commands/hive-mind/index.ts +42 -0
- package/src/cli/commands/hive-mind/init.ts +84 -0
- package/src/cli/commands/hive-mind/optimize-memory.ts +499 -0
- package/src/cli/commands/hive-mind/pause.ts +89 -0
- package/src/cli/commands/hive-mind/ps.ts +139 -0
- package/src/cli/commands/hive-mind/resume.ts +67 -0
- package/src/cli/commands/hive-mind/spawn.ts +193 -0
- package/src/cli/commands/hive-mind/status.ts +237 -0
- package/src/cli/commands/hive-mind/stop.ts +139 -0
- package/src/cli/commands/hive-mind/task.ts +332 -0
- package/src/cli/commands/hive-mind/wizard.ts +597 -0
- package/src/cli/commands/hive.ts +542 -0
- package/src/cli/commands/hook-types.ts +148 -0
- package/src/cli/commands/hook-validator.ts +195 -0
- package/src/cli/commands/hook.ts +348 -0
- package/src/cli/commands/index.ts +2891 -0
- package/src/cli/commands/maestro.ts +317 -0
- package/src/cli/commands/mcp.ts +280 -0
- package/src/cli/commands/memory.ts +577 -0
- package/src/cli/commands/migrate.ts +169 -0
- package/src/cli/commands/monitor.ts +611 -0
- package/src/cli/commands/neural-goal-init.js +187 -0
- package/src/cli/commands/neural-init.ts +245 -0
- package/src/cli/commands/ruv-swarm.ts +640 -0
- package/src/cli/commands/session.ts +649 -0
- package/src/cli/commands/sparc.ts +563 -0
- package/src/cli/commands/start/event-emitter.ts +41 -0
- package/src/cli/commands/start/index.ts +10 -0
- package/src/cli/commands/start/process-manager.ts +330 -0
- package/src/cli/commands/start/process-ui-simple.ts +396 -0
- package/src/cli/commands/start/process-ui.ts +5 -0
- package/src/cli/commands/start/start-command.ts +547 -0
- package/src/cli/commands/start/system-monitor.ts +304 -0
- package/src/cli/commands/start/types.ts +70 -0
- package/src/cli/commands/start.ts +6 -0
- package/src/cli/commands/status.ts +352 -0
- package/src/cli/commands/swarm-new.ts.disabled +1620 -0
- package/src/cli/commands/swarm-spawn.ts +92 -0
- package/src/cli/commands/swarm.ts +639 -0
- package/src/cli/commands/task.ts +77 -0
- package/src/cli/commands/verification.ts +353 -0
- package/src/cli/commands/workflow.ts +780 -0
- package/src/cli/completion.ts +570 -0
- package/src/cli/create-enhanced-task.js +213 -0
- package/src/cli/formatter.ts +334 -0
- package/src/cli/help-formatter.js +150 -0
- package/src/cli/help-formatter.ts +173 -0
- package/src/cli/help-text.js +1067 -0
- package/src/cli/index-remote.ts +141 -0
- package/src/cli/index.ts +217 -0
- package/src/cli/init/batch-tools.ts +389 -0
- package/src/cli/init/claude-config.ts +311 -0
- package/src/cli/init/directory-structure.ts +152 -0
- package/src/cli/init/index.ts +97 -0
- package/src/cli/init/sparc-environment.ts +447 -0
- package/src/cli/init/swarm-commands.ts +807 -0
- package/src/cli/init/utils.ts +16 -0
- package/src/cli/maestro-cli-bridge.ts +556 -0
- package/src/cli/main.ts +31 -0
- package/src/cli/node-compat.js +260 -0
- package/src/cli/node-repl.ts +712 -0
- package/src/cli/repl.ts +1109 -0
- package/src/cli/runtime-detector.js +286 -0
- package/src/cli/simple-cli.js +3429 -0
- package/src/cli/simple-cli.ts +3305 -0
- package/src/cli/simple-commands/__tests__/agent.test.js +291 -0
- package/src/cli/simple-commands/__tests__/memory.test.js +8 -0
- package/src/cli/simple-commands/__tests__/swarm.test.js +371 -0
- package/src/cli/simple-commands/__tests__/task.test.js +8 -0
- package/src/cli/simple-commands/agent-booster.js +515 -0
- package/src/cli/simple-commands/agent.js +1297 -0
- package/src/cli/simple-commands/agent.ts +137 -0
- package/src/cli/simple-commands/analysis.js +560 -0
- package/src/cli/simple-commands/automation-executor.js +1542 -0
- package/src/cli/simple-commands/automation.js +611 -0
- package/src/cli/simple-commands/batch-manager.js +338 -0
- package/src/cli/simple-commands/claude-telemetry.js +308 -0
- package/src/cli/simple-commands/claude-track.js +102 -0
- package/src/cli/simple-commands/concurrent-display.js +331 -0
- package/src/cli/simple-commands/config.js +319 -0
- package/src/cli/simple-commands/config.ts +127 -0
- package/src/cli/simple-commands/coordination.js +295 -0
- package/src/cli/simple-commands/enhanced-ui-views.js +654 -0
- package/src/cli/simple-commands/enhanced-webui-complete.js +1038 -0
- package/src/cli/simple-commands/env-template.js +190 -0
- package/src/cli/simple-commands/fix-hook-variables.js +363 -0
- package/src/cli/simple-commands/github/gh-coordinator.js +605 -0
- package/src/cli/simple-commands/github/github-api.js +624 -0
- package/src/cli/simple-commands/github/init.js +529 -0
- package/src/cli/simple-commands/github.js +381 -0
- package/src/cli/simple-commands/goal.js +146 -0
- package/src/cli/simple-commands/hive-mind/auto-save-middleware.js +311 -0
- package/src/cli/simple-commands/hive-mind/communication.js +740 -0
- package/src/cli/simple-commands/hive-mind/core.js +1030 -0
- package/src/cli/simple-commands/hive-mind/db-optimizer.js +872 -0
- package/src/cli/simple-commands/hive-mind/mcp-wrapper.js +1364 -0
- package/src/cli/simple-commands/hive-mind/memory.js +1292 -0
- package/src/cli/simple-commands/hive-mind/metrics-reader.js +304 -0
- package/src/cli/simple-commands/hive-mind/performance-optimizer.js +618 -0
- package/src/cli/simple-commands/hive-mind/performance-test.js +373 -0
- package/src/cli/simple-commands/hive-mind/queen.js +809 -0
- package/src/cli/simple-commands/hive-mind/session-manager.js +1186 -0
- package/src/cli/simple-commands/hive-mind-optimize.js +361 -0
- package/src/cli/simple-commands/hive-mind-wizard.js +281 -0
- package/src/cli/simple-commands/hive-mind.js +3281 -0
- package/src/cli/simple-commands/hive.js +140 -0
- package/src/cli/simple-commands/hook-safety.js +671 -0
- package/src/cli/simple-commands/hooks.js +1553 -0
- package/src/cli/simple-commands/init/.claude/checkpoints/1756224542.json +1 -0
- package/src/cli/simple-commands/init/.claude/checkpoints/1756224544.json +1 -0
- package/src/cli/simple-commands/init/README.md +106 -0
- package/src/cli/simple-commands/init/VALIDATION_ROLLBACK.md +488 -0
- package/src/cli/simple-commands/init/agent-copier.js +345 -0
- package/src/cli/simple-commands/init/batch-init.js +665 -0
- package/src/cli/simple-commands/init/claude-commands/claude-flow-commands.js +438 -0
- package/src/cli/simple-commands/init/claude-commands/optimized-claude-flow-commands.js +876 -0
- package/src/cli/simple-commands/init/claude-commands/optimized-slash-commands.js +351 -0
- package/src/cli/simple-commands/init/claude-commands/optimized-sparc-commands.js +501 -0
- package/src/cli/simple-commands/init/claude-commands/slash-commands.js +57 -0
- package/src/cli/simple-commands/init/claude-commands/sparc-commands.js +296 -0
- package/src/cli/simple-commands/init/copy-revised-templates.js +182 -0
- package/src/cli/simple-commands/init/executable-wrapper.js +122 -0
- package/src/cli/simple-commands/init/gitignore-updater.js +139 -0
- package/src/cli/simple-commands/init/help.js +133 -0
- package/src/cli/simple-commands/init/hive-mind-init.js +767 -0
- package/src/cli/simple-commands/init/index.js +2002 -0
- package/src/cli/simple-commands/init/performance-monitor.js +344 -0
- package/src/cli/simple-commands/init/rollback/backup-manager.js +542 -0
- package/src/cli/simple-commands/init/rollback/index.js +399 -0
- package/src/cli/simple-commands/init/rollback/recovery-manager.js +778 -0
- package/src/cli/simple-commands/init/rollback/rollback-executor.js +521 -0
- package/src/cli/simple-commands/init/rollback/state-tracker.js +486 -0
- package/src/cli/simple-commands/init/skills-copier.js +215 -0
- package/src/cli/simple-commands/init/sparc/roo-readme.js +61 -0
- package/src/cli/simple-commands/init/sparc/roomodes-config.js +102 -0
- package/src/cli/simple-commands/init/sparc/workflows.js +40 -0
- package/src/cli/simple-commands/init/sparc-structure.js +68 -0
- package/src/cli/simple-commands/init/template-copier.js +610 -0
- package/src/cli/simple-commands/init/templates/CLAUDE.md +1185 -0
- package/src/cli/simple-commands/init/templates/CLAUDE.md.optimized +265 -0
- package/src/cli/simple-commands/init/templates/claude-flow-universal +81 -0
- package/src/cli/simple-commands/init/templates/claude-flow.bat +18 -0
- package/src/cli/simple-commands/init/templates/claude-flow.ps1 +24 -0
- package/src/cli/simple-commands/init/templates/claude-md.js +1101 -0
- package/src/cli/simple-commands/init/templates/commands/analysis/bottleneck-detect.md +162 -0
- package/src/cli/simple-commands/init/templates/commands/automation/auto-agent.md +122 -0
- package/src/cli/simple-commands/init/templates/commands/github/github-swarm.md +121 -0
- package/src/cli/simple-commands/init/templates/commands/helpers/standard-checkpoint-hooks.sh +179 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/notification.md +113 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/post-command.md +116 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/post-edit.md +117 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/post-task.md +112 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/pre-command.md +113 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/pre-edit.md +113 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/pre-search.md +112 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/pre-task.md +111 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/session-end.md +118 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/session-restore.md +118 -0
- package/src/cli/simple-commands/init/templates/commands/hooks/session-start.md +117 -0
- package/src/cli/simple-commands/init/templates/coordination-md.js +340 -0
- package/src/cli/simple-commands/init/templates/coordination.md +16 -0
- package/src/cli/simple-commands/init/templates/enhanced-templates.js +2327 -0
- package/src/cli/simple-commands/init/templates/github-safe-enhanced.js +333 -0
- package/src/cli/simple-commands/init/templates/github-safe.js +106 -0
- package/src/cli/simple-commands/init/templates/memory-bank-md.js +259 -0
- package/src/cli/simple-commands/init/templates/memory-bank.md +16 -0
- package/src/cli/simple-commands/init/templates/readme-files.js +72 -0
- package/src/cli/simple-commands/init/templates/safe-hook-patterns.js +430 -0
- package/src/cli/simple-commands/init/templates/settings.json +142 -0
- package/src/cli/simple-commands/init/templates/settings.json.enhanced +35 -0
- package/src/cli/simple-commands/init/templates/sparc-modes.js +1401 -0
- package/src/cli/simple-commands/init/templates/statusline-command.sh +175 -0
- package/src/cli/simple-commands/init/templates/verification-claude-md.js +433 -0
- package/src/cli/simple-commands/init/validation/config-validator.js +354 -0
- package/src/cli/simple-commands/init/validation/health-checker.js +599 -0
- package/src/cli/simple-commands/init/validation/index.js +388 -0
- package/src/cli/simple-commands/init/validation/mode-validator.js +387 -0
- package/src/cli/simple-commands/init/validation/post-init-validator.js +390 -0
- package/src/cli/simple-commands/init/validation/pre-init-validator.js +290 -0
- package/src/cli/simple-commands/init/validation/test-runner.js +483 -0
- package/src/cli/simple-commands/init.js +4 -0
- package/src/cli/simple-commands/inject-memory-protocol.js +242 -0
- package/src/cli/simple-commands/mcp-integration-layer.js +689 -0
- package/src/cli/simple-commands/mcp.js +428 -0
- package/src/cli/simple-commands/memory-consolidation.js +632 -0
- package/src/cli/simple-commands/memory.js +1057 -0
- package/src/cli/simple-commands/migrate-hooks.js +63 -0
- package/src/cli/simple-commands/monitor.js +417 -0
- package/src/cli/simple-commands/neural.js +147 -0
- package/src/cli/simple-commands/pair.js +839 -0
- package/src/cli/simple-commands/performance-hooks.js +173 -0
- package/src/cli/simple-commands/performance-metrics.js +858 -0
- package/src/cli/simple-commands/process-ui-enhanced.js +821 -0
- package/src/cli/simple-commands/process-ui.js +274 -0
- package/src/cli/simple-commands/proxy.js +384 -0
- package/src/cli/simple-commands/realtime-update-system.js +659 -0
- package/src/cli/simple-commands/sparc/architecture.js +1750 -0
- package/src/cli/simple-commands/sparc/commands.js +575 -0
- package/src/cli/simple-commands/sparc/completion.js +1831 -0
- package/src/cli/simple-commands/sparc/coordinator.js +1045 -0
- package/src/cli/simple-commands/sparc/index.js +321 -0
- package/src/cli/simple-commands/sparc/phase-base.js +430 -0
- package/src/cli/simple-commands/sparc/pseudocode.js +984 -0
- package/src/cli/simple-commands/sparc/refinement.js +1856 -0
- package/src/cli/simple-commands/sparc/specification.js +736 -0
- package/src/cli/simple-commands/sparc-modes/architect.js +125 -0
- package/src/cli/simple-commands/sparc-modes/ask.js +126 -0
- package/src/cli/simple-commands/sparc-modes/code.js +148 -0
- package/src/cli/simple-commands/sparc-modes/debug.js +112 -0
- package/src/cli/simple-commands/sparc-modes/devops.js +137 -0
- package/src/cli/simple-commands/sparc-modes/docs-writer.js +38 -0
- package/src/cli/simple-commands/sparc-modes/generic.js +34 -0
- package/src/cli/simple-commands/sparc-modes/index.js +201 -0
- package/src/cli/simple-commands/sparc-modes/integration.js +55 -0
- package/src/cli/simple-commands/sparc-modes/mcp.js +38 -0
- package/src/cli/simple-commands/sparc-modes/monitoring.js +38 -0
- package/src/cli/simple-commands/sparc-modes/optimization.js +38 -0
- package/src/cli/simple-commands/sparc-modes/security-review.js +130 -0
- package/src/cli/simple-commands/sparc-modes/sparc-orchestrator.js +167 -0
- package/src/cli/simple-commands/sparc-modes/spec-pseudocode.js +38 -0
- package/src/cli/simple-commands/sparc-modes/supabase-admin.js +149 -0
- package/src/cli/simple-commands/sparc-modes/swarm.js +436 -0
- package/src/cli/simple-commands/sparc-modes/tdd.js +112 -0
- package/src/cli/simple-commands/sparc-modes/tutorial.js +277 -0
- package/src/cli/simple-commands/sparc.js +525 -0
- package/src/cli/simple-commands/start-ui.js +147 -0
- package/src/cli/simple-commands/start-wrapper.js +285 -0
- package/src/cli/simple-commands/start.js +2 -0
- package/src/cli/simple-commands/status.js +324 -0
- package/src/cli/simple-commands/stream-chain.js +495 -0
- package/src/cli/simple-commands/stream-processor.js +327 -0
- package/src/cli/simple-commands/swarm-executor.js +253 -0
- package/src/cli/simple-commands/swarm-metrics-integration.js +371 -0
- package/src/cli/simple-commands/swarm-ui.js +741 -0
- package/src/cli/simple-commands/swarm-webui-integration.js +311 -0
- package/src/cli/simple-commands/swarm.js +2280 -0
- package/src/cli/simple-commands/task.js +291 -0
- package/src/cli/simple-commands/templates/mle-star-workflow.json +294 -0
- package/src/cli/simple-commands/timestamp-fix.js +104 -0
- package/src/cli/simple-commands/token-tracker.js +369 -0
- package/src/cli/simple-commands/tool-execution-framework.js +555 -0
- package/src/cli/simple-commands/train-and-stream.js +357 -0
- package/src/cli/simple-commands/training-pipeline.js +861 -0
- package/src/cli/simple-commands/training.js +288 -0
- package/src/cli/simple-commands/verification-hooks.js +341 -0
- package/src/cli/simple-commands/verification-integration.js +472 -0
- package/src/cli/simple-commands/verification-training-integration.js +643 -0
- package/src/cli/simple-commands/verification.js +532 -0
- package/src/cli/simple-commands/web-server.js +929 -0
- package/src/cli/simple-commands/webui-validator.js +136 -0
- package/src/cli/simple-mcp.ts +120 -0
- package/src/cli/simple-orchestrator.ts +908 -0
- package/src/cli/swarm-standalone.js +232 -0
- package/src/cli/ui/compatible-ui.ts +401 -0
- package/src/cli/ui/fallback-handler.ts +200 -0
- package/src/cli/ui/index.ts +49 -0
- package/src/cli/utils/environment-detector.ts +335 -0
- package/src/cli/utils/interactive-detector.js +135 -0
- package/src/cli/utils/prompt-defaults.ts +312 -0
- package/src/cli/utils/safe-interactive.js +143 -0
- package/src/cli/utils.js +632 -0
- package/src/cli/validation-helper.js +113 -0
- package/src/cli/validation-helper.ts +128 -0
- package/src/communication/message-bus.ts +1451 -0
- package/src/config/config-manager.ts +701 -0
- package/src/config/ruv-swarm-config.ts +416 -0
- package/src/config/ruv-swarm-integration.ts +355 -0
- package/src/consciousness-symphony/consciousness-code-generator.js +615 -0
- package/src/consciousness-symphony/index.js +471 -0
- package/src/consciousness-symphony/package-lock.json +13 -0
- package/src/consciousness-symphony/package.json +13 -0
- package/src/consciousness-symphony/test-runner.js +427 -0
- package/src/constants/agent-types.ts +78 -0
- package/src/core/AgentRegistry.ts +440 -0
- package/src/core/ConfigManager.ts +310 -0
- package/src/core/ConsensusEngine.ts +495 -0
- package/src/core/DatabaseManager.ts +338 -0
- package/src/core/HiveMindCore.ts +698 -0
- package/src/core/InitController.ts +180 -0
- package/src/core/MCPIntegrator.ts +523 -0
- package/src/core/MetricsCollector.ts +534 -0
- package/src/core/ModeFactory.ts +108 -0
- package/src/core/TopologyManager.ts +449 -0
- package/src/core/config.ts +1311 -0
- package/src/core/event-bus.ts +187 -0
- package/src/core/json-persistence.ts +176 -0
- package/src/core/logger.ts +313 -0
- package/src/core/orchestrator-fixed.ts +314 -0
- package/src/core/orchestrator.ts +1439 -0
- package/src/core/persistence.ts +281 -0
- package/src/core/version.js +41 -0
- package/src/core/version.ts +41 -0
- package/src/db/hive-mind-schema.sql +238 -0
- package/src/enterprise/analytics-manager.ts +1510 -0
- package/src/enterprise/audit-manager.ts +1611 -0
- package/src/enterprise/cloud-manager.ts +1345 -0
- package/src/enterprise/deployment-manager.ts +1335 -0
- package/src/enterprise/index.ts +60 -0
- package/src/enterprise/project-manager.ts +883 -0
- package/src/enterprise/security-manager.ts +1497 -0
- package/src/execution/agent-executor.ts +306 -0
- package/src/execution/index.ts +19 -0
- package/src/execution/provider-manager.ts +187 -0
- package/src/hive-mind/consensus.js +621 -0
- package/src/hive-mind/core/Agent.ts +674 -0
- package/src/hive-mind/core/Communication.ts +494 -0
- package/src/hive-mind/core/DatabaseManager.ts +865 -0
- package/src/hive-mind/core/HiveMind.ts +541 -0
- package/src/hive-mind/core/Memory.ts +1437 -0
- package/src/hive-mind/core/MemoryMonitor.ts +654 -0
- package/src/hive-mind/core/Queen.ts +774 -0
- package/src/hive-mind/index.ts +24 -0
- package/src/hive-mind/integration/ConsensusEngine.ts +569 -0
- package/src/hive-mind/integration/MCPToolWrapper.ts +329 -0
- package/src/hive-mind/integration/SwarmOrchestrator.ts +905 -0
- package/src/hive-mind/memory.js +970 -0
- package/src/hive-mind/types.ts +441 -0
- package/src/hooks/hook-matchers.ts +507 -0
- package/src/hooks/index.ts +221 -0
- package/src/hooks/redaction-hook.ts +115 -0
- package/src/index.js +16 -0
- package/src/integration/mock-components.ts +415 -0
- package/src/integration/system-integration.ts +522 -0
- package/src/integration/types.ts +138 -0
- package/src/maestro/maestro-swarm-coordinator.ts +602 -0
- package/src/maestro/maestro-types.ts +386 -0
- package/src/maestro/tests/native-hive-mind-integration.test.ts +480 -0
- package/src/mcp/README.md +529 -0
- package/src/mcp/async/job-manager-mcp25.ts +456 -0
- package/src/mcp/auth.ts +446 -0
- package/src/mcp/claude-code-wrapper.ts +840 -0
- package/src/mcp/claude-flow-tools.ts +1563 -0
- package/src/mcp/client.ts +245 -0
- package/src/mcp/fixes/mcp-error-fixes.js +152 -0
- package/src/mcp/implementations/agent-tracker.js +147 -0
- package/src/mcp/implementations/daa-tools.js +369 -0
- package/src/mcp/implementations/workflow-tools.js +379 -0
- package/src/mcp/in-process-server.ts +416 -0
- package/src/mcp/index.ts +438 -0
- package/src/mcp/integrate-wrapper.ts +87 -0
- package/src/mcp/lifecycle-manager.ts +462 -0
- package/src/mcp/load-balancer.ts +510 -0
- package/src/mcp/mcp-server.js +2641 -0
- package/src/mcp/orchestration-integration.ts +876 -0
- package/src/mcp/performance-monitor.ts +663 -0
- package/src/mcp/protocol/version-negotiation.ts +329 -0
- package/src/mcp/protocol-manager.ts +474 -0
- package/src/mcp/recovery/connection-health-monitor.ts +317 -0
- package/src/mcp/recovery/connection-state-manager.ts +437 -0
- package/src/mcp/recovery/fallback-coordinator.ts +366 -0
- package/src/mcp/recovery/index.ts +29 -0
- package/src/mcp/recovery/reconnection-manager.ts +298 -0
- package/src/mcp/recovery/recovery-manager.ts +345 -0
- package/src/mcp/registry/mcp-registry-client-2025.ts +334 -0
- package/src/mcp/router.ts +240 -0
- package/src/mcp/ruv-swarm-tools.ts +652 -0
- package/src/mcp/ruv-swarm-wrapper.js +254 -0
- package/src/mcp/sdk-integration.ts +313 -0
- package/src/mcp/server-factory.ts +426 -0
- package/src/mcp/server-mcp-2025.ts +507 -0
- package/src/mcp/server-standalone.js +81 -0
- package/src/mcp/server-with-wrapper.ts +36 -0
- package/src/mcp/server-wrapper-mode.ts +30 -0
- package/src/mcp/server.ts +646 -0
- package/src/mcp/session-manager.ts +416 -0
- package/src/mcp/sparc-modes.ts +391 -0
- package/src/mcp/swarm-tools.ts +829 -0
- package/src/mcp/tests/mcp-integration.test.ts +537 -0
- package/src/mcp/tool-registry-progressive.ts +539 -0
- package/src/mcp/tool-registry.ts +385 -0
- package/src/mcp/tools/_template.ts +174 -0
- package/src/mcp/tools/loader.ts +362 -0
- package/src/mcp/tools/system/search.ts +276 -0
- package/src/mcp/tools/system/status.ts +206 -0
- package/src/mcp/tools.ts +552 -0
- package/src/mcp/transports/base.ts +24 -0
- package/src/mcp/transports/http.ts +463 -0
- package/src/mcp/transports/stdio.ts +238 -0
- package/src/mcp/validation/schema-validator-2025.ts +294 -0
- package/src/migration/README.md +497 -0
- package/src/migration/index.ts +143 -0
- package/src/migration/logger.ts +138 -0
- package/src/migration/migration-analyzer.ts +309 -0
- package/src/migration/migration-manifest.json +173 -0
- package/src/migration/migration-runner.ts +585 -0
- package/src/migration/migration-validator.ts +354 -0
- package/src/migration/package.json +76 -0
- package/src/migration/progress-reporter.ts +162 -0
- package/src/migration/rollback-manager.ts +405 -0
- package/src/migration/tests/migration-system.test.ts +8 -0
- package/src/migration/tsconfig.json +29 -0
- package/src/migration/types.ts +117 -0
- package/src/mle-star/ensemble_agent_advanced.py +473 -0
- package/src/mle-star/ensemble_agent_implementation.py +428 -0
- package/src/mle-star/ensemble_agent_tests.py +392 -0
- package/src/modes/EnterpriseInit.ts +294 -0
- package/src/modes/GitHubInit.ts +139 -0
- package/src/modes/HiveMindInit.ts +184 -0
- package/src/modes/NeuralInit.ts +248 -0
- package/src/modes/SparcInit.ts +254 -0
- package/src/modes/StandardInit.ts +74 -0
- package/src/monitoring/diagnostics.ts +732 -0
- package/src/monitoring/health-check.ts +461 -0
- package/src/monitoring/real-time-monitor.ts +1122 -0
- package/src/neural/NeuralDomainMapper.ts +1679 -0
- package/src/neural/examples.md +587 -0
- package/src/neural/index.ts +469 -0
- package/src/neural/integration.ts +826 -0
- package/src/patches/hive-mind-timezone-fix.patch +123 -0
- package/src/permissions/permission-manager.ts +493 -0
- package/src/providers/anthropic-provider.ts +282 -0
- package/src/providers/base-provider.ts +560 -0
- package/src/providers/cohere-provider.ts +521 -0
- package/src/providers/google-provider.ts +477 -0
- package/src/providers/index.ts +21 -0
- package/src/providers/ollama-provider.ts +489 -0
- package/src/providers/openai-provider.ts +476 -0
- package/src/providers/provider-manager.ts +654 -0
- package/src/providers/types.ts +531 -0
- package/src/providers/utils.ts +376 -0
- package/src/reasoningbank/reasoningbank-adapter.js +456 -0
- package/src/resources/resource-manager.ts +1912 -0
- package/src/sdk/checkpoint-manager.ts +403 -0
- package/src/sdk/claude-flow-mcp-integration.ts +387 -0
- package/src/sdk/compatibility-layer.ts +239 -0
- package/src/sdk/in-process-mcp.ts +489 -0
- package/src/sdk/query-control.ts +468 -0
- package/src/sdk/sdk-config.ts +206 -0
- package/src/sdk/session-forking.ts +389 -0
- package/src/sdk/validation-demo.ts +544 -0
- package/src/services/agentic-flow-hooks/hook-manager.ts +750 -0
- package/src/services/agentic-flow-hooks/index.ts +386 -0
- package/src/services/agentic-flow-hooks/llm-hooks.ts +557 -0
- package/src/services/agentic-flow-hooks/memory-hooks.ts +710 -0
- package/src/services/agentic-flow-hooks/neural-hooks.ts +758 -0
- package/src/services/agentic-flow-hooks/performance-hooks.ts +827 -0
- package/src/services/agentic-flow-hooks/types.ts +503 -0
- package/src/services/agentic-flow-hooks/workflow-hooks.ts +1026 -0
- package/src/swarm/__tests__/integration.test.ts +251 -0
- package/src/swarm/__tests__/prompt-copier.test.ts +375 -0
- package/src/swarm/advanced-orchestrator.ts +1200 -0
- package/src/swarm/claude-code-interface.ts +1268 -0
- package/src/swarm/claude-flow-executor.ts +266 -0
- package/src/swarm/coordinator.ts +3244 -0
- package/src/swarm/direct-executor.ts +1232 -0
- package/src/swarm/executor-sdk.ts +407 -0
- package/src/swarm/executor-v2.ts +425 -0
- package/src/swarm/executor.ts +1045 -0
- package/src/swarm/hive-mind-integration.ts +1127 -0
- package/src/swarm/index.ts +48 -0
- package/src/swarm/json-output-aggregator.ts +372 -0
- package/src/swarm/mcp-integration-wrapper.ts +860 -0
- package/src/swarm/memory.ts +1467 -0
- package/src/swarm/optimizations/README.md +216 -0
- package/src/swarm/optimizations/__tests__/optimization.test.ts +373 -0
- package/src/swarm/optimizations/async-file-manager.ts +291 -0
- package/src/swarm/optimizations/circular-buffer.ts +189 -0
- package/src/swarm/optimizations/connection-pool.ts +294 -0
- package/src/swarm/optimizations/index.ts +44 -0
- package/src/swarm/optimizations/migration-guide.md +298 -0
- package/src/swarm/optimizations/optimized-executor.ts +419 -0
- package/src/swarm/optimizations/performance_monitor.py +337 -0
- package/src/swarm/optimizations/ttl-map.ts +304 -0
- package/src/swarm/prompt-cli.ts +299 -0
- package/src/swarm/prompt-copier-enhanced.ts +242 -0
- package/src/swarm/prompt-copier.ts +494 -0
- package/src/swarm/prompt-copying-README.md +516 -0
- package/src/swarm/prompt-manager.ts +415 -0
- package/src/swarm/prompt-utils.ts +333 -0
- package/src/swarm/result-aggregator.ts +1046 -0
- package/src/swarm/sparc-executor.ts +1647 -0
- package/src/swarm/strategies/auto.ts +911 -0
- package/src/swarm/strategies/base.ts +200 -0
- package/src/swarm/strategies/research.ts +1079 -0
- package/src/swarm/strategies/strategy-metrics-patch.ts +12 -0
- package/src/swarm/types.ts +1147 -0
- package/src/swarm/workers/copy-worker.ts +81 -0
- package/src/task/README.md +439 -0
- package/src/task/commands.ts +116 -0
- package/src/task/coordination.ts +881 -0
- package/src/task/engine.ts +719 -0
- package/src/task/index.ts +387 -0
- package/src/task/types.ts +62 -0
- package/src/templates/claude-optimized/.claude/BATCHTOOLS_BEST_PRACTICES.md +2086 -0
- package/src/templates/claude-optimized/.claude/BATCHTOOLS_GUIDE.md +1041 -0
- package/src/templates/claude-optimized/.claude/MIGRATION_GUIDE.md +839 -0
- package/src/templates/claude-optimized/.claude/PERFORMANCE_BENCHMARKS.md +428 -0
- package/src/templates/claude-optimized/.claude/commands/claude-flow-help.md +174 -0
- package/src/templates/claude-optimized/.claude/commands/claude-flow-memory.md +187 -0
- package/src/templates/claude-optimized/.claude/commands/claude-flow-swarm.md +245 -0
- package/src/templates/claude-optimized/.claude/commands/sparc/architect.md +100 -0
- package/src/templates/claude-optimized/.claude/commands/sparc/ask.md +199 -0
- package/src/templates/claude-optimized/.claude/commands/sparc/code.md +159 -0
- package/src/templates/claude-optimized/.claude/commands/sparc/debug.md +142 -0
- package/src/templates/claude-optimized/.claude/commands/sparc/devops.md +213 -0
- package/src/templates/claude-optimized/.claude/commands/sparc/docs-writer.md +110 -0
- package/src/templates/claude-optimized/.claude/commands/sparc/integration.md +221 -0
- package/src/templates/claude-optimized/.claude/commands/sparc/mcp.md +178 -0
- package/src/templates/claude-optimized/.claude/commands/sparc/post-deployment-monitoring-mode.md +286 -0
- package/src/templates/claude-optimized/.claude/commands/sparc/refinement-optimization-mode.md +246 -0
- package/src/templates/claude-optimized/.claude/commands/sparc/security-review.md +232 -0
- package/src/templates/claude-optimized/.claude/commands/sparc/sparc.md +287 -0
- package/src/templates/claude-optimized/.claude/commands/sparc/spec-pseudocode.md +167 -0
- package/src/templates/claude-optimized/.claude/commands/sparc/supabase-admin.md +240 -0
- package/src/templates/claude-optimized/.claude/commands/sparc/tdd.md +187 -0
- package/src/templates/claude-optimized/.claude/commands/sparc/tutorial.md +197 -0
- package/src/templates/claude-optimized/.claude/commands/sparc.md +293 -0
- package/src/templates/claude-optimized/.installed +2 -0
- package/src/templates/claude-optimized/CHANGELOG.md +67 -0
- package/src/templates/claude-optimized/README.md +125 -0
- package/src/templates/claude-optimized/SUMMARY.md +245 -0
- package/src/templates/claude-optimized/VERSION +1 -0
- package/src/templates/claude-optimized/deploy-to-project.js +148 -0
- package/src/templates/claude-optimized/install-template.js +112 -0
- package/src/templates/claude-optimized/manifest.json +324 -0
- package/src/templates/claude-optimized/package.json +33 -0
- package/src/templates/claude-optimized/template-manager.js +95 -0
- package/src/templates/claude-optimized/validate-template.js +168 -0
- package/src/terminal/adapters/base.ts +29 -0
- package/src/terminal/adapters/native.ts +489 -0
- package/src/terminal/adapters/vscode.ts +335 -0
- package/src/terminal/manager.ts +315 -0
- package/src/terminal/pool.ts +269 -0
- package/src/terminal/session.ts +251 -0
- package/src/terminal/vscode-bridge.ts +247 -0
- package/src/tests/validation-consistency.test.ts +53 -0
- package/src/types/cliffy.d.ts +77 -0
- package/src/types/global.d.ts +36 -0
- package/src/types/index.ts +41 -0
- package/src/types/interfaces.ts +318 -0
- package/src/types/mcp.d.ts +69 -0
- package/src/types/vscode.d.ts +96 -0
- package/src/utils/__tests__/github-cli-safety-wrapper.test.js +408 -0
- package/src/utils/error-handler.js +2 -0
- package/src/utils/error-handler.ts +38 -0
- package/src/utils/error-recovery.ts +373 -0
- package/src/utils/errors.ts +234 -0
- package/src/utils/formatters.ts +75 -0
- package/src/utils/github-cli-safe.js +119 -0
- package/src/utils/github-cli-safety-wrapper.js +587 -0
- package/src/utils/helpers.ts +579 -0
- package/src/utils/key-redactor.js +178 -0
- package/src/utils/key-redactor.ts +184 -0
- package/src/utils/metrics-reader.js +235 -0
- package/src/utils/metrics-reader.ts +278 -0
- package/src/utils/npx-isolated-cache.js +156 -0
- package/src/utils/paths.ts +47 -0
- package/src/utils/project-root.js +126 -0
- package/src/utils/timezone-utils.js +134 -0
- package/src/utils/type-guards.ts +199 -0
- package/src/utils/types.ts +584 -0
- package/src/verification/README.md +295 -0
- package/src/verification/agent-scorer.ts +940 -0
- package/src/verification/alert-manager.ts +1345 -0
- package/src/verification/api/graphql/resolvers.js +1018 -0
- package/src/verification/api/graphql/schema.graphql +638 -0
- package/src/verification/api/openapi/specification.yaml +1150 -0
- package/src/verification/api/routes/verification.js +771 -0
- package/src/verification/api/types/index.ts +152 -0
- package/src/verification/api/websocket/truth-monitor.js +519 -0
- package/src/verification/architecture.md +842 -0
- package/src/verification/checkpoint-manager.ts +649 -0
- package/src/verification/cli-integration.ts +562 -0
- package/src/verification/dashboard-exporter.ts +1174 -0
- package/src/verification/examples.ts +559 -0
- package/src/verification/hooks.ts +1273 -0
- package/src/verification/index.ts +123 -0
- package/src/verification/interfaces.ts +833 -0
- package/src/verification/middleware.ts +698 -0
- package/src/verification/rollback-engine.ts +636 -0
- package/src/verification/rollback.ts +2120 -0
- package/src/verification/security-bypass-test.ts +744 -0
- package/src/verification/security.ts +1426 -0
- package/src/verification/simple-hooks.ts +221 -0
- package/src/verification/system-tracker.ts +935 -0
- package/src/verification/telemetry.ts +1421 -0
- package/src/verification/test-verification.ts +47 -0
- package/src/verification/tests/e2e/verification-pipeline.test.ts +1119 -0
- package/src/verification/tests/integration/cross-agent-communication.test.ts +730 -0
- package/src/verification/tests/mocks/false-reporting-scenarios.test.ts +1063 -0
- package/src/verification/tests/performance/verification-overhead.test.ts +739 -0
- package/src/verification/tests/unit/truth-scoring.test.ts +507 -0
- package/src/verification/tests.ts +747 -0
- package/src/verification/truth-scorer.ts +746 -0
- package/src/verification/types.ts +1099 -0
- package/src/verification/verification-pipeline.ts +1080 -0
- package/src/workflows/examples/api-development-workflow.json +140 -0
- package/src/workflows/examples/mle-star-workflow.json +238 -0
- package/src/workflows/examples/research-workflow.json +174 -0
|
@@ -0,0 +1,3281 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hive Mind command for Claude-Flow v2.0.0
|
|
3
|
+
* Advanced swarm intelligence with collective decision-making
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { spawn } from 'child_process';
|
|
7
|
+
import { existsSync, mkdirSync } from 'fs';
|
|
8
|
+
import { writeFile, readFile } from 'fs/promises';
|
|
9
|
+
import path from 'path';
|
|
10
|
+
import readline from 'readline';
|
|
11
|
+
import inquirer from 'inquirer';
|
|
12
|
+
import chalk from 'chalk';
|
|
13
|
+
import ora from 'ora';
|
|
14
|
+
import { args, cwd, exit, writeTextFile, readTextFile, mkdirAsync } from '../node-compat.js';
|
|
15
|
+
import {
|
|
16
|
+
isInteractive,
|
|
17
|
+
isRawModeSupported,
|
|
18
|
+
warnNonInteractive,
|
|
19
|
+
checkNonInteractiveAuth,
|
|
20
|
+
} from '../utils/interactive-detector.js';
|
|
21
|
+
import {
|
|
22
|
+
safeInteractive,
|
|
23
|
+
nonInteractiveProgress,
|
|
24
|
+
nonInteractiveSelect,
|
|
25
|
+
} from '../utils/safe-interactive.js';
|
|
26
|
+
|
|
27
|
+
// Import SQLite for persistence - dynamically loaded to handle missing bindings
|
|
28
|
+
let Database = null;
|
|
29
|
+
let sqliteAvailable = false;
|
|
30
|
+
|
|
31
|
+
// Try to load better-sqlite3, but don't fail if bindings aren't available
|
|
32
|
+
async function loadSqlite() {
|
|
33
|
+
if (Database !== null) return sqliteAvailable;
|
|
34
|
+
try {
|
|
35
|
+
// Try createRequire first for CommonJS modules (better-sqlite3 is CommonJS)
|
|
36
|
+
const { createRequire } = await import('module');
|
|
37
|
+
const require = createRequire(import.meta.url);
|
|
38
|
+
Database = require('better-sqlite3');
|
|
39
|
+
// Test if bindings work by creating a temp in-memory database
|
|
40
|
+
const testDb = new Database(':memory:');
|
|
41
|
+
testDb.close();
|
|
42
|
+
sqliteAvailable = true;
|
|
43
|
+
} catch (requireErr) {
|
|
44
|
+
// Fallback to dynamic import if createRequire fails
|
|
45
|
+
try {
|
|
46
|
+
const sqlite = await import('better-sqlite3');
|
|
47
|
+
Database = sqlite.default || sqlite;
|
|
48
|
+
const testDb = new Database(':memory:');
|
|
49
|
+
testDb.close();
|
|
50
|
+
sqliteAvailable = true;
|
|
51
|
+
} catch (err) {
|
|
52
|
+
sqliteAvailable = false;
|
|
53
|
+
Database = null;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return sqliteAvailable;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// Import help formatter
|
|
60
|
+
import { HelpFormatter } from '../help-formatter.js';
|
|
61
|
+
|
|
62
|
+
// Import MCP tool wrappers
|
|
63
|
+
import { MCPToolWrapper } from './hive-mind/mcp-wrapper.js';
|
|
64
|
+
import { HiveMindCore } from './hive-mind/core.js';
|
|
65
|
+
import { QueenCoordinator } from './hive-mind/queen.js';
|
|
66
|
+
import { CollectiveMemory } from './hive-mind/memory.js';
|
|
67
|
+
import { SwarmCommunication } from './hive-mind/communication.js';
|
|
68
|
+
import { HiveMindSessionManager } from './hive-mind/session-manager.js';
|
|
69
|
+
import { createAutoSaveMiddleware } from './hive-mind/auto-save-middleware.js';
|
|
70
|
+
import { HiveMindMetricsReader } from './hive-mind/metrics-reader.js';
|
|
71
|
+
|
|
72
|
+
function showHiveMindHelp() {
|
|
73
|
+
console.log(`
|
|
74
|
+
${chalk.yellow('π§ Claude Flow Hive Mind System')}
|
|
75
|
+
|
|
76
|
+
${chalk.bold('USAGE:')}
|
|
77
|
+
@sparkleideas/claude-flow hive-mind [subcommand] [options]
|
|
78
|
+
|
|
79
|
+
${chalk.bold('SUBCOMMANDS:')}
|
|
80
|
+
${chalk.green('init')} Initialize hive mind system
|
|
81
|
+
${chalk.green('spawn')} Spawn hive mind swarm for a task
|
|
82
|
+
${chalk.green('status')} Show hive mind status
|
|
83
|
+
${chalk.green('resume')} Resume a paused hive mind session
|
|
84
|
+
${chalk.green('stop')} Stop a running hive mind session
|
|
85
|
+
${chalk.green('sessions')} List all hive mind sessions
|
|
86
|
+
${chalk.green('consensus')} View consensus decisions
|
|
87
|
+
${chalk.green('memory')} Manage collective memory
|
|
88
|
+
${chalk.green('metrics')} View performance metrics
|
|
89
|
+
${chalk.green('wizard')} Interactive hive mind wizard with Claude Code spawning
|
|
90
|
+
|
|
91
|
+
${chalk.bold('EXAMPLES:')}
|
|
92
|
+
${chalk.gray('# Initialize hive mind')}
|
|
93
|
+
@sparkleideas/claude-flow hive-mind init
|
|
94
|
+
|
|
95
|
+
${chalk.gray('# Spawn swarm with interactive wizard')}
|
|
96
|
+
@sparkleideas/claude-flow hive-mind spawn
|
|
97
|
+
|
|
98
|
+
${chalk.gray('# Quick spawn with objective')}
|
|
99
|
+
@sparkleideas/claude-flow hive-mind spawn "Build microservices architecture"
|
|
100
|
+
|
|
101
|
+
${chalk.gray('# View current status')}
|
|
102
|
+
@sparkleideas/claude-flow hive-mind status
|
|
103
|
+
|
|
104
|
+
${chalk.gray('# Interactive wizard with Claude Code spawning')}
|
|
105
|
+
@sparkleideas/claude-flow hive-mind wizard
|
|
106
|
+
|
|
107
|
+
${chalk.gray('# Spawn with Claude Code coordination')}
|
|
108
|
+
@sparkleideas/claude-flow hive-mind spawn "Build REST API" --claude
|
|
109
|
+
|
|
110
|
+
${chalk.gray('# Auto-spawn coordinated Claude Code instances')}
|
|
111
|
+
@sparkleideas/claude-flow hive-mind spawn "Research AI trends" --auto-spawn --verbose
|
|
112
|
+
|
|
113
|
+
${chalk.gray('# List all sessions')}
|
|
114
|
+
@sparkleideas/claude-flow hive-mind sessions
|
|
115
|
+
|
|
116
|
+
${chalk.gray('# Resume a paused session')}
|
|
117
|
+
@sparkleideas/claude-flow hive-mind resume session-1234567890-abc123
|
|
118
|
+
|
|
119
|
+
${chalk.bold('KEY FEATURES:')}
|
|
120
|
+
${chalk.cyan('π')} Queen-led coordination with worker specialization
|
|
121
|
+
${chalk.cyan('π§ ')} Collective memory and knowledge sharing
|
|
122
|
+
${chalk.cyan('π€')} Consensus building for critical decisions
|
|
123
|
+
${chalk.cyan('β‘')} Parallel task execution with auto-scaling
|
|
124
|
+
${chalk.cyan('π')} Work stealing and load balancing
|
|
125
|
+
${chalk.cyan('π')} Real-time metrics and performance tracking
|
|
126
|
+
${chalk.cyan('π‘οΈ')} Fault tolerance and self-healing
|
|
127
|
+
${chalk.cyan('π')} Secure communication between agents
|
|
128
|
+
|
|
129
|
+
${chalk.bold('OPTIONS:')}
|
|
130
|
+
--queen-type <type> Queen coordinator type (strategic, tactical, adaptive)
|
|
131
|
+
--max-workers <n> Maximum worker agents (default: 8)
|
|
132
|
+
--consensus <type> Consensus algorithm (majority, weighted, byzantine)
|
|
133
|
+
--memory-size <mb> Collective memory size in MB (default: 100)
|
|
134
|
+
--auto-scale Enable auto-scaling based on workload
|
|
135
|
+
--encryption Enable encrypted communication
|
|
136
|
+
--monitor Real-time monitoring dashboard
|
|
137
|
+
--verbose Detailed logging
|
|
138
|
+
--claude Generate Claude Code spawn commands with coordination
|
|
139
|
+
--spawn Alias for --claude
|
|
140
|
+
--auto-spawn Automatically spawn Claude Code instances
|
|
141
|
+
--execute Execute Claude Code spawn commands immediately
|
|
142
|
+
|
|
143
|
+
${chalk.bold('For more information:')}
|
|
144
|
+
${chalk.blue('https://github.com/ruvnet/claude-flow/tree/main/docs/hive-mind')}
|
|
145
|
+
`);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Initialize hive mind system
|
|
150
|
+
*/
|
|
151
|
+
async function initHiveMind(flags) {
|
|
152
|
+
const spinner = ora('Initializing Hive Mind system...').start();
|
|
153
|
+
|
|
154
|
+
try {
|
|
155
|
+
// Create hive mind directory structure
|
|
156
|
+
const hiveMindDir = path.join(cwd(), '.hive-mind');
|
|
157
|
+
if (!existsSync(hiveMindDir)) {
|
|
158
|
+
mkdirSync(hiveMindDir, { recursive: true });
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// Check SQLite availability
|
|
162
|
+
const hasSqlite = await loadSqlite();
|
|
163
|
+
|
|
164
|
+
if (!hasSqlite) {
|
|
165
|
+
// Fall back to JSON-based initialization
|
|
166
|
+
spinner.text = 'Initializing Hive Mind with JSON fallback...';
|
|
167
|
+
|
|
168
|
+
const fallbackPath = path.join(hiveMindDir, 'memory.json');
|
|
169
|
+
const fallbackData = {
|
|
170
|
+
metadata: {
|
|
171
|
+
type: 'fallback',
|
|
172
|
+
initialized: new Date().toISOString(),
|
|
173
|
+
version: '2.0.0',
|
|
174
|
+
warning: 'Using JSON fallback - SQLite bindings not available'
|
|
175
|
+
},
|
|
176
|
+
swarms: [],
|
|
177
|
+
agents: [],
|
|
178
|
+
tasks: [],
|
|
179
|
+
collective_memory: [],
|
|
180
|
+
consensus_votes: [],
|
|
181
|
+
messages: []
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
await writeFile(fallbackPath, JSON.stringify(fallbackData, null, 2), 'utf8');
|
|
185
|
+
|
|
186
|
+
spinner.succeed('Hive Mind initialized with JSON fallback');
|
|
187
|
+
console.log(chalk.yellow('\nβ οΈ Note: SQLite native bindings not available'));
|
|
188
|
+
console.log(chalk.gray(' Using JSON fallback for data persistence'));
|
|
189
|
+
console.log(chalk.gray(' For full SQLite features, install locally: npm install @sparkleideas/claude-flow'));
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
// Initialize SQLite database
|
|
194
|
+
const dbPath = path.join(hiveMindDir, 'hive.db');
|
|
195
|
+
const db = new Database(dbPath);
|
|
196
|
+
|
|
197
|
+
// Create tables
|
|
198
|
+
db.exec(`
|
|
199
|
+
CREATE TABLE IF NOT EXISTS swarms (
|
|
200
|
+
id TEXT PRIMARY KEY,
|
|
201
|
+
name TEXT NOT NULL,
|
|
202
|
+
objective TEXT,
|
|
203
|
+
status TEXT DEFAULT 'active',
|
|
204
|
+
queen_type TEXT DEFAULT 'strategic',
|
|
205
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
206
|
+
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
207
|
+
);
|
|
208
|
+
|
|
209
|
+
CREATE TABLE IF NOT EXISTS agents (
|
|
210
|
+
id TEXT PRIMARY KEY,
|
|
211
|
+
swarm_id TEXT,
|
|
212
|
+
name TEXT NOT NULL,
|
|
213
|
+
type TEXT NOT NULL,
|
|
214
|
+
role TEXT,
|
|
215
|
+
status TEXT DEFAULT 'idle',
|
|
216
|
+
capabilities TEXT,
|
|
217
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
218
|
+
FOREIGN KEY (swarm_id) REFERENCES swarms(id)
|
|
219
|
+
);
|
|
220
|
+
|
|
221
|
+
CREATE TABLE IF NOT EXISTS tasks (
|
|
222
|
+
id TEXT PRIMARY KEY,
|
|
223
|
+
swarm_id TEXT,
|
|
224
|
+
agent_id TEXT,
|
|
225
|
+
description TEXT,
|
|
226
|
+
status TEXT DEFAULT 'pending',
|
|
227
|
+
priority INTEGER DEFAULT 5,
|
|
228
|
+
result TEXT,
|
|
229
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
230
|
+
completed_at DATETIME,
|
|
231
|
+
FOREIGN KEY (swarm_id) REFERENCES swarms(id),
|
|
232
|
+
FOREIGN KEY (agent_id) REFERENCES agents(id)
|
|
233
|
+
);
|
|
234
|
+
|
|
235
|
+
CREATE TABLE IF NOT EXISTS collective_memory (
|
|
236
|
+
id TEXT PRIMARY KEY,
|
|
237
|
+
swarm_id TEXT,
|
|
238
|
+
key TEXT NOT NULL,
|
|
239
|
+
value TEXT,
|
|
240
|
+
type TEXT DEFAULT 'knowledge',
|
|
241
|
+
confidence REAL DEFAULT 1.0,
|
|
242
|
+
created_by TEXT,
|
|
243
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
244
|
+
accessed_at DATETIME,
|
|
245
|
+
access_count INTEGER DEFAULT 0,
|
|
246
|
+
compressed INTEGER DEFAULT 0,
|
|
247
|
+
size INTEGER DEFAULT 0,
|
|
248
|
+
FOREIGN KEY (swarm_id) REFERENCES swarms(id)
|
|
249
|
+
);
|
|
250
|
+
|
|
251
|
+
CREATE TABLE IF NOT EXISTS consensus_decisions (
|
|
252
|
+
id TEXT PRIMARY KEY,
|
|
253
|
+
swarm_id TEXT,
|
|
254
|
+
topic TEXT NOT NULL,
|
|
255
|
+
decision TEXT,
|
|
256
|
+
votes TEXT,
|
|
257
|
+
algorithm TEXT DEFAULT 'majority',
|
|
258
|
+
confidence REAL,
|
|
259
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
260
|
+
FOREIGN KEY (swarm_id) REFERENCES swarms(id)
|
|
261
|
+
);
|
|
262
|
+
`);
|
|
263
|
+
|
|
264
|
+
db.close();
|
|
265
|
+
|
|
266
|
+
// Create configuration file
|
|
267
|
+
const config = {
|
|
268
|
+
version: '2.0.0',
|
|
269
|
+
initialized: new Date().toISOString(),
|
|
270
|
+
defaults: {
|
|
271
|
+
queenType: 'strategic',
|
|
272
|
+
maxWorkers: 8,
|
|
273
|
+
consensusAlgorithm: 'majority',
|
|
274
|
+
memorySize: 100,
|
|
275
|
+
autoScale: true,
|
|
276
|
+
encryption: false,
|
|
277
|
+
},
|
|
278
|
+
mcpTools: {
|
|
279
|
+
enabled: true,
|
|
280
|
+
parallel: true,
|
|
281
|
+
timeout: 60000,
|
|
282
|
+
},
|
|
283
|
+
};
|
|
284
|
+
|
|
285
|
+
await writeFile(path.join(hiveMindDir, 'config.json'), JSON.stringify(config, null, 2));
|
|
286
|
+
|
|
287
|
+
spinner.succeed('Hive Mind system initialized successfully!');
|
|
288
|
+
|
|
289
|
+
console.log('\n' + chalk.green('β') + ' Created .hive-mind directory');
|
|
290
|
+
console.log(chalk.green('β') + ' Initialized SQLite database');
|
|
291
|
+
console.log(chalk.green('β') + ' Created configuration file');
|
|
292
|
+
console.log('\n' + chalk.yellow('Next steps:'));
|
|
293
|
+
console.log(
|
|
294
|
+
' 1. Run ' + chalk.cyan('@sparkleideas/claude-flow hive-mind spawn') + ' to create your first swarm',
|
|
295
|
+
);
|
|
296
|
+
console.log(
|
|
297
|
+
' 2. Use ' + chalk.cyan('@sparkleideas/claude-flow hive-mind wizard') + ' for interactive setup',
|
|
298
|
+
);
|
|
299
|
+
} catch (error) {
|
|
300
|
+
spinner.fail('Failed to initialize Hive Mind system');
|
|
301
|
+
console.error(chalk.red('Error:'), error.message);
|
|
302
|
+
exit(1);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
/**
|
|
307
|
+
* Interactive wizard for hive mind operations
|
|
308
|
+
*/
|
|
309
|
+
// Wrapped wizard function that handles non-interactive environments
|
|
310
|
+
const hiveMindWizard = safeInteractive(
|
|
311
|
+
// Interactive version
|
|
312
|
+
async function (flags = {}) {
|
|
313
|
+
console.log(chalk.yellow('\nπ§ Hive Mind Interactive Wizard\n'));
|
|
314
|
+
|
|
315
|
+
const { action } = await inquirer.prompt([
|
|
316
|
+
{
|
|
317
|
+
type: 'list',
|
|
318
|
+
name: 'action',
|
|
319
|
+
message: 'What would you like to do?',
|
|
320
|
+
choices: [
|
|
321
|
+
{ name: 'π Create new swarm', value: 'spawn' },
|
|
322
|
+
{ name: 'π View swarm status', value: 'status' },
|
|
323
|
+
{ name: 'π§ Manage collective memory', value: 'memory' },
|
|
324
|
+
{ name: 'π€ View consensus decisions', value: 'consensus' },
|
|
325
|
+
{ name: 'π Performance metrics', value: 'metrics' },
|
|
326
|
+
{ name: 'π§ Configure hive mind', value: 'config' },
|
|
327
|
+
{ name: 'β Exit', value: 'exit' },
|
|
328
|
+
],
|
|
329
|
+
},
|
|
330
|
+
]);
|
|
331
|
+
|
|
332
|
+
switch (action) {
|
|
333
|
+
case 'spawn':
|
|
334
|
+
await spawnSwarmWizard();
|
|
335
|
+
break;
|
|
336
|
+
case 'status':
|
|
337
|
+
await showStatus({});
|
|
338
|
+
break;
|
|
339
|
+
case 'memory':
|
|
340
|
+
await manageMemoryWizard();
|
|
341
|
+
break;
|
|
342
|
+
case 'consensus':
|
|
343
|
+
await showConsensus({});
|
|
344
|
+
break;
|
|
345
|
+
case 'metrics':
|
|
346
|
+
await showMetrics({});
|
|
347
|
+
break;
|
|
348
|
+
case 'config':
|
|
349
|
+
await configureWizard();
|
|
350
|
+
break;
|
|
351
|
+
case 'exit':
|
|
352
|
+
console.log(chalk.gray('Exiting wizard...'));
|
|
353
|
+
break;
|
|
354
|
+
}
|
|
355
|
+
},
|
|
356
|
+
// Non-interactive fallback
|
|
357
|
+
async function (flags = {}) {
|
|
358
|
+
console.log(chalk.yellow('\nπ§ Hive Mind - Non-Interactive Mode\n'));
|
|
359
|
+
|
|
360
|
+
// Default to creating a swarm with sensible defaults
|
|
361
|
+
console.log(chalk.cyan('Creating new swarm with default settings...'));
|
|
362
|
+
console.log(chalk.gray('Use command-line flags to customize:'));
|
|
363
|
+
console.log(chalk.gray(' --objective "Your task" Set swarm objective'));
|
|
364
|
+
console.log(chalk.gray(' --queen-type strategic Set queen type'));
|
|
365
|
+
console.log(chalk.gray(' --max-workers 8 Set worker count'));
|
|
366
|
+
console.log();
|
|
367
|
+
|
|
368
|
+
const objective = flags.objective || 'General task coordination';
|
|
369
|
+
const config = {
|
|
370
|
+
name: flags.name || `swarm-${Date.now()}`,
|
|
371
|
+
queenType: flags.queenType || flags['queen-type'] || 'strategic',
|
|
372
|
+
maxWorkers: parseInt(flags.maxWorkers || flags['max-workers'] || '8'),
|
|
373
|
+
consensusAlgorithm: flags.consensus || flags.consensusAlgorithm || 'majority',
|
|
374
|
+
autoScale: flags.autoScale || flags['auto-scale'] || false,
|
|
375
|
+
namespace: flags.namespace || 'default',
|
|
376
|
+
verbose: flags.verbose || false,
|
|
377
|
+
encryption: flags.encryption || false,
|
|
378
|
+
};
|
|
379
|
+
|
|
380
|
+
await spawnSwarm([objective], {
|
|
381
|
+
...flags,
|
|
382
|
+
name: config.name,
|
|
383
|
+
queenType: config.queenType,
|
|
384
|
+
maxWorkers: config.maxWorkers,
|
|
385
|
+
consensusAlgorithm: config.consensusAlgorithm,
|
|
386
|
+
autoScale: config.autoScale,
|
|
387
|
+
encryption: config.encryption,
|
|
388
|
+
nonInteractive: true,
|
|
389
|
+
});
|
|
390
|
+
},
|
|
391
|
+
);
|
|
392
|
+
|
|
393
|
+
/**
|
|
394
|
+
* Spawn swarm wizard
|
|
395
|
+
*/
|
|
396
|
+
async function spawnSwarmWizard() {
|
|
397
|
+
const answers = await inquirer.prompt([
|
|
398
|
+
{
|
|
399
|
+
type: 'input',
|
|
400
|
+
name: 'objective',
|
|
401
|
+
message: 'What is the swarm objective?',
|
|
402
|
+
validate: (input) => input.trim().length > 0 || 'Please enter an objective',
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
type: 'input',
|
|
406
|
+
name: 'name',
|
|
407
|
+
message: 'Swarm name (optional):',
|
|
408
|
+
default: (answers) => `swarm-${Date.now()}`,
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
type: 'list',
|
|
412
|
+
name: 'queenType',
|
|
413
|
+
message: 'Select queen coordinator type:',
|
|
414
|
+
choices: [
|
|
415
|
+
{ name: 'Strategic - High-level planning and coordination', value: 'strategic' },
|
|
416
|
+
{ name: 'Tactical - Detailed task management', value: 'tactical' },
|
|
417
|
+
{ name: 'Adaptive - Learns and adapts strategies', value: 'adaptive' },
|
|
418
|
+
],
|
|
419
|
+
default: 'strategic',
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
type: 'number',
|
|
423
|
+
name: 'maxWorkers',
|
|
424
|
+
message: 'Maximum number of worker agents:',
|
|
425
|
+
default: 8,
|
|
426
|
+
validate: (input) => (input > 0 && input <= 20) || 'Please enter a number between 1 and 20',
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
type: 'checkbox',
|
|
430
|
+
name: 'workerTypes',
|
|
431
|
+
message: 'Select worker agent types:',
|
|
432
|
+
choices: [
|
|
433
|
+
{ name: 'Researcher', value: 'researcher', checked: true },
|
|
434
|
+
{ name: 'Coder', value: 'coder', checked: true },
|
|
435
|
+
{ name: 'Analyst', value: 'analyst', checked: true },
|
|
436
|
+
{ name: 'Tester', value: 'tester', checked: true },
|
|
437
|
+
{ name: 'Architect', value: 'architect' },
|
|
438
|
+
{ name: 'Reviewer', value: 'reviewer' },
|
|
439
|
+
{ name: 'Optimizer', value: 'optimizer' },
|
|
440
|
+
{ name: 'Documenter', value: 'documenter' },
|
|
441
|
+
],
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
type: 'list',
|
|
445
|
+
name: 'consensusAlgorithm',
|
|
446
|
+
message: 'Consensus algorithm for decisions:',
|
|
447
|
+
choices: [
|
|
448
|
+
{ name: 'Majority - Simple majority voting', value: 'majority' },
|
|
449
|
+
{ name: 'Weighted - Expertise-weighted voting', value: 'weighted' },
|
|
450
|
+
{ name: 'Byzantine - Fault-tolerant consensus', value: 'byzantine' },
|
|
451
|
+
],
|
|
452
|
+
default: 'majority',
|
|
453
|
+
},
|
|
454
|
+
{
|
|
455
|
+
type: 'confirm',
|
|
456
|
+
name: 'autoScale',
|
|
457
|
+
message: 'Enable auto-scaling?',
|
|
458
|
+
default: true,
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
type: 'confirm',
|
|
462
|
+
name: 'monitor',
|
|
463
|
+
message: 'Launch monitoring dashboard?',
|
|
464
|
+
default: true,
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
type: 'confirm',
|
|
468
|
+
name: 'spawnClaude',
|
|
469
|
+
message: 'Spawn Claude Code instance with hive-mind coordination?',
|
|
470
|
+
default: true,
|
|
471
|
+
},
|
|
472
|
+
]);
|
|
473
|
+
|
|
474
|
+
// Spawn the swarm with collected parameters
|
|
475
|
+
const swarmResult = await spawnSwarm([answers.objective], {
|
|
476
|
+
name: answers.name,
|
|
477
|
+
queenType: answers.queenType,
|
|
478
|
+
'queen-type': answers.queenType,
|
|
479
|
+
maxWorkers: answers.maxWorkers,
|
|
480
|
+
'max-workers': answers.maxWorkers,
|
|
481
|
+
workerTypes: answers.workerTypes.join(','),
|
|
482
|
+
consensus: answers.consensusAlgorithm,
|
|
483
|
+
autoScale: answers.autoScale,
|
|
484
|
+
'auto-scale': answers.autoScale,
|
|
485
|
+
monitor: answers.monitor,
|
|
486
|
+
namespace: answers.namespace || 'default',
|
|
487
|
+
verbose: answers.verbose || false,
|
|
488
|
+
spawnClaude: answers.spawnClaude, // Pass the Claude spawning preference
|
|
489
|
+
});
|
|
490
|
+
|
|
491
|
+
// If Claude Code spawning was requested, launch it using the same function as --claude flag
|
|
492
|
+
if (answers.spawnClaude && swarmResult && swarmResult.swarmId) {
|
|
493
|
+
// Create workers array in the same format expected by spawnClaudeCodeInstances
|
|
494
|
+
const workers = answers.workerTypes.map((type, index) => ({
|
|
495
|
+
id: `worker-${index + 1}`,
|
|
496
|
+
type,
|
|
497
|
+
role: 'worker',
|
|
498
|
+
status: 'active',
|
|
499
|
+
capabilities: getAgentCapabilities(type)
|
|
500
|
+
}));
|
|
501
|
+
|
|
502
|
+
// Create flags object with the wizard settings
|
|
503
|
+
const claudeFlags = {
|
|
504
|
+
queenType: answers.queenType,
|
|
505
|
+
consensus: answers.consensusAlgorithm,
|
|
506
|
+
autoScale: answers.autoScale,
|
|
507
|
+
monitor: answers.monitor,
|
|
508
|
+
namespace: answers.namespace || 'default',
|
|
509
|
+
verbose: answers.verbose || false
|
|
510
|
+
};
|
|
511
|
+
|
|
512
|
+
// Use the same Claude spawning function as the --claude flag
|
|
513
|
+
console.log(chalk.cyan(`\nπ― Objective from wizard: "${answers.objective}"`));
|
|
514
|
+
await spawnClaudeCodeInstances(
|
|
515
|
+
swarmResult.swarmId,
|
|
516
|
+
answers.name,
|
|
517
|
+
answers.objective,
|
|
518
|
+
workers,
|
|
519
|
+
claudeFlags
|
|
520
|
+
);
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
return swarmResult;
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
/**
|
|
527
|
+
* Spawn a hive mind swarm
|
|
528
|
+
*/
|
|
529
|
+
async function spawnSwarm(args, flags) {
|
|
530
|
+
// Load SQLite before using Database constructor
|
|
531
|
+
const hasSqlite = await loadSqlite();
|
|
532
|
+
if (!hasSqlite) {
|
|
533
|
+
console.error(chalk.red('Error: SQLite is required for hive-mind spawn'));
|
|
534
|
+
console.log(chalk.yellow('Please ensure better-sqlite3 is properly installed:'));
|
|
535
|
+
console.log(chalk.gray(' npm install better-sqlite3'));
|
|
536
|
+
console.log(chalk.gray(' # or for ARM64/M1: npm rebuild better-sqlite3'));
|
|
537
|
+
return;
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
const objective = args.join(' ').trim();
|
|
541
|
+
|
|
542
|
+
// Check for non-interactive mode FIRST
|
|
543
|
+
const isNonInteractive = flags['non-interactive'] || flags.nonInteractive;
|
|
544
|
+
|
|
545
|
+
if (!objective && !flags.wizard) {
|
|
546
|
+
if (isNonInteractive) {
|
|
547
|
+
console.error(chalk.red('Error: Objective required in non-interactive mode'));
|
|
548
|
+
console.log('Usage: @sparkleideas/claude-flow hive-mind spawn "Your objective" --non-interactive');
|
|
549
|
+
} else {
|
|
550
|
+
console.error(chalk.red('Error: Please provide an objective or use --wizard flag'));
|
|
551
|
+
console.log('Example: @sparkleideas/claude-flow hive-mind spawn "Build REST API"');
|
|
552
|
+
}
|
|
553
|
+
return;
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
// Log non-interactive mode status
|
|
557
|
+
if (isNonInteractive && flags.verbose) {
|
|
558
|
+
console.log(chalk.cyan('π€ Running in non-interactive mode'));
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
// Validate parameters
|
|
562
|
+
if (flags.verbose) {
|
|
563
|
+
console.log(chalk.gray('π Debug: Parsed flags:'));
|
|
564
|
+
console.log(chalk.gray(JSON.stringify(flags, null, 2)));
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
// Validate queen type
|
|
568
|
+
const validQueenTypes = ['strategic', 'tactical', 'adaptive'];
|
|
569
|
+
const queenType = flags.queenType || flags['queen-type'] || 'strategic';
|
|
570
|
+
if (!validQueenTypes.includes(queenType)) {
|
|
571
|
+
console.error(chalk.red(`Error: Invalid queen type '${queenType}'. Must be one of: ${validQueenTypes.join(', ')}`));
|
|
572
|
+
return;
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
// Validate max workers
|
|
576
|
+
const maxWorkers = parseInt(flags.maxWorkers || flags['max-workers'] || '8');
|
|
577
|
+
if (isNaN(maxWorkers) || maxWorkers < 1 || maxWorkers > 20) {
|
|
578
|
+
console.error(chalk.red('Error: max-workers must be a number between 1 and 20'));
|
|
579
|
+
return;
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
// Validate consensus algorithm
|
|
583
|
+
const validConsensusTypes = ['majority', 'weighted', 'byzantine'];
|
|
584
|
+
const consensusAlgorithm = flags.consensus || flags.consensusAlgorithm || 'majority';
|
|
585
|
+
if (!validConsensusTypes.includes(consensusAlgorithm)) {
|
|
586
|
+
console.error(chalk.red(`Error: Invalid consensus algorithm '${consensusAlgorithm}'. Must be one of: ${validConsensusTypes.join(', ')}`));
|
|
587
|
+
return;
|
|
588
|
+
}
|
|
589
|
+
|
|
590
|
+
const spinner = ora('Spawning Hive Mind swarm...').start();
|
|
591
|
+
|
|
592
|
+
try {
|
|
593
|
+
// Initialize hive mind core with error handling
|
|
594
|
+
let hiveMind;
|
|
595
|
+
try {
|
|
596
|
+
spinner.text = 'Initializing Hive Mind Core...';
|
|
597
|
+
hiveMind = new HiveMindCore({
|
|
598
|
+
objective,
|
|
599
|
+
name: flags.name || `hive-${Date.now()}`,
|
|
600
|
+
queenType: flags.queenType || flags['queen-type'] || 'strategic',
|
|
601
|
+
maxWorkers: parseInt(flags.maxWorkers || flags['max-workers'] || '8'),
|
|
602
|
+
consensusAlgorithm: flags.consensus || flags.consensusAlgorithm || 'majority',
|
|
603
|
+
autoScale: flags.autoScale !== undefined ? flags.autoScale : (flags['auto-scale'] !== undefined ? flags['auto-scale'] : true),
|
|
604
|
+
namespace: flags.namespace || 'default',
|
|
605
|
+
encryption: flags.encryption || false,
|
|
606
|
+
});
|
|
607
|
+
} catch (error) {
|
|
608
|
+
console.error('HiveMindCore initialization failed:', error);
|
|
609
|
+
throw new Error(`Failed to initialize HiveMindCore: ${error.message}`);
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
spinner.text = 'Setting up database connection...';
|
|
613
|
+
// Initialize database connection
|
|
614
|
+
const dbDir = path.join(cwd(), '.hive-mind');
|
|
615
|
+
const dbPath = path.join(dbDir, 'hive.db');
|
|
616
|
+
|
|
617
|
+
// Ensure .hive-mind directory exists
|
|
618
|
+
if (!existsSync(dbDir)) {
|
|
619
|
+
mkdirSync(dbDir, { recursive: true });
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
// Check if database file exists and try to create a clean one if needed
|
|
623
|
+
let db;
|
|
624
|
+
try {
|
|
625
|
+
spinner.text = 'Creating database connection...';
|
|
626
|
+
db = new Database(dbPath);
|
|
627
|
+
// Test the database with a simple query
|
|
628
|
+
db.prepare('SELECT 1').get();
|
|
629
|
+
spinner.text = 'Database connection established';
|
|
630
|
+
} catch (error) {
|
|
631
|
+
console.warn('Database issue detected, recreating...', error.message);
|
|
632
|
+
spinner.text = 'Recreating database...';
|
|
633
|
+
// Remove corrupted database
|
|
634
|
+
if (existsSync(dbPath)) {
|
|
635
|
+
try {
|
|
636
|
+
const fs = await import('fs');
|
|
637
|
+
fs.unlinkSync(dbPath);
|
|
638
|
+
} catch (e) {
|
|
639
|
+
console.warn('Could not remove corrupted database:', e.message);
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
// Create new database
|
|
643
|
+
db = new Database(dbPath);
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
// Initialize database schema if not exists
|
|
647
|
+
spinner.text = 'Creating database schema...';
|
|
648
|
+
try {
|
|
649
|
+
db.exec(`
|
|
650
|
+
CREATE TABLE IF NOT EXISTS swarms (
|
|
651
|
+
id TEXT PRIMARY KEY,
|
|
652
|
+
name TEXT NOT NULL,
|
|
653
|
+
objective TEXT,
|
|
654
|
+
queen_type TEXT,
|
|
655
|
+
status TEXT DEFAULT 'active',
|
|
656
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
657
|
+
updated_at DATETIME
|
|
658
|
+
);
|
|
659
|
+
|
|
660
|
+
CREATE TABLE IF NOT EXISTS agents (
|
|
661
|
+
id TEXT PRIMARY KEY,
|
|
662
|
+
swarm_id TEXT NOT NULL,
|
|
663
|
+
name TEXT NOT NULL,
|
|
664
|
+
type TEXT NOT NULL,
|
|
665
|
+
role TEXT NOT NULL,
|
|
666
|
+
status TEXT DEFAULT 'idle',
|
|
667
|
+
capabilities TEXT,
|
|
668
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
669
|
+
FOREIGN KEY (swarm_id) REFERENCES swarms(id)
|
|
670
|
+
);
|
|
671
|
+
|
|
672
|
+
CREATE TABLE IF NOT EXISTS tasks (
|
|
673
|
+
id TEXT PRIMARY KEY,
|
|
674
|
+
swarm_id TEXT NOT NULL,
|
|
675
|
+
agent_id TEXT,
|
|
676
|
+
description TEXT,
|
|
677
|
+
status TEXT DEFAULT 'pending',
|
|
678
|
+
priority INTEGER DEFAULT 5,
|
|
679
|
+
result TEXT,
|
|
680
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
681
|
+
completed_at DATETIME,
|
|
682
|
+
FOREIGN KEY (swarm_id) REFERENCES swarms(id),
|
|
683
|
+
FOREIGN KEY (agent_id) REFERENCES agents(id)
|
|
684
|
+
);
|
|
685
|
+
|
|
686
|
+
CREATE TABLE IF NOT EXISTS collective_memory (
|
|
687
|
+
id TEXT PRIMARY KEY,
|
|
688
|
+
swarm_id TEXT,
|
|
689
|
+
key TEXT NOT NULL,
|
|
690
|
+
value TEXT,
|
|
691
|
+
type TEXT DEFAULT 'knowledge',
|
|
692
|
+
confidence REAL DEFAULT 1.0,
|
|
693
|
+
created_by TEXT,
|
|
694
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
695
|
+
accessed_at DATETIME,
|
|
696
|
+
access_count INTEGER DEFAULT 0,
|
|
697
|
+
compressed INTEGER DEFAULT 0,
|
|
698
|
+
size INTEGER DEFAULT 0,
|
|
699
|
+
FOREIGN KEY (swarm_id) REFERENCES swarms(id)
|
|
700
|
+
);
|
|
701
|
+
|
|
702
|
+
CREATE TABLE IF NOT EXISTS consensus_decisions (
|
|
703
|
+
id TEXT PRIMARY KEY,
|
|
704
|
+
swarm_id TEXT,
|
|
705
|
+
topic TEXT NOT NULL,
|
|
706
|
+
decision TEXT,
|
|
707
|
+
votes TEXT,
|
|
708
|
+
algorithm TEXT DEFAULT 'majority',
|
|
709
|
+
confidence REAL,
|
|
710
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
711
|
+
FOREIGN KEY (swarm_id) REFERENCES swarms(id)
|
|
712
|
+
);
|
|
713
|
+
|
|
714
|
+
CREATE TABLE IF NOT EXISTS sessions (
|
|
715
|
+
id TEXT PRIMARY KEY,
|
|
716
|
+
swarm_id TEXT NOT NULL,
|
|
717
|
+
swarm_name TEXT NOT NULL,
|
|
718
|
+
objective TEXT,
|
|
719
|
+
status TEXT DEFAULT 'active',
|
|
720
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
721
|
+
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
722
|
+
paused_at DATETIME,
|
|
723
|
+
resumed_at DATETIME,
|
|
724
|
+
completion_percentage REAL DEFAULT 0,
|
|
725
|
+
checkpoint_data TEXT,
|
|
726
|
+
metadata TEXT,
|
|
727
|
+
parent_pid INTEGER,
|
|
728
|
+
child_pids TEXT,
|
|
729
|
+
FOREIGN KEY (swarm_id) REFERENCES swarms(id)
|
|
730
|
+
);
|
|
731
|
+
|
|
732
|
+
CREATE TABLE IF NOT EXISTS session_checkpoints (
|
|
733
|
+
id TEXT PRIMARY KEY,
|
|
734
|
+
session_id TEXT NOT NULL,
|
|
735
|
+
checkpoint_name TEXT NOT NULL,
|
|
736
|
+
checkpoint_data TEXT,
|
|
737
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
738
|
+
FOREIGN KEY (session_id) REFERENCES sessions(id)
|
|
739
|
+
);
|
|
740
|
+
|
|
741
|
+
CREATE TABLE IF NOT EXISTS session_logs (
|
|
742
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
743
|
+
session_id TEXT NOT NULL,
|
|
744
|
+
timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
745
|
+
log_level TEXT DEFAULT 'info',
|
|
746
|
+
message TEXT,
|
|
747
|
+
agent_id TEXT,
|
|
748
|
+
data TEXT,
|
|
749
|
+
FOREIGN KEY (session_id) REFERENCES sessions(id)
|
|
750
|
+
);
|
|
751
|
+
`);
|
|
752
|
+
spinner.text = 'Database schema created successfully';
|
|
753
|
+
} catch (error) {
|
|
754
|
+
console.error('Database schema creation failed:', error);
|
|
755
|
+
throw new Error(`Failed to create database schema: ${error.message}`);
|
|
756
|
+
}
|
|
757
|
+
|
|
758
|
+
// Create swarm record with safe ID generation
|
|
759
|
+
spinner.text = 'Creating swarm record...';
|
|
760
|
+
const timestamp = Date.now();
|
|
761
|
+
const randomPart = Math.random().toString(36).substring(2, 11); // Use substring instead of substr
|
|
762
|
+
const swarmId = `swarm-${timestamp}-${randomPart}`;
|
|
763
|
+
try {
|
|
764
|
+
db.prepare(
|
|
765
|
+
`
|
|
766
|
+
INSERT INTO swarms (id, name, objective, queen_type)
|
|
767
|
+
VALUES (?, ?, ?, ?)
|
|
768
|
+
`,
|
|
769
|
+
).run(swarmId, hiveMind.config.name, objective, hiveMind.config.queenType);
|
|
770
|
+
} catch (error) {
|
|
771
|
+
console.error('Failed to create swarm record:', error);
|
|
772
|
+
throw new Error(`Failed to create swarm record: ${error.message}`);
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
// Create session for this swarm
|
|
776
|
+
spinner.text = 'Creating session tracking...';
|
|
777
|
+
const sessionManager = new HiveMindSessionManager();
|
|
778
|
+
const sessionId = await sessionManager.createSession(swarmId, hiveMind.config.name, objective, {
|
|
779
|
+
queenType: hiveMind.config.queenType,
|
|
780
|
+
maxWorkers: hiveMind.config.maxWorkers,
|
|
781
|
+
consensusAlgorithm: hiveMind.config.consensusAlgorithm,
|
|
782
|
+
autoScale: hiveMind.config.autoScale,
|
|
783
|
+
encryption: hiveMind.config.encryption,
|
|
784
|
+
workerTypes: flags.workerTypes,
|
|
785
|
+
});
|
|
786
|
+
|
|
787
|
+
spinner.text = 'Session tracking established...';
|
|
788
|
+
|
|
789
|
+
// Initialize auto-save middleware (use the same session manager)
|
|
790
|
+
const autoSave = createAutoSaveMiddleware(sessionId, sessionManager, {
|
|
791
|
+
saveInterval: 30000, // Save every 30 seconds
|
|
792
|
+
autoStart: true,
|
|
793
|
+
});
|
|
794
|
+
|
|
795
|
+
// Close session manager after auto-save is set up
|
|
796
|
+
// sessionManager.close(); // Don't close yet as auto-save needs it
|
|
797
|
+
|
|
798
|
+
// Track initial swarm creation
|
|
799
|
+
autoSave.trackChange('swarm_created', {
|
|
800
|
+
swarmId,
|
|
801
|
+
swarmName: hiveMind.config.name,
|
|
802
|
+
objective,
|
|
803
|
+
workerCount: hiveMind.config.maxWorkers,
|
|
804
|
+
});
|
|
805
|
+
|
|
806
|
+
spinner.text = 'Initializing Queen coordinator...';
|
|
807
|
+
|
|
808
|
+
// Initialize Queen
|
|
809
|
+
const queen = new QueenCoordinator({
|
|
810
|
+
swarmId,
|
|
811
|
+
type: hiveMind.config.queenType,
|
|
812
|
+
objective,
|
|
813
|
+
});
|
|
814
|
+
|
|
815
|
+
// Spawn Queen agent
|
|
816
|
+
const queenAgent = {
|
|
817
|
+
id: `queen-${swarmId}`,
|
|
818
|
+
swarmId,
|
|
819
|
+
name: 'Queen Coordinator',
|
|
820
|
+
type: 'coordinator',
|
|
821
|
+
role: 'queen',
|
|
822
|
+
status: 'active',
|
|
823
|
+
capabilities: JSON.stringify(['coordination', 'planning', 'decision-making']),
|
|
824
|
+
};
|
|
825
|
+
|
|
826
|
+
db.prepare(
|
|
827
|
+
`
|
|
828
|
+
INSERT INTO agents (id, swarm_id, name, type, role, status, capabilities)
|
|
829
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
830
|
+
`,
|
|
831
|
+
).run(...Object.values(queenAgent));
|
|
832
|
+
|
|
833
|
+
spinner.text = 'Spawning worker agents...';
|
|
834
|
+
|
|
835
|
+
// Determine worker types
|
|
836
|
+
const workerTypes = flags.workerTypes
|
|
837
|
+
? flags.workerTypes.split(',')
|
|
838
|
+
: ['researcher', 'coder', 'analyst', 'tester'];
|
|
839
|
+
|
|
840
|
+
// Spawn worker agents
|
|
841
|
+
const workers = [];
|
|
842
|
+
for (let i = 0; i < Math.min(workerTypes.length, hiveMind.config.maxWorkers); i++) {
|
|
843
|
+
const workerType = workerTypes[i % workerTypes.length];
|
|
844
|
+
const workerId = `worker-${swarmId}-${i}`;
|
|
845
|
+
|
|
846
|
+
const worker = {
|
|
847
|
+
id: workerId,
|
|
848
|
+
swarmId,
|
|
849
|
+
name: `${workerType.charAt(0).toUpperCase() + workerType.slice(1)} Worker ${i + 1}`,
|
|
850
|
+
type: workerType,
|
|
851
|
+
role: 'worker',
|
|
852
|
+
status: 'idle',
|
|
853
|
+
capabilities: JSON.stringify(getAgentCapabilities(workerType)),
|
|
854
|
+
};
|
|
855
|
+
|
|
856
|
+
workers.push(worker);
|
|
857
|
+
|
|
858
|
+
db.prepare(
|
|
859
|
+
`
|
|
860
|
+
INSERT INTO agents (id, swarm_id, name, type, role, status, capabilities)
|
|
861
|
+
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
862
|
+
`,
|
|
863
|
+
).run(...Object.values(worker));
|
|
864
|
+
|
|
865
|
+
// Track agent spawning for auto-save
|
|
866
|
+
autoSave.trackAgentActivity(workerId, 'spawned', {
|
|
867
|
+
type: workerType,
|
|
868
|
+
name: worker.name,
|
|
869
|
+
});
|
|
870
|
+
}
|
|
871
|
+
|
|
872
|
+
spinner.text = 'Initializing collective memory...';
|
|
873
|
+
|
|
874
|
+
// Initialize collective memory
|
|
875
|
+
const memory = new CollectiveMemory({
|
|
876
|
+
swarmId,
|
|
877
|
+
maxSize: flags.memorySize || 100,
|
|
878
|
+
});
|
|
879
|
+
|
|
880
|
+
// Store initial context
|
|
881
|
+
memory.store('objective', objective, 'context');
|
|
882
|
+
memory.store('queen_type', hiveMind.config.queenType, 'config');
|
|
883
|
+
memory.store('worker_count', workers.length, 'metrics');
|
|
884
|
+
memory.store('session_id', sessionId, 'system');
|
|
885
|
+
|
|
886
|
+
spinner.text = 'Establishing communication channels...';
|
|
887
|
+
|
|
888
|
+
// Initialize communication system
|
|
889
|
+
const communication = new SwarmCommunication({
|
|
890
|
+
swarmId,
|
|
891
|
+
encryption: hiveMind.config.encryption,
|
|
892
|
+
});
|
|
893
|
+
|
|
894
|
+
db.close();
|
|
895
|
+
|
|
896
|
+
spinner.succeed('Hive Mind swarm spawned successfully!');
|
|
897
|
+
|
|
898
|
+
// Display swarm summary
|
|
899
|
+
console.log('\n' + chalk.bold('π Swarm Summary:'));
|
|
900
|
+
console.log(chalk.gray('β'.repeat(50)));
|
|
901
|
+
console.log(chalk.cyan('Swarm ID:'), swarmId);
|
|
902
|
+
console.log(chalk.cyan('Session ID:'), sessionId);
|
|
903
|
+
console.log(chalk.cyan('Name:'), hiveMind.config.name);
|
|
904
|
+
console.log(chalk.cyan('Objective:'), objective);
|
|
905
|
+
console.log(chalk.cyan('Queen Type:'), hiveMind.config.queenType);
|
|
906
|
+
console.log(chalk.cyan('Workers:'), workers.length);
|
|
907
|
+
console.log(chalk.cyan('Worker Types:'), workerTypes.join(', '));
|
|
908
|
+
console.log(chalk.cyan('Consensus:'), hiveMind.config.consensusAlgorithm);
|
|
909
|
+
console.log(chalk.cyan('Auto-scaling:'), hiveMind.config.autoScale ? 'Enabled' : 'Disabled');
|
|
910
|
+
console.log(chalk.gray('β'.repeat(50)));
|
|
911
|
+
|
|
912
|
+
// Launch monitoring if requested
|
|
913
|
+
if (flags.monitor) {
|
|
914
|
+
console.log('\n' + chalk.yellow('Launching monitoring dashboard...'));
|
|
915
|
+
// TODO: Implement monitoring dashboard
|
|
916
|
+
}
|
|
917
|
+
|
|
918
|
+
// Enhanced coordination instructions with MCP tools
|
|
919
|
+
console.log('\n' + chalk.green('β') + ' Swarm is ready for coordination');
|
|
920
|
+
console.log(chalk.gray('Use "@sparkleideas/claude-flow hive-mind status" to view swarm activity'));
|
|
921
|
+
console.log(chalk.gray('Session auto-save enabled - progress saved every 30 seconds'));
|
|
922
|
+
console.log(chalk.blue('π‘ To pause:') + ' Press Ctrl+C to safely pause and resume later');
|
|
923
|
+
console.log(chalk.blue('π‘ To resume:') + ' @sparkleideas/claude-flow hive-mind resume ' + sessionId);
|
|
924
|
+
|
|
925
|
+
// Set up SIGINT handler for automatic session pausing
|
|
926
|
+
let isExiting = false;
|
|
927
|
+
const sigintHandler = async () => {
|
|
928
|
+
if (isExiting) return;
|
|
929
|
+
isExiting = true;
|
|
930
|
+
|
|
931
|
+
console.log('\n\n' + chalk.yellow('βΈοΈ Pausing session...'));
|
|
932
|
+
|
|
933
|
+
try {
|
|
934
|
+
// Save current checkpoint using the existing session manager
|
|
935
|
+
// const sessionManager = new HiveMindSessionManager(); // Use existing one
|
|
936
|
+
|
|
937
|
+
// Create checkpoint data
|
|
938
|
+
const checkpointData = {
|
|
939
|
+
timestamp: new Date().toISOString(),
|
|
940
|
+
swarmId,
|
|
941
|
+
objective,
|
|
942
|
+
workerCount: workers.length,
|
|
943
|
+
workerTypes,
|
|
944
|
+
status: 'paused_by_user',
|
|
945
|
+
reason: 'User pressed Ctrl+C',
|
|
946
|
+
};
|
|
947
|
+
|
|
948
|
+
// Save checkpoint
|
|
949
|
+
await sessionManager.saveCheckpoint(sessionId, 'auto-pause', checkpointData);
|
|
950
|
+
|
|
951
|
+
// Pause the session
|
|
952
|
+
await sessionManager.pauseSession(sessionId);
|
|
953
|
+
|
|
954
|
+
// Close session manager
|
|
955
|
+
sessionManager.close();
|
|
956
|
+
|
|
957
|
+
console.log(chalk.green('β') + ' Session paused successfully');
|
|
958
|
+
console.log(chalk.cyan('\nTo resume this session, run:'));
|
|
959
|
+
console.log(chalk.bold(` @sparkleideas/claude-flow hive-mind resume ${sessionId}`));
|
|
960
|
+
console.log();
|
|
961
|
+
|
|
962
|
+
// Clean up auto-save if active
|
|
963
|
+
if (global.autoSaveInterval) {
|
|
964
|
+
clearInterval(global.autoSaveInterval);
|
|
965
|
+
}
|
|
966
|
+
|
|
967
|
+
process.exit(0);
|
|
968
|
+
} catch (error) {
|
|
969
|
+
console.error(chalk.red('Error pausing session:'), error.message);
|
|
970
|
+
process.exit(1);
|
|
971
|
+
}
|
|
972
|
+
};
|
|
973
|
+
|
|
974
|
+
// Register SIGINT handler
|
|
975
|
+
process.on('SIGINT', sigintHandler);
|
|
976
|
+
process.on('SIGTERM', sigintHandler);
|
|
977
|
+
|
|
978
|
+
// Offer to spawn Claude Code instances with coordination instructions
|
|
979
|
+
// Spawn Claude if --claude or --spawn flag is set
|
|
980
|
+
if (flags.claude || flags.spawn) {
|
|
981
|
+
await spawnClaudeCodeInstances(swarmId, hiveMind.config.name, objective, workers, flags);
|
|
982
|
+
} else {
|
|
983
|
+
console.log(
|
|
984
|
+
'\n' +
|
|
985
|
+
chalk.blue('π‘ Pro Tip:') +
|
|
986
|
+
' Add --claude to spawn coordinated Claude Code instances',
|
|
987
|
+
);
|
|
988
|
+
console.log(chalk.gray(' @sparkleideas/claude-flow hive-mind spawn "objective" --claude'));
|
|
989
|
+
}
|
|
990
|
+
|
|
991
|
+
// Return swarm info for wizard use
|
|
992
|
+
return { swarmId, hiveMind };
|
|
993
|
+
} catch (error) {
|
|
994
|
+
spinner.fail('Failed to spawn Hive Mind swarm');
|
|
995
|
+
console.error(chalk.red('Error:'), error.message);
|
|
996
|
+
|
|
997
|
+
// If error contains "sha3", provide specific guidance
|
|
998
|
+
if (error.message.includes('sha3') || error.message.includes('SHA3')) {
|
|
999
|
+
console.error('\nπ SHA3 Function Error Detected');
|
|
1000
|
+
console.error('This appears to be a SQLite extension or better-sqlite3 configuration issue.');
|
|
1001
|
+
console.error('\nPossible solutions:');
|
|
1002
|
+
console.error('1. Try removing the corrupted database: rm -rf .hive-mind/');
|
|
1003
|
+
console.error('2. Reinstall better-sqlite3: npm reinstall better-sqlite3');
|
|
1004
|
+
console.error('3. Check if any SQLite extensions are conflicting');
|
|
1005
|
+
console.error('\nπ¨ Detailed error:');
|
|
1006
|
+
console.error(error.stack || error.message);
|
|
1007
|
+
}
|
|
1008
|
+
|
|
1009
|
+
exit(1);
|
|
1010
|
+
}
|
|
1011
|
+
}
|
|
1012
|
+
|
|
1013
|
+
/**
|
|
1014
|
+
* Get agent capabilities based on type
|
|
1015
|
+
*/
|
|
1016
|
+
function getAgentCapabilities(type) {
|
|
1017
|
+
const capabilities = {
|
|
1018
|
+
researcher: ['web-search', 'data-gathering', 'analysis', 'synthesis'],
|
|
1019
|
+
coder: ['code-generation', 'implementation', 'refactoring', 'debugging'],
|
|
1020
|
+
analyst: ['data-analysis', 'pattern-recognition', 'reporting', 'visualization'],
|
|
1021
|
+
tester: ['test-generation', 'quality-assurance', 'bug-detection', 'validation'],
|
|
1022
|
+
architect: ['system-design', 'architecture', 'planning', 'documentation'],
|
|
1023
|
+
reviewer: ['code-review', 'quality-check', 'feedback', 'improvement'],
|
|
1024
|
+
optimizer: ['performance-tuning', 'optimization', 'profiling', 'enhancement'],
|
|
1025
|
+
documenter: ['documentation', 'explanation', 'tutorial-creation', 'knowledge-base'],
|
|
1026
|
+
};
|
|
1027
|
+
|
|
1028
|
+
return capabilities[type] || ['general'];
|
|
1029
|
+
}
|
|
1030
|
+
|
|
1031
|
+
/**
|
|
1032
|
+
* Show hive mind status
|
|
1033
|
+
*/
|
|
1034
|
+
async function showStatus(flags) {
|
|
1035
|
+
try {
|
|
1036
|
+
const hiveMindDir = path.join(cwd(), '.hive-mind');
|
|
1037
|
+
const dbPath = path.join(hiveMindDir, 'hive.db');
|
|
1038
|
+
const fallbackPath = path.join(hiveMindDir, 'memory.json');
|
|
1039
|
+
|
|
1040
|
+
// Check if hive-mind is initialized at all
|
|
1041
|
+
if (!existsSync(hiveMindDir)) {
|
|
1042
|
+
console.error(chalk.red('Error: Hive Mind not initialized'));
|
|
1043
|
+
console.log('Run "@sparkleideas/claude-flow hive-mind init" first');
|
|
1044
|
+
return;
|
|
1045
|
+
}
|
|
1046
|
+
|
|
1047
|
+
// Check SQLite availability
|
|
1048
|
+
const hasSqlite = await loadSqlite();
|
|
1049
|
+
|
|
1050
|
+
// If SQLite database exists but bindings aren't available
|
|
1051
|
+
if (existsSync(dbPath) && !hasSqlite) {
|
|
1052
|
+
console.log(chalk.yellow('β οΈ SQLite native bindings not available'));
|
|
1053
|
+
console.log(chalk.gray(' This is normal when using npx or remote execution'));
|
|
1054
|
+
console.log('');
|
|
1055
|
+
|
|
1056
|
+
// Try to show basic status from fallback JSON
|
|
1057
|
+
if (existsSync(fallbackPath)) {
|
|
1058
|
+
try {
|
|
1059
|
+
const fallbackData = JSON.parse(await readFile(fallbackPath, 'utf8'));
|
|
1060
|
+
console.log(chalk.bold('π Hive Mind Status (from fallback memory)'));
|
|
1061
|
+
console.log(chalk.cyan(' Database:'), chalk.yellow('JSON fallback'));
|
|
1062
|
+
console.log(chalk.cyan(' Swarms:'), fallbackData.swarms?.length || 0);
|
|
1063
|
+
console.log(chalk.cyan(' Agents:'), fallbackData.agents?.length || 0);
|
|
1064
|
+
console.log('');
|
|
1065
|
+
console.log(chalk.gray('π‘ For full SQLite features, install locally:'));
|
|
1066
|
+
console.log(chalk.gray(' npm install @sparkleideas/claude-flow'));
|
|
1067
|
+
return;
|
|
1068
|
+
} catch {
|
|
1069
|
+
// Fallback file exists but couldn't be read
|
|
1070
|
+
}
|
|
1071
|
+
}
|
|
1072
|
+
|
|
1073
|
+
// Show minimal status
|
|
1074
|
+
console.log(chalk.bold('π Hive Mind Status'));
|
|
1075
|
+
console.log(chalk.cyan(' Initialized:'), chalk.green('Yes'));
|
|
1076
|
+
console.log(chalk.cyan(' Database:'), chalk.yellow('SQLite (unavailable in npx mode)'));
|
|
1077
|
+
console.log('');
|
|
1078
|
+
console.log(chalk.gray('π‘ For full functionality, install locally:'));
|
|
1079
|
+
console.log(chalk.gray(' npm install @sparkleideas/claude-flow'));
|
|
1080
|
+
return;
|
|
1081
|
+
}
|
|
1082
|
+
|
|
1083
|
+
if (!existsSync(dbPath)) {
|
|
1084
|
+
// Check for fallback JSON database
|
|
1085
|
+
if (existsSync(fallbackPath)) {
|
|
1086
|
+
try {
|
|
1087
|
+
const fallbackData = JSON.parse(await readFile(fallbackPath, 'utf8'));
|
|
1088
|
+
console.log(chalk.bold('π Hive Mind Status (JSON fallback mode)'));
|
|
1089
|
+
console.log(chalk.cyan(' Database:'), chalk.yellow('JSON fallback'));
|
|
1090
|
+
console.log(chalk.cyan(' Swarms:'), fallbackData.swarms?.length || 0);
|
|
1091
|
+
console.log(chalk.cyan(' Agents:'), fallbackData.agents?.length || 0);
|
|
1092
|
+
console.log(chalk.cyan(' Tasks:'), fallbackData.tasks?.length || 0);
|
|
1093
|
+
return;
|
|
1094
|
+
} catch {
|
|
1095
|
+
console.error(chalk.red('Error: Hive Mind not initialized'));
|
|
1096
|
+
console.log('Run "@sparkleideas/claude-flow hive-mind init" first');
|
|
1097
|
+
return;
|
|
1098
|
+
}
|
|
1099
|
+
}
|
|
1100
|
+
console.error(chalk.red('Error: Hive Mind not initialized'));
|
|
1101
|
+
console.log('Run "@sparkleideas/claude-flow hive-mind init" first');
|
|
1102
|
+
return;
|
|
1103
|
+
}
|
|
1104
|
+
|
|
1105
|
+
// Use the metrics reader for real data
|
|
1106
|
+
const metricsReader = new HiveMindMetricsReader(dbPath);
|
|
1107
|
+
const swarms = metricsReader.getActiveSwarms();
|
|
1108
|
+
|
|
1109
|
+
if (swarms.length === 0) {
|
|
1110
|
+
console.log(chalk.gray('No active swarms found'));
|
|
1111
|
+
metricsReader.close();
|
|
1112
|
+
return;
|
|
1113
|
+
}
|
|
1114
|
+
|
|
1115
|
+
console.log(chalk.bold('\nπ Active Hive Mind Swarms\n'));
|
|
1116
|
+
|
|
1117
|
+
for (const swarm of swarms) {
|
|
1118
|
+
console.log(chalk.yellow('β'.repeat(60)));
|
|
1119
|
+
console.log(chalk.cyan('Swarm:'), swarm.name);
|
|
1120
|
+
console.log(chalk.cyan('ID:'), swarm.id);
|
|
1121
|
+
console.log(chalk.cyan('Objective:'), swarm.objective);
|
|
1122
|
+
console.log(chalk.cyan('Queen Type:'), swarm.queen_type);
|
|
1123
|
+
console.log(chalk.cyan('Status:'), chalk.green(swarm.status));
|
|
1124
|
+
console.log(chalk.cyan('Created:'), new Date(swarm.created_at).toLocaleString());
|
|
1125
|
+
|
|
1126
|
+
// Show real agent count
|
|
1127
|
+
console.log(chalk.cyan('Total Agents:'), swarm.agent_count || 0);
|
|
1128
|
+
|
|
1129
|
+
console.log('\n' + chalk.bold('Agents:'));
|
|
1130
|
+
|
|
1131
|
+
// Group by role using real agent data
|
|
1132
|
+
const agents = swarm.agents || [];
|
|
1133
|
+
const queen = agents.find((a) => a.role === 'queen');
|
|
1134
|
+
const workers = agents.filter((a) => a.role === 'worker');
|
|
1135
|
+
|
|
1136
|
+
if (queen) {
|
|
1137
|
+
console.log(' ' + chalk.magenta('π Queen:'), queen.name, chalk.gray(`(${queen.status})`));
|
|
1138
|
+
} else {
|
|
1139
|
+
console.log(' ' + chalk.gray('No queen assigned yet'));
|
|
1140
|
+
}
|
|
1141
|
+
|
|
1142
|
+
console.log(' ' + chalk.blue('π Workers:'));
|
|
1143
|
+
if (workers.length > 0) {
|
|
1144
|
+
workers.forEach((worker) => {
|
|
1145
|
+
const statusColor =
|
|
1146
|
+
worker.status === 'active' ? 'green' : worker.status === 'busy' ? 'yellow' : 'gray';
|
|
1147
|
+
console.log(` - ${worker.name} (${worker.type}) ${chalk[statusColor](worker.status)}`);
|
|
1148
|
+
});
|
|
1149
|
+
} else {
|
|
1150
|
+
console.log(' ' + chalk.gray('No workers spawned yet'));
|
|
1151
|
+
}
|
|
1152
|
+
|
|
1153
|
+
// Get real task statistics
|
|
1154
|
+
const taskStats = swarm.task_metrics || {
|
|
1155
|
+
total: 0,
|
|
1156
|
+
completed: 0,
|
|
1157
|
+
in_progress: 0,
|
|
1158
|
+
pending: 0,
|
|
1159
|
+
failed: 0
|
|
1160
|
+
};
|
|
1161
|
+
|
|
1162
|
+
console.log('\n' + chalk.bold('Tasks:'));
|
|
1163
|
+
console.log(` Total: ${taskStats.total}`);
|
|
1164
|
+
console.log(` Completed: ${chalk.green(taskStats.completed || 0)}`);
|
|
1165
|
+
console.log(` In Progress: ${chalk.yellow(taskStats.in_progress || 0)}`);
|
|
1166
|
+
console.log(` Pending: ${chalk.gray(taskStats.pending || 0)}`);
|
|
1167
|
+
console.log(` ${chalk.bold('Completion:')} ${swarm.completion_percentage || 0}%`);
|
|
1168
|
+
|
|
1169
|
+
// Show real memory count
|
|
1170
|
+
console.log('\n' + chalk.bold('Collective Memory:'));
|
|
1171
|
+
console.log(` Entries: ${swarm.memory_count || 0}`);
|
|
1172
|
+
|
|
1173
|
+
// Show real consensus count
|
|
1174
|
+
console.log('\n' + chalk.bold('Consensus Decisions:'));
|
|
1175
|
+
console.log(` Total: ${swarm.consensus_count || 0}`);
|
|
1176
|
+
}
|
|
1177
|
+
|
|
1178
|
+
console.log(chalk.yellow('β'.repeat(60)) + '\n');
|
|
1179
|
+
|
|
1180
|
+
metricsReader.close();
|
|
1181
|
+
} catch (error) {
|
|
1182
|
+
console.error(chalk.red('Error:'), error.message);
|
|
1183
|
+
exit(1);
|
|
1184
|
+
}
|
|
1185
|
+
}
|
|
1186
|
+
|
|
1187
|
+
/**
|
|
1188
|
+
* Show consensus decisions
|
|
1189
|
+
*/
|
|
1190
|
+
async function showConsensus(flags) {
|
|
1191
|
+
// Load SQLite before using Database constructor
|
|
1192
|
+
const hasSqlite = await loadSqlite();
|
|
1193
|
+
if (!hasSqlite) {
|
|
1194
|
+
console.error(chalk.red('Error: SQLite is required for this command'));
|
|
1195
|
+
return;
|
|
1196
|
+
}
|
|
1197
|
+
try {
|
|
1198
|
+
const dbPath = path.join(cwd(), '.hive-mind', 'hive.db');
|
|
1199
|
+
const db = new Database(dbPath);
|
|
1200
|
+
|
|
1201
|
+
const decisions = db
|
|
1202
|
+
.prepare(
|
|
1203
|
+
`
|
|
1204
|
+
SELECT cd.*, s.name as swarm_name
|
|
1205
|
+
FROM consensus_decisions cd
|
|
1206
|
+
JOIN swarms s ON cd.swarm_id = s.id
|
|
1207
|
+
ORDER BY cd.created_at DESC
|
|
1208
|
+
LIMIT 20
|
|
1209
|
+
`,
|
|
1210
|
+
)
|
|
1211
|
+
.all();
|
|
1212
|
+
|
|
1213
|
+
if (decisions.length === 0) {
|
|
1214
|
+
console.log(chalk.gray('No consensus decisions found'));
|
|
1215
|
+
db.close();
|
|
1216
|
+
return;
|
|
1217
|
+
}
|
|
1218
|
+
|
|
1219
|
+
console.log(chalk.bold('\nπ€ Recent Consensus Decisions\n'));
|
|
1220
|
+
|
|
1221
|
+
decisions.forEach((decision) => {
|
|
1222
|
+
console.log(chalk.yellow('β'.repeat(50)));
|
|
1223
|
+
console.log(chalk.cyan('Swarm:'), decision.swarm_name);
|
|
1224
|
+
console.log(chalk.cyan('Topic:'), decision.topic);
|
|
1225
|
+
console.log(chalk.cyan('Decision:'), decision.decision);
|
|
1226
|
+
console.log(chalk.cyan('Algorithm:'), decision.algorithm);
|
|
1227
|
+
console.log(chalk.cyan('Confidence:'), `${(decision.confidence * 100).toFixed(1)}%`);
|
|
1228
|
+
console.log(chalk.cyan('Time:'), new Date(decision.created_at).toLocaleString());
|
|
1229
|
+
|
|
1230
|
+
if (decision.votes) {
|
|
1231
|
+
const votes = JSON.parse(decision.votes);
|
|
1232
|
+
console.log(chalk.cyan('Votes:'));
|
|
1233
|
+
|
|
1234
|
+
// Handle vote summary format (for/against/abstain/details)
|
|
1235
|
+
if (votes.for !== undefined || votes.against !== undefined || votes.abstain !== undefined) {
|
|
1236
|
+
console.log(` - for: ${votes.for || 0}`);
|
|
1237
|
+
console.log(` - against: ${votes.against || 0}`);
|
|
1238
|
+
console.log(` - abstain: ${votes.abstain || 0}`);
|
|
1239
|
+
|
|
1240
|
+
// Display vote details properly if they exist
|
|
1241
|
+
if (votes.details && Array.isArray(votes.details)) {
|
|
1242
|
+
console.log(' - details:');
|
|
1243
|
+
votes.details.forEach((detail, index) => {
|
|
1244
|
+
if (typeof detail === 'object') {
|
|
1245
|
+
// Extract available fields
|
|
1246
|
+
const agent =
|
|
1247
|
+
detail.agentId ||
|
|
1248
|
+
detail.agent ||
|
|
1249
|
+
detail.id ||
|
|
1250
|
+
detail.name ||
|
|
1251
|
+
`agent-${index + 1}`;
|
|
1252
|
+
const vote = detail.vote || detail.choice || detail.decision || 'unknown';
|
|
1253
|
+
const reason = detail.reason || detail.justification || detail.rationale;
|
|
1254
|
+
|
|
1255
|
+
// Build display string
|
|
1256
|
+
let displayString = ` ${index + 1}. Agent: ${agent}, Vote: ${vote}`;
|
|
1257
|
+
|
|
1258
|
+
// Add reason if available
|
|
1259
|
+
if (reason && reason !== 'N/A' && reason !== '') {
|
|
1260
|
+
displayString += `, Reason: ${reason}`;
|
|
1261
|
+
}
|
|
1262
|
+
|
|
1263
|
+
console.log(displayString);
|
|
1264
|
+
} else {
|
|
1265
|
+
console.log(` ${index + 1}. ${detail}`);
|
|
1266
|
+
}
|
|
1267
|
+
});
|
|
1268
|
+
}
|
|
1269
|
+
} else {
|
|
1270
|
+
// Handle individual agent votes format
|
|
1271
|
+
Object.entries(votes).forEach(([agent, vote]) => {
|
|
1272
|
+
console.log(` - ${agent}: ${vote}`);
|
|
1273
|
+
});
|
|
1274
|
+
}
|
|
1275
|
+
}
|
|
1276
|
+
});
|
|
1277
|
+
|
|
1278
|
+
console.log(chalk.yellow('β'.repeat(50)) + '\n');
|
|
1279
|
+
|
|
1280
|
+
db.close();
|
|
1281
|
+
} catch (error) {
|
|
1282
|
+
console.error(chalk.red('Error:'), error.message);
|
|
1283
|
+
exit(1);
|
|
1284
|
+
}
|
|
1285
|
+
}
|
|
1286
|
+
|
|
1287
|
+
/**
|
|
1288
|
+
* Show performance metrics
|
|
1289
|
+
*/
|
|
1290
|
+
async function showMetrics(flags) {
|
|
1291
|
+
// Load SQLite before using Database constructor
|
|
1292
|
+
const hasSqlite = await loadSqlite();
|
|
1293
|
+
if (!hasSqlite) {
|
|
1294
|
+
console.error(chalk.red('Error: SQLite is required for this command'));
|
|
1295
|
+
return;
|
|
1296
|
+
}
|
|
1297
|
+
try {
|
|
1298
|
+
const dbPath = path.join(cwd(), '.hive-mind', 'hive.db');
|
|
1299
|
+
const db = new Database(dbPath);
|
|
1300
|
+
|
|
1301
|
+
// Get overall metrics
|
|
1302
|
+
const overallStats = db
|
|
1303
|
+
.prepare(
|
|
1304
|
+
`
|
|
1305
|
+
SELECT
|
|
1306
|
+
(SELECT COUNT(*) FROM swarms) as total_swarms,
|
|
1307
|
+
(SELECT COUNT(*) FROM agents) as total_agents,
|
|
1308
|
+
(SELECT COUNT(*) FROM tasks) as total_tasks,
|
|
1309
|
+
(SELECT COUNT(*) FROM tasks WHERE status = 'completed') as completed_tasks
|
|
1310
|
+
`,
|
|
1311
|
+
)
|
|
1312
|
+
.get();
|
|
1313
|
+
|
|
1314
|
+
console.log(chalk.bold('\nπ Hive Mind Performance Metrics\n'));
|
|
1315
|
+
|
|
1316
|
+
// Get task status breakdown
|
|
1317
|
+
const taskBreakdown = db
|
|
1318
|
+
.prepare(
|
|
1319
|
+
`
|
|
1320
|
+
SELECT
|
|
1321
|
+
status,
|
|
1322
|
+
COUNT(*) as count
|
|
1323
|
+
FROM tasks
|
|
1324
|
+
GROUP BY status
|
|
1325
|
+
ORDER BY count DESC
|
|
1326
|
+
`,
|
|
1327
|
+
)
|
|
1328
|
+
.all();
|
|
1329
|
+
|
|
1330
|
+
console.log(chalk.cyan('Overall Statistics:'));
|
|
1331
|
+
console.log(` Total Swarms: ${overallStats.total_swarms}`);
|
|
1332
|
+
console.log(` Total Agents: ${overallStats.total_agents}`);
|
|
1333
|
+
console.log(` Total Tasks: ${overallStats.total_tasks}`);
|
|
1334
|
+
console.log(` Completed Tasks: ${overallStats.completed_tasks}`);
|
|
1335
|
+
console.log(
|
|
1336
|
+
` Success Rate: ${
|
|
1337
|
+
overallStats.total_tasks > 0
|
|
1338
|
+
? ((overallStats.completed_tasks / overallStats.total_tasks) * 100).toFixed(1) + '%'
|
|
1339
|
+
: 'N/A'
|
|
1340
|
+
}`,
|
|
1341
|
+
);
|
|
1342
|
+
|
|
1343
|
+
if (taskBreakdown.length > 0) {
|
|
1344
|
+
console.log('\n' + chalk.cyan('Task Status Breakdown:'));
|
|
1345
|
+
taskBreakdown.forEach((status) => {
|
|
1346
|
+
const percentage =
|
|
1347
|
+
overallStats.total_tasks > 0
|
|
1348
|
+
? ((status.count / overallStats.total_tasks) * 100).toFixed(1)
|
|
1349
|
+
: '0';
|
|
1350
|
+
const statusColor =
|
|
1351
|
+
status.status === 'completed'
|
|
1352
|
+
? 'green'
|
|
1353
|
+
: status.status === 'in_progress'
|
|
1354
|
+
? 'yellow'
|
|
1355
|
+
: status.status === 'failed'
|
|
1356
|
+
? 'red'
|
|
1357
|
+
: 'gray';
|
|
1358
|
+
console.log(
|
|
1359
|
+
` ${chalk[statusColor](status.status.charAt(0).toUpperCase() + status.status.slice(1))}: ${status.count} (${percentage}%)`,
|
|
1360
|
+
);
|
|
1361
|
+
});
|
|
1362
|
+
}
|
|
1363
|
+
|
|
1364
|
+
// Get agent performance (check for completed_at column)
|
|
1365
|
+
let agentPerf = [];
|
|
1366
|
+
try {
|
|
1367
|
+
// Check if completed_at exists
|
|
1368
|
+
const hasCompletedAt = db
|
|
1369
|
+
.prepare(
|
|
1370
|
+
`
|
|
1371
|
+
SELECT COUNT(*) as count FROM pragma_table_info('tasks')
|
|
1372
|
+
WHERE name = 'completed_at'
|
|
1373
|
+
`,
|
|
1374
|
+
)
|
|
1375
|
+
.get();
|
|
1376
|
+
|
|
1377
|
+
if (hasCompletedAt && hasCompletedAt.count > 0) {
|
|
1378
|
+
agentPerf = db
|
|
1379
|
+
.prepare(
|
|
1380
|
+
`
|
|
1381
|
+
SELECT
|
|
1382
|
+
a.name,
|
|
1383
|
+
a.type,
|
|
1384
|
+
COUNT(t.id) as tasks_assigned,
|
|
1385
|
+
SUM(CASE WHEN t.status = 'completed' THEN 1 ELSE 0 END) as tasks_completed,
|
|
1386
|
+
AVG(CASE WHEN t.completed_at IS NOT NULL
|
|
1387
|
+
THEN (julianday(t.completed_at) - julianday(t.created_at)) * 24 * 60
|
|
1388
|
+
ELSE NULL END) as avg_completion_minutes
|
|
1389
|
+
FROM agents a
|
|
1390
|
+
LEFT JOIN tasks t ON a.id = t.agent_id
|
|
1391
|
+
GROUP BY a.id
|
|
1392
|
+
HAVING tasks_assigned > 0
|
|
1393
|
+
ORDER BY tasks_completed DESC
|
|
1394
|
+
LIMIT 10
|
|
1395
|
+
`,
|
|
1396
|
+
)
|
|
1397
|
+
.all();
|
|
1398
|
+
} else {
|
|
1399
|
+
// Simpler query without completed_at
|
|
1400
|
+
agentPerf = db
|
|
1401
|
+
.prepare(
|
|
1402
|
+
`
|
|
1403
|
+
SELECT
|
|
1404
|
+
a.name,
|
|
1405
|
+
a.type,
|
|
1406
|
+
COUNT(t.id) as tasks_assigned,
|
|
1407
|
+
SUM(CASE WHEN t.status = 'completed' THEN 1 ELSE 0 END) as tasks_completed,
|
|
1408
|
+
NULL as avg_completion_minutes
|
|
1409
|
+
FROM agents a
|
|
1410
|
+
LEFT JOIN tasks t ON a.id = t.agent_id
|
|
1411
|
+
GROUP BY a.id
|
|
1412
|
+
HAVING tasks_assigned > 0
|
|
1413
|
+
ORDER BY tasks_completed DESC
|
|
1414
|
+
LIMIT 10
|
|
1415
|
+
`,
|
|
1416
|
+
)
|
|
1417
|
+
.all();
|
|
1418
|
+
}
|
|
1419
|
+
} catch (error) {
|
|
1420
|
+
console.warn('Could not get agent performance:', error.message);
|
|
1421
|
+
}
|
|
1422
|
+
|
|
1423
|
+
if (agentPerf.length > 0) {
|
|
1424
|
+
console.log('\n' + chalk.cyan('Top Performing Agents:'));
|
|
1425
|
+
agentPerf.forEach((agent, index) => {
|
|
1426
|
+
const successRate =
|
|
1427
|
+
agent.tasks_assigned > 0
|
|
1428
|
+
? ((agent.tasks_completed / agent.tasks_assigned) * 100).toFixed(1)
|
|
1429
|
+
: '0';
|
|
1430
|
+
console.log(` ${index + 1}. ${agent.name} (${agent.type})`);
|
|
1431
|
+
console.log(
|
|
1432
|
+
` Tasks: ${agent.tasks_completed}/${agent.tasks_assigned} (${successRate}%)`,
|
|
1433
|
+
);
|
|
1434
|
+
if (agent.avg_completion_minutes) {
|
|
1435
|
+
console.log(` Avg Time: ${agent.avg_completion_minutes.toFixed(1)} minutes`);
|
|
1436
|
+
}
|
|
1437
|
+
});
|
|
1438
|
+
}
|
|
1439
|
+
|
|
1440
|
+
// Get swarm performance
|
|
1441
|
+
const swarmPerf = db
|
|
1442
|
+
.prepare(
|
|
1443
|
+
`
|
|
1444
|
+
SELECT
|
|
1445
|
+
s.name,
|
|
1446
|
+
s.objective,
|
|
1447
|
+
(SELECT COUNT(*) FROM agents a WHERE a.swarm_id = s.id) as agent_count,
|
|
1448
|
+
(SELECT COUNT(*) FROM tasks t WHERE t.swarm_id = s.id) as task_count,
|
|
1449
|
+
(SELECT COUNT(*) FROM tasks t WHERE t.swarm_id = s.id AND t.status = 'completed') as completed_count,
|
|
1450
|
+
(SELECT COUNT(*) FROM collective_memory cm WHERE cm.swarm_id = s.id) as memory_entries,
|
|
1451
|
+
(SELECT COUNT(*) FROM consensus_decisions cd WHERE cd.swarm_id = s.id) as consensus_count
|
|
1452
|
+
FROM swarms s
|
|
1453
|
+
WHERE s.status = 'active'
|
|
1454
|
+
ORDER BY s.created_at DESC
|
|
1455
|
+
LIMIT 5
|
|
1456
|
+
`,
|
|
1457
|
+
)
|
|
1458
|
+
.all();
|
|
1459
|
+
|
|
1460
|
+
if (swarmPerf.length > 0) {
|
|
1461
|
+
console.log('\n' + chalk.cyan('Active Swarm Performance:'));
|
|
1462
|
+
swarmPerf.forEach((swarm) => {
|
|
1463
|
+
const successRate =
|
|
1464
|
+
swarm.task_count > 0
|
|
1465
|
+
? ((swarm.completed_count / swarm.task_count) * 100).toFixed(1)
|
|
1466
|
+
: '0';
|
|
1467
|
+
console.log(`\n ${chalk.yellow(swarm.name)}`);
|
|
1468
|
+
console.log(` Objective: ${swarm.objective.substring(0, 50)}...`);
|
|
1469
|
+
console.log(
|
|
1470
|
+
` Agents: ${swarm.agent_count}, Tasks: ${swarm.completed_count}/${swarm.task_count} (${successRate}%)`,
|
|
1471
|
+
);
|
|
1472
|
+
console.log(
|
|
1473
|
+
` Memory: ${swarm.memory_entries} entries, Consensus: ${swarm.consensus_count} decisions`,
|
|
1474
|
+
);
|
|
1475
|
+
});
|
|
1476
|
+
}
|
|
1477
|
+
|
|
1478
|
+
// Get performance insights
|
|
1479
|
+
let avgTaskTime = { avg_minutes: null };
|
|
1480
|
+
try {
|
|
1481
|
+
// Check if completed_at exists
|
|
1482
|
+
const hasCompletedAt = db
|
|
1483
|
+
.prepare(
|
|
1484
|
+
`
|
|
1485
|
+
SELECT COUNT(*) as count FROM pragma_table_info('tasks')
|
|
1486
|
+
WHERE name = 'completed_at'
|
|
1487
|
+
`,
|
|
1488
|
+
)
|
|
1489
|
+
.get();
|
|
1490
|
+
|
|
1491
|
+
if (hasCompletedAt && hasCompletedAt.count > 0) {
|
|
1492
|
+
avgTaskTime = db
|
|
1493
|
+
.prepare(
|
|
1494
|
+
`
|
|
1495
|
+
SELECT
|
|
1496
|
+
AVG(CASE WHEN completed_at IS NOT NULL
|
|
1497
|
+
THEN (julianday(completed_at) - julianday(created_at)) * 24 * 60
|
|
1498
|
+
ELSE NULL END) as avg_minutes
|
|
1499
|
+
FROM tasks
|
|
1500
|
+
WHERE status = 'completed'
|
|
1501
|
+
`,
|
|
1502
|
+
)
|
|
1503
|
+
.get();
|
|
1504
|
+
}
|
|
1505
|
+
} catch (error) {
|
|
1506
|
+
console.warn('Could not calculate average task time:', error.message);
|
|
1507
|
+
}
|
|
1508
|
+
|
|
1509
|
+
// Get agent type performance
|
|
1510
|
+
let agentTypePerf = [];
|
|
1511
|
+
try {
|
|
1512
|
+
// Check if completed_at exists
|
|
1513
|
+
const hasCompletedAt = db
|
|
1514
|
+
.prepare(
|
|
1515
|
+
`
|
|
1516
|
+
SELECT COUNT(*) as count FROM pragma_table_info('tasks')
|
|
1517
|
+
WHERE name = 'completed_at'
|
|
1518
|
+
`,
|
|
1519
|
+
)
|
|
1520
|
+
.get();
|
|
1521
|
+
|
|
1522
|
+
if (hasCompletedAt && hasCompletedAt.count > 0) {
|
|
1523
|
+
agentTypePerf = db
|
|
1524
|
+
.prepare(
|
|
1525
|
+
`
|
|
1526
|
+
SELECT
|
|
1527
|
+
a.type,
|
|
1528
|
+
COUNT(t.id) as total_tasks,
|
|
1529
|
+
SUM(CASE WHEN t.status = 'completed' THEN 1 ELSE 0 END) as completed_tasks,
|
|
1530
|
+
AVG(CASE WHEN t.completed_at IS NOT NULL
|
|
1531
|
+
THEN (julianday(t.completed_at) - julianday(t.created_at)) * 24 * 60
|
|
1532
|
+
ELSE NULL END) as avg_completion_minutes
|
|
1533
|
+
FROM agents a
|
|
1534
|
+
LEFT JOIN tasks t ON a.id = t.agent_id
|
|
1535
|
+
GROUP BY a.type
|
|
1536
|
+
HAVING total_tasks > 0
|
|
1537
|
+
ORDER BY completed_tasks DESC
|
|
1538
|
+
`,
|
|
1539
|
+
)
|
|
1540
|
+
.all();
|
|
1541
|
+
} else {
|
|
1542
|
+
// Simpler query without completed_at
|
|
1543
|
+
agentTypePerf = db
|
|
1544
|
+
.prepare(
|
|
1545
|
+
`
|
|
1546
|
+
SELECT
|
|
1547
|
+
a.type,
|
|
1548
|
+
COUNT(t.id) as total_tasks,
|
|
1549
|
+
SUM(CASE WHEN t.status = 'completed' THEN 1 ELSE 0 END) as completed_tasks,
|
|
1550
|
+
NULL as avg_completion_minutes
|
|
1551
|
+
FROM agents a
|
|
1552
|
+
LEFT JOIN tasks t ON a.id = t.agent_id
|
|
1553
|
+
GROUP BY a.type
|
|
1554
|
+
HAVING total_tasks > 0
|
|
1555
|
+
ORDER BY completed_tasks DESC
|
|
1556
|
+
`,
|
|
1557
|
+
)
|
|
1558
|
+
.all();
|
|
1559
|
+
}
|
|
1560
|
+
} catch (error) {
|
|
1561
|
+
console.warn('Could not get agent type performance:', error.message);
|
|
1562
|
+
}
|
|
1563
|
+
|
|
1564
|
+
if (avgTaskTime.avg_minutes) {
|
|
1565
|
+
console.log('\n' + chalk.cyan('Performance Insights:'));
|
|
1566
|
+
console.log(` Average Task Completion Time: ${avgTaskTime.avg_minutes.toFixed(1)} minutes`);
|
|
1567
|
+
|
|
1568
|
+
if (agentTypePerf.length > 0) {
|
|
1569
|
+
console.log('\n' + chalk.cyan('Agent Type Performance:'));
|
|
1570
|
+
agentTypePerf.forEach((type) => {
|
|
1571
|
+
const successRate =
|
|
1572
|
+
type.total_tasks > 0
|
|
1573
|
+
? ((type.completed_tasks / type.total_tasks) * 100).toFixed(1)
|
|
1574
|
+
: '0';
|
|
1575
|
+
console.log(
|
|
1576
|
+
` ${type.type.charAt(0).toUpperCase() + type.type.slice(1)}: ${type.completed_tasks}/${type.total_tasks} (${successRate}%)`,
|
|
1577
|
+
);
|
|
1578
|
+
if (type.avg_completion_minutes) {
|
|
1579
|
+
console.log(` Average time: ${type.avg_completion_minutes.toFixed(1)} minutes`);
|
|
1580
|
+
}
|
|
1581
|
+
});
|
|
1582
|
+
}
|
|
1583
|
+
}
|
|
1584
|
+
|
|
1585
|
+
console.log('\n');
|
|
1586
|
+
db.close();
|
|
1587
|
+
} catch (error) {
|
|
1588
|
+
console.error(chalk.red('Error:'), error.message);
|
|
1589
|
+
exit(1);
|
|
1590
|
+
}
|
|
1591
|
+
}
|
|
1592
|
+
|
|
1593
|
+
/**
|
|
1594
|
+
* Manage collective memory wizard
|
|
1595
|
+
*/
|
|
1596
|
+
async function manageMemoryWizard() {
|
|
1597
|
+
console.log(chalk.blue('\nπ§ Collective Memory Management\n'));
|
|
1598
|
+
|
|
1599
|
+
const { action } = await inquirer.prompt([
|
|
1600
|
+
{
|
|
1601
|
+
type: 'list',
|
|
1602
|
+
name: 'action',
|
|
1603
|
+
message: 'What would you like to do with collective memory?',
|
|
1604
|
+
choices: [
|
|
1605
|
+
{ name: 'π View all memories', value: 'list' },
|
|
1606
|
+
{ name: 'π Search memories', value: 'search' },
|
|
1607
|
+
{ name: 'πΎ Store new memory', value: 'store' },
|
|
1608
|
+
{ name: 'π Memory statistics', value: 'stats' },
|
|
1609
|
+
{ name: 'ποΈ Clean old memories', value: 'clean' },
|
|
1610
|
+
{ name: 'π€ Export memory backup', value: 'export' },
|
|
1611
|
+
{ name: 'β¬
οΈ Back to main menu', value: 'back' },
|
|
1612
|
+
],
|
|
1613
|
+
},
|
|
1614
|
+
]);
|
|
1615
|
+
|
|
1616
|
+
switch (action) {
|
|
1617
|
+
case 'list':
|
|
1618
|
+
await listMemories();
|
|
1619
|
+
break;
|
|
1620
|
+
case 'search':
|
|
1621
|
+
await searchMemories();
|
|
1622
|
+
break;
|
|
1623
|
+
case 'store':
|
|
1624
|
+
await storeMemoryWizard();
|
|
1625
|
+
break;
|
|
1626
|
+
case 'stats':
|
|
1627
|
+
await showMemoryStats();
|
|
1628
|
+
break;
|
|
1629
|
+
case 'clean':
|
|
1630
|
+
await cleanMemories();
|
|
1631
|
+
break;
|
|
1632
|
+
case 'export':
|
|
1633
|
+
await exportMemoryBackup();
|
|
1634
|
+
break;
|
|
1635
|
+
case 'back':
|
|
1636
|
+
await hiveMindWizard();
|
|
1637
|
+
return;
|
|
1638
|
+
}
|
|
1639
|
+
|
|
1640
|
+
// Ask if user wants to continue
|
|
1641
|
+
const { continue: continueAction } = await inquirer.prompt([
|
|
1642
|
+
{
|
|
1643
|
+
type: 'confirm',
|
|
1644
|
+
name: 'continue',
|
|
1645
|
+
message: 'Would you like to perform another memory operation?',
|
|
1646
|
+
default: true,
|
|
1647
|
+
},
|
|
1648
|
+
]);
|
|
1649
|
+
|
|
1650
|
+
if (continueAction) {
|
|
1651
|
+
await manageMemoryWizard();
|
|
1652
|
+
}
|
|
1653
|
+
}
|
|
1654
|
+
|
|
1655
|
+
/**
|
|
1656
|
+
* Configure hive mind wizard
|
|
1657
|
+
*/
|
|
1658
|
+
async function configureWizard() {
|
|
1659
|
+
// TODO: Implement configuration wizard
|
|
1660
|
+
console.log(chalk.yellow('Configuration wizard coming soon...'));
|
|
1661
|
+
}
|
|
1662
|
+
|
|
1663
|
+
/**
|
|
1664
|
+
* Main hive mind command handler
|
|
1665
|
+
*/
|
|
1666
|
+
export async function hiveMindCommand(args, flags) {
|
|
1667
|
+
const subcommand = args[0];
|
|
1668
|
+
const subArgs = args.slice(1);
|
|
1669
|
+
|
|
1670
|
+
// Handle help flags
|
|
1671
|
+
if (
|
|
1672
|
+
!subcommand ||
|
|
1673
|
+
subcommand === '--help' ||
|
|
1674
|
+
subcommand === '-h' ||
|
|
1675
|
+
subcommand === 'help' ||
|
|
1676
|
+
flags.help
|
|
1677
|
+
) {
|
|
1678
|
+
showHiveMindHelp();
|
|
1679
|
+
return;
|
|
1680
|
+
}
|
|
1681
|
+
|
|
1682
|
+
// Warn about non-interactive environments for certain commands
|
|
1683
|
+
if ((subcommand === 'spawn' && (flags.claude || flags.spawn)) || subcommand === 'wizard') {
|
|
1684
|
+
warnNonInteractive('hive-mind ' + subcommand);
|
|
1685
|
+
}
|
|
1686
|
+
|
|
1687
|
+
switch (subcommand) {
|
|
1688
|
+
case 'init':
|
|
1689
|
+
await initHiveMind(flags);
|
|
1690
|
+
break;
|
|
1691
|
+
|
|
1692
|
+
case 'spawn':
|
|
1693
|
+
// Check for non-interactive mode FIRST (like alpha.83)
|
|
1694
|
+
if (flags['non-interactive'] || flags.nonInteractive) {
|
|
1695
|
+
// In non-interactive mode, skip wizard and use defaults
|
|
1696
|
+
if (subArgs.length === 0) {
|
|
1697
|
+
console.error(chalk.red('Error: Objective required in non-interactive mode'));
|
|
1698
|
+
console.log('Usage: @sparkleideas/claude-flow hive-mind spawn "Your objective" --non-interactive');
|
|
1699
|
+
return;
|
|
1700
|
+
}
|
|
1701
|
+
await spawnSwarm(subArgs, flags);
|
|
1702
|
+
} else if (flags.wizard || subArgs.length === 0) {
|
|
1703
|
+
await spawnSwarmWizard();
|
|
1704
|
+
} else {
|
|
1705
|
+
await spawnSwarm(subArgs, flags);
|
|
1706
|
+
}
|
|
1707
|
+
break;
|
|
1708
|
+
|
|
1709
|
+
case 'status':
|
|
1710
|
+
await showStatus(flags);
|
|
1711
|
+
break;
|
|
1712
|
+
|
|
1713
|
+
case 'sessions':
|
|
1714
|
+
await showSessions(flags);
|
|
1715
|
+
break;
|
|
1716
|
+
|
|
1717
|
+
case 'resume':
|
|
1718
|
+
await resumeSession(subArgs, flags);
|
|
1719
|
+
break;
|
|
1720
|
+
|
|
1721
|
+
case 'stop':
|
|
1722
|
+
await stopSession(subArgs, flags);
|
|
1723
|
+
break;
|
|
1724
|
+
|
|
1725
|
+
case 'consensus':
|
|
1726
|
+
await showConsensus(flags);
|
|
1727
|
+
break;
|
|
1728
|
+
|
|
1729
|
+
case 'memory':
|
|
1730
|
+
await manageMemoryWizard();
|
|
1731
|
+
break;
|
|
1732
|
+
|
|
1733
|
+
case 'metrics':
|
|
1734
|
+
await showMetrics(flags);
|
|
1735
|
+
break;
|
|
1736
|
+
|
|
1737
|
+
case 'wizard':
|
|
1738
|
+
await hiveMindWizard(flags);
|
|
1739
|
+
break;
|
|
1740
|
+
|
|
1741
|
+
case 'help':
|
|
1742
|
+
case '--help':
|
|
1743
|
+
case '-h':
|
|
1744
|
+
showHiveMindHelp();
|
|
1745
|
+
break;
|
|
1746
|
+
|
|
1747
|
+
default:
|
|
1748
|
+
console.error(chalk.red(`Unknown subcommand: ${subcommand}`));
|
|
1749
|
+
console.log('Run "@sparkleideas/claude-flow hive-mind help" for usage information');
|
|
1750
|
+
exit(1);
|
|
1751
|
+
}
|
|
1752
|
+
}
|
|
1753
|
+
|
|
1754
|
+
/**
|
|
1755
|
+
* List all memories in the collective memory store
|
|
1756
|
+
*/
|
|
1757
|
+
async function listMemories() {
|
|
1758
|
+
// Load SQLite before using Database constructor
|
|
1759
|
+
const hasSqlite = await loadSqlite();
|
|
1760
|
+
if (!hasSqlite) {
|
|
1761
|
+
console.error(chalk.red('Error: SQLite is required for this command'));
|
|
1762
|
+
return;
|
|
1763
|
+
}
|
|
1764
|
+
try {
|
|
1765
|
+
console.log(chalk.blue('\nπ Collective Memory Store\n'));
|
|
1766
|
+
|
|
1767
|
+
// Read directly from hive.db collective_memory table
|
|
1768
|
+
const dbPath = path.join(cwd(), '.hive-mind', 'hive.db');
|
|
1769
|
+
const db = new Database(dbPath);
|
|
1770
|
+
|
|
1771
|
+
const memories = db
|
|
1772
|
+
.prepare(
|
|
1773
|
+
`
|
|
1774
|
+
SELECT cm.*, s.name as swarm_name
|
|
1775
|
+
FROM collective_memory cm
|
|
1776
|
+
LEFT JOIN swarms s ON cm.swarm_id = s.id
|
|
1777
|
+
ORDER BY cm.created_at DESC
|
|
1778
|
+
LIMIT 50
|
|
1779
|
+
`,
|
|
1780
|
+
)
|
|
1781
|
+
.all();
|
|
1782
|
+
|
|
1783
|
+
db.close();
|
|
1784
|
+
|
|
1785
|
+
if (!memories || memories.length === 0) {
|
|
1786
|
+
console.log(chalk.yellow('No memories found in the collective store.'));
|
|
1787
|
+
console.log(
|
|
1788
|
+
chalk.gray('Try storing some memories first using the "πΎ Store new memory" option.'),
|
|
1789
|
+
);
|
|
1790
|
+
return;
|
|
1791
|
+
}
|
|
1792
|
+
|
|
1793
|
+
console.log(chalk.gray(`Found ${memories.length} memories in the collective store:\n`));
|
|
1794
|
+
|
|
1795
|
+
memories.forEach((memory, index) => {
|
|
1796
|
+
console.log(chalk.cyan(`${index + 1}. ${memory.key}`));
|
|
1797
|
+
console.log(` Swarm: ${memory.swarm_name || memory.swarm_id}`);
|
|
1798
|
+
console.log(` Type: ${memory.type || 'knowledge'}`);
|
|
1799
|
+
console.log(` Created: ${new Date(memory.created_at).toLocaleString()}`);
|
|
1800
|
+
console.log(` Created by: ${memory.created_by || 'system'}`);
|
|
1801
|
+
|
|
1802
|
+
// Parse and display value
|
|
1803
|
+
let displayValue = memory.value;
|
|
1804
|
+
try {
|
|
1805
|
+
const parsed = JSON.parse(memory.value);
|
|
1806
|
+
displayValue = JSON.stringify(parsed);
|
|
1807
|
+
} catch {
|
|
1808
|
+
// Keep as string
|
|
1809
|
+
}
|
|
1810
|
+
|
|
1811
|
+
if (displayValue.length > 100) {
|
|
1812
|
+
console.log(` Value: ${displayValue.substring(0, 100)}...`);
|
|
1813
|
+
} else {
|
|
1814
|
+
console.log(` Value: ${displayValue}`);
|
|
1815
|
+
}
|
|
1816
|
+
|
|
1817
|
+
if (memory.confidence !== null && memory.confidence !== 1) {
|
|
1818
|
+
console.log(` Confidence: ${(memory.confidence * 100).toFixed(1)}%`);
|
|
1819
|
+
}
|
|
1820
|
+
|
|
1821
|
+
console.log('');
|
|
1822
|
+
});
|
|
1823
|
+
} catch (error) {
|
|
1824
|
+
console.error(chalk.red('Error listing memories:'), error.message);
|
|
1825
|
+
console.log(chalk.gray('This might be because no memories have been stored yet.'));
|
|
1826
|
+
}
|
|
1827
|
+
}
|
|
1828
|
+
|
|
1829
|
+
/**
|
|
1830
|
+
* Search memories by keyword
|
|
1831
|
+
*/
|
|
1832
|
+
async function searchMemories() {
|
|
1833
|
+
// Load SQLite before using Database constructor
|
|
1834
|
+
const hasSqlite = await loadSqlite();
|
|
1835
|
+
if (!hasSqlite) {
|
|
1836
|
+
console.error(chalk.red('Error: SQLite is required for this command'));
|
|
1837
|
+
return;
|
|
1838
|
+
}
|
|
1839
|
+
try {
|
|
1840
|
+
const { searchTerm } = await inquirer.prompt([
|
|
1841
|
+
{
|
|
1842
|
+
type: 'input',
|
|
1843
|
+
name: 'searchTerm',
|
|
1844
|
+
message: 'Enter search term:',
|
|
1845
|
+
validate: (input) => input.length > 0,
|
|
1846
|
+
},
|
|
1847
|
+
]);
|
|
1848
|
+
|
|
1849
|
+
console.log(chalk.blue(`\nπ Searching for: "${searchTerm}"\n`));
|
|
1850
|
+
|
|
1851
|
+
// Search directly in hive.db collective_memory table
|
|
1852
|
+
const dbPath = path.join(cwd(), '.hive-mind', 'hive.db');
|
|
1853
|
+
const db = new Database(dbPath);
|
|
1854
|
+
|
|
1855
|
+
const searchPattern = `%${searchTerm}%`;
|
|
1856
|
+
const memories = db
|
|
1857
|
+
.prepare(
|
|
1858
|
+
`
|
|
1859
|
+
SELECT cm.*, s.name as swarm_name
|
|
1860
|
+
FROM collective_memory cm
|
|
1861
|
+
LEFT JOIN swarms s ON cm.swarm_id = s.id
|
|
1862
|
+
WHERE cm.key LIKE ? OR cm.value LIKE ? OR cm.type LIKE ?
|
|
1863
|
+
ORDER BY cm.created_at DESC
|
|
1864
|
+
LIMIT 50
|
|
1865
|
+
`,
|
|
1866
|
+
)
|
|
1867
|
+
.all(searchPattern, searchPattern, searchPattern);
|
|
1868
|
+
|
|
1869
|
+
db.close();
|
|
1870
|
+
|
|
1871
|
+
if (!memories || memories.length === 0) {
|
|
1872
|
+
console.log(chalk.yellow('No memories found matching your search.'));
|
|
1873
|
+
return;
|
|
1874
|
+
}
|
|
1875
|
+
|
|
1876
|
+
console.log(chalk.gray(`Found ${memories.length} memories matching "${searchTerm}":\n`));
|
|
1877
|
+
|
|
1878
|
+
memories.forEach((memory, index) => {
|
|
1879
|
+
console.log(chalk.green(`${index + 1}. ${memory.key}`));
|
|
1880
|
+
console.log(` Swarm: ${memory.swarm_name || memory.swarm_id}`);
|
|
1881
|
+
console.log(` Type: ${memory.type || 'knowledge'}`);
|
|
1882
|
+
console.log(` Created: ${new Date(memory.created_at).toLocaleString()}`);
|
|
1883
|
+
|
|
1884
|
+
// Parse and display value with highlighting
|
|
1885
|
+
let displayValue = memory.value;
|
|
1886
|
+
try {
|
|
1887
|
+
const parsed = JSON.parse(memory.value);
|
|
1888
|
+
displayValue = JSON.stringify(parsed, null, 2);
|
|
1889
|
+
} catch {
|
|
1890
|
+
// Keep as string
|
|
1891
|
+
}
|
|
1892
|
+
|
|
1893
|
+
console.log(` Value: ${displayValue}`);
|
|
1894
|
+
console.log('');
|
|
1895
|
+
});
|
|
1896
|
+
} catch (error) {
|
|
1897
|
+
console.error(chalk.red('Error searching memories:'), error.message);
|
|
1898
|
+
}
|
|
1899
|
+
}
|
|
1900
|
+
|
|
1901
|
+
/**
|
|
1902
|
+
* Store new memory wizard
|
|
1903
|
+
*/
|
|
1904
|
+
async function storeMemoryWizard() {
|
|
1905
|
+
try {
|
|
1906
|
+
const answers = await inquirer.prompt([
|
|
1907
|
+
{
|
|
1908
|
+
type: 'input',
|
|
1909
|
+
name: 'key',
|
|
1910
|
+
message: 'Memory key (identifier):',
|
|
1911
|
+
validate: (input) => input.length > 0,
|
|
1912
|
+
},
|
|
1913
|
+
{
|
|
1914
|
+
type: 'list',
|
|
1915
|
+
name: 'category',
|
|
1916
|
+
message: 'Memory category:',
|
|
1917
|
+
choices: [
|
|
1918
|
+
'consensus',
|
|
1919
|
+
'decision',
|
|
1920
|
+
'pattern',
|
|
1921
|
+
'learning',
|
|
1922
|
+
'coordination',
|
|
1923
|
+
'performance',
|
|
1924
|
+
'configuration',
|
|
1925
|
+
'general',
|
|
1926
|
+
],
|
|
1927
|
+
},
|
|
1928
|
+
{
|
|
1929
|
+
type: 'editor',
|
|
1930
|
+
name: 'value',
|
|
1931
|
+
message: 'Memory content (JSON or text):',
|
|
1932
|
+
},
|
|
1933
|
+
]);
|
|
1934
|
+
|
|
1935
|
+
const mcpWrapper = await getMcpWrapper();
|
|
1936
|
+
let memoryValue;
|
|
1937
|
+
|
|
1938
|
+
// Try to parse as JSON, fall back to string
|
|
1939
|
+
try {
|
|
1940
|
+
memoryValue = JSON.parse(answers.value);
|
|
1941
|
+
} catch {
|
|
1942
|
+
memoryValue = answers.value;
|
|
1943
|
+
}
|
|
1944
|
+
|
|
1945
|
+
await mcpWrapper.storeMemory('hive-mind', answers.key, memoryValue, answers.category);
|
|
1946
|
+
|
|
1947
|
+
console.log(chalk.green(`\nβ
Memory stored successfully!`));
|
|
1948
|
+
console.log(`Key: ${answers.key}`);
|
|
1949
|
+
console.log(`Category: ${answers.category}`);
|
|
1950
|
+
} catch (error) {
|
|
1951
|
+
console.error(chalk.red('Error storing memory:'), error.message);
|
|
1952
|
+
}
|
|
1953
|
+
}
|
|
1954
|
+
|
|
1955
|
+
/**
|
|
1956
|
+
* Show memory statistics
|
|
1957
|
+
*/
|
|
1958
|
+
async function showMemoryStats() {
|
|
1959
|
+
try {
|
|
1960
|
+
console.log(chalk.blue('\nπ Memory Statistics\n'));
|
|
1961
|
+
|
|
1962
|
+
const mcpWrapper = await getMcpWrapper();
|
|
1963
|
+
|
|
1964
|
+
// Search for all memories with an empty pattern to get everything
|
|
1965
|
+
const searchResult = await mcpWrapper.searchMemory('hive-mind', '');
|
|
1966
|
+
|
|
1967
|
+
// Handle different possible response structures
|
|
1968
|
+
let memories = [];
|
|
1969
|
+
if (searchResult && Array.isArray(searchResult.results)) {
|
|
1970
|
+
memories = searchResult.results;
|
|
1971
|
+
} else if (searchResult && Array.isArray(searchResult)) {
|
|
1972
|
+
memories = searchResult;
|
|
1973
|
+
} else if (searchResult && searchResult.data && Array.isArray(searchResult.data)) {
|
|
1974
|
+
memories = searchResult.data;
|
|
1975
|
+
}
|
|
1976
|
+
|
|
1977
|
+
if (!memories || memories.length === 0) {
|
|
1978
|
+
console.log(chalk.yellow('No memories found.'));
|
|
1979
|
+
console.log(chalk.gray('Use "Store new memory" to create your first memory.'));
|
|
1980
|
+
return;
|
|
1981
|
+
}
|
|
1982
|
+
|
|
1983
|
+
// Calculate statistics
|
|
1984
|
+
const stats = {
|
|
1985
|
+
total: memories.length,
|
|
1986
|
+
categories: {},
|
|
1987
|
+
oldestDate: null,
|
|
1988
|
+
newestDate: null,
|
|
1989
|
+
totalSize: 0,
|
|
1990
|
+
};
|
|
1991
|
+
|
|
1992
|
+
memories.forEach((memory) => {
|
|
1993
|
+
// Count by category
|
|
1994
|
+
const category = memory.category || memory.type || 'general';
|
|
1995
|
+
stats.categories[category] = (stats.categories[category] || 0) + 1;
|
|
1996
|
+
|
|
1997
|
+
// Track dates
|
|
1998
|
+
const date = new Date(memory.timestamp || Date.now());
|
|
1999
|
+
if (!stats.oldestDate || date < stats.oldestDate) {
|
|
2000
|
+
stats.oldestDate = date;
|
|
2001
|
+
}
|
|
2002
|
+
if (!stats.newestDate || date > stats.newestDate) {
|
|
2003
|
+
stats.newestDate = date;
|
|
2004
|
+
}
|
|
2005
|
+
|
|
2006
|
+
// Estimate size
|
|
2007
|
+
stats.totalSize += JSON.stringify(memory).length;
|
|
2008
|
+
});
|
|
2009
|
+
|
|
2010
|
+
console.log(chalk.cyan('Total memories:'), stats.total);
|
|
2011
|
+
console.log(chalk.cyan('Estimated size:'), `${(stats.totalSize / 1024).toFixed(2)} KB`);
|
|
2012
|
+
console.log(
|
|
2013
|
+
chalk.cyan('Date range:'),
|
|
2014
|
+
`${stats.oldestDate?.toLocaleDateString()} - ${stats.newestDate?.toLocaleDateString()}`,
|
|
2015
|
+
);
|
|
2016
|
+
|
|
2017
|
+
console.log(chalk.cyan('\nBy category:'));
|
|
2018
|
+
Object.entries(stats.categories).forEach(([category, count]) => {
|
|
2019
|
+
console.log(` ${category}: ${count}`);
|
|
2020
|
+
});
|
|
2021
|
+
} catch (error) {
|
|
2022
|
+
console.error(chalk.red('Error getting memory stats:'), error.message);
|
|
2023
|
+
}
|
|
2024
|
+
}
|
|
2025
|
+
|
|
2026
|
+
/**
|
|
2027
|
+
* Clean old memories
|
|
2028
|
+
*/
|
|
2029
|
+
async function cleanMemories() {
|
|
2030
|
+
try {
|
|
2031
|
+
const { days } = await inquirer.prompt([
|
|
2032
|
+
{
|
|
2033
|
+
type: 'number',
|
|
2034
|
+
name: 'days',
|
|
2035
|
+
message: 'Remove memories older than how many days?',
|
|
2036
|
+
default: 30,
|
|
2037
|
+
validate: (input) => input > 0,
|
|
2038
|
+
},
|
|
2039
|
+
]);
|
|
2040
|
+
|
|
2041
|
+
const { confirm } = await inquirer.prompt([
|
|
2042
|
+
{
|
|
2043
|
+
type: 'confirm',
|
|
2044
|
+
name: 'confirm',
|
|
2045
|
+
message: `Are you sure you want to delete memories older than ${days} days?`,
|
|
2046
|
+
default: false,
|
|
2047
|
+
},
|
|
2048
|
+
]);
|
|
2049
|
+
|
|
2050
|
+
if (!confirm) {
|
|
2051
|
+
console.log(chalk.yellow('Operation cancelled.'));
|
|
2052
|
+
return;
|
|
2053
|
+
}
|
|
2054
|
+
|
|
2055
|
+
const mcpWrapper = await getMcpWrapper();
|
|
2056
|
+
|
|
2057
|
+
// Get all memories first
|
|
2058
|
+
const searchResult = await mcpWrapper.searchMemory('hive-mind', '');
|
|
2059
|
+
|
|
2060
|
+
// Handle different possible response structures
|
|
2061
|
+
let memories = [];
|
|
2062
|
+
if (searchResult && Array.isArray(searchResult.results)) {
|
|
2063
|
+
memories = searchResult.results;
|
|
2064
|
+
} else if (searchResult && Array.isArray(searchResult)) {
|
|
2065
|
+
memories = searchResult;
|
|
2066
|
+
} else if (searchResult && searchResult.data && Array.isArray(searchResult.data)) {
|
|
2067
|
+
memories = searchResult.data;
|
|
2068
|
+
}
|
|
2069
|
+
|
|
2070
|
+
const cutoffDate = new Date();
|
|
2071
|
+
cutoffDate.setDate(cutoffDate.getDate() - days);
|
|
2072
|
+
|
|
2073
|
+
// Filter memories older than cutoff date
|
|
2074
|
+
const oldMemories = memories.filter((memory) => {
|
|
2075
|
+
const memoryDate = new Date(memory.timestamp || 0);
|
|
2076
|
+
return memoryDate < cutoffDate;
|
|
2077
|
+
});
|
|
2078
|
+
|
|
2079
|
+
if (oldMemories.length === 0) {
|
|
2080
|
+
console.log(chalk.yellow('\nπ No old memories found to clean.'));
|
|
2081
|
+
return;
|
|
2082
|
+
}
|
|
2083
|
+
|
|
2084
|
+
console.log(chalk.green(`\nβ
Found ${oldMemories.length} old memories to clean.`));
|
|
2085
|
+
console.log(chalk.gray('Note: Individual memory deletion not yet implemented in MCPWrapper.'));
|
|
2086
|
+
console.log(chalk.gray('Consider implementing batch deletion or memory lifecycle management.'));
|
|
2087
|
+
} catch (error) {
|
|
2088
|
+
console.error(chalk.red('Error cleaning memories:'), error.message);
|
|
2089
|
+
}
|
|
2090
|
+
}
|
|
2091
|
+
|
|
2092
|
+
/**
|
|
2093
|
+
* Export memory backup
|
|
2094
|
+
*/
|
|
2095
|
+
async function exportMemoryBackup() {
|
|
2096
|
+
try {
|
|
2097
|
+
const { filename } = await inquirer.prompt([
|
|
2098
|
+
{
|
|
2099
|
+
type: 'input',
|
|
2100
|
+
name: 'filename',
|
|
2101
|
+
message: 'Export filename:',
|
|
2102
|
+
default: `hive-mind-memory-backup-${new Date().toISOString().split('T')[0]}.json`,
|
|
2103
|
+
},
|
|
2104
|
+
]);
|
|
2105
|
+
|
|
2106
|
+
const mcpWrapper = await getMcpWrapper();
|
|
2107
|
+
|
|
2108
|
+
// Get all memories using search
|
|
2109
|
+
const searchResult = await mcpWrapper.searchMemory('hive-mind', '');
|
|
2110
|
+
|
|
2111
|
+
// Handle different possible response structures
|
|
2112
|
+
let memories = [];
|
|
2113
|
+
if (searchResult && Array.isArray(searchResult.results)) {
|
|
2114
|
+
memories = searchResult.results;
|
|
2115
|
+
} else if (searchResult && Array.isArray(searchResult)) {
|
|
2116
|
+
memories = searchResult;
|
|
2117
|
+
} else if (searchResult && searchResult.data && Array.isArray(searchResult.data)) {
|
|
2118
|
+
memories = searchResult.data;
|
|
2119
|
+
}
|
|
2120
|
+
|
|
2121
|
+
const backup = {
|
|
2122
|
+
exportDate: new Date().toISOString(),
|
|
2123
|
+
version: '1.0',
|
|
2124
|
+
totalMemories: memories.length,
|
|
2125
|
+
namespace: 'hive-mind',
|
|
2126
|
+
memories: memories,
|
|
2127
|
+
};
|
|
2128
|
+
|
|
2129
|
+
const fs = await import('fs');
|
|
2130
|
+
fs.writeFileSync(filename, JSON.stringify(backup, null, 2));
|
|
2131
|
+
|
|
2132
|
+
console.log(chalk.green(`\nβ
Memory backup exported to: ${filename}`));
|
|
2133
|
+
console.log(chalk.cyan(`Exported ${memories.length} memories`));
|
|
2134
|
+
} catch (error) {
|
|
2135
|
+
console.error(chalk.red('Error exporting memory backup:'), error.message);
|
|
2136
|
+
}
|
|
2137
|
+
}
|
|
2138
|
+
|
|
2139
|
+
/**
|
|
2140
|
+
* Get active session ID for a swarm
|
|
2141
|
+
*/
|
|
2142
|
+
async function getActiveSessionId(swarmId) {
|
|
2143
|
+
const sessionManager = new HiveMindSessionManager();
|
|
2144
|
+
try {
|
|
2145
|
+
const sessions = await sessionManager.getActiveSessions();
|
|
2146
|
+
const activeSession = sessions.find(s => s.swarm_id === swarmId && s.status === 'active');
|
|
2147
|
+
return activeSession ? activeSession.id : null;
|
|
2148
|
+
} finally {
|
|
2149
|
+
sessionManager.close();
|
|
2150
|
+
}
|
|
2151
|
+
}
|
|
2152
|
+
|
|
2153
|
+
/**
|
|
2154
|
+
* Spawn Claude Code with Hive Mind coordination instructions
|
|
2155
|
+
*/
|
|
2156
|
+
async function spawnClaudeCodeInstances(swarmId, swarmName, objective, workers, flags) {
|
|
2157
|
+
console.log('\n' + chalk.bold('π Launching Claude Code with Hive Mind Coordination'));
|
|
2158
|
+
console.log(chalk.gray('β'.repeat(60)));
|
|
2159
|
+
|
|
2160
|
+
const spinner = ora('Preparing Hive Mind coordination prompt...').start();
|
|
2161
|
+
|
|
2162
|
+
try {
|
|
2163
|
+
// Generate comprehensive Hive Mind prompt
|
|
2164
|
+
const workerGroups = groupWorkersByType(workers);
|
|
2165
|
+
const hiveMindPrompt = generateHiveMindPrompt(
|
|
2166
|
+
swarmId,
|
|
2167
|
+
swarmName,
|
|
2168
|
+
objective,
|
|
2169
|
+
workers,
|
|
2170
|
+
workerGroups,
|
|
2171
|
+
flags,
|
|
2172
|
+
);
|
|
2173
|
+
|
|
2174
|
+
spinner.succeed('Hive Mind coordination prompt ready!');
|
|
2175
|
+
|
|
2176
|
+
// Display coordination summary
|
|
2177
|
+
console.log('\n' + chalk.bold('π§ Hive Mind Configuration'));
|
|
2178
|
+
console.log(chalk.gray('β'.repeat(60)));
|
|
2179
|
+
console.log(chalk.cyan('Swarm ID:'), swarmId);
|
|
2180
|
+
console.log(chalk.cyan('Objective:'), objective);
|
|
2181
|
+
console.log(chalk.cyan('Queen Type:'), flags.queenType || 'strategic');
|
|
2182
|
+
console.log(chalk.cyan('Worker Count:'), workers.length);
|
|
2183
|
+
console.log(chalk.cyan('Worker Types:'), Object.keys(workerGroups).join(', '));
|
|
2184
|
+
console.log(chalk.cyan('Consensus Algorithm:'), flags.consensus || 'majority');
|
|
2185
|
+
console.log(chalk.cyan('MCP Tools:'), 'Full Claude-Flow integration enabled');
|
|
2186
|
+
|
|
2187
|
+
try {
|
|
2188
|
+
// ALWAYS save the prompt file first (fix for issue #330)
|
|
2189
|
+
// Ensure sessions directory exists
|
|
2190
|
+
const sessionsDir = path.join('.hive-mind', 'sessions');
|
|
2191
|
+
await mkdirAsync(sessionsDir, { recursive: true });
|
|
2192
|
+
|
|
2193
|
+
const promptFile = path.join(sessionsDir, `hive-mind-prompt-${swarmId}.txt`);
|
|
2194
|
+
await writeFile(promptFile, hiveMindPrompt, 'utf8');
|
|
2195
|
+
console.log(chalk.green(`\nβ Hive Mind prompt saved to: ${promptFile}`));
|
|
2196
|
+
|
|
2197
|
+
// Check if claude command exists
|
|
2198
|
+
const { spawn: childSpawn, execSync } = await import('child_process');
|
|
2199
|
+
let claudeAvailable = false;
|
|
2200
|
+
|
|
2201
|
+
try {
|
|
2202
|
+
execSync('which claude', { stdio: 'ignore' });
|
|
2203
|
+
claudeAvailable = true;
|
|
2204
|
+
} catch {
|
|
2205
|
+
console.log(chalk.yellow('\nβ οΈ Claude Code CLI not found in PATH'));
|
|
2206
|
+
console.log(chalk.gray('Install it with: npm install -g @anthropic-ai/claude-code'));
|
|
2207
|
+
console.log(chalk.gray('\nFalling back to displaying instructions...'));
|
|
2208
|
+
}
|
|
2209
|
+
|
|
2210
|
+
if (claudeAvailable && !flags.dryRun) {
|
|
2211
|
+
// Inject memory coordination protocol into CLAUDE.md
|
|
2212
|
+
try {
|
|
2213
|
+
const { injectMemoryProtocol, enhanceHiveMindPrompt } = await import('./inject-memory-protocol.js');
|
|
2214
|
+
await injectMemoryProtocol();
|
|
2215
|
+
|
|
2216
|
+
// Enhance the prompt with memory coordination instructions
|
|
2217
|
+
hiveMindPrompt = enhanceHiveMindPrompt(hiveMindPrompt, workers);
|
|
2218
|
+
console.log(chalk.green('π Memory coordination protocol injected into CLAUDE.md'));
|
|
2219
|
+
} catch (err) {
|
|
2220
|
+
// If injection module not available, continue with original prompt
|
|
2221
|
+
console.log(chalk.yellow('β οΈ Memory protocol injection not available, using standard prompt'));
|
|
2222
|
+
}
|
|
2223
|
+
|
|
2224
|
+
// Check if we should run in non-interactive mode
|
|
2225
|
+
// Respect --non-interactive flag regardless of --claude
|
|
2226
|
+
const isNonInteractive = flags['non-interactive'] || flags.nonInteractive;
|
|
2227
|
+
|
|
2228
|
+
// Build arguments in correct order: flags first, then prompt
|
|
2229
|
+
const claudeArgs = [];
|
|
2230
|
+
|
|
2231
|
+
// Add non-interactive flags FIRST if needed
|
|
2232
|
+
if (isNonInteractive) {
|
|
2233
|
+
claudeArgs.push('-p'); // Print mode
|
|
2234
|
+
claudeArgs.push('--output-format', 'stream-json'); // JSON streaming
|
|
2235
|
+
claudeArgs.push('--verbose'); // Verbose output
|
|
2236
|
+
console.log(chalk.cyan('π€ Running in non-interactive mode'));
|
|
2237
|
+
}
|
|
2238
|
+
|
|
2239
|
+
// Add auto-permission flag BEFORE the prompt
|
|
2240
|
+
if (flags['dangerously-skip-permissions'] !== false && !flags['no-auto-permissions']) {
|
|
2241
|
+
claudeArgs.push('--dangerously-skip-permissions');
|
|
2242
|
+
if (!isNonInteractive) {
|
|
2243
|
+
console.log(
|
|
2244
|
+
chalk.yellow(
|
|
2245
|
+
'π Using --dangerously-skip-permissions by default for seamless hive-mind execution',
|
|
2246
|
+
),
|
|
2247
|
+
);
|
|
2248
|
+
}
|
|
2249
|
+
}
|
|
2250
|
+
|
|
2251
|
+
// Add the prompt as the LAST argument
|
|
2252
|
+
claudeArgs.push(hiveMindPrompt);
|
|
2253
|
+
|
|
2254
|
+
// Spawn claude with properly ordered arguments
|
|
2255
|
+
const claudeProcess = childSpawn('claude', claudeArgs, {
|
|
2256
|
+
stdio: 'inherit',
|
|
2257
|
+
shell: false,
|
|
2258
|
+
});
|
|
2259
|
+
|
|
2260
|
+
// Track child process PID in session
|
|
2261
|
+
const sessionManager = new HiveMindSessionManager();
|
|
2262
|
+
const sessionId = await getActiveSessionId(swarmId);
|
|
2263
|
+
if (sessionId && claudeProcess.pid) {
|
|
2264
|
+
sessionManager.addChildPid(sessionId, claudeProcess.pid);
|
|
2265
|
+
}
|
|
2266
|
+
|
|
2267
|
+
// Set up SIGINT handler for automatic session pausing
|
|
2268
|
+
let isExiting = false;
|
|
2269
|
+
const sigintHandler = async () => {
|
|
2270
|
+
if (isExiting) return;
|
|
2271
|
+
isExiting = true;
|
|
2272
|
+
|
|
2273
|
+
console.log('\n\n' + chalk.yellow('βΈοΈ Pausing session and terminating Claude Code...'));
|
|
2274
|
+
|
|
2275
|
+
try {
|
|
2276
|
+
// Terminate Claude Code process
|
|
2277
|
+
if (claudeProcess && !claudeProcess.killed) {
|
|
2278
|
+
claudeProcess.kill('SIGTERM');
|
|
2279
|
+
}
|
|
2280
|
+
|
|
2281
|
+
// Save checkpoint and pause session
|
|
2282
|
+
if (sessionId) {
|
|
2283
|
+
const checkpointData = {
|
|
2284
|
+
timestamp: new Date().toISOString(),
|
|
2285
|
+
swarmId,
|
|
2286
|
+
objective,
|
|
2287
|
+
status: 'paused_by_user',
|
|
2288
|
+
reason: 'User pressed Ctrl+C during Claude Code execution',
|
|
2289
|
+
claudePid: claudeProcess.pid,
|
|
2290
|
+
};
|
|
2291
|
+
|
|
2292
|
+
await sessionManager.saveCheckpoint(sessionId, 'auto-pause-claude', checkpointData);
|
|
2293
|
+
await sessionManager.pauseSession(sessionId);
|
|
2294
|
+
|
|
2295
|
+
console.log(chalk.green('β') + ' Session paused successfully');
|
|
2296
|
+
console.log(chalk.cyan('\nTo resume this session, run:'));
|
|
2297
|
+
console.log(chalk.bold(` @sparkleideas/claude-flow hive-mind resume ${sessionId}`));
|
|
2298
|
+
}
|
|
2299
|
+
|
|
2300
|
+
sessionManager.close();
|
|
2301
|
+
process.exit(0);
|
|
2302
|
+
} catch (error) {
|
|
2303
|
+
console.error(chalk.red('Error pausing session:'), error.message);
|
|
2304
|
+
sessionManager.close();
|
|
2305
|
+
process.exit(1);
|
|
2306
|
+
}
|
|
2307
|
+
};
|
|
2308
|
+
|
|
2309
|
+
// Register SIGINT handler
|
|
2310
|
+
process.on('SIGINT', sigintHandler);
|
|
2311
|
+
process.on('SIGTERM', sigintHandler);
|
|
2312
|
+
|
|
2313
|
+
// Handle stdout
|
|
2314
|
+
if (claudeProcess.stdout) {
|
|
2315
|
+
claudeProcess.stdout.on('data', (data) => {
|
|
2316
|
+
console.log(data.toString());
|
|
2317
|
+
});
|
|
2318
|
+
}
|
|
2319
|
+
|
|
2320
|
+
// Handle stderr
|
|
2321
|
+
if (claudeProcess.stderr) {
|
|
2322
|
+
claudeProcess.stderr.on('data', (data) => {
|
|
2323
|
+
console.error(chalk.red(data.toString()));
|
|
2324
|
+
});
|
|
2325
|
+
}
|
|
2326
|
+
|
|
2327
|
+
// Handle process exit
|
|
2328
|
+
claudeProcess.on('exit', (code) => {
|
|
2329
|
+
// Remove child PID from session
|
|
2330
|
+
if (sessionId && claudeProcess.pid) {
|
|
2331
|
+
sessionManager.removeChildPid(sessionId, claudeProcess.pid);
|
|
2332
|
+
sessionManager.close();
|
|
2333
|
+
}
|
|
2334
|
+
|
|
2335
|
+
if (code === 0) {
|
|
2336
|
+
console.log(chalk.green('\nβ Claude Code completed successfully'));
|
|
2337
|
+
} else if (code !== null) {
|
|
2338
|
+
console.log(chalk.red(`\nβ Claude Code exited with code ${code}`));
|
|
2339
|
+
}
|
|
2340
|
+
});
|
|
2341
|
+
|
|
2342
|
+
console.log(chalk.green('\nβ Claude Code launched with Hive Mind coordination'));
|
|
2343
|
+
console.log(chalk.blue(' The Queen coordinator will orchestrate all worker agents'));
|
|
2344
|
+
console.log(
|
|
2345
|
+
chalk.blue(' Use MCP tools for collective intelligence and task distribution'),
|
|
2346
|
+
);
|
|
2347
|
+
console.log(chalk.gray(` Prompt file saved at: ${promptFile}`));
|
|
2348
|
+
} else if (flags.dryRun) {
|
|
2349
|
+
console.log(chalk.blue('\nDry run - would execute Claude Code with prompt:'));
|
|
2350
|
+
console.log(chalk.gray('Prompt length:'), hiveMindPrompt.length, 'characters');
|
|
2351
|
+
console.log(chalk.gray('\nFirst 500 characters of prompt:'));
|
|
2352
|
+
console.log(chalk.yellow(hiveMindPrompt.substring(0, 500) + '...'));
|
|
2353
|
+
console.log(chalk.gray(`\nFull prompt saved to: ${promptFile}`));
|
|
2354
|
+
} else {
|
|
2355
|
+
// Claude not available - show instructions with already saved prompt
|
|
2356
|
+
console.log(chalk.yellow('\nπ Manual Execution Instructions:'));
|
|
2357
|
+
console.log(chalk.gray('β'.repeat(50)));
|
|
2358
|
+
console.log(chalk.gray('1. Install Claude Code:'));
|
|
2359
|
+
console.log(chalk.green(' npm install -g @anthropic-ai/claude-code'));
|
|
2360
|
+
console.log(chalk.gray('\n2. Run with the saved prompt:'));
|
|
2361
|
+
console.log(chalk.green(` claude < ${promptFile}`));
|
|
2362
|
+
console.log(chalk.gray('\n3. Or copy the prompt manually:'));
|
|
2363
|
+
console.log(chalk.green(` cat ${promptFile} | claude`));
|
|
2364
|
+
console.log(chalk.gray('\n4. With auto-permissions:'));
|
|
2365
|
+
console.log(chalk.green(` claude --dangerously-skip-permissions < ${promptFile}`));
|
|
2366
|
+
}
|
|
2367
|
+
} catch (error) {
|
|
2368
|
+
console.error(chalk.red('\nFailed to launch Claude Code:'), error.message);
|
|
2369
|
+
|
|
2370
|
+
// Save prompt as fallback
|
|
2371
|
+
const promptFile = `hive-mind-prompt-${swarmId}-fallback.txt`;
|
|
2372
|
+
await writeFile(promptFile, hiveMindPrompt, 'utf8');
|
|
2373
|
+
console.log(chalk.green(`\nβ Prompt saved to: ${promptFile}`));
|
|
2374
|
+
console.log(chalk.yellow('\nYou can run Claude Code manually with the saved prompt'));
|
|
2375
|
+
}
|
|
2376
|
+
|
|
2377
|
+
console.log('\n' + chalk.bold('π‘ Pro Tips:'));
|
|
2378
|
+
console.log(chalk.gray('β'.repeat(30)));
|
|
2379
|
+
console.log('β’ Use --auto-spawn to launch instances automatically');
|
|
2380
|
+
console.log('β’ Add --verbose for detailed coordination context');
|
|
2381
|
+
console.log('β’ Monitor with: @sparkleideas/claude-flow hive-mind status');
|
|
2382
|
+
console.log('β’ Share memories: mcp__ruv-swarm__memory_usage');
|
|
2383
|
+
} catch (error) {
|
|
2384
|
+
spinner.fail('Failed to prepare Claude Code coordination');
|
|
2385
|
+
console.error(chalk.red('Error:'), error.message);
|
|
2386
|
+
}
|
|
2387
|
+
}
|
|
2388
|
+
|
|
2389
|
+
/**
|
|
2390
|
+
* Generate comprehensive Hive Mind prompt for Claude Code
|
|
2391
|
+
*/
|
|
2392
|
+
function generateHiveMindPrompt(swarmId, swarmName, objective, workers, workerGroups, flags) {
|
|
2393
|
+
console.log(chalk.cyan(`\nπ generateHiveMindPrompt received objective: "${objective}"`));
|
|
2394
|
+
const currentTime = new Date().toISOString();
|
|
2395
|
+
const workerTypes = Object.keys(workerGroups);
|
|
2396
|
+
const queenType = flags.queenType || 'strategic';
|
|
2397
|
+
const consensusAlgorithm = flags.consensus || 'majority';
|
|
2398
|
+
|
|
2399
|
+
return `π§ HIVE MIND COLLECTIVE INTELLIGENCE SYSTEM
|
|
2400
|
+
βββββββββββββββββββββββββββββββββββββββββββββββ
|
|
2401
|
+
|
|
2402
|
+
You are the Queen coordinator of a Hive Mind swarm with collective intelligence capabilities.
|
|
2403
|
+
|
|
2404
|
+
HIVE MIND CONFIGURATION:
|
|
2405
|
+
π Swarm ID: ${swarmId}
|
|
2406
|
+
π Swarm Name: ${swarmName}
|
|
2407
|
+
π― Objective: ${objective}
|
|
2408
|
+
π Queen Type: ${queenType}
|
|
2409
|
+
π Worker Count: ${workers.length}
|
|
2410
|
+
π€ Consensus Algorithm: ${consensusAlgorithm}
|
|
2411
|
+
β° Initialized: ${currentTime}
|
|
2412
|
+
|
|
2413
|
+
WORKER DISTRIBUTION:
|
|
2414
|
+
${workerTypes.map((type) => `β’ ${type}: ${workerGroups[type].length} agents`).join('\n')}
|
|
2415
|
+
|
|
2416
|
+
π§ AVAILABLE MCP TOOLS FOR HIVE MIND COORDINATION:
|
|
2417
|
+
|
|
2418
|
+
1οΈβ£ **COLLECTIVE INTELLIGENCE**
|
|
2419
|
+
mcp__claude-flow__consensus_vote - Democratic decision making
|
|
2420
|
+
mcp__claude-flow__memory_share - Share knowledge across the hive
|
|
2421
|
+
mcp__claude-flow__neural_sync - Synchronize neural patterns
|
|
2422
|
+
mcp__claude-flow__swarm_think - Collective problem solving
|
|
2423
|
+
|
|
2424
|
+
2οΈβ£ **QUEEN COORDINATION**
|
|
2425
|
+
mcp__claude-flow__queen_command - Issue directives to workers
|
|
2426
|
+
mcp__claude-flow__queen_monitor - Monitor swarm health
|
|
2427
|
+
mcp__claude-flow__queen_delegate - Delegate complex tasks
|
|
2428
|
+
mcp__claude-flow__queen_aggregate - Aggregate worker results
|
|
2429
|
+
|
|
2430
|
+
3οΈβ£ **WORKER MANAGEMENT**
|
|
2431
|
+
mcp__claude-flow__agent_spawn - Create specialized workers
|
|
2432
|
+
mcp__claude-flow__agent_assign - Assign tasks to workers
|
|
2433
|
+
mcp__claude-flow__agent_communicate - Inter-agent communication
|
|
2434
|
+
mcp__claude-flow__agent_metrics - Track worker performance
|
|
2435
|
+
|
|
2436
|
+
4οΈβ£ **TASK ORCHESTRATION**
|
|
2437
|
+
mcp__claude-flow__task_create - Create hierarchical tasks
|
|
2438
|
+
mcp__claude-flow__task_distribute - Distribute work efficiently
|
|
2439
|
+
mcp__claude-flow__task_monitor - Track task progress
|
|
2440
|
+
mcp__claude-flow__task_aggregate - Combine task results
|
|
2441
|
+
|
|
2442
|
+
5οΈβ£ **MEMORY & LEARNING**
|
|
2443
|
+
mcp__claude-flow__memory_store - Store collective knowledge
|
|
2444
|
+
mcp__claude-flow__memory_retrieve - Access shared memory
|
|
2445
|
+
mcp__claude-flow__neural_train - Learn from experiences
|
|
2446
|
+
mcp__claude-flow__pattern_recognize - Identify patterns
|
|
2447
|
+
|
|
2448
|
+
π HIVE MIND EXECUTION PROTOCOL:
|
|
2449
|
+
|
|
2450
|
+
As the Queen coordinator, you must:
|
|
2451
|
+
|
|
2452
|
+
1. **INITIALIZE THE HIVE** (CRITICAL: Use Claude Code's Task Tool for Agents):
|
|
2453
|
+
|
|
2454
|
+
Step 1: Optional MCP Coordination Setup (Single Message):
|
|
2455
|
+
[MCP Tools - Coordination Only]:
|
|
2456
|
+
${workerTypes.map((type) => ` mcp__claude-flow__agent_spawn { "type": "${type}", "count": ${workerGroups[type].length} }`).join('\n')}
|
|
2457
|
+
mcp__claude-flow__memory_store { "key": "hive/objective", "value": "${objective}" }
|
|
2458
|
+
mcp__claude-flow__memory_store { "key": "hive/queen", "value": "${queenType}" }
|
|
2459
|
+
mcp__claude-flow__swarm_think { "topic": "initial_strategy" }
|
|
2460
|
+
|
|
2461
|
+
Step 2: REQUIRED - Spawn ACTUAL Agents with Claude Code's Task Tool (Single Message):
|
|
2462
|
+
[Claude Code Task Tool - CONCURRENT Agent Execution]:
|
|
2463
|
+
${workerTypes.map((type) => ` Task("${type.charAt(0).toUpperCase() + type.slice(1)} Agent", "You are a ${type} in the hive. Coordinate via hooks. ${getWorkerTypeInstructions(type).split('\n')[0]}", "${type}")`).join('\n')}
|
|
2464
|
+
|
|
2465
|
+
Step 3: Batch ALL Todos Together (Single TodoWrite Call):
|
|
2466
|
+
TodoWrite { "todos": [
|
|
2467
|
+
{ "id": "1", "content": "Initialize hive mind collective", "status": "in_progress", "priority": "high" },
|
|
2468
|
+
{ "id": "2", "content": "Establish consensus protocols", "status": "pending", "priority": "high" },
|
|
2469
|
+
{ "id": "3", "content": "Distribute initial tasks to workers", "status": "pending", "priority": "high" },
|
|
2470
|
+
{ "id": "4", "content": "Set up collective memory", "status": "pending", "priority": "high" },
|
|
2471
|
+
{ "id": "5", "content": "Monitor worker health", "status": "pending", "priority": "medium" },
|
|
2472
|
+
{ "id": "6", "content": "Aggregate worker outputs", "status": "pending", "priority": "medium" },
|
|
2473
|
+
{ "id": "7", "content": "Learn from patterns", "status": "pending", "priority": "low" },
|
|
2474
|
+
{ "id": "8", "content": "Optimize performance", "status": "pending", "priority": "low" }
|
|
2475
|
+
] }
|
|
2476
|
+
|
|
2477
|
+
2. **ESTABLISH COLLECTIVE INTELLIGENCE**:
|
|
2478
|
+
- Use consensus_vote for major decisions
|
|
2479
|
+
- Share all discoveries via memory_share
|
|
2480
|
+
- Synchronize learning with neural_sync
|
|
2481
|
+
- Coordinate strategy with swarm_think
|
|
2482
|
+
|
|
2483
|
+
3. **QUEEN LEADERSHIP PATTERNS**:
|
|
2484
|
+
${
|
|
2485
|
+
queenType === 'strategic'
|
|
2486
|
+
? `
|
|
2487
|
+
- Focus on high-level planning and coordination
|
|
2488
|
+
- Delegate implementation details to workers
|
|
2489
|
+
- Monitor overall progress and adjust strategy
|
|
2490
|
+
- Make executive decisions when consensus fails`
|
|
2491
|
+
: ''
|
|
2492
|
+
}
|
|
2493
|
+
${
|
|
2494
|
+
queenType === 'tactical'
|
|
2495
|
+
? `
|
|
2496
|
+
- Manage detailed task breakdowns and assignments
|
|
2497
|
+
- Closely monitor worker progress and efficiency
|
|
2498
|
+
- Optimize resource allocation and load balancing
|
|
2499
|
+
- Intervene directly when workers need guidance`
|
|
2500
|
+
: ''
|
|
2501
|
+
}
|
|
2502
|
+
${
|
|
2503
|
+
queenType === 'adaptive'
|
|
2504
|
+
? `
|
|
2505
|
+
- Learn from swarm performance and adapt strategies
|
|
2506
|
+
- Experiment with different coordination patterns
|
|
2507
|
+
- Use neural training to improve over time
|
|
2508
|
+
- Balance between strategic and tactical approaches`
|
|
2509
|
+
: ''
|
|
2510
|
+
}
|
|
2511
|
+
|
|
2512
|
+
4. **WORKER COORDINATION**:
|
|
2513
|
+
- Spawn workers based on task requirements
|
|
2514
|
+
- Assign tasks according to worker specializations
|
|
2515
|
+
- Enable peer-to-peer communication for collaboration
|
|
2516
|
+
- Monitor and rebalance workloads as needed
|
|
2517
|
+
|
|
2518
|
+
5. **CONSENSUS MECHANISMS**:
|
|
2519
|
+
${consensusAlgorithm === 'majority' ? '- Decisions require >50% worker agreement' : ''}
|
|
2520
|
+
${consensusAlgorithm === 'unanimous' ? '- All workers must agree for major decisions' : ''}
|
|
2521
|
+
${consensusAlgorithm === 'weighted' ? '- Worker votes weighted by expertise and performance' : ''}
|
|
2522
|
+
${consensusAlgorithm === 'quorum' ? '- Decisions require 2/3 worker participation' : ''}
|
|
2523
|
+
|
|
2524
|
+
6. **COLLECTIVE MEMORY**:
|
|
2525
|
+
- Store all important decisions in shared memory
|
|
2526
|
+
- Tag memories with worker IDs and timestamps
|
|
2527
|
+
- Use memory namespaces: hive/, queen/, workers/, tasks/
|
|
2528
|
+
- Implement memory consensus for critical data
|
|
2529
|
+
|
|
2530
|
+
7. **PERFORMANCE OPTIMIZATION**:
|
|
2531
|
+
- Monitor swarm metrics continuously
|
|
2532
|
+
- Identify and resolve bottlenecks
|
|
2533
|
+
- Train neural networks on successful patterns
|
|
2534
|
+
- Scale worker count based on workload
|
|
2535
|
+
|
|
2536
|
+
π‘ HIVE MIND BEST PRACTICES:
|
|
2537
|
+
|
|
2538
|
+
β
ALWAYS use BatchTool for parallel operations
|
|
2539
|
+
β
Store decisions in collective memory immediately
|
|
2540
|
+
β
Use consensus for critical path decisions
|
|
2541
|
+
β
Monitor worker health and reassign if needed
|
|
2542
|
+
β
Learn from failures and adapt strategies
|
|
2543
|
+
β
Maintain constant inter-agent communication
|
|
2544
|
+
β
Aggregate results before final delivery
|
|
2545
|
+
|
|
2546
|
+
β NEVER make unilateral decisions without consensus
|
|
2547
|
+
β NEVER let workers operate in isolation
|
|
2548
|
+
β NEVER ignore performance metrics
|
|
2549
|
+
β NEVER skip memory synchronization
|
|
2550
|
+
β NEVER abandon failing workers
|
|
2551
|
+
|
|
2552
|
+
π― OBJECTIVE EXECUTION STRATEGY:
|
|
2553
|
+
|
|
2554
|
+
For the objective: "${objective}"
|
|
2555
|
+
|
|
2556
|
+
1. Break down into major phases using swarm_think
|
|
2557
|
+
2. Create specialized worker teams for each phase
|
|
2558
|
+
3. Establish success criteria and checkpoints
|
|
2559
|
+
4. Implement feedback loops and adaptation
|
|
2560
|
+
5. Aggregate and synthesize all worker outputs
|
|
2561
|
+
6. Deliver comprehensive solution with consensus
|
|
2562
|
+
|
|
2563
|
+
β‘ CRITICAL: CONCURRENT EXECUTION WITH CLAUDE CODE'S TASK TOOL:
|
|
2564
|
+
|
|
2565
|
+
The Hive Mind MUST use Claude Code's Task tool for actual agent execution:
|
|
2566
|
+
|
|
2567
|
+
β
CORRECT Pattern:
|
|
2568
|
+
[Single Message - All Agents Spawned Concurrently]:
|
|
2569
|
+
Task("Researcher", "Research patterns and best practices...", "researcher")
|
|
2570
|
+
Task("Coder", "Implement core features...", "coder")
|
|
2571
|
+
Task("Tester", "Create comprehensive tests...", "tester")
|
|
2572
|
+
Task("Analyst", "Analyze performance metrics...", "analyst")
|
|
2573
|
+
TodoWrite { todos: [8-10 todos ALL in ONE call] }
|
|
2574
|
+
|
|
2575
|
+
β WRONG Pattern:
|
|
2576
|
+
Message 1: Task("agent1", ...)
|
|
2577
|
+
Message 2: Task("agent2", ...)
|
|
2578
|
+
Message 3: TodoWrite { single todo }
|
|
2579
|
+
// This breaks parallel coordination!
|
|
2580
|
+
|
|
2581
|
+
Remember:
|
|
2582
|
+
- Use Claude Code's Task tool to spawn ALL agents in ONE message
|
|
2583
|
+
- MCP tools are ONLY for coordination setup, not agent execution
|
|
2584
|
+
- Batch ALL TodoWrite operations (5-10+ todos minimum)
|
|
2585
|
+
- Execute ALL file operations concurrently
|
|
2586
|
+
- Store multiple memories simultaneously
|
|
2587
|
+
|
|
2588
|
+
π BEGIN HIVE MIND EXECUTION:
|
|
2589
|
+
|
|
2590
|
+
Initialize the swarm now with the configuration above. Use your collective intelligence to solve the objective efficiently. The Queen must coordinate, workers must collaborate, and the hive must think as one.
|
|
2591
|
+
|
|
2592
|
+
Remember: You are not just coordinating agents - you are orchestrating a collective intelligence that is greater than the sum of its parts.`;
|
|
2593
|
+
}
|
|
2594
|
+
|
|
2595
|
+
/**
|
|
2596
|
+
* Generate comprehensive coordination instructions for Claude Code instances
|
|
2597
|
+
*/
|
|
2598
|
+
function generateCoordinationInstructions(swarmId, swarmName, objective, workers) {
|
|
2599
|
+
return {
|
|
2600
|
+
swarmId,
|
|
2601
|
+
swarmName,
|
|
2602
|
+
objective,
|
|
2603
|
+
hiveMindEndpoint: 'ws://localhost:3000/hive-mind',
|
|
2604
|
+
mcpTools: [
|
|
2605
|
+
'mcp__ruv-swarm__memory_usage',
|
|
2606
|
+
'mcp__ruv-swarm__swarm_monitor',
|
|
2607
|
+
'mcp__ruv-swarm__task_orchestrate',
|
|
2608
|
+
'mcp__ruv-swarm__neural_train',
|
|
2609
|
+
'mcp__ruv-swarm__consensus_vote',
|
|
2610
|
+
'mcp__ruv-swarm__agent_spawn',
|
|
2611
|
+
'mcp__ruv-swarm__swarm_status',
|
|
2612
|
+
],
|
|
2613
|
+
coordinationProtocol: {
|
|
2614
|
+
memoryNamespace: `hive-mind-${swarmId}`,
|
|
2615
|
+
consensusThreshold: 0.7,
|
|
2616
|
+
taskUpdateInterval: 30000,
|
|
2617
|
+
healthCheckInterval: 60000,
|
|
2618
|
+
},
|
|
2619
|
+
workerCapabilities: workers.map((w) => ({
|
|
2620
|
+
id: w.id,
|
|
2621
|
+
type: w.type,
|
|
2622
|
+
capabilities: JSON.parse(w.capabilities),
|
|
2623
|
+
})),
|
|
2624
|
+
};
|
|
2625
|
+
}
|
|
2626
|
+
|
|
2627
|
+
/**
|
|
2628
|
+
* Group workers by type for specialized spawning
|
|
2629
|
+
*/
|
|
2630
|
+
function groupWorkersByType(workers) {
|
|
2631
|
+
return workers.reduce((groups, worker) => {
|
|
2632
|
+
if (!groups[worker.type]) {
|
|
2633
|
+
groups[worker.type] = [];
|
|
2634
|
+
}
|
|
2635
|
+
groups[worker.type].push(worker);
|
|
2636
|
+
return groups;
|
|
2637
|
+
}, {});
|
|
2638
|
+
}
|
|
2639
|
+
|
|
2640
|
+
/**
|
|
2641
|
+
* Create Claude Code spawn command with coordination context
|
|
2642
|
+
*/
|
|
2643
|
+
function createClaudeCodeSpawnCommand(
|
|
2644
|
+
swarmId,
|
|
2645
|
+
swarmName,
|
|
2646
|
+
objective,
|
|
2647
|
+
workerType,
|
|
2648
|
+
typeWorkers,
|
|
2649
|
+
instructions,
|
|
2650
|
+
) {
|
|
2651
|
+
const context = `You are a ${workerType} agent in the "${swarmName}" Hive Mind swarm.
|
|
2652
|
+
|
|
2653
|
+
π― MISSION: ${objective}
|
|
2654
|
+
|
|
2655
|
+
π SWARM COORDINATION:
|
|
2656
|
+
- Swarm ID: ${swarmId}
|
|
2657
|
+
- Your Role: ${workerType.toUpperCase()} specialist
|
|
2658
|
+
- Team Size: ${typeWorkers.length} ${workerType}(s)
|
|
2659
|
+
- Coordination: Hive Mind collective intelligence
|
|
2660
|
+
|
|
2661
|
+
π§ MANDATORY COORDINATION PROTOCOL:
|
|
2662
|
+
1. BEFORE starting work:
|
|
2663
|
+
mcp__ruv-swarm__memory_usage {"action": "retrieve", "key": "hive-mind-${swarmId}/status"}
|
|
2664
|
+
mcp__ruv-swarm__swarm_status {"swarmId": "${swarmId}"}
|
|
2665
|
+
|
|
2666
|
+
2. DURING work (after each major step):
|
|
2667
|
+
mcp__ruv-swarm__memory_usage {"action": "store", "key": "hive-mind-${swarmId}/${workerType}/progress", "value": {"step": "X", "status": "Y", "findings": "Z"}}
|
|
2668
|
+
mcp__ruv-swarm__task_orchestrate {"swarmId": "${swarmId}", "update": {"agentId": "your-id", "progress": "details"}}
|
|
2669
|
+
|
|
2670
|
+
3. FOR decisions requiring consensus:
|
|
2671
|
+
mcp__ruv-swarm__consensus_vote {"swarmId": "${swarmId}", "topic": "decision topic", "vote": "your choice", "rationale": "reasoning"}
|
|
2672
|
+
|
|
2673
|
+
4. WHEN sharing insights:
|
|
2674
|
+
mcp__ruv-swarm__memory_usage {"action": "store", "key": "hive-mind-${swarmId}/insights/${workerType}", "value": {"insight": "your discovery", "impact": "significance"}}
|
|
2675
|
+
|
|
2676
|
+
5. BEFORE completing work:
|
|
2677
|
+
mcp__ruv-swarm__neural_train {"swarmId": "${swarmId}", "experience": {"what": "learned", "outcome": "result"}}
|
|
2678
|
+
|
|
2679
|
+
π§ SPECIALIZED CAPABILITIES:
|
|
2680
|
+
${getWorkerTypeInstructions(workerType)}
|
|
2681
|
+
|
|
2682
|
+
π€ COORDINATION RULES:
|
|
2683
|
+
- Share ALL discoveries via memory_usage
|
|
2684
|
+
- Vote on critical decisions using consensus_vote
|
|
2685
|
+
- Update progress every 15 minutes via task_orchestrate
|
|
2686
|
+
- Monitor other agents via swarm_status
|
|
2687
|
+
- Learn from patterns via neural_train
|
|
2688
|
+
|
|
2689
|
+
Remember: You are part of a COLLECTIVE INTELLIGENCE. Your individual success depends on swarm coordination!`;
|
|
2690
|
+
|
|
2691
|
+
const command = `claude code --context "${context.replace(/"/g, '\\"')}"`;
|
|
2692
|
+
|
|
2693
|
+
return {
|
|
2694
|
+
title: `${workerType.toUpperCase()} Agent (${typeWorkers.length} instance${typeWorkers.length > 1 ? 's' : ''})`,
|
|
2695
|
+
command,
|
|
2696
|
+
context,
|
|
2697
|
+
workerType,
|
|
2698
|
+
count: typeWorkers.length,
|
|
2699
|
+
};
|
|
2700
|
+
}
|
|
2701
|
+
|
|
2702
|
+
/**
|
|
2703
|
+
* Get specialized instructions for each worker type
|
|
2704
|
+
*/
|
|
2705
|
+
function getWorkerTypeInstructions(workerType) {
|
|
2706
|
+
const instructions = {
|
|
2707
|
+
researcher: `- Conduct thorough research using WebSearch and WebFetch
|
|
2708
|
+
- Document findings in structured formats
|
|
2709
|
+
- Validate source credibility and relevance
|
|
2710
|
+
- Synthesize insights from multiple sources
|
|
2711
|
+
- Share research methodology and results`,
|
|
2712
|
+
|
|
2713
|
+
coder: `- Write clean, maintainable, well-documented code
|
|
2714
|
+
- Follow project conventions and best practices
|
|
2715
|
+
- Test implementations thoroughly
|
|
2716
|
+
- Document code changes and decisions
|
|
2717
|
+
- Review and optimize existing code`,
|
|
2718
|
+
|
|
2719
|
+
analyst: `- Analyze data patterns and trends
|
|
2720
|
+
- Create comprehensive reports and visualizations
|
|
2721
|
+
- Identify key insights and recommendations
|
|
2722
|
+
- Validate analytical methodologies
|
|
2723
|
+
- Correlate findings across data sources`,
|
|
2724
|
+
|
|
2725
|
+
tester: `- Design comprehensive test strategies
|
|
2726
|
+
- Execute functional, integration, and performance tests
|
|
2727
|
+
- Document test results and issues
|
|
2728
|
+
- Verify bug fixes and improvements
|
|
2729
|
+
- Ensure quality standards and coverage`,
|
|
2730
|
+
|
|
2731
|
+
coordinator: `- Monitor overall progress and coordination
|
|
2732
|
+
- Facilitate communication between agents
|
|
2733
|
+
- Resolve conflicts and blockers
|
|
2734
|
+
- Optimize resource allocation
|
|
2735
|
+
- Ensure alignment with objectives`,
|
|
2736
|
+
|
|
2737
|
+
architect: `- Design system architecture and components
|
|
2738
|
+
- Define technical standards and patterns
|
|
2739
|
+
- Create implementation guidelines
|
|
2740
|
+
- Review and approve design decisions
|
|
2741
|
+
- Ensure scalability and maintainability`,
|
|
2742
|
+
};
|
|
2743
|
+
|
|
2744
|
+
return (
|
|
2745
|
+
instructions[workerType] ||
|
|
2746
|
+
`- Execute tasks according to ${workerType} best practices
|
|
2747
|
+
- Collaborate effectively with team members
|
|
2748
|
+
- Document work and share insights
|
|
2749
|
+
- Maintain quality standards
|
|
2750
|
+
- Contribute to collective objectives`
|
|
2751
|
+
);
|
|
2752
|
+
}
|
|
2753
|
+
|
|
2754
|
+
/**
|
|
2755
|
+
* Show all hive mind sessions
|
|
2756
|
+
*/
|
|
2757
|
+
async function showSessions(flags) {
|
|
2758
|
+
try {
|
|
2759
|
+
// Use metrics reader for real session data
|
|
2760
|
+
const dbPath = path.join(cwd(), '.hive-mind', 'hive.db');
|
|
2761
|
+
|
|
2762
|
+
if (!existsSync(dbPath)) {
|
|
2763
|
+
console.log(chalk.gray('No hive mind database found'));
|
|
2764
|
+
return;
|
|
2765
|
+
}
|
|
2766
|
+
|
|
2767
|
+
const metricsReader = new HiveMindMetricsReader(dbPath);
|
|
2768
|
+
const sessions = metricsReader.getActiveSessions();
|
|
2769
|
+
|
|
2770
|
+
if (sessions.length === 0) {
|
|
2771
|
+
console.log(chalk.gray('No active or paused sessions found'));
|
|
2772
|
+
metricsReader.close();
|
|
2773
|
+
return;
|
|
2774
|
+
}
|
|
2775
|
+
|
|
2776
|
+
console.log(chalk.bold('\nποΈ Hive Mind Sessions\n'));
|
|
2777
|
+
|
|
2778
|
+
sessions.forEach((session, index) => {
|
|
2779
|
+
const statusColor =
|
|
2780
|
+
session.status === 'active' ? 'green' : session.status === 'paused' ? 'yellow' : 'gray';
|
|
2781
|
+
const statusIcon =
|
|
2782
|
+
session.status === 'active' ? 'π’' : session.status === 'paused' ? 'π‘' : 'β«';
|
|
2783
|
+
|
|
2784
|
+
console.log(chalk.yellow('β'.repeat(60)));
|
|
2785
|
+
console.log(`${statusIcon} ${chalk.bold(session.swarm_name || session.id)}`);
|
|
2786
|
+
console.log(chalk.cyan('Session ID:'), session.id);
|
|
2787
|
+
console.log(chalk.cyan('Status:'), chalk[statusColor](session.status));
|
|
2788
|
+
console.log(chalk.cyan('Objective:'), session.objective || 'Not set');
|
|
2789
|
+
console.log(chalk.cyan('Progress:'), `${session.completion_percentage || 0}%`);
|
|
2790
|
+
console.log(chalk.cyan('Created:'), new Date(session.created_at).toLocaleString());
|
|
2791
|
+
console.log(chalk.cyan('Last Updated:'), new Date(session.updated_at).toLocaleString());
|
|
2792
|
+
|
|
2793
|
+
if (session.paused_at) {
|
|
2794
|
+
console.log(chalk.cyan('Paused At:'), new Date(session.paused_at).toLocaleString());
|
|
2795
|
+
}
|
|
2796
|
+
|
|
2797
|
+
console.log('\n' + chalk.bold('Real Progress:'));
|
|
2798
|
+
console.log(` Agents: ${session.agent_count || 0}`);
|
|
2799
|
+
console.log(` Tasks: ${session.completed_tasks || 0}/${session.task_count || 0}`);
|
|
2800
|
+
console.log(` In Progress: ${session.in_progress_tasks || 0}`);
|
|
2801
|
+
console.log(` Pending: ${session.pending_tasks || 0}`);
|
|
2802
|
+
|
|
2803
|
+
if (session.checkpoint_data) {
|
|
2804
|
+
console.log('\n' + chalk.bold('Last Checkpoint:'));
|
|
2805
|
+
const checkpointStr = typeof session.checkpoint_data === 'string'
|
|
2806
|
+
? session.checkpoint_data
|
|
2807
|
+
: JSON.stringify(session.checkpoint_data, null, 2);
|
|
2808
|
+
console.log(
|
|
2809
|
+
chalk.gray(checkpointStr.substring(0, 200) + (checkpointStr.length > 200 ? '...' : '')),
|
|
2810
|
+
);
|
|
2811
|
+
}
|
|
2812
|
+
});
|
|
2813
|
+
|
|
2814
|
+
console.log(chalk.yellow('β'.repeat(60)) + '\n');
|
|
2815
|
+
|
|
2816
|
+
console.log(chalk.blue('π‘ Tips:'));
|
|
2817
|
+
console.log(' β’ Resume a session: @sparkleideas/claude-flow hive-mind resume <session-id>');
|
|
2818
|
+
console.log(' β’ View session details: @sparkleideas/claude-flow hive-mind status');
|
|
2819
|
+
|
|
2820
|
+
metricsReader.close();
|
|
2821
|
+
} catch (error) {
|
|
2822
|
+
console.error(chalk.red('Error:'), error.message);
|
|
2823
|
+
exit(1);
|
|
2824
|
+
}
|
|
2825
|
+
}
|
|
2826
|
+
|
|
2827
|
+
/**
|
|
2828
|
+
* Resume a paused hive mind session
|
|
2829
|
+
*/
|
|
2830
|
+
async function resumeSession(args, flags) {
|
|
2831
|
+
const sessionId = args[0];
|
|
2832
|
+
|
|
2833
|
+
if (!sessionId) {
|
|
2834
|
+
console.error(chalk.red('Error: Please provide a session ID'));
|
|
2835
|
+
console.log('Usage: @sparkleideas/claude-flow hive-mind resume <session-id>');
|
|
2836
|
+
console.log('Run "@sparkleideas/claude-flow hive-mind sessions" to see available sessions');
|
|
2837
|
+
return;
|
|
2838
|
+
}
|
|
2839
|
+
|
|
2840
|
+
const spinner = ora('Resuming Hive Mind session...').start();
|
|
2841
|
+
|
|
2842
|
+
try {
|
|
2843
|
+
const sessionManager = new HiveMindSessionManager();
|
|
2844
|
+
|
|
2845
|
+
// Get session details
|
|
2846
|
+
const session = await sessionManager.getSession(sessionId);
|
|
2847
|
+
|
|
2848
|
+
if (!session) {
|
|
2849
|
+
spinner.fail(`Session ${sessionId} not found`);
|
|
2850
|
+
console.log('\nRun "@sparkleideas/claude-flow hive-mind sessions" to see available sessions');
|
|
2851
|
+
sessionManager.close();
|
|
2852
|
+
return;
|
|
2853
|
+
}
|
|
2854
|
+
|
|
2855
|
+
// Allow resuming any session regardless of status
|
|
2856
|
+
spinner.text = `Resuming session from status: ${session.status}...`;
|
|
2857
|
+
|
|
2858
|
+
if (session.status === 'stopped') {
|
|
2859
|
+
spinner.text = 'Restarting stopped session with original configuration...';
|
|
2860
|
+
}
|
|
2861
|
+
|
|
2862
|
+
// Resume the session
|
|
2863
|
+
const resumedSession = await sessionManager.resumeSession(sessionId);
|
|
2864
|
+
|
|
2865
|
+
spinner.succeed('Session resumed successfully!');
|
|
2866
|
+
|
|
2867
|
+
// Display session summary
|
|
2868
|
+
console.log('\n' + chalk.bold('π Resumed Session Summary:'));
|
|
2869
|
+
console.log(chalk.gray('β'.repeat(50)));
|
|
2870
|
+
console.log(chalk.cyan('Session ID:'), sessionId);
|
|
2871
|
+
console.log(chalk.cyan('Swarm Name:'), resumedSession.swarm_name);
|
|
2872
|
+
console.log(chalk.cyan('Objective:'), resumedSession.objective);
|
|
2873
|
+
console.log(chalk.cyan('Progress:'), `${resumedSession.statistics.completionPercentage}%`);
|
|
2874
|
+
console.log(
|
|
2875
|
+
chalk.cyan('Active Agents:'),
|
|
2876
|
+
`${resumedSession.statistics.activeAgents}/${resumedSession.statistics.totalAgents}`,
|
|
2877
|
+
);
|
|
2878
|
+
console.log(
|
|
2879
|
+
chalk.cyan('Tasks:'),
|
|
2880
|
+
`${resumedSession.statistics.completedTasks}/${resumedSession.statistics.totalTasks} completed`,
|
|
2881
|
+
);
|
|
2882
|
+
console.log(chalk.gray('β'.repeat(50)));
|
|
2883
|
+
|
|
2884
|
+
// Show task breakdown
|
|
2885
|
+
console.log('\n' + chalk.bold('π Task Status:'));
|
|
2886
|
+
console.log(` β
Completed: ${resumedSession.statistics.completedTasks}`);
|
|
2887
|
+
console.log(` π In Progress: ${resumedSession.statistics.inProgressTasks}`);
|
|
2888
|
+
console.log(` β³ Pending: ${resumedSession.statistics.pendingTasks}`);
|
|
2889
|
+
|
|
2890
|
+
// Show recent activity
|
|
2891
|
+
if (resumedSession.recentLogs && resumedSession.recentLogs.length > 0) {
|
|
2892
|
+
console.log('\n' + chalk.bold('π Recent Activity:'));
|
|
2893
|
+
resumedSession.recentLogs.slice(0, 5).forEach((log) => {
|
|
2894
|
+
const timestamp = new Date(log.timestamp).toLocaleTimeString();
|
|
2895
|
+
console.log(` [${timestamp}] ${log.message}`);
|
|
2896
|
+
});
|
|
2897
|
+
}
|
|
2898
|
+
|
|
2899
|
+
// Restore checkpoint if available
|
|
2900
|
+
if (resumedSession.checkpoint_data) {
|
|
2901
|
+
console.log('\n' + chalk.bold('β»οΈ Restoring from checkpoint...'));
|
|
2902
|
+
console.log(chalk.gray('Checkpoint data available for restoration'));
|
|
2903
|
+
}
|
|
2904
|
+
|
|
2905
|
+
sessionManager.close();
|
|
2906
|
+
|
|
2907
|
+
// Offer to spawn Claude Code with restored context
|
|
2908
|
+
if (flags.claude || flags.spawn) {
|
|
2909
|
+
console.log('\n' + chalk.yellow('π Launching Claude Code with restored context...'));
|
|
2910
|
+
|
|
2911
|
+
// Generate prompt with session context
|
|
2912
|
+
const restoredPrompt = generateRestoredSessionPrompt(resumedSession);
|
|
2913
|
+
|
|
2914
|
+
// Launch Claude Code with restored context
|
|
2915
|
+
await launchClaudeWithContext(restoredPrompt, flags, sessionId);
|
|
2916
|
+
} else {
|
|
2917
|
+
console.log(
|
|
2918
|
+
'\n' +
|
|
2919
|
+
chalk.blue('π‘ Pro Tip:') +
|
|
2920
|
+
' Add --claude to spawn Claude Code with restored context',
|
|
2921
|
+
);
|
|
2922
|
+
console.log(chalk.gray(' @sparkleideas/claude-flow hive-mind resume ' + sessionId + ' --claude'));
|
|
2923
|
+
}
|
|
2924
|
+
} catch (error) {
|
|
2925
|
+
spinner.fail('Failed to resume session');
|
|
2926
|
+
console.error(chalk.red('Error:'), error.message);
|
|
2927
|
+
exit(1);
|
|
2928
|
+
}
|
|
2929
|
+
}
|
|
2930
|
+
|
|
2931
|
+
/**
|
|
2932
|
+
* Stop a hive mind session
|
|
2933
|
+
*/
|
|
2934
|
+
async function stopSession(args, flags) {
|
|
2935
|
+
const sessionId = args[0];
|
|
2936
|
+
|
|
2937
|
+
if (!sessionId) {
|
|
2938
|
+
console.error(chalk.red('Error: Please provide a session ID'));
|
|
2939
|
+
console.log('Usage: @sparkleideas/claude-flow hive-mind stop <session-id>');
|
|
2940
|
+
console.log('Run "@sparkleideas/claude-flow hive-mind sessions" to see available sessions');
|
|
2941
|
+
return;
|
|
2942
|
+
}
|
|
2943
|
+
|
|
2944
|
+
const spinner = ora('Stopping Hive Mind session...').start();
|
|
2945
|
+
|
|
2946
|
+
try {
|
|
2947
|
+
const sessionManager = new HiveMindSessionManager();
|
|
2948
|
+
|
|
2949
|
+
// Get session details
|
|
2950
|
+
const session = await sessionManager.getSession(sessionId);
|
|
2951
|
+
|
|
2952
|
+
if (!session) {
|
|
2953
|
+
spinner.fail(`Session ${sessionId} not found`);
|
|
2954
|
+
console.log('\nRun "@sparkleideas/claude-flow hive-mind sessions" to see available sessions');
|
|
2955
|
+
sessionManager.close();
|
|
2956
|
+
return;
|
|
2957
|
+
}
|
|
2958
|
+
|
|
2959
|
+
// Stop the session
|
|
2960
|
+
await sessionManager.stopSession(sessionId);
|
|
2961
|
+
|
|
2962
|
+
spinner.succeed('Session stopped successfully!');
|
|
2963
|
+
|
|
2964
|
+
// Display session summary
|
|
2965
|
+
console.log('\n' + chalk.bold('π Stopped Session Summary:'));
|
|
2966
|
+
console.log(chalk.gray('β'.repeat(50)));
|
|
2967
|
+
console.log(chalk.cyan('Session ID:'), sessionId);
|
|
2968
|
+
console.log(chalk.cyan('Swarm Name:'), session.swarm_name || 'Unknown');
|
|
2969
|
+
console.log(chalk.cyan('Final Status:'), 'Stopped');
|
|
2970
|
+
console.log(
|
|
2971
|
+
chalk.cyan('Active Agents:'),
|
|
2972
|
+
session.statistics ? session.statistics.activeAgents : 0,
|
|
2973
|
+
);
|
|
2974
|
+
console.log(chalk.gray('β'.repeat(50)));
|
|
2975
|
+
|
|
2976
|
+
console.log('\n' + chalk.yellow('π‘ Session has been stopped and all processes cleaned up.'));
|
|
2977
|
+
console.log(
|
|
2978
|
+
chalk.gray('To resume this session later, use: @sparkleideas/claude-flow hive-mind resume ' + sessionId),
|
|
2979
|
+
);
|
|
2980
|
+
|
|
2981
|
+
sessionManager.close();
|
|
2982
|
+
} catch (error) {
|
|
2983
|
+
spinner.fail('Failed to stop session');
|
|
2984
|
+
console.error(chalk.red('Error:'), error.message);
|
|
2985
|
+
exit(1);
|
|
2986
|
+
}
|
|
2987
|
+
}
|
|
2988
|
+
|
|
2989
|
+
/**
|
|
2990
|
+
* Generate prompt for restored session
|
|
2991
|
+
*/
|
|
2992
|
+
function generateRestoredSessionPrompt(session) {
|
|
2993
|
+
// Get all agents, not just active ones
|
|
2994
|
+
const allAgents = session.agents || [];
|
|
2995
|
+
const activeAgents = allAgents.filter((a) => a.status === 'active' || a.status === 'busy');
|
|
2996
|
+
const idleAgents = allAgents.filter((a) => a.status === 'idle');
|
|
2997
|
+
|
|
2998
|
+
// Get all tasks categorized by status
|
|
2999
|
+
const allTasks = session.tasks || [];
|
|
3000
|
+
const completedTasks = allTasks.filter((t) => t.status === 'completed');
|
|
3001
|
+
const inProgressTasks = allTasks.filter((t) => t.status === 'in_progress');
|
|
3002
|
+
const pendingTasks = allTasks.filter((t) => t.status === 'pending');
|
|
3003
|
+
|
|
3004
|
+
// Calculate session duration
|
|
3005
|
+
const sessionStart = new Date(session.created_at);
|
|
3006
|
+
const sessionPaused = session.paused_at ? new Date(session.paused_at) : new Date();
|
|
3007
|
+
const duration = Math.round((sessionPaused - sessionStart) / 1000 / 60); // minutes
|
|
3008
|
+
|
|
3009
|
+
// Get more checkpoint history
|
|
3010
|
+
const checkpointHistory = session.checkpoints || [];
|
|
3011
|
+
|
|
3012
|
+
// Get more activity logs
|
|
3013
|
+
const activityLogs = session.recentLogs || [];
|
|
3014
|
+
|
|
3015
|
+
// Format agent details with their current tasks
|
|
3016
|
+
const formatAgentDetails = (agents) => {
|
|
3017
|
+
if (!agents.length) return 'No agents found';
|
|
3018
|
+
return agents.map(agent => {
|
|
3019
|
+
const agentTasks = allTasks.filter(t => t.agent_id === agent.id);
|
|
3020
|
+
const currentTask = agentTasks.find(t => t.status === 'in_progress');
|
|
3021
|
+
return `β’ ${agent.name} (${agent.type}) - ${agent.status}${currentTask ? `\n ββ Working on: ${currentTask.description}` : ''}`;
|
|
3022
|
+
}).join('\n');
|
|
3023
|
+
};
|
|
3024
|
+
|
|
3025
|
+
// Format task details with more information
|
|
3026
|
+
const formatTaskDetails = (tasks, limit = 15) => {
|
|
3027
|
+
if (!tasks.length) return 'No tasks found';
|
|
3028
|
+
const displayTasks = tasks.slice(0, limit);
|
|
3029
|
+
return displayTasks.map(task => {
|
|
3030
|
+
const agent = allAgents.find(a => a.id === task.agent_id);
|
|
3031
|
+
return `β’ [${task.priority?.toUpperCase() || 'NORMAL'}] ${task.description}${agent ? ` (Assigned to: ${agent.name})` : ''}${task.created_at ? ` - Created: ${new Date(task.created_at).toLocaleTimeString()}` : ''}`;
|
|
3032
|
+
}).join('\n') + (tasks.length > limit ? `\n... and ${tasks.length - limit} more tasks` : '');
|
|
3033
|
+
};
|
|
3034
|
+
|
|
3035
|
+
// Format checkpoint details
|
|
3036
|
+
const formatCheckpoints = (checkpoints, limit = 5) => {
|
|
3037
|
+
if (!checkpoints.length) return 'No checkpoints found';
|
|
3038
|
+
const displayCheckpoints = checkpoints.slice(0, limit);
|
|
3039
|
+
return displayCheckpoints.map(cp =>
|
|
3040
|
+
`β’ ${cp.checkpoint_name} - ${new Date(cp.created_at).toLocaleString()}`
|
|
3041
|
+
).join('\n');
|
|
3042
|
+
};
|
|
3043
|
+
|
|
3044
|
+
// Format activity logs with more detail
|
|
3045
|
+
const formatActivityLogs = (logs, limit = 20) => {
|
|
3046
|
+
if (!logs.length) return 'No activity logs found';
|
|
3047
|
+
const displayLogs = logs.slice(0, limit);
|
|
3048
|
+
return displayLogs.map(log => {
|
|
3049
|
+
const timestamp = new Date(log.timestamp).toLocaleTimeString();
|
|
3050
|
+
const agent = log.agent_id ? allAgents.find(a => a.id === log.agent_id) : null;
|
|
3051
|
+
return `[${timestamp}] ${log.message}${agent ? ` (by ${agent.name})` : ''}${log.data ? ` - ${JSON.stringify(log.data)}` : ''}`;
|
|
3052
|
+
}).join('\n');
|
|
3053
|
+
};
|
|
3054
|
+
|
|
3055
|
+
// Extract metadata if available
|
|
3056
|
+
const metadata = session.metadata || {};
|
|
3057
|
+
const metadataStr = Object.keys(metadata).length > 0 ?
|
|
3058
|
+
Object.entries(metadata).map(([k, v]) => `β’ ${k}: ${typeof v === 'object' ? JSON.stringify(v) : v}`).join('\n') :
|
|
3059
|
+
'No metadata available';
|
|
3060
|
+
|
|
3061
|
+
return `π RESUMING HIVE MIND SESSION
|
|
3062
|
+
βββββββββββββββββββββββββββββββββββ
|
|
3063
|
+
|
|
3064
|
+
You are resuming a Hive Mind session with comprehensive context:
|
|
3065
|
+
|
|
3066
|
+
π SESSION DETAILS:
|
|
3067
|
+
ββββββββββββββββββββββββββββββββββ
|
|
3068
|
+
π Session ID: ${session.id}
|
|
3069
|
+
π Swarm ID: ${session.swarm_id}
|
|
3070
|
+
π Swarm Name: ${session.swarm_name}
|
|
3071
|
+
π― Objective: ${session.objective}
|
|
3072
|
+
π Overall Progress: ${session.statistics.completionPercentage}% complete
|
|
3073
|
+
β±οΈ Session Duration: ${duration} minutes
|
|
3074
|
+
π
Created: ${new Date(session.created_at).toLocaleString()}
|
|
3075
|
+
βΈοΈ Paused: ${session.paused_at ? new Date(session.paused_at).toLocaleString() : 'N/A'}
|
|
3076
|
+
βΆοΈ Resumed: ${new Date().toLocaleString()}
|
|
3077
|
+
π Status: ${session.status}
|
|
3078
|
+
|
|
3079
|
+
π TASK STATISTICS:
|
|
3080
|
+
ββββββββββββββββββββββββββββββββββ
|
|
3081
|
+
β’ Total Tasks: ${session.statistics.totalTasks}
|
|
3082
|
+
β’ Completed: ${completedTasks.length} (${session.statistics.totalTasks > 0 ? Math.round((completedTasks.length / session.statistics.totalTasks) * 100) : 0}%)
|
|
3083
|
+
β’ In Progress: ${inProgressTasks.length}
|
|
3084
|
+
β’ Pending: ${pendingTasks.length}
|
|
3085
|
+
|
|
3086
|
+
π₯ SWARM COMPOSITION (${allAgents.length} agents):
|
|
3087
|
+
ββββββββββββββββββββββββββββββββββ
|
|
3088
|
+
Active Agents (${activeAgents.length}):
|
|
3089
|
+
${formatAgentDetails(activeAgents)}
|
|
3090
|
+
|
|
3091
|
+
Idle Agents (${idleAgents.length}):
|
|
3092
|
+
${formatAgentDetails(idleAgents)}
|
|
3093
|
+
|
|
3094
|
+
π COMPLETED TASKS (${completedTasks.length}):
|
|
3095
|
+
ββββββββββββββββββββββββββββββββββ
|
|
3096
|
+
${formatTaskDetails(completedTasks, 10)}
|
|
3097
|
+
|
|
3098
|
+
π IN-PROGRESS TASKS (${inProgressTasks.length}):
|
|
3099
|
+
ββββββββββββββββββββββββββββββββββ
|
|
3100
|
+
${formatTaskDetails(inProgressTasks)}
|
|
3101
|
+
|
|
3102
|
+
β³ PENDING TASKS (${pendingTasks.length}):
|
|
3103
|
+
ββββββββββββββββββββββββββββββββββ
|
|
3104
|
+
${formatTaskDetails(pendingTasks)}
|
|
3105
|
+
|
|
3106
|
+
πΎ CHECKPOINT HISTORY (${checkpointHistory.length} total):
|
|
3107
|
+
ββββββββββββββββββββββββββββββββββ
|
|
3108
|
+
${formatCheckpoints(checkpointHistory)}
|
|
3109
|
+
|
|
3110
|
+
π SESSION METADATA:
|
|
3111
|
+
ββββββββββββββββββββββββββββββββββ
|
|
3112
|
+
${metadataStr}
|
|
3113
|
+
|
|
3114
|
+
πΎ LAST CHECKPOINT DATA:
|
|
3115
|
+
ββββββββββββββββββββββββββββββββββ
|
|
3116
|
+
${session.checkpoint_data ? JSON.stringify(session.checkpoint_data, null, 2) : 'No checkpoint data available'}
|
|
3117
|
+
|
|
3118
|
+
π ACTIVITY LOG (Last ${Math.min(20, activityLogs.length)} entries):
|
|
3119
|
+
ββββββββββββββββββββββββββββββββββ
|
|
3120
|
+
${formatActivityLogs(activityLogs, 20)}
|
|
3121
|
+
|
|
3122
|
+
π― RESUMPTION PROTOCOL:
|
|
3123
|
+
ββββββββββββββββββββββββββββββββββ
|
|
3124
|
+
1. **RESTORE CONTEXT**:
|
|
3125
|
+
- Review all checkpoint data and activity history above
|
|
3126
|
+
- Use mcp__claude-flow__memory_usage to retrieve collective memory
|
|
3127
|
+
- Check agent statuses and reassign tasks if needed
|
|
3128
|
+
- Verify all in-progress tasks are still valid
|
|
3129
|
+
|
|
3130
|
+
2. **CONTINUE EXECUTION**:
|
|
3131
|
+
- Resume in-progress tasks with their assigned agents
|
|
3132
|
+
- Process pending tasks based on priority (CRITICAL > HIGH > NORMAL > LOW)
|
|
3133
|
+
- Maintain agent coordination through memory sharing
|
|
3134
|
+
- Update progress tracking after each task completion
|
|
3135
|
+
|
|
3136
|
+
3. **COORDINATION REQUIREMENTS**:
|
|
3137
|
+
- Use mcp__claude-flow__memory_usage for all cross-agent communication
|
|
3138
|
+
- Apply consensus mechanisms for important decisions
|
|
3139
|
+
- Maintain swarm topology: ${session.swarm?.topology || 'unknown'}
|
|
3140
|
+
- Keep session checkpoint data updated regularly
|
|
3141
|
+
|
|
3142
|
+
4. **MEMORY CONTEXT**:
|
|
3143
|
+
- Session memory namespace: session-${session.id}
|
|
3144
|
+
- Swarm memory namespace: swarm-${session.swarm_id}
|
|
3145
|
+
- Use these namespaces to access historical decisions and context
|
|
3146
|
+
|
|
3147
|
+
Resume the hive mind operation with full context awareness and continue working towards the objective.`;
|
|
3148
|
+
}
|
|
3149
|
+
|
|
3150
|
+
/**
|
|
3151
|
+
* Launch Claude Code with context
|
|
3152
|
+
*/
|
|
3153
|
+
async function launchClaudeWithContext(prompt, flags, sessionId) {
|
|
3154
|
+
try {
|
|
3155
|
+
// ALWAYS save the prompt file first (fix for issue #330)
|
|
3156
|
+
// Ensure sessions directory exists
|
|
3157
|
+
const sessionsDir = path.join('.hive-mind', 'sessions');
|
|
3158
|
+
await mkdirAsync(sessionsDir, { recursive: true });
|
|
3159
|
+
const promptFile = path.join(sessionsDir, `hive-mind-resume-${sessionId}-${Date.now()}.txt`);
|
|
3160
|
+
await writeFile(promptFile, prompt);
|
|
3161
|
+
console.log(chalk.green(`\nβ Session context saved to: ${promptFile}`));
|
|
3162
|
+
|
|
3163
|
+
const { spawn: childSpawn, execSync } = await import('child_process');
|
|
3164
|
+
let claudeAvailable = false;
|
|
3165
|
+
|
|
3166
|
+
try {
|
|
3167
|
+
execSync('which claude', { stdio: 'ignore' });
|
|
3168
|
+
claudeAvailable = true;
|
|
3169
|
+
} catch {
|
|
3170
|
+
console.log(chalk.yellow('\nβ οΈ Claude Code CLI not found'));
|
|
3171
|
+
console.log(chalk.gray('Install Claude Code: npm install -g @anthropic-ai/claude-code'));
|
|
3172
|
+
console.log(chalk.gray(`Run with: claude < ${promptFile}`));
|
|
3173
|
+
return;
|
|
3174
|
+
}
|
|
3175
|
+
|
|
3176
|
+
if (claudeAvailable && !flags.dryRun) {
|
|
3177
|
+
// Debug logging to track spawn calls
|
|
3178
|
+
console.log(chalk.blue('\nπ Debug: About to spawn Claude Code process...'));
|
|
3179
|
+
console.log(chalk.gray(` Session ID: ${sessionId}`));
|
|
3180
|
+
console.log(chalk.gray(` Process ID: ${process.pid}`));
|
|
3181
|
+
|
|
3182
|
+
// Remove --print to allow interactive session (same as initial spawn)
|
|
3183
|
+
const claudeArgs = [prompt];
|
|
3184
|
+
|
|
3185
|
+
// Add --dangerously-skip-permissions by default for hive-mind operations
|
|
3186
|
+
// unless explicitly disabled with --no-auto-permissions
|
|
3187
|
+
if (!flags['no-auto-permissions']) {
|
|
3188
|
+
claudeArgs.push('--dangerously-skip-permissions');
|
|
3189
|
+
console.log(
|
|
3190
|
+
chalk.yellow(
|
|
3191
|
+
'π Using --dangerously-skip-permissions by default for seamless hive-mind execution',
|
|
3192
|
+
),
|
|
3193
|
+
);
|
|
3194
|
+
}
|
|
3195
|
+
|
|
3196
|
+
console.log(chalk.blue('π Debug: Spawning with args:'), claudeArgs.slice(0, 1).map(a => a.substring(0, 50) + '...'));
|
|
3197
|
+
|
|
3198
|
+
// Use 'inherit' for interactive session (same as initial spawn)
|
|
3199
|
+
const claudeProcess = childSpawn('claude', claudeArgs, {
|
|
3200
|
+
stdio: 'inherit',
|
|
3201
|
+
shell: false,
|
|
3202
|
+
});
|
|
3203
|
+
|
|
3204
|
+
console.log(chalk.blue('π Debug: Claude process spawned with PID:'), claudeProcess.pid);
|
|
3205
|
+
|
|
3206
|
+
// Track child process PID in session (same as initial spawn)
|
|
3207
|
+
const sessionManager = new HiveMindSessionManager();
|
|
3208
|
+
if (claudeProcess.pid) {
|
|
3209
|
+
const sessions = await sessionManager.getActiveSessions();
|
|
3210
|
+
const currentSession = sessions.find(s => s.id === sessionId);
|
|
3211
|
+
if (currentSession) {
|
|
3212
|
+
await sessionManager.addChildPid(currentSession.id, claudeProcess.pid);
|
|
3213
|
+
}
|
|
3214
|
+
}
|
|
3215
|
+
|
|
3216
|
+
// Set up SIGINT handler for automatic session pausing (same as initial spawn)
|
|
3217
|
+
let isExiting = false;
|
|
3218
|
+
const sigintHandler = async () => {
|
|
3219
|
+
if (isExiting) return;
|
|
3220
|
+
isExiting = true;
|
|
3221
|
+
|
|
3222
|
+
console.log('\n\n' + chalk.yellow('βΈοΈ Pausing session and terminating Claude Code...'));
|
|
3223
|
+
|
|
3224
|
+
try {
|
|
3225
|
+
// Terminate Claude Code process if still running
|
|
3226
|
+
if (claudeProcess && !claudeProcess.killed) {
|
|
3227
|
+
claudeProcess.kill('SIGTERM');
|
|
3228
|
+
}
|
|
3229
|
+
|
|
3230
|
+
// Clean up and close session manager
|
|
3231
|
+
sessionManager.close();
|
|
3232
|
+
|
|
3233
|
+
console.log(chalk.green('β') + ' Session paused successfully');
|
|
3234
|
+
console.log(chalk.cyan('\nTo resume this session, run:'));
|
|
3235
|
+
console.log(chalk.bold(` @sparkleideas/claude-flow hive-mind resume ${sessionId}`));
|
|
3236
|
+
console.log();
|
|
3237
|
+
|
|
3238
|
+
process.exit(0);
|
|
3239
|
+
} catch (error) {
|
|
3240
|
+
console.error(chalk.red('Error during shutdown:'), error.message);
|
|
3241
|
+
process.exit(1);
|
|
3242
|
+
}
|
|
3243
|
+
};
|
|
3244
|
+
|
|
3245
|
+
process.on('SIGINT', sigintHandler);
|
|
3246
|
+
process.on('SIGTERM', sigintHandler);
|
|
3247
|
+
|
|
3248
|
+
// Handle process exit (same as initial spawn)
|
|
3249
|
+
claudeProcess.on('exit', async (code, signal) => {
|
|
3250
|
+
if (!isExiting) {
|
|
3251
|
+
console.log('\n' + chalk.yellow('Claude Code has exited'));
|
|
3252
|
+
|
|
3253
|
+
// Clean up signal handlers
|
|
3254
|
+
process.removeListener('SIGINT', sigintHandler);
|
|
3255
|
+
process.removeListener('SIGTERM', sigintHandler);
|
|
3256
|
+
|
|
3257
|
+
// Close session manager
|
|
3258
|
+
sessionManager.close();
|
|
3259
|
+
|
|
3260
|
+
process.exit(code || 0);
|
|
3261
|
+
}
|
|
3262
|
+
});
|
|
3263
|
+
|
|
3264
|
+
console.log(chalk.green('\nβ Claude Code launched with restored session context'));
|
|
3265
|
+
console.log(chalk.gray(` Prompt file saved at: ${promptFile}`));
|
|
3266
|
+
}
|
|
3267
|
+
} catch (error) {
|
|
3268
|
+
console.error(chalk.red('Failed to launch Claude Code:'), error.message);
|
|
3269
|
+
}
|
|
3270
|
+
}
|
|
3271
|
+
|
|
3272
|
+
/**
|
|
3273
|
+
* Get MCP wrapper instance
|
|
3274
|
+
*/
|
|
3275
|
+
async function getMcpWrapper() {
|
|
3276
|
+
const { MCPToolWrapper } = await import('./hive-mind/mcp-wrapper.js');
|
|
3277
|
+
return new MCPToolWrapper();
|
|
3278
|
+
}
|
|
3279
|
+
|
|
3280
|
+
// Export for testing
|
|
3281
|
+
export { showHiveMindHelp, initHiveMind, spawnSwarm, showStatus };
|