@titan-design/code-graph 0.6.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +48 -6
- package/dist/index.d.ts +43 -12
- package/dist/index.js +986 -83
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@ const { snapshotId, files, nodes, edges, reused } = await indexPaths(store, {
|
|
|
18
18
|
ref: "head",
|
|
19
19
|
});
|
|
20
20
|
listNodes(store, snapshotId); // file / module / external nodes, symbols on request
|
|
21
|
-
listEdges(store, snapshotId); // imports / re-exports, references on request
|
|
21
|
+
listEdges(store, snapshotId); // imports / re-exports, references and calls on request
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
## What was extracted, and what was not
|
|
@@ -28,7 +28,8 @@ In: the parser (tree-sitter WASM for TypeScript, TSX and Python, since moved to
|
|
|
28
28
|
extractor and its symbol layer, role classification, generated-file detection, id aliasing
|
|
29
29
|
across git renames, the three-tier incremental reuse, and the metrics computed at index time
|
|
30
30
|
(degree, utilization, loc, cyclomatic, cognitive, nesting, class count, lcom4, and per
|
|
31
|
-
symbol `symbol_cognitive`, `symbol_cyclomatic`, `symbol_loc
|
|
31
|
+
symbol `symbol_cognitive`, `symbol_cyclomatic`, `symbol_loc`, `symbol_max_nesting`, and the
|
|
32
|
+
comment and shape metrics below). `lcom.ts` came along despite being an analysis: `source-metrics.ts` calls it
|
|
32
33
|
directly and lcom4 is a pure function of a file's bytes, so it belongs with the metrics that
|
|
33
34
|
carry forward under reuse.
|
|
34
35
|
|
|
@@ -165,7 +166,7 @@ wrong time model for a population re-indexed all at once), `metric`, `id_alias`,
|
|
|
165
166
|
`file_fingerprint`.
|
|
166
167
|
|
|
167
168
|
The symbol layer is hidden by default. `listNodes` drops `symbol` nodes and `listEdges` drops
|
|
168
|
-
`references` edges unless you ask for them, so a caller reasoning about module structure sees
|
|
169
|
+
`references` and `calls` edges unless you ask for them (`includeReferences` covers both), so a caller reasoning about module structure sees
|
|
169
170
|
the graph it expects and does not have one import of thirty names read as thirty
|
|
170
171
|
dependencies.
|
|
171
172
|
|
|
@@ -222,9 +223,17 @@ the file is unreadable.
|
|
|
222
223
|
|
|
223
224
|
## Checks and diffs
|
|
224
225
|
|
|
225
|
-
The rules engine turns a snapshot into pass/fail against a `check.json`.
|
|
226
|
-
`metric-max`, `metric-min`, `metric-product-max`, `
|
|
227
|
-
`no-internal-only-barrels`. Severity defaults to `error`; only new errors
|
|
226
|
+
The rules engine turns a snapshot into pass/fail against a `check.json`. Seven rule types:
|
|
227
|
+
`metric-max`, `metric-min`, `metric-product-max`, `metric-outlier`, `forbid-import`,
|
|
228
|
+
`layered-deps`, and `no-internal-only-barrels`. Severity defaults to `error`; only new errors
|
|
229
|
+
fail a check.
|
|
230
|
+
|
|
231
|
+
`metric-outlier` takes its threshold from the snapshot instead of the rule:
|
|
232
|
+
`{ "type": "metric-outlier", "id": "long-fn", "metric": "symbol_body_lines", "kind": "symbol", "percentile": 95 }`
|
|
233
|
+
flags every symbol strictly above the 95th percentile of `symbol_body_lines` over all symbols
|
|
234
|
+
that carry it, interpolated linearly between ranks. `percentile` runs from 50 to 100. The rule
|
|
235
|
+
stays silent until `minSample` nodes (default 20) carry the metric. Each violation's
|
|
236
|
+
`threshold` is the computed percentile value.
|
|
228
237
|
|
|
229
238
|
```ts
|
|
230
239
|
import { checkSnapshot, loadCheckRules, openCodeGraph } from "@titan-design/code-graph";
|
|
@@ -317,6 +326,39 @@ above zero.
|
|
|
317
326
|
not complexity bounds. Recursion and search match TypeScript call nodes only, so Python
|
|
318
327
|
files get `loop_depth` alone, as in codewatch.
|
|
319
328
|
|
|
329
|
+
Comment, shape, and exception-handling metrics (TP-322) are also source-local, TypeScript and
|
|
330
|
+
Python, and are written on every function or file, zeros included:
|
|
331
|
+
|
|
332
|
+
- Per symbol: `symbol_comment_lines` (rows holding a comment inside the function, docstring
|
|
333
|
+
excluded), `symbol_docstring_lines` (the Python docstring, or a JSDoc block ending on the row
|
|
334
|
+
above the declaration), `symbol_body_lines` (rows holding code), `symbol_comment_ratio`
|
|
335
|
+
(comment lines over `max(body lines, 1)`), `symbol_narrating_comments` (comments whose words
|
|
336
|
+
share at least 2 tokens, or half their tokens, with the identifiers of the statement they sit
|
|
337
|
+
above or trail), and `symbol_pass_through` (1 when the body is one call that forwards every
|
|
338
|
+
parameter, in order, as a bare argument, skipping a `self` or `cls` receiver; a function
|
|
339
|
+
with no parameters is never one).
|
|
340
|
+
- Per file: `except_count` (Python `except` and TypeScript `catch` clauses), `except_density`
|
|
341
|
+
(per 100 non-blank lines), and `swallowed_except` (handlers whose body is empty, `pass`,
|
|
342
|
+
`...`, `continue`, a bare or `None`/`null`/`undefined` return, or one call to a logger,
|
|
343
|
+
`print`, `warn` or `console`).
|
|
344
|
+
|
|
345
|
+
Call-graph metrics (TP-323) come from `calls` edges, one per caller and callee symbol, each
|
|
346
|
+
carrying the literal arguments of every call site in `attrs.sites`. TypeScript resolves a
|
|
347
|
+
call or `new` through the type checker to one in-repo declaration. Python resolves only a
|
|
348
|
+
bare name declared at module level in the same file, a bare name bound by `from <in-repo
|
|
349
|
+
module> import`, and `self.<name>()` to a method of the enclosing class or a base class
|
|
350
|
+
declared in the same file. Anything else is dropped, never guessed, and an edge whose target
|
|
351
|
+
has no symbol node is pruned. The caller is the enclosing function, method or class, or the
|
|
352
|
+
file for a module-level call. Each function, method and class gets `symbol_caller_count`
|
|
353
|
+
(distinct callers, recursion excluded) and `symbol_single_caller_helper` (1 when a
|
|
354
|
+
non-exported, non-dunder symbol has exactly one caller and it is a symbol). A callable with 2
|
|
355
|
+
or more resolved call sites also gets `symbol_constant_params`: parameters every site passes
|
|
356
|
+
the same literal, or none passes. Callers found only through unresolved calls are missing, so
|
|
357
|
+
a private method that tests call on an instance can read as a single-caller helper. These
|
|
358
|
+
metrics need edges from every file, so they are recomputed on each index. Under reuse, an
|
|
359
|
+
unchanged caller's edge to a callee that moved behind a re-export stays pruned until the
|
|
360
|
+
caller changes, as `references` edges do.
|
|
361
|
+
|
|
320
362
|
PageRank, relevance, and symbol coupling run at query time over one snapshot:
|
|
321
363
|
|
|
322
364
|
```ts
|
package/dist/index.d.ts
CHANGED
|
@@ -121,7 +121,7 @@ declare class CodeGraphStore {
|
|
|
121
121
|
listNodes(snapshotId: number, opts?: {
|
|
122
122
|
includeSymbols?: boolean;
|
|
123
123
|
}): GraphNode[];
|
|
124
|
-
/** See {@link listNodes}: `references` edges are the symbol layer, excluded by default. */
|
|
124
|
+
/** See {@link listNodes}: `references` and `calls` edges are the symbol layer, excluded by default. */
|
|
125
125
|
listEdges(snapshotId: number, opts?: {
|
|
126
126
|
includeReferences?: boolean;
|
|
127
127
|
}): GraphEdge[];
|
|
@@ -137,7 +137,7 @@ declare class CodeGraphStore {
|
|
|
137
137
|
limit?: number;
|
|
138
138
|
kind?: string;
|
|
139
139
|
}): TopMetricRow[];
|
|
140
|
-
/** Edges into or out of one node;
|
|
140
|
+
/** Edges into or out of one node; symbol-layer edges are excluded unless asked, as in {@link listEdges}. */
|
|
141
141
|
listEdgesTouching(snapshotId: number, nodeId: string, opts?: {
|
|
142
142
|
includeReferences?: boolean;
|
|
143
143
|
}): GraphEdge[];
|
|
@@ -205,7 +205,7 @@ declare function runPrune(store: CodeGraphStore, options?: PruneOptions & {
|
|
|
205
205
|
* index version is never reused, so a change to node/edge shape or to a metric's
|
|
206
206
|
* value for the same bytes can never be carried forward from an incompatible graph.
|
|
207
207
|
*/
|
|
208
|
-
declare const INDEX_VERSION = "0.
|
|
208
|
+
declare const INDEX_VERSION = "0.18.0";
|
|
209
209
|
interface IndexOptions {
|
|
210
210
|
/** Roots to walk. Node ids are still rooted at the git toplevel, so importers across roots share an id space. */
|
|
211
211
|
paths: string[];
|
|
@@ -448,7 +448,7 @@ declare function readSourceFiles(filePaths: readonly string[]): Promise<ReadFile
|
|
|
448
448
|
* Everything from a prior snapshot needed to rebuild an unchanged file's
|
|
449
449
|
* contribution to the graph without re-parsing it: its content fingerprint,
|
|
450
450
|
* the node table (to look up external-node names), outbound edges grouped by
|
|
451
|
-
* source, and the source-content metrics (loc, complexity, lcom4, ...).
|
|
451
|
+
* source file (a symbol's `calls` edges under the file declaring it), and the source-content metrics (loc, complexity, lcom4, ...).
|
|
452
452
|
*/
|
|
453
453
|
interface ReuseBasis {
|
|
454
454
|
snapshotId: number;
|
|
@@ -494,10 +494,11 @@ declare function edgeWeight(e: GraphEdge): number;
|
|
|
494
494
|
/**
|
|
495
495
|
* Drop `references` edges (C-53) whose target `symbol` node doesn't exist — an
|
|
496
496
|
* aliased re-export chain, or a barrel that changed under a reused file, can
|
|
497
|
-
* resolve a name to an origin that doesn't declare it.
|
|
498
|
-
*
|
|
499
|
-
*
|
|
500
|
-
*
|
|
497
|
+
* resolve a name to an origin that doesn't declare it. `calls` edges (TP-323)
|
|
498
|
+
* are dropped the same way, which is how a callee name that maps to no symbol
|
|
499
|
+
* node is discarded rather than guessed. Only these two can dangle
|
|
500
|
+
* (imports/re-exports resolve to always-emitted file/external nodes). Mutates
|
|
501
|
+
* `edges` in place.
|
|
501
502
|
*/
|
|
502
503
|
declare function pruneDanglingReferences(nodes: ReadonlyMap<string, GraphNode>, edges: Map<string, GraphEdge>): void;
|
|
503
504
|
/**
|
|
@@ -678,6 +679,16 @@ declare const SOURCE_METRIC_NAMES: ReadonlySet<string>;
|
|
|
678
679
|
*/
|
|
679
680
|
declare function computeSourceMetrics(files: readonly ParsedFile[], fileIdOf: (filePath: string) => string, symbolNamesByFile?: ReadonlyMap<string, ReadonlySet<string>>): GraphMetric[];
|
|
680
681
|
|
|
682
|
+
declare const SYMBOL_METRIC_NAMES: readonly string[];
|
|
683
|
+
|
|
684
|
+
/**
|
|
685
|
+
* Exception-handling metrics (TP-322), pure functions of one file's bytes. A
|
|
686
|
+
* handler is swallowed when all it does is nothing, skip, bail out empty, or
|
|
687
|
+
* log: the error stops here and no caller learns of it. Written on every file,
|
|
688
|
+
* zeros included, so percentiles over a snapshot see the clean files too.
|
|
689
|
+
*/
|
|
690
|
+
declare const EXCEPTION_METRIC_NAMES: readonly string[];
|
|
691
|
+
|
|
681
692
|
/** How a test↔source pairing was inferred. */
|
|
682
693
|
type LinkMethod = "path" | "coedit";
|
|
683
694
|
interface TestSourceLink {
|
|
@@ -1102,7 +1113,7 @@ declare function aggregateMetrics(store: CodeGraphStore, snapshotId: number, opt
|
|
|
1102
1113
|
}): MetricAggregate[];
|
|
1103
1114
|
|
|
1104
1115
|
/** The `unit` a metric row is stored with; every row of one metric name carries the same unit. */
|
|
1105
|
-
type MetricUnit = "count" | "lines" | "ratio" | "days" | "percent";
|
|
1116
|
+
type MetricUnit = "count" | "lines" | "ratio" | "days" | "percent" | "per100loc";
|
|
1106
1117
|
/** How file values combine into a directory; `none` means no rollup reproduces the group's true value. */
|
|
1107
1118
|
type MetricRollup = "sum" | "max" | "mean" | "none";
|
|
1108
1119
|
/** Which way is worse, for ranking and colouring; `neutral` makes no value judgement. */
|
|
@@ -1110,7 +1121,7 @@ type MetricDirection = "higher-worse" | "lower-worse" | "neutral";
|
|
|
1110
1121
|
/** A missing row reads as zero (a sparse writer's floor) or is left out of means, percentiles, and ranks. */
|
|
1111
1122
|
type MetricAbsence = "zero" | "exclude";
|
|
1112
1123
|
/** The code-graph module that writes the metric, for provenance. */
|
|
1113
|
-
type MetricSource = "degree" | "source-metrics" | "lcom" | "dead-code" | "growth-risk" | "history" | "test-linker" | "coverage";
|
|
1124
|
+
type MetricSource = "degree" | "source-metrics" | "lcom" | "call-graph" | "exception-handling" | "dead-code" | "growth-risk" | "history" | "test-linker" | "coverage";
|
|
1114
1125
|
interface MetricDescriptor {
|
|
1115
1126
|
/** The stored name, or a template such as `churn_{w}` when {@link windowed} is set. */
|
|
1116
1127
|
name: string;
|
|
@@ -1170,6 +1181,22 @@ interface MetricProductMaxRule {
|
|
|
1170
1181
|
exclude?: string[];
|
|
1171
1182
|
excludeRoles?: NodeRole[];
|
|
1172
1183
|
}
|
|
1184
|
+
/** Flags nodes whose value sits strictly above the given percentile of the metric over every node of the kind. */
|
|
1185
|
+
interface MetricOutlierRule {
|
|
1186
|
+
type: "metric-outlier";
|
|
1187
|
+
id: string;
|
|
1188
|
+
metric: string;
|
|
1189
|
+
kind: NodeKind;
|
|
1190
|
+
/** 50 to 100; the threshold interpolates linearly between the two nearest ranked values. */
|
|
1191
|
+
percentile: number;
|
|
1192
|
+
/** Fewest nodes that must carry the metric before any is judged; defaults to 20. */
|
|
1193
|
+
minSample?: number;
|
|
1194
|
+
/** A node is flagged only if its value also exceeds this absolute floor, guarding sparse metrics whose percentile sits at or near zero. */
|
|
1195
|
+
floor?: number;
|
|
1196
|
+
/** When true, rank and gate on the pool of carriers with a non-zero value only; zero-valued nodes are never flagged. */
|
|
1197
|
+
rankNonZero?: boolean;
|
|
1198
|
+
severity?: Severity;
|
|
1199
|
+
}
|
|
1173
1200
|
interface ForbidImportRule {
|
|
1174
1201
|
type: "forbid-import";
|
|
1175
1202
|
id: string;
|
|
@@ -1192,7 +1219,7 @@ interface NoInternalOnlyBarrelsRule {
|
|
|
1192
1219
|
/** Globs or substrings to skip, such as CLI bin entries the role classifier calls barrels. */
|
|
1193
1220
|
exclude?: string[];
|
|
1194
1221
|
}
|
|
1195
|
-
type CheckRule = MetricMaxRule | MetricMinRule | MetricProductMaxRule | ForbidImportRule | LayeredDepsRule | NoInternalOnlyBarrelsRule;
|
|
1222
|
+
type CheckRule = MetricMaxRule | MetricMinRule | MetricProductMaxRule | MetricOutlierRule | ForbidImportRule | LayeredDepsRule | NoInternalOnlyBarrelsRule;
|
|
1196
1223
|
interface CheckRulesFile {
|
|
1197
1224
|
rules: CheckRule[];
|
|
1198
1225
|
}
|
|
@@ -1283,6 +1310,10 @@ interface ValidateRulesOptions {
|
|
|
1283
1310
|
}
|
|
1284
1311
|
declare function validateRules(input: unknown, options?: ValidateRulesOptions): readonly CheckRule[];
|
|
1285
1312
|
|
|
1313
|
+
declare const DEFAULT_OUTLIER_MIN_SAMPLE = 20;
|
|
1314
|
+
/** Linear interpolation between closest ranks, the definition numpy and spreadsheets use by default. */
|
|
1315
|
+
declare function percentileOf(values: readonly number[], percentile: number): number;
|
|
1316
|
+
|
|
1286
1317
|
/** A snapshot id, or a ref name resolved to that ref's newest snapshot. */
|
|
1287
1318
|
type SnapshotSpec = number | string;
|
|
1288
1319
|
interface CheckSnapshotOptions {
|
|
@@ -1588,4 +1619,4 @@ declare function getConventionMap(store: CodeGraphStore, snapshotId: number, mod
|
|
|
1588
1619
|
*/
|
|
1589
1620
|
declare function findConventions(store: CodeGraphStore, snapshotId: number, query: string, embedder: Embedder, model: string, opts?: FindConventionsOptions): Promise<ConventionQueryResult>;
|
|
1590
1621
|
|
|
1591
|
-
export { ALIAS_BASE_ATTR, ALL_ROLES, type AliasChain, type AliasChainInput, type AliasChainOptions, type AliasLoader, type AliasResolution, COMMUNITY_SUMMARY_NAMESPACE, COVERAGE_METRIC_NAME, type CachedEmbedResult, type CheckDiff, type CheckResult, type CheckRule, type CheckRulesFile, type CheckSnapshotOptions, type CheckSnapshotResult, type CheckViolation, CodeGraphStore, type ConventionArea, type ConventionCorpus, type ConventionCoverage, type ConventionMap, type ConventionMatch, type ConventionOptions, type ConventionQueryResult, type ConventionSymbol, DEAD_CODE_METRIC_NAMES, DEFAULT_CHURN_WINDOWS, DOMAIN_DDL, type DeepAst, type DeepAstInput, type DiffCheckResultsOptions, type DiffSnapshotsOptions, type EdgeKind, type EmbedAttempt, type EmbedCoverage, type EmbedSnapshotResult, type EmbeddableSymbol, type ExternalDiagnostic, type FileFingerprint, type FindConventionsOptions, type FindSimilarOptions, type Finding, type ForbidImportRule, GROWTH_RISK_METRIC_NAMES, type GraphDiff, type GraphDiffSummary, type GraphEdge, type GraphFragment, type GraphMetric, type GraphNode, type HistoryMetricsOptions, INDEX_VERSION, type IdAlias, type IdAliasReason, type IndexOptions, type IndexResult, type IstanbulCoverage, KIT, LanguageExtractor, type LanguageExtractorOptions, type LayeredDepsRule, type LineSpan, type Lineage, type LineageSnapshot, type LineageStep, type LinkMethod, type LinkTestsOptions, type LoadedHistory, METRIC_CATALOGUE, MIGRATIONS, type MemberInfo, type MetricAbsence, type MetricAggregate, type MetricDelta, type MetricDescriptor, type MetricDirection, type MetricMaxRule, type MetricMinRule, type MetricProductMaxRule, type MetricRollup, type MetricSource, type MetricUnit, type NoInternalOnlyBarrelsRule, type NodeKind, type NodeRename, type NodeRole, type PackageFlag, type PackageLayer, type PackageStats, type PageRankOptions, type PageRankResult, type PageRankRow, type PairCoupling, type PairFlag, type ParamInfo, type PartitionQualityInput, type PartitionQualityResult, type PriorSnapshotOptions, type PruneOptions, type PrunePlan, type PruneResult, PythonGraphExtractor, type ReadFile, type ReferenceEdgeLite, type RelevanceOptions, type ResolveAliasOptions, type ReuseBasis, type RuleStore, type RunChecksOptions, SCHEMA_VERSION, SNAPSHOT_SCOPED_TABLES, SOURCE_METRIC_NAMES, SYMBOL_EMBEDDING_NAMESPACE, SYMBOL_ID_SEP, type Severity, type SimilarCandidate, type SimilarResult, type SnapshotInsert, type SnapshotRow, type SnapshotSpec, type SourceLanguage, type SummarizeConventionsResult, type Summarizer, type SymbolConsumers, type SymbolCouplingOptions, type SymbolCouplingPair, type SymbolSpan, type TestCoverageOwnershipOptions, type TestSourceLink, type TopMetricRow, TsMorphGraphExtractor, type TsMorphGraphExtractorOptions, type UnchangedViolation, type ValidateRulesOptions, aggregateMetrics, aliasChain, annotateRoles, attributeCoverage, buildAliases, buildConventionAreas, buildEmbedText, buildFileModuleNodes, buildIndexerMetrics, buildLineage, canonicalEdgeKind, canonicalMetricName, canonicalRole, checkSnapshot, classifyRole, collectDeclaredNames, collectDeclaredSpans, compilePatterns, computeDeadCodeMetrics, computeDeepAst, computeGrowthRiskMetrics, computeMetrics, computePageRank, computePartitionQuality, computeRecencyWindows, computeRelevance, computeRoleHints, computeSourceMetrics, computeSymbolConsumers, computeSymbolCoupling, computeTestCoverageOwnership, createAliasChain, defaultTargetCount, describeMetric, describeMetrics, detectCommunities, detectGitHead, detectGitToplevel, detectRenames, diffCheckResults, diffSnapshots, edgeWeight, embedSnapshot, embedTextsCached, externalId, externalToFinding, fileId, findConventions, findSimilarCapability, getConventionMap, getEdgeWeight, groupTestsBySource, hashContent, hashEmbedText, indexPaths, invertBuckets, isGeneratedByHeuristic, isGeneratedFile, isInsideGitRepo, lineagePath, linkTestsToSources, listEdges, listEdgesTouching, listEmbeddableSymbols, listMetrics, listMetricsForNode, listNodes, loadCheckRules, loadGeneratedPatterns, loadHistoryMetrics, loadLineage, matchesAny, moduleId, openCodeGraph, packageId, parentModuleId, parseSymbolId, patternToRegex, planPrune, priorSnapshotForRef, pruneDanglingReferences, readSourceFiles, rebasedViolationKey, resolveAlias, resolveBarrelEdges, resolveChurnWindows, resolveGitRef, resolveSnapshot, runChecks, runPrune, snapshotPageRank, snapshotReferenceEdges, snapshotRelevance, snapshotSymbolConsumers, snapshotSymbolCoupling, snapshotViolations, structuralSignature, summarizeConventions, symbolId, testCoverageCountMetrics, toFindings, tryEmbedSnapshot, validateRules, violationKey, walkSourceFiles, windowSuffix };
|
|
1622
|
+
export { ALIAS_BASE_ATTR, ALL_ROLES, type AliasChain, type AliasChainInput, type AliasChainOptions, type AliasLoader, type AliasResolution, COMMUNITY_SUMMARY_NAMESPACE, COVERAGE_METRIC_NAME, type CachedEmbedResult, type CheckDiff, type CheckResult, type CheckRule, type CheckRulesFile, type CheckSnapshotOptions, type CheckSnapshotResult, type CheckViolation, CodeGraphStore, type ConventionArea, type ConventionCorpus, type ConventionCoverage, type ConventionMap, type ConventionMatch, type ConventionOptions, type ConventionQueryResult, type ConventionSymbol, DEAD_CODE_METRIC_NAMES, DEFAULT_CHURN_WINDOWS, DEFAULT_OUTLIER_MIN_SAMPLE, DOMAIN_DDL, type DeepAst, type DeepAstInput, type DiffCheckResultsOptions, type DiffSnapshotsOptions, EXCEPTION_METRIC_NAMES, type EdgeKind, type EmbedAttempt, type EmbedCoverage, type EmbedSnapshotResult, type EmbeddableSymbol, type ExternalDiagnostic, type FileFingerprint, type FindConventionsOptions, type FindSimilarOptions, type Finding, type ForbidImportRule, GROWTH_RISK_METRIC_NAMES, type GraphDiff, type GraphDiffSummary, type GraphEdge, type GraphFragment, type GraphMetric, type GraphNode, type HistoryMetricsOptions, INDEX_VERSION, type IdAlias, type IdAliasReason, type IndexOptions, type IndexResult, type IstanbulCoverage, KIT, LanguageExtractor, type LanguageExtractorOptions, type LayeredDepsRule, type LineSpan, type Lineage, type LineageSnapshot, type LineageStep, type LinkMethod, type LinkTestsOptions, type LoadedHistory, METRIC_CATALOGUE, MIGRATIONS, type MemberInfo, type MetricAbsence, type MetricAggregate, type MetricDelta, type MetricDescriptor, type MetricDirection, type MetricMaxRule, type MetricMinRule, type MetricOutlierRule, type MetricProductMaxRule, type MetricRollup, type MetricSource, type MetricUnit, type NoInternalOnlyBarrelsRule, type NodeKind, type NodeRename, type NodeRole, type PackageFlag, type PackageLayer, type PackageStats, type PageRankOptions, type PageRankResult, type PageRankRow, type PairCoupling, type PairFlag, type ParamInfo, type PartitionQualityInput, type PartitionQualityResult, type PriorSnapshotOptions, type PruneOptions, type PrunePlan, type PruneResult, PythonGraphExtractor, type ReadFile, type ReferenceEdgeLite, type RelevanceOptions, type ResolveAliasOptions, type ReuseBasis, type RuleStore, type RunChecksOptions, SCHEMA_VERSION, SNAPSHOT_SCOPED_TABLES, SOURCE_METRIC_NAMES, SYMBOL_EMBEDDING_NAMESPACE, SYMBOL_ID_SEP, SYMBOL_METRIC_NAMES, type Severity, type SimilarCandidate, type SimilarResult, type SnapshotInsert, type SnapshotRow, type SnapshotSpec, type SourceLanguage, type SummarizeConventionsResult, type Summarizer, type SymbolConsumers, type SymbolCouplingOptions, type SymbolCouplingPair, type SymbolSpan, type TestCoverageOwnershipOptions, type TestSourceLink, type TopMetricRow, TsMorphGraphExtractor, type TsMorphGraphExtractorOptions, type UnchangedViolation, type ValidateRulesOptions, aggregateMetrics, aliasChain, annotateRoles, attributeCoverage, buildAliases, buildConventionAreas, buildEmbedText, buildFileModuleNodes, buildIndexerMetrics, buildLineage, canonicalEdgeKind, canonicalMetricName, canonicalRole, checkSnapshot, classifyRole, collectDeclaredNames, collectDeclaredSpans, compilePatterns, computeDeadCodeMetrics, computeDeepAst, computeGrowthRiskMetrics, computeMetrics, computePageRank, computePartitionQuality, computeRecencyWindows, computeRelevance, computeRoleHints, computeSourceMetrics, computeSymbolConsumers, computeSymbolCoupling, computeTestCoverageOwnership, createAliasChain, defaultTargetCount, describeMetric, describeMetrics, detectCommunities, detectGitHead, detectGitToplevel, detectRenames, diffCheckResults, diffSnapshots, edgeWeight, embedSnapshot, embedTextsCached, externalId, externalToFinding, fileId, findConventions, findSimilarCapability, getConventionMap, getEdgeWeight, groupTestsBySource, hashContent, hashEmbedText, indexPaths, invertBuckets, isGeneratedByHeuristic, isGeneratedFile, isInsideGitRepo, lineagePath, linkTestsToSources, listEdges, listEdgesTouching, listEmbeddableSymbols, listMetrics, listMetricsForNode, listNodes, loadCheckRules, loadGeneratedPatterns, loadHistoryMetrics, loadLineage, matchesAny, moduleId, openCodeGraph, packageId, parentModuleId, parseSymbolId, patternToRegex, percentileOf, planPrune, priorSnapshotForRef, pruneDanglingReferences, readSourceFiles, rebasedViolationKey, resolveAlias, resolveBarrelEdges, resolveChurnWindows, resolveGitRef, resolveSnapshot, runChecks, runPrune, snapshotPageRank, snapshotReferenceEdges, snapshotRelevance, snapshotSymbolConsumers, snapshotSymbolCoupling, snapshotViolations, structuralSignature, summarizeConventions, symbolId, testCoverageCountMetrics, toFindings, tryEmbedSnapshot, validateRules, violationKey, walkSourceFiles, windowSuffix };
|