feat: add Vault Backup — auto-push captures to vault server
- New vault/ package: VaultConfig, VaultAuthManager, VaultUploader, VaultSyncModule
- VaultAuthManager: mutex-protected token cache, reads real expiry from JWT exp claim,
  auto-refresh via refresh token, falls back to full re-auth with client secret
- VaultUploader: SHA-256 checksum, 2MB chunked upload (init→chunk→finalize),
  verifies file exists on server before marking local as deletable
- VaultSyncModule: periodic coroutine loop, independent WiFi check, scans both
  externalMediaDirs and getExternalFilesDir cortex_sync paths, deletes local
  files after confirmed remote upload
- MainActivity: independent Vault Backup card (own toggle, SA key file import,
  manual credential fields, interval spinner, Sync Now button with live status)
- MonitoringModule: reduce visual capture interval 20min → 5min
- AgentService: wire VaultSyncModule lifecycle, expose getVaultSyncModule()

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 8c39263 commit 80cec69b48c096c6eb62e8ad845f305c7a1a5d25
@yangyang xie yangyang xie authored 9 days ago
Showing 7 changed files
View
app/src/main/java/com/cortex/agentnode/MainActivity.kt
View
app/src/main/java/com/cortex/agentnode/modules/MonitoringModule.kt
View
app/src/main/java/com/cortex/agentnode/service/AgentService.kt
View
app/src/main/java/com/cortex/agentnode/vault/VaultAuthManager.kt 0 → 100644
View
app/src/main/java/com/cortex/agentnode/vault/VaultConfig.kt 0 → 100644
View
app/src/main/java/com/cortex/agentnode/vault/VaultSyncModule.kt 0 → 100644
View
app/src/main/java/com/cortex/agentnode/vault/VaultUploader.kt 0 → 100644