Initial commit: Complete Hive distributed AI orchestration platform

This comprehensive implementation includes:
- FastAPI backend with MCP server integration
- React/TypeScript frontend with Vite
- PostgreSQL database with Redis caching
- Grafana/Prometheus monitoring stack
- Docker Compose orchestration
- Full MCP protocol support for Claude Code integration

Features:
- Agent discovery and management across network
- Visual workflow editor and execution engine
- Real-time task coordination and monitoring
- Multi-model support with specialized agents
- Distributed development task allocation

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
anthonyrawlins
2025-07-07 21:44:31 +10:00
commit d7ad321176
2631 changed files with 870175 additions and 0 deletions

View File

View File

@@ -0,0 +1,14 @@
from sqlalchemy import Column, Integer, String, DateTime, Boolean
from sqlalchemy.sql import func
from ..core.database import Base
class User(Base):
__tablename__ = "users"
id = Column(Integer, primary_key=True, index=True)
username = Column(String, unique=True, index=True)
email = Column(String, unique=True, index=True)
hashed_password = Column(String)
is_active = Column(Boolean, default=True)
created_at = Column(DateTime(timezone=True), server_default=func.now())
updated_at = Column(DateTime(timezone=True), onupdate=func.now())

View File

@@ -0,0 +1,72 @@
from pydantic import BaseModel
from datetime import datetime
from typing import Dict, Any, List, Optional
# Workflow Models
class WorkflowCreate(BaseModel):
name: str
description: Optional[str] = None
n8n_data: Dict[str, Any]
class WorkflowModel(BaseModel):
id: str
name: str
description: Optional[str] = None
n8n_data: Dict[str, Any]
created_at: datetime
updated_at: datetime
active: bool = True
class WorkflowResponse(BaseModel):
id: str
name: str
description: Optional[str] = None
node_count: int
connection_count: int
created_at: datetime
updated_at: datetime
active: bool
# Execution Models
class ExecutionLog(BaseModel):
timestamp: str
level: str # info, warn, error
message: str
data: Optional[Any] = None
class ExecutionCreate(BaseModel):
input_data: Dict[str, Any]
class ExecutionModel(BaseModel):
id: str
workflow_id: str
workflow_name: str
status: str # pending, running, completed, error, cancelled
started_at: datetime
completed_at: Optional[datetime] = None
input_data: Dict[str, Any]
output_data: Optional[Dict[str, Any]] = None
error_message: Optional[str] = None
logs: List[ExecutionLog] = []
class ExecutionResponse(BaseModel):
id: str
workflow_id: str
workflow_name: str
status: str
started_at: datetime
completed_at: Optional[datetime] = None
input_data: Dict[str, Any]
output_data: Optional[Dict[str, Any]] = None
error_message: Optional[str] = None
logs: Optional[List[ExecutionLog]] = None
# Node Status for WebSocket updates
class NodeStatus(BaseModel):
node_id: str
node_name: str
status: str # pending, running, completed, error
started_at: Optional[datetime] = None
completed_at: Optional[datetime] = None
result: Optional[Any] = None
error: Optional[str] = None