UNPKG

@multiplayer-app/session-recorder-node

Version:
93 lines 3.2 kB
import { ISession } from '../types'; export interface ApiServiceConfig { apiKey?: string; apiBaseUrl?: string; continuousRecording?: boolean; } export interface StartSessionRequest { name?: string; resourceAttributes?: Record<string, any>; sessionAttributes?: Record<string, any>; tags?: { key?: string; value: string; }[]; } export interface StopSessionRequest { sessionAttributes?: { email?: string; comment?: string; }; } export declare class ApiService { private config; constructor(); /** * Initialize the API service * @param config - API service configuration * @param config.apiKey - API key for authentication * @param config.apiBaseUrl - Base URL for API endpoints (preferred) * @param config.continuousRecording - Whether continuous recording is enabled */ init(config: ApiServiceConfig): void; /** * Update the API service configuration * @param config - Partial configuration to update */ updateConfigs(config: Partial<ApiServiceConfig>): void; /** * Get the current API base URL * @returns The current API base URL */ getApiBaseUrl(): string; /** * Start a new debug session * @param requestBody - Session start request data * @param signal - Optional AbortSignal for request cancellation */ startSession(requestBody: StartSessionRequest, signal?: AbortSignal): Promise<ISession>; /** * Stop an active debug session * @param sessionId - ID of the session to stop * @param requestBody - Session stop request data */ stopSession(sessionId: string, requestBody: StopSessionRequest): Promise<any>; /** * Cancel an active session * @param sessionId - ID of the session to cancel */ cancelSession(sessionId: string): Promise<any>; /** * Start a new session * @param requestBody - Session start request data * @param signal - Optional AbortSignal for request cancellation */ startContinuousSession(requestBody: StartSessionRequest, signal?: AbortSignal): Promise<any>; /** * Save a continuous session * @param sessionId - ID of the session to save * @param requestBody - Session save request data * @param signal - Optional AbortSignal for request cancellation */ saveContinuousSession(sessionId: string, requestBody: StartSessionRequest, signal?: AbortSignal): Promise<any>; /** * Cancel an active debug session * @param sessionId - ID of the session to cancel */ stopContinuousSession(sessionId: string): Promise<any>; /** * Check debug session should be started remotely */ checkRemoteSession(requestBody: StartSessionRequest, signal?: AbortSignal): Promise<{ state: 'START' | 'STOP'; }>; /** * Make a request to the session API * @param path - API endpoint path (relative to the base URL) * @param method - HTTP method (GET, POST, PATCH, etc.) * @param body - request payload * @param signal - AbortSignal to set request's signal */ private makeRequest; } //# sourceMappingURL=api.service.d.ts.map