UNPKG

@clduab11/gemini-flow

Version:

Revolutionary AI agent swarm coordination platform with Google Services integration, multimedia processing, and production-ready monitoring. Features 8 Google AI services, quantum computing capabilities, and enterprise-grade security.

419 lines (339 loc) 9.95 kB
# 🔄 Migration Guide: v1.2.x → v1.3.0 ## Overview This guide provides step-by-step instructions for migrating from Gemini-Flow v1.2.x to v1.3.0. This major release introduces significant architectural improvements, Google Services integration, and enhanced agent coordination capabilities. ## ⚠️ Breaking Changes ### 1. Configuration Structure Changes #### Old Configuration (v1.2.x) ```typescript const flow = new GeminiFlow({ mode: 'enterprise', agentLimit: 50 }); ``` #### New Configuration (v1.3.0) ```typescript const flow = new GeminiFlow({ protocols: ['a2a', 'mcp'], // Required: Protocol specification topology: 'hierarchical', // Required: Network topology maxAgents: 66, // Changed: agentLimit → maxAgents consensus: 'byzantine-fault-tolerant' }); ``` ### 2. Agent Spawn API Changes #### Old API (v1.2.x) ```typescript await geminiFlow.spawn({ count: 10 }); ``` #### New API (v1.3.0) ```typescript await geminiFlow.agents.spawn({ count: 10, coordination: 'intelligent', protocols: ['a2a', 'mcp'], specialization: 'enterprise' }); ``` ### 3. Environment Variables #### Removed Environment Variables - `GEMINI_FLOW_MODE` (replaced by protocol configuration) - `AGENT_LIMIT` (replaced by maxAgents in config) - `SIMPLE_MODE` (replaced by topology specification) #### New Required Environment Variables ```bash # Google Services Integration (if using Google services) GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account.json" GOOGLE_PROJECT_ID="your-project-id" GOOGLE_REGION="us-central1" # Protocol Configuration GEMINI_FLOW_PROTOCOLS="a2a,mcp" GEMINI_FLOW_TOPOLOGY="hierarchical" # Performance Settings MAX_AGENTS=66 CONSENSUS_ALGORITHM="byzantine-fault-tolerant" ``` ### 4. Database Schema Changes The database schema has been updated to support new features: #### New Tables - `agent_spaces` - Agent environment virtualization - `consensus_logs` - Byzantine consensus tracking - `multimedia_cache` - Media processing cache - `security_audit` - Security event logging #### Modified Tables - `agents` table: Added `coordination_protocol`, `spatial_context`, `specialization` - `tasks` table: Added `consensus_required`, `multimedia_assets`, `security_level` ## 🔧 Automatic Migration ### Step 1: Backup Current Installation ```bash # Backup configuration cp .gemini-flow/config.json .gemini-flow/config-v1.2.backup.json # Backup database cp .gemini-flow/database.sqlite .gemini-flow/database-v1.2.backup.sqlite # Backup custom configurations tar -czf gemini-flow-v1.2-backup.tar.gz .gemini-flow/ ``` ### Step 2: Install v1.3.0 ```bash # Update global installation npm uninstall -g @clduab11/gemini-flow npm install -g @clduab11/gemini-flow@1.3.0 # Or update local installation npm update @clduab11/gemini-flow@1.3.0 ``` ### Step 3: Run Migration Script ```bash # Run automatic migration gemini-flow migrate --from 1.2.x --to 1.3.0 --auto # Review migration log cat .gemini-flow/migration-log-v1.3.0.txt # Verify migration success gemini-flow config validate ``` ### Step 4: Update Configuration ```bash # Generate new configuration with defaults gemini-flow config generate --version 1.3.0 # Or use interactive setup gemini-flow setup --interactive ``` ## 📋 Manual Migration Steps ### 1. Update Package Dependencies #### package.json Changes ```json { "dependencies": { "@clduab11/gemini-flow": "^1.3.0", "ws": "^8.14.2", "redis": "^4.6.10", "prom-client": "^15.0.0", "sharp": "^0.33.0", "canvas": "^2.11.2" } } ``` ### 2. Configuration File Migration #### Create new .gemini-flow/config.v1.3.0.json ```json { "version": "1.3.0", "protocols": { "a2a": { "enabled": true, "messageTimeout": 5000, "retryAttempts": 3, "encryption": "AES-256-GCM" }, "mcp": { "enabled": true, "contextSyncInterval": 100, "modelCoordination": "intelligent", "fallbackStrategy": "round-robin" } }, "swarm": { "maxAgents": 66, "topology": "hierarchical", "consensus": "byzantine-fault-tolerant", "coordinationProtocol": "a2a" }, "google": { "projectId": "${GOOGLE_PROJECT_ID}", "region": "${GOOGLE_REGION}", "services": { "gemini": { "enabled": true }, "vertex": { "enabled": true }, "veo3": { "enabled": false }, "imagen4": { "enabled": false }, "chirp": { "enabled": false }, "lyria": { "enabled": false } } }, "performance": { "sqliteOps": 396610, "routingLatency": 75, "a2aLatency": 25, "parallelTasks": 10000 }, "monitoring": { "enabled": true, "prometheus": true, "grafana": true, "tracing": true } } ``` ### 3. Code Updates #### Update Import Statements ```typescript // Old imports (v1.2.x) import { GeminiFlow } from '@clduab11/gemini-flow'; // New imports (v1.3.0) import { GeminiFlow, AgentSpace, GoogleServices, MultimediaProcessor } from '@clduab11/gemini-flow'; ``` #### Update Agent Initialization ```typescript // Old initialization (v1.2.x) const flow = new GeminiFlow(); await flow.initializeAgents(10); // New initialization (v1.3.0) const flow = new GeminiFlow({ protocols: ['a2a', 'mcp'], topology: 'hierarchical' }); await flow.agents.spawn({ count: 10, specialization: 'general', coordination: 'intelligent' }); ``` ### 4. Database Migration #### Run Schema Updates ```bash # Connect to database and run migrations gemini-flow db migrate --version 1.3.0 # Verify schema gemini-flow db validate --schema ``` #### SQL Migration Script (if manual) ```sql -- Add new columns to existing tables ALTER TABLE agents ADD COLUMN coordination_protocol TEXT DEFAULT 'a2a'; ALTER TABLE agents ADD COLUMN spatial_context TEXT; ALTER TABLE agents ADD COLUMN specialization TEXT DEFAULT 'general'; ALTER TABLE tasks ADD COLUMN consensus_required BOOLEAN DEFAULT 0; ALTER TABLE tasks ADD COLUMN multimedia_assets TEXT; ALTER TABLE tasks ADD COLUMN security_level INTEGER DEFAULT 1; -- Create new tables CREATE TABLE agent_spaces ( id TEXT PRIMARY KEY, agent_id TEXT, virtual_environment TEXT, spatial_coordinates TEXT, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (agent_id) REFERENCES agents(id) ); CREATE TABLE consensus_logs ( id TEXT PRIMARY KEY, proposal_id TEXT, vote_result TEXT, timestamp DATETIME DEFAULT CURRENT_TIMESTAMP, agent_votes TEXT ); CREATE TABLE multimedia_cache ( id TEXT PRIMARY KEY, asset_type TEXT, asset_data BLOB, metadata TEXT, created_at DATETIME DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE security_audit ( id TEXT PRIMARY KEY, event_type TEXT, agent_id TEXT, details TEXT, timestamp DATETIME DEFAULT CURRENT_TIMESTAMP ); ``` ## 🔍 Validation Steps ### 1. Verify Installation ```bash # Check version gemini-flow --version # Should output: 1.3.0 # Verify configuration gemini-flow config validate # Should output: ✅ Configuration valid # Test basic functionality gemini-flow test --basic ``` ### 2. Test Agent Coordination ```bash # Test A2A protocol gemini-flow test --protocol a2a # Test MCP integration gemini-flow test --protocol mcp # Test consensus mechanism gemini-flow test --consensus ``` ### 3. Performance Validation ```bash # Run performance benchmarks gemini-flow benchmark --quick # Test load handling gemini-flow test --load 1000 # Verify monitoring gemini-flow monitor --validate ``` ## 🐛 Common Migration Issues ### Issue 1: Configuration Validation Errors ```bash # Error: "Unknown configuration option 'mode'" # Solution: Remove deprecated options gemini-flow config clean --deprecated ``` ### Issue 2: Agent Spawn Failures ```bash # Error: "Agent spawn timeout" # Solution: Update spawn configuration gemini-flow config set agents.spawnTimeout 10000 ``` ### Issue 3: Database Schema Conflicts ```bash # Error: "Table 'agents' has no column named 'coordination_protocol'" # Solution: Force schema migration gemini-flow db migrate --force --backup ``` ### Issue 4: Google Services Authentication ```bash # Error: "Application Default Credentials not found" # Solution: Setup authentication gcloud auth application-default login export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account.json" ``` ## 📊 Performance Comparison ### Before (v1.2.x) - Agent spawn time: ~180ms - SQLite operations: ~270k ops/sec - Memory usage: ~3.2GB (1000 agents) - Routing latency: ~100ms ### After (v1.3.0) - Agent spawn time: <100ms (44% improvement) - SQLite operations: 396k ops/sec (32% improvement) - Memory usage: ~1.8GB (1000 agents) (44% improvement) - Routing latency: <75ms (25% improvement) ## 🔄 Rollback Plan If migration fails, you can rollback: ```bash # Stop current services gemini-flow stop # Restore backup tar -xzf gemini-flow-v1.2-backup.tar.gz # Reinstall v1.2.x npm uninstall -g @clduab11/gemini-flow npm install -g @clduab11/gemini-flow@1.2.1 # Restart services gemini-flow start ``` ## 📞 Support If you encounter issues during migration: 1. **Check Migration Logs**: `.gemini-flow/migration-log-v1.3.0.txt` 2. **Review Documentation**: [Migration FAQ](https://github.com/clduab11/gemini-flow/wiki/Migration-FAQ) 3. **Community Support**: [Discord](https://discord.gg/gemini-flow) 4. **GitHub Issues**: [Report Migration Issues](https://github.com/clduab11/gemini-flow/issues/new?template=migration-issue.md) ## ✅ Post-Migration Checklist - [ ] Configuration validated successfully - [ ] All agents spawn without errors - [ ] A2A and MCP protocols functional - [ ] Database schema updated - [ ] Performance benchmarks meet targets - [ ] Google Services authentication working (if enabled) - [ ] Monitoring and alerting operational - [ ] Backup and rollback plan tested - [ ] Team trained on new features - [ ] Documentation updated --- **Migration completed successfully? [Let us know!](https://github.com/clduab11/gemini-flow/discussions/migration-success)**