sqlite_graphrag/commands/ingest_claude/mod.rs
1//! Handler for `ingest --mode claude-code`.
2//!
3//! Orchestrates the locally installed Claude Code CLI binary (`claude -p`)
4//! to extract domain-specific entities and relationships from each file,
5//! then persists them via the same pipeline as `remember --graph-stdin`.
6//!
7//! Architecture: P1 One-Shot per file — each file spawns a separate
8//! `claude -p` process with `--json-schema` for guaranteed structured output.
9//! A SQLite queue DB tracks progress for resume/retry support.
10// Workload: Subprocess I/O-bound (claude -p headless with network wait)
11
12mod binary;
13mod extract;
14mod queue;
15mod run;
16mod types;
17
18pub use binary::find_claude_binary;
19pub use run::run_claude_ingest;
20pub use types::{ExtractedEntity, ExtractedRelationship, ExtractionResult};
21
22#[cfg(test)]
23#[path = "../ingest_claude_tests.rs"]
24mod tests;