[package]
name = "noether-engine"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
keywords.workspace = true
categories.workspace = true
description = "Noether composition engine: Lagrange graph AST, type checker, planner, executor, semantic index, LLM-backed composition agent"
[features]
default = ["native"]
native = ["dep:reqwest", "dep:rusqlite", "dep:arrow", "dep:base64"]
[dependencies]
noether-core = { path = "../noether-core", version = "0.7" }
noether-store = { path = "../noether-store", version = "0.7" }
serde = { workspace = true }
serde_json = { workspace = true }
serde_jcs = "0.2"
sha2 = { workspace = true }
hex = { workspace = true }
thiserror = { workspace = true }
reqwest = { workspace = true, optional = true }
regex = { workspace = true }
chrono = { workspace = true }
ed25519-dalek = { workspace = true }
rand = { workspace = true }
tracing = "0.1"
rusqlite = { version = "0.39.0", features = ["bundled"], optional = true }
arrow = { version = "58", optional = true, default-features = false, features = ["ipc"] }
base64 = { version = "0.22", optional = true }
wasm-bindgen = { version = "0.2", optional = true }
[target.'cfg(target_arch = "wasm32")'.dependencies]
getrandom = { version = "0.4", features = ["wasm_js"] }
[dev-dependencies]
proptest = { workspace = true }
tempfile = "3"