[package]
name = "suno-core"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
description = "Engine for a download-only Suno.ai library tool: feed selection, sync reconciliation, and audio tagging."
keywords = ["suno", "music", "download", "sync", "audio"]
categories = ["multimedia::audio", "api-bindings"]
readme = "../../README.md"

[dependencies]
base64 = "0.22.1"
fnv = "1"
futures-util = { version = "0.3", default-features = false, features = ["std", "async-await"] }
id3 = "1"
metaflac = "0.2"
mp4ameta = "0.13.0"
schemars = { version = "1.0", optional = true }
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.150"
thiserror = "2.0.18"
tokio = { version = "1.52.3", features = ["sync"] }
toml = "1.1.2"
unicode-normalization = "0.1.25"

[features]
# Derive and emit the config JSON Schema (used to regenerate
# docs/src/config.schema.json). Off by default so the shipped binary never
# links schemars.
schema = ["dep:schemars"]

[dev-dependencies]
pollster = "0.4.0"
proptest = "1"
