/** * visus_session_report MCP Tool * * Returns the current session state including threat level, hits, chains, * and actionable recommendations. * * @module tools/session-report */ import type { SessionThreatLevel, ChainAlert } from '../session/session-store.js'; import type { ThreatSeverity } from '../security/threats.js'; import type { Result } from '../types.js'; /** * Input schema for visus_session_report */ export interface VisusSessionReportInput { /** Output format: 'summary' or 'detailed' */ format?: 'summary' | 'detailed'; } /** * Output schema for visus_session_report */ export interface VisusSessionReportOutput { /** UUID v4 session identifier */ session_id: string; /** ISO 8601 session start time */ started_at: string; /** Total tool calls in session */ total_calls: number; /** Current threat level */ threat_level: SessionThreatLevel; /** Total threat annotations across all calls */ total_hits: number; /** Count of annotations by severity */ hits_by_severity: Record; /** Count of annotations per IPI class */ hits_by_class: Record; /** Number of attack chains detected */ chains_detected: number; /** Detailed chain information */ chain_details: ChainAlert[]; /** Per-call timeline (only in detailed format) */ call_timeline?: Array<{ call_index: number; tool: string; source: string; threats: number; highest_severity: ThreatSeverity | 'NONE'; }>; /** Actionable recommendations based on session state */ recommendations: string[]; } /** * Execute the visus_session_report tool * * @param input - Tool input parameters * @returns Session report with threat analysis * * @example * ```typescript * const result = visusSessionReport({ format: 'detailed' }); * // { session_id: '...', threat_level: 'LOW', total_hits: 3, ... } * ``` */ export declare function visusSessionReport(input: VisusSessionReportInput): Result; /** * MCP tool definition for registration */ export declare const visusSessionReportToolDefinition: { name: string; title: string; description: string; inputSchema: { type: string; properties: { format: { type: string; enum: string[]; description: string; default: string; }; }; required: never[]; }; readOnlyHint: boolean; destructiveHint: boolean; idempotentHint: boolean; openWorldHint: boolean; }; //# sourceMappingURL=session-report.d.ts.map