agent-framework-core 0.3.0

Core abstractions for agent-framework-rs: messages, chat clients, agents, tools, threads, middleware, memory, and workflows
Documentation
[package]
name = "agent-framework-core"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
keywords.workspace = true
categories.workspace = true
readme.workspace = true
description = "Core abstractions for agent-framework-rs: messages, chat clients, agents, tools, threads, middleware, memory, and workflows"

[dependencies]
tokio = { workspace = true }
futures = { workspace = true }
async-trait = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
thiserror = { workspace = true }
tracing = { workspace = true }
uuid = { workspace = true }
schemars = { workspace = true }
tokio-stream = { workspace = true }
pin-project-lite = { workspace = true }
# Optional: GenAI metrics behind the `otel-metrics` feature. API crate only —
# no SDK/exporter is pulled in; see `observability` module docs.
opentelemetry = { workspace = true, optional = true }

[dev-dependencies]
# `test-util` adds tokio's mock clock (`start_paused`, `pause`/`advance`) used
# by the retry-layer tests to assert backoff timing without real sleeps.
tokio = { workspace = true, features = ["test-util"] }
tracing-subscriber = "0.3"
# In-memory metric reader for `otel-metrics` tests only.
opentelemetry_sdk = { workspace = true }

[features]
# Enables the two (later three, pending a client.rs follow-up) GenAI
# histograms on `ObservableChatClient` via the `opentelemetry` API crate.
# Purely additive: default behavior/build is unaffected when this is off.
otel-metrics = ["dep:opentelemetry"]