[package]
edition = "2021"
rust-version = "1.89"
name = "appam"
version = "0.1.0"
authors = ["Winfunc Research"]
build = false
exclude = [
"docs/node_modules/**",
"docs/.next/**",
"docs/tsconfig.tsbuildinfo",
"target/**",
"logs/**",
"data/**",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High-throughput, traceable, reliable Rust agent framework for long-horizon AI sessions and easy extensibility"
homepage = "https://github.com/winfunc/appam"
documentation = "https://docs.rs/appam"
readme = "README.md"
keywords = [
"ai",
"agent",
"llm",
"framework",
"agents",
]
categories = [
"api-bindings",
"command-line-utilities",
]
license = "MIT"
repository = "https://github.com/winfunc/appam"
[package.metadata.docs.rs]
all-features = true
[package.metadata.cargo-machete]
ignored = ["schemars"]
[features]
default = []
python = ["pyo3"]
[lib]
name = "appam"
path = "src/lib.rs"
[[bin]]
name = "appam"
path = "src/main.rs"
[[example]]
name = "coding-agent-anthropic"
path = "examples/coding-agent-anthropic.rs"
[[example]]
name = "coding-agent-azure-anthropic"
path = "examples/coding-agent-azure-anthropic.rs"
[[example]]
name = "coding-agent-azure-openai"
path = "examples/coding-agent-azure-openai.rs"
[[example]]
name = "coding-agent-bedrock"
path = "examples/coding-agent-bedrock.rs"
[[example]]
name = "coding-agent-openai-codex"
path = "examples/coding-agent-openai-codex.rs"
[[example]]
name = "coding-agent-openai-responses"
path = "examples/coding-agent-openai-responses.rs"
[[example]]
name = "coding-agent-openrouter-completions"
path = "examples/coding-agent-openrouter-completions.rs"
[[example]]
name = "coding-agent-openrouter-responses"
path = "examples/coding-agent-openrouter-responses.rs"
[[example]]
name = "coding-agent-vertex"
path = "examples/coding-agent-vertex.rs"
[[test]]
name = "agent_builder"
path = "tests/agent_builder.rs"
[[test]]
name = "bedrock_opus46_streaming"
path = "tests/bedrock_opus46_streaming.rs"
[[test]]
name = "continuation_tests"
path = "tests/continuation_tests.rs"
[[test]]
name = "hybrid_config"
path = "tests/hybrid_config.rs"
[[test]]
name = "logging_tracing_history"
path = "tests/logging_tracing_history.rs"
[[test]]
name = "provider_switching"
path = "tests/provider_switching.rs"
[[test]]
name = "streaming"
path = "tests/streaming.rs"
[[test]]
name = "tool_macro"
path = "tests/tool_macro.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.appam_macros]
version = "0.1.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.aws-credential-types]
version = "=1.2.11"
features = ["hardcoded-credentials"]
[dependencies.aws-sigv4]
version = "=1.3.7"
[dependencies.aws-smithy-eventstream]
version = "0.60"
[dependencies.aws-smithy-runtime-api]
version = "=1.10.0"
[dependencies.axum]
version = "0.8"
[dependencies.base64]
version = "0.22"
[dependencies.bytes]
version = "1.11.1"
[dependencies.chrono]
version = "0.4"
features = [
"serde",
"clock",
]
[dependencies.clap]
version = "4.5"
features = [
"derive",
"cargo",
]
[dependencies.futures]
version = "0.3"
[dependencies.governor]
version = "0.10"
[dependencies.hex]
version = "0.4"
[dependencies.http]
version = "1.4"
[dependencies.once_cell]
version = "1.21"
[dependencies.pyo3]
version = "0.28"
features = ["auto-initialize"]
optional = true
[dependencies.rand]
version = "0.10"
[dependencies.reqwest]
version = "0.13"
features = [
"blocking",
"json",
"stream",
"rustls",
"http2",
"gzip",
]
default-features = false
[dependencies.rustyline]
version = "17.0"
[dependencies.schemars]
version = "0.8.22"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.sqlx]
version = "0.8"
features = [
"runtime-tokio-rustls",
"sqlite",
"chrono",
"uuid",
]
[dependencies.tokio]
version = "1.50"
features = ["full"]
[dependencies.toml]
version = "1.0"
[dependencies.tower-http]
version = "0.6"
features = [
"cors",
"trace",
]
[dependencies.tower_governor]
version = "0.8"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-appender]
version = "0.2"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"fmt",
"json",
"env-filter",
]
[dependencies.url]
version = "2.5"
[dependencies.uuid]
version = "1.22"
features = [
"v4",
"serde",
]
[dependencies.walkdir]
version = "2.5"
[dev-dependencies.chrono]
version = "0.4"
[dev-dependencies.rand]
version = "0.10"
[dev-dependencies.tempfile]
version = "3.26"
[dev-dependencies.walkdir]
version = "2.5"