Add agent update settings, pending self-update via poll, desired config per host, and automatic or manual SSH/WinRM fallback when agents do not report agent.update events.
SAC resolves internal_ip to a registered Windows host and runs qwinsta/logoff synchronously over WinRM instead of queueing commands to the gateway agent.
Silent SSH probe on host card open; manual test feedback auto-hides. Persist ssh_admin_ok in DB (migration 019). After agent update read version from host and refresh UI.
Reuse telegram templates for FCM title/body so agent start/restart
reasons reach mobile without Seaca app changes.
Co-authored-by: Cursor <cursoragent@cursor.com>
При повторной привязке Seaca переиспользуется запись device_uuid вместо INSERT.
Добавлены POST /devices/{id}/revoke и DELETE для полного удаления записи в настройках SAC.
Track resolved_by on problems; suppress scan/ingest recreate after manual
resolve; reopen same problem after cooldown; auto-close via heartbeat unchanged.
Co-authored-by: Cursor <cursoragent@cursor.com>
Dashboard and created_within_hours list only show open/acknowledged problems
created in the last 24 hours; closed items appear under resolved only.
Co-authored-by: Cursor <cursoragent@cursor.com>
Send title and body in the data payload instead of notification block so
onMessageReceived always runs and the app can honour silent mode in background.
Co-authored-by: Cursor <cursoragent@cursor.com>
Adds mobile device registration by admin codes, refresh tokens, push channel
in notification policy, and Settings section for managing Seaca clients.
Co-authored-by: Cursor <cursoragent@cursor.com>
Background scan every 5 min opens rule:host_silence and notifies without
waiting for the next ingest event. CLI job + optional systemd timer.
Co-authored-by: Cursor <cursoragent@cursor.com>
Store hardware/software snapshots on hosts; warn on hardware changes. Host card from Hosts list. Add agent version column to Events/Overview; rename Hosts table columns and sort by status.
Co-authored-by: Cursor <cursoragent@cursor.com>
Centered logo pages with event explanation and allowed actions; router
and apiFetch redirect to them on auth, permission, not-found, and rate-limit errors.
Co-authored-by: Cursor <cursoragent@cursor.com>
Path traversal fix in SPA fallback, admin-only host delete, login rate limit
with 3 attempts and Telegram alert, JWT validated against active users in DB,
and DOMPurify for agent report HTML.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add sac_users table, JWT roles, settings/users API guarded for admin, Users page in UI, and sac_manage_user.py CLI.
Co-authored-by: Cursor <cursoragent@cursor.com>
Ensure server line, compact spacing, and one user per row when ingesting
agent reports or sending SAC-generated daily reports.
Co-authored-by: Cursor <cursoragent@cursor.com>