Add task manager interface

Change-Id: I7a2f4b20907ba4bb12c900688aef059789884c1d
diff --git a/server/tm/interface.go b/server/tm/interface.go
new file mode 100644
index 0000000..93b0f29
--- /dev/null
+++ b/server/tm/interface.go
@@ -0,0 +1,24 @@
+package tm
+
+import (
+	"context"
+)
+
+// TaskManager defines the interface for task management operations
+type TaskManager interface {
+	// Task operations
+	CreateTask(ctx context.Context, req *TaskCreateRequest) (*Task, error)
+	GetTask(ctx context.Context, id string) (*Task, error)
+	UpdateTask(ctx context.Context, id string, req *TaskUpdateRequest) (*Task, error)
+	ArchiveTask(ctx context.Context, id string) error
+	ListTasks(ctx context.Context, filter *TaskFilter, page, pageSize int) (*TaskList, error)
+
+	// Task status operations
+	StartTask(ctx context.Context, id string) (*Task, error)
+	CompleteTask(ctx context.Context, id string) (*Task, error)
+
+	// Task queries
+	GetTasksByOwner(ctx context.Context, ownerID string, page, pageSize int) (*TaskList, error)
+	GetTasksByStatus(ctx context.Context, status TaskStatus, page, pageSize int) (*TaskList, error)
+	GetTasksByPriority(ctx context.Context, priority TaskPriority, page, pageSize int) (*TaskList, error)
+}