[package]
name = "hephaes-core"
version = "0.3.1"
edition = "2021"
rust-version = "1.96"
description = "Core engine for hephaes: repo scanning, the wiki, model providers, and the ask/build operations."
license = "MIT OR Apache-2.0"
repository = "https://github.com/soyokaze83/hephaes"

[features]
# OS keychain secret backend (Windows Credential Manager / macOS Keychain /
# Linux Secret Service). Off by default; gitignored file store is the fallback.
keychain = ["dep:keyring"]
# Exposes `testing::MockProvider` to downstream crates' tests.
testing = []

[dependencies]
tokio = { version = "1", features = ["rt-multi-thread", "macros", "process", "fs", "io-util", "time", "sync"] }
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yaml = "0.9"
toml = "0.8"
clap = { version = "4", features = ["derive"] } # ProviderId derives ValueEnum (shared CLI type)
anyhow = "1"
thiserror = "2"
figment = { version = "0.10", features = ["toml", "env"] }
directories = "5"
ignore = "0.4"
globset = "0.4"
blake3 = "1"
regex = "1"
chrono = { version = "0.4", default-features = false, features = ["clock", "std"] }
async-trait = "0.1"
keyring = { version = "3", optional = true }
