Skip to main content

Crate seshat_core

Crate seshat_core 

Source
Expand description

§Seshat Core

Foundational types, traits, and intermediate representation (IR) shared across all Seshat crates. This crate has zero dependencies on other seshat crates and defines the common vocabulary used throughout the pipeline:

  • IR types (ProjectFile, LanguageIR): normalized, language-agnostic representation of parsed source code
  • Knowledge types (KnowledgeNode, KnowledgeNature, KnowledgeWeight): the two-dimensional typing system for the knowledge graph
  • Edge types (Edge, EdgeType): typed relationships between knowledge nodes
  • Type-safe IDs (NodeId, EdgeId, BranchId): newtype wrappers preventing accidental misuse
  • Detector results (ConventionFinding, DetectorResults): output types flowing from detectors through storage to the graph
  • Configuration (ScanConfig, DetectionConfig, ServerConfig): all implement Default for zero-config operation

Re-exports§

pub use config::BackupConfig;
pub use config::DetectionConfig;
pub use config::ScanConfig;
pub use config::ServerConfig;
pub use dependency::DependencyDomain;
pub use dependency::PathAlias;
pub use dependency::classify_domain;
pub use dependency::is_python_stdlib_module;
pub use dependency::matches_keyword_at_boundary;
pub use dependency::resolve_path_alias;
pub use dependency::top_level_module;
pub use detector_result::AnchorKind;
pub use detector_result::CodeEvidence;
pub use detector_result::ConventionFinding;
pub use detector_result::DetectorResults;
pub use detector_result::FindingKind;
pub use edge::Edge;
pub use edge::EdgeType;
pub use error::CoreError;
pub use error::ParseEnumError;
pub use ids::BranchId;
pub use ids::EdgeId;
pub use ids::NodeId;
pub use ir::DependencyUsage;
pub use ir::DeriveUsage;
pub use ir::Export;
pub use ir::Function;
pub use ir::FunctionCall;
pub use ir::Import;
pub use ir::JavaScriptIR;
pub use ir::Language;
pub use ir::LanguageIR;
pub use ir::MacroCall;
pub use ir::ModDeclaration;
pub use ir::ModuleSystem;
pub use ir::ProjectFile;
pub use ir::PythonIR;
pub use ir::RustIR;
pub use ir::TraitImpl;
pub use ir::TypeDef;
pub use ir::TypeDefKind;
pub use ir::TypeScriptIR;
pub use knowledge::KnowledgeNature;
pub use knowledge::KnowledgeNode;
pub use knowledge::KnowledgeWeight;
pub use knowledge::Trend;
pub use snippet::CodeSnippet;
pub use snippet::MAX_SNIPPET_LINES;
pub use snippet::truncate_snippet;
pub use snippet::truncate_snippet_to;
pub use symbol_snippet::MAX_DEFINITION_SNIPPET_LINES;
pub use symbol_snippet::export_definition_snippet;
pub use symbol_snippet::function_definition_snippet;
pub use symbol_snippet::type_definition_snippet;

Modules§

config
dependency
Unified dependency domain taxonomy and package classification.
detector_result
edge
error
ids
ir
knowledge
snippet
Code snippet truncation utilities.
symbol_snippet
Synthetic definition snippets used by both the symbol-index writers (seshat-storage) and the symbol-index readers (seshat-graph).