syntax = "proto3"; message User { int32 id = 1; string email = 2; } message Error { string details = 1; } message SecretCreated { string name = 1; string value = 2; } message SecretUpdated { string name = 1; string value = 2; } message SessionRequest { string app_version = 1; } message SessionResponse { string id = 1; User user = 2; } message Request { int32 id = 1; oneof type { SessionRequest session = 2; } } message Response { int32 id = 1; oneof type { Error error = 2; SessionResponse session = 3; } } message Event { oneof type { SecretCreated secret_created = 100; SecretUpdated secret_updated = 101; } }