/** * Session management service for NeuBird API * Handles session creation, prompt sending, polling, and inspection */ import { HttpClient } from '../utils/http-client.js'; import { AuthenticationService } from './auth.service.js'; import { Session, InspectSessionResponse, SendPromptResponse } from '../types/neubird.js'; /** * Session management service */ export declare class SessionService { private httpClient; private authService; private config; constructor(httpClient: HttpClient, authService: AuthenticationService); /** * Create a new investigation session */ createSession(projectUuid: string, organizationUuid: string, gendbUuid?: string): Promise; /** * Send a prompt to an existing session */ sendPrompt(sessionUuid: string, projectUuid: string, prompt: string, disableReplay?: boolean): Promise; /** * Inspect a session to get its details and results */ inspectSession(sessionUuid: string, projectUuid: string, organizationUuid: string): Promise; /** * List sessions with pagination and date filtering */ listSessionsWithPagination(projectUuid: string, organizationUuid: string, options?: { page?: number; limit?: number; dateFrom?: string; dateTo?: string; investigationStatus?: string; sessionType?: string; hideGroupedIncidents?: boolean; searchTerm?: string; }): Promise; /** * Find sessions by alert ID */ findSessionsByAlertId(alertId: string, projectUuid: string, organizationUuid: string): Promise; /** * Poll for session completion */ pollForCompletion(sessionUuid: string, projectUuid: string, organizationUuid: string, maxAttempts?: number, intervalMs?: number): Promise; /** * Get session report with summary and time-saved metrics */ getSessionReport(sessionUuids: string[], projectUuid: string): Promise; /** * Get session summary with quality scores, formatted analysis, and corrective actions */ getSessionSummary(sessionUuid: string, projectUuid: string): Promise; /** * Get incident report with organization-wide analytics */ getIncidentReport(): Promise; /** * Get basic session metadata (project UUID, incident info) without full inspection * This is a lighter-weight call useful for operations that need basic session context */ getSessionMetadata(sessionUuid: string): Promise; /** * Check if a session is complete based on its state */ private isSessionComplete; }