[package]
name = "oharness-loop"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
authors.workspace = true
description = "Agent, Loop trait, ReactLoop, ConversationLoop, and run_reflexion for open-harness"
readme = "README.md"
keywords = ["agent", "react", "reflexion", "llm", "loop"]
categories = ["api-bindings", "asynchronous"]
[lints]
workspace = true
[features]
default = ["react"]
react = []
conversation = []
reflexion = []
llm-judge = ["oharness-critic/llm-judge"]
[dependencies]
oharness-core = { workspace = true }
oharness-llm = { workspace = true }
oharness-tools = { workspace = true }
oharness-memory = { workspace = true }
oharness-trace = { workspace = true }
oharness-critic = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
thiserror = { workspace = true }
async-trait = { workspace = true }
tokio = { workspace = true }
tokio-util = { workspace = true }
tracing = { workspace = true }
time = { workspace = true }
[dev-dependencies]
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
futures = { workspace = true }
tempfile = "3"
oharness-budget = { workspace = true }
[[example]]
name = "reflexion_run"
required-features = ["reflexion"]
[[example]]
name = "llm_judge_critic"
required-features = ["llm-judge"]
[[example]]
name = "multi_agent_conversation"
required-features = ["conversation"]