Documentation
¶
Index ¶
- type AssignmentStatus
- type Repository
- type Server
- func (s *Server) CreateTask(ctx context.Context, req *connect.Request[taskguildv1.CreateTaskRequest]) (*connect.Response[taskguildv1.CreateTaskResponse], error)
- func (s *Server) DeleteTask(ctx context.Context, req *connect.Request[taskguildv1.DeleteTaskRequest]) (*connect.Response[taskguildv1.DeleteTaskResponse], error)
- func (s *Server) GetTask(ctx context.Context, req *connect.Request[taskguildv1.GetTaskRequest]) (*connect.Response[taskguildv1.GetTaskResponse], error)
- func (s *Server) ListTasks(ctx context.Context, req *connect.Request[taskguildv1.ListTasksRequest]) (*connect.Response[taskguildv1.ListTasksResponse], error)
- func (s *Server) UpdateTask(ctx context.Context, req *connect.Request[taskguildv1.UpdateTaskRequest]) (*connect.Response[taskguildv1.UpdateTaskResponse], error)
- func (s *Server) UpdateTaskStatus(ctx context.Context, req *connect.Request[taskguildv1.UpdateTaskStatusRequest]) (*connect.Response[taskguildv1.UpdateTaskStatusResponse], error)
- type Task
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AssignmentStatus ¶
type AssignmentStatus string
const ( AssignmentStatusUnassigned AssignmentStatus = "unassigned" AssignmentStatusPending AssignmentStatus = "pending" AssignmentStatusAssigned AssignmentStatus = "assigned" )
type Repository ¶
type Repository interface {
Create(ctx context.Context, t *Task) error
Get(ctx context.Context, id string) (*Task, error)
List(ctx context.Context, projectID, workflowID, statusID string, limit, offset int) ([]*Task, int, error)
Update(ctx context.Context, t *Task) error
Delete(ctx context.Context, id string) error
Claim(ctx context.Context, taskID string, agentID string) (*Task, error)
// ReleaseByAgent unassigns all tasks currently assigned to the given agent,
// resetting them to Pending so other agents can claim them.
ReleaseByAgent(ctx context.Context, agentID string) ([]*Task, error)
}
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
func NewServer ¶
func NewServer(repo Repository, workflowRepo workflow.Repository, eventBus *eventbus.Bus) *Server
func (*Server) CreateTask ¶
func (s *Server) CreateTask(ctx context.Context, req *connect.Request[taskguildv1.CreateTaskRequest]) (*connect.Response[taskguildv1.CreateTaskResponse], error)
func (*Server) DeleteTask ¶
func (s *Server) DeleteTask(ctx context.Context, req *connect.Request[taskguildv1.DeleteTaskRequest]) (*connect.Response[taskguildv1.DeleteTaskResponse], error)
func (*Server) GetTask ¶
func (s *Server) GetTask(ctx context.Context, req *connect.Request[taskguildv1.GetTaskRequest]) (*connect.Response[taskguildv1.GetTaskResponse], error)
func (*Server) ListTasks ¶
func (s *Server) ListTasks(ctx context.Context, req *connect.Request[taskguildv1.ListTasksRequest]) (*connect.Response[taskguildv1.ListTasksResponse], error)
func (*Server) UpdateTask ¶
func (s *Server) UpdateTask(ctx context.Context, req *connect.Request[taskguildv1.UpdateTaskRequest]) (*connect.Response[taskguildv1.UpdateTaskResponse], error)
func (*Server) UpdateTaskStatus ¶
func (s *Server) UpdateTaskStatus(ctx context.Context, req *connect.Request[taskguildv1.UpdateTaskStatusRequest]) (*connect.Response[taskguildv1.UpdateTaskStatusResponse], error)
type Task ¶
type Task struct {
ID string `yaml:"id"`
ProjectID string `yaml:"project_id"`
WorkflowID string `yaml:"workflow_id"`
Title string `yaml:"title"`
Description string `yaml:"description"`
StatusID string `yaml:"status_id"`
AssignedAgentID string `yaml:"assigned_agent_id"`
AssignmentStatus AssignmentStatus `yaml:"assignment_status"`
Metadata map[string]string `yaml:"metadata"`
UseWorktree bool `yaml:"use_worktree"`
PermissionMode string `yaml:"permission_mode"`
CreatedAt time.Time `yaml:"created_at"`
UpdatedAt time.Time `yaml:"updated_at"`
}
Click to show internal directories.
Click to hide internal directories.