[package]
name = "gazelle_api"
version = "0.15.0"
edition = "2024"
publish = true
authors = ["RogueOneEcho"]
description = "Gazelle API Client"
repository = "https://github.com/RogueOneEcho/gazelle_api"
license = "AGPL-3.0-only"
include = [
    "src/**/*",
    "Cargo.lock",
    "Cargo.toml",
    "LICENSE.md",
    "README.md"
]

[dependencies]
async-trait = "0.1.89"
log = { version = "0.4.29", features = ["std"] }
miette = "7.6.0"
regex = "1.12.3"
reqwest = { version = "0.13.2", features = ["rustls", "json", "multipart", "stream"], default-features = false }
rogue_logging = { version = "0.7.1", features = ["log"] }
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.149"
serde_yaml = "0.9.34"
thiserror = "2.0.18"
tokio = { version = "1.50.0", features = ["full"] }

[dev-dependencies]
rogue_config = "0.2.0"
rogue_logging = "0.7.1"
serial_test = "3.4.0"

[features]
default = []
mock = []

[lints.clippy]
pedantic = { level = "warn", priority = -1 }
absolute_paths = "warn"
arithmetic_side_effects = "allow"
as_conversions = "warn"
cast_possible_truncation = "warn"
clone_on_ref_ptr = "allow"
enum_glob_use = "allow"
expect_used = "allow"
exhaustive_enums = "allow"
exhaustive_structs = "allow"
get_first = "warn"
if_not_else = "warn"
if_then_some_else_none = "warn"
implicit_return = "allow"
indexing_slicing = "warn"
integer_division = "warn"
just_underscores_and_digits = "allow"
match_same_arms = "warn"
missing_docs_in_private_items = "allow"
missing_errors_doc = "allow"
missing_inline_in_public_items = "allow"
missing_panics_doc = "allow"
mod_module_files = "allow"
module_inception = "allow"
module_name_repetitions = "allow"
needless_pass_by_value = "allow"
new_without_default = "allow"
non_ascii_literal = "allow"
panic = "warn"
pattern_type_mismatch = "allow"
pub_use = "allow"
question_mark_used = "allow"
separated_literal_suffix = "allow"
shadow_reuse = "allow"
shadow_same = "allow"
shadow_unrelated = "allow"
single_call_fn = "allow"
std_instead_of_alloc = "allow"
std_instead_of_core = "allow"
str_to_string = "warn"
string_add = "allow"
tests_outside_test_module = "allow"
unneeded_wildcard_pattern = "warn"
unseparated_literal_suffix = "warn"
unused_self = "warn"
unwrap_used = "warn"
wildcard_enum_match_arm = "allow"
wildcard_imports = "allow"
wrong_self_convention = "allow"
result_large_err = "allow"
await_holding_lock = "allow"
