[package]
edition = "2024"
name = "aptu-core"
version = "0.2.14"
authors = ["Hugues Clouâtre"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Core library for Aptu - OSS issue triage with AI assistance"
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/clouatre-labs/aptu"
[features]
default = []
keyring = ["dep:keyring"]
[lib]
name = "aptu_core"
path = "src/lib.rs"
[[example]]
name = "custom_token_provider"
path = "examples/custom_token_provider.rs"
[[example]]
name = "list_repos"
path = "examples/list_repos.rs"
[[test]]
name = "security_integration"
path = "tests/security_integration.rs"
[[bench]]
name = "security_scan"
path = "benches/security_scan.rs"
harness = false
[dependencies.anyhow]
version = "1"
[dependencies.async-trait]
version = "0.1"
[dependencies.backon]
version = "1"
features = ["tokio-sleep"]
[dependencies.bon]
version = "3"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.config]
version = "0.15"
features = ["toml"]
default-features = false
[dependencies.dirs]
version = "6"
[dependencies.fastrand]
version = "2"
[dependencies.futures]
version = "0.3"
[dependencies.keyring]
version = "3"
optional = true
[dependencies.octocrab]
version = "0.49"
[dependencies.percent-encoding]
version = "2"
[dependencies.regex]
version = "1"
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
]
default-features = false
[dependencies.secrecy]
version = "0.10"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.sha2]
version = "0.10"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.toml]
version = "0.9"
[dependencies.tracing]
version = "0.1"
[dependencies.uuid]
version = "1"
features = [
"v4",
"serde",
]
[dev-dependencies.criterion]
version = "0.8"
[lints.clippy]
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
unsafe_code = "warn"
unused_must_use = "deny"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ['cfg(feature, values("keyring"))']