Integrate Bzzz P2P task coordination and enhance project management

🔗 Bzzz Integration:
- Added comprehensive Bzzz integration documentation and todos
- Implemented N8N chat workflow architecture for task coordination
- Enhanced project management with Bzzz-specific features
- Added GitHub service for seamless issue synchronization
- Created BzzzIntegration component for frontend management

🎯 Project Management Enhancements:
- Improved project listing and filtering capabilities
- Enhanced authentication and authorization flows
- Added unified coordinator for better task orchestration
- Streamlined project activation and configuration
- Updated API endpoints for Bzzz compatibility

📊 Technical Improvements:
- Updated Docker Swarm configuration for local registry
- Enhanced frontend build with updated assets
- Improved WebSocket connections for real-time updates
- Added comprehensive error handling and logging
- Updated environment configurations for production

 System Integration:
- Successfully tested with Bzzz v1.2 task execution workflow
- Validated GitHub issue discovery and claiming functionality
- Confirmed sandbox-based task execution compatibility
- Verified Docker registry integration

This release enables seamless integration between Hive project management and Bzzz P2P task coordination, creating a complete distributed development ecosystem.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
anthonyrawlins
2025-07-14 20:56:01 +10:00
parent e89f2f4b7b
commit 3f3eec7f5d
38 changed files with 2591 additions and 932 deletions

View File

@@ -157,6 +157,28 @@ async def login(
token_response = create_token_response(user.id, user_data)
# Create UserResponse object for proper serialization
user_response = UserResponse(
id=user_data["id"],
username=user_data["username"],
email=user_data["email"],
full_name=user_data["full_name"],
is_active=user_data["is_active"],
is_superuser=user_data["is_superuser"],
is_verified=user_data["is_verified"],
created_at=user_data["created_at"],
last_login=user_data["last_login"]
)
# Create final response manually to avoid datetime serialization issues
final_response = TokenResponse(
access_token=token_response["access_token"],
refresh_token=token_response["refresh_token"],
token_type=token_response["token_type"],
expires_in=token_response["expires_in"],
user=user_response
)
# Store refresh token in database
refresh_token_plain = token_response["refresh_token"]
refresh_token_hash = User.hash_password(refresh_token_plain)
@@ -179,7 +201,7 @@ async def login(
db.add(refresh_token_record)
db.commit()
return TokenResponse(**token_response)
return final_response
@router.post("/refresh", response_model=TokenResponse)
@@ -230,7 +252,28 @@ async def refresh_token(
user_data = user.to_dict()
user_data["scopes"] = ["admin"] if user.is_superuser else []
return TokenResponse(**create_token_response(user.id, user_data))
token_response = create_token_response(user.id, user_data)
# Create UserResponse object for proper serialization
user_response = UserResponse(
id=user_data["id"],
username=user_data["username"],
email=user_data["email"],
full_name=user_data["full_name"],
is_active=user_data["is_active"],
is_superuser=user_data["is_superuser"],
is_verified=user_data["is_verified"],
created_at=user_data["created_at"],
last_login=user_data["last_login"]
)
return TokenResponse(
access_token=token_response["access_token"],
refresh_token=token_response["refresh_token"],
token_type=token_response["token_type"],
expires_in=token_response["expires_in"],
user=user_response
)
except HTTPException:
raise