[package]
name = "elph-agent"
version = "0.0.23"
license = "MIT"
description = "Agent runtime for Elph coding assistant"
keywords = ["agent", "runtime", "ai", "coding", "elph"]
categories = ["development-tools", "asynchronous"]
homepage.workspace = true
repository.workspace = true
rust-version.workspace = true
edition.workspace = true
publish = true

[lib]
name = "elph_agent"
path = "src/lib.rs"

[features]
default = []
obscura = []
# ans: obscura is git-only (h4ckf0r0day/obscura), never published to crates.io.
# The [patch.crates-io] in workspace Cargo.toml redirects resolution to git.

[dependencies]
anyhow.workspace = true
async-trait = "0.1"
bytes = "1"
crossbeam-channel = "0.5.16"
elph-ai.workspace = true
elph-core.workspace = true
fff-search.workspace = true
futures = "0.3"
ignore = "0.4"
indicatif.workspace = true

regex = "1"
reqwest = { version = "0.13.4", default-features = false, features = ["json", "rustls", "stream"] }
serde.workspace = true
serde_json.workspace = true
serde_yaml = "0.9"
tempfile = "3.27.0"
time.workspace = true
tokio = { workspace = true, features = [
  "fs",
  "macros",
  "net",
  "process",
  "rt",
  "rt-multi-thread",
  "signal",
  "sync",
  "time",
] }
tokio-util = { version = "0.7", features = ["rt"] }
tracing.workspace = true
turso.workspace = true
url = "2"
urlencoding = "2"
uuid = { version = "1", features = ["v7"] }
walkdir = "2.5"

[[example]]
name = "faux_agent"
path = "examples/faux_agent.rs"

[[example]]
name = "basic_agent"
path = "examples/basic_agent.rs"

[[example]]
name = "agent_tools"
path = "examples/agent_tools.rs"

[[example]]
name = "agent_events"
path = "examples/agent_events.rs"

[[example]]
name = "agent_session"
path = "examples/agent_session.rs"

[[example]]
name = "agent_harness"
path = "examples/agent_harness.rs"

[[example]]
name = "agent_coding_tools"
path = "examples/agent_coding_tools.rs"

[[example]]
name = "agent_web_tools"
path = "examples/agent_web_tools.rs"

[[example]]
name = "agent_multi_turn"
path = "examples/agent_multi_turn.rs"

[[example]]
name = "agent_hooks"
path = "examples/agent_hooks.rs"

[[example]]
name = "agent_steering"
path = "examples/agent_steering.rs"

[[example]]
name = "agent_compaction"
path = "examples/agent_compaction.rs"

[[example]]
name = "agent_coding_workflow"
path = "examples/agent_coding_workflow.rs"

[dev-dependencies]
elph-ai = { workspace = true }
tempfile = "3.27.0"
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
uuid = { version = "1", features = ["v7"] }
