@multiplayer-app/session-recorder-browser
Version:
Multiplayer Fullstack Session Recorder for Browser
88 lines • 3.23 kB
TypeScript
import { ApiServiceConfig } from '../types';
import { type ISessionAttributes, type IResourceAttributes, type IUserAttributes } from '@multiplayer-app/session-recorder-common';
export interface StartSessionRequest {
name?: string;
stoppedAt?: string | number;
sessionAttributes?: ISessionAttributes;
resourceAttributes?: IResourceAttributes;
userAttributes?: IUserAttributes | null;
debugSessionData?: Record<string, any>;
tags?: {
key?: string;
value: string;
}[];
}
export interface StopSessionRequest {
sessionAttributes?: ISessionAttributes;
stoppedAt: string | number;
}
export interface CheckRemoteSessionRequest {
sessionAttributes?: ISessionAttributes;
resourceAttributes?: IResourceAttributes;
userAttributes?: IUserAttributes | null;
}
export declare class ApiService {
private config;
constructor();
/**
* Initialize the API service
* @param config - API service configuration
*/
init(config: ApiServiceConfig): void;
/**
* Update the API service configuration
* @param config - Partial configuration to update
*/
updateConfigs(config: Partial<ApiServiceConfig>): void;
/**
* Start a new debug session
* @param request - Session start request data
* @param signal - Optional AbortSignal for request cancellation
*/
startSession(request: StartSessionRequest, signal?: AbortSignal): Promise<any>;
/**
* Stop an active debug session
* @param sessionId - ID of the session to stop
* @param request - Session stop request data
*/
stopSession(sessionId: string, request: StopSessionRequest): Promise<any>;
/**
* Cancel an active debug session
* @param sessionId - ID of the session to cancel
*/
cancelSession(sessionId: string): Promise<any>;
/**
* Start a new debug session
* @param request - Session start request data
* @param signal - Optional AbortSignal for request cancellation
*/
startContinuousDebugSession(request: StartSessionRequest, signal?: AbortSignal): Promise<any>;
/**
* Save a continuous debug session
* @param sessionId - ID of the session to save
* @param request - Session save request data
* @param signal - Optional AbortSignal for request cancellation
*/
saveContinuousDebugSession(sessionId: string, request: StartSessionRequest, signal?: AbortSignal): Promise<any>;
/**
* Stop an active continuous debug session
* @param sessionId - ID of the session to stop
*/
stopContinuousDebugSession(sessionId: string): Promise<any>;
/**
* Check debug session should be started remotely
*/
checkRemoteSession(requestBody: CheckRemoteSessionRequest, signal?: AbortSignal): Promise<{
state: 'START' | 'STOP';
}>;
/**
* Make a request to the session debugger 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;
private handleRequestError;
}
//# sourceMappingURL=api.service.d.ts.map