Versions in this module Expand all Collapse all v0 v0.2.7 Jun 25, 2026 v0.2.6 Jun 23, 2026 Changes in this version + func ServeSSE(w http.ResponseWriter, r *http.Request, hub *Hub, id string) + func ValidateMode(mode string) (string, error) + func ValidateTarget(raw string) (string, error) + type AgentInfo struct + Busy bool + Commands []string + ConnectAt time.Time + ID string + Identity webproto.AgentIdentity + Name string + Stats webproto.AgentStats + type AgentPool struct + func NewAgentPool(hub *Hub, allowedOrigins ...string) *AgentPool + func (p *AgentPool) CancelPTY(agentID, terminalID string) + func (p *AgentPool) CancelTask(agentID, taskID string) + func (p *AgentPool) CloseTerminal(agentID, terminalID string) + func (p *AgentPool) Count() int + func (p *AgentPool) DispatchCommand(agentID, taskID, command string) (<-chan taskResult, error) + func (p *AgentPool) HandleTerminalWS(agentID string, w http.ResponseWriter, r *http.Request) + func (p *AgentPool) HandleWS(w http.ResponseWriter, r *http.Request) + func (p *AgentPool) List() []AgentInfo + func (p *AgentPool) Pick() *remoteAgent + func (p *AgentPool) SendAgentMessage(agentID string, msg WSMessage) error + type BroadcastCallback func(id string, event HubEvent) + type Handler struct + func NewHandler(service *Service, agents *AgentPool, ioaHandler http.Handler, ...) *Handler + func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) + type Hub struct + func NewHub() *Hub + func (h *Hub) Broadcast(id string, event HubEvent) + func (h *Hub) OnBroadcast(cb BroadcastCallback) + func (h *Hub) Subscribe(id string) (<-chan HubEvent, func()) + type HubEvent struct + Data json.RawMessage + Type string + type LLMConfig struct + APIKey string + APIKeyConfigured bool + BaseURL string + ConfigLoaded bool + ConfigPath string + Model string + Provider string + Proxy string + type LLMConfigStore interface + GetLLMConfig func(ctx context.Context) (LLMConfig, error) + SaveLLMConfig func(ctx context.Context, cfg LLMConfig) (LLMConfig, error) + type SQLiteStore struct + func NewSQLiteStore(dbPath string) (*SQLiteStore, error) + func (s *SQLiteStore) Close() error + func (s *SQLiteStore) Create(ctx context.Context, job *ScanJob) error + func (s *SQLiteStore) Delete(ctx context.Context, id string) error + func (s *SQLiteStore) Get(ctx context.Context, id string) (*ScanJob, error) + func (s *SQLiteStore) List(ctx context.Context, limit int) ([]*ScanJob, error) + func (s *SQLiteStore) Update(ctx context.Context, job *ScanJob) error + type ScanJob struct + AI bool + CreatedAt time.Time + Deep bool + Error string + ID string + Mode string + Progress string + Report string + Result *output.Result + Sniper bool + Status ScanStatus + Target string + UpdatedAt time.Time + Verify bool + type ScanRequest struct + AI bool + Deep bool + Mode string + Sniper bool + Target string + Verify bool + func (r ScanRequest) AnalysisOptions() (verify, sniper, deep bool) + type ScanStatus string + const StatusCanceled + const StatusCompleted + const StatusFailed + const StatusQueued + const StatusRunning + type Service struct + func NewService(cfg ServiceConfig) *Service + func (s *Service) CancelScan(id string) error + func (s *Service) Close() + func (s *Service) GetLLMConfig(ctx context.Context) (LLMConfig, error) + func (s *Service) GetReport(ctx context.Context, id string) (string, error) + func (s *Service) GetScan(ctx context.Context, id string) (*ScanJob, error) + func (s *Service) Hub() *Hub + func (s *Service) ListScans(ctx context.Context) ([]*ScanJob, error) + func (s *Service) SaveLLMConfig(ctx context.Context, cfg LLMConfig) (LLMConfig, error) + func (s *Service) SetAgentPool(pool *AgentPool) + func (s *Service) Status() ServiceStatus + func (s *Service) SubmitScan(ctx context.Context, target, mode string, verify, sniper, deep bool) (*ScanJob, error) + type ServiceConfig struct + AgentPool *AgentPool + App *runner.App + AppFactory func(ctx context.Context) (*runner.App, error) + ConfigStore LLMConfigStore + MaxConcurrent int + ScanTimeout time.Duration + Store Store + type ServiceStatus struct + Agents int + ConfigLoaded bool + ConfigPath string + LLMAPIKeyConfigured bool + LLMAvailable bool + LLMModel string + LLMProvider string + type Store interface + Create func(ctx context.Context, job *ScanJob) error + Delete func(ctx context.Context, id string) error + Get func(ctx context.Context, id string) (*ScanJob, error) + List func(ctx context.Context, limit int) ([]*ScanJob, error) + Update func(ctx context.Context, job *ScanJob) error + type WSMessage = webproto.Message v0.2.5 Jun 21, 2026 v0.2.3 Jun 18, 2026 v0.2.2 Jun 17, 2026 v0.2.1 Jun 9, 2026 v0.2.0 Jun 8, 2026 v0.0.0-nightly.20260630 Jun 28, 2026 v0.0.0-nightly.20260629 Jun 28, 2026 v0.0.0-nightly.20260628 Jun 28, 2026 v0.0.0-nightly.20260627 Jun 26, 2026 v0.0.0-nightly.20260624 Jun 24, 2026 v0.0.0-nightly.20260623 Jun 23, 2026 v0.0.0-nightly.20260622 Jun 22, 2026 v0.0.0-nightly.20260615 Jun 15, 2026 v0.0.0-nightly.20260609 Jun 9, 2026 v0.0.0-nightly.20260608 Jun 8, 2026 v0.0.0-nightly.20260604 Jun 4, 2026 v0.0.0-nightly.20260603 Jun 3, 2026