@multiplayer-app/session-recorder-node
Version:
Multiplayer Fullstack Session Recorder for Node.js
85 lines • 2.88 kB
TypeScript
import { ISession } from '../types';
export interface ApiServiceConfig {
apiKey?: string;
exporterApiBaseUrl?: string;
continuousDebugging?: 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
*/
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 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