Skip to main content

gid_core/
lib.rs

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