Versions in this module Expand all Collapse all v0 v0.2.0 Apr 23, 2026 Changes in this version + var ErrNoAgentAvailable = errors.New("no suitable agent available") + type AgentAvailabilityResult struct + Available bool + HasTenantAgent bool + Message string + type AgentConfigTemplateService struct + func NewAgentConfigTemplateService(templatesDir string, log *logger.Logger) *AgentConfigTemplateService + func (s *AgentConfigTemplateService) Reload() error + func (s *AgentConfigTemplateService) Render(data AgentTemplateData) (*RenderedTemplates, error) + type AgentHeartbeatData struct + CPUPercent float64 + CurrentJobs int + Hostname string + MemoryPercent float64 + Region string + Version string + type AgentHeartbeatInput struct + AgentID shared.ID + Hostname string + IPAddress string + Message string + Status string + Version string + type AgentSelectionMode string + const SelectAny + const SelectTenantOnly + type AgentSelector struct + func NewAgentSelector(agentRepo agentdom.Repository, commandRepo command.Repository, ...) *AgentSelector + func (s *AgentSelector) CheckAgentAvailability(ctx context.Context, tenantID shared.ID, toolName string, tenantOnly bool) *AgentAvailabilityResult + func (s *AgentSelector) SelectAgent(ctx context.Context, req SelectAgentRequest) (*SelectAgentResult, error) + type AgentService struct + func NewAgentService(repo agentdom.Repository, auditService *auditapp.AuditService, ...) *AgentService + func (s *AgentService) ActivateAgent(ctx context.Context, tenantID, agentID string, auditCtx *auditapp.AuditContext) (*agentdom.Agent, error) + func (s *AgentService) AuthenticateByAPIKey(ctx context.Context, apiKey string) (*agentdom.Agent, error) + func (s *AgentService) ClaimJob(ctx context.Context, agentID shared.ID) error + func (s *AgentService) CreateAgent(ctx context.Context, input CreateAgentInput) (*CreateAgentOutput, error) + func (s *AgentService) DeleteAgent(ctx context.Context, tenantID, agentID string, auditCtx *auditapp.AuditContext) error + func (s *AgentService) DisableAgent(ctx context.Context, tenantID, agentID, reason string, ...) (*agentdom.Agent, error) + func (s *AgentService) FindAvailableAgents(ctx context.Context, tenantID shared.ID, capabilities []string, tool string) ([]*agentdom.Agent, error) + func (s *AgentService) FindAvailableWithCapacity(ctx context.Context, tenantID shared.ID, capabilities []string, tool string) ([]*agentdom.Agent, error) + func (s *AgentService) GetAgent(ctx context.Context, tenantID, agentID string) (*agentdom.Agent, error) + func (s *AgentService) GetAvailableCapabilitiesForTenant(ctx context.Context, tenantID shared.ID) (*TenantAvailableCapabilitiesOutput, error) + func (s *AgentService) GetPlatformStats(ctx context.Context, tenantID shared.ID) (*PlatformStatsOutput, error) + func (s *AgentService) GetTenantAgentStats(ctx context.Context, tenantID string) (*agentdom.TenantAgentStats, error) + func (s *AgentService) HasCapability(ctx context.Context, tenantID shared.ID, capability string) (bool, error) + func (s *AgentService) Heartbeat(ctx context.Context, input AgentHeartbeatInput) error + func (s *AgentService) IncrementStats(ctx context.Context, agentID shared.ID, findings, scans, errors int64) error + func (s *AgentService) ListAgents(ctx context.Context, input ListAgentsInput) (pagination.Result[*agentdom.Agent], error) + func (s *AgentService) RegenerateAPIKey(ctx context.Context, tenantID, agentID string, auditCtx *auditapp.AuditContext) (string, error) + func (s *AgentService) ReleaseJob(ctx context.Context, agentID shared.ID) error + func (s *AgentService) RevokeAgent(ctx context.Context, tenantID, agentID, reason string, ...) (*agentdom.Agent, error) + func (s *AgentService) SetPepper(pepper string) + func (s *AgentService) UpdateAgent(ctx context.Context, input UpdateAgentInput) (*agentdom.Agent, error) + func (s *AgentService) UpdateHeartbeat(ctx context.Context, agentID shared.ID, data AgentHeartbeatData) error + type AgentTemplateData struct + APIKey string + Agent *agentdom.Agent + BaseURL string + GeneratedAt string + type CreateAgentInput struct + AuditContext *auditapp.AuditContext + Capabilities []string + Description string + ExecutionMode string + MaxConcurrentJobs int + Name string + TenantID string + Tools []string + Type string + type CreateAgentOutput struct + APIKey string + Agent *agentdom.Agent + type ListAgentsInput struct + Capabilities []string + ExecutionMode string + HasCapacity *bool + Health string + Page int + PerPage int + Search string + Status string + TenantID string + Tools []string + Type string + type PlatformStatsOutput struct + AccessibleTiers []string + AvailableSlots int + CurrentActive int + CurrentQueued int + Enabled bool + MaxConcurrent int + MaxQueued int + MaxTier string + TierStats map[string]PlatformTierStats + type PlatformTierStats struct + AvailableSlots int + CurrentLoad int + OfflineAgents int + OnlineAgents int + TotalAgents int + TotalCapacity int + type RenderedTemplates struct + CLI string + Docker string + Env string + YAML string + type SelectAgentRequest struct + AllowQueue bool + Capabilities []string + Mode AgentSelectionMode + Region string + TenantID shared.ID + Tool string + type SelectAgentResult struct + Agent *agentdom.Agent + Message string + Queued bool + type TenantAvailableCapabilitiesOutput struct + Capabilities []string + TotalAgents int + type UpdateAgentInput struct + AgentID string + AuditContext *auditapp.AuditContext + Capabilities []string + Description string + MaxConcurrentJobs *int + Name string + Status string + TenantID string + Tools []string