Initial commit: Kandev with SQLite persistence and agent integration
Features: - Unified Go binary running Task Service, Agent Manager, and Orchestrator - SQLite persistence for boards, columns, and tasks - Docker-based agent execution with ACP message streaming - Augment Agent integration with session resumption support - RESTful API for all operations (port 8080) - In-memory event bus for service communication Architecture: - cmd/kandev: Single entry point for all services - internal/task: Task, board, and column management - internal/agent: Docker container lifecycle and ACP streaming - internal/orchestrator: Agent coordination and monitoring - internal/events: In-memory pub/sub event bus Documentation: - README.md: Project overview and quick start - docs/ARCHITECTURE.md: System architecture (current + planned) - docs/GETTING_STARTED.md: Development setup guide - docs/IMPLEMENTATION_PLAN.md: Original microservices plan - backend/NEXT_STEPS.md: Development roadmap
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
package repository
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/kandev/kandev/internal/task/models"
|
||||
v1 "github.com/kandev/kandev/pkg/api/v1"
|
||||
)
|
||||
|
||||
// Repository defines the interface for task storage operations
|
||||
type Repository interface {
|
||||
// Task operations
|
||||
CreateTask(ctx context.Context, task *models.Task) error
|
||||
GetTask(ctx context.Context, id string) (*models.Task, error)
|
||||
UpdateTask(ctx context.Context, task *models.Task) error
|
||||
DeleteTask(ctx context.Context, id string) error
|
||||
ListTasks(ctx context.Context, boardID string) ([]*models.Task, error)
|
||||
ListTasksByColumn(ctx context.Context, columnID string) ([]*models.Task, error)
|
||||
UpdateTaskState(ctx context.Context, id string, state v1.TaskState) error
|
||||
|
||||
// Board operations
|
||||
CreateBoard(ctx context.Context, board *models.Board) error
|
||||
GetBoard(ctx context.Context, id string) (*models.Board, error)
|
||||
UpdateBoard(ctx context.Context, board *models.Board) error
|
||||
DeleteBoard(ctx context.Context, id string) error
|
||||
ListBoards(ctx context.Context) ([]*models.Board, error)
|
||||
|
||||
// Column operations
|
||||
CreateColumn(ctx context.Context, column *models.Column) error
|
||||
GetColumn(ctx context.Context, id string) (*models.Column, error)
|
||||
UpdateColumn(ctx context.Context, column *models.Column) error
|
||||
DeleteColumn(ctx context.Context, id string) error
|
||||
ListColumns(ctx context.Context, boardID string) ([]*models.Column, error)
|
||||
|
||||
// Close closes the repository (for database connections)
|
||||
Close() error
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user