Get desktop application:
View/edit binary Protocol Buffers messages
Admin-only analysis service
GetAdminStats returns overview statistics for the analysis system
(message has no fields)
ListAnalyzedGames returns a paginated list of completed analysis jobs
RequeueAnalysis resets an analysis job back to pending for re-processing
ClaimJob atomically claims next available job
Request to claim next available job
Worker authenticates via X-Api-Key header (existing middleware)
Worker reports its version; rejected if too old
Response with job details or no_jobs flag
Job details (populated if no_jobs = false)
FailJob reports a job as permanently failed due to unrecoverable data corruption
Request to report a job as permanently failed (e.g. corrupted game data)
Heartbeat keeps job from being reclaimed due to timeout
Heartbeat to keep job alive
Optional progress info
false if job was reclaimed
SubmitResult submits completed analysis
Submit completed analysis
Deprecated: raw protojson bytes; use result field instead
Typed result (v2+)
Populated if accepted = false
Populated if rejected due to version mismatch
User-facing analysis service
GetAnalysisResult gets the completed analysis result
Get analysis result
Deprecated: raw bytes for backward compat
Typed result
GetAnalysisStatus gets status of an analysis job
Get status of an analysis
Position in queue (0 if not pending)
If failed
0 = legacy (v1), 2 = enriched; only set when COMPLETED
GetGamesAnalysisStatus returns which of the given game IDs have completed analysis
RequestAnalysis requests analysis for a completed game
Request analysis for a game
Re-analyze even if completed (only allowed for legacy v0 results)
Human-readable message
If successful or already requested:
Analysis job ID
Position in queue (0 if processing/completed)
Analysis configuration
Used in:
Used in:
Unix milliseconds
Unix milliseconds
Unix milliseconds
Used in:
No analysis job exists
Waiting in queue
Currently being analyzed
Analysis complete
Analysis failed
Used in:
Status of the request
Used in:
Analysis queued successfully
Analysis already requested/exists for this game
Game hasn't ended yet
Requester is not a player in this game
User has exceeded daily limit
Game variant not supported