Skip to main content

gid_core/
lib.rs

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// Ritual module (requires "ritual" feature)
27#[cfg(feature = "ritual")]
28pub mod ritual;
29
30// Re-export commonly used types
31pub 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    // Agent working memory types
49    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// Ritual re-exports (requires "ritual" feature)
96#[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};