[package]
name = "rig-derive"
version.workspace = true
edition = { workspace = true }
license = "MIT"
description = "Internal crate that implements Rig derive macros."
repository = "https://github.com/0xPlaygrounds/rig"

[lints]
workspace = true

[dependencies]
convert_case = { workspace = true }
deluxe = { workspace = true, features = ["full"] }
indoc = { workspace = true }
proc-macro2 = { workspace = true, features = ["proc-macro"] }
proc-macro-crate = "3.4.0"
quote = { workspace = true }
serde_json = { workspace = true }
syn = { workspace = true, features = ["full"] }

[lib]
proc-macro = true

[dev-dependencies]
anyhow = { workspace = true }
rig-core = { path = "../rig-core" }
schemars = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
tokio = { workspace = true, features = ["full"] }
tracing-subscriber = { workspace = true }
trybuild = "1.0"

[[example]]
name = "simple"
path = "examples/rig_tool/simple.rs"

[[example]]
name = "with_description"
path = "examples/rig_tool/with_description.rs"

[[example]]
name = "full"
path = "examples/rig_tool/full.rs"

[[example]]
name = "async_tool"
path = "examples/rig_tool/async_tool.rs"

[[example]]
name = "complex_types"
path = "examples/rig_tool/complex_types.rs"
