[package]
name = "decy-oracle"
version.workspace = true
edition.workspace = true
authors.workspace = true
description = "CITL (Compiler-in-the-Loop) oracle for C-to-Rust transpilation pattern mining"
repository.workspace = true
license.workspace = true
keywords = ["transpiler", "citl", "machine-learning", "c-to-rust"]

[features]
default = []
# Full CITL with entrenar integration
citl = ["entrenar"]
# Dataset export to Parquet (requires alimentar and arrow)
dataset = ["alimentar", "arrow"]

[dependencies]
# PAIML stack - CITL integration (optional, enabled with citl feature)
entrenar = { version = "0.2.2", features = ["citl"], optional = true }
# Alimentar for dataset export to Parquet (optional, enabled with dataset feature)
alimentar = { version = "0.2.2", optional = true }
# Arrow for building record batches (optional, enabled with dataset feature)
arrow = { version = "54", optional = true, default-features = false, features = ["ipc"] }

# Core decy crates
decy-parser = { version = "2.1.0", path = "../decy-parser" }
decy-hir = { version = "2.1.0", path = "../decy-hir" }
decy-codegen = { version = "2.1.0", path = "../decy-codegen" }

# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8"

# Config and paths
dirs = "5.0"
walkdir = "2.4"

# Timestamps and hashing
chrono = { version = "0.4", features = ["serde"] }
sha2 = "0.10"

# Logging
tracing = "0.1"

# Error handling
thiserror.workspace = true
anyhow = "1.0"

[dev-dependencies]
proptest = "1.4"
tempfile = "3.8"
