Interface IAgentResponse

All Known Implementing Classes:
BlockType.Response, CancelNextEvents.Response, ClearCapturedEvents.Response, ClearServerErrors.Response, ClickMenuSlot.Response, CreatePlayer.Response, DragMenuSlots.Response, DropItem.Response, ExecuteCommand.Response, ExecutePlayerCommand.Response, GetCapturedEvents.Response, GetOpenMenu.Response, GetPlayerChatComponents.Response, GetPlayerInventory.Response, GetPlayerMessages.Response, GetServerErrors.Response, GetServerPlatform.Response, GetServerPlugins.Response, GetServerTick.Response, Handshake.Response, HasPlayerPermission.Response, IsChunkLoaded.Response, LeftClickBlock.Response, LoadChunk.Response, MainWorld.Response, MutatePlayerPermission.Response, NewWorld.Response, PlacePlayerBlock.Response, PlayerChat.Response, QueryEntities.Response, RegisterEventListener.Response, RemovePlayer.Response, RightClickBlock.Response, SetBlock.Response, TabCompletePlayer.Response, TeleportPlayer.Response, UnloadChunk.Response, UnregisterEventListener.Response, WaitTicks.Response

Sealed response hierarchy for the LightKeeper agent protocol.

Every protocol action has a corresponding typed response record implementing this interface. The dispatcher serializes a successful response by writing the domain record as JSON and injecting a "success": true field and the originating command's requestId. Error responses are written as {"requestId":"...","success":false,"errorCode":"...","errorMessage":"..."}.

Client side: read the response JsonNode, check success, then deserialize via objectMapper.treeToValue(root, command.responseType()).