Skip to main content

Crate vil_sql_agent

Crate vil_sql_agent 

Source
Expand description

§VIL SQL Query Generator (I05)

Text-to-SQL patterns, schema registry, injection prevention, and safe query generation. No database driver dependency — this crate generates SQL strings and validates them.

§Quick Start

use vil_sql_agent::{SchemaRegistry, TableSchema, SqlGenerator, validate_sql, Severity};

let mut reg = SchemaRegistry::new();
reg.register(
    TableSchema::new("users")
        .column("id", "INTEGER", false, true)
        .column("name", "VARCHAR(255)", false, false),
);

let gen = SqlGenerator::new(&reg);
let query = gen.select_all("users").unwrap();
assert!(query.safe);

let danger = validate_sql("DROP TABLE users");
assert_eq!(danger.severity, Severity::Dangerous);

Re-exports§

pub use config::PlaceholderStyle;
pub use config::SqlAgentConfig;
pub use generator::SqlGenerator;
pub use plugin::SqlAgentPlugin;
pub use schema::Column;
pub use schema::SchemaRegistry;
pub use schema::TableSchema;
pub use semantic::SqlAgentEvent;
pub use semantic::SqlAgentFault;
pub use semantic::SqlAgentFaultType;
pub use semantic::SqlAgentState;
pub use validator::validate_sql;
pub use validator::SafeQuery;
pub use validator::Severity;
pub use validator::ValidationResult;

Modules§

config
generator
handlers
VIL pattern HTTP handlers for the SQL agent plugin.
pipeline_sse
SSE pipeline builders for SQL agent operations.
plugin
VilPlugin implementation for SQL agent integration.
schema
semantic
Semantic types for SQL agent operations.
validator