http = $http; } /** @return array> */ public function list(): array { return $this->http->request('GET', '/api/sessions') ?? []; } /** @return array */ public function get(string $id): array { return $this->http->request('GET', "/api/sessions/{$this->http->encodeSegment($id)}"); } /** * @param array $body * @return array */ public function create(array $body): array { return $this->http->request('POST', '/api/sessions', [], $body); } public function delete(string $id): void { $this->http->request('DELETE', "/api/sessions/{$this->http->encodeSegment($id)}"); } /** @return array */ public function start(string $id): array { return $this->http->request('POST', "/api/sessions/{$this->http->encodeSegment($id)}/start"); } /** @return array */ public function stop(string $id): array { return $this->http->request('POST', "/api/sessions/{$this->http->encodeSegment($id)}/stop"); } /** @return array */ public function forceKill(string $id): array { return $this->http->request('POST', "/api/sessions/{$this->http->encodeSegment($id)}/force-kill"); } /** @return array */ public function getQrCode(string $id): array { return $this->http->request('GET', "/api/sessions/{$this->http->encodeSegment($id)}/qr"); } /** * @param array $body * @return array */ public function requestPairingCode(string $id, array $body): array { return $this->http->request('POST', "/api/sessions/{$this->http->encodeSegment($id)}/pairing-code", [], $body); } /** @return array */ public function stats(): array { return $this->http->request('GET', '/api/sessions/stats/overview'); } }