# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.93"
name = "jacs"
version = "0.10.1"
authors = ["HAI.AI <engineering@hai.io>"]
build = "build.rs"
include = [
    "src/**/*",
    "schemas/agent/v1/agent.schema.json",
    "schemas/header/v1/header.schema.json",
    "schemas/components/files/v1/files.schema.json",
    "schemas/components/signature/v1/signature.schema.json",
    "schemas/components/agreement/v1/agreement.schema.json",
    "schemas/components/unit/v1/unit.schema.json",
    "schemas/components/action/v1/action.schema.json",
    "schemas/components/service/v1/service.schema.json",
    "schemas/components/tool/v1/tool.schema.json",
    "schemas/components/contact/v1/contact.schema.json",
    "schemas/components/component/v1/component.schema.json",
    "schemas/message/v1/message.schema.json",
    "schemas/node/v1/node.schema.json",
    "schemas/program/v1/program.schema.json",
    "schemas/eval/v1/eval.schema.json",
    "schemas/task/v1/task.schema.json",
    "jacs.config.schema.json",
    "examples/*.json",
    "Cargo.toml",
    "README.md",
    "LICENSE",
    "LICENSE-APACHE",
    "build.rs",
    "CHANGELOG.md",
    "basic-schemas.png",
    "benches/sign_and_check_sig.rs",
    "schemas/components/embedding/v1/embedding.schema.json",
    "schemas/agentstate/v1/agentstate.schema.json",
    "schemas/commitment/v1/commitment.schema.json",
    "schemas/todo/v1/todo.schema.json",
    "schemas/components/todoitem/v1/todoitem.schema.json",
    "schemas/attestation/v1/attestation.schema.json",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "JACS JSON AI Communication Standard"
homepage = "https://humanassisted.github.io/JACS"
readme = "README.md"
keywords = [
    "cryptography",
    "json",
    "ai",
    "data",
    "ml-ops",
]
categories = [
    "cryptography",
    "text-processing",
    "data-structures",
]
license = "Apache-2.0"
repository = "https://github.com/HumanAssisted/JACS"
resolver = "3"

[package.metadata.dev-requirements]
cargo-audit = "0.22.1"

[features]
a2a = []
agreements = []
attestation = []
default = ["sqlite"]
keychain = ["dep:keyring"]
keychain-tests = ["keychain"]
otlp-logs = [
    "dep:opentelemetry",
    "dep:opentelemetry-otlp",
    "dep:opentelemetry_sdk",
    "dep:opentelemetry-appender-tracing",
    "dep:tokio",
]
otlp-metrics = [
    "dep:opentelemetry",
    "dep:opentelemetry-otlp",
    "dep:opentelemetry_sdk",
    "dep:tokio",
]
otlp-tracing = [
    "dep:opentelemetry",
    "dep:opentelemetry-otlp",
    "dep:opentelemetry_sdk",
    "dep:tracing-opentelemetry",
    "dep:tokio",
]
pq-tests = []
s3-tests = []
sqlite = ["dep:rusqlite"]
sqlx-sqlite = [
    "dep:sqlx",
    "dep:tokio",
    "sqlx/sqlite",
]

[lib]
name = "jacs"
crate-type = [
    "cdylib",
    "rlib",
]
path = "src/lib.rs"

[[bench]]
name = "sign_and_check_sig"
path = "benches/sign_and_check_sig.rs"
harness = false

[dependencies.aes-gcm]
version = "0.10.3"

[dependencies.base64]
version = "0.22.1"

[dependencies.chrono]
version = "0.4.40"

[dependencies.dirs]
version = "5.0"

[dependencies.encoding_rs]
version = "0.8.35"

[dependencies.env_logger]
version = "0.11.8"

[dependencies.flate2]
version = "1.1.1"

[dependencies.futures-executor]
version = "0.3.31"

[dependencies.futures-util]
version = "0.3.31"

[dependencies.getset]
version = "0.1.5"

[dependencies.hex]
version = "0.4"

[dependencies.hickory-resolver]
version = "0.24"
features = ["dnssec-ring"]

[dependencies.hkdf]
version = "0.12"

[dependencies.jacs-media]
version = "0.10.1"

[dependencies.jsonschema]
version = "0.29"
features = [
    "resolve-http",
    "resolve-file",
]

[dependencies.lazy_static]
version = "1.5"

[dependencies.log]
version = "0.4.27"

[dependencies.mail-parser]
version = "0.11"

[dependencies.mime_guess]
version = "2.0.5"

[dependencies.moka]
version = "0.12"
features = ["sync"]

[dependencies.opentelemetry]
version = "0.30.0"
optional = true

[dependencies.opentelemetry-appender-tracing]
version = "0.30.1"
optional = true

[dependencies.opentelemetry-otlp]
version = "0.30.0"
features = [
    "trace",
    "logs",
    "metrics",
    "http-proto",
    "reqwest-blocking-client",
    "reqwest-rustls",
]
optional = true
default-features = false

[dependencies.opentelemetry_sdk]
version = "0.30.0"
features = [
    "rt-tokio",
    "experimental_metrics_custom_reader",
]
optional = true

[dependencies.pbkdf2]
version = "0.12"
features = ["simple"]

[dependencies.pem]
version = "3.0.5"

[dependencies.phf]
version = "0.11.3"
features = ["macros"]

[dependencies.rand]
version = "0.9.0"

[dependencies.referencing]
version = "0.33.0"

[dependencies.regex]
version = "1.11.1"

[dependencies.rpassword]
version = "7.3.1"

[dependencies.rsa]
version = "0.9.8"
features = [
    "sha2",
    "pem",
]

[dependencies.secrecy]
version = "0.10.3"

[dependencies.serde]
version = "1.0"
features = ["derive"]

[dependencies.serde_json]
version = "1.0"

[dependencies.serde_json_canonicalizer]
version = "0.3.2"

[dependencies.serde_yaml_ng]
version = "0.10"

[dependencies.sha2]
version = "0.10.8"

[dependencies.signature]
version = "2.2.0"

[dependencies.similar]
version = "2.6"

[dependencies.strum]
version = "0.27.1"

[dependencies.strum_macros]
version = "0.27.0"

[dependencies.tempfile]
version = "3"

[dependencies.thiserror]
version = "2"

[dependencies.tokio]
version = "1.0"
features = ["rt-multi-thread"]
optional = true

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-appender]
version = "0.2"

[dependencies.tracing-opentelemetry]
version = "0.31"
optional = true

[dependencies.tracing-subscriber]
version = "0.3"
features = [
    "env-filter",
    "fmt",
]

[dependencies.unicode-normalization]
version = "0.1"

[dependencies.url]
version = "2.5.4"

[dependencies.uuid]
version = "1.16.0"
features = [
    "v4",
    "v7",
    "js",
]

[dependencies.validator]
version = "0.20.0"

[dependencies.zeroize]
version = "1.8"

[dev-dependencies.assert_cmd]
version = "2.0"

[dev-dependencies.color-eyre]
version = "0.6"

[dev-dependencies.criterion]
version = "0.6.0"

[dev-dependencies.futures]
version = "0.3"

[dev-dependencies.image]
version = "0.25"
features = [
    "png",
    "jpeg",
]
default-features = false

[dev-dependencies.mdbook]
version = "0.4.48"

[dev-dependencies.predicates]
version = "3.1"

[dev-dependencies.proptest]
version = "1.6"

[dev-dependencies.reqwest]
version = "0.13.2"
features = ["rustls"]
default-features = false

[dev-dependencies.serial_test]
version = "3.2.0"

[dev-dependencies.tempfile]
version = "3.19.1"

[dev-dependencies.testcontainers]
version = "0.27"

[dev-dependencies.testcontainers-modules]
version = "0.15"
features = ["minio"]

[dev-dependencies.tokio]
version = "1.0"
features = [
    "rt-multi-thread",
    "macros",
    "time",
]

[target.'cfg(not(any(target_os = "macos", target_os = "linux")))'.dependencies.keyring]
version = "3.6"
optional = true

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.fips203]
version = "0.4.3"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.fips204]
version = "0.4.6"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.object_store]
version = "0.12.0"
features = [
    "serde",
    "serde_json",
    "aws",
    "http",
]

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.reqwest]
version = "0.13.2"
features = [
    "blocking",
    "json",
    "rustls",
]
default-features = false

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.ring]
version = "0.17.9"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.rusqlite]
version = "0.32.1"
features = ["bundled"]
optional = true

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.sqlx]
version = "0.8.6"
features = ["runtime-tokio-rustls"]
optional = true
default-features = false

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.walkdir]
version = "2.5.0"

[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2.100"

[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
version = "0.3"
features = [
    "Storage",
    "Window",
]

[target.'cfg(target_os = "linux")'.dependencies.keyring]
version = "3.6"
features = ["sync-secret-service"]
optional = true

[target.'cfg(target_os = "macos")'.dependencies.keyring]
version = "3.6"
features = ["apple-native"]
optional = true

[target."cfg(unix)".dependencies.libc]
version = "0.2"
