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:
0
backend/app/models/__init__.py
Normal file
0
backend/app/models/__init__.py
Normal file
14
backend/app/models/user.py
Normal file
14
backend/app/models/user.py
Normal 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())
|
||||
72
backend/app/models/workflow.py
Normal file
72
backend/app/models/workflow.py
Normal 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
|
||||
Reference in New Issue
Block a user