Files
kandev/apps/backend/internal/task/repository/interface.go
T
jcfs 20f5f43fb3 feat: complete acp-go-sdk integration with task state updates
- Use acp-go-sdk for all ACP communication in agentctl
- Mark agent as completed when Prompt() returns successfully
- Update task state to COMPLETED when agent completes
- Update task state to FAILED when agent fails and retries exhausted
- Enhanced E2E test to verify agent actually creates files
- E2E test now validates full flow: task creation -> agent work -> file creation -> task completion
2026-01-10 16:46:35 +00:00

39 lines
1.4 KiB
Go

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
}