74 lines · 2.5 KB · TypeScript
RawDownload
/** * Type definitions for CLAUDE.md injection tracking. * Tracks system context injections from various sources throughout the session. */ // =============================================================================// Source Types// ============================================================================= /** * Source types for CLAUDE.md injections. * - enterprise: Enterprise-level configuration * - user-memory: User's global memory settings (~/.claude/CLAUDE.md) * - project-memory: Project-level memory * - project-rules: Project rules configuration * - project-local: Local project CLAUDE.md (checked into codebase) * - directory: Directory-specific CLAUDE.md files */export type ClaudeMdSource =  | 'enterprise'  | 'user-memory'  | 'user-rules'  | 'auto-memory'  | 'project-memory'  | 'project-rules'  | 'project-local'  | 'directory'; // =============================================================================// Injection Types// ============================================================================= /** * Represents a single CLAUDE.md injection detected in the session. */export interface ClaudeMdInjection {  /** Unique identifier for this injection */  id: string;  /** File path of the CLAUDE.md source */  path: string;  /** Source type categorization */  source: ClaudeMdSource;  /** Human-readable display name */  displayName: string;  /** Whether this is a global (user-level) injection */  isGlobal: boolean;  /** Estimated token count (chars / 4) */  estimatedTokens: number;  /** ID of the AI group where this injection was first seen */  firstSeenInGroup: string;} // =============================================================================// Statistics Types// ============================================================================= /** * Statistics about CLAUDE.md injections for an AI group. * Tracks both new injections in the current group and accumulated totals. */export interface ClaudeMdStats {  /** Injections that are new in THIS group */  newInjections: ClaudeMdInjection[];  /** All injections accumulated up to and including this group */  accumulatedInjections: ClaudeMdInjection[];  /** Total estimated tokens from all accumulated injections */  totalEstimatedTokens: number;  /** Percentage of context window used (vs input tokens) */  percentageOfContext: number;  /** Count of new injections in this group */  newCount: number;  /** Total count of accumulated injections */  accumulatedCount: number;}