[package]
edition = "2021"
rust-version = "1.82"
name = "oharness-loop"
version = "0.1.0"
authors = ["open-harness contributors"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Agent, Loop trait, ReactLoop, ConversationLoop, and run_reflexion for open-harness"
homepage = "https://github.com/aishfenton/open-harness"
readme = "README.md"
keywords = [
"agent",
"react",
"reflexion",
"llm",
"loop",
]
categories = [
"api-bindings",
"asynchronous",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/aishfenton/open-harness"
[features]
conversation = []
default = ["react"]
llm-judge = ["oharness-critic/llm-judge"]
react = []
reflexion = []
[lib]
name = "oharness_loop"
path = "src/lib.rs"
[[example]]
name = "budget_enforcement"
path = "examples/budget_enforcement.rs"
[[example]]
name = "custom_critic"
path = "examples/custom_critic.rs"
[[example]]
name = "custom_memory_policy"
path = "examples/custom_memory_policy.rs"
[[example]]
name = "custom_middleware"
path = "examples/custom_middleware.rs"
[[example]]
name = "hello_scripted"
path = "examples/hello_scripted.rs"
[[example]]
name = "llm_judge_critic"
path = "examples/llm_judge_critic.rs"
required-features = ["llm-judge"]
[[example]]
name = "multi_agent_conversation"
path = "examples/multi_agent_conversation.rs"
required-features = ["conversation"]
[[example]]
name = "react_with_tools"
path = "examples/react_with_tools.rs"
[[example]]
name = "reflexion_run"
path = "examples/reflexion_run.rs"
required-features = ["reflexion"]
[[example]]
name = "replay_trajectory"
path = "examples/replay_trajectory.rs"
[[example]]
name = "self_refine"
path = "examples/self_refine.rs"
[[test]]
name = "conversation_loop"
path = "tests/conversation_loop.rs"
[[test]]
name = "critic_integration"
path = "tests/critic_integration.rs"
[[test]]
name = "react_smoke"
path = "tests/react_smoke.rs"
[[test]]
name = "replay_roundtrip"
path = "tests/replay_roundtrip.rs"
[[test]]
name = "workspace_scoping"
path = "tests/workspace_scoping.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.oharness-core]
version = "0.1.0"
[dependencies.oharness-critic]
version = "0.1.0"
[dependencies.oharness-llm]
version = "0.1.0"
[dependencies.oharness-memory]
version = "0.1.0"
[dependencies.oharness-tools]
version = "0.1.0"
[dependencies.oharness-trace]
version = "0.1.0"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "1"
[dependencies.time]
version = "0.3"
features = [
"serde",
"formatting",
"parsing",
"macros",
]
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"sync",
"fs",
"io-util",
"time",
"process",
]
[dependencies.tokio-util]
version = "0.7"
features = ["rt"]
[dependencies.tracing]
version = "0.1"
[dev-dependencies.futures]
version = "0.3"
[dev-dependencies.oharness-budget]
version = "0.1.0"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"sync",
"fs",
"io-util",
"time",
"process",
"macros",
"rt-multi-thread",
]
[lints.clippy.all]
level = "deny"
priority = -1
[lints.rust]
warnings = "deny"
[lints.rust.rust_2018_idioms]
level = "deny"
priority = -1