/** * Visualization-specific types for claude-devtools. * * These types are used for waterfall chart visualization * and are shared between main and renderer processes. */ import type { TokenUsage } from '@main/types'; // =============================================================================// Waterfall Chart Types// ============================================================================= /** * Waterfall item for visualization. */export interface WaterfallItem { /** Unique item identifier */ id: string; /** Display label */ label: string; /** Item start time */ startTime: Date; /** Item end time */ endTime: Date; /** Duration in milliseconds */ durationMs: number; /** Token usage for this item */ tokenUsage: TokenUsage; /** Hierarchy depth (0 = main session) */ level: number; /** Item type */ type: 'chunk' | 'subagent' | 'tool'; /** Whether executed in parallel */ isParallel: boolean; /** Parent item ID */ parentId?: string; /** Group ID for parallel items */ groupId?: string; /** Additional metadata for display */ metadata?: { subagentType?: string; toolName?: string; messageCount?: number; };} /** * Complete waterfall chart data. */export interface WaterfallData { /** All waterfall items */ items: WaterfallItem[]; /** Earliest timestamp in the session */ minTime: Date; /** Latest timestamp in the session */ maxTime: Date; /** Total session duration in milliseconds */ totalDurationMs: number;}
/**
* Visualization-specific types for claude-devtools.
*
* These types are used for waterfall chart visualization
* and are shared between main and renderer processes.
*/
import type { TokenUsage } from '@main/types';
// =============================================================================
// Waterfall Chart Types
// =============================================================================
/**
* Waterfall item for visualization.
*/
export interface WaterfallItem {
/** Unique item identifier */
id: string;
/** Display label */
label: string;
/** Item start time */
startTime: Date;
/** Item end time */
endTime: Date;
/** Duration in milliseconds */
durationMs: number;
/** Token usage for this item */
tokenUsage: TokenUsage;
/** Hierarchy depth (0 = main session) */
level: number;
/** Item type */
type: 'chunk' | 'subagent' | 'tool';
/** Whether executed in parallel */
isParallel: boolean;
/** Parent item ID */
parentId?: string;
/** Group ID for parallel items */
groupId?: string;
/** Additional metadata for display */
metadata?: {
subagentType?: string;
toolName?: string;
messageCount?: number;
};
}
/**
* Complete waterfall chart data.
*/
export interface WaterfallData {
/** All waterfall items */
items: WaterfallItem[];
/** Earliest timestamp in the session */
minTime: Date;
/** Latest timestamp in the session */
maxTime: Date;
/** Total session duration in milliseconds */
totalDurationMs: number;
}