sara_core/
lib.rs

1//! Sara Core - Requirements Knowledge Graph Library
2//!
3//! This library provides the core functionality for managing architecture documents
4//! and requirements as a unified interconnected knowledge graph.
5
6pub mod config;
7pub mod diff;
8pub mod edit;
9pub mod error;
10pub mod graph;
11pub mod init;
12pub mod model;
13pub mod parser;
14pub mod query;
15pub mod report;
16pub mod repository;
17pub mod template;
18pub mod validation;
19
20// Re-export commonly used types
21pub use config::Config;
22pub use diff::{DiffError, DiffOptions, DiffResult, DiffService};
23pub use edit::{
24    EditOptions as CoreEditOptions, EditResult as CoreEditResult, EditService, EditedValues,
25    ItemContext,
26};
27pub use error::{EditError, ParseError, Result, SaraError, ValidationError};
28pub use graph::{
29    GraphBuilder, GraphDiff, GraphStats, KnowledgeGraph, TraversalOptions, TraversalResult,
30    traverse_downstream, traverse_upstream,
31};
32pub use init::{InitError, InitOptions, InitResult, InitService, parse_item_type};
33pub use model::{
34    EditSummary, EditUpdates, FieldChange, FieldName, Item, ItemId, ItemType, RelationshipType,
35    SourceLocation, TraceabilityConfig, TraceabilityLinks, UpstreamRefs,
36};
37pub use parser::{extract_body, parse_document, parse_markdown_file, update_frontmatter};
38pub use query::{
39    LookupResult, MissingParentError, QueryEngine, check_parent_exists, find_similar_ids,
40    lookup_item_or_suggest,
41};
42pub use report::{CoverageReport, TraceabilityMatrix};
43pub use repository::{parse_directory, parse_repositories};
44pub use template::{
45    GeneratorOptions, extract_name_from_content, generate_document, generate_frontmatter,
46    generate_id, suggest_next_id,
47};
48pub use validation::{ValidationReport, Validator, validate};