Documentation
¶
Index ¶
- type Registry
- func (r *Registry) BroadcastCommand(cmd *taskguildv1.AgentCommand)
- func (r *Registry) BroadcastCommandToProject(projectName string, cmd *taskguildv1.AgentCommand)
- func (r *Registry) FindAvailable() (string, bool)
- func (r *Registry) GetProjectName(agentManagerID string) (string, bool)
- func (r *Registry) Register(agentManagerID string, maxConcurrentTasks int32, projectName string) chan *taskguildv1.AgentCommand
- func (r *Registry) SendCommand(agentManagerID string, cmd *taskguildv1.AgentCommand) bool
- func (r *Registry) Unregister(agentManagerID string)
- func (r *Registry) UpdateHeartbeat(agentManagerID string, activeTasks int32) bool
- type Server
- func (s *Server) ClaimTask(ctx context.Context, req *connect.Request[taskguildv1.ClaimTaskRequest]) (*connect.Response[taskguildv1.ClaimTaskResponse], error)
- func (s *Server) CreateInteraction(ctx context.Context, ...) (*connect.Response[taskguildv1.CreateInteractionResponse], error)
- func (s *Server) GetInteractionResponse(ctx context.Context, ...) (*connect.Response[taskguildv1.GetInteractionResponseResponse], error)
- func (s *Server) GetWorktreeList(ctx context.Context, req *connect.Request[taskguildv1.GetWorktreeListRequest]) (*connect.Response[taskguildv1.GetWorktreeListResponse], error)
- func (s *Server) Heartbeat(ctx context.Context, req *connect.Request[taskguildv1.HeartbeatRequest]) (*connect.Response[taskguildv1.HeartbeatResponse], error)
- func (s *Server) ReportAgentStatus(ctx context.Context, ...) (*connect.Response[taskguildv1.ReportAgentStatusResponse], error)
- func (s *Server) ReportGitPullMainResult(ctx context.Context, ...) (*connect.Response[taskguildv1.ReportGitPullMainResultResponse], error)
- func (s *Server) ReportScriptExecutionResult(ctx context.Context, ...) (*connect.Response[taskguildv1.ReportScriptExecutionResultResponse], error)
- func (s *Server) ReportScriptOutputChunk(ctx context.Context, ...) (*connect.Response[taskguildv1.ReportScriptOutputChunkResponse], error)
- func (s *Server) ReportTaskLog(ctx context.Context, req *connect.Request[taskguildv1.ReportTaskLogRequest]) (*connect.Response[taskguildv1.ReportTaskLogResponse], error)
- func (s *Server) ReportTaskResult(ctx context.Context, req *connect.Request[taskguildv1.ReportTaskResultRequest]) (*connect.Response[taskguildv1.ReportTaskResultResponse], error)
- func (s *Server) ReportWorktreeDeleteResult(ctx context.Context, ...) (*connect.Response[taskguildv1.ReportWorktreeDeleteResultResponse], error)
- func (s *Server) ReportWorktreeList(ctx context.Context, ...) (*connect.Response[taskguildv1.ReportWorktreeListResponse], error)
- func (s *Server) RequestGitPullMain(ctx context.Context, ...) (*connect.Response[taskguildv1.RequestGitPullMainResponse], error)
- func (s *Server) RequestScriptExecution(projectID string, sc *script.Script) (string, error)
- func (s *Server) RequestWorktreeDelete(ctx context.Context, ...) (*connect.Response[taskguildv1.RequestWorktreeDeleteResponse], error)
- func (s *Server) RequestWorktreeList(ctx context.Context, ...) (*connect.Response[taskguildv1.RequestWorktreeListResponse], error)
- func (s *Server) Subscribe(ctx context.Context, ...) error
- func (s *Server) SyncAgents(ctx context.Context, req *connect.Request[taskguildv1.SyncAgentsRequest]) (*connect.Response[taskguildv1.SyncAgentsResponse], error)
- func (s *Server) SyncPermissions(ctx context.Context, req *connect.Request[taskguildv1.SyncPermissionsRequest]) (*connect.Response[taskguildv1.SyncPermissionsResponse], error)
- func (s *Server) SyncScripts(ctx context.Context, req *connect.Request[taskguildv1.SyncScriptsRequest]) (*connect.Response[taskguildv1.SyncScriptsResponse], error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Registry ¶
type Registry struct {
// contains filtered or unexported fields
}
func NewRegistry ¶
func NewRegistry() *Registry
func (*Registry) BroadcastCommand ¶
func (r *Registry) BroadcastCommand(cmd *taskguildv1.AgentCommand)
BroadcastCommand sends a command to all connected agent-managers.
func (*Registry) BroadcastCommandToProject ¶
func (r *Registry) BroadcastCommandToProject(projectName string, cmd *taskguildv1.AgentCommand)
BroadcastCommandToProject sends a command only to agent-managers whose projectName matches. Agents with an empty projectName (legacy) also receive the command.
func (*Registry) FindAvailable ¶
FindAvailable returns the agent-manager ID with the least active tasks that still has capacity (activeTasks < maxConcurrentTasks). Returns ("", false) if no agent-manager is available.
func (*Registry) GetProjectName ¶
GetProjectName returns the project name for a connected agent-manager.
func (*Registry) Register ¶
func (r *Registry) Register(agentManagerID string, maxConcurrentTasks int32, projectName string) chan *taskguildv1.AgentCommand
func (*Registry) SendCommand ¶
func (r *Registry) SendCommand(agentManagerID string, cmd *taskguildv1.AgentCommand) bool
SendCommand sends a command to a specific agent-manager. Returns false if not connected.
func (*Registry) Unregister ¶
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
func NewServer ¶
func NewServer(registry *Registry, taskRepo task.Repository, workflowRepo workflow.Repository, agentRepo agent.Repository, interactionRepo interaction.Repository, projectRepo project.Repository, skillRepo skill.Repository, scriptRepo script.Repository, taskLogRepo tasklog.Repository, permissionRepo permission.Repository, eventBus *eventbus.Bus, scriptBroker *script.ScriptExecutionBroker) *Server
func (*Server) ClaimTask ¶
func (s *Server) ClaimTask(ctx context.Context, req *connect.Request[taskguildv1.ClaimTaskRequest]) (*connect.Response[taskguildv1.ClaimTaskResponse], error)
func (*Server) CreateInteraction ¶
func (s *Server) CreateInteraction(ctx context.Context, req *connect.Request[taskguildv1.CreateInteractionRequest]) (*connect.Response[taskguildv1.CreateInteractionResponse], error)
func (*Server) GetInteractionResponse ¶
func (s *Server) GetInteractionResponse(ctx context.Context, req *connect.Request[taskguildv1.GetInteractionResponseRequest]) (*connect.Response[taskguildv1.GetInteractionResponseResponse], error)
func (*Server) GetWorktreeList ¶
func (s *Server) GetWorktreeList(ctx context.Context, req *connect.Request[taskguildv1.GetWorktreeListRequest]) (*connect.Response[taskguildv1.GetWorktreeListResponse], error)
func (*Server) Heartbeat ¶
func (s *Server) Heartbeat(ctx context.Context, req *connect.Request[taskguildv1.HeartbeatRequest]) (*connect.Response[taskguildv1.HeartbeatResponse], error)
func (*Server) ReportAgentStatus ¶
func (s *Server) ReportAgentStatus(ctx context.Context, req *connect.Request[taskguildv1.ReportAgentStatusRequest]) (*connect.Response[taskguildv1.ReportAgentStatusResponse], error)
func (*Server) ReportGitPullMainResult ¶
func (s *Server) ReportGitPullMainResult(ctx context.Context, req *connect.Request[taskguildv1.ReportGitPullMainResultRequest]) (*connect.Response[taskguildv1.ReportGitPullMainResultResponse], error)
func (*Server) ReportScriptExecutionResult ¶
func (s *Server) ReportScriptExecutionResult(ctx context.Context, req *connect.Request[taskguildv1.ReportScriptExecutionResultRequest]) (*connect.Response[taskguildv1.ReportScriptExecutionResultResponse], error)
func (*Server) ReportScriptOutputChunk ¶
func (s *Server) ReportScriptOutputChunk(ctx context.Context, req *connect.Request[taskguildv1.ReportScriptOutputChunkRequest]) (*connect.Response[taskguildv1.ReportScriptOutputChunkResponse], error)
func (*Server) ReportTaskLog ¶
func (s *Server) ReportTaskLog(ctx context.Context, req *connect.Request[taskguildv1.ReportTaskLogRequest]) (*connect.Response[taskguildv1.ReportTaskLogResponse], error)
func (*Server) ReportTaskResult ¶
func (s *Server) ReportTaskResult(ctx context.Context, req *connect.Request[taskguildv1.ReportTaskResultRequest]) (*connect.Response[taskguildv1.ReportTaskResultResponse], error)
func (*Server) ReportWorktreeDeleteResult ¶
func (s *Server) ReportWorktreeDeleteResult(ctx context.Context, req *connect.Request[taskguildv1.ReportWorktreeDeleteResultRequest]) (*connect.Response[taskguildv1.ReportWorktreeDeleteResultResponse], error)
func (*Server) ReportWorktreeList ¶
func (s *Server) ReportWorktreeList(ctx context.Context, req *connect.Request[taskguildv1.ReportWorktreeListRequest]) (*connect.Response[taskguildv1.ReportWorktreeListResponse], error)
func (*Server) RequestGitPullMain ¶
func (s *Server) RequestGitPullMain(ctx context.Context, req *connect.Request[taskguildv1.RequestGitPullMainRequest]) (*connect.Response[taskguildv1.RequestGitPullMainResponse], error)
func (*Server) RequestScriptExecution ¶
RequestScriptExecution sends an ExecuteScriptCommand to connected agent-managers for the project and returns a request_id.
func (*Server) RequestWorktreeDelete ¶
func (s *Server) RequestWorktreeDelete(ctx context.Context, req *connect.Request[taskguildv1.RequestWorktreeDeleteRequest]) (*connect.Response[taskguildv1.RequestWorktreeDeleteResponse], error)
func (*Server) RequestWorktreeList ¶
func (s *Server) RequestWorktreeList(ctx context.Context, req *connect.Request[taskguildv1.RequestWorktreeListRequest]) (*connect.Response[taskguildv1.RequestWorktreeListResponse], error)
func (*Server) Subscribe ¶
func (s *Server) Subscribe(ctx context.Context, req *connect.Request[taskguildv1.AgentManagerSubscribeRequest], stream *connect.ServerStream[taskguildv1.AgentCommand]) error
func (*Server) SyncAgents ¶
func (s *Server) SyncAgents(ctx context.Context, req *connect.Request[taskguildv1.SyncAgentsRequest]) (*connect.Response[taskguildv1.SyncAgentsResponse], error)
func (*Server) SyncPermissions ¶
func (s *Server) SyncPermissions(ctx context.Context, req *connect.Request[taskguildv1.SyncPermissionsRequest]) (*connect.Response[taskguildv1.SyncPermissionsResponse], error)
func (*Server) SyncScripts ¶
func (s *Server) SyncScripts(ctx context.Context, req *connect.Request[taskguildv1.SyncScriptsRequest]) (*connect.Response[taskguildv1.SyncScriptsResponse], error)