Skip to main content

hirn_query/
lib.rs

1//! `hirn-query` — HirnQL parser, AST, and compiler for the hirn cognitive
2//! memory query language.
3//!
4//! This crate provides:
5//! - **Parser:** Pest grammar + AST types
6//! - **Compiler:** `TypedStatement` + DataFusion `LogicalPlan` compilation
7//!
8//! # Example
9//! ```
10//! use hirn_query::{parse, Statement};
11//!
12//! let stmt = parse(r#"RECALL episodic ABOUT "test" LIMIT 5"#).unwrap();
13//! assert!(matches!(stmt, Statement::Recall(_)));
14//! ```
15
16pub mod compiler;
17pub mod parser;
18
19pub use compiler::pipeline::{CompiledPlan, PlanCache, QueryPipeline};
20pub use compiler::plan_compiler::{ActivationRepr, HirnOp, HirnPlanNode, compile, query_hash};
21pub use compiler::typed_ast::{
22    AnalyzeContext, DepthMode, TypedCounterfactual, TypedExpand, TypedExplainCauses, TypedFilter,
23    TypedFilterValue, TypedRecall, TypedRecallEvents, TypedStatement, TypedSubqueryFilter,
24    TypedTemporalRange, TypedThink, TypedTraverse, TypedWhatIf, analyze,
25};
26pub use parser::ast;
27pub use parser::ast::*;
28pub use parser::{ParseError, QueryLimits, parse, parse_with_limits};