[package]
name = "apcore-cli"
version = "0.10.1"
edition = "2021"
description = "Command-line interface for apcore modules"
license = "Apache-2.0"
readme = "README.md"
authors = ["aiperceivable <team@aiperceivable.com>"]
homepage = "https://aiperceivable.com"
repository = "https://github.com/aiperceivable/apcore-cli-rust"
documentation = "https://apcore.aiperceivable.com/"
keywords = ["ai", "llm", "module", "cli", "schema"]
categories = ["command-line-utilities", "api-bindings"]

[[bin]]
name = "apcore-cli"
path = "src/main.rs"

[lib]
name = "apcore_cli"
path = "src/lib.rs"

[dependencies]
apcore = "0.24"
async-trait = "0.1"
clap = { version = "4", features = ["derive", "env", "string"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yaml_ng = "0.10"
jsonschema = "0.28"
tokio = { version = "1", features = ["rt-multi-thread", "macros", "time", "process", "io-util", "io-std", "signal"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
reqwest = { version = "0.12", features = ["json"] }
comfy-table = "7"
keyring = "2"
aes-gcm = "0.10"
sha2 = "0.10"
pbkdf2 = "0.12"
dirs = "5"
anyhow = "1"
thiserror = "2"
clap_complete = "4"
base64 = "0.22"
regex = "1"
gethostname = "0.4"
chrono = { version = "0.4", features = ["serde"] }
tempfile = "3"
nix = { version = "0.30", features = ["user"] }
libc = "0.2"
apcore-toolkit = "=0.8.1"

[features]
# ADR-07 is fully landed as of 0.10.0 (6.2 fix): apcore-toolkit is a hard
# runtime dependency (`apcore-toolkit = "=0.8.1"` above) and the prior
# `toolkit` feature flag + `#[cfg(feature = "toolkit")]` gates have been
# removed. All toolkit-delegating code paths now compile unconditionally,
# matching the post-0.10 PY / TS CLIs. The only remaining feature is
# `test-support`, used internally by integration tests.
test-support = []

[dev-dependencies]
apcore-cli = { path = ".", features = ["test-support"] }

[[test]]
name = "approval_integration"
path = "tests/approval_integration.rs"

[[test]]
name = "apcli_integration"
path = "tests/apcli_integration.rs"

[[test]]
name = "conformance_apcli_visibility"
path = "tests/conformance_apcli_visibility.rs"

[[test]]
name = "test_audit"
path = "tests/security/test_audit.rs"

[[test]]
name = "test_auth"
path = "tests/security/test_auth.rs"

[[test]]
name = "test_config_encryptor"
path = "tests/security/test_config_encryptor.rs"

[[test]]
name = "test_sandbox"
path = "tests/security/test_sandbox.rs"
