1pub mod graph;
2pub mod slugify;
3pub mod query;
4pub mod parser;
5pub mod validator;
6pub mod code_graph;
7pub mod unified;
8pub mod unify;
9pub mod working_mem;
10pub mod history;
11pub mod visual;
12pub mod advise;
13pub mod design;
14pub mod semantify;
15pub mod refactor;
16pub mod ignore;
17pub mod task_graph_knowledge;
18pub mod complexity;
19pub mod lsp_client;
20pub mod lsp_daemon;
21pub mod harness;
22pub mod storage;
23pub mod identity;
24pub mod watch;
25
26#[cfg(feature = "ritual")]
28pub mod ritual;
29
30pub use graph::*;
32pub use slugify::slugify;
33pub use query::QueryEngine;
34pub use parser::{load_graph, save_graph, find_graph_file, find_graph_file_walk_up, find_project_root};
35pub use code_graph::{
36 CodeGraph, CodeNode, CodeEdge, NodeKind, EdgeRelation, Language,
37 ImpactReport, CausalChain, ChainNode,
38 UnifiedGraphResult, UnifiedNode, UnifiedEdge,
39 ExtractMetadata, FileState, FileDelta, ExtractReport,
40 compute_file_delta,
41};
42#[allow(deprecated)]
43pub use unified::{build_unified_graph, merge_relevant_code, link_tasks_to_code, UnifiedStats};
44pub use working_mem::{
45 GidContext, NodeInfo, ErrorType, RiskLevel, ImpactAnalysis,
46 query_gid_context, find_low_risk_alternatives, classify_error,
47 extract_key_traceback, analyze_impact, analyze_impact_filtered, format_impact_for_llm,
48 Action, TestOutcome, AttemptRecord, NodeRisk, WorkingMemory,
50};
51pub use history::{HistoryManager, HistoryEntry, GraphDiff};
52pub use visual::{render, render_ascii, render_dot, render_mermaid, VisualFormat};
53pub use advise::{analyze, AnalysisResult, Advice, Severity, AdviceType};
54#[cfg(feature = "infomap")]
55pub use advise::{detect_code_modules, DetectedModule};
56#[cfg(feature = "infomap")]
57pub mod infer;
58pub use design::{
59 generate_graph_prompt, generate_scoped_graph_prompt,
60 generate_features_prompt, generate_components_prompt,
61 parse_llm_response, parse_features_response, parse_components_response,
62 build_graph_from_proposals, FeatureProposal, ComponentProposal, DesignResult,
63};
64pub use semantify::{
65 generate_semantify_prompt, generate_full_transform_prompt,
66 parse_semantify_response, parse_full_transform_response,
67 apply_proposals, apply_heuristic_layers, heuristic_assign_layer,
68 SemanticProposal, SemantifyResult,
69};
70pub use refactor::{
71 preview_rename, apply_rename,
72 preview_merge, apply_merge,
73 preview_split, apply_split,
74 preview_extract, apply_extract,
75 update_title, move_to_layer,
76 RefactorPreview, Change, ChangeType, SplitDefinition,
77};
78pub use ignore::{
79 load_ignore_list, IgnoreList, IgnorePattern, is_common_ignore, DEFAULT_IGNORES,
80};
81pub use task_graph_knowledge::{
82 ToolCallRecord, KnowledgeNode, KnowledgeGraph, KnowledgeManagement,
83 SimpleKnowledgeGraph,
84};
85pub use complexity::{
86 Complexity, ComplexityReport, assess_complexity_from_graph, assess_complexity,
87 is_high_risk_change, assess_risk_level,
88};
89pub use lsp_client::{
90 LspClient, LspEnrichmentStats, LspLocation, LspMissingServer, LspRefinementStats, LspServerConfig,
91};
92pub use identity::{
93 Identity, Organization, Group, Email, SigningKey, IdentityError, IdentityBuilder,
94};
95#[cfg(feature = "ritual")]
97pub use ritual::{
98 RitualDefinition, PhaseDefinition, PhaseKind, ApprovalRequirement,
99 SkipCondition, FailureStrategy, ArtifactRef, ArtifactSpec, PhaseHooks,
100 RitualConfig, RitualEngine, RitualState, RitualStatus, PhaseState,
101 PhaseStatus, PhaseExecutor, PhaseResult, PhaseContext, ArtifactManager,
102 ApprovalGate, ApprovalRequest, TemplateRegistry, TemplateSummary,
103};