Add soft-delete and key viewing for remote app
Remotes are now soft-deleted (revoked) instead of permanently removed,
appearing greyed out in the UI. Added endpoint to retrieve full key for
existing remotes, enabling users to view the observer command after
initial creation.
- Convert _delete_remote() to _revoke_remote() with revoked/revoked_at fields
- Add GET /api/<prefix>/key endpoint for full key retrieval
- Reject ingest requests from revoked remotes with 403
- Show revoked remotes greyed out in UI (no actions available)
- Add View Key button to active remotes
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>