1pub mod cache;
2pub mod error;
3pub mod extractor;
4pub mod graph;
5pub mod input;
6pub mod interface;
7pub mod language;
8pub mod model;
9pub mod output;
10pub mod parser;
11pub mod pipeline;
12pub mod reanalyze;
13
14#[cfg(feature = "watch")]
15pub mod watch;
16
17#[cfg(feature = "metacall-deploy")]
18pub mod deploy;
19
20#[cfg(feature = "dataflow")]
21pub mod sink;
22
23pub use cache::{ExtractionCache, Fingerprint, fingerprint};
24pub use error::{Diagnostic, Error, Severity};
25pub use extractor::{
26 ExtractOptions, ExtractionIdGenerators, ExtractionResult, InMemorySource, VersionedExtraction,
27 extract_text_with_id_gen, extract_with_id_gen,
28};
29pub use input::detect_language;
30pub use language::{LangId, LanguageSpec};
31pub use model::{
32 DataNode, DataNodeId, DataScope, FileExtraction, FlowEdge, FlowKind, Symbol, SymbolId,
33 SymbolKind, UnresolvedImport, UnresolvedReference, Visibility,
34};
35pub use reanalyze::{ChangeSet, Overlay, WatchState, incremental_reanalyze, reanalyze_extractions};
36
37pub use graph::{
39 CodeGraph,
40 builder::GraphBuilder,
41 edge::{EdgeData, EdgeKind},
42 node::{ExternalNode, FileNode, NodeData, SymbolNode},
43 resolver::{FlattenedScopeCache, ScopeMap},
44 scc::{DeployabilityHint, Scc, SccAnalysis},
45};
46
47pub use output::shard::{
49 LoadedShard, SHARD_SCHEMA_VERSION, ShardEdge, ShardEdgeKind, ShardError, ShardFile,
50 ShardFlowKind, ShardHeader, ShardManifestRecord, ShardSymbol, read_header, read_manifest,
51 read_shard, restore_shard_edges, write_header, write_manifest, write_shard,
52};
53pub use pipeline::{GraphAnalysis, SnapshotMeta, snapshot_meta};
54
55#[cfg(feature = "watch")]
57pub use watch::{WatchConfig, run_watch};