feat: runtime manager

This commit is contained in:
Ilia Denisov
2026-04-28 20:39:18 +02:00
committed by GitHub
parent e0a99b346b
commit a7cee15115
289 changed files with 45660 additions and 2207 deletions
+58
View File
@@ -0,0 +1,58 @@
// lobby contains FlatBuffers payloads used by the authenticated gateway
// boundary for Game Lobby. The wire shapes here mirror the trusted
// internal lobby REST surface; gateway derives the calling `user_id`
// from the verified session and forwards it as `X-User-Id` to lobby.
namespace lobby;
// GameSummary stores one game record returned by `lobby.my.games.list`.
// The shape matches `lobby/openapi.yaml` `MyGameSummary`.
table GameSummary {
game_id:string;
game_name:string;
game_type:string;
status:string;
owner_user_id:string;
min_players:int32;
max_players:int32;
enrollment_ends_at_ms:int64;
created_at_ms:int64;
updated_at_ms:int64;
}
// MyGamesListRequest stores the authenticated read request for the
// caller's games. Empty body — gateway derives identity from the
// authenticated session.
table MyGamesListRequest {
}
// MyGamesListResponse stores the list of games the caller participates
// in.
table MyGamesListResponse {
items:[GameSummary];
}
// OpenEnrollmentRequest stores the owner-only command that transitions
// a game from `draft` to `enrollment_open`.
table OpenEnrollmentRequest {
game_id:string;
}
// OpenEnrollmentResponse stores the resulting game status.
table OpenEnrollmentResponse {
game_id:string;
status:string;
}
// ErrorBody stores the canonical lobby error envelope code/message
// pair.
table ErrorBody {
code:string;
message:string;
}
// ErrorResponse wraps ErrorBody for the FlatBuffers payload boundary.
table ErrorResponse {
error:ErrorBody;
}
root_type MyGamesListResponse;