export interface AnatomyLines { readonly blank: number; readonly code: number; readonly total: number; } export interface AnatomyStats { readonly bytes: number; readonly callable: number; readonly definitions: number; readonly edges: number; readonly exported: number; readonly files: number; readonly findings: Readonly>; readonly flows: Readonly>; readonly lines: AnatomyLines; } export interface AnatomyMetrics { readonly callable: number; readonly definitions: number; readonly edges: number; readonly exported: number; readonly findings: Readonly>; readonly flows: Readonly>; readonly maxInDegree: number; readonly maxOutDegree: number; readonly resolutionRate: number; readonly unresolvedCalls: number; } export interface AnatomySlots { readonly concern: string; readonly subject: string; readonly variant: string | null; } export interface DefinitionRef { readonly file: string; readonly id: string; readonly name: string; } export interface DefinitionView { readonly callable: boolean; readonly callees: readonly DefinitionRef[]; readonly callers: readonly DefinitionRef[]; readonly exported: boolean; readonly file: string; readonly flow: string; readonly id: string; readonly inDegree: number; readonly kind: string; readonly line: number; readonly name: string; readonly outDegree: number; } export interface WalkRef { readonly cells: string; readonly steps: number; readonly vector: string; } export interface TypeCount { readonly count: number; readonly type: string; } export interface DistributionView { readonly invariants: readonly TypeCount[]; readonly variants: readonly TypeCount[]; } export interface FindingView { readonly confidence: string; readonly detail: string; readonly file: string; readonly kind: string; readonly line: number; readonly name: string; readonly remedy: string; readonly severity: string; } export interface DocumentFinding { readonly category: string; readonly code: string; readonly col: number; readonly line: number; readonly text: string; } export interface DocumentView { readonly boundary: boolean; readonly concern: string | null; readonly constructs: number; readonly fields: readonly string[]; readonly findings: readonly DocumentFinding[]; readonly form: string | null; readonly headings: number; readonly mermaid: number; readonly paths: number; } export interface AnatomyFile { readonly definitions: readonly DefinitionView[]; readonly distribution: DistributionView; readonly document: DocumentView | null; readonly findings: readonly FindingView[]; readonly generated: boolean; readonly id: string; readonly inherited: boolean; readonly layer: string | null; readonly name: string; readonly path: string; readonly slots: AnatomySlots | null; readonly source: string | null; readonly stats: AnatomyStats; readonly walk: WalkRef | null; } export type FolderRole = "concern" | "container" | "member" | "subject"; export interface AnatomyFolder { readonly files: readonly AnatomyFile[]; readonly findings: readonly FindingView[]; readonly folders: readonly AnatomyFolder[]; readonly id: string; readonly layer: string | null; readonly name: string; readonly path: string; readonly role: FolderRole; readonly stats: AnatomyStats; readonly walk: WalkRef | null; } export interface ChartPart { readonly caption: string; readonly text: string; } export interface ChartView { readonly id: string; readonly legend: readonly string[]; readonly parts: readonly ChartPart[]; readonly title: string; } export interface ImportEdge { readonly count: number; readonly from: string; readonly to: string; } export interface WalkState { readonly state: string; readonly text: string; } export interface AnatomySnapshot { readonly charts: readonly ChartView[]; readonly findings: readonly FindingView[]; readonly imports: readonly ImportEdge[]; readonly metrics: AnatomyMetrics; readonly states: readonly WalkState[]; readonly tree: AnatomyFolder; readonly unresolvedCalls: readonly string[]; } export interface WalkCellView { readonly depth: number; readonly file: string; readonly label: string; readonly line: number | null; readonly name: string; readonly ref: string; readonly severity: string | null; readonly state: string; readonly text: string; } export interface LoadedWalk { readonly cells: readonly WalkCellView[]; readonly markup: string; } export interface DefinitionLocation { readonly file: string; readonly line: number; readonly name: string; } export interface WalkCellsPayload { readonly columns: readonly string[]; readonly rows: readonly (readonly (number | string | null)[])[]; }