package repository import ( "context" "code.cubecraftcreations.com/CubeCraft-Creations/Control-Center/go-backend/internal/models" ) // AgentRepo is the interface for agent persistence operations. type AgentRepo interface { Create(ctx context.Context, a models.AgentCardData) error Get(ctx context.Context, id string) (models.AgentCardData, error) List(ctx context.Context, statusFilter models.AgentStatus) ([]models.AgentCardData, error) Update(ctx context.Context, id string, req models.UpdateAgentRequest) (models.AgentCardData, error) Delete(ctx context.Context, id string) error Count(ctx context.Context) (int, error) } // SessionRepo is the interface for session persistence operations. type SessionRepo interface { Create(ctx context.Context, s models.Session) (models.Session, error) ListActive(ctx context.Context) ([]models.Session, error) Count(ctx context.Context) (int, error) } // TaskRepo is the interface for task persistence operations. type TaskRepo interface { Create(ctx context.Context, t models.Task) (models.Task, error) ListRecent(ctx context.Context) ([]models.Task, error) Count(ctx context.Context) (int, error) } // ProjectRepo is the interface for project persistence operations. type ProjectRepo interface { Create(ctx context.Context, p models.Project) (models.Project, error) List(ctx context.Context) ([]models.Project, error) Count(ctx context.Context) (int, error) }