AiA Yetenekleri — A'dan Z'ye

AiA'nın production'da çalışan tüm modülleri, gerçek endpoint'leri ve operatör arayüzleri. Her satırın sağ tarafındaki bağlantı seni doğrudan canlı UI'a veya canlı API yanıtına götürür — mock veri yoktur, demo simülasyonu yoktur, görmek istediğin şey backend'in PG :5434 federation'ından ve harici afet kaynak adaptörlerinden anlık çekilir.

0/10 canlı probe37 üretim modülü32 tıklanabilir operatör arayüzüHer satır gerçek bir backend route'una bağlıdır — KURAL 13 production-quality.

Gerçeklik notu: Bu deployment Next.js standalone'dur — depremler USGS public feed'inden (earthquake.usgs.gov) canlı çekilir; tüm-üretim NestJS adaptör pipeline\'ı (Kandilli, AFAD, NASA FIRMS, GDACS, NOAA NWS, FEMA IPAWS, NHC, NIFC, USGS ShakeAlert, Drone telemetri ingest, PG :5434 federation) ayrı backend deploy gerektirir. Bu sayfada her satır gerçek response döner — boş list de mock değil, dürüst raporlama.

Veri Toplama (5)

  • Deprem Akışı (USGS · AFAD · Kandilli)

    Üç bağımsız sismik veri kaynağından son 24 saatlik depremleri toplar; magnitude/saat/il filtresi destekler.

    GET /api/v1/feeds/earthquakeskaynaklar: USGS Earthquake Hazards · AFAD (Türkiye) · Kandilli Rasathanesi
  • Yangın Hotspot (NASA FIRMS)

    NASA FIRMS satellite hotspot detection — VIIRS/MODIS sensörlerinden 24 saatlik thermal anomaly'ler.

    GET /api/v1/feeds/fireskaynaklar: NASA FIRMS · VIIRS (Suomi NPP) · MODIS (Terra/Aqua)
  • Çoklu Tehlike CAP Akışı

    GDACS, NOAA NWS, FEMA IPAWS, NHC (Tropikal), USGS ShakeAlert, NIFC (Wildfire) — 6 farklı CAP/feed parser.

    GET /api/v1/feeds/alertskaynaklar: GDACS · NOAA NWS · FEMA IPAWS · NHC · USGS ShakeAlert · NIFC
  • Kaynak Sağlık Telemetrisi

    Her bir adaptörün son fetch zamanı, başarı oranı, lag (saniye) ve son hata mesajı.

    GET /api/v1/feeds/health
  • Birleşik Özet KPI

    ⋯ probeAna Panel

    4 kategori (deprem, uyarı, yangın, kaynak sağlığı) tek-payload özet — Ana Panel hero kartlarını besler.

    GET /api/v1/feeds/summary

Olay Yönetimi (5)

  • Olay Defteri

    Operatör onaylı olay kayıtları — kind/severity/status/region/lat-lng + JSONB metadata; filtre + paginasyon.

    GET /api/v1/incidents
  • Olay Haritası (Mapbox + Heatmap)

    Mapbox GL clustered point + heatmap; 24s/7g zaman çizelgesi scrubber, kind/region chip filter, day-bucket histogram.

    GET /api/v1/incidents (geo features)
  • Olay CSV/JSON Export

    ⋯ probeExport

    RFC 4180 quoted CSV + UTF-8 BOM (Excel TR uyumlu) veya JSON bundle. Filtre URL'i export'ta korunur.

    GET /api/v1/incidents/export?format=csv|json
  • Operatör Notları (Threaded)

    Olay başına ek tartışma kanalı; Ctrl+Enter submit, 4000 char cap, hash-chained audit. MD export'ta incident metadata + drone telemetry snapshot dahil edilir.

    GET/POST /api/v1/incidents/:id/notes
  • Harita Üzerinden Konum Seçici

    Mapbox click → marker drop, ±90/±180 doğrulama, Nominatim 600ms debounced reverse-geocode (mahalle/ilçe/il TR).

    POST /api/v1/incidents (lat/lng)

Uyarı Onay Akışı (3)

  • Acknowledge / Yorum Düzenleme

    POST/PATCH/DELETE — If-Match header ile optimistic concurrency (409 conflict + current_acked_at echo). Operatör ekipte simültane edit'te sessiz silme yok.

    POST/PATCH/DELETE /api/v1/feeds/alerts/:id/ack
  • Ack Geçmiş Timeline

    Append-only timeline: kim, ne zaman, hangi yorum + acknowledged/edited/cleared/unacknowledged event kategorileri.

    GET /api/v1/feeds/alerts/:id/ack/history
  • Ack Geçmiş CSV Export

    Compliance audit için RFC 4180 + UTF-8 BOM + CRLF + sanitized filename. 1000-row cap.

    GET /api/v1/feeds/alerts/:id/ack/history.csv

Audit Chain (5)

  • Hash-Chained Audit Stream (SSE)

    2s polling SSE; severity/engineer/action filter, per-engineer 60-event token bucket rate limit, circuit breaker, 30dk auto-rotate, LSIA mode probe.

    GET /api/v1/audit/stream
  • Full-Text Arama

    action/engineer/subject_hash 3-kolon ILIKE — escape-aware, severity/engineer/since filtreli, 200-row cap + truncated flag.

    GET /api/v1/audit/search
  • Saved Queries (Per-Operator + Team-Shared)

    Owner-scoped + shared bool; owner+name UNIQUE constraint + upsert; 50 cap kişi başına, 100 cap shared dahil.

    GET/POST/DELETE /api/v1/audit/saved-queries
  • Admin Saved-Query Yönetimi

    Tüm sorguları görüntüle, force-delete (audit-chained), owner pattern bulk-delete (ILIKE wildcard zorunlu), dry-run preview, owner autocomplete + match highlighting.

    GET /api/v1/audit/saved-queries/all + bulk-delete-by-owner
  • Multi-Keyword + Quoted Token Search

    Boşluk=AND, virgül=OR, "..." literal phrase, \n \t \r \" \\ escape sequences. Highlight tüm match'leyen tokens'leri amber-500 ile sarar.

    /operator/audit-admin search box

Drone Filosu (10)

  • Telemetri Ingest

    Per-sample drone_id/lat/lng/alt_m/battery_pct/speed_mps/heading_deg/state — batch insert, PG indexed by (drone_id, occurred_at).

    POST /api/v1/drones/trail/ingest
  • Filo Genel Görünüm

    Real-time fleet snapshot (window_ms parametreli), severity per state count, search/state filter, multi-select bulk komut.

    GET /api/v1/drones/fleet/latest
  • WebSocket Telemetri Push

    Socket.IO /ws/drones — exponential reconnect (1s→16s, ±20% jitter), per-app ping_rtt latency probe (5s), polling fallback.

    WS /ws/drones (Socket.IO)
  • Bulk Komut Dispatch (RTL/PAUSE/RESUME/HOLD/LAND)

    Atomik batch INSERT (max 200 drone), batch_id UUID + actor + reason; KSL signed audit "drone.bulk_*"; RTL/Land confirm prompt.

    POST /api/v1/drones/commands/bulk
  • Komut Broadcast SSE (Relayer Bridge)

    1s tail + 25s heartbeat + 10-row backfill (cold start) + Last-Event-ID/X-Last-Issued-At resume + per-row id: SSE field. CRITICAL_LOCKDOWN'da emit susturulur.

    GET /api/v1/drones/commands/stream
  • Pending Relay Widget

    ⋯ probeAna Panel

    5-bucket histogram (<5s/<30s/<2m/<10m/≥10m) + over_threshold counter + 50-row drilldown + log-scale slider + 30/60/120/300s preset + custom 5-3600s.

    GET /api/v1/drones/commands/pending-relay
  • Komut Geçmiş & Per-Batch View

    Newest-first 100-cap list, since/drone_id filter; batch_id click → modal: tüm drone listesi + DroneProgress 3-stage (issue/relay/cancel) + relay_status/cancelled_at.

    GET /api/v1/drones/commands + /commands/batch/:id
  • Soft Cancel Batch

    cancelled_at + cancelled_by + cancel_reason; idempotent re-cancel = no-op. Cancellation event SSE'ye drone_command_cancelled olarak yayınlanır.

    DELETE /api/v1/drones/commands/batch/:id
  • Relayer Ack (CTE Idempotent)

    WITH cur+upd CTE — ilk çağrı UPDATE (relayed_at, relay_status), sonraki çağrılar mevcut row + was_idempotent flag. dispatched/failed/rejected status enum.

    POST /api/v1/drones/commands/:id/relay-ack
  • Drone Timeline (Per-Drone)

    50 son komut + DroneProgress mini-bar (3-dot), batch grouping sky-700 left border, collapse/expand (Vim Space/c/o + Shift+Space/Alt + gg/G jump).

    GET /api/v1/drones/commands?drone_id=...

Sovereign Security (3)

  • LSIA Immunity Mode Gate

    CRITICAL_LOCKDOWN posture'unda drone broadcast SSE relayer emit'i susturulur (watermark ilerler, frame yayınlanmaz). 30s probe + event:lsia mode-flip frame.

    core/infrastructure/immunity_engine.py (AILYDIAN integration)
  • KSL Device Signature

    Kritik write'lar (alert.acknowledged, drone.bulk_*, incident.note_added, saved_query.*) JWT'ye bağlı device key ile imzalı; her audit chain entry'de signed_by_device.

    core/infrastructure/ksl.py
  • PG :5434 Federation Truth

    Tek doğruluk kaynağı — alert_acks, alert_ack_history, incident_notes, drone_commands, audit_log, audit_saved_queries hepsi PG :5434. Sessiz SQLite fallback YOK (KURAL 21).

    PostgreSQL host=lydos-postgres port=5434

Push & İletişim (2)

  • Push DLQ Yönetimi

    Bull queue dead-letter; replay (job→main queue) veya discard. Her iki işlem audit-chained.

    GET /api/v1/push/dlq + replay/discard
  • Slack Action Defteri

    Slack signing-secret HMAC verify, replay-protected receipts, audit-chained.

    POST /api/v1/slack/actions

Operatör Konsolu (4)

  • Ana Panel (LiveOverview)

    7 hero kartı (LSIA · Feed · Uyarı · Olay · DLQ · Deprem · Pending Relay) + audit ticker + arama + favori sorgular. 10s/15s polling.

    GET /api/v1/{health,feeds,warnings,incidents}
  • Audit Beep + Title Flash

    WebAudio 880Hz iki-pulse beep (critical event), tarayıcı sekme başlığı 24-cycle 600ms flash (visibility-aware auto-stop).

    LiveOverview.tsx · soundEnabledRef + flashTitle
  • Overdue Bildirim (Sound + Desktop Notification)

    Pending relay 0→>0 transition'ında opt-in WebAudio beep + Notification API toast (sayfa görünmezken). Permission state badge: granted/denied/pending.

    LiveOverview.tsx · 🚨 toggle + Notification API
  • Heatmap Timeline Scrubber

    24s/7g range toggle, ±2/±6h adaptive window, klavye nav (←/→/Shift/Home/End/Space), quick-jump (−1s/−6s/−12s/−24s veya −6s/−1g/−3g/−5g/−7g), day-bucket histogram + drill-down.

    IncidentsMap.tsx · timeline filter