import { formatSemanticIndexStatus, type SemanticIndexStatusKind, semanticIndexStatusKind } from "@cortexkit/aft-bridge"; /** * The semantic-index status formatter lives in @cortexkit/aft-bridge because * both plugin hosts render it and two copies is how the same defect once * shipped twice: this file used to hold its own version, which still rendered a * dead index as a rebuild long after the other host was fixed. Re-exported here * so this module stays the one status import for the rest of the plugin. */ export { formatSemanticIndexStatus, type SemanticIndexStatusKind, semanticIndexStatusKind }; export interface StatusCompressionAggregate { events: number; original_tokens: number; compressed_tokens: number; savings_tokens: number; } export interface StatusCompression { project: StatusCompressionAggregate; session: StatusCompressionAggregate; } /** * Human health categories from the status snapshot. Each category is optional: * a missing value was not proven, so renderers must omit it instead of treating * absence as a clean zero. */ export interface StatusBar { errors?: number; warnings?: number; dead_code?: number; unused_exports?: number; duplicates?: number; todos?: number; tier2_stale?: boolean; } export interface AftStatusSnapshot { version: string; project_root: string | null; canonical_root: string | null; cache_role: string; degraded: boolean; degraded_reasons: string[]; features: { format_on_edit: boolean; validate_on_edit: string; restrict_to_project_root: boolean; search_index: boolean; semantic_search: boolean; callgraph_store: boolean; }; search_index: { status: string; files: number | null; trigrams: number | null; }; semantic_index: { status: string; backend?: string | null; model?: string | null; stage?: string | null; files?: number | null; entries_done?: number | null; entries_total?: number | null; refreshing_count: number; entries: number | null; dimension: number | null; error?: string | null; }; disk: { storage_dir: string | null; trigram_disk_bytes: number; semantic_disk_bytes: number; }; lsp_servers: number; runtime: { live_watchers: number; live_actor_roots: number; open_routes: number; }; symbol_cache: { local_entries: number; warm_entries: number; }; storage_dir: string | null; /** Total checkpoints across all sessions sharing this bridge. */ checkpoints_total: number; /** Current session's own slice of undo/checkpoint state. */ session: { id: string; tracked_files: number; checkpoints: number; }; /** Compression aggregate passthrough; rendering is added separately. */ compression?: StatusCompression; /** Human health counts. Each unproven category stays absent rather than zero. */ status_bar?: StatusBar; /** * Set on synthetic "not_initialized" snapshots when no bridge has spawned * yet. Renderers display this in place of empty status rows. */ message?: string; } /** Neutral label for cache_role. Worktree/read_only borrow the shared repo index; they are not a failure. */ export declare function formatCacheRoleLabel(role: string): string; export declare function formatSemanticRefreshing(refreshingCount: number): string | null; export declare function formatBytes(bytes: number): string; export declare function coerceAftStatus(response: Record): AftStatusSnapshot; export declare function formatStatusDialogMessage(status: AftStatusSnapshot): string; export declare function formatStatusMarkdown(status: AftStatusSnapshot): string; //# sourceMappingURL=status.d.ts.map