[package]
edition = "2021"
name = "briefcase-core"
version = "3.3.0"
authors = ["Briefcase AI"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Open-source decision tracking for AI"
homepage = "https://briefcaseai.io"
documentation = "https://docs.rs/briefcase-core"
readme = "README.md"
keywords = [
"ai",
"observability",
"decision-tracking",
]
categories = [
"development-tools",
"science",
]
license = "Apache-2.0"
repository = "https://github.com/briefcasebrain/briefcase-ai-sdk"
[features]
async = [
"dep:tokio",
"dep:async-trait",
"dep:futures",
]
compression = [
"dep:flate2",
"dep:zstd",
]
default = [
"recording",
"async",
"storage",
]
drift = [
"dep:rayon",
"dep:strsim",
]
networking = [
"async",
"dep:reqwest",
]
otel = [
"dep:opentelemetry",
"async",
"networking",
]
recording = []
replay = ["dep:strsim"]
sanitize = ["dep:regex"]
sqlite-storage = ["dep:rusqlite"]
storage = ["sqlite-storage"]
tokens = ["dep:tiktoken-rs"]
vcs-storage = []
[lib]
name = "briefcase_core"
path = "src/lib.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
optional = true
[dependencies.base64]
version = "0.22"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.flate2]
version = "1.0"
optional = true
[dependencies.futures]
version = "0.3"
optional = true
[dependencies.once_cell]
version = "1.19"
[dependencies.opentelemetry]
version = "0.24"
features = ["trace"]
optional = true
default-features = false
[dependencies.parking_lot]
version = "0.12"
[dependencies.rayon]
version = "1.10"
optional = true
[dependencies.regex]
version = "1.10"
optional = true
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"multipart",
"rustls-tls",
]
optional = true
default-features = false
[dependencies.rusqlite]
version = "0.38"
features = ["bundled"]
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.strsim]
version = "0.11"
optional = true
[dependencies.thiserror]
version = "2.0"
[dependencies.tiktoken-rs]
version = "0.6"
optional = true
[dependencies.tokio]
version = "1.0"
features = ["full"]
optional = true
[dependencies.uuid]
version = "1.0"
features = [
"v4",
"serde",
]
[dependencies.zstd]
version = "0.13"
optional = true
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.proptest]
version = "1.4"
[dev-dependencies.tempfile]
version = "3.8"
[dev-dependencies.tokio]
version = "1.0"
features = [
"full",
"test-util",
]
[dev-dependencies.wiremock]
version = "0.6"