We should track which client applications are being used to interface with aibridge.
Claude Code, for example, helpfully sets a custom UA: claude-cli/2.0.1 (external, cli).
Cursor, last time I checked, just left it as axios; we may need to use other methods/heuristics to identify this client.
We'll need to enhance the recording API to pass this information along on the InterceptionRecord.