[package]
edition = "2021"
name = "assay-core"
version = "3.2.3"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High-performance evaluation framework for LLM agents (Core)"
readme = "README.md"
license = "MIT"
repository = "https://github.com/Rul1an/assay"
[features]
default = [
"discovery",
"kill-switch",
]
discovery = [
"dep:sysinfo",
"dep:dirs",
]
experimental = []
kill-switch = [
"dep:nix",
"dep:sysinfo",
]
kill-switch-capture = [
"kill-switch",
"dep:procfs",
]
runtime-monitor = []
[lib]
name = "assay_core"
path = "src/lib.rs"
[[example]]
name = "debug_trace"
path = "examples/debug_trace.rs"
[[test]]
name = "assertions_smoke"
path = "tests/assertions_smoke.rs"
[[test]]
name = "baseline_determinism"
path = "tests/baseline_determinism.rs"
[[test]]
name = "baseline_test"
path = "tests/baseline_test.rs"
[[test]]
name = "cache_key_hardening"
path = "tests/cache_key_hardening.rs"
[[test]]
name = "compat_matrix"
path = "tests/compat_matrix.rs"
[[test]]
name = "config_versioning"
path = "tests/config_versioning.rs"
[[test]]
name = "contract_sarif"
path = "tests/contract_sarif.rs"
[[test]]
name = "decision_emit_invariant"
path = "tests/decision_emit_invariant.rs"
[[test]]
name = "equivalence_test"
path = "tests/equivalence_test.rs"
[[test]]
name = "fulfillment_normalization"
path = "tests/fulfillment_normalization.rs"
[[test]]
name = "generate_fixture"
path = "tests/generate_fixture.rs"
[[test]]
name = "latency_check"
path = "tests/latency_check.rs"
[[test]]
name = "mandate_store_concurrency"
path = "tests/mandate_store_concurrency.rs"
[[test]]
name = "mcp_id_correlation"
path = "tests/mcp_id_correlation.rs"
[[test]]
name = "mcp_import_smoke"
path = "tests/mcp_import_smoke.rs"
[[test]]
name = "mcp_transport_compat"
path = "tests/mcp_transport_compat.rs"
[[test]]
name = "order_determinism"
path = "tests/order_determinism.rs"
[[test]]
name = "otel_contract"
path = "tests/otel_contract.rs"
[[test]]
name = "otel_ingest_smoke"
path = "tests/otel_ingest_smoke.rs"
[[test]]
name = "parity"
path = "tests/parity.rs"
[[test]]
name = "parity_batch_streaming"
path = "tests/parity_batch_streaming.rs"
[[test]]
name = "policy_engine_test"
path = "tests/policy_engine_test.rs"
[[test]]
name = "replay_diff_contract"
path = "tests/replay_diff_contract.rs"
[[test]]
name = "runner_metric_spans"
path = "tests/runner_metric_spans.rs"
[[test]]
name = "storage_smoke"
path = "tests/storage_smoke.rs"
[[test]]
name = "store_consistency_e1"
path = "tests/store_consistency_e1.rs"
[[test]]
name = "tool_taxonomy_policy_match"
path = "tests/tool_taxonomy_policy_match.rs"
[[test]]
name = "trace_v2_upgrade"
path = "tests/trace_v2_upgrade.rs"
[[test]]
name = "vcr_record"
path = "tests/vcr_record.rs"
[[bench]]
name = "store_write_heavy"
path = "benches/store_write_heavy.rs"
harness = false
[dependencies.anyhow]
version = "1"
[dependencies.assay-adapter-api]
version = "3.0.0"
[dependencies.assay-common]
version = "3.2.3"
features = ["std"]
default-features = false
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.22"
[dependencies.chrono]
version = "0.4"
features = [
"serde",
"std",
"clock",
]
default-features = false
[dependencies.dirs]
version = "6"
optional = true
[dependencies.ed25519-dalek]
version = "2.1"
features = [
"pkcs8",
"pem",
"rand_core",
]
[dependencies.flate2]
version = "1.1"
[dependencies.globset]
version = "0.4"
[dependencies.hex]
version = "0.4"
[dependencies.hmac]
version = "0.12"
[dependencies.jsonschema]
version = "0.45"
[dependencies.lazy_static]
version = "1.4"
[dependencies.md5]
version = "0.8.0"
[dependencies.nix]
version = "0.27"
features = [
"signal",
"process",
]
optional = true
[dependencies.pkcs8]
version = "0.10"
features = ["pem"]
[dependencies.rand]
version = "0.8"
[dependencies.regex]
version = "1"
[dependencies.reqwest]
version = "0.12.26"
features = [
"json",
"rustls-tls",
]
default-features = false
[dependencies.rusqlite]
version = "0.31"
features = ["bundled"]
[dependencies.schemars]
version = "1.2.1"
[dependencies.serde]
version = "1.0"
features = [
"derive",
"std",
]
default-features = false
[dependencies.serde_ignored]
version = "0.1.14"
[dependencies.serde_jcs]
version = "0.1"
[dependencies.serde_json]
version = "1.0"
features = ["std"]
default-features = false
[dependencies.serde_yaml]
version = "0.9"
[dependencies.sha2]
version = "0.10"
[dependencies.sha256]
version = "1.6.0"
[dependencies.spki]
version = "0.7"
[dependencies.strsim]
version = "0.11.1"
[dependencies.sysinfo]
version = "0.30"
optional = true
[dependencies.tar]
version = "0.4"
[dependencies.tempfile]
version = "3"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"full",
"sync",
"time",
"macros",
"rt-multi-thread",
]
[dependencies.tracing]
version = "0.1"
[dependencies.url]
version = "2.5.8"
[dependencies.uuid]
version = "1.22"
features = ["v4"]
[dev-dependencies.criterion]
version = "0.8"
[dev-dependencies.serial_test]
version = "3"
[dev-dependencies.tempfile]
version = "3.27.0"
[dev-dependencies.tracing-subscriber]
version = "0.3.23"
features = [
"json",
"fmt",
"env-filter",
]
[target.'cfg(target_os = "linux")'.dependencies.procfs]
version = "0.18"
optional = true
[target."cfg(unix)".dependencies.libc]
version = "0.2"
[target."cfg(unix)".dependencies.nix]
version = "0.27"
features = ["fs"]
[lints.clippy]
missing_errors_doc = "allow"
print_stdout = "allow"
unwrap_used = "allow"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "allow"
priority = -1
[lints.rust]
missing_docs = "allow"
unsafe_code = "deny"
unused_lifetimes = "warn"
[lints.rust.rust_2018_idioms]
level = "warn"
priority = -1