[package]
edition = "2021"
rust-version = "1.88"
name = "agent-framework-core"
version = "0.3.0"
authors = ["agent-framework-rs contributors"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Core abstractions for agent-framework-rs: messages, chat clients, agents, tools, threads, middleware, memory, and workflows"
readme = "README.md"
keywords = [
"ai",
"agents",
"llm",
"workflow",
"openai",
]
categories = [
"asynchronous",
"api-bindings",
]
license = "MIT"
repository = "https://github.com/codehalwell/agent-framework-rs"
[features]
otel-metrics = ["dep:opentelemetry"]
[lib]
name = "agent_framework_core"
path = "src/lib.rs"
[[test]]
name = "checkpoint_signature"
path = "tests/checkpoint_signature.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[[test]]
name = "observability"
path = "tests/observability.rs"
[[test]]
name = "observability_metrics"
path = "tests/observability_metrics.rs"
[[test]]
name = "orchestration_approval"
path = "tests/orchestration_approval.rs"
[[test]]
name = "orchestration_group_chat"
path = "tests/orchestration_group_chat.rs"
[[test]]
name = "orchestration_handoff"
path = "tests/orchestration_handoff.rs"
[[test]]
name = "orchestration_magentic"
path = "tests/orchestration_magentic.rs"
[[test]]
name = "orchestration_magentic_hitl"
path = "tests/orchestration_magentic_hitl.rs"
[[test]]
name = "orchestration_magentic_stall"
path = "tests/orchestration_magentic_stall.rs"
[[test]]
name = "orchestration_workflow_agent"
path = "tests/orchestration_workflow_agent.rs"
[[test]]
name = "retry_client"
path = "tests/retry_client.rs"
[[test]]
name = "workflow_engine"
path = "tests/workflow_engine.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.futures]
version = "0.3"
[dependencies.opentelemetry]
version = "0.32"
features = ["metrics"]
optional = true
default-features = false
[dependencies.pin-project-lite]
version = "0.2"
[dependencies.schemars]
version = "0.8"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tokio-stream]
version = "0.1"
[dependencies.tracing]
version = "0.1"
[dependencies.uuid]
version = "1"
features = [
"v4",
"serde",
]
[dev-dependencies.opentelemetry_sdk]
version = "0.32"
features = [
"metrics",
"testing",
]
default-features = false
[dev-dependencies.tokio]
version = "1"
features = [
"full",
"test-util",
]
[dev-dependencies.tracing-subscriber]
version = "0.3"